agentic-qe 3.14.4 → 3.14.6

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 (486) hide show
  1. package/.claude/skills/skills-manifest.json +1 -1
  2. package/CHANGELOG.md +169 -0
  3. package/assets/skills/skills-manifest.json +1 -1
  4. package/dist/adapters/ag-ui/event-types.d.ts +1 -1
  5. package/dist/audit/witness-chain-hash.d.ts +18 -0
  6. package/dist/audit/witness-chain-hash.js +37 -0
  7. package/dist/audit/witness-chain-repair.d.ts +71 -0
  8. package/dist/audit/witness-chain-repair.js +203 -0
  9. package/dist/audit/witness-chain-verifier.d.ts +152 -0
  10. package/dist/audit/witness-chain-verifier.js +293 -0
  11. package/dist/audit/witness-chain.d.ts +10 -43
  12. package/dist/audit/witness-chain.js +43 -126
  13. package/dist/audit/witness-findings.js +4 -1
  14. package/dist/cli/bundle.js +13 -10
  15. package/dist/cli/chunks/adapter-UYOJPTOX.js +2 -0
  16. package/dist/cli/chunks/agent-booster-wasm-2YGML6OU.js +2 -0
  17. package/dist/cli/chunks/{agent-handler-RDNTK4CA.js → agent-handler-D5SSQYNU.js} +2 -2
  18. package/dist/cli/chunks/{agent-memory-branch-NAAMBWIR.js → agent-memory-branch-YHPLTITV.js} +2 -2
  19. package/dist/cli/chunks/aqe-learning-engine-JR5AVQXR.js +2 -0
  20. package/dist/cli/chunks/{arena-KXFHRWX4.js → arena-7BGOXGXO.js} +2 -2
  21. package/dist/cli/chunks/{arena-HXTWJ5YY.js → arena-MCE6EU7K.js} +4 -4
  22. package/dist/cli/chunks/audit-BMWTQECB.js +4 -0
  23. package/dist/cli/chunks/base-DRZ2LS6X.js +2 -0
  24. package/dist/cli/chunks/{better-sqlite3-UICJZIDG.js → better-sqlite3-PMUNGASU.js} +2 -2
  25. package/dist/cli/chunks/brain-handler-QPUFYX7F.js +94 -0
  26. package/dist/cli/chunks/{branch-enumerator-SS7UNVIA.js → branch-enumerator-WKFDGRN4.js} +2 -2
  27. package/dist/cli/chunks/{browser-77GI6KBE.js → browser-VY5HKH5X.js} +2 -2
  28. package/dist/cli/chunks/browser-workflow-CJ7T3MXF.js +2 -0
  29. package/dist/cli/chunks/{chunk-PZJOPURC.js → chunk-257E2A5M.js} +5 -5
  30. package/dist/cli/chunks/{chunk-55RWDRJD.js → chunk-2JVWITNK.js} +4 -4
  31. package/dist/cli/chunks/{chunk-BOARZKU3.js → chunk-2NPKIBAZ.js} +2 -2
  32. package/dist/cli/chunks/chunk-2TMWAQQ3.js +13 -0
  33. package/dist/cli/chunks/{chunk-M4WJKGVK.js → chunk-2YXGBZWV.js} +1 -1
  34. package/dist/cli/chunks/{chunk-3VOQRIQM.js → chunk-3EA536JF.js} +2 -2
  35. package/dist/cli/chunks/{chunk-ZZDIMOOV.js → chunk-3EZOZN25.js} +2 -2
  36. package/dist/cli/chunks/{chunk-MNW6QGNJ.js → chunk-3HZS4M3O.js} +2 -2
  37. package/dist/cli/chunks/{chunk-EKQ673SA.js → chunk-3NIG7S5W.js} +1 -1
  38. package/dist/cli/chunks/{chunk-7D777LTF.js → chunk-4N23RFDU.js} +2 -2
  39. package/dist/cli/chunks/{chunk-BOZZYWCR.js → chunk-5J6W7SIA.js} +1 -1
  40. package/dist/cli/chunks/{chunk-HIVA55CJ.js → chunk-5OOMJGFN.js} +1 -1
  41. package/dist/cli/chunks/{chunk-W7BWUTVV.js → chunk-5QQSIGUA.js} +2 -2
  42. package/dist/cli/chunks/{chunk-PAWXJ73E.js → chunk-5VFPCSK7.js} +1 -1
  43. package/dist/cli/chunks/{chunk-KPA7MZ6C.js → chunk-62N4NUJH.js} +2 -2
  44. package/dist/cli/chunks/chunk-64VGZQLB.js +2 -0
  45. package/dist/cli/chunks/{chunk-64PFWE2F.js → chunk-66VWCR67.js} +2 -2
  46. package/dist/cli/chunks/{chunk-XRT2WRMS.js → chunk-6LIHFV7O.js} +2 -2
  47. package/dist/cli/chunks/{chunk-STJCATGN.js → chunk-6OS76PHI.js} +2 -2
  48. package/dist/cli/chunks/{chunk-ZNPKDCZR.js → chunk-6RE3X4V5.js} +2 -2
  49. package/dist/cli/chunks/{chunk-BFP7KO7P.js → chunk-6SH5VZUD.js} +2 -2
  50. package/dist/cli/chunks/chunk-6SQM2MUX.js +4 -0
  51. package/dist/cli/chunks/{chunk-IPR4QP3H.js → chunk-6U7LNMWZ.js} +2 -2
  52. package/dist/cli/chunks/{chunk-MIQTXNBG.js → chunk-72KXSMWI.js} +1 -1
  53. package/dist/cli/chunks/chunk-7CUQCCMD.js +27 -0
  54. package/dist/cli/chunks/chunk-7D3V65N5.js +2 -0
  55. package/dist/cli/chunks/{chunk-JZ3ORVZ3.js → chunk-7J6QC567.js} +3 -3
  56. package/dist/cli/chunks/{chunk-4OYFXLBK.js → chunk-7LPR6HJG.js} +2 -2
  57. package/dist/cli/chunks/{chunk-4MHXCAG2.js → chunk-7NITCZWD.js} +1 -1
  58. package/dist/cli/chunks/{chunk-M5QUBZY6.js → chunk-7Z5LHRC3.js} +2 -2
  59. package/dist/cli/chunks/{chunk-CSU5NYOX.js → chunk-AHKELLIO.js} +4 -4
  60. package/dist/cli/chunks/{chunk-DHJPWQBR.js → chunk-AIRGNL55.js} +2 -2
  61. package/dist/cli/chunks/{chunk-C2WU3533.js → chunk-AJRUJAAK.js} +1 -1
  62. package/dist/cli/chunks/{chunk-HIYXCDEP.js → chunk-AVBJYI5I.js} +1 -1
  63. package/dist/cli/chunks/{chunk-U5K45TFH.js → chunk-B6D2CHEH.js} +1 -1
  64. package/dist/cli/chunks/{chunk-FRH6VAUS.js → chunk-B6MOJC3X.js} +1 -1
  65. package/dist/cli/chunks/{chunk-HUWNIPZ5.js → chunk-BAMN2CHI.js} +1 -1
  66. package/dist/cli/chunks/{chunk-ONII3572.js → chunk-BBT64TII.js} +3 -3
  67. package/dist/cli/chunks/{chunk-KSKEF7LZ.js → chunk-BJTJLJRZ.js} +3 -3
  68. package/dist/cli/chunks/chunk-BMAPORJ7.js +15 -0
  69. package/dist/cli/chunks/{chunk-CIZ5JPDC.js → chunk-BPEDWS6O.js} +3 -3
  70. package/dist/cli/chunks/{chunk-Z3RHREWF.js → chunk-BVR7RMC5.js} +1 -1
  71. package/dist/cli/chunks/{chunk-HDSAM2RE.js → chunk-C6KWXUFJ.js} +2 -2
  72. package/dist/cli/chunks/{chunk-ZBAKA4YB.js → chunk-CCK4BF76.js} +1 -1
  73. package/dist/cli/chunks/{chunk-IFCLB7FJ.js → chunk-CD542DNJ.js} +1 -1
  74. package/dist/cli/chunks/{chunk-6KJABXAR.js → chunk-CF2ISEOJ.js} +2 -2
  75. package/dist/cli/chunks/chunk-CM7U6TAX.js +5 -0
  76. package/dist/cli/chunks/{chunk-3X3DJZJJ.js → chunk-D45SG6CP.js} +1 -1
  77. package/dist/cli/chunks/{chunk-DAEFDCJ4.js → chunk-D6CJIGRU.js} +89 -83
  78. package/dist/cli/chunks/{chunk-MVPCNSPY.js → chunk-DBDPRORT.js} +2 -2
  79. package/dist/cli/chunks/{chunk-AUXFKCQL.js → chunk-DHVX5UB2.js} +2 -2
  80. package/dist/cli/chunks/{chunk-GPLQ6DOK.js → chunk-DK4XN4CU.js} +2 -2
  81. package/dist/cli/chunks/{chunk-SRKETSFF.js → chunk-DPYSUDAO.js} +1 -1
  82. package/dist/cli/chunks/{chunk-CNG6GQEZ.js → chunk-DUYOVM5I.js} +2 -2
  83. package/dist/cli/chunks/{chunk-VIHTL3U2.js → chunk-DZ3AUAAB.js} +2 -2
  84. package/dist/cli/chunks/{chunk-CU46J64M.js → chunk-E6G2RD5H.js} +2 -2
  85. package/dist/cli/chunks/{chunk-5YPYDPBJ.js → chunk-EAY2JMZG.js} +2 -2
  86. package/dist/cli/chunks/{chunk-V3QLFNA2.js → chunk-ELLBS5RP.js} +4 -4
  87. package/dist/cli/chunks/chunk-ENGZ4D5V.js +2 -0
  88. package/dist/cli/chunks/chunk-FBMN7B46.js +4 -0
  89. package/dist/cli/chunks/{chunk-EDJ3O7RH.js → chunk-FWASDOT2.js} +2 -2
  90. package/dist/cli/chunks/{chunk-MDWCE7YW.js → chunk-FZOBD67M.js} +1 -1
  91. package/dist/cli/chunks/{chunk-A4FYONNU.js → chunk-GDSXITFH.js} +2 -2
  92. package/dist/cli/chunks/{chunk-2JW3BCGG.js → chunk-GGRHV6D7.js} +1 -1
  93. package/dist/cli/chunks/{chunk-ISDMD6EU.js → chunk-GPYVDFB3.js} +90 -90
  94. package/dist/cli/chunks/{chunk-CDKG6EI7.js → chunk-GSF6MB64.js} +2 -2
  95. package/dist/cli/chunks/{chunk-WLG5AJ4N.js → chunk-H52HZ67P.js} +2 -2
  96. package/dist/cli/chunks/{chunk-FGYMFUE2.js → chunk-H5BS5VH7.js} +2 -2
  97. package/dist/cli/chunks/{chunk-34WO57CW.js → chunk-H6ZM3PUT.js} +1 -1
  98. package/dist/cli/chunks/{chunk-6CQN24ZK.js → chunk-HM6ZSCPI.js} +1 -1
  99. package/dist/cli/chunks/{chunk-DPFRKBOG.js → chunk-HNFVJP4I.js} +2 -2
  100. package/dist/cli/chunks/{chunk-TPGED2IF.js → chunk-I33ERSGB.js} +2 -2
  101. package/dist/cli/chunks/{chunk-UEM7ZF5K.js → chunk-IAF6T27S.js} +2 -2
  102. package/dist/cli/chunks/{chunk-KCZR45PA.js → chunk-IB27QACC.js} +2 -2
  103. package/dist/cli/chunks/{chunk-SGYJ4NFZ.js → chunk-ICTXTNQZ.js} +1 -1
  104. package/dist/cli/chunks/chunk-IG5GNEC6.js +4 -0
  105. package/dist/cli/chunks/{chunk-KHFNNVJA.js → chunk-IQO7UCFR.js} +2 -2
  106. package/dist/cli/chunks/{chunk-3TW5W5LX.js → chunk-IV5UZOHH.js} +2 -2
  107. package/dist/cli/chunks/{chunk-7ZIOFPL3.js → chunk-JBTPOIAC.js} +2 -2
  108. package/dist/cli/chunks/{chunk-ZNEMGX5O.js → chunk-JIXUMYKZ.js} +1 -1
  109. package/dist/cli/chunks/{chunk-MTZH7AHC.js → chunk-JMONHE4B.js} +1 -1
  110. package/dist/cli/chunks/{chunk-TDZ53WO2.js → chunk-JVNTSNWU.js} +2 -2
  111. package/dist/cli/chunks/{chunk-PFR4G3DJ.js → chunk-JXGFRBUO.js} +2 -2
  112. package/dist/cli/chunks/chunk-JZOS5FCX.js +2 -0
  113. package/dist/cli/chunks/{chunk-STM3UDNO.js → chunk-KNNISEDY.js} +2 -2
  114. package/dist/cli/chunks/{chunk-TWAWHOP7.js → chunk-L4RUBPLR.js} +2 -2
  115. package/dist/cli/chunks/chunk-LL3IGZBI.js +2 -0
  116. package/dist/cli/chunks/{chunk-CIKSHTEQ.js → chunk-MBRHSU6W.js} +10 -10
  117. package/dist/cli/chunks/{chunk-G6T45OIC.js → chunk-MJS53PRX.js} +2 -2
  118. package/dist/cli/chunks/{chunk-PO3IXGMQ.js → chunk-MQROI74N.js} +2 -2
  119. package/dist/cli/chunks/{chunk-DOTK76IJ.js → chunk-MUOG6QXR.js} +2 -2
  120. package/dist/cli/chunks/{chunk-MVNP7GIR.js → chunk-MW2GGZZ5.js} +1 -1
  121. package/dist/cli/chunks/{chunk-FWGOHAAB.js → chunk-NHWGMJAP.js} +2 -2
  122. package/dist/cli/chunks/{chunk-ZBJ4XOOV.js → chunk-NMAIY4PX.js} +4 -4
  123. package/dist/cli/chunks/{chunk-CDHQFHRP.js → chunk-NQZ5AR3D.js} +2 -2
  124. package/dist/cli/chunks/{chunk-FLYOJOKN.js → chunk-P6OYS755.js} +1 -1
  125. package/dist/cli/chunks/{chunk-BGE6FOLM.js → chunk-PI7TJS62.js} +2 -2
  126. package/dist/cli/chunks/chunk-PX5YDCRH.js +4 -0
  127. package/dist/cli/chunks/{chunk-Q5DO24IJ.js → chunk-PZPWRQ2M.js} +3 -3
  128. package/dist/cli/chunks/{chunk-R4VL6E65.js → chunk-Q5XTSMWR.js} +2 -2
  129. package/dist/cli/chunks/{chunk-JBNEE5UH.js → chunk-Q7EAGKAE.js} +2 -2
  130. package/dist/cli/chunks/{chunk-R5NE6B2M.js → chunk-QDFTT3RF.js} +2 -2
  131. package/dist/cli/chunks/{chunk-DFZCKIGY.js → chunk-QGA55PFM.js} +3 -3
  132. package/dist/cli/chunks/{chunk-RJCYCLZV.js → chunk-QW6VMTBR.js} +2 -2
  133. package/dist/cli/chunks/{chunk-6VRA2QGL.js → chunk-QZANMBIT.js} +1 -1
  134. package/dist/cli/chunks/{chunk-MEGDYJPV.js → chunk-RETBYIAC.js} +4 -4
  135. package/dist/cli/chunks/{chunk-XJ7QNVI5.js → chunk-RFNPJK6N.js} +3 -3
  136. package/dist/cli/chunks/{chunk-NJBGXDQ7.js → chunk-RG52OKAM.js} +1 -1
  137. package/dist/cli/chunks/{chunk-DA5K5754.js → chunk-RSXXCL4A.js} +1 -1
  138. package/dist/cli/chunks/{chunk-HV2J7KKQ.js → chunk-RTFO5UQH.js} +2 -2
  139. package/dist/cli/chunks/{chunk-6UWGMOND.js → chunk-RZZCUIAI.js} +2 -2
  140. package/dist/cli/chunks/chunk-SDRHUMJB.js +2 -0
  141. package/dist/cli/chunks/{chunk-TSRSV3LD.js → chunk-SE4WIB26.js} +1 -1
  142. package/dist/cli/chunks/{chunk-ODKLFVYC.js → chunk-SESK3ARK.js} +2 -2
  143. package/dist/cli/chunks/{chunk-AWWNB2T7.js → chunk-SJUXE4IC.js} +2 -2
  144. package/dist/cli/chunks/{chunk-QGIU2WRL.js → chunk-SMDN3BQZ.js} +1 -1
  145. package/dist/cli/chunks/{chunk-VD6QRULW.js → chunk-SNOBH4AZ.js} +2 -2
  146. package/dist/cli/chunks/{chunk-OSLYSG3B.js → chunk-SPV2VKC5.js} +2 -2
  147. package/dist/cli/chunks/chunk-TCHGOB2N.js +2 -0
  148. package/dist/cli/chunks/{chunk-MOBNBMFW.js → chunk-TVYY3OCX.js} +1 -1
  149. package/dist/cli/chunks/{chunk-UGVHCMUN.js → chunk-UCFQALXO.js} +3 -3
  150. package/dist/cli/chunks/{chunk-3QHGWY7T.js → chunk-UKA2KOXE.js} +2 -2
  151. package/dist/cli/chunks/{chunk-MCUJEZT6.js → chunk-UNFFDHER.js} +16 -11
  152. package/dist/cli/chunks/{chunk-6QYNWR7U.js → chunk-UQ32JHES.js} +2 -2
  153. package/dist/cli/chunks/{chunk-OULHKEVH.js → chunk-V4DM6ELU.js} +2 -2
  154. package/dist/cli/chunks/{chunk-M2JBBZQB.js → chunk-VGFFFKGK.js} +2 -2
  155. package/dist/cli/chunks/{chunk-OCWWP5PL.js → chunk-VMNWDJIZ.js} +2 -2
  156. package/dist/cli/chunks/chunk-W6HXLH5G.js +180 -0
  157. package/dist/cli/chunks/{chunk-AIHDEEJO.js → chunk-WCJBU2KI.js} +2 -2
  158. package/dist/cli/chunks/{chunk-ZBQY5GLF.js → chunk-WGM35YWL.js} +2 -2
  159. package/dist/cli/chunks/chunk-WO4QMXIG.js +3 -0
  160. package/dist/cli/chunks/{chunk-3UPAMMCB.js → chunk-XAS3XRYM.js} +1 -1
  161. package/dist/cli/chunks/chunk-Y3LZ35OG.js +2 -0
  162. package/dist/cli/chunks/{chunk-5R3QL7WN.js → chunk-Y3UOUNHM.js} +2 -2
  163. package/dist/cli/chunks/{chunk-ZJ26AQA5.js → chunk-YFBSPLJG.js} +1 -1
  164. package/dist/cli/chunks/{chunk-BDESSCVR.js → chunk-YHKEDEAA.js} +3 -3
  165. package/dist/cli/chunks/{chunk-CXQPR5MY.js → chunk-YS4FCTWF.js} +1 -1
  166. package/dist/cli/chunks/{chunk-CLTMDCSE.js → chunk-YSLL6VSL.js} +2 -2
  167. package/dist/cli/chunks/chunk-Z6GGIRQQ.js +65 -0
  168. package/dist/cli/chunks/{chunk-F3SBRQC6.js → chunk-Z7WODOTH.js} +2 -2
  169. package/dist/cli/chunks/chunk-ZCRTRYXK.js +14 -0
  170. package/dist/cli/chunks/{chunk-XRYF6JV7.js → chunk-ZEV3YTO7.js} +2 -2
  171. package/dist/cli/chunks/{chunk-YNXS6CGV.js → chunk-ZL6SYKUK.js} +1 -1
  172. package/dist/cli/chunks/{chunk-5SJHQ2CO.js → chunk-ZSPU4MOS.js} +2 -2
  173. package/dist/cli/chunks/{chunk-UDHKLT4C.js → chunk-ZVWVV4EX.js} +1 -1
  174. package/dist/cli/chunks/{ci-464KPQNP.js → ci-W6K6G2KZ.js} +2 -2
  175. package/dist/cli/chunks/{ci-output-I7FX2RSO.js → ci-output-LDT24TS3.js} +2 -2
  176. package/dist/cli/chunks/{circuit-breaker-3FW237WW.js → circuit-breaker-F5V4KITU.js} +2 -2
  177. package/dist/cli/chunks/claude-flow-setup-DT6WQQVD.js +2 -0
  178. package/dist/cli/chunks/client-KHWJT6FB.js +2 -0
  179. package/dist/cli/chunks/{cline-installer-UWFHT6VY.js → cline-installer-G7TJOAEX.js} +2 -2
  180. package/dist/cli/chunks/{code-KQSUT3FS.js → code-PGE6A42V.js} +3 -3
  181. package/dist/cli/chunks/{code-index-extractor-PABBNUSC.js → code-index-extractor-RNITH372.js} +2 -2
  182. package/dist/cli/chunks/codex-installer-LBX77AI3.js +14 -0
  183. package/dist/cli/chunks/{completions-7RWHAUAR.js → completions-4AWLAARX.js} +2 -2
  184. package/dist/cli/chunks/{complexity-analyzer-XPOAF33E.js → complexity-analyzer-ZPNSS476.js} +2 -2
  185. package/dist/cli/chunks/{continuedev-installer-V4F2FIZP.js → continuedev-installer-UAPWX6OA.js} +2 -2
  186. package/dist/cli/chunks/{copilot-installer-JMICURQB.js → copilot-installer-BJN2YJGI.js} +2 -2
  187. package/dist/cli/chunks/core-handlers-HING5RRG.js +2 -0
  188. package/dist/cli/chunks/{cost-tracker-5OFHEYFJ.js → cost-tracker-MHP2VJ63.js} +2 -2
  189. package/dist/cli/chunks/{coverage-QKN57JDS.js → coverage-PQB4IEFG.js} +3 -3
  190. package/dist/cli/chunks/cross-domain-router-PQTD6AZN.js +2 -0
  191. package/dist/cli/chunks/{cursor-installer-GBJ7YXSM.js → cursor-installer-ZXBWYAS3.js} +2 -2
  192. package/dist/cli/chunks/{daemon-GKP7CMEK.js → daemon-64C7R6OJ.js} +3 -3
  193. package/dist/cli/chunks/{daemon-IAVSO6HK.js → daemon-N2BEGEFY.js} +4 -4
  194. package/dist/cli/chunks/{dag-attention-scheduler-S225TCI7.js → dag-attention-scheduler-SPZDAPNL.js} +2 -2
  195. package/dist/cli/chunks/{detect-IUYH422U.js → detect-LXJBSSZW.js} +2 -2
  196. package/dist/cli/chunks/{dist-node-2YRE6A7C.js → dist-node-U3TKZ2IZ.js} +2 -2
  197. package/dist/cli/chunks/{domain-handler-PL2TZC6H.js → domain-handler-3DDWUVSR.js} +2 -2
  198. package/dist/cli/chunks/{domain-plugins-HCGLXKIT.js → domain-plugins-JJVWI4OQ.js} +2 -2
  199. package/dist/cli/chunks/domain-transfer-M36KUJ2U.js +2 -0
  200. package/dist/cli/chunks/dream-WUGRSNCV.js +2 -0
  201. package/dist/cli/chunks/embed-and-insert-pattern-JPAR7TXX.js +3 -0
  202. package/dist/cli/chunks/{eval-WCK7KNFN.js → eval-SOLG23EA.js} +2 -2
  203. package/dist/cli/chunks/{experience-capture-middleware-2MSQWSAR.js → experience-capture-middleware-T7G2VOOD.js} +4 -4
  204. package/dist/cli/chunks/{fast-paths-VYOSIBKF.js → fast-paths-32N3ELI4.js} +2 -2
  205. package/dist/cli/chunks/{feature-flags-WCFUKHNQ.js → feature-flags-APJDQ4N7.js} +2 -2
  206. package/dist/cli/chunks/{feature-flags-UJRHFBRX.js → feature-flags-NAHKLDRN.js} +2 -2
  207. package/dist/cli/chunks/{file-discovery-JDGL4ZWS.js → file-discovery-YKVM3MDB.js} +2 -2
  208. package/dist/cli/chunks/{fleet-ROXVMZ2F.js → fleet-55M5CJS4.js} +3 -3
  209. package/dist/cli/chunks/{gnn-wrapper-NIO4ZCO3.js → gnn-wrapper-UD6E6S6Z.js} +2 -2
  210. package/dist/cli/chunks/{heartbeat-handler-PI42WD3C.js → heartbeat-handler-OYVW3VSC.js} +4 -4
  211. package/dist/cli/chunks/heartbeat-scheduler-33XX5XNQ.js +2 -0
  212. package/dist/cli/chunks/hnsw-adapter-XQPERX3H.js +2 -0
  213. package/dist/cli/chunks/hnsw-index-2GNXTWHH.js +2 -0
  214. package/dist/cli/chunks/{hnsw-legacy-bridge-YLC7SPK2.js → hnsw-legacy-bridge-HBYIS3ZW.js} +2 -2
  215. package/dist/cli/chunks/{hnswlib-node-LG6OS3B7.js → hnswlib-node-EQPM42OU.js} +2 -2
  216. package/dist/cli/chunks/{hooks-WVALP5GX.js → hooks-5ZSSJWO6.js} +10 -10
  217. package/dist/cli/chunks/hybrid-backend-CCF7URKI.js +2 -0
  218. package/dist/cli/chunks/{hypergraph-engine-GJEMW3EG.js → hypergraph-engine-XBGVQ4PD.js} +2 -2
  219. package/dist/cli/chunks/{hypergraph-handler-BLF6LXEV.js → hypergraph-handler-CAWAQ673.js} +3 -3
  220. package/dist/cli/chunks/impact-analyzer-HGKAZWIG.js +2 -0
  221. package/dist/cli/chunks/{init-handler-K25RWRYY.js → init-handler-PRHXSARK.js} +6 -6
  222. package/dist/cli/chunks/init-wizard-72MFBI3G.js +2 -0
  223. package/dist/cli/chunks/kernel-BRCBVMSK.js +2 -0
  224. package/dist/cli/chunks/{kilocode-installer-BXN6WZ7G.js → kilocode-installer-F7LXBM7I.js} +2 -2
  225. package/dist/cli/chunks/{kiro-installer-PM362DLN.js → kiro-installer-NM723ZRG.js} +2 -2
  226. package/dist/cli/chunks/knowledge-graph-DG44IPEI.js +2 -0
  227. package/dist/cli/chunks/{learning-CPERDDRG.js → learning-5QYIDHH3.js} +3 -3
  228. package/dist/cli/chunks/{llm-router-GOAV5FPI.js → llm-router-43HKWPSX.js} +4 -4
  229. package/dist/cli/chunks/llm-router-service-24KXFX32.js +2 -0
  230. package/dist/cli/chunks/{load-2BG6SHAK.js → load-5YDBWSCS.js} +2 -2
  231. package/dist/cli/chunks/load-test-N4TAYJY3.js +2 -0
  232. package/dist/cli/chunks/mcp-UMAPMNMY.js +2 -0
  233. package/dist/cli/chunks/{memory-4NHBYT6S.js → memory-FWCPCQFP.js} +6 -6
  234. package/dist/cli/chunks/memory-backend-NVYFYVAU.js +2 -0
  235. package/dist/cli/chunks/memory-handlers-UTWCNCHL.js +2 -0
  236. package/dist/cli/chunks/multi-model-executor-2XTBGLE4.js +14 -0
  237. package/dist/cli/chunks/{opencode-installer-ATZLLK74.js → opencode-installer-GIXOJ6NS.js} +2 -2
  238. package/dist/cli/chunks/orchestrator-VW6BKHLI.js +393 -0
  239. package/dist/cli/chunks/pattern-null-store-SBPNYDBR.js +2 -0
  240. package/dist/cli/chunks/{pattern-usage-recorder-7VE4XDAI.js → pattern-usage-recorder-7CEUC3J7.js} +2 -2
  241. package/dist/cli/chunks/{pipeline-LQZSNDD2.js → pipeline-IGUQPPPO.js} +2 -2
  242. package/dist/cli/chunks/platform-2P636I7B.js +2 -0
  243. package/dist/cli/chunks/{plugin-EJ6K2MGU.js → plugin-NY6SWDPE.js} +2 -2
  244. package/dist/cli/chunks/{prime-radiant-advanced-wasm-OIHTKJMN.js → prime-radiant-advanced-wasm-2UUDTIO2.js} +2 -2
  245. package/dist/cli/chunks/project-root-IOISG5KX.js +2 -0
  246. package/dist/cli/chunks/protocol-executor-IBYEII5Q.js +2 -0
  247. package/dist/cli/chunks/{protocol-handler-NRBROAU7.js → protocol-handler-ZTPCRQ5W.js} +2 -2
  248. package/dist/cli/chunks/{prove-EJOGEGD3.js → prove-SQX5A3IG.js} +2 -2
  249. package/dist/cli/chunks/qe-reasoning-bank-7IETWW6W.js +2 -0
  250. package/dist/cli/chunks/{quality-E55UC73D.js → quality-DROILKRY.js} +2 -2
  251. package/dist/cli/chunks/{quality-gate-OIQATNT3.js → quality-gate-PWKWDJY2.js} +3 -3
  252. package/dist/cli/chunks/queen-coordinator-NHUK2MWJ.js +2 -0
  253. package/dist/cli/chunks/real-embeddings-P5U3MGYC.js +2 -0
  254. package/dist/cli/chunks/{ref-validation-OPO6J7OL.js → ref-validation-KY73NQXD.js} +2 -2
  255. package/dist/cli/chunks/{roocode-installer-ODY5KRWU.js → roocode-installer-6JPPRB3W.js} +2 -2
  256. package/dist/cli/chunks/router-SRSO3IHF.js +2 -0
  257. package/dist/cli/chunks/routing-feedback-PASRE5HY.js +2 -0
  258. package/dist/cli/chunks/{routing-handler-KQM6VWLC.js → routing-handler-VTJIVFUO.js} +2 -2
  259. package/dist/cli/chunks/{ruvector-commands-U2GVV6PF.js → ruvector-commands-C6RPSJJO.js} +2 -2
  260. package/dist/cli/chunks/rvf-dual-writer-4M4J67OU.js +2 -0
  261. package/dist/cli/chunks/rvf-migration-adapter-TSXGT5LF.js +2 -0
  262. package/dist/cli/chunks/rvf-migration-coordinator-R53URRIO.js +2 -0
  263. package/dist/cli/chunks/rvf-native-adapter-MOF3E7BR.js +2 -0
  264. package/dist/cli/chunks/{rvf-store-integrity-KMIHD3LP.js → rvf-store-integrity-MMXN5TEJ.js} +2 -2
  265. package/dist/cli/chunks/safe-db-QJLFO33B.js +2 -0
  266. package/dist/cli/chunks/schedule-YIVXW5O2.js +2 -0
  267. package/dist/cli/chunks/scheduler-AON7DWSJ.js +2 -0
  268. package/dist/cli/chunks/{security-P5NM353C.js → security-3B3R2NL4.js} +3 -3
  269. package/dist/cli/chunks/shared-rvf-adapter-VIJB7JUS.js +2 -0
  270. package/dist/cli/chunks/{shared-rvf-dual-writer-2CSG7C4W.js → shared-rvf-dual-writer-UVWGDUWC.js} +2 -2
  271. package/dist/cli/chunks/sqlite-persistence-75VHKKQB.js +2 -0
  272. package/dist/cli/chunks/standalone-memory-M4LWAAYZ.js +2 -0
  273. package/dist/cli/chunks/{status-handler-6TU6O37R.js → status-handler-YYFV6OZL.js} +2 -2
  274. package/dist/cli/chunks/{structural-health-KBIJSTXJ.js → structural-health-27E6LLKB.js} +2 -2
  275. package/dist/cli/chunks/sync-26CEGSTC.js +2 -0
  276. package/dist/cli/chunks/{sync-LNHI5SB7.js → sync-J3LJ56WN.js} +2 -2
  277. package/dist/cli/chunks/task-handler-4MCEBQZL.js +54 -0
  278. package/dist/cli/chunks/task-handlers-GYBAWKE2.js +9 -0
  279. package/dist/cli/chunks/{test-DHAAI3DU.js → test-MPC5HRH5.js} +4 -4
  280. package/dist/cli/chunks/{test-scheduling-XDBZ3QC2.js → test-scheduling-ZJBFRZ3J.js} +3 -3
  281. package/dist/cli/chunks/token-bootstrap-2Y2XITBX.js +2 -0
  282. package/dist/cli/chunks/{token-usage-Q2YG5YQN.js → token-usage-3X5WMTG2.js} +2 -2
  283. package/dist/cli/chunks/{transformers-F5UQTQCY.js → transformers-MVL4C5IX.js} +2 -2
  284. package/dist/cli/chunks/tree-sitter-wasm-parser-SLW65ZFO.js +2 -0
  285. package/dist/cli/chunks/{types-JQ7EQO5Q.js → types-TG5P3CRS.js} +2 -2
  286. package/dist/cli/chunks/unified-memory-UCQ6AB32.js +2 -0
  287. package/dist/cli/chunks/unified-memory-hnsw-IXYUMKRR.js +2 -0
  288. package/dist/cli/chunks/unified-persistence-7E6JQ4FZ.js +2 -0
  289. package/dist/cli/chunks/{upgrade-TJRVGHGD.js → upgrade-ETBHDEPY.js} +2 -2
  290. package/dist/cli/chunks/{validate-BWPCVHBN.js → validate-C2A73LZK.js} +2 -2
  291. package/dist/cli/chunks/{validate-swarm-QVVKCQLP.js → validate-swarm-67XN42ML.js} +2 -2
  292. package/dist/cli/chunks/{vibium-ZFATIWHO.js → vibium-NILGKHLN.js} +2 -2
  293. package/dist/cli/chunks/visual-security-4VZXPEVG.js +2 -0
  294. package/dist/cli/chunks/{web-tree-sitter-KPLY7ONR.js → web-tree-sitter-USJN77P4.js} +2 -2
  295. package/dist/cli/chunks/{windsurf-installer-H7XM7ISA.js → windsurf-installer-5GGZXGJW.js} +2 -2
  296. package/dist/cli/chunks/witness-chain-IWS5ZHHL.js +2 -0
  297. package/dist/cli/chunks/witness-chain-JQA2VPZI.js +2 -0
  298. package/dist/cli/chunks/witness-chain-repair-4UA7IPS3.js +2 -0
  299. package/dist/cli/chunks/witness-chain-verifier-3GEADWPE.js +2 -0
  300. package/dist/cli/chunks/{witness-key-manager-DFRL42GE.js → witness-key-manager-ZWEIK3VJ.js} +2 -2
  301. package/dist/cli/chunks/{workflow-2ZQO6WYI.js → workflow-KHMVVBBA.js} +4 -4
  302. package/dist/cli/chunks/workflow-orchestrator-GI5NQH7C.js +2 -0
  303. package/dist/cli/chunks/wrappers-N6XIK5PT.js +2 -0
  304. package/dist/cli/commands/audit.d.ts +20 -2
  305. package/dist/cli/commands/audit.js +158 -16
  306. package/dist/cli/commands/claude-flow-setup.js +5 -4
  307. package/dist/cli/commands/mcp.js +6 -0
  308. package/dist/cli/commands/memory.d.ts +1 -1
  309. package/dist/cli/commands/memory.js +8 -8
  310. package/dist/cli/commands/platform.js +15 -2
  311. package/dist/cli/commands/upgrade.d.ts +3 -3
  312. package/dist/cli/commands/upgrade.js +3 -3
  313. package/dist/cli/handlers/init-handler.d.ts +10 -0
  314. package/dist/cli/handlers/task-handler.js +24 -3
  315. package/dist/cli/helpers/standalone-memory.d.ts +12 -0
  316. package/dist/cli/helpers/standalone-memory.js +46 -0
  317. package/dist/cli/index.js +39 -42
  318. package/dist/cli/log-gate.d.ts +66 -0
  319. package/dist/cli/log-gate.js +170 -0
  320. package/dist/init/agents-installer.d.ts +4 -0
  321. package/dist/init/agents-installer.js +24 -11
  322. package/dist/init/codex-installer.js +22 -8
  323. package/dist/init/idempotent-write.d.ts +53 -0
  324. package/dist/init/idempotent-write.js +160 -0
  325. package/dist/init/orchestrator.js +1 -0
  326. package/dist/init/phases/05-learning.js +3 -1
  327. package/dist/init/phases/07-hooks.js +32 -16
  328. package/dist/init/phases/08-mcp.js +4 -2
  329. package/dist/init/phases/09-assets.d.ts +10 -0
  330. package/dist/init/phases/09-assets.js +3 -0
  331. package/dist/init/phases/10-workers.js +7 -5
  332. package/dist/init/phases/12-verification.js +7 -2
  333. package/dist/init/project-analyzer.d.ts +9 -0
  334. package/dist/init/project-analyzer.js +20 -1
  335. package/dist/init/self-configurator.d.ts +5 -3
  336. package/dist/init/self-configurator.js +18 -29
  337. package/dist/init/skills-installer.js +4 -2
  338. package/dist/init/token-bootstrap.d.ts +1 -1
  339. package/dist/init/token-bootstrap.js +12 -2
  340. package/dist/init/types.d.ts +16 -0
  341. package/dist/init/types.js +20 -24
  342. package/dist/integrations/coherence/coherence-service.js +84 -24
  343. package/dist/integrations/coherence/vote-tally.d.ts +38 -0
  344. package/dist/integrations/coherence/vote-tally.js +39 -0
  345. package/dist/integrations/ruvector/brain-exporter.js +17 -0
  346. package/dist/integrations/ruvector/brain-import-audit.d.ts +20 -0
  347. package/dist/integrations/ruvector/brain-import-audit.js +22 -0
  348. package/dist/integrations/ruvector/brain-rvf-exporter.js +16 -0
  349. package/dist/integrations/ruvector/brain-shared.js +1 -1
  350. package/dist/integrations/ruvector/rvf-dual-writer.js +6 -1
  351. package/dist/integrations/ruvector/shared-rvf-adapter.d.ts +23 -0
  352. package/dist/integrations/ruvector/shared-rvf-adapter.js +24 -0
  353. package/dist/kernel/hybrid-backend.d.ts +6 -0
  354. package/dist/kernel/hybrid-backend.js +18 -0
  355. package/dist/kernel/kernel.js +12 -16
  356. package/dist/kernel/project-root.d.ts +1 -1
  357. package/dist/kernel/project-root.js +24 -3
  358. package/dist/learning/embedder-identity-store.js +4 -3
  359. package/dist/learning/pattern-store.d.ts +11 -0
  360. package/dist/learning/pattern-store.js +31 -9
  361. package/dist/learning/qe-patterns.d.ts +6 -0
  362. package/dist/learning/qe-patterns.js +7 -1
  363. package/dist/learning/qe-reasoning-bank.js +3 -0
  364. package/dist/learning/real-embeddings.d.ts +8 -0
  365. package/dist/learning/real-embeddings.js +16 -0
  366. package/dist/learning/rvf-pattern-store.js +30 -10
  367. package/dist/learning/sqlite-persistence.d.ts +8 -1
  368. package/dist/learning/sqlite-persistence.js +49 -9
  369. package/dist/logging/console-logger.d.ts +2 -5
  370. package/dist/logging/console-logger.js +10 -46
  371. package/dist/logging/index.d.ts +2 -0
  372. package/dist/logging/index.js +1 -0
  373. package/dist/logging/redaction.d.ts +27 -0
  374. package/dist/logging/redaction.js +170 -0
  375. package/dist/mcp/bundle.js +463 -449
  376. package/dist/mcp/entry.js +2 -0
  377. package/dist/mcp/handlers/core-handlers.js +5 -4
  378. package/dist/mcp/handlers/memory-handlers.d.ts +6 -1
  379. package/dist/mcp/handlers/memory-handlers.js +44 -22
  380. package/dist/mcp/handlers/task-handlers.js +14 -1
  381. package/dist/mcp/protocol-server.js +3 -1
  382. package/dist/mcp/services/session-store.js +5 -1
  383. package/dist/mcp/tools/base.d.ts +9 -2
  384. package/dist/mcp/tools/base.js +7 -0
  385. package/dist/mcp/tools/coherence/consensus.js +51 -2
  386. package/dist/mcp/tools/planning/goap-plan.d.ts +20 -7
  387. package/dist/mcp/tools/planning/goap-plan.js +92 -20
  388. package/dist/mcp/tools/planning/goap-status.d.ts +37 -12
  389. package/dist/mcp/tools/planning/goap-status.js +52 -23
  390. package/dist/mcp/tools/planning/world-state.d.ts +101 -0
  391. package/dist/mcp/tools/planning/world-state.js +274 -0
  392. package/dist/mcp/types.d.ts +4 -2
  393. package/dist/planning/goap-planner.d.ts +60 -4
  394. package/dist/planning/goap-planner.js +218 -60
  395. package/dist/planning/index.d.ts +1 -1
  396. package/dist/planning/index.js +1 -1
  397. package/dist/planning/plan-executor.d.ts +20 -1
  398. package/dist/planning/plan-executor.js +209 -100
  399. package/dist/planning/types.d.ts +16 -0
  400. package/dist/planning/types.js +17 -0
  401. package/dist/plugins/cache.d.ts +2 -0
  402. package/dist/plugins/cache.js +15 -2
  403. package/dist/plugins/lifecycle.js +15 -2
  404. package/dist/plugins/manifest.js +7 -5
  405. package/dist/plugins/resolver.d.ts +13 -22
  406. package/dist/plugins/resolver.js +169 -61
  407. package/dist/plugins/version-policy.d.ts +13 -0
  408. package/dist/plugins/version-policy.js +18 -0
  409. package/dist/shared/types/index.d.ts +6 -0
  410. package/dist/shared/types/index.js +8 -0
  411. package/package.json +2 -1
  412. package/dist/cli/chunks/adapter-TNNNJRDG.js +0 -2
  413. package/dist/cli/chunks/agent-booster-wasm-5PC7D2FW.js +0 -2
  414. package/dist/cli/chunks/aqe-learning-engine-5ZRMYJLB.js +0 -2
  415. package/dist/cli/chunks/audit-YSGA7UWT.js +0 -3
  416. package/dist/cli/chunks/base-KWZHOPSH.js +0 -2
  417. package/dist/cli/chunks/brain-handler-ET6YAP4B.js +0 -90
  418. package/dist/cli/chunks/browser-workflow-2FZTKDUL.js +0 -2
  419. package/dist/cli/chunks/chunk-33YYYWBQ.js +0 -4
  420. package/dist/cli/chunks/chunk-5Z6XZV7K.js +0 -65
  421. package/dist/cli/chunks/chunk-6J62K3SW.js +0 -2
  422. package/dist/cli/chunks/chunk-6TPKK7LD.js +0 -15
  423. package/dist/cli/chunks/chunk-DEYLEDJN.js +0 -27
  424. package/dist/cli/chunks/chunk-J6GNQS62.js +0 -5
  425. package/dist/cli/chunks/chunk-KGT36Z42.js +0 -14
  426. package/dist/cli/chunks/chunk-NA7B2QYB.js +0 -2
  427. package/dist/cli/chunks/chunk-NDPFGIMJ.js +0 -13
  428. package/dist/cli/chunks/chunk-OBAP2TXZ.js +0 -2
  429. package/dist/cli/chunks/chunk-PEPFCPES.js +0 -2
  430. package/dist/cli/chunks/chunk-T6BVLVI5.js +0 -2
  431. package/dist/cli/chunks/chunk-TT23RRB7.js +0 -2
  432. package/dist/cli/chunks/chunk-XC7DYDSY.js +0 -180
  433. package/dist/cli/chunks/chunk-XWMZ6D6N.js +0 -2
  434. package/dist/cli/chunks/chunk-Y3MW3YBC.js +0 -3
  435. package/dist/cli/chunks/claude-flow-setup-6JKMBPGU.js +0 -2
  436. package/dist/cli/chunks/client-7E4LM2WW.js +0 -2
  437. package/dist/cli/chunks/codex-installer-CQ24DTP5.js +0 -14
  438. package/dist/cli/chunks/core-handlers-IFG3757P.js +0 -2
  439. package/dist/cli/chunks/cross-domain-router-EK7W4PGP.js +0 -2
  440. package/dist/cli/chunks/domain-transfer-KQJRUPXA.js +0 -2
  441. package/dist/cli/chunks/dream-NFSCSLY7.js +0 -2
  442. package/dist/cli/chunks/embed-and-insert-pattern-ZPAG7235.js +0 -3
  443. package/dist/cli/chunks/heartbeat-scheduler-ZATCDJDK.js +0 -2
  444. package/dist/cli/chunks/hnsw-adapter-WXQABRCA.js +0 -2
  445. package/dist/cli/chunks/hnsw-index-TPSWLEA5.js +0 -2
  446. package/dist/cli/chunks/impact-analyzer-HNIU45P5.js +0 -2
  447. package/dist/cli/chunks/init-wizard-JUIPBMHG.js +0 -2
  448. package/dist/cli/chunks/kernel-5BOZQ754.js +0 -2
  449. package/dist/cli/chunks/knowledge-graph-EWDAENWM.js +0 -2
  450. package/dist/cli/chunks/llm-router-service-3YT7JGBS.js +0 -2
  451. package/dist/cli/chunks/load-test-BP2CPLIV.js +0 -2
  452. package/dist/cli/chunks/mcp-5TTB37DC.js +0 -2
  453. package/dist/cli/chunks/memory-backend-4PYQBPRM.js +0 -2
  454. package/dist/cli/chunks/memory-handlers-2B27NITS.js +0 -2
  455. package/dist/cli/chunks/multi-model-executor-KCWSGCDT.js +0 -14
  456. package/dist/cli/chunks/orchestrator-RKB7XJRG.js +0 -393
  457. package/dist/cli/chunks/pattern-null-store-OYOQOV2O.js +0 -2
  458. package/dist/cli/chunks/platform-OD5H5U6G.js +0 -2
  459. package/dist/cli/chunks/protocol-executor-3ATJTXWG.js +0 -2
  460. package/dist/cli/chunks/qe-reasoning-bank-LLMYZT4X.js +0 -2
  461. package/dist/cli/chunks/queen-coordinator-RN7L6KG5.js +0 -2
  462. package/dist/cli/chunks/real-embeddings-FPFFNOSZ.js +0 -2
  463. package/dist/cli/chunks/router-MDHITQ2V.js +0 -2
  464. package/dist/cli/chunks/routing-feedback-5XLNJ3Y3.js +0 -2
  465. package/dist/cli/chunks/rvf-dual-writer-JBW4O3II.js +0 -2
  466. package/dist/cli/chunks/rvf-migration-adapter-BPPQL4XJ.js +0 -2
  467. package/dist/cli/chunks/rvf-migration-coordinator-V2GHCJKN.js +0 -2
  468. package/dist/cli/chunks/rvf-native-adapter-S4562CG5.js +0 -2
  469. package/dist/cli/chunks/safe-db-FIRHSXVF.js +0 -2
  470. package/dist/cli/chunks/schedule-RVXFB4HK.js +0 -2
  471. package/dist/cli/chunks/scheduler-IKKAMAOO.js +0 -2
  472. package/dist/cli/chunks/shared-rvf-adapter-LVIUOO4S.js +0 -2
  473. package/dist/cli/chunks/sqlite-persistence-SQ3HCUQ7.js +0 -2
  474. package/dist/cli/chunks/sync-UHOX6RJW.js +0 -2
  475. package/dist/cli/chunks/task-handler-AVDHMLGI.js +0 -49
  476. package/dist/cli/chunks/task-handlers-KYK4VTRA.js +0 -9
  477. package/dist/cli/chunks/token-bootstrap-GUTTLPZX.js +0 -2
  478. package/dist/cli/chunks/tree-sitter-wasm-parser-DEGOHS6F.js +0 -2
  479. package/dist/cli/chunks/unified-memory-CXHLHB5I.js +0 -2
  480. package/dist/cli/chunks/unified-memory-hnsw-I7WAE54M.js +0 -2
  481. package/dist/cli/chunks/unified-persistence-6CPF65WI.js +0 -2
  482. package/dist/cli/chunks/visual-security-GNPHME5H.js +0 -2
  483. package/dist/cli/chunks/witness-chain-RRN6NDCH.js +0 -2
  484. package/dist/cli/chunks/witness-chain-VT4UHHBR.js +0 -2
  485. package/dist/cli/chunks/workflow-orchestrator-DB3HIECD.js +0 -2
  486. package/dist/cli/chunks/wrappers-SUS6XEJD.js +0 -2
