agentic-qe 3.14.2 → 3.14.4

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 (760) hide show
  1. package/.claude/agents/v3/qe-coverage-specialist.md +1 -1
  2. package/.claude/agents/v3/qe-fleet-commander.md +1 -1
  3. package/.claude/agents/v3/qe-pentest-validator.md +1 -1
  4. package/.claude/agents/v3/qe-queen-coordinator.md +1 -1
  5. package/.claude/agents/v3/qe-risk-assessor.md +1 -1
  6. package/.claude/agents/v3/qe-root-cause-analyzer.md +1 -1
  7. package/.claude/agents/v3/qe-security-auditor.md +1 -1
  8. package/.claude/agents/v3/qe-test-architect.md +1 -1
  9. package/.claude/commands/aqe-costs.md +10 -10
  10. package/.claude/helpers/advisor-call.cjs +3 -3
  11. package/.claude/helpers/v3/advisor-call.cjs +3 -3
  12. package/.claude/skills/.validation/examples/chaos-engineering-output.example.json +1 -1
  13. package/.claude/skills/.validation/examples/performance-testing-output.example.json +1 -1
  14. package/.claude/skills/.validation/examples/security-testing-output.example.json +1 -1
  15. package/.claude/skills/.validation/examples/testability-scoring-output.example.json +1 -1
  16. package/.claude/skills/.validation/schemas/skill-eval.schema.json +4 -1
  17. package/.claude/skills/.validation/schemas/skill-frontmatter.schema.json +1 -1
  18. package/.claude/skills/.validation/schemas/skill-output.template.json +1 -1
  19. package/.claude/skills/.validation/templates/eval.template.yaml +1 -1
  20. package/.claude/skills/.validation/templates/security-testing-eval.template.yaml +1 -1
  21. package/.claude/skills/.validation/templates/skill-frontmatter.example.yaml +1 -1
  22. package/.claude/skills/.validation/test-data/sample-output.json +1 -1
  23. package/.claude/skills/a11y-ally/SKILL.md +1 -1
  24. package/.claude/skills/a11y-ally/evals/a11y-ally.yaml +1 -1
  25. package/.claude/skills/accessibility-testing/evals/accessibility-testing.yaml +1 -1
  26. package/.claude/skills/api-testing-patterns/evals/api-testing-patterns.yaml +1 -1
  27. package/.claude/skills/chaos-engineering-resilience/evals/chaos-engineering-resilience.yaml +1 -1
  28. package/.claude/skills/cicd-pipeline-qe-orchestrator/evals/cicd-pipeline-qe-orchestrator.yaml +1 -1
  29. package/.claude/skills/compatibility-testing/evals/compatibility-testing.yaml +1 -1
  30. package/.claude/skills/compliance-testing/evals/compliance-testing.yaml +1 -1
  31. package/.claude/skills/contract-testing/evals/contract-testing.yaml +1 -1
  32. package/.claude/skills/database-testing/evals/database-testing.yaml +1 -1
  33. package/.claude/skills/enterprise-integration-testing/evals/enterprise-integration-testing.yaml +1 -1
  34. package/.claude/skills/localization-testing/evals/localization-testing.yaml +1 -1
  35. package/.claude/skills/middleware-testing-patterns/evals/middleware-testing-patterns.yaml +1 -1
  36. package/.claude/skills/mobile-testing/evals/mobile-testing.yaml +1 -1
  37. package/.claude/skills/mutation-testing/evals/mutation-testing.yaml +1 -1
  38. package/.claude/skills/mutation-testing/test-data/sample-output.json +1 -1
  39. package/.claude/skills/n8n-expression-testing/evals/n8n-expression-testing.yaml +1 -1
  40. package/.claude/skills/n8n-integration-testing-patterns/evals/n8n-integration-testing-patterns.yaml +1 -1
  41. package/.claude/skills/n8n-security-testing/evals/n8n-security-testing.yaml +1 -1
  42. package/.claude/skills/n8n-trigger-testing-strategies/evals/n8n-trigger-testing-strategies.yaml +1 -1
  43. package/.claude/skills/n8n-workflow-testing-fundamentals/evals/n8n-workflow-testing-fundamentals.yaml +1 -1
  44. package/.claude/skills/observability-testing-patterns/evals/observability-testing-patterns.yaml +1 -1
  45. package/.claude/skills/pentest-validation/evals/pentest-validation.yaml +1 -1
  46. package/.claude/skills/performance-testing/evals/performance-testing.yaml +1 -1
  47. package/.claude/skills/qcsd-cicd-swarm/evals/qcsd-cicd-swarm.yaml +1 -1
  48. package/.claude/skills/qcsd-development-swarm/evals/qcsd-development-swarm.yaml +1 -1
  49. package/.claude/skills/qcsd-ideation-swarm/evals/qcsd-ideation-swarm.yaml +1 -1
  50. package/.claude/skills/qcsd-production-swarm/evals/qcsd-production-swarm.yaml +1 -1
  51. package/.claude/skills/qcsd-refinement-swarm/evals/qcsd-refinement-swarm.yaml +1 -1
  52. package/.claude/skills/qe-browser/evals/qe-browser.yaml +1 -1
  53. package/.claude/skills/qe-chaos-resilience/evals/qe-chaos-resilience.yaml +1 -1
  54. package/.claude/skills/qe-code-intelligence/evals/qe-code-intelligence.yaml +1 -1
  55. package/.claude/skills/qe-coverage-analysis/evals/qe-coverage-analysis.yaml +1 -1
  56. package/.claude/skills/qe-defect-intelligence/evals/qe-defect-intelligence.yaml +1 -1
  57. package/.claude/skills/qe-learning-optimization/evals/qe-learning-optimization.yaml +2 -2
  58. package/.claude/skills/qe-quality-assessment/evals/qe-quality-assessment.yaml +1 -1
  59. package/.claude/skills/qe-requirements-validation/evals/qe-requirements-validation.yaml +1 -1
  60. package/.claude/skills/qe-test-execution/evals/qe-test-execution.yaml +1 -1
  61. package/.claude/skills/qe-test-generation/evals/qe-test-generation.yaml +1 -1
  62. package/.claude/skills/qe-visual-accessibility/evals/qe-visual-accessibility.yaml +1 -1
  63. package/.claude/skills/quality-metrics/evals/quality-metrics.yaml +1 -1
  64. package/.claude/skills/regression-testing/evals/regression-testing.yaml +1 -1
  65. package/.claude/skills/risk-based-testing/evals/risk-based-testing.yaml +1 -1
  66. package/.claude/skills/security-testing/evals/security-testing.yaml +1 -1
  67. package/.claude/skills/security-visual-testing/evals/security-visual-testing.yaml +1 -1
  68. package/.claude/skills/shift-left-testing/evals/shift-left-testing.yaml +1 -1
  69. package/.claude/skills/shift-right-testing/evals/shift-right-testing.yaml +1 -1
  70. package/.claude/skills/skills-manifest.json +1 -1
  71. package/.claude/skills/test-automation-strategy/evals/test-automation-strategy.yaml +1 -1
  72. package/.claude/skills/test-data-management/evals/test-data-management.yaml +1 -1
  73. package/.claude/skills/test-design-techniques/evals/test-design-techniques.yaml +1 -1
  74. package/.claude/skills/test-reporting-analytics/evals/test-reporting-analytics.yaml +1 -1
  75. package/.claude/skills/testability-scoring/evals/testability-scoring.yaml +1 -1
  76. package/.claude/skills/validation-pipeline/evals/validation-pipeline.yaml +1 -1
  77. package/.claude/skills/verification-quality/evals/verification-quality.yaml +1 -1
  78. package/.claude/skills/visual-testing-advanced/evals/visual-testing-advanced.yaml +1 -1
  79. package/.claude/skills/wms-testing-patterns/evals/wms-testing-patterns.yaml +1 -1
  80. package/.opencode/agents/collective-intelligence-coordinator.yaml +1 -1
  81. package/.opencode/agents/ddd-domain-expert.yaml +1 -1
  82. package/.opencode/agents/memory-specialist.yaml +1 -1
  83. package/.opencode/agents/performance-engineer.yaml +1 -1
  84. package/.opencode/agents/qe-accessibility-auditor.yaml +1 -1
  85. package/.opencode/agents/qe-api-contract-validator.yaml +1 -1
  86. package/.opencode/agents/qe-bdd-generator.yaml +1 -1
  87. package/.opencode/agents/qe-chaos-engineer.yaml +1 -1
  88. package/.opencode/agents/qe-code-complexity.yaml +1 -1
  89. package/.opencode/agents/qe-code-intelligence.yaml +1 -1
  90. package/.opencode/agents/qe-coverage-analyzer.yaml +1 -1
  91. package/.opencode/agents/qe-defect-predictor.yaml +1 -1
  92. package/.opencode/agents/qe-dependency-mapper.yaml +1 -1
  93. package/.opencode/agents/qe-deployment-advisor.yaml +1 -1
  94. package/.opencode/agents/qe-devils-advocate.yaml +1 -1
  95. package/.opencode/agents/qe-flaky-hunter.yaml +1 -1
  96. package/.opencode/agents/qe-fleet-commander.yaml +1 -1
  97. package/.opencode/agents/qe-gap-detector.yaml +1 -1
  98. package/.opencode/agents/qe-graphql-tester.yaml +1 -1
  99. package/.opencode/agents/qe-impact-analyzer.yaml +1 -1
  100. package/.opencode/agents/qe-integration-architect.yaml +1 -1
  101. package/.opencode/agents/qe-integration-tester.yaml +1 -1
  102. package/.opencode/agents/qe-kg-builder.yaml +1 -1
  103. package/.opencode/agents/qe-learning-coordinator.yaml +1 -1
  104. package/.opencode/agents/qe-load-tester.yaml +1 -1
  105. package/.opencode/agents/qe-message-broker-tester.yaml +1 -1
  106. package/.opencode/agents/qe-metrics-optimizer.yaml +1 -1
  107. package/.opencode/agents/qe-middleware-validator.yaml +1 -1
  108. package/.opencode/agents/qe-mutation-tester.yaml +1 -1
  109. package/.opencode/agents/qe-odata-contract-tester.yaml +1 -1
  110. package/.opencode/agents/qe-parallel-executor.yaml +1 -1
  111. package/.opencode/agents/qe-pattern-learner.yaml +1 -1
  112. package/.opencode/agents/qe-pentest-validator.yaml +1 -1
  113. package/.opencode/agents/qe-performance-tester.yaml +1 -1
  114. package/.opencode/agents/qe-product-factors-assessor.yaml +1 -1
  115. package/.opencode/agents/qe-property-tester.yaml +1 -1
  116. package/.opencode/agents/qe-quality-criteria-recommender.yaml +1 -1
  117. package/.opencode/agents/qe-quality-gate.yaml +1 -1
  118. package/.opencode/agents/qe-queen-coordinator.yaml +1 -1
  119. package/.opencode/agents/qe-qx-partner.yaml +1 -1
  120. package/.opencode/agents/qe-regression-analyzer.yaml +1 -1
  121. package/.opencode/agents/qe-requirements-validator.yaml +1 -1
  122. package/.opencode/agents/qe-responsive-tester.yaml +1 -1
  123. package/.opencode/agents/qe-retry-handler.yaml +1 -1
  124. package/.opencode/agents/qe-risk-assessor.yaml +1 -1
  125. package/.opencode/agents/qe-root-cause-analyzer.yaml +1 -1
  126. package/.opencode/agents/qe-sap-idoc-tester.yaml +1 -1
  127. package/.opencode/agents/qe-sap-rfc-tester.yaml +1 -1
  128. package/.opencode/agents/qe-security-auditor.yaml +1 -1
  129. package/.opencode/agents/qe-security-scanner.yaml +1 -1
  130. package/.opencode/agents/qe-soap-tester.yaml +1 -1
  131. package/.opencode/agents/qe-sod-analyzer.yaml +1 -1
  132. package/.opencode/agents/qe-tdd-specialist.yaml +1 -1
  133. package/.opencode/agents/qe-test-generator.yaml +1 -1
  134. package/.opencode/agents/qe-test-idea-rewriter.yaml +1 -1
  135. package/.opencode/agents/qe-transfer-specialist.yaml +1 -1
  136. package/.opencode/agents/qe-visual-tester.yaml +1 -1
  137. package/.opencode/agents/security-architect.yaml +1 -1
  138. package/.opencode/agents/security-auditor.yaml +1 -1
  139. package/CHANGELOG.md +183 -0
  140. package/README.md +7 -2
  141. package/assets/agents/v3/helpers/advisor-call.cjs +3 -3
  142. package/assets/agents/v3/qe-coverage-specialist.md +1 -1
  143. package/assets/agents/v3/qe-fleet-commander.md +1 -1
  144. package/assets/agents/v3/qe-pentest-validator.md +1 -1
  145. package/assets/agents/v3/qe-queen-coordinator.md +1 -1
  146. package/assets/agents/v3/qe-risk-assessor.md +1 -1
  147. package/assets/agents/v3/qe-root-cause-analyzer.md +1 -1
  148. package/assets/agents/v3/qe-security-auditor.md +1 -1
  149. package/assets/agents/v3/qe-test-architect.md +1 -1
  150. package/assets/skills/.validation/examples/chaos-engineering-output.example.json +1 -1
  151. package/assets/skills/.validation/examples/performance-testing-output.example.json +1 -1
  152. package/assets/skills/.validation/examples/security-testing-output.example.json +1 -1
  153. package/assets/skills/.validation/examples/testability-scoring-output.example.json +1 -1
  154. package/assets/skills/.validation/schemas/skill-eval.schema.json +4 -1
  155. package/assets/skills/.validation/schemas/skill-frontmatter.schema.json +1 -1
  156. package/assets/skills/.validation/schemas/skill-output.template.json +1 -1
  157. package/assets/skills/.validation/templates/eval.template.yaml +1 -1
  158. package/assets/skills/.validation/templates/security-testing-eval.template.yaml +1 -1
  159. package/assets/skills/.validation/templates/skill-frontmatter.example.yaml +1 -1
  160. package/assets/skills/.validation/test-data/sample-output.json +1 -1
  161. package/assets/skills/a11y-ally/SKILL.md +1 -1
  162. package/assets/skills/a11y-ally/evals/a11y-ally.yaml +1 -1
  163. package/assets/skills/accessibility-testing/evals/accessibility-testing.yaml +1 -1
  164. package/assets/skills/api-testing-patterns/evals/api-testing-patterns.yaml +1 -1
  165. package/assets/skills/chaos-engineering-resilience/evals/chaos-engineering-resilience.yaml +1 -1
  166. package/assets/skills/cicd-pipeline-qe-orchestrator/evals/cicd-pipeline-qe-orchestrator.yaml +1 -1
  167. package/assets/skills/compatibility-testing/evals/compatibility-testing.yaml +1 -1
  168. package/assets/skills/compliance-testing/evals/compliance-testing.yaml +1 -1
  169. package/assets/skills/contract-testing/evals/contract-testing.yaml +1 -1
  170. package/assets/skills/database-testing/evals/database-testing.yaml +1 -1
  171. package/assets/skills/enterprise-integration-testing/evals/enterprise-integration-testing.yaml +1 -1
  172. package/assets/skills/localization-testing/evals/localization-testing.yaml +1 -1
  173. package/assets/skills/middleware-testing-patterns/evals/middleware-testing-patterns.yaml +1 -1
  174. package/assets/skills/mobile-testing/evals/mobile-testing.yaml +1 -1
  175. package/assets/skills/mutation-testing/evals/mutation-testing.yaml +1 -1
  176. package/assets/skills/mutation-testing/test-data/sample-output.json +1 -1
  177. package/assets/skills/n8n-expression-testing/evals/n8n-expression-testing.yaml +1 -1
  178. package/assets/skills/n8n-integration-testing-patterns/evals/n8n-integration-testing-patterns.yaml +1 -1
  179. package/assets/skills/n8n-security-testing/evals/n8n-security-testing.yaml +1 -1
  180. package/assets/skills/n8n-trigger-testing-strategies/evals/n8n-trigger-testing-strategies.yaml +1 -1
  181. package/assets/skills/n8n-workflow-testing-fundamentals/evals/n8n-workflow-testing-fundamentals.yaml +1 -1
  182. package/assets/skills/observability-testing-patterns/evals/observability-testing-patterns.yaml +1 -1
  183. package/assets/skills/pentest-validation/evals/pentest-validation.yaml +1 -1
  184. package/assets/skills/performance-testing/evals/performance-testing.yaml +1 -1
  185. package/assets/skills/qcsd-cicd-swarm/evals/qcsd-cicd-swarm.yaml +1 -1
  186. package/assets/skills/qcsd-development-swarm/evals/qcsd-development-swarm.yaml +1 -1
  187. package/assets/skills/qcsd-ideation-swarm/evals/qcsd-ideation-swarm.yaml +1 -1
  188. package/assets/skills/qcsd-production-swarm/evals/qcsd-production-swarm.yaml +1 -1
  189. package/assets/skills/qcsd-refinement-swarm/evals/qcsd-refinement-swarm.yaml +1 -1
  190. package/assets/skills/qe-browser/evals/qe-browser.yaml +1 -1
  191. package/assets/skills/qe-chaos-resilience/evals/qe-chaos-resilience.yaml +1 -1
  192. package/assets/skills/qe-code-intelligence/evals/qe-code-intelligence.yaml +1 -1
  193. package/assets/skills/qe-coverage-analysis/evals/qe-coverage-analysis.yaml +1 -1
  194. package/assets/skills/qe-defect-intelligence/evals/qe-defect-intelligence.yaml +1 -1
  195. package/assets/skills/qe-learning-optimization/evals/qe-learning-optimization.yaml +2 -2
  196. package/assets/skills/qe-quality-assessment/evals/qe-quality-assessment.yaml +1 -1
  197. package/assets/skills/qe-requirements-validation/evals/qe-requirements-validation.yaml +1 -1
  198. package/assets/skills/qe-test-execution/evals/qe-test-execution.yaml +1 -1
  199. package/assets/skills/qe-test-generation/evals/qe-test-generation.yaml +1 -1
  200. package/assets/skills/qe-visual-accessibility/evals/qe-visual-accessibility.yaml +1 -1
  201. package/assets/skills/quality-metrics/evals/quality-metrics.yaml +1 -1
  202. package/assets/skills/regression-testing/evals/regression-testing.yaml +1 -1
  203. package/assets/skills/risk-based-testing/evals/risk-based-testing.yaml +1 -1
  204. package/assets/skills/security-testing/evals/security-testing.yaml +1 -1
  205. package/assets/skills/security-visual-testing/evals/security-visual-testing.yaml +1 -1
  206. package/assets/skills/shift-left-testing/evals/shift-left-testing.yaml +1 -1
  207. package/assets/skills/shift-right-testing/evals/shift-right-testing.yaml +1 -1
  208. package/assets/skills/skills-manifest.json +1 -1
  209. package/assets/skills/test-automation-strategy/evals/test-automation-strategy.yaml +1 -1
  210. package/assets/skills/test-data-management/evals/test-data-management.yaml +1 -1
  211. package/assets/skills/test-design-techniques/evals/test-design-techniques.yaml +1 -1
  212. package/assets/skills/test-reporting-analytics/evals/test-reporting-analytics.yaml +1 -1
  213. package/assets/skills/testability-scoring/evals/testability-scoring.yaml +1 -1
  214. package/assets/skills/validation-pipeline/evals/validation-pipeline.yaml +1 -1
  215. package/assets/skills/verification-quality/evals/verification-quality.yaml +1 -1
  216. package/assets/skills/visual-testing-advanced/evals/visual-testing-advanced.yaml +1 -1
  217. package/assets/skills/wms-testing-patterns/evals/wms-testing-patterns.yaml +1 -1
  218. package/dist/cli/bundle.js +7 -7
  219. package/dist/cli/chunks/adapter-TNNNJRDG.js +2 -0
  220. package/dist/cli/chunks/{agent-booster-wasm-SD5N32MX.js → agent-booster-wasm-5PC7D2FW.js} +2 -2
  221. package/dist/cli/chunks/{agent-handler-OZRSJM7F.js → agent-handler-RDNTK4CA.js} +2 -2
  222. package/dist/cli/chunks/{agent-memory-branch-NYTRANRN.js → agent-memory-branch-NAAMBWIR.js} +2 -2
  223. package/dist/cli/chunks/aqe-learning-engine-5ZRMYJLB.js +2 -0
  224. package/dist/cli/chunks/{arena-EX3SC2DP.js → arena-HXTWJ5YY.js} +4 -4
  225. package/dist/cli/chunks/{arena-FOTVSRK4.js → arena-KXFHRWX4.js} +2 -2
  226. package/dist/cli/chunks/{audit-Q5GHSUQY.js → audit-YSGA7UWT.js} +3 -3
  227. package/dist/cli/chunks/base-KWZHOPSH.js +2 -0
  228. package/dist/cli/chunks/{better-sqlite3-S7M5R2HS.js → better-sqlite3-UICJZIDG.js} +2 -2
  229. package/dist/cli/chunks/brain-handler-ET6YAP4B.js +90 -0
  230. package/dist/cli/chunks/{branch-enumerator-RWAXTGEU.js → branch-enumerator-SS7UNVIA.js} +2 -2
  231. package/dist/cli/chunks/{browser-IGDESJGF.js → browser-77GI6KBE.js} +2 -2
  232. package/dist/cli/chunks/browser-workflow-2FZTKDUL.js +2 -0
  233. package/dist/cli/chunks/{chunk-U54OOA24.js → chunk-2JW3BCGG.js} +1 -1
  234. package/dist/cli/chunks/{chunk-LML5VTFK.js → chunk-33YYYWBQ.js} +1 -1
  235. package/dist/cli/chunks/{chunk-P64DMQ2C.js → chunk-34WO57CW.js} +1 -1
  236. package/dist/cli/chunks/{chunk-57TNBR2P.js → chunk-3QHGWY7T.js} +2 -2
  237. package/dist/cli/chunks/chunk-3TW5W5LX.js +2 -0
  238. package/dist/cli/chunks/{chunk-S4MR6RTE.js → chunk-3UPAMMCB.js} +1 -1
  239. package/dist/cli/chunks/{chunk-5WJUNRTY.js → chunk-3VOQRIQM.js} +2 -2
  240. package/dist/cli/chunks/{chunk-4RT7I7PI.js → chunk-3X3DJZJJ.js} +1 -1
  241. package/dist/cli/chunks/{chunk-RFNEHNJV.js → chunk-4MHXCAG2.js} +1 -1
  242. package/dist/cli/chunks/{chunk-PMUBG2RU.js → chunk-4OYFXLBK.js} +2 -2
  243. package/dist/cli/chunks/{chunk-W2FLULF4.js → chunk-55RWDRJD.js} +3 -3
  244. package/dist/cli/chunks/chunk-5R3QL7WN.js +14 -0
  245. package/dist/cli/chunks/{chunk-RHJVDCLV.js → chunk-5SJHQ2CO.js} +2 -2
  246. package/dist/cli/chunks/{chunk-HBTC4L53.js → chunk-5YPYDPBJ.js} +2 -2
  247. package/dist/cli/chunks/chunk-5Z6XZV7K.js +65 -0
  248. package/dist/cli/chunks/{chunk-6EHN7Q2Q.js → chunk-64PFWE2F.js} +2 -2
  249. package/dist/cli/chunks/{chunk-KFXZDQ5J.js → chunk-6CQN24ZK.js} +1 -1
  250. package/dist/cli/chunks/{chunk-WVY22NHZ.js → chunk-6J62K3SW.js} +2 -2
  251. package/dist/cli/chunks/{chunk-TLPL3EQY.js → chunk-6KJABXAR.js} +2 -2
  252. package/dist/cli/chunks/{chunk-PZKZY6PB.js → chunk-6QYNWR7U.js} +2 -2
  253. package/dist/cli/chunks/{chunk-A7N3YUDJ.js → chunk-6TPKK7LD.js} +2 -2
  254. package/dist/cli/chunks/{chunk-RYJHREYS.js → chunk-6UWGMOND.js} +2 -2
  255. package/dist/cli/chunks/{chunk-XPLSLHRB.js → chunk-6VRA2QGL.js} +1 -1
  256. package/dist/cli/chunks/{chunk-Q3JHS3UD.js → chunk-7D777LTF.js} +2 -2
  257. package/dist/cli/chunks/chunk-7ZIOFPL3.js +2 -0
  258. package/dist/cli/chunks/chunk-A4FYONNU.js +2 -0
  259. package/dist/cli/chunks/{chunk-7AFBNU6K.js → chunk-AIHDEEJO.js} +2 -2
  260. package/dist/cli/chunks/{chunk-L2F7FVIU.js → chunk-AUXFKCQL.js} +2 -2
  261. package/dist/cli/chunks/{chunk-67A6PEZM.js → chunk-AWWNB2T7.js} +2 -2
  262. package/dist/cli/chunks/{chunk-DVHWLAEO.js → chunk-BDESSCVR.js} +3 -3
  263. package/dist/cli/chunks/{chunk-JQ2ZD3WO.js → chunk-BFP7KO7P.js} +2 -2
  264. package/dist/cli/chunks/{chunk-N5ZRUOMR.js → chunk-BGE6FOLM.js} +2 -2
  265. package/dist/cli/chunks/{chunk-BWRHOIYC.js → chunk-BOARZKU3.js} +2 -2
  266. package/dist/cli/chunks/{chunk-CTCQOYBS.js → chunk-BOZZYWCR.js} +1 -1
  267. package/dist/cli/chunks/{chunk-NHHWLJQF.js → chunk-C2WU3533.js} +1 -1
  268. package/dist/cli/chunks/{chunk-5EHLGOWW.js → chunk-CDHQFHRP.js} +2 -2
  269. package/dist/cli/chunks/chunk-CDKG6EI7.js +16 -0
  270. package/dist/cli/chunks/{chunk-RGH3WGWD.js → chunk-CIKSHTEQ.js} +3 -3
  271. package/dist/cli/chunks/{chunk-K574FLVB.js → chunk-CIZ5JPDC.js} +2 -2
  272. package/dist/cli/chunks/{chunk-LWUJQGCS.js → chunk-CLTMDCSE.js} +2 -2
  273. package/dist/cli/chunks/{chunk-GHQ5PUOV.js → chunk-CNG6GQEZ.js} +2 -2
  274. package/dist/cli/chunks/{chunk-3C2K4YMS.js → chunk-CSU5NYOX.js} +3 -3
  275. package/dist/cli/chunks/chunk-CU46J64M.js +4 -0
  276. package/dist/cli/chunks/{chunk-EH5OCHAJ.js → chunk-CXQPR5MY.js} +1 -1
  277. package/dist/cli/chunks/chunk-DA5K5754.js +96 -0
  278. package/dist/cli/chunks/{chunk-FVGTINVR.js → chunk-DAEFDCJ4.js} +81 -65
  279. package/dist/cli/chunks/{chunk-MH73D5TN.js → chunk-DEYLEDJN.js} +2 -2
  280. package/dist/cli/chunks/{chunk-7FWP7CZY.js → chunk-DFZCKIGY.js} +3 -3
  281. package/dist/cli/chunks/{chunk-QXTW7XCS.js → chunk-DHJPWQBR.js} +2 -2
  282. package/dist/cli/chunks/{chunk-NAZVPZJS.js → chunk-DOTK76IJ.js} +2 -2
  283. package/dist/cli/chunks/{chunk-RCI64RIJ.js → chunk-DPFRKBOG.js} +2 -2
  284. package/dist/cli/chunks/{chunk-WMW47QMR.js → chunk-EDJ3O7RH.js} +2 -2
  285. package/dist/cli/chunks/{chunk-4K27ESCA.js → chunk-EKQ673SA.js} +1 -1
  286. package/dist/cli/chunks/chunk-F3SBRQC6.js +2 -0
  287. package/dist/cli/chunks/{chunk-4N44UJGI.js → chunk-FGYMFUE2.js} +2 -2
  288. package/dist/cli/chunks/chunk-FLYOJOKN.js +2 -0
  289. package/dist/cli/chunks/{chunk-W4OQYLYO.js → chunk-FRH6VAUS.js} +1 -1
  290. package/dist/cli/chunks/{chunk-VOYJJ3KA.js → chunk-FWGOHAAB.js} +2 -2
  291. package/dist/cli/chunks/{chunk-D4RCV4LY.js → chunk-G6T45OIC.js} +2 -2
  292. package/dist/cli/chunks/{chunk-2EHFEMRU.js → chunk-GPLQ6DOK.js} +2 -2
  293. package/dist/cli/chunks/{chunk-RVCWSAXI.js → chunk-HDSAM2RE.js} +2 -2
  294. package/dist/cli/chunks/chunk-HIVA55CJ.js +2 -0
  295. package/dist/cli/chunks/{chunk-6F4WHN7D.js → chunk-HIYXCDEP.js} +1 -1
  296. package/dist/cli/chunks/{chunk-NRR23SJV.js → chunk-HUWNIPZ5.js} +1 -1
  297. package/dist/cli/chunks/{chunk-4M6A3PVJ.js → chunk-HV2J7KKQ.js} +2 -2
  298. package/dist/cli/chunks/{chunk-CJHVOBJY.js → chunk-IFCLB7FJ.js} +1 -1
  299. package/dist/cli/chunks/{chunk-Q335R4MR.js → chunk-IPR4QP3H.js} +2 -2
  300. package/dist/cli/chunks/{chunk-HZMLNM2T.js → chunk-ISDMD6EU.js} +178 -175
  301. package/dist/cli/chunks/chunk-J6GNQS62.js +5 -0
  302. package/dist/cli/chunks/{chunk-3DFFFXXO.js → chunk-JBNEE5UH.js} +2 -2
  303. package/dist/cli/chunks/chunk-JZ3ORVZ3.js +54 -0
  304. package/dist/cli/chunks/{chunk-T4C56HBW.js → chunk-KCZR45PA.js} +2 -2
  305. package/dist/cli/chunks/chunk-KGT36Z42.js +14 -0
  306. package/dist/cli/chunks/{chunk-JIUF6NV6.js → chunk-KHFNNVJA.js} +2 -2
  307. package/dist/cli/chunks/{chunk-7SK6IMGZ.js → chunk-KPA7MZ6C.js} +2 -2
  308. package/dist/cli/chunks/{chunk-G2CLZVYI.js → chunk-KSKEF7LZ.js} +3 -3
  309. package/dist/cli/chunks/{chunk-6LMLN5R2.js → chunk-M2JBBZQB.js} +2 -2
  310. package/dist/cli/chunks/{chunk-UHTAI4ZB.js → chunk-M4WJKGVK.js} +1 -1
  311. package/dist/cli/chunks/{chunk-KZOBLLXW.js → chunk-M5QUBZY6.js} +2 -2
  312. package/dist/cli/chunks/{chunk-42WUDDUU.js → chunk-MCUJEZT6.js} +2 -2
  313. package/dist/cli/chunks/{chunk-ZFGND4QK.js → chunk-MDWCE7YW.js} +1 -1
  314. package/dist/cli/chunks/{chunk-TYVQNYXX.js → chunk-MEGDYJPV.js} +7 -7
  315. package/dist/cli/chunks/chunk-MIQTXNBG.js +4 -0
  316. package/dist/cli/chunks/{chunk-PFXX5Q32.js → chunk-MNW6QGNJ.js} +2 -2
  317. package/dist/cli/chunks/{chunk-IVGVOGIZ.js → chunk-MOBNBMFW.js} +1 -1
  318. package/dist/cli/chunks/{chunk-NWFIJNEB.js → chunk-MTZH7AHC.js} +1 -1
  319. package/dist/cli/chunks/chunk-MVNP7GIR.js +2 -0
  320. package/dist/cli/chunks/chunk-MVPCNSPY.js +2 -0
  321. package/dist/cli/chunks/chunk-NA7B2QYB.js +2 -0
  322. package/dist/cli/chunks/{chunk-E3Q7WNJD.js → chunk-NDPFGIMJ.js} +3 -3
  323. package/dist/cli/chunks/{chunk-GHUPID5E.js → chunk-NJBGXDQ7.js} +1 -1
  324. package/dist/cli/chunks/chunk-OBAP2TXZ.js +2 -0
  325. package/dist/cli/chunks/{chunk-OBCKP3G4.js → chunk-OCWWP5PL.js} +4 -4
  326. package/dist/cli/chunks/{chunk-CJCT452S.js → chunk-ODKLFVYC.js} +2 -2
  327. package/dist/cli/chunks/{chunk-YN6W2XIT.js → chunk-ONII3572.js} +4 -4
  328. package/dist/cli/chunks/{chunk-QW4LN5NK.js → chunk-OSLYSG3B.js} +2 -2
  329. package/dist/cli/chunks/{chunk-HZ6NEJMO.js → chunk-OULHKEVH.js} +2 -2
  330. package/dist/cli/chunks/{chunk-CG2MUD7U.js → chunk-PAWXJ73E.js} +1 -1
  331. package/dist/cli/chunks/chunk-PEPFCPES.js +2 -0
  332. package/dist/cli/chunks/{chunk-UIGEUEBT.js → chunk-PFR4G3DJ.js} +2 -2
  333. package/dist/cli/chunks/chunk-PO3IXGMQ.js +2 -0
  334. package/dist/cli/chunks/{chunk-6SZKLWZT.js → chunk-PZJOPURC.js} +5 -5
  335. package/dist/cli/chunks/{chunk-ARMZYHYL.js → chunk-Q5DO24IJ.js} +2 -2
  336. package/dist/cli/chunks/chunk-QGIU2WRL.js +2 -0
  337. package/dist/cli/chunks/{chunk-N3RN4QTC.js → chunk-R4VL6E65.js} +2 -2
  338. package/dist/cli/chunks/{chunk-MWQTACNA.js → chunk-R5NE6B2M.js} +2 -2
  339. package/dist/cli/chunks/{chunk-T46LOLW3.js → chunk-RJCYCLZV.js} +2 -2
  340. package/dist/cli/chunks/{chunk-CH2TQCV5.js → chunk-SGYJ4NFZ.js} +1 -1
  341. package/dist/cli/chunks/{chunk-NG2UVPTW.js → chunk-SRKETSFF.js} +1 -1
  342. package/dist/cli/chunks/{chunk-QFUX7ELG.js → chunk-STJCATGN.js} +2 -2
  343. package/dist/cli/chunks/{chunk-CIESXO73.js → chunk-STM3UDNO.js} +1 -1
  344. package/dist/cli/chunks/{chunk-C7AXRI7E.js → chunk-T6BVLVI5.js} +1 -1
  345. package/dist/cli/chunks/{chunk-HSJ5FQCF.js → chunk-TDZ53WO2.js} +2 -2
  346. package/dist/cli/chunks/{chunk-YF5OP6CR.js → chunk-TPGED2IF.js} +2 -2
  347. package/dist/cli/chunks/{chunk-2TG24LYQ.js → chunk-TSRSV3LD.js} +1 -1
  348. package/dist/cli/chunks/{chunk-6VKJAMZY.js → chunk-TT23RRB7.js} +1 -1
  349. package/dist/cli/chunks/{chunk-WXMSRBQF.js → chunk-TWAWHOP7.js} +2 -2
  350. package/dist/cli/chunks/{chunk-ZCDXJ27H.js → chunk-U5K45TFH.js} +1 -1
  351. package/dist/cli/chunks/{chunk-3WV4H33V.js → chunk-UDHKLT4C.js} +1 -1
  352. package/dist/cli/chunks/{chunk-VNAKBHJI.js → chunk-UEM7ZF5K.js} +2 -2
  353. package/dist/cli/chunks/{chunk-4ZUZDFAA.js → chunk-UGVHCMUN.js} +6 -6
  354. package/dist/cli/chunks/{chunk-NNOMDM4N.js → chunk-V3QLFNA2.js} +2 -2
  355. package/dist/cli/chunks/{chunk-S7N4BKI3.js → chunk-VD6QRULW.js} +2 -2
  356. package/dist/cli/chunks/{chunk-WBH4C4BG.js → chunk-VIHTL3U2.js} +2 -2
  357. package/dist/cli/chunks/chunk-W7BWUTVV.js +2 -0
  358. package/dist/cli/chunks/{chunk-IWFL6EFI.js → chunk-WLG5AJ4N.js} +2 -2
  359. package/dist/cli/chunks/{chunk-KEEBUVGV.js → chunk-XC7DYDSY.js} +8 -8
  360. package/dist/cli/chunks/{chunk-F2KRT2II.js → chunk-XJ7QNVI5.js} +3 -3
  361. package/dist/cli/chunks/chunk-XRT2WRMS.js +2 -0
  362. package/dist/cli/chunks/{chunk-ADK7DF3G.js → chunk-XRYF6JV7.js} +2 -2
  363. package/dist/cli/chunks/{chunk-PWEIDHT7.js → chunk-XWMZ6D6N.js} +2 -2
  364. package/dist/cli/chunks/{chunk-ICKLBATY.js → chunk-Y3MW3YBC.js} +2 -2
  365. package/dist/cli/chunks/chunk-YNXS6CGV.js +2 -0
  366. package/dist/cli/chunks/{chunk-PVHO6KLB.js → chunk-Z3RHREWF.js} +1 -1
  367. package/dist/cli/chunks/{chunk-EAJK25IS.js → chunk-ZBAKA4YB.js} +1 -1
  368. package/dist/cli/chunks/chunk-ZBJ4XOOV.js +180 -0
  369. package/dist/cli/chunks/chunk-ZBQY5GLF.js +11 -0
  370. package/dist/cli/chunks/{chunk-R5RNOLHI.js → chunk-ZJ26AQA5.js} +1 -1
  371. package/dist/cli/chunks/{chunk-KPFG4OIM.js → chunk-ZNEMGX5O.js} +1 -1
  372. package/dist/cli/chunks/{chunk-2H5YJ5ZK.js → chunk-ZNPKDCZR.js} +2 -2
  373. package/dist/cli/chunks/{chunk-DW6ZMNMR.js → chunk-ZZDIMOOV.js} +2 -2
  374. package/dist/cli/chunks/ci-464KPQNP.js +81 -0
  375. package/dist/cli/chunks/ci-output-I7FX2RSO.js +2 -0
  376. package/dist/cli/chunks/{circuit-breaker-4WST3QSA.js → circuit-breaker-3FW237WW.js} +2 -2
  377. package/dist/cli/chunks/{claude-flow-setup-KB4TKMYI.js → claude-flow-setup-6JKMBPGU.js} +2 -2
  378. package/dist/cli/chunks/client-7E4LM2WW.js +2 -0
  379. package/dist/cli/chunks/{cline-installer-W2ZHQ6WM.js → cline-installer-UWFHT6VY.js} +2 -2
  380. package/dist/cli/chunks/{code-TF2AVR5D.js → code-KQSUT3FS.js} +29 -29
  381. package/dist/cli/chunks/{code-index-extractor-RMDRUVQJ.js → code-index-extractor-PABBNUSC.js} +2 -2
  382. package/dist/cli/chunks/{codex-installer-VSTRHJHV.js → codex-installer-CQ24DTP5.js} +2 -2
  383. package/dist/cli/chunks/{completions-3Q37QVFR.js → completions-7RWHAUAR.js} +2 -2
  384. package/dist/cli/chunks/complexity-analyzer-XPOAF33E.js +2 -0
  385. package/dist/cli/chunks/{continuedev-installer-VTEXM455.js → continuedev-installer-V4F2FIZP.js} +2 -2
  386. package/dist/cli/chunks/{copilot-installer-AGY7DQUS.js → copilot-installer-JMICURQB.js} +2 -2
  387. package/dist/cli/chunks/core-handlers-IFG3757P.js +2 -0
  388. package/dist/cli/chunks/cost-tracker-5OFHEYFJ.js +2 -0
  389. package/dist/cli/chunks/{coverage-TT64IOS4.js → coverage-QKN57JDS.js} +3 -3
  390. package/dist/cli/chunks/cross-domain-router-EK7W4PGP.js +2 -0
  391. package/dist/cli/chunks/{cursor-installer-OVOJIOHN.js → cursor-installer-GBJ7YXSM.js} +2 -2
  392. package/dist/cli/chunks/{daemon-DMFZMXKA.js → daemon-GKP7CMEK.js} +3 -3
  393. package/dist/cli/chunks/{daemon-XCULEHWY.js → daemon-IAVSO6HK.js} +4 -4
  394. package/dist/cli/chunks/{dag-attention-scheduler-WW2RX4B5.js → dag-attention-scheduler-S225TCI7.js} +2 -2
  395. package/dist/cli/chunks/{detect-QNWIM232.js → detect-IUYH422U.js} +2 -2
  396. package/dist/cli/chunks/{dist-node-6GQIY3CG.js → dist-node-2YRE6A7C.js} +2 -2
  397. package/dist/cli/chunks/{domain-handler-6RJPDELX.js → domain-handler-PL2TZC6H.js} +2 -2
  398. package/dist/cli/chunks/domain-plugins-HCGLXKIT.js +2 -0
  399. package/dist/cli/chunks/{domain-transfer-WK524LBS.js → domain-transfer-KQJRUPXA.js} +2 -2
  400. package/dist/cli/chunks/dream-NFSCSLY7.js +2 -0
  401. package/dist/cli/chunks/{embed-and-insert-pattern-SO6GWJW7.js → embed-and-insert-pattern-ZPAG7235.js} +2 -2
  402. package/dist/cli/chunks/eval-WCK7KNFN.js +17 -0
  403. package/dist/cli/chunks/{experience-capture-middleware-BCCJ35OX.js → experience-capture-middleware-2MSQWSAR.js} +3 -3
  404. package/dist/cli/chunks/{fast-paths-CATDDBEU.js → fast-paths-VYOSIBKF.js} +2 -2
  405. package/dist/cli/chunks/{feature-flags-BUXNAORY.js → feature-flags-UJRHFBRX.js} +2 -2
  406. package/dist/cli/chunks/{feature-flags-KNNWWP5G.js → feature-flags-WCFUKHNQ.js} +2 -2
  407. package/dist/cli/chunks/{file-discovery-S4HF3O7D.js → file-discovery-JDGL4ZWS.js} +2 -2
  408. package/dist/cli/chunks/fleet-ROXVMZ2F.js +43 -0
  409. package/dist/cli/chunks/{gnn-wrapper-G7ABZUG7.js → gnn-wrapper-NIO4ZCO3.js} +2 -2
  410. package/dist/cli/chunks/{heartbeat-handler-UFMELIWT.js → heartbeat-handler-PI42WD3C.js} +4 -4
  411. package/dist/cli/chunks/heartbeat-scheduler-ZATCDJDK.js +2 -0
  412. package/dist/cli/chunks/hnsw-adapter-WXQABRCA.js +2 -0
  413. package/dist/cli/chunks/hnsw-index-TPSWLEA5.js +2 -0
  414. package/dist/cli/chunks/{hnsw-legacy-bridge-YIILSRXI.js → hnsw-legacy-bridge-YLC7SPK2.js} +2 -2
  415. package/dist/cli/chunks/{hnswlib-node-TSVRMXDH.js → hnswlib-node-LG6OS3B7.js} +2 -2
  416. package/dist/cli/chunks/{hooks-OHQPNK74.js → hooks-WVALP5GX.js} +10 -10
  417. package/dist/cli/chunks/{hypergraph-engine-LY7PJDSL.js → hypergraph-engine-GJEMW3EG.js} +2 -2
  418. package/dist/cli/chunks/{hypergraph-handler-YGDYZO6H.js → hypergraph-handler-BLF6LXEV.js} +3 -3
  419. package/dist/cli/chunks/impact-analyzer-HNIU45P5.js +2 -0
  420. package/dist/cli/chunks/{init-handler-MTK65LI3.js → init-handler-K25RWRYY.js} +6 -6
  421. package/dist/cli/chunks/init-wizard-JUIPBMHG.js +2 -0
  422. package/dist/cli/chunks/kernel-5BOZQ754.js +2 -0
  423. package/dist/cli/chunks/{kilocode-installer-3IICU4RS.js → kilocode-installer-BXN6WZ7G.js} +2 -2
  424. package/dist/cli/chunks/{kiro-installer-MXOVQYQA.js → kiro-installer-PM362DLN.js} +12 -12
  425. package/dist/cli/chunks/knowledge-graph-EWDAENWM.js +2 -0
  426. package/dist/cli/chunks/learning-CPERDDRG.js +122 -0
  427. package/dist/cli/chunks/llm-router-GOAV5FPI.js +37 -0
  428. package/dist/cli/chunks/llm-router-service-3YT7JGBS.js +2 -0
  429. package/dist/cli/chunks/{load-F4PVAMXQ.js → load-2BG6SHAK.js} +2 -2
  430. package/dist/cli/chunks/load-test-BP2CPLIV.js +2 -0
  431. package/dist/cli/chunks/{mcp-DUYJUEME.js → mcp-5TTB37DC.js} +2 -2
  432. package/dist/cli/chunks/{memory-XTTYORAS.js → memory-4NHBYT6S.js} +5 -5
  433. package/dist/cli/chunks/memory-backend-4PYQBPRM.js +2 -0
  434. package/dist/cli/chunks/memory-handlers-2B27NITS.js +2 -0
  435. package/dist/cli/chunks/multi-model-executor-KCWSGCDT.js +14 -0
  436. package/dist/cli/chunks/{opencode-installer-33ULBU2F.js → opencode-installer-ATZLLK74.js} +2 -2
  437. package/dist/cli/chunks/{orchestrator-34ZJEKTJ.js → orchestrator-RKB7XJRG.js} +19 -19
  438. package/dist/cli/chunks/pattern-null-store-OYOQOV2O.js +2 -0
  439. package/dist/cli/chunks/{pattern-usage-recorder-GZ2M3F2E.js → pattern-usage-recorder-7VE4XDAI.js} +2 -2
  440. package/dist/cli/chunks/pipeline-LQZSNDD2.js +19 -0
  441. package/dist/cli/chunks/{platform-VKJFJIAW.js → platform-OD5H5U6G.js} +2 -2
  442. package/dist/cli/chunks/{plugin-5C5UBQUQ.js → plugin-EJ6K2MGU.js} +2 -2
  443. package/dist/cli/chunks/{prime-radiant-advanced-wasm-KO2PQI3D.js → prime-radiant-advanced-wasm-OIHTKJMN.js} +2 -2
  444. package/dist/cli/chunks/protocol-executor-3ATJTXWG.js +2 -0
  445. package/dist/cli/chunks/{protocol-handler-ZF74NIKA.js → protocol-handler-NRBROAU7.js} +2 -2
  446. package/dist/cli/chunks/{prove-MO5TQQU4.js → prove-EJOGEGD3.js} +2 -2
  447. package/dist/cli/chunks/qe-reasoning-bank-LLMYZT4X.js +2 -0
  448. package/dist/cli/chunks/{quality-EYIN6AER.js → quality-E55UC73D.js} +2 -2
  449. package/dist/cli/chunks/{quality-gate-V6OQM57O.js → quality-gate-OIQATNT3.js} +3 -3
  450. package/dist/cli/chunks/queen-coordinator-RN7L6KG5.js +2 -0
  451. package/dist/cli/chunks/{real-embeddings-AR7TZX7U.js → real-embeddings-FPFFNOSZ.js} +2 -2
  452. package/dist/cli/chunks/ref-validation-OPO6J7OL.js +2 -0
  453. package/dist/cli/chunks/{roocode-installer-46E626VZ.js → roocode-installer-ODY5KRWU.js} +2 -2
  454. package/dist/cli/chunks/router-MDHITQ2V.js +2 -0
  455. package/dist/cli/chunks/routing-feedback-5XLNJ3Y3.js +2 -0
  456. package/dist/cli/chunks/{routing-handler-ZNRVW6QW.js → routing-handler-KQM6VWLC.js} +4 -4
  457. package/dist/cli/chunks/{ruvector-commands-4L2CQMWS.js → ruvector-commands-U2GVV6PF.js} +2 -2
  458. package/dist/cli/chunks/rvf-dual-writer-JBW4O3II.js +2 -0
  459. package/dist/cli/chunks/rvf-migration-adapter-BPPQL4XJ.js +2 -0
  460. package/dist/cli/chunks/{rvf-migration-coordinator-H4RVGBIA.js → rvf-migration-coordinator-V2GHCJKN.js} +2 -2
  461. package/dist/cli/chunks/rvf-native-adapter-S4562CG5.js +2 -0
  462. package/dist/cli/chunks/rvf-store-integrity-KMIHD3LP.js +2 -0
  463. package/dist/cli/chunks/safe-db-FIRHSXVF.js +2 -0
  464. package/dist/cli/chunks/schedule-RVXFB4HK.js +2 -0
  465. package/dist/cli/chunks/scheduler-IKKAMAOO.js +2 -0
  466. package/dist/cli/chunks/security-P5NM353C.js +13 -0
  467. package/dist/cli/chunks/{shared-rvf-adapter-M6NNIZ5W.js → shared-rvf-adapter-LVIUOO4S.js} +2 -2
  468. package/dist/cli/chunks/{shared-rvf-dual-writer-LHMFCYVE.js → shared-rvf-dual-writer-2CSG7C4W.js} +2 -2
  469. package/dist/cli/chunks/sqlite-persistence-SQ3HCUQ7.js +2 -0
  470. package/dist/cli/chunks/{status-handler-GMIOXQIE.js → status-handler-6TU6O37R.js} +2 -2
  471. package/dist/cli/chunks/{structural-health-YZXHVHM6.js → structural-health-KBIJSTXJ.js} +2 -2
  472. package/dist/cli/chunks/{sync-GMPCPV5L.js → sync-LNHI5SB7.js} +2 -2
  473. package/dist/cli/chunks/{sync-N56UQGCS.js → sync-UHOX6RJW.js} +2 -2
  474. package/dist/cli/chunks/task-handler-AVDHMLGI.js +49 -0
  475. package/dist/cli/chunks/task-handlers-KYK4VTRA.js +9 -0
  476. package/dist/cli/chunks/{test-GQNCKRSP.js → test-DHAAI3DU.js} +11 -11
  477. package/dist/cli/chunks/test-scheduling-XDBZ3QC2.js +15 -0
  478. package/dist/cli/chunks/{token-bootstrap-76SRNXGG.js → token-bootstrap-GUTTLPZX.js} +2 -2
  479. package/dist/cli/chunks/{token-usage-O7CZDP5Q.js → token-usage-Q2YG5YQN.js} +2 -2
  480. package/dist/cli/chunks/{transformers-LTU4LSSC.js → transformers-F5UQTQCY.js} +2 -2
  481. package/dist/cli/chunks/{tree-sitter-wasm-parser-NQSQCMBM.js → tree-sitter-wasm-parser-DEGOHS6F.js} +2 -2
  482. package/dist/cli/chunks/types-JQ7EQO5Q.js +2 -0
  483. package/dist/cli/chunks/unified-memory-CXHLHB5I.js +2 -0
  484. package/dist/cli/chunks/unified-memory-hnsw-I7WAE54M.js +2 -0
  485. package/dist/cli/chunks/unified-persistence-6CPF65WI.js +2 -0
  486. package/dist/cli/chunks/{upgrade-OQWRBZ3R.js → upgrade-TJRVGHGD.js} +2 -2
  487. package/dist/cli/chunks/{validate-TH5SRP3E.js → validate-BWPCVHBN.js} +2 -2
  488. package/dist/cli/chunks/{validate-swarm-UITL2JUS.js → validate-swarm-QVVKCQLP.js} +2 -2
  489. package/dist/cli/chunks/{vibium-O6PRAG4J.js → vibium-ZFATIWHO.js} +2 -2
  490. package/dist/cli/chunks/visual-security-GNPHME5H.js +2 -0
  491. package/dist/cli/chunks/{web-tree-sitter-XBFBY4OF.js → web-tree-sitter-KPLY7ONR.js} +2 -2
  492. package/dist/cli/chunks/{windsurf-installer-DVT5NRNY.js → windsurf-installer-H7XM7ISA.js} +2 -2
  493. package/dist/cli/chunks/{witness-chain-VRSH2F36.js → witness-chain-RRN6NDCH.js} +2 -2
  494. package/dist/cli/chunks/witness-chain-VT4UHHBR.js +2 -0
  495. package/dist/cli/chunks/{witness-key-manager-GFHRDKQ4.js → witness-key-manager-DFRL42GE.js} +2 -2
  496. package/dist/cli/chunks/workflow-2ZQO6WYI.js +51 -0
  497. package/dist/cli/chunks/workflow-orchestrator-DB3HIECD.js +2 -0
  498. package/dist/cli/chunks/{wrappers-5LLLT7GM.js → wrappers-SUS6XEJD.js} +2 -2
  499. package/dist/cli/commands/ci.js +54 -28
  500. package/dist/cli/commands/code.js +6 -0
  501. package/dist/cli/commands/eval.js +3 -2
  502. package/dist/cli/commands/fleet.js +35 -16
  503. package/dist/cli/commands/learning-snapshot.d.ts +38 -0
  504. package/dist/cli/commands/learning-snapshot.js +171 -0
  505. package/dist/cli/commands/learning.js +16 -64
  506. package/dist/cli/commands/llm-router.js +13 -12
  507. package/dist/cli/commands/pipeline.js +9 -0
  508. package/dist/cli/commands/security.js +167 -100
  509. package/dist/cli/commands/test.js +1 -0
  510. package/dist/cli/commands/workflow.js +9 -1
  511. package/dist/cli/handlers/task-handler.js +19 -9
  512. package/dist/cli/helpers/domain-plugins.d.ts +5 -0
  513. package/dist/cli/helpers/domain-plugins.js +11 -0
  514. package/dist/cli/index.js +17 -8
  515. package/dist/cli/utils/ci-config.d.ts +3 -0
  516. package/dist/cli/utils/ci-output.d.ts +17 -0
  517. package/dist/cli/utils/ci-output.js +34 -2
  518. package/dist/context/sources/git-source.d.ts +2 -0
  519. package/dist/context/sources/git-source.js +9 -2
  520. package/dist/coordination/cancelled-task-settlement.d.ts +11 -0
  521. package/dist/coordination/cancelled-task-settlement.js +15 -0
  522. package/dist/coordination/consensus/providers/claude-provider.d.ts +2 -2
  523. package/dist/coordination/consensus/providers/claude-provider.js +18 -25
  524. package/dist/coordination/consensus/providers/gemini-provider.d.ts +14 -4
  525. package/dist/coordination/consensus/providers/gemini-provider.js +39 -36
  526. package/dist/coordination/consensus/providers/ollama-provider.d.ts +8 -7
  527. package/dist/coordination/consensus/providers/ollama-provider.js +16 -18
  528. package/dist/coordination/consensus/providers/openai-provider.d.ts +14 -4
  529. package/dist/coordination/consensus/providers/openai-provider.js +36 -34
  530. package/dist/coordination/consensus/providers/openrouter-provider.d.ts +5 -5
  531. package/dist/coordination/consensus/providers/openrouter-provider.js +64 -37
  532. package/dist/coordination/handlers/handler-types.d.ts +3 -0
  533. package/dist/coordination/handlers/quality-handlers.js +10 -0
  534. package/dist/coordination/handlers/security-handlers.js +168 -72
  535. package/dist/coordination/handlers/test-execution-handlers.js +39 -43
  536. package/dist/coordination/interfaces.d.ts +2 -2
  537. package/dist/coordination/protocol-executor.js +68 -9
  538. package/dist/coordination/protocols/security-audit.d.ts +3 -0
  539. package/dist/coordination/protocols/security-audit.js +61 -39
  540. package/dist/coordination/queen-coordinator.js +10 -4
  541. package/dist/coordination/queen-event-handlers.js +17 -0
  542. package/dist/coordination/queen-task-management.js +25 -0
  543. package/dist/coordination/queen-types.d.ts +2 -0
  544. package/dist/coordination/result-saver.js +36 -5
  545. package/dist/coordination/task-executor.d.ts +3 -1
  546. package/dist/coordination/task-executor.js +8 -8
  547. package/dist/coordination/workflow-composition.d.ts +19 -0
  548. package/dist/coordination/workflow-composition.js +114 -0
  549. package/dist/coordination/workflow-orchestrator.d.ts +3 -2
  550. package/dist/coordination/workflow-orchestrator.js +219 -85
  551. package/dist/coordination/workflow-types.d.ts +30 -1
  552. package/dist/coordination/yaml-pipeline-loader.js +9 -5
  553. package/dist/domains/chaos-resilience/services/chaos-engineer.js +2 -7
  554. package/dist/domains/code-intelligence/services/knowledge-graph.js +2 -7
  555. package/dist/domains/code-intelligence/services/metric-collector/test-counter.js +9 -40
  556. package/dist/domains/constants.d.ts +1 -6
  557. package/dist/domains/constants.js +2 -6
  558. package/dist/domains/contract-testing/services/contract-validator.js +2 -7
  559. package/dist/domains/coverage-analysis/services/coverage-analyzer.js +2 -12
  560. package/dist/domains/coverage-analysis/services/gap-detector.js +2 -7
  561. package/dist/domains/defect-intelligence/services/defect-predictor.js +2 -12
  562. package/dist/domains/defect-intelligence/services/root-cause-analyzer.js +2 -7
  563. package/dist/domains/learning-optimization/services/learning-coordinator.js +2 -7
  564. package/dist/domains/quality-assessment/services/deployment-advisor.js +2 -7
  565. package/dist/domains/quality-assessment/services/quality-analyzer.js +2 -7
  566. package/dist/domains/requirements-validation/services/requirements-validator.js +2 -7
  567. package/dist/domains/security-compliance/interfaces.d.ts +5 -0
  568. package/dist/domains/security-compliance/interfaces.js +0 -6
  569. package/dist/domains/security-compliance/scan-discovery.d.ts +12 -0
  570. package/dist/domains/security-compliance/scan-discovery.js +105 -0
  571. package/dist/domains/security-compliance/scan-evidence.d.ts +57 -0
  572. package/dist/domains/security-compliance/scan-evidence.js +2 -0
  573. package/dist/domains/security-compliance/services/scanners/sast-scanner.d.ts +3 -2
  574. package/dist/domains/security-compliance/services/scanners/sast-scanner.js +112 -72
  575. package/dist/domains/security-compliance/services/semgrep-integration.d.ts +9 -2
  576. package/dist/domains/security-compliance/services/semgrep-integration.js +68 -20
  577. package/dist/domains/test-execution/services/flaky-detector.js +46 -5
  578. package/dist/domains/test-execution/services/retry-handler.js +38 -20
  579. package/dist/domains/test-execution/services/test-executor.js +84 -29
  580. package/dist/domains/test-generation/services/test-generator.js +2 -7
  581. package/dist/domains/visual-accessibility/services/visual-tester.js +2 -7
  582. package/dist/init/init-wizard-hooks.js +2 -2
  583. package/dist/init/init-wizard-steps.js +1 -1
  584. package/dist/init/kiro-installer.js +9 -8
  585. package/dist/init/opencode-installer.js +1 -1
  586. package/dist/init/phases/07-hooks.js +4 -2
  587. package/dist/init/phases/12-verification.js +1 -1
  588. package/dist/init/settings-merge.d.ts +10 -3
  589. package/dist/init/settings-merge.js +40 -9
  590. package/dist/integrations/agentic-flow/model-router/types.js +6 -8
  591. package/dist/integrations/agentic-flow/reasoning-bank/index.js +3 -20
  592. package/dist/integrations/coherence/engines/cohomology-adapter.js +100 -30
  593. package/dist/integrations/ruvector/brain-exporter.js +9 -15
  594. package/dist/integrations/ruvector/brain-rvf-exporter.js +17 -30
  595. package/dist/integrations/ruvector/brain-shared.d.ts +5 -1
  596. package/dist/integrations/ruvector/brain-shared.js +70 -4
  597. package/dist/integrations/ruvector/rvf-dual-writer.js +36 -15
  598. package/dist/integrations/ruvector/rvf-store-integrity.d.ts +14 -9
  599. package/dist/integrations/ruvector/rvf-store-integrity.js +39 -9
  600. package/dist/integrations/ruvector/shared-rvf-adapter.js +20 -23
  601. package/dist/kernel/memory-factory.js +14 -4
  602. package/dist/kernel/project-root.js +10 -8
  603. package/dist/kernel/unified-memory.js +1 -1
  604. package/dist/learning/local-judge-client.d.ts +6 -5
  605. package/dist/learning/local-judge-client.js +7 -6
  606. package/dist/learning/pattern-store.js +29 -11
  607. package/dist/mcp/bundle.js +548 -527
  608. package/dist/mcp/handlers/domain-handler-configs.d.ts +22 -1
  609. package/dist/mcp/handlers/domain-handler-configs.js +50 -19
  610. package/dist/mcp/handlers/domain-handlers.d.ts +7 -5
  611. package/dist/mcp/handlers/domain-handlers.js +7 -5
  612. package/dist/mcp/handlers/index.d.ts +1 -1
  613. package/dist/mcp/handlers/index.js +1 -1
  614. package/dist/mcp/handlers/pipeline-handlers.d.ts +31 -1
  615. package/dist/mcp/handlers/pipeline-handlers.js +63 -0
  616. package/dist/mcp/handlers/task-handlers.d.ts +1 -0
  617. package/dist/mcp/handlers/task-handlers.js +12 -4
  618. package/dist/mcp/protocol-server.d.ts +2 -0
  619. package/dist/mcp/protocol-server.js +112 -53
  620. package/dist/mcp/security/sampling-server.js +2 -1
  621. package/dist/mcp/tool-annotations.js +1 -1
  622. package/dist/mcp/tools/test-execution/schedule.js +7 -0
  623. package/dist/mcp/types.d.ts +10 -1
  624. package/dist/optimization/session-cache.d.ts +5 -0
  625. package/dist/optimization/session-cache.js +23 -0
  626. package/dist/routing/advisor/multi-model-executor.d.ts +4 -1
  627. package/dist/routing/advisor/multi-model-executor.js +8 -1
  628. package/dist/routing/free-tier/ladder.d.ts +2 -1
  629. package/dist/routing/free-tier/ladder.js +3 -2
  630. package/dist/routing/security/cyber-pin.d.ts +35 -11
  631. package/dist/routing/security/cyber-pin.js +76 -14
  632. package/dist/routing/value-score.js +1 -1
  633. package/dist/shared/git/index.d.ts +1 -0
  634. package/dist/shared/git/index.js +1 -0
  635. package/dist/shared/git/ref-validation.d.ts +20 -0
  636. package/dist/shared/git/ref-validation.js +43 -0
  637. package/dist/shared/llm/anthropic-params.d.ts +40 -0
  638. package/dist/shared/llm/anthropic-params.js +51 -0
  639. package/dist/shared/llm/cost-tracker.d.ts +15 -2
  640. package/dist/shared/llm/cost-tracker.js +62 -10
  641. package/dist/shared/llm/index.d.ts +2 -2
  642. package/dist/shared/llm/index.js +2 -2
  643. package/dist/shared/llm/interfaces.d.ts +1 -1
  644. package/dist/shared/llm/metrics/cost-metrics.js +5 -4
  645. package/dist/shared/llm/model-mapping.js +131 -0
  646. package/dist/shared/llm/model-registry.d.ts +37 -11
  647. package/dist/shared/llm/model-registry.js +393 -18
  648. package/dist/shared/llm/openai-params.d.ts +35 -0
  649. package/dist/shared/llm/openai-params.js +54 -0
  650. package/dist/shared/llm/provider-manager.js +4 -3
  651. package/dist/shared/llm/providers/azure-openai.d.ts +11 -0
  652. package/dist/shared/llm/providers/azure-openai.js +26 -15
  653. package/dist/shared/llm/providers/bedrock.js +11 -19
  654. package/dist/shared/llm/providers/claude.js +6 -29
  655. package/dist/shared/llm/providers/codex.js +4 -3
  656. package/dist/shared/llm/providers/gemini.d.ts +3 -2
  657. package/dist/shared/llm/providers/gemini.js +19 -10
  658. package/dist/shared/llm/providers/ollama.d.ts +2 -0
  659. package/dist/shared/llm/providers/ollama.js +30 -20
  660. package/dist/shared/llm/providers/openai.js +10 -17
  661. package/dist/shared/llm/providers/openrouter.d.ts +1 -1
  662. package/dist/shared/llm/providers/openrouter.js +57 -21
  663. package/dist/shared/llm/router/agent-router-config.js +33 -32
  664. package/dist/shared/llm/router/hybrid-router.d.ts +4 -0
  665. package/dist/shared/llm/router/hybrid-router.js +95 -35
  666. package/dist/shared/llm/router/routing-rules.js +9 -8
  667. package/dist/shared/llm/router/types.d.ts +9 -2
  668. package/dist/shared/llm/router/types.js +81 -13
  669. package/dist/shared/llm/translation/message-formatter.js +4 -23
  670. package/dist/shared/test-runner-verdict.d.ts +29 -0
  671. package/dist/shared/test-runner-verdict.js +43 -0
  672. package/dist/shared/vitest-json-report.d.ts +45 -0
  673. package/dist/shared/vitest-json-report.js +80 -0
  674. package/dist/test-scheduling/executors/vitest-executor.d.ts +7 -2
  675. package/dist/test-scheduling/executors/vitest-executor.js +174 -52
  676. package/dist/test-scheduling/git-aware/test-selector.js +3 -0
  677. package/dist/test-scheduling/phase-scheduler.d.ts +1 -0
  678. package/dist/test-scheduling/phase-scheduler.js +23 -1
  679. package/dist/validation/frontier-judge.d.ts +7 -4
  680. package/dist/validation/frontier-judge.js +11 -6
  681. package/package.json +6 -6
  682. package/dist/cli/chunks/adapter-OJF6LAJV.js +0 -2
  683. package/dist/cli/chunks/aqe-learning-engine-FGT474XB.js +0 -2
  684. package/dist/cli/chunks/base-HH765JFV.js +0 -2
  685. package/dist/cli/chunks/brain-handler-5FSA46R5.js +0 -90
  686. package/dist/cli/chunks/browser-workflow-NPM4FUPI.js +0 -2
  687. package/dist/cli/chunks/chunk-2LKAMMMI.js +0 -2
  688. package/dist/cli/chunks/chunk-4AKGBUYD.js +0 -4
  689. package/dist/cli/chunks/chunk-4MH22236.js +0 -2
  690. package/dist/cli/chunks/chunk-4PH7O5ZH.js +0 -2
  691. package/dist/cli/chunks/chunk-4UCMTYFQ.js +0 -65
  692. package/dist/cli/chunks/chunk-DRO5NJZA.js +0 -11
  693. package/dist/cli/chunks/chunk-FPHPP5TQ.js +0 -2
  694. package/dist/cli/chunks/chunk-FREF6Y4L.js +0 -14
  695. package/dist/cli/chunks/chunk-G6AV2HGY.js +0 -54
  696. package/dist/cli/chunks/chunk-GJAWEUIN.js +0 -16
  697. package/dist/cli/chunks/chunk-IUNMW454.js +0 -2
  698. package/dist/cli/chunks/chunk-JDXLCNKV.js +0 -2
  699. package/dist/cli/chunks/chunk-OC2CKU7I.js +0 -2
  700. package/dist/cli/chunks/chunk-OX6T26CD.js +0 -180
  701. package/dist/cli/chunks/chunk-PHHXHG2W.js +0 -2
  702. package/dist/cli/chunks/chunk-SEHCX4NH.js +0 -2
  703. package/dist/cli/chunks/chunk-TENYL5TI.js +0 -14
  704. package/dist/cli/chunks/chunk-U2AY57XZ.js +0 -5
  705. package/dist/cli/chunks/chunk-UYTWDS2R.js +0 -2
  706. package/dist/cli/chunks/chunk-VSYBMNIR.js +0 -2
  707. package/dist/cli/chunks/chunk-WBMRADQP.js +0 -81
  708. package/dist/cli/chunks/chunk-ZWRQ5VAU.js +0 -2
  709. package/dist/cli/chunks/chunk-ZYLSOBOR.js +0 -2
  710. package/dist/cli/chunks/ci-NTRH7PAW.js +0 -81
  711. package/dist/cli/chunks/ci-output-F57RSD35.js +0 -2
  712. package/dist/cli/chunks/client-GPZEC54E.js +0 -2
  713. package/dist/cli/chunks/complexity-analyzer-3FNFLACD.js +0 -2
  714. package/dist/cli/chunks/core-handlers-YMGHYIBR.js +0 -2
  715. package/dist/cli/chunks/cost-tracker-LTZAQBX7.js +0 -2
  716. package/dist/cli/chunks/cross-domain-router-ECBNTGYJ.js +0 -2
  717. package/dist/cli/chunks/dream-EHGKCFWH.js +0 -2
  718. package/dist/cli/chunks/eval-GL544IPO.js +0 -17
  719. package/dist/cli/chunks/fleet-DQVQQONW.js +0 -43
  720. package/dist/cli/chunks/heartbeat-scheduler-UFEL2CBW.js +0 -2
  721. package/dist/cli/chunks/hnsw-adapter-BLSD45CX.js +0 -2
  722. package/dist/cli/chunks/hnsw-index-A3RZODEN.js +0 -2
  723. package/dist/cli/chunks/impact-analyzer-OXHD3FOH.js +0 -2
  724. package/dist/cli/chunks/init-wizard-PKZL7QBU.js +0 -2
  725. package/dist/cli/chunks/kernel-XWPM72UJ.js +0 -2
  726. package/dist/cli/chunks/knowledge-graph-FRKR5XWI.js +0 -2
  727. package/dist/cli/chunks/learning-EV5LSOOM.js +0 -122
  728. package/dist/cli/chunks/llm-router-7LYDJUOT.js +0 -37
  729. package/dist/cli/chunks/llm-router-service-R7A5HHDM.js +0 -2
  730. package/dist/cli/chunks/load-test-5IKDWSYL.js +0 -2
  731. package/dist/cli/chunks/memory-backend-7VW5QCMO.js +0 -2
  732. package/dist/cli/chunks/memory-handlers-VZH3R2TQ.js +0 -2
  733. package/dist/cli/chunks/multi-model-executor-R6XCTMCF.js +0 -14
  734. package/dist/cli/chunks/pattern-null-store-BU6LCB2W.js +0 -2
  735. package/dist/cli/chunks/pipeline-SR5OTY45.js +0 -19
  736. package/dist/cli/chunks/protocol-executor-BSP5LWJN.js +0 -2
  737. package/dist/cli/chunks/qe-reasoning-bank-J2RC7P25.js +0 -2
  738. package/dist/cli/chunks/queen-coordinator-XI5AJV2V.js +0 -2
  739. package/dist/cli/chunks/router-VXQYYA3D.js +0 -2
  740. package/dist/cli/chunks/routing-feedback-HZQTASFF.js +0 -2
  741. package/dist/cli/chunks/rvf-dual-writer-BDTLLJER.js +0 -2
  742. package/dist/cli/chunks/rvf-migration-adapter-IB343MDN.js +0 -2
  743. package/dist/cli/chunks/rvf-native-adapter-Y7SN7LHU.js +0 -2
  744. package/dist/cli/chunks/rvf-store-integrity-OJGWWPLL.js +0 -2
  745. package/dist/cli/chunks/safe-db-2VTKKBJU.js +0 -2
  746. package/dist/cli/chunks/schedule-QJ4CFGJY.js +0 -2
  747. package/dist/cli/chunks/scheduler-2NHDQPC3.js +0 -2
  748. package/dist/cli/chunks/security-JF3BVNRO.js +0 -14
  749. package/dist/cli/chunks/sqlite-persistence-NVVAPZN3.js +0 -2
  750. package/dist/cli/chunks/task-handler-VTNRGAXP.js +0 -49
  751. package/dist/cli/chunks/task-handlers-FYSDH55N.js +0 -9
  752. package/dist/cli/chunks/test-scheduling-GPRXSIRP.js +0 -15
  753. package/dist/cli/chunks/types-OP6IWE6N.js +0 -2
  754. package/dist/cli/chunks/unified-memory-DSTIEDSH.js +0 -2
  755. package/dist/cli/chunks/unified-memory-hnsw-KBV3P4OS.js +0 -2
  756. package/dist/cli/chunks/unified-persistence-XKCOUBKY.js +0 -2
  757. package/dist/cli/chunks/visual-security-TTWSPZTZ.js +0 -2
  758. package/dist/cli/chunks/witness-chain-2KY73HPN.js +0 -2
  759. package/dist/cli/chunks/workflow-HAZ6YKOG.js +0 -51
  760. package/dist/cli/chunks/workflow-orchestrator-UK56AVOT.js +0 -2
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.2");process.exit(0)}
2
- import{a}from"./chunk-PWEIDHT7.js";import"./chunk-YN6W2XIT.js";import"./chunk-MWQTACNA.js";import"./chunk-DW6ZMNMR.js";import"./chunk-PHHXHG2W.js";import"./chunk-ICKLBATY.js";import"./chunk-QXTW7XCS.js";import"./chunk-CIESXO73.js";import"./chunk-D4RCV4LY.js";import"./chunk-NG2UVPTW.js";import"./chunk-6VKJAMZY.js";export{a as ImpactAnalyzerService};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.2");process.exit(0)}
2
- import{a,b,c,d}from"./chunk-TYVQNYXX.js";import"./chunk-KEEBUVGV.js";import"./chunk-CG2MUD7U.js";import"./chunk-KPFG4OIM.js";import"./chunk-IVGVOGIZ.js";import"./chunk-QXTW7XCS.js";import"./chunk-D4RCV4LY.js";import"./chunk-N5ZRUOMR.js";import"./chunk-HBTC4L53.js";import"./chunk-6VKJAMZY.js";export{a as InitOrchestrator,b as createInitOrchestrator,d as formatInitResult,c as quickInit};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.2");process.exit(0)}
2
- import{A as b,z as a}from"./chunk-HZMLNM2T.js";import"./chunk-LML5VTFK.js";import"./chunk-DVHWLAEO.js";import"./chunk-4ZUZDFAA.js";import"./chunk-4K27ESCA.js";import"./chunk-S4MR6RTE.js";import"./chunk-WBH4C4BG.js";import"./chunk-WVY22NHZ.js";import"./chunk-KZOBLLXW.js";import"./chunk-3WV4H33V.js";import"./chunk-RFNEHNJV.js";import"./chunk-NHHWLJQF.js";import"./chunk-57TNBR2P.js";import"./chunk-6SZKLWZT.js";import"./chunk-5WJUNRTY.js";import"./chunk-3C2K4YMS.js";import"./chunk-U2AY57XZ.js";import"./chunk-A7N3YUDJ.js";import"./chunk-PWEIDHT7.js";import"./chunk-YN6W2XIT.js";import"./chunk-MWQTACNA.js";import"./chunk-7FWP7CZY.js";import"./chunk-67A6PEZM.js";import"./chunk-6LMLN5R2.js";import"./chunk-FREF6Y4L.js";import"./chunk-PVHO6KLB.js";import"./chunk-HZ6NEJMO.js";import"./chunk-KPFG4OIM.js";import"./chunk-TENYL5TI.js";import"./chunk-OC2CKU7I.js";import"./chunk-SEHCX4NH.js";import"./chunk-G6AV2HGY.js";import"./chunk-4N44UJGI.js";import"./chunk-FPHPP5TQ.js";import"./chunk-NAZVPZJS.js";import"./chunk-DRO5NJZA.js";import"./chunk-DW6ZMNMR.js";import"./chunk-ZYLSOBOR.js";import"./chunk-RHJVDCLV.js";import"./chunk-5EHLGOWW.js";import"./chunk-ZCDXJ27H.js";import"./chunk-XPLSLHRB.js";import"./chunk-K574FLVB.js";import"./chunk-GJAWEUIN.js";import"./chunk-L2F7FVIU.js";import"./chunk-2H5YJ5ZK.js";import"./chunk-RGH3WGWD.js";import"./chunk-CJHVOBJY.js";import"./chunk-4UCMTYFQ.js";import"./chunk-PMUBG2RU.js";import"./chunk-EAJK25IS.js";import"./chunk-C7AXRI7E.js";import"./chunk-R5RNOLHI.js";import"./chunk-IUNMW454.js";import"./chunk-Q335R4MR.js";import"./chunk-MH73D5TN.js";import"./chunk-YF5OP6CR.js";import"./chunk-PFXX5Q32.js";import"./chunk-Q3JHS3UD.js";import"./chunk-42WUDDUU.js";import"./chunk-E3Q7WNJD.js";import"./chunk-W2FLULF4.js";import"./chunk-N3RN4QTC.js";import"./chunk-T46LOLW3.js";import"./chunk-PHHXHG2W.js";import"./chunk-ICKLBATY.js";import"./chunk-JDXLCNKV.js";import"./chunk-QXTW7XCS.js";import"./chunk-CTCQOYBS.js";import"./chunk-HSJ5FQCF.js";import"./chunk-VSYBMNIR.js";import"./chunk-CIESXO73.js";import"./chunk-D4RCV4LY.js";import"./chunk-NG2UVPTW.js";import"./chunk-7AFBNU6K.js";import"./chunk-N5ZRUOMR.js";import"./chunk-HBTC4L53.js";import"./chunk-RVCWSAXI.js";import"./chunk-T4C56HBW.js";import"./chunk-JQ2ZD3WO.js";import"./chunk-CJCT452S.js";import"./chunk-S7N4BKI3.js";import"./chunk-JIUF6NV6.js";import"./chunk-GHQ5PUOV.js";import"./chunk-6VKJAMZY.js";export{a as QEKernelImpl,b as createKernel};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.2");process.exit(0)}
2
- import{g as a}from"./chunk-YN6W2XIT.js";import"./chunk-MWQTACNA.js";import"./chunk-DW6ZMNMR.js";import"./chunk-PHHXHG2W.js";import"./chunk-ICKLBATY.js";import"./chunk-QXTW7XCS.js";import"./chunk-CIESXO73.js";import"./chunk-D4RCV4LY.js";import"./chunk-6VKJAMZY.js";export{a as KnowledgeGraphService};
@@ -1,122 +0,0 @@
1
- #!/usr/bin/env node
2
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.2");process.exit(0)}
3
- import{a as oe}from"./chunk-3DFFFXXO.js";import{b as ne}from"./chunk-5WJUNRTY.js";import{a as Y}from"./chunk-A7N3YUDJ.js";import{h as te}from"./chunk-RGH3WGWD.js";import"./chunk-CJHVOBJY.js";import"./chunk-4UCMTYFQ.js";import"./chunk-PMUBG2RU.js";import"./chunk-EAJK25IS.js";import{i as B}from"./chunk-C7AXRI7E.js";import"./chunk-R5RNOLHI.js";import"./chunk-IUNMW454.js";import"./chunk-Q335R4MR.js";import"./chunk-MH73D5TN.js";import"./chunk-YF5OP6CR.js";import{d as ee}from"./chunk-42WUDDUU.js";import{b as X,n as Z}from"./chunk-E3Q7WNJD.js";import{o as K}from"./chunk-W2FLULF4.js";import"./chunk-N3RN4QTC.js";import"./chunk-T46LOLW3.js";import"./chunk-PHHXHG2W.js";import"./chunk-ICKLBATY.js";import{b as O}from"./chunk-JDXLCNKV.js";import{b as q,d as ue}from"./chunk-QXTW7XCS.js";import"./chunk-CTCQOYBS.js";import"./chunk-HSJ5FQCF.js";import"./chunk-VSYBMNIR.js";import"./chunk-CIESXO73.js";import"./chunk-D4RCV4LY.js";import"./chunk-NG2UVPTW.js";import{a as x,b as J}from"./chunk-N5ZRUOMR.js";import"./chunk-HBTC4L53.js";import"./chunk-RVCWSAXI.js";import"./chunk-T4C56HBW.js";import"./chunk-JQ2ZD3WO.js";import"./chunk-CJCT452S.js";import"./chunk-S7N4BKI3.js";import"./chunk-JIUF6NV6.js";import"./chunk-GHQ5PUOV.js";import"./chunk-6VKJAMZY.js";K();ue();import{Command as we}from"commander";import o from"chalk";import S from"node:path";import{existsSync as $,writeFileSync as ge,readFileSync as V,mkdirSync as pe,copyFileSync as L,renameSync as de}from"node:fs";import{stat as M,unlink as R}from"node:fs/promises";J();K();import D from"chalk";import z from"node:path";import{createReadStream as ae,createWriteStream as re}from"node:fs";import{createGzip as me,createGunzip as fe}from"node:zlib";import{pipeline as se}from"node:stream/promises";J();var T={reasoningBank:null,initialized:!1};async function P(){if(T.initialized&&T.reasoningBank)return T.reasoningBank;let l=O(),t=z.join(l,".agentic-qe"),e=new Y({sqlite:{path:z.join(t,"memory.db"),walMode:!0,poolSize:3,busyTimeout:5e3},enableFallback:!0,defaultNamespace:"qe-patterns"});await e.initialize(),T.reasoningBank=te(e,void 0,{enableLearning:!0,enableGuidance:!0,enableRouting:!0,embeddingDimension:384,useONNXEmbeddings:!0}),await T.reasoningBank.initialize();try{let{getSharedRvfDualWriter:n}=await import("./shared-rvf-dual-writer-LHMFCYVE.js"),i=await n();i&&T.reasoningBank.setRvfDualWriter(i)}catch(n){process.env.DEBUG&&console.debug("[learning] RVF wiring skipped:",n instanceof Error?n.message:n)}return T.initialized=!0,T.reasoningBank}function b(l){console.log(JSON.stringify(l,null,2))}function A(l){console.log(D.green("\u2713"),l)}function E(l){console.error(D.red("\u2717"),l)}function _(l){console.log(D.blue("\u2139"),l)}function ie(l){let{current:t,topDomains:e}=l,n={tl:"\u250C",tr:"\u2510",bl:"\u2514",br:"\u2518",h:"\u2500",v:"\u2502",ml:"\u251C",mr:"\u2524"},i=55,g=n.h.repeat(i-2);console.log(""),console.log(`${n.tl}${g}${n.tr}`),console.log(`${n.v}${ye("AQE LEARNING DASHBOARD",i-2)}${n.v}`),console.log(`${n.ml}${g}${n.mr}`);let c=t.patternsCreatedToday>0?D.green(` (+${t.patternsCreatedToday} today)`):"";console.log(`${n.v} Patterns: ${C(String(t.totalPatterns)+c,32)}${n.v}`);let d=t.experiencesToday>0?D.green(` (+${t.experiencesToday} today)`):"";console.log(`${n.v} Experiences: ${C(String(t.totalExperiences)+d,32)}${n.v}`),console.log(`${n.v} Q-Values: ${C(String(t.totalQValues),32)}${n.v}`);let u=t.avgReward.toFixed(2),p=t.avgRewardDelta>=0?D.green(`(\u2191 ${Math.abs(t.avgRewardDelta).toFixed(2)} from last week)`):D.red(`(\u2193 ${Math.abs(t.avgRewardDelta).toFixed(2)} from last week)`);console.log(`${n.v} Avg Reward: ${C(`${u} ${p}`,32)}${n.v}`);let a=(t.successRate*100).toFixed(1);if(console.log(`${n.v} Success Rate: ${C(`${a}%`,32)}${n.v}`),console.log(`${n.v} Short-term: ${C(String(t.shortTermPatterns),32)}${n.v}`),console.log(`${n.v} Long-term: ${C(String(t.longTermPatterns),32)}${n.v}`),console.log(`${n.v}${" ".repeat(i-2)}${n.v}`),console.log(`${n.v} ${D.bold("Domain Coverage:")}${" ".repeat(i-19)}${n.v}`),e.length===0)console.log(`${n.v} ${D.dim("No patterns yet")}${" ".repeat(i-19)}${n.v}`);else{let r=Math.max(...e.map(y=>y.count),1),m=14;for(let{domain:y,count:h}of e){let w=Math.round(h/r*m),v=m-w,k=D.green("\u2588".repeat(w))+D.dim("\u2591".repeat(v)),F=C(y,20),Q=he(String(h),3);console.log(`${n.v} ${F} ${k} ${Q} patterns ${n.v}`)}let s=new Set(e.map(y=>y.domain)),f=B.filter(y=>!s.has(y)).slice(0,3);for(let y of f){let h=D.dim("\u2591".repeat(m)),w=C(y,20);console.log(`${n.v} ${w} ${h} 0 patterns ${n.v}`)}}console.log(`${n.bl}${g}${n.br}`),console.log("")}function ye(l,t){let e=W(l),n=Math.max(0,t-e.length),i=Math.floor(n/2),g=n-i;return" ".repeat(i)+l+" ".repeat(g)}function C(l,t){let e=W(l),n=Math.max(0,t-e.length);return l+" ".repeat(n)}function he(l,t){let e=W(l),n=Math.max(0,t-e.length);return" ".repeat(n)+l}function W(l){return l.replace(/\x1b\[[0-9;]*m/g,"")}function I(){let l=O();return z.join(l,".agentic-qe","memory.db")}async function G(l,t){let e=t||`${l}.gz`;return await se(ae(l),me(),re(e)),e}async function H(l,t){await se(ae(l),fe(),re(t))}async function N(l){try{let t=x(l,{readonly:!0}),e=t.prepare("PRAGMA integrity_check").get();return t.close(),e.integrity_check==="ok"?{valid:!0,message:"Database integrity verified"}:{valid:!1,message:`Integrity check failed: ${e.integrity_check}`}}catch(t){return{valid:!1,message:`Failed to verify: ${t instanceof Error?t.message:"unknown error"}`}}}async function j(l){try{let t=x(l,{readonly:!0});if(!t.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='schema_version'").get())return t.close(),0;let n=t.prepare("SELECT version FROM schema_version WHERE id = 1").get();return t.close(),n?.version??0}catch{return 0}}var U="3.1.0",ce={generate:"test-generation","test-generation":"test-generation",analyze:"coverage-analysis",coverage:"coverage-analysis","coverage-analysis":"coverage-analysis",run:"test-execution","test-execution":"test-execution",report:"quality-assessment",quality:"quality-assessment","quality-analysis":"quality-assessment",security:"security-compliance",sast:"security-compliance",owasp:"security-compliance",secrets:"security-compliance",audit:"security-compliance",recommend:"defect-intelligence",predict:"defect-intelligence","complexity-analysis":"code-intelligence","code-analysis":"code-intelligence",stabilize:"chaos-resilience",flaky:"chaos-resilience",quarantine:"chaos-resilience",retry:"chaos-resilience",stress:"chaos-resilience",load:"chaos-resilience",endurance:"chaos-resilience",baseline:"chaos-resilience"},le={generate:"test-template","test-generation":"test-template",analyze:"coverage-strategy",coverage:"coverage-strategy","coverage-analysis":"coverage-strategy",run:"test-template","test-execution":"test-template",report:"assertion-pattern",quality:"assertion-pattern","quality-analysis":"assertion-pattern",security:"assertion-pattern",sast:"assertion-pattern",owasp:"assertion-pattern",secrets:"assertion-pattern",audit:"assertion-pattern",recommend:"assertion-pattern",predict:"assertion-pattern","complexity-analysis":"assertion-pattern","code-analysis":"assertion-pattern",stabilize:"flaky-fix",flaky:"flaky-fix",quarantine:"flaky-fix",retry:"flaky-fix",stress:"perf-benchmark",load:"perf-benchmark",endurance:"perf-benchmark",baseline:"perf-benchmark",mock:"mock-pattern",dependency:"mock-pattern"};function mt(){let l=new we("learning").description("AQE self-learning system management (standalone, no claude-flow required)").addHelpText("after",`
4
- Examples:
5
- # Check learning system status
6
- aqe learning stats
7
-
8
- # Consolidate patterns (promote successful patterns to long-term memory)
9
- aqe learning consolidate
10
-
11
- # Export learned patterns for sharing
12
- aqe learning export --output patterns.json
13
-
14
- # Import patterns from another project
15
- aqe learning import --input patterns.json
16
-
17
- # Run background learning consolidation
18
- aqe learning daemon --interval 3600
19
- `);return ve(l),Se(l),Ee(l),Re(l),xe(l),ke(l),De(l),Ce(l),Ae(l),Oe(l),Pe(l),Te(l),_e(l),Ie(l),be(l),$e(l),Ne(l),Fe(l),Be(l),l}function $e(l){l.command("embedding-health").description("Display active and stored embedding-space provenance").option("--json","Output as JSON").action(async t=>{let e=S.join(O(),".agentic-qe","memory.db");if(!$(e))throw new Error('Database not found. Run "aqe init --auto" first.');let n=x(e,{readonly:!0});try{let i=n.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='qe_pattern_embeddings'").get(),g=i?n.prepare("PRAGMA table_info('qe_pattern_embeddings')").all().some(u=>u.name==="space_id"):!1,c=i?n.prepare(`SELECT ${g?"space_id":"NULL"} AS spaceId FROM qe_pattern_embeddings`).all():[],d=X(c,Z()?.spaceId??null);if(t.json){b(d);return}console.log(o.bold(`
20
- Embedding Space Health
21
- `)),console.log(` Status: ${d.status}`),console.log(` Active space: ${d.activeSpaceId??"(runtime not initialized)"}`),console.log(` Stored spaces: ${d.storedSpaceIds.join(", ")||"(none)"}`),console.log(` Verified vectors: ${d.verifiedVectors}`),console.log(` Mismatched vectors: ${d.mismatchedVectors}`),console.log(` Unverified vectors: ${d.unverifiedVectors}
22
- `)}finally{n.close()}})}function be(l){l.command("backfill-embeddings").description("Generate embeddings for learned patterns that are missing vectors").option("-b, --batch-size <n>","Patterns per embedding batch","32").option("--dry-run","Report missing embeddings without writing").option("--json","Output as JSON").action(async t=>{let e=Number(t.batchSize);if(!Number.isInteger(e)||e<=0)throw new Error("batch size must be a positive integer");let n=ee();try{await n.initialize();let i=n.getGhostPatternCount();if(t.dryRun){t.json?b({dryRun:!0,batchSize:e,...i}):(console.log(o.bold(`
23
- Pattern Embedding Backfill (dry run)
24
- `)),console.log(` Patterns: ${i.total}`),console.log(` Missing embeddings: ${i.withoutEmbeddings}`),i.sampleGhostIds.length>0&&console.log(` Sample IDs: ${i.sampleGhostIds.join(", ")}`),console.log(""));return}let g=await n.backfillEmbeddings(e),c=n.getGhostPatternCount(),d={...g,batchSize:e,missingBefore:i.withoutEmbeddings,missingAfter:c.withoutEmbeddings};t.json?b(d):(A("Pattern embedding backfill complete."),console.log(` Processed: ${g.processed}`),console.log(` Skipped: ${g.skipped}`),console.log(` Errors: ${g.errors}`),console.log(` Remaining missing: ${c.withoutEmbeddings}`),console.log(` Method: ${g.method}`),console.log(""))}catch(i){throw E(`backfill-embeddings failed: ${i instanceof Error?i.message:"unknown"}`),i}finally{n.close()}})}function ve(l){l.command("stats").description("Display learning system statistics").option("--json","Output as JSON").option("--detailed","Show detailed breakdown").action(async t=>{try{let n=await(await P()).getStats();if(t.json)b(n);else{console.log(o.bold(`
25
- \u{1F4CA} AQE Learning System Statistics
26
- `)),console.log(o.bold("Patterns:")),console.log(` Total: ${o.cyan(n.totalPatterns)}`),console.log(` Short-term: ${n.patternStoreStats.byTier.shortTerm}`),console.log(` Long-term: ${n.patternStoreStats.byTier.longTerm}`),console.log(` Avg Confidence: ${(n.patternStoreStats.avgConfidence*100).toFixed(1)}%`),console.log(` Avg Quality: ${(n.patternStoreStats.avgQualityScore*100).toFixed(1)}%`),console.log(o.bold(`
27
- By Domain:`));let i=Object.entries(n.byDomain).filter(([c,d])=>d>0).sort((c,d)=>d[1]-c[1]);if(i.length===0)console.log(o.dim(" No patterns yet"));else for(let[c,d]of i)console.log(` ${c}: ${d}`);console.log(o.bold(`
28
- Learning:`)),console.log(` Routing Requests: ${n.routingRequests}`),console.log(` Avg Routing Confidence: ${(n.avgRoutingConfidence*100).toFixed(1)}%`),console.log(` Learning Outcomes: ${n.learningOutcomes}`),console.log(` Pattern Success Rate: ${(n.patternSuccessRate*100).toFixed(1)}%`),console.log(o.bold(`
29
- Search Performance:`)),console.log(` Operations: ${n.patternStoreStats.searchOperations}`),console.log(` Avg Latency: ${n.patternStoreStats.avgSearchLatencyMs.toFixed(2)}ms`),console.log(` HNSW Native: ${n.patternStoreStats.hnswStats.nativeAvailable?o.green("\u2713"):o.dim("\u25CB")}`),console.log(` Vector Count: ${n.patternStoreStats.hnswStats.vectorCount}`);let g=n.asymmetricLearning;if(g&&(console.log(o.bold(`
30
- Asymmetric Learning (ADR-061):`)),console.log(` Failure Penalty Ratio: ${g.failurePenaltyRatio||"10:1"}`),console.log(` Quarantined Patterns: ${g.quarantinedPatterns||0}`),console.log(` Rehabilitated: ${g.rehabilitatedPatterns||0}`),console.log(` Avg Confidence Delta: ${((g.avgConfidenceDelta||0)*100).toFixed(1)}%`)),t.detailed){console.log(o.bold(`
31
- By Pattern Type:`));for(let[c,d]of Object.entries(n.patternStoreStats.byType))d>0&&console.log(` ${c}: ${d}`)}console.log("")}return}catch(e){throw E(`stats failed: ${e instanceof Error?e.message:"unknown"}`),e}})}function Se(l){l.command("consolidate").description("Consolidate patterns - promote successful patterns to long-term memory").option("--dry-run","Show what would be promoted without making changes").option("--threshold <n>","Minimum successful uses for promotion","3").option("--success-rate <n>","Minimum success rate for promotion (0-1)","0.7").option("--json","Output as JSON").action(async t=>{try{let e=await P(),n=Number(t.threshold),i=Number(t.successRate),g=.6;if(!Number.isInteger(n)||n<1)throw new Error("threshold must be a positive integer");if(!Number.isFinite(i)||i<0||i>1)throw new Error("success rate must be between 0 and 1");let c=[],d=await e.searchPatterns("",{limit:1e3});if(!d.success)throw new Error(d.error.message);for(let a of d.value){let r=a.pattern;r.tier==="short-term"&&r.successfulUses>=n&&r.successRate>=i&&r.confidence>=g&&c.push({id:r.id,name:r.name,domain:r.qeDomain,successfulUses:r.successfulUses,successRate:r.successRate,currentTier:r.tier})}let u=0,p=[];if(!t.dryRun)for(let a of c){let r=await e.promotePattern(a.id);r.success?u++:p.push({id:a.id,error:r.error.message})}if(t.json)b({dryRun:t.dryRun||!1,eligibleCount:c.length,promotedCount:u,failedCount:p.length,threshold:n,successRateMin:i,confidenceMin:g,patterns:c,failures:p});else{if(console.log(o.bold(`
32
- \u{1F504} Pattern Consolidation
33
- `)),console.log(` Promotion threshold: ${n} successful uses`),console.log(` Minimum success rate: ${(i*100).toFixed(0)}%`),console.log(` Minimum confidence: ${(g*100).toFixed(0)}%`),console.log(` Eligible patterns: ${c.length}
34
- `),c.length===0)console.log(o.dim(" No patterns eligible for promotion yet."));else{console.log(o.bold(" Patterns to promote:"));for(let a of c)console.log(` ${o.cyan(a.name)}`),console.log(o.dim(` Domain: ${a.domain}, Uses: ${a.successfulUses}, Rate: ${(a.successRate*100).toFixed(0)}%`));if(t.dryRun)console.log(o.yellow(`
35
- Dry run - no changes made`));else if(console.log(o.green(`
36
- Promoted: ${u}`)),p.length>0){console.log(o.red(` Failed: ${p.length}`));for(let a of p)console.log(o.dim(` ${a.id}: ${a.error}`))}}console.log("")}return}catch(e){throw E(`consolidate failed: ${e instanceof Error?e.message:"unknown"}`),e}})}function Ee(l){l.command("export").description("Export learned patterns for sharing").option("-o, --output <file>","Output file path","aqe-patterns.json").option("-d, --domain <domain>","Filter by domain").option("--long-term-only","Only export long-term patterns").option("--json","Output as JSON (to stdout)").action(async t=>{try{let n=await(await P()).searchPatterns("",{limit:1e4,domain:t.domain});if(!n.success)throw new Error(n.error.message);let i=n.value.map(c=>c.pattern).filter(c=>!t.longTermOnly||c.tier==="long-term"),g={version:"3.0.0",exportedAt:new Date().toISOString(),source:process.cwd(),patternCount:i.length,patterns:i.map(c=>({id:c.id,name:c.name,description:c.description,patternType:c.patternType,qeDomain:c.qeDomain,tier:c.tier,confidence:c.confidence,successRate:c.successRate,successfulUses:c.successfulUses,qualityScore:c.qualityScore,template:c.template,context:c.context}))};if(t.json)b(g);else{let c=S.resolve(t.output);ge(c,JSON.stringify(g,null,2),"utf-8"),A(`Exported ${i.length} patterns to ${c}`)}return}catch(e){throw E(`export failed: ${e instanceof Error?e.message:"unknown"}`),e}})}function Re(l){l.command("import").description("Import patterns from file").requiredOption("-i, --input <file>","Input file path").option("--dry-run","Show what would be imported without making changes").option("--json","Output as JSON").action(async t=>{try{let e=S.resolve(t.input);if(!$(e))throw new Error(`File not found: ${e}`);let n=V(e,"utf-8"),i=q(n);if(!i.patterns||!Array.isArray(i.patterns))throw new Error("Invalid pattern file format");let g=await P(),c=0,d=0,u=[];if(!t.dryRun)for(let p of i.patterns)try{let a=await g.storePattern({patternType:p.patternType,name:p.name,description:p.description,template:p.template,context:p.context});a.success?c++:(d++,u.push(`${p.name}: ${a.error.message}`))}catch(a){d++,u.push(`${p.name}: ${a instanceof Error?a.message:"unknown"}`)}t.json?b({dryRun:t.dryRun||!1,totalPatterns:i.patterns.length,imported:c,skipped:d,errors:u}):(console.log(o.bold(`
37
- \u{1F4E5} Pattern Import
38
- `)),console.log(` Source: ${e}`),console.log(` Total patterns: ${i.patterns.length}`),t.dryRun?(console.log(o.yellow(`
39
- Dry run - no changes made`)),console.log(` Would import: ${i.patterns.length} patterns`)):(console.log(o.green(`
40
- Imported: ${c}`)),d>0&&console.log(o.yellow(` Skipped: ${d}`))),console.log(""));return}catch(e){throw E(`import failed: ${e instanceof Error?e.message:"unknown"}`),e}})}function xe(l){l.command("reset").description("Reset learning data (patterns and metrics)").option("--confirm","Confirm reset without prompting").option("--patterns-only","Only reset patterns, keep metrics").action(async t=>{try{if(!t.confirm){console.log(o.yellow(`
41
- \u26A0\uFE0F This will reset your learning data.`)),console.log(o.gray(` Use --confirm to proceed
42
- `));return}let e=O(),n=S.join(e,".agentic-qe"),i=[S.join(n,"data","patterns"),S.join(n,"data","hnsw")];t.patternsOnly||i.push(S.join(n,"data","learning-config.json")),console.log(o.bold(`
43
- \u{1F5D1}\uFE0F Resetting Learning Data
44
- `));for(let g of i)$(g)&&console.log(o.dim(` Removing: ${S.relative(e,g)}`));A(`Learning data reset. Run "aqe init --auto" to reinitialize.
45
- `);return}catch(e){throw E(`reset failed: ${e instanceof Error?e.message:"unknown"}`),e}})}function ke(l){l.command("extract").description("Extract QE patterns from existing learning experiences").option("--min-reward <n>","Minimum reward threshold for pattern extraction","0.7").option("--min-count <n>","Minimum occurrences to form a pattern","3").option("--dry-run","Show what would be extracted without saving").option("--json","Output as JSON").action(async t=>{try{let e=O(),n=S.join(e,".agentic-qe","memory.db");if(!$(n))throw new Error('No memory database found. Run "aqe init --auto" first.');let i=parseFloat(t.minReward),g=parseInt(t.minCount,10);console.log(o.bold(`
46
- \u{1F52C} Pattern Extraction from Learning Experiences
47
- `)),console.log(` Min reward threshold: ${i}`),console.log(` Min occurrences: ${g}
48
- `);let c=x(n,{readonly:!0}),d=c.prepare(`
49
- SELECT domain as task_type, COUNT(*) as count, AVG(quality) as avg_reward, MAX(quality) as max_reward,
50
- MIN(quality) as min_reward, GROUP_CONCAT(DISTINCT agent) as actions
51
- FROM captured_experiences WHERE quality >= ? AND agent != 'cli-hook' GROUP BY domain HAVING COUNT(*) >= ? ORDER BY avg_reward DESC
52
- `).all(i,g),u=[];try{u=c.prepare(`
53
- SELECT substr(key, 1, 40) as key_prefix, COUNT(*) as count
54
- FROM memory_entries WHERE key LIKE 'phase2/learning/%'
55
- GROUP BY substr(key, 1, 40) HAVING COUNT(*) >= ? ORDER BY COUNT(*) DESC LIMIT 20
56
- `).all(g)}catch{}c.close();let p=[];for(let a of d){let r=ce[a.task_type]||"code-intelligence",m=le[a.task_type]||"test-template",s=a.actions?a.actions.split(",").slice(0,5):[];p.push({name:`${a.task_type}-success-pattern`,domain:r,patternType:m,confidence:Math.min(.95,a.avg_reward/2),sourceCount:a.count,avgReward:a.avg_reward,actions:s})}if(t.json)b({minReward:i,minCount:g,dryRun:t.dryRun||!1,experienceGroups:d.length,memoryPatterns:u.length,extractedPatterns:p});else{if(console.log(o.bold("Learning Experience Groups:")),d.length===0)console.log(o.dim(" No qualifying experience groups found"));else for(let a of d){let r=a.avg_reward>=1?o.green:a.avg_reward>=.5?o.yellow:o.red;console.log(` ${o.cyan(a.task_type)}`),console.log(` Count: ${a.count}, Avg Reward: ${r(a.avg_reward.toFixed(2))}`)}console.log(o.bold(`
57
- Memory Pattern Sources:`));for(let a of u.slice(0,10))console.log(` ${a.key_prefix}... (${a.count})`);if(console.log(o.bold(`
58
- Extracted Patterns:`)),p.length===0)console.log(o.dim(" No patterns extracted"));else for(let a of p)console.log(` ${o.green("+")} ${o.cyan(a.name)}`),console.log(o.dim(` Domain: ${a.domain}, Type: ${a.patternType}`)),console.log(o.dim(` Confidence: ${(a.confidence*100).toFixed(0)}%, Sources: ${a.sourceCount}`));if(!t.dryRun&&p.length>0){let a=await P(),r=0,m=[];for(let s of p)try{let f=s.actions.length>0?`// ${s.name}
59
- // Steps: ${s.actions.join(" -> ")}
60
-
61
- {{implementation}}`:`// ${s.name}
62
- // Extracted pattern with ${s.sourceCount} successful uses
63
-
64
- {{implementation}}`,y=await a.storePattern({patternType:s.patternType,name:s.name,description:`Extracted from ${s.sourceCount} learning experiences with avg reward ${s.avgReward.toFixed(2)}`,template:{type:"code",content:f,variables:[{name:"implementation",type:"code",required:!0,description:"Implementation code for this pattern"}]},context:{tags:[s.domain,s.patternType,`sources:${s.sourceCount}`,`reward:${s.avgReward.toFixed(2)}`]}});y.success?r++:m.push(`${s.name}: ${y.error.message}`)}catch(f){m.push(`${s.name}: ${f instanceof Error?f.message:"unknown"}`)}console.log(o.green(`
65
- \u2713 Stored ${r} new patterns`)),m.length>0&&m.length<=5&&console.log(o.yellow(` Errors: ${m.slice(0,3).join(", ")}${m.length>3?"...":""}`))}else t.dryRun&&console.log(o.yellow(`
66
- Dry run - no patterns stored`));console.log("")}return}catch(e){throw E(`extract failed: ${e instanceof Error?e.message:"unknown"}`),e}})}function De(l){l.command("dashboard").description("Display learning system dashboard with metrics and trends").option("--json","Output as JSON").option("--save-snapshot","Save a daily metrics snapshot").action(async t=>{try{let e=O(),n=ne(e);await n.initialize(),t.saveSnapshot&&(await n.saveSnapshot(),A("Daily snapshot saved"));let i=await n.getDashboardData();n.close(),t.json?b(i):ie(i);return}catch(e){throw E(`dashboard failed: ${e instanceof Error?e.message:"unknown"}`),e}})}function Ce(l){l.command("info").description("Show learning system configuration and paths").action(async()=>{try{let t=O(),e=S.join(t,".agentic-qe");console.log(o.bold(`
67
- \u{1F4CB} AQE Learning System Info
68
- `)),console.log(o.bold("Paths:")),console.log(` Data directory: ${e}`),console.log(` Memory database: ${S.join(e,"memory.db")}`),console.log(` HNSW index: ${S.join(e,"data","hnsw")}`),console.log(` Patterns: ${S.join(e,"data","patterns")}`),console.log(o.bold(`
69
- Configuration:`)),console.log(` Learning enabled: ${process.env.AQE_LEARNING_ENABLED!=="false"?o.green("yes"):o.red("no")}`),console.log(` V3 mode: ${process.env.AQE_V3_MODE==="true"?o.green("yes"):o.dim("no")}`),console.log(` Promotion threshold: ${process.env.AQE_V3_PATTERN_PROMOTION_THRESHOLD||"3"} uses`),console.log(` Success rate threshold: ${process.env.AQE_V3_SUCCESS_RATE_THRESHOLD||"0.7"}`),console.log(o.bold(`
70
- Domains:`)),console.log(` ${B.join(", ")}`),console.log(o.bold(`
71
- Hooks:`)),console.log(" Configure in .claude/settings.json"),console.log(` Events: pre-edit, post-edit, pre-task, post-task, route
72
- `);return}catch(t){throw E(`info failed: ${t instanceof Error?t.message:"unknown"}`),t}})}function Ae(l){l.command("backup").description("Backup learning database to a file").option("-o, --output <path>","Output file path").option("--compress","Compress backup with gzip").option("--verify","Verify backup integrity after creation").option("--json","Output as JSON").action(async t=>{try{let e=I();if(!$(e))throw new Error(`No learning database found at: ${e}`);let n=new Date().toISOString().replace(/[:.]/g,"-").slice(0,19),i=S.join(process.cwd(),"backups",`learning-${n}.db`),g=t.output?S.resolve(t.output):i,c=S.dirname(g);$(c)||pe(c,{recursive:!0});let d=await M(e),u=(d.size/1024).toFixed(2);L(e,g);let p=`${e}-wal`;$(p)&&L(p,`${g}-wal`);let a=g;t.compress&&(a=await G(g),await R(g),$(`${g}-wal`)&&await R(`${g}-wal`));let r=await M(a),m=(r.size/1024).toFixed(2),s;t.verify&&!t.compress&&(s=await N(g));let f=await j(e);if(t.json)b({success:!0,sourcePath:e,backupPath:a,sourceSizeKB:parseFloat(u),backupSizeKB:parseFloat(m),compressed:t.compress||!1,schemaVersion:f,verification:s,timestamp:new Date().toISOString()});else{if(console.log(o.bold(`
73
- \u{1F4BE} Learning Database Backup
74
- `)),console.log(` Source: ${e}`),console.log(` Source size: ${u} KB`),console.log(` Backup: ${a}`),console.log(` Backup size: ${m} KB`),console.log(` Schema version: ${f}`),t.compress){let y=((1-r.size/d.size)*100).toFixed(1);console.log(` Compression: ${y}% reduction`)}s&&console.log(s.valid?o.green(` Verification: ${s.message}`):o.red(` Verification: ${s.message}`)),A(`Backup saved to: ${a}
75
- `)}return}catch(e){throw E(`backup failed: ${e instanceof Error?e.message:"unknown"}`),e}})}function Oe(l){l.command("restore").description("Restore learning database from backup").requiredOption("-i, --input <path>","Backup file path to restore from").option("--verify","Verify backup integrity before restore").option("--force","Overwrite existing database without confirmation").option("--json","Output as JSON").action(async t=>{try{let e=S.resolve(t.input),n=I();if(!$(e))throw new Error(`Backup file not found: ${e}`);let i=e.endsWith(".gz"),g=e;if(i){let p=e.replace(".gz",".tmp");await H(e,p),g=p}if(t.verify){let p=await N(g);if(!p.valid)throw i&&$(g)&&await R(g),new Error(`Backup verification failed: ${p.message}`)}if($(n)&&!t.force)throw i&&$(g)&&await R(g),new Error(`Database already exists at: ${n}. Use --force to overwrite`);let c=S.dirname(n);$(c)||pe(c,{recursive:!0}),$(n)&&await R(n),$(`${n}-wal`)&&await R(`${n}-wal`),$(`${n}-shm`)&&await R(`${n}-shm`),L(g,n),i&&$(g)&&await R(g);let d=await M(n),u=await j(n);t.json?b({success:!0,backupPath:e,restoredPath:n,sizeKB:parseFloat((d.size/1024).toFixed(2)),schemaVersion:u,wasCompressed:i,timestamp:new Date().toISOString()}):(console.log(o.bold(`
76
- \u{1F504} Learning Database Restore
77
- `)),console.log(` Backup: ${e}`),console.log(` Restored to: ${n}`),console.log(` Size: ${(d.size/1024).toFixed(2)} KB`),console.log(` Schema version: ${u}`),A(`Database restored successfully
78
- `));return}catch(e){throw E(`restore failed: ${e instanceof Error?e.message:"unknown"}`),e}})}function Pe(l){l.command("verify").description("Verify learning database integrity").option("-f, --file <path>","Database file to verify (defaults to current)").option("--json","Output as JSON").action(async t=>{try{let e=t.file?S.resolve(t.file):I();if(!$(e))throw new Error(`Database file not found: ${e}`);let n=await N(e),i=await j(e),g=await M(e),c={};try{let d=x(e,{readonly:!0});for(let u of["qe_patterns","qe_trajectories","captured_experiences","kv_store","vectors"])try{let p=d.prepare(`SELECT COUNT(*) as count FROM ${u}`).get();c[u]=p.count}catch{}d.close()}catch{}if(t.json)b({valid:n.valid,message:n.message,path:e,sizeKB:parseFloat((g.size/1024).toFixed(2)),schemaVersion:i,tableCounts:c,timestamp:new Date().toISOString()});else{if(console.log(o.bold(`
79
- \u{1F50D} Database Verification
80
- `)),console.log(` Path: ${e}`),console.log(` Size: ${(g.size/1024).toFixed(2)} KB`),console.log(` Schema version: ${i}`),console.log(n.valid?o.green(` Status: ${n.message}`):o.red(` Status: ${n.message}`)),Object.keys(c).length>0){console.log(o.bold(`
81
- Table Counts:`));for(let[d,u]of Object.entries(c))console.log(` ${d}: ${u}`)}console.log("")}if(!n.valid)throw new Error(`Database verification failed: ${n.message}`);return}catch(e){throw E(`verify failed: ${e instanceof Error?e.message:"unknown"}`),e}})}function Te(l){l.command("export-full").description("Export all learning data including patterns, trajectories, and experiences").option("-o, --output <file>","Output file path","aqe-learning-export.json").option("--compress","Compress output with gzip").option("--include-trajectories","Include learning trajectories").option("--include-experiences","Include learning experiences").option("--json","Output as JSON (to stdout)").action(async t=>{try{let e=I();if(!$(e))throw new Error('No learning database found. Run "aqe init --auto" first.');let n=await P(),i=await j(e),g=await n.searchPatterns("",{limit:1e4});if(!g.success)throw new Error(g.error.message);let c=g.value.map(u=>({id:u.pattern.id,name:u.pattern.name,description:u.pattern.description,patternType:u.pattern.patternType,qeDomain:u.pattern.qeDomain,tier:u.pattern.tier,confidence:u.pattern.confidence,successRate:u.pattern.successRate,successfulUses:u.pattern.successfulUses,qualityScore:u.pattern.qualityScore,template:u.pattern.template,context:u.pattern.context,createdAt:u.pattern.createdAt instanceof Date?u.pattern.createdAt.toISOString():u.pattern.createdAt||void 0,lastUsedAt:u.pattern.lastUsedAt instanceof Date?u.pattern.lastUsedAt.toISOString():u.pattern.lastUsedAt||void 0})),d={version:U,exportedAt:new Date().toISOString(),source:process.cwd(),schemaVersion:i,patternCount:c.length,patterns:c};if(t.includeTrajectories)try{let u=x(e,{readonly:!0}),p=u.prepare("SELECT id, task, agent, domain, success, steps_json FROM qe_trajectories ORDER BY started_at DESC LIMIT 1000").all();d.trajectories=p.map(a=>({id:a.id,task:a.task,agent:a.agent,domain:a.domain,success:a.success,stepsJson:a.steps_json})),u.close()}catch{}if(t.includeExperiences)try{let u=x(e,{readonly:!0}),p=u.prepare("SELECT domain as task_type, agent as action, AVG(quality) as avg_reward, COUNT(*) as count FROM captured_experiences WHERE agent != 'cli-hook' GROUP BY domain, agent ORDER BY count DESC LIMIT 500").all();d.experiences=p.map(r=>({taskType:r.task_type,action:r.action,reward:r.avg_reward,count:r.count}));let a=u.prepare("SELECT COUNT(*) as total, AVG(quality) as avg_reward FROM captured_experiences WHERE agent != 'cli-hook'").get();d.metadata={totalExperiences:a.total,avgReward:a.avg_reward},u.close()}catch{}if(t.json)b(d);else{let u=S.resolve(t.output);if(ge(u,JSON.stringify(d,null,2),"utf-8"),t.compress){let p=await G(u);await R(u),u=p}console.log(o.bold(`
82
- \u{1F4E4} Learning Data Export
83
- `)),console.log(` Patterns: ${c.length}`),d.trajectories&&console.log(` Trajectories: ${d.trajectories.length}`),d.experiences&&console.log(` Experience groups: ${d.experiences.length}`),console.log(` Schema version: ${i}`),console.log(` Export format: ${U}`),A(`Exported to: ${u}
84
- `)}return}catch(e){throw E(`export-full failed: ${e instanceof Error?e.message:"unknown"}`),e}})}function _e(l){l.command("import-merge").description("Import and merge patterns from export file (preserves existing data)").requiredOption("-i, --input <file>","Input file path").option("--skip-duplicates","Skip patterns with matching names (default: update)").option("--dry-run","Show what would be imported without making changes").option("--json","Output as JSON").action(async t=>{try{let e=S.resolve(t.input);if(!$(e))throw new Error(`File not found: ${e}`);let n;if(e.endsWith(".gz")){let y=e.replace(".gz",".tmp.json");await H(e,y),n=V(y,"utf-8"),await R(y)}else n=V(e,"utf-8");let i=q(n);if(!i.patterns||!Array.isArray(i.patterns))throw new Error("Invalid import file format: missing patterns array");let g=await P(),c=await g.searchPatterns("",{limit:1e4}),d=new Set;if(c.success)for(let y of c.value)d.add(y.pattern.name);let u=0,p=0,a=0,r=[];if(!t.dryRun)for(let y of i.patterns){let h=d.has(y.name);if(h&&t.skipDuplicates){p++;continue}try{let w=await g.storePattern({patternType:y.patternType,name:y.name,description:y.description,template:y.template,context:y.context});w.success?h?a++:u++:(p++,r.push(`${y.name}: ${w.error.message}`))}catch(w){p++,r.push(`${y.name}: ${w instanceof Error?w.message:"unknown"}`)}}let m=0,s=0,f=0;if(t.dryRun)for(let y of i.patterns){let h=d.has(y.name);h&&t.skipDuplicates?s++:h?f++:m++}t.json?b({dryRun:t.dryRun||!1,importVersion:i.version,totalPatterns:i.patterns.length,imported:t.dryRun?m:u,updated:t.dryRun?f:a,skipped:t.dryRun?s:p,errors:r.slice(0,10)}):(console.log(o.bold(`
85
- \u{1F4E5} Learning Data Import (Merge)
86
- `)),console.log(` Source: ${e}`),console.log(` Export version: ${i.version||"unknown"}`),console.log(` Total patterns: ${i.patterns.length}`),console.log(` Existing patterns: ${d.size}`),t.dryRun?(console.log(o.yellow(`
87
- Dry run - no changes made`)),console.log(` Would import: ${m}
88
- Would update: ${f}
89
- Would skip: ${s}`)):(console.log(o.green(`
90
- Imported: ${u}`)),console.log(o.blue(` Updated: ${a}`)),p>0&&console.log(o.yellow(` Skipped: ${p}`)),r.length>0&&console.log(o.red(` Errors: ${r.length}`))),console.log(""));return}catch(e){throw E(`import-merge failed: ${e instanceof Error?e.message:"unknown"}`),e}})}function Ie(l){l.command("dream").description("Run dream cycles for pattern discovery via spreading activation").option("--duration <ms>","Duration of dream cycle in milliseconds","30000").option("--quick","Run a quick 5-second dream cycle").option("--full","Run a full 30-second dream cycle").option("--status","Show dream system status").option("--history","Show past dream cycles").option("--insights","Show pending insights from previous cycles").option("--apply <id>","Apply a specific insight by ID").option("--limit <n>","Maximum results for history/insights","20").option("--min-patterns <n>","Minimum patterns required to dream","10").option("--json","Output as JSON").action(async t=>{try{let{createDreamEngine:e}=await import("./dream-EHGKCFWH.js");if(t.status){let a=e();await a.initialize();let r=a.isDreaming(),m=await a.getDreamHistory(100),s=await a.getPendingInsights(100),f=m.reduce((h,w)=>h+w.insightsGenerated,0),y=m[0];if(t.json)b({isDreaming:r,totalCycles:m.length,totalInsights:f,pendingInsights:s.length,lastDreamTime:y?.startTime.toISOString()||null});else{if(console.log(o.bold(`
91
- \u{1F319} Dream System Status
92
- `)),console.log(` Currently dreaming: ${r?o.green("Yes"):o.dim("No")}`),console.log(` Total dream cycles: ${m.length}`),console.log(` Total insights generated: ${f}`),console.log(` Pending insights: ${s.length}`),console.log(` Last dream: ${y?y.startTime.toISOString():o.dim("never")}`),m.length>0){console.log(o.bold(`
93
- Recent cycles:`));for(let h of m.slice(0,3)){let w=h.status==="completed"?o.green(h.status):o.yellow(h.status);console.log(` ${h.id.slice(0,8)} | ${w} | ${h.durationMs||0}ms | ${h.insightsGenerated} insights`)}}console.log("")}await a.close();return}if(t.history){let a=parseInt(t.limit,10),r=e();await r.initialize();let m=await r.getDreamHistory(a);if(t.json)b(m.map(s=>({id:s.id,startTime:s.startTime.toISOString(),endTime:s.endTime?.toISOString(),durationMs:s.durationMs,status:s.status,conceptsProcessed:s.conceptsProcessed,associationsFound:s.associationsFound,insightsGenerated:s.insightsGenerated})));else{if(console.log(o.bold(`
94
- \u{1F319} Dream Cycle History (${m.length} cycles)
95
- `)),m.length===0)console.log(o.dim(" No dream cycles found. Run: aqe learning dream"));else for(let s of m){let f=s.status==="completed"?o.green("\u2713"):s.status==="failed"?o.red("\u2717"):o.yellow("\u22EF");console.log(` ${f} ${s.id.slice(0,8)} | ${s.startTime.toISOString()}`),console.log(o.dim(` Duration: ${s.durationMs||0}ms | Concepts: ${s.conceptsProcessed} | Associations: ${s.associationsFound} | Insights: ${s.insightsGenerated}`))}console.log("")}await r.close();return}if(t.insights){let a=parseInt(t.limit,10),r=e();await r.initialize();let m=await r.getPendingInsights(a);if(t.json)b(m.map(s=>({id:s.id,type:s.type,description:s.description,noveltyScore:s.noveltyScore,confidenceScore:s.confidenceScore,actionable:s.actionable,applied:s.applied||!1,suggestedAction:s.suggestedAction,createdAt:s.createdAt?.toISOString()})));else{if(console.log(o.bold(`
96
- \u{1F4A1} Pending Dream Insights (${m.length})
97
- `)),m.length===0)console.log(o.dim(" No pending insights. Run a dream cycle first: aqe learning dream"));else for(let s of m){let f=s.noveltyScore>=.7?o.green(`${(s.noveltyScore*100).toFixed(0)}%`):o.yellow(`${(s.noveltyScore*100).toFixed(0)}%`),y=s.confidenceScore>=.7?o.green(`${(s.confidenceScore*100).toFixed(0)}%`):o.yellow(`${(s.confidenceScore*100).toFixed(0)}%`);console.log(` ${o.cyan(s.id.slice(0,8))} [${s.type}] ${s.actionable?"\u26A1":" "}`),console.log(` ${s.description}`),console.log(o.dim(` Novelty: ${f} | Confidence: ${y}`)),s.suggestedAction&&console.log(o.dim(` Action: ${s.suggestedAction}`))}console.log("")}await r.close();return}if(t.apply){let a=t.apply,r=e();await r.initialize();let s=(await r.getPendingInsights(100)).find(w=>w.id===a||w.id.startsWith(a));if(!s)throw await r.close(),new Error(`Insight not found: ${a}`);if(!s.actionable)throw await r.close(),new Error(`Insight ${a} is not actionable`);let f=await r.applyInsight(s.id),h=await(await P()).storePattern({patternType:"test-template",name:`Dream Insight: ${s.type}`,description:`${s.description} (confidence: ${s.confidenceScore.toFixed(2)})`,template:{type:"workflow",content:s.suggestedAction||s.description,variables:[]},context:{tags:["dream-generated",s.type,...s.sourceConcepts.slice(0,3)],complexity:"medium"}});if(t.json?b({insightId:s.id,applied:f.success,patternId:h.success?h.value.id:null,error:f.error||(h.success?null:h.error?.message)}):f.success?(A(`Applied insight ${s.id.slice(0,8)}`),h.success&&A(`Created pattern ${h.value.id} in ReasoningBank`)):E(`Failed to apply insight: ${f.error}`),await r.close(),!f.success)throw new Error(`Failed to apply insight: ${f.error}`);return}let n=parseInt(t.duration,10);t.quick&&(n=5e3),t.full&&(n=3e4),n=Math.min(n,6e4);let i=parseInt(t.minPatterns,10);_(`Starting dream cycle (${n}ms, min ${i} patterns)...`);let g=e({maxDurationMs:n,minConceptsRequired:i});await g.initialize();let d=await(await P()).searchPatterns("",{limit:100,minConfidence:.3}),u=0;if(d.success&&d.value.length>0){let a=d.value.map(r=>({id:r.pattern.id,name:r.pattern.name,description:r.pattern.description||`${r.pattern.patternType} pattern`,domain:r.pattern.qeDomain||"learning-optimization",patternType:r.pattern.patternType,confidence:r.pattern.confidence,successRate:r.pattern.successRate||.5}));u=await g.loadPatternsAsConcepts(a),_(`Loaded ${u} patterns from ReasoningBank as concepts`)}else _("No patterns found in ReasoningBank \u2014 dreaming with existing concepts");let p=await g.dream(n);if(t.json)b({cycleId:p.cycle.id,status:p.cycle.status,durationMs:p.cycle.durationMs||0,conceptsProcessed:p.cycle.conceptsProcessed,associationsFound:p.cycle.associationsFound,insightsGenerated:p.cycle.insightsGenerated,activationStats:p.activationStats,patternsCreated:p.patternsCreated,insights:p.insights.map(a=>({id:a.id,type:a.type,description:a.description,noveltyScore:a.noveltyScore,confidenceScore:a.confidenceScore,actionable:a.actionable}))});else{if(console.log(o.bold(`
98
- \u{1F319} Dream Cycle Complete
99
- `)),console.log(` Cycle ID: ${p.cycle.id.slice(0,8)}`),console.log(` Status: ${p.cycle.status==="completed"?o.green("completed"):o.yellow(p.cycle.status)}`),console.log(` Duration: ${p.cycle.durationMs||0}ms`),console.log(` Concepts: ${p.cycle.conceptsProcessed}`),console.log(` Associations: ${p.cycle.associationsFound}`),console.log(` Insights: ${p.cycle.insightsGenerated}`),p.activationStats&&(console.log(o.bold(`
100
- Activation Stats:`)),console.log(` Iterations: ${p.activationStats.totalIterations}`),console.log(` Peak level: ${p.activationStats.peakActivation.toFixed(3)}`),console.log(` Nodes active: ${p.activationStats.nodesActivated}`)),p.insights.length>0){console.log(o.bold(`
101
- Generated Insights:`));for(let a of p.insights){let r=a.noveltyScore>=.7?o.green(`${(a.noveltyScore*100).toFixed(0)}%`):o.yellow(`${(a.noveltyScore*100).toFixed(0)}%`);console.log(` ${o.cyan(a.id.slice(0,8))} [${a.type}] ${a.actionable?"\u26A1 actionable":""}`),console.log(` ${a.description}`),console.log(o.dim(` Novelty: ${r} | Confidence: ${(a.confidenceScore*100).toFixed(0)}%`))}console.log(o.dim(`
102
- Apply insights with: aqe learning dream --apply <insight-id>`))}else console.log(o.dim(`
103
- No insights generated this cycle.`)),console.log(o.dim(" Try loading more patterns or running a longer cycle."));console.log("")}await g.close();return}catch(e){throw E(`dream failed: ${e instanceof Error?e.message:"unknown"}`),e instanceof Error&&e.stack&&console.error(o.dim(e.stack)),e}})}function Ne(l){l.command("repair").description("Repair a corrupted learning database (dump + reimport to rebuild indexes)").option("-f, --file <path>","Database file to repair (defaults to current project)").option("--dry-run","Show what would be done without modifying files").option("--json","Output as JSON").action(async t=>{try{let e=t.file?S.resolve(t.file):I();if(!$(e))throw new Error(`Database file not found: ${e}`);let n=await N(e);if(n.valid){t.json?b({status:"healthy",message:"Database is already healthy, no repair needed",path:e}):A("Database integrity check passed \u2014 no repair needed.");return}_(`Corruption detected: ${n.message}`);let i={};try{let v=x(e,{readonly:!0}),k=v.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name NOT LIKE 'sqlite_%'").all();for(let F of k)try{let Q=v.prepare(`SELECT COUNT(*) as count FROM "${F.name}"`).get();i[F.name]=Q.count}catch{}v.close()}catch{}let g=Object.values(i).reduce((v,k)=>v+k,0);if(_(`Found ${Object.keys(i).length} tables, ~${g} total rows`),t.dryRun){t.json?b({status:"dry-run",corruptionDetected:!0,message:n.message,tables:i,totalRows:g}):(console.log(o.bold(`
104
- Dry run \u2014 would perform these steps:`)),console.log(" 1. Backup corrupted DB"),console.log(" 2. Dump all data via .dump"),console.log(" 3. Reimport into fresh DB (rebuilds all indexes)"),console.log(" 4. Verify integrity of repaired DB"),console.log(" 5. Verify row counts match"),console.log(" 6. Swap repaired DB into place"),console.log(""));return}let c=`${e}.bak-${Date.now()}`;L(e,c),_(`Backup created: ${c}`);for(let v of["-wal","-shm"]){let k=e+v;$(k)&&await R(k)}let{execFileSync:d}=await import("node:child_process"),{openSync:u,closeSync:p,readFileSync:a}=await import("node:fs"),r=`${e}.repaired`,m=`${e}.dump.sql`;try{let v=u(m,"w");try{d("sqlite3",[e,".dump"],{stdio:["ignore",v,"pipe"],timeout:12e4})}finally{p(v)}d("sqlite3",[r],{input:a(m),stdio:["pipe","pipe","pipe"],timeout:12e4}),d("sqlite3",[r,"PRAGMA journal_mode=WAL;"],{stdio:"pipe"})}catch(v){throw $(r)&&await R(r),$(m)&&await R(m),new Error(`sqlite3 dump/reimport failed: ${v instanceof Error?v.message:"unknown"}. Is sqlite3 installed?`)}let s=await N(r);if(!s.valid)throw $(m)&&await R(m),new Error(`Repaired DB still has integrity issues: ${s.message}. Backup preserved at ${c}`);let f={},y=x(r,{readonly:!0}),h=y.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name NOT LIKE 'sqlite_%'").all();for(let v of h)try{let k=y.prepare(`SELECT COUNT(*) as count FROM "${v.name}"`).get();f[v.name]=k.count}catch{}y.close();let w=Object.values(f).reduce((v,k)=>v+k,0);de(e,`${e}.pre-repair`),de(r,e),$(m)&&await R(m),t.json?b({status:"repaired",backupPath:c,rowsBefore:g,rowsAfter:w,tablesRepaired:Object.keys(f).length,rowCounts:f}):(A("Database repaired successfully!"),console.log(` Backup: ${c}`),console.log(` Rows before: ${g}`),console.log(` Rows after: ${w}`),w<g&&console.log(o.yellow(` Warning: ${g-w} rows may have been lost due to data page corruption`)),console.log(` Tables: ${Object.keys(f).length}`),console.log(` Integrity: ${o.green("OK")}`),console.log(""));return}catch(e){throw E(`repair failed: ${e instanceof Error?e.message:"unknown"}`),e}})}function je(l){switch(l){case"sublinear":return{arrow:"\u25B2",label:"Sublinear (learning)",color:o.green};case"linear":return{arrow:"\u2192",label:"Linear (stagnating)",color:o.yellow};case"superlinear":return{arrow:"\u25BC",label:"Superlinear (degrading)",color:o.red};default:return{arrow:"?",label:"Insufficient data",color:o.dim}}}function Fe(l){l.command("health").description("Display per-domain learning health based on regret tracking").option("--json","Output as JSON").option("--domain <domain>","Filter to a specific domain").action(async t=>{try{let e=O(),n=S.join(e,".agentic-qe","memory.db");if(!$(n))throw new Error('Database not found. Run "aqe init --auto" first.');let i=oe(),g=x(n,{readonly:!0});if(g.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name='captured_experiences'").get()){let r=t.domain?"AND domain = ?":"",m=[];t.domain&&m.push(t.domain);let s=g.prepare(`
105
- SELECT domain, quality, success, started_at
106
- FROM captured_experiences
107
- WHERE agent != 'cli-hook'
108
- AND domain IS NOT NULL
109
- AND domain != ''
110
- ${r}
111
- ORDER BY started_at ASC
112
- `).all(...m);for(let f of s){let y=f.quality??(f.success?1:0);i.recordDecision(f.domain,y,1)}}g.close();let d=i.getHealthSummary();if(t.json){b(d);return}if(console.log(""),console.log(o.bold("Learning Health Dashboard:")),d.length===0){console.log(o.dim(" No domain data available. Run some QE tasks to generate learning data.")),console.log("");return}let u=Math.max(...d.map(r=>r.domain.length),20);for(let r of d){let{arrow:m,label:s,color:f}=je(r.growthRate),y=C(r.domain+":",u+1),h=f(`${m} ${C(s,26)}`),w=`regret: ${r.cumulativeRegret.toFixed(1)}`,v=`decisions: ${r.totalDecisions}`;console.log(` ${y} ${h} ${w} ${v}`)}let p=d.filter(r=>r.stagnating);p.length>0&&(console.log(""),console.log(o.yellow(` Warning: ${p.length} domain(s) showing stagnation: ${p.map(r=>r.domain).join(", ")}`)));let a=d.filter(r=>r.growthRate==="sublinear");a.length>0&&console.log(o.green(` ${a.length} domain(s) actively learning`)),console.log("");return}catch(e){throw E(`health check failed: ${e instanceof Error?e.message:"unknown"}`),e}})}var qe={bridge:3e4,learningWorker:2*36e5,dreamScheduler:2*36e5};function Be(l){l.command("loop-health").description("Show pipeline component liveness for the self-learning loop").option("--json","Output as JSON").action(async t=>{try{let e=O(),n=S.join(e,".agentic-qe","memory.db");if(!$(n))throw new Error('Database not found. Run "aqe init --auto" first.');let i=x(n,{readonly:!0}),g;try{g=i.prepare("SELECT value FROM kv_store WHERE key = 'learning:loop-health' LIMIT 1").get()?.value}catch{}let c=null;try{if(i.prepare("PRAGMA table_info(routing_outcomes)").all().some(m=>m.name==="exploration")){let m=i.prepare(`SELECT
113
- COUNT(*) AS total,
114
- SUM(CASE WHEN exploration = 1 THEN 1 ELSE 0 END) AS explore,
115
- AVG(criticality) AS avgCrit,
116
- AVG(q_weight) AS avgQ
117
- FROM routing_outcomes
118
- WHERE created_at >= datetime('now', '-7 days')`).get(),s=m.total??0,f=m.explore??0,y=s-f,h=i.prepare(`SELECT AVG(quality_score) AS avgQ FROM routing_outcomes
119
- WHERE exploration = 0 AND quality_score >= 0
120
- AND created_at >= datetime('now', '-7 days')`).get(),w=i.prepare(`SELECT AVG(quality_score) AS avgQ FROM routing_outcomes
121
- WHERE exploration = 1 AND quality_score >= 0
122
- AND created_at >= datetime('now', '-7 days')`).get();c={totalDecisions:s,explorationCount:f,exploitCount:y,explorationRate:s>0?f/s:0,avgQualityExploit:h.avgQ,avgQualityExplore:w.avgQ,avgCriticality:m.avgCrit,avgQWeight:m.avgQ}}}catch{}i.close();let d=null;if(g)try{d=q(g)}catch{d=null}let u=Date.now(),p=(a,r)=>{let m=qe[a]??6e5;return!r||!r.lastSuccessAt?"never-ran":u-new Date(r.lastSuccessAt).getTime()>m?"stale":"live"};if(t.json){if(!d){b({overallLastSuccess:null,bootedAt:null,components:{},verdicts:{},routingDiversification:c,note:"No loop-health record yet. Workers must run at least once for this to populate."});return}let a={};for(let r of Object.keys(d.components))a[r]=p(r,d.components[r]);b({...d,verdicts:a,routingDiversification:c});return}if(console.log(""),console.log(o.bold("Self-Learning Loop Health")),console.log(""),!d)console.log(o.dim(" No loop-health record yet.")),console.log(o.dim(" Workers must run at least once to populate.")),console.log(o.dim(" Start the daemon: aqe daemon start"));else{console.log(` Booted at: ${o.dim(d.bootedAt)}`),console.log(` Last success (any): ${d.overallLastSuccess||o.dim("(none yet)")}`),console.log(""),console.log(o.bold(" Components:"));let a=[["bridge","CapturedExperienceBridge"],["learningWorker","LearningConsolidationWorker"],["dreamScheduler","DreamScheduler"]];for(let[m,s]of a){let f=d.components[m],y=p(m,f),h=y==="live"?o.green("\u25CF live"):y==="stale"?o.yellow("\u25CF stale"):o.dim("\u25CB never-ran"),w=f?.lastSuccessAt||o.dim("(never)"),v=f?`${f.successesSinceBoot}/${f.ticksSinceBoot} ticks ok`:o.dim("no ticks");console.log(` ${s.padEnd(32)} ${h.padEnd(20)} ${v}`),console.log(` ${o.dim("last success:")} ${w}`),f?.lastError&&console.log(` ${o.red("last error:")} ${f.lastError.message} ${o.dim("(at "+f.lastError.at+")")}`)}let r=a.filter(([m,s])=>p(m,d.components[m])==="stale");r.length>0&&(console.log(""),console.log(o.yellow(` Warning: ${r.length} component(s) stale \u2014 daemon may not be running or the loop is wedged.`)))}if(c&&c.totalDecisions>0){console.log(""),console.log(o.bold(" Routing diversification (last 7 days):"));let a=(c.explorationRate*100).toFixed(1);if(console.log(` Decisions: ${c.totalDecisions} (${c.exploitCount} exploit, ${c.explorationCount} explore = ${a}%)`),c.avgQualityExploit!==null&&c.avgQualityExplore!==null){let r=c.avgQualityExplore-c.avgQualityExploit,m=r>=0?o.green(`+${r.toFixed(3)}`):o.red(r.toFixed(3));console.log(` Avg quality: exploit=${c.avgQualityExploit.toFixed(3)}, explore=${c.avgQualityExplore.toFixed(3)} (\u0394 ${m})`)}c.avgCriticality!==null&&console.log(` Avg mincut multiplier: ${c.avgCriticality.toFixed(2)} (1.0=full rate, 0.2=critical-topology dampening)`),c.avgQWeight!==null&&c.avgQWeight>0&&console.log(` Avg Q-weight: ${c.avgQWeight.toFixed(3)} (0=cold start, ${.4} max)`)}console.log("");return}catch(e){throw E(`loop-health failed: ${e instanceof Error?e.message:"unknown"}`),e}})}export{mt as createLearningCommand,P as initializeLearningSystem};
@@ -1,37 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.2");process.exit(0)}
2
- import{d as A,e as x,f as R,i as T,j as $,l as M,m as I,n as S,p as _,q as j}from"./chunk-DRO5NJZA.js";import"./chunk-W2FLULF4.js";import"./chunk-N3RN4QTC.js";import"./chunk-T46LOLW3.js";import"./chunk-PHHXHG2W.js";import"./chunk-ICKLBATY.js";import"./chunk-JDXLCNKV.js";import"./chunk-QXTW7XCS.js";import"./chunk-D4RCV4LY.js";import"./chunk-N5ZRUOMR.js";import"./chunk-HBTC4L53.js";import"./chunk-RVCWSAXI.js";import{b as E,d as D}from"./chunk-T4C56HBW.js";import"./chunk-JQ2ZD3WO.js";import"./chunk-CJCT452S.js";import"./chunk-S7N4BKI3.js";import"./chunk-JIUF6NV6.js";import"./chunk-GHQ5PUOV.js";import"./chunk-6VKJAMZY.js";D();import{Command as L}from"commander";import t from"chalk";var f=null;function k(){return process.env.AQE_CONFIG_ROOT}function b(){return f===null&&(f=j({projectRoot:k()})),f}function J(){f=null}function q(){f!==null&&(_(f,k()),J())}function ce(){let o=new L("llm").description("LLM Router management (ADR-043)").addHelpText("after",`
3
- Examples:
4
- $ aqe llm providers List available providers
5
- $ aqe llm models --provider claude List Claude models
6
- $ aqe llm route "security audit" Test routing for a task
7
- $ aqe llm config --set mode=cost-optimized
8
- $ aqe llm health Check provider health
9
- $ aqe llm cost claude-sonnet-4 --tokens 10000
10
- $ aqe llm advise --transcript t.json --json Consult advisor (ADR-092)
11
- $ aqe llm verify --session <id> Check advisor quality gate
12
- `);return o.command("providers").description("List all available providers and their status").option("--json","Output as JSON").option("-v, --verbose","Show detailed provider info").action(async e=>{await F(e)}),o.command("models").description("List available models").option("-p, --provider <name>","Filter by provider").option("-t, --tier <tier>","Filter by tier (flagship|advanced|standard|efficient)").option("--json","Output as JSON").action(async e=>{await U(e)}),o.command("route").description("Test routing decision for a task").argument("<task>","Task description").option("-a, --agent <type>","Agent type (e.g., security-auditor)").option("-c, --complexity <level>","Complexity: trivial|low|medium|high|expert","medium").option("-m, --mode <mode>","Routing mode: manual|rule-based|cost-optimized|performance-optimized").option("--json","Output as JSON").action(async(e,n)=>{await K(e,n)}),o.command("config").description("Get/set router configuration").option("-s, --set <key=value>","Set configuration value").option("--json","Output as JSON").action(async e=>{await Y(e)}),o.command("health").description("Check provider health status").option("--json","Output as JSON").option("-t, --timeout <ms>","Health check timeout","5000").action(async e=>{await G(e)}),o.command("cost").description("Estimate cost for a model").argument("<model>","Model name (canonical or provider-specific)").option("-t, --tokens <count>","Estimated token count","1000").option("--json","Output as JSON").action(async(e,n)=>{await H(e,n)}),o.command("verify").description("Check whether an advisor was consulted for a session (ADR-092 quality gate)").requiredOption("--session <id>","Session ID to check").option("--min-calls <n>","Minimum required advisor calls (default: 1)","1").option("--json","Output as JSON").action(async e=>{await oe(e)}),o.command("advise").description("Consult an advisor model on a forwarded transcript (ADR-092)").option("--transcript <path>","Path to a transcript JSON file").option("--session <id>","Claude Code session ID (reads JSONL from disk)").option("--stdin","Read transcript JSON from stdin").option("--provider <name>","Advisor provider (default: openrouter)").option("--model <id>","Advisor model ID (default: anthropic/claude-opus-4)").option("--max-words <n>","Max advice length in words","100").option("--agent <name>","Agent invoking the advisor (for audit)").option("--trigger-reason <text>","Why the advisor is being called").option("--redact <mode>","Redaction mode: strict|balanced|off (default: strict)","strict").option("--advisor-prompt <text>","Domain-specific advisor system prompt (overrides default)").option("--json","Emit structured JSON to stdout (default)").option("--quiet","Suppress status messages").action(async e=>{await ee(e)}),o}async function F(o){let e=b(),s=[...$,...R()].map(r=>{let i=e.providers?.[r];return{provider:r,enabled:i?.enabled??(r==="claude"||r==="openai"||r==="ollama"),defaultModel:i?.defaultModel??B(r),status:N(r),external:A(r)}});if(o.json){console.log(JSON.stringify(s,null,2));return}console.log(t.bold.cyan(`
13
- LLM Providers
14
- `)),console.log(t.bold(l("Provider",15)+l("Status",12)+l("Enabled",10)+l("Default Model",30))),console.log(t.gray("-".repeat(67)));for(let r of s){let i=r.status==="available"?t.green:r.status==="configured"?t.yellow:t.gray,c=r.enabled?t.green:t.gray;console.log(l(r.external?`${r.provider} *`:r.provider,15)+i(l(r.status,12))+c(l(r.enabled?"Yes":"No",10))+t.gray(l(r.defaultModel||"-",30)))}s.some(r=>r.external)&&console.log(t.gray(`
15
- * external provider declared by this project, not shipped with AQE`)),o.verbose&&(console.log(t.bold(`
16
- Routing Configuration:`)),console.log(t.gray(` Mode: ${e.mode}`)),console.log(t.gray(` Default Provider: ${e.defaultProvider}`)),console.log(t.gray(` Default Model: ${e.defaultModel}`)),console.log(t.gray(` Metrics Enabled: ${e.enableMetrics}`)),console.log(t.gray(` Decision Cache: ${e.cacheDecisions}`))),console.log("")}async function U(o){let e=[...M];if(o.provider&&(e=e.filter(n=>n.providerIds[o.provider]!==void 0)),o.tier&&(e=e.filter(n=>n.tier===o.tier)),o.json){console.log(JSON.stringify(e,null,2));return}if(console.log(t.bold.cyan(`
17
- Available Models
18
- `)),e.length===0){console.log(t.yellow("No models found matching criteria."));return}console.log(t.bold(l("Model",25)+l("Tier",12)+l("Family",10)+l("Input/1M",12)+l("Output/1M",12))),console.log(t.gray("-".repeat(71)));for(let n of e){let s=n.tier==="flagship"?t.magenta:n.tier==="advanced"?t.cyan:n.tier==="standard"?t.green:t.gray;console.log(l(n.canonicalId,25)+s(l(n.tier,12))+l(n.family,10)+t.yellow(l(w(n.inputCostPer1M),12))+t.yellow(l(w(n.outputCostPer1M),12)))}console.log("")}async function K(o,e){let n=e.mode||b().mode,s=e.complexity||"medium",r=e.agent,i=W(o,{mode:n,complexity:s,agentType:r});if(e.json){console.log(JSON.stringify(i,null,2));return}console.log(t.bold.cyan(`
19
- Routing Decision
20
- `)),console.log(t.gray(`Task: "${o}"`)),console.log(t.gray(`Mode: ${n}`)),r&&console.log(t.gray(`Agent: ${r}`)),console.log(t.gray(`Complexity: ${s}`)),console.log(""),console.log(t.bold("Result:")),console.log(t.green(` Provider: ${i.provider}`)),console.log(t.green(` Model: ${i.model}`)),console.log(t.gray(` Reason: ${i.reason}`)),console.log(t.gray(` Confidence: ${(i.confidence*100).toFixed(0)}%`)),i.estimatedCost&&(console.log(t.bold(`
21
- Cost Estimate:`)),console.log(t.yellow(` Input tokens: ${i.estimatedCost.inputTokens}`)),console.log(t.yellow(` Output tokens: ${i.estimatedCost.outputTokens}`)),console.log(t.yellow(` Total: $${i.estimatedCost.totalCostUsd.toFixed(6)}`))),console.log("")}async function Y(o){if(o.set){let[n,s]=o.set.split("=");(!n||s===void 0)&&(console.error(t.red("Invalid format. Use: --set key=value")),process.exit(1)),Q(n,s),console.log(t.green(`Set ${n} = ${s}`));return}let e=b();if(o.json){console.log(JSON.stringify(e,null,2));return}console.log(t.bold.cyan(`
22
- Router Configuration
23
- `)),console.log(t.bold("General:")),console.log(` mode: ${t.cyan(e.mode)}`),console.log(` defaultProvider: ${t.cyan(e.defaultProvider)}`),console.log(` defaultModel: ${t.cyan(e.defaultModel)}`),console.log(` enableMetrics: ${e.enableMetrics?t.green("true"):t.gray("false")}`),console.log(` cacheDecisions: ${e.cacheDecisions?t.green("true"):t.gray("false")}`),console.log(` decisionCacheTtlMs: ${t.gray(e.decisionCacheTtlMs)}`),console.log(t.bold(`
24
- Fallback:`)),console.log(` maxRetries: ${e.fallbackChain.maxRetries}`),console.log(` retryDelayMs: ${e.fallbackChain.retryDelayMs}`),console.log(t.bold(`
25
- Enabled Providers:`));for(let[n,s]of Object.entries(e.providers||{}))s?.enabled&&console.log(` ${t.green("*")} ${n}: ${s.defaultModel||"default"}`);console.log("")}async function G(o){let e=parseInt(o.timeout||"5000",10),n=await V(e);if(o.json){console.log(JSON.stringify(n,null,2));return}console.log(t.bold.cyan(`
26
- Provider Health Status
27
- `)),console.log(t.bold(l("Provider",15)+l("Status",12)+l("Latency",12)+l("Message",30))),console.log(t.gray("-".repeat(69)));for(let r of n){let i=r.healthy?t.green:t.red,c=r.healthy?"healthy":"unhealthy";console.log(l(r.provider,15)+i(l(c,12))+t.gray(l(r.latencyMs?`${r.latencyMs}ms`:"-",12))+t.gray(l(z(r.message||"-",28),30)))}let s=n.filter(r=>r.healthy).length;console.log(t.bold(`
28
- ${s}/${n.length} providers healthy
29
- `))}async function H(o,e){let n=parseInt(e.tokens||"1000",10),s=Z(o);if(!s){console.error(t.red(`Model not found: ${o}`)),console.log(t.gray("Use `aqe llm models` to list available models.")),process.exit(1);return}let r=(s.inputCostPer1M||0)*(n/1e6),i=(s.outputCostPer1M||0)*(n/1e6),c=r+i,d={model:s.canonicalId,tokens:n,inputCostPer1M:s.inputCostPer1M,outputCostPer1M:s.outputCostPer1M,estimatedInputCost:r,estimatedOutputCost:i,estimatedTotalCost:c};if(e.json){console.log(JSON.stringify(d,null,2));return}console.log(t.bold.cyan(`
30
- Cost Estimate
31
- `)),console.log(t.gray(`Model: ${s.canonicalName} (${s.canonicalId})`)),console.log(t.gray(`Tokens: ${n.toLocaleString()}
32
- `)),console.log(t.bold("Pricing (per 1M tokens):")),console.log(` Input: ${w(s.inputCostPer1M)}`),console.log(` Output: ${w(s.outputCostPer1M)}`),console.log(t.bold(`
33
- Estimated Cost:`)),console.log(` Input: ${t.yellow("$"+r.toFixed(6))}`),console.log(` Output: ${t.yellow("$"+i.toFixed(6))}`),console.log(` Total: ${t.green("$"+c.toFixed(6))}`),console.log("")}function l(o,e){return o.padEnd(e)}function z(o,e){return o.length<=e?o:o.slice(0,e-1)+"..."}function w(o){return o==null?"-":o===0?"$0 (free)":`$${o.toFixed(2)}`}function B(o){let e={claude:"claude-sonnet-4-6","claude-code":"sonnet",codex:"gpt-5-codex",openai:"gpt-4o",ollama:"llama3.1",openrouter:"anthropic/claude-sonnet-4",gemini:"gemini-2.0-pro","azure-openai":"gpt-4o",bedrock:"anthropic.claude-sonnet-4-v1:0",cognitum:"cognitum-auto",onnx:"phi-4"};if(T(o))return e[o];let n=x(o),s=n?.config;return s?.defaultModel??s?.models?.[0]??n?.models?.[0]??""}function N(o){let e=s=>!!process.env[s],n=x(o);if(n){let r=n.config?.command?.[0];return r&&I(r)?"available":"configured"}switch(o){case"claude":return e("ANTHROPIC_API_KEY")?"available":"configured";case"openai":return e("OPENAI_API_KEY")?"available":"configured";case"ollama":return"configured";case"openrouter":return e("OPENROUTER_API_KEY")?"available":"not configured";case"gemini":return e("GOOGLE_API_KEY")?"available":"not configured";case"azure-openai":return e("AZURE_OPENAI_API_KEY")?"available":"not configured";case"bedrock":return e("AWS_ACCESS_KEY_ID")?"available":"not configured";case"onnx":return"configured";default:return"not configured"}}function W(o,e){let{mode:n,complexity:s,agentType:r}=e;if(r?.includes("security")||o.toLowerCase().includes("security"))return{provider:"claude",model:"claude-sonnet-4-6",reason:"Security tasks require advanced reasoning (rule-match)",confidence:.95,estimatedCost:{inputTokens:2e3,outputTokens:1e3,totalCostUsd:.021}};if(n==="cost-optimized"||s==="trivial"||s==="low")return{provider:"openai",model:"gpt-4o-mini",reason:"Cost optimization selected efficient model",confidence:.85,estimatedCost:{inputTokens:2e3,outputTokens:1e3,totalCostUsd:9e-4}};if(n==="performance-optimized"||s==="expert")return{provider:"claude",model:"claude-opus-4-7",reason:"Complex task requires flagship model",confidence:.92,estimatedCost:{inputTokens:2e3,outputTokens:1e3,totalCostUsd:.105}};let i=b();return{provider:i.defaultProvider,model:i.defaultModel,reason:"Default provider selected",confidence:.8,estimatedCost:{inputTokens:2e3,outputTokens:1e3,totalCostUsd:.021}}}function Q(o,e){let n=o.toLowerCase();if(n==="apikey"||n.endsWith(".apikey")||n.includes("apikey="))throw new Error("API keys cannot be saved via 'aqe llm config --set'. They belong in environment variables: ANTHROPIC_API_KEY, OPENAI_API_KEY, OPENROUTER_API_KEY, GEMINI_API_KEY / GOOGLE_AI_API_KEY / GOOGLE_API_KEY, AZURE_OPENAI_API_KEY. The CLI will not write secrets to .agentic-qe/llm-config.json (which may be checked into source control).");let s=b();switch(o){case"mode":if(["manual","rule-based","cost-optimized","performance-optimized"].includes(e))s.mode=e;else throw new Error(`Invalid mode: ${e}`);break;case"defaultProvider":if(S().includes(e))s.defaultProvider=e;else throw new Error(`Invalid provider: ${e}`);break;case"enableMetrics":s.enableMetrics=e==="true";break;case"cacheDecisions":s.cacheDecisions=e==="true";break;default:throw new Error(`Unknown config key: ${o}`)}q()}async function V(o){return $.map(e=>{let n=N(e);return{provider:e,healthy:n==="available"||e==="ollama"||e==="onnx",latencyMs:n!=="not configured"?E(50,250):void 0,message:n==="available"?"OK":n==="configured"?"API key not verified":"Not configured"}})}function Z(o){let e=M.find(n=>n.canonicalId===o);if(e)return e;for(let n of M)for(let s of Object.values(n.providerIds))if(s===o)return n}async function X(o){let{readFile:e}=await import("fs/promises");if(o.transcript){let n=await e(o.transcript,"utf-8"),s=JSON.parse(n);if(!s.messages||!Array.isArray(s.messages))throw new Error(`Transcript file must contain a 'messages' array: ${o.transcript}`);return{systemPrompt:s.systemPrompt,taskDescription:s.taskDescription,messages:s.messages}}if(o.stdin){let n=[];for await(let i of process.stdin)n.push(Buffer.from(i));let s=Buffer.concat(n).toString("utf-8"),r=JSON.parse(s);if(!r.messages||!Array.isArray(r.messages))throw new Error("Transcript from stdin must contain a `messages` array");return{systemPrompt:r.systemPrompt,taskDescription:r.taskDescription,messages:r.messages}}if(o.session){let{readFile:n,readdir:s}=await import("fs/promises"),{join:r}=await import("path"),i=await import("os"),c=r(i.homedir(),".claude","projects"),d=null;try{let y=await s(c);for(let p of y){let a=r(c,p),v=(await s(a).catch(()=>[])).find(u=>u.includes(o.session)&&u.endsWith(".jsonl"));if(v){d=r(a,v);break}}}catch{}if(!d)throw new Error(`Could not find session JSONL for session ID "${o.session}" in ~/.claude/projects/. Use --transcript <path> as fallback.`);let P=(await n(d,"utf-8")).trim().split(`
34
- `).filter(Boolean),m=[];for(let y of P)try{let p=JSON.parse(y),a=p.type,O=p.message;if(!O)continue;let v=O.role,u=O.content;if(a==="user"&&v==="user"){let h=typeof u=="string"?u:Array.isArray(u)?u.map(C=>C.text??"").join(""):"";h.trim()&&m.push({role:"user",content:h})}else if(a==="assistant"&&v==="assistant"){let h=typeof u=="string"?u:Array.isArray(u)?u.filter(C=>C.type==="text").map(C=>C.text??"").join(""):"";h.trim()&&m.push({role:"assistant",content:h})}}catch{}if(m.length===0)throw new Error(`Session JSONL at ${d} contained no parseable messages.`);return{messages:m}}throw new Error("aqe llm advise requires one of: --transcript <path>, --stdin, --session <id>")}async function ee(o){let e=o.json!==!1,n=o.quiet??!1;try{let s=await X(o);!n&&!e&&console.log(t.gray("Consulting advisor..."));let{createLLMRouterService:r}=await import("./llm-router-service-R7A5HHDM.js"),{MultiModelExecutor:i,DEFAULT_ADVISOR_MODEL:c}=await import("./multi-model-executor-R6XCTMCF.js"),d=o.provider,g=await r({projectRoot:k(),allowProjectProviderEndpoints:!1,override:{mode:"manual",...d?{defaultProvider:d}:{},...o.model?{defaultModel:o.model}:{}}});if(!g)throw new Error(`No enabled LLM provider is available for advisor${d?` provider "${d}"`:""}.`);let P=d??g.resolvedConfig.defaultProvider,m=o.model??g.resolvedConfig.providers?.[P]?.defaultModel??g.resolvedConfig.defaultModel??c,y=new i(g.router),p=o.redact??"strict",a=await y.consult(s,{provider:P,model:m,maxWords:o.maxWords?parseInt(o.maxWords,10):void 0,agentName:o.agent,triggerReason:o.triggerReason??"cli",sessionId:o.session??"cli-"+Date.now(),redact:p,advisorSystemPrompt:o.advisorPrompt});e?console.log(JSON.stringify({advice:a.advice,model:a.model,provider:a.provider,tokens_in:a.tokensIn,tokens_out:a.tokensOut,latency_ms:a.latencyMs,cost_usd:a.costUsd,advice_hash:a.adviceHash,trigger_reason:a.triggerReason,cache_hit:a.cacheHit,redaction_applied:a.redactionsApplied.length>0,redactions:a.redactionsApplied,circuit_breaker_remaining:a.circuitBreakerRemaining},null,2)):(console.log(t.bold.cyan(`
35
- Advisor Response
36
- `)),console.log(a.advice),console.log(),console.log(t.gray(`(${a.provider}/${a.model}, ${a.tokensIn}\u2192${a.tokensOut} tokens, ${a.latencyMs}ms, $${a.costUsd.toFixed(4)})`))),process.exit(0)}catch(s){let r=s instanceof Error?s.message:String(s),i=s?.exitCode??1;console.error(e?JSON.stringify({error:r,exit_code:i},null,2):t.red(`Error: ${r}`)),process.exit(i)}}async function oe(o){let e=o.json??!1,n=parseInt(o.minCalls??"1",10);try{let{AdvisorCircuitBreaker:s}=await import("./circuit-breaker-4WST3QSA.js"),i=new s().getState(o.session),c=i.callCount>=n,d={session:o.session,advisor_calls:i.callCount,required:n,gate:c?"PASS":"FAIL"};if(e)console.log(JSON.stringify(d,null,2));else{let g=c?t.green("PASS"):t.red("FAIL");console.log(`
37
- Advisor Quality Gate: ${g}`),console.log(` Session: ${o.session}`),console.log(` Advisor calls: ${i.callCount}`),console.log(` Required: \u2265${n}`)}process.exit(c?0:7)}catch(s){let r=s instanceof Error?s.message:String(s);console.error(e?JSON.stringify({error:r},null,2):t.red(`Error: ${r}`)),process.exit(1)}}export{ce as createLLMRouterCommand};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.2");process.exit(0)}
2
- import{a,b,c,d}from"./chunk-OC2CKU7I.js";import"./chunk-SEHCX4NH.js";import"./chunk-G6AV2HGY.js";import"./chunk-4N44UJGI.js";import"./chunk-FPHPP5TQ.js";import"./chunk-NAZVPZJS.js";import"./chunk-DRO5NJZA.js";import"./chunk-DW6ZMNMR.js";import"./chunk-ZYLSOBOR.js";import"./chunk-W2FLULF4.js";import"./chunk-N3RN4QTC.js";import"./chunk-T46LOLW3.js";import"./chunk-PHHXHG2W.js";import"./chunk-ICKLBATY.js";import"./chunk-JDXLCNKV.js";import"./chunk-QXTW7XCS.js";import"./chunk-D4RCV4LY.js";import"./chunk-NG2UVPTW.js";import"./chunk-N5ZRUOMR.js";import"./chunk-HBTC4L53.js";import"./chunk-RVCWSAXI.js";import"./chunk-T4C56HBW.js";import"./chunk-JQ2ZD3WO.js";import"./chunk-CJCT452S.js";import"./chunk-S7N4BKI3.js";import"./chunk-JIUF6NV6.js";import"./chunk-GHQ5PUOV.js";import"./chunk-6VKJAMZY.js";export{a as createLLMRouterService,d as extractProviderConfigs,b as pickEnabledProviders,c as pickPrimaryAndFallbacks};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.2");process.exit(0)}
2
- import{a}from"./chunk-PZKZY6PB.js";import"./chunk-2LKAMMMI.js";import"./chunk-A7N3YUDJ.js";import"./chunk-W2FLULF4.js";import"./chunk-N3RN4QTC.js";import"./chunk-T46LOLW3.js";import"./chunk-PHHXHG2W.js";import"./chunk-ICKLBATY.js";import"./chunk-JDXLCNKV.js";import"./chunk-QXTW7XCS.js";import"./chunk-D4RCV4LY.js";import"./chunk-NG2UVPTW.js";import"./chunk-7AFBNU6K.js";import"./chunk-N5ZRUOMR.js";import"./chunk-HBTC4L53.js";import"./chunk-RVCWSAXI.js";import"./chunk-T4C56HBW.js";import"./chunk-JQ2ZD3WO.js";import"./chunk-CJCT452S.js";import"./chunk-S7N4BKI3.js";import"./chunk-JIUF6NV6.js";import"./chunk-GHQ5PUOV.js";import"./chunk-6VKJAMZY.js";export{a as LoadTestTool};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.2");process.exit(0)}
2
- import{a}from"./chunk-7AFBNU6K.js";import"./chunk-JQ2ZD3WO.js";import"./chunk-CJCT452S.js";import"./chunk-6VKJAMZY.js";export{a as InMemoryBackend};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.2");process.exit(0)}
2
- import{c,d as l}from"./chunk-FVGTINVR.js";import"./chunk-3DFFFXXO.js";import"./chunk-ARMZYHYL.js";import"./chunk-VNAKBHJI.js";import"./chunk-OBCKP3G4.js";import"./chunk-4AKGBUYD.js";import"./chunk-HZMLNM2T.js";import"./chunk-LML5VTFK.js";import"./chunk-DVHWLAEO.js";import"./chunk-4ZUZDFAA.js";import"./chunk-4K27ESCA.js";import"./chunk-QFUX7ELG.js";import"./chunk-S4MR6RTE.js";import"./chunk-WBH4C4BG.js";import"./chunk-WVY22NHZ.js";import"./chunk-KZOBLLXW.js";import"./chunk-3WV4H33V.js";import"./chunk-4M6A3PVJ.js";import"./chunk-UYTWDS2R.js";import"./chunk-RFNEHNJV.js";import"./chunk-TLPL3EQY.js";import"./chunk-NHHWLJQF.js";import"./chunk-NNOMDM4N.js";import"./chunk-6F4WHN7D.js";import"./chunk-KFXZDQ5J.js";import"./chunk-57TNBR2P.js";import"./chunk-6SZKLWZT.js";import"./chunk-5WJUNRTY.js";import"./chunk-3C2K4YMS.js";import"./chunk-U2AY57XZ.js";import"./chunk-4PH7O5ZH.js";import"./chunk-PZKZY6PB.js";import"./chunk-ADK7DF3G.js";import"./chunk-2LKAMMMI.js";import"./chunk-A7N3YUDJ.js";import"./chunk-PWEIDHT7.js";import"./chunk-YN6W2XIT.js";import"./chunk-MWQTACNA.js";import"./chunk-7FWP7CZY.js";import"./chunk-67A6PEZM.js";import"./chunk-6LMLN5R2.js";import"./chunk-UIGEUEBT.js";import"./chunk-F2KRT2II.js";import"./chunk-BWRHOIYC.js";import"./chunk-LWUJQGCS.js";import"./chunk-WMW47QMR.js";import"./chunk-UHTAI4ZB.js";import"./chunk-4MH22236.js";import"./chunk-FREF6Y4L.js";import"./chunk-PVHO6KLB.js";import"./chunk-HZ6NEJMO.js";import"./chunk-KPFG4OIM.js";import"./chunk-TENYL5TI.js";import"./chunk-OC2CKU7I.js";import"./chunk-SEHCX4NH.js";import"./chunk-G6AV2HGY.js";import"./chunk-4N44UJGI.js";import"./chunk-FPHPP5TQ.js";import"./chunk-NAZVPZJS.js";import"./chunk-DRO5NJZA.js";import"./chunk-DW6ZMNMR.js";import"./chunk-ZYLSOBOR.js";import"./chunk-OX6T26CD.js";import"./chunk-ZFGND4QK.js";import"./chunk-IVGVOGIZ.js";import"./chunk-RHJVDCLV.js";import{a as d,b as v,d as R,e as m,f as y,i as S}from"./chunk-5EHLGOWW.js";import"./chunk-VOYJJ3KA.js";import"./chunk-ZCDXJ27H.js";import"./chunk-XPLSLHRB.js";import"./chunk-K574FLVB.js";import"./chunk-GJAWEUIN.js";import"./chunk-L2F7FVIU.js";import"./chunk-2H5YJ5ZK.js";import"./chunk-RGH3WGWD.js";import"./chunk-CJHVOBJY.js";import"./chunk-4UCMTYFQ.js";import"./chunk-PMUBG2RU.js";import"./chunk-EAJK25IS.js";import"./chunk-C7AXRI7E.js";import"./chunk-R5RNOLHI.js";import"./chunk-IUNMW454.js";import"./chunk-Q335R4MR.js";import"./chunk-MH73D5TN.js";import"./chunk-YF5OP6CR.js";import"./chunk-PFXX5Q32.js";import"./chunk-Q3JHS3UD.js";import"./chunk-42WUDDUU.js";import{e as w}from"./chunk-E3Q7WNJD.js";import"./chunk-W2FLULF4.js";import"./chunk-N3RN4QTC.js";import"./chunk-T46LOLW3.js";import"./chunk-PHHXHG2W.js";import"./chunk-ICKLBATY.js";import"./chunk-JDXLCNKV.js";import"./chunk-QXTW7XCS.js";import"./chunk-CTCQOYBS.js";import"./chunk-HSJ5FQCF.js";import"./chunk-VSYBMNIR.js";import"./chunk-CIESXO73.js";import{a as i,c as b}from"./chunk-D4RCV4LY.js";import"./chunk-NG2UVPTW.js";import"./chunk-7AFBNU6K.js";import"./chunk-N5ZRUOMR.js";import"./chunk-HBTC4L53.js";import"./chunk-RVCWSAXI.js";import"./chunk-T4C56HBW.js";import"./chunk-JQ2ZD3WO.js";import"./chunk-CJCT452S.js";import"./chunk-S7N4BKI3.js";import"./chunk-JIUF6NV6.js";import"./chunk-GHQ5PUOV.js";import"./chunk-6VKJAMZY.js";b();async function F(e){if(!l())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{kernel:o}=c();try{let t=e.namespace||"default",n=`${t}:${e.key}`;if(d()){let s=y(e.key,e.value,t,{tags:e.metadata?.tags}),a=await m.evaluateWrite(s);if(!a.allowed){if(v()&&S.recordViolation({type:"contradiction",severity:"medium",gate:"memoryWriteGate",description:`Memory write blocked for key ${e.key}: ${a.reason}`,context:{key:e.key,namespace:t,reason:a.reason,conflictingPatterns:a.conflictingPatterns}}),R())return{success:!1,error:`Memory write blocked by governance: ${a.reason}`};console.warn(`[MemoryHandler] Write allowed with warning: ${a.reason}`)}}await o.memory.set(n,e.value,{ttl:e.ttl});let r;try{let s=`${e.key} ${JSON.stringify(e.value)}`,a=await w(s);await o.memory.storeVector(n,a,{key:e.key,namespace:t,storedAt:Date.now()}),r={status:"indexed"}}catch{let s="Semantic vector indexing is unavailable for this entry. Configure AQE_EMBEDDER_ENDPOINT for the recommended remote backend. The compatible local @huggingface/transformers@4.2.0 dependency chain currently has unresolved HIGH advisories GHSA-xcpc-8h2w-3j85 and GHSA-f88m-g3jw-g9cj.";console.warn(`[MemoryHandler] VECTOR_INDEX_UNAVAILABLE: ${s}`),r={status:"failed",error:{code:"VECTOR_INDEX_UNAVAILABLE",message:s}}}return d()&&m.registerPattern(y(e.key,e.value,t)),{success:!0,data:{stored:!0,key:e.key,namespace:t,timestamp:new Date().toISOString(),persisted:!0,vectorIndex:r}}}catch(t){return{success:!1,error:`Failed to store memory: ${i(t)}`}}}async function T(e){if(!l())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{kernel:o}=c();try{let n=`${e.namespace||"default"}:${e.key}`,r=await o.memory.get(n);if(r===void 0)return{success:!0,data:{found:!1,key:e.key}};let s={found:!0,key:e.key,value:r,timestamp:new Date().toISOString()};return e.includeMetadata&&(s.metadata={}),{success:!0,data:s}}catch(t){return{success:!1,error:`Failed to retrieve memory: ${i(t)}`}}}function P(e){return e.includes(" ")&&!e.includes("*")&&!e.includes("?")}async function _(e){if(!l())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{kernel:o}=c();try{let t=e.namespace||"default",n=e.limit||100,r=e.offset||0;if((e.semantic===!0||e.semantic!==!1&&e.pattern&&P(e.pattern))&&e.pattern)try{let u=await w(e.pattern),g=t!=="default"?`${t}:`:void 0,k=await o.memory.vectorSearch(u,n+r,g);return{success:!0,data:{entries:k.slice(r,r+n).map(M=>{let f=M.key.split(":");return{key:f.length>1?f.slice(1).join(":"):M.key,namespace:f.length>1?f[0]:t,score:M.score}}),total:k.length,hasMore:r+n<k.length,searchType:"semantic",searchProvenance:o.memory.getVectorSearchProvenance?.()}}}catch(u){console.error(`[MemoryHandler] Semantic search failed, falling back to pattern: ${i(u)}`)}let a=e.pattern?`${t}:${e.pattern}`:`${t}:*`,h=await o.memory.search(a,n+r);return{success:!0,data:{entries:h.slice(r,r+n).map(u=>{let g=u.split(":");return{key:g.slice(1).join(":"),namespace:g[0]}}),total:h.length,hasMore:r+n<h.length,searchType:"pattern"}}}catch(t){return{success:!1,error:`Failed to query memory: ${i(t)}`}}}async function V(e){if(!l())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{kernel:o}=c();try{let t=e.namespace||"default",n=`${t}:${e.key}`;return{success:!0,data:{deleted:await o.memory.delete(n),key:e.key,namespace:t}}}catch(t){return{success:!1,error:`Failed to delete memory: ${i(t)}`}}}async function z(){if(!l())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{kernel:e}=c();try{let o=await e.memory.search("*",1e4),t=0,n=1;try{let r=e.memory;r.getVectorStats&&(t=(await r.getVectorStats())?.vectorCount??0);let s=new Set(o.map(a=>a.split(":")[0]).filter(Boolean));n=Math.max(1,s.size)}catch{}return{success:!0,data:{entries:o.length,vectors:t,namespaces:n,size:{current:o.length,limit:Number.MAX_SAFE_INTEGER,unit:"entries"}}}}catch(o){return{success:!1,error:`Failed to get memory usage: ${i(o)}`}}}async function N(e){if(!l())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{kernel:o}=c();try{let t=`shared:${e.knowledgeDomain}:${Date.now()}`,n={source:e.sourceAgentId,targets:e.targetAgentIds,domain:e.knowledgeDomain,content:e.knowledgeContent,timestamp:new Date().toISOString()};if(d()){let r=y(t,n,e.knowledgeDomain,{agentId:e.sourceAgentId}),s=await m.evaluateWrite(r);if(!s.allowed&&(v()&&S.recordViolation({type:"contradiction",severity:"medium",agentId:e.sourceAgentId,gate:"memoryWriteGate",description:`Shared knowledge blocked for domain ${e.knowledgeDomain}: ${s.reason}`,context:{sourceAgent:e.sourceAgentId,targetAgents:e.targetAgentIds,domain:e.knowledgeDomain,reason:s.reason}}),R()))return{success:!1,error:`Knowledge sharing blocked by governance: ${s.reason}`}}return await o.memory.set(t,n,{namespace:"agent-knowledge"}),d()&&m.registerPattern(y(t,n,e.knowledgeDomain)),{success:!0,data:{shared:!0,sourceAgent:e.sourceAgentId,targetAgents:e.targetAgentIds,domain:e.knowledgeDomain}}}catch(t){return{success:!1,error:`Failed to share memory: ${i(t)}`}}}export{V as handleMemoryDelete,_ as handleMemoryQuery,T as handleMemoryRetrieve,N as handleMemoryShare,F as handleMemoryStore,z as handleMemoryUsage};
@@ -1,14 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.2");process.exit(0)}
2
- import{a as f}from"./chunk-EH5OCHAJ.js";import{a as R,e as E}from"./chunk-SEHCX4NH.js";import{a as g}from"./chunk-6VKJAMZY.js";import{createHash as z}from"crypto";var M=[{category:"aws_key",regex:/\b(AKIA[0-9A-Z]{16})\b/g,replacement:"<REDACTED:aws_key>",modes:["strict","balanced"]},{category:"env_value",regex:/^([A-Z][A-Z0-9_]{2,})=(.+)$/gm,replacement:"$1=<REDACTED:env_value>",modes:["strict","balanced"]},{category:"api_key_header",regex:/(Authorization:\s*Bearer\s+)\S+/gi,replacement:"$1<REDACTED:api_key>",modes:["strict","balanced"]},{category:"api_key_header",regex:/(x-api-key:\s*)\S+/gi,replacement:"$1<REDACTED:api_key>",modes:["strict","balanced"]},{category:"private_key",regex:/-----BEGIN\s[\w\s]*PRIVATE KEY-----[\s\S]*?-----END\s[\w\s]*PRIVATE KEY-----/g,replacement:"<REDACTED:private_key>",modes:["strict","balanced"]},{category:"jwt",regex:/\beyJ[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}\.[A-Za-z0-9_-]{10,}\b/g,replacement:"<REDACTED:jwt>",modes:["strict","balanced"]},{category:"github_token",regex:/\b(ghp_|gho_|ghs_|ghr_|github_pat_)[A-Za-z0-9_]{16,}\b/g,replacement:"<REDACTED:github_token>",modes:["strict","balanced"]},{category:"gitlab_token",regex:/\b(glpat-)[A-Za-z0-9_-]{20,}\b/g,replacement:"<REDACTED:gitlab_token>",modes:["strict","balanced"]},{category:"slack_token",regex:/\b(xoxb-|xoxp-|xoxs-|xoxa-)[A-Za-z0-9-]{10,}\b/g,replacement:"<REDACTED:slack_token>",modes:["strict","balanced"]},{category:"stripe_key",regex:/\b(sk_live_|pk_live_|sk_test_|pk_test_|rk_live_|rk_test_)[A-Za-z0-9]{10,}\b/g,replacement:"<REDACTED:stripe_key>",modes:["strict","balanced"]},{category:"google_api_key",regex:/\bAIzaSy[A-Za-z0-9_-]{33}\b/g,replacement:"<REDACTED:google_api_key>",modes:["strict","balanced"]},{category:"aws_session_token",regex:/\bASIA[0-9A-Z]{16}\b/g,replacement:"<REDACTED:aws_session_token>",modes:["strict","balanced"]},{category:"connection_string",regex:/\b(mongodb(\+srv)?|postgres(ql)?|mysql|redis|amqp):\/\/[^\s"']+/gi,replacement:"<REDACTED:connection_string>",modes:["strict","balanced"]},{category:"generic_secret",regex:/\b(password|secret|token|apikey|api_key|access_key|secret_key)\s*[:=]\s*['"]?(?!ghp_|gho_|ghs_|ghr_|github_pat_|glpat-|xoxb-|xoxp-|xoxs-|xoxa-|sk_live_|pk_live_|sk_test_|pk_test_|rk_live_|rk_test_|AIzaSy|AKIA|ASIA|<REDACTED:)[^\s'"]{8,}['"]?/gi,replacement:"<REDACTED:generic_secret>",modes:["strict","balanced"]},{category:"email",regex:/\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b/g,replacement:"<REDACTED:pii_email>",modes:["strict"]},{category:"phone",regex:/\b(\+?1?[-.\s]?)?\(?\d{3}\)?[-.\s]?\d{3}[-.\s]?\d{4}\b/g,replacement:"<REDACTED:pii_phone>",modes:["strict"]},{category:"ssn",regex:/\b\d{3}-\d{2}-\d{4}\b/g,replacement:"<REDACTED:pii_ssn>",modes:["strict"]}],b=new Set(["ollama"]),v=new Set(["claude","ollama"]);function u(o){return b.has(o)}function O(o){return v.has(o)}function $(o){return/^qe-security|^qe-pentest/.test(o)}function D(o,t="strict"){if(t==="off")return{text:o,redactions:[],replacementCount:0};let e=o,r=new Set,a=0;for(let s of M){if(!s.modes.includes(t))continue;let i=new RegExp(s.regex.source,s.regex.flags),n=e.match(i);n&&n.length>0&&(r.add(s.category),a+=n.length,e=e.replace(i,s.replacement))}return{text:e,redactions:Array.from(r).sort(),replacementCount:a}}function C(o,t,e){if($(o)&&!O(t))throw new p(`Security agent "${o}" may only use providers: ${[...v].join(", ")}. Got: "${t}". OpenRouter is excluded (third-party proxy risk).`,6);if(e==="off"&&!u(t))throw new p(`Redaction mode "off" is only allowed for self-hosted providers (${[...b].join(", ")}). Got: "${t}".`,6)}var p=class extends Error{constructor(e,r){super(e);this.exitCode=r;this.name="AdvisorRedactionError"}exitCode};var B="openrouter",Z="anthropic/claude-opus-4.7",N=100,j=`You are the advisor in an executor/advisor pattern. The executor has forwarded its full conversation transcript to you and is waiting for brief strategic guidance.
3
-
4
- You see the task, every tool call the executor has made, every result it has seen.
5
-
6
- Respond with a brief plan or correction in under 100 words. Use enumerated steps. No prose explanations. No pleasantries. Do not restate the task \u2014 the executor already knows the task. Focus on the next 1-3 concrete actions the executor should take, in order, with one-line reasons.
7
-
8
- If you see the executor about to commit to a wrong approach, say so in step 1. If you see the executor is on track, say so in one line and name the specific next action. If the transcript lacks enough information to give useful advice, say "INSUFFICIENT CONTEXT" and name the missing piece.`,m=class{constructor(t,e){this.router=t;this.circuitBreaker=new f(e)}router;circuitBreaker;getCircuitBreakerState(t){return this.circuitBreaker.getState(t)}resetCircuitBreaker(t){this.circuitBreaker.reset(t)}async consult(t,e={}){let r=e.provider??B,a=e.model??Z,s=e.maxWords??N,i=e.agentName??"unknown",n=E(i,a,R);n!==a&&console.warn(`[aqe] ADR-093: ${i} pinned to ${n} (was ${a}); set AQE_CYBER_VERIFIED=true after Cyber Verification Program approval`);let d=e.triggerReason??"manual",_=e.sessionId??"default",y=e.redact??"strict";C(i,r,y);let T=this.circuitBreaker.acquire(_),h=[],l=this.serializeTranscript(t,s);if(!u(r)){let k=D(l,y);l=k.text,h=k.redactions}let S=[{role:"user",content:l}],w=e.advisorSystemPrompt??j,I={messages:S,systemPrompt:w,agentType:i,preferredProvider:r,model:n,maxTokens:Math.max(300,Math.ceil(s*1.6)),temperature:.2,metadata:{advisorCall:!0,triggerReason:d,adrRef:"ADR-092"}},c=await this.router.chat(I),x=c.content.trim(),P=z("sha256").update(x).digest("hex"),A={advice:x,model:c.model,provider:c.provider,tokensIn:c.usage?.promptTokens??0,tokensOut:c.usage?.completionTokens??0,latencyMs:c.latencyMs,costUsd:c.cost?.totalCost??0,adviceHash:P,triggerReason:d,cacheHit:c.cached??!1,redactionsApplied:h,circuitBreakerRemaining:T.remaining};return this.persistConsultation(_,A),A}persistConsultation(t,e){try{let{writeFileSync:r,mkdirSync:a}=g("fs"),{join:s}=g("path"),{homedir:i}=g("os"),n=s(i(),".agentic-qe","advisor","consultations");a(n,{recursive:!0});let d=s(n,`${t}.json`);r(d,JSON.stringify({model:e.model,provider:e.provider,tokensIn:e.tokensIn,tokensOut:e.tokensOut,latencyMs:e.latencyMs,costUsd:e.costUsd,adviceHash:e.adviceHash,triggerReason:e.triggerReason,redactionsApplied:e.redactionsApplied,timestamp:new Date().toISOString()},null,2))}catch{}}serializeTranscript(t,e){let r=[];t.systemPrompt&&r.push(`# Executor System Prompt
9
- ${t.systemPrompt}`),t.taskDescription&&r.push(`# Task
10
- ${t.taskDescription}`),r.push("# Conversation so far");for(let a of t.messages){let s=a.role.toUpperCase();r.push(`[${s}] ${a.content}`)}return r.push(`
11
- # Your job
12
- Respond with brief strategic guidance in under ${e} words. Use enumerated steps. No prose.`),r.join(`
13
-
14
- `)}};function L(o){return new m(o)}export{Z as DEFAULT_ADVISOR_MODEL,B as DEFAULT_ADVISOR_PROVIDER,N as DEFAULT_MAX_WORDS,m as MultiModelExecutor,L as createMultiModelExecutor};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.2");process.exit(0)}
2
- import{a}from"./chunk-Q335R4MR.js";import"./chunk-T46LOLW3.js";import"./chunk-NG2UVPTW.js";import"./chunk-6VKJAMZY.js";export{a as PatternNullStore};
@@ -1,19 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.2");process.exit(0)}
2
- import{a as y,b as w,c as u}from"./chunk-CIESXO73.js";import"./chunk-6VKJAMZY.js";import{Command as O}from"commander";import{resolve as A}from"path";import s from"chalk";import*as M from"node:fs/promises";import{parse as W}from"yaml";var E=["eq","neq","gt","gte","lt","lte","contains","exists"],D=["sequential","parallel"],N=/\$\{([^}]+)\}/g,k=class{parse(r,t){try{let n=this.interpolateVariables(r,t??{}),a=W(n);return this.validateAndConvert(a)}catch(n){return u(n instanceof Error?new Error(`YAML parse error: ${n.message}`):new Error(`YAML parse error: ${String(n)}`))}}async loadFromFile(r,t){try{let n=await M.readFile(r,"utf-8");return this.parse(n,t)}catch(n){return u(n instanceof Error?new Error(`Failed to read pipeline file '${r}': ${n.message}`):new Error(`Failed to read pipeline file '${r}': ${String(n)}`))}}interpolateVariables(r,t){return r.replace(N,(n,a)=>{let o=this.resolveVarPath(t,a);return o===void 0?n:String(o)})}validateSchema(r){return this.validateAndConvert(r)}validateAndConvert(r){if(!r||typeof r!="object"||Array.isArray(r))return u(new Error("YAML must parse to an object"));let t=r;if(!t.id||typeof t.id!="string")return u(new Error("Missing or invalid required field 'id' (string)"));if(!t.name||typeof t.name!="string")return u(new Error("Missing or invalid required field 'name' (string)"));if(!t.steps||!Array.isArray(t.steps)||t.steps.length===0)return u(new Error("'steps' must be a non-empty array"));let n=typeof t.description=="string"?t.description:"",a=typeof t.version=="string"?t.version:"1.0.0",o;if(t.defaultMode!==void 0){if(!D.includes(t.defaultMode))return u(new Error(`Invalid defaultMode '${String(t.defaultMode)}'. Must be one of: ${D.join(", ")}`));o=t.defaultMode}let e;if(t.timeout!==void 0){if(typeof t.timeout!="number"||t.timeout<=0)return u(new Error("'timeout' must be a positive number"));e=t.timeout}let i=Array.isArray(t.tags)?t.tags.filter(g=>typeof g=="string"):void 0,l=this.validateSteps(t.steps);if(!l.success)return l;let d;if(t.triggers!==void 0){if(!Array.isArray(t.triggers))return u(new Error("'triggers' must be an array"));let g=this.validateTriggers(t.triggers);if(!g.success)return g;d=g.value}let p=this.detectCircularDependencies(l.value);if(p)return u(new Error(`Circular dependency detected: ${p}`));let c={id:t.id,name:t.name,description:n,version:a,steps:l.value,...o!==void 0&&{defaultMode:o},...e!==void 0&&{timeout:e},...i!==void 0&&{tags:i},...d!==void 0&&{triggers:d}};return w(c)}validateSteps(r){let t=[],n=new Set;for(let a=0;a<r.length;a++){let o=r[a];if(!o||typeof o!="object"||Array.isArray(o))return u(new Error(`Step at index ${a} must be an object`));let e=o;if(!e.id||typeof e.id!="string")return u(new Error(`Step at index ${a}: missing or invalid 'id' (string)`));if(n.has(e.id))return u(new Error(`Duplicate step ID: ${e.id}`));if(n.add(e.id),!e.name||typeof e.name!="string")return u(new Error(`Step '${e.id}': missing or invalid 'name' (string)`));if(!e.domain||typeof e.domain!="string")return u(new Error(`Step '${e.id}': missing or invalid 'domain' (string)`));if(!y.includes(e.domain))return u(new Error(`Step '${e.id}': invalid domain '${e.domain}'. Must be one of: ${y.join(", ")}`));if(!e.action||typeof e.action!="string")return u(new Error(`Step '${e.id}': missing or invalid 'action' (string)`));let i=this.validateStringRecord(e.inputMapping,`Step '${e.id}'.inputMapping`);if(i!==void 0&&i instanceof Error)return u(i);let l=this.validateStringRecord(e.outputMapping,`Step '${e.id}'.outputMapping`);if(l!==void 0&&l instanceof Error)return u(l);let d;if(e.dependsOn!==void 0){if(!Array.isArray(e.dependsOn)||!e.dependsOn.every(f=>typeof f=="string"))return u(new Error(`Step '${e.id}': 'dependsOn' must be an array of strings`));for(let f of e.dependsOn)if(!r.some(j=>j.id===f))return u(new Error(`Step '${e.id}' depends on unknown step: ${f}`));d=e.dependsOn}let p;if(e.condition!==void 0){let f=this.validateCondition(e.condition,`Step '${e.id}'.condition`);if(!f.success)return f;p=f.value}let c;if(e.skipCondition!==void 0){let f=this.validateCondition(e.skipCondition,`Step '${e.id}'.skipCondition`);if(!f.success)return f;c=f.value}let g;if(e.timeout!==void 0){if(typeof e.timeout!="number"||e.timeout<=0)return u(new Error(`Step '${e.id}': 'timeout' must be a positive number`));g=e.timeout}let $;if(e.retry!==void 0){let f=this.validateRetry(e.retry,e.id);if(!f.success)return f;$=f.value}let b;if(e.rollback!==void 0){let f=this.validateRollback(e.rollback,e.id);if(!f.success)return f;b=f.value}let R=typeof e.continueOnFailure=="boolean"?e.continueOnFailure:void 0,S;if(e.approval!==void 0){let f=this.validateApproval(e.approval,e.id);if(!f.success)return f;S=f.value}let C={id:e.id,name:e.name,domain:e.domain,action:e.action,...i!==void 0&&{inputMapping:i},...l!==void 0&&{outputMapping:l},...d!==void 0&&{dependsOn:d},...p!==void 0&&{condition:p},...c!==void 0&&{skipCondition:c},...g!==void 0&&{timeout:g},...$!==void 0&&{retry:$},...b!==void 0&&{rollback:b},...R!==void 0&&{continueOnFailure:R},...S!==void 0&&{approval:S}};t.push(C)}return w(t)}validateCondition(r,t){if(!r||typeof r!="object"||Array.isArray(r))return u(new Error(`${t}: must be an object with path, operator, value`));let n=r;return!n.path||typeof n.path!="string"?u(new Error(`${t}: missing or invalid 'path' (string)`)):!n.operator||typeof n.operator!="string"?u(new Error(`${t}: missing or invalid 'operator' (string)`)):E.includes(n.operator)?n.value===void 0?u(new Error(`${t}: missing 'value'`)):w({path:n.path,operator:n.operator,value:n.value}):u(new Error(`${t}: invalid operator '${n.operator}'. Must be one of: ${E.join(", ")}`))}validateTriggers(r){let t=[];for(let n=0;n<r.length;n++){let a=r[n];if(!a||typeof a!="object"||Array.isArray(a))return u(new Error(`Trigger at index ${n} must be an object`));let o=a;if(!o.eventType||typeof o.eventType!="string")return u(new Error(`Trigger at index ${n}: missing or invalid 'eventType' (string)`));let e;if(o.sourceDomain!==void 0){if(typeof o.sourceDomain!="string"||!y.includes(o.sourceDomain))return u(new Error(`Trigger at index ${n}: invalid 'sourceDomain' '${String(o.sourceDomain)}'`));e=o.sourceDomain}let i;if(o.condition!==void 0){let d=this.validateCondition(o.condition,`Trigger at index ${n}.condition`);if(!d.success)return d;i=d.value}let l=this.validateStringRecord(o.inputMapping,`Trigger at index ${n}.inputMapping`);if(l!==void 0&&l instanceof Error)return u(l);t.push({eventType:o.eventType,...e!==void 0&&{sourceDomain:e},...i!==void 0&&{condition:i},...l!==void 0&&{inputMapping:l}})}return w(t)}validateRetry(r,t){if(!r||typeof r!="object"||Array.isArray(r))return u(new Error(`Step '${t}': 'retry' must be an object`));let n=r;return typeof n.maxAttempts!="number"||n.maxAttempts<1?u(new Error(`Step '${t}': retry.maxAttempts must be a positive integer`)):typeof n.backoffMs!="number"||n.backoffMs<0?u(new Error(`Step '${t}': retry.backoffMs must be a non-negative number`)):w({maxAttempts:n.maxAttempts,backoffMs:n.backoffMs,...typeof n.backoffMultiplier=="number"&&{backoffMultiplier:n.backoffMultiplier}})}validateRollback(r,t){if(!r||typeof r!="object"||Array.isArray(r))return u(new Error(`Step '${t}': 'rollback' must be an object`));let n=r;return!n.domain||typeof n.domain!="string"||!y.includes(n.domain)?u(new Error(`Step '${t}': rollback.domain is invalid or missing`)):!n.action||typeof n.action!="string"?u(new Error(`Step '${t}': rollback.action is required (string)`)):w({domain:n.domain,action:n.action,...n.input!==void 0&&typeof n.input=="object"&&{input:n.input}})}validateApproval(r,t){if(typeof r=="boolean")return w(r);if(!r||typeof r!="object"||Array.isArray(r))return u(new Error(`Step '${t}': 'approval' must be a boolean or object`));let n=r,a={};if(n.autoApproveAfter!==void 0){if(typeof n.autoApproveAfter!="number"||n.autoApproveAfter<0)return u(new Error(`Step '${t}': approval.autoApproveAfter must be a non-negative number`));a.autoApproveAfter=n.autoApproveAfter}if(n.message!==void 0){if(typeof n.message!="string")return u(new Error(`Step '${t}': approval.message must be a string`));a.message=n.message}return w(a)}validateStringRecord(r,t){if(r==null)return;if(typeof r!="object"||Array.isArray(r))return new Error(`${t}: must be an object with string values`);let n=r;for(let[a,o]of Object.entries(n))if(typeof o!="string")return new Error(`${t}: value for key '${a}' must be a string, got ${typeof o}`);return n}resolveVarPath(r,t){if(t in r)return r[t];let n=t.split("."),a=r;for(let o of n){if(a==null||typeof a!="object")return;a=a[o]}return a}detectCircularDependencies(r){let t=new Set,n=new Set,a=(o,e)=>{if(n.has(o))return[...e,o].join(" -> ");if(t.has(o))return null;t.add(o),n.add(o);let i=r.find(l=>l.id===o);if(i?.dependsOn)for(let l of i.dependsOn){let d=a(l,[...e,o]);if(d)return d}return n.delete(o),null};for(let o of r){let e=a(o.id,[]);if(e)return e}return null}};function h(m){let r={};for(let t of m){let n=t.indexOf("=");if(n===-1)r[t]=!0;else{let a=t.slice(0,n),o=t.slice(n+1);o==="true"?r[a]=!0:o==="false"?r[a]=!1:!isNaN(Number(o))&&o!==""?r[a]=Number(o):r[a]=o}}return r}function T(m){return h(m)}function v(m){return m.workflowOrchestrator}function X(m,r,t){let n=new k,a=new O("pipeline").description("Manage YAML deterministic pipelines (Imp-9)");return a.command("load <file>").description("Load and register a pipeline from a YAML file").option("--vars <entries...>","Variable substitutions (key=value)").action(async(o,e)=>{if(!await t())return;let i=v(m);if(!i){console.error(s.red(' Workflow orchestrator not available. Run "aqe fleet init" first.')),await r(1);return}let l=A(o),d=e.vars?h(e.vars):void 0;console.log(s.blue(`
3
- Loading pipeline from: ${o}
4
- `));let p=await n.loadFromFile(l,d);if(!p.success){console.error(s.red(` Parse error: ${p.error.message}`)),await r(1);return}let c=p.value,g=i.registerWorkflow(c);if(!g.success){console.error(s.red(` Registration error: ${g.error.message}`)),await r(1);return}console.log(s.green(" Pipeline loaded successfully.")),console.log(` ID: ${s.cyan(c.id)}`),console.log(` Name: ${s.cyan(c.name)}`),console.log(` Steps: ${s.cyan(c.steps.length)}`),console.log(` Version: ${s.cyan(c.version)}`),c.tags?.length&&console.log(` Tags: ${s.cyan(c.tags.join(", "))}`),console.log(""),await r(0)}),a.command("validate <file>").description("Validate a YAML pipeline without registering it").option("--vars <entries...>","Variable substitutions (key=value)").action(async(o,e)=>{let i=A(o),l=e.vars?h(e.vars):void 0;console.log(s.blue(`
5
- Validating pipeline: ${o}
6
- `));let d=await n.loadFromFile(i,l);if(!d.success){console.log(s.red(` Invalid: ${d.error.message}`)),await r(1);return}let p=d.value;console.log(s.green(" Valid pipeline.")),console.log(` ID: ${s.cyan(p.id)}`),console.log(` Name: ${s.cyan(p.name)}`),console.log(` Steps: ${s.cyan(p.steps.length)}`),console.log(""),await r(0)}),a.command("run <pipelineId>").description("Execute a registered pipeline").option("--input <entries...>","Input parameters (key=value)").option("--wait","Wait for execution to complete").action(async(o,e)=>{if(!await t())return;let i=v(m);if(!i){console.error(s.red(' Workflow orchestrator not available. Run "aqe fleet init" first.')),await r(1);return}let l=e.input?T(e.input):{};console.log(s.blue(`
7
- Running pipeline: ${o}
8
- `));let d=await i.executeWorkflow(o,l);if(!d.success){console.error(s.red(` Failed: ${d.error.message}`)),await r(1);return}let p=d.value;if(console.log(s.green(" Pipeline started.")),console.log(` Execution ID: ${s.cyan(p)}`),e.wait){console.log(s.gray(" Waiting for completion..."));let c=i.getWorkflowStatus(p);for(;c&&(c.status==="running"||c.status==="paused");)await new Promise(g=>setTimeout(g,500)),c=i.getWorkflowStatus(p);if(c){let g=c.status==="completed"?s.green:s.red;console.log(` Status: ${g(c.status)}`),c.duration&&console.log(` Duration: ${s.cyan(`${c.duration}ms`)}`),c.error&&console.log(` Error: ${s.red(c.error)}`)}}console.log(""),await r(0)}),a.command("list").description("List all registered pipelines").action(async()=>{if(!await t())return;let o=v(m);if(!o){console.error(s.red(' Workflow orchestrator not available. Run "aqe fleet init" first.')),await r(1);return}let e=o.listWorkflows();if(console.log(s.blue(`
9
- Registered Pipelines (${e.length})
10
- `)),e.length===0)console.log(s.gray(" No pipelines registered."));else for(let i of e)console.log(` ${s.cyan(i.id)} \u2014 ${i.name} (${i.stepCount} steps, v${i.version})`),i.tags?.length&&console.log(` Tags: ${s.gray(i.tags.join(", "))}`);console.log(""),await r(0)}),a.command("status <executionId>").description("Show the status of a pipeline execution").action(async o=>{if(!await t())return;let e=v(m);if(!e){console.error(s.red(' Workflow orchestrator not available. Run "aqe fleet init" first.')),await r(1);return}let i=e.getWorkflowStatus(o);if(!i){console.error(s.red(` Execution not found: ${o}`)),await r(1);return}let l=i.status==="completed"?s.green:i.status==="failed"?s.red:i.status==="running"?s.yellow:s.gray;console.log(s.blue(`
11
- Pipeline Execution Status
12
- `)),console.log(` Execution: ${s.cyan(o)}`),console.log(` Pipeline: ${s.cyan(i.workflowName)} (${i.workflowId})`),console.log(` Status: ${l(i.status)}`),console.log(` Progress: ${s.cyan(`${i.progress}%`)}`),console.log(` Completed: ${s.cyan(i.completedSteps.join(", ")||"none")}`),i.failedSteps.length>0&&console.log(` Failed: ${s.red(i.failedSteps.join(", "))}`),i.skippedSteps.length>0&&console.log(` Skipped: ${s.gray(i.skippedSteps.join(", "))}`),i.currentSteps.length>0&&console.log(` Running: ${s.yellow(i.currentSteps.join(", "))}`),i.duration&&console.log(` Duration: ${s.cyan(`${i.duration}ms`)}`),i.error&&console.log(` Error: ${s.red(i.error)}`),console.log(""),await r(0)}),a.command("approve <executionId> <stepId>").description("Approve a step that is awaiting approval").action(async(o,e)=>{if(!await t())return;let i=v(m);if(!i){console.error(s.red(" Workflow orchestrator not available.")),await r(1);return}if(i.approveStep(o,e))console.log(s.green(`
13
- Step '${e}' approved.
14
- `));else{console.error(s.red(`
15
- No pending approval found for step '${e}' in execution '${o}'.
16
- `)),await r(1);return}await r(0)}),a.command("reject <executionId> <stepId>").description("Reject a step that is awaiting approval").option("--reason <reason>","Rejection reason").action(async(o,e,i)=>{if(!await t())return;let l=v(m);if(!l){console.error(s.red(" Workflow orchestrator not available.")),await r(1);return}if(l.rejectStep(o,e,i.reason))console.log(s.green(`
17
- Step '${e}' rejected.`)),i.reason&&console.log(` Reason: ${s.gray(i.reason)}`),console.log("");else{console.error(s.red(`
18
- No pending approval found for step '${e}' in execution '${o}'.
19
- `)),await r(1);return}await r(0)}),a}export{X as createPipelineCommand};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.2");process.exit(0)}
2
- import{a,b}from"./chunk-UYTWDS2R.js";import"./chunk-RFNEHNJV.js";import"./chunk-L2F7FVIU.js";import"./chunk-CIESXO73.js";import"./chunk-D4RCV4LY.js";import"./chunk-NG2UVPTW.js";import"./chunk-6VKJAMZY.js";export{a as DefaultProtocolExecutor,b as createProtocolExecutor};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.2");process.exit(0)}
2
- import{a as h,b as i,c as j,e as k,f as l,g as m,h as n}from"./chunk-RGH3WGWD.js";import{a as e,b as f,d as g}from"./chunk-CJHVOBJY.js";import"./chunk-4UCMTYFQ.js";import"./chunk-PMUBG2RU.js";import"./chunk-EAJK25IS.js";import{a,b,c,h as d}from"./chunk-C7AXRI7E.js";import"./chunk-R5RNOLHI.js";import"./chunk-IUNMW454.js";import"./chunk-Q335R4MR.js";import"./chunk-MH73D5TN.js";import"./chunk-YF5OP6CR.js";import"./chunk-42WUDDUU.js";import"./chunk-E3Q7WNJD.js";import"./chunk-W2FLULF4.js";import"./chunk-N3RN4QTC.js";import"./chunk-T46LOLW3.js";import"./chunk-PHHXHG2W.js";import"./chunk-ICKLBATY.js";import"./chunk-JDXLCNKV.js";import"./chunk-QXTW7XCS.js";import"./chunk-CTCQOYBS.js";import"./chunk-HSJ5FQCF.js";import"./chunk-VSYBMNIR.js";import"./chunk-CIESXO73.js";import"./chunk-D4RCV4LY.js";import"./chunk-NG2UVPTW.js";import"./chunk-N5ZRUOMR.js";import"./chunk-HBTC4L53.js";import"./chunk-RVCWSAXI.js";import"./chunk-T4C56HBW.js";import"./chunk-JQ2ZD3WO.js";import"./chunk-CJCT452S.js";import"./chunk-S7N4BKI3.js";import"./chunk-JIUF6NV6.js";import"./chunk-GHQ5PUOV.js";import"./chunk-6VKJAMZY.js";export{j as AGENT_CAPABILITIES,h as DEFAULT_QE_REASONING_BANK_CONFIG,i as PRETRAINED_PATTERNS,m as QEReasoningBank,l as RELATED_DOMAINS,d as applyPatternTemplate,k as calculateAgentScores,n as createQEReasoningBank,a as detectQEDomain,b as detectQEDomains,g as generateGuidanceContext,f as getCombinedGuidance,e as getGuidance,c as mapQEDomainToAQE};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.2");process.exit(0)}
2
- import{a,b,c,d}from"./chunk-OX6T26CD.js";import"./chunk-ZFGND4QK.js";import"./chunk-IVGVOGIZ.js";import"./chunk-RHJVDCLV.js";import"./chunk-5EHLGOWW.js";import"./chunk-VOYJJ3KA.js";import"./chunk-ZCDXJ27H.js";import"./chunk-XPLSLHRB.js";import"./chunk-K574FLVB.js";import"./chunk-PMUBG2RU.js";import"./chunk-EAJK25IS.js";import"./chunk-C7AXRI7E.js";import"./chunk-R5RNOLHI.js";import"./chunk-W2FLULF4.js";import"./chunk-N3RN4QTC.js";import"./chunk-T46LOLW3.js";import"./chunk-PHHXHG2W.js";import"./chunk-ICKLBATY.js";import"./chunk-JDXLCNKV.js";import"./chunk-QXTW7XCS.js";import"./chunk-CIESXO73.js";import"./chunk-D4RCV4LY.js";import"./chunk-NG2UVPTW.js";import"./chunk-N5ZRUOMR.js";import"./chunk-HBTC4L53.js";import"./chunk-RVCWSAXI.js";import"./chunk-T4C56HBW.js";import"./chunk-JQ2ZD3WO.js";import"./chunk-CJCT452S.js";import"./chunk-S7N4BKI3.js";import"./chunk-JIUF6NV6.js";import"./chunk-GHQ5PUOV.js";import"./chunk-6VKJAMZY.js";export{a as DOMAIN_GROUPS,c as QueenCoordinator,b as TASK_DOMAIN_MAP,d as createQueenCoordinator};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.2");process.exit(0)}
2
- import{a,b,c}from"./chunk-BWRHOIYC.js";import"./chunk-LWUJQGCS.js";import"./chunk-WMW47QMR.js";import"./chunk-UHTAI4ZB.js";import"./chunk-4MH22236.js";import"./chunk-QXTW7XCS.js";import"./chunk-D4RCV4LY.js";import"./chunk-6VKJAMZY.js";export{a as ModelRouter,b as createModelRouter,c as createModelRouterWithAgentBooster};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.2");process.exit(0)}
2
- import{b as a,c as b}from"./chunk-FREF6Y4L.js";import"./chunk-PVHO6KLB.js";import"./chunk-HZ6NEJMO.js";import"./chunk-KPFG4OIM.js";import"./chunk-ZYLSOBOR.js";import"./chunk-W2FLULF4.js";import"./chunk-N3RN4QTC.js";import"./chunk-T46LOLW3.js";import"./chunk-PHHXHG2W.js";import"./chunk-ICKLBATY.js";import"./chunk-JDXLCNKV.js";import"./chunk-QXTW7XCS.js";import"./chunk-D4RCV4LY.js";import"./chunk-N5ZRUOMR.js";import"./chunk-HBTC4L53.js";import"./chunk-RVCWSAXI.js";import"./chunk-T4C56HBW.js";import"./chunk-JQ2ZD3WO.js";import"./chunk-CJCT452S.js";import"./chunk-S7N4BKI3.js";import"./chunk-JIUF6NV6.js";import"./chunk-GHQ5PUOV.js";import"./chunk-6VKJAMZY.js";export{a as RoutingFeedbackCollector,b as createRoutingFeedbackCollector};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.2");process.exit(0)}
2
- import{a,b}from"./chunk-TENYL5TI.js";import"./chunk-E3Q7WNJD.js";import"./chunk-D4RCV4LY.js";import"./chunk-CJCT452S.js";import"./chunk-6VKJAMZY.js";export{a as RvfDualWriter,b as createDualWriter};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.2");process.exit(0)}
2
- import{a,b}from"./chunk-IWFL6EFI.js";import"./chunk-E3Q7WNJD.js";import"./chunk-D4RCV4LY.js";import"./chunk-CJCT452S.js";import"./chunk-6VKJAMZY.js";export{b as RvfMigrationAdapter,a as STAGE_NAMES};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.2");process.exit(0)}
2
- import{a,b,c,d,f as e}from"./chunk-HSJ5FQCF.js";import"./chunk-6VKJAMZY.js";e();export{a as createRvfStore,d as isRvfNativeAvailable,b as openRvfStore,c as openRvfStoreReadonly};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.2");process.exit(0)}
2
- import{a,b,c}from"./chunk-VSYBMNIR.js";import"./chunk-6VKJAMZY.js";export{b as isLockHeldByLiveProcess,c as quarantineUnusableStore,a as readLockOwnerPid};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.2");process.exit(0)}
2
- import{a,b}from"./chunk-N5ZRUOMR.js";import"./chunk-HBTC4L53.js";import"./chunk-6VKJAMZY.js";b();export{a as openDatabase};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.2");process.exit(0)}
2
- import{a}from"./chunk-4PH7O5ZH.js";import"./chunk-2LKAMMMI.js";import"./chunk-A7N3YUDJ.js";import"./chunk-W2FLULF4.js";import"./chunk-N3RN4QTC.js";import"./chunk-T46LOLW3.js";import"./chunk-PHHXHG2W.js";import"./chunk-ICKLBATY.js";import"./chunk-JDXLCNKV.js";import"./chunk-QXTW7XCS.js";import"./chunk-D4RCV4LY.js";import"./chunk-NG2UVPTW.js";import"./chunk-7AFBNU6K.js";import"./chunk-N5ZRUOMR.js";import"./chunk-HBTC4L53.js";import"./chunk-RVCWSAXI.js";import"./chunk-T4C56HBW.js";import"./chunk-JQ2ZD3WO.js";import"./chunk-CJCT452S.js";import"./chunk-S7N4BKI3.js";import"./chunk-JIUF6NV6.js";import"./chunk-GHQ5PUOV.js";import"./chunk-6VKJAMZY.js";export{a as TestScheduleTool};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.2");process.exit(0)}
2
- import{a,b,c,d}from"./chunk-2EHFEMRU.js";import"./chunk-QW4LN5NK.js";import"./chunk-QXTW7XCS.js";import"./chunk-CIESXO73.js";import"./chunk-D4RCV4LY.js";import"./chunk-6VKJAMZY.js";export{a as PersistentScheduler,b as createPersistentScheduler,d as createScheduleEntry,c as generateScheduleId};
@@ -1,14 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.2");process.exit(0)}
2
- import{b as h}from"./chunk-CH2TQCV5.js";import{c as g,d as f,e as S,i as w}from"./chunk-WBMRADQP.js";import"./chunk-6VKJAMZY.js";import{Command as b}from"commander";import e from"chalk";function P(v,a,k){return new b("security").description("Security scanning and URL validation").option("--sast","Run SAST scan").option("--dast","Run DAST scan").option("--compliance <frameworks>","Check compliance (gdpr,hipaa,soc2)","").option("--url-validate <url>","Validate a URL for security threats and PII exposure").option("--no-pii","Disable PII scanning when using --url-validate").option("-t, --target <path>","Target directory to scan",".").option("-F, --format <format>","Output format (text|json|sarif|markdown)","text").option("-o, --output <path>","Write output to file").action(async r=>{if(await k()){if(r.urlValidate){try{let o=r.format,u=r.urlValidate;o==="text"&&console.log(e.blue(`
3
- Validating URL: ${u}
4
- `));let{VisualSecurityTool:y}=await import("./visual-security-TTWSPZTZ.js"),c=await new y().invoke({url:u,enablePII:r.pii!==!1});if(c.success&&c.data){let t=c.data;if(o==="json")g(f(t),r.output);else{if(t.urlSecurity.valid)console.log(e.green(" URL Security: CLEAN"));else{console.log(e.red(` URL Security: ${t.urlSecurity.issues.length} issue(s) (risk: ${t.urlSecurity.riskLevel})`));for(let s of t.urlSecurity.issues){let i=s.severity==="critical"?e.red:s.severity==="high"?e.yellow:e.gray;console.log(i(` [${s.severity}] ${s.type}: ${s.description}`))}}if(t.piiExposure.scanned)if(t.piiExposure.found){console.log(e.red(`
5
- PII Exposure: ${t.piiExposure.types.length} type(s) found in URL`));for(let s of t.piiExposure.details)console.log(e.yellow(` [${s.type}] in ${s.location}: ${s.masked}`))}else console.log(e.green(`
6
- PII Exposure: none detected`));console.log(`
7
- ${t.summary}
8
- `)}(t.urlSecurity.issues.some(s=>s.severity==="critical"||s.severity==="high")||t.piiExposure.found)&&await a(1)}else console.log(e.red(`Failed: ${c.error||"Unknown error"}`)),await a(1);await a(0)}catch(o){console.error(e.red(`
9
- Failed:`),o),await a(1)}return}try{let o=r.format;o==="text"&&console.log(e.blue(`
10
- Running security scan on ${r.target}...
11
- `));let u=await v.kernel.getDomainAPIAsync("security-compliance");if(!u){console.log(e.red("Security domain not available"));return}let p=(await import("path")).resolve(r.target),c=h(p,{includeTests:!0});if(c.length===0){console.log(e.yellow("No files found to scan"));return}o==="text"&&console.log(e.gray(` Scanning ${c.length} files...
12
- `));let t={vulnerabilities:[],target:r.target,scanType:[r.sast&&"SAST",r.dast&&"DAST",r.compliance&&"Compliance"].filter(Boolean).join("+")||"SAST"};if(r.sast){o==="text"&&console.log(e.blue(" SAST Scan:"));let i=await u.runSASTScan(c);if(i.success&&i.value){let l=i.value.vulnerabilities||[];if(t.vulnerabilities=l,o==="text")if(l.length===0)console.log(e.green(" * No vulnerabilities found"));else{console.log(e.yellow(` ! Found ${l.length} potential issues:`));for(let n of l.slice(0,10)){let m=n.severity==="high"?e.red:n.severity==="medium"?e.yellow:e.gray;console.log(m(` [${n.severity}] ${n.type}: ${n.file}:${n.line}`)),console.log(e.gray(` ${n.message}`))}l.length>10&&console.log(e.gray(` ... and ${l.length-10} more`))}}else o==="text"&&console.log(e.red(` x SAST failed: ${i.error?.message||"Unknown error"}`));o==="text"&&console.log("")}if(r.compliance){let i=r.compliance.split(",");o==="text"&&console.log(e.blue(` Compliance Check (${i.join(", ")}):`));let l=(await Promise.all(i.map(n=>u.runComplianceCheck(n.trim()))))[0];if(l.success&&l.value){let n=l.value;if(t.compliance=n,o==="text")if(n.compliant)console.log(e.green(" * Compliant with all frameworks"));else{console.log(e.yellow(" ! Compliance issues found:"));for(let m of(n.issues||[]).slice(0,5))console.log(e.yellow(` [${m.framework}] ${m.issue}`))}}else o==="text"&&console.log(e.red(` x Compliance check failed: ${l.error?.message||"Unknown error"}`));o==="text"&&console.log("")}r.dast&&o==="text"&&console.log(e.gray("Note: DAST requires running application URLs. Use --target with URLs for DAST scanning.")),o==="json"?g(f(t),r.output):o==="sarif"?g(S(t),r.output):o==="markdown"?g(w(t),r.output):console.log(e.green(` Security scan complete
13
- `));let d=t.vulnerabilities.some(i=>i.severity==="high"||i.severity==="critical"),s=t.vulnerabilities.some(i=>i.severity==="medium");d?await a(1):s&&await a(2),await a(0)}catch(o){console.error(e.red(`
14
- Failed:`),o),await a(1)}}})}export{P as createSecurityCommand};
@@ -1,2 +0,0 @@
1
- import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.14.2");process.exit(0)}
2
- import{a,b,c,d}from"./chunk-42WUDDUU.js";import"./chunk-E3Q7WNJD.js";import"./chunk-W2FLULF4.js";import"./chunk-N3RN4QTC.js";import"./chunk-T46LOLW3.js";import"./chunk-PHHXHG2W.js";import"./chunk-ICKLBATY.js";import"./chunk-JDXLCNKV.js";import"./chunk-QXTW7XCS.js";import"./chunk-CTCQOYBS.js";import"./chunk-D4RCV4LY.js";import"./chunk-NG2UVPTW.js";import"./chunk-N5ZRUOMR.js";import"./chunk-HBTC4L53.js";import"./chunk-RVCWSAXI.js";import"./chunk-T4C56HBW.js";import"./chunk-JQ2ZD3WO.js";import"./chunk-CJCT452S.js";import"./chunk-S7N4BKI3.js";import"./chunk-JIUF6NV6.js";import"./chunk-GHQ5PUOV.js";import"./chunk-6VKJAMZY.js";export{a as DEFAULT_SQLITE_CONFIG,c as SQLitePatternStore,d as createSQLitePatternStore,b as hashEmbedding};