@testmuai/kane-cli 0.8.11 → 0.8.12
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/dist/{ChatSurface-YFJDAXOG.js → ChatSurface-DALSIICW.js} +1 -1
- package/dist/{ChromeProfilePicker-PUCZN6WU.js → ChromeProfilePicker-ZMVZH3AK.js} +1 -1
- package/dist/{CliFeedbackPrompt-JAIB5MHS.js → CliFeedbackPrompt-K66H7YE6.js} +1 -1
- package/dist/{CliUploadProgress-53LQMQJD.js → CliUploadProgress-5DZHZY4M.js} +1 -1
- package/dist/{ConfigView-7HFP4OXS.js → ConfigView-S5KBV62S.js} +1 -1
- package/dist/EvidenceViewOffer-UACWB3YJ.js +2 -0
- package/dist/FolderPicker-YH5TKMX3.js +2 -0
- package/dist/{InfoBox-62YG3YNQ.js → InfoBox-7PAM2FQH.js} +1 -1
- package/dist/{LinksBox-6NS3GHWO.js → LinksBox-2NVZ3FHJ.js} +1 -1
- package/dist/{ProfilesView-HIKK2HPC.js → ProfilesView-SIUBF7IU.js} +1 -1
- package/dist/{ProjectPicker-2CJMO5TD.js → ProjectPicker-5NI554X3.js} +1 -1
- package/dist/{SaveSessionPrompt-4DTPZSXD.js → SaveSessionPrompt-5OULBV5N.js} +1 -1
- package/dist/SingleShotApp-LA3EMPUK.js +2 -0
- package/dist/{SummaryBox-A6LKKQXJ.js → SummaryBox-GTGF3CBO.js} +1 -1
- package/dist/TestMdRunView-5MNKJJMS.js +2 -0
- package/dist/{TestrunEvidenceTable-7SCCTZPH.js → TestrunEvidenceTable-7WBCOGYW.js} +1 -1
- package/dist/{WhoamiView-PDMQ6F5N.js → WhoamiView-E2SVBHLC.js} +1 -1
- package/dist/{app-download-K2ELUXWR.js → app-download-SAXSYXIV.js} +1 -1
- package/dist/{auth-5WJSFLCP.js → auth-3LLVDHOJ.js} +1 -1
- package/dist/{binary-QVQRWQFK.js → binary-WSMIRJNC.js} +1 -1
- package/dist/{bind-5WELCZ4S.js → bind-A3M4PV4V.js} +3 -3
- package/dist/{bootstrap-3LNHRDQH.js → bootstrap-QTVHGL45.js} +1 -1
- package/dist/bridge-E2C5VV3H.js +2 -0
- package/dist/{changelog-TK6DWFVW.js → changelog-CNYWOB2V.js} +1 -1
- package/dist/{chat-committer-MAW25ICC.js → chat-committer-RAOIL2T6.js} +1 -1
- package/dist/chat-controller-YJCNU76T.js +2 -0
- package/dist/{chunk-5LEO463W.js → chunk-24QPDHRD.js} +1 -1
- package/dist/{chunk-DLJIML73.js → chunk-2LXJ2ZM3.js} +1 -1
- package/dist/{chunk-GSNGC7HI.js → chunk-2MTAXT2U.js} +1 -1
- package/dist/{chunk-5NBT5IVT.js → chunk-3CCD434H.js} +1 -1
- package/dist/{chunk-K6BWPGBO.js → chunk-3G3LY6BM.js} +1 -1
- package/dist/{chunk-2E55VQYA.js → chunk-3N2YOHD6.js} +1 -1
- package/dist/{chunk-OC7TJTQG.js → chunk-3OU2F34I.js} +1 -1
- package/dist/{chunk-DHWS7SLT.js → chunk-3XWKKSIM.js} +2 -2
- package/dist/{chunk-TB2CCKL7.js → chunk-43DM2I6Q.js} +1 -1
- package/dist/{chunk-WRVDIZAI.js → chunk-4ASRA7CD.js} +2 -2
- package/dist/{chunk-ZMJD3CI7.js → chunk-4E4GJPEM.js} +1 -1
- package/dist/{chunk-CABRAZOL.js → chunk-4O6XBS5G.js} +1 -1
- package/dist/{chunk-DJJO4IHY.js → chunk-4T35SA2O.js} +1 -1
- package/dist/{chunk-YSNBXUM6.js → chunk-4TZSEC2C.js} +1 -1
- package/dist/{chunk-3D7VYEDP.js → chunk-54JZ6VEW.js} +1 -1
- package/dist/{chunk-FIODM24X.js → chunk-5A4QG7ZM.js} +1 -1
- package/dist/{chunk-A76UL3EN.js → chunk-5AHOVOWV.js} +1 -1
- package/dist/{chunk-6DOS5CJ5.js → chunk-5FYO3PFG.js} +1 -1
- package/dist/{chunk-QHSF2CXK.js → chunk-5G22NOZK.js} +1 -1
- package/dist/{chunk-47WY2637.js → chunk-5KLDW3ZW.js} +58 -57
- package/dist/{chunk-7P3JGF2X.js → chunk-6A47PRDS.js} +1 -1
- package/dist/{chunk-FYLMTZ3J.js → chunk-6FCPS2VT.js} +1 -1
- package/dist/{chunk-A4BDLZOD.js → chunk-75HF3GPO.js} +1 -1
- package/dist/{chunk-BE4FBVKY.js → chunk-7KAPHA56.js} +1 -1
- package/dist/{chunk-3FJNTRAS.js → chunk-7NXHVC7G.js} +1 -1
- package/dist/{chunk-Y4ODYIOP.js → chunk-7R5K4IGS.js} +1 -1
- package/dist/{chunk-JJJREAFQ.js → chunk-7RFGO3TH.js} +1 -1
- package/dist/{chunk-NVRXDLJN.js → chunk-AFNDJK2A.js} +1 -1
- package/dist/{chunk-X6WB2QTT.js → chunk-AHRL4E3M.js} +1 -1
- package/dist/{chunk-7KRCBN6X.js → chunk-APZCLVZD.js} +1 -1
- package/dist/{chunk-4VZRBBLF.js → chunk-ASYWKYTQ.js} +1 -1
- package/dist/{chunk-QIRZBOKA.js → chunk-COVIEKZN.js} +1 -1
- package/dist/{chunk-HJBORIFP.js → chunk-CQ3ZQ5UK.js} +3 -3
- package/dist/{chunk-4FXSDPQW.js → chunk-DYXYNH6X.js} +1 -1
- package/dist/{chunk-OKBEMFAW.js → chunk-EEFZXZTZ.js} +1 -1
- package/dist/{chunk-DP7GPS6S.js → chunk-EV64VI66.js} +1 -1
- package/dist/{chunk-7HUJVIMO.js → chunk-F2CET54H.js} +2 -2
- package/dist/{chunk-NYUMJDCE.js → chunk-FAREJ4P2.js} +1 -1
- package/dist/{chunk-CRPBARFG.js → chunk-FBYB3SRE.js} +1 -1
- package/dist/{chunk-TSW5A7W3.js → chunk-FHYG3QLL.js} +1 -1
- package/dist/{chunk-NLSR2IFN.js → chunk-G2Q2TP3O.js} +1 -1
- package/dist/{chunk-F7R6A6P5.js → chunk-G52YPXKT.js} +1 -1
- package/dist/{chunk-XB7EMX6J.js → chunk-GNAPBOAJ.js} +1 -1
- package/dist/chunk-GRDYYYIQ.js +2 -0
- package/dist/{chunk-2ZBY2GME.js → chunk-H6NHARB4.js} +1 -1
- package/dist/chunk-H6VS5RYO.js +11 -0
- package/dist/{chunk-3PMEHGH3.js → chunk-HPUQJRDX.js} +1 -1
- package/dist/{chunk-GV5BX2IQ.js → chunk-HWHLKBUT.js} +1 -1
- package/dist/{chunk-VGLY4HWA.js → chunk-I57TM22L.js} +1 -1
- package/dist/{chunk-OGJ6ZSLC.js → chunk-IE4BCGUE.js} +1 -1
- package/dist/{chunk-M3Q7IQMS.js → chunk-IGW77FMB.js} +1 -1
- package/dist/{chunk-B7K5WOOU.js → chunk-IVQX3AKL.js} +1 -1
- package/dist/{chunk-ZES42R57.js → chunk-IWVA37B6.js} +1 -1
- package/dist/{chunk-CQKKDIKA.js → chunk-JDGBRACP.js} +1 -1
- package/dist/{chunk-Z6GMZOVL.js → chunk-JOATASPP.js} +3 -3
- package/dist/{chunk-S63XGGBE.js → chunk-KAZGHWGK.js} +1 -1
- package/dist/{chunk-Z4QLCWLB.js → chunk-KGKJU27A.js} +1 -1
- package/dist/{chunk-JAO7TZBV.js → chunk-L2BCQQLJ.js} +1 -1
- package/dist/{chunk-OKCULEBD.js → chunk-L7GAZQYL.js} +1 -1
- package/dist/{chunk-7B7OSHPX.js → chunk-LLY7TQSI.js} +1 -1
- package/dist/{chunk-CBLUNSF4.js → chunk-M4WSRYRA.js} +1 -1
- package/dist/{chunk-FQRWYXFG.js → chunk-MMQLVGUJ.js} +1 -1
- package/dist/{chunk-6GH4DRKR.js → chunk-N7Z7BQYO.js} +1 -1
- package/dist/{chunk-DEUDRSU7.js → chunk-NJJQL54J.js} +1 -1
- package/dist/{chunk-GMXM4WHF.js → chunk-NSD2H67E.js} +1 -1
- package/dist/{chunk-YELGHSVH.js → chunk-O5U6EAL3.js} +1 -1
- package/dist/{chunk-4VYWTTT4.js → chunk-O7U5BVX5.js} +2 -2
- package/dist/{chunk-4AZ7IG2A.js → chunk-QZRHXGNI.js} +1 -1
- package/dist/{chunk-SNKFWPEM.js → chunk-RV7Q4RUV.js} +2 -2
- package/dist/{chunk-IX4FH5W6.js → chunk-SA6EDKUF.js} +1 -1
- package/dist/{chunk-O7RB4X6I.js → chunk-SACCB44S.js} +2 -2
- package/dist/{chunk-2QSG5ZG6.js → chunk-TLFNUXKS.js} +1 -1
- package/dist/chunk-U27OWZPW.js +368 -0
- package/dist/{chunk-HFRMJP2P.js → chunk-U2CIXGZR.js} +1 -1
- package/dist/{chunk-G5ZGEZCA.js → chunk-UDFDTFBL.js} +1 -1
- package/dist/{chunk-TYRTD5DD.js → chunk-UH2ZTX4E.js} +1 -1
- package/dist/{chunk-CL3AMEK6.js → chunk-UZXCCO7V.js} +1 -1
- package/dist/{chunk-YQ4MRF57.js → chunk-VDM3TWF6.js} +4 -4
- package/dist/{chunk-ASK4AZFC.js → chunk-VG7BTA5G.js} +1 -1
- package/dist/{chunk-R4EGL7VM.js → chunk-W3Z7AZNT.js} +1 -1
- package/dist/{chunk-VUOAFV27.js → chunk-WHYEXCTG.js} +1 -1
- package/dist/{chunk-HULEZ3D3.js → chunk-WIAZN7G4.js} +1 -1
- package/dist/{chunk-M7CGNE2D.js → chunk-WMVPJWWA.js} +1 -1
- package/dist/{chunk-4SXJKDHO.js → chunk-X6APRDUM.js} +2 -2
- package/dist/{chunk-OXHMUZJV.js → chunk-XMTSHHYQ.js} +1 -1
- package/dist/{chunk-B7TJIUKZ.js → chunk-XWO5MDEU.js} +1 -1
- package/dist/{chunk-AXW3WDFO.js → chunk-YF26DH4Z.js} +1 -1
- package/dist/{chunk-W7NI6JCF.js → chunk-YTAAF62A.js} +1 -1
- package/dist/{chunk-XYSFPVJX.js → chunk-ZVJGHQNG.js} +1 -1
- package/dist/{chunk-NGASEXVA.js → chunk-ZVZHE7KH.js} +2 -2
- package/dist/{chunk-W4IRHQGO.js → chunk-ZXN67F4U.js} +1 -1
- package/dist/{chunk-URLZULC7.js → chunk-ZZI4Y3CX.js} +1 -1
- package/dist/{committer-42AFWMEX.js → committer-C6UCDYMC.js} +1 -1
- package/dist/{config-KU2UICMC.js → config-HUK7V364.js} +1 -1
- package/dist/{cover-cmd-HAOBK2IC.js → cover-cmd-5LPHIOSI.js} +1 -1
- package/dist/{credentials-BEC4I5SE.js → credentials-6DP4KAMJ.js} +1 -1
- package/dist/{deps-bundle-EY5T7OH3.js → deps-bundle-PZNXSKLC.js} +1 -1
- package/dist/{deps-resolve-MPLFFCZZ.js → deps-resolve-62XK3LKV.js} +1 -1
- package/dist/design-committer-UPC6NZUF.js +2 -0
- package/dist/dispatch-7JCKGQVC.js +2 -0
- package/dist/{doctor-JBXA6WNL.js → doctor-ZQQ4VMPY.js} +1 -1
- package/dist/docx-convert-BIV5T7F5.js +1 -1
- package/dist/{dossier-WSWXZAPL.js → dossier-Y6TJWFZU.js} +1 -1
- package/dist/{evidence-MJV3PY2J.js → evidence-YAXIWZ6A.js} +1 -1
- package/dist/evolve-cmd-5ACHYQPE.js +2 -0
- package/dist/explain-3HAZY7Q6.js +2 -0
- package/dist/{explain-cmd-BXFR5DB6.js → explain-cmd-RMJPXD4U.js} +1 -1
- package/dist/{explain-cmd-IRQ2YX5L.js → explain-cmd-XCRO4AS6.js} +1 -1
- package/dist/{extract-bind-PPMY4FFA.js → extract-bind-BF2G6AS6.js} +3 -3
- package/dist/{extract-cmd-RHVLPNQB.js → extract-cmd-IPBCCR3T.js} +2 -2
- package/dist/{feeder-52VBZY3R.js → feeder-IOR3XRNF.js} +1 -1
- package/dist/{gaps-cmd-MSDGU6OU.js → gaps-cmd-3WXL6PAW.js} +1 -1
- package/dist/{generate-headless-NSK32S53.js → generate-headless-CLMSXEAS.js} +2 -2
- package/dist/index.js +115 -110
- package/dist/ingest-TTUQ7UDK.js +2 -0
- package/dist/ingest-cmd-KP5M6XTA.js +2 -0
- package/dist/install-5VWCH5GW.js +2 -0
- package/dist/{interactive-bind-4FNW3OYT.js → interactive-bind-MOV2VWHJ.js} +4 -4
- package/dist/{lifecycle-cmd-HYNG5KH6.js → lifecycle-cmd-KSMETBPP.js} +1 -1
- package/dist/{list-cmd-Y4WEOT3E.js → list-cmd-V3HJ5K4O.js} +1 -1
- package/dist/{list-commands-CJCEW7MQ.js → list-commands-KUDSKVP5.js} +1 -1
- package/dist/{logical-ids-N3UZACB4.js → logical-ids-MLXAH45L.js} +1 -1
- package/dist/login-flow-GZ3XHVCS.js +2 -0
- package/dist/{maintenance-cmd-UJNH47SG.js → maintenance-cmd-VFYGKY3X.js} +1 -1
- package/dist/{mobile-prompts-SJZVJWSB.js → mobile-prompts-WJVFBWW5.js} +1 -1
- package/dist/objective-variable-gate-GCQYYM77.js +2 -0
- package/dist/{persist-recorded-session-FWBAOQEF.js → persist-recorded-session-MHLD4A32.js} +1 -1
- package/dist/{phase-seed-2WI7KUYO.js → phase-seed-BMOSAA74.js} +1 -1
- package/dist/pipeline-G7KWRK2G.js +2 -0
- package/dist/prepare-target-SQ5IGKXD.js +2 -0
- package/dist/readmodel-TDRFVDVI.js +2 -0
- package/dist/reconcile-cmd-NI3AYU3Y.js +2 -0
- package/dist/{reconcile-deps-GMQA6ULT.js → reconcile-deps-DCHUFIEC.js} +2 -2
- package/dist/{reconcile-engine-XLLYS5ZB.js → reconcile-engine-QXUKUKSL.js} +1 -1
- package/dist/{recording-banner-CQBXZMT3.js → recording-banner-4H4AL6YN.js} +1 -1
- package/dist/{records-EW4PIJ5W.js → records-JLS63SDI.js} +1 -1
- package/dist/registry-R6QNPI5E.js +2 -0
- package/dist/{require-project-folder-K3E3QIOZ.js → require-project-folder-G2G4WKWW.js} +1 -1
- package/dist/{resolve-run-intent-3CENNCF3.js → resolve-run-intent-MZRPYN4V.js} +1 -1
- package/dist/{resolver-PSNP72H4.js → resolver-X5NHNX5O.js} +1 -1
- package/dist/{revert-RXHWWUMQ.js → revert-PRR3D4XM.js} +1 -1
- package/dist/{review-cmd-JUOWTME4.js → review-cmd-SAGIKWEW.js} +1 -1
- package/dist/run-PBS2J4N4.js +2 -0
- package/dist/run-VTUYLPSG.js +2 -0
- package/dist/{run-test-md-XBM6RMCI.js → run-test-md-4VRH7FU5.js} +2 -2
- package/dist/{sessions-cmd-PGE6LP2W.js → sessions-cmd-VDQGRBEM.js} +1 -1
- package/dist/{skill-installer-FBOPYFYS.js → skill-installer-WPW6NDCR.js} +1 -1
- package/dist/{spawner-URQ5OAY7.js → spawner-R3XOP3GP.js} +1 -1
- package/dist/{structured-answers-BZWJUX22.js → structured-answers-YAVW65G4.js} +1 -1
- package/dist/tcg-generate-HIC5AA3L.js +2 -0
- package/dist/testmd-actions-VOSP7L74.js +2 -0
- package/dist/{testmd-sync-TPUBEORI.js → testmd-sync-GNCDKPQN.js} +1 -1
- package/dist/token-refresh-GSFVJ6GU.js +2 -0
- package/dist/{validate-basic-BXBHTTTO.js → validate-basic-YNGP5JFB.js} +1 -1
- package/dist/variable-receipt-2VCUG7NN.js +2 -0
- package/dist/verdicts-PRXUKSDV.js +2 -0
- package/dist/{version-check-BGHE3LAK.js → version-check-GUGRBTIH.js} +1 -1
- package/dist/{view-cmd-XD5ENSML.js → view-cmd-SXXNDZIC.js} +1 -1
- package/dist/{walk-session-EYBUURRA.js → walk-session-G3DLBR24.js} +1 -1
- package/dist/{with-telemetry-L3SO6J3L.js → with-telemetry-5Y2CVPXK.js} +1 -1
- package/package.json +11 -11
- package/dist/EvidenceViewOffer-2T2ZGHIF.js +0 -2
- package/dist/FolderPicker-LTQW4YNR.js +0 -2
- package/dist/SingleShotApp-KXZF5ZJM.js +0 -2
- package/dist/TestMdRunView-6X6W5YAP.js +0 -2
- package/dist/bridge-WFSSMJ57.js +0 -2
- package/dist/chat-controller-6GW2HSJP.js +0 -2
- package/dist/chunk-2KQF6WLX.js +0 -363
- package/dist/design-committer-2BQVZPO4.js +0 -2
- package/dist/dispatch-NE35HS5F.js +0 -2
- package/dist/evolve-cmd-I4Z6IPIM.js +0 -2
- package/dist/explain-O3A2HZWD.js +0 -2
- package/dist/ingest-WTPY2VLS.js +0 -2
- package/dist/ingest-cmd-GOPW3SNF.js +0 -2
- package/dist/install-BDHZVEY4.js +0 -2
- package/dist/login-flow-DLG2WHSZ.js +0 -2
- package/dist/pipeline-B2TYZBMB.js +0 -2
- package/dist/prepare-target-JGVB7OKC.js +0 -2
- package/dist/readmodel-YDLGQDMH.js +0 -2
- package/dist/reconcile-cmd-6ILIXD3U.js +0 -2
- package/dist/registry-AA5YIO5Y.js +0 -2
- package/dist/run-6CMGGU2W.js +0 -2
- package/dist/run-PZIYMD35.js +0 -2
- package/dist/tcg-generate-BPLQ7WJ5.js +0 -2
- package/dist/testmd-actions-WJS2YM7B.js +0 -2
- package/dist/token-refresh-IT4LVE2H.js +0 -2
- package/dist/verdicts-J5MJHUGG.js +0 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire } from 'module'; const require = createRequire(import.meta.url);
|
|
2
|
-
import{a as T,f as P,g as $,h as G,j as N,k as M,l as B,m as I,n as L,o as U,p as F,r as z,s as C,t as _,u as O,v as K}from"./chunk-
|
|
2
|
+
import{a as T,f as P,g as $,h as G,j as N,k as M,l as B,m as I,n as L,o as U,p as F,r as z,s as C,t as _,u as O,v as K}from"./chunk-SA6EDKUF.js";import{b as k}from"./chunk-XWO5MDEU.js";import{d as J}from"./chunk-UZXCCO7V.js";import{c as x}from"./chunk-ZXN67F4U.js";import"./chunk-VZ7KXRXB.js";import"./chunk-YF26DH4Z.js";import"./chunk-TDPWFYTJ.js";import{a as A}from"./chunk-APZCLVZD.js";import"./chunk-FBYB3SRE.js";import{h as H}from"./chunk-H6NHARB4.js";import"./chunk-BPMSNGXQ.js";import"./chunk-VE3SUJMA.js";import"./chunk-ASYWKYTQ.js";import"./chunk-MMBBQ4OZ.js";import"./chunk-O7U5BVX5.js";import"./chunk-MSGW4JDG.js";import{n as E,o as q}from"./chunk-RSSOJ3L2.js";import"./chunk-5EOX4MEY.js";import"./chunk-Z7S3IWUX.js";import"./chunk-4JOD47QI.js";import"./chunk-3G3LY6BM.js";import"./chunk-GNAPBOAJ.js";import{a as R}from"./chunk-7KAPHA56.js";import"./chunk-DPUV6OSP.js";import"./chunk-NLCCBXXV.js";import"./chunk-RZ4F3BHX.js";import"./chunk-EYOCNMUM.js";import{a as j}from"./chunk-AFNDJK2A.js";import"./chunk-NJJQL54J.js";import"./chunk-UR6MHSHU.js";import{join as se}from"path";async function V(t){let e=t.projectId,n=t.folderId,r=null;if(!e&&t.autoResolve){let l=await t.resolver.resolve();if(!l)throw new $("unauthorized; run `kane-cli login`");let u=await H({creds:t.autoResolve.creds,config:t.autoResolve.config,profile:t.autoResolve.profile,env:t.autoResolve.envName,tmsCreds:{username:l.username,access_key:l.access_key},isLocal:!1,log:t.log});u.status==="ok"&&(e=u.projectId,n=n??u.folderId,u.autoDefaulted&&(r={projectId:u.autoDefaulted.projectId,projectName:u.autoDefaulted.projectName,folderId:u.autoDefaulted.folderId,folderName:u.autoDefaulted.folderName}))}return{baseUrl:`${t.env.testGeneratorBaseUrl}/test-generator/api/v2`,tmsBaseUrl:t.env.tmsBaseUrl,authResolver:t.resolver,projectId:e,folderId:n,suiteName:t.suiteName,autoDefaulted:r,log:t.log}}function Z(t){return t.reduce((e,n)=>e+(n.test_cases?.length??0),0)}var y=class{constructor(e=n=>process.stdout.write(n)){this.write=e}emit(e){this.write(JSON.stringify(e)+`
|
|
3
3
|
`)}onStart(e){this.emit({type:"generate_start",request_id:e.requestId,objective_chars:e.objectiveChars,scenario_limit:e.scenarioLimit,per_scenario_limit:e.perScenarioLimit,is_refine:e.isRefine})}onUpload(e){this.emit({type:"generate_upload",file:e.file,index:e.index,total:e.total,status:e.status})}onThinking(e){this.emit({type:"generate_thinking",took_ms:e.tookMs})}onProgress(e){this.emit({type:"generate_progress",pct:e})}onSnapshot(e){this.emit({type:"generate_snapshot",scenario_count:e.scenarios.length,case_count:Z(e.scenarios),scenarios:e.scenarios})}onClarification(e){this.emit({type:"generate_clarification",text:e})}onChat(e){this.emit({type:"generate_chat",text:e})}onError(e){this.emit({type:"error",message:e})}onSaveResult(e){this.emit({type:"generate_save_result",suite_dir:e.suiteDir,saved:e.saved,fell_back:e.fellBack,...e.warning?{warning:e.warning}:{}})}onDone(e){this.emit({type:"generate_done",request_id:e.requestId,status:e.status,scenario_count:e.scenarioCount,case_count:e.caseCount,refine_hint:e.refineHint,save_hint:e.saveHint,...e.suiteDir?{suite_dir:e.suiteDir}:{}})}onUpdateAvailable(e){this.emit({type:"update_available",current:e.current,latest:e.latest,severity:e.severity})}},S=class{constructor(e=n=>process.stdout.write(n)){this.write=e}onStart(e){let n=e.isRefine?"Refining":"Generating";this.write(`${n} (request ${e.requestId})\u2026
|
|
4
4
|
`)}onUpload(e){e.status==="uploading"&&this.write(` uploading ${e.file} (${e.index}/${e.total})
|
|
5
5
|
`)}onThinking(e){let n=e.tookMs?` (${Math.round(e.tookMs/1e3)}s)`:"";this.write(` thinking${n}
|
|
@@ -16,6 +16,6 @@ import{a as T,f as P,g as $,h as G,j as N,k as M,l as B,m as I,n as L,o as U,p a
|
|
|
16
16
|
`),this.write(` Save: ${e.saveHint}
|
|
17
17
|
`),e.suiteDir&&this.write(` Saved: ${e.suiteDir}
|
|
18
18
|
`)}onUpdateAvailable(e){this.write(`(update available: ${e.current} \u2192 ${e.latest})
|
|
19
|
-
`)}};import{createHash as ee}from"crypto";function te(t){return ee("sha1").update(JSON.stringify({t:t.title,p:t.preconditions,m:t.manual_steps})).digest("hex")}function re(t){let e=[];for(let n of t.scenarios)for(let r of n.test_cases??[])I(r)&&r.manual_steps!=null&&e.push(r);return e}async function ne(t,e,n){let r=new Array(t.length),l=0,u=Array.from({length:Math.min(e,t.length)},async()=>{for(;;){let d=l++;if(d>=t.length)return;try{r[d]={ok:!0,value:await n(t[d])}}catch{r[d]={ok:!1}}}});return await Promise.all(u),r}async function Y(t,e,n){let r=re(t),l=n.run??(async(c,s)=>{let m=await n.resolveAuth(),o=U({objective:c,model:n.model,sessionId:n.sessionId,auth:m});return F(o,n.spawnOpts,s)}),u=r.map(te),d=[...new Set(u)],g=new Map;d.forEach(c=>{g.set(c,r[u.indexOf(c)])});let p=d.map(c=>g.get(c)),v=await ne(p,n.concurrency??3,c=>l(L(c))),i=new Map;d.forEach((c,s)=>{let m=v[s];m.ok&&i.set(c,m.value)});let f=new Map;r.forEach((c,s)=>{f.set(c.id,i.get(u[s]))});let a=0;for(let c of t.scenarios)for(let s of c.test_cases??[])I(s)&&!f.get(s.id)&&a++;let w=c=>{let s=f.get(c.id);return s?N(s,c):M(c)};return{...await B(t,e,{suiteName:n.suiteName,redirectBareCwd:!1},w),fellBack:a}}function Pe(t,e){let n=!!t.agent||!!t.refine||!!t.save||!e,r=t.agent?"agent":"plain";return{headless:n,mode:r}}function $e(t){return t.refine&&t.save?{error:"use --refine or --save, not both"}:t.save?t.objective?{error:"--save takes no objective; use --refine to add to a request"}:t.req?{op:"save"}:{error:"--save requires --req <id>"}:t.refine?t.req?t.objective?t.out?{error:"--out is only valid with --save"}:{op:"refine"}:{error:"--refine needs a refinement objective"}:{error:"--refine requires --req <id>"}:t.req?{error:"--req requires --refine or --save"}:t.out?{error:"--out is only valid with --save"}:t.objective?{op:"new"}:{error:"provide an objective, or use --refine/--save with --req"}}function ie(){return se(process.cwd(),".testmuai","tests")}function Ge(t){if(typeof t!="string")return;let e=t.split(",").map(n=>n.trim()).filter(Boolean);return e.length?e:void 0}var X="tcg-generate-headless";function Q(t){return{refineHint:`kane-cli generate "<refinement>" --refine --req ${t}`,saveHint:`kane-cli generate --save --req ${t}`}}function W(t){return t.scenarios.reduce((e,n)=>e+(n.test_cases?.length??0),0)}function oe(t){return t==="completed"?0:t==="stopped"?3:1}async function Ne(t,e){let n=e.write??(i=>process.stdout.write(i)),r=e.sink??(e.mode==="agent"?new y(n):new S(n)),l,u,d=null;try{let i=await e.makeClient();l=i.client,u=i.conn,d=i.autoDefaulted}catch(i){return r.onError(i.message),2}if(e.mode==="agent"&&d){let{buildAutoDefaultedNdjson:i}=await import("./require-project-folder-
|
|
19
|
+
`)}};import{createHash as ee}from"crypto";function te(t){return ee("sha1").update(JSON.stringify({t:t.title,p:t.preconditions,m:t.manual_steps})).digest("hex")}function re(t){let e=[];for(let n of t.scenarios)for(let r of n.test_cases??[])I(r)&&r.manual_steps!=null&&e.push(r);return e}async function ne(t,e,n){let r=new Array(t.length),l=0,u=Array.from({length:Math.min(e,t.length)},async()=>{for(;;){let d=l++;if(d>=t.length)return;try{r[d]={ok:!0,value:await n(t[d])}}catch{r[d]={ok:!1}}}});return await Promise.all(u),r}async function Y(t,e,n){let r=re(t),l=n.run??(async(c,s)=>{let m=await n.resolveAuth(),o=U({objective:c,model:n.model,sessionId:n.sessionId,auth:m});return F(o,n.spawnOpts,s)}),u=r.map(te),d=[...new Set(u)],g=new Map;d.forEach(c=>{g.set(c,r[u.indexOf(c)])});let p=d.map(c=>g.get(c)),v=await ne(p,n.concurrency??3,c=>l(L(c))),i=new Map;d.forEach((c,s)=>{let m=v[s];m.ok&&i.set(c,m.value)});let f=new Map;r.forEach((c,s)=>{f.set(c.id,i.get(u[s]))});let a=0;for(let c of t.scenarios)for(let s of c.test_cases??[])I(s)&&!f.get(s.id)&&a++;let w=c=>{let s=f.get(c.id);return s?N(s,c):M(c)};return{...await B(t,e,{suiteName:n.suiteName,redirectBareCwd:!1},w),fellBack:a}}function Pe(t,e){let n=!!t.agent||!!t.refine||!!t.save||!e,r=t.agent?"agent":"plain";return{headless:n,mode:r}}function $e(t){return t.refine&&t.save?{error:"use --refine or --save, not both"}:t.save?t.objective?{error:"--save takes no objective; use --refine to add to a request"}:t.req?{op:"save"}:{error:"--save requires --req <id>"}:t.refine?t.req?t.objective?t.out?{error:"--out is only valid with --save"}:{op:"refine"}:{error:"--refine needs a refinement objective"}:{error:"--refine requires --req <id>"}:t.req?{error:"--req requires --refine or --save"}:t.out?{error:"--out is only valid with --save"}:t.objective?{op:"new"}:{error:"provide an objective, or use --refine/--save with --req"}}function ie(){return se(process.cwd(),".testmuai","tests")}function Ge(t){if(typeof t!="string")return;let e=t.split(",").map(n=>n.trim()).filter(Boolean);return e.length?e:void 0}var X="tcg-generate-headless";function Q(t){return{refineHint:`kane-cli generate "<refinement>" --refine --req ${t}`,saveHint:`kane-cli generate --save --req ${t}`}}function W(t){return t.scenarios.reduce((e,n)=>e+(n.test_cases?.length??0),0)}function oe(t){return t==="completed"?0:t==="stopped"?3:1}async function Ne(t,e){let n=e.write??(i=>process.stdout.write(i)),r=e.sink??(e.mode==="agent"?new y(n):new S(n)),l,u,d=null;try{let i=await e.makeClient();l=i.client,u=i.conn,d=i.autoDefaulted}catch(i){return r.onError(i.message),2}if(e.mode==="agent"&&d){let{buildAutoDefaultedNdjson:i}=await import("./require-project-folder-G2G4WKWW.js");n(i(d))}try{let i=await(e.checkUpdate??J)();i&&r.onUpdateAvailable(i)}catch{}let g=t.reqId??null;E(X,()=>{g&&l.cancel(g).catch(()=>{})});let p=process.cwd(),v={validate:e.validate??z,upload:e.upload??O,buildMappings:K,onUpload:i=>r.onUpload(i)};try{if(t.op==="save"){let s;try{s=(await l.attach(t.reqId)).state}catch(D){return r.onError(D.message),2}g=s.requestId,r.onSnapshot(s);let m=t.outDir??ie(),o=await e.materialize(s,m,t.suiteName);r.onSaveResult({suiteDir:o.suiteDir,saved:o.paths.length,fellBack:o.fellBack,warning:o.warning});let h=Q(s.requestId);return r.onDone({requestId:s.requestId,status:"completed",scenarioCount:s.scenarios.length,caseCount:W(s),refineHint:h.refineHint,saveHint:h.saveHint,suiteDir:o.suiteDir}),0}let i=t.op==="refine",f,a;if(i){let s;try{s=await l.attach(t.reqId)}catch(o){return r.onError(o.message),2}if(a=s.state,g=a.requestId,a.error)return r.onError(a.error),2;let m;try{m=await _({promptText:t.objective,filePaths:t.files??[],cwd:p,scenarios:a.scenarios,isRefine:!0,conn:u,deps:v})}catch(o){if(o instanceof C){for(let h of o.errors)r.onError(h);return 2}return r.onError(o.message),2}for(let o of m.warnings)process.stderr.write(`warning: ${o}
|
|
20
20
|
`);r.onStart({requestId:a.requestId,objectiveChars:m.promptText.length,scenarioLimit:t.scenarioLimit,perScenarioLimit:t.perScenarioLimit,isRefine:!0});try{await l.chat(t.reqId,m.promptText,{mappings:m.mappings,attachments:m.attachments})}catch(o){return r.onError(o.message),2}f=s.events}else{let s;try{s=await _({promptText:t.objective,filePaths:t.files??[],cwd:p,scenarios:[],isRefine:!1,conn:u,deps:v})}catch(o){if(o instanceof C){for(let h of o.errors)r.onError(h);return 2}return r.onError(o.message),2}for(let o of s.warnings)process.stderr.write(`warning: ${o}
|
|
21
21
|
`);let m;try{m=await l.start({prompt:s.promptText,attachments:s.attachments,scenarioLimit:t.scenarioLimit,perScenarioLimit:t.perScenarioLimit,memoryEnhancement:t.memory})}catch(o){return r.onError(o.message),2}a=m.state,g=a.requestId,r.onStart({requestId:a.requestId,objectiveChars:s.promptText.length,scenarioLimit:t.scenarioLimit,perScenarioLimit:t.perScenarioLimit,isRefine:!1}),f=m.events}let w="";for await(let s of f){switch(a=P(a,s),s.type){case"thinking_done":r.onThinking({tookMs:s.tookMs});break;case"progress":r.onProgress(s.pct);break;case"clarification":r.onClarification(s.text);break;case"chat":r.onChat(s.text);break;case"error":r.onError(s.message);break;case"done":w=s.status;break;default:break}if(s.type==="done"||s.type!=="thinking"&&a.status&&T(a.status))break}r.onSnapshot(a);let b=w||a.status||"completed",c=Q(a.requestId);return r.onDone({requestId:a.requestId,status:b,scenarioCount:a.scenarios.length,caseCount:W(a),refineHint:c.refineHint,saveHint:c.saveHint,suiteDir:void 0}),oe(b)}finally{q(X)}}var ae=()=>{};async function Me(t){let e=new j,n=new A,r=e.getActiveProfile()??"default",l=t.env??e.getDefaultEnv()??"prod",u=R(l),d=new x;t.name&&d.setSessionName(t.name);let g=n.load().model,p=async()=>{let i=await k({creds:e,env:l,usernameFlag:t.username,accessKeyFlag:t.accessKey,log:()=>{}}),f=await V({resolver:i.resolver,env:u,log:ae,projectId:t.projectId,folderId:t.folderId,autoResolve:t.projectId?void 0:{creds:e,config:n,profile:r,envName:l}});return{client:G(f),conn:f,autoDefaulted:f.autoDefaulted??null}},v=async()=>{let i=await k({creds:e,env:l,usernameFlag:t.username,accessKeyFlag:t.accessKey,log:()=>{}});return i.basicAuth?{username:i.basicAuth.username,access_key:i.basicAuth.access_key}:i.token?{auth:{type:"bearer",token:i.token}}:{}};return{mode:t.mode,makeClient:p,materialize:(i,f,a)=>Y(i,f,{model:g,sessionId:d.sessionId,resolveAuth:v,spawnOpts:{environment:l},suiteName:a})}}export{Me as buildHeadlessDeps,Pe as decideGenerateMode,ie as defaultOutDir,Ge as parseFilesFlag,$e as resolveGenerateOp,Ne as runGenerateHeadless};
|