agentic-qe 3.13.3 → 3.13.5
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/.agents/skills/aqe-plan-work/SKILL.md +31 -0
- package/.agents/skills/aqe-plan-work/agents/openai.yaml +4 -0
- package/.agents/skills/aqe-plan-work/references/planning-framework.md +39 -0
- package/.agents/skills/aqe-research/SKILL.md +31 -0
- package/.agents/skills/aqe-research/agents/openai.yaml +4 -0
- package/.agents/skills/aqe-research/references/evidence-rules.md +21 -0
- package/.agents/skills/aqe-ruflo/SKILL.md +29 -0
- package/.claude/commands/pair/README.md +261 -0
- package/.claude/commands/pair/commands.md +546 -0
- package/.claude/commands/pair/config.md +510 -0
- package/.claude/commands/pair/examples.md +512 -0
- package/.claude/commands/pair/modes.md +348 -0
- package/.claude/commands/pair/session.md +407 -0
- package/.claude/commands/pair/start.md +209 -0
- package/.claude/commands/stream-chain/pipeline.md +121 -0
- package/.claude/commands/stream-chain/run.md +70 -0
- package/.claude/commands/training/README.md +9 -0
- package/.claude/commands/training/model-update.md +25 -0
- package/.claude/commands/training/neural-patterns.md +108 -0
- package/.claude/commands/training/neural-train.md +75 -0
- package/.claude/commands/training/pattern-learn.md +25 -0
- package/.claude/commands/training/specialization.md +63 -0
- package/.claude/commands/truth/start.md +143 -0
- package/.claude/commands/verify/check.md +50 -0
- package/.claude/commands/verify/start.md +128 -0
- package/.claude/helpers/.helpers-version +1 -1
- package/.claude/helpers/auto-memory-hook.mjs +430 -430
- package/.claude/helpers/helpers.manifest.json +6 -6
- package/.claude/helpers/hook-handler.cjs +565 -565
- package/.claude/helpers/intelligence.cjs +1058 -1058
- package/.claude/helpers/statusline.cjs +1022 -968
- package/.claude/helpers/v3/advisor-call.cjs +283 -0
- package/.claude/skills/README.md +54 -64
- package/.claude/skills/dual-mode/README.md +71 -0
- package/.claude/skills/dual-mode/dual-collect.md +103 -0
- package/.claude/skills/dual-mode/dual-coordinate.md +85 -0
- package/.claude/skills/dual-mode/dual-spawn.md +81 -0
- package/.claude/skills/skills-manifest.json +1 -1
- package/.codex/hooks/aqe-codex-hook.cjs +34 -9
- package/.codex/hooks.json +9 -9
- package/CHANGELOG.md +90 -0
- package/assets/skills/skills-manifest.json +1 -1
- package/dist/cli/bundle.js +5 -5
- package/dist/cli/chunks/adapter-QGJAFSG5.js +2 -0
- package/dist/cli/chunks/{agent-booster-wasm-YIGGREZN.js → agent-booster-wasm-XDKGG2GP.js} +2 -2
- package/dist/cli/chunks/{agent-handler-64O7R55A.js → agent-handler-CTPXGR5P.js} +2 -2
- package/dist/cli/chunks/{agent-memory-branch-2ZZBYUP3.js → agent-memory-branch-MG5OV7AY.js} +2 -2
- package/dist/cli/chunks/aqe-learning-engine-ZU735SG7.js +2 -0
- package/dist/cli/chunks/{arena-PF5WL2WM.js → arena-FAHVOHNG.js} +2 -2
- package/dist/cli/chunks/{arena-6YRNQNCX.js → arena-NYO4EUNQ.js} +4 -4
- package/dist/cli/chunks/{audit-R53FOYCK.js → audit-6544RL5D.js} +3 -3
- package/dist/cli/chunks/base-EKTX2PRE.js +2 -0
- package/dist/cli/chunks/{hnswlib-node-QOULNHXS.js → better-sqlite3-MTEONNCQ.js} +2 -2
- package/dist/cli/chunks/{brain-handler-J4ICUOUX.js → brain-handler-DPKCUQUC.js} +3 -3
- package/dist/cli/chunks/{branch-enumerator-YVPD43TG.js → branch-enumerator-SU2KHC2C.js} +2 -2
- package/dist/cli/chunks/{browser-TKVHX53S.js → browser-ITDN72YJ.js} +2 -2
- package/dist/cli/chunks/browser-workflow-BUPIMI3E.js +2 -0
- package/dist/cli/chunks/{chunk-ORXDKBZC.js → chunk-23AO43XW.js} +1 -1
- package/dist/cli/chunks/{chunk-3NML6POU.js → chunk-2CF3XZAS.js} +2 -2
- package/dist/cli/chunks/{chunk-5IVOY76M.js → chunk-2KPGJ4LO.js} +2 -2
- package/dist/cli/chunks/{chunk-SJWTNKPY.js → chunk-2QI3OJAC.js} +3 -3
- package/dist/cli/chunks/{chunk-MYR6CBXC.js → chunk-2RZ2S6YR.js} +2 -2
- package/dist/cli/chunks/{chunk-VKUH57JE.js → chunk-2XZWYKXQ.js} +1 -1
- package/dist/cli/chunks/{chunk-ZU3XUBDQ.js → chunk-3EWWP3AO.js} +1 -1
- package/dist/cli/chunks/{chunk-4Z2AKQP4.js → chunk-3XKCC7LE.js} +1 -1
- package/dist/cli/chunks/chunk-42KQE5H6.js +12 -0
- package/dist/cli/chunks/{chunk-2MLPO3RZ.js → chunk-43BXSNKU.js} +2 -2
- package/dist/cli/chunks/{chunk-UOJ26GXD.js → chunk-4E2NA2GY.js} +2 -2
- package/dist/cli/chunks/{chunk-66KIIH6V.js → chunk-4Z7JP7CD.js} +2 -2
- package/dist/cli/chunks/{chunk-3J2QITXC.js → chunk-54C3OHES.js} +1 -1
- package/dist/cli/chunks/{chunk-5A5EC5RD.js → chunk-557BFPDB.js} +2 -2
- package/dist/cli/chunks/{chunk-JG267MVB.js → chunk-5I5KMIFY.js} +2 -2
- package/dist/cli/chunks/{chunk-IRX2THND.js → chunk-5YIGAWBO.js} +2 -2
- package/dist/cli/chunks/{chunk-PHGOMAIS.js → chunk-64GTU5LR.js} +2 -2
- package/dist/cli/chunks/{chunk-HJNFXYX4.js → chunk-6BEMH5K5.js} +1 -1
- package/dist/cli/chunks/{chunk-AJ45QR3K.js → chunk-6H3I36DL.js} +2 -2
- package/dist/cli/chunks/{chunk-X737I4SO.js → chunk-6L5V3JGJ.js} +1 -1
- package/dist/cli/chunks/{chunk-QGJYKXUO.js → chunk-6RV3W2UZ.js} +1 -1
- package/dist/cli/chunks/{chunk-XRF5MX4Q.js → chunk-6ZCAZ3TR.js} +2 -2
- package/dist/cli/chunks/{chunk-JQTDNUHA.js → chunk-74QRMQFR.js} +2 -2
- package/dist/cli/chunks/{chunk-DSUEJK33.js → chunk-76OWM3ZO.js} +2 -2
- package/dist/cli/chunks/{chunk-GTURQ454.js → chunk-7A4EXSMN.js} +2 -2
- package/dist/cli/chunks/{chunk-DPJLA7JW.js → chunk-7BLXINIL.js} +2 -2
- package/dist/cli/chunks/{chunk-4RYU4WMW.js → chunk-7LR4VP2I.js} +1 -1
- package/dist/cli/chunks/{chunk-NIA6VTIH.js → chunk-7M4X6WTF.js} +2 -2
- package/dist/cli/chunks/{chunk-N3KQRDTM.js → chunk-7PHF2JM3.js} +1 -1
- package/dist/cli/chunks/{chunk-7MBPKAQ3.js → chunk-7SQXEYII.js} +2 -2
- package/dist/cli/chunks/{chunk-PHBGMXTR.js → chunk-AAGOBPIJ.js} +2 -2
- package/dist/cli/chunks/{chunk-33SPAMQZ.js → chunk-AJYJFIKO.js} +2 -2
- package/dist/cli/chunks/{chunk-QP4UKSUJ.js → chunk-AKYOY5KR.js} +2 -2
- package/dist/cli/chunks/{chunk-HEF6XKA5.js → chunk-AKZ6PWHM.js} +2 -2
- package/dist/cli/chunks/{chunk-764G7VK6.js → chunk-APMLMLSL.js} +1 -1
- package/dist/cli/chunks/{chunk-KQFMCVBH.js → chunk-AX4XIG4G.js} +2 -2
- package/dist/cli/chunks/{chunk-ZLTAAROU.js → chunk-BAJK26EI.js} +2 -2
- package/dist/cli/chunks/{chunk-LLQG3F4H.js → chunk-BI6OTPC6.js} +2 -2
- package/dist/cli/chunks/chunk-BKI5NFQ5.js +2 -0
- package/dist/cli/chunks/{chunk-V6W4IHS5.js → chunk-BUN4WBPW.js} +2 -2
- package/dist/cli/chunks/{chunk-UF7JKDWB.js → chunk-BX5MY65W.js} +1 -1
- package/dist/cli/chunks/{chunk-KBQRYAHZ.js → chunk-CD4YWKJ2.js} +2 -2
- package/dist/cli/chunks/{chunk-VGWHFFK6.js → chunk-CHFZHORO.js} +5 -5
- package/dist/cli/chunks/{chunk-UX434RY5.js → chunk-CPIAZGHF.js} +2 -2
- package/dist/cli/chunks/{chunk-PS32DXYF.js → chunk-D4P6BKGF.js} +3 -3
- package/dist/cli/chunks/{chunk-CBLKYGKT.js → chunk-DFBJPOJR.js} +2 -2
- package/dist/cli/chunks/{chunk-XRQGWUDX.js → chunk-DIRFXY3J.js} +7 -7
- package/dist/cli/chunks/chunk-DK7MV2W3.js +2 -0
- package/dist/cli/chunks/chunk-DVYNBMMP.js +62 -0
- package/dist/cli/chunks/{chunk-LWPCGOQM.js → chunk-EGI6SKQD.js} +2 -2
- package/dist/cli/chunks/{chunk-RMQRSZB4.js → chunk-ELC3UEML.js} +1 -1
- package/dist/cli/chunks/chunk-ELKWYWTD.js +2 -0
- package/dist/cli/chunks/{chunk-2BYRQ5MV.js → chunk-EPMUAKU2.js} +2 -2
- package/dist/cli/chunks/{chunk-U7DGRHSB.js → chunk-EROQSNGD.js} +2 -2
- package/dist/cli/chunks/{chunk-GSG5FASF.js → chunk-EXXWOOUL.js} +3 -3
- package/dist/cli/chunks/{chunk-UWBHR4EZ.js → chunk-FQPYD6YE.js} +1 -1
- package/dist/cli/chunks/{chunk-OD5R7HRI.js → chunk-FW6OPDA6.js} +1 -1
- package/dist/cli/chunks/{chunk-M7XDTQHX.js → chunk-FYWTMDID.js} +2 -2
- package/dist/cli/chunks/{chunk-TK6CHESH.js → chunk-G47WJMHM.js} +1 -1
- package/dist/cli/chunks/{chunk-LOZRBK2Z.js → chunk-G73XY2NK.js} +2 -2
- package/dist/cli/chunks/{chunk-WRC66JTK.js → chunk-GHSP4AC5.js} +1 -1
- package/dist/cli/chunks/{chunk-37GCWGXT.js → chunk-GITS44TM.js} +2 -2
- package/dist/cli/chunks/{chunk-IH47VGC7.js → chunk-GUO6JZMS.js} +2 -2
- package/dist/cli/chunks/{chunk-JLFU5SCI.js → chunk-GWBV26SE.js} +2 -2
- package/dist/cli/chunks/{chunk-AXXFY7PX.js → chunk-HBYVYLBN.js} +2 -2
- package/dist/cli/chunks/{chunk-46U73TST.js → chunk-HMNBNGNO.js} +1 -1
- package/dist/cli/chunks/{chunk-J65XQ6WE.js → chunk-HZV3J4VQ.js} +2 -2
- package/dist/cli/chunks/{chunk-PHNNAIFA.js → chunk-IC5JGTM4.js} +1 -1
- package/dist/cli/chunks/{chunk-JOHWWTJF.js → chunk-IS3P5VBL.js} +2 -2
- package/dist/cli/chunks/{chunk-64C4SS66.js → chunk-JID7JO7K.js} +2 -2
- package/dist/cli/chunks/{chunk-DTOKJKSE.js → chunk-JOJ2UFHM.js} +2 -2
- package/dist/cli/chunks/{chunk-MGKJFO57.js → chunk-JTUTZUED.js} +2 -2
- package/dist/cli/chunks/{chunk-2QKSIHXO.js → chunk-JX5IY2YK.js} +1 -1
- package/dist/cli/chunks/{chunk-EEG4G5JG.js → chunk-K55D3PAR.js} +3 -3
- package/dist/cli/chunks/{chunk-TNM7X2GD.js → chunk-KAVYTFAS.js} +2 -2
- package/dist/cli/chunks/{chunk-NUPAGPN6.js → chunk-KRCIC4JK.js} +2 -2
- package/dist/cli/chunks/{chunk-VFZNVJP2.js → chunk-L6H4MWVN.js} +2 -2
- package/dist/cli/chunks/{chunk-QZ3EIONO.js → chunk-L6I2Q6UQ.js} +1 -1
- package/dist/cli/chunks/{chunk-A547LEUW.js → chunk-LARAXKTZ.js} +2 -2
- package/dist/cli/chunks/{chunk-6I2L22WS.js → chunk-LELWVGN6.js} +1 -1
- package/dist/cli/chunks/chunk-M7456ZW5.js +2 -0
- package/dist/cli/chunks/{chunk-J5AIMM2J.js → chunk-MF6OT43N.js} +1 -1
- package/dist/cli/chunks/{chunk-WHUQDBV7.js → chunk-MX35PIGJ.js} +2 -2
- package/dist/cli/chunks/{chunk-RRHIEG4Y.js → chunk-ND7IWTVQ.js} +2 -2
- package/dist/cli/chunks/{chunk-TRPRFW27.js → chunk-NFE4RV2Q.js} +2 -2
- package/dist/cli/chunks/{chunk-37I4AMCT.js → chunk-NVZ3QROA.js} +2 -2
- package/dist/cli/chunks/{chunk-6C3PDY72.js → chunk-OF5UL3FA.js} +1 -1
- package/dist/cli/chunks/{chunk-JBWXBDJX.js → chunk-OGUPLNRY.js} +1 -1
- package/dist/cli/chunks/chunk-OJZ5LI3O.js +2 -0
- package/dist/cli/chunks/{chunk-ZIYCZZYD.js → chunk-OQ4HOHBI.js} +2 -2
- package/dist/cli/chunks/{chunk-2G2XD6EM.js → chunk-OUWZTYRZ.js} +2 -2
- package/dist/cli/chunks/{chunk-IZIYFVAZ.js → chunk-PDOL3FGO.js} +3 -3
- package/dist/cli/chunks/{chunk-NF2N2FIY.js → chunk-PEHSTLU7.js} +1 -1
- package/dist/cli/chunks/{chunk-WVWWTRKT.js → chunk-PKCVQ2I4.js} +1 -1
- package/dist/cli/chunks/{chunk-CW7BWFFF.js → chunk-PNDWHSZO.js} +2 -2
- package/dist/cli/chunks/{chunk-IKPBQZQP.js → chunk-PSD2L2JB.js} +2 -2
- package/dist/cli/chunks/{chunk-DSGKRXHF.js → chunk-Q3J5OTZ2.js} +1 -1
- package/dist/cli/chunks/{chunk-PY55ZD2G.js → chunk-QHX7VLVT.js} +2 -2
- package/dist/cli/chunks/{chunk-7TG7LJAB.js → chunk-QIHKSRUZ.js} +2 -2
- package/dist/cli/chunks/{chunk-B7XZJBMT.js → chunk-QLD2WVWN.js} +2 -2
- package/dist/cli/chunks/{chunk-HOIH542Y.js → chunk-R4VDRE75.js} +1 -1
- package/dist/cli/chunks/{chunk-A6J5MAVO.js → chunk-RDHBUCKQ.js} +182 -201
- package/dist/cli/chunks/{chunk-OU5CZFBG.js → chunk-RGBYJAKQ.js} +3 -3
- package/dist/cli/chunks/{chunk-GNCGRDQ2.js → chunk-RKXN5TVS.js} +1 -1
- package/dist/cli/chunks/{chunk-RWPWD5GG.js → chunk-S2EUFKHL.js} +2 -2
- package/dist/cli/chunks/{chunk-CVFUANMU.js → chunk-SN57SNLU.js} +2 -2
- package/dist/cli/chunks/{chunk-OX6WPOGR.js → chunk-SQDHFTGQ.js} +3 -3
- package/dist/cli/chunks/{chunk-P5CQMDFQ.js → chunk-THQ5ZBWP.js} +2 -2
- package/dist/cli/chunks/{chunk-BDOD534O.js → chunk-TU5S33SD.js} +2 -2
- package/dist/cli/chunks/{chunk-22WFXSXB.js → chunk-U5GGDJ44.js} +2 -2
- package/dist/cli/chunks/{chunk-KQ5GLUOB.js → chunk-UGER2PGN.js} +4 -4
- package/dist/cli/chunks/{chunk-TW5QWNT4.js → chunk-UUFLYBUO.js} +2 -2
- package/dist/cli/chunks/{chunk-QFANYWC5.js → chunk-UWM4CCK7.js} +1 -1
- package/dist/cli/chunks/{chunk-FF53QW6C.js → chunk-V2T7QEPV.js} +1 -1
- package/dist/cli/chunks/{chunk-EMH54CO7.js → chunk-VE5STFDP.js} +2 -2
- package/dist/cli/chunks/{chunk-APXJJRU4.js → chunk-VNRWJ5JZ.js} +2 -2
- package/dist/cli/chunks/{chunk-N7IRBQ4D.js → chunk-VRV7CXEM.js} +1 -1
- package/dist/cli/chunks/{chunk-CXPMA7LY.js → chunk-W7H46LAX.js} +1 -1
- package/dist/cli/chunks/{chunk-3CFWNT3F.js → chunk-WAELEQP5.js} +2 -2
- package/dist/cli/chunks/{chunk-JHOJG5VO.js → chunk-WDDU4I5Z.js} +1 -1
- package/dist/cli/chunks/{chunk-SAMAYDVS.js → chunk-WLY2J6JP.js} +2 -2
- package/dist/cli/chunks/{chunk-62F5M5OO.js → chunk-WSSFH23M.js} +1 -1
- package/dist/cli/chunks/{chunk-N4OBRS6S.js → chunk-WZI2REDL.js} +2 -2
- package/dist/cli/chunks/{chunk-7AHQ7ROU.js → chunk-X53GJW2E.js} +2 -2
- package/dist/cli/chunks/{chunk-H2BR5MCX.js → chunk-XACF7ZLM.js} +2 -2
- package/dist/cli/chunks/{chunk-QZS3XCU5.js → chunk-XNGYWOAK.js} +2 -2
- package/dist/cli/chunks/{chunk-F6V5POSK.js → chunk-YFD6K7AS.js} +75 -75
- package/dist/cli/chunks/{chunk-W6OIDL4J.js → chunk-YG45ZONW.js} +2 -2
- package/dist/cli/chunks/{chunk-FGIZVGIE.js → chunk-YGMCRJSC.js} +2 -2
- package/dist/cli/chunks/{chunk-SSXCHSVM.js → chunk-YIEMVVUH.js} +2 -2
- package/dist/cli/chunks/{chunk-ZI7BWJJW.js → chunk-YSWI3APU.js} +2 -2
- package/dist/cli/chunks/{chunk-ADBTOUOX.js → chunk-YU4U3BUY.js} +1 -1
- package/dist/cli/chunks/{chunk-K2D3YW2N.js → chunk-Z5YNYVFO.js} +1 -1
- package/dist/cli/chunks/{chunk-UAXFRKR3.js → chunk-ZE3WS57T.js} +2 -2
- package/dist/cli/chunks/{chunk-C7AXBCMS.js → chunk-ZMA5OWIQ.js} +4 -4
- package/dist/cli/chunks/{chunk-RU23JXCG.js → chunk-ZOD37GNG.js} +3 -3
- package/dist/cli/chunks/{chunk-MNEQESQJ.js → chunk-ZQ7XQLLV.js} +3 -3
- package/dist/cli/chunks/{chunk-TGVDKSSS.js → chunk-ZUIPUO7Q.js} +1 -1
- package/dist/cli/chunks/{chunk-L4O2645U.js → chunk-ZWLFEZQC.js} +1 -1
- package/dist/cli/chunks/{ci-G2NEYLVO.js → ci-IRCNFD32.js} +2 -2
- package/dist/cli/chunks/{ci-output-SZFEXGBU.js → ci-output-NFOUNDJ2.js} +2 -2
- package/dist/cli/chunks/{circuit-breaker-ZD7PJY6N.js → circuit-breaker-GB7SQRD2.js} +2 -2
- package/dist/cli/chunks/{claude-flow-setup-DAVANGUJ.js → claude-flow-setup-STFKPPVL.js} +2 -2
- package/dist/cli/chunks/client-M4WF22UT.js +2 -0
- package/dist/cli/chunks/{cline-installer-WCPKWLY7.js → cline-installer-MLKKIHIV.js} +2 -2
- package/dist/cli/chunks/{code-324ZJR3V.js → code-ZRCJC42H.js} +2 -2
- package/dist/cli/chunks/{code-index-extractor-EWVSXJHR.js → code-index-extractor-VWDYYQY2.js} +2 -2
- package/dist/cli/chunks/codex-installer-I5BTWYQV.js +15 -0
- package/dist/cli/chunks/{completions-ZAWBZWYK.js → completions-5JCAFTQV.js} +2 -2
- package/dist/cli/chunks/{complexity-analyzer-S3H2IRON.js → complexity-analyzer-6JLLAPGO.js} +2 -2
- package/dist/cli/chunks/{continuedev-installer-4DDFAJ26.js → continuedev-installer-YBOLMUZR.js} +2 -2
- package/dist/cli/chunks/{copilot-installer-KBBAL3G5.js → copilot-installer-GDBJZBXS.js} +2 -2
- package/dist/cli/chunks/core-handlers-3MNFXL44.js +2 -0
- package/dist/cli/chunks/{cost-tracker-2YM7SGBW.js → cost-tracker-NEAVGEZI.js} +2 -2
- package/dist/cli/chunks/{coverage-6CCBAORJ.js → coverage-DXS5XNAA.js} +3 -3
- package/dist/cli/chunks/cross-domain-router-Q5X6ZLJY.js +2 -0
- package/dist/cli/chunks/{cursor-installer-24DKXNU5.js → cursor-installer-3KEMFIFA.js} +2 -2
- package/dist/cli/chunks/{daemon-M2PSDIZF.js → daemon-FT2J6VY4.js} +3 -3
- package/dist/cli/chunks/{daemon-JLF6CRBS.js → daemon-JN377KTA.js} +4 -4
- package/dist/cli/chunks/{dag-attention-scheduler-Y5HSZDRV.js → dag-attention-scheduler-EJFEWFXI.js} +2 -2
- package/dist/cli/chunks/{detect-6Y227IJ6.js → detect-E5MN6N3L.js} +2 -2
- package/dist/cli/chunks/{dist-node-EGOJXGTA.js → dist-node-ZFSAQMFD.js} +2 -2
- package/dist/cli/chunks/{domain-handler-G3JEWRE5.js → domain-handler-S7VFZ2MY.js} +2 -2
- package/dist/cli/chunks/{domain-transfer-XOHI3EMJ.js → domain-transfer-LGHT3FN4.js} +2 -2
- package/dist/cli/chunks/dream-5QB6JABW.js +2 -0
- package/dist/cli/chunks/{embed-and-insert-pattern-CSSA55L4.js → embed-and-insert-pattern-OVQS6IKK.js} +2 -2
- package/dist/cli/chunks/{eval-NHBXOXDV.js → eval-45UWDD2R.js} +2 -2
- package/dist/cli/chunks/{experience-capture-middleware-B7ZDV5UY.js → experience-capture-middleware-XDRJSNPY.js} +3 -3
- package/dist/cli/chunks/{fast-paths-XGKSBALA.js → fast-paths-VEDCJL75.js} +2 -2
- package/dist/cli/chunks/{feature-flags-ZVD73ZYK.js → feature-flags-NOTQVBLP.js} +2 -2
- package/dist/cli/chunks/{feature-flags-NBUDJSWJ.js → feature-flags-TGA3NWVL.js} +2 -2
- package/dist/cli/chunks/file-discovery-AHMR6IGX.js +2 -0
- package/dist/cli/chunks/{fleet-LF77P3BW.js → fleet-CQBUCH2S.js} +3 -3
- package/dist/cli/chunks/{gnn-wrapper-UXNT7BEN.js → gnn-wrapper-SOZCIONJ.js} +2 -2
- package/dist/cli/chunks/{heartbeat-handler-C4LMU5LA.js → heartbeat-handler-6XNV4DGM.js} +4 -4
- package/dist/cli/chunks/heartbeat-scheduler-ZRLIMPKO.js +2 -0
- package/dist/cli/chunks/hnsw-adapter-R4VAEQ2B.js +2 -0
- package/dist/cli/chunks/hnsw-index-GTUOS6DF.js +2 -0
- package/dist/cli/chunks/{hnsw-legacy-bridge-EHHBIWS3.js → hnsw-legacy-bridge-UILVP37N.js} +2 -2
- package/dist/cli/chunks/hnswlib-node-OHJQOSAH.js +2 -0
- package/dist/cli/chunks/{hooks-AGE3HCFI.js → hooks-QVDOGEHG.js} +10 -10
- package/dist/cli/chunks/hybrid-router-CYEXFWDT.js +2 -0
- package/dist/cli/chunks/{hypergraph-engine-E5QX5MEB.js → hypergraph-engine-YMVPBXZS.js} +2 -2
- package/dist/cli/chunks/{hypergraph-handler-ZZHBANYB.js → hypergraph-handler-SHUNZXUK.js} +3 -3
- package/dist/cli/chunks/impact-analyzer-HMJ7LAXR.js +2 -0
- package/dist/cli/chunks/{init-handler-PNVRBZZT.js → init-handler-JE5FYJAV.js} +16 -12
- package/dist/cli/chunks/init-wizard-OIK6S3PQ.js +2 -0
- package/dist/cli/chunks/kernel-NZCGR72Y.js +2 -0
- package/dist/cli/chunks/{kilocode-installer-TR53QKPU.js → kilocode-installer-TVP4YOOK.js} +2 -2
- package/dist/cli/chunks/{kiro-installer-MJW6LCAX.js → kiro-installer-XBSGANX7.js} +2 -2
- package/dist/cli/chunks/knowledge-graph-HA7XW46B.js +2 -0
- package/dist/cli/chunks/{learning-6LLGHP2Q.js → learning-O4ZXQVRE.js} +3 -3
- package/dist/cli/chunks/{llm-router-DBLV3VGG.js → llm-router-FXXJHARR.js} +4 -4
- package/dist/cli/chunks/llm-router-service-FVGQSXYC.js +2 -0
- package/dist/cli/chunks/{load-LAZ3E5PE.js → load-IVF6G2SK.js} +2 -2
- package/dist/cli/chunks/load-test-IQTO35GE.js +2 -0
- package/dist/cli/chunks/{mcp-L5QXHSEY.js → mcp-VXSDVG3H.js} +2 -2
- package/dist/cli/chunks/{memory-YR5PCMWA.js → memory-BINJV3M6.js} +5 -5
- package/dist/cli/chunks/memory-backend-YGSOJ7SI.js +2 -0
- package/dist/cli/chunks/{memory-handlers-BSRTZQYR.js → memory-handlers-BJNFJZFP.js} +2 -2
- package/dist/cli/chunks/{multi-model-executor-RECZ3ACW.js → multi-model-executor-RJHYK6JI.js} +2 -2
- package/dist/cli/chunks/{opencode-installer-4TDUB7HH.js → opencode-installer-VCTF5ETL.js} +2 -2
- package/dist/cli/chunks/{orchestrator-PHDKJ5C4.js → orchestrator-5SKZ2BOK.js} +11 -11
- package/dist/cli/chunks/pattern-null-store-4WN5O2PF.js +2 -0
- package/dist/cli/chunks/{pattern-usage-recorder-QK2FADRS.js → pattern-usage-recorder-AY2DAOQO.js} +2 -2
- package/dist/cli/chunks/{pipeline-JQJYSN43.js → pipeline-EMBMC75N.js} +2 -2
- package/dist/cli/chunks/platform-GADIFXCI.js +2 -0
- package/dist/cli/chunks/{plugin-766MBGK6.js → plugin-Q234ZAAY.js} +2 -2
- package/dist/cli/chunks/{prime-radiant-advanced-wasm-XQERZNSK.js → prime-radiant-advanced-wasm-CXXKYB2P.js} +2 -2
- package/dist/cli/chunks/protocol-executor-EYTJXPXY.js +2 -0
- package/dist/cli/chunks/{protocol-handler-FAK4MMNA.js → protocol-handler-ZZRFBVNA.js} +2 -2
- package/dist/cli/chunks/{prove-HYBVXOGW.js → prove-7674ATXK.js} +2 -2
- package/dist/cli/chunks/provider-manager-TM3JHYLL.js +2 -0
- package/dist/cli/chunks/qe-reasoning-bank-6JLFP3HE.js +2 -0
- package/dist/cli/chunks/quality-QCIGVN2S.js +7 -0
- package/dist/cli/chunks/{quality-gate-RK32VMO7.js → quality-gate-AKV564GE.js} +3 -3
- package/dist/cli/chunks/queen-coordinator-OKGOKGHI.js +2 -0
- package/dist/cli/chunks/{real-embeddings-GI7CRHE2.js → real-embeddings-74POUVMX.js} +2 -2
- package/dist/cli/chunks/{roocode-installer-BS3XWJJI.js → roocode-installer-INBL5AG7.js} +2 -2
- package/dist/cli/chunks/router-J45OF4SP.js +2 -0
- package/dist/cli/chunks/routing-feedback-VTZFH57X.js +2 -0
- package/dist/cli/chunks/{routing-handler-XMGRJDHH.js → routing-handler-C7HMM7RL.js} +2 -2
- package/dist/cli/chunks/{ruvector-commands-NDL3ONNC.js → ruvector-commands-PT6LRVCW.js} +2 -2
- package/dist/cli/chunks/{rvf-dual-writer-XAJOYGJ2.js → rvf-dual-writer-PRKROTP3.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-adapter-WXFRZZ26.js → rvf-migration-adapter-ZI2XW4UX.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-coordinator-WFXA2VUQ.js → rvf-migration-coordinator-5JTGP35V.js} +2 -2
- package/dist/cli/chunks/rvf-native-adapter-BDPUBFNP.js +2 -0
- package/dist/cli/chunks/{rvf-store-integrity-I7PFJZCK.js → rvf-store-integrity-3B5TZTFR.js} +2 -2
- package/dist/cli/chunks/safe-db-FHJBWJIB.js +2 -0
- package/dist/cli/chunks/schedule-LP7YYT4P.js +2 -0
- package/dist/cli/chunks/scheduler-BOZWGKJG.js +2 -0
- package/dist/cli/chunks/{security-H3WY76GF.js → security-IMIWSAHW.js} +3 -3
- package/dist/cli/chunks/{shared-rvf-adapter-GRTJCLW6.js → shared-rvf-adapter-UDKJNX6I.js} +2 -2
- package/dist/cli/chunks/{shared-rvf-dual-writer-46XE5R2B.js → shared-rvf-dual-writer-FQOBQ6S5.js} +2 -2
- package/dist/cli/chunks/sqlite-persistence-TDM36AHF.js +2 -0
- package/dist/cli/chunks/{status-handler-VUIFMY4F.js → status-handler-7WON7M7F.js} +2 -2
- package/dist/cli/chunks/{structural-health-I7HC477E.js → structural-health-JTKTO3A4.js} +2 -2
- package/dist/cli/chunks/{sync-M6LUV5R4.js → sync-6ABYTAOL.js} +2 -2
- package/dist/cli/chunks/{sync-RO2YGMBF.js → sync-UJSHBY3B.js} +2 -2
- package/dist/cli/chunks/{task-handler-BJJTZ7AU.js → task-handler-5TZNOCCB.js} +2 -2
- package/dist/cli/chunks/{task-handlers-B6S4NEN3.js → task-handlers-G7ZUGBHM.js} +3 -3
- package/dist/cli/chunks/test-BSJ6MVTG.js +33 -0
- package/dist/cli/chunks/{test-scheduling-4ISKEFR6.js → test-scheduling-OSJJXIYQ.js} +3 -3
- package/dist/cli/chunks/{token-bootstrap-BOIYBZHW.js → token-bootstrap-MRNFR4YI.js} +2 -2
- package/dist/cli/chunks/{token-usage-6ZZC7RLT.js → token-usage-YQN7ND7G.js} +2 -2
- package/dist/cli/chunks/{transformers-55VI4OGW.js → transformers-QL3AG25C.js} +2 -2
- package/dist/cli/chunks/{tree-sitter-wasm-parser-6GRRGB3K.js → tree-sitter-wasm-parser-BECZRRZP.js} +2 -2
- package/dist/cli/chunks/{types-SXDF7QQT.js → types-FQSNLPWS.js} +2 -2
- package/dist/cli/chunks/unified-memory-6PHUOZRH.js +2 -0
- package/dist/cli/chunks/unified-memory-hnsw-WYSFH3PS.js +2 -0
- package/dist/cli/chunks/unified-persistence-QBGHDCCO.js +2 -0
- package/dist/cli/chunks/{upgrade-PMPB7NGB.js → upgrade-2ICXXV6D.js} +2 -2
- package/dist/cli/chunks/{validate-G37QKKXK.js → validate-LPAUH2F4.js} +2 -2
- package/dist/cli/chunks/{validate-swarm-6X22J3VD.js → validate-swarm-VWVE2GM7.js} +2 -2
- package/dist/cli/chunks/{vibium-SGBJKHQL.js → vibium-U3LBEI4K.js} +2 -2
- package/dist/cli/chunks/visual-security-LH7DRCDS.js +2 -0
- package/dist/cli/chunks/{web-tree-sitter-S46Y5BUJ.js → web-tree-sitter-QGZXQPXU.js} +2 -2
- package/dist/cli/chunks/{windsurf-installer-PTYCETNM.js → windsurf-installer-GGLQJWUI.js} +2 -2
- package/dist/cli/chunks/witness-chain-2BDZOPJ2.js +2 -0
- package/dist/cli/chunks/{witness-chain-5SCRFT2K.js → witness-chain-47A2AXUS.js} +2 -2
- package/dist/cli/chunks/{witness-key-manager-XIAMRVUZ.js → witness-key-manager-FVS7UOWM.js} +2 -2
- package/dist/cli/chunks/{workflow-BPQA2NAI.js → workflow-KIZPLTYW.js} +4 -4
- package/dist/cli/chunks/workflow-orchestrator-UYOPFK2T.js +2 -0
- package/dist/cli/chunks/{wrappers-IWZZZOAU.js → wrappers-ER6XCMT6.js} +2 -2
- package/dist/cli/commands/platform.d.ts +17 -0
- package/dist/cli/commands/platform.js +91 -41
- package/dist/cli/commands/quality.d.ts +12 -0
- package/dist/cli/commands/quality.js +50 -74
- package/dist/cli/commands/test.js +33 -4
- package/dist/cli/handlers/init-handler.d.ts +3 -0
- package/dist/cli/handlers/init-handler.js +13 -4
- package/dist/cli/utils/file-discovery.d.ts +1 -0
- package/dist/cli/utils/file-discovery.js +13 -1
- package/dist/domains/coverage-analysis/services/coverage-analyzer.js +5 -0
- package/dist/domains/quality-assessment/index.d.ts +1 -0
- package/dist/domains/quality-assessment/index.js +1 -0
- package/dist/domains/quality-assessment/quality-evidence.d.ts +41 -0
- package/dist/domains/quality-assessment/quality-evidence.js +115 -0
- package/dist/domains/test-execution/coordinator.d.ts +1 -0
- package/dist/domains/test-execution/coordinator.js +11 -4
- package/dist/domains/test-execution/interfaces.d.ts +2 -0
- package/dist/domains/test-execution/services/retry-handler.js +3 -3
- package/dist/domains/test-execution/services/test-executor.d.ts +5 -0
- package/dist/domains/test-execution/services/test-executor.js +93 -30
- package/dist/domains/test-generation/gates/test-quality-gate.d.ts +8 -2
- package/dist/domains/test-generation/gates/test-quality-gate.js +93 -4
- package/dist/domains/test-generation/generators/base-test-generator.js +0 -15
- package/dist/domains/test-generation/generators/jest-vitest-generator.js +17 -26
- package/dist/domains/test-generation/services/test-generator.js +7 -2
- package/dist/init/codex-installer.d.ts +22 -3
- package/dist/init/codex-installer.js +132 -54
- package/dist/init/codex-skill-manifest.d.ts +43 -0
- package/dist/init/codex-skill-manifest.js +21 -0
- package/dist/init/orchestrator.js +2 -0
- package/dist/init/phases/07-hooks.js +3 -1
- package/dist/init/phases/09-assets.js +10 -1
- package/dist/init/phases/phase-interface.d.ts +4 -0
- package/dist/init/settings-merge.d.ts +3 -1
- package/dist/init/settings-merge.js +9 -3
- package/dist/integrations/embeddings/index/HNSWIndex.js +2 -0
- package/dist/learning/real-embeddings.js +19 -3
- package/dist/mcp/bundle.js +453 -472
- package/dist/mcp/tools/quality-assessment/evaluate.d.ts +7 -0
- package/dist/mcp/tools/quality-assessment/evaluate.js +72 -20
- package/dist/mcp/tools/security-compliance/scan.js +8 -1
- package/package.json +6 -2
- package/dist/cli/chunks/adapter-NIUFP6QX.js +0 -2
- package/dist/cli/chunks/aqe-learning-engine-DC4DNCPB.js +0 -2
- package/dist/cli/chunks/base-EXD3ULZT.js +0 -2
- package/dist/cli/chunks/better-sqlite3-OW5HIPEN.js +0 -2
- package/dist/cli/chunks/browser-workflow-KOMASCB7.js +0 -2
- package/dist/cli/chunks/chunk-5IH22DLD.js +0 -12
- package/dist/cli/chunks/chunk-6R6QGQ7D.js +0 -2
- package/dist/cli/chunks/chunk-A22RTEJ3.js +0 -62
- package/dist/cli/chunks/chunk-H4XZOIV6.js +0 -2
- package/dist/cli/chunks/chunk-T5L65R23.js +0 -2
- package/dist/cli/chunks/chunk-VRTNRI4H.js +0 -2
- package/dist/cli/chunks/client-ZJQMJO5N.js +0 -2
- package/dist/cli/chunks/codex-installer-HVSZBHH2.js +0 -10
- package/dist/cli/chunks/core-handlers-U2YJLH6O.js +0 -2
- package/dist/cli/chunks/cross-domain-router-E7EMKZEK.js +0 -2
- package/dist/cli/chunks/dream-ZMNQYBJO.js +0 -2
- package/dist/cli/chunks/file-discovery-C42TEUKT.js +0 -2
- package/dist/cli/chunks/heartbeat-scheduler-2JL4MAJR.js +0 -2
- package/dist/cli/chunks/hnsw-adapter-AZD6O35G.js +0 -2
- package/dist/cli/chunks/hnsw-index-WJLE4S5L.js +0 -2
- package/dist/cli/chunks/hybrid-router-YTKJBAS2.js +0 -2
- package/dist/cli/chunks/impact-analyzer-CX56GZXA.js +0 -2
- package/dist/cli/chunks/init-wizard-WE6HIC66.js +0 -2
- package/dist/cli/chunks/kernel-MT55LNNI.js +0 -2
- package/dist/cli/chunks/knowledge-graph-WN3LQ2W7.js +0 -2
- package/dist/cli/chunks/llm-router-service-NKHEQQMN.js +0 -2
- package/dist/cli/chunks/load-test-3WIQASDF.js +0 -2
- package/dist/cli/chunks/memory-backend-W6YSNT6O.js +0 -2
- package/dist/cli/chunks/pattern-null-store-IV3ZESTR.js +0 -2
- package/dist/cli/chunks/platform-FA5TOPTH.js +0 -2
- package/dist/cli/chunks/protocol-executor-GFAG5G6K.js +0 -2
- package/dist/cli/chunks/provider-manager-TIVIJIYH.js +0 -2
- package/dist/cli/chunks/qe-reasoning-bank-BYE7YF6Y.js +0 -2
- package/dist/cli/chunks/quality-EGSO2RAX.js +0 -7
- package/dist/cli/chunks/queen-coordinator-WOHYVV7A.js +0 -2
- package/dist/cli/chunks/router-VUW2UVCN.js +0 -2
- package/dist/cli/chunks/routing-feedback-WSUQMZAK.js +0 -2
- package/dist/cli/chunks/rvf-native-adapter-RHZCXVN6.js +0 -2
- package/dist/cli/chunks/safe-db-NTWEW7ZM.js +0 -2
- package/dist/cli/chunks/schedule-WEVC2GW2.js +0 -2
- package/dist/cli/chunks/scheduler-XHI5AJIS.js +0 -2
- package/dist/cli/chunks/sqlite-persistence-QZUPKMHP.js +0 -2
- package/dist/cli/chunks/test-BE7EM6Y6.js +0 -33
- package/dist/cli/chunks/unified-memory-QKWUSEBV.js +0 -2
- package/dist/cli/chunks/unified-memory-hnsw-Z2UQZRTK.js +0 -2
- package/dist/cli/chunks/unified-persistence-AVK2NSMI.js +0 -2
- package/dist/cli/chunks/visual-security-64UFH23G.js +0 -2
- package/dist/cli/chunks/witness-chain-ZIVSDX6C.js +0 -2
- package/dist/cli/chunks/workflow-orchestrator-TYP4MI2V.js +0 -2
- package/dist/cli/commands/init.d.ts +0 -19
- package/dist/cli/commands/init.js +0 -318
|
@@ -13,6 +13,10 @@ export interface QualityEvaluateParams {
|
|
|
13
13
|
thresholds?: GateThresholds;
|
|
14
14
|
includeAdvice?: boolean;
|
|
15
15
|
riskTolerance?: 'low' | 'medium' | 'high';
|
|
16
|
+
evidence?: {
|
|
17
|
+
measuredAt: string;
|
|
18
|
+
source: string;
|
|
19
|
+
};
|
|
16
20
|
[key: string]: unknown;
|
|
17
21
|
}
|
|
18
22
|
export interface QualityMetrics {
|
|
@@ -44,6 +48,9 @@ export interface GateThresholds {
|
|
|
44
48
|
technicalDebt?: {
|
|
45
49
|
max: number;
|
|
46
50
|
};
|
|
51
|
+
duplications?: {
|
|
52
|
+
max: number;
|
|
53
|
+
};
|
|
47
54
|
}
|
|
48
55
|
export interface QualityEvaluateResult {
|
|
49
56
|
passed: boolean;
|
|
@@ -7,6 +7,8 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { MCPToolBase } from '../base';
|
|
9
9
|
import { toErrorMessage } from '../../../shared/error-utils.js';
|
|
10
|
+
import { getMemoryBackend } from '../base.js';
|
|
11
|
+
import { DEFAULT_QUALITY_THRESHOLDS, loadQualityEvidence, writeQualityEvidence, } from '../../../domains/quality-assessment/quality-evidence.js';
|
|
10
12
|
// ============================================================================
|
|
11
13
|
// Tool Implementation
|
|
12
14
|
// ============================================================================
|
|
@@ -20,8 +22,37 @@ export class QualityEvaluateTool extends MCPToolBase {
|
|
|
20
22
|
timeout: 120000,
|
|
21
23
|
};
|
|
22
24
|
async execute(params, context) {
|
|
23
|
-
const { metrics
|
|
25
|
+
const { metrics: suppliedMetrics, gateName = 'default', thresholds = getDefaultThresholds(), includeAdvice = true, riskTolerance = 'medium', } = params;
|
|
24
26
|
try {
|
|
27
|
+
const memory = await getMemoryBackend(context);
|
|
28
|
+
if (suppliedMetrics && !params.evidence) {
|
|
29
|
+
return {
|
|
30
|
+
success: false,
|
|
31
|
+
error: 'Timestamped evidence provenance is required when supplying quality metrics.',
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
if (suppliedMetrics && params.evidence) {
|
|
35
|
+
await writeQualityEvidence(memory, suppliedMetrics, params.evidence);
|
|
36
|
+
}
|
|
37
|
+
const metrics = suppliedMetrics ?? await loadQualityEvidence(memory);
|
|
38
|
+
const configuredMetrics = [
|
|
39
|
+
['coverage', thresholds.coverage],
|
|
40
|
+
['testsPassing', thresholds.testsPassing],
|
|
41
|
+
['criticalBugs', thresholds.criticalBugs],
|
|
42
|
+
['codeSmells', thresholds.codeSmells],
|
|
43
|
+
['securityVulnerabilities', thresholds.securityVulnerabilities],
|
|
44
|
+
['technicalDebt', thresholds.technicalDebt],
|
|
45
|
+
['duplications', thresholds.duplications],
|
|
46
|
+
];
|
|
47
|
+
const missingMetrics = configuredMetrics
|
|
48
|
+
.filter(([name, threshold]) => threshold !== undefined && metrics[name] === undefined)
|
|
49
|
+
.map(([name]) => name);
|
|
50
|
+
if (missingMetrics.length > 0) {
|
|
51
|
+
return {
|
|
52
|
+
success: false,
|
|
53
|
+
error: `Measured quality evidence missing configured metrics: ${missingMetrics.join(', ')}.`,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
25
56
|
this.emitStream(context, {
|
|
26
57
|
status: 'evaluating',
|
|
27
58
|
message: `Evaluating quality gate: ${gateName}`,
|
|
@@ -96,12 +127,36 @@ export class QualityEvaluateTool extends MCPToolBase {
|
|
|
96
127
|
: `${metrics.codeSmells} code smells detected`,
|
|
97
128
|
});
|
|
98
129
|
}
|
|
130
|
+
if (thresholds.technicalDebt && metrics.technicalDebt !== undefined) {
|
|
131
|
+
checks.push({
|
|
132
|
+
name: 'Technical Debt',
|
|
133
|
+
passed: metrics.technicalDebt <= thresholds.technicalDebt.max,
|
|
134
|
+
value: metrics.technicalDebt,
|
|
135
|
+
threshold: thresholds.technicalDebt.max,
|
|
136
|
+
severity: 'medium',
|
|
137
|
+
message: metrics.technicalDebt <= thresholds.technicalDebt.max
|
|
138
|
+
? `${metrics.technicalDebt}h technical debt within threshold`
|
|
139
|
+
: `${metrics.technicalDebt}h technical debt exceeds threshold of ${thresholds.technicalDebt.max}h`,
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
if (thresholds.duplications && metrics.duplications !== undefined) {
|
|
143
|
+
checks.push({
|
|
144
|
+
name: 'Duplications',
|
|
145
|
+
passed: metrics.duplications <= thresholds.duplications.max,
|
|
146
|
+
value: metrics.duplications,
|
|
147
|
+
threshold: thresholds.duplications.max,
|
|
148
|
+
severity: 'low',
|
|
149
|
+
message: metrics.duplications <= thresholds.duplications.max
|
|
150
|
+
? `${metrics.duplications}% duplication within threshold`
|
|
151
|
+
: `${metrics.duplications}% duplication exceeds threshold of ${thresholds.duplications.max}%`,
|
|
152
|
+
});
|
|
153
|
+
}
|
|
99
154
|
// Calculate overall score and grade
|
|
100
155
|
const passedChecks = checks.filter(c => c.passed).length;
|
|
101
156
|
const totalChecks = checks.length;
|
|
102
157
|
const score = totalChecks > 0 ? Math.round((passedChecks / totalChecks) * 100) : 100;
|
|
103
158
|
const grade = calculateGrade(score, checks);
|
|
104
|
-
const passed = checks.every(c => c.passed
|
|
159
|
+
const passed = checks.every(c => c.passed);
|
|
105
160
|
// Generate deployment advice
|
|
106
161
|
const deploymentAdvice = includeAdvice
|
|
107
162
|
? generateDeploymentAdvice(passed, score, checks, riskTolerance)
|
|
@@ -173,31 +228,28 @@ const QUALITY_EVALUATE_SCHEMA = {
|
|
|
173
228
|
enum: ['low', 'medium', 'high'],
|
|
174
229
|
default: 'medium',
|
|
175
230
|
},
|
|
231
|
+
evidence: {
|
|
232
|
+
type: 'object',
|
|
233
|
+
description: 'Provenance required to persist supplied metrics as canonical measured evidence',
|
|
234
|
+
properties: {
|
|
235
|
+
measuredAt: { type: 'string', description: 'ISO-8601 measurement timestamp' },
|
|
236
|
+
source: { type: 'string', description: 'Scanner or analyzer that produced the metrics' },
|
|
237
|
+
},
|
|
238
|
+
},
|
|
176
239
|
},
|
|
177
240
|
};
|
|
178
241
|
// ============================================================================
|
|
179
242
|
// Helper Functions
|
|
180
243
|
// ============================================================================
|
|
181
|
-
function getDefaultMetrics() {
|
|
182
|
-
return {
|
|
183
|
-
coverage: 80,
|
|
184
|
-
testsPassing: 95,
|
|
185
|
-
criticalBugs: 0,
|
|
186
|
-
codeSmells: 15,
|
|
187
|
-
securityVulnerabilities: 0,
|
|
188
|
-
technicalDebt: 4,
|
|
189
|
-
duplications: 3,
|
|
190
|
-
complexity: 8,
|
|
191
|
-
};
|
|
192
|
-
}
|
|
193
244
|
function getDefaultThresholds() {
|
|
194
245
|
return {
|
|
195
|
-
coverage: { min:
|
|
196
|
-
testsPassing: { min:
|
|
197
|
-
criticalBugs: { max:
|
|
198
|
-
securityVulnerabilities: { max:
|
|
199
|
-
codeSmells: { max:
|
|
200
|
-
technicalDebt: { max:
|
|
246
|
+
coverage: { min: DEFAULT_QUALITY_THRESHOLDS.coverage.value },
|
|
247
|
+
testsPassing: { min: DEFAULT_QUALITY_THRESHOLDS.testsPassing.value },
|
|
248
|
+
criticalBugs: { max: DEFAULT_QUALITY_THRESHOLDS.criticalBugs.value },
|
|
249
|
+
securityVulnerabilities: { max: DEFAULT_QUALITY_THRESHOLDS.securityVulnerabilities.value },
|
|
250
|
+
codeSmells: { max: DEFAULT_QUALITY_THRESHOLDS.codeSmells.value },
|
|
251
|
+
technicalDebt: { max: DEFAULT_QUALITY_THRESHOLDS.technicalDebt.value },
|
|
252
|
+
duplications: { max: DEFAULT_QUALITY_THRESHOLDS.duplications.value },
|
|
201
253
|
};
|
|
202
254
|
}
|
|
203
255
|
function calculateGrade(score, checks) {
|
|
@@ -7,10 +7,11 @@
|
|
|
7
7
|
* Now actually reads target files and applies security patterns from
|
|
8
8
|
* src/domains/security-compliance/services/scanners/security-patterns.ts
|
|
9
9
|
*/
|
|
10
|
-
import { MCPToolBase } from '../base';
|
|
10
|
+
import { MCPToolBase, getMemoryBackend } from '../base';
|
|
11
11
|
import { toErrorMessage } from '../../../shared/error-utils.js';
|
|
12
12
|
import { safeJsonParse } from '../../../shared/safe-json.js';
|
|
13
13
|
import { ALL_SECURITY_PATTERNS, SECRET_PATTERNS, } from '../../../domains/security-compliance/services/scanners/security-patterns.js';
|
|
14
|
+
import { writeQualityEvidence } from '../../../domains/quality-assessment/quality-evidence.js';
|
|
14
15
|
// ============================================================================
|
|
15
16
|
// Cross-language secret/config patterns (supplement security-patterns.ts)
|
|
16
17
|
// These catch Python, Java, Go patterns that the JS-focused patterns miss.
|
|
@@ -118,6 +119,12 @@ export class SecurityScanTool extends MCPToolBase {
|
|
|
118
119
|
? Math.min(...vulnerabilities.map(v => severityOrder.indexOf(v.severity)))
|
|
119
120
|
: severityOrder.length;
|
|
120
121
|
const passed = worstSeverity > failThreshold;
|
|
122
|
+
await writeQualityEvidence(await getMemoryBackend(context), {
|
|
123
|
+
securityVulnerabilities: vulnerabilities.length,
|
|
124
|
+
}, {
|
|
125
|
+
measuredAt: new Date().toISOString(),
|
|
126
|
+
source: 'qe/security/scan',
|
|
127
|
+
});
|
|
121
128
|
this.emitStream(context, {
|
|
122
129
|
status: 'complete',
|
|
123
130
|
message: `Scan complete: ${vulnerabilities.length} vulnerabilities found in ${files.length} files`,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentic-qe",
|
|
3
|
-
"version": "3.13.
|
|
3
|
+
"version": "3.13.5",
|
|
4
4
|
"description": "Agentic Quality Engineering V3 - Domain-Driven Design Architecture with 13 Bounded Contexts, O(log n) coverage analysis, ReasoningBank learning, 60 specialized QE agents, mathematical Coherence verification, deep Claude Flow integration",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
"test:unit:fast": "vitest run --exclude='**/qe-reasoning-bank.test.ts' --exclude='**/qe-reasoning-bank-feedback-loop.test.ts' --exclude='**/aqe-learning-engine.test.ts' --exclude='**/aqe-learning-engine-patterns.test.ts' tests/unit/adapters tests/unit/shared tests/unit/cli tests/unit/learning tests/unit/kernel tests/unit/workers tests/unit/routing tests/unit/strange-loop tests/unit/sync tests/unit/feedback tests/unit/error-paths tests/unit/early-exit tests/unit/causal-discovery tests/unit/neural-optimizer tests/unit/test-scheduling tests/unit/logging tests/unit/validation tests/unit/memory tests/unit/performance tests/unit/scripts tests/unit/planning",
|
|
72
72
|
"test:unit:heavy": "vitest run tests/unit/coordination tests/unit/domains tests/unit/integrations tests/unit/optimization tests/unit/init --exclude='**/browser/**' --exclude='**/*.e2e.test.ts' --exclude='**/vibium/**' --exclude='**/browser-swarm-coordinator.test.ts'",
|
|
73
73
|
"test:unit:mcp": "vitest run tests/unit/mcp --exclude='**/mcp/handlers/domain-handlers.test.ts' --fileParallelism=false",
|
|
74
|
-
"test:ci": "vitest run --exclude='**/browser/**' --exclude='**/*.e2e.test.ts' --exclude='**/vibium/**' --exclude='**/integration/browser/**' --exclude='**/browser-swarm-coordinator.test.ts' --exclude='**/mcp/handlers/domain-handlers.test.ts'",
|
|
74
|
+
"test:ci": "vitest run --exclude='**/browser/**' --exclude='**/*.e2e.test.ts' --exclude='**/vibium/**' --exclude='**/integration/browser/**' --exclude='**/browser-swarm-coordinator.test.ts' --exclude='**/mcp/handlers/domain-handlers.test.ts' --exclude='**/fixtures/init-corpus/**'",
|
|
75
75
|
"test:e2e": "vitest run tests/integration/browser --testTimeout=120000",
|
|
76
76
|
"test:safe": "NODE_OPTIONS='--max-old-space-size=768 --expose-gc' vitest run --maxForks=1",
|
|
77
77
|
"test:dev": "npm run test:unit:fast",
|
|
@@ -85,6 +85,7 @@
|
|
|
85
85
|
"mcp:report": "echo 'MCP Report: uses vitest for test reporting' && exit 0",
|
|
86
86
|
"test:code-intelligence": "npm test -- --run tests/unit/domains/code-intelligence/ tests/unit/coordination/mincut/",
|
|
87
87
|
"verify:invariants": "tsx scripts/verify-shipped-invariants.ts",
|
|
88
|
+
"verify:codex-package": "tsx scripts/verify-codex-package.ts",
|
|
88
89
|
"verify:skill-parity": "tsx scripts/check-skill-parity.ts",
|
|
89
90
|
"eval:live:claude": "EVAL_PROVIDER=claude tsx scripts/validate-live-oracle.ts",
|
|
90
91
|
"eval:live:ollama": "EVAL_PROVIDER=ollama tsx scripts/validate-live-oracle.ts",
|
|
@@ -295,8 +296,11 @@
|
|
|
295
296
|
".codex/hooks",
|
|
296
297
|
".codex/hooks.json",
|
|
297
298
|
".agents/skills/aqe-plan-quality",
|
|
299
|
+
".agents/skills/aqe-plan-work",
|
|
300
|
+
".agents/skills/aqe-research",
|
|
298
301
|
".agents/skills/aqe-review-quality",
|
|
299
302
|
".agents/skills/aqe-test-change",
|
|
303
|
+
".agents/skills/aqe-ruflo/SKILL.md",
|
|
300
304
|
".opencode/agents",
|
|
301
305
|
".opencode/skills",
|
|
302
306
|
".opencode/tools",
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
-
import{a,b,c}from"./chunk-OX6WPOGR.js";import"./chunk-7MBPKAQ3.js";import"./chunk-PHNNAIFA.js";import"./chunk-2G2XD6EM.js";import"./chunk-XRF5MX4Q.js";import"./chunk-62F5M5OO.js";export{a as AgentBoosterAdapter,b as createAgentBoosterAdapter,c as createAgentBoosterAdapterSync};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
-
import{a,b,c,d,e,f}from"./chunk-IZIYFVAZ.js";import"./chunk-3NML6POU.js";import"./chunk-GSG5FASF.js";import"./chunk-KQ5GLUOB.js";import"./chunk-UF7JKDWB.js";import"./chunk-5A5EC5RD.js";import"./chunk-GNCGRDQ2.js";import"./chunk-UWBHR4EZ.js";import"./chunk-QZ3EIONO.js";import"./chunk-7TG7LJAB.js";import"./chunk-ZLTAAROU.js";import"./chunk-64C4SS66.js";import"./chunk-SAMAYDVS.js";import"./chunk-VFZNVJP2.js";import"./chunk-LWPCGOQM.js";import"./chunk-5IH22DLD.js";import"./chunk-DPJLA7JW.js";import"./chunk-CW7BWFFF.js";import"./chunk-WHUQDBV7.js";import"./chunk-T5L65R23.js";import"./chunk-66KIIH6V.js";import"./chunk-NIA6VTIH.js";import"./chunk-2G2XD6EM.js";import"./chunk-WVWWTRKT.js";import"./chunk-PHGOMAIS.js";import"./chunk-46U73TST.js";import"./chunk-ZU3XUBDQ.js";import"./chunk-XRF5MX4Q.js";import"./chunk-FF53QW6C.js";import"./chunk-2BYRQ5MV.js";import"./chunk-P5CQMDFQ.js";import"./chunk-V6W4IHS5.js";import"./chunk-AJ45QR3K.js";import"./chunk-UX434RY5.js";import"./chunk-PHBGMXTR.js";import"./chunk-H4XZOIV6.js";import"./chunk-GTURQ454.js";import"./chunk-AXXFY7PX.js";import"./chunk-62F5M5OO.js";export{b as AQELearningEngine,a as DEFAULT_ENGINE_CONFIG,c as DEFAULT_META_LEARNING_CONFIG,d as MetaLearningEngine,e as createAQELearningEngine,f as createDefaultLearningEngine};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
-
import{a,b,c,d,e,f,g,h,i,j,k,l}from"./chunk-M7XDTQHX.js";import"./chunk-7AHQ7ROU.js";import"./chunk-DPJLA7JW.js";import"./chunk-CW7BWFFF.js";import"./chunk-WHUQDBV7.js";import"./chunk-T5L65R23.js";import"./chunk-66KIIH6V.js";import"./chunk-NIA6VTIH.js";import"./chunk-2G2XD6EM.js";import"./chunk-XRF5MX4Q.js";import"./chunk-FF53QW6C.js";import"./chunk-3CFWNT3F.js";import"./chunk-2BYRQ5MV.js";import"./chunk-P5CQMDFQ.js";import"./chunk-V6W4IHS5.js";import"./chunk-AJ45QR3K.js";import"./chunk-UX434RY5.js";import"./chunk-PHBGMXTR.js";import"./chunk-H4XZOIV6.js";import"./chunk-GTURQ454.js";import"./chunk-AXXFY7PX.js";import"./chunk-62F5M5OO.js";export{l as MCPToolBase,k as defaultToolLogger,j as getKernel,i as getLLMRouter,e as getMemoryBackend,g as getSharedLLMRouter,c as getSharedMemoryBackend,a as isMemoryOnlyMode,b as registerRvfResetFn,h as resetSharedLLMRouter,d as resetSharedMemoryBackend,f as setSharedLLMRouter};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
-
import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,q as p}from"./chunk-P5CQMDFQ.js";import"./chunk-62F5M5OO.js";p();export{i as DotProductAttention,h as FlashAttention,k as HyperbolicAttention,l as LinearAttention,m as MoEAttention,j as MultiHeadAttention,b as RuvectorLayer,n as SonaEngine,c as TensorCompress,a as default,d as differentiableSearch,f as getCompressionLevel,e as hierarchicalForward,g as init,o as pipeline};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
-
import{a}from"./chunk-MYR6CBXC.js";import"./chunk-M7XDTQHX.js";import"./chunk-7AHQ7ROU.js";import"./chunk-DPJLA7JW.js";import"./chunk-CW7BWFFF.js";import"./chunk-WHUQDBV7.js";import"./chunk-T5L65R23.js";import"./chunk-66KIIH6V.js";import"./chunk-NIA6VTIH.js";import"./chunk-2G2XD6EM.js";import"./chunk-XRF5MX4Q.js";import"./chunk-FF53QW6C.js";import"./chunk-3CFWNT3F.js";import"./chunk-2BYRQ5MV.js";import"./chunk-P5CQMDFQ.js";import"./chunk-V6W4IHS5.js";import"./chunk-AJ45QR3K.js";import"./chunk-UX434RY5.js";import"./chunk-PHBGMXTR.js";import"./chunk-H4XZOIV6.js";import"./chunk-GTURQ454.js";import"./chunk-AXXFY7PX.js";import"./chunk-62F5M5OO.js";export{a as BrowserWorkflowTool};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
-
import{a as D,c as ee}from"./chunk-XRF5MX4Q.js";import{b as L,d as B}from"./chunk-PHBGMXTR.js";B();ee();B();import*as x from"node:http";import*as O from"node:https";import{createHash as te}from"node:crypto";import{URL as W}from"node:url";var T={model:"Xenova/all-MiniLM-L6-v2",expectedDim:384,connectTimeoutMs:5e3,requestTimeoutMs:3e4,failureThreshold:3,failureWindowMs:6e4},ne="AQE embedder endpoint identity canary v1",re="/v1/embeddings";function X(n){if(n.startsWith("unix:"))return n;try{let e=new W(n);return e.username||e.password?(e.username="",e.password="",e.toString().replace(/\/$/,"")):n}catch{return n}}function ie(n){if(n.startsWith("unix:")){let r=n.slice(5);if(!r.startsWith("/"))throw new Error(`unix endpoint must be an absolute path: ${n}`);return{transport:"unix",socketPath:r,safeUrl:n}}let e=new W(n);if(e.protocol!=="http:"&&e.protocol!=="https:")throw new Error(`unsupported embedder endpoint protocol: ${e.protocol}`);return(e.username||e.password)&&(console.warn("[EmbedderEndpointClient] endpoint URL contained userinfo; stripping. Use AQE_EMBEDDER_TOKEN env var for credentials."),e.username="",e.password=""),{transport:e.protocol==="https:"?"https":"http",host:e.hostname,port:e.port?Number(e.port):e.protocol==="https:"?443:80,protocol:e.protocol,safeUrl:e.toString().replace(/\/$/,"")}}var S=class{constructor(e,t,r=()=>{}){this.threshold=e;this.windowMs=t;this.onRecover=r}threshold;windowMs;onRecover;failures=[];trippedAt=null;recordSuccess(){this.failures=[],this.trippedAt=null}recordFailure(){let e=Date.now();this.failures=this.failures.filter(t=>e-t<this.windowMs),this.failures.push(e),this.failures.length>=this.threshold&&(this.trippedAt=e)}isOpen(){return this.trippedAt===null?!1:Date.now()-this.trippedAt>=this.windowMs?(this.failures=[],this.trippedAt=null,this.onRecover(),!1):!0}getState(){return{open:this.isOpen(),failures:this.failures.length,trippedAt:this.trippedAt}}},P=class{parsed;agent;breaker;opts;cachedIdentity=null;probeInFlight=null;constructor(e){if(this.opts={endpoint:e.endpoint,token:e.token,model:e.model??T.model,expectedDim:e.expectedDim??T.expectedDim,connectTimeoutMs:e.connectTimeoutMs??T.connectTimeoutMs,requestTimeoutMs:e.requestTimeoutMs??T.requestTimeoutMs,failureThreshold:e.failureThreshold??T.failureThreshold,failureWindowMs:e.failureWindowMs??T.failureWindowMs,tlsOptions:e.tlsOptions},this.parsed=ie(e.endpoint),this.parsed.transport==="https"){let t=e.tlsOptions??{};this.agent=new O.Agent({keepAlive:!0,ca:t.ca,cert:t.cert,key:t.key,rejectUnauthorized:t.rejectUnauthorized!==!1,servername:t.servername})}else this.agent=new x.Agent({keepAlive:!0});this.breaker=new S(this.opts.failureThreshold,this.opts.failureWindowMs,()=>{this.cachedIdentity=null})}getSafeEndpoint(){return this.parsed.safeUrl}async embed(e){if(e.length===0)return[];if(this.breaker.isOpen())throw new Error(`[EmbedderEndpointClient] circuit breaker open for ${this.parsed.safeUrl} \u2014 fast-failing`);this.cachedIdentity===null&&await this.ensureProbed();try{let t=await this.postEmbeddings(e),r=this.decodeAndNormalize(t,e.length);return this.breaker.recordSuccess(),r}catch(t){throw this.breaker.recordFailure(),t}}async probe(){return this.probeInFlight?this.probeInFlight:(this.probeInFlight=this.doProbe().finally(()=>{this.probeInFlight=null}),this.probeInFlight)}async ensureProbed(){return this.cachedIdentity?this.cachedIdentity:this.probe()}async doProbe(){let e;try{let s=await this.postEmbeddings([ne]);e=this.decodeAndNormalize(s,1)[0],this.breaker.recordSuccess()}catch(s){throw this.breaker.recordFailure(),s}if(!e||e.length!==this.opts.expectedDim)throw new Error(`[EmbedderEndpointClient] dim mismatch: expected ${this.opts.expectedDim}, got ${e?.length??0} from ${this.parsed.safeUrl}`);let t=Buffer.alloc(e.length*2);for(let s=0;s<e.length;s++){let o=Math.max(-32768,Math.min(32767,Math.round(e[s]*32767)));t.writeInt16LE(o,s*2)}let r=te("sha256").update(t).digest("hex").slice(0,16);return this.cachedIdentity={dim:e.length,fingerprint:r,endpoint:this.parsed.safeUrl},this.cachedIdentity}getCachedIdentity(){return this.cachedIdentity}getBreakerState(){return this.breaker.getState()}close(){this.agent.destroy()}decodeAndNormalize(e,t){if(!e||typeof e!="object"||!Array.isArray(e.data))throw new Error("[EmbedderEndpointClient] response missing data array");let r=e.data;if(r.length!==t)throw new Error(`[EmbedderEndpointClient] response count mismatch: expected ${t}, got ${r.length}`);let s=r.map((o,i)=>({idx:typeof o.index=="number"?o.index:i,embedding:o.embedding}));return s.sort((o,i)=>o.idx-i.idx),s.map(({embedding:o},i)=>{if(typeof o=="string")throw new Error(`[EmbedderEndpointClient] received base64 embedding at position ${i} \u2014 server ignored encoding_format=float. Configure the server to return float arrays.`);if(!Array.isArray(o))throw new Error(`[EmbedderEndpointClient] missing embedding at position ${i}`);if(o.length!==this.opts.expectedDim)throw new Error(`[EmbedderEndpointClient] dim mismatch at position ${i}: expected ${this.opts.expectedDim}, got ${o.length}`);return L(o)})}postEmbeddings(e){let t=JSON.stringify({model:this.opts.model,input:e,encoding_format:"float"});return this.request(re,t)}request(e,t){let r={"content-type":"application/json","content-length":Buffer.byteLength(t),accept:"application/json"};this.opts.token&&(r.authorization=`Bearer ${this.opts.token}`);let s={method:"POST",path:e,headers:r,agent:this.agent},o,i;this.parsed.transport==="unix"?(o={...s,socketPath:this.parsed.socketPath},i=x.request):(o={...s,host:this.parsed.host,port:this.parsed.port,protocol:this.parsed.protocol},i=this.parsed.transport==="https"?O.request:x.request);let l=this.parsed.safeUrl,c=this.opts.connectTimeoutMs,h=this.opts.requestTimeoutMs;return new Promise((N,I)=>{let E=!1,C=a=>{E||(E=!0,N(a))},y=a=>{E||(E=!0,I(a))},f=i(o,a=>{let g=[];a.on("data",u=>g.push(Buffer.from(u))),a.on("end",()=>{let u=Buffer.concat(g).toString("utf-8");if(!a.statusCode||a.statusCode<200||a.statusCode>=300){y(new Error(`[EmbedderEndpointClient] HTTP ${a.statusCode} from ${l}: ${u.slice(0,200)}`));return}try{let b=JSON.parse(u);C(b)}catch(b){y(new Error(`[EmbedderEndpointClient] invalid JSON from ${l}: ${b.message}`))}}),a.on("error",u=>y(u))});f.on("socket",a=>{a.setTimeout(c);let g=()=>{a.setTimeout(h)};a.connecting?a.once("connect",g):g(),a.on("timeout",()=>{let u=a.connecting?"connect":"request",b=a.connecting?c:h,M=new Error(`[EmbedderEndpointClient] ${u} timeout after ${b}ms`);y(M),f.destroy(M)})}),f.on("error",a=>y(a)),f.write(t),f.end()})}};import{join as H}from"node:path";import{existsSync as oe,mkdirSync as se}from"node:fs";import{createRequire as ae}from"node:module";var de=ae(import.meta.url);function le(){let n=process.env.AQE_MEMORY_PATH;return n&&n.length>0?n:H(process.cwd(),".agentic-qe","memory.db")}var j="_system",G="embedder_identity:",v=null,$=!1;function K(){if(v)return v;if($)return null;try{let n=de("better-sqlite3"),e=le(),t=H(e,"..");oe(t)||se(t,{recursive:!0});let r=new n(e);return r.pragma("journal_mode = WAL"),r.pragma("busy_timeout = 5000"),r.exec(`
|
|
3
|
-
CREATE TABLE IF NOT EXISTS kv_store (
|
|
4
|
-
key TEXT NOT NULL,
|
|
5
|
-
namespace TEXT NOT NULL,
|
|
6
|
-
value TEXT NOT NULL,
|
|
7
|
-
expires_at INTEGER,
|
|
8
|
-
created_at INTEGER DEFAULT (strftime('%s', 'now') * 1000),
|
|
9
|
-
PRIMARY KEY (namespace, key)
|
|
10
|
-
);
|
|
11
|
-
CREATE INDEX IF NOT EXISTS idx_kv_namespace ON kv_store(namespace);
|
|
12
|
-
`),v=r,r}catch{return $=!0,null}}function Q(n){let e=K();if(!e)return null;try{let t=e.prepare("SELECT value FROM kv_store WHERE namespace = ? AND key = ?").get(j,G+n);if(!t)return null;let r=JSON.parse(t.value);return!r.fingerprint||typeof r.dim!="number"?null:{fingerprint:r.fingerprint,dim:r.dim,endpoint:r.endpoint}}catch{return null}}function J(n){let e=K();if(!e)return;let t={fingerprint:n.fingerprint,dim:n.dim,endpoint:n.endpoint,updatedAt:Date.now()};e.prepare("INSERT OR REPLACE INTO kv_store (key, namespace, value) VALUES (?, ?, ?)").run(G+n.endpoint,j,JSON.stringify(t))}function Y(){if(v)try{v.close()}catch{}v=null,$=!1}var _=null,m=null,A=null,k=!1,R="",w=null,p=null,q={modelName:"Xenova/all-MiniLM-L6-v2",quantized:!0,enableCache:!0,maxCacheSize:1e4,endpoint:process.env.AQE_EMBEDDER_ENDPOINT,endpointToken:process.env.AQE_EMBEDDER_TOKEN},d=new Map,V=36e5;function z(n){return p?`endpoint:${p.fingerprint}:${n}`:`inproc:${n}`}function pe(n){let e=n.trim();return!!(e.startsWith("{")&&/["']metrics["']/.test(e)||e.startsWith("[")&&e.endsWith("]")&&e.length>50||(e.match(/[a-zA-Z]/g)||[]).length/Math.max(e.length,1)<.3&&e.length>20)}async function Z(n={}){if(k)throw new Error(`Transformer initialization previously failed: ${R}`);if(A)return A;let e={...q,...n};return A=(async()=>{try{if(e.endpoint){let o=X(e.endpoint);console.log(`[RealEmbeddings] Using external embedder endpoint: ${o}`),w=new P({endpoint:e.endpoint,token:e.endpointToken,model:e.modelName,expectedDim:F()}),p=await w.probe(),console.log(`[RealEmbeddings] Endpoint identity: dim=${p.dim} fingerprint=${p.fingerprint}`);try{let i=Q(p.endpoint);i&&i.fingerprint!==p.fingerprint&&console.warn(`[RealEmbeddings] WARNING: endpoint identity changed since last run. Previous fingerprint=${i.fingerprint} dim=${i.dim}, current fingerprint=${p.fingerprint} dim=${p.dim}. Vectors written before this change may no longer be comparable.`),J(p)}catch(i){console.warn(`[RealEmbeddings] Could not persist endpoint identity: ${D(i)}`)}m=ce(w);return}let t;try{t=await import("./transformers-55VI4OGW.js")}catch{throw new Error('In-process embeddings require the optional package "@huggingface/transformers", which is not installed. Either run `npm install @huggingface/transformers`, or configure an embedding endpoint (EmbeddingConfig.endpoint / AQE_EMBEDDING_ENDPOINT) so no local model is loaded.')}_=t.pipeline,console.log(`[RealEmbeddings] Loading model: ${e.modelName}`);let r=performance.now();m=await _("feature-extraction",e.modelName,{quantized:e.quantized});let s=performance.now()-r;console.log(`[RealEmbeddings] Model loaded in ${s.toFixed(0)}ms`)}catch(t){throw k=!0,R=D(t),new Error(`Failed to initialize transformer model: ${R}`)}})(),A}function ce(n){return async e=>{let t=Array.isArray(e)?e:[e],r=await n.embed(t),s=r[0]?.length??F(),o=new Float32Array(t.length*s);for(let i=0;i<r.length;i++)o.set(r[i],i*s);return{data:o,dims:[t.length,s]}}}async function Ae(n,e={}){let t={...q,...e};if(pe(n))return new Array(F()).fill(0);if(m||await Z(e),!m)throw new Error("Embedding model failed to initialize");let r=z(n);if(t.enableCache){let c=d.get(r);if(c&&Date.now()-c.timestamp<V)return c.embedding}let s=performance.now(),o=await m(n,{pooling:"mean",normalize:!0}),i=Array.from(o.data),l=performance.now()-s;if(l>500&&console.warn(`[RealEmbeddings] Slow embedding computation: ${l.toFixed(1)}ms for "${n.slice(0,50)}..."`),t.enableCache){if(d.size>=t.maxCacheSize){let c=d.keys().next().value;c&&d.delete(c)}d.set(r,{embedding:i,timestamp:Date.now()})}return i}async function Ie(n,e={}){let t={...q,...e},r=[],s=[],o=new Array(n.length).fill(null);if(m||await Z(e),!m)throw new Error("Embedding model failed to initialize");if(t.enableCache)for(let i=0;i<n.length;i++){let l=d.get(z(n[i]));l&&Date.now()-l.timestamp<V?o[i]=l.embedding:(r.push(n[i]),s.push(i))}else{r.push(...n);for(let i=0;i<n.length;i++)s.push(i)}if(r.length>0){let i=performance.now(),l=32;for(let h=0;h<r.length;h+=l){let N=Math.min(h+l,r.length),I=r.slice(h,N),E=await m(I,{pooling:"mean",normalize:!0}),C=E.dims||[I.length,384],y=C[0],f=C[1];for(let a=0;a<y;a++){let g=a*f,u=Array.from(E.data.slice(g,g+f)),b=h+a,M=s[b];if(o[M]=u,t.enableCache){if(d.size>=t.maxCacheSize){let U=d.keys().next().value;U&&d.delete(U)}d.set(z(r[b]),{embedding:u,timestamp:Date.now()})}}}let c=performance.now()-i;console.log(`[RealEmbeddings] Batch computed ${r.length} embeddings in ${c.toFixed(0)}ms`)}return o.filter(i=>i!==null)}function Ce(){d.clear(),console.log("[RealEmbeddings] Cache cleared")}function Me(){return{size:d.size,hitRate:0}}function Pe(){return!k&&m!==null}function F(){return 384}function Oe(){_=null,m=null,A=null,k=!1,R="",d.clear(),w&&w.close(),w=null,p=null,Y()}function Re(){return w!==null}function ke(){return p}export{q as a,Ae as b,Ie as c,Ce as d,Me as e,Pe as f,F as g,Oe as h,Re as i,ke as j};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
-
import{existsSync as _,readdirSync as d,statSync as w}from"fs";import{join as i,extname as E}from"path";var T=new Set([".ts",".tsx",".js",".jsx",".mjs",".cjs",".py",".pyw",".go",".rs",".java",".kt",".kts",".rb",".cs",".php",".swift",".c",".h",".cpp",".hpp",".cc",".scala"]),v=[".test.",".spec.","_test.","_spec."],b=new Set(["node_modules","dist","build","coverage",".git","__pycache__",".venv","venv",".tox",".mypy_cache","target",".gradle","vendor",".bundle",".next",".nuxt",".output"]);function O(s,p={}){let{maxDepth:f=6,includeTests:m=!1,testsOnly:x=!1,extraExtensions:S=[]}=p;if(!_(s))return[];let o=w(s);if(o.isFile())return[s];if(!o.isDirectory())return[];let y=new Set(S.map(t=>t.startsWith(".")?t:`.${t}`)),n=[];function r(t,c){if(c>f)return;let a;try{a=d(t,{withFileTypes:!0})}catch{return}for(let e of a)if(e.isDirectory()){if(b.has(e.name))continue;r(i(t,e.name),c+1)}else if(e.isFile()){let u=E(e.name).toLowerCase();if(!(T.has(u)||y.has(u))||e.name.endsWith(".d.ts"))continue;let l=v.some(h=>e.name.includes(h))||e.name.startsWith("test_");x?l&&n.push(i(t,e.name)):(m||!l)&&n.push(i(t,e.name))}}return r(s,0),n}export{T as a,O as b};
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
-
import{p as O,q}from"./chunk-VRTNRI4H.js";import{i as T,m as U}from"./chunk-DPJLA7JW.js";import{i as b}from"./chunk-FF53QW6C.js";import{b as M,c as H}from"./chunk-H4XZOIV6.js";import{g as C}from"./chunk-62F5M5OO.js";U();var _=null;function w(){if(_)return _;let E=(q(),C(O));if(!E.HierarchicalNSW)throw new Error("hnswlib-node module missing HierarchicalNSW export");return _=E.HierarchicalNSW,_}function L(){return!0}var x=class{indexes;config;initialized;nextId;unifiedAdapters=null;useUnified;constructor(e={}){this.config={M:e.M||16,efConstruction:e.efConstruction||200,efSearch:e.efSearch||50,dimension:e.dimension||384,metric:e.metric||"cosine",quantization:e.quantization||"none"},this.indexes=new Map,this.initialized=new Set,this.nextId=new Map,this.useUnified=L(),this.useUnified&&(this.unifiedAdapters=new Map)}initializeIndex(e){if(this.initialized.has(e))return;if(this.useUnified&&this.unifiedAdapters)try{let{HnswAdapter:s}=(H(),C(M)),d=new s(`embedding-${e}`,{dimensions:this.config.dimension,M:this.config.M,efConstruction:this.config.efConstruction,efSearch:this.config.efSearch,metric:this.config.metric==="dotproduct"?"cosine":this.config.metric});this.unifiedAdapters.set(e,d),this.initialized.add(e),this.nextId.set(e,0);return}catch{}let t={cosine:"cosine",euclidean:"l2",dotproduct:"ip"}[this.config.metric]||"cosine",n=w(),r=new n(t,this.config.dimension);r.initIndex({maxElements:1e4,m:this.config.M,efConstruction:this.config.efConstruction}),this.indexes.set(e,r),this.initialized.add(e),this.nextId.set(e,0)}addEmbedding(e,i){let t=e.namespace;this.initialized.has(t)||this.initializeIndex(t);let n=i??this.nextId.get(t);i===void 0&&this.nextId.set(t,n+1);let r=this.unifiedAdapters?.get(t);if(r){let o=e.vector instanceof Float32Array?e.vector:new Float32Array(this.toFloatArray(e.vector));return r.add(n,o),n}let s=this.indexes.get(t),d=this.toFloatArray(e.vector);return s.addPoint(d,n),n}addEmbeddingsBatch(e){return e.map(i=>this.addEmbedding(i.embedding,i.id))}search(e,i={}){let t=i.namespace||e.namespace;if(!this.initialized.has(t))return[];let n=i.limit||10,r=this.unifiedAdapters?.get(t);if(r){let l=e.vector instanceof Float32Array?e.vector:new Float32Array(this.toFloatArray(e.vector));return r.search(l,n).map(u=>({id:u.id,distance:1-u.score}))}let s=this.indexes.get(t),d=this.toFloatArray(e.vector),o=s.searchKnn(d,n);return o.neighbors.map((l,m)=>({id:l,distance:o.distances[m]}))}getIndexStats(e){if(!this.initialized.has(e))return null;let i=this.unifiedAdapters?.get(e);return i?{size:i.size(),maxElements:1e4,dimension:i.dimensions(),metric:this.config.metric}:{size:this.indexes.get(e).getCurrentCount(),maxElements:1e4,dimension:this.config.dimension,metric:this.config.metric}}async saveIndex(e,i){if(!this.initialized.has(e))throw new Error(`Namespace ${e} not initialized`);if(this.unifiedAdapters?.has(e)){console.warn(`[HNSWEmbeddingIndex] saveIndex() is a no-op for namespace '${e}' \u2014 unified HnswAdapter manages persistence internally.`);return}await this.indexes.get(e).writeIndex(i)}async loadIndex(e,i){if(this.useUnified){console.warn(`[HNSWEmbeddingIndex] loadIndex() is a no-op for namespace '${e}' \u2014 unified HnswAdapter manages persistence internally. Initialize via initializeIndex() instead.`);return}let n={cosine:"cosine",euclidean:"l2",dotproduct:"ip"}[this.config.metric]||"cosine",r=w(),s=new r(n,this.config.dimension);await s.readIndex(i),this.indexes.set(e,s),this.initialized.add(e)}clearIndex(e){if(this.initialized.has(e)){let i=this.unifiedAdapters?.get(e);i&&(i.clear?.(),this.unifiedAdapters.delete(e)),this.indexes.delete(e),this.initialized.delete(e),this.nextId.delete(e)}}clearAll(){if(this.unifiedAdapters){for(let e of this.unifiedAdapters.values())e.clear?.();this.unifiedAdapters.clear()}this.indexes.clear(),this.initialized.clear(),this.nextId.clear()}resizeIndex(e,i){this.initialized.has(e)&&(this.clearIndex(e),this.initializeIndex(e))}setEfSearch(e){this.config.efSearch=e}toFloatArray(e){if(Array.isArray(e))return e;if(e instanceof Float32Array)return Array.from(e);if(e instanceof Int8Array){let i=new Array(e.length);for(let t=0;t<e.length;t++)i[t]=e[t]/128;return i}if(e instanceof Uint8Array){let i=new Array(e.length);for(let t=0;t<e.length;t++)i[t]=(e[t]-128)/128;return i}throw new Error(`Unsupported vector type: ${typeof e}`)}getConfig(){return{...this.config}}isInitialized(e){return this.initialized.has(e)}getInitializedNamespaces(){return Array.from(this.initialized)}getSize(e){if(!this.initialized.has(e))return 0;let i=this.unifiedAdapters?.get(e);return i?i.size():this.nextId.get(e)||0}};var W={mergeSimilarityThreshold:.85,maxMergesPerRun:50,softThreshold:400,hardThreshold:2e3,archiveMinAgeDays:30,archiveQualityThreshold:.15,mergeQualityBoost:.02,contradictionSimilarityThreshold:.85,contradictionQualityDelta:.4},R=class{config;db=null;initialized=!1;constructor(e={}){this.config={...W,...e}}async initialize(e){if(!this.initialized){if(e)this.db=e;else{let i=T();await i.initialize(),this.db=i.getDatabase()}this.initialized=!0}}async consolidateAll(e){this.ensureInitialized();let i={merged:0,contradicted:0,qualityUpdated:0,archived:0,hardDeleted:0,activeRemaining:0,domainsProcessed:[]},t=this.db.prepare("SELECT domain, COUNT(*) as cnt FROM captured_experiences WHERE consolidated_into IS NULL GROUP BY domain").all(),n=e?t.filter(s=>e.includes(s.domain)):t.filter(s=>s.cnt>this.config.softThreshold);for(let{domain:s,cnt:d}of n){let o=await this.consolidateDomain(s,d);i.merged+=o.merged,i.contradicted+=o.contradicted,i.qualityUpdated+=o.qualityUpdated,i.archived+=o.archived,i.hardDeleted+=o.hardDeleted,i.domainsProcessed.push(s)}let r=this.db.prepare("SELECT COUNT(*) as cnt FROM captured_experiences WHERE consolidated_into IS NULL").get();return i.activeRemaining=r.cnt,(i.merged>0||i.archived>0||i.contradicted>0)&&console.log(`[ExperienceConsolidator] Consolidated: ${i.merged} merged, ${i.contradicted} contradicted, ${i.archived} archived, ${i.activeRemaining} active`),i}async consolidateDomain(e,i){this.ensureInitialized();let t={merged:0,contradicted:0,qualityUpdated:0,archived:0,hardDeleted:0,activeRemaining:0,domainsProcessed:[e]},n=await this.clusterAndMerge(e);t.merged=n.merged,t.contradicted=n.contradicted,t.qualityUpdated=this.reinforceQuality(e),t.archived=this.archiveValueless(e);let r=this.db.prepare("SELECT COUNT(*) as cnt FROM captured_experiences WHERE domain = ? AND consolidated_into IS NULL").get(e).cnt,s=0;return r>this.config.hardThreshold&&(s=this.hardDeleteExcess(e,r),t.archived+=s),t.activeRemaining=r-s,t}async bootstrapDomain(e){if(this.ensureInitialized(),this.db.prepare("SELECT value FROM kv_store WHERE key = ?").get(`consolidation_bootstrap_${e}`))return console.log(`[ExperienceConsolidator] Domain ${e} already bootstrapped`),{merged:0,contradicted:0,qualityUpdated:0,archived:0,hardDeleted:0,activeRemaining:0,domainsProcessed:[e]};let t={...this.config};this.config.mergeSimilarityThreshold=.8,this.config.maxMergesPerRun=200;let n=await this.consolidateDomain(e);Object.assign(this.config,t);try{this.db.prepare("INSERT OR REPLACE INTO kv_store (key, value, namespace) VALUES (?, ?, 'system')").run(`consolidation_bootstrap_${e}`,new Date().toISOString())}catch{}return console.log(`[ExperienceConsolidator] Bootstrap ${e}: ${n.merged} merged, ${n.archived} archived`),n}async clusterAndMerge(e){let i=this.db.prepare(`
|
|
3
|
-
SELECT id, task, domain, quality, success, application_count,
|
|
4
|
-
consolidation_count, reuse_success_count, reuse_failure_count,
|
|
5
|
-
embedding, embedding_dimension, started_at
|
|
6
|
-
FROM captured_experiences
|
|
7
|
-
WHERE domain = ? AND consolidated_into IS NULL AND embedding IS NOT NULL
|
|
8
|
-
ORDER BY quality DESC
|
|
9
|
-
`).all(e);if(i.length<2)return{merged:0,contradicted:0};let t=new x({dimension:384,M:16,efConstruction:200,efSearch:100,metric:"cosine"}),n=new Map,r=0;for(let a of i)if(a.embedding&&a.embedding_dimension){let N=this.bufferToFloatArray(a.embedding,a.embedding_dimension),y=r++;n.set(y,a.id);let S={vector:N,dimension:384,namespace:"experiences",text:a.id,timestamp:Date.now(),quantization:"none",metadata:{}};t.addEmbedding(S,y)}let s=new Set,d=0,o=0,l=this.db.prepare("UPDATE captured_experiences SET consolidated_into = ? WHERE id = ?"),m=this.db.prepare("UPDATE captured_experiences SET consolidated_into = 'contradicted' WHERE id = ?"),u=this.db.prepare(`
|
|
10
|
-
UPDATE captured_experiences
|
|
11
|
-
SET consolidation_count = consolidation_count + ?,
|
|
12
|
-
quality = MIN(1.0, quality + ?),
|
|
13
|
-
quality_updated_at = datetime('now')
|
|
14
|
-
WHERE id = ?
|
|
15
|
-
`),I=this.db.prepare(`
|
|
16
|
-
INSERT INTO experience_consolidation_log (id, domain, action, source_ids, target_id, details, created_at)
|
|
17
|
-
VALUES (?, ?, ?, ?, ?, ?, datetime('now'))
|
|
18
|
-
`);for(let a of i){if(d+o>=this.config.maxMergesPerRun)break;if(s.has(a.id)||!a.embedding||!a.embedding_dimension)continue;let y={vector:this.bufferToFloatArray(a.embedding,a.embedding_dimension),dimension:384,namespace:"experiences",text:a.id,timestamp:Date.now(),quantization:"none",metadata:{}},S=t.search(y,{limit:6,namespace:"experiences"}),h=[],g=[];for(let{id:v,distance:p}of S){if(d+o>=this.config.maxMergesPerRun)break;let c=n.get(v);if(!c||c===a.id||s.has(c))continue;let A=1-p;if(A<Math.min(this.config.mergeSimilarityThreshold,this.config.contradictionSimilarityThreshold))continue;let f=i.find(z=>z.id===c);if(!f)continue;let D=Math.abs(a.quality-f.quality);if(A>=this.config.contradictionSimilarityThreshold&&D>=this.config.contradictionQualityDelta){f.quality<a.quality&&(s.add(c),g.push(c),o++);continue}A>=this.config.mergeSimilarityThreshold&&f.quality<=a.quality&&f.application_count===0&&(s.add(c),h.push(c),d++)}h.length>0&&this.db.transaction(()=>{for(let c of h)l.run(a.id,c);let p=this.config.mergeQualityBoost*h.length;u.run(h.length,p,a.id),I.run(b(),e,"merge",JSON.stringify(h),a.id,JSON.stringify({count:h.length,boost:p}))})(),g.length>0&&this.db.transaction(()=>{for(let p of g)m.run(p);I.run(b(),e,"contradiction",JSON.stringify(g),a.id,JSON.stringify({count:g.length,survivorQuality:a.quality}))})()}return t.clearIndex("experiences"),{merged:d,contradicted:o}}reinforceQuality(e){let i=this.db.prepare(`
|
|
19
|
-
SELECT ce.id, ce.quality, ce.consolidation_count,
|
|
20
|
-
ce.reuse_success_count, ce.reuse_failure_count,
|
|
21
|
-
COALESCE(app.total, 0) as app_total,
|
|
22
|
-
COALESCE(app.successes, 0) as app_successes
|
|
23
|
-
FROM captured_experiences ce
|
|
24
|
-
LEFT JOIN (
|
|
25
|
-
SELECT experience_id,
|
|
26
|
-
COUNT(*) as total,
|
|
27
|
-
SUM(CASE WHEN success = 1 THEN 1 ELSE 0 END) as successes
|
|
28
|
-
FROM experience_applications
|
|
29
|
-
GROUP BY experience_id
|
|
30
|
-
) app ON app.experience_id = ce.id
|
|
31
|
-
WHERE ce.domain = ? AND ce.consolidated_into IS NULL
|
|
32
|
-
AND (app.total > 0 OR ce.reuse_success_count > 0 OR ce.reuse_failure_count > 0)
|
|
33
|
-
`).all(e);if(i.length===0)return 0;let t=this.db.prepare(`
|
|
34
|
-
UPDATE captured_experiences
|
|
35
|
-
SET quality = ?, quality_updated_at = datetime('now')
|
|
36
|
-
WHERE id = ?
|
|
37
|
-
`),n=0;return this.db.transaction(()=>{for(let s of i){let d=s.app_total+s.reuse_success_count+s.reuse_failure_count,o=s.app_successes+s.reuse_success_count,l=d>0?o/d:0,m=Math.min(s.consolidation_count,10)/10,u=Math.min(1,.4*s.quality+.4*l+.2*m);Math.abs(u-s.quality)>.01&&(t.run(u,s.id),n++)}})(),n}archiveValueless(e){let i=new Date;i.setDate(i.getDate()-this.config.archiveMinAgeDays);let t=i.toISOString().replace("T"," ").slice(0,19),n=this.db.prepare(`
|
|
38
|
-
UPDATE captured_experiences
|
|
39
|
-
SET consolidated_into = 'archived'
|
|
40
|
-
WHERE domain = ?
|
|
41
|
-
AND consolidated_into IS NULL
|
|
42
|
-
AND quality < ?
|
|
43
|
-
AND application_count = 0
|
|
44
|
-
AND success = 0
|
|
45
|
-
AND consolidation_count = 1
|
|
46
|
-
AND started_at < ?
|
|
47
|
-
`).run(e,this.config.archiveQualityThreshold,t);if(n.changes>0)try{this.db.prepare(`
|
|
48
|
-
INSERT INTO experience_consolidation_log (id, domain, action, source_ids, details, created_at)
|
|
49
|
-
VALUES (?, ?, 'archive', '[]', ?, datetime('now'))
|
|
50
|
-
`).run(b(),e,JSON.stringify({count:n.changes}))}catch{}return n.changes}hardDeleteExcess(e,i){let t=i-this.config.hardThreshold;if(t<=0)return 0;let r=this.db.prepare(`
|
|
51
|
-
UPDATE captured_experiences
|
|
52
|
-
SET consolidated_into = 'archived'
|
|
53
|
-
WHERE id IN (
|
|
54
|
-
SELECT id FROM captured_experiences
|
|
55
|
-
WHERE domain = ? AND consolidated_into IS NULL AND application_count = 0
|
|
56
|
-
ORDER BY quality ASC, started_at ASC
|
|
57
|
-
LIMIT ?
|
|
58
|
-
)
|
|
59
|
-
`).run(e,t).changes;if(r>0){try{this.db.prepare(`
|
|
60
|
-
INSERT INTO experience_consolidation_log (id, domain, action, source_ids, details, created_at)
|
|
61
|
-
VALUES (?, ?, 'safety-valve-archive', '[]', ?, datetime('now'))
|
|
62
|
-
`).run(b(),e,JSON.stringify({count:r,currentCount:i,hardThreshold:this.config.hardThreshold,note:"soft-archive replacement for legacy hard-delete safety valve"}))}catch{}console.warn(`[ExperienceConsolidator] Safety valve: soft-archived ${r} from ${e} (was ${i}, threshold ${this.config.hardThreshold})`)}return r}ensureInitialized(){if(!this.initialized||!this.db)throw new Error("ExperienceConsolidator not initialized. Call initialize() first.")}bufferToFloatArray(e,i){let t=[];for(let n=0;n<i;n++)t.push(e.readFloatLE(n*4));return t}};export{x as a,R as b};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
-
import{a as ie,b as ae}from"./chunk-GTURQ454.js";import{S as oe,i as j,p as q}from"./chunk-AXXFY7PX.js";import{c as g,e as D,g as $}from"./chunk-62F5M5OO.js";var I,E=g(()=>{"use strict";I={dimensions:384,M:16,efConstruction:200,efSearch:100,metric:"cosine"}});function se(){if(z)return A!==null;try{let i=(ae(),$(ie));if(A=i.differentiableSearch,P=i.init,P)try{P()}catch{}return z=!0,!0}catch{return z=!0,!1}}function B(i){let e=0;for(let r=0;r<i.length;r++)e+=i[r]*i[r];return Math.sqrt(e)}function ce(i,e,r,t){let n=r*t;if(n===0)return 0;let a=0,o=Math.min(i.length,e.length);for(let c=0;c<o;c++)a+=i[c]*e[c];return a/n}function U(i,e){let r=0,t=Math.min(i.length,e.length);for(let n=0;n<t;n++){let a=i[n]-e[n];r+=a*a}return Math.sqrt(r)}function le(i,e){if(i.length===e)return i;let r=new Float32Array(e);if(i.length>e){let t=i.length/e;for(let n=0;n<e;n++){let a=Math.floor(n*t),o=Math.floor((n+1)*t),c=0;for(let s=a;s<o;s++)c+=i[s];r[n]=c/(o-a)}}else for(let t=0;t<i.length;t++)r[t]=i[t];return r}var A,P,z,S,O=g(()=>{"use strict";E();A=null,P=null,z=!1;S=class{config;entries=[];idToIndex=new Map;hasRuvector=!1;loaded=!1;constructor(e){this.config={...I,...e}}ensureLoaded(){this.loaded||(this.hasRuvector=se(),this.loaded=!0)}normalizeVector(e){return e.length===this.config.dimensions?e:le(e,this.config.dimensions)}add(e,r,t){this.ensureLoaded();let n=this.normalizeVector(r),a=B(n);if(this.idToIndex.has(e)){let c=this.idToIndex.get(e);this.entries[c]={id:e,vector:n,norm:a,metadata:t};return}let o=this.entries.length;this.entries.push({id:e,vector:n,norm:a,metadata:t}),this.idToIndex.set(e,o)}search(e,r){if(this.ensureLoaded(),this.entries.length===0)return[];let t=this.normalizeVector(e),n=B(t),a=Math.min(r,this.entries.length),o=this.entries.length>0?this.entries[0].vector.length:0,c=t.length===o;if(this.config.metric==="cosine")return this.bruteForcSearch(t,n,a);if(this.hasRuvector&&c&&A)try{let s=this.entries.map(u=>u.vector),l=A(t,s,a,1).indices.map(u=>{let h=this.entries[u],m=-U(t,h.vector);return{id:h.id,score:m,metadata:h.metadata}});return l.sort((u,h)=>h.score-u.score),l}catch{}return this.bruteForcSearch(t,n,a)}bruteForcSearch(e,r,t){let n=[];for(let a of this.entries){let o;this.config.metric==="cosine"?o=ce(e,a.vector,r,a.norm):o=-U(e,a.vector),n.push({id:a.id,score:o,metadata:a.metadata})}return n.sort((a,o)=>o.score-a.score),n.slice(0,t)}remove(e){let r=this.idToIndex.get(e);if(r===void 0)return!1;let t=this.entries.length-1;if(r!==t){let n=this.entries[t];this.entries[r]=n,this.idToIndex.set(n.id,r)}return this.entries.pop(),this.idToIndex.delete(e),!0}size(){return this.entries.length}dimensions(){return this.config.dimensions}recall(){return this.hasRuvector,1}isRuvectorAvailable(){return this.ensureLoaded(),this.hasRuvector}getConfig(){return{...this.config}}clear(){this.entries=[],this.idToIndex.clear()}dispose(){this.clear()}}});import{createRequire as he}from"module";function de(){if(K){if(k)return k;throw new b(J??"Unknown load error")}K=!0;try{let i=ue("hnswlib-node");if(!i.HierarchicalNSW)throw new Error("hnswlib-node module missing HierarchicalNSW export");return k=i,k}catch(i){let e=i instanceof Error?i.message:String(i);throw J=e,new b(e)}}function me(i,e){if(i.length===e)return i;let r=new Float32Array(e);if(i.length>e){let t=i.length/e;for(let n=0;n<e;n++){let a=Math.floor(n*t),o=Math.floor((n+1)*t),c=0;for(let s=a;s<o;s++)c+=i[s];r[n]=c/(o-a)}}else for(let t=0;t<i.length;t++)r[t]=i[t];return r}function Q(i){let e=new Array(i.length);for(let r=0;r<i.length;r++)e[r]=i[r];return e}var ue,b,k,K,J,X,w,Y=g(()=>{"use strict";E();ue=he(import.meta.url),b=class extends Error{constructor(e){super(`Native HNSW backend unavailable: ${e}`),this.name="NativeHnswUnavailableError"}},k=null,K=!1,J=null;X=1e4,w=class{config;nativeIndex=null;currentMaxElements=X;liveIds=new Set;metadataStore=new Map;_metrics={totalSearches:0,totalAdds:0,totalRemoves:0,avgSearchLatencyMs:0,maxSearchLatencyMs:0,lastSearchLatencyMs:0,fallbackSearchCount:0,bruteForceSearchCount:0,nativeSearchCount:0,fallbackRate:0,allSearchesBruteForce:!1};constructor(e){this.config={...I,...e},this.nativeIndex=this.createFreshIndex()}createFreshIndex(){let e=de(),r=this.config.metric==="euclidean"?"l2":"cosine";try{let t=new e.HierarchicalNSW(r,this.config.dimensions);return t.initIndex(this.currentMaxElements,this.config.M,this.config.efConstruction,100,!0),t.setEf(this.config.efSearch),t}catch(t){let n=t instanceof Error?t.message:String(t);throw new b(`HierarchicalNSW init failed: ${n}`)}}add(e,r,t){if(!this.nativeIndex)throw new Error("NativeHnswBackend has been disposed");let n=this.normalizeVector(r);if(!this.liveIds.has(e)&&this.liveIds.size>=this.currentMaxElements){let a=this.currentMaxElements*2;this.nativeIndex.resizeIndex(a),this.currentMaxElements=a}this.nativeIndex.addPoint(Q(n),e,!0),this.liveIds.add(e),t?this.metadataStore.set(e,t):this.metadataStore.delete(e),this._metrics.totalAdds++}search(e,r){if(!this.nativeIndex)throw new Error("NativeHnswBackend has been disposed");if(this.liveIds.size===0||r<=0)return[];let t=performance.now(),n=this.normalizeVector(e),a=Math.min(r,this.liveIds.size),o=Math.min(a*2,this.liveIds.size),c=this.nativeIndex.searchKnn(Q(n),o),s=this.config.metric==="cosine",d=new Map;for(let h=0;h<c.neighbors.length;h++){let m=c.neighbors[h];if(!this.liveIds.has(m))continue;let x=c.distances[h],f=s?1-x:-x,W=d.get(m);(W===void 0||f>W.score)&&d.set(m,{id:m,score:f,metadata:this.metadataStore.get(m)})}let l=Array.from(d.values());l.sort((h,m)=>m.score-h.score),l.length>a&&(l.length=a);let u=performance.now()-t;return this.updateSearchMetrics(u),this._metrics.nativeSearchCount=this._metrics.totalSearches,u>50&&console.warn(`[NativeHNSW] search took ${u.toFixed(1)}ms (k=${r}, results=${l.length})`),l}remove(e){if(!this.nativeIndex||!this.liveIds.has(e))return!1;try{this.nativeIndex.markDelete(e)}catch{return!1}return this.liveIds.delete(e),this.metadataStore.delete(e),this._metrics.totalRemoves++,!0}size(){return this.liveIds.size}dimensions(){return this.config.dimensions}recall(){return .99}getMetrics(){return{...this._metrics}}get lastSearchLatencyMs(){return this._metrics.lastSearchLatencyMs}getConfig(){return{...this.config}}clear(){this.nativeIndex&&(this.liveIds.clear(),this.metadataStore.clear(),this.currentMaxElements=X,this.nativeIndex=this.createFreshIndex())}dispose(){this.liveIds.clear(),this.metadataStore.clear(),this.nativeIndex=null}isNativeAvailable(){return this.nativeIndex!==null}normalizeVector(e){return e.length===this.config.dimensions?e:me(e,this.config.dimensions)}updateSearchMetrics(e){this._metrics.totalSearches++,this._metrics.lastSearchLatencyMs=e,e>this._metrics.maxSearchLatencyMs&&(this._metrics.maxSearchLatencyMs=e);let r=this._metrics.totalSearches;this._metrics.avgSearchLatencyMs=this._metrics.avgSearchLatencyMs*((r-1)/r)+e/r}}});function Z(i,e){let r=Array.from({length:e},()=>new Float64Array(e));for(let t=0;t<e;t++){let n=i[t].length;r[t][t]=n;for(let a of i[t])r[t][a]=-1}return r}function N(i,e){let r=e.length,t=new Float64Array(r);for(let n=0;n<r;n++){let a=i[n].length;t[n]=a*e[n];for(let o of i[n])t[n]-=e[o]}return t}function H(i){let e=0;for(let r=0;r<i.length;r++)e+=i[r]*i[r];return Math.sqrt(e)}function R(i){let e=H(i);if(e>0)for(let r=0;r<i.length;r++)i[r]/=e}function v(i,e){let r=0;for(let t=0;t<i.length;t++)r+=i[t]*e[t];for(let t=0;t<i.length;t++)i[t]-=r*e[t]}function y(i,e,r=100,t=1e-6){if(e<=1)return 0;if(e===2)return i[0].includes(1)?2:0;let n=new Float64Array(e).fill(1/Math.sqrt(e)),a=new Float64Array(e);for(let l=0;l<e;l++)a[l]=Math.random()-.5;v(a,n),R(a);let o=0;for(let l=0;l<30;l++){let u=N(i,a);if(v(u,n),o=H(u),o>0)for(let h=0;h<e;h++)a[h]=u[h]/o}if(o<t)return 0;let c=new Float64Array(e);for(let l=0;l<e;l++)c[l]=Math.random()-.5;v(c,n),R(c);let s=0;for(let l=0;l<r;l++){let u=N(i,c),h=new Float64Array(e);for(let f=0;f<e;f++)h[f]=o*c[f]-u[f];v(h,n);let m=H(h);if(m<t)break;let x=m;for(let f=0;f<e;f++)c[f]=h[f]/m;if(Math.abs(x-s)<t)break;s=x}let d=o-s;return Math.max(0,d)}function F(i,e,r=100,t=1e-6){return y(i,e,r,t)}function C(i,e,r=50,t){if(e<=1)return 0;let n=t??y(i,e);if(n<1e-10)return 1/0;let o=2*Math.max(...i.map(d=>d.length),1),s=2*(Math.log(o/n)/(o-n));return Math.max(0,s)}function M(i,e,r){let t=1-Math.exp(-i/.05),n=1-Math.exp(-e/.5),a=r===1/0?0:1/(1+r/5),o=.4*t+.3*n+.3*a;return Math.max(0,Math.min(1,o))}var _=g(()=>{"use strict"});var re={};D(re,{ALERT_THRESHOLDS:()=>fe,DEFAULT_HNSW_HEALTH_CONFIG:()=>ee,HnswHealthMonitor:()=>L,_resetNativeLoader:()=>be,approximateFiedlerValue:()=>y,approximateSpectralGap:()=>F,buildAdjacencyFromIndex:()=>te,buildLaplacian:()=>Z,computeCoherenceScore:()=>M,createHnswHealthMonitor:()=>ge,deflateVector:()=>v,estimateEffectiveResistance:()=>C,laplacianMultiply:()=>N,normalizeInPlace:()=>R,vectorNorm:()=>H});function pe(){return V?T:(V=!0,T=null,null)}function be(){T=null,V=!1}function te(i,e=16,r){let t=i.size();if(t===0)return{adjacency:[],nodeCount:0,adjacencySource:"approximate"};let n=Array.from({length:t},()=>[]),a=Math.min(e,t-1);if(a===0)return{adjacency:n,nodeCount:t,adjacencySource:"approximate"};if(r&&r.size>0){let o=Array.from(r.keys()).slice(0,t),c=new Map;for(let s=0;s<o.length;s++)c.set(o[s],s);for(let s=0;s<o.length;s++){let d=r.get(o[s]);if(!d)continue;let l=i.search(d,a+1);for(let u of l){if(u.id===o[s])continue;let h=c.get(u.id);h!==void 0&&(n[s].includes(h)||n[s].push(h),n[h].includes(s)||n[h].push(s))}}return{adjacency:n,nodeCount:t,adjacencySource:"actual-search"}}console.warn("[HnswHealthMonitor] No stored vectors provided \u2014 using approximate circular adjacency. Pass stored vectors for accurate health metrics.");for(let o=0;o<t;o++)for(let c=0;c<a;c++){let s=(o+c+1)%t;n[o].includes(s)||n[o].push(s),n[s].includes(o)||n[s].push(o)}return{adjacency:n,nodeCount:t,adjacencySource:"approximate"}}function ge(i){return new L(i)}var ee,fe,T,V,L,ne=g(()=>{"use strict";_();_();ee={fiedlerThreshold:.01,spectralGapThreshold:.1,resistanceThreshold:10,coherenceThreshold:.3,maxPowerIterations:100,convergenceTolerance:1e-6,resistanceSampleSize:50,maxHistoryEntries:200,minIndexSize:3},fe={FragileIndex:.01,PoorExpansion:.1,HighResistance:10,LowCoherence:.3},T=null,V=!1;L=class{config;alerts=[];history=[];lastReport=null;useNative=!1;nativeChecked=!1;constructor(e){this.config={...ee,...e}}checkHealth(e){let r=performance.now(),t=e.size();if(t<this.config.minIndexSize)return this.createSmallIndexReport(t,performance.now()-r);this.nativeChecked||(this.nativeChecked=!0,this.useNative=pe()!==null);let{adjacency:n,nodeCount:a,adjacencySource:o}=te(e),c=this.useNative?this.computeNativeMetrics(n):this.computeApproximateMetrics(n,a),s=this.generateAlerts(c);this.alerts.length=0,this.alerts.push(...s);let d=performance.now()-r,l={healthy:s.length===0,metrics:c,alerts:s,indexSize:t,usedNativeBackend:this.useNative,adjacencySource:o,checkDurationMs:d,checkedAt:new Date};return this.addHistoryPoint({coherenceScore:c.coherenceScore,fiedlerValue:c.fiedlerValue,indexSize:t,healthy:l.healthy,timestamp:l.checkedAt}),this.lastReport=l,l}getAlerts(){return[...this.alerts]}getMetricsHistory(e){let r=[...this.history];return e!==void 0&&e<r.length?r.slice(-e):r}isHealthy(){return this.lastReport===null?!0:this.lastReport.healthy}getLastReport(){return this.lastReport}clearHistory(){this.history.length=0,this.alerts.length=0,this.lastReport=null}computeNativeMetrics(e){let r=T,t=r.computeFiedlerValue(e),n=r.computeSpectralGap(e),a=r.computeEffectiveResistance(e),o=M(t,n,a);return{fiedlerValue:t,spectralGap:n,effectiveResistance:a,coherenceScore:o}}computeApproximateMetrics(e,r){let t=y(e,r,this.config.maxPowerIterations,this.config.convergenceTolerance),n=F(e,r,this.config.maxPowerIterations,this.config.convergenceTolerance),a=C(e,r,this.config.resistanceSampleSize,t),o=M(t,n,a);return{fiedlerValue:t,spectralGap:n,effectiveResistance:a,coherenceScore:o}}generateAlerts(e){let r=[],t=new Date;return e.fiedlerValue<this.config.fiedlerThreshold&&r.push({type:"FragileIndex",message:`Fiedler value ${e.fiedlerValue.toFixed(6)} is below threshold ${this.config.fiedlerThreshold}. The index graph has weak algebraic connectivity.`,value:e.fiedlerValue,threshold:this.config.fiedlerThreshold,timestamp:t}),e.spectralGap<this.config.spectralGapThreshold&&r.push({type:"PoorExpansion",message:`Spectral gap ${e.spectralGap.toFixed(6)} is below threshold ${this.config.spectralGapThreshold}. The index graph has poor expansion properties.`,value:e.spectralGap,threshold:this.config.spectralGapThreshold,timestamp:t}),e.effectiveResistance>this.config.resistanceThreshold&&r.push({type:"HighResistance",message:`Average effective resistance ${e.effectiveResistance.toFixed(4)} exceeds threshold ${this.config.resistanceThreshold}. Nodes are poorly connected.`,value:e.effectiveResistance,threshold:this.config.resistanceThreshold,timestamp:t}),e.coherenceScore<this.config.coherenceThreshold&&r.push({type:"LowCoherence",message:`Coherence score ${e.coherenceScore.toFixed(4)} is below threshold ${this.config.coherenceThreshold}. Overall index health is degraded.`,value:e.coherenceScore,threshold:this.config.coherenceThreshold,timestamp:t}),r}createSmallIndexReport(e,r){let t={fiedlerValue:e>0?1:0,spectralGap:e>0?1:0,effectiveResistance:e>0?.5:0,coherenceScore:e>0?1:0},n={healthy:!0,metrics:t,alerts:[],indexSize:e,usedNativeBackend:!1,adjacencySource:"approximate",checkDurationMs:r,checkedAt:new Date};return this.addHistoryPoint({coherenceScore:t.coherenceScore,fiedlerValue:t.fiedlerValue,indexSize:e,healthy:!0,timestamp:n.checkedAt}),this.lastReport=n,n}addHistoryPoint(e){this.history.push(e),this.history.length>this.config.maxHistoryEntries&&this.history.splice(0,this.history.length-this.config.maxHistoryEntries)}}});var ye={};D(ye,{HnswAdapter:()=>G});var ve,p,G,xe=g(()=>{O();Y();oe();ve={patterns:{dimensions:384,M:16,efConstruction:200,efSearch:100,metric:"cosine"},"qe-memory":{dimensions:384,M:16,efConstruction:200,efSearch:100,metric:"cosine"},learning:{dimensions:384,M:16,efConstruction:200,efSearch:50,metric:"cosine"},coverage:{dimensions:384,M:16,efConstruction:200,efSearch:100,metric:"cosine"}},p=new Map,G=class i{backend;_isNativeBackend;indexName;stringToNumericId=new Map;numericToStringId=new Map;nextAutoId=0;healthMonitor=null;healthMonitorLoaded=!1;operationsSinceLastCheck=0;healthCheckFrequency=100;lastHealthReport=null;constructor(e,r){this.indexName=e;let n={...ve[e]??{},...r},{backend:a,isNative:o}=i.createBackend(n);this.backend=a,this._isNativeBackend=o}add(e,r,t){this.backend.add(e,r,t),this.maybeRunHealthCheck()}search(e,r){let t=performance.now(),n=this.backend.search(e,r),a=performance.now()-t;return a>50&&console.warn(`[HNSW] search took ${a.toFixed(1)}ms (k=${r}, results=${n.length})`),this._lastSearchLatencyMs=a,n}_lastSearchLatencyMs=0;get lastSearchLatencyMs(){return this._lastSearchLatencyMs}remove(e){return this.backend.remove(e)}size(){return this.backend.size()}dimensions(){return this.backend.dimensions()}recall(){return this.backend.recall()}addByStringId(e,r){let t=this.stringToNumericId.get(e);t!==void 0?this.backend.remove(t):(t=this.nextAutoId++,this.stringToNumericId.set(e,t),this.numericToStringId.set(t,e)),this.backend.add(t,new Float32Array(r))}searchByArray(e,r){return this.backend.search(new Float32Array(e),r).map(n=>({id:this.numericToStringId.get(n.id)??String(n.id),score:n.score}))}removeByStringId(e){let r=this.stringToNumericId.get(e);if(r===void 0)return!1;let t=this.backend.remove(r);return t&&(this.stringToNumericId.delete(e),this.numericToStringId.delete(r)),t}clear(){this.backend.clear?.(),this.stringToNumericId.clear(),this.numericToStringId.clear(),this.nextAutoId=0}dispose(){try{this.backend.dispose?.()}catch{}this.stringToNumericId.clear(),this.numericToStringId.clear(),this.nextAutoId=0}isRuvectorAvailable(){return this.backend instanceof S?this.backend.isRuvectorAvailable():this.backend instanceof w?this.backend.isNativeAvailable():!1}isNativeBackend(){return this._isNativeBackend}getName(){return this.indexName}setHealthCheckFrequency(e){this.healthCheckFrequency=Math.max(1,e)}getHealthCheckFrequency(){return this.healthCheckFrequency}getLastHealthReport(){return this.lastHealthReport}getHealthMonitor(){return this.healthMonitor}maybeRunHealthCheck(){if(q()&&(this.operationsSinceLastCheck++,!(this.operationsSinceLastCheck<this.healthCheckFrequency)&&(this.operationsSinceLastCheck=0,this.ensureHealthMonitor(),this.healthMonitor)))try{this.lastHealthReport=this.healthMonitor.checkHealth(this.backend),this.lastHealthReport.healthy||console.warn(`[HNSW-Health] Index "${this.indexName}" health check failed: ${this.lastHealthReport.alerts.length} alert(s). Coherence: ${this.lastHealthReport.metrics.coherenceScore.toFixed(3)}`)}catch(e){console.warn(`[HNSW-Health] Health check error for "${this.indexName}":`,e)}}ensureHealthMonitor(){if(!this.healthMonitorLoaded){this.healthMonitorLoaded=!0;try{let e=(ne(),$(re));this.healthMonitor=e.createHnswHealthMonitor()}catch(e){process.env.DEBUG&&console.debug("[HNSW-Health] Monitor module unavailable:",e instanceof Error?e.message:e),this.healthMonitor=null}}}static createBackend(e){if(j())try{return{backend:new w(e),isNative:!0}}catch(r){r instanceof b?console.info(`[HNSW] Native backend unavailable, falling back to JS: ${r.message}`):console.warn("[HNSW] Unexpected error creating native backend, falling back to JS:",r)}return{backend:new S(e),isNative:!1}}static create(e,r){let t=p.get(e);if(t instanceof i)return t;let n=new i(e,r);return p.set(e,n),n}static get(e){let r=p.get(e);return r instanceof i?r:void 0}static close(e){let r=p.get(e);r instanceof i&&r.dispose(),p.delete(e)}static closeAll(){for(let[e]of p)i.close(e);p.clear()}static listIndexes(){return Array.from(p.keys())}}});export{G as a,ye as b,xe as c};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
-
import{a as e,b as g,e as r}from"./chunk-66KIIH6V.js";import{c as o}from"./chunk-62F5M5OO.js";var L=o(()=>{"use strict";e();g();r()});export{L as a};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
-
import{c as t,e as o}from"./chunk-62F5M5OO.js";var g={};o(g,{DotProductAttention:()=>u,FlashAttention:()=>m,HyperbolicAttention:()=>h,LinearAttention:()=>f,MoEAttention:()=>_,MultiHeadAttention:()=>A,RuvectorLayer:()=>a,SonaEngine:()=>b,TensorCompress:()=>c,default:()=>r,differentiableSearch:()=>l,getCompressionLevel:()=>p,hierarchicalForward:()=>s,init:()=>d,pipeline:()=>L});import{createRequire as n}from"module";var i,e,r,a,c,l,s,p,d,m,u,A,h,f,_,b,L,q=t(()=>{i=n(import.meta.url),e=i("hnswlib-node"),r=e,{RuvectorLayer:a,TensorCompress:c,differentiableSearch:l,hierarchicalForward:s,getCompressionLevel:p,init:d,FlashAttention:m,DotProductAttention:u,MultiHeadAttention:A,HyperbolicAttention:h,LinearAttention:f,MoEAttention:_,SonaEngine:b,pipeline:L}=e||{}});export{r as a,a as b,c,l as d,s as e,p as f,d as g,m as h,u as i,A as j,h as k,f as l,_ as m,b as n,L as o,g as p,q};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
-
import{c as a,d as b,e as c}from"./chunk-PS32DXYF.js";import"./chunk-A547LEUW.js";import"./chunk-XRF5MX4Q.js";import"./chunk-62F5M5OO.js";c();export{a as VibiumClientImpl,b as VibiumClientProvider};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
-
import{b as w}from"./chunk-QGJYKXUO.js";import{a as S,c as O}from"./chunk-XRF5MX4Q.js";import"./chunk-62F5M5OO.js";O();import{copyFileSync as x,existsSync as n,mkdirSync as p,readFileSync as k,readdirSync as v,statSync as y,writeFileSync as g}from"fs";import{join as o,dirname as C}from"path";import{fileURLToPath as M}from"url";var R=class{projectRoot;overwrite;options;generator;constructor(t){this.projectRoot=t.projectRoot,this.overwrite=t.overwrite??!1,this.options=t,this.generator=w()}async install(){let t={success:!0,mcpConfigured:!1,agentsMdInstalled:!1,hooksConfigured:!1,skillsInstalled:0,errors:[],configPath:"",agentsMdPath:"",hooksPath:o(this.projectRoot,".codex","hooks.json"),skillsPath:o(this.projectRoot,".agents","skills")};try{let s=this.generator.generateMcpConfig("codex",{memoryBackend:this.options.memoryBackend}),e=o(this.projectRoot,s.path);if(t.configPath=e,!n(e)||this.overwrite){let a=C(e);if(n(a)||p(a,{recursive:!0}),n(e)&&this.overwrite){let l=this.mergeExistingTomlConfig(e,s.content);g(e,l)}else g(e,s.content);t.mcpConfigured=!0}let i=this.generator.generateBehavioralRules("codex"),r=o(this.projectRoot,i.path);if(t.agentsMdPath=r,!n(r)||this.overwrite){if(n(r)&&this.overwrite){let a=this.mergeExistingAgentsMd(r,i.content);g(r,a)}else g(r,i.content);t.agentsMdInstalled=!0}this.installCodexHooks(t),t.skillsInstalled=this.installCodexSkills()}catch(s){t.success=!1,t.errors.push(`Codex installation failed: ${S(s)}`)}return t}installCodexHooks(t){let s=this.resolvePackageRoot();if(!s)return;let e=o(s,".codex","hooks.json"),i=o(s,".codex","hooks");if(!n(e)||!n(i))return;let r=o(this.projectRoot,".codex"),a=o(r,"hooks");p(a,{recursive:!0});for(let c of v(i)){let f=o(i,c);if(!y(f).isFile())continue;let h=o(a,c);(!n(h)||this.overwrite)&&x(f,h)}let l=[{source:o(s,".claude","hooks","aqe-hook.cjs"),target:o(a,"aqe-runtime.cjs")},{source:o(s,".claude","helpers","ruflo-hook.cjs"),target:o(a,"ruflo-runtime.cjs")}];for(let c of l)n(c.source)&&(!n(c.target)||this.overwrite)&&x(c.source,c.target);let u=JSON.parse(k(e,"utf-8")),d=o(r,"hooks.json");if(!n(d)){g(d,JSON.stringify(u,null,2)+`
|
|
3
|
-
`),t.hooksConfigured=!0;return}if(!this.overwrite)return;let m=JSON.parse(k(d,"utf-8")),I=c=>JSON.stringify(c).includes("/.codex/hooks/aqe-codex-hook.cjs")||JSON.stringify(c).includes("/.codex/hooks/ruflo-codex-hook.cjs"),P={},b=new Set([...Object.keys(m.hooks||{}),...Object.keys(u.hooks||{})]);for(let c of b){let f=(m.hooks?.[c]||[]).filter(h=>!I(h));P[c]=[...f,...u.hooks?.[c]||[]]}g(d,JSON.stringify({...m,description:u.description,hooks:P},null,2)+`
|
|
4
|
-
`),t.hooksConfigured=!0}installCodexSkills(){let t=this.resolvePackageRoot();if(!t)return 0;let s=o(t,".agents","skills");if(!n(s))return 0;let e=o(this.projectRoot,".agents","skills");p(e,{recursive:!0});let i=0;for(let r of v(s)){if(!r.startsWith("aqe-"))continue;let a=o(s,r);if(!y(a).isDirectory())continue;let l=o(e,r);n(l)&&!this.overwrite||(this.copyDirectory(a,l),i++)}return i}copyDirectory(t,s){p(s,{recursive:!0});for(let e of v(t)){let i=o(t,e),r=o(s,e);y(i).isDirectory()?this.copyDirectory(i,r):x(i,r)}}resolvePackageRoot(){let t=C(M(import.meta.url));return[o(t,"..",".."),o(C(process.argv[1]||""),"..",".."),o(this.projectRoot,"node_modules","agentic-qe")].find(e=>n(o(e,".codex","hooks.json"))||n(o(e,".agents","skills")))}mergeExistingTomlConfig(t,s){try{let e=k(t,"utf-8");return e.includes("[mcp_servers.agentic-qe]")?e:e.trimEnd()+`
|
|
5
|
-
|
|
6
|
-
`+s}catch{return s}}mergeExistingAgentsMd(t,s){try{let e=k(t,"utf-8");return e.includes("Agentic QE")||e.includes("fleet_init")?e:e.trimEnd()+`
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
`+s}catch{return s}}};function B(j){return new R(j)}export{R as CodexInstaller,B as createCodexInstaller};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
-
import{c as a,d as b,e as c,f as d,g as e,h as f,i as g,j as h,k as i,l as j,m as k,n as l}from"./chunk-F6V5POSK.js";import"./chunk-JOHWWTJF.js";import"./chunk-DSUEJK33.js";import"./chunk-SSXCHSVM.js";import"./chunk-MGKJFO57.js";import"./chunk-FGIZVGIE.js";import"./chunk-A6J5MAVO.js";import"./chunk-OD5R7HRI.js";import"./chunk-SJWTNKPY.js";import"./chunk-IH47VGC7.js";import"./chunk-33SPAMQZ.js";import"./chunk-A22RTEJ3.js";import"./chunk-N7IRBQ4D.js";import"./chunk-IKPBQZQP.js";import"./chunk-L4O2645U.js";import"./chunk-CVFUANMU.js";import"./chunk-LOZRBK2Z.js";import"./chunk-JLFU5SCI.js";import"./chunk-B7XZJBMT.js";import"./chunk-RMQRSZB4.js";import"./chunk-MYR6CBXC.js";import"./chunk-EMH54CO7.js";import"./chunk-JBWXBDJX.js";import"./chunk-JQTDNUHA.js";import"./chunk-ADBTOUOX.js";import"./chunk-CXPMA7LY.js";import"./chunk-PS32DXYF.js";import"./chunk-QZS3XCU5.js";import"./chunk-NUPAGPN6.js";import"./chunk-VGWHFFK6.js";import"./chunk-ZIYCZZYD.js";import"./chunk-IZIYFVAZ.js";import"./chunk-3NML6POU.js";import"./chunk-N4OBRS6S.js";import"./chunk-M7XDTQHX.js";import"./chunk-7AHQ7ROU.js";import"./chunk-5IVOY76M.js";import"./chunk-TNM7X2GD.js";import"./chunk-6I2L22WS.js";import"./chunk-BDOD534O.js";import"./chunk-X737I4SO.js";import"./chunk-22WFXSXB.js";import"./chunk-OU5CZFBG.js";import"./chunk-TW5QWNT4.js";import"./chunk-A547LEUW.js";import"./chunk-MNEQESQJ.js";import"./chunk-K2D3YW2N.js";import"./chunk-3J2QITXC.js";import"./chunk-KBQRYAHZ.js";import"./chunk-HEF6XKA5.js";import"./chunk-DTOKJKSE.js";import"./chunk-2QKSIHXO.js";import"./chunk-2MLPO3RZ.js";import"./chunk-RWPWD5GG.js";import"./chunk-J65XQ6WE.js";import"./chunk-TK6CHESH.js";import"./chunk-OX6WPOGR.js";import"./chunk-7MBPKAQ3.js";import"./chunk-VRTNRI4H.js";import"./chunk-IRX2THND.js";import"./chunk-PHNNAIFA.js";import"./chunk-J5AIMM2J.js";import"./chunk-LLQG3F4H.js";import"./chunk-KQFMCVBH.js";import"./chunk-RRHIEG4Y.js";import"./chunk-EEG4G5JG.js";import"./chunk-TRPRFW27.js";import"./chunk-HOIH542Y.js";import"./chunk-UOJ26GXD.js";import"./chunk-QP4UKSUJ.js";import"./chunk-ORXDKBZC.js";import"./chunk-6C3PDY72.js";import"./chunk-764G7VK6.js";import"./chunk-4RYU4WMW.js";import"./chunk-N3KQRDTM.js";import"./chunk-ZI7BWJJW.js";import"./chunk-JG267MVB.js";import"./chunk-GSG5FASF.js";import"./chunk-KQ5GLUOB.js";import"./chunk-UF7JKDWB.js";import"./chunk-5A5EC5RD.js";import"./chunk-GNCGRDQ2.js";import"./chunk-UWBHR4EZ.js";import"./chunk-QZ3EIONO.js";import"./chunk-7TG7LJAB.js";import"./chunk-ZLTAAROU.js";import"./chunk-64C4SS66.js";import"./chunk-SAMAYDVS.js";import"./chunk-VFZNVJP2.js";import"./chunk-U7DGRHSB.js";import"./chunk-LWPCGOQM.js";import"./chunk-5IH22DLD.js";import"./chunk-DPJLA7JW.js";import"./chunk-CW7BWFFF.js";import"./chunk-WHUQDBV7.js";import"./chunk-T5L65R23.js";import"./chunk-66KIIH6V.js";import"./chunk-NIA6VTIH.js";import"./chunk-2G2XD6EM.js";import"./chunk-WVWWTRKT.js";import"./chunk-PHGOMAIS.js";import"./chunk-46U73TST.js";import"./chunk-ZU3XUBDQ.js";import"./chunk-XRF5MX4Q.js";import"./chunk-FF53QW6C.js";import"./chunk-3CFWNT3F.js";import"./chunk-2BYRQ5MV.js";import"./chunk-P5CQMDFQ.js";import"./chunk-V6W4IHS5.js";import"./chunk-AJ45QR3K.js";import"./chunk-UX434RY5.js";import"./chunk-PHBGMXTR.js";import"./chunk-H4XZOIV6.js";import"./chunk-GTURQ454.js";import"./chunk-AXXFY7PX.js";import"./chunk-62F5M5OO.js";export{c as adoptExternalFleet,e as assignAgentLevel,k as disposeFleet,f as getAgentLevel,g as getAllAgentLevels,a as getFleetState,d as getFleetTopology,l as handleAQEHealth,j as handleFleetHealth,h as handleFleetInit,i as handleFleetStatus,b as isFleetInitialized};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
-
import{a,b}from"./chunk-J65XQ6WE.js";import"./chunk-TK6CHESH.js";import"./chunk-ZU3XUBDQ.js";import"./chunk-FF53QW6C.js";import"./chunk-62F5M5OO.js";export{a as CrossDomainEventRouter,b as createCrossDomainRouter};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
-
import{b as a,c as b,d as c,e as d,f as e,g as f,h as g,i as h,j as i,k as j,l as k,m as l,n as m,o as n,p as o,q as p,r as q,s as r,t as s,u as t,v as u}from"./chunk-VGWHFFK6.js";import"./chunk-ZIYCZZYD.js";import"./chunk-IZIYFVAZ.js";import"./chunk-3NML6POU.js";import"./chunk-GSG5FASF.js";import"./chunk-KQ5GLUOB.js";import"./chunk-UF7JKDWB.js";import"./chunk-5A5EC5RD.js";import"./chunk-GNCGRDQ2.js";import"./chunk-UWBHR4EZ.js";import"./chunk-QZ3EIONO.js";import"./chunk-7TG7LJAB.js";import"./chunk-ZLTAAROU.js";import"./chunk-64C4SS66.js";import"./chunk-SAMAYDVS.js";import"./chunk-VFZNVJP2.js";import"./chunk-U7DGRHSB.js";import"./chunk-LWPCGOQM.js";import"./chunk-5IH22DLD.js";import"./chunk-DPJLA7JW.js";import"./chunk-CW7BWFFF.js";import"./chunk-WHUQDBV7.js";import"./chunk-T5L65R23.js";import"./chunk-66KIIH6V.js";import"./chunk-NIA6VTIH.js";import"./chunk-2G2XD6EM.js";import"./chunk-WVWWTRKT.js";import"./chunk-PHGOMAIS.js";import"./chunk-46U73TST.js";import"./chunk-ZU3XUBDQ.js";import"./chunk-XRF5MX4Q.js";import"./chunk-FF53QW6C.js";import"./chunk-2BYRQ5MV.js";import"./chunk-P5CQMDFQ.js";import"./chunk-V6W4IHS5.js";import"./chunk-AJ45QR3K.js";import"./chunk-UX434RY5.js";import"./chunk-PHBGMXTR.js";import"./chunk-H4XZOIV6.js";import"./chunk-GTURQ454.js";import"./chunk-AXXFY7PX.js";import"./chunk-62F5M5OO.js";export{q as BUILT_IN_STRATEGIES,b as ConceptGraph,g as DEFAULT_ACTIVATION_CONFIG,a as DEFAULT_CONCEPT_GRAPH_CONFIG,m as DEFAULT_DREAM_CONFIG,s as DEFAULT_DREAM_SCHEDULER_CONFIG,i as DEFAULT_INSIGHT_CONFIG,k as DEFAULT_VALIDATION_THRESHOLDS,n as DreamEngine,t as DreamScheduler,f as HISTORY_TRIM_TARGET_RATIO,j as InsightGenerator,d as MAX_ACTIVATION_HISTORY_ENTRIES,e as MAX_COACTIVATION_ENTRIES,l as RVCOWBranchManager,r as SpeculativeDreamer,h as SpreadingActivation,c as createConceptGraph,o as createDreamEngine,u as createDreamScheduler,p as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
-
import{a,b}from"./chunk-6R6QGQ7D.js";import"./chunk-62F5M5OO.js";export{a as SOURCE_EXTENSIONS,b as walkSourceFiles};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
-
import{b as a}from"./chunk-37I4AMCT.js";import"./chunk-JQTDNUHA.js";import"./chunk-ADBTOUOX.js";import"./chunk-CXPMA7LY.js";import"./chunk-UWBHR4EZ.js";import"./chunk-DPJLA7JW.js";import"./chunk-CW7BWFFF.js";import"./chunk-WHUQDBV7.js";import"./chunk-T5L65R23.js";import"./chunk-66KIIH6V.js";import"./chunk-NIA6VTIH.js";import"./chunk-2G2XD6EM.js";import"./chunk-XRF5MX4Q.js";import"./chunk-2BYRQ5MV.js";import"./chunk-P5CQMDFQ.js";import"./chunk-V6W4IHS5.js";import"./chunk-AJ45QR3K.js";import"./chunk-UX434RY5.js";import"./chunk-PHBGMXTR.js";import"./chunk-H4XZOIV6.js";import"./chunk-GTURQ454.js";import"./chunk-AXXFY7PX.js";import"./chunk-62F5M5OO.js";export{a as HeartbeatSchedulerWorker};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
-
import{a,c as b}from"./chunk-H4XZOIV6.js";import"./chunk-GTURQ454.js";import"./chunk-AXXFY7PX.js";import"./chunk-62F5M5OO.js";b();export{a as HnswAdapter};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
-
import{a,b,c,d}from"./chunk-JG267MVB.js";import"./chunk-T5L65R23.js";import"./chunk-66KIIH6V.js";import"./chunk-AJ45QR3K.js";import"./chunk-H4XZOIV6.js";import"./chunk-GTURQ454.js";import"./chunk-AXXFY7PX.js";import"./chunk-62F5M5OO.js";export{a as DEFAULT_HNSW_CONFIG,b as HNSWIndex,d as benchmarkHNSW,c as createHNSWIndex};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
-
import{d as a,e as b,f as c}from"./chunk-QP4UKSUJ.js";import"./chunk-ORXDKBZC.js";import"./chunk-6C3PDY72.js";import"./chunk-764G7VK6.js";import"./chunk-4RYU4WMW.js";import"./chunk-N3KQRDTM.js";import"./chunk-XRF5MX4Q.js";import"./chunk-FF53QW6C.js";import"./chunk-62F5M5OO.js";export{a as HybridRouter,b as createHybridRouter,c as createQERouter};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
-
import{a}from"./chunk-22WFXSXB.js";import"./chunk-OU5CZFBG.js";import"./chunk-TW5QWNT4.js";import"./chunk-UOJ26GXD.js";import"./chunk-T5L65R23.js";import"./chunk-66KIIH6V.js";import"./chunk-2G2XD6EM.js";import"./chunk-ZU3XUBDQ.js";import"./chunk-XRF5MX4Q.js";import"./chunk-FF53QW6C.js";import"./chunk-62F5M5OO.js";export{a as ImpactAnalyzerService};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
-
import{a,b,c,d}from"./chunk-C7AXBCMS.js";import"./chunk-XRQGWUDX.js";import"./chunk-QFANYWC5.js";import"./chunk-X737I4SO.js";import"./chunk-3J2QITXC.js";import"./chunk-2G2XD6EM.js";import"./chunk-XRF5MX4Q.js";import"./chunk-2BYRQ5MV.js";import"./chunk-P5CQMDFQ.js";import"./chunk-62F5M5OO.js";export{a as InitOrchestrator,b as createInitOrchestrator,d as formatInitResult,c as quickInit};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
-
import{A as b,z as a}from"./chunk-A6J5MAVO.js";import"./chunk-OD5R7HRI.js";import"./chunk-SJWTNKPY.js";import"./chunk-IH47VGC7.js";import"./chunk-33SPAMQZ.js";import"./chunk-N7IRBQ4D.js";import"./chunk-L4O2645U.js";import"./chunk-CVFUANMU.js";import"./chunk-LOZRBK2Z.js";import"./chunk-RMQRSZB4.js";import"./chunk-JBWXBDJX.js";import"./chunk-PS32DXYF.js";import"./chunk-QZS3XCU5.js";import"./chunk-NUPAGPN6.js";import"./chunk-VGWHFFK6.js";import"./chunk-ZIYCZZYD.js";import"./chunk-IZIYFVAZ.js";import"./chunk-3NML6POU.js";import"./chunk-7AHQ7ROU.js";import"./chunk-TNM7X2GD.js";import"./chunk-6I2L22WS.js";import"./chunk-BDOD534O.js";import"./chunk-X737I4SO.js";import"./chunk-22WFXSXB.js";import"./chunk-OU5CZFBG.js";import"./chunk-TW5QWNT4.js";import"./chunk-A547LEUW.js";import"./chunk-KBQRYAHZ.js";import"./chunk-HEF6XKA5.js";import"./chunk-2QKSIHXO.js";import"./chunk-2MLPO3RZ.js";import"./chunk-RWPWD5GG.js";import"./chunk-TK6CHESH.js";import"./chunk-LLQG3F4H.js";import"./chunk-KQFMCVBH.js";import"./chunk-RRHIEG4Y.js";import"./chunk-EEG4G5JG.js";import"./chunk-TRPRFW27.js";import"./chunk-HOIH542Y.js";import"./chunk-UOJ26GXD.js";import"./chunk-QP4UKSUJ.js";import"./chunk-ORXDKBZC.js";import"./chunk-6C3PDY72.js";import"./chunk-764G7VK6.js";import"./chunk-4RYU4WMW.js";import"./chunk-N3KQRDTM.js";import"./chunk-ZI7BWJJW.js";import"./chunk-JG267MVB.js";import"./chunk-GSG5FASF.js";import"./chunk-KQ5GLUOB.js";import"./chunk-UF7JKDWB.js";import"./chunk-5A5EC5RD.js";import"./chunk-GNCGRDQ2.js";import"./chunk-UWBHR4EZ.js";import"./chunk-QZ3EIONO.js";import"./chunk-7TG7LJAB.js";import"./chunk-ZLTAAROU.js";import"./chunk-64C4SS66.js";import"./chunk-SAMAYDVS.js";import"./chunk-VFZNVJP2.js";import"./chunk-U7DGRHSB.js";import"./chunk-LWPCGOQM.js";import"./chunk-5IH22DLD.js";import"./chunk-DPJLA7JW.js";import"./chunk-CW7BWFFF.js";import"./chunk-WHUQDBV7.js";import"./chunk-T5L65R23.js";import"./chunk-66KIIH6V.js";import"./chunk-NIA6VTIH.js";import"./chunk-2G2XD6EM.js";import"./chunk-WVWWTRKT.js";import"./chunk-PHGOMAIS.js";import"./chunk-46U73TST.js";import"./chunk-ZU3XUBDQ.js";import"./chunk-XRF5MX4Q.js";import"./chunk-FF53QW6C.js";import"./chunk-3CFWNT3F.js";import"./chunk-2BYRQ5MV.js";import"./chunk-P5CQMDFQ.js";import"./chunk-V6W4IHS5.js";import"./chunk-AJ45QR3K.js";import"./chunk-UX434RY5.js";import"./chunk-PHBGMXTR.js";import"./chunk-H4XZOIV6.js";import"./chunk-GTURQ454.js";import"./chunk-AXXFY7PX.js";import"./chunk-62F5M5OO.js";export{a as QEKernelImpl,b as createKernel};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
-
import{g as a}from"./chunk-OU5CZFBG.js";import"./chunk-TW5QWNT4.js";import"./chunk-UOJ26GXD.js";import"./chunk-T5L65R23.js";import"./chunk-66KIIH6V.js";import"./chunk-2G2XD6EM.js";import"./chunk-ZU3XUBDQ.js";import"./chunk-XRF5MX4Q.js";import"./chunk-62F5M5OO.js";export{a as KnowledgeGraphService};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
-
import{a,b,c}from"./chunk-KQFMCVBH.js";import"./chunk-RRHIEG4Y.js";import"./chunk-EEG4G5JG.js";import"./chunk-TRPRFW27.js";import"./chunk-HOIH542Y.js";import"./chunk-UOJ26GXD.js";import"./chunk-QP4UKSUJ.js";import"./chunk-ORXDKBZC.js";import"./chunk-6C3PDY72.js";import"./chunk-764G7VK6.js";import"./chunk-4RYU4WMW.js";import"./chunk-N3KQRDTM.js";import"./chunk-DPJLA7JW.js";import"./chunk-CW7BWFFF.js";import"./chunk-WHUQDBV7.js";import"./chunk-T5L65R23.js";import"./chunk-66KIIH6V.js";import"./chunk-NIA6VTIH.js";import"./chunk-2G2XD6EM.js";import"./chunk-XRF5MX4Q.js";import"./chunk-FF53QW6C.js";import"./chunk-2BYRQ5MV.js";import"./chunk-P5CQMDFQ.js";import"./chunk-V6W4IHS5.js";import"./chunk-AJ45QR3K.js";import"./chunk-UX434RY5.js";import"./chunk-PHBGMXTR.js";import"./chunk-H4XZOIV6.js";import"./chunk-GTURQ454.js";import"./chunk-AXXFY7PX.js";import"./chunk-62F5M5OO.js";export{a as createLLMRouterService,b as pickEnabledProviders,c as pickPrimaryAndFallbacks};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
-
import{a}from"./chunk-JLFU5SCI.js";import"./chunk-M7XDTQHX.js";import"./chunk-7AHQ7ROU.js";import"./chunk-DPJLA7JW.js";import"./chunk-CW7BWFFF.js";import"./chunk-WHUQDBV7.js";import"./chunk-T5L65R23.js";import"./chunk-66KIIH6V.js";import"./chunk-NIA6VTIH.js";import"./chunk-2G2XD6EM.js";import"./chunk-XRF5MX4Q.js";import"./chunk-FF53QW6C.js";import"./chunk-3CFWNT3F.js";import"./chunk-2BYRQ5MV.js";import"./chunk-P5CQMDFQ.js";import"./chunk-V6W4IHS5.js";import"./chunk-AJ45QR3K.js";import"./chunk-UX434RY5.js";import"./chunk-PHBGMXTR.js";import"./chunk-H4XZOIV6.js";import"./chunk-GTURQ454.js";import"./chunk-AXXFY7PX.js";import"./chunk-62F5M5OO.js";export{a as LoadTestTool};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
-
import{a}from"./chunk-3CFWNT3F.js";import"./chunk-UX434RY5.js";import"./chunk-PHBGMXTR.js";import"./chunk-62F5M5OO.js";export{a as InMemoryBackend};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
-
import{a}from"./chunk-ZLTAAROU.js";import"./chunk-WHUQDBV7.js";import"./chunk-FF53QW6C.js";import"./chunk-62F5M5OO.js";export{a as PatternNullStore};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
-
import{a as u}from"./chunk-QGJYKXUO.js";import{a as y,c as w}from"./chunk-XRF5MX4Q.js";import{b as $}from"./chunk-62F5M5OO.js";import{Command as v}from"commander";import o from"chalk";import{existsSync as d,readFileSync as P}from"node:fs";import m from"node:path";w();var C=$({});var p=Object.keys(u);function h(s){return p.includes(s)}function x(s,e){let t=m.join(s,e.configPath),n=m.join(s,e.rulesPath);return{configExists:d(t),rulesExists:d(n)}}function E(s,e){try{let t=P(s,"utf-8");return e==="json"?{valid:!0,data:JSON.parse(t)}:e==="toml"?t.trim().length===0?{valid:!1,error:"File is empty"}:{valid:!0}:e==="yaml"?t.trim().length===0?{valid:!1,error:"File is empty"}:{valid:!0}:{valid:!0}}catch(t){return{valid:!1,error:y(t)}}}function I(s,e){try{return P(s,"utf-8").includes("agentic-qe")}catch{return!1}}function j(){let s=new v("platform").description("Manage coding agent platform configurations");return s.command("list").description("List all supported platforms and their configuration status").action(async()=>{let e=process.cwd();console.log(""),console.log(o.bold.blue(" Supported Platforms")),console.log(o.gray(" \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500")),console.log("");let t=18,n=36,r=14;console.log(o.gray(` ${"Platform".padEnd(t)}${"Config Path".padEnd(n)}${"Status".padEnd(r)}`)),console.log(o.gray(` ${"\u2500".repeat(t+n+r)}`));for(let l of p){let f=u[l],{configExists:c,rulesExists:a}=x(e,f),i=c&&a?o.green("configured"):c||a?o.yellow("partial"):o.gray("not configured");console.log(` ${o.white(f.name.padEnd(t))}${o.gray(f.configPath.padEnd(n))}${i}`)}console.log(""),console.log(o.gray(' Use "aqe platform setup <name>" to configure a platform')),console.log(o.gray(' Use "aqe init --with-all-platforms" to configure all at once')),console.log("")}),s.command("setup <name>").description("Set up a specific platform configuration").option("--overwrite","Overwrite existing configuration files").action(async(e,t)=>{let n=process.cwd();h(e)||(console.log(""),console.log(o.red(` Unknown platform: ${e}`)),console.log(o.gray(` Valid platforms: ${p.join(", ")}`)),console.log(""),process.exit(1));let r=u[e];console.log(""),console.log(o.bold.blue(` Setting up ${r.name}`)),console.log(o.gray(" \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500")),console.log("");try{let l=await C(`../../init/${e}-installer.js`),c=[`create${e.charAt(0).toUpperCase()}${e.slice(1).replace(/([a-z])([A-Z])/g,"$1$2")}Installer`,`create${R(e)}Installer`],a;for(let i of c)if(typeof l[i]=="function"){a=l[i];break}if(!a){for(let i of Object.keys(l))if(i.startsWith("create")&&i.endsWith("Installer")&&typeof l[i]=="function"){a=l[i];break}}a||(console.log(o.red(` Could not find installer factory for ${e}`)),process.exit(1));let g=await a({projectRoot:n,overwrite:t.overwrite}).install();if(g.success)console.log(o.green(` ${r.name} configured successfully`)),g.mcpConfigured&&console.log(o.gray(` MCP config: ${r.configPath}`)),g.rulesInstalled&&console.log(o.gray(` Rules: ${r.rulesPath}`));else if(console.log(o.red(` ${r.name} setup failed`)),g.errors)for(let i of g.errors)console.log(o.red(` ${i}`))}catch(l){console.log(o.red(` Failed to set up ${r.name}: ${y(l)}`))}console.log("")}),s.command("verify <name>").description("Verify a platform configuration is correct").action(async e=>{let t=process.cwd();h(e)||(console.log(""),console.log(o.red(` Unknown platform: ${e}`)),console.log(o.gray(` Valid platforms: ${p.join(", ")}`)),console.log(""),process.exit(1));let n=u[e];console.log(""),console.log(o.bold.blue(` Verifying ${n.name}`)),console.log(o.gray(" \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500")),console.log("");let r=!0,l=m.join(t,n.configPath);if(d(l)?console.log(o.green(` [pass] Config file exists: ${n.configPath}`)):(console.log(o.red(` [fail] Config file missing: ${n.configPath}`)),r=!1),d(l)){let c=E(l,n.configFormat);c.valid?console.log(o.green(` [pass] Config file is valid ${n.configFormat.toUpperCase()}`)):(console.log(o.red(` [fail] Config file is invalid: ${c.error}`)),r=!1),I(l,n)?console.log(o.green(" [pass] Config contains agentic-qe entry")):(console.log(o.red(" [fail] Config does not contain agentic-qe entry")),r=!1)}let f=m.join(t,n.rulesPath);d(f)?console.log(o.green(` [pass] Rules file exists: ${n.rulesPath}`)):(console.log(o.red(` [fail] Rules file missing: ${n.rulesPath}`)),r=!1),console.log(""),r?console.log(o.green(` ${n.name} configuration is valid`)):(console.log(o.yellow(` ${n.name} configuration has issues`)),console.log(o.gray(` Run "aqe platform setup ${e}" to fix`))),console.log("")}),s}function R(s){return s.charAt(0).toUpperCase()+s.slice(1)}var V=j;export{j as createPlatformCommand,V as default};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{createRequire as __cr}from"module";const require=__cr(import.meta.url);if(process.argv.includes('--version')||process.argv.includes('-v')){console.log("3.13.3");process.exit(0)}
|
|
2
|
-
import{a,b}from"./chunk-EMH54CO7.js";import"./chunk-JBWXBDJX.js";import"./chunk-RWPWD5GG.js";import"./chunk-ZU3XUBDQ.js";import"./chunk-XRF5MX4Q.js";import"./chunk-FF53QW6C.js";import"./chunk-62F5M5OO.js";export{a as DefaultProtocolExecutor,b as createProtocolExecutor};
|