@@ -9,7 +9,16 @@
9
9
  */
10
10
  import { MCPToolBase, } from '../base.js';
11
11
  import { toErrorMessage } from '../../../shared/error-utils.js';
12
- import { getSharedGOAPPlanner, DEFAULT_V3_WORLD_STATE, } from '../../../planning/index.js';
12
+ import { getSharedGOAPPlanner, validateMaxSteps, } from '../../../planning/index.js';
13
+ import { detectWorldState, overlayCallerState, validateWorldStatePatch, defaultedFields, } from './world-state.js';
14
+ /** Constraint keys goap_plan understands; anything else is rejected (#535). */
15
+ const KNOWN_CONSTRAINT_KEYS = [
16
+ 'maxCost',
17
+ 'maxDurationMs',
18
+ 'maxSteps',
19
+ 'requiredAgentTypes',
20
+ 'excludedActions',
21
+ ];
13
22
  // ============================================================================
14
23
  // Tool Implementation
15
24
  // ============================================================================
@@ -19,7 +28,13 @@ import { getSharedGOAPPlanner, DEFAULT_V3_WORLD_STATE, } from '../../../planning
19
28
  * Finds optimal action sequences to achieve QE goals using A* search.
20
29
  */
21
30
  export class GOAPPlanTool extends MCPToolBase {
31
+ worldStateSources;
22
32
  planner = null;
33
+ /** World-state sources; injectable for tests (defaults read live state). */
34
+ constructor(worldStateSources = {}) {
35
+ super();
36
+ this.worldStateSources = worldStateSources;
37
+ }
23
38
  config = {
24
39
  name: 'qe/planning/goap_plan',
25
40
  description: 'Find optimal action plan to achieve a QE goal using A* search. ' +
@@ -52,6 +67,11 @@ export class GOAPPlanTool extends MCPToolBase {
52
67
  type: 'number',
53
68
  description: 'Maximum total duration in milliseconds',
54
69
  },
70
+ maxSteps: {
71
+ type: 'number',
72
+ description: 'Maximum number of steps (actions) in the plan; positive integer',
73
+ minimum: 1,
74
+ },
55
75
  requiredAgentTypes: {
56
76
  type: 'array',
57
77
  description: 'Only use actions that these agent types can execute',
@@ -87,12 +107,18 @@ export class GOAPPlanTool extends MCPToolBase {
87
107
  /**
88
108
  * Execute the GOAP planning
89
109
  */
90
- async execute(params, context) {
110
+ async execute(params, _context) {
91
111
  try {
112
+ // Issue #535: nested constraint properties aren't covered by the base
113
+ // schema validation (and the MCP bridge only exposes top-level
114
+ // params), so validate them here instead of silently ignoring them.
115
+ const constraintError = this.validateConstraints(params.constraints);
116
+ if (constraintError) {
117
+ return { success: false, error: constraintError };
118
+ }
92
119
  const planner = await this.getPlanner();
93
120
  // Resolve goal to conditions
94
121
  let goalConditions;
95
- let goalName;
96
122
  if (typeof params.goal === 'string') {
97
123
  // Look up named goal
98
124
  const namedGoals = await planner.getGoals();
@@ -105,20 +131,34 @@ export class GOAPPlanTool extends MCPToolBase {
105
131
  };
106
132
  }
107
133
  goalConditions = found.conditions;
108
- goalName = found.name;
109
134
  }
110
135
  else {
111
136
  // Use custom goal conditions
112
137
  goalConditions = params.goal;
113
- goalName = 'custom';
114
138
  }
115
- // Get current state or use default
116
- const currentState = params.currentState || await this.detectCurrentState();
139
+ // Issue #535: start from the live/measured world state (not a static
140
+ // DEFAULT_V3_WORLD_STATE copy), overlaid with any caller-supplied
141
+ // fields, and keep track of which values are assumptions.
142
+ if (params.currentState !== undefined) {
143
+ const stateError = validateWorldStatePatch(params.currentState, [
144
+ ...planner.getReferencedStateKeys(),
145
+ ...Object.keys(goalConditions),
146
+ ]);
147
+ if (stateError) {
148
+ return { success: false, error: `Invalid currentState: ${stateError}` };
149
+ }
150
+ }
151
+ const detected = params.currentState
152
+ ? overlayCallerState(await detectWorldState(this.worldStateSources), params.currentState)
153
+ : await detectWorldState(this.worldStateSources);
154
+ const currentState = detected.state;
155
+ const defaulted = defaultedFields(detected.provenance);
117
156
  // Build constraints
118
157
  const constraints = params.constraints
119
158
  ? {
120
159
  maxCost: params.constraints.maxCost,
121
160
  maxDurationMs: params.constraints.maxDurationMs,
161
+ maxSteps: params.constraints.maxSteps,
122
162
  requiredAgentTypes: params.constraints.requiredAgentTypes,
123
163
  excludedActions: params.constraints.excludedActions,
124
164
  }
@@ -126,14 +166,23 @@ export class GOAPPlanTool extends MCPToolBase {
126
166
  // Find plan using A* search
127
167
  const plan = await planner.findPlan(currentState, goalConditions, constraints);
128
168
  if (!plan) {
169
+ const stepHint = constraints?.maxSteps !== undefined
170
+ ? ` (maxSteps: ${constraints.maxSteps} — the goal may need more steps)`
171
+ : '';
129
172
  return {
130
173
  success: false,
131
- error: 'No valid plan found for the given goal and constraints. ' +
174
+ error: `No valid plan found for the given goal and constraints${stepHint}. ` +
132
175
  'Try relaxing constraints or seeding more actions.',
133
176
  };
134
177
  }
135
- // Mark as real data
136
- this.markAsRealData();
178
+ // The search is real; the start state is only 'real' if nothing in it
179
+ // was an assumed default.
180
+ if (defaulted.length === 0) {
181
+ this.markAsRealData();
182
+ }
183
+ else {
184
+ this.markAsEstimatedData();
185
+ }
137
186
  return {
138
187
  success: true,
139
188
  data: {
@@ -151,6 +200,8 @@ export class GOAPPlanTool extends MCPToolBase {
151
200
  stepCount: plan.actions.length,
152
201
  reusedFrom: plan.reusedFrom,
153
202
  similarityScore: plan.similarityScore,
203
+ stateProvenance: detected.provenance,
204
+ defaultedFields: defaulted,
154
205
  },
155
206
  };
156
207
  }
@@ -162,17 +213,38 @@ export class GOAPPlanTool extends MCPToolBase {
162
213
  }
163
214
  }
164
215
  /**
165
- * Detect current world state
166
- * In a full implementation, this would integrate with actual QE metrics
216
+ * Validate `constraints` (issue #535): must be an object, only known keys,
217
+ * numeric limits must be numbers, maxSteps a positive integer, and the
218
+ * list constraints string arrays.
167
219
  */
168
- async detectCurrentState() {
169
- // Return default state for now
170
- // Real implementation would query:
171
- // - Coverage metrics from coverage-analysis domain
172
- // - Test results from test-execution domain
173
- // - Security scores from security-compliance domain
174
- // - Fleet status from coordination
175
- return { ...DEFAULT_V3_WORLD_STATE };
220
+ validateConstraints(constraints) {
221
+ if (constraints === undefined || constraints === null)
222
+ return null;
223
+ if (typeof constraints !== 'object' || Array.isArray(constraints)) {
224
+ return 'constraints must be an object';
225
+ }
226
+ const c = constraints;
227
+ const unknownKeys = Object.keys(c).filter((k) => !KNOWN_CONSTRAINT_KEYS.includes(k));
228
+ if (unknownKeys.length > 0) {
229
+ return (`Unknown constraint(s): ${unknownKeys.join(', ')}. ` +
230
+ `Supported constraints: ${KNOWN_CONSTRAINT_KEYS.join(', ')}`);
231
+ }
232
+ for (const key of ['maxCost', 'maxDurationMs']) {
233
+ const v = c[key];
234
+ if (v !== undefined && (typeof v !== 'number' || !Number.isFinite(v) || v < 0)) {
235
+ return `constraints.${key} must be a non-negative number, got ${String(v)}`;
236
+ }
237
+ }
238
+ const stepsError = validateMaxSteps(c.maxSteps);
239
+ if (stepsError)
240
+ return stepsError;
241
+ for (const key of ['requiredAgentTypes', 'excludedActions']) {
242
+ const v = c[key];
243
+ if (v !== undefined && (!Array.isArray(v) || !v.every((x) => typeof x === 'string'))) {
244
+ return `constraints.${key} must be an array of strings`;
245
+ }
246
+ }
247
+ return null;
176
248
  }
177
249
  }
178
250
  //# sourceMappingURL=goap-plan.js.map
@@ -9,6 +9,7 @@
9
9
  */
10
10
  import { MCPToolBase, MCPToolConfig, MCPToolContext } from '../base.js';
11
11
  import { ToolResult } from '../../types.js';
12
+ import { type WorldStateProvenance, type WorldStateSources } from './world-state.js';
12
13
  /**
13
14
  * Status type to query
14
15
  */
@@ -29,28 +30,44 @@ export interface GOAPStatusParams {
29
30
  [key: string]: unknown;
30
31
  }
31
32
  /**
32
- * World state status result
33
+ * World state status result.
34
+ *
35
+ * Issue #535: values that are not observed from a live source are reported
36
+ * as `null` (not the planner's optimistic defaults such as securityScore
37
+ * 100), and `provenance` names the source of every field.
33
38
  */
34
39
  export interface WorldStateResult {
35
40
  coverage: {
36
- line: number;
37
- branch: number;
38
- function: number;
41
+ line: number | null;
42
+ branch: number | null;
43
+ function: number | null;
39
44
  measured: boolean;
45
+ /** Coverage report the values were read from, when measured. */
46
+ report?: {
47
+ source: string;
48
+ measuredAt: string;
49
+ };
40
50
  };
41
51
  quality: {
42
- testsPassing: number;
43
- securityScore: number;
44
- performanceScore: number;
52
+ testsPassing: number | null;
53
+ securityScore: number | null;
54
+ performanceScore: number | null;
45
55
  };
46
56
  fleet: {
57
+ /** Whether a fleet (fleet_init) is running in this MCP server process. */
58
+ initialized: boolean;
47
59
  activeAgents: number;
48
- maxAgents: number;
60
+ maxAgents: number | null;
61
+ availableAgents: string[];
49
62
  };
50
63
  resources: {
51
- timeRemaining: number;
52
- parallelSlots: number;
64
+ timeRemaining: number | null;
65
+ parallelSlots: number | null;
53
66
  };
67
+ /** Dotted field path -> 'live' | 'measured' | 'caller' | 'default'. */
68
+ provenance: WorldStateProvenance;
69
+ /** Fields the planner would fill with DEFAULT_V3_WORLD_STATE assumptions. */
70
+ defaultedFields: string[];
54
71
  }
55
72
  /**
56
73
  * Goals status result
@@ -132,8 +149,11 @@ export type GOAPStatusResult = {
132
149
  * Query GOAP system status for world state, goals, actions, or plans.
133
150
  */
134
151
  export declare class GOAPStatusTool extends MCPToolBase<GOAPStatusParams, GOAPStatusResult> {
152
+ private readonly worldStateSources;
135
153
  private planner;
136
154
  private executor;
155
+ /** World-state sources; injectable for tests (defaults read live state). */
156
+ constructor(worldStateSources?: WorldStateSources);
137
157
  readonly config: MCPToolConfig;
138
158
  private buildSchema;
139
159
  /**
@@ -151,9 +171,14 @@ export declare class GOAPStatusTool extends MCPToolBase<GOAPStatusParams, GOAPSt
151
171
  /**
152
172
  * Execute the status query
153
173
  */
154
- execute(params: GOAPStatusParams, context: MCPToolContext): Promise<ToolResult<GOAPStatusResult>>;
174
+ execute(params: GOAPStatusParams, _context: MCPToolContext): Promise<ToolResult<GOAPStatusResult>>;
155
175
  /**
156
- * Get current world state
176
+ * Get current world state.
177
+ *
178
+ * Issue #535: previously returned a static DEFAULT_V3_WORLD_STATE copy
179
+ * (fleet.activeAgents always 0) and called markAsRealData() on it. Now
180
+ * reads the live fleet and any coverage report, reports unobserved values
181
+ * as null, and only claims 'real' when nothing was defaulted.
157
182
  */
158
183
  private getWorldState;
159
184
  /**
@@ -9,7 +9,8 @@
9
9
  */
10
10
  import { MCPToolBase, } from '../base.js';
11
11
  import { toErrorMessage } from '../../../shared/error-utils.js';
12
- import { getSharedGOAPPlanner, createMockExecutor, DEFAULT_V3_WORLD_STATE, getAllQEActions, } from '../../../planning/index.js';
12
+ import { getSharedGOAPPlanner, createMockExecutor, getAllQEActions, } from '../../../planning/index.js';
13
+ import { detectWorldState, defaultedFields, } from './world-state.js';
13
14
  // ============================================================================
14
15
  // Tool Implementation
15
16
  // ============================================================================
@@ -19,8 +20,14 @@ import { getSharedGOAPPlanner, createMockExecutor, DEFAULT_V3_WORLD_STATE, getAl
19
20
  * Query GOAP system status for world state, goals, actions, or plans.
20
21
  */
21
22
  export class GOAPStatusTool extends MCPToolBase {
23
+ worldStateSources;
22
24
  planner = null;
23
25
  executor = null;
26
+ /** World-state sources; injectable for tests (defaults read live state). */
27
+ constructor(worldStateSources = {}) {
28
+ super();
29
+ this.worldStateSources = worldStateSources;
30
+ }
24
31
  config = {
25
32
  name: 'qe/planning/goap_status',
26
33
  description: 'Get GOAP system status: world state, available goals, actions, or plans. ' +
@@ -93,7 +100,7 @@ export class GOAPStatusTool extends MCPToolBase {
93
100
  /**
94
101
  * Execute the status query
95
102
  */
96
- async execute(params, context) {
103
+ async execute(params, _context) {
97
104
  try {
98
105
  switch (params.type) {
99
106
  case 'world':
@@ -121,37 +128,60 @@ export class GOAPStatusTool extends MCPToolBase {
121
128
  }
122
129
  }
123
130
  /**
124
- * Get current world state
131
+ * Get current world state.
132
+ *
133
+ * Issue #535: previously returned a static DEFAULT_V3_WORLD_STATE copy
134
+ * (fleet.activeAgents always 0) and called markAsRealData() on it. Now
135
+ * reads the live fleet and any coverage report, reports unobserved values
136
+ * as null, and only claims 'real' when nothing was defaulted.
125
137
  */
126
138
  async getWorldState() {
127
- // In a full implementation, this would query actual metrics
128
- // For now, return the default state with some variation
129
- const state = { ...DEFAULT_V3_WORLD_STATE };
130
- this.markAsRealData();
139
+ const detected = await detectWorldState(this.worldStateSources);
140
+ const { state, provenance } = detected;
141
+ const observed = (field) => provenance[field] !== 'default';
142
+ const valueIfObserved = (field, value) => observed(field) ? value : null;
143
+ const defaulted = defaultedFields(provenance);
144
+ const exposedFields = [
145
+ 'coverage.line', 'coverage.branch', 'coverage.function',
146
+ 'quality.testsPassing', 'quality.securityScore', 'quality.performanceScore',
147
+ 'fleet.activeAgents', 'fleet.maxAgents',
148
+ 'resources.timeRemaining', 'resources.parallelSlots',
149
+ ];
150
+ if (exposedFields.every(observed)) {
151
+ this.markAsRealData();
152
+ }
153
+ else {
154
+ this.markAsEstimatedData();
155
+ }
131
156
  return {
132
157
  success: true,
133
158
  data: {
134
159
  type: 'world',
135
160
  data: {
136
161
  coverage: {
137
- line: state.coverage.line,
138
- branch: state.coverage.branch,
139
- function: state.coverage.function,
162
+ line: valueIfObserved('coverage.line', state.coverage.line),
163
+ branch: valueIfObserved('coverage.branch', state.coverage.branch),
164
+ function: valueIfObserved('coverage.function', state.coverage.function),
140
165
  measured: state.coverage.measured,
166
+ ...(detected.coverageReport ? { report: detected.coverageReport } : {}),
141
167
  },
142
168
  quality: {
143
- testsPassing: state.quality.testsPassing,
144
- securityScore: state.quality.securityScore,
145
- performanceScore: state.quality.performanceScore,
169
+ testsPassing: valueIfObserved('quality.testsPassing', state.quality.testsPassing),
170
+ securityScore: valueIfObserved('quality.securityScore', state.quality.securityScore),
171
+ performanceScore: valueIfObserved('quality.performanceScore', state.quality.performanceScore),
146
172
  },
147
173
  fleet: {
174
+ initialized: detected.fleetInitialized,
148
175
  activeAgents: state.fleet.activeAgents,
149
- maxAgents: state.fleet.maxAgents,
176
+ maxAgents: valueIfObserved('fleet.maxAgents', state.fleet.maxAgents),
177
+ availableAgents: [...state.fleet.availableAgents],
150
178
  },
151
179
  resources: {
152
- timeRemaining: state.resources.timeRemaining,
153
- parallelSlots: state.resources.parallelSlots,
180
+ timeRemaining: valueIfObserved('resources.timeRemaining', state.resources.timeRemaining),
181
+ parallelSlots: valueIfObserved('resources.parallelSlots', state.resources.parallelSlots),
154
182
  },
183
+ provenance,
184
+ defaultedFields: defaulted,
155
185
  },
156
186
  },
157
187
  };
@@ -184,7 +214,6 @@ export class GOAPStatusTool extends MCPToolBase {
184
214
  * Get available actions
185
215
  */
186
216
  async getActions(category, limit = 50) {
187
- const planner = await this.getPlanner();
188
217
  // Get actions from the library
189
218
  let actions = [];
190
219
  // Get actions from the action library
@@ -224,18 +253,18 @@ export class GOAPStatusTool extends MCPToolBase {
224
253
  */
225
254
  async getPlans(status, limit = 20) {
226
255
  const planner = await this.getPlanner();
227
- // Get plan reuse statistics
228
- const reuseStats = await planner.getPlanReuseStats();
229
- // Plans are typically stored in the database
230
- // For now, return empty list with stats
256
+ const [{ plans, count }, reuseStats] = await Promise.all([
257
+ planner.listPlanSummaries(status, limit),
258
+ planner.getPlanReuseStats(),
259
+ ]);
231
260
  this.markAsRealData();
232
261
  return {
233
262
  success: true,
234
263
  data: {
235
264
  type: 'plans',
236
265
  data: {
237
- plans: [], // Would query from database
238
- count: 0,
266
+ plans,
267
+ count,
239
268
  reuseStats: {
240
269
  totalPlans: reuseStats.totalPlans,
241
270
  reusedPlans: reuseStats.reusedPlans,
@@ -0,0 +1,101 @@
1
+ /**
2
+ * GOAP world-state detection for the planning MCP tools (issue #535).
3
+ *
4
+ * `goap_status {type:"world"}` and `goap_plan`'s auto-detected start state
5
+ * used to return a static copy of DEFAULT_V3_WORLD_STATE (fleet frozen at
6
+ * `activeAgents: 0`, coverage 0, securityScore 100, ...) and label it as real
7
+ * data. This module builds the state from sources that are actually live in
8
+ * the MCP server process and records, per field, where each value came from:
9
+ *
10
+ * - 'live' — read from the running fleet (the same queen/kernel state
11
+ * `agent_list` reads)
12
+ * - 'measured' — read from a coverage report on disk
13
+ * (`coverage/coverage-summary.json`, istanbul json-summary)
14
+ * - 'caller' — supplied by the caller (goap_plan `currentState`)
15
+ * - 'default' — not measured; the planner's DEFAULT_V3_WORLD_STATE value
16
+ * is used as an assumption and must not be reported as real
17
+ *
18
+ * @module mcp/tools/planning/world-state
19
+ */
20
+ import { type V3WorldState } from '../../../planning/index.js';
21
+ export type WorldStateFieldSource = 'live' | 'measured' | 'caller' | 'default';
22
+ /** Dotted world-state field path -> where its value came from. */
23
+ export type WorldStateProvenance = Record<string, WorldStateFieldSource>;
24
+ /** Snapshot of the in-process fleet (queen + kernel). */
25
+ export interface FleetSnapshot {
26
+ /** Agents with status 'running' (same definition as queen.getHealth()). */
27
+ activeAgents: number;
28
+ /** Kernel's configured concurrent-agent cap (fleet_init maxAgents). */
29
+ maxAgents: number;
30
+ /** Distinct agent types currently idle or running. */
31
+ availableAgents: string[];
32
+ }
33
+ /** Line/branch/function coverage percentages read from a report file. */
34
+ export interface CoverageSnapshot {
35
+ line: number;
36
+ branch: number;
37
+ function: number;
38
+ /** Report path relative to the project root, for traceability. */
39
+ source: string;
40
+ /** Report file modification time (ISO). */
41
+ measuredAt: string;
42
+ }
43
+ export interface DetectedWorldState {
44
+ state: V3WorldState;
45
+ provenance: WorldStateProvenance;
46
+ /** True when a fleet is initialized in this process. */
47
+ fleetInitialized: boolean;
48
+ /** Coverage report the coverage fields came from, if any. */
49
+ coverageReport?: {
50
+ source: string;
51
+ measuredAt: string;
52
+ };
53
+ }
54
+ /**
55
+ * Caller-supplied (partial) world state: any subset of each section's
56
+ * fields, plus planner flag keys the action library uses (e.g.
57
+ * `coverage.gapsIdentified`).
58
+ */
59
+ export type WorldStatePatch = {
60
+ [S in keyof V3WorldState]?: Partial<V3WorldState[S]> & Record<string, unknown>;
61
+ };
62
+ export interface WorldStateSources {
63
+ readFleet?: () => Promise<FleetSnapshot | null>;
64
+ readCoverage?: () => CoverageSnapshot | null;
65
+ }
66
+ /**
67
+ * Read the in-process fleet via core-handlers' fleet state — the same queen
68
+ * `agent_list` reads. Returns null when no fleet is initialized. Dynamic
69
+ * import: core-handlers transitively imports the tool registry, which
70
+ * imports this module's callers (a static import would be circular).
71
+ */
72
+ export declare function readLiveFleet(): Promise<FleetSnapshot | null>;
73
+ /**
74
+ * Read `coverage/coverage-summary.json` (istanbul/v8 json-summary reporter)
75
+ * under the project root. Fixed relative path — no caller-controlled input
76
+ * reaches the filesystem. Returns null when absent, oversized, or malformed.
77
+ */
78
+ export declare function readCoverageSummary(projectRoot?: string): CoverageSnapshot | null;
79
+ /**
80
+ * Build the current world state from live/measured sources, falling back to
81
+ * DEFAULT_V3_WORLD_STATE per field and recording which is which.
82
+ */
83
+ export declare function detectWorldState(sources?: WorldStateSources): Promise<DetectedWorldState>;
84
+ /**
85
+ * Validate a caller-supplied world state (issue #535, codex review): known
86
+ * fields must match the V3WorldState schema (types, 0-100 percentages,
87
+ * enums); other keys are accepted only if a loaded planner action (seeded
88
+ * or custom), the seeded library, or the goal references them (planner
89
+ * flags such as `coverage.gapsIdentified`) and hold a primitive value.
90
+ * Returns an error message, or null when valid.
91
+ */
92
+ export declare function validateWorldStatePatch(provided: unknown, extraAllowedKeys?: Iterable<string>): string | null;
93
+ /**
94
+ * Overlay a caller-supplied (possibly partial) world state onto a detected
95
+ * one, section by section, marking every overridden leaf as 'caller'.
96
+ * Callers must run validateWorldStatePatch() first; this only merges.
97
+ */
98
+ export declare function overlayCallerState(detected: DetectedWorldState, provided: WorldStatePatch): DetectedWorldState;
99
+ /** Field paths whose values are assumptions rather than observations. */
100
+ export declare function defaultedFields(provenance: WorldStateProvenance): string[];
101
+ //# sourceMappingURL=world-state.d.ts.map