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
|
@@ -39,10 +39,12 @@ export class MinCutHealthTool extends MCPToolBase {
|
|
|
39
39
|
agents: {
|
|
40
40
|
type: 'array',
|
|
41
41
|
description: 'Agent vertices to add to the graph before analysis',
|
|
42
|
+
items: { type: 'object', description: 'Agent vertex { id, domain, weight? }' },
|
|
42
43
|
},
|
|
43
44
|
edges: {
|
|
44
45
|
type: 'array',
|
|
45
46
|
description: 'Edges to add between agents',
|
|
47
|
+
items: { type: 'object', description: 'Edge { source, target, weight? }' },
|
|
46
48
|
},
|
|
47
49
|
includeWeakVertices: {
|
|
48
50
|
type: 'boolean',
|
|
@@ -210,6 +212,7 @@ export class MinCutStrengthenTool extends MCPToolBase {
|
|
|
210
212
|
targetVertices: {
|
|
211
213
|
type: 'array',
|
|
212
214
|
description: 'Specific vertices to strengthen',
|
|
215
|
+
items: { type: 'string', description: 'Vertex ID' },
|
|
213
216
|
},
|
|
214
217
|
apply: {
|
|
215
218
|
type: 'boolean',
|
|
@@ -11,6 +11,10 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import { MCPToolBase } from '../base.js';
|
|
13
13
|
import { toErrorMessage } from '../../../shared/error-utils.js';
|
|
14
|
+
import { MAX_PAYLOAD_FILE_BYTES, requirePayloadPath } from '../../../shared/io/payload-path-guard.js';
|
|
15
|
+
import { findProjectRoot } from '../../../kernel/project-root.js';
|
|
16
|
+
import { readConfinedText } from '../../../shared/io/confined-read.js';
|
|
17
|
+
import { parseAnchorSet } from '../../../validation/anchor-set.js';
|
|
14
18
|
import { getLLMRouter } from '../base.js';
|
|
15
19
|
import { runQualityGate, } from '../../../validation/quality-gate-runner.js';
|
|
16
20
|
import { createRouterFrontierJudge, createUnavailableJudge, } from '../../../validation/frontier-judge.js';
|
|
@@ -32,6 +36,19 @@ export class QualityGateTool extends MCPToolBase {
|
|
|
32
36
|
if (typeof params.artifact !== 'string' || params.artifact.length === 0) {
|
|
33
37
|
return { success: false, error: 'artifact (non-empty string) is required' };
|
|
34
38
|
}
|
|
39
|
+
// #1126: a caller-named anchor must be a regular file inside the project
|
|
40
|
+
// (relative paths resolve against the project root, as the runner does).
|
|
41
|
+
let anchorPath;
|
|
42
|
+
let anchor;
|
|
43
|
+
if (params.anchorPath !== undefined) {
|
|
44
|
+
const confined = await requirePayloadPath('qe/quality/gate', 'anchorPath', params.anchorPath, { basePath: findProjectRoot(), maxBytes: MAX_PAYLOAD_FILE_BYTES });
|
|
45
|
+
if (!confined.success)
|
|
46
|
+
return { success: false, error: confined.error.message };
|
|
47
|
+
anchorPath = confined.value;
|
|
48
|
+
// #1161: the runner gets the anchor read from the validated descriptor,
|
|
49
|
+
// so a file swapped after the check is never read by name.
|
|
50
|
+
anchor = parseAnchorSet(await readConfinedText(anchorPath, { maxBytes: MAX_PAYLOAD_FILE_BYTES }), params.anchorPath);
|
|
51
|
+
}
|
|
35
52
|
const router = await getLLMRouter(context);
|
|
36
53
|
const judge = router
|
|
37
54
|
? createRouterFrontierJudge(router, {
|
|
@@ -47,7 +64,8 @@ export class QualityGateTool extends MCPToolBase {
|
|
|
47
64
|
artifact: params.artifact,
|
|
48
65
|
checklistId: params.checklistId,
|
|
49
66
|
judge,
|
|
50
|
-
anchorPath
|
|
67
|
+
anchorPath,
|
|
68
|
+
anchor,
|
|
51
69
|
verificationManifest: params.verificationManifest,
|
|
52
70
|
});
|
|
53
71
|
return { success: true, data: result };
|
|
@@ -13,8 +13,9 @@
|
|
|
13
13
|
*/
|
|
14
14
|
import { MCPToolBase } from '../base.js';
|
|
15
15
|
import { createQualityCriteriaService, HTSM_CATEGORIES, NEVER_OMIT_CATEGORIES, } from '../../../domains/requirements-validation/index.js';
|
|
16
|
-
import { existsSync, readFileSync } from 'fs';
|
|
17
16
|
import { toErrorMessage } from '../../../shared/error-utils.js';
|
|
17
|
+
import { MAX_PAYLOAD_FILE_BYTES, requirePayloadPath } from '../../../shared/io/payload-path-guard.js';
|
|
18
|
+
import { ConfinedReadError, readConfinedText } from '../../../shared/io/confined-read.js';
|
|
18
19
|
// ============================================================================
|
|
19
20
|
// Tool Implementation
|
|
20
21
|
// ============================================================================
|
|
@@ -121,8 +122,21 @@ export class QualityCriteriaTool extends MCPToolBase {
|
|
|
121
122
|
});
|
|
122
123
|
// Load epic content
|
|
123
124
|
let content = epicContent || '';
|
|
124
|
-
|
|
125
|
-
|
|
125
|
+
// #1126: the epic is returned verbatim in the agent prompt, so read it
|
|
126
|
+
// only from a regular file inside the project.
|
|
127
|
+
if (epicPath) {
|
|
128
|
+
const confined = await requirePayloadPath('quality-criteria', 'epicPath', epicPath, { allowMissing: true, maxBytes: MAX_PAYLOAD_FILE_BYTES });
|
|
129
|
+
if (!confined.success)
|
|
130
|
+
return { success: false, error: confined.error.message };
|
|
131
|
+
// #1161: read from the validated descriptor; a missing file stays empty.
|
|
132
|
+
try {
|
|
133
|
+
content = await readConfinedText(confined.value, { maxBytes: MAX_PAYLOAD_FILE_BYTES });
|
|
134
|
+
}
|
|
135
|
+
catch (readErr) {
|
|
136
|
+
if (!(readErr instanceof ConfinedReadError) || readErr.reason !== 'not-found') {
|
|
137
|
+
return { success: false, error: toErrorMessage(readErr) };
|
|
138
|
+
}
|
|
139
|
+
}
|
|
126
140
|
}
|
|
127
141
|
if (!content && !epicPath) {
|
|
128
142
|
return {
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
import { MCPToolBase, getMemoryBackend } from '../base.js';
|
|
11
11
|
import { toErrorMessage } from '../../../shared/error-utils.js';
|
|
12
12
|
import { safeJsonParse } from '../../../shared/safe-json.js';
|
|
13
|
+
import { getOwn } from '../../../shared/utils/safe-record.js';
|
|
13
14
|
import { ALL_SECURITY_PATTERNS, SECRET_PATTERNS, } from '../../../domains/security-compliance/services/scanners/security-patterns.js';
|
|
14
15
|
import { writeQualityEvidence } from '../../../domains/quality-assessment/quality-evidence.js';
|
|
15
16
|
// ============================================================================
|
|
@@ -460,7 +461,8 @@ const KNOWN_VULNERABLE_NPM = {
|
|
|
460
461
|
function checkKnownVulnerableDeps(deps, manifest) {
|
|
461
462
|
const vulns = [];
|
|
462
463
|
for (const [name, version] of Object.entries(deps)) {
|
|
463
|
-
|
|
464
|
+
// #1157: a dependency named `constructor` is a package, not a table entry.
|
|
465
|
+
const known = getOwn(KNOWN_VULNERABLE_NPM, name);
|
|
464
466
|
if (known) {
|
|
465
467
|
const cleanVersion = version.replace(/^[\^~>=<]+/, '');
|
|
466
468
|
if (compareVersions(cleanVersion, known.maxSafe) < 0) {
|
|
@@ -512,7 +514,7 @@ function extractRequirementsTxtDeps(content) {
|
|
|
512
514
|
function checkKnownVulnerablePythonDeps(deps, manifest) {
|
|
513
515
|
const vulns = [];
|
|
514
516
|
for (const dep of deps) {
|
|
515
|
-
const known = KNOWN_VULNERABLE_PYTHON
|
|
517
|
+
const known = getOwn(KNOWN_VULNERABLE_PYTHON, dep);
|
|
516
518
|
if (known) {
|
|
517
519
|
vulns.push({
|
|
518
520
|
id: `DEP-py-${dep}-${known.cve}`,
|
|
@@ -130,7 +130,7 @@ const E2E_EXECUTE_SCHEMA = {
|
|
|
130
130
|
name: { type: 'string', description: 'Test case name' },
|
|
131
131
|
description: { type: 'string', description: 'Test case description' },
|
|
132
132
|
baseUrl: { type: 'string', description: 'Base URL for the test' },
|
|
133
|
-
steps: { type: 'array', description: 'Test steps to execute' },
|
|
133
|
+
steps: { type: 'array', description: 'Test steps to execute', items: { type: 'object', description: 'Test step' } },
|
|
134
134
|
viewport: {
|
|
135
135
|
type: 'object',
|
|
136
136
|
description: 'Browser viewport configuration',
|
|
@@ -149,7 +149,7 @@ const E2E_EXECUTE_SCHEMA = {
|
|
|
149
149
|
id: { type: 'string', description: 'Test suite ID' },
|
|
150
150
|
name: { type: 'string', description: 'Test suite name' },
|
|
151
151
|
description: { type: 'string', description: 'Test suite description' },
|
|
152
|
-
testCases: { type: 'array', description: 'Test cases in the suite' },
|
|
152
|
+
testCases: { type: 'array', description: 'Test cases in the suite', items: { type: 'object', description: 'Test case' } },
|
|
153
153
|
parallel: { type: 'boolean', description: 'Run tests in parallel' },
|
|
154
154
|
maxWorkers: { type: 'number', description: 'Maximum parallel workers' },
|
|
155
155
|
},
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
import { MCPToolBase } from '../base.js';
|
|
10
10
|
import { toErrorMessage } from '../../../shared/error-utils.js';
|
|
11
11
|
import { secureRandom, secureRandomFloat } from '../../../shared/utils/crypto-random.js';
|
|
12
|
+
import { DEFAULT_TEST_RETRY_COUNT } from '../../../domains/test-execution/services/retry-outcome.js';
|
|
12
13
|
// ============================================================================
|
|
13
14
|
// Tool Implementation
|
|
14
15
|
// ============================================================================
|
|
@@ -22,7 +23,7 @@ export class TestExecuteTool extends MCPToolBase {
|
|
|
22
23
|
timeout: 300000,
|
|
23
24
|
};
|
|
24
25
|
async execute(params, context) {
|
|
25
|
-
const { testFiles = [], testSuites = [], pattern, parallel = true, parallelism = 4, retryCount =
|
|
26
|
+
const { testFiles = [], testSuites = [], pattern, parallel = true, parallelism = 4, retryCount = DEFAULT_TEST_RETRY_COUNT, collectCoverage = false, failFast = false, } = params;
|
|
26
27
|
const startTime = Date.now();
|
|
27
28
|
try {
|
|
28
29
|
// Determine files to test
|
|
@@ -164,7 +165,7 @@ const TEST_EXECUTE_SCHEMA = {
|
|
|
164
165
|
description: 'Number of retries for failed tests',
|
|
165
166
|
minimum: 0,
|
|
166
167
|
maximum: 5,
|
|
167
|
-
default:
|
|
168
|
+
default: DEFAULT_TEST_RETRY_COUNT,
|
|
168
169
|
},
|
|
169
170
|
timeout: {
|
|
170
171
|
type: 'number',
|
|
@@ -309,6 +309,9 @@ export function createCRDTStore(config) {
|
|
|
309
309
|
applyState(incoming) {
|
|
310
310
|
// Apply registers
|
|
311
311
|
for (const [key, state] of Object.entries(incoming.registers)) {
|
|
312
|
+
// One malformed peer entry must not block unrelated state from converging.
|
|
313
|
+
if (typeof state?.timestamp !== 'number' || !Number.isFinite(state.timestamp))
|
|
314
|
+
continue;
|
|
312
315
|
if (!registers.has(key)) {
|
|
313
316
|
registers.set(key, createLWWRegisterFromState(nodeId, state));
|
|
314
317
|
}
|
|
@@ -431,6 +434,8 @@ export function createCRDTStore(config) {
|
|
|
431
434
|
// Apply delta similar to full state, but only for included keys
|
|
432
435
|
if (delta.registers) {
|
|
433
436
|
for (const [key, state] of Object.entries(delta.registers)) {
|
|
437
|
+
if (typeof state?.timestamp !== 'number' || !Number.isFinite(state.timestamp))
|
|
438
|
+
continue;
|
|
434
439
|
if (!registers.has(key)) {
|
|
435
440
|
registers.set(key, createLWWRegisterFromState(nodeId, state));
|
|
436
441
|
}
|
|
@@ -7,6 +7,11 @@
|
|
|
7
7
|
*
|
|
8
8
|
* @module memory/crdt/lww-register
|
|
9
9
|
*/
|
|
10
|
+
function assertFiniteTimestamp(timestamp) {
|
|
11
|
+
if (!Number.isFinite(timestamp)) {
|
|
12
|
+
throw new RangeError('LWW register timestamp must be a finite number');
|
|
13
|
+
}
|
|
14
|
+
}
|
|
10
15
|
// =============================================================================
|
|
11
16
|
// LWW Register Implementation
|
|
12
17
|
// =============================================================================
|
|
@@ -26,10 +31,12 @@
|
|
|
26
31
|
* ```
|
|
27
32
|
*/
|
|
28
33
|
export function createLWWRegister(nodeId, initialValue, initialTimestamp) {
|
|
34
|
+
const timestamp = initialTimestamp ?? (initialValue !== undefined ? Date.now() : 0);
|
|
35
|
+
assertFiniteTimestamp(timestamp);
|
|
29
36
|
// Internal state
|
|
30
37
|
let state = {
|
|
31
38
|
value: initialValue,
|
|
32
|
-
timestamp
|
|
39
|
+
timestamp,
|
|
33
40
|
nodeId: initialValue !== undefined ? nodeId : '',
|
|
34
41
|
version: initialValue !== undefined ? 1 : 0,
|
|
35
42
|
lastUpdated: Date.now(),
|
|
@@ -51,6 +58,7 @@ export function createLWWRegister(nodeId, initialValue, initialTimestamp) {
|
|
|
51
58
|
},
|
|
52
59
|
set(value, timestamp) {
|
|
53
60
|
let ts = timestamp ?? Date.now();
|
|
61
|
+
assertFiniteTimestamp(ts);
|
|
54
62
|
// Without an explicit timestamp the write means "now": a second write by
|
|
55
63
|
// this node within one clock tick (or after a backwards clock step) must
|
|
56
64
|
// still supersede its own earlier write, not tie with it and be dropped.
|
|
@@ -88,6 +96,8 @@ export function createLWWRegister(nodeId, initialValue, initialTimestamp) {
|
|
|
88
96
|
// (0) would otherwise beat a real write at a negative timestamp.
|
|
89
97
|
if (incoming.version === 0)
|
|
90
98
|
return;
|
|
99
|
+
// NaN breaks total ordering; infinity would permanently outrank finite writes.
|
|
100
|
+
assertFiniteTimestamp(incoming.timestamp);
|
|
91
101
|
// Only update if incoming timestamp wins
|
|
92
102
|
if (state.version === 0 ||
|
|
93
103
|
compareTimestamps(incoming.timestamp, incoming.nodeId, state.timestamp, state.nodeId) > 0) {
|
|
@@ -134,7 +144,7 @@ export function isLWWRegisterState(value) {
|
|
|
134
144
|
return false;
|
|
135
145
|
}
|
|
136
146
|
const state = value;
|
|
137
|
-
return (typeof state.timestamp === 'number' &&
|
|
147
|
+
return (typeof state.timestamp === 'number' && Number.isFinite(state.timestamp) &&
|
|
138
148
|
typeof state.nodeId === 'string' &&
|
|
139
149
|
typeof state.version === 'number' &&
|
|
140
150
|
typeof state.lastUpdated === 'number' &&
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* @module migration/agent-compat
|
|
8
8
|
* @see docs/adr/adr-048-agent-naming-conventions.md
|
|
9
9
|
*/
|
|
10
|
+
import { getOwn } from '../shared/utils/safe-record.js';
|
|
10
11
|
/**
|
|
11
12
|
* Complete mapping of deprecated V2 agent names to their V3 equivalents with domain info.
|
|
12
13
|
*
|
|
@@ -127,7 +128,8 @@ export const v2AgentMapping = Object.fromEntries(Object.entries(v2AgentMappingWi
|
|
|
127
128
|
* ```
|
|
128
129
|
*/
|
|
129
130
|
export function resolveAgentName(name) {
|
|
130
|
-
|
|
131
|
+
// #1136: own entries only; `constructor` is not a V2 agent name.
|
|
132
|
+
return getOwn(v2AgentMapping, name) ?? name;
|
|
131
133
|
}
|
|
132
134
|
/**
|
|
133
135
|
* Checks if an agent name is a deprecated V2 agent.
|
|
@@ -146,7 +148,7 @@ export function resolveAgentName(name) {
|
|
|
146
148
|
* ```
|
|
147
149
|
*/
|
|
148
150
|
export function isDeprecatedAgent(name) {
|
|
149
|
-
return name
|
|
151
|
+
return Object.hasOwn(v2AgentMapping, name);
|
|
150
152
|
}
|
|
151
153
|
/**
|
|
152
154
|
* Generates a deprecation warning message for a V2 agent name.
|
|
@@ -170,7 +172,7 @@ export function isDeprecatedAgent(name) {
|
|
|
170
172
|
* ```
|
|
171
173
|
*/
|
|
172
174
|
export function getDeprecationWarning(v2Name) {
|
|
173
|
-
const v3Name = v2AgentMapping
|
|
175
|
+
const v3Name = getOwn(v2AgentMapping, v2Name);
|
|
174
176
|
if (!v3Name) {
|
|
175
177
|
return '';
|
|
176
178
|
}
|
|
@@ -211,7 +213,7 @@ export const v3Agents = [
|
|
|
211
213
|
*/
|
|
212
214
|
export function getAgentDomain(agentName) {
|
|
213
215
|
// Check V2 mapping
|
|
214
|
-
const v2Entry = v2AgentMappingWithDomain
|
|
216
|
+
const v2Entry = getOwn(v2AgentMappingWithDomain, agentName);
|
|
215
217
|
if (v2Entry) {
|
|
216
218
|
return v2Entry.domain;
|
|
217
219
|
}
|
|
@@ -261,7 +263,7 @@ export function generateMigrationReport(usedAgents) {
|
|
|
261
263
|
const alreadyV3 = [];
|
|
262
264
|
const unknown = [];
|
|
263
265
|
for (const agent of usedAgents) {
|
|
264
|
-
const v2Entry = v2AgentMappingWithDomain
|
|
266
|
+
const v2Entry = getOwn(v2AgentMappingWithDomain, agent);
|
|
265
267
|
if (v2Entry) {
|
|
266
268
|
needsMigration.push({
|
|
267
269
|
v2Name: agent,
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agentic QE v3 - Dream insights archive table (#1066, #1116)
|
|
3
|
+
*
|
|
4
|
+
* The dream_insights retention sweep copies each stale insight here before it
|
|
5
|
+
* deletes it (#1066). Until #1116 the sweep created the table lazily on its
|
|
6
|
+
* first run, outside the versioned schema; it is now created by the v14
|
|
7
|
+
* migration.
|
|
8
|
+
*
|
|
9
|
+
* Additive and idempotent: `CREATE ... IF NOT EXISTS` only, so a database where
|
|
10
|
+
* an earlier sweep already created the table (with its rows) is left as it
|
|
11
|
+
* is, and an older AQE that still creates it lazily with the same statement
|
|
12
|
+
* keeps working on a migrated database.
|
|
13
|
+
*
|
|
14
|
+
* Same columns as dream_insights plus archive_id and archived_at. `id` is not
|
|
15
|
+
* unique here: an insight that comes back (for example from a brain import)
|
|
16
|
+
* and is swept again gets a second row instead of replacing the first. No
|
|
17
|
+
* foreign key, so deleting a dream cycle does not cascade into the archive.
|
|
18
|
+
*/
|
|
19
|
+
import type { Database as DatabaseType } from 'better-sqlite3';
|
|
20
|
+
export declare const MIGRATION_VERSION = "20261018_add_dream_insights_archive";
|
|
21
|
+
export declare const DREAM_INSIGHTS_ARCHIVE_TABLE = "dream_insights_archive";
|
|
22
|
+
/** The table, exactly as the 3.15.9 sweep created it lazily. */
|
|
23
|
+
export declare const DREAM_INSIGHTS_ARCHIVE_TABLE_SQL = "\n CREATE TABLE IF NOT EXISTS dream_insights_archive (\n archive_id INTEGER PRIMARY KEY AUTOINCREMENT,\n id TEXT NOT NULL,\n cycle_id TEXT,\n insight_type TEXT,\n source_concepts TEXT,\n description TEXT,\n novelty_score REAL,\n confidence_score REAL,\n actionable INTEGER,\n applied INTEGER,\n suggested_action TEXT,\n pattern_id TEXT,\n created_at TEXT,\n archived_at TEXT NOT NULL DEFAULT (datetime('now'))\n )\n";
|
|
24
|
+
export declare const DREAM_INSIGHTS_ARCHIVE_SCHEMA = "\n \n CREATE TABLE IF NOT EXISTS dream_insights_archive (\n archive_id INTEGER PRIMARY KEY AUTOINCREMENT,\n id TEXT NOT NULL,\n cycle_id TEXT,\n insight_type TEXT,\n source_concepts TEXT,\n description TEXT,\n novelty_score REAL,\n confidence_score REAL,\n actionable INTEGER,\n applied INTEGER,\n suggested_action TEXT,\n pattern_id TEXT,\n created_at TEXT,\n archived_at TEXT NOT NULL DEFAULT (datetime('now'))\n )\n;\n -- The sweep's read-back looks copies up by insight id.\n CREATE INDEX IF NOT EXISTS idx_dream_insights_archive_id ON dream_insights_archive(id);\n";
|
|
25
|
+
export declare function applyMigration(db: DatabaseType): void;
|
|
26
|
+
export declare function isMigrationApplied(db: DatabaseType): boolean;
|
|
27
|
+
//# sourceMappingURL=20261018_add_dream_insights_archive.d.ts.map
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agentic QE v3 - Dream insights archive table (#1066, #1116)
|
|
3
|
+
*
|
|
4
|
+
* The dream_insights retention sweep copies each stale insight here before it
|
|
5
|
+
* deletes it (#1066). Until #1116 the sweep created the table lazily on its
|
|
6
|
+
* first run, outside the versioned schema; it is now created by the v14
|
|
7
|
+
* migration.
|
|
8
|
+
*
|
|
9
|
+
* Additive and idempotent: `CREATE ... IF NOT EXISTS` only, so a database where
|
|
10
|
+
* an earlier sweep already created the table (with its rows) is left as it
|
|
11
|
+
* is, and an older AQE that still creates it lazily with the same statement
|
|
12
|
+
* keeps working on a migrated database.
|
|
13
|
+
*
|
|
14
|
+
* Same columns as dream_insights plus archive_id and archived_at. `id` is not
|
|
15
|
+
* unique here: an insight that comes back (for example from a brain import)
|
|
16
|
+
* and is swept again gets a second row instead of replacing the first. No
|
|
17
|
+
* foreign key, so deleting a dream cycle does not cascade into the archive.
|
|
18
|
+
*/
|
|
19
|
+
export const MIGRATION_VERSION = '20261018_add_dream_insights_archive';
|
|
20
|
+
export const DREAM_INSIGHTS_ARCHIVE_TABLE = 'dream_insights_archive';
|
|
21
|
+
/** The table, exactly as the 3.15.9 sweep created it lazily. */
|
|
22
|
+
export const DREAM_INSIGHTS_ARCHIVE_TABLE_SQL = `
|
|
23
|
+
CREATE TABLE IF NOT EXISTS ${DREAM_INSIGHTS_ARCHIVE_TABLE} (
|
|
24
|
+
archive_id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
25
|
+
id TEXT NOT NULL,
|
|
26
|
+
cycle_id TEXT,
|
|
27
|
+
insight_type TEXT,
|
|
28
|
+
source_concepts TEXT,
|
|
29
|
+
description TEXT,
|
|
30
|
+
novelty_score REAL,
|
|
31
|
+
confidence_score REAL,
|
|
32
|
+
actionable INTEGER,
|
|
33
|
+
applied INTEGER,
|
|
34
|
+
suggested_action TEXT,
|
|
35
|
+
pattern_id TEXT,
|
|
36
|
+
created_at TEXT,
|
|
37
|
+
archived_at TEXT NOT NULL DEFAULT (datetime('now'))
|
|
38
|
+
)
|
|
39
|
+
`;
|
|
40
|
+
export const DREAM_INSIGHTS_ARCHIVE_SCHEMA = `
|
|
41
|
+
${DREAM_INSIGHTS_ARCHIVE_TABLE_SQL};
|
|
42
|
+
-- The sweep's read-back looks copies up by insight id.
|
|
43
|
+
CREATE INDEX IF NOT EXISTS idx_dream_insights_archive_id ON ${DREAM_INSIGHTS_ARCHIVE_TABLE}(id);
|
|
44
|
+
`;
|
|
45
|
+
export function applyMigration(db) {
|
|
46
|
+
db.exec(DREAM_INSIGHTS_ARCHIVE_SCHEMA);
|
|
47
|
+
}
|
|
48
|
+
export function isMigrationApplied(db) {
|
|
49
|
+
try {
|
|
50
|
+
const result = db.prepare(`SELECT COUNT(*) AS count FROM sqlite_master WHERE type = 'table' AND name = ?`).get(DREAM_INSIGHTS_ARCHIVE_TABLE);
|
|
51
|
+
return result.count === 1;
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=20261018_add_dream_insights_archive.js.map
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
*/
|
|
9
9
|
import { detectQEDomain } from '../learning/qe-patterns.js';
|
|
10
10
|
import { toErrorMessage } from '../shared/error-utils.js';
|
|
11
|
+
import { createSafeRecord } from '../shared/utils/safe-record.js';
|
|
11
12
|
/**
|
|
12
13
|
* Default early exit configuration
|
|
13
14
|
*/
|
|
@@ -374,7 +375,8 @@ export class EarlyExitTokenOptimizer {
|
|
|
374
375
|
reasonBreakdown[attempt.reason]++;
|
|
375
376
|
}
|
|
376
377
|
// Calculate domain breakdown
|
|
377
|
-
|
|
378
|
+
// #1157: domains come from recorded requests.
|
|
379
|
+
const domainBreakdown = createSafeRecord();
|
|
378
380
|
for (const reuse of this.reuseHistory) {
|
|
379
381
|
const domain = reuse.domain ?? 'unknown';
|
|
380
382
|
if (!domainBreakdown[domain]) {
|
|
@@ -645,6 +645,11 @@ export class GOAPPlanner {
|
|
|
645
645
|
if (current === null || current === undefined) {
|
|
646
646
|
return undefined;
|
|
647
647
|
}
|
|
648
|
+
// #1157: goal and condition keys can come from callers; an inherited
|
|
649
|
+
// member such as `constructor` is not part of the world state.
|
|
650
|
+
if (typeof current !== 'object' || !Object.hasOwn(current, part)) {
|
|
651
|
+
return undefined;
|
|
652
|
+
}
|
|
648
653
|
current = current[part];
|
|
649
654
|
}
|
|
650
655
|
return current;
|
|
@@ -900,6 +900,11 @@ export class PlanExecutor {
|
|
|
900
900
|
if (current === null || current === undefined) {
|
|
901
901
|
return undefined;
|
|
902
902
|
}
|
|
903
|
+
// #1157: goal and condition keys can come from callers; an inherited
|
|
904
|
+
// member such as `constructor` is not part of the world state.
|
|
905
|
+
if (typeof current !== 'object' || !Object.hasOwn(current, part)) {
|
|
906
|
+
return undefined;
|
|
907
|
+
}
|
|
903
908
|
current = current[part];
|
|
904
909
|
}
|
|
905
910
|
return current;
|
|
@@ -57,6 +57,10 @@ export interface GitAnalyzerConfig {
|
|
|
57
57
|
enableCache?: boolean;
|
|
58
58
|
/** Cache TTL in milliseconds (default: 5 minutes) */
|
|
59
59
|
cacheTtl?: number;
|
|
60
|
+
/** Deadline in milliseconds shared by the git calls of one analysis (default: 30 seconds) */
|
|
61
|
+
gitTimeoutMs?: number;
|
|
62
|
+
/** Deadline in milliseconds for all analyses of one file inside withFileDeadline() (default: 60 seconds) */
|
|
63
|
+
fileTimeoutMs?: number;
|
|
60
64
|
}
|
|
61
65
|
/**
|
|
62
66
|
* Git Analyzer for defect prediction metrics
|
|
@@ -65,11 +69,27 @@ export declare class GitAnalyzer {
|
|
|
65
69
|
private readonly config;
|
|
66
70
|
private readonly cache;
|
|
67
71
|
private isGitRepo;
|
|
72
|
+
/** After a rev-parse timeout, when to ask git again (until then: "timeout"). */
|
|
73
|
+
private repoRetryAt;
|
|
74
|
+
private readonly timedOutFiles;
|
|
75
|
+
/** Files inside withFileDeadline() and when their git time runs out. */
|
|
76
|
+
private readonly fileDeadlines;
|
|
68
77
|
constructor(config?: GitAnalyzerConfig);
|
|
69
78
|
/**
|
|
70
79
|
* Check if current directory is a git repository
|
|
71
80
|
*/
|
|
72
81
|
isGitRepository(): Promise<boolean>;
|
|
82
|
+
/**
|
|
83
|
+
* True when git timed out while analysing `filePath` since the last call, so
|
|
84
|
+
* the analysis returned its "git unavailable" default rather than a result.
|
|
85
|
+
*/
|
|
86
|
+
consumeTimeout(filePath: string): boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Run `work`, during which every analysis of `filePath` also stops at one
|
|
89
|
+
* shared `fileTimeoutMs` deadline. One file's analyses then wait for git at
|
|
90
|
+
* most that long together, rather than `gitTimeoutMs` each (#1115).
|
|
91
|
+
*/
|
|
92
|
+
withFileDeadline<T>(filePath: string, work: () => Promise<T>): Promise<T>;
|
|
73
93
|
/**
|
|
74
94
|
* Get file change frequency (commits in last 90 days / 3)
|
|
75
95
|
* Returns normalized value 0-1
|
|
@@ -98,6 +118,7 @@ export declare class GitAnalyzer {
|
|
|
98
118
|
* Get files changed since a specific date
|
|
99
119
|
* @param since - Date to check changes from (default: 24 hours ago)
|
|
100
120
|
* @returns Array of changed file paths relative to repo root
|
|
121
|
+
* @throws GitTimeoutError when git does not answer within `gitTimeoutMs`
|
|
101
122
|
*/
|
|
102
123
|
getChangedFiles(since?: Date): Promise<string[]>;
|
|
103
124
|
/**
|
|
@@ -107,13 +128,41 @@ export declare class GitAnalyzer {
|
|
|
107
128
|
* @throws Error when `commitHash` is option-shaped (starts with "-") or otherwise
|
|
108
129
|
* not a safe revision argument; git would otherwise parse it as an option
|
|
109
130
|
* (e.g. `--output=<path>` writes an arbitrary file). See issue #960.
|
|
131
|
+
* @throws GitTimeoutError when git does not answer within `gitTimeoutMs`
|
|
110
132
|
*/
|
|
111
133
|
getCommitFiles(commitHash?: string): Promise<string[]>;
|
|
112
134
|
/**
|
|
113
135
|
* Get files with uncommitted changes (staged + unstaged)
|
|
114
136
|
* @returns Array of modified file paths relative to repo root
|
|
137
|
+
* @throws GitTimeoutError when git does not answer within `gitTimeoutMs`
|
|
115
138
|
*/
|
|
116
139
|
getUncommittedFiles(): Promise<string[]>;
|
|
140
|
+
/**
|
|
141
|
+
* Count commits whose message matches any bug keyword, in one `git log`
|
|
142
|
+
* (repeated --grep patterns are OR-ed). Keywords are sanitized arguments and
|
|
143
|
+
* never reach a shell.
|
|
144
|
+
*/
|
|
145
|
+
private countBugFixCommits;
|
|
146
|
+
/**
|
|
147
|
+
* Run one file's analysis with every git call sharing one `gitTimeoutMs`
|
|
148
|
+
* deadline (#1115). When git is unavailable or times out, the analysis
|
|
149
|
+
* returns its default, which callers treat as "no git data", and a timeout
|
|
150
|
+
* is recorded for consumeTimeout(). A timeout never yields a measured 0.
|
|
151
|
+
*/
|
|
152
|
+
private analyze;
|
|
153
|
+
/**
|
|
154
|
+
* Whether the repo root is a git work tree. A timeout is not an answer: it
|
|
155
|
+
* is remembered for `cacheTtl` so a hung git is not waited on for every
|
|
156
|
+
* file, and then git is asked again.
|
|
157
|
+
*/
|
|
158
|
+
private repoState;
|
|
159
|
+
/**
|
|
160
|
+
* Git queries in the repo root that share a deadline of `gitTimeoutMs` from
|
|
161
|
+
* now, or `fileDeadline` when that comes first. Git runs asynchronously in its own process group, so a slow or hung
|
|
162
|
+
* git (a network filesystem, a credential prompt) neither blocks the MCP
|
|
163
|
+
* server's event loop nor outlives its deadline (#1115).
|
|
164
|
+
*/
|
|
165
|
+
private query;
|
|
117
166
|
/**
|
|
118
167
|
* Get relative path from repo root
|
|
119
168
|
*/
|