agentic-qe 3.15.9 → 3.15.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/skills/skills-manifest.json +1 -1
- package/CHANGELOG.md +365 -0
- package/README.md +8 -0
- package/assets/skills/skills-manifest.json +1 -1
- package/dist/adapters/a2a/agent-cards/generator.js +6 -3
- package/dist/adapters/a2a/tasks/task-router.js +3 -1
- package/dist/adapters/a2ui/catalog/component-schemas.js +2 -1
- package/dist/adapters/a2ui/data/json-pointer-resolver.js +10 -5
- package/dist/adapters/a2ui/integration/agui-sync.js +10 -6
- package/dist/adapters/a2ui/integration/surface-state-bridge.js +9 -5
- package/dist/adapters/ag-ui/json-patch.js +10 -6
- package/dist/adapters/trajectory-adapter.js +1 -1
- package/dist/agents/claim-verifier/verifiers/output-verifier.d.ts +3 -1
- package/dist/agents/claim-verifier/verifiers/output-verifier.js +31 -2
- package/dist/agents/overlay-loader.js +26 -21
- package/dist/audit/witness-chain.d.ts +1 -1
- package/dist/cli/bundle.js +6 -6
- package/dist/cli/chunks/adapter-V4GSGOOK.js +2 -0
- package/dist/cli/chunks/agent-booster-wasm-TIDSQ3ZK.js +2 -0
- package/dist/cli/chunks/{agent-handler-RIYHTHVZ.js → agent-handler-G3EPBVA7.js} +2 -2
- package/dist/cli/chunks/{agent-memory-branch-WSUCUHOO.js → agent-memory-branch-ARC5C7GW.js} +2 -2
- package/dist/cli/chunks/aqe-learning-engine-6WQTM5YR.js +2 -0
- package/dist/cli/chunks/{arena-YAJZX6MC.js → arena-36DTATJV.js} +4 -4
- package/dist/cli/chunks/{arena-KRIBMIXX.js → arena-K4I4QDXB.js} +2 -2
- package/dist/cli/chunks/{audit-7ZNOXWP3.js → audit-WQSJSJZF.js} +3 -3
- package/dist/cli/chunks/base-AK7BXBX2.js +2 -0
- package/dist/cli/chunks/{better-sqlite3-ZQAT4I6H.js → better-sqlite3-BB4K67MT.js} +2 -2
- package/dist/cli/chunks/{brain-handler-452WCPZC.js → brain-handler-CU3GOIU3.js} +3 -3
- package/dist/cli/chunks/{branch-enumerator-IJFXJRPN.js → branch-enumerator-NJQX7ZNB.js} +2 -2
- package/dist/cli/chunks/browser-6YJF4FQW.js +4 -0
- package/dist/cli/chunks/browser-workflow-VTDFBW7T.js +2 -0
- package/dist/cli/chunks/{chunk-LMU5DUDK.js → chunk-25P77WA5.js} +1 -1
- package/dist/cli/chunks/chunk-2CW7VRPH.js +141 -0
- package/dist/cli/chunks/chunk-2DTX7YAZ.js +6 -0
- package/dist/cli/chunks/{chunk-4JCY45KV.js → chunk-2KFFEKSI.js} +2 -2
- package/dist/cli/chunks/chunk-2VLYUF7U.js +2 -0
- package/dist/cli/chunks/{chunk-55HRSNGN.js → chunk-325QCVDI.js} +2 -2
- package/dist/cli/chunks/{chunk-2TDIS6YK.js → chunk-35M2X3C5.js} +2 -2
- package/dist/cli/chunks/{chunk-J5KNRVXR.js → chunk-3RHOPP7A.js} +1 -1
- package/dist/cli/chunks/{chunk-NTAD5UX4.js → chunk-4HJKQIX5.js} +2 -2
- package/dist/cli/chunks/chunk-4MUBW4RT.js +7 -0
- package/dist/cli/chunks/{chunk-VQHVHVSF.js → chunk-4RAQ7PJA.js} +8 -8
- package/dist/cli/chunks/{chunk-JWGRWMZP.js → chunk-4RH5I24Q.js} +2 -2
- package/dist/cli/chunks/{chunk-QQ5SZH4D.js → chunk-4UBVAJFO.js} +3 -3
- package/dist/cli/chunks/{chunk-ZBDRLF43.js → chunk-4UX35V7P.js} +2 -2
- package/dist/cli/chunks/{chunk-ZANDSVCK.js → chunk-4X4MWMHB.js} +2 -2
- package/dist/cli/chunks/{chunk-47TYABPD.js → chunk-55CH76ZO.js} +3 -3
- package/dist/cli/chunks/{chunk-LEAKYZ37.js → chunk-57LNKSW7.js} +2 -2
- package/dist/cli/chunks/chunk-5ERFHEEE.js +14 -0
- package/dist/cli/chunks/{chunk-HGTWAZWU.js → chunk-5HQP4SLM.js} +2 -2
- package/dist/cli/chunks/{chunk-XYCKHYBM.js → chunk-5MNASJOH.js} +2 -2
- package/dist/cli/chunks/{chunk-2HL3UM5P.js → chunk-5MTWCCZJ.js} +2 -2
- package/dist/cli/chunks/{chunk-4SUOVLJ6.js → chunk-5N25I53C.js} +2 -2
- package/dist/cli/chunks/{chunk-XOVNZT7F.js → chunk-5WYZHDIZ.js} +1 -1
- package/dist/cli/chunks/{chunk-J3DTDJDT.js → chunk-5YLOLACR.js} +2 -2
- package/dist/cli/chunks/{chunk-TSYQDRNK.js → chunk-672XOJDG.js} +2 -2
- package/dist/cli/chunks/{chunk-KLGYIEJK.js → chunk-6NA3KZZT.js} +10 -10
- package/dist/cli/chunks/chunk-72ZBJD2E.js +3 -0
- package/dist/cli/chunks/{chunk-2I2UPJS7.js → chunk-76SNL7GU.js} +2 -2
- package/dist/cli/chunks/{chunk-F3PQZX44.js → chunk-7HEMJHPP.js} +2 -2
- package/dist/cli/chunks/{chunk-FV7VAG74.js → chunk-7R5HC56U.js} +1 -1
- package/dist/cli/chunks/{chunk-L42JPFCC.js → chunk-AFFN6E6Q.js} +2 -2
- package/dist/cli/chunks/{chunk-NDKLQW6N.js → chunk-AMZKAJLJ.js} +2 -2
- package/dist/cli/chunks/{chunk-K5DJXMAA.js → chunk-AP3ADWDK.js} +2 -2
- package/dist/cli/chunks/{chunk-BHKXMIWX.js → chunk-APPZATXA.js} +2 -2
- package/dist/cli/chunks/{chunk-XDBD4GXO.js → chunk-AUUJBXWX.js} +25 -20
- package/dist/cli/chunks/{chunk-AJ4YDSOI.js → chunk-BTVWA35P.js} +2 -2
- package/dist/cli/chunks/{chunk-WGDR2KIR.js → chunk-BZPE3LDO.js} +2 -2
- package/dist/cli/chunks/{chunk-HZ5NC6U5.js → chunk-CFWGGRE7.js} +1 -1
- package/dist/cli/chunks/{chunk-UYLYMWV5.js → chunk-CIAL4YRY.js} +2 -2
- package/dist/cli/chunks/{chunk-D6XVGFTI.js → chunk-CO3DX2AX.js} +2 -2
- package/dist/cli/chunks/{chunk-N3KEY4XJ.js → chunk-DDEOZPWJ.js} +2 -2
- package/dist/cli/chunks/{chunk-XWIUFYM3.js → chunk-DOBZPSKE.js} +1 -1
- package/dist/cli/chunks/{chunk-PX2B5TS2.js → chunk-DOFREOPQ.js} +2 -2
- package/dist/cli/chunks/{chunk-47V7FQGX.js → chunk-E44NNCEU.js} +2 -2
- package/dist/cli/chunks/{chunk-I6S35FRO.js → chunk-E6PF35JZ.js} +2 -2
- package/dist/cli/chunks/chunk-EBPJY4DI.js +3 -0
- package/dist/cli/chunks/{chunk-4V27J6YN.js → chunk-EH2S6AOR.js} +2 -2
- package/dist/cli/chunks/{chunk-AQTVVLNP.js → chunk-EIDJNT5C.js} +1 -1
- package/dist/cli/chunks/{chunk-SVHUYVUR.js → chunk-EJPK7OTR.js} +2 -2
- package/dist/cli/chunks/{chunk-HAROIAJE.js → chunk-EK5GMOSO.js} +1 -1
- package/dist/cli/chunks/{chunk-LCJTEUDC.js → chunk-ERN43HOX.js} +430 -433
- package/dist/cli/chunks/chunk-ETVAYGCB.js +180 -0
- package/dist/cli/chunks/chunk-EWPUQCN4.js +2 -0
- package/dist/cli/chunks/{chunk-AOFO4N32.js → chunk-FL32MTKT.js} +2 -2
- package/dist/cli/chunks/chunk-FLU5FDSC.js +742 -0
- package/dist/cli/chunks/{chunk-KR3M44CF.js → chunk-FUYOOKTH.js} +5 -5
- package/dist/cli/chunks/chunk-FWSGPE3V.js +12 -0
- package/dist/cli/chunks/chunk-FZHSG75I.js +3 -0
- package/dist/cli/chunks/{chunk-5D2I7JUP.js → chunk-G2IJFNZS.js} +2 -2
- package/dist/cli/chunks/{chunk-ABFDB4X3.js → chunk-G4CKPWF6.js} +1 -1
- package/dist/cli/chunks/{chunk-ETG7O5E5.js → chunk-G4FAPO57.js} +5 -5
- package/dist/cli/chunks/{chunk-W32YU3VI.js → chunk-G77MLBDF.js} +2 -2
- package/dist/cli/chunks/{chunk-5JWGCIQW.js → chunk-GBFUANTC.js} +1 -1
- package/dist/cli/chunks/{chunk-UOWHE77F.js → chunk-GVKVJJQX.js} +2 -2
- package/dist/cli/chunks/{chunk-2YH62JCN.js → chunk-GWJWSLDA.js} +2 -2
- package/dist/cli/chunks/{chunk-FLASM2XB.js → chunk-H43AFUKL.js} +2 -2
- package/dist/cli/chunks/chunk-H7BLYMNU.js +59 -0
- package/dist/cli/chunks/{chunk-5NS3USRW.js → chunk-HDJUYAZG.js} +1 -1
- package/dist/cli/chunks/{chunk-A6YIH4C4.js → chunk-HDNWSKHA.js} +2 -2
- package/dist/cli/chunks/{chunk-763SUL4B.js → chunk-HFFPYC4G.js} +2 -2
- package/dist/cli/chunks/{chunk-DGTLJNJH.js → chunk-HJ3XNTTJ.js} +2 -2
- package/dist/cli/chunks/{chunk-GBUIG3FS.js → chunk-HYXUN7BW.js} +1 -1
- package/dist/cli/chunks/{chunk-3LYU7BLY.js → chunk-I36CRDHF.js} +2 -2
- package/dist/cli/chunks/{chunk-GII5WVAK.js → chunk-I4K2HTQU.js} +1 -1
- package/dist/cli/chunks/chunk-IENZSO3K.js +4 -0
- package/dist/cli/chunks/chunk-IO5537OM.js +2 -0
- package/dist/cli/chunks/{chunk-AVB5QY2Q.js → chunk-IOZRKXR5.js} +2 -2
- package/dist/cli/chunks/chunk-ITL3IN2E.js +3 -0
- package/dist/cli/chunks/{chunk-YRBBBUJX.js → chunk-ITPGWGQS.js} +14 -14
- package/dist/cli/chunks/{chunk-JNNZK7KH.js → chunk-IW6WDGHM.js} +1 -1
- package/dist/cli/chunks/{chunk-SNBYYO6F.js → chunk-J4JMCZVA.js} +2 -2
- package/dist/cli/chunks/{chunk-PVIA2FPD.js → chunk-JFLU7L3W.js} +2 -2
- package/dist/cli/chunks/{chunk-GCWSX2NY.js → chunk-JGJXXAS6.js} +4 -4
- package/dist/cli/chunks/{chunk-KFUUIAR4.js → chunk-JUMICXM6.js} +2 -2
- package/dist/cli/chunks/{chunk-A4RU67VX.js → chunk-K2HBNYAZ.js} +2 -2
- package/dist/cli/chunks/{chunk-CTZJUV5I.js → chunk-K7V2WZNF.js} +1 -1
- package/dist/cli/chunks/{chunk-VRGCKBF7.js → chunk-KDI5JOYZ.js} +2 -2
- package/dist/cli/chunks/{chunk-C6RTMTEH.js → chunk-KJCIMNHS.js} +1 -1
- package/dist/cli/chunks/{chunk-N3NP6PTT.js → chunk-KKYO2NKV.js} +2 -2
- package/dist/cli/chunks/{chunk-XQ3DDY7X.js → chunk-KSE5TDM5.js} +2 -2
- package/dist/cli/chunks/{chunk-YZGSJG34.js → chunk-KSLLHFVY.js} +1 -1
- package/dist/cli/chunks/{chunk-VCMINU7K.js → chunk-KXS3Y2AX.js} +2 -2
- package/dist/cli/chunks/{chunk-REUFWGMA.js → chunk-LBX7M4LW.js} +2 -2
- package/dist/cli/chunks/{chunk-HCYQHWI2.js → chunk-LCVEEII4.js} +2 -2
- package/dist/cli/chunks/{chunk-OCESWNAZ.js → chunk-LD5CFK53.js} +54 -33
- package/dist/cli/chunks/{chunk-XOLDMK23.js → chunk-LPU6PAJE.js} +2 -2
- package/dist/cli/chunks/{chunk-KVBEGOJE.js → chunk-LQ4NUC6Q.js} +2 -2
- package/dist/cli/chunks/chunk-LRL56ZYL.js +21 -0
- package/dist/cli/chunks/{chunk-FL3OYGCS.js → chunk-LXQ3B4RY.js} +2 -2
- package/dist/cli/chunks/{chunk-PMCRCEW5.js → chunk-M5RQ6U3G.js} +2 -2
- package/dist/cli/chunks/{chunk-EFBLP43U.js → chunk-M5XYIQYZ.js} +2 -2
- package/dist/cli/chunks/chunk-M7XFBSIK.js +2 -0
- package/dist/cli/chunks/{chunk-Q3JVJRVJ.js → chunk-MIK4RBEH.js} +1 -1
- package/dist/cli/chunks/{chunk-NHZIWIQZ.js → chunk-NC6K7SCQ.js} +2 -2
- package/dist/cli/chunks/{chunk-TUYJ53V4.js → chunk-NKTWKYHB.js} +2 -2
- package/dist/cli/chunks/{chunk-2URBI52G.js → chunk-NPZOBSAN.js} +2 -2
- package/dist/cli/chunks/{chunk-7KII4CQG.js → chunk-NQZNMCZU.js} +2 -2
- package/dist/cli/chunks/{chunk-7JKB3Q7O.js → chunk-NT7JRHMH.js} +1 -1
- package/dist/cli/chunks/{chunk-MZS32SYS.js → chunk-NTB342NJ.js} +1 -1
- package/dist/cli/chunks/{chunk-ZVSLCEVC.js → chunk-O4JAKWWM.js} +13 -13
- package/dist/cli/chunks/chunk-OD5D4LSZ.js +2 -0
- package/dist/cli/chunks/{chunk-HWK5L7IJ.js → chunk-OH5V5EJW.js} +2 -2
- package/dist/cli/chunks/{chunk-7QTB5VJZ.js → chunk-OHR7C777.js} +2 -2
- package/dist/cli/chunks/{chunk-JAV5WPSY.js → chunk-OURITHFV.js} +2 -2
- package/dist/cli/chunks/{chunk-3CJCROMW.js → chunk-OV5RPLKV.js} +2 -2
- package/dist/cli/chunks/{chunk-ZXBCCO2H.js → chunk-OYJC3YON.js} +2 -2
- package/dist/cli/chunks/{chunk-2BA45H64.js → chunk-QDESWOZP.js} +2 -2
- package/dist/cli/chunks/chunk-R5GRABPQ.js +2 -0
- package/dist/cli/chunks/{chunk-GKPQ2GRR.js → chunk-R5LGV6GZ.js} +2 -2
- package/dist/cli/chunks/chunk-RBZCA7SD.js +12 -0
- package/dist/cli/chunks/chunk-RQMCZQN2.js +2 -0
- package/dist/cli/chunks/chunk-RTFKTKSO.js +4 -0
- package/dist/cli/chunks/{chunk-IFEIY3NQ.js → chunk-RTY7VSZB.js} +2 -2
- package/dist/cli/chunks/{chunk-UOJBR4J3.js → chunk-S6IYEBAI.js} +2 -2
- package/dist/cli/chunks/{chunk-JP4P3P3D.js → chunk-SMVVAVN2.js} +2 -2
- package/dist/cli/chunks/{chunk-TNMQVG4A.js → chunk-T5KHJ3J7.js} +5 -5
- package/dist/cli/chunks/{chunk-7QGYJ5OY.js → chunk-TCYSBC7Y.js} +1 -1
- package/dist/cli/chunks/{chunk-WRRCQ2UE.js → chunk-TFW7CCKS.js} +1 -1
- package/dist/cli/chunks/chunk-TL6OFMXF.js +6 -0
- package/dist/cli/chunks/{chunk-UNUTC6TX.js → chunk-U3LJNNVJ.js} +5 -5
- package/dist/cli/chunks/chunk-UKKYMW3S.js +3 -0
- package/dist/cli/chunks/{chunk-HTZJSQ3C.js → chunk-UMVSWQNB.js} +2 -2
- package/dist/cli/chunks/{chunk-PBZI2ZPV.js → chunk-UTTSH4NH.js} +3 -3
- package/dist/cli/chunks/{chunk-DDPPSSHW.js → chunk-V5AADCBC.js} +1 -1
- package/dist/cli/chunks/{chunk-OXTFSIGN.js → chunk-V7DA4HAK.js} +1 -1
- package/dist/cli/chunks/{chunk-32UTLDNY.js → chunk-VBK2YAYY.js} +2 -2
- package/dist/cli/chunks/{chunk-F4JYIRW2.js → chunk-VEEYL2CZ.js} +2 -2
- package/dist/cli/chunks/{chunk-BXO536GT.js → chunk-VLD7Z2ED.js} +3 -3
- package/dist/cli/chunks/chunk-VO3DRK4P.js +3 -0
- package/dist/cli/chunks/{chunk-6EPHNJTL.js → chunk-VWUZSNVC.js} +1 -1
- package/dist/cli/chunks/{chunk-XUIA5KMS.js → chunk-VYTILW4R.js} +2 -2
- package/dist/cli/chunks/{chunk-YZYDTABJ.js → chunk-WCAVIJ64.js} +1 -1
- package/dist/cli/chunks/{chunk-KIKWJM6J.js → chunk-WCVCOT4E.js} +2 -2
- package/dist/cli/chunks/{chunk-OG2UI6A3.js → chunk-WM3SRRA6.js} +2 -2
- package/dist/cli/chunks/chunk-X3PZCXWG.js +2 -0
- package/dist/cli/chunks/{chunk-P73W2K7T.js → chunk-X4J73KP3.js} +1 -1
- package/dist/cli/chunks/{chunk-37BIGMJI.js → chunk-XDI5X3FR.js} +1 -1
- package/dist/cli/chunks/{chunk-V5PXQSFS.js → chunk-XGBU3KEM.js} +2 -2
- package/dist/cli/chunks/{chunk-ICP2ORGI.js → chunk-XGPTZUKQ.js} +2 -2
- package/dist/cli/chunks/{chunk-6OOYIO3W.js → chunk-XJKZ7FTR.js} +2 -2
- package/dist/cli/chunks/{chunk-H3KBIWTO.js → chunk-XNLIWQYE.js} +2 -2
- package/dist/cli/chunks/{chunk-4W4DYVSH.js → chunk-XS2XF3YG.js} +6 -5
- package/dist/cli/chunks/chunk-Y7B5EUIJ.js +180 -0
- package/dist/cli/chunks/{chunk-QTVWUQTB.js → chunk-YBBT3YYG.js} +1 -1
- package/dist/cli/chunks/{chunk-7X2Y727E.js → chunk-YNOCQ2SL.js} +1 -1
- package/dist/cli/chunks/{chunk-DINZR5CF.js → chunk-YOCULVHR.js} +1 -1
- package/dist/cli/chunks/{chunk-KIXYKUCI.js → chunk-YPX2TV3M.js} +1 -1
- package/dist/cli/chunks/{chunk-OXZLKP6C.js → chunk-Z2EA7A4Z.js} +1 -1
- package/dist/cli/chunks/{chunk-W5VJRDDG.js → chunk-ZMC543GI.js} +2 -2
- package/dist/cli/chunks/chunk-ZMHCMJ4J.js +2 -0
- package/dist/cli/chunks/{chunk-72AMFDC7.js → chunk-ZP75ASUU.js} +1 -1
- package/dist/cli/chunks/{chunk-JUVHZG7I.js → chunk-ZQHDA4O7.js} +1 -1
- package/dist/cli/chunks/{ci-7SGRCFPS.js → ci-6GUFAZMJ.js} +2 -2
- package/dist/cli/chunks/{ci-config-MX3URPZA.js → ci-config-J665XNOX.js} +2 -2
- package/dist/cli/chunks/{ci-output-M47NJY6D.js → ci-output-PEQQQWVD.js} +2 -2
- package/dist/cli/chunks/{circuit-breaker-5GAK45SW.js → circuit-breaker-HHB2JSKH.js} +2 -2
- package/dist/cli/chunks/{claude-flow-setup-YXYSRH4Y.js → claude-flow-setup-JKUJRWPN.js} +2 -2
- package/dist/cli/chunks/client-HL2COSFM.js +2 -0
- package/dist/cli/chunks/{cline-installer-DLJ5QD5N.js → cline-installer-Y77BWTAN.js} +2 -2
- package/dist/cli/chunks/{code-ONKLMVQ2.js → code-LV2HAGJY.js} +3 -3
- package/dist/cli/chunks/{code-index-extractor-2232LGZN.js → code-index-extractor-4GKKSETB.js} +2 -2
- package/dist/cli/chunks/{codex-installer-UOWLYCMH.js → codex-installer-WMKBYE5Y.js} +2 -2
- package/dist/cli/chunks/{completions-MHX7GCC7.js → completions-SBGFAOIJ.js} +2 -2
- package/dist/cli/chunks/{complexity-analyzer-43ZUJKZU.js → complexity-analyzer-AQHFIJXC.js} +2 -2
- package/dist/cli/chunks/{continuedev-installer-6Q5JR4FF.js → continuedev-installer-26AYFS2E.js} +2 -2
- package/dist/cli/chunks/{copilot-installer-CZUMVHSI.js → copilot-installer-4UD3DK55.js} +2 -2
- package/dist/cli/chunks/core-handlers-IX7ATLM6.js +2 -0
- package/dist/cli/chunks/{cost-tracker-VS5ZW3XN.js → cost-tracker-TP4NZCG4.js} +2 -2
- package/dist/cli/chunks/{coverage-VWKTWZ6D.js → coverage-B2KIXHAI.js} +3 -3
- package/dist/cli/chunks/cross-domain-router-YYKLAPJO.js +2 -0
- package/dist/cli/chunks/{cursor-installer-YIFEMORH.js → cursor-installer-AVZEQZ4W.js} +2 -2
- package/dist/cli/chunks/daemon-P574WWBW.js +18 -0
- package/dist/cli/chunks/{daemon-SHWJSJW5.js → daemon-XM2A7LQU.js} +3 -3
- package/dist/cli/chunks/{dag-attention-scheduler-TCC2WM46.js → dag-attention-scheduler-MIWOZ6ET.js} +2 -2
- package/dist/cli/chunks/{detect-IGTWSQMA.js → detect-TYR7HT23.js} +2 -2
- package/dist/cli/chunks/{dist-node-TCOTJVQX.js → dist-node-2DGVQGLS.js} +2 -2
- package/dist/cli/chunks/{domain-handler-55ZVYODR.js → domain-handler-RRA4ZOMF.js} +2 -2
- package/dist/cli/chunks/{domain-plugins-GJRWOHQP.js → domain-plugins-IVZEZ5RB.js} +2 -2
- package/dist/cli/chunks/domain-transfer-DOBI67K6.js +2 -0
- package/dist/cli/chunks/dream-T6EP7B3F.js +2 -0
- package/dist/cli/chunks/{embed-and-insert-pattern-XAMNIKQL.js → embed-and-insert-pattern-VNIEOVPO.js} +2 -2
- package/dist/cli/chunks/{eval-GO22R4OZ.js → eval-QV4LVPUF.js} +2 -2
- package/dist/cli/chunks/{experience-capture-middleware-F2BRMJ3Y.js → experience-capture-middleware-DAPKT763.js} +3 -3
- package/dist/cli/chunks/{fast-paths-6RGPYALD.js → fast-paths-WVRFPHX7.js} +2 -2
- package/dist/cli/chunks/{feature-flags-ZGS3KLPH.js → feature-flags-DEFTUIYT.js} +2 -2
- package/dist/cli/chunks/{feature-flags-MIWQIOHU.js → feature-flags-O7ZXDDCD.js} +2 -2
- package/dist/cli/chunks/file-discovery-JYMVTDMU.js +2 -0
- package/dist/cli/chunks/fleet-FVAUMKUT.js +46 -0
- package/dist/cli/chunks/{gnn-wrapper-ALBJVW6T.js → gnn-wrapper-LS4LZJDR.js} +2 -2
- package/dist/cli/chunks/{heartbeat-handler-ZMM53NDY.js → heartbeat-handler-RFTERD4K.js} +4 -4
- package/dist/cli/chunks/heartbeat-scheduler-4N5MUJ7S.js +2 -0
- package/dist/cli/chunks/hnsw-adapter-ZPAJDSLR.js +2 -0
- package/dist/cli/chunks/hnsw-index-4CTH6RHB.js +2 -0
- package/dist/cli/chunks/{hnsw-legacy-bridge-RYUJPA7B.js → hnsw-legacy-bridge-GPKGFFHY.js} +2 -2
- package/dist/cli/chunks/{hnswlib-node-XM6XF3YV.js → hnswlib-node-PHL3F2PR.js} +2 -2
- package/dist/cli/chunks/{hooks-X62O7TJO.js → hooks-GYJ6D4QM.js} +36 -36
- package/dist/cli/chunks/hybrid-backend-AW6UTXQS.js +2 -0
- package/dist/cli/chunks/{hypergraph-engine-ZBWUPTVD.js → hypergraph-engine-YGEQPCKJ.js} +2 -2
- package/dist/cli/chunks/{hypergraph-handler-DUMF6SJV.js → hypergraph-handler-ZIMM647V.js} +3 -3
- package/dist/cli/chunks/impact-analyzer-MZK3JMSV.js +2 -0
- package/dist/cli/chunks/{init-guard-S4I2R46S.js → init-guard-VOMBXJXG.js} +2 -2
- package/dist/cli/chunks/{init-handler-L4KJHVWS.js → init-handler-PSMUBWK5.js} +26 -25
- package/dist/cli/chunks/init-wizard-FUC7KDVX.js +2 -0
- package/dist/cli/chunks/kernel-ZCPMCVMW.js +2 -0
- package/dist/cli/chunks/{kilocode-installer-GNNB5FCZ.js → kilocode-installer-2YNTFBWJ.js} +2 -2
- package/dist/cli/chunks/{kiro-installer-HR6ZAH7T.js → kiro-installer-XHJDPVAZ.js} +2 -2
- package/dist/cli/chunks/knowledge-graph-NUJKEDNF.js +2 -0
- package/dist/cli/chunks/{learning-4IEEOHJS.js → learning-GNSIDRNG.js} +24 -24
- package/dist/cli/chunks/{llm-router-ZFMORP36.js → llm-router-LQDM7IU2.js} +4 -4
- package/dist/cli/chunks/llm-router-service-B2BFBQ76.js +2 -0
- package/dist/cli/chunks/{load-ZM43WGDO.js → load-YATHI72E.js} +2 -2
- package/dist/cli/chunks/load-test-ZHQ2MUGO.js +2 -0
- package/dist/cli/chunks/mcp-4Y6GDLYK.js +2 -0
- package/dist/cli/chunks/{memory-W5FZGVAD.js → memory-OUW3L7H2.js} +5 -5
- package/dist/cli/chunks/memory-backend-AAMQG6WH.js +2 -0
- package/dist/cli/chunks/memory-handlers-G3LFF53U.js +2 -0
- package/dist/cli/chunks/{multi-model-executor-SXXGAQ2G.js → multi-model-executor-UBZJXAD2.js} +2 -2
- package/dist/cli/chunks/{opencode-installer-PIRBUAB5.js → opencode-installer-AMMNWVH5.js} +2 -2
- package/dist/cli/chunks/{orchestrator-H5SQCQTB.js → orchestrator-Y44WDOER.js} +69 -25
- package/dist/cli/chunks/pattern-null-store-RFNVA46O.js +2 -0
- package/dist/cli/chunks/{pattern-usage-recorder-XZTWDI2T.js → pattern-usage-recorder-ESR42RME.js} +2 -2
- package/dist/cli/chunks/pipeline-EDTS6OSC.js +19 -0
- package/dist/cli/chunks/{platform-KJDABL5C.js → platform-5WONJSUX.js} +2 -2
- package/dist/cli/chunks/{plugin-V4KSBVVM.js → plugin-IJXPCLD4.js} +2 -2
- package/dist/cli/chunks/{prime-radiant-advanced-wasm-JDHTKQAT.js → prime-radiant-advanced-wasm-5ECKGZK6.js} +2 -2
- package/dist/cli/chunks/project-root-7QL4KP5C.js +2 -0
- package/dist/cli/chunks/protocol-executor-2NW5BD4R.js +2 -0
- package/dist/cli/chunks/{protocol-handler-BNRONTQV.js → protocol-handler-DRD3GVNW.js} +2 -2
- package/dist/cli/chunks/{prove-ELLL6XMX.js → prove-KTGW2HMJ.js} +2 -2
- package/dist/cli/chunks/qe-reasoning-bank-G2JZOGKD.js +2 -0
- package/dist/cli/chunks/{quality-NH2QA4D4.js → quality-DV2WPRRS.js} +2 -2
- package/dist/cli/chunks/{quality-gate-JTKLF7GW.js → quality-gate-HFUAFVZC.js} +3 -3
- package/dist/cli/chunks/queen-coordinator-GRG5FT2A.js +2 -0
- package/dist/cli/chunks/{real-embeddings-J3KCKLPB.js → real-embeddings-RQRVOKVM.js} +2 -2
- package/dist/cli/chunks/{ref-validation-HNXQRP4F.js → ref-validation-QWSKS5OY.js} +2 -2
- package/dist/cli/chunks/{roocode-installer-COJ6CX6S.js → roocode-installer-RBAYRCHX.js} +2 -2
- package/dist/cli/chunks/router-LQB5SWAF.js +2 -0
- package/dist/cli/chunks/routing-feedback-OEEXA55N.js +2 -0
- package/dist/cli/chunks/{routing-handler-WM33ZILE.js → routing-handler-FMPP3XKO.js} +2 -2
- package/dist/cli/chunks/{ruvector-commands-BBLXEA7A.js → ruvector-commands-KZZT4HWF.js} +2 -2
- package/dist/cli/chunks/rvf-dual-writer-BZK4M7BO.js +2 -0
- package/dist/cli/chunks/rvf-migration-adapter-EZZUJL2E.js +2 -0
- package/dist/cli/chunks/{rvf-migration-coordinator-P7H6HCAG.js → rvf-migration-coordinator-7CHEV35N.js} +2 -2
- package/dist/cli/chunks/rvf-native-adapter-6COXTQZ3.js +2 -0
- package/dist/cli/chunks/{rvf-store-integrity-R5SPVRFP.js → rvf-store-integrity-Q2TH52SN.js} +2 -2
- package/dist/cli/chunks/safe-db-PE6G3L55.js +2 -0
- package/dist/cli/chunks/schedule-OLKQ6QYW.js +2 -0
- package/dist/cli/chunks/scheduler-LSGBDFAT.js +2 -0
- package/dist/cli/chunks/{security-AUDTRX3I.js → security-CUEA3UIM.js} +3 -3
- package/dist/cli/chunks/{shared-rvf-adapter-PVDGBGI2.js → shared-rvf-adapter-DROMBRV2.js} +2 -2
- package/dist/cli/chunks/{shared-rvf-dual-writer-LZ2GMSS2.js → shared-rvf-dual-writer-DBNABOP7.js} +2 -2
- package/dist/cli/chunks/sqlite-persistence-HH4DNTYH.js +2 -0
- package/dist/cli/chunks/{standalone-memory-XNOAI4G4.js → standalone-memory-IAHA3M6B.js} +2 -2
- package/dist/cli/chunks/{status-handler-K72XZE4T.js → status-handler-AFUCASTX.js} +2 -2
- package/dist/cli/chunks/{structural-health-NF3YY7U5.js → structural-health-AQRV6JJ6.js} +2 -2
- package/dist/cli/chunks/{sync-VBD5Y3E2.js → sync-GX7FMJHL.js} +2 -2
- package/dist/cli/chunks/sync-XW5TLZ7M.js +2 -0
- package/dist/cli/chunks/{task-handler-24S3WFVJ.js → task-handler-TFKVUTNF.js} +2 -2
- package/dist/cli/chunks/task-handlers-SS4ZDXNF.js +9 -0
- package/dist/cli/chunks/{test-XFSGQELD.js → test-D2XDJNDX.js} +17 -17
- package/dist/cli/chunks/test-runner-process-PSSBNNGR.js +2 -0
- package/dist/cli/chunks/{test-scheduling-VYUQ4CDE.js → test-scheduling-TS6I2PR7.js} +3 -3
- package/dist/cli/chunks/token-bootstrap-HBBLPCZ3.js +2 -0
- package/dist/cli/chunks/{token-usage-VLQ6WO2L.js → token-usage-3MBUX4PR.js} +2 -2
- package/dist/cli/chunks/{transformers-TOFMWWNM.js → transformers-ZWMQO3L2.js} +2 -2
- package/dist/cli/chunks/tree-sitter-wasm-parser-TYRQRJ2W.js +2 -0
- package/dist/cli/chunks/{types-JTWLBAZJ.js → types-5YEMGPSQ.js} +2 -2
- package/dist/cli/chunks/unified-memory-AGDZQ5XD.js +2 -0
- package/dist/cli/chunks/unified-memory-hnsw-X5TJ3JDE.js +2 -0
- package/dist/cli/chunks/unified-persistence-UCV7YETW.js +2 -0
- package/dist/cli/chunks/{upgrade-4ABM72T4.js → upgrade-2TPBKIHI.js} +2 -2
- package/dist/cli/chunks/{validate-UDJCWKXI.js → validate-XRAXXFW6.js} +2 -2
- package/dist/cli/chunks/{validate-swarm-TODOUWNN.js → validate-swarm-IYSCS3BZ.js} +2 -2
- package/dist/cli/chunks/visual-security-ZLXRIQZV.js +2 -0
- package/dist/cli/chunks/{web-tree-sitter-WBMAJPM5.js → web-tree-sitter-PZQ3ZG2P.js} +2 -2
- package/dist/cli/chunks/{windsurf-installer-BTT53TUL.js → windsurf-installer-U6XWFRVT.js} +2 -2
- package/dist/cli/chunks/witness-chain-CVIWYTD2.js +2 -0
- package/dist/cli/chunks/witness-chain-VBKORKOX.js +2 -0
- package/dist/cli/chunks/witness-chain-repair-K7YX2AO6.js +2 -0
- package/dist/cli/chunks/{witness-chain-verifier-FRY3LMGH.js → witness-chain-verifier-GUTC3W7N.js} +2 -2
- package/dist/cli/chunks/{witness-key-manager-X7QHQQWL.js → witness-key-manager-YBNKMOP6.js} +2 -2
- package/dist/cli/chunks/{workflow-QMZPAWQW.js → workflow-UAJUILFQ.js} +4 -4
- package/dist/cli/chunks/workflow-orchestrator-3ZN7MVCE.js +2 -0
- package/dist/cli/chunks/wrappers-AVZ3GPAL.js +2 -0
- package/dist/cli/commands/fleet.js +23 -13
- package/dist/cli/commands/hooks-handlers/hooks-dream-learning.js +9 -2
- package/dist/cli/commands/hooks-handlers/session-hooks.js +2 -2
- package/dist/cli/commands/hooks-handlers/stats-hooks.js +3 -2
- package/dist/cli/commands/hooks-handlers/tool-loop-guardrail.js +11 -6
- package/dist/cli/commands/learning.js +5 -3
- package/dist/cli/commands/ruvector-commands.js +2 -1
- package/dist/cli/commands/test.js +11 -2
- package/dist/cli/handlers/init-handler.d.ts +12 -0
- package/dist/cli/handlers/init-handler.js +27 -12
- package/dist/cli/utils/ci-output.d.ts +11 -0
- package/dist/cli/utils/ci-output.js +2 -0
- package/dist/cli/utils/fleet-operation.d.ts +32 -0
- package/dist/cli/utils/fleet-operation.js +71 -0
- package/dist/cli/utils/fleet-result.d.ts +31 -0
- package/dist/cli/utils/fleet-result.js +124 -0
- package/dist/cli/utils/progress.d.ts +16 -2
- package/dist/cli/utils/progress.js +31 -14
- package/dist/context/sources/git-source.js +6 -2
- package/dist/coordination/consensus/consensus-engine.js +3 -1
- package/dist/coordination/handlers/code-intelligence-handlers.js +63 -7
- package/dist/coordination/handlers/coverage-collection.js +3 -1
- package/dist/coordination/handlers/coverage-handlers.js +10 -1
- package/dist/coordination/handlers/coverage-runner.d.ts +3 -8
- package/dist/coordination/handlers/coverage-runner.js +6 -22
- package/dist/coordination/handlers/coverage-stderr.d.ts +23 -0
- package/dist/coordination/handlers/coverage-stderr.js +39 -0
- package/dist/coordination/handlers/coverage-target.js +6 -3
- package/dist/coordination/handlers/handler-utils.js +3 -1
- package/dist/coordination/handlers/requirements-handlers.js +18 -3
- package/dist/coordination/handlers/security-handlers.js +45 -21
- package/dist/coordination/handlers/test-execution-handlers.js +25 -7
- package/dist/coordination/mincut/queen-integration.d.ts +39 -1
- package/dist/coordination/mincut/queen-integration.js +83 -6
- package/dist/coordination/protocols/learning-consolidation-archive.d.ts +2 -6
- package/dist/coordination/protocols/learning-consolidation-archive.js +4 -27
- package/dist/coordination/protocols/learning-consolidation.d.ts +24 -0
- package/dist/coordination/protocols/learning-consolidation.js +71 -22
- package/dist/coordination/queen-coordinator.d.ts +1 -1
- package/dist/coordination/queen-coordinator.js +27 -10
- package/dist/coordination/queen-event-handlers.js +13 -0
- package/dist/coordination/queen-task-management.d.ts +18 -24
- package/dist/coordination/queen-task-management.js +62 -168
- package/dist/coordination/queen-task-queue.d.ts +41 -0
- package/dist/coordination/queen-task-queue.js +194 -0
- package/dist/coordination/queen-types.d.ts +1 -1
- package/dist/coordination/queen-work-stealing.d.ts +6 -1
- package/dist/coordination/queen-work-stealing.js +7 -4
- package/dist/coordination/result-saver-adapters.d.ts +15 -0
- package/dist/coordination/result-saver-adapters.js +57 -0
- package/dist/coordination/result-saver.d.ts +1 -1
- package/dist/coordination/result-saver.js +8 -5
- package/dist/coordination/task-executability.d.ts +12 -0
- package/dist/coordination/task-executability.js +27 -0
- package/dist/coordination/workflow-orchestrator.d.ts +6 -0
- package/dist/coordination/workflow-orchestrator.js +22 -8
- package/dist/coordination/yaml-pipeline-loader.js +5 -2
- package/dist/domains/code-intelligence/index-path-guard.d.ts +5 -2
- package/dist/domains/code-intelligence/index-path-guard.js +20 -50
- package/dist/domains/code-intelligence/plugin.js +5 -1
- package/dist/domains/code-intelligence/services/metric-collector/index.d.ts +2 -2
- package/dist/domains/code-intelligence/services/metric-collector/index.js +2 -3
- package/dist/domains/code-intelligence/services/metric-collector/loc-counter.d.ts +1 -1
- package/dist/domains/code-intelligence/services/metric-collector/loc-counter.js +11 -36
- package/dist/domains/code-intelligence/services/metric-collector/test-counter.d.ts +1 -1
- package/dist/domains/code-intelligence/services/metric-collector/test-counter.js +45 -103
- package/dist/domains/code-intelligence/services/product-factors-bridge.js +7 -4
- package/dist/domains/contract-testing/services/api-compatibility.js +7 -6
- package/dist/domains/contract-testing/services/contract-validator.js +6 -4
- package/dist/domains/contract-testing/services/schema-validator.js +8 -5
- package/dist/domains/coverage-analysis/services/coverage-parser.js +19 -10
- package/dist/domains/defect-intelligence/interfaces.d.ts +2 -0
- package/dist/domains/defect-intelligence/plugin.js +11 -2
- package/dist/domains/defect-intelligence/prediction-history.d.ts +27 -0
- package/dist/domains/defect-intelligence/prediction-history.js +68 -0
- package/dist/domains/defect-intelligence/services/defect-predictor.js +25 -10
- package/dist/domains/enterprise-integration/services/message-broker-service.js +3 -2
- package/dist/domains/enterprise-integration/services/odata-service.js +2 -1
- package/dist/domains/enterprise-integration/services/sap-integration-service.js +3 -2
- package/dist/domains/learning-optimization/active-patterns.d.ts +2 -2
- package/dist/domains/learning-optimization/active-patterns.js +2 -2
- package/dist/domains/learning-optimization/coordinator.js +9 -5
- package/dist/domains/learning-optimization/interfaces.d.ts +8 -2
- package/dist/domains/learning-optimization/pattern-archive.d.ts +31 -0
- package/dist/domains/learning-optimization/pattern-archive.js +56 -0
- package/dist/domains/learning-optimization/pattern-consolidation.d.ts +12 -0
- package/dist/domains/learning-optimization/pattern-consolidation.js +41 -0
- package/dist/domains/learning-optimization/reward-source.d.ts +13 -0
- package/dist/domains/learning-optimization/reward-source.js +8 -1
- package/dist/domains/learning-optimization/services/learning-coordinator.d.ts +5 -3
- package/dist/domains/learning-optimization/services/learning-coordinator.js +47 -59
- package/dist/domains/learning-optimization/services/metrics-optimizer.js +14 -4
- package/dist/domains/learning-optimization/services/production-intel.js +3 -1
- package/dist/domains/security-compliance/generic-finding-dedup.d.ts +40 -0
- package/dist/domains/security-compliance/generic-finding-dedup.js +63 -0
- package/dist/domains/security-compliance/plugin.js +17 -3
- package/dist/domains/security-compliance/sast-path-guard.d.ts +9 -0
- package/dist/domains/security-compliance/sast-path-guard.js +17 -0
- package/dist/domains/security-compliance/services/scanners/dast-auth-testing.js +46 -56
- package/dist/domains/security-compliance/services/scanners/dast-helpers.js +76 -91
- package/dist/domains/security-compliance/services/scanners/dast-injection-testing.js +52 -62
- package/dist/domains/security-compliance/services/scanners/dast-scanner.d.ts +21 -1
- package/dist/domains/security-compliance/services/scanners/dast-scanner.js +29 -24
- package/dist/domains/security-compliance/services/scanners/dependency-resolver.js +14 -6
- package/dist/domains/security-compliance/services/scanners/sast-scanner.js +4 -2
- package/dist/domains/security-compliance/services/scanners/scanner-orchestrator.js +4 -1
- package/dist/domains/security-compliance/services/security-auditor-sast.js +2 -2
- package/dist/domains/security-compliance/services/security-auditor-secrets.js +2 -2
- package/dist/domains/security-compliance/services/security-auditor.js +3 -2
- package/dist/domains/test-execution/coordinator.d.ts +6 -0
- package/dist/domains/test-execution/coordinator.js +28 -22
- package/dist/domains/test-execution/interfaces.d.ts +36 -1
- package/dist/domains/test-execution/plugin.js +19 -4
- package/dist/domains/test-execution/services/flaky-detector.js +9 -7
- package/dist/domains/test-execution/services/retry-handler.js +46 -7
- package/dist/domains/test-execution/services/retry-outcome.d.ts +18 -0
- package/dist/domains/test-execution/services/retry-outcome.js +53 -0
- package/dist/domains/test-execution/services/runner-test-cases.d.ts +11 -0
- package/dist/domains/test-execution/services/runner-test-cases.js +20 -2
- package/dist/domains/test-execution/services/test-executor.js +8 -8
- package/dist/domains/test-generation/coordinator.js +2 -2
- package/dist/domains/test-generation/plugin.js +7 -2
- package/dist/domains/test-generation/services/pattern-matcher.js +4 -4
- package/dist/domains/test-generation/services/test-data-generator.js +3 -1
- package/dist/domains/test-generation/services/test-generator.js +2 -2
- package/dist/domains/visual-accessibility/services/axe-core-audit.js +1 -1
- package/dist/governance/evolution-pipeline-integration.js +3 -1
- package/dist/hooks/cross-phase-hooks.js +5 -2
- package/dist/init/init-wizard-steps.js +5 -1
- package/dist/init/phases/04-database.js +7 -0
- package/dist/init/phases/10-workers.js +50 -6
- package/dist/init/phases/12-verification.js +14 -4
- package/dist/init/settings-merge.js +7 -4
- package/dist/integrations/agentic-flow/reasoning-bank/experience-replay.d.ts +7 -0
- package/dist/integrations/agentic-flow/reasoning-bank/experience-replay.js +31 -2
- package/dist/integrations/agentic-flow/reasoning-bank/index.d.ts +3 -1
- package/dist/integrations/agentic-flow/reasoning-bank/index.js +5 -0
- package/dist/integrations/browser/agent-browser/client.js +37 -52
- package/dist/integrations/browser/agent-browser/command-executor.d.ts +33 -27
- package/dist/integrations/browser/agent-browser/command-executor.js +53 -54
- package/dist/integrations/browser/agent-browser/session-manager.d.ts +1 -1
- package/dist/integrations/browser/agent-browser/session-manager.js +8 -9
- package/dist/integrations/browser/web-content-fetcher.js +9 -3
- package/dist/integrations/ruvector/filter-adapter.js +2 -1
- package/dist/integrations/vibium/client.js +2 -2
- package/dist/integrations/vibium/runtime.d.ts +1 -1
- package/dist/integrations/vibium/runtime.js +14 -11
- package/dist/kernel/unified-memory-schemas.d.ts +3 -2
- package/dist/kernel/unified-memory-schemas.js +3 -2
- package/dist/kernel/unified-memory.js +25 -6
- package/dist/learning/dream/dream-commit.d.ts +65 -0
- package/dist/learning/dream/dream-commit.js +104 -0
- package/dist/learning/dream/dream-engine.d.ts +81 -31
- package/dist/learning/dream/dream-engine.js +225 -168
- package/dist/learning/dream/dream-insights-pruner.d.ts +9 -3
- package/dist/learning/dream/dream-insights-pruner.js +16 -30
- package/dist/learning/dream/index.d.ts +3 -2
- package/dist/learning/dream/index.js +3 -1
- package/dist/learning/dream/insight-generator.js +5 -4
- package/dist/learning/dream/rvcow-branch-manager.d.ts +8 -1
- package/dist/learning/dream/rvcow-branch-manager.js +8 -1
- package/dist/learning/dream/speculative-dreamer.d.ts +50 -74
- package/dist/learning/dream/speculative-dreamer.js +64 -111
- package/dist/learning/dream/spreading-activation.d.ts +2 -1
- package/dist/learning/dream/spreading-activation.js +15 -6
- package/dist/learning/experience-capture.d.ts +9 -0
- package/dist/learning/experience-capture.js +18 -4
- package/dist/learning/memory-auditor.js +3 -1
- package/dist/learning/qe-patterns.js +2 -1
- package/dist/learning/qe-reasoning-bank-types.d.ts +17 -2
- package/dist/learning/qe-reasoning-bank.js +22 -11
- package/dist/learning/real-qe-reasoning-bank.d.ts +19 -0
- package/dist/learning/real-qe-reasoning-bank.js +70 -38
- package/dist/learning/sqlite-persistence.d.ts +6 -0
- package/dist/learning/sqlite-persistence.js +16 -2
- package/dist/learning/usage-outcome.d.ts +68 -0
- package/dist/learning/usage-outcome.js +84 -0
- package/dist/mcp/background-workers.d.ts +13 -1
- package/dist/mcp/background-workers.js +17 -3
- package/dist/mcp/bundle.js +612 -580
- package/dist/mcp/handlers/core-handlers.js +11 -0
- package/dist/mcp/handlers/domain-handler-configs.d.ts +7 -0
- package/dist/mcp/handlers/domain-handler-configs.js +19 -5
- package/dist/mcp/handlers/handler-factory.d.ts +2 -1
- package/dist/mcp/handlers/handler-factory.js +36 -15
- package/dist/mcp/handlers/orchestrate-routes.d.ts +36 -0
- package/dist/mcp/handlers/orchestrate-routes.js +88 -0
- package/dist/mcp/handlers/task-handlers.d.ts +16 -0
- package/dist/mcp/handlers/task-handlers.js +77 -24
- package/dist/mcp/handlers/validation-pipeline-handler.js +14 -10
- package/dist/mcp/protocol-server.js +10 -8
- package/dist/mcp/qe-tool-bridge.js +3 -0
- package/dist/mcp/security/schema-validator.js +3 -2
- package/dist/mcp/services/reasoning-bank-service.d.ts +3 -1
- package/dist/mcp/services/reasoning-bank-service.js +4 -0
- package/dist/mcp/tool-annotations.js +4 -1
- package/dist/mcp/tools/code-intelligence/c4.js +11 -1
- package/dist/mcp/tools/coherence/check.js +1 -0
- package/dist/mcp/tools/coherence/consensus.js +4 -2
- package/dist/mcp/tools/coverage-analysis/index.js +31 -2
- package/dist/mcp/tools/learning-optimization/dream.d.ts +8 -8
- package/dist/mcp/tools/learning-optimization/dream.js +38 -34
- package/dist/mcp/tools/learning-optimization/optimize.d.ts +18 -2
- package/dist/mcp/tools/learning-optimization/optimize.js +59 -12
- package/dist/mcp/tools/mincut/index.js +3 -0
- package/dist/mcp/tools/quality-assessment/gate.js +19 -1
- package/dist/mcp/tools/qx-analysis/analyze.js +1 -0
- package/dist/mcp/tools/requirements-validation/quality-criteria.js +17 -3
- package/dist/mcp/tools/security-compliance/scan.js +4 -2
- package/dist/mcp/tools/test-execution/e2e-execute.js +2 -2
- package/dist/mcp/tools/test-execution/execute.js +3 -2
- package/dist/memory/crdt/crdt-store.js +5 -0
- package/dist/memory/crdt/lww-register.js +12 -2
- package/dist/migration/agent-compat.js +7 -5
- package/dist/migrations/20261018_add_dream_insights_archive.d.ts +27 -0
- package/dist/migrations/20261018_add_dream_insights_archive.js +57 -0
- package/dist/optimization/early-exit-token-optimizer.js +3 -1
- package/dist/planning/goap-planner.js +5 -0
- package/dist/planning/plan-executor.js +5 -0
- package/dist/shared/git/git-analyzer.d.ts +49 -0
- package/dist/shared/git/git-analyzer.js +159 -319
- package/dist/shared/git/git-process.d.ts +22 -0
- package/dist/shared/git/git-process.js +37 -0
- package/dist/shared/git/index.d.ts +1 -0
- package/dist/shared/git/index.js +1 -0
- package/dist/shared/io/confined-read.d.ts +74 -0
- package/dist/shared/io/confined-read.js +256 -0
- package/dist/shared/io/file-reader.d.ts +6 -6
- package/dist/shared/io/file-reader.js +16 -42
- package/dist/shared/io/payload-path-guard.d.ts +75 -0
- package/dist/shared/io/payload-path-guard.js +190 -0
- package/dist/shared/llm/providers/claude-code.js +4 -1
- package/dist/shared/llm/router/agent-router-config.js +2 -1
- package/dist/shared/llm/translation/tool-translator.js +2 -1
- package/dist/shared/native-module-errors.d.ts +51 -0
- package/dist/shared/native-module-errors.js +129 -0
- package/dist/shared/safe-db.js +14 -4
- package/dist/shared/security/osv-client.js +4 -1
- package/dist/shared/test-runner-args.d.ts +5 -0
- package/dist/shared/test-runner-args.js +6 -1
- package/dist/shared/test-runner-process.d.ts +6 -0
- package/dist/shared/test-runner-process.js +14 -0
- package/dist/shared/test-runner-verdict.d.ts +9 -1
- package/dist/shared/test-runner-verdict.js +15 -4
- package/dist/shared/types/test-frameworks.js +2 -2
- package/dist/shared/utils/namespaced-search.d.ts +14 -0
- package/dist/shared/utils/namespaced-search.js +19 -1
- package/dist/shared/utils/safe-expression-evaluator.js +4 -3
- package/dist/strange-loop/infra-healing/recovery-playbook.js +13 -3
- package/dist/sync/readers/json-reader.js +2 -1
- package/dist/validation/anchor-set.d.ts +6 -0
- package/dist/validation/anchor-set.js +9 -1
- package/dist/validation/gate-reexecute.js +7 -4
- package/dist/validation/quality-gate-runner.d.ts +7 -1
- package/dist/validation/quality-gate-runner.js +3 -3
- package/dist/workers/daemon.js +13 -1
- package/dist/workers/quality-daemon/git-watcher.js +9 -9
- package/dist/workers/workers/defect-predictor.d.ts +8 -3
- package/dist/workers/workers/defect-predictor.js +48 -49
- package/dist/workers/workers/learning-consolidation.d.ts +2 -0
- package/dist/workers/workers/learning-consolidation.js +12 -1
- package/dist/workflows/browser/workflow-loader.js +8 -5
- package/package.json +1 -1
- package/dist/cli/chunks/adapter-R2Q4QGXQ.js +0 -2
- package/dist/cli/chunks/agent-booster-wasm-427FRKWG.js +0 -2
- package/dist/cli/chunks/aqe-learning-engine-3RENLQWP.js +0 -2
- package/dist/cli/chunks/base-67DXSAYM.js +0 -2
- package/dist/cli/chunks/browser-CT3MTV6G.js +0 -4
- package/dist/cli/chunks/browser-workflow-NDXRROWZ.js +0 -2
- package/dist/cli/chunks/chunk-2XITOPYV.js +0 -6
- package/dist/cli/chunks/chunk-4URT6JO2.js +0 -2
- package/dist/cli/chunks/chunk-5LAAZLUC.js +0 -4
- package/dist/cli/chunks/chunk-6PXA2BQJ.js +0 -742
- package/dist/cli/chunks/chunk-6YL6JOQB.js +0 -4
- package/dist/cli/chunks/chunk-7DMA5NYL.js +0 -4
- package/dist/cli/chunks/chunk-AR2E4B7K.js +0 -6
- package/dist/cli/chunks/chunk-F2SQPP6U.js +0 -4
- package/dist/cli/chunks/chunk-FJ4VTLLK.js +0 -2
- package/dist/cli/chunks/chunk-FV3NHVC7.js +0 -59
- package/dist/cli/chunks/chunk-G3BKZNFL.js +0 -120
- package/dist/cli/chunks/chunk-GR3JYE5A.js +0 -2
- package/dist/cli/chunks/chunk-J3WGK22W.js +0 -2
- package/dist/cli/chunks/chunk-JEP4ULR6.js +0 -21
- package/dist/cli/chunks/chunk-JK2ME6IT.js +0 -2
- package/dist/cli/chunks/chunk-KHSRIPBP.js +0 -180
- package/dist/cli/chunks/chunk-KTSLTZSG.js +0 -2
- package/dist/cli/chunks/chunk-N5PDFGCQ.js +0 -180
- package/dist/cli/chunks/chunk-O3JLOVZX.js +0 -4
- package/dist/cli/chunks/chunk-P2CXVNKK.js +0 -4
- package/dist/cli/chunks/chunk-THAY7WHO.js +0 -12
- package/dist/cli/chunks/chunk-VU2EL424.js +0 -14
- package/dist/cli/chunks/chunk-VXZJOKOX.js +0 -2
- package/dist/cli/chunks/chunk-VYLM2YV5.js +0 -12
- package/dist/cli/chunks/chunk-XZJ2O3VC.js +0 -2
- package/dist/cli/chunks/client-ZP3CTVRF.js +0 -2
- package/dist/cli/chunks/core-handlers-JSRXQWPE.js +0 -2
- package/dist/cli/chunks/cross-domain-router-7UKODQWG.js +0 -2
- package/dist/cli/chunks/daemon-YIFT46FH.js +0 -34
- package/dist/cli/chunks/domain-transfer-6EF75EKU.js +0 -2
- package/dist/cli/chunks/dream-UDLM6M55.js +0 -2
- package/dist/cli/chunks/file-discovery-THWOUQ7Z.js +0 -2
- package/dist/cli/chunks/fleet-ADL57COA.js +0 -44
- package/dist/cli/chunks/heartbeat-scheduler-HGOC5KH3.js +0 -2
- package/dist/cli/chunks/hnsw-adapter-EPSA6AP7.js +0 -2
- package/dist/cli/chunks/hnsw-index-RMFOPYGY.js +0 -2
- package/dist/cli/chunks/hybrid-backend-NZ3G4WBX.js +0 -2
- package/dist/cli/chunks/impact-analyzer-WZC6NHFP.js +0 -2
- package/dist/cli/chunks/init-wizard-422UZYQ5.js +0 -2
- package/dist/cli/chunks/kernel-N7PJ6FCE.js +0 -2
- package/dist/cli/chunks/knowledge-graph-SZCVQF37.js +0 -2
- package/dist/cli/chunks/llm-router-service-4DE5WDUZ.js +0 -2
- package/dist/cli/chunks/load-test-POMIF4Q4.js +0 -2
- package/dist/cli/chunks/mcp-CRZKZE37.js +0 -2
- package/dist/cli/chunks/memory-backend-4P6AHSOY.js +0 -2
- package/dist/cli/chunks/memory-handlers-NK6NV3GE.js +0 -2
- package/dist/cli/chunks/pattern-null-store-CCHQHGQG.js +0 -2
- package/dist/cli/chunks/pipeline-5LMLBIJ7.js +0 -19
- package/dist/cli/chunks/project-root-X72FSM2F.js +0 -2
- package/dist/cli/chunks/protocol-executor-QW6XN6QN.js +0 -2
- package/dist/cli/chunks/qe-reasoning-bank-ZD3WF647.js +0 -2
- package/dist/cli/chunks/queen-coordinator-S4U4MKK2.js +0 -2
- package/dist/cli/chunks/router-CXZKOOTR.js +0 -2
- package/dist/cli/chunks/routing-feedback-IYFANYY5.js +0 -2
- package/dist/cli/chunks/rvf-dual-writer-HCLQ5WUQ.js +0 -2
- package/dist/cli/chunks/rvf-migration-adapter-XCLUWOO3.js +0 -2
- package/dist/cli/chunks/rvf-native-adapter-MRT5H3IP.js +0 -2
- package/dist/cli/chunks/safe-db-WFODRGVZ.js +0 -2
- package/dist/cli/chunks/schedule-RO55OQXG.js +0 -2
- package/dist/cli/chunks/scheduler-XXMJCH24.js +0 -2
- package/dist/cli/chunks/sqlite-persistence-AWRIS4MK.js +0 -2
- package/dist/cli/chunks/sync-UVXA6CT2.js +0 -2
- package/dist/cli/chunks/task-handlers-GUYW2EPJ.js +0 -9
- package/dist/cli/chunks/token-bootstrap-EDK6FNQ3.js +0 -2
- package/dist/cli/chunks/tree-sitter-wasm-parser-MI3NZKUD.js +0 -2
- package/dist/cli/chunks/unified-memory-6JWHV6EF.js +0 -2
- package/dist/cli/chunks/unified-memory-hnsw-4UANU6NU.js +0 -2
- package/dist/cli/chunks/unified-persistence-KGGNA46H.js +0 -2
- package/dist/cli/chunks/visual-security-6VZNQLH7.js +0 -2
- package/dist/cli/chunks/witness-chain-AKKHWEWU.js +0 -2
- package/dist/cli/chunks/witness-chain-TATPXQRK.js +0 -2
- package/dist/cli/chunks/witness-chain-repair-2HGJGE7O.js +0 -2
- package/dist/cli/chunks/workflow-orchestrator-4GAW7HNZ.js +0 -2
- package/dist/cli/chunks/wrappers-ZD5NBHYI.js +0 -2
|
@@ -14,37 +14,14 @@
|
|
|
14
14
|
* deleted. A pattern used or re-scored since it was selected is left active.
|
|
15
15
|
* - The archive copy is read back before the active key is deleted, so a
|
|
16
16
|
* failed write never loses the pattern.
|
|
17
|
+
* The move is implemented in domains/learning-optimization/pattern-archive.ts.
|
|
17
18
|
*/
|
|
18
|
-
|
|
19
|
+
// The move itself lives with the patterns, so the merge path in
|
|
20
|
+
// LearningCoordinatorService uses the same read-back rule (#1106).
|
|
21
|
+
export { archiveSelectedPattern } from '../../domains/learning-optimization/pattern-archive.js';
|
|
19
22
|
export function emptyArchiveCounts() {
|
|
20
23
|
return { selected: 0, archived: 0, missing: 0, failed: 0 };
|
|
21
24
|
}
|
|
22
|
-
/**
|
|
23
|
-
* Move one selected pattern to its archive key in the learning namespace.
|
|
24
|
-
*/
|
|
25
|
-
export async function archiveSelectedPattern(memory, pattern, archivedAt = new Date()) {
|
|
26
|
-
const activeKey = `${LEARNING_PATTERN_KEY_PREFIX}${pattern.id}`;
|
|
27
|
-
if (!isActivePatternKey(activeKey))
|
|
28
|
-
return 'missing';
|
|
29
|
-
const current = await memory.get(activeKey, LEARNING_NS);
|
|
30
|
-
if (!current || current.id !== pattern.id || changedSinceSelection(current, pattern))
|
|
31
|
-
return 'missing';
|
|
32
|
-
const archiveKey = `${LEARNING_PATTERN_KEY_PREFIX}archived:${pattern.id}`;
|
|
33
|
-
await memory.set(archiveKey, { ...pattern, archivedAt }, { ...LEARNING_NS, persist: true });
|
|
34
|
-
const copy = await memory.get(archiveKey, LEARNING_NS);
|
|
35
|
-
if (!copy || copy.id !== pattern.id)
|
|
36
|
-
return 'failed';
|
|
37
|
-
await memory.delete(activeKey, LEARNING_NS);
|
|
38
|
-
return 'archived';
|
|
39
|
-
}
|
|
40
|
-
/** True when the stored record's scores or last use differ from the selected snapshot. */
|
|
41
|
-
function changedSinceSelection(current, selected) {
|
|
42
|
-
const time = (value) => new Date(value).getTime();
|
|
43
|
-
return (!Object.is(current.usageCount, selected.usageCount) ||
|
|
44
|
-
!Object.is(current.confidence, selected.confidence) ||
|
|
45
|
-
!Object.is(current.successRate, selected.successRate) ||
|
|
46
|
-
!Object.is(time(current.lastUsedAt), time(selected.lastUsedAt)));
|
|
47
|
-
}
|
|
48
25
|
/** True when the pattern was created less than `graceDays` days ago. */
|
|
49
26
|
export function isWithinRetentionGrace(pattern, graceDays, now = Date.now()) {
|
|
50
27
|
if (graceDays <= 0)
|
|
@@ -9,6 +9,11 @@ import { Result, DomainName, DomainEvent } from '../../shared/types/index.js';
|
|
|
9
9
|
import { EventBus, MemoryBackend } from '../../kernel/interfaces.js';
|
|
10
10
|
import { type ArchiveCounts } from './learning-consolidation-archive.js';
|
|
11
11
|
import type { LearnedPattern, PatternType, IPatternLearningService, IKnowledgeSynthesisService } from '../../domains/learning-optimization/interfaces.js';
|
|
12
|
+
/**
|
|
13
|
+
* Id of a merged pattern a dry run predicts but never stores (#1106). It only
|
|
14
|
+
* appears in `removedPatterns` when the predicted merge would itself be trimmed.
|
|
15
|
+
*/
|
|
16
|
+
export declare const DRY_RUN_MERGE_ID_PREFIX = "dry-run-merge:";
|
|
12
17
|
export interface LearningConsolidationConfig {
|
|
13
18
|
/** Minimum patterns per domain to trigger consolidation */
|
|
14
19
|
minPatternsForConsolidation: number;
|
|
@@ -115,10 +120,24 @@ export interface TransferablePattern {
|
|
|
115
120
|
transferConfidence: number;
|
|
116
121
|
reason: string;
|
|
117
122
|
}
|
|
123
|
+
/** One step of a run that did not complete (#1106). */
|
|
124
|
+
export interface ConsolidationError {
|
|
125
|
+
/** Domain the step ran for; absent for run-wide steps. */
|
|
126
|
+
domain?: DomainName;
|
|
127
|
+
step: 'consolidate' | 'merge' | 'archive' | 'knowledge-update' | 'transfer';
|
|
128
|
+
error: string;
|
|
129
|
+
}
|
|
118
130
|
export interface ConsolidationResult {
|
|
119
131
|
consolidationId: string;
|
|
120
132
|
/** True when nothing was merged, archived or written (#1071). */
|
|
121
133
|
dryRun: boolean;
|
|
134
|
+
/**
|
|
135
|
+
* #1106: `completed` only when every step of every domain succeeded;
|
|
136
|
+
* `partial` when some failed (see `errors`). When every domain fails,
|
|
137
|
+
* `execute()` returns an error instead of a result.
|
|
138
|
+
*/
|
|
139
|
+
status: 'completed' | 'partial';
|
|
140
|
+
errors: ConsolidationError[];
|
|
122
141
|
startedAt: Date;
|
|
123
142
|
completedAt: Date;
|
|
124
143
|
stats: ConsolidationStats;
|
|
@@ -134,6 +153,11 @@ export interface DomainConsolidationReport {
|
|
|
134
153
|
removedPatterns: RemovedPatternInfo[];
|
|
135
154
|
/** Outcome of archiving `removedPatterns` (all zero but `selected` in a dry run). */
|
|
136
155
|
archiveCounts: ArchiveCounts;
|
|
156
|
+
/** #1106: merges that failed; their source patterns were left active and kept. */
|
|
157
|
+
mergeFailures: Array<{
|
|
158
|
+
sourcePatternIds: string[];
|
|
159
|
+
error: string;
|
|
160
|
+
}>;
|
|
137
161
|
topPerformingPatterns: LearnedPattern[];
|
|
138
162
|
improvementAreas: string[];
|
|
139
163
|
}
|
|
@@ -14,7 +14,29 @@ import { searchAllKeys } from '../../shared/utils/namespaced-search.js';
|
|
|
14
14
|
import { LoggerFactory } from '../../logging/index.js';
|
|
15
15
|
import { readActivePatterns, LEARNING_NS, } from '../../domains/learning-optimization/active-patterns.js';
|
|
16
16
|
import { archiveSelectedPattern, emptyArchiveCounts, isWithinRetentionGrace, } from './learning-consolidation-archive.js';
|
|
17
|
+
import { buildConsolidatedPattern } from '../../domains/learning-optimization/pattern-consolidation.js';
|
|
17
18
|
const logger = LoggerFactory.create('learning-consolidation-protocol');
|
|
19
|
+
/**
|
|
20
|
+
* Id of a merged pattern a dry run predicts but never stores (#1106). It only
|
|
21
|
+
* appears in `removedPatterns` when the predicted merge would itself be trimmed.
|
|
22
|
+
*/
|
|
23
|
+
export const DRY_RUN_MERGE_ID_PREFIX = 'dry-run-merge:';
|
|
24
|
+
/** Failed steps inside one domain's report (#1106). */
|
|
25
|
+
function domainStepErrors(report) {
|
|
26
|
+
const errors = report.mergeFailures.map((failure) => ({
|
|
27
|
+
domain: report.domain,
|
|
28
|
+
step: 'merge',
|
|
29
|
+
error: `${failure.sourcePatternIds.join(', ')}: ${failure.error}`,
|
|
30
|
+
}));
|
|
31
|
+
if (report.archiveCounts.failed > 0) {
|
|
32
|
+
errors.push({
|
|
33
|
+
domain: report.domain,
|
|
34
|
+
step: 'archive',
|
|
35
|
+
error: `${report.archiveCounts.failed} selected patterns could not be archived (archive copy not verified) and were left active`,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
return errors;
|
|
39
|
+
}
|
|
18
40
|
const DEFAULT_CONFIG = {
|
|
19
41
|
minPatternsForConsolidation: 5,
|
|
20
42
|
similarityThreshold: 0.85,
|
|
@@ -72,16 +94,26 @@ export class LearningConsolidationProtocol {
|
|
|
72
94
|
let totalArchived = 0;
|
|
73
95
|
let totalRetained = 0;
|
|
74
96
|
const dryRun = this.config.dryRun;
|
|
97
|
+
// #1106: a failed step is recorded, never swallowed.
|
|
98
|
+
const errors = [];
|
|
75
99
|
for (const domainGroup of gatheredPatterns.value) {
|
|
76
100
|
const consolidationResult = await this.consolidatePatterns(consolidationId, domainGroup);
|
|
77
101
|
if (consolidationResult.success) {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
102
|
+
const report = consolidationResult.value;
|
|
103
|
+
domainReports.push(report);
|
|
104
|
+
totalMerged += report.mergedPatterns.length;
|
|
105
|
+
totalRemoved += report.removedPatterns.length;
|
|
106
|
+
totalArchived += report.archiveCounts.archived;
|
|
107
|
+
totalRetained += report.patternsAfterCount;
|
|
108
|
+
errors.push(...domainStepErrors(report));
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
errors.push({ domain: domainGroup.domain, step: 'consolidate', error: consolidationResult.error.message });
|
|
83
112
|
}
|
|
84
113
|
}
|
|
114
|
+
if (gatheredPatterns.value.length > 0 && domainReports.length === 0) {
|
|
115
|
+
return err(new Error(`Learning consolidation failed in every domain: ${errors.map((e) => `${e.domain}: ${e.error}`).join('; ')}`));
|
|
116
|
+
}
|
|
85
117
|
// Step 3: Update knowledge base with consolidated patterns (writes, so
|
|
86
118
|
// skipped in a dry run)
|
|
87
119
|
const knowledgeUpdateResult = dryRun
|
|
@@ -92,6 +124,12 @@ export class LearningConsolidationProtocol {
|
|
|
92
124
|
const transferResult = dryRun
|
|
93
125
|
? ok([])
|
|
94
126
|
: await this.prepareTransfer(consolidationId, domainReports);
|
|
127
|
+
if (!knowledgeUpdateResult.success) {
|
|
128
|
+
errors.push({ step: 'knowledge-update', error: knowledgeUpdateResult.error.message });
|
|
129
|
+
}
|
|
130
|
+
if (!transferResult.success) {
|
|
131
|
+
errors.push({ step: 'transfer', error: transferResult.error.message });
|
|
132
|
+
}
|
|
95
133
|
// Step 5: Generate weekly insights
|
|
96
134
|
const insights = await this.generateInsights(gatheredPatterns.value, domainReports);
|
|
97
135
|
const completedAt = new Date();
|
|
@@ -111,8 +149,13 @@ export class LearningConsolidationProtocol {
|
|
|
111
149
|
? transferResult.value.length
|
|
112
150
|
: 0,
|
|
113
151
|
};
|
|
152
|
+
const status = errors.length > 0 ? 'partial' : 'completed';
|
|
153
|
+
if (errors.length > 0) {
|
|
154
|
+
logger.warn('Learning consolidation finished with errors', { consolidationId, dryRun, errors });
|
|
155
|
+
}
|
|
114
156
|
logger.info('Learning consolidation finished', {
|
|
115
157
|
consolidationId,
|
|
158
|
+
status,
|
|
116
159
|
dryRun,
|
|
117
160
|
analyzed: stats.totalPatternsAnalyzed,
|
|
118
161
|
merged: totalMerged,
|
|
@@ -125,6 +168,8 @@ export class LearningConsolidationProtocol {
|
|
|
125
168
|
const result = {
|
|
126
169
|
consolidationId,
|
|
127
170
|
dryRun,
|
|
171
|
+
status,
|
|
172
|
+
errors,
|
|
128
173
|
startedAt,
|
|
129
174
|
completedAt,
|
|
130
175
|
stats,
|
|
@@ -246,26 +291,29 @@ export class LearningConsolidationProtocol {
|
|
|
246
291
|
retainedPatterns.push(...patterns.filter((p) => this.isInGracePeriod(p)));
|
|
247
292
|
// Group similar patterns for merging
|
|
248
293
|
const similarGroups = this.groupSimilarPatterns(patterns.filter((p) => !this.isInGracePeriod(p)));
|
|
294
|
+
const mergeFailures = [];
|
|
295
|
+
const mergeReason = 'Similar pattern context and template';
|
|
249
296
|
for (const group of similarGroups) {
|
|
250
|
-
if (group.length >= 2
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
// Merge similar patterns
|
|
261
|
-
const mergeResult = await this.mergePatternGroup(group);
|
|
262
|
-
if (mergeResult.success) {
|
|
297
|
+
if (group.length >= 2) {
|
|
298
|
+
const sourcePatternIds = group.map((p) => p.id);
|
|
299
|
+
// #1106: both runs carry the same set into the trim step. A dry run
|
|
300
|
+
// keeps the merged pattern the real run would store (built by the
|
|
301
|
+
// same function, never written); a real run keeps the stored one, or
|
|
302
|
+
// the sources themselves when the merge failed and left them active.
|
|
303
|
+
const merged = this.config.dryRun
|
|
304
|
+
? ok(buildConsolidatedPattern(group, `${DRY_RUN_MERGE_ID_PREFIX}${sourcePatternIds.join('+')}`))
|
|
305
|
+
: await this.mergePatternGroup(group);
|
|
306
|
+
if (merged.success) {
|
|
263
307
|
mergedPatterns.push({
|
|
264
|
-
resultPatternId:
|
|
265
|
-
sourcePatternIds
|
|
266
|
-
mergeReason
|
|
308
|
+
resultPatternId: this.config.dryRun ? '' : merged.value.id,
|
|
309
|
+
sourcePatternIds,
|
|
310
|
+
mergeReason,
|
|
267
311
|
});
|
|
268
|
-
retainedPatterns.push(
|
|
312
|
+
retainedPatterns.push(merged.value);
|
|
313
|
+
}
|
|
314
|
+
else {
|
|
315
|
+
mergeFailures.push({ sourcePatternIds, error: merged.error.message });
|
|
316
|
+
retainedPatterns.push(...group);
|
|
269
317
|
}
|
|
270
318
|
}
|
|
271
319
|
else {
|
|
@@ -308,6 +356,7 @@ export class LearningConsolidationProtocol {
|
|
|
308
356
|
mergedPatterns,
|
|
309
357
|
removedPatterns,
|
|
310
358
|
archiveCounts,
|
|
359
|
+
mergeFailures,
|
|
311
360
|
topPerformingPatterns: this.getTopPerformingPatterns(finalPatterns, 5),
|
|
312
361
|
improvementAreas: this.identifyImprovementAreas(domainGroup),
|
|
313
362
|
};
|
|
@@ -113,7 +113,7 @@ export declare class QueenCoordinator implements IQueenCoordinator {
|
|
|
113
113
|
triggerWorkStealing(): Promise<number>;
|
|
114
114
|
listAllAgents(): AgentInfo[];
|
|
115
115
|
getAgentsByDomain(domain: DomainName): AgentInfo[];
|
|
116
|
-
requestAgentSpawn(domain: DomainName, type: string, capabilities: string[]): Promise<Result<string, Error>>;
|
|
116
|
+
requestAgentSpawn(domain: DomainName, type: string, capabilities: string[], taskId?: string): Promise<Result<string, Error>>;
|
|
117
117
|
getHealth(): QueenHealth;
|
|
118
118
|
getMetrics(): QueenMetrics;
|
|
119
119
|
getMinCutBridge(): QueenMinCutBridge | null;
|
|
@@ -51,8 +51,8 @@ import { DEFAULT_QUEEN_CONFIG, getTaskDomains, initializeTaskDomainMap, } from '
|
|
|
51
51
|
export { DOMAIN_GROUPS, TASK_DOMAIN_MAP } from './queen-types.js';
|
|
52
52
|
// Extracted modules
|
|
53
53
|
import { subscribeToEvents, computeDomainHealthFromAgents } from './queen-event-handlers.js';
|
|
54
|
-
import { findDomainsWithoutHandler, describeMissingHandler } from './task-executability.js';
|
|
55
|
-
import { enqueueTask, removeFromQueues, getQueuePosition, processQueue, listTasks as listTasksImpl, assignTask,
|
|
54
|
+
import { findDomainsWithoutHandler, resolveTaskDomains, describeMissingHandler } from './task-executability.js';
|
|
55
|
+
import { enqueueTask, removeFromQueues, getQueuePosition, processQueue, listTasks as listTasksImpl, assignTask, dispatchStolenTask, canDomainExecuteTask, } from './queen-task-management.js';
|
|
56
56
|
import { triggerWorkStealing as triggerWorkStealingImpl, startWorkStealingTimer } from './queen-work-stealing.js';
|
|
57
57
|
import { isMinCutAwarePlugin, injectMinCutBridgeIntoPlugins, loadState, saveState, startMetricsCollectionTimer, cleanupCompletedTasks as cleanupCompletedTasksImpl, getEnabledDomains, } from './queen-lifecycle.js';
|
|
58
58
|
// Initialize TASK_DOMAIN_MAP entries that need ALL_DOMAINS
|
|
@@ -296,9 +296,9 @@ export class QueenCoordinator {
|
|
|
296
296
|
* accept the type unchanged.
|
|
297
297
|
*/
|
|
298
298
|
validateTaskExecutable(type, targetDomains = []) {
|
|
299
|
-
const candidates =
|
|
299
|
+
const candidates = resolveTaskDomains(type, targetDomains, this.domainPlugins);
|
|
300
300
|
if (candidates.length === 0) {
|
|
301
|
-
return err(new Error(`Unknown task type '${type}': no domain is configured for it. Pass a target domain.`));
|
|
301
|
+
return err(new Error(`Unknown task type '${type}': no domain is configured for it and no loaded domain handles it. Pass a target domain.`));
|
|
302
302
|
}
|
|
303
303
|
if (!this.domainPlugins)
|
|
304
304
|
return ok(undefined);
|
|
@@ -314,6 +314,11 @@ export class QueenCoordinator {
|
|
|
314
314
|
const taskId = `task_${uuidv4()}`;
|
|
315
315
|
const task = {
|
|
316
316
|
...taskInput,
|
|
317
|
+
// #1170: a plugin task type with no configured domain (e.g. sast-scan)
|
|
318
|
+
// runs in the domains that handle it, so routing and queueing see them.
|
|
319
|
+
targetDomains: getTaskDomains(taskInput.type).length > 0
|
|
320
|
+
? taskInput.targetDomains
|
|
321
|
+
: [...resolveTaskDomains(taskInput.type, taskInput.targetDomains, this.domainPlugins)],
|
|
317
322
|
id: taskId,
|
|
318
323
|
createdAt: new Date(),
|
|
319
324
|
timeout: taskInput.timeout || this.config.defaultTaskTimeout,
|
|
@@ -358,7 +363,11 @@ export class QueenCoordinator {
|
|
|
358
363
|
// Assign task to domain
|
|
359
364
|
const assignResult = await assignTask(this.createTaskContext(), task);
|
|
360
365
|
if (!assignResult.success) {
|
|
361
|
-
|
|
366
|
+
// A task the Queen already settled (refused by its plugin, or reported
|
|
367
|
+
// failed through onComplete) gave its slot back (#1140).
|
|
368
|
+
if (!this.tasks.has(taskId)) {
|
|
369
|
+
this.runningTaskCounter = Math.max(0, this.runningTaskCounter - 1);
|
|
370
|
+
}
|
|
362
371
|
return assignResult;
|
|
363
372
|
}
|
|
364
373
|
this.tasksReceived++;
|
|
@@ -366,7 +375,8 @@ export class QueenCoordinator {
|
|
|
366
375
|
return ok(taskId);
|
|
367
376
|
}
|
|
368
377
|
catch (error) {
|
|
369
|
-
|
|
378
|
+
// The task's own slot may already be released when the throw comes later.
|
|
379
|
+
this.runningTaskCounter = Math.max(0, this.runningTaskCounter - 1);
|
|
370
380
|
throw error;
|
|
371
381
|
}
|
|
372
382
|
}
|
|
@@ -474,7 +484,7 @@ export class QueenCoordinator {
|
|
|
474
484
|
getAgentsByDomain(domain) {
|
|
475
485
|
return this.agentCoordinator.listAgents({ domain });
|
|
476
486
|
}
|
|
477
|
-
async requestAgentSpawn(domain, type, capabilities) {
|
|
487
|
+
async requestAgentSpawn(domain, type, capabilities, taskId) {
|
|
478
488
|
if (!this.agentCoordinator.canSpawn()) {
|
|
479
489
|
return err(new Error('Maximum concurrent agents reached (15)'));
|
|
480
490
|
}
|
|
@@ -532,7 +542,10 @@ export class QueenCoordinator {
|
|
|
532
542
|
logger.warn(`Auto-team-wiring failed for ${result.value}`, { error: err });
|
|
533
543
|
}
|
|
534
544
|
}
|
|
535
|
-
|
|
545
|
+
// #1130: taskId marks an agent that lives only as long as its task.
|
|
546
|
+
await this.publishEvent('AgentSpawned', {
|
|
547
|
+
agentId: result.value, domain, type, capabilities, ...(taskId ? { taskId } : {}),
|
|
548
|
+
});
|
|
536
549
|
}
|
|
537
550
|
return result;
|
|
538
551
|
}
|
|
@@ -846,7 +859,7 @@ export class QueenCoordinator {
|
|
|
846
859
|
get traceCollector() { return self.traceCollector; },
|
|
847
860
|
taskTraceContexts: self.taskTraceContexts,
|
|
848
861
|
get coExecutionRepo() { return self.coExecutionRepo; },
|
|
849
|
-
requestAgentSpawn: (d, t, c) => self.requestAgentSpawn(d, t, c),
|
|
862
|
+
requestAgentSpawn: (d, t, c, id) => self.requestAgentSpawn(d, t, c, id),
|
|
850
863
|
publishEvent: (t, p) => self.publishEvent(t, p),
|
|
851
864
|
getDomainLoad: (d) => self.getDomainLoad(d),
|
|
852
865
|
getDomainHealth: (d) => self.getDomainHealth(d),
|
|
@@ -863,8 +876,12 @@ export class QueenCoordinator {
|
|
|
863
876
|
getIdleDomains: () => self.getIdleDomains(),
|
|
864
877
|
getBusyDomains: () => self.getBusyDomains(),
|
|
865
878
|
getDomainLoad: (d) => self.getDomainLoad(d),
|
|
879
|
+
// A queued entry can already be terminal (#1070); only a waiting task is stolen.
|
|
880
|
+
availableSlots: () => self.config.maxConcurrentTasks - self.runningTaskCounter,
|
|
881
|
+
canExecuteInDomain: (d, t) => (self.tasks.get(t.id)?.status ?? 'queued') === 'queued'
|
|
882
|
+
&& canDomainExecuteTask(self.domainPlugins, d, t),
|
|
866
883
|
removeFromQueues: (t) => removeFromQueues(self.taskQueue, self.domainQueues, t),
|
|
867
|
-
assignTaskToDomain: (t, d) =>
|
|
884
|
+
assignTaskToDomain: (t, d) => dispatchStolenTask(self.createTaskContext(), t, d),
|
|
868
885
|
publishEvent: (t, p) => self.publishEvent(t, p),
|
|
869
886
|
};
|
|
870
887
|
}
|
|
@@ -50,6 +50,17 @@ async function handleDomainEvent(ctx, event) {
|
|
|
50
50
|
// ============================================================================
|
|
51
51
|
// Task completed handler
|
|
52
52
|
// ============================================================================
|
|
53
|
+
/**
|
|
54
|
+
* #1130: a caller-owned task finishes through these events, not through the
|
|
55
|
+
* plugin completion callback that stops a task's agents, so its agent stayed
|
|
56
|
+
* "running" after the task ended. A retried task spawns a new agent. Stopping
|
|
57
|
+
* an agent that is already stopped is a no-op.
|
|
58
|
+
*/
|
|
59
|
+
async function stopTaskAgents(ctx, execution) {
|
|
60
|
+
for (const agentId of execution.assignedAgents) {
|
|
61
|
+
await ctx.agentCoordinator.stop(agentId);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
53
64
|
export async function handleTaskCompleted(ctx, event) {
|
|
54
65
|
const { taskId, result } = event.payload;
|
|
55
66
|
const cancelled = settleCancelledTask(ctx.tasks, taskId);
|
|
@@ -62,6 +73,7 @@ export async function handleTaskCompleted(ctx, event) {
|
|
|
62
73
|
}
|
|
63
74
|
const execution = ctx.tasks.get(taskId);
|
|
64
75
|
if (execution) {
|
|
76
|
+
await stopTaskAgents(ctx, execution);
|
|
65
77
|
// CC-002 FIX: Decrement the atomic counter when task completes
|
|
66
78
|
if (execution.status === 'running' || execution.status === 'assigned') {
|
|
67
79
|
ctx.runningTaskCounter = Math.max(0, ctx.runningTaskCounter - 1);
|
|
@@ -173,6 +185,7 @@ export async function handleTaskFailed(ctx, event) {
|
|
|
173
185
|
}
|
|
174
186
|
const execution = ctx.tasks.get(taskId);
|
|
175
187
|
if (execution) {
|
|
188
|
+
await stopTaskAgents(ctx, execution);
|
|
176
189
|
// CC-002 FIX: Decrement the atomic counter when task fails
|
|
177
190
|
if (execution.status === 'running' || execution.status === 'assigned') {
|
|
178
191
|
ctx.runningTaskCounter = Math.max(0, ctx.runningTaskCounter - 1);
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Agentic QE v3 - Queen Task Management
|
|
3
3
|
* Extracted from queen-coordinator.ts - Task assignment, domain routing,
|
|
4
|
-
* TinyDancer integration,
|
|
4
|
+
* TinyDancer integration, and domain plugin execution. Queue operations and
|
|
5
|
+
* the drain live in queen-task-queue.ts.
|
|
5
6
|
*/
|
|
6
7
|
import type { DomainName, Priority, Result } from '../shared/types';
|
|
7
8
|
import type { AgentCoordinator, DomainPlugin } from '../kernel/interfaces';
|
|
@@ -13,10 +14,7 @@ import type { DomainTeamManager } from './agent-teams/domain-team-manager.js';
|
|
|
13
14
|
import type { TierSelector } from './fleet-tiers/index.js';
|
|
14
15
|
import type { TraceCollector, TraceContext } from './agent-teams/tracing.js';
|
|
15
16
|
import type { QueenTask, TaskExecution, QueenConfig, TaskFilter } from './queen-types.js';
|
|
16
|
-
|
|
17
|
-
* PERF-001 FIX: Comparator for tasks - sorted by createdAt ascending (oldest first / FIFO within priority)
|
|
18
|
-
*/
|
|
19
|
-
export declare const taskComparator: import("../shared/utils/binary-insert").Comparator<QueenTask>;
|
|
17
|
+
export { taskComparator, enqueueTask, removeFromQueues, getQueuePosition, processQueue, } from './queen-task-queue.js';
|
|
20
18
|
/**
|
|
21
19
|
* Interface exposing QueenCoordinator internals needed by task management functions.
|
|
22
20
|
*/
|
|
@@ -43,29 +41,11 @@ export interface QueenTaskContext {
|
|
|
43
41
|
readonly traceCollector: TraceCollector | null;
|
|
44
42
|
readonly taskTraceContexts: Map<string, TraceContext>;
|
|
45
43
|
readonly coExecutionRepo: CoExecutionRepository | null;
|
|
46
|
-
requestAgentSpawn(domain: DomainName, type: string, capabilities: string[]): Promise<Result<string, Error>>;
|
|
44
|
+
requestAgentSpawn(domain: DomainName, type: string, capabilities: string[], taskId?: string): Promise<Result<string, Error>>;
|
|
47
45
|
publishEvent(type: string, payload: Record<string, unknown>): Promise<void>;
|
|
48
46
|
getDomainLoad(domain: DomainName): number;
|
|
49
47
|
getDomainHealth(domain: DomainName): import('../kernel/interfaces').DomainHealth | undefined;
|
|
50
48
|
}
|
|
51
|
-
/**
|
|
52
|
-
* PERF-001 FIX: Use binary insertion O(log n) instead of sort O(n log n)
|
|
53
|
-
*/
|
|
54
|
-
export declare function enqueueTask(taskQueue: Map<Priority, QueenTask[]>, domainQueues: Map<DomainName, QueenTask[]>, task: QueenTask): void;
|
|
55
|
-
/**
|
|
56
|
-
* Remove a task from all queues.
|
|
57
|
-
* PERF-008: Only iterate the task's targetDomains instead of ALL_DOMAINS.
|
|
58
|
-
*/
|
|
59
|
-
export declare function removeFromQueues(taskQueue: Map<Priority, QueenTask[]>, domainQueues: Map<DomainName, QueenTask[]>, task: QueenTask): void;
|
|
60
|
-
/**
|
|
61
|
-
* Get the position of a task within the priority queues.
|
|
62
|
-
*/
|
|
63
|
-
export declare function getQueuePosition(taskQueue: Map<Priority, QueenTask[]>, task: QueenTask): number;
|
|
64
|
-
/**
|
|
65
|
-
* Process the queue: dequeue highest-priority tasks and assign them.
|
|
66
|
-
* CC-002 FIX: Uses atomic counter for capacity check.
|
|
67
|
-
*/
|
|
68
|
-
export declare function processQueue(ctx: QueenTaskContext): Promise<void>;
|
|
69
49
|
/**
|
|
70
50
|
* List tasks with optional filtering.
|
|
71
51
|
*/
|
|
@@ -79,8 +59,22 @@ export declare function assignTask(ctx: QueenTaskContext, task: QueenTask): Prom
|
|
|
79
59
|
* circuit breaker checks, team management, and domain plugin execution.
|
|
80
60
|
*/
|
|
81
61
|
export declare function assignTaskToDomain(ctx: QueenTaskContext, task: QueenTask, domain: DomainName): Promise<Result<string, Error>>;
|
|
62
|
+
/**
|
|
63
|
+
* Work stealing: dispatch a queued task to another domain. It takes a slot
|
|
64
|
+
* like any dispatched task, so its settle leaves the counter balanced, and it
|
|
65
|
+
* is failed with the reason if it cannot be assigned (#1124).
|
|
66
|
+
*
|
|
67
|
+
* Returns whether the task is now running in `domain`. An entry that reached a
|
|
68
|
+
* terminal state while still queued (#1070) is not dispatched at all.
|
|
69
|
+
*/
|
|
70
|
+
export declare function dispatchStolenTask(ctx: QueenTaskContext, task: QueenTask, domain: DomainName): Promise<boolean>;
|
|
82
71
|
/**
|
|
83
72
|
* Check if a domain can handle a given task type.
|
|
84
73
|
*/
|
|
85
74
|
export declare function canDomainHandleTask(domain: DomainName, task: QueenTask): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* #1124: whether a task can run in a domain, i.e. the domain is configured for
|
|
77
|
+
* its type and, for a Queen-owned task, the domain's plugin has a handler.
|
|
78
|
+
*/
|
|
79
|
+
export declare function canDomainExecuteTask(domainPlugins: ReadonlyMap<DomainName, DomainPlugin> | undefined, domain: DomainName, task: QueenTask): boolean;
|
|
86
80
|
//# sourceMappingURL=queen-task-management.d.ts.map
|