agentic-qe 3.9.4 → 3.9.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/CHANGELOG.md +20 -0
- package/dist/cli/bundle.js +5 -5
- package/dist/cli/chunks/adapter-HOBCL2VF.js +2 -0
- package/dist/cli/chunks/{agent-booster-wasm-MGGEPROV.js → agent-booster-wasm-AW36VJXL.js} +2 -2
- package/dist/cli/chunks/{agent-handler-AFHYFQXV.js → agent-handler-AQFW2CMW.js} +2 -2
- package/dist/cli/chunks/{agent-memory-branch-SQ3KDIG6.js → agent-memory-branch-VA6A47U5.js} +2 -2
- package/dist/cli/chunks/aqe-learning-engine-77FVV2ZJ.js +2 -0
- package/dist/cli/chunks/{audit-SM5CK2K5.js → audit-WVJHTVUU.js} +2 -2
- package/dist/cli/chunks/base-2IXMPGJV.js +2 -0
- package/dist/cli/chunks/{better-sqlite3-UGOYRNXI.js → better-sqlite3-HCMGVEDO.js} +2 -2
- package/dist/cli/chunks/{brain-handler-SKXTB63O.js → brain-handler-JZISBH2W.js} +3 -3
- package/dist/cli/chunks/{branch-enumerator-77NSOLNK.js → branch-enumerator-3TQXIETD.js} +2 -2
- package/dist/cli/chunks/{browser-MCE5DWPV.js → browser-4GZXU4YT.js} +2 -2
- package/dist/cli/chunks/browser-workflow-AQYKV2NE.js +2 -0
- package/dist/cli/chunks/{chunk-MN2MYLVW.js → chunk-2XJRSIM5.js} +2 -2
- package/dist/cli/chunks/{chunk-72EC26AS.js → chunk-35DP6LX6.js} +2 -2
- package/dist/cli/chunks/{chunk-Z75DMTMI.js → chunk-3DGO7NJK.js} +1 -1
- package/dist/cli/chunks/{chunk-EZTUUOVI.js → chunk-3KYKE7B6.js} +1 -1
- package/dist/cli/chunks/{chunk-RE6XD6RI.js → chunk-3QH67ZYC.js} +2 -2
- package/dist/cli/chunks/{chunk-RRQEIGLS.js → chunk-3UE5GART.js} +2 -2
- package/dist/cli/chunks/{chunk-GAG2P4I2.js → chunk-3UFAEGSS.js} +1 -1
- package/dist/cli/chunks/{chunk-HKTNFHWI.js → chunk-3VNEMHOO.js} +1 -1
- package/dist/cli/chunks/{chunk-QPC4STR6.js → chunk-45WEXMKC.js} +2 -2
- package/dist/cli/chunks/{chunk-TNWTQWLL.js → chunk-4EOSDCDM.js} +1 -1
- package/dist/cli/chunks/{chunk-UJLSCJJS.js → chunk-4FPCCKNQ.js} +1 -1
- package/dist/cli/chunks/{chunk-KELYPHMV.js → chunk-4QGNSNQL.js} +2 -2
- package/dist/cli/chunks/{chunk-MS6LTE4L.js → chunk-53J3R7PZ.js} +2 -2
- package/dist/cli/chunks/{chunk-5UKAEBKC.js → chunk-55EAFHVH.js} +3 -3
- package/dist/cli/chunks/{chunk-J6KBI5NW.js → chunk-5NBYV7FL.js} +1 -1
- package/dist/cli/chunks/{chunk-NZ5LY2BT.js → chunk-673PL3DG.js} +1 -1
- package/dist/cli/chunks/{chunk-RGRYL4MG.js → chunk-6AMXWB6Y.js} +2 -2
- package/dist/cli/chunks/{chunk-UUL3D5HR.js → chunk-6FM5DJHR.js} +4 -4
- package/dist/cli/chunks/{chunk-SHJZ3YNX.js → chunk-6QKGLIIY.js} +2 -2
- package/dist/cli/chunks/{chunk-ZODUKKPC.js → chunk-6QR7GSNJ.js} +2 -2
- package/dist/cli/chunks/{chunk-C567IO5M.js → chunk-6VB4VZCR.js} +2 -2
- package/dist/cli/chunks/{chunk-JVUNZBKX.js → chunk-73LG5ELL.js} +2 -2
- package/dist/cli/chunks/{chunk-UPJZRDZK.js → chunk-74YG34UH.js} +2 -2
- package/dist/cli/chunks/{chunk-SKWI5QBM.js → chunk-7JQOOPA2.js} +2 -2
- package/dist/cli/chunks/{chunk-XB5HXTL4.js → chunk-ALX5RJSR.js} +2 -2
- package/dist/cli/chunks/{chunk-NS4CCCTZ.js → chunk-BM7VSJTE.js} +2 -2
- package/dist/cli/chunks/{chunk-ZKWNZ3ZK.js → chunk-BNYHBEDE.js} +2 -2
- package/dist/cli/chunks/{chunk-EFD2J6GG.js → chunk-BQUN2NB4.js} +3 -3
- package/dist/cli/chunks/{chunk-IGJ472XJ.js → chunk-BYD54ZUF.js} +2 -2
- package/dist/cli/chunks/{chunk-KSMQH2CV.js → chunk-CGYOMD6X.js} +1 -1
- package/dist/cli/chunks/{chunk-DHJJJ24V.js → chunk-CGYTM7AB.js} +2 -2
- package/dist/cli/chunks/{chunk-4GJAYXB7.js → chunk-CNGRXBKO.js} +2 -2
- package/dist/cli/chunks/{chunk-3MN7E6HY.js → chunk-CQT3IEEX.js} +2 -2
- package/dist/cli/chunks/{chunk-VBYREHZI.js → chunk-DFOANC7Z.js} +1 -1
- package/dist/cli/chunks/{chunk-QEYPK7KS.js → chunk-DPEX4UOC.js} +1 -1
- package/dist/cli/chunks/{chunk-WHT46PJM.js → chunk-DSOEKRQL.js} +2 -2
- package/dist/cli/chunks/{chunk-RUJU5XEQ.js → chunk-E55RROAP.js} +1 -1
- package/dist/cli/chunks/{chunk-VFXTZWNF.js → chunk-EPH2GZQM.js} +2 -2
- package/dist/cli/chunks/{chunk-QOU4R6AF.js → chunk-ERV3OVUG.js} +2 -2
- package/dist/cli/chunks/{chunk-ENKPW6MA.js → chunk-FDFJHGRZ.js} +2 -2
- package/dist/cli/chunks/{chunk-53M65YFH.js → chunk-G7XBTBM7.js} +2 -2
- package/dist/cli/chunks/{chunk-7ST2YENJ.js → chunk-GFXAKQ77.js} +2 -2
- package/dist/cli/chunks/{chunk-XYVMKCSI.js → chunk-GFZRXQWH.js} +1 -1
- package/dist/cli/chunks/{chunk-C2HGOUEB.js → chunk-GHFXURNS.js} +1 -1
- package/dist/cli/chunks/{chunk-A6ZBQCYB.js → chunk-GSTDQLXR.js} +2 -2
- package/dist/cli/chunks/{chunk-Q6FSXNQP.js → chunk-HA4COQ66.js} +2 -2
- package/dist/cli/chunks/{chunk-G6RTCJFY.js → chunk-HT5EZYPZ.js} +2 -2
- package/dist/cli/chunks/{chunk-J222JLZ6.js → chunk-I27OTSC7.js} +2 -2
- package/dist/cli/chunks/{chunk-7ZXNJT4Q.js → chunk-I4HGIQC2.js} +2 -2
- package/dist/cli/chunks/{chunk-GX7MEHQ2.js → chunk-IHXDXFUX.js} +1 -1
- package/dist/cli/chunks/{chunk-BH5XPYA3.js → chunk-IMCYFQWF.js} +2 -2
- package/dist/cli/chunks/{chunk-2JLKOGNU.js → chunk-IMGRYCAT.js} +1 -1
- package/dist/cli/chunks/{chunk-GSKZL36U.js → chunk-ITIYGUIL.js} +2 -2
- package/dist/cli/chunks/{chunk-27FNBMUC.js → chunk-J4SEGMXL.js} +2 -2
- package/dist/cli/chunks/{chunk-JMBUIVVE.js → chunk-JUBICWL2.js} +1 -1
- package/dist/cli/chunks/{chunk-J72Q6ERO.js → chunk-JYJXVTUP.js} +2 -2
- package/dist/cli/chunks/{chunk-3SPYUOSS.js → chunk-KCQ2GFRN.js} +2 -2
- package/dist/cli/chunks/{chunk-GQ7DCSKS.js → chunk-KQ7VBUO4.js} +2 -2
- package/dist/cli/chunks/{chunk-C3BXT3ZC.js → chunk-KUDPFLL4.js} +4 -4
- package/dist/cli/chunks/{chunk-54OLXGXJ.js → chunk-KWIDDPKG.js} +2 -2
- package/dist/cli/chunks/{chunk-BZ22GI4E.js → chunk-LLXBL36X.js} +1 -1
- package/dist/cli/chunks/{chunk-3RHIPCBG.js → chunk-LPVQ6QCW.js} +2 -2
- package/dist/cli/chunks/{chunk-IQE6GOH6.js → chunk-MBXSHGDD.js} +2 -2
- package/dist/cli/chunks/{chunk-EEARIB4C.js → chunk-MO3IIM7L.js} +1 -1
- package/dist/cli/chunks/{chunk-U7YC7VCM.js → chunk-MRTDOSHR.js} +2 -2
- package/dist/cli/chunks/{chunk-F6AU2MAZ.js → chunk-MYIDAWGQ.js} +2 -2
- package/dist/cli/chunks/{chunk-NRH2QE4X.js → chunk-N66G743A.js} +3 -3
- package/dist/cli/chunks/{chunk-VBXJBXMG.js → chunk-NDWWN2YC.js} +4 -4
- package/dist/cli/chunks/{chunk-7EL65Y27.js → chunk-NGP3DRFU.js} +1 -1
- package/dist/cli/chunks/{chunk-GVFHRHXC.js → chunk-NHIQ5HP3.js} +2 -2
- package/dist/cli/chunks/{chunk-LH3ZL2OK.js → chunk-NNNH36RU.js} +2 -2
- package/dist/cli/chunks/{chunk-QVZSIFSJ.js → chunk-OPOTKH42.js} +3 -3
- package/dist/cli/chunks/{chunk-RPYUKEAH.js → chunk-OQCEI7Q4.js} +2 -2
- package/dist/cli/chunks/{chunk-TT2TB6UF.js → chunk-OTOQXMP6.js} +3 -3
- package/dist/cli/chunks/{chunk-LW3DV23G.js → chunk-PGFHFPDP.js} +2 -2
- package/dist/cli/chunks/{chunk-OZC42UMD.js → chunk-PMFZHFCB.js} +2 -2
- package/dist/cli/chunks/{chunk-YS6C2Q4F.js → chunk-PTAUZ3XL.js} +1 -1
- package/dist/cli/chunks/{chunk-4BQTEPAD.js → chunk-PVLOT5BL.js} +2 -2
- package/dist/cli/chunks/{chunk-GT35EJKR.js → chunk-QHMDETCU.js} +1 -1
- package/dist/cli/chunks/{chunk-B6HLXE3D.js → chunk-QPW2O5TR.js} +9 -9
- package/dist/cli/chunks/{chunk-VSNPI2NO.js → chunk-REXMKRR2.js} +8 -8
- package/dist/cli/chunks/{chunk-NEYZXYFH.js → chunk-S4F3CNSP.js} +2 -2
- package/dist/cli/chunks/{chunk-4TZTGYBQ.js → chunk-T4KMG3GJ.js} +1 -1
- package/dist/cli/chunks/{chunk-G72E5DL3.js → chunk-TRO45ZLC.js} +1 -1
- package/dist/cli/chunks/{chunk-ONOYANDX.js → chunk-TRPCOY3C.js} +1 -1
- package/dist/cli/chunks/{chunk-COIRFVFO.js → chunk-TRRJP27A.js} +1 -1
- package/dist/cli/chunks/{chunk-P3EOWBME.js → chunk-TSA5MUTQ.js} +2 -2
- package/dist/cli/chunks/{chunk-V57PXZIK.js → chunk-TUMXWCB7.js} +3 -3
- package/dist/cli/chunks/{chunk-MR5I6UR2.js → chunk-UO2R7ZN3.js} +2 -2
- package/dist/cli/chunks/{chunk-Q2ZYUIS2.js → chunk-UPFCV7MX.js} +2 -2
- package/dist/cli/chunks/{chunk-RS7ZGWHV.js → chunk-VKT4STAE.js} +2 -2
- package/dist/cli/chunks/{chunk-DZHGYZJP.js → chunk-W73AYMDP.js} +1 -1
- package/dist/cli/chunks/{chunk-ZQSEPDIJ.js → chunk-WIZOYPFT.js} +2 -2
- package/dist/cli/chunks/{chunk-OHZ6RJLS.js → chunk-WTGUS7DD.js} +2 -2
- package/dist/cli/chunks/{chunk-27P4VTCY.js → chunk-WV7K5A7J.js} +2 -2
- package/dist/cli/chunks/{chunk-2MQMXI7C.js → chunk-X6J7VYVD.js} +2 -2
- package/dist/cli/chunks/{chunk-B252DDC5.js → chunk-XG2JAIQT.js} +1 -1
- package/dist/cli/chunks/{chunk-MUX762XZ.js → chunk-Y6XYH7EV.js} +2 -2
- package/dist/cli/chunks/{chunk-RN3SN4ZC.js → chunk-YDBMYTOV.js} +2 -2
- package/dist/cli/chunks/{chunk-MGRE767N.js → chunk-YGZBS4RW.js} +2 -2
- package/dist/cli/chunks/{chunk-7FJIIB4H.js → chunk-YHKJYBWK.js} +1 -1
- package/dist/cli/chunks/{chunk-RTC3ZCPK.js → chunk-YHSIUFFY.js} +2 -2
- package/dist/cli/chunks/{chunk-ZW5DRPZY.js → chunk-YQTPEQO6.js} +2 -2
- package/dist/cli/chunks/{chunk-YDJKQKQH.js → chunk-YZ3WB4TN.js} +2 -2
- package/dist/cli/chunks/chunk-Z2GK7COI.js +2 -0
- package/dist/cli/chunks/{chunk-RAZ2PGZD.js → chunk-ZD2FS4Q7.js} +2 -2
- package/dist/cli/chunks/{chunk-3MRFR534.js → chunk-ZFCRDCHW.js} +2 -2
- package/dist/cli/chunks/{chunk-O6QAOPUA.js → chunk-ZJWDWM6B.js} +3 -3
- package/dist/cli/chunks/{chunk-DLMEBVLF.js → chunk-ZP237D7K.js} +2 -2
- package/dist/cli/chunks/{chunk-EHGTXIT7.js → chunk-ZWS7J73Q.js} +1 -1
- package/dist/cli/chunks/{ci-THZEECIQ.js → ci-3ATT6NMC.js} +2 -2
- package/dist/cli/chunks/{ci-output-G6QLGL4S.js → ci-output-2JR3J753.js} +2 -2
- package/dist/cli/chunks/{claude-flow-setup-5MTYQM34.js → claude-flow-setup-SG2BSEED.js} +2 -2
- package/dist/cli/chunks/client-3CA57H5P.js +2 -0
- package/dist/cli/chunks/{cline-installer-E2LF2DQS.js → cline-installer-A26SXDX6.js} +2 -2
- package/dist/cli/chunks/{code-QRF7ZGXG.js → code-WIXKPGAQ.js} +2 -2
- package/dist/cli/chunks/{code-index-extractor-II6IRWU6.js → code-index-extractor-W2NO6MR3.js} +2 -2
- package/dist/cli/chunks/{codex-installer-LGOQ23ZS.js → codex-installer-VBSJHXI4.js} +2 -2
- package/dist/cli/chunks/{completions-LB2RR2OQ.js → completions-JFXIUS2V.js} +2 -2
- package/dist/cli/chunks/{complexity-analyzer-PUIPIRX3.js → complexity-analyzer-GPO4ZAIZ.js} +2 -2
- package/dist/cli/chunks/{continuedev-installer-HQAEAQZU.js → continuedev-installer-OULSFVLB.js} +2 -2
- package/dist/cli/chunks/{copilot-installer-3PKCX5K5.js → copilot-installer-QS7EG5DW.js} +2 -2
- package/dist/cli/chunks/{cost-tracker-JG3SZ2Q3.js → cost-tracker-D7LNB633.js} +2 -2
- package/dist/cli/chunks/{coverage-D3PZTOKT.js → coverage-YUQ4MQYK.js} +3 -3
- package/dist/cli/chunks/cross-domain-router-GECFIALH.js +2 -0
- package/dist/cli/chunks/{cursor-installer-UY6GWKTO.js → cursor-installer-UOZGHZHD.js} +2 -2
- package/dist/cli/chunks/{daemon-UNO3LRRN.js → daemon-27TMWDPY.js} +3 -3
- package/dist/cli/chunks/{dag-attention-scheduler-S2MXANYL.js → dag-attention-scheduler-PVAFQBDL.js} +2 -2
- package/dist/cli/chunks/{detect-DU2FTRKR.js → detect-FUKMZ37Y.js} +2 -2
- package/dist/cli/chunks/{domain-handler-KPNO36LF.js → domain-handler-SP3QB5VN.js} +2 -2
- package/dist/cli/chunks/{domain-transfer-6X3ZZF6A.js → domain-transfer-A2WL6HEJ.js} +2 -2
- package/dist/cli/chunks/dream-CJ4MKM5G.js +2 -0
- package/dist/cli/chunks/esm-node-X7U3YS4M.js +2 -0
- package/dist/cli/chunks/{eval-6RXEDTBZ.js → eval-6MIZUXEO.js} +2 -2
- package/dist/cli/chunks/{fast-paths-FYODFGZB.js → fast-paths-XT542LOU.js} +2 -2
- package/dist/cli/chunks/{feature-flags-YOULURDA.js → feature-flags-NWACCWCB.js} +2 -2
- package/dist/cli/chunks/{feature-flags-ZJ42B4IL.js → feature-flags-WBF5B6WE.js} +2 -2
- package/dist/cli/chunks/{file-discovery-KOL7FSBQ.js → file-discovery-GKCJFWTD.js} +2 -2
- package/dist/cli/chunks/{fleet-22I74LGD.js → fleet-V2MKGNMG.js} +3 -3
- package/dist/cli/chunks/{gnn-wrapper-DFHTHLIZ.js → gnn-wrapper-HUUMTTSV.js} +2 -2
- package/dist/cli/chunks/{heartbeat-handler-SQ6VYEAA.js → heartbeat-handler-UY3TCEN7.js} +4 -4
- package/dist/cli/chunks/{heartbeat-scheduler-W6PQJ5SG.js → heartbeat-scheduler-YWXPSCH2.js} +2 -2
- package/dist/cli/chunks/hnsw-adapter-LJGOH772.js +2 -0
- package/dist/cli/chunks/hnsw-index-V6SST2MB.js +2 -0
- package/dist/cli/chunks/{hnsw-legacy-bridge-AYTRT54U.js → hnsw-legacy-bridge-IYYYSRK5.js} +2 -2
- package/dist/cli/chunks/{hnswlib-node-4IA56UH4.js → hnswlib-node-WDWAE74R.js} +2 -2
- package/dist/cli/chunks/{hooks-T6UMR72X.js → hooks-DTBJK6LL.js} +6 -6
- package/dist/cli/chunks/{hypergraph-engine-WVPYKMFY.js → hypergraph-engine-K47IBQNO.js} +2 -2
- package/dist/cli/chunks/{hypergraph-handler-NB6GL4CR.js → hypergraph-handler-2NDPG2N4.js} +3 -3
- package/dist/cli/chunks/impact-analyzer-MTOVFD3O.js +2 -0
- package/dist/cli/chunks/{init-handler-UOFNBXEP.js → init-handler-VRZS6KO2.js} +6 -6
- package/dist/cli/chunks/init-wizard-IH6PSRJY.js +2 -0
- package/dist/cli/chunks/kernel-3MC7WV5G.js +2 -0
- package/dist/cli/chunks/{kilocode-installer-VWMNI4QX.js → kilocode-installer-XZAHWQEA.js} +2 -2
- package/dist/cli/chunks/{kiro-installer-RNM47FV5.js → kiro-installer-53C7DXEF.js} +2 -2
- package/dist/cli/chunks/knowledge-graph-HLUQJ2GI.js +2 -0
- package/dist/cli/chunks/{learning-L4RB5XYP.js → learning-XYW2EEVX.js} +3 -3
- package/dist/cli/chunks/{llm-router-BZYZL3YI.js → llm-router-64SKMJ7B.js} +2 -2
- package/dist/cli/chunks/{load-4UGEGRMO.js → load-HVL4O7EY.js} +2 -2
- package/dist/cli/chunks/load-test-VVVME7GZ.js +2 -0
- package/dist/cli/chunks/{mcp-FWWZIWCI.js → mcp-4H2NJ3EO.js} +2 -2
- package/dist/cli/chunks/{memory-5OXPMXU6.js → memory-2CD4BAJK.js} +5 -5
- package/dist/cli/chunks/memory-backend-O3U2QDU3.js +2 -0
- package/dist/cli/chunks/{memory-handlers-JS7BTWJK.js → memory-handlers-XRYZBE5I.js} +2 -2
- package/dist/cli/chunks/{opencode-installer-BS5TQKHB.js → opencode-installer-I23QAZC6.js} +2 -2
- package/dist/cli/chunks/{orchestrator-G6BUZ6QE.js → orchestrator-7BL6R54P.js} +5 -5
- package/dist/cli/chunks/{pipeline-3MZ5COPR.js → pipeline-7UN7LP6B.js} +2 -2
- package/dist/cli/chunks/{platform-TKD4JCUG.js → platform-P44YUHPK.js} +2 -2
- package/dist/cli/chunks/{plugin-XXJ7R6SY.js → plugin-YWYR7FKS.js} +2 -2
- package/dist/cli/chunks/{prime-radiant-advanced-wasm-JLJ6NKIP.js → prime-radiant-advanced-wasm-A7CDGUK6.js} +2 -2
- package/dist/cli/chunks/protocol-executor-HLNTSRYC.js +2 -0
- package/dist/cli/chunks/{protocol-handler-ZLYGQPHG.js → protocol-handler-BM7RLC4Z.js} +2 -2
- package/dist/cli/chunks/{prove-E2WZ335X.js → prove-UVBYODRV.js} +2 -2
- package/dist/cli/chunks/qe-reasoning-bank-JK5CK4D4.js +2 -0
- package/dist/cli/chunks/{quality-6MHHBINU.js → quality-4L42LN5Q.js} +2 -2
- package/dist/cli/chunks/queen-coordinator-FLF6XYLX.js +2 -0
- package/dist/cli/chunks/{real-embeddings-QN5BY3WS.js → real-embeddings-4CYZTWHT.js} +2 -2
- package/dist/cli/chunks/{roocode-installer-GTVII272.js → roocode-installer-UOSJS7KT.js} +2 -2
- package/dist/cli/chunks/router-DUFZW3WQ.js +2 -0
- package/dist/cli/chunks/routing-feedback-6U76TI6X.js +2 -0
- package/dist/cli/chunks/{routing-handler-HYKZ3ISS.js → routing-handler-43G4D5UP.js} +2 -2
- package/dist/cli/chunks/{ruvector-commands-LBWHPUTZ.js → ruvector-commands-H7A7LG6Q.js} +2 -2
- package/dist/cli/chunks/{rvf-dual-writer-TVCJ2Y6N.js → rvf-dual-writer-USU2IWO7.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-adapter-34ITXLU3.js → rvf-migration-adapter-DZMYVJJY.js} +2 -2
- package/dist/cli/chunks/{rvf-migration-coordinator-SX2C7777.js → rvf-migration-coordinator-AZ5JDT33.js} +2 -2
- package/dist/cli/chunks/rvf-native-adapter-4UD7SUMB.js +2 -0
- package/dist/cli/chunks/safe-db-32Q5RXHR.js +2 -0
- package/dist/cli/chunks/schedule-ZHCM3L6H.js +2 -0
- package/dist/cli/chunks/scheduler-HBSSLDOD.js +2 -0
- package/dist/cli/chunks/{security-7A4EW77M.js → security-RXG4H3UK.js} +3 -3
- package/dist/cli/chunks/shared-rvf-adapter-PLZVKKW7.js +2 -0
- package/dist/cli/chunks/{shared-rvf-dual-writer-27L4R5WK.js → shared-rvf-dual-writer-2PUFIGX5.js} +2 -2
- package/dist/cli/chunks/sqlite-persistence-YUZMB44Y.js +2 -0
- package/dist/cli/chunks/{status-handler-JN6PRYLD.js → status-handler-SXQKG6VP.js} +2 -2
- package/dist/cli/chunks/{structural-health-JSY3DY7H.js → structural-health-LPXOOMG3.js} +2 -2
- package/dist/cli/chunks/{sync-ET3LYW2V.js → sync-5NX7GQQY.js} +2 -2
- package/dist/cli/chunks/{task-handler-R24MR74L.js → task-handler-Y4KVNCOI.js} +2 -2
- package/dist/cli/chunks/{task-handlers-YNPEEPPZ.js → task-handlers-CG27Z3CP.js} +2 -2
- package/dist/cli/chunks/{test-7BZXFZCT.js → test-PWVTWOWS.js} +4 -4
- package/dist/cli/chunks/{test-scheduling-EVIFD5EY.js → test-scheduling-5S5EBVE7.js} +3 -3
- package/dist/cli/chunks/{token-bootstrap-QYYQRXM5.js → token-bootstrap-QMPUKGQC.js} +2 -2
- package/dist/cli/chunks/{token-usage-H4OZA77I.js → token-usage-OZNRTJLE.js} +2 -2
- package/dist/cli/chunks/{transformers-ILQFO5HZ.js → transformers-DRPOBWCW.js} +2 -2
- package/dist/cli/chunks/{tree-sitter-wasm-parser-KTST5NWH.js → tree-sitter-wasm-parser-VLX6HQW2.js} +2 -2
- package/dist/cli/chunks/{types-4Z7XELU6.js → types-TUF6HUPE.js} +2 -2
- package/dist/cli/chunks/unified-memory-3D4VDY4G.js +2 -0
- package/dist/cli/chunks/unified-memory-hnsw-AAQ5IA6M.js +2 -0
- package/dist/cli/chunks/unified-persistence-PY7MVJTL.js +2 -0
- package/dist/cli/chunks/{validate-GSQCH6VN.js → validate-H7QFV2CI.js} +2 -2
- package/dist/cli/chunks/{validate-swarm-SP2RPOYD.js → validate-swarm-BGH6YM4S.js} +2 -2
- package/dist/cli/chunks/{vibium-2SGOFYTF.js → vibium-DQOGR2PH.js} +2 -2
- package/dist/cli/chunks/visual-security-ZBNB7LEG.js +2 -0
- package/dist/cli/chunks/{web-tree-sitter-QSQ27UTH.js → web-tree-sitter-TOI4XJIL.js} +2 -2
- package/dist/cli/chunks/{windsurf-installer-NIEH46E2.js → windsurf-installer-EUMBFA42.js} +2 -2
- package/dist/cli/chunks/witness-chain-CS76OJFL.js +2 -0
- package/dist/cli/chunks/{witness-chain-62GJTCT5.js → witness-chain-MWPUR4Q2.js} +2 -2
- package/dist/cli/chunks/{workflow-WZMV2MGW.js → workflow-V5HI3AQR.js} +4 -4
- package/dist/cli/chunks/workflow-orchestrator-FS4HGYI7.js +2 -0
- package/dist/cli/chunks/{wrappers-LNTV533I.js → wrappers-VOU4IVAQ.js} +2 -2
- package/dist/integrations/ruvector/feature-flags.js +1 -1
- package/dist/mcp/bundle.js +2 -2
- package/package.json +1 -1
- package/dist/cli/chunks/adapter-5ODIX6ZG.js +0 -2
- package/dist/cli/chunks/aqe-learning-engine-PWGRS6KK.js +0 -2
- package/dist/cli/chunks/base-TJGIYR7L.js +0 -2
- package/dist/cli/chunks/browser-workflow-GUR7RLFP.js +0 -2
- package/dist/cli/chunks/chunk-MDFXPCBO.js +0 -2
- package/dist/cli/chunks/client-IFMC3AYQ.js +0 -2
- package/dist/cli/chunks/cross-domain-router-2LPBUUWY.js +0 -2
- package/dist/cli/chunks/dream-NGRDMOTE.js +0 -2
- package/dist/cli/chunks/esm-node-3COTOSO3.js +0 -2
- package/dist/cli/chunks/hnsw-adapter-BASJNTEV.js +0 -2
- package/dist/cli/chunks/hnsw-index-NFN2AUIX.js +0 -2
- package/dist/cli/chunks/impact-analyzer-ZMQXHQDV.js +0 -2
- package/dist/cli/chunks/init-wizard-QHAA4GWF.js +0 -2
- package/dist/cli/chunks/kernel-SNJFYN3T.js +0 -2
- package/dist/cli/chunks/knowledge-graph-EP5UTODP.js +0 -2
- package/dist/cli/chunks/load-test-KMMRHABK.js +0 -2
- package/dist/cli/chunks/memory-backend-Q5MWPMDE.js +0 -2
- package/dist/cli/chunks/protocol-executor-ORFR4WJ3.js +0 -2
- package/dist/cli/chunks/qe-reasoning-bank-PLTOH4SG.js +0 -2
- package/dist/cli/chunks/queen-coordinator-L3TRAX7H.js +0 -2
- package/dist/cli/chunks/router-3PBJJLRQ.js +0 -2
- package/dist/cli/chunks/routing-feedback-Q775MZ3Z.js +0 -2
- package/dist/cli/chunks/rvf-native-adapter-HLY2652E.js +0 -2
- package/dist/cli/chunks/safe-db-CCKCBZ5I.js +0 -2
- package/dist/cli/chunks/schedule-WZ5VV55N.js +0 -2
- package/dist/cli/chunks/scheduler-6PIKLCH7.js +0 -2
- package/dist/cli/chunks/shared-rvf-adapter-VCJNSACZ.js +0 -2
- package/dist/cli/chunks/sqlite-persistence-HMXYD56G.js +0 -2
- package/dist/cli/chunks/unified-memory-RBHCTAWW.js +0 -2
- package/dist/cli/chunks/unified-memory-hnsw-UBF5PT6D.js +0 -2
- package/dist/cli/chunks/unified-persistence-ZIJDP6GW.js +0 -2
- package/dist/cli/chunks/visual-security-WKIWOUTH.js +0 -2
- package/dist/cli/chunks/witness-chain-4BRX3GGH.js +0 -2
- package/dist/cli/chunks/workflow-orchestrator-G6VU7QZ4.js +0 -2
|
@@ -1,5 +1,5 @@
|
|
|
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.9.
|
|
2
|
-
import{a as m,c as y}from"./chunk-
|
|
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.9.5");process.exit(0)}
|
|
2
|
+
import{a as m,c as y}from"./chunk-3DGO7NJK.js";import{c as g,d as h}from"./chunk-QHMDETCU.js";import"./chunk-GHFXURNS.js";import t from"chalk";var p=class{name="status";description="Show system status";cleanupAndExit;ensureInitialized;constructor(o,n){this.cleanupAndExit=o,this.ensureInitialized=n}register(o,n){o.command("status").description(this.description).option("-v, --verbose","Show detailed status").option("-F, --format <format>","Output format (text|json)","text").option("-o, --output <path>","Write output to file").action(async a=>{await this.executeStatus(a,n)})}async executeStatus(o,n){if(await this.ensureInitialized())try{let a=n.queen.getHealth(),e=n.queen.getMetrics();if((o.format||"text")==="json"){let s={};if(o.verbose)for(let[i,l]of a.domainHealth)s[i]={status:l.status,agents:l.agents,errors:l.errors.length};g(h({status:a.status,uptime:e.uptime,workStealing:a.workStealingActive,agents:{total:a.totalAgents,active:a.activeAgents,utilization:e.agentUtilization},tasks:{received:e.tasksReceived,completed:e.tasksCompleted,failed:e.tasksFailed,pending:a.pendingTasks,running:a.runningTasks,stolen:e.tasksStolen},coordination:{protocols:e.protocolsExecuted,workflows:e.workflowsExecuted},...o.verbose?{domains:s}:{},issues:a.issues}),o.output),await this.cleanupAndExit(0);return}if(console.log(t.blue(`
|
|
3
3
|
AQE v3 Status
|
|
4
4
|
`)),console.log(` Status: ${m(a.status)}`),console.log(` Uptime: ${t.cyan(y(e.uptime))}`),console.log(` Work Stealing: ${a.workStealingActive?t.green("active"):t.gray("inactive")}`),console.log(t.blue(`
|
|
5
5
|
Agents:`)),console.log(` Total: ${t.cyan(a.totalAgents)}`),console.log(` Active: ${t.yellow(a.activeAgents)}`),console.log(` Utilization: ${t.cyan((e.agentUtilization*100).toFixed(1))}%`),console.log(t.blue(`
|
|
@@ -1,2 +1,2 @@
|
|
|
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.9.
|
|
2
|
-
import{a as l}from"./chunk-
|
|
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.9.5");process.exit(0)}
|
|
2
|
+
import{a as l}from"./chunk-CQT3IEEX.js";import"./chunk-TRRJP27A.js";import"./chunk-ZWS7J73Q.js";import"./chunk-2XJRSIM5.js";import"./chunk-GHFXURNS.js";var s={healthyThreshold:.4,warningThreshold:.2,maxHistoryEntries:100,enableLogging:!1},n=class{config;minCutService;history=[];constructor(t){this.config={...s,...t},this.minCutService=l()}computeFleetHealth(t){if(t.length===0)return this.emptyFleetResult();let r=this.minCutService.buildTaskGraphFromTopology(t);return this.computeFleetHealthFromGraph(r,t.length)}computeFleetHealthFromGraph(t,r){if(t.nodes.length===0)return this.emptyFleetResult();let e=this.minCutService.getStructuralHealth(t),o=this.determineStatus(e.normalizedLambda),a={lambda:e.lambda,healthy:e.healthy,weakPoints:e.weakPoints,normalizedLambda:e.normalizedLambda,riskScore:e.riskScore,status:o,suggestions:e.suggestions,measuredAt:new Date};return this.addHistoryEntry({lambda:e.lambda,healthy:e.healthy,weakPointCount:e.weakPoints.length,agentCount:r??t.nodes.length,timestamp:a.measuredAt}),this.config.enableLogging&&this.logHealth(a),a}getTrend(){if(this.history.length<2)return"stable";let t=Math.min(5,this.history.length),r=this.history.slice(-t),e=r[0].lambda,a=r[r.length-1].lambda-e;return Math.abs(a)<.05?"stable":a>0?"improving":"degrading"}getHistory(t){let r=[...this.history];return t!==void 0&&t<r.length?r.slice(-t):r}clearHistory(){this.history.length=0}getMinCutService(){return this.minCutService}determineStatus(t){return t>=this.config.healthyThreshold?"healthy":t>=this.config.warningThreshold?"warning":"critical"}addHistoryEntry(t){this.history.push(t),this.history.length>this.config.maxHistoryEntries&&this.history.splice(0,this.history.length-this.config.maxHistoryEntries)}emptyFleetResult(){return{lambda:0,healthy:!1,weakPoints:[],normalizedLambda:0,riskScore:1,status:"empty",suggestions:["No agents in fleet. Spawn agents to build a topology."],measuredAt:new Date}}logHealth(t){console.error(`[StructuralHealth] Status: ${t.status} | Lambda: ${t.normalizedLambda.toFixed(3)} | Weak points: ${t.weakPoints.length} | Risk: ${(t.riskScore*100).toFixed(0)}%`)}};function d(i){return new n(i)}export{s as DEFAULT_STRUCTURAL_HEALTH_CONFIG,n as StructuralHealthMonitor,d as createStructuralHealthMonitor};
|
|
@@ -1,5 +1,5 @@
|
|
|
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.9.
|
|
2
|
-
import{a as fe}from"./chunk-GX7MEHQ2.js";import"./chunk-XYVMKCSI.js";import{b as R,c as w,d as x,f as ne,o as pe}from"./chunk-G6RTCJFY.js";import"./chunk-7ZXNJT4Q.js";import{a as P}from"./chunk-MDFXPCBO.js";import{c as h}from"./chunk-RPYUKEAH.js";import{a as Te,b as F,d as te}from"./chunk-4GJAYXB7.js";import{a as l,b as q,c as v}from"./chunk-F6AU2MAZ.js";import{f as z}from"./chunk-G72E5DL3.js";import{a as $,b as j}from"./chunk-RN3SN4ZC.js";import"./chunk-XB5HXTL4.js";import"./chunk-ZQSEPDIJ.js";import"./chunk-P3EOWBME.js";import"./chunk-KELYPHMV.js";import{d as Re}from"./chunk-Q2ZYUIS2.js";import"./chunk-OZC42UMD.js";import"./chunk-RE6XD6RI.js";import"./chunk-MN2MYLVW.js";import{f as Ce}from"./chunk-C2HGOUEB.js";import{Command as Le}from"commander";import a from"chalk";import O from"ora";var A={cloud:{project:process.env.GCP_PROJECT||"",zone:process.env.GCP_ZONE||"",instance:process.env.GCP_INSTANCE||"",database:process.env.GCP_DATABASE||"",user:process.env.GCP_USER||"",tunnelPort:parseInt(process.env.GCP_TUNNEL_PORT||"15432",10)},environment:process.env.AQE_ENV||"all",batchSize:1e3,sources:[{name:"qe-patterns",cloudTable:"aqe.qe_patterns",localTable:"qe_patterns",enabled:!0,priority:"high",mode:"incremental",dropColumns:["source_env","embedding","sync_version"],transforms:{reusable:"boolean-to-int"}},{name:"sona-patterns",cloudTable:"aqe.sona_patterns",localTable:"sona_patterns",enabled:!0,priority:"high",mode:"incremental",dropColumns:["source_env","sync_version"],transforms:{is_active:"boolean-to-int",requires_fine_tuning:"boolean-to-int"}},{name:"goap-actions",cloudTable:"aqe.goap_actions",localTable:"goap_actions",enabled:!0,priority:"high",mode:"incremental",dropColumns:["source_env","sync_version"],columnMap:{duration_estimate:"estimated_duration_ms"}},{name:"goap-plans",cloudTable:"aqe.goap_plans",localTable:"goap_plans",enabled:!0,priority:"medium",mode:"incremental",dropColumns:["source_env","sync_version"],columnMap:{estimated_duration:"estimated_duration_ms"}},{name:"memory-entries",cloudTable:"aqe.memory_entries",localTable:"kv_store",enabled:!0,priority:"high",mode:"incremental",dropColumns:["source_env","sync_version"],columnMap:{partition:"namespace"}},{name:"learning-experiences",cloudTable:"aqe.learning_experiences",localTable:"captured_experiences",enabled:!0,priority:"high",mode:"append",dropColumns:["id","source_env","sync_version"],columnMap:{agent_id:"agent",task_id:"task",task_type:"domain",state:"result_json",action:"steps_json",reward:"quality",next_state:"routing_json",episode_id:"tags",created_at:"started_at"}},{name:"qlearning-patterns",cloudTable:"aqe.qlearning_patterns",localTable:"rl_q_values",enabled:!0,priority:"medium",mode:"incremental",dropColumns:["source_env","sync_version"],columnMap:{state:"state_key",action:"action_key",last_update:"updated_at"}},{name:"routing-outcomes",cloudTable:"aqe.routing_outcomes",localTable:"routing_outcomes",enabled:!0,priority:"medium",mode:"append",dropColumns:["source_env","sync_version"]},{name:"qe-trajectories",cloudTable:"aqe.qe_trajectories",localTable:"qe_trajectories",enabled:!0,priority:"medium",mode:"append",dropColumns:["source_env","sync_version","embedding"]},{name:"dream-insights",cloudTable:"aqe.dream_insights",localTable:"dream_insights",enabled:!0,priority:"low",mode:"append",dropColumns:["source_env","sync_version"]},{name:"claude-flow-memory",cloudTable:"aqe.claude_flow_memory",localTable:"kv_store",enabled:!0,priority:"low",mode:"incremental",dropColumns:["source_env","sync_version"],columnMap:{partition:"namespace"}}]};var m={local:{v3MemoryDb:"./.agentic-qe/memory.db",rootMemoryDb:"./.agentic-qe/memory.db",claudeFlowMemory:"./.claude-flow/memory/store.json",claudeFlowDaemon:"./.claude-flow/daemon-state.json",claudeFlowMetrics:"./.claude-flow/metrics/",intelligenceJson:"./.ruvector/intelligence.json",swarmMemoryDb:"./.swarm/memory.db",v2PatternsDb:""},cloud:{project:process.env.GCP_PROJECT||"",zone:process.env.GCP_ZONE||"",instance:process.env.GCP_INSTANCE||"",database:process.env.GCP_DATABASE||"",user:process.env.GCP_USER||"",tunnelPort:parseInt(process.env.GCP_TUNNEL_PORT||"15432",10)},sync:{mode:"incremental",interval:"1h",batchSize:1e3,conflictResolution:"newer-wins",sourcePriority:{qePatterns:1,sonaPatterns:2,goapActions:3,kvStore:4,experiences:5,claudeFlowMemory:6,intelligenceJson:7},sources:[{name:"root-qe-patterns",type:"sqlite",path:"./.agentic-qe/memory.db",targetTable:"aqe.qe_patterns",priority:"high",mode:"incremental",query:"SELECT id, pattern_type, qe_domain, domain, name, description, confidence, usage_count, success_rate, quality_score, tier, template_json, context_json, successful_uses, created_at, updated_at, last_used_at, tokens_used, input_tokens, output_tokens, latency_ms, reusable, reuse_count, average_token_savings, total_tokens_saved FROM qe_patterns",enabled:!0},{name:"root-sona-patterns",type:"sqlite",path:"./.agentic-qe/memory.db",targetTable:"aqe.sona_patterns",priority:"high",mode:"incremental",query:"SELECT * FROM sona_patterns",enabled:!0},{name:"root-goap-actions",type:"sqlite",path:"./.agentic-qe/memory.db",targetTable:"aqe.goap_actions",priority:"high",mode:"incremental",query:"SELECT * FROM goap_actions",enabled:!0},{name:"root-kv-store",type:"sqlite",path:"./.agentic-qe/memory.db",targetTable:"aqe.memory_entries",priority:"high",mode:"incremental",query:"SELECT key, namespace as partition, CASE WHEN json_valid(value) THEN value ELSE json_quote(value) END as value, created_at, expires_at FROM kv_store WHERE json_valid(value) OR json_valid(json_quote(value))",enabled:!0},{name:"root-captured-experiences",type:"sqlite",path:"./.agentic-qe/memory.db",targetTable:"aqe.learning_experiences",priority:"high",mode:"append",query:"SELECT agent as agent_id, task as task_id, domain as task_type, COALESCE(result_json, '{}') as state, COALESCE(steps_json, '{}') as action, quality as reward, COALESCE(routing_json, '{}') as next_state, tags as episode_id, started_at as created_at FROM captured_experiences",enabled:!0},{name:"root-goap-plans",type:"sqlite",path:"./.agentic-qe/memory.db",targetTable:"aqe.goap_plans",priority:"medium",mode:"incremental",query:"SELECT id, goal_id, action_sequence as sequence, initial_state, goal_state, action_sequence, total_cost, estimated_duration_ms as estimated_duration, status, created_at, completed_at FROM goap_plans",enabled:!0},{name:"root-rl-q-values",type:"sqlite",path:"./.agentic-qe/memory.db",targetTable:"aqe.qlearning_patterns",priority:"medium",mode:"incremental",query:"SELECT DISTINCT state_key as state, action_key as action, q_value, visits, updated_at as last_update, created_at FROM rl_q_values GROUP BY state_key, action_key",enabled:!0},{name:"root-routing-outcomes",type:"sqlite",path:"./.agentic-qe/memory.db",targetTable:"aqe.routing_outcomes",priority:"medium",mode:"append",query:"SELECT * FROM routing_outcomes",enabled:!0},{name:"root-qe-trajectories",type:"sqlite",path:"./.agentic-qe/memory.db",targetTable:"aqe.qe_trajectories",priority:"medium",mode:"append",query:"SELECT * FROM qe_trajectories",enabled:!0},{name:"root-dream-insights",type:"sqlite",path:"./.agentic-qe/memory.db",targetTable:"aqe.dream_insights",priority:"low",mode:"append",query:"SELECT * FROM dream_insights",enabled:!0},{name:"claude-flow-memory",type:"json",path:"./.claude-flow/memory/store.json",targetTable:"aqe.claude_flow_memory",priority:"medium",mode:"full",enabled:!0},{name:"intelligence-qlearning",type:"json",path:"./.ruvector/intelligence.json",targetTable:"aqe.qlearning_patterns",priority:"low",mode:"full",jsonPath:"$.qvalues",enabled:!0}]},environment:process.env.AQE_ENV||"devpod"};j();x();te();v();P();import*as re from"fs";import*as he from"path";var W=h.create("sqlite-reader"),U=class{name;type="sqlite";db=null;config;dbPath;constructor(e){this.config=e,this.name=e.source.name,this.dbPath=he.resolve(e.baseDir,e.source.path)}async initialize(){if(!this.db){if(!re.existsSync(this.dbPath))throw new Error(`SQLite database not found: ${this.dbPath}`);try{this.db=$(this.dbPath,{readonly:!0}),this.db.pragma("journal_mode = WAL"),this.db.pragma("synchronous = NORMAL"),console.log(`[SQLiteReader:${this.name}] Initialized: ${this.dbPath}`)}catch(e){throw new Error(`Failed to open SQLite database ${this.dbPath}: ${l(e)}`)}}}async readAll(){if(!this.db)throw new Error("Reader not initialized");let e=this.config.source.query||`SELECT * FROM ${R(this.getTableName())}`;try{return this.tableExists(this.getTableName())?this.db.prepare(e).all().map(r=>this.transformRecord(r)):(console.warn(`[SQLiteReader:${this.name}] Table not found, returning empty`),[])}catch(t){throw new Error(`Failed to read from ${this.name}: ${l(t)}`)}}async readChanged(e){if(!this.db)throw new Error("Reader not initialized");let t=this.findTimestampColumn();if(!t)return console.warn(`[SQLiteReader:${this.name}] No timestamp column found, falling back to readAll`),this.readAll();let n=this.getTableName();if(!this.tableExists(n))return[];let r=e.toISOString(),o=`SELECT * FROM ${R(n)} WHERE ${t} > ?`;try{return this.db.prepare(o).all(r).map(d=>this.transformRecord(d))}catch{return console.warn(`[SQLiteReader:${this.name}] Changed query failed, falling back to readAll`),this.readAll()}}async count(){if(!this.db)throw new Error("Reader not initialized");let e=this.getTableName();if(!this.tableExists(e))return 0;try{return this.db.prepare(`SELECT COUNT(*) as count FROM ${R(e)}`).get().count}catch(t){return W.debug("Record count query failed",{table:e,error:l(t)}),0}}async close(){this.db&&(this.db.close(),this.db=null,console.log(`[SQLiteReader:${this.name}] Closed`))}getTableName(){let e=this.config.source.query;if(e){let r=e.match(/FROM\s+(\w+)/i);if(r)return r[1]}let n=this.config.source.targetTable.split(".");return n[n.length-1]}tableExists(e){if(!this.db)return!1;try{return!!this.db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name=?").get(e)}catch(t){return W.debug("Table existence check failed",{table:e,error:t instanceof Error?t.message:String(t)}),!1}}findTimestampColumn(){if(!this.db)return null;let e=this.getTableName(),t=["updated_at","created_at","timestamp","last_used_at","modified_at"];try{let o=this.db.prepare(`PRAGMA table_info(${R(e)})`).all().map(s=>s.name.toLowerCase());for(let s of t)if(o.includes(s))return s}catch(n){return W.debug("Timestamp column detection failed",{table:e,error:n instanceof Error?n.message:String(n)}),null}return null}transformRecord(e){let t={...e,source_env:this.config.environment};for(let[n,r]of Object.entries(t)){if(typeof r=="string"&&this.looksLikeJson(r))try{t[n]=F(r)}catch(o){W.debug("JSON parse failed for record field",{key:n,error:o instanceof Error?o.message:String(o)})}if(n.endsWith("_at")&&typeof r=="number"&&(t[n]=new Date(r).toISOString()),r instanceof Buffer)if(n.includes("embedding")){let o=e.dimension||384;t[n]=Array.from(new Float32Array(r.buffer,r.byteOffset,o))}else t[n]=r.toString("base64")}return t}looksLikeJson(e){if(!e)return!1;let t=e.trim();return t.startsWith("{")&&t.endsWith("}")||t.startsWith("[")&&t.endsWith("]")}getInfo(){let e=re.existsSync(this.dbPath),t=[];if(e&&this.db)try{t=this.db.prepare("SELECT name FROM sqlite_master WHERE type='table' ORDER BY name").all().map(r=>r.name)}catch(n){console.debug("[SQLiteReader] Table listing error:",n instanceof Error?n.message:n)}return{path:this.dbPath,exists:e,tables:t}}};function oe(i){return new U(i)}var be=Ce(Te(),1);v();import{randomUUID as ve}from"crypto";import*as T from"fs";import*as ye from"path";var B=class{name;type="json";config;filePath;data=null;fileModTime=null;constructor(e){this.config=e,this.name=e.source.name,this.filePath=ye.resolve(e.baseDir,e.source.path)}async initialize(){if(!T.existsSync(this.filePath)){console.warn(`[JSONReader:${this.name}] File not found: ${this.filePath}`),this.data=[];return}let e=T.statSync(this.filePath);this.fileModTime=e.mtime,console.log(`[JSONReader:${this.name}] Initialized: ${this.filePath}`)}async readAll(){if(!T.existsSync(this.filePath))return[];try{let e=T.readFileSync(this.filePath,"utf-8"),t=be.default.parse(e);return this.extractRecords(t).map(r=>this.transformRecord(r))}catch(e){return console.error(`[JSONReader:${this.name}] Failed to read: ${l(e)}`),[]}}async readChanged(e){return T.existsSync(this.filePath)?T.statSync(this.filePath).mtime<=e?[]:this.readAll():[]}async count(){return(await this.readAll()).length}async close(){this.data=null,this.fileModTime=null,console.log(`[JSONReader:${this.name}] Closed`)}extractRecords(e){return this.config.source.jsonPath?this.extractByPath(e,this.config.source.jsonPath):this.name.includes("claude-flow-memory")?this.extractClaudeFlowMemory(e):this.name.includes("intelligence")||this.name.includes("qlearning")?this.extractIntelligence(e):this.name.includes("daemon")?this.extractDaemonState(e):Array.isArray(e)?e:typeof e=="object"&&e!==null?Object.entries(e).map(([n,r])=>({key:n,value:r})):[]}extractByPath(e,t){let n=t.replace(/^\$\./,"").split("."),r=e;for(let o of n)if(r&&typeof r=="object"&&o in r)r=r[o];else return[];return Array.isArray(r)?r:typeof r=="object"&&r!==null?Object.entries(r).map(([o,s])=>({state:o,...typeof s=="object"?s:{value:s}})):[]}extractClaudeFlowMemory(e){if(!e||typeof e!="object")return[];let t=[],n=e;for(let[r,o]of Object.entries(n)){if(r.startsWith("_"))continue;let s="general";r.includes("adr")?s="adr-analysis":r.includes("agent")?s="agent-patterns":r.includes("pattern")?s="patterns":r.includes("metric")&&(s="metrics"),t.push({key:r,value:typeof o=="object"?o:{data:o},category:s})}return t}extractIntelligence(e){if(!e||typeof e!="object")return[];let t=[],n=e;if(n.qvalues&&typeof n.qvalues=="object"){let r=n.qvalues;for(let[o,s]of Object.entries(r))if(typeof s=="object"&&s!==null)for(let[c,d]of Object.entries(s)){let u=typeof d=="object"?d:{value:d};t.push({state:o,action:c,q_value:u.value||u.q_value||0,visits:u.visits||0,last_update:u.lastUpdate||u.last_update})}}if(n.memories&&Array.isArray(n.memories)){for(let r of n.memories)if(typeof r=="object"&&r!==null){let o=r;t.push({id:o.id||`mem_${Date.now()}_${ve().slice(0,12)}`,memory_type:o.type||"file_access",content:o.content||o.path,embedding:o.embedding,metadata:o.metadata,timestamp:o.timestamp})}}return t}extractDaemonState(e){if(!e||typeof e!="object")return[];let t=[],n=e;if(n.workers&&typeof n.workers=="object"){let r=n.workers;for(let[o,s]of Object.entries(r))if(typeof s=="object"&&s!==null){let c=s;t.push({worker_type:o,run_count:c.runCount||c.runs||0,success_count:c.successCount||c.successes||0,failure_count:c.failureCount||c.failures||0,avg_duration_ms:c.avgDuration||c.averageDurationMs,last_run:c.lastRun})}}return t}transformRecord(e){let t={...e,source_env:this.config.environment};for(let[n,r]of Object.entries(t))(n.includes("timestamp")||n.endsWith("_at")||n==="last_update")&&(typeof r=="number"?t[n]=new Date(r).toISOString():typeof r=="string"&&!isNaN(Date.parse(r))&&(t[n]=new Date(r).toISOString())),typeof r=="object"&&r!==null&&!Array.isArray(r)&&["value","metadata","embedding"].includes(n);return t.created_at||(t.created_at=new Date().toISOString()),t}getInfo(){let e=T.existsSync(this.filePath),t=0,n=null;if(e){let r=T.statSync(this.filePath);t=r.size,n=r.mtime}return{path:this.filePath,exists:e,modTime:n,size:t}}};function se(i){return new B(i)}P();import{spawn as Pe}from"child_process";import{createConnection as _e}from"net";var $e=h.create("tunnel-manager");function Se(i){try{let e=new URL(i);return e.password&&(e.password="***"),e.toString()}catch(e){return $e.debug("URL parse failed during redaction, using regex fallback",{error:e instanceof Error?e.message:String(e)}),i.replace(/:\/\/([^:]+):([^@]+)@/,"://$1:***@")}}var J=class{process=null;connection=null;config;constructor(e){this.config=e}checkPort(e,t,n=2e3){return new Promise(r=>{let o=_e({host:e,port:t}),s=setTimeout(()=>{o.destroy(),r(!1)},n);o.on("connect",()=>{clearTimeout(s),o.destroy(),r(!0)}),o.on("error",()=>{clearTimeout(s),o.destroy(),r(!1)})})}async start(){return this.process&&this.connection?(console.log("[TunnelManager] Tunnel already running"),this.connection):await this.checkPort("localhost",this.config.tunnelPort)?(console.log(`[TunnelManager] External tunnel detected on port ${this.config.tunnelPort}, reusing`),this.connection={host:"localhost",port:this.config.tunnelPort,startedAt:new Date},this.connection):new Promise((t,n)=>{let r=["compute","start-iap-tunnel",this.config.instance,"5432",`--local-host-port=localhost:${this.config.tunnelPort}`,`--zone=${this.config.zone}`,`--project=${this.config.project}`];console.log(`[TunnelManager] Starting IAP tunnel: gcloud ${r.join(" ")}`),this.process=Pe("gcloud",r,{stdio:["ignore","pipe","pipe"]});let o=!1,s="",c=!1;this.process.stderr?.on("data",d=>{let u=d.toString();console.log(`[TunnelManager] ${u.trim()}`),["Listening on port","tunnel is running","Testing if tunnel connection works"].some(y=>u.includes(y))&&!o&&!c&&(c=!0,setTimeout(async()=>{for(let p=0;p<10;p++){if(console.log(`[TunnelManager] Checking port connectivity (attempt ${p+1}/10)...`),await this.checkPort("localhost",this.config.tunnelPort)){o=!0,this.connection={host:"localhost",port:this.config.tunnelPort,pid:this.process?.pid,startedAt:new Date},console.log(`[TunnelManager] Tunnel ready on port ${this.config.tunnelPort}`),t(this.connection);return}await new Promise(S=>setTimeout(S,1e3))}c=!1},2e3)),s+=u}),this.process.stdout?.on("data",d=>{let u=d.toString();console.log(`[TunnelManager] ${u.trim()}`)}),this.process.on("error",d=>{console.error(`[TunnelManager] Process error: ${d.message}`),o||n(new Error(`Failed to start tunnel: ${d.message}`))}),this.process.on("close",d=>{console.log(`[TunnelManager] Process closed with code ${d}`),this.process=null,this.connection=null,o||n(new Error(`Tunnel process exited with code ${d}: ${s}`))}),setTimeout(()=>{o||(this.stop(),n(new Error("Tunnel connection timeout")))},6e4)})}async stop(){this.process&&(console.log("[TunnelManager] Stopping tunnel"),this.process.kill("SIGTERM"),await new Promise(e=>setTimeout(e,1e3)),this.process&&this.process.kill("SIGKILL"),this.process=null,this.connection=null)}isActive(){return this.process!==null&&this.connection!==null}getConnection(){return this.connection}getConnectionString(){if(!this.connection)throw new Error("Tunnel not active");let{database:e,user:t}=this.config,n=process.env.PGPASSWORD||"",r=this.connection.host,o=this.connection.port;return`postgresql://${t}:${n}@${r}:${o}/${e}`}getRedactedConnectionString(){return Se(this.getConnectionString())}};var Q=class{connection=null;connectionString;constructor(e){this.connectionString=e}async start(){let e=new URL(this.connectionString);return this.connection={host:e.hostname,port:parseInt(e.port||"5432",10),startedAt:new Date},this.connection}async stop(){this.connection=null}isActive(){return this.connection!==null}getConnection(){return this.connection}getConnectionString(){return this.connectionString}getRedactedConnectionString(){return Se(this.connectionString)}};function k(i){return i.connectionString?new Q(i.connectionString):new J(i)}x();v();P();import{createRequire as xe}from"module";var M=h.create("postgres-writer"),Ae=xe(import.meta.url),G=class{client=null;config;inTransaction=!1;connected=!1;constructor(e){this.config=e}async connect(){if(this.connected)return;this.config.tunnelManager.isActive()||await this.config.tunnelManager.start();let e=this.config.tunnelManager.getConnection();if(!e)throw new Error("No tunnel connection available");let t;try{t=Ae("pg")}catch(s){M.debug("pg module not installed, using mock mode",{error:s instanceof Error?s.message:String(s)}),console.warn("[PostgresWriter] pg module not installed, running in mock mode"),this.client=this.createMockClient(),this.connected=!0;return}let n=t.default,r=t.Client||n?.Client;if(!r){console.warn("[PostgresWriter] pg.Client not found in module, running in mock mode"),this.client=this.createMockClient(),this.connected=!0;return}let o={host:e.host,port:e.port,database:this.config.cloud.database,user:this.config.cloud.user,password:process.env.PGPASSWORD||"",connectionTimeoutMillis:this.config.connectionTimeout||1e4};this.client=new r(o),await this.client.connect(),this.connected=!0,console.log(`[PostgresWriter] Connected to ${e.host}:${e.port}/${this.config.cloud.database}`)}async beginTransaction(){if(!this.client)throw new Error("Not connected");await this.client.query("BEGIN"),this.inTransaction=!0}async commit(){if(!this.client||!this.inTransaction)throw new Error("No active transaction");await this.client.query("COMMIT"),this.inTransaction=!1}async rollback(){!this.client||!this.inTransaction||(await this.client.query("ROLLBACK"),this.inTransaction=!1)}async upsert(e,t,n){if(!this.client)throw new Error("Not connected");if(t.length===0)return 0;let r=t[0],o=Object.keys(r),s=n?.conflictColumns||this.inferConflictColumns(e,o),c=n?.updateColumns||o.filter(g=>!s.includes(g)),d=0,u=100;for(let g=0;g<t.length;g+=u){let E=t.slice(g,g+u);try{let y=await this.upsertBatch(e,E,o,s,c,n?.skipIfExists);d+=y}catch(y){let p=Math.floor(g/u)+1,b=Math.ceil(t.length/u);M.debug(`Batch ${p}/${b} failed for ${e}, retrying individually`,{error:l(y)});let S=0;for(let f of E)try{let C=await this.upsertBatch(e,[f],o,s,c,n?.skipIfExists);S+=C}catch(C){let L=f.id||f.key||"?";M.debug(`Skipped record ${String(L).slice(0,50)} in ${e}`,{error:l(C)})}d+=S,S<E.length&&console.warn(`[PostgresWriter] Batch ${p}/${b} for ${e}: ${S}/${E.length} recovered (${E.length-S} skipped)`)}}return d}async upsertBatch(e,t,n,r,o,s){if(!this.client)return 0;let c=[],d=[],u=1;for(let f of t){let C=[];for(let L of n){let Ee=f[L];C.push(`$${u++}`),d.push(this.serializeValue(Ee,L))}c.push(`(${C.join(", ")})`)}let g=w(e),E=n.map(w),y=r.map(w),p=o.map(w),b="";if(y.length>0){if(s)b=`ON CONFLICT (${y.join(", ")}) DO NOTHING`;else if(p.length>0){let f=p.map(C=>`${C} = EXCLUDED.${C}`).join(", ");b=`ON CONFLICT (${y.join(", ")}) DO UPDATE SET ${f}`}}let S=`
|
|
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.9.5");process.exit(0)}
|
|
2
|
+
import{a as fe}from"./chunk-IHXDXFUX.js";import"./chunk-GFZRXQWH.js";import{b as R,c as w,d as x,f as ne,o as pe}from"./chunk-HT5EZYPZ.js";import"./chunk-I4HGIQC2.js";import{a as P}from"./chunk-Z2GK7COI.js";import{c as h}from"./chunk-OQCEI7Q4.js";import{a as Te,b as F,d as te}from"./chunk-CNGRXBKO.js";import{a as l,b as q,c as v}from"./chunk-MYIDAWGQ.js";import{f as z}from"./chunk-TRO45ZLC.js";import{a as $,b as j}from"./chunk-YDBMYTOV.js";import"./chunk-ALX5RJSR.js";import"./chunk-WIZOYPFT.js";import"./chunk-TSA5MUTQ.js";import"./chunk-4QGNSNQL.js";import{d as Re}from"./chunk-UPFCV7MX.js";import"./chunk-PMFZHFCB.js";import"./chunk-3QH67ZYC.js";import"./chunk-2XJRSIM5.js";import{f as Ce}from"./chunk-GHFXURNS.js";import{Command as Le}from"commander";import a from"chalk";import O from"ora";var A={cloud:{project:process.env.GCP_PROJECT||"",zone:process.env.GCP_ZONE||"",instance:process.env.GCP_INSTANCE||"",database:process.env.GCP_DATABASE||"",user:process.env.GCP_USER||"",tunnelPort:parseInt(process.env.GCP_TUNNEL_PORT||"15432",10)},environment:process.env.AQE_ENV||"all",batchSize:1e3,sources:[{name:"qe-patterns",cloudTable:"aqe.qe_patterns",localTable:"qe_patterns",enabled:!0,priority:"high",mode:"incremental",dropColumns:["source_env","embedding","sync_version"],transforms:{reusable:"boolean-to-int"}},{name:"sona-patterns",cloudTable:"aqe.sona_patterns",localTable:"sona_patterns",enabled:!0,priority:"high",mode:"incremental",dropColumns:["source_env","sync_version"],transforms:{is_active:"boolean-to-int",requires_fine_tuning:"boolean-to-int"}},{name:"goap-actions",cloudTable:"aqe.goap_actions",localTable:"goap_actions",enabled:!0,priority:"high",mode:"incremental",dropColumns:["source_env","sync_version"],columnMap:{duration_estimate:"estimated_duration_ms"}},{name:"goap-plans",cloudTable:"aqe.goap_plans",localTable:"goap_plans",enabled:!0,priority:"medium",mode:"incremental",dropColumns:["source_env","sync_version"],columnMap:{estimated_duration:"estimated_duration_ms"}},{name:"memory-entries",cloudTable:"aqe.memory_entries",localTable:"kv_store",enabled:!0,priority:"high",mode:"incremental",dropColumns:["source_env","sync_version"],columnMap:{partition:"namespace"}},{name:"learning-experiences",cloudTable:"aqe.learning_experiences",localTable:"captured_experiences",enabled:!0,priority:"high",mode:"append",dropColumns:["id","source_env","sync_version"],columnMap:{agent_id:"agent",task_id:"task",task_type:"domain",state:"result_json",action:"steps_json",reward:"quality",next_state:"routing_json",episode_id:"tags",created_at:"started_at"}},{name:"qlearning-patterns",cloudTable:"aqe.qlearning_patterns",localTable:"rl_q_values",enabled:!0,priority:"medium",mode:"incremental",dropColumns:["source_env","sync_version"],columnMap:{state:"state_key",action:"action_key",last_update:"updated_at"}},{name:"routing-outcomes",cloudTable:"aqe.routing_outcomes",localTable:"routing_outcomes",enabled:!0,priority:"medium",mode:"append",dropColumns:["source_env","sync_version"]},{name:"qe-trajectories",cloudTable:"aqe.qe_trajectories",localTable:"qe_trajectories",enabled:!0,priority:"medium",mode:"append",dropColumns:["source_env","sync_version","embedding"]},{name:"dream-insights",cloudTable:"aqe.dream_insights",localTable:"dream_insights",enabled:!0,priority:"low",mode:"append",dropColumns:["source_env","sync_version"]},{name:"claude-flow-memory",cloudTable:"aqe.claude_flow_memory",localTable:"kv_store",enabled:!0,priority:"low",mode:"incremental",dropColumns:["source_env","sync_version"],columnMap:{partition:"namespace"}}]};var m={local:{v3MemoryDb:"./.agentic-qe/memory.db",rootMemoryDb:"./.agentic-qe/memory.db",claudeFlowMemory:"./.claude-flow/memory/store.json",claudeFlowDaemon:"./.claude-flow/daemon-state.json",claudeFlowMetrics:"./.claude-flow/metrics/",intelligenceJson:"./.ruvector/intelligence.json",swarmMemoryDb:"./.swarm/memory.db",v2PatternsDb:""},cloud:{project:process.env.GCP_PROJECT||"",zone:process.env.GCP_ZONE||"",instance:process.env.GCP_INSTANCE||"",database:process.env.GCP_DATABASE||"",user:process.env.GCP_USER||"",tunnelPort:parseInt(process.env.GCP_TUNNEL_PORT||"15432",10)},sync:{mode:"incremental",interval:"1h",batchSize:1e3,conflictResolution:"newer-wins",sourcePriority:{qePatterns:1,sonaPatterns:2,goapActions:3,kvStore:4,experiences:5,claudeFlowMemory:6,intelligenceJson:7},sources:[{name:"root-qe-patterns",type:"sqlite",path:"./.agentic-qe/memory.db",targetTable:"aqe.qe_patterns",priority:"high",mode:"incremental",query:"SELECT id, pattern_type, qe_domain, domain, name, description, confidence, usage_count, success_rate, quality_score, tier, template_json, context_json, successful_uses, created_at, updated_at, last_used_at, tokens_used, input_tokens, output_tokens, latency_ms, reusable, reuse_count, average_token_savings, total_tokens_saved FROM qe_patterns",enabled:!0},{name:"root-sona-patterns",type:"sqlite",path:"./.agentic-qe/memory.db",targetTable:"aqe.sona_patterns",priority:"high",mode:"incremental",query:"SELECT * FROM sona_patterns",enabled:!0},{name:"root-goap-actions",type:"sqlite",path:"./.agentic-qe/memory.db",targetTable:"aqe.goap_actions",priority:"high",mode:"incremental",query:"SELECT * FROM goap_actions",enabled:!0},{name:"root-kv-store",type:"sqlite",path:"./.agentic-qe/memory.db",targetTable:"aqe.memory_entries",priority:"high",mode:"incremental",query:"SELECT key, namespace as partition, CASE WHEN json_valid(value) THEN value ELSE json_quote(value) END as value, created_at, expires_at FROM kv_store WHERE json_valid(value) OR json_valid(json_quote(value))",enabled:!0},{name:"root-captured-experiences",type:"sqlite",path:"./.agentic-qe/memory.db",targetTable:"aqe.learning_experiences",priority:"high",mode:"append",query:"SELECT agent as agent_id, task as task_id, domain as task_type, COALESCE(result_json, '{}') as state, COALESCE(steps_json, '{}') as action, quality as reward, COALESCE(routing_json, '{}') as next_state, tags as episode_id, started_at as created_at FROM captured_experiences",enabled:!0},{name:"root-goap-plans",type:"sqlite",path:"./.agentic-qe/memory.db",targetTable:"aqe.goap_plans",priority:"medium",mode:"incremental",query:"SELECT id, goal_id, action_sequence as sequence, initial_state, goal_state, action_sequence, total_cost, estimated_duration_ms as estimated_duration, status, created_at, completed_at FROM goap_plans",enabled:!0},{name:"root-rl-q-values",type:"sqlite",path:"./.agentic-qe/memory.db",targetTable:"aqe.qlearning_patterns",priority:"medium",mode:"incremental",query:"SELECT DISTINCT state_key as state, action_key as action, q_value, visits, updated_at as last_update, created_at FROM rl_q_values GROUP BY state_key, action_key",enabled:!0},{name:"root-routing-outcomes",type:"sqlite",path:"./.agentic-qe/memory.db",targetTable:"aqe.routing_outcomes",priority:"medium",mode:"append",query:"SELECT * FROM routing_outcomes",enabled:!0},{name:"root-qe-trajectories",type:"sqlite",path:"./.agentic-qe/memory.db",targetTable:"aqe.qe_trajectories",priority:"medium",mode:"append",query:"SELECT * FROM qe_trajectories",enabled:!0},{name:"root-dream-insights",type:"sqlite",path:"./.agentic-qe/memory.db",targetTable:"aqe.dream_insights",priority:"low",mode:"append",query:"SELECT * FROM dream_insights",enabled:!0},{name:"claude-flow-memory",type:"json",path:"./.claude-flow/memory/store.json",targetTable:"aqe.claude_flow_memory",priority:"medium",mode:"full",enabled:!0},{name:"intelligence-qlearning",type:"json",path:"./.ruvector/intelligence.json",targetTable:"aqe.qlearning_patterns",priority:"low",mode:"full",jsonPath:"$.qvalues",enabled:!0}]},environment:process.env.AQE_ENV||"devpod"};j();x();te();v();P();import*as re from"fs";import*as he from"path";var W=h.create("sqlite-reader"),U=class{name;type="sqlite";db=null;config;dbPath;constructor(e){this.config=e,this.name=e.source.name,this.dbPath=he.resolve(e.baseDir,e.source.path)}async initialize(){if(!this.db){if(!re.existsSync(this.dbPath))throw new Error(`SQLite database not found: ${this.dbPath}`);try{this.db=$(this.dbPath,{readonly:!0}),this.db.pragma("journal_mode = WAL"),this.db.pragma("synchronous = NORMAL"),console.log(`[SQLiteReader:${this.name}] Initialized: ${this.dbPath}`)}catch(e){throw new Error(`Failed to open SQLite database ${this.dbPath}: ${l(e)}`)}}}async readAll(){if(!this.db)throw new Error("Reader not initialized");let e=this.config.source.query||`SELECT * FROM ${R(this.getTableName())}`;try{return this.tableExists(this.getTableName())?this.db.prepare(e).all().map(r=>this.transformRecord(r)):(console.warn(`[SQLiteReader:${this.name}] Table not found, returning empty`),[])}catch(t){throw new Error(`Failed to read from ${this.name}: ${l(t)}`)}}async readChanged(e){if(!this.db)throw new Error("Reader not initialized");let t=this.findTimestampColumn();if(!t)return console.warn(`[SQLiteReader:${this.name}] No timestamp column found, falling back to readAll`),this.readAll();let n=this.getTableName();if(!this.tableExists(n))return[];let r=e.toISOString(),o=`SELECT * FROM ${R(n)} WHERE ${t} > ?`;try{return this.db.prepare(o).all(r).map(d=>this.transformRecord(d))}catch{return console.warn(`[SQLiteReader:${this.name}] Changed query failed, falling back to readAll`),this.readAll()}}async count(){if(!this.db)throw new Error("Reader not initialized");let e=this.getTableName();if(!this.tableExists(e))return 0;try{return this.db.prepare(`SELECT COUNT(*) as count FROM ${R(e)}`).get().count}catch(t){return W.debug("Record count query failed",{table:e,error:l(t)}),0}}async close(){this.db&&(this.db.close(),this.db=null,console.log(`[SQLiteReader:${this.name}] Closed`))}getTableName(){let e=this.config.source.query;if(e){let r=e.match(/FROM\s+(\w+)/i);if(r)return r[1]}let n=this.config.source.targetTable.split(".");return n[n.length-1]}tableExists(e){if(!this.db)return!1;try{return!!this.db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name=?").get(e)}catch(t){return W.debug("Table existence check failed",{table:e,error:t instanceof Error?t.message:String(t)}),!1}}findTimestampColumn(){if(!this.db)return null;let e=this.getTableName(),t=["updated_at","created_at","timestamp","last_used_at","modified_at"];try{let o=this.db.prepare(`PRAGMA table_info(${R(e)})`).all().map(s=>s.name.toLowerCase());for(let s of t)if(o.includes(s))return s}catch(n){return W.debug("Timestamp column detection failed",{table:e,error:n instanceof Error?n.message:String(n)}),null}return null}transformRecord(e){let t={...e,source_env:this.config.environment};for(let[n,r]of Object.entries(t)){if(typeof r=="string"&&this.looksLikeJson(r))try{t[n]=F(r)}catch(o){W.debug("JSON parse failed for record field",{key:n,error:o instanceof Error?o.message:String(o)})}if(n.endsWith("_at")&&typeof r=="number"&&(t[n]=new Date(r).toISOString()),r instanceof Buffer)if(n.includes("embedding")){let o=e.dimension||384;t[n]=Array.from(new Float32Array(r.buffer,r.byteOffset,o))}else t[n]=r.toString("base64")}return t}looksLikeJson(e){if(!e)return!1;let t=e.trim();return t.startsWith("{")&&t.endsWith("}")||t.startsWith("[")&&t.endsWith("]")}getInfo(){let e=re.existsSync(this.dbPath),t=[];if(e&&this.db)try{t=this.db.prepare("SELECT name FROM sqlite_master WHERE type='table' ORDER BY name").all().map(r=>r.name)}catch(n){console.debug("[SQLiteReader] Table listing error:",n instanceof Error?n.message:n)}return{path:this.dbPath,exists:e,tables:t}}};function oe(i){return new U(i)}var be=Ce(Te(),1);v();import{randomUUID as ve}from"crypto";import*as T from"fs";import*as ye from"path";var B=class{name;type="json";config;filePath;data=null;fileModTime=null;constructor(e){this.config=e,this.name=e.source.name,this.filePath=ye.resolve(e.baseDir,e.source.path)}async initialize(){if(!T.existsSync(this.filePath)){console.warn(`[JSONReader:${this.name}] File not found: ${this.filePath}`),this.data=[];return}let e=T.statSync(this.filePath);this.fileModTime=e.mtime,console.log(`[JSONReader:${this.name}] Initialized: ${this.filePath}`)}async readAll(){if(!T.existsSync(this.filePath))return[];try{let e=T.readFileSync(this.filePath,"utf-8"),t=be.default.parse(e);return this.extractRecords(t).map(r=>this.transformRecord(r))}catch(e){return console.error(`[JSONReader:${this.name}] Failed to read: ${l(e)}`),[]}}async readChanged(e){return T.existsSync(this.filePath)?T.statSync(this.filePath).mtime<=e?[]:this.readAll():[]}async count(){return(await this.readAll()).length}async close(){this.data=null,this.fileModTime=null,console.log(`[JSONReader:${this.name}] Closed`)}extractRecords(e){return this.config.source.jsonPath?this.extractByPath(e,this.config.source.jsonPath):this.name.includes("claude-flow-memory")?this.extractClaudeFlowMemory(e):this.name.includes("intelligence")||this.name.includes("qlearning")?this.extractIntelligence(e):this.name.includes("daemon")?this.extractDaemonState(e):Array.isArray(e)?e:typeof e=="object"&&e!==null?Object.entries(e).map(([n,r])=>({key:n,value:r})):[]}extractByPath(e,t){let n=t.replace(/^\$\./,"").split("."),r=e;for(let o of n)if(r&&typeof r=="object"&&o in r)r=r[o];else return[];return Array.isArray(r)?r:typeof r=="object"&&r!==null?Object.entries(r).map(([o,s])=>({state:o,...typeof s=="object"?s:{value:s}})):[]}extractClaudeFlowMemory(e){if(!e||typeof e!="object")return[];let t=[],n=e;for(let[r,o]of Object.entries(n)){if(r.startsWith("_"))continue;let s="general";r.includes("adr")?s="adr-analysis":r.includes("agent")?s="agent-patterns":r.includes("pattern")?s="patterns":r.includes("metric")&&(s="metrics"),t.push({key:r,value:typeof o=="object"?o:{data:o},category:s})}return t}extractIntelligence(e){if(!e||typeof e!="object")return[];let t=[],n=e;if(n.qvalues&&typeof n.qvalues=="object"){let r=n.qvalues;for(let[o,s]of Object.entries(r))if(typeof s=="object"&&s!==null)for(let[c,d]of Object.entries(s)){let u=typeof d=="object"?d:{value:d};t.push({state:o,action:c,q_value:u.value||u.q_value||0,visits:u.visits||0,last_update:u.lastUpdate||u.last_update})}}if(n.memories&&Array.isArray(n.memories)){for(let r of n.memories)if(typeof r=="object"&&r!==null){let o=r;t.push({id:o.id||`mem_${Date.now()}_${ve().slice(0,12)}`,memory_type:o.type||"file_access",content:o.content||o.path,embedding:o.embedding,metadata:o.metadata,timestamp:o.timestamp})}}return t}extractDaemonState(e){if(!e||typeof e!="object")return[];let t=[],n=e;if(n.workers&&typeof n.workers=="object"){let r=n.workers;for(let[o,s]of Object.entries(r))if(typeof s=="object"&&s!==null){let c=s;t.push({worker_type:o,run_count:c.runCount||c.runs||0,success_count:c.successCount||c.successes||0,failure_count:c.failureCount||c.failures||0,avg_duration_ms:c.avgDuration||c.averageDurationMs,last_run:c.lastRun})}}return t}transformRecord(e){let t={...e,source_env:this.config.environment};for(let[n,r]of Object.entries(t))(n.includes("timestamp")||n.endsWith("_at")||n==="last_update")&&(typeof r=="number"?t[n]=new Date(r).toISOString():typeof r=="string"&&!isNaN(Date.parse(r))&&(t[n]=new Date(r).toISOString())),typeof r=="object"&&r!==null&&!Array.isArray(r)&&["value","metadata","embedding"].includes(n);return t.created_at||(t.created_at=new Date().toISOString()),t}getInfo(){let e=T.existsSync(this.filePath),t=0,n=null;if(e){let r=T.statSync(this.filePath);t=r.size,n=r.mtime}return{path:this.filePath,exists:e,modTime:n,size:t}}};function se(i){return new B(i)}P();import{spawn as Pe}from"child_process";import{createConnection as _e}from"net";var $e=h.create("tunnel-manager");function Se(i){try{let e=new URL(i);return e.password&&(e.password="***"),e.toString()}catch(e){return $e.debug("URL parse failed during redaction, using regex fallback",{error:e instanceof Error?e.message:String(e)}),i.replace(/:\/\/([^:]+):([^@]+)@/,"://$1:***@")}}var J=class{process=null;connection=null;config;constructor(e){this.config=e}checkPort(e,t,n=2e3){return new Promise(r=>{let o=_e({host:e,port:t}),s=setTimeout(()=>{o.destroy(),r(!1)},n);o.on("connect",()=>{clearTimeout(s),o.destroy(),r(!0)}),o.on("error",()=>{clearTimeout(s),o.destroy(),r(!1)})})}async start(){return this.process&&this.connection?(console.log("[TunnelManager] Tunnel already running"),this.connection):await this.checkPort("localhost",this.config.tunnelPort)?(console.log(`[TunnelManager] External tunnel detected on port ${this.config.tunnelPort}, reusing`),this.connection={host:"localhost",port:this.config.tunnelPort,startedAt:new Date},this.connection):new Promise((t,n)=>{let r=["compute","start-iap-tunnel",this.config.instance,"5432",`--local-host-port=localhost:${this.config.tunnelPort}`,`--zone=${this.config.zone}`,`--project=${this.config.project}`];console.log(`[TunnelManager] Starting IAP tunnel: gcloud ${r.join(" ")}`),this.process=Pe("gcloud",r,{stdio:["ignore","pipe","pipe"]});let o=!1,s="",c=!1;this.process.stderr?.on("data",d=>{let u=d.toString();console.log(`[TunnelManager] ${u.trim()}`),["Listening on port","tunnel is running","Testing if tunnel connection works"].some(y=>u.includes(y))&&!o&&!c&&(c=!0,setTimeout(async()=>{for(let p=0;p<10;p++){if(console.log(`[TunnelManager] Checking port connectivity (attempt ${p+1}/10)...`),await this.checkPort("localhost",this.config.tunnelPort)){o=!0,this.connection={host:"localhost",port:this.config.tunnelPort,pid:this.process?.pid,startedAt:new Date},console.log(`[TunnelManager] Tunnel ready on port ${this.config.tunnelPort}`),t(this.connection);return}await new Promise(S=>setTimeout(S,1e3))}c=!1},2e3)),s+=u}),this.process.stdout?.on("data",d=>{let u=d.toString();console.log(`[TunnelManager] ${u.trim()}`)}),this.process.on("error",d=>{console.error(`[TunnelManager] Process error: ${d.message}`),o||n(new Error(`Failed to start tunnel: ${d.message}`))}),this.process.on("close",d=>{console.log(`[TunnelManager] Process closed with code ${d}`),this.process=null,this.connection=null,o||n(new Error(`Tunnel process exited with code ${d}: ${s}`))}),setTimeout(()=>{o||(this.stop(),n(new Error("Tunnel connection timeout")))},6e4)})}async stop(){this.process&&(console.log("[TunnelManager] Stopping tunnel"),this.process.kill("SIGTERM"),await new Promise(e=>setTimeout(e,1e3)),this.process&&this.process.kill("SIGKILL"),this.process=null,this.connection=null)}isActive(){return this.process!==null&&this.connection!==null}getConnection(){return this.connection}getConnectionString(){if(!this.connection)throw new Error("Tunnel not active");let{database:e,user:t}=this.config,n=process.env.PGPASSWORD||"",r=this.connection.host,o=this.connection.port;return`postgresql://${t}:${n}@${r}:${o}/${e}`}getRedactedConnectionString(){return Se(this.getConnectionString())}};var Q=class{connection=null;connectionString;constructor(e){this.connectionString=e}async start(){let e=new URL(this.connectionString);return this.connection={host:e.hostname,port:parseInt(e.port||"5432",10),startedAt:new Date},this.connection}async stop(){this.connection=null}isActive(){return this.connection!==null}getConnection(){return this.connection}getConnectionString(){return this.connectionString}getRedactedConnectionString(){return Se(this.connectionString)}};function k(i){return i.connectionString?new Q(i.connectionString):new J(i)}x();v();P();import{createRequire as xe}from"module";var M=h.create("postgres-writer"),Ae=xe(import.meta.url),G=class{client=null;config;inTransaction=!1;connected=!1;constructor(e){this.config=e}async connect(){if(this.connected)return;this.config.tunnelManager.isActive()||await this.config.tunnelManager.start();let e=this.config.tunnelManager.getConnection();if(!e)throw new Error("No tunnel connection available");let t;try{t=Ae("pg")}catch(s){M.debug("pg module not installed, using mock mode",{error:s instanceof Error?s.message:String(s)}),console.warn("[PostgresWriter] pg module not installed, running in mock mode"),this.client=this.createMockClient(),this.connected=!0;return}let n=t.default,r=t.Client||n?.Client;if(!r){console.warn("[PostgresWriter] pg.Client not found in module, running in mock mode"),this.client=this.createMockClient(),this.connected=!0;return}let o={host:e.host,port:e.port,database:this.config.cloud.database,user:this.config.cloud.user,password:process.env.PGPASSWORD||"",connectionTimeoutMillis:this.config.connectionTimeout||1e4};this.client=new r(o),await this.client.connect(),this.connected=!0,console.log(`[PostgresWriter] Connected to ${e.host}:${e.port}/${this.config.cloud.database}`)}async beginTransaction(){if(!this.client)throw new Error("Not connected");await this.client.query("BEGIN"),this.inTransaction=!0}async commit(){if(!this.client||!this.inTransaction)throw new Error("No active transaction");await this.client.query("COMMIT"),this.inTransaction=!1}async rollback(){!this.client||!this.inTransaction||(await this.client.query("ROLLBACK"),this.inTransaction=!1)}async upsert(e,t,n){if(!this.client)throw new Error("Not connected");if(t.length===0)return 0;let r=t[0],o=Object.keys(r),s=n?.conflictColumns||this.inferConflictColumns(e,o),c=n?.updateColumns||o.filter(g=>!s.includes(g)),d=0,u=100;for(let g=0;g<t.length;g+=u){let E=t.slice(g,g+u);try{let y=await this.upsertBatch(e,E,o,s,c,n?.skipIfExists);d+=y}catch(y){let p=Math.floor(g/u)+1,b=Math.ceil(t.length/u);M.debug(`Batch ${p}/${b} failed for ${e}, retrying individually`,{error:l(y)});let S=0;for(let f of E)try{let C=await this.upsertBatch(e,[f],o,s,c,n?.skipIfExists);S+=C}catch(C){let L=f.id||f.key||"?";M.debug(`Skipped record ${String(L).slice(0,50)} in ${e}`,{error:l(C)})}d+=S,S<E.length&&console.warn(`[PostgresWriter] Batch ${p}/${b} for ${e}: ${S}/${E.length} recovered (${E.length-S} skipped)`)}}return d}async upsertBatch(e,t,n,r,o,s){if(!this.client)return 0;let c=[],d=[],u=1;for(let f of t){let C=[];for(let L of n){let Ee=f[L];C.push(`$${u++}`),d.push(this.serializeValue(Ee,L))}c.push(`(${C.join(", ")})`)}let g=w(e),E=n.map(w),y=r.map(w),p=o.map(w),b="";if(y.length>0){if(s)b=`ON CONFLICT (${y.join(", ")}) DO NOTHING`;else if(p.length>0){let f=p.map(C=>`${C} = EXCLUDED.${C}`).join(", ");b=`ON CONFLICT (${y.join(", ")}) DO UPDATE SET ${f}`}}let S=`
|
|
3
3
|
INSERT INTO ${g} (${E.join(", ")})
|
|
4
4
|
VALUES ${c.join(", ")}
|
|
5
5
|
${b}
|
|
@@ -1,5 +1,5 @@
|
|
|
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.9.
|
|
2
|
-
import{b as y}from"./chunk-
|
|
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.9.5");process.exit(0)}
|
|
2
|
+
import{b as y}from"./chunk-J4SEGMXL.js";import"./chunk-PVLOT5BL.js";import{a as m,b}from"./chunk-3DGO7NJK.js";import{c as p,d as g}from"./chunk-QHMDETCU.js";import{c as T}from"./chunk-CNGRXBKO.js";import"./chunk-GHFXURNS.js";import a from"chalk";var f=class{name="task";description="Manage QE tasks";cleanupAndExit;ensureInitialized;constructor(o,e){this.cleanupAndExit=o,this.ensureInitialized=e}register(o,e){let s=o.command("task").description(this.description);s.command("submit <type>").description("Submit a task to the Queen Coordinator").option("-p, --priority <priority>","Task priority (p0|p1|p2|p3)","p1").option("-d, --domain <domain>","Target domain").option("-t, --timeout <ms>","Task timeout in ms","300000").option("--payload <json>","Task payload as JSON","{}").option("--wait","Wait for task completion with progress").option("--no-progress","Disable progress indicator").action(async(t,i)=>{await this.executeSubmit(t,i,e)}),s.command("list").description("List all tasks").option("-s, --status <status>","Filter by status").option("-p, --priority <priority>","Filter by priority").option("-d, --domain <domain>","Filter by domain").option("-F, --format <format>","Output format (text|json)","text").option("-o, --output <path>","Write output to file").action(async t=>{await this.executeList(t,e)}),s.command("cancel <taskId>").description("Cancel a task").action(async t=>{await this.executeCancel(t,e)}),s.command("status <taskId>").description("Get task status").option("-F, --format <format>","Output format (text|json)","text").option("-o, --output <path>","Write output to file").action(async(t,i)=>{await this.executeTaskStatus(t,i,e)})}async executeSubmit(o,e,s){if(await this.ensureInitialized())try{let t=o,i=T(e.payload,"payload"),r=e.domain?[e.domain]:[];console.log(a.blue(`
|
|
3
3
|
Submitting task: ${t}
|
|
4
4
|
`));let d=e.progress!==!1?y(`Submitting ${t} task`):null,n=await s.queen.submitTask({type:t,priority:e.priority,targetDomains:r,payload:i,timeout:parseInt(e.timeout,10)});if(d&&(n.success?d.succeed("Task submitted successfully"):d.fail("Failed to submit task")),n.success){if(console.log(a.cyan(` ID: ${n.value}`)),console.log(a.gray(` Type: ${t}`)),console.log(a.gray(` Priority: ${e.priority}`)),e.wait){console.log("");let w=n.value,c=y("Waiting for task completion"),h=parseInt(e.timeout,10),S=Date.now(),l=!1;for(;!l&&Date.now()-S<h;){let u=s.queen.getTaskStatus(w);u&&(u.status==="completed"?(c.succeed("Task completed successfully"),l=!0):u.status==="failed"?(c.fail(`Task failed: ${u.error||"Unknown error"}`),l=!0):c.spinner.text=`Task ${u.status}... (${Math.round((Date.now()-S)/1e3)}s)`),l||await new Promise(A=>setTimeout(A,500))}l||c.fail("Task timed out")}}else console.log(a.red(` Error: ${n.error.message}`));console.log("")}catch(t){console.error(a.red(`
|
|
5
5
|
Failed to submit task:`),t),await this.cleanupAndExit(1)}}async executeList(o,e){if(await this.ensureInitialized())try{let s=e.queen.listTasks({status:o.status,priority:o.priority,domain:o.domain});if((o.format||"text")==="json"){let i=s.map(r=>({taskId:r.taskId,type:r.task.type,status:r.status,priority:r.task.priority,domain:r.assignedDomain||null,startedAt:r.startedAt?.toISOString()||null}));p(g(i),o.output);return}if(console.log(a.blue(`
|
|
@@ -1,2 +1,2 @@
|
|
|
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.9.
|
|
2
|
-
import{a as I,b as T,c as g,d as m}from"./chunk-B6HLXE3D.js";import"./chunk-TT2TB6UF.js";import"./chunk-J72Q6ERO.js";import{a as A}from"./chunk-A6ZBQCYB.js";import"./chunk-GSKZL36U.js";import"./chunk-YS6C2Q4F.js";import"./chunk-JMBUIVVE.js";import"./chunk-3MN7E6HY.js";import"./chunk-RTC3ZCPK.js";import"./chunk-NS4CCCTZ.js";import"./chunk-NEYZXYFH.js";import"./chunk-J6KBI5NW.js";import"./chunk-MGRE767N.js";import"./chunk-DHJJJ24V.js";import"./chunk-72EC26AS.js";import"./chunk-2MQMXI7C.js";import"./chunk-QOU4R6AF.js";import"./chunk-NZ5LY2BT.js";import"./chunk-IQE6GOH6.js";import"./chunk-VFXTZWNF.js";import"./chunk-7EL65Y27.js";import{b as P}from"./chunk-3SPYUOSS.js";import"./chunk-7FJIIB4H.js";import"./chunk-VSNPI2NO.js";import"./chunk-ONOYANDX.js";import"./chunk-COIRFVFO.js";import"./chunk-V57PXZIK.js";import"./chunk-RUJU5XEQ.js";import"./chunk-ZW5DRPZY.js";import"./chunk-RGRYL4MG.js";import"./chunk-SHJZ3YNX.js";import"./chunk-ENKPW6MA.js";import"./chunk-QEYPK7KS.js";import"./chunk-53M65YFH.js";import"./chunk-5UKAEBKC.js";import"./chunk-B252DDC5.js";import"./chunk-DLMEBVLF.js";import"./chunk-TNWTQWLL.js";import"./chunk-GQ7DCSKS.js";import"./chunk-EHGTXIT7.js";import"./chunk-ZKWNZ3ZK.js";import"./chunk-4TZTGYBQ.js";import"./chunk-EFD2J6GG.js";import"./chunk-C3BXT3ZC.js";import"./chunk-MR5I6UR2.js";import"./chunk-QVZSIFSJ.js";import"./chunk-BH5XPYA3.js";import"./chunk-NRH2QE4X.js";import"./chunk-VBXJBXMG.js";import"./chunk-HKTNFHWI.js";import"./chunk-EZTUUOVI.js";import"./chunk-UJLSCJJS.js";import"./chunk-RRQEIGLS.js";import"./chunk-MS6LTE4L.js";import"./chunk-ZODUKKPC.js";import"./chunk-27P4VTCY.js";import"./chunk-YDJKQKQH.js";import"./chunk-C567IO5M.js";import"./chunk-IGJ472XJ.js";import"./chunk-3MRFR534.js";import"./chunk-LW3DV23G.js";import"./chunk-SKWI5QBM.js";import"./chunk-MUX762XZ.js";import"./chunk-RAZ2PGZD.js";import"./chunk-O6QAOPUA.js";import"./chunk-OHZ6RJLS.js";import"./chunk-JVUNZBKX.js";import"./chunk-Q6FSXNQP.js";import"./chunk-3RHIPCBG.js";import"./chunk-54OLXGXJ.js";import"./chunk-G6RTCJFY.js";import"./chunk-7ZXNJT4Q.js";import"./chunk-WHT46PJM.js";import"./chunk-MDFXPCBO.js";import"./chunk-RPYUKEAH.js";import"./chunk-J222JLZ6.js";import"./chunk-4GJAYXB7.js";import"./chunk-VBYREHZI.js";import{a as o,c as D}from"./chunk-F6AU2MAZ.js";import"./chunk-G72E5DL3.js";import"./chunk-RS7ZGWHV.js";import"./chunk-RN3SN4ZC.js";import"./chunk-XB5HXTL4.js";import"./chunk-ZQSEPDIJ.js";import"./chunk-P3EOWBME.js";import"./chunk-KELYPHMV.js";import"./chunk-Q2ZYUIS2.js";import"./chunk-OZC42UMD.js";import"./chunk-RE6XD6RI.js";import"./chunk-MN2MYLVW.js";import"./chunk-C2HGOUEB.js";var $={enableLearning:!0,enableRouting:!0,enableGuidance:!0,enableTrajectories:!0,enableExperienceReplay:!0,autoStoreExperiences:!0,minQualityThreshold:.6},v=class r{static instance=null;static initPromise=null;config;enhancedAdapter;disposed=!1;patternsLoaded=!1;qualityThresholdsFromPatterns=null;tasksRecorded=0;successfulTasks=0;failedTasks=0;patternsStored=0;routingRequests=0;activeTrajectories=new Map;constructor(e,t){this.config=e,this.enhancedAdapter=t}static async getInstance(e){if(r.instance&&!r.instance.disposed)return r.instance;if(r.initPromise)return r.initPromise;r.initPromise=r.create(e);try{return r.instance=await r.initPromise,r.instance}finally{r.initPromise=null}}static async create(e){let t={...$,...e},s=I({enableTrajectories:t.enableTrajectories,enableExperienceReplay:t.enableExperienceReplay,enablePatternEvolution:!0,autoStoreExperiences:t.autoStoreExperiences,autoConsolidate:!0});await s.initialize();let n=new r(t,s);return await n.loadPatternsFromLoader(),await n.seedInitialPatternsIfNeeded(),console.error("[ReasoningBankService] Initialized with EnhancedReasoningBankAdapter (trajectory + experience + evolution)"),n}async loadPatternsFromLoader(){try{let t=await A().getQualityGateThresholds();if(t){this.qualityThresholdsFromPatterns=t,this.patternsLoaded=!0,console.error("[ReasoningBankService] Loaded quality thresholds from PatternLoader",{tiers:Object.keys(t)});return}console.error("[ReasoningBankService] PatternLoader returned no thresholds, using defaults")}catch(e){console.error("[ReasoningBankService] Failed to load patterns from PatternLoader, using defaults",{error:e instanceof Error?e.message:"Unknown error"})}this.patternsLoaded=!1}async seedInitialPatternsIfNeeded(){try{let e=await this.enhancedAdapter.getStats();if(e.reasoningBank.totalPatterns>0){console.error(`[ReasoningBankService] Found ${e.reasoningBank.totalPatterns} existing patterns, skipping seed`);return}console.error("[ReasoningBankService] Seeding initial QE patterns...");let t=(n,a="string",i=!1)=>({name:n,type:a,required:i,description:`${n} parameter`}),s=[{patternType:"test-template",name:"unit-test-generation",description:"Generate comprehensive unit tests for TypeScript/JavaScript modules",domain:"test-generation",template:{type:"workflow",content:"Analyze module exports, identify edge cases, generate Jest/Vitest tests with proper mocking",variables:[t("modulePath"),t("framework")]},context:{tags:["unit","typescript","jest","vitest"]}},{patternType:"coverage-strategy",name:"coverage-gap-analysis",description:"Identify untested code paths and recommend targeted tests",domain:"coverage-analysis",template:{type:"workflow",content:"Parse coverage report, identify uncovered branches, prioritize by risk, generate recommendations",variables:[t("coveragePath"),t("threshold","number")]},context:{tags:["coverage","analysis","risk"]}},{patternType:"test-template",name:"integration-test-generation",description:"Generate integration tests for API endpoints and service interactions",domain:"test-generation",template:{type:"workflow",content:"Identify API contracts, generate request/response tests, validate error handling",variables:[t("apiPath"),t("framework")]},context:{tags:["integration","api","contract"]}},{patternType:"flaky-fix",name:"flaky-test-remediation",description:"Detect and fix flaky tests through pattern analysis",domain:"test-execution",template:{type:"workflow",content:"Analyze test history, identify timing/race conditions, apply stabilization patterns",variables:[t("testPath"),t("retryCount","number")]},context:{tags:["flaky","stability","retry"]}},{patternType:"error-handling",name:"security-vulnerability-scan",description:"Scan code for security vulnerabilities using OWASP patterns",domain:"security-compliance",template:{type:"workflow",content:"Run SAST analysis, check for injection risks, validate authentication/authorization",variables:[t("targetPath"),t("severity")]},context:{tags:["security","owasp","sast"]}}];for(let n of s)try{await this.enhancedAdapter.storePattern(n),this.patternsStored++}catch(a){console.error(`[ReasoningBankService] Failed to seed pattern ${n.name}:`,a)}console.error(`[ReasoningBankService] Seeded ${s.length} initial patterns`)}catch(e){console.error("[ReasoningBankService] Failed to seed patterns:",e)}}getPatternsLoaded(){return this.patternsLoaded}getQualityThresholdsFromPatterns(){return this.qualityThresholdsFromPatterns}async startTaskTrajectory(e,t,s={}){if(!this.config.enableTrajectories||this.disposed)return e;try{let n=await this.enhancedAdapter.startTaskTrajectory(t,s);return this.activeTrajectories.set(e,n),console.error(`[ReasoningBankService] Started trajectory: task=${e} trajectory=${n}`),n}catch(n){return console.error("[ReasoningBankService] Failed to start trajectory:",n),e}}async recordTrajectoryStep(e,t,s,n){if(!this.config.enableTrajectories||this.disposed)return;let a=this.activeTrajectories.get(e);if(!a){console.error(`[ReasoningBankService] No active trajectory for task ${e}`);return}try{await this.enhancedAdapter.recordTaskStep(a,t,s,n)}catch(i){console.error("[ReasoningBankService] Failed to record trajectory step:",i)}}async endTaskTrajectory(e,t,s){if(!this.config.enableTrajectories||this.disposed)return null;let n=this.activeTrajectories.get(e);if(!n)return console.error(`[ReasoningBankService] No active trajectory for task ${e}`),null;try{let a=await this.enhancedAdapter.endTaskTrajectory(n,t,s);return this.activeTrajectories.delete(e),console.error(`[ReasoningBankService] Ended trajectory: task=${e} success=${t} steps=${a.steps.length} quality=${a.metrics.averageQuality.toFixed(2)}`),a}catch(a){return console.error("[ReasoningBankService] Failed to end trajectory:",a),this.activeTrajectories.delete(e),null}}getActiveTrajectoryId(e){return this.activeTrajectories.get(e)}async recordTaskOutcome(e){if(!(!this.config.enableLearning||this.disposed)){this.tasksRecorded++,e.success?this.successfulTasks++:this.failedTasks++;try{let t={patternId:`task-${e.taskId}`,success:e.success,metrics:{executionTimeMs:e.executionTimeMs,testsPassed:e.metrics?.testsPassed,testsFailed:e.metrics?.testsGenerated?e.metrics.testsGenerated-(e.metrics.testsPassed||0):void 0,coverageImprovement:e.metrics?.coverageImprovement},feedback:e.error};await this.enhancedAdapter.recordPatternOutcome(t),e.success&&(e.qualityScore||.5)>=this.config.minQualityThreshold&&(await this.storeTaskPattern(e),this.patternsStored++),e.agentId&&await this.updateAgentPerformanceFromOutcome(e),console.error(`[ReasoningBankService] Recorded outcome: task=${e.taskId} success=${e.success} quality=${e.qualityScore?.toFixed(2)||"N/A"}`)}catch(t){throw console.error("[ReasoningBankService] Failed to record outcome:",t),t}}}async updateAgentPerformanceFromOutcome(e){if(e.agentId)try{P(e.agentId,{success:e.success,executionTimeMs:e.executionTimeMs,qualityScore:e.qualityScore}),console.error(`[ReasoningBankService] Updated agent performance: agent=${e.agentId} success=${e.success} duration=${e.executionTimeMs}ms`)}catch(t){console.error("[ReasoningBankService] Failed to update agent performance:",t)}}async storeTaskPattern(e){try{let t=[e.taskType,e.domain||"general",e.agentId?`agent:${e.agentId}`:void 0,e.modelTier?`tier:${e.modelTier}`:void 0,e.executionTimeMs?`duration:${e.executionTimeMs}ms`:void 0].filter(s=>s!==void 0);await this.enhancedAdapter.storePattern({patternType:"test-template",name:`${e.taskType}-${e.domain||"general"}`,description:e.task,template:{type:"workflow",content:e.task,variables:[]},context:{tags:t}})}catch(t){console.error("[ReasoningBankService] Failed to store pattern:",t)}}async getRoutingRecommendation(e){if(!this.config.enableRouting||this.disposed)return this.createFallbackRouting(e);this.routingRequests++;try{let t=await this.enhancedAdapter.routeTaskWithExperience(e);if(!t.success)return console.error("[ReasoningBankService] Routing returned error:",t.error),this.createFallbackRouting(e);let s=t.value;return s.experienceGuidance&&console.error(`[ReasoningBankService] Experience guidance: strategy="${s.experienceGuidance.recommendedStrategy}" confidence=${s.experienceGuidance.confidence.toFixed(2)} tokenSavings=${s.experienceGuidance.estimatedTokenSavings}`),console.error(`[ReasoningBankService] Routing: task="${e.task.slice(0,50)}..." -> agent=${s.recommendedAgent} confidence=${s.confidence.toFixed(2)}`),s}catch(t){return console.error("[ReasoningBankService] Routing failed:",t),this.createFallbackRouting(e)}}async getExperienceGuidance(e,t){if(!this.config.enableExperienceReplay||this.disposed)return null;try{return await this.enhancedAdapter.getExperienceGuidance(e,t)}catch(s){return console.error("[ReasoningBankService] Failed to get experience guidance:",s),null}}async getTaskGuidance(e,t){if(!this.config.enableGuidance||this.disposed)return[];try{let s=await this.enhancedAdapter.routeTaskWithExperience({task:e,domain:t});return s.success?s.value.guidance:[]}catch(s){return console.error("[ReasoningBankService] Guidance failed:",s),[]}}async searchPatterns(e,t){if(this.disposed)return[];try{let s=await this.enhancedAdapter.searchPatterns(e,{limit:t?.limit||10,domain:t?.domain});return s.success?s.value.map(n=>n.pattern):(console.error("[ReasoningBankService] Search returned error:",s.error),[])}catch(s){return console.error("[ReasoningBankService] Search failed:",s),[]}}async getStats(){let e=await this.enhancedAdapter.getStats();return{service:{tasksRecorded:this.tasksRecorded,successfulTasks:this.successfulTasks,failedTasks:this.failedTasks,successRate:this.tasksRecorded>0?this.successfulTasks/this.tasksRecorded:0,patternsStored:this.patternsStored,routingRequests:this.routingRequests,patternsLoaded:this.patternsLoaded,activeTrajectories:this.activeTrajectories.size},reasoningBank:e.reasoningBank,adapter:e.adapter}}createFallbackRouting(e){return{recommendedAgent:"qe-test-architect",confidence:.5,alternatives:[],domains:e.domain?[e.domain]:["test-generation"],patterns:[],guidance:[],reasoning:"Fallback routing - ReasoningBank unavailable",latencyMs:0}}isHealthy(){return!this.disposed}async dispose(){this.disposed||(this.disposed=!0,await this.enhancedAdapter.dispose(),this.activeTrajectories.clear(),r.instance=null,console.error("[ReasoningBankService] Disposed"))}static reset(){r.instance&&r.instance.dispose(),r.instance=null,r.initPromise=null}};async function p(r){return v.getInstance(r)}async function B(r,e,t){return(await p()).startTaskTrajectory(r,e,t)}async function b(r,e,t){return(await p()).endTaskTrajectory(r,e,t)}D();var q={"ideation-assessment":"qcsd-ideation-swarm"};async function J(r){if(!m())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{queen:e}=g();try{let t=await e.submitTask({type:r.type,priority:r.priority||"p1",targetDomains:r.targetDomains||[],payload:r.payload||{},timeout:r.timeout||3e5});if(!t.success)return{success:!1,error:t.error.message};let s=e.getTaskStatus(t.value);return{success:!0,data:{taskId:t.value,type:r.type,priority:r.priority||"p1",status:s?.status==="running"?"pending":"queued",assignedDomain:s?.assignedDomain}}}catch(t){return{success:!1,error:`Failed to submit task: ${o(t)}`}}}async function K(r){if(!m())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{queen:e}=g();try{let t=e.listTasks({status:r.status,priority:r.priority,domain:r.domain});return{success:!0,data:(typeof r.limit=="number"?t.slice(0,r.limit):t).map(a=>({taskId:a.taskId,type:a.task.type,status:a.status,priority:a.task.priority,assignedDomain:a.assignedDomain,assignedAgents:a.assignedAgents,result:a.result,error:a.error,createdAt:a.task.createdAt.toISOString(),startedAt:a.startedAt?.toISOString(),completedAt:a.completedAt?.toISOString(),duration:a.completedAt&&a.startedAt?a.completedAt.getTime()-a.startedAt.getTime():void 0}))}}catch(t){return{success:!1,error:`Failed to list tasks: ${o(t)}`}}}async function X(r){if(!m())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{queen:e}=g();try{let t=e.getTaskStatus(r.taskId);return t?{success:!0,data:{taskId:t.taskId,type:t.task.type,status:t.status,priority:t.task.priority,assignedDomain:t.assignedDomain,assignedAgents:t.assignedAgents,result:r.detailed?t.result:void 0,error:t.error,createdAt:t.task.createdAt.toISOString(),startedAt:t.startedAt?.toISOString(),completedAt:t.completedAt?.toISOString(),duration:t.completedAt&&t.startedAt?t.completedAt.getTime()-t.startedAt.getTime():void 0}}:{success:!1,error:`Task not found: ${r.taskId}`}}catch(t){return{success:!1,error:`Failed to get task status: ${o(t)}`}}}async function Y(r){if(!m())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{queen:e}=g();try{let t=await e.cancelTask(r.taskId);return t.success?{success:!0,data:{taskId:r.taskId,cancelled:!0}}:{success:!1,error:t.error.message}}catch(t){return{success:!1,error:`Failed to cancel task: ${o(t)}`}}}async function Z(r){if(!m())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{queen:e,workflowOrchestrator:t}=g();try{let s=r.context?.project||j(r.task),n=r.priority==="critical"||/\b(security|vulnerability|cve|owasp|critical|production|exploit)\b/i.test(r.task),i=await(await T()).routeTask({task:r.task,codeContext:r.codeContext,filePaths:r.filePaths,manualTier:r.manualTier,isCritical:n,agentType:`qe-${s}`,domain:s,metadata:{inferredDomain:s,hasCodeContext:!!r.codeContext,fileCount:r.filePaths?.length}}),c=await(await p()).getExperienceGuidance(r.task,r.context?.project),d=F(r.task),y=O(r.priority||"medium"),u=q[d];if(u&&t){console.log(`[TaskOrchestrate] Task type '${d}' has workflow '${u}' - executing workflow`);let w=r.task.match(/https?:\/\/[^\s]+/i),f=w?w[0]:void 0;f&&console.log(`[TaskOrchestrate] Detected URL for analysis: ${f}`);let C={targetId:r.context?.project||f||`task-${Date.now()}`,targetType:f?"website":"epic",description:r.task,acceptanceCriteria:r.context?.requirements||[],url:f,routing:{tier:i.decision.tier,modelId:i.modelId,executionStrategy:i.executionStrategy,complexity:i.decision.complexityAnalysis.overall}},R=await t.executeWorkflow(u,C);return R.success?{success:!0,data:{taskId:R.value,type:d,priority:y,strategy:r.strategy||"adaptive",status:"workflow-started",message:`Workflow '${u}' started for task: ${r.task}`,routing:{tier:i.decision.tier,tierName:i.tierInfo.name,modelId:i.modelId,executionStrategy:i.executionStrategy,complexity:i.decision.complexityAnalysis.overall,confidence:i.decision.confidence,useAgentBooster:i.useAgentBooster,rationale:i.decision.rationale,decisionTimeMs:i.decision.metadata.decisionTimeMs}}}:{success:!1,error:`Workflow execution failed: ${R.error.message}`}}let l={description:r.task,strategy:r.strategy||"adaptive",maxAgents:r.maxAgents,context:r.context};d==="generate-tests"&&(l.sourceFiles=r.filePaths||[],l.sourceCode=r.codeContext||"",l.language=l.language||"typescript",l.testType=l.testType||"unit");let h=await e.submitTask({type:d,priority:y,targetDomains:[],payload:{...l,routing:{tier:i.decision.tier,modelId:i.modelId,executionStrategy:i.executionStrategy,useAgentBooster:i.useAgentBooster,agentBoosterTransform:i.decision.agentBoosterTransform,complexity:i.decision.complexityAnalysis.overall,confidence:i.decision.confidence},experienceGuidance:c?{strategy:c.recommendedStrategy,actions:c.suggestedActions,confidence:c.confidence,tokenSavings:c.estimatedTokenSavings}:void 0},timeout:6e5});if(!h.success)return{success:!1,error:h.error.message};let x=h.value;return await B(x,r.task,{agent:"queen-coordinator",domain:r.context?.project}),{success:!0,data:{taskId:x,type:d,priority:y,strategy:r.strategy||"adaptive",status:"submitted",message:`Task orchestrated: ${r.task}${c?" (with experience guidance)":""}`,routing:{tier:i.decision.tier,tierName:i.tierInfo.name,modelId:i.modelId,executionStrategy:i.executionStrategy,complexity:i.decision.complexityAnalysis.overall,confidence:i.decision.confidence,useAgentBooster:i.useAgentBooster,rationale:i.decision.rationale,decisionTimeMs:i.decision.metadata.decisionTimeMs}}}}catch(s){return{success:!1,error:`Failed to orchestrate task: ${o(s)}`}}}async function _(r){try{let e=await T(),t=r.domain||j(r.task),s=r.isCritical??/\b(security|vulnerability|cve|owasp|critical|production|exploit)\b/i.test(r.task),n=await e.routeTask({task:r.task,codeContext:r.codeContext,filePaths:r.filePaths,manualTier:r.manualTier,isCritical:s,agentType:r.agentType||`qe-${t}`,domain:t,metadata:{inferredDomain:t,hasCodeContext:!!r.codeContext,fileCount:r.filePaths?.length}});return{success:!0,data:{tier:n.decision.tier,tierName:n.tierInfo.name,modelId:n.modelId,executionStrategy:n.executionStrategy,useAgentBooster:n.useAgentBooster,agentBoosterTransform:n.decision.agentBoosterTransform,complexity:{overall:n.decision.complexityAnalysis.overall,code:n.decision.complexityAnalysis.codeComplexity,reasoning:n.decision.complexityAnalysis.reasoningComplexity,scope:n.decision.complexityAnalysis.scopeComplexity},confidence:n.decision.confidence,rationale:n.decision.rationale,warnings:n.decision.warnings,budget:{allowed:n.decision.budgetDecision.allowed,wasDowngraded:n.decision.budgetDecision.wasDowngraded,estimatedCostUsd:n.decision.budgetDecision.estimatedCostUsd},decisionTimeMs:n.decision.metadata.decisionTimeMs}}}catch(e){return{success:!1,error:`Failed to route task: ${o(e)}`}}}async function ee(r){try{let e=await T(),t=e.getRoutingStats(),s=e.getMetrics(),n={stats:t,modelRouterMetrics:{totalDecisions:s.totalDecisions,avgDecisionTimeMs:s.avgDecisionTimeMs,agentBoosterStats:s.agentBoosterStats,budgetStats:s.budgetStats}};return r.includeLog&&(n.log=e.getRoutingLog(r.logLimit||100)),{success:!0,data:n}}catch(e){return{success:!1,error:`Failed to get routing metrics: ${o(e)}`}}}async function te(r){try{let{createRoutingFeedbackCollector:e}=await import("./routing-feedback-Q775MZ3Z.js"),{getGlobalCostTracker:t}=await import("./cost-tracker-JG3SZ2Q3.js"),s=e(100);await s.initialize(),s.enableEconomicRouting({...r.taskComplexity!=null?{}:{}},t());let n=s.getEconomicReport();return n?{success:!0,data:{tierEfficiency:n.tierEfficiency.map(i=>({...i,qualityPerDollar:isFinite(i.qualityPerDollar)?i.qualityPerDollar:"Infinity"})),currentHourlyCostUsd:n.currentHourlyCostUsd,currentDailyCostUsd:n.currentDailyCostUsd,budgetRemaining:n.budgetRemaining,recommendation:n.recommendation,savingsOpportunity:n.savingsOpportunity}}:{success:!1,error:"Economic routing is not available"}}catch(e){return{success:!1,error:`Failed to get economic routing report: ${o(e)}`}}}function j(r){let e=r.toLowerCase();return/\b(security|vulnerabilit|cve|owasp|secret|credential|injection|xss|csrf)\b/.test(e)?"security-compliance":/\b(chaos|resilience|fault.?inject|disaster|failover)\b/.test(e)?"chaos-resilience":/\b(defect|bug.?predict|risk.?assess|mutation)\b/.test(e)?"defect-intelligence":/\b(coverage|uncovered|gap.?analy)\b/.test(e)?"coverage-analysis":/\b(quality|code.?review|maintain|tech.?debt)\b/.test(e)?"quality-assessment":/\b(contract|api.?compat|breaking.?change|pact)\b/.test(e)?"contract-testing":/\b(index|knowledge.?graph|semantic|code.?intel)\b/.test(e)?"code-intelligence":/\b(accessib|a11y|wcag|screen.?read)\b/.test(e)?"visual-accessibility":/\b(requirement|bdd|acceptance|user.?stor)\b/.test(e)?"requirements-validation":/\b(generat.*test|test.*generat|write.*test|create.*test)\b/.test(e)?"test-generation":/\b(run.*test|execut.*test)\b/.test(e)?"test-execution":"test-generation"}function F(r){let e=r.toLowerCase();return/run\s+(?:\w+\s+)*tests?/.test(e)||/execute\s+(?:\w+\s+)*tests?/.test(e)||e.includes("run tests")||e.includes("execute tests")?"execute-tests":e.includes("generate test")||e.includes("create test")||e.includes("write test")?"generate-tests":e.includes("coverage")||e.includes("uncovered")?"analyze-coverage":e.includes("quality")||e.includes("code quality")?"assess-quality":e.includes("defect")||e.includes("bug")||e.includes("predict")?"predict-defects":e.includes("requirement")||e.includes("bdd")||e.includes("acceptance")?"validate-requirements":e.includes("index")||e.includes("knowledge graph")||e.includes("semantic")?"index-code":e.includes("security")||e.includes("vulnerability")||e.includes("owasp")?"scan-security":e.includes("contract")||e.includes("api contract")||e.includes("pact")?"validate-contracts":e.includes("accessibility")||e.includes("a11y")||e.includes("wcag")?"test-accessibility":e.includes("chaos")||e.includes("resilience")||e.includes("fault")?"run-chaos":e.includes("learn")||e.includes("optimize")||e.includes("improve")?"optimize-learning":e.includes("ideation")||e.includes("quality criteria")||e.includes("htsm")||e.includes("qcsd")||e.includes("testability")||e.includes("pi planning")||e.includes("sprint planning")?"ideation-assessment":"generate-tests"}function O(r){switch(r){case"critical":return"p0";case"high":return"p1";case"medium":return"p2";case"low":return"p3";default:return"p1"}}async function re(r){try{let e=await p(),t={taskId:r.taskId,task:r.task,taskType:r.taskType,success:r.success,executionTimeMs:r.executionTimeMs,agentId:r.agentId,domain:r.domain,modelTier:r.modelTier,qualityScore:r.qualityScore,error:r.error,metrics:r.metrics};await e.recordTaskOutcome(t);let s=r.success&&(r.qualityScore||.5)>=.6;return{success:!0,data:{recorded:!0,patternStored:s,message:s?`Outcome recorded and pattern stored for task ${r.taskId}`:`Outcome recorded for task ${r.taskId}`}}}catch(e){return{success:!1,error:`Failed to record task outcome: ${o(e)}`}}}async function se(){try{let e=await(await p()).getStats();return{success:!0,data:{service:e.service,patterns:{totalPatterns:e.reasoningBank.totalPatterns,byDomain:e.reasoningBank.byDomain,byTier:e.reasoningBank.byTier,learningOutcomes:e.reasoningBank.learningOutcomes,patternSuccessRate:e.reasoningBank.patternSuccessRate},embeddings:{cacheSize:e.reasoningBank.embeddingCacheSize,dimension:e.reasoningBank.embeddingDimension,transformerAvailable:e.reasoningBank.transformerAvailable},performance:{avgRoutingLatencyMs:e.reasoningBank.avgRoutingLatencyMs,p95RoutingLatencyMs:e.reasoningBank.p95RoutingLatencyMs}}}}catch(r){return{success:!1,error:`Failed to get ReasoningBank stats: ${o(r)}`}}}var E=new Set;async function ne(r){if(!m())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{queen:e}=g();try{let t=e.getTaskStatus(r.taskId);if(!t)return{success:!1,error:`Task not found: ${r.taskId}`};let s={taskId:t.taskId,type:t.task.type,status:t.status,priority:t.task.priority,assignedDomain:t.assignedDomain,assignedAgents:t.assignedAgents,result:r.detailed?t.result:void 0,error:t.error,createdAt:t.task.createdAt.toISOString(),startedAt:t.startedAt?.toISOString(),completedAt:t.completedAt?.toISOString(),duration:t.completedAt&&t.startedAt?t.completedAt.getTime()-t.startedAt.getTime():void 0};if((t.status==="completed"||t.status==="failed")&&!E.has(r.taskId)){E.add(r.taskId);try{let n=await p(),a=s.duration||0,i=t.status==="completed",k=t.task.payload||{},c=typeof k.description=="string"?k.description:t.task.type,d=k.routing,y=await b(r.taskId,i,t.error),u=y?.metrics.averageQuality??(i?.7:.3);await n.recordTaskOutcome({taskId:r.taskId,task:c,taskType:t.task.type,success:i,executionTimeMs:a,agentId:t.assignedAgents?.[0],domain:t.assignedDomain,modelTier:d?.tier,qualityScore:u,error:t.error,metrics:{testsGenerated:typeof t.result=="object"&&t.result?t.result.testsGenerated:void 0,testsPassed:typeof t.result=="object"&&t.result?t.result.testsPassed:void 0}}),console.error(`[TaskHandler] Recorded learning outcome: task=${r.taskId} success=${i} quality=${u.toFixed(2)} trajectorySteps=${y?.steps.length??0}`)}catch(n){console.error("[TaskHandler] Failed to record outcome:",n)}}return{success:!0,data:s}}catch(t){return{success:!1,error:`Failed to get task status: ${o(t)}`}}}var S=[];function ie(r){M(r);let e=r.subscribeToEventType("TaskCompleted",async s=>{let{taskId:n}=s.payload;n&&await b(n,!0).catch(()=>{})}),t=r.subscribeToEventType("TaskFailed",async s=>{let{taskId:n,error:a}=s.payload;n&&await b(n,!1,a).catch(()=>{})});S=[e,t]}function M(r){for(let e of S)r.unsubscribe(e);S=[]}export{_ as handleModelRoute,se as handleReasoningBankStats,te as handleRoutingEconomics,ee as handleRoutingMetrics,Y as handleTaskCancel,K as handleTaskList,Z as handleTaskOrchestrate,re as handleTaskOutcomeRecord,X as handleTaskStatus,ne as handleTaskStatusWithLearning,J as handleTaskSubmit,ie as subscribeTrajectoryEvents,M as unsubscribeTrajectoryEvents};
|
|
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.9.5");process.exit(0)}
|
|
2
|
+
import{a as I,b as T,c as g,d as m}from"./chunk-QPW2O5TR.js";import"./chunk-OTOQXMP6.js";import"./chunk-JYJXVTUP.js";import{a as A}from"./chunk-GSTDQLXR.js";import"./chunk-ITIYGUIL.js";import"./chunk-PTAUZ3XL.js";import"./chunk-JUBICWL2.js";import"./chunk-CQT3IEEX.js";import"./chunk-YHSIUFFY.js";import"./chunk-BM7VSJTE.js";import"./chunk-S4F3CNSP.js";import"./chunk-5NBYV7FL.js";import"./chunk-YGZBS4RW.js";import"./chunk-CGYTM7AB.js";import"./chunk-35DP6LX6.js";import"./chunk-X6J7VYVD.js";import"./chunk-ERV3OVUG.js";import"./chunk-673PL3DG.js";import"./chunk-MBXSHGDD.js";import"./chunk-EPH2GZQM.js";import"./chunk-NGP3DRFU.js";import{b as P}from"./chunk-KCQ2GFRN.js";import"./chunk-YHKJYBWK.js";import"./chunk-REXMKRR2.js";import"./chunk-TRPCOY3C.js";import"./chunk-TRRJP27A.js";import"./chunk-TUMXWCB7.js";import"./chunk-E55RROAP.js";import"./chunk-YQTPEQO6.js";import"./chunk-6AMXWB6Y.js";import"./chunk-6QKGLIIY.js";import"./chunk-FDFJHGRZ.js";import"./chunk-DPEX4UOC.js";import"./chunk-G7XBTBM7.js";import"./chunk-55EAFHVH.js";import"./chunk-XG2JAIQT.js";import"./chunk-ZP237D7K.js";import"./chunk-4EOSDCDM.js";import"./chunk-KQ7VBUO4.js";import"./chunk-ZWS7J73Q.js";import"./chunk-BNYHBEDE.js";import"./chunk-T4KMG3GJ.js";import"./chunk-BQUN2NB4.js";import"./chunk-KUDPFLL4.js";import"./chunk-UO2R7ZN3.js";import"./chunk-OPOTKH42.js";import"./chunk-IMCYFQWF.js";import"./chunk-N66G743A.js";import"./chunk-NDWWN2YC.js";import"./chunk-3VNEMHOO.js";import"./chunk-3KYKE7B6.js";import"./chunk-4FPCCKNQ.js";import"./chunk-3UE5GART.js";import"./chunk-53J3R7PZ.js";import"./chunk-6QR7GSNJ.js";import"./chunk-WV7K5A7J.js";import"./chunk-YZ3WB4TN.js";import"./chunk-6VB4VZCR.js";import"./chunk-BYD54ZUF.js";import"./chunk-ZFCRDCHW.js";import"./chunk-PGFHFPDP.js";import"./chunk-7JQOOPA2.js";import"./chunk-Y6XYH7EV.js";import"./chunk-ZD2FS4Q7.js";import"./chunk-ZJWDWM6B.js";import"./chunk-WTGUS7DD.js";import"./chunk-73LG5ELL.js";import"./chunk-HA4COQ66.js";import"./chunk-LPVQ6QCW.js";import"./chunk-KWIDDPKG.js";import"./chunk-HT5EZYPZ.js";import"./chunk-I4HGIQC2.js";import"./chunk-DSOEKRQL.js";import"./chunk-Z2GK7COI.js";import"./chunk-OQCEI7Q4.js";import"./chunk-I27OTSC7.js";import"./chunk-CNGRXBKO.js";import"./chunk-DFOANC7Z.js";import{a as o,c as D}from"./chunk-MYIDAWGQ.js";import"./chunk-TRO45ZLC.js";import"./chunk-VKT4STAE.js";import"./chunk-YDBMYTOV.js";import"./chunk-ALX5RJSR.js";import"./chunk-WIZOYPFT.js";import"./chunk-TSA5MUTQ.js";import"./chunk-4QGNSNQL.js";import"./chunk-UPFCV7MX.js";import"./chunk-PMFZHFCB.js";import"./chunk-3QH67ZYC.js";import"./chunk-2XJRSIM5.js";import"./chunk-GHFXURNS.js";var $={enableLearning:!0,enableRouting:!0,enableGuidance:!0,enableTrajectories:!0,enableExperienceReplay:!0,autoStoreExperiences:!0,minQualityThreshold:.6},v=class r{static instance=null;static initPromise=null;config;enhancedAdapter;disposed=!1;patternsLoaded=!1;qualityThresholdsFromPatterns=null;tasksRecorded=0;successfulTasks=0;failedTasks=0;patternsStored=0;routingRequests=0;activeTrajectories=new Map;constructor(e,t){this.config=e,this.enhancedAdapter=t}static async getInstance(e){if(r.instance&&!r.instance.disposed)return r.instance;if(r.initPromise)return r.initPromise;r.initPromise=r.create(e);try{return r.instance=await r.initPromise,r.instance}finally{r.initPromise=null}}static async create(e){let t={...$,...e},s=I({enableTrajectories:t.enableTrajectories,enableExperienceReplay:t.enableExperienceReplay,enablePatternEvolution:!0,autoStoreExperiences:t.autoStoreExperiences,autoConsolidate:!0});await s.initialize();let n=new r(t,s);return await n.loadPatternsFromLoader(),await n.seedInitialPatternsIfNeeded(),console.error("[ReasoningBankService] Initialized with EnhancedReasoningBankAdapter (trajectory + experience + evolution)"),n}async loadPatternsFromLoader(){try{let t=await A().getQualityGateThresholds();if(t){this.qualityThresholdsFromPatterns=t,this.patternsLoaded=!0,console.error("[ReasoningBankService] Loaded quality thresholds from PatternLoader",{tiers:Object.keys(t)});return}console.error("[ReasoningBankService] PatternLoader returned no thresholds, using defaults")}catch(e){console.error("[ReasoningBankService] Failed to load patterns from PatternLoader, using defaults",{error:e instanceof Error?e.message:"Unknown error"})}this.patternsLoaded=!1}async seedInitialPatternsIfNeeded(){try{let e=await this.enhancedAdapter.getStats();if(e.reasoningBank.totalPatterns>0){console.error(`[ReasoningBankService] Found ${e.reasoningBank.totalPatterns} existing patterns, skipping seed`);return}console.error("[ReasoningBankService] Seeding initial QE patterns...");let t=(n,a="string",i=!1)=>({name:n,type:a,required:i,description:`${n} parameter`}),s=[{patternType:"test-template",name:"unit-test-generation",description:"Generate comprehensive unit tests for TypeScript/JavaScript modules",domain:"test-generation",template:{type:"workflow",content:"Analyze module exports, identify edge cases, generate Jest/Vitest tests with proper mocking",variables:[t("modulePath"),t("framework")]},context:{tags:["unit","typescript","jest","vitest"]}},{patternType:"coverage-strategy",name:"coverage-gap-analysis",description:"Identify untested code paths and recommend targeted tests",domain:"coverage-analysis",template:{type:"workflow",content:"Parse coverage report, identify uncovered branches, prioritize by risk, generate recommendations",variables:[t("coveragePath"),t("threshold","number")]},context:{tags:["coverage","analysis","risk"]}},{patternType:"test-template",name:"integration-test-generation",description:"Generate integration tests for API endpoints and service interactions",domain:"test-generation",template:{type:"workflow",content:"Identify API contracts, generate request/response tests, validate error handling",variables:[t("apiPath"),t("framework")]},context:{tags:["integration","api","contract"]}},{patternType:"flaky-fix",name:"flaky-test-remediation",description:"Detect and fix flaky tests through pattern analysis",domain:"test-execution",template:{type:"workflow",content:"Analyze test history, identify timing/race conditions, apply stabilization patterns",variables:[t("testPath"),t("retryCount","number")]},context:{tags:["flaky","stability","retry"]}},{patternType:"error-handling",name:"security-vulnerability-scan",description:"Scan code for security vulnerabilities using OWASP patterns",domain:"security-compliance",template:{type:"workflow",content:"Run SAST analysis, check for injection risks, validate authentication/authorization",variables:[t("targetPath"),t("severity")]},context:{tags:["security","owasp","sast"]}}];for(let n of s)try{await this.enhancedAdapter.storePattern(n),this.patternsStored++}catch(a){console.error(`[ReasoningBankService] Failed to seed pattern ${n.name}:`,a)}console.error(`[ReasoningBankService] Seeded ${s.length} initial patterns`)}catch(e){console.error("[ReasoningBankService] Failed to seed patterns:",e)}}getPatternsLoaded(){return this.patternsLoaded}getQualityThresholdsFromPatterns(){return this.qualityThresholdsFromPatterns}async startTaskTrajectory(e,t,s={}){if(!this.config.enableTrajectories||this.disposed)return e;try{let n=await this.enhancedAdapter.startTaskTrajectory(t,s);return this.activeTrajectories.set(e,n),console.error(`[ReasoningBankService] Started trajectory: task=${e} trajectory=${n}`),n}catch(n){return console.error("[ReasoningBankService] Failed to start trajectory:",n),e}}async recordTrajectoryStep(e,t,s,n){if(!this.config.enableTrajectories||this.disposed)return;let a=this.activeTrajectories.get(e);if(!a){console.error(`[ReasoningBankService] No active trajectory for task ${e}`);return}try{await this.enhancedAdapter.recordTaskStep(a,t,s,n)}catch(i){console.error("[ReasoningBankService] Failed to record trajectory step:",i)}}async endTaskTrajectory(e,t,s){if(!this.config.enableTrajectories||this.disposed)return null;let n=this.activeTrajectories.get(e);if(!n)return console.error(`[ReasoningBankService] No active trajectory for task ${e}`),null;try{let a=await this.enhancedAdapter.endTaskTrajectory(n,t,s);return this.activeTrajectories.delete(e),console.error(`[ReasoningBankService] Ended trajectory: task=${e} success=${t} steps=${a.steps.length} quality=${a.metrics.averageQuality.toFixed(2)}`),a}catch(a){return console.error("[ReasoningBankService] Failed to end trajectory:",a),this.activeTrajectories.delete(e),null}}getActiveTrajectoryId(e){return this.activeTrajectories.get(e)}async recordTaskOutcome(e){if(!(!this.config.enableLearning||this.disposed)){this.tasksRecorded++,e.success?this.successfulTasks++:this.failedTasks++;try{let t={patternId:`task-${e.taskId}`,success:e.success,metrics:{executionTimeMs:e.executionTimeMs,testsPassed:e.metrics?.testsPassed,testsFailed:e.metrics?.testsGenerated?e.metrics.testsGenerated-(e.metrics.testsPassed||0):void 0,coverageImprovement:e.metrics?.coverageImprovement},feedback:e.error};await this.enhancedAdapter.recordPatternOutcome(t),e.success&&(e.qualityScore||.5)>=this.config.minQualityThreshold&&(await this.storeTaskPattern(e),this.patternsStored++),e.agentId&&await this.updateAgentPerformanceFromOutcome(e),console.error(`[ReasoningBankService] Recorded outcome: task=${e.taskId} success=${e.success} quality=${e.qualityScore?.toFixed(2)||"N/A"}`)}catch(t){throw console.error("[ReasoningBankService] Failed to record outcome:",t),t}}}async updateAgentPerformanceFromOutcome(e){if(e.agentId)try{P(e.agentId,{success:e.success,executionTimeMs:e.executionTimeMs,qualityScore:e.qualityScore}),console.error(`[ReasoningBankService] Updated agent performance: agent=${e.agentId} success=${e.success} duration=${e.executionTimeMs}ms`)}catch(t){console.error("[ReasoningBankService] Failed to update agent performance:",t)}}async storeTaskPattern(e){try{let t=[e.taskType,e.domain||"general",e.agentId?`agent:${e.agentId}`:void 0,e.modelTier?`tier:${e.modelTier}`:void 0,e.executionTimeMs?`duration:${e.executionTimeMs}ms`:void 0].filter(s=>s!==void 0);await this.enhancedAdapter.storePattern({patternType:"test-template",name:`${e.taskType}-${e.domain||"general"}`,description:e.task,template:{type:"workflow",content:e.task,variables:[]},context:{tags:t}})}catch(t){console.error("[ReasoningBankService] Failed to store pattern:",t)}}async getRoutingRecommendation(e){if(!this.config.enableRouting||this.disposed)return this.createFallbackRouting(e);this.routingRequests++;try{let t=await this.enhancedAdapter.routeTaskWithExperience(e);if(!t.success)return console.error("[ReasoningBankService] Routing returned error:",t.error),this.createFallbackRouting(e);let s=t.value;return s.experienceGuidance&&console.error(`[ReasoningBankService] Experience guidance: strategy="${s.experienceGuidance.recommendedStrategy}" confidence=${s.experienceGuidance.confidence.toFixed(2)} tokenSavings=${s.experienceGuidance.estimatedTokenSavings}`),console.error(`[ReasoningBankService] Routing: task="${e.task.slice(0,50)}..." -> agent=${s.recommendedAgent} confidence=${s.confidence.toFixed(2)}`),s}catch(t){return console.error("[ReasoningBankService] Routing failed:",t),this.createFallbackRouting(e)}}async getExperienceGuidance(e,t){if(!this.config.enableExperienceReplay||this.disposed)return null;try{return await this.enhancedAdapter.getExperienceGuidance(e,t)}catch(s){return console.error("[ReasoningBankService] Failed to get experience guidance:",s),null}}async getTaskGuidance(e,t){if(!this.config.enableGuidance||this.disposed)return[];try{let s=await this.enhancedAdapter.routeTaskWithExperience({task:e,domain:t});return s.success?s.value.guidance:[]}catch(s){return console.error("[ReasoningBankService] Guidance failed:",s),[]}}async searchPatterns(e,t){if(this.disposed)return[];try{let s=await this.enhancedAdapter.searchPatterns(e,{limit:t?.limit||10,domain:t?.domain});return s.success?s.value.map(n=>n.pattern):(console.error("[ReasoningBankService] Search returned error:",s.error),[])}catch(s){return console.error("[ReasoningBankService] Search failed:",s),[]}}async getStats(){let e=await this.enhancedAdapter.getStats();return{service:{tasksRecorded:this.tasksRecorded,successfulTasks:this.successfulTasks,failedTasks:this.failedTasks,successRate:this.tasksRecorded>0?this.successfulTasks/this.tasksRecorded:0,patternsStored:this.patternsStored,routingRequests:this.routingRequests,patternsLoaded:this.patternsLoaded,activeTrajectories:this.activeTrajectories.size},reasoningBank:e.reasoningBank,adapter:e.adapter}}createFallbackRouting(e){return{recommendedAgent:"qe-test-architect",confidence:.5,alternatives:[],domains:e.domain?[e.domain]:["test-generation"],patterns:[],guidance:[],reasoning:"Fallback routing - ReasoningBank unavailable",latencyMs:0}}isHealthy(){return!this.disposed}async dispose(){this.disposed||(this.disposed=!0,await this.enhancedAdapter.dispose(),this.activeTrajectories.clear(),r.instance=null,console.error("[ReasoningBankService] Disposed"))}static reset(){r.instance&&r.instance.dispose(),r.instance=null,r.initPromise=null}};async function p(r){return v.getInstance(r)}async function B(r,e,t){return(await p()).startTaskTrajectory(r,e,t)}async function b(r,e,t){return(await p()).endTaskTrajectory(r,e,t)}D();var q={"ideation-assessment":"qcsd-ideation-swarm"};async function J(r){if(!m())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{queen:e}=g();try{let t=await e.submitTask({type:r.type,priority:r.priority||"p1",targetDomains:r.targetDomains||[],payload:r.payload||{},timeout:r.timeout||3e5});if(!t.success)return{success:!1,error:t.error.message};let s=e.getTaskStatus(t.value);return{success:!0,data:{taskId:t.value,type:r.type,priority:r.priority||"p1",status:s?.status==="running"?"pending":"queued",assignedDomain:s?.assignedDomain}}}catch(t){return{success:!1,error:`Failed to submit task: ${o(t)}`}}}async function K(r){if(!m())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{queen:e}=g();try{let t=e.listTasks({status:r.status,priority:r.priority,domain:r.domain});return{success:!0,data:(typeof r.limit=="number"?t.slice(0,r.limit):t).map(a=>({taskId:a.taskId,type:a.task.type,status:a.status,priority:a.task.priority,assignedDomain:a.assignedDomain,assignedAgents:a.assignedAgents,result:a.result,error:a.error,createdAt:a.task.createdAt.toISOString(),startedAt:a.startedAt?.toISOString(),completedAt:a.completedAt?.toISOString(),duration:a.completedAt&&a.startedAt?a.completedAt.getTime()-a.startedAt.getTime():void 0}))}}catch(t){return{success:!1,error:`Failed to list tasks: ${o(t)}`}}}async function X(r){if(!m())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{queen:e}=g();try{let t=e.getTaskStatus(r.taskId);return t?{success:!0,data:{taskId:t.taskId,type:t.task.type,status:t.status,priority:t.task.priority,assignedDomain:t.assignedDomain,assignedAgents:t.assignedAgents,result:r.detailed?t.result:void 0,error:t.error,createdAt:t.task.createdAt.toISOString(),startedAt:t.startedAt?.toISOString(),completedAt:t.completedAt?.toISOString(),duration:t.completedAt&&t.startedAt?t.completedAt.getTime()-t.startedAt.getTime():void 0}}:{success:!1,error:`Task not found: ${r.taskId}`}}catch(t){return{success:!1,error:`Failed to get task status: ${o(t)}`}}}async function Y(r){if(!m())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{queen:e}=g();try{let t=await e.cancelTask(r.taskId);return t.success?{success:!0,data:{taskId:r.taskId,cancelled:!0}}:{success:!1,error:t.error.message}}catch(t){return{success:!1,error:`Failed to cancel task: ${o(t)}`}}}async function Z(r){if(!m())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{queen:e,workflowOrchestrator:t}=g();try{let s=r.context?.project||j(r.task),n=r.priority==="critical"||/\b(security|vulnerability|cve|owasp|critical|production|exploit)\b/i.test(r.task),i=await(await T()).routeTask({task:r.task,codeContext:r.codeContext,filePaths:r.filePaths,manualTier:r.manualTier,isCritical:n,agentType:`qe-${s}`,domain:s,metadata:{inferredDomain:s,hasCodeContext:!!r.codeContext,fileCount:r.filePaths?.length}}),c=await(await p()).getExperienceGuidance(r.task,r.context?.project),d=F(r.task),y=O(r.priority||"medium"),u=q[d];if(u&&t){console.log(`[TaskOrchestrate] Task type '${d}' has workflow '${u}' - executing workflow`);let w=r.task.match(/https?:\/\/[^\s]+/i),f=w?w[0]:void 0;f&&console.log(`[TaskOrchestrate] Detected URL for analysis: ${f}`);let C={targetId:r.context?.project||f||`task-${Date.now()}`,targetType:f?"website":"epic",description:r.task,acceptanceCriteria:r.context?.requirements||[],url:f,routing:{tier:i.decision.tier,modelId:i.modelId,executionStrategy:i.executionStrategy,complexity:i.decision.complexityAnalysis.overall}},R=await t.executeWorkflow(u,C);return R.success?{success:!0,data:{taskId:R.value,type:d,priority:y,strategy:r.strategy||"adaptive",status:"workflow-started",message:`Workflow '${u}' started for task: ${r.task}`,routing:{tier:i.decision.tier,tierName:i.tierInfo.name,modelId:i.modelId,executionStrategy:i.executionStrategy,complexity:i.decision.complexityAnalysis.overall,confidence:i.decision.confidence,useAgentBooster:i.useAgentBooster,rationale:i.decision.rationale,decisionTimeMs:i.decision.metadata.decisionTimeMs}}}:{success:!1,error:`Workflow execution failed: ${R.error.message}`}}let l={description:r.task,strategy:r.strategy||"adaptive",maxAgents:r.maxAgents,context:r.context};d==="generate-tests"&&(l.sourceFiles=r.filePaths||[],l.sourceCode=r.codeContext||"",l.language=l.language||"typescript",l.testType=l.testType||"unit");let h=await e.submitTask({type:d,priority:y,targetDomains:[],payload:{...l,routing:{tier:i.decision.tier,modelId:i.modelId,executionStrategy:i.executionStrategy,useAgentBooster:i.useAgentBooster,agentBoosterTransform:i.decision.agentBoosterTransform,complexity:i.decision.complexityAnalysis.overall,confidence:i.decision.confidence},experienceGuidance:c?{strategy:c.recommendedStrategy,actions:c.suggestedActions,confidence:c.confidence,tokenSavings:c.estimatedTokenSavings}:void 0},timeout:6e5});if(!h.success)return{success:!1,error:h.error.message};let x=h.value;return await B(x,r.task,{agent:"queen-coordinator",domain:r.context?.project}),{success:!0,data:{taskId:x,type:d,priority:y,strategy:r.strategy||"adaptive",status:"submitted",message:`Task orchestrated: ${r.task}${c?" (with experience guidance)":""}`,routing:{tier:i.decision.tier,tierName:i.tierInfo.name,modelId:i.modelId,executionStrategy:i.executionStrategy,complexity:i.decision.complexityAnalysis.overall,confidence:i.decision.confidence,useAgentBooster:i.useAgentBooster,rationale:i.decision.rationale,decisionTimeMs:i.decision.metadata.decisionTimeMs}}}}catch(s){return{success:!1,error:`Failed to orchestrate task: ${o(s)}`}}}async function _(r){try{let e=await T(),t=r.domain||j(r.task),s=r.isCritical??/\b(security|vulnerability|cve|owasp|critical|production|exploit)\b/i.test(r.task),n=await e.routeTask({task:r.task,codeContext:r.codeContext,filePaths:r.filePaths,manualTier:r.manualTier,isCritical:s,agentType:r.agentType||`qe-${t}`,domain:t,metadata:{inferredDomain:t,hasCodeContext:!!r.codeContext,fileCount:r.filePaths?.length}});return{success:!0,data:{tier:n.decision.tier,tierName:n.tierInfo.name,modelId:n.modelId,executionStrategy:n.executionStrategy,useAgentBooster:n.useAgentBooster,agentBoosterTransform:n.decision.agentBoosterTransform,complexity:{overall:n.decision.complexityAnalysis.overall,code:n.decision.complexityAnalysis.codeComplexity,reasoning:n.decision.complexityAnalysis.reasoningComplexity,scope:n.decision.complexityAnalysis.scopeComplexity},confidence:n.decision.confidence,rationale:n.decision.rationale,warnings:n.decision.warnings,budget:{allowed:n.decision.budgetDecision.allowed,wasDowngraded:n.decision.budgetDecision.wasDowngraded,estimatedCostUsd:n.decision.budgetDecision.estimatedCostUsd},decisionTimeMs:n.decision.metadata.decisionTimeMs}}}catch(e){return{success:!1,error:`Failed to route task: ${o(e)}`}}}async function ee(r){try{let e=await T(),t=e.getRoutingStats(),s=e.getMetrics(),n={stats:t,modelRouterMetrics:{totalDecisions:s.totalDecisions,avgDecisionTimeMs:s.avgDecisionTimeMs,agentBoosterStats:s.agentBoosterStats,budgetStats:s.budgetStats}};return r.includeLog&&(n.log=e.getRoutingLog(r.logLimit||100)),{success:!0,data:n}}catch(e){return{success:!1,error:`Failed to get routing metrics: ${o(e)}`}}}async function te(r){try{let{createRoutingFeedbackCollector:e}=await import("./routing-feedback-6U76TI6X.js"),{getGlobalCostTracker:t}=await import("./cost-tracker-D7LNB633.js"),s=e(100);await s.initialize(),s.enableEconomicRouting({...r.taskComplexity!=null?{}:{}},t());let n=s.getEconomicReport();return n?{success:!0,data:{tierEfficiency:n.tierEfficiency.map(i=>({...i,qualityPerDollar:isFinite(i.qualityPerDollar)?i.qualityPerDollar:"Infinity"})),currentHourlyCostUsd:n.currentHourlyCostUsd,currentDailyCostUsd:n.currentDailyCostUsd,budgetRemaining:n.budgetRemaining,recommendation:n.recommendation,savingsOpportunity:n.savingsOpportunity}}:{success:!1,error:"Economic routing is not available"}}catch(e){return{success:!1,error:`Failed to get economic routing report: ${o(e)}`}}}function j(r){let e=r.toLowerCase();return/\b(security|vulnerabilit|cve|owasp|secret|credential|injection|xss|csrf)\b/.test(e)?"security-compliance":/\b(chaos|resilience|fault.?inject|disaster|failover)\b/.test(e)?"chaos-resilience":/\b(defect|bug.?predict|risk.?assess|mutation)\b/.test(e)?"defect-intelligence":/\b(coverage|uncovered|gap.?analy)\b/.test(e)?"coverage-analysis":/\b(quality|code.?review|maintain|tech.?debt)\b/.test(e)?"quality-assessment":/\b(contract|api.?compat|breaking.?change|pact)\b/.test(e)?"contract-testing":/\b(index|knowledge.?graph|semantic|code.?intel)\b/.test(e)?"code-intelligence":/\b(accessib|a11y|wcag|screen.?read)\b/.test(e)?"visual-accessibility":/\b(requirement|bdd|acceptance|user.?stor)\b/.test(e)?"requirements-validation":/\b(generat.*test|test.*generat|write.*test|create.*test)\b/.test(e)?"test-generation":/\b(run.*test|execut.*test)\b/.test(e)?"test-execution":"test-generation"}function F(r){let e=r.toLowerCase();return/run\s+(?:\w+\s+)*tests?/.test(e)||/execute\s+(?:\w+\s+)*tests?/.test(e)||e.includes("run tests")||e.includes("execute tests")?"execute-tests":e.includes("generate test")||e.includes("create test")||e.includes("write test")?"generate-tests":e.includes("coverage")||e.includes("uncovered")?"analyze-coverage":e.includes("quality")||e.includes("code quality")?"assess-quality":e.includes("defect")||e.includes("bug")||e.includes("predict")?"predict-defects":e.includes("requirement")||e.includes("bdd")||e.includes("acceptance")?"validate-requirements":e.includes("index")||e.includes("knowledge graph")||e.includes("semantic")?"index-code":e.includes("security")||e.includes("vulnerability")||e.includes("owasp")?"scan-security":e.includes("contract")||e.includes("api contract")||e.includes("pact")?"validate-contracts":e.includes("accessibility")||e.includes("a11y")||e.includes("wcag")?"test-accessibility":e.includes("chaos")||e.includes("resilience")||e.includes("fault")?"run-chaos":e.includes("learn")||e.includes("optimize")||e.includes("improve")?"optimize-learning":e.includes("ideation")||e.includes("quality criteria")||e.includes("htsm")||e.includes("qcsd")||e.includes("testability")||e.includes("pi planning")||e.includes("sprint planning")?"ideation-assessment":"generate-tests"}function O(r){switch(r){case"critical":return"p0";case"high":return"p1";case"medium":return"p2";case"low":return"p3";default:return"p1"}}async function re(r){try{let e=await p(),t={taskId:r.taskId,task:r.task,taskType:r.taskType,success:r.success,executionTimeMs:r.executionTimeMs,agentId:r.agentId,domain:r.domain,modelTier:r.modelTier,qualityScore:r.qualityScore,error:r.error,metrics:r.metrics};await e.recordTaskOutcome(t);let s=r.success&&(r.qualityScore||.5)>=.6;return{success:!0,data:{recorded:!0,patternStored:s,message:s?`Outcome recorded and pattern stored for task ${r.taskId}`:`Outcome recorded for task ${r.taskId}`}}}catch(e){return{success:!1,error:`Failed to record task outcome: ${o(e)}`}}}async function se(){try{let e=await(await p()).getStats();return{success:!0,data:{service:e.service,patterns:{totalPatterns:e.reasoningBank.totalPatterns,byDomain:e.reasoningBank.byDomain,byTier:e.reasoningBank.byTier,learningOutcomes:e.reasoningBank.learningOutcomes,patternSuccessRate:e.reasoningBank.patternSuccessRate},embeddings:{cacheSize:e.reasoningBank.embeddingCacheSize,dimension:e.reasoningBank.embeddingDimension,transformerAvailable:e.reasoningBank.transformerAvailable},performance:{avgRoutingLatencyMs:e.reasoningBank.avgRoutingLatencyMs,p95RoutingLatencyMs:e.reasoningBank.p95RoutingLatencyMs}}}}catch(r){return{success:!1,error:`Failed to get ReasoningBank stats: ${o(r)}`}}}var E=new Set;async function ne(r){if(!m())return{success:!1,error:"Fleet not initialized. Call fleet_init first."};let{queen:e}=g();try{let t=e.getTaskStatus(r.taskId);if(!t)return{success:!1,error:`Task not found: ${r.taskId}`};let s={taskId:t.taskId,type:t.task.type,status:t.status,priority:t.task.priority,assignedDomain:t.assignedDomain,assignedAgents:t.assignedAgents,result:r.detailed?t.result:void 0,error:t.error,createdAt:t.task.createdAt.toISOString(),startedAt:t.startedAt?.toISOString(),completedAt:t.completedAt?.toISOString(),duration:t.completedAt&&t.startedAt?t.completedAt.getTime()-t.startedAt.getTime():void 0};if((t.status==="completed"||t.status==="failed")&&!E.has(r.taskId)){E.add(r.taskId);try{let n=await p(),a=s.duration||0,i=t.status==="completed",k=t.task.payload||{},c=typeof k.description=="string"?k.description:t.task.type,d=k.routing,y=await b(r.taskId,i,t.error),u=y?.metrics.averageQuality??(i?.7:.3);await n.recordTaskOutcome({taskId:r.taskId,task:c,taskType:t.task.type,success:i,executionTimeMs:a,agentId:t.assignedAgents?.[0],domain:t.assignedDomain,modelTier:d?.tier,qualityScore:u,error:t.error,metrics:{testsGenerated:typeof t.result=="object"&&t.result?t.result.testsGenerated:void 0,testsPassed:typeof t.result=="object"&&t.result?t.result.testsPassed:void 0}}),console.error(`[TaskHandler] Recorded learning outcome: task=${r.taskId} success=${i} quality=${u.toFixed(2)} trajectorySteps=${y?.steps.length??0}`)}catch(n){console.error("[TaskHandler] Failed to record outcome:",n)}}return{success:!0,data:s}}catch(t){return{success:!1,error:`Failed to get task status: ${o(t)}`}}}var S=[];function ie(r){M(r);let e=r.subscribeToEventType("TaskCompleted",async s=>{let{taskId:n}=s.payload;n&&await b(n,!0).catch(()=>{})}),t=r.subscribeToEventType("TaskFailed",async s=>{let{taskId:n,error:a}=s.payload;n&&await b(n,!1,a).catch(()=>{})});S=[e,t]}function M(r){for(let e of S)r.unsubscribe(e);S=[]}export{_ as handleModelRoute,se as handleReasoningBankStats,te as handleRoutingEconomics,ee as handleRoutingMetrics,Y as handleTaskCancel,K as handleTaskList,Z as handleTaskOrchestrate,re as handleTaskOutcomeRecord,X as handleTaskStatus,ne as handleTaskStatusWithLearning,J as handleTaskSubmit,ie as subscribeTrajectoryEvents,M as unsubscribeTrajectoryEvents};
|
|
@@ -1,5 +1,5 @@
|
|
|
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.9.
|
|
2
|
-
import{b as y}from"./chunk-
|
|
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.9.5");process.exit(0)}
|
|
2
|
+
import{b as y}from"./chunk-MO3IIM7L.js";import{c as u,d as p,f as k,j as h}from"./chunk-QHMDETCU.js";import"./chunk-GHFXURNS.js";import{Command as F}from"commander";import e from"chalk";function U($,d,T){return new F("test").description("Test generation, execution, scheduling, and load testing").argument("<action>","Action (generate|execute|schedule|load)").argument("[target]","Target file or directory").option("-f, --framework <framework>","Test framework","vitest").option("-t, --type <type>","Test type (unit|integration|e2e)","unit").option("-F, --format <format>","Output format (text|json|junit|markdown)","text").option("-o, --output <path>","Write output to file").option("--git-ref <ref>","Git ref for schedule action (e.g., main, HEAD~3)").option("--no-git-aware","Disable git-aware test selection (schedule action)").option("--no-flaky","Disable flaky test tracking (schedule action)").option("--agents <count>","Target agent count for load action","10").option("--profile <profile>","Workload profile for load action (light|medium|heavy)","medium").option("--duration <ms>","Duration in ms for load action","30000").option("--real","Use real agents instead of mock (load action, requires fleet_init)").action(async(m,f,s)=>{if(await T())try{if(m==="generate"){console.log(e.blue(`
|
|
3
3
|
Generating tests for ${f||"current directory"}...
|
|
4
4
|
`));let l=await $.kernel.getDomainAPIAsync("test-generation");if(!l){console.log(e.red("Test generation domain not available"));return}let i=await import("path"),g=i.resolve(f||"."),a=y(g,{includeTests:!1});if(a.length===0){console.log(e.yellow("No source files found"));return}console.log(e.gray(` Found ${a.length} source files
|
|
5
5
|
`));let n=await l.generateTests({sourceFiles:a,testType:s.type,framework:s.framework,coverageTarget:80});if(n.success&&n.value){let t=n.value,c=s.format;if(c==="json")u(p(t),s.output);else if(c==="markdown"){let r=`# Test Generation Report
|
|
@@ -20,12 +20,12 @@ import{b as y}from"./chunk-EEARIB4C.js";import{c as u,d as p,f as k,j as h}from"
|
|
|
20
20
|
`));let n=await l.runTests({testFiles:a,parallel:!0,retryCount:2});if(n.success&&n.value){let t=n.value,c=s.format;if(c==="json")u(p(t),s.output);else if(c==="junit")u(k(t),s.output);else if(c==="markdown")u(h(t),s.output);else{let o=t.passed+t.failed+t.skipped;console.log(e.green("Test run complete")),console.log(`
|
|
21
21
|
Results:`),console.log(` Total: ${e.white(o)}`),console.log(` Passed: ${e.green(t.passed)}`),console.log(` Failed: ${e.red(t.failed)}`),console.log(` Skipped: ${e.yellow(t.skipped)}`),console.log(` Duration: ${e.cyan(t.duration+"ms")}`)}t.failed>0&&await d(1);let r=t.passed+t.failed+t.skipped;r>0&&t.skipped/r>.2&&await d(2)}else console.log(e.red(`Failed: ${n.error?.message||"Unknown error"}`))}else if(m==="schedule"){let l=s.format;l==="text"&&console.log(e.blue(`
|
|
22
22
|
Running test schedule pipeline...
|
|
23
|
-
`));let{TestScheduleTool:i}=await import("./schedule-
|
|
23
|
+
`));let{TestScheduleTool:i}=await import("./schedule-ZHCM3L6H.js"),a=await new i().invoke({cwd:f||process.cwd(),gitRef:s.gitRef,useGitAware:s.gitAware!==!1,trackFlaky:s.flaky!==!1});if(a.success&&a.data){let n=a.data;if(l==="json")u(p(n),s.output);else{console.log(e.green(` Schedule complete
|
|
24
24
|
`)),console.log(` Phases: ${e.white(n.phases.length)}`);for(let t of n.phases){let c=t.failed===0?e.green:e.red;console.log(` ${e.cyan(t.phaseName)}: ${c(`${t.passed}/${t.totalTests} passed`)} (${t.durationMs}ms)`)}console.log(`
|
|
25
25
|
Git-aware: ${n.gitAware.enabled?e.green(`yes (${n.gitAware.selectedTests} selected)`):e.gray("disabled")}`),console.log(` Duration: ${e.cyan(n.totalDuration+"ms")}`),console.log(`
|
|
26
26
|
${n.summary}`)}}else console.log(e.red(`Failed: ${a.error||"Unknown error"}`))}else if(m==="load"){let l=s.format,i=parseInt(s.agents,10)||10,g=parseInt(s.duration,10)||3e4,a=s.profile,n=!s.real;l==="text"&&console.log(e.blue(`
|
|
27
27
|
Running load test: ${i} agents, ${a} profile, ${g}ms${n?" (mock)":" (real)"}...
|
|
28
|
-
`));let{LoadTestTool:t}=await import("./load-test-
|
|
28
|
+
`));let{LoadTestTool:t}=await import("./load-test-VVVME7GZ.js"),r=await new t().invoke({targetAgents:i,profile:a,durationMs:g,mockMode:n});if(r.success&&r.data){let o=r.data;if(l==="json")u(p(o),s.output);else{let w=o.passed?e.green:e.red;console.log(w(` Load test ${o.passed?"PASSED":"FAILED"}
|
|
29
29
|
`)),console.log(` Profile: ${e.cyan(o.profile)} (${o.mockMode?"mock":"real"})`),console.log(` Agents: ${e.white(o.targetAgents)}`),console.log(` Duration: ${e.cyan(o.duration+"ms")}`),console.log(` Bottlenecks: ${o.bottleneckCount>0?e.red(o.bottleneckCount):e.green("none")}`),o.report.hasCritical&&console.log(e.red(" CRITICAL bottlenecks detected!")),console.log(`
|
|
30
30
|
${o.summary}`)}o.passed||await d(1)}else console.log(e.red(`Failed: ${r.error||"Unknown error"}`))}else console.log(e.red(`
|
|
31
31
|
Unknown action: ${m}. Use: generate, execute, schedule, or load
|
|
@@ -1,5 +1,5 @@
|
|
|
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.9.
|
|
2
|
-
import{a as B,b as L}from"./chunk-
|
|
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.9.5");process.exit(0)}
|
|
2
|
+
import{a as B,b as L}from"./chunk-3UFAEGSS.js";import{b as y,d as $}from"./chunk-CNGRXBKO.js";import"./chunk-GHFXURNS.js";var k=[{id:"unit",name:"Unit Tests",testTypes:["unit"],testPatterns:["**/*.test.ts","**/*.spec.ts","!**/*.integration.*","!**/*.e2e.*"],thresholds:{minPassRate:.99,maxFlakyRatio:.01,minCoverage:.8},parallelism:8,timeoutMs:6e4,failFast:!0},{id:"integration",name:"Integration Tests",testTypes:["integration","contract"],testPatterns:["**/*.integration.test.ts","**/*.integration.spec.ts"],thresholds:{minPassRate:.95,maxFlakyRatio:.05,minCoverage:.7},parallelism:4,timeoutMs:3e5,failFast:!1},{id:"e2e",name:"E2E Tests",testTypes:["e2e","visual"],testPatterns:["**/*.e2e.test.ts","**/*.e2e.spec.ts"],thresholds:{minPassRate:.9,maxFlakyRatio:.1,minCoverage:.5},parallelism:2,timeoutMs:6e5,failFast:!1}];var b=class{constructor(e,t={phases:k,failFast:!0,retryFailedPhases:!1,maxRetries:1}){this.executor=e;this.config=t}state="idle";currentPhaseIndex=0;results=[];startTime;endTime;abortController;async run(){if(this.state==="running")throw new Error("Scheduler is already running");this.state="running",this.currentPhaseIndex=0,this.results=[],this.startTime=new Date,this.abortController=new AbortController;try{for(let e of this.config.phases){if(this.state==="paused"&&await this.waitForResume(),this.abortController.signal.aborted)break;let t=await this.executePhaseWithRetry(e);if(this.results.push(t),this.currentPhaseIndex++,this.config.onPhaseComplete?.(t),!t.success&&this.config.failFast){this.state="failed";break}}return this.endTime=new Date,this.state=this.results.every(e=>e.success)?"completed":"failed",this.config.onAllComplete?.(this.results),this.results}catch(e){throw this.state="failed",this.endTime=new Date,e}}async runPhase(e){let t=this.config.phases.find(s=>s.id===e);if(!t)throw new Error(`Phase not found: ${e}`);return this.executePhaseWithRetry(t)}pause(){this.state==="running"&&(this.state="paused")}resume(){this.state==="paused"&&(this.state="running")}async abort(){this.abortController?.abort(),await this.executor.abort(),this.state="idle"}getStats(){let e=this.startTime&&this.endTime?this.endTime.getTime()-this.startTime.getTime():this.startTime?Date.now()-this.startTime.getTime():void 0;return{state:this.state,currentPhaseIndex:this.currentPhaseIndex,totalPhases:this.config.phases.length,completedPhases:this.results.filter(t=>t.success).length,failedPhases:this.results.filter(t=>!t.success).length,results:[...this.results],startTime:this.startTime,endTime:this.endTime,durationMs:e}}async isReady(){return this.executor.isReady()}async executePhaseWithRetry(e){let t,s=this.config.retryFailedPhases?this.config.maxRetries:1;for(let r=1;r<=s;r++)try{if(t=await this.executor.execute(e),t.success||!this.config.retryFailedPhases)return t}catch(a){if(this.config.onError?.(a,e),r===s)return this.createErrorResult(e,a)}return t}createErrorResult(e,t){return{phaseId:e.id,phaseName:e.name,success:!1,passRate:0,flakyRatio:0,coverage:0,durationMs:0,totalTests:0,passed:0,failed:0,skipped:0,testResults:[],flakyTests:[],error:t.message}}waitForResume(){return new Promise(e=>{let t=()=>{this.state!=="paused"?e():setTimeout(t,100)};t()})}};function _(n,e){return new b(n,{phases:k,failFast:!0,retryFailedPhases:!1,maxRetries:1,...e})}function V(n,e){return n.passRate>=e.minPassRate&&n.flakyRatio<=e.maxFlakyRatio&&n.coverage>=e.minCoverage}$();import{spawn as j}from"child_process";var f=class{constructor(e={}){this.config=e}currentProcess=null;isAborted=!1;async execute(e,t){this.isAborted=!1;let s=Date.now();try{let r=this.buildArgs(e,t),a=await this.runVitest(r,e.timeoutMs),i=Date.now();return this.parseResult(e,a,i-s)}catch(r){let a=Date.now();return this.createErrorResult(e,r,a-s)}}async isReady(){try{return(await this.runCommand("npx",["vitest","--version"],5e3)).exitCode===0}catch{return!1}}getName(){return"vitest-executor"}async abort(){this.isAborted=!0,this.currentProcess&&(this.currentProcess.kill("SIGTERM"),this.currentProcess=null)}buildArgs(e,t){let s=["vitest","run","--reporter=json"];if(t&&t.length>0)s.push(...t);else for(let r of e.testPatterns)r.startsWith("!")?s.push("--exclude",r.slice(1)):s.push(r);return e.parallelism>0&&(s.push("--pool","threads"),s.push("--poolOptions.threads.maxThreads",String(e.parallelism))),e.failFast&&s.push("--bail","1"),s.push("--coverage"),s.push("--coverage.reporter",this.config.coverageReporter||"json"),this.config.coverageDir&&s.push("--coverage.reportsDirectory",this.config.coverageDir),this.config.extraArgs&&s.push(...this.config.extraArgs),s}async runVitest(e,t){let{stdout:s,exitCode:r}=await this.runCommand(this.config.vitestPath||"npx",e,t);try{let a=s.indexOf("{"),i=s.lastIndexOf("}");if(a===-1||i===-1)throw new Error("No JSON output from Vitest");let o=s.slice(a,i+1);return y(o)}catch{return{numTotalTestSuites:0,numPassedTestSuites:0,numFailedTestSuites:0,numTotalTests:0,numPassedTests:0,numFailedTests:0,numPendingTests:0,success:r===0,startTime:Date.now(),testResults:[]}}}runCommand(e,t,s){return new Promise((r,a)=>{let i="",o="",l=process.platform==="win32"&&e==="npx"?"npx.cmd":e;this.currentProcess=j(l,t,{cwd:this.config.cwd||process.cwd(),env:{...process.env,...this.config.env},shell:!1});let c=setTimeout(()=>{this.currentProcess?.kill("SIGTERM"),a(new Error(`Test execution timed out after ${s}ms`))},s);this.currentProcess.stdout?.on("data",u=>{i+=u.toString()}),this.currentProcess.stderr?.on("data",u=>{o+=u.toString()}),this.currentProcess.on("close",u=>{clearTimeout(c),this.currentProcess=null,this.isAborted?a(new Error("Test execution aborted")):r({stdout:i,stderr:o,exitCode:u??1})}),this.currentProcess.on("error",u=>{clearTimeout(c),this.currentProcess=null,a(u)})})}async parseResult(e,t,s){let r=[];for(let p of t.testResults)for(let h of p.assertionResults){let T={file:p.name,name:h.title,suite:h.ancestorTitles.join(" > "),passed:h.status==="passed",durationMs:h.duration||0,retries:0,error:h.failureMessages.join(`
|
|
3
3
|
`)||void 0};r.push(T)}let a=this.config.flakyTracker;a&&a.recordResults(r);let i=t.numTotalTests,o=t.numPassedTests,l=t.numFailedTests,c=t.numPendingTests,u=i>0?o/i:0,m=[],g=0;if(a){m=a.analyze().flakyTests.map(d=>d.testId);let h=new Set(r.map(d=>`${d.file}:${d.suite}:${d.name}`)),T=m.filter(d=>h.has(d));g=i>0?T.length/i:0}let R=await this.getCoverageFromReport(),w=u>=e.thresholds.minPassRate&&g<=e.thresholds.maxFlakyRatio&&R>=e.thresholds.minCoverage;return{phaseId:e.id,phaseName:e.name,success:w,passRate:u,flakyRatio:g,coverage:R,durationMs:s,totalTests:i,passed:o,failed:l,skipped:c,testResults:r,flakyTests:m}}async getCoverageFromReport(){try{let e=await import("fs/promises"),t=await import("path"),s=this.config.coverageDir||"coverage",r=t.join(this.config.cwd||process.cwd(),s,"coverage-summary.json"),a=await e.readFile(r,"utf-8");return(y(a).total?.lines?.pct??0)/100}catch{return 0}}createErrorResult(e,t,s){return{phaseId:e.id,phaseName:e.name,success:!1,passRate:0,flakyRatio:0,coverage:0,durationMs:s,totalTests:0,passed:0,failed:0,skipped:0,testResults:[],flakyTests:[],error:t.message}}};function z(n){return new f(n)}import{spawn as Q}from"child_process";import{resolve as W,dirname as J,basename as M}from"path";var Y=[{sourcePattern:/^src\/(.+)\.ts$/,toTestPaths:(n,e)=>{let t=n[1];return[`tests/unit/${t}.test.ts`,`tests/unit/${t}.spec.ts`,`tests/${t}.test.ts`,`tests/${t}.spec.ts`,`src/${t}.test.ts`,`src/${t}.spec.ts`]}},{sourcePattern:/^src\/(.+)\/index\.ts$/,toTestPaths:(n,e)=>{let t=n[1];return[`tests/unit/${t}.test.ts`,`tests/unit/${t}/index.test.ts`,`tests/unit/${t}.spec.ts`]}},{sourcePattern:/\.(test|spec)\.(ts|tsx|js|jsx)$/,toTestPaths:(n,e)=>[e]},{sourcePattern:/^(vitest\.config|jest\.config|tsconfig|package\.json)/,toTestPaths:()=>["**/*.test.ts","**/*.spec.ts"]}],v=class{constructor(e){this.config=e;if(!e.impactAnalyzer)throw new Error("GitAwareTestSelector requires impactAnalyzer. Use ImpactAnalyzerService from code-intelligence domain. NO FALLBACK TO PATTERN MATCHING - use real dependency analysis.");this.cwd=e.cwd||process.cwd(),this.baseRef=e.baseRef||"HEAD~1",this.mappingRules=e.mappingRules||Y,this.impactAnalyzer=e.impactAnalyzer}cwd;baseRef;mappingRules;impactAnalyzer;async selectAffectedTests(){try{let e=await this.getChangedFiles();if(e.length===0)return{changedFiles:[],selectedTests:[],mappings:[],runAllTests:!1};let{selectedTests:t,mappings:s,runAllTests:r,runAllReason:a}=await this.mapChangesToTests(e);return{changedFiles:e,selectedTests:[...new Set(t)],mappings:s,runAllTests:r,runAllReason:a}}catch(e){return{changedFiles:[],selectedTests:[],mappings:[],runAllTests:!0,runAllReason:`Git error: ${e.message}`}}}async selectTestsForFiles(e){let t=e.map(o=>({path:o,changeType:"modified"})),{selectedTests:s,mappings:r,runAllTests:a,runAllReason:i}=await this.mapChangesToTests(t);return{changedFiles:t,selectedTests:[...new Set(s)],mappings:r,runAllTests:a,runAllReason:i}}async getChangedFiles(){let t=(await this.git(["diff","--name-status",this.baseRef,"HEAD"])).trim().split(`
|
|
4
4
|
`).filter(Boolean),s=[];for(let r of t){let[a,...i]=r.split(" "),o=i.join(" "),l,c;switch(a[0]){case"A":l="added";break;case"M":l="modified";break;case"D":l="deleted";break;case"R":l="renamed",c=o;break;default:l="modified"}s.push({path:l==="renamed"&&i[1]||o,changeType:l,previousPath:c})}return s}async getMergeBase(e="main"){try{return(await this.git(["merge-base","HEAD",e])).trim()}catch{return(await this.git(["merge-base","HEAD","master"])).trim()}}async mapChangesToTests(e){let t=[],s=[],r=!1,a;for(let l of e)if(this.isConfigFile(l.path))return{selectedTests:[],mappings:[],runAllTests:!0,runAllReason:`Config file changed: ${l.path}`};let i=e.filter(l=>l.changeType!=="deleted"||this.config.includeDeletedFileTests).map(l=>l.path);if(i.length===0)return{selectedTests:[],mappings:[],runAllTests:!1};let o=await this.impactAnalyzer.getImpactedTests(i);if(!o.success){let l=o,c=l.error instanceof Error?l.error.message:String(l.error);return{selectedTests:[],mappings:[],runAllTests:!0,runAllReason:`Impact analysis failed: ${c}`}}if(o.value.length===0)return{selectedTests:[],mappings:[],runAllTests:!1};t.push(...o.value);for(let l of e){if(l.changeType==="deleted"&&!this.config.includeDeletedFileTests)continue;let c=o.value.filter(u=>u.includes(M(l.path,".ts").replace(/\.(tsx?|jsx?)$/,"")));c.length>0&&s.push({sourceFile:l.path,testFiles:c,confidence:.95})}return{selectedTests:t,mappings:s,runAllTests:r,runAllReason:a}}isConfigFile(e){return/^(vitest\.config|jest\.config|tsconfig|package\.json)/.test(e)}async findTestsHeuristically(e){let t=M(e,".ts").replace(/\.(tsx?|jsx?)$/,""),s=J(e),r=[`${s}/${t}.test.ts`,`${s}/${t}.spec.ts`,`${s}/__tests__/${t}.test.ts`,`tests/${s}/${t}.test.ts`,`tests/unit/${s.replace("src/","")}/${t}.test.ts`];return this.filterExistingFiles(r)}async filterExistingFiles(e){let t=await import("fs/promises"),s=[];for(let r of e)try{let a=W(this.cwd,r);await t.access(a),s.push(r)}catch(a){console.debug("[TestSelector] File access check failed:",a instanceof Error?a.message:a)}return s}git(e){return new Promise((t,s)=>{let r="",a="",i=Q("git",e,{cwd:this.cwd});i.stdout.on("data",o=>{r+=o.toString()}),i.stderr.on("data",o=>{a+=o.toString()}),i.on("close",o=>{o===0?t(r):s(new Error(`git ${e.join(" ")} failed: ${a}`))}),i.on("error",s)})}};function F(n){return new v(n)}async function q(n,e,t){let r=await F({impactAnalyzer:n,baseRef:e,cwd:t}).selectAffectedTests();return r.runAllTests?[]:r.selectedTests}$();var K={minRunsForFlakiness:5,flakinessThreshold:.1,maxRecentErrors:5,historyRetentionDays:30},A=class{records=new Map;config;constructor(e){this.config={...K,...e}}recordResult(e){let t=this.getTestId(e),s=this.getOrCreateRecord(t,e);s.totalRuns++,s.lastRun=new Date,e.passed?s.passCount++:(s.failCount++,e.error&&(s.recentErrors=[e.error,...s.recentErrors.slice(0,this.config.maxRecentErrors-1)])),e.retries>0&&e.passed&&(s.flakyCount++,s.lastFlaky=new Date),s.flakinessScore=this.calculateFlakiness(s)}recordResults(e){for(let t of e)this.recordResult(t)}getRecord(e){return this.records.get(e)}getFlakyTests(){return Array.from(this.records.values()).filter(e=>e.totalRuns>=this.config.minRunsForFlakiness&&e.flakinessScore>=this.config.flakinessThreshold)}isFlaky(e){let t=this.records.get(e);return t?t.totalRuns>=this.config.minRunsForFlakiness&&t.flakinessScore>=this.config.flakinessThreshold:!1}analyze(){let e=Array.from(this.records.values()),t=e.filter(l=>l.totalRuns>=this.config.minRunsForFlakiness&&l.flakinessScore>=this.config.flakinessThreshold),s=e.filter(l=>l.totalRuns>=this.config.minRunsForFlakiness&&l.flakyCount>0&&l.flakinessScore<this.config.flakinessThreshold),r=e.filter(l=>l.totalRuns<this.config.minRunsForFlakiness),a=e.filter(l=>l.totalRuns>=this.config.minRunsForFlakiness),i=a.length>0?t.length/a.length:0,o=this.calculateTrend(t);return{totalTests:e.length,flakyTests:t.sort((l,c)=>c.flakinessScore-l.flakinessScore),stabilizedTests:s,insufficientData:r,overallFlakiness:i,trend:o}}getQuarantineList(e=.3){return Array.from(this.records.values()).filter(t=>t.flakinessScore>=e).map(t=>t.testId)}pruneHistory(){let e=new Date;e.setDate(e.getDate()-this.config.historyRetentionDays);let t=0;for(let[s,r]of this.records)r.lastRun<e&&(this.records.delete(s),t++);return t}exportHistory(){return Array.from(this.records.values())}importHistory(e){for(let t of e){let s={...t,lastRun:new Date(t.lastRun),lastFlaky:t.lastFlaky?new Date(t.lastFlaky):void 0};this.records.set(t.testId,s)}}reset(){this.records.clear()}getTestId(e){return`${e.file}:${e.suite}:${e.name}`}getOrCreateRecord(e,t){let s=this.records.get(e);return s||(s={testId:e,file:t.file,name:t.name,totalRuns:0,passCount:0,failCount:0,flakyCount:0,flakinessScore:0,lastRun:new Date,recentErrors:[]},this.records.set(e,s)),s}calculateFlakiness(e){if(e.totalRuns<this.config.minRunsForFlakiness)return 0;let t=e.flakyCount/e.totalRuns,s=e.passCount/e.totalRuns,r=s>0&&s<1?Math.min(s,1-s)*2:0;return Math.min(1,t*3+r)}calculateTrend(e){if(e.length===0)return"stable";let s=Date.now()-10080*60*1e3,r=0,a=0;for(let i of e)i.lastFlaky&&(i.lastFlaky.getTime()>s?r++:a++);return r>a*1.5?"degrading":a>r*1.5?"improving":"stable"}};function C(n){return new A(n)}async function G(n,e){let t=C({...e,historyPath:n});try{let r=await(await import("fs/promises")).readFile(n,"utf-8"),a=y(r);t.importHistory(a)}catch(s){console.debug("[FlakyTracker] History load failed, starting fresh:",s instanceof Error?s.message:s)}return t}async function D(n,e){let t=await import("fs/promises"),s=n.exportHistory();await t.writeFile(e,JSON.stringify(s,null,2))}var X={enableAnnotations:!0,enableSummary:!0,enableOutputs:!0,maxAnnotations:10,includeFlakyWarnings:!0,includeCoverage:!0};function H(){let n=process.env;return n.GITHUB_ACTIONS==="true"?{isCI:!0,provider:"github-actions",branch:n.GITHUB_HEAD_REF||n.GITHUB_REF_NAME,commitSha:n.GITHUB_SHA,prNumber:n.GITHUB_EVENT_NAME==="pull_request"&&parseInt(n.GITHUB_REF?.split("/")[2]||"",10)||void 0,baseBranch:n.GITHUB_BASE_REF,buildUrl:`${n.GITHUB_SERVER_URL}/${n.GITHUB_REPOSITORY}/actions/runs/${n.GITHUB_RUN_ID}`}:n.GITLAB_CI==="true"?{isCI:!0,provider:"gitlab-ci",branch:n.CI_COMMIT_REF_NAME,commitSha:n.CI_COMMIT_SHA,prNumber:n.CI_MERGE_REQUEST_IID?parseInt(n.CI_MERGE_REQUEST_IID,10):void 0,baseBranch:n.CI_MERGE_REQUEST_TARGET_BRANCH_NAME,buildUrl:n.CI_JOB_URL}:n.JENKINS_URL?{isCI:!0,provider:"jenkins",branch:n.GIT_BRANCH||n.BRANCH_NAME,commitSha:n.GIT_COMMIT,prNumber:n.CHANGE_ID?parseInt(n.CHANGE_ID,10):void 0,baseBranch:n.CHANGE_TARGET,buildUrl:n.BUILD_URL}:n.CIRCLECI==="true"?{isCI:!0,provider:"circleci",branch:n.CIRCLE_BRANCH,commitSha:n.CIRCLE_SHA1,prNumber:n.CIRCLE_PULL_REQUEST?parseInt(n.CIRCLE_PULL_REQUEST.split("/").pop()||"",10):void 0,buildUrl:n.CIRCLE_BUILD_URL}:n.CI==="true"||n.CI==="1"?{isCI:!0,provider:"unknown"}:{isCI:!1}}var S=class{config;constructor(e){this.config={...X,...e}}generateOutput(e){let t=this.config.enableAnnotations?this.generateAnnotations(e):[],s=this.config.enableSummary?this.generateSummary(e):"",r=this.config.enableOutputs?this.generateOutputs(e):{};return{summary:s,annotations:t,outputs:r}}async writeOutput(e){let t=this.generateOutput(e),s=await import("fs/promises");for(let r of t.annotations)this.writeAnnotation(r);if(t.summary&&process.env.GITHUB_STEP_SUMMARY&&await s.appendFile(process.env.GITHUB_STEP_SUMMARY,t.summary),process.env.GITHUB_OUTPUT){let r=Object.entries(t.outputs).map(([a,i])=>`${a}=${i}`).join(`
|
|
5
5
|
`);await s.appendFile(process.env.GITHUB_OUTPUT,r+`
|
|
@@ -12,4 +12,4 @@ import{a as B,b as L}from"./chunk-GAG2P4I2.js";import{b as y,d as $}from"./chunk
|
|
|
12
12
|
`);for(let i of r.slice(0,20))t.push(`#### ${i.suite} > ${i.name}`),t.push(`- **File**: \`${i.file}\``),i.error&&(t.push("```"),t.push(i.error.slice(0,500)),t.push("```")),t.push("");r.length>20&&t.push(`_... and ${r.length-20} more failures_`),t.push(`</details>
|
|
13
13
|
`)}let a=e.flatMap(i=>i.flakyTests);if(a.length>0&&this.config.includeFlakyWarnings){t.push(`### \u26A0\uFE0F Flaky Tests
|
|
14
14
|
`);for(let i of a.slice(0,10))t.push(`- \`${i}\``);t.push("")}return t.join(`
|
|
15
|
-
`)}generateOutputs(e){let t=e.reduce((o,l)=>o+l.totalTests,0),s=e.reduce((o,l)=>o+l.passed,0),r=e.reduce((o,l)=>o+l.failed,0),a=e.every(o=>o.success),i=e.length>0?e.reduce((o,l)=>o+l.coverage,0)/e.length:0;return{test_result:a?"success":"failure",total_tests:String(t),passed_tests:String(s),failed_tests:String(r),coverage_percent:String((i*100).toFixed(1)),phases_completed:String(e.length),phases_passed:String(e.filter(o=>o.success).length),has_flaky_tests:String(e.some(o=>o.flakyTests.length>0))}}writeAnnotation(e){let t=[`file=${e.file}`,`line=${e.line}`,`title=${e.title}`].join(",");console.log(`::${e.level} ${t}::${e.message}`)}extractLineNumber(e){if(!e)return;let t=e.match(/:(\d+):\d+/);return t?parseInt(t[1],10):void 0}formatDuration(e){return e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${(e/6e4).toFixed(1)}m`}generateCoverageBar(e){let t=Math.round(e*10),s=10-t;return"\u2588".repeat(t)+"\u2591".repeat(s)}};function x(n){return new S(n)}async function Z(n,e){await x(e).writeOutput(n)}var E=class n{constructor(e,t,s,r,a,i){this.config=e;this.selector=t,this.executor=s,this.scheduler=r,this.flakyTracker=a,this.reporter=i,this.ciEnvironment=H()}selector;executor;scheduler;flakyTracker;reporter;ciEnvironment;static async create(e){let t=e.flakyHistoryPath?await G(e.flakyHistoryPath,e.flakyTracker):C(e.flakyTracker),s=new f({...e.vitest,cwd:e.cwd,flakyTracker:t}),{ImpactAnalyzerService:r}=await import("./impact-analyzer-
|
|
15
|
+
`)}generateOutputs(e){let t=e.reduce((o,l)=>o+l.totalTests,0),s=e.reduce((o,l)=>o+l.passed,0),r=e.reduce((o,l)=>o+l.failed,0),a=e.every(o=>o.success),i=e.length>0?e.reduce((o,l)=>o+l.coverage,0)/e.length:0;return{test_result:a?"success":"failure",total_tests:String(t),passed_tests:String(s),failed_tests:String(r),coverage_percent:String((i*100).toFixed(1)),phases_completed:String(e.length),phases_passed:String(e.filter(o=>o.success).length),has_flaky_tests:String(e.some(o=>o.flakyTests.length>0))}}writeAnnotation(e){let t=[`file=${e.file}`,`line=${e.line}`,`title=${e.title}`].join(",");console.log(`::${e.level} ${t}::${e.message}`)}extractLineNumber(e){if(!e)return;let t=e.match(/:(\d+):\d+/);return t?parseInt(t[1],10):void 0}formatDuration(e){return e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${(e/6e4).toFixed(1)}m`}generateCoverageBar(e){let t=Math.round(e*10),s=10-t;return"\u2588".repeat(t)+"\u2591".repeat(s)}};function x(n){return new S(n)}async function Z(n,e){await x(e).writeOutput(n)}var E=class n{constructor(e,t,s,r,a,i){this.config=e;this.selector=t,this.executor=s,this.scheduler=r,this.flakyTracker=a,this.reporter=i,this.ciEnvironment=H()}selector;executor;scheduler;flakyTracker;reporter;ciEnvironment;static async create(e){let t=e.flakyHistoryPath?await G(e.flakyHistoryPath,e.flakyTracker):C(e.flakyTracker),s=new f({...e.vitest,cwd:e.cwd,flakyTracker:t}),{ImpactAnalyzerService:r}=await import("./impact-analyzer-MTOVFD3O.js"),a=new r(e.memory),i=F({cwd:e.cwd,baseRef:e.baseRef,impactAnalyzer:a}),o=_(s,{...e.scheduler,phases:e.phases}),l=x(e.reporter);return new n(e,i,s,o,t,l)}async run(){let e=Date.now(),t=[],s=this.config.runAllTests??!1,r=performance.now();if(!s){let p=await this.selector.selectAffectedTests();p.runAllTests?(s=!0,console.log(`[TestSchedulingPipeline] Running all tests: ${p.runAllReason}`)):p.selectedTests.length===0?(console.log("[TestSchedulingPipeline] No affected tests found, running all"),s=!0):(t=p.selectedTests,console.log(`[TestSchedulingPipeline] Selected ${t.length} affected tests`))}let a=performance.now()-r;if(this.config.useDAGAttention&&t.length>0)try{let{isDAGAttentionEnabled:p}=await import("./feature-flags-WBF5B6WE.js");if(p()){let{createDAGAttentionScheduler:h}=await import("./dag-attention-scheduler-PVAFQBDL.js"),T=h(),d=t.map(P=>({id:P,name:P,estimatedDuration:1e3,dependencies:[],priority:1,tags:[]})),N=T.schedule(d),I=[];for(let P of N.phases)I.push(...P.tests.map(O=>O.id));I.length>0&&(t=I)}}catch(p){process.env.DEBUG&&console.debug("[Pipeline] DAG attention scheduling skipped:",p instanceof Error?p.message:p)}let i=performance.now(),o;s?o=await this.scheduler.run():o=await this.runWithSelectedTests(t);let l=performance.now()-i,c=performance.now(),u=this.flakyTracker.analyze();this.config.flakyHistoryPath&&await D(this.flakyTracker,this.config.flakyHistoryPath);let m=performance.now()-c,g=performance.now();this.ciEnvironment.isCI&&await this.reporter.writeOutput(o);let R=performance.now()-g,w=Date.now()-e;return{phaseResults:o,selectedTests:t,ranAllTests:s,flakyAnalysis:u,ciEnvironment:this.ciEnvironment,totalDurationMs:w,stepLatencies:{selectionMs:a,executionMs:l,analysisMs:m,reportingMs:R}}}async runPhase(e){return this.scheduler.runPhase(e)}getFlakyTracker(){return this.flakyTracker}getSelector(){return this.selector}getStats(){return this.scheduler.getStats()}async abort(){await this.scheduler.abort()}async runWithSelectedTests(e){let t=[],s=this.config.phases??[];for(let r of s){let a=e.filter(i=>r.testPatterns.some(o=>o.startsWith("!")?!1:this.patternToRegex(o).test(i)));if(a.length>0){let i=await this.executor.execute(r,a);t.push(i)}}return t}patternToRegex(e){let t=e.replace(/[.+^${}()|[\]\\]/g,"\\$&").replace(/\*\*/g,".*").replace(/\*/g,"[^/]*");return new RegExp(t)}};async function U(n){return E.create(n)}async function ee(n){return(await U(n)).run()}export{B as DAGAttentionScheduler,k as DEFAULT_TEST_PHASES,A as FlakyTestTracker,v as GitAwareTestSelector,S as GitHubActionsReporter,b as PhaseScheduler,E as TestSchedulingPipeline,f as VitestPhaseExecutor,V as checkQualityThresholds,L as createDAGAttentionScheduler,C as createFlakyTracker,x as createGitHubActionsReporter,_ as createPhaseScheduler,U as createTestPipeline,F as createTestSelector,z as createVitestExecutor,H as detectCIEnvironment,q as getAffectedTests,G as loadFlakyTracker,Z as reportToGitHubActions,ee as runTestPipeline,D as saveFlakyTracker};
|
|
@@ -1,2 +1,2 @@
|
|
|
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.9.
|
|
2
|
-
import{b as r,e as f,f as k}from"./chunk-
|
|
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.9.5");process.exit(0)}
|
|
2
|
+
import{b as r,e as f,f as k}from"./chunk-YHSIUFFY.js";import{b as l}from"./chunk-NNNH36RU.js";import"./chunk-NDWWN2YC.js";import"./chunk-3KYKE7B6.js";import"./chunk-4FPCCKNQ.js";import"./chunk-WV7K5A7J.js";import"./chunk-6VB4VZCR.js";import"./chunk-HA4COQ66.js";import"./chunk-HT5EZYPZ.js";import"./chunk-I4HGIQC2.js";import"./chunk-Z2GK7COI.js";import"./chunk-OQCEI7Q4.js";import"./chunk-CNGRXBKO.js";import"./chunk-DFOANC7Z.js";import"./chunk-MYIDAWGQ.js";import"./chunk-TRO45ZLC.js";import"./chunk-VKT4STAE.js";import"./chunk-YDBMYTOV.js";import"./chunk-ALX5RJSR.js";import"./chunk-WIZOYPFT.js";import"./chunk-TSA5MUTQ.js";import"./chunk-4QGNSNQL.js";import"./chunk-UPFCV7MX.js";import"./chunk-PMFZHFCB.js";import"./chunk-3QH67ZYC.js";import"./chunk-2XJRSIM5.js";import"./chunk-GHFXURNS.js";import*as s from"path";import*as a from"fs";var u={enableOptimization:!0,enablePersistence:!0,storagePath:process.env.AQE_STORAGE_PATH??".agentic-qe",autoSaveIntervalMs:6e4,verbose:process.env.AQE_VERBOSE==="true"},i=!1,n=null,p=!1;async function B(t){if(i)return;let e={...u,...t};if(e.verbose&&console.log("[TokenBootstrap] Initializing token tracking..."),e.enablePersistence){let o=s.resolve(e.storagePath);a.existsSync(o)||a.mkdirSync(o,{recursive:!0})}if(e.enableOptimization)try{n=(await l(!0)).backend,await k(n,{enabled:!0,verbose:e.verbose}),e.verbose&&(console.log("[TokenBootstrap] TokenOptimizerService initialized"),console.log(`[TokenBootstrap] isEnabled() = ${f.isEnabled()}`))}catch(o){console.error("[TokenBootstrap] Failed to initialize TokenOptimizerService:",o)}if(e.enablePersistence){let o=s.join(e.storagePath,"token-metrics.json");r.configurePersistence({filePath:o,autoSaveIntervalMs:e.autoSaveIntervalMs});try{let c=await r.load();e.verbose&&console.log(`[TokenBootstrap] Loaded existing metrics: ${c}`)}catch{e.verbose&&console.log("[TokenBootstrap] No existing metrics to load")}r.startAutoSave(),e.verbose&&console.log(`[TokenBootstrap] Persistence configured: ${o}`)}p||(g(e.verbose),p=!0),i=!0,e.verbose&&console.log("[TokenBootstrap] Token tracking initialized successfully")}async function d(t=!1){if(i){if(t&&console.log("[TokenBootstrap] Shutting down token tracking..."),r.stopAutoSave(),r.hasUnsavedChanges())try{await r.save(),t&&console.log("[TokenBootstrap] Metrics saved successfully")}catch(e){console.error("[TokenBootstrap] Failed to save metrics:",e)}if(n){try{await n.dispose()}catch(e){console.debug("[TokenBootstrap] Memory backend disposal error:",e instanceof Error?e.message:e)}n=null}i=!1}}function h(){return i}function y(){return n}function g(t){let e=async o=>{t&&console.log(`[TokenBootstrap] Received ${o}, saving metrics...`),await d(t)};process.on("beforeExit",()=>e("beforeExit"))}export{B as bootstrapTokenTracking,y as getTokenMemoryBackend,h as isTokenTrackingInitialized,d as shutdownTokenTracking};
|
|
@@ -1,5 +1,5 @@
|
|
|
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.9.
|
|
2
|
-
import{a as k,b as u,d as S,e as f}from"./chunk-
|
|
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.9.5");process.exit(0)}
|
|
2
|
+
import{a as k,b as u,d as S,e as f}from"./chunk-YHSIUFFY.js";import"./chunk-NDWWN2YC.js";import"./chunk-3KYKE7B6.js";import"./chunk-4FPCCKNQ.js";import"./chunk-WV7K5A7J.js";import"./chunk-HA4COQ66.js";import"./chunk-HT5EZYPZ.js";import"./chunk-I4HGIQC2.js";import"./chunk-Z2GK7COI.js";import"./chunk-OQCEI7Q4.js";import"./chunk-CNGRXBKO.js";import"./chunk-DFOANC7Z.js";import{a as y,c as h}from"./chunk-MYIDAWGQ.js";import"./chunk-TRO45ZLC.js";import"./chunk-YDBMYTOV.js";import"./chunk-ALX5RJSR.js";import"./chunk-WIZOYPFT.js";import"./chunk-TSA5MUTQ.js";import"./chunk-4QGNSNQL.js";import"./chunk-UPFCV7MX.js";import"./chunk-PMFZHFCB.js";import"./chunk-3QH67ZYC.js";import"./chunk-2XJRSIM5.js";import"./chunk-GHFXURNS.js";import{Command as v}from"commander";import e from"chalk";h();import*as p from"fs";function L(){return new v("token-usage").description("View and analyze token consumption metrics (ADR-042)").option("-p, --period <period>","Time period: 1h, 24h, 7d, 30d","24h").option("-a, --by-agent","Group usage by agent").option("-d, --by-domain","Group usage by domain").option("-r, --recommendations","Show optimization recommendations").option("-e, --export <file>","Export to CSV file").option("--dashboard","Show compact token budget dashboard summary").option("--cache-stats","Show session operation cache statistics (Imp-15)").option("--json","Output as JSON").option("-v, --verbose","Show detailed output").action(async n=>{await w(n)})}async function w(o){let n=R(o.period);try{o.cacheStats?await x(o):o.dashboard?console.log(k()):o.byAgent?await U(n,o):o.byDomain?await A(n,o):o.recommendations?await C(n,o):o.export?await E(n,o.export,o):await O(n,o)}catch(s){console.error(e.red(`Error: ${y(s)}`)),process.exit(1)}}async function O(o,n){let s=u.getSessionSummary(o);if(n.json){console.log(JSON.stringify($(s),null,2));return}console.log(e.bold.cyan(`
|
|
3
3
|
\u{1F4CA} Token Usage Summary
|
|
4
4
|
`)),console.log(e.gray(`Period: ${o}`)),console.log(e.gray(`Session: ${s.sessionId}
|
|
5
5
|
`)),console.log(e.bold("Total Usage:")),console.log(` Input tokens: ${l(s.totalUsage.inputTokens)}`),console.log(` Output tokens: ${l(s.totalUsage.outputTokens)}`),console.log(` Total tokens: ${l(s.totalUsage.totalTokens)}`),s.totalUsage.estimatedCostUsd!==void 0&&console.log(` Estimated cost: ${T(s.totalUsage.estimatedCostUsd)}`),console.log(e.bold(`
|
|
@@ -1,2 +1,2 @@
|
|
|
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.9.
|
|
2
|
-
import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o}from"./chunk-
|
|
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.9.5");process.exit(0)}
|
|
2
|
+
import{a,b,c,d,e,f,g,h,i,j,k,l,m,n,o}from"./chunk-GFZRXQWH.js";import"./chunk-GHFXURNS.js";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};
|