@qwen-code/qwen-code 0.19.12 → 0.20.0-nightly.20260720.0c271659d
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/bundled/qc-helper/docs/integration-github-action.md +1 -1
- package/bundled/qc-helper/docs/qwen-serve.md +42 -5
- package/bundled/review/DESIGN.md +2 -2
- package/bundled/review/SKILL.md +13 -9
- package/chunks/{MaxSizedBox-QOXLJGAF.js → MaxSizedBox-ED3QND6V.js} +30 -27
- package/chunks/{StandaloneSessionPicker-FLV6CGYJ.js → StandaloneSessionPicker-NQVAOTKS.js} +50 -45
- package/chunks/{acpAgent-OB2CTF3P.js → acpAgent-HOBFF5B6.js} +353 -130
- package/chunks/{agent-CKSI7BTR.js → agent-J7EPFLA6.js} +22 -22
- package/chunks/{agent-headless-U36LIYTU.js → agent-headless-RRG3JU7Q.js} +22 -22
- package/chunks/{anthropicContentGenerator-ZZRGFEES.js → anthropicContentGenerator-HVKLXOOU.js} +6 -5
- package/chunks/{artifact-tool-PHO5XEGZ.js → artifact-tool-WBCAMD3O.js} +2 -2
- package/chunks/{askUserQuestion-CEPBT47X.js → askUserQuestion-6DZC4UV5.js} +2 -2
- package/chunks/{bridge-AIKTINJG.js → bridge-OW5FZ6BF.js} +25 -25
- package/chunks/build-SSCNEHZZ.js +62 -0
- package/chunks/{channel-worker-group-NEUVTPB2.js → channel-worker-group-53CMOPFT.js} +4 -4
- package/chunks/{channel-worker-manager-7CQVOVWV.js → channel-worker-manager-UTXILKC2.js} +4 -4
- package/chunks/{channel-worker-supervisor-3BU2KNCZ.js → channel-worker-supervisor-ZGO2W2MD.js} +3 -3
- package/chunks/chunk-27AJEU6G.js +442 -0
- package/chunks/{chunk-BABX5XRO.js → chunk-2HOVDT7W.js} +1 -1
- package/chunks/{chunk-GW7BONBU.js → chunk-2JOLZA6L.js} +5 -5
- package/chunks/{chunk-ZSDFNE6Y.js → chunk-2TDSM7I6.js} +3 -3
- package/chunks/{chunk-6IITZE7O.js → chunk-2YJLFCYI.js} +7 -7
- package/chunks/{chunk-VEFR4XJQ.js → chunk-37MGCVTS.js} +1 -1
- package/chunks/{chunk-3B6PSWHE.js → chunk-3ML52IFS.js} +4 -4
- package/chunks/{chunk-TKASNYDS.js → chunk-3QR5MOHP.js} +2 -2
- package/chunks/{chunk-KRMARA3A.js → chunk-3SNKL6L6.js} +29 -13
- package/chunks/{chunk-DJ4VHAFJ.js → chunk-3ZL6YMO2.js} +3 -3
- package/chunks/chunk-43T5WDQ7.js +127 -0
- package/chunks/{chunk-W6CQPLWM.js → chunk-4ODB7WIB.js} +1 -1
- package/chunks/{chunk-CHPQFLW6.js → chunk-4UH63YE5.js} +5 -5
- package/chunks/{chunk-2CCDMJM7.js → chunk-53OPIXUE.js} +3 -3
- package/chunks/{chunk-HTHUX2T5.js → chunk-5QWWOFGG.js} +0 -1
- package/chunks/{chunk-3DJY4IFO.js → chunk-5SCI6E3E.js} +1 -1
- package/chunks/{chunk-4CHDYDG3.js → chunk-6EFTQYW7.js} +1 -1
- package/chunks/{chunk-OBSLEYCD.js → chunk-6HQW55TM.js} +29 -2
- package/chunks/{chunk-N47VAEAJ.js → chunk-6MN6XJTR.js} +2379 -1291
- package/chunks/{chunk-UCTCDLDS.js → chunk-6VGRTGOG.js} +1 -1
- package/chunks/{chunk-KNGZ5EYL.js → chunk-7JQK6FXK.js} +198 -120
- package/chunks/{chunk-2476XGOU.js → chunk-A4TJMY65.js} +1 -1
- package/chunks/{chunk-67Q33DQY.js → chunk-AMRWCMX4.js} +4 -4
- package/chunks/{chunk-XAAEDML2.js → chunk-AYCDXHZB.js} +1 -1
- package/chunks/{chunk-VAJS2E2D.js → chunk-BDBMYST4.js} +1 -1
- package/chunks/{chunk-F2RR4HO2.js → chunk-BVLROR2T.js} +1 -1
- package/chunks/{chunk-UE5TZ55T.js → chunk-C27BYUX6.js} +29 -2
- package/chunks/{chunk-PK7COE5O.js → chunk-CL7IRYTA.js} +1 -1
- package/chunks/{chunk-KMJOMWHE.js → chunk-COWNNAWJ.js} +1 -1
- package/chunks/{chunk-UOA2IHRI.js → chunk-CPCVCKKF.js} +1 -1
- package/chunks/{chunk-4RPARQ5D.js → chunk-D2VIDMVM.js} +2 -2
- package/chunks/{chunk-4MPYGENG.js → chunk-DCCW7CRR.js} +6 -6
- package/chunks/chunk-DIKIJS6Z.js +114 -0
- package/chunks/{chunk-ETN2G32U.js → chunk-DR5AUNJ2.js} +4 -4
- package/chunks/{chunk-6ETOSWAO.js → chunk-DSBCU6JY.js} +3 -3
- package/chunks/{chunk-LKR7QQ63.js → chunk-EAUYY7SS.js} +3 -3
- package/chunks/{chunk-J2MKYJKZ.js → chunk-EIAK6Q2B.js} +2 -2
- package/chunks/{chunk-WEPXQKGP.js → chunk-EZVDJFZ7.js} +1 -1
- package/chunks/{chunk-WHQNBBWW.js → chunk-FLSVD6BS.js} +2 -2
- package/chunks/{chunk-3ESL7JXA.js → chunk-FODJ5Q5K.js} +3 -3
- package/chunks/{chunk-4XCVGEEX.js → chunk-FSL5W5TI.js} +3 -3
- package/chunks/{chunk-NE6HHLL3.js → chunk-FWT66O5E.js} +2 -2
- package/chunks/{chunk-OSSDHJDU.js → chunk-G45X5TRN.js} +1 -1
- package/chunks/{chunk-ZGT623SG.js → chunk-G6MDKXDP.js} +12 -12
- package/chunks/{chunk-KANTXY7B.js → chunk-GKY2OJ7R.js} +2 -2
- package/chunks/chunk-GMGDLUC7.js +37 -0
- package/chunks/{chunk-J6NT5YTN.js → chunk-H2XVO6NE.js} +1 -289
- package/chunks/{chunk-XSEWNUMZ.js → chunk-I4HZ4GOD.js} +8 -8
- package/chunks/{chunk-CPU6I5YV.js → chunk-I6JUVU7J.js} +34 -24
- package/chunks/{chunk-UZC5VPOJ.js → chunk-IDGTC5AS.js} +3 -3
- package/chunks/{chunk-QIFTJDBY.js → chunk-INL2RSLA.js} +1 -1
- package/chunks/{chunk-GSPWDTYY.js → chunk-INQQM52C.js} +18 -16
- package/chunks/{chunk-HVGJWOR6.js → chunk-JBCFW3IL.js} +2 -2
- package/chunks/{chunk-LPHGXXZX.js → chunk-JD3MKVKL.js} +1 -1
- package/chunks/{chunk-GCY7QTCE.js → chunk-JDPCOUZ3.js} +1602 -398
- package/chunks/{chunk-NUHSLBJZ.js → chunk-JNWZQ27S.js} +15 -9
- package/chunks/{chunk-KGWA7XYL.js → chunk-JRJ2LV6P.js} +6 -226
- package/chunks/{chunk-QSG4ZFG4.js → chunk-KTUQMDEP.js} +1 -1
- package/chunks/{chunk-RKUMFUFM.js → chunk-LTQ5C5AB.js} +4 -4
- package/chunks/{chunk-V4PCIS25.js → chunk-MAQQGNQ5.js} +44 -1
- package/chunks/{chunk-EISVEV45.js → chunk-NBMIC7DR.js} +2 -2
- package/chunks/{chunk-GEHSF7MS.js → chunk-NEEB7UEN.js} +2545 -1974
- package/chunks/{chunk-BKNPMEN6.js → chunk-NIJEXGV6.js} +93 -17
- package/chunks/{chunk-PR5XQ73G.js → chunk-NQVA6O7F.js} +2 -2
- package/chunks/{chunk-FUSMC3SZ.js → chunk-NT324EJ6.js} +13 -8
- package/chunks/{chunk-5N7M4XYN.js → chunk-O2SPEQFA.js} +5 -5
- package/chunks/{chunk-OEHCAWUA.js → chunk-OLMETXLX.js} +2 -2
- package/chunks/{chunk-JCJPZMJV.js → chunk-OOCI5VVU.js} +1 -1
- package/chunks/{chunk-XSPFQQRE.js → chunk-OONJNQ42.js} +3 -3
- package/chunks/{chunk-ANRANWVE.js → chunk-OP4MOGXF.js} +1 -1
- package/chunks/{chunk-SGPFJMRP.js → chunk-PBATSWUQ.js} +1 -1
- package/chunks/chunk-QKYTTBYW.js +624 -0
- package/chunks/{chunk-W4UN42YP.js → chunk-QOSKUG5P.js} +77 -20
- package/chunks/{chunk-76BFY7AF.js → chunk-QTERJVPZ.js} +1 -6
- package/chunks/{chunk-WIYV7CSF.js → chunk-RB7NXUP5.js} +3 -3
- package/chunks/{chunk-HCCR43AY.js → chunk-RFIAR4YL.js} +1 -1
- package/chunks/{chunk-GMUPIMHF.js → chunk-RS5JPH6Y.js} +3 -3
- package/chunks/chunk-RS7MT2QG.js +305 -0
- package/chunks/{chunk-GXFYV7MP.js → chunk-SG2PEESS.js} +1106 -592
- package/chunks/{chunk-PUKUUASO.js → chunk-SLLG5XXE.js} +1 -1
- package/chunks/{chunk-GLH2NTPB.js → chunk-SQMTULHJ.js} +1 -1
- package/chunks/{chunk-NPMVLWYL.js → chunk-STFP7PJR.js} +6 -6
- package/chunks/chunk-SV5PQVQE.js +71 -0
- package/chunks/{chunk-HZ4M2UQD.js → chunk-TFNZCC4B.js} +1 -1
- package/chunks/{chunk-5QSVANRT.js → chunk-THNJYTA6.js} +2 -2
- package/chunks/{chunk-MRE77ST5.js → chunk-TN2BYMNH.js} +69 -2216
- package/chunks/{chunk-64GC5EMF.js → chunk-TQBA6DVX.js} +1 -1
- package/chunks/{chunk-VLHQMOZK.js → chunk-U24E4R5U.js} +3 -3
- package/chunks/{chunk-4CA4WUMS.js → chunk-UEY4AYUL.js} +2 -2
- package/chunks/{chunk-42VIHAYT.js → chunk-UGRL5B5F.js} +1 -1
- package/chunks/chunk-V7RNNPGC.js +44 -0
- package/chunks/{chunk-R3EDIMYZ.js → chunk-VGFFYNBD.js} +1 -1
- package/chunks/chunk-VIOFKPPN.js +125 -0
- package/chunks/{chunk-BEZPRKD3.js → chunk-VLDBVLC4.js} +156 -2
- package/chunks/{chunk-HD6EGS5K.js → chunk-VWLLDHAY.js} +6 -6
- package/chunks/chunk-WCDH2CRI.js +1187 -0
- package/chunks/{chunk-7SX6WZNO.js → chunk-XVVH63JG.js} +3 -3
- package/chunks/{chunk-I7RRHHYG.js → chunk-Y2ENGUD6.js} +1 -1
- package/chunks/{chunk-NALRQ3SG.js → chunk-Y5534U4G.js} +332 -116
- package/chunks/{chunk-4SJJT466.js → chunk-YDZ6J2BY.js} +72 -159
- package/chunks/{chunk-APOFULHK.js → chunk-YNBP3YSU.js} +7 -6
- package/chunks/{chunk-EFAXBOQO.js → chunk-YWEW33JY.js} +7 -7
- package/chunks/{chunk-335ECZTA.js → chunk-ZEOZL37W.js} +1 -1
- package/chunks/{chunk-DUR7BZYK.js → chunk-ZGJ4LDD2.js} +53 -28
- package/chunks/{computer-use-4PUGCUQK.js → computer-use-ET5476VX.js} +22 -22
- package/chunks/{config-utils-6PJUXHLI.js → config-utils-AHQ6YZ66.js} +3 -3
- package/chunks/{contextCommand-C57KTWFV.js → contextCommand-QIULFDBF.js} +25 -26
- package/chunks/{create-sub-session-5Q42XR6I.js → create-sub-session-BVL2ZHTM.js} +22 -22
- package/chunks/{create-sub-session-DIJOV6HV.js → create-sub-session-P26FE5GG.js} +2 -2
- package/chunks/{cron-create-X462ERYA.js → cron-create-JWFHBDRQ.js} +4 -4
- package/chunks/{cron-delete-SL5UJUM3.js → cron-delete-GDX4E26G.js} +4 -4
- package/chunks/{cron-list-3MD6SVXI.js → cron-list-USMAIWPT.js} +4 -4
- package/chunks/{daemon-ZW6LHOXT.js → daemon-EE5T3KOW.js} +169 -84
- package/chunks/{daemon-status-provider-YPV3UXHT.js → daemon-status-provider-L5UW7TGV.js} +29 -29
- package/chunks/{dist-3DQNQJ6H.js → dist-2BHAYBKP.js} +1 -1
- package/chunks/{dist-J2H4KTLB.js → dist-2MIU4UUH.js} +1 -1
- package/chunks/{dist-IEQSDXS7.js → dist-53PZYC5B.js} +2 -2
- package/chunks/{dist-NUXRQHC5.js → dist-AU7NQQRP.js} +1 -1
- package/chunks/{dist-XLE6ODMB.js → dist-FUTEXY6A.js} +1 -1
- package/chunks/{dist-IGZMVS5R.js → dist-WGTQO7F2.js} +1 -1
- package/chunks/{earlyInputCapture-5VDWSYAM.js → earlyInputCapture-ZLAL5GTE.js} +23 -23
- package/chunks/{edit-GORZTX2U.js → edit-4ZOPT6OC.js} +23 -23
- package/chunks/{enter-worktree-LJB2AW4L.js → enter-worktree-DFP5CZYS.js} +22 -22
- package/chunks/{enterPlanMode-LIIPP37T.js → enterPlanMode-7VEJ7A2A.js} +22 -22
- package/chunks/{environment-HQ2UHJ35.js → environment-KHS35XJY.js} +24 -24
- package/chunks/{errors-6JD5VMVQ.js → errors-574WBU5R.js} +24 -24
- package/chunks/{exit-worktree-IEP2WHOV.js → exit-worktree-5Q7V6D4C.js} +22 -22
- package/chunks/{exitPlanMode-U5Z6XBLO.js → exitPlanMode-SX2F6PDJ.js} +22 -22
- package/chunks/{fast-path-HFKNMP23.js → fast-path-G7BLOZVF.js} +2 -2
- package/chunks/{gemini-C2SCJH3N.js → gemini-M4JWSTGU.js} +70 -68
- package/chunks/{geminiContentGenerator-ADZTXEKV.js → geminiContentGenerator-MKXLUFUH.js} +4 -4
- package/chunks/{glob-GOAPGD6G.js → glob-FPKZY5W6.js} +22 -22
- package/chunks/{grep-HZLSTX7D.js → grep-RS22OMZG.js} +22 -22
- package/chunks/{handleAutoUpdate-UF74WGFE.js → handleAutoUpdate-RFNQ36JC.js} +27 -28
- package/chunks/{i18n-FMXIYUOC.js → i18n-MAEWSKYF.js} +23 -23
- package/chunks/{initializer-ERDBM3DU.js → initializer-T2BFZJBP.js} +28 -28
- package/chunks/{installationInfo-LROMXYLX.js → installationInfo-3UETF773.js} +25 -23
- package/chunks/{keychain-token-storage-K23CFKGN.js → keychain-token-storage-DWRJMNH3.js} +2 -2
- package/chunks/{list-6JPJROU5.js → list-FWZUKWD2.js} +30 -30
- package/chunks/{loadedSettingsAdapter-QCWYUBBF.js → loadedSettingsAdapter-3DUNHAPX.js} +27 -27
- package/chunks/{loop-wakeup-6H7OENTB.js → loop-wakeup-5GLTUBHA.js} +5 -5
- package/chunks/{ls-APTSOOS5.js → ls-FHBY3Y7I.js} +4 -4
- package/chunks/{lsp-HPACPJAN.js → lsp-B6VMEW6Y.js} +2 -2
- package/chunks/{mcp-3P3KWYWO.js → mcp-POXS7QWD.js} +27 -27
- package/chunks/{monitor-LMYKCF6R.js → monitor-2ZZC2NKH.js} +22 -22
- package/chunks/nonInteractiveCli-WSJVCB2W.js +126 -0
- package/chunks/{notebook-edit-IBEOVZ6A.js → notebook-edit-BMQLME3Q.js} +23 -23
- package/chunks/{openaiContentGenerator-42PZKET5.js → openaiContentGenerator-GOREG72R.js} +11 -11
- package/chunks/{pidfile-VTBDIGOH.js → pidfile-MVZDE5TC.js} +23 -23
- package/chunks/{processUtils-L7ZKOGDG.js → processUtils-RH5KNLDH.js} +2 -2
- package/chunks/{qwenContentGenerator-VR2CNFGI.js → qwenContentGenerator-R55BCLRI.js} +24 -24
- package/chunks/{qwenOAuth2-6LS2T3Q6.js → qwenOAuth2-QZBI2SOZ.js} +11 -11
- package/chunks/react-SG7JAQSZ.js +8 -0
- package/chunks/{read-file-VSKOE22I.js → read-file-CPS2CYYG.js} +8 -8
- package/chunks/{read-mcp-resource-C6NT52T6.js → read-mcp-resource-AKCL7I43.js} +2 -2
- package/chunks/{record-artifact-ENCU7QCL.js → record-artifact-PEUB7727.js} +2 -2
- package/chunks/resumeHistoryUtils-YD6DSYHU.js +78 -0
- package/chunks/{ripGrep-5V5FLW2A.js → ripGrep-UKGJ7RHZ.js} +22 -22
- package/chunks/{run-qwen-serve-LSOPP4R2.js → run-qwen-serve-GFKSKLF6.js} +1442 -148
- package/chunks/{runtime-LT7R4CS5.js → runtime-4KGNL3TP.js} +31 -31
- package/chunks/{scheduler-YOWQ7KZP.js → scheduler-GJ3CELWI.js} +22 -22
- package/chunks/{send-message-5GZ4FX2V.js → send-message-3RHE7HSM.js} +3 -3
- package/chunks/{serve-VWLBXKGK.js → serve-UU6Z4C7W.js} +27 -27
- package/chunks/{server-3RW3FYOH.js → server-RTJUMN24.js} +393 -256
- package/chunks/{session-ZONXFOBQ.js → session-EYD3CEB5.js} +79 -163
- package/chunks/{settings-JC3VC53L.js → settings-H5O22TGQ.js} +26 -26
- package/chunks/{shell-2NGEMAVM.js → shell-KVNHDHMT.js} +22 -22
- package/chunks/{skill-3U2T6H3E.js → skill-32525KCE.js} +10 -10
- package/chunks/{spawnChannel-QEAUPARQ.js → spawnChannel-G7DUQKHL.js} +24 -24
- package/chunks/{src-75ZPXO7B.js → src-DUFUUEHE.js} +52 -22
- package/chunks/{standalone-update-UUJWJWYY.js → standalone-update-UC6CWBLH.js} +24 -24
- package/chunks/{startInteractiveUI-V7XISPQ6.js → startInteractiveUI-A5YYAWLF.js} +5451 -2045
- package/chunks/{syntheticOutput-ULOVVLY4.js → syntheticOutput-FG5PQKIR.js} +3 -3
- package/chunks/{task-create-DUE2PMNI.js → task-create-HX32YXO7.js} +7 -7
- package/chunks/{task-list-WVPNX7BZ.js → task-list-QWSY4ZIU.js} +5 -5
- package/chunks/{task-stop-CPEQWOT6.js → task-stop-GWC6UWAL.js} +2 -2
- package/chunks/{task-update-HY2LNFFB.js → task-update-NCTAB73Q.js} +7 -7
- package/chunks/{team-create-R6AXDYPG.js → team-create-LS2Q32Y4.js} +22 -22
- package/chunks/{team-delete-JJV6IUOA.js → team-delete-KK37HTOG.js} +5 -5
- package/chunks/{team-plan-approval-O2ZPPT64.js → team-plan-approval-DWCZABX6.js} +22 -22
- package/chunks/{theme-manager-YIX2IC2D.js → theme-manager-E22CNBIL.js} +23 -23
- package/chunks/{todoWrite-JHHIDOIV.js → todoWrite-ERCAMLFS.js} +4 -4
- package/chunks/{tool-search-5IE2VO7X.js → tool-search-MHXUDFD2.js} +9 -9
- package/chunks/{total-session-admission-K6APQYEF.js → total-session-admission-KOPTGDJZ.js} +25 -25
- package/chunks/{trustedFolders-GPSSPVBF.js → trustedFolders-ANQXYAQT.js} +23 -23
- package/chunks/{update-relaunch-4BVAPX6Y.js → update-relaunch-HFGRB7PE.js} +9 -9
- package/chunks/{updateCheck-AHTHWLAM.js → updateCheck-EKIPND4B.js} +33 -26
- package/chunks/useAutoAcceptIndicator-EE22V2F5.js +80 -0
- package/chunks/{validateNonInterActiveAuth-UKAPCWDM.js → validateNonInterActiveAuth-RUICXVPH.js} +61 -63
- package/chunks/{version-EXGWKKQE.js → version-QLT755OV.js} +1 -1
- package/chunks/{web-fetch-ZDNE6FF2.js → web-fetch-DINW4Z65.js} +10 -10
- package/chunks/{workflow-G7U6OQWS.js → workflow-GPMXRWKK.js} +23 -23
- package/chunks/{workspace-providers-status-W6CEA6YM.js → workspace-providers-status-XCQKBVSX.js} +30 -30
- package/chunks/{workspace-registration-store-OGBMWCLC.js → workspace-registration-store-4I4KL7TN.js} +1 -1
- package/chunks/{workspace-registry-ZUWQM44P.js → workspace-registry-N4J57SFQ.js} +25 -25
- package/chunks/{workspace-service-UXX5P7GU.js → workspace-service-JJNJWVH3.js} +32 -32
- package/chunks/{workspace-skills-status-635B5R7N.js → workspace-skills-status-CEHLAQ2Y.js} +28 -28
- package/chunks/{write-file-DR3HN7IH.js → write-file-XRGEJRCC.js} +23 -23
- package/cli.js +11 -11
- package/package.json +3 -3
- package/web-shell/assets/{arc-_dVIKMdB.js → arc-DwJhljn9.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-MuN3nKpL.js → architectureDiagram-3BPJPVTR-qdxSRav-.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-BtmvJjzx.js → blockDiagram-GPEHLZMM-2-dKM5aM.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-Dvi58_BU.js → c4Diagram-AAUBKEIU-Dt_Nu2HD.js} +1 -1
- package/web-shell/assets/channel-C6uyh95L.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-YqxOVhS1.js → chunk-2J33WTMH-CBCeeNfD.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-DoBgbC9z.js → chunk-4BX2VUAB-DPAzjqNs.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-3NEQrBAr.js → chunk-55IACEB6-yrqyxvIK.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-DrCZQxp0.js → chunk-727SXJPM-DguD_BBT.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-m_g3zjgv.js → chunk-AQP2D5EJ-KRUOG9v0.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-D1_crABJ.js → chunk-FMBD7UC4-C0lilT2U.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-BdhgVtBx.js → chunk-ND2GUHAM-DG9epIWK.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-BlmThhm-.js → chunk-QZHKN3VN-PdJDkYHw.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-Cv8Ulf-B.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-Cv8Ulf-B.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-Cbjm_00Z.js → cose-bilkent-S5V4N54A-BAOPPuJm.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-C39QNVgC.js → dagre-BM42HDAG-CDHJv82_.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-DNXSAixC.js → diagram-2AECGRRQ-C_hkG5fN.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-BCbGUPEA.js → diagram-5GNKFQAL-e9zo_eKt.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-1eujKSDC.js → diagram-KO2AKTUF-BFN41SCb.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-DUMKXgql.js → diagram-LMA3HP47-DG72N0W0.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-BFktU3_u.js → diagram-OG6HWLK6-Dkmp-tdv.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-BvJC7DLk.js → erDiagram-TEJ5UH35-CyS0GnQV.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-Cgu3PlOt.js → flowDiagram-I6XJVG4X-Cg1SRmzV.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-DLNXN5Xh.js → ganttDiagram-6RSMTGT7-CoNkSLs3.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-BQFRDv6R.js → gitGraphDiagram-PVQCEYII-DEA6GWPa.js} +1 -1
- package/web-shell/assets/index-B49xd8_A.css +5 -0
- package/web-shell/assets/{index-CdC3pjP3.js → index-CMaZgs6B.js} +1 -1
- package/web-shell/assets/index-D-cDAZgO.js +1192 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-DT2mOSvp.js → infoDiagram-5YYISTIA-BZshyoGT.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-9fy_K4bd.js → ishikawaDiagram-YF4QCWOH-CT2ssZqC.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-CoGSEuhE.js → journeyDiagram-JHISSGLW-BtMQ0rDG.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-BP9hHYIj.js → kanban-definition-UN3LZRKU-CoDbK5Db.js} +1 -1
- package/web-shell/assets/{linear-uIroDsmp.js → linear-CwhZ6u7u.js} +1 -1
- package/web-shell/assets/{mermaid.core-BUwoStsA.js → mermaid.core-C9nn0nrr.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-DZB-FWim.js → mindmap-definition-RKZ34NQL-BXUbjTeL.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-YPptloKl.js → pieDiagram-4H26LBE5-JddiYlWQ.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-dgk3DSzm.js → quadrantDiagram-W4KKPZXB-DK5HKzXO.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-BH2En2i9.js → requirementDiagram-4Y6WPE33-Y-uipa_6.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-BB98feeI.js → sankeyDiagram-5OEKKPKP-BbWeqo8H.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-CunAIGh8.js → sequenceDiagram-3UESZ5HK-tX2gOoo5.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-DTJs_-I2.js → stateDiagram-AJRCARHV-CACN457G.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DaUeO2zt.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-Cd4AN7O0.js → timeline-definition-PNZ67QCA-DnHWKSOq.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-xIG-rUU9.js → vennDiagram-CIIHVFJN-BO8Yl2FG.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-D1UyjIcG.js → wardley-L42UT6IY-1NMqqrBi.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-BVM0Mb99.js → wardleyDiagram-YWT4CUSO-C3eWgIvD.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-BX31JDSz.js → xychartDiagram-2RQKCTM6-D0h8FgFX.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/chunk-EDFD7VOX.js +0 -368
- package/chunks/chunk-GFYFLDEG.js +0 -709
- package/chunks/chunk-LUJQUNKY.js +0 -3288
- package/chunks/nonInteractiveCli-YURFHZV5.js +0 -129
- package/web-shell/assets/channel-Bi5TehaT.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-BKhhRdd1.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BKhhRdd1.js +0 -1
- package/web-shell/assets/index-C_ouplMQ.js +0 -1187
- package/web-shell/assets/index-XGDFJE-X.css +0 -5
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DrfFMYta.js +0 -1
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
} from "./chunk-QR6U5QPP.js";
|
|
23
23
|
import {
|
|
24
24
|
defaultSpawnChannelFactory
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-SLLG5XXE.js";
|
|
26
26
|
import {
|
|
27
27
|
BranchWhilePromptActiveError,
|
|
28
28
|
CancelSentinelCollisionError,
|
|
@@ -52,7 +52,7 @@ import {
|
|
|
52
52
|
STATUS_SCHEMA_VERSION,
|
|
53
53
|
createIdleWorkspaceExtensionsStatus,
|
|
54
54
|
createIdleWorkspaceHooksStatus
|
|
55
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-TQBA6DVX.js";
|
|
56
56
|
import {
|
|
57
57
|
canonicalizeWorkspace
|
|
58
58
|
} from "./chunk-W7FJ3N32.js";
|
|
@@ -72,11 +72,11 @@ import {
|
|
|
72
72
|
metadataBudgetBytes,
|
|
73
73
|
normalizeSnapshotPayload,
|
|
74
74
|
stableSessionArtifactId
|
|
75
|
-
} from "./chunk-
|
|
75
|
+
} from "./chunk-JDPCOUZ3.js";
|
|
76
76
|
import {
|
|
77
77
|
DAEMON_TRACEPARENT_META_KEY,
|
|
78
78
|
DAEMON_TRACESTATE_META_KEY
|
|
79
|
-
} from "./chunk-
|
|
79
|
+
} from "./chunk-I6JUVU7J.js";
|
|
80
80
|
import {
|
|
81
81
|
init_esbuild_shims
|
|
82
82
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -137,7 +137,10 @@ var TurnBoundaryCompactionEngine = class {
|
|
|
137
137
|
truncatedTurns = 0;
|
|
138
138
|
slots = [];
|
|
139
139
|
toolSlotIndex = /* @__PURE__ */ new Map();
|
|
140
|
-
textSlotIndex =
|
|
140
|
+
textSlotIndex = {
|
|
141
|
+
text: /* @__PURE__ */ new Map(),
|
|
142
|
+
thought: /* @__PURE__ */ new Map()
|
|
143
|
+
};
|
|
141
144
|
constructor(opts = {}) {
|
|
142
145
|
this.maxReplayBytes = normalizeCompactedReplayMaxBytes(opts.maxReplayBytes);
|
|
143
146
|
this.onReplayWindowEviction = opts.onReplayWindowEviction;
|
|
@@ -183,7 +186,7 @@ var TurnBoundaryCompactionEngine = class {
|
|
|
183
186
|
this.liveJournal = [];
|
|
184
187
|
this.slots = [];
|
|
185
188
|
this.toolSlotIndex.clear();
|
|
186
|
-
this.
|
|
189
|
+
this.clearTextSlotIndex();
|
|
187
190
|
}
|
|
188
191
|
seedReplayEvents(events) {
|
|
189
192
|
if (this.closed) return;
|
|
@@ -214,7 +217,7 @@ var TurnBoundaryCompactionEngine = class {
|
|
|
214
217
|
this.liveJournal = [];
|
|
215
218
|
this.slots = [];
|
|
216
219
|
this.toolSlotIndex.clear();
|
|
217
|
-
this.
|
|
220
|
+
this.clearTextSlotIndex();
|
|
218
221
|
}
|
|
219
222
|
close() {
|
|
220
223
|
if (this.closed) return;
|
|
@@ -223,7 +226,7 @@ var TurnBoundaryCompactionEngine = class {
|
|
|
223
226
|
this.liveJournal = [];
|
|
224
227
|
this.slots = [];
|
|
225
228
|
this.toolSlotIndex.clear();
|
|
226
|
-
this.
|
|
229
|
+
this.clearTextSlotIndex();
|
|
227
230
|
}
|
|
228
231
|
classifySessionUpdate(event) {
|
|
229
232
|
const data = event.data;
|
|
@@ -268,8 +271,8 @@ var TurnBoundaryCompactionEngine = class {
|
|
|
268
271
|
data?.update?._meta
|
|
269
272
|
);
|
|
270
273
|
if (toolParent) {
|
|
271
|
-
this.textSlotIndex.delete(
|
|
272
|
-
this.textSlotIndex.delete(
|
|
274
|
+
this.textSlotIndex.text.delete(toolParent);
|
|
275
|
+
this.textSlotIndex.thought.delete(toolParent);
|
|
273
276
|
}
|
|
274
277
|
}
|
|
275
278
|
break;
|
|
@@ -295,9 +298,12 @@ var TurnBoundaryCompactionEngine = class {
|
|
|
295
298
|
const text = data?.update?.content?.text ?? "";
|
|
296
299
|
const meta = data?.update?._meta;
|
|
297
300
|
const parentToolCallId = extractParentToolCallIdFromMeta(meta);
|
|
301
|
+
const sourceRecordIds = extractSourceRecordIdsFromMeta(meta);
|
|
298
302
|
if (parentToolCallId != null) {
|
|
299
|
-
const
|
|
300
|
-
const existingIdx =
|
|
303
|
+
const entries = this.textSlotIndex[kind].get(parentToolCallId) ?? [];
|
|
304
|
+
const existingIdx = entries.find(
|
|
305
|
+
(entry) => stringArraysEqual(entry.sourceRecordIds, sourceRecordIds)
|
|
306
|
+
)?.index;
|
|
301
307
|
if (existingIdx !== void 0) {
|
|
302
308
|
const slot = this.slots[existingIdx];
|
|
303
309
|
slot.chunks.push(text);
|
|
@@ -305,11 +311,13 @@ var TurnBoundaryCompactionEngine = class {
|
|
|
305
311
|
slot.lastMeta = meta ?? slot.lastMeta;
|
|
306
312
|
slot.lastEnvelopeMeta = event._meta ?? slot.lastEnvelopeMeta;
|
|
307
313
|
} else {
|
|
308
|
-
|
|
314
|
+
entries.push({ sourceRecordIds, index: this.slots.length });
|
|
315
|
+
this.textSlotIndex[kind].set(parentToolCallId, entries);
|
|
309
316
|
this.slots.push({
|
|
310
317
|
kind,
|
|
311
318
|
parentToolCallId,
|
|
312
319
|
chunks: [text],
|
|
320
|
+
sourceRecordIds,
|
|
313
321
|
lastEventId: event.id ?? 0,
|
|
314
322
|
lastMeta: meta,
|
|
315
323
|
lastEnvelopeMeta: event._meta
|
|
@@ -317,7 +325,7 @@ var TurnBoundaryCompactionEngine = class {
|
|
|
317
325
|
}
|
|
318
326
|
} else {
|
|
319
327
|
const lastSlot = this.slots[this.slots.length - 1];
|
|
320
|
-
if (lastSlot && lastSlot.kind === kind && lastSlot.parentToolCallId == null) {
|
|
328
|
+
if (lastSlot && lastSlot.kind === kind && lastSlot.parentToolCallId == null && stringArraysEqual(lastSlot.sourceRecordIds, sourceRecordIds)) {
|
|
321
329
|
lastSlot.chunks.push(text);
|
|
322
330
|
if (event.id !== void 0) lastSlot.lastEventId = event.id;
|
|
323
331
|
lastSlot.lastMeta = meta ?? lastSlot.lastMeta;
|
|
@@ -327,6 +335,7 @@ var TurnBoundaryCompactionEngine = class {
|
|
|
327
335
|
kind,
|
|
328
336
|
parentToolCallId: void 0,
|
|
329
337
|
chunks: [text],
|
|
338
|
+
sourceRecordIds,
|
|
330
339
|
lastEventId: event.id ?? 0,
|
|
331
340
|
lastMeta: meta,
|
|
332
341
|
lastEnvelopeMeta: event._meta
|
|
@@ -364,7 +373,7 @@ var TurnBoundaryCompactionEngine = class {
|
|
|
364
373
|
this.liveJournal = [];
|
|
365
374
|
this.slots = [];
|
|
366
375
|
this.toolSlotIndex.clear();
|
|
367
|
-
this.
|
|
376
|
+
this.clearTextSlotIndex();
|
|
368
377
|
}
|
|
369
378
|
recordLastEventId(event) {
|
|
370
379
|
if (event.id !== void 0) {
|
|
@@ -448,6 +457,10 @@ var TurnBoundaryCompactionEngine = class {
|
|
|
448
457
|
this.truncatedEvents = 0;
|
|
449
458
|
this.truncatedTurns = 0;
|
|
450
459
|
}
|
|
460
|
+
clearTextSlotIndex() {
|
|
461
|
+
this.textSlotIndex.text.clear();
|
|
462
|
+
this.textSlotIndex.thought.clear();
|
|
463
|
+
}
|
|
451
464
|
};
|
|
452
465
|
function makeMergedSessionUpdateEvent(sessionUpdate, text, eventId, meta, envelopeMeta) {
|
|
453
466
|
return {
|
|
@@ -487,6 +500,24 @@ function extractParentToolCallIdFromMeta(meta) {
|
|
|
487
500
|
return void 0;
|
|
488
501
|
}
|
|
489
502
|
__name(extractParentToolCallIdFromMeta, "extractParentToolCallIdFromMeta");
|
|
503
|
+
function extractSourceRecordIdsFromMeta(meta) {
|
|
504
|
+
if (typeof meta !== "object" || meta === null) return void 0;
|
|
505
|
+
const transcript = meta["qwenTranscript"];
|
|
506
|
+
if (typeof transcript !== "object" || transcript === null) return void 0;
|
|
507
|
+
const ids = transcript["sourceRecordIds"];
|
|
508
|
+
if (!Array.isArray(ids)) return void 0;
|
|
509
|
+
const normalized = [
|
|
510
|
+
...new Set(ids.filter((id) => typeof id === "string"))
|
|
511
|
+
];
|
|
512
|
+
return normalized.length > 0 ? normalized : void 0;
|
|
513
|
+
}
|
|
514
|
+
__name(extractSourceRecordIdsFromMeta, "extractSourceRecordIdsFromMeta");
|
|
515
|
+
function stringArraysEqual(left, right) {
|
|
516
|
+
if (left === right) return true;
|
|
517
|
+
if (!left || !right || left.length !== right.length) return false;
|
|
518
|
+
return left.every((value, index) => value === right[index]);
|
|
519
|
+
}
|
|
520
|
+
__name(stringArraysEqual, "stringArraysEqual");
|
|
490
521
|
function hasTodoStopGuardDiscreteMeta(meta) {
|
|
491
522
|
return typeof meta === "object" && meta !== null && meta["qwenDiscreteMessage"] === true && meta["source"] === "todo_stop_guard";
|
|
492
523
|
}
|
|
@@ -502,6 +533,11 @@ function mergeToolCallEvent(existing, incoming) {
|
|
|
502
533
|
merged[key] = value;
|
|
503
534
|
}
|
|
504
535
|
}
|
|
536
|
+
const updateMeta = mergeTranscriptUpdateMeta(
|
|
537
|
+
existingUpdate["_meta"],
|
|
538
|
+
incomingUpdate["_meta"]
|
|
539
|
+
);
|
|
540
|
+
if (updateMeta !== void 0) merged["_meta"] = updateMeta;
|
|
505
541
|
merged["sessionUpdate"] = "tool_call";
|
|
506
542
|
const mergedMeta = existing._meta || incoming._meta ? { ...existing._meta ?? {}, ...incoming._meta ?? {} } : void 0;
|
|
507
543
|
return {
|
|
@@ -517,6 +553,23 @@ function mergeToolCallEvent(existing, incoming) {
|
|
|
517
553
|
};
|
|
518
554
|
}
|
|
519
555
|
__name(mergeToolCallEvent, "mergeToolCallEvent");
|
|
556
|
+
function mergeTranscriptUpdateMeta(existing, incoming) {
|
|
557
|
+
const existingRecord = typeof existing === "object" && existing !== null ? existing : void 0;
|
|
558
|
+
const incomingRecord = typeof incoming === "object" && incoming !== null ? incoming : void 0;
|
|
559
|
+
if (!existingRecord && !incomingRecord) return void 0;
|
|
560
|
+
const sourceRecordIds = [
|
|
561
|
+
.../* @__PURE__ */ new Set([
|
|
562
|
+
...extractSourceRecordIdsFromMeta(existingRecord) ?? [],
|
|
563
|
+
...extractSourceRecordIdsFromMeta(incomingRecord) ?? []
|
|
564
|
+
])
|
|
565
|
+
];
|
|
566
|
+
return {
|
|
567
|
+
...existingRecord ?? {},
|
|
568
|
+
...incomingRecord ?? {},
|
|
569
|
+
...sourceRecordIds.length > 0 ? { qwenTranscript: { sourceRecordIds } } : {}
|
|
570
|
+
};
|
|
571
|
+
}
|
|
572
|
+
__name(mergeTranscriptUpdateMeta, "mergeTranscriptUpdateMeta");
|
|
520
573
|
|
|
521
574
|
// packages/acp-bridge/src/session-source.ts
|
|
522
575
|
init_esbuild_shims();
|
|
@@ -5678,7 +5731,8 @@ function createAcpSessionBridge(opts) {
|
|
|
5678
5731
|
pendingInteractionCount: entry.pendingInteractions.size,
|
|
5679
5732
|
hasTurnError: entry.turnError !== void 0,
|
|
5680
5733
|
...entry.turnError !== void 0 ? { turnError: entry.turnError } : {},
|
|
5681
|
-
pendingInteractions: [...entry.pendingInteractions.values()]
|
|
5734
|
+
pendingInteractions: [...entry.pendingInteractions.values()],
|
|
5735
|
+
...entry.worktree ? { worktree: entry.worktree } : {}
|
|
5682
5736
|
};
|
|
5683
5737
|
}, "toSessionSummary");
|
|
5684
5738
|
const permissionConsensusQuorum = opts.permissionConsensusQuorum;
|
|
@@ -6009,7 +6063,7 @@ function createAcpSessionBridge(opts) {
|
|
|
6009
6063
|
}
|
|
6010
6064
|
}
|
|
6011
6065
|
__name(ensureChannel, "ensureChannel");
|
|
6012
|
-
async function doSpawn(modelServiceId, effectiveScope, approvalMode, requestedClientId, onSessionRegistered, parentSessionId, sourceType, sourceId) {
|
|
6066
|
+
async function doSpawn(modelServiceId, effectiveScope, approvalMode, requestedClientId, onSessionRegistered, parentSessionId, sourceType, sourceId, worktree) {
|
|
6013
6067
|
const channelPath = channelInfo && !channelInfo.isDying ? "reused" : inFlightChannelSpawn ? "joined" : "spawned_on_request";
|
|
6014
6068
|
const ci = await telemetry.withSpan(
|
|
6015
6069
|
"channel.wait",
|
|
@@ -6070,7 +6124,7 @@ function createAcpSessionBridge(opts) {
|
|
|
6070
6124
|
newSessionResp.sessionId,
|
|
6071
6125
|
boundWorkspace,
|
|
6072
6126
|
void 0,
|
|
6073
|
-
{ parentSessionId, sourceType, sourceId }
|
|
6127
|
+
{ parentSessionId, sourceType, sourceId, worktree }
|
|
6074
6128
|
);
|
|
6075
6129
|
initializedSessionId = entry.sessionId;
|
|
6076
6130
|
sessionRegistered = true;
|
|
@@ -6184,7 +6238,8 @@ function createAcpSessionBridge(opts) {
|
|
|
6184
6238
|
...entry.sourceType ? { sourceType: entry.sourceType } : {},
|
|
6185
6239
|
...entry.sourceId !== void 0 ? { sourceId: entry.sourceId } : {},
|
|
6186
6240
|
...entry.sourceType ? { sourcePersisted: sourcePersisted === true } : {},
|
|
6187
|
-
...entry.parentSessionId ? { parentSessionPersisted: parentSessionPersisted === true } : {}
|
|
6241
|
+
...entry.parentSessionId ? { parentSessionPersisted: parentSessionPersisted === true } : {},
|
|
6242
|
+
...entry.worktree ? { worktree: entry.worktree } : {}
|
|
6188
6243
|
};
|
|
6189
6244
|
} finally {
|
|
6190
6245
|
ci.sessionSpawnsInFlight = Math.max(0, ci.sessionSpawnsInFlight - 1);
|
|
@@ -6797,6 +6852,7 @@ function createAcpSessionBridge(opts) {
|
|
|
6797
6852
|
...options.parentSessionId ? { parentSessionId: options.parentSessionId } : {},
|
|
6798
6853
|
...options.sourceType ? { sourceType: options.sourceType } : {},
|
|
6799
6854
|
...options.sourceId !== void 0 ? { sourceId: options.sourceId } : {},
|
|
6855
|
+
...options.worktree ? { worktree: options.worktree } : {},
|
|
6800
6856
|
channel: ci.channel,
|
|
6801
6857
|
connection: ci.connection,
|
|
6802
6858
|
events,
|
|
@@ -7601,7 +7657,8 @@ function createAcpSessionBridge(opts) {
|
|
|
7601
7657
|
releaseAdmissionOnce,
|
|
7602
7658
|
req.parentSessionId,
|
|
7603
7659
|
source.sourceType,
|
|
7604
|
-
source.sourceId
|
|
7660
|
+
source.sourceId,
|
|
7661
|
+
req.worktree
|
|
7605
7662
|
);
|
|
7606
7663
|
const tracker = effectiveScope === "single" ? workspaceKey : `${workspaceKey}#${randomUUID2()}`;
|
|
7607
7664
|
inFlightSpawns.set(tracker, promise);
|
|
@@ -1,19 +1,14 @@
|
|
|
1
1
|
// Force strict mode and setup for ESM
|
|
2
2
|
"use strict";
|
|
3
|
-
import {
|
|
4
|
-
require_react
|
|
5
|
-
} from "./chunk-HTHUX2T5.js";
|
|
6
3
|
import {
|
|
7
4
|
init_esbuild_shims
|
|
8
5
|
} from "./chunk-5O2XNYP6.js";
|
|
9
6
|
import {
|
|
10
|
-
__name
|
|
11
|
-
__toESM
|
|
7
|
+
__name
|
|
12
8
|
} from "./chunk-J2S4EL5Y.js";
|
|
13
9
|
|
|
14
10
|
// packages/cli/src/ui/types.ts
|
|
15
11
|
init_esbuild_shims();
|
|
16
|
-
var import_react = __toESM(require_react(), 1);
|
|
17
12
|
var GOAL_STATUS_KINDS = [
|
|
18
13
|
"set",
|
|
19
14
|
"achieved",
|
|
@@ -8,13 +8,13 @@ import {
|
|
|
8
8
|
} from "./chunk-L573Z2QZ.js";
|
|
9
9
|
import {
|
|
10
10
|
t
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-3QR5MOHP.js";
|
|
12
12
|
import {
|
|
13
13
|
So
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-JDPCOUZ3.js";
|
|
15
15
|
import {
|
|
16
16
|
createDebugLogger
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-C27BYUX6.js";
|
|
18
18
|
import {
|
|
19
19
|
init_esbuild_shims
|
|
20
20
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -13,15 +13,15 @@ import {
|
|
|
13
13
|
} from "./chunk-OWAK7LMW.js";
|
|
14
14
|
import {
|
|
15
15
|
ideContextStore
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-JDPCOUZ3.js";
|
|
17
17
|
import {
|
|
18
18
|
atomicWriteFileSync
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-BDBMYST4.js";
|
|
20
20
|
import {
|
|
21
21
|
FatalConfigError,
|
|
22
22
|
Storage,
|
|
23
23
|
getErrorMessage
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-C27BYUX6.js";
|
|
25
25
|
import {
|
|
26
26
|
init_esbuild_shims
|
|
27
27
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
stringWidth
|
|
5
|
+
} from "./chunk-H2XVO6NE.js";
|
|
6
|
+
import {
|
|
7
|
+
ansiRegex,
|
|
8
|
+
init_ansi_regex,
|
|
9
|
+
stripAnsi
|
|
10
|
+
} from "./chunk-T4TZQJ7W.js";
|
|
11
|
+
import {
|
|
12
|
+
init_esbuild_shims
|
|
13
|
+
} from "./chunk-5O2XNYP6.js";
|
|
14
|
+
import {
|
|
15
|
+
__name
|
|
16
|
+
} from "./chunk-J2S4EL5Y.js";
|
|
17
|
+
|
|
18
|
+
// packages/cli/src/ui/utils/textUtils.ts
|
|
19
|
+
init_esbuild_shims();
|
|
20
|
+
init_ansi_regex();
|
|
21
|
+
import { stripVTControlCharacters } from "node:util";
|
|
22
|
+
var getAsciiArtWidth = /* @__PURE__ */ __name((asciiArt) => {
|
|
23
|
+
if (!asciiArt) {
|
|
24
|
+
return 0;
|
|
25
|
+
}
|
|
26
|
+
const lines = asciiArt.split("\n");
|
|
27
|
+
return Math.max(...lines.map((line) => getCachedStringWidth(line)));
|
|
28
|
+
}, "getAsciiArtWidth");
|
|
29
|
+
var codePointsCache = /* @__PURE__ */ new Map();
|
|
30
|
+
var MAX_STRING_LENGTH_TO_CACHE = 1e3;
|
|
31
|
+
function toCodePoints(str) {
|
|
32
|
+
let isAscii = true;
|
|
33
|
+
for (let i = 0; i < str.length; i++) {
|
|
34
|
+
if (str.charCodeAt(i) > 127) {
|
|
35
|
+
isAscii = false;
|
|
36
|
+
break;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
if (isAscii) {
|
|
40
|
+
return str.split("");
|
|
41
|
+
}
|
|
42
|
+
if (str.length <= MAX_STRING_LENGTH_TO_CACHE) {
|
|
43
|
+
const cached = codePointsCache.get(str);
|
|
44
|
+
if (cached) {
|
|
45
|
+
return cached;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
const result = Array.from(str);
|
|
49
|
+
if (str.length <= MAX_STRING_LENGTH_TO_CACHE) {
|
|
50
|
+
codePointsCache.set(str, result);
|
|
51
|
+
}
|
|
52
|
+
return result;
|
|
53
|
+
}
|
|
54
|
+
__name(toCodePoints, "toCodePoints");
|
|
55
|
+
function cpLen(str) {
|
|
56
|
+
return toCodePoints(str).length;
|
|
57
|
+
}
|
|
58
|
+
__name(cpLen, "cpLen");
|
|
59
|
+
function cpSlice(str, start, end) {
|
|
60
|
+
const arr = toCodePoints(str).slice(start, end);
|
|
61
|
+
return arr.join("");
|
|
62
|
+
}
|
|
63
|
+
__name(cpSlice, "cpSlice");
|
|
64
|
+
function stripUnsafeCharacters(str) {
|
|
65
|
+
const strippedAnsi = stripAnsi(str);
|
|
66
|
+
const strippedVT = stripVTControlCharacters(strippedAnsi);
|
|
67
|
+
return toCodePoints(strippedVT).filter((char) => {
|
|
68
|
+
const code = char.codePointAt(0);
|
|
69
|
+
if (code === void 0) return false;
|
|
70
|
+
if (code === 9 || code === 10 || code === 13) return true;
|
|
71
|
+
if (code >= 0 && code <= 31) return false;
|
|
72
|
+
if (code >= 128 && code <= 159) return false;
|
|
73
|
+
return true;
|
|
74
|
+
}).join("");
|
|
75
|
+
}
|
|
76
|
+
__name(stripUnsafeCharacters, "stripUnsafeCharacters");
|
|
77
|
+
var stringWidthCache = /* @__PURE__ */ new Map();
|
|
78
|
+
var getCachedStringWidth = /* @__PURE__ */ __name((str) => {
|
|
79
|
+
if (/^[\x20-\x7E]*$/.test(str)) {
|
|
80
|
+
return str.length;
|
|
81
|
+
}
|
|
82
|
+
if (stringWidthCache.has(str)) {
|
|
83
|
+
return stringWidthCache.get(str);
|
|
84
|
+
}
|
|
85
|
+
const width = stringWidth(str);
|
|
86
|
+
stringWidthCache.set(str, width);
|
|
87
|
+
return width;
|
|
88
|
+
}, "getCachedStringWidth");
|
|
89
|
+
var graphemeSegmenter = new Intl.Segmenter(void 0, {
|
|
90
|
+
granularity: "grapheme"
|
|
91
|
+
});
|
|
92
|
+
function truncateToWidth(text, maxWidth) {
|
|
93
|
+
if (maxWidth <= 0) {
|
|
94
|
+
return "";
|
|
95
|
+
}
|
|
96
|
+
if (getCachedStringWidth(text) <= maxWidth) {
|
|
97
|
+
return text;
|
|
98
|
+
}
|
|
99
|
+
const ellipsis = "\u2026";
|
|
100
|
+
const budget = Math.max(0, maxWidth - getCachedStringWidth(ellipsis));
|
|
101
|
+
let width = 0;
|
|
102
|
+
let result = "";
|
|
103
|
+
for (const { segment } of graphemeSegmenter.segment(text)) {
|
|
104
|
+
const segmentWidth = getCachedStringWidth(segment);
|
|
105
|
+
if (width + segmentWidth > budget) {
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
result += segment;
|
|
109
|
+
width += segmentWidth;
|
|
110
|
+
}
|
|
111
|
+
return `${result}${ellipsis}`;
|
|
112
|
+
}
|
|
113
|
+
__name(truncateToWidth, "truncateToWidth");
|
|
114
|
+
function wrapToVisualLines(text, width) {
|
|
115
|
+
if (width <= 0) {
|
|
116
|
+
return [""];
|
|
117
|
+
}
|
|
118
|
+
const visualLines = [];
|
|
119
|
+
for (const logicalLine of text.split("\n")) {
|
|
120
|
+
if (logicalLine === "") {
|
|
121
|
+
visualLines.push("");
|
|
122
|
+
continue;
|
|
123
|
+
}
|
|
124
|
+
let currentLine = "";
|
|
125
|
+
let currentWidth = 0;
|
|
126
|
+
for (const char of logicalLine) {
|
|
127
|
+
const charWidth = getCachedStringWidth(char);
|
|
128
|
+
if (currentWidth + charWidth > width && currentWidth > 0) {
|
|
129
|
+
visualLines.push(currentLine);
|
|
130
|
+
currentLine = "";
|
|
131
|
+
currentWidth = 0;
|
|
132
|
+
}
|
|
133
|
+
currentLine += char;
|
|
134
|
+
currentWidth += charWidth;
|
|
135
|
+
}
|
|
136
|
+
if (currentLine) {
|
|
137
|
+
visualLines.push(currentLine);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
if (visualLines.length === 0) {
|
|
141
|
+
visualLines.push("");
|
|
142
|
+
}
|
|
143
|
+
return visualLines;
|
|
144
|
+
}
|
|
145
|
+
__name(wrapToVisualLines, "wrapToVisualLines");
|
|
146
|
+
var regex = ansiRegex();
|
|
147
|
+
var BARE_C0_CONTROL_CHARS_REGEX = /[\x00-\x08\x0b-\x1f\x7f-\x9f]/g;
|
|
148
|
+
var BIDI_OVERRIDE_CHARS_REGEX = /[\u200e\u200f\u202a-\u202e\u2066-\u2069]/g;
|
|
149
|
+
function sanitizeTerminalText(value) {
|
|
150
|
+
return escapeAnsiCtrlCodes(value).replace(BARE_C0_CONTROL_CHARS_REGEX, "").replace(BIDI_OVERRIDE_CHARS_REGEX, "");
|
|
151
|
+
}
|
|
152
|
+
__name(sanitizeTerminalText, "sanitizeTerminalText");
|
|
153
|
+
function escapeAnsiCtrlCodes(obj) {
|
|
154
|
+
if (typeof obj === "string") {
|
|
155
|
+
if (obj.search(regex) === -1) {
|
|
156
|
+
return obj;
|
|
157
|
+
}
|
|
158
|
+
regex.lastIndex = 0;
|
|
159
|
+
return obj.replace(
|
|
160
|
+
regex,
|
|
161
|
+
(match) => JSON.stringify(match).slice(1, -1)
|
|
162
|
+
);
|
|
163
|
+
}
|
|
164
|
+
if (obj === null || typeof obj !== "object") {
|
|
165
|
+
return obj;
|
|
166
|
+
}
|
|
167
|
+
if (Array.isArray(obj)) {
|
|
168
|
+
let newArr = null;
|
|
169
|
+
for (let i = 0; i < obj.length; i++) {
|
|
170
|
+
const value = obj[i];
|
|
171
|
+
const escapedValue = escapeAnsiCtrlCodes(value);
|
|
172
|
+
if (escapedValue !== value) {
|
|
173
|
+
if (newArr === null) {
|
|
174
|
+
newArr = [...obj];
|
|
175
|
+
}
|
|
176
|
+
newArr[i] = escapedValue;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
return newArr !== null ? newArr : obj;
|
|
180
|
+
}
|
|
181
|
+
let newObj = null;
|
|
182
|
+
const keys = Object.keys(obj);
|
|
183
|
+
for (const key of keys) {
|
|
184
|
+
const value = obj[key];
|
|
185
|
+
const escapedValue = escapeAnsiCtrlCodes(value);
|
|
186
|
+
if (escapedValue !== value) {
|
|
187
|
+
if (newObj === null) {
|
|
188
|
+
newObj = { ...obj };
|
|
189
|
+
}
|
|
190
|
+
newObj[key] = escapedValue;
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
return newObj !== null ? newObj : obj;
|
|
194
|
+
}
|
|
195
|
+
__name(escapeAnsiCtrlCodes, "escapeAnsiCtrlCodes");
|
|
196
|
+
var SENSITIVE_PATTERNS = [
|
|
197
|
+
// API keys with common prefixes
|
|
198
|
+
{
|
|
199
|
+
pattern: /(sk-[a-zA-Z0-9]{20,})/g,
|
|
200
|
+
replacement: "sk-***REDACTED***"
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
pattern: /(api[_-]?key[_-]?[=:]\s*)[a-zA-Z0-9_-]{20,}/gi,
|
|
204
|
+
replacement: "$1***REDACTED***"
|
|
205
|
+
},
|
|
206
|
+
// Bearer tokens
|
|
207
|
+
{
|
|
208
|
+
pattern: /(Bearer\s+)[a-zA-Z0-9._-]+/gi,
|
|
209
|
+
replacement: "$1***REDACTED***"
|
|
210
|
+
},
|
|
211
|
+
// Generic tokens
|
|
212
|
+
{
|
|
213
|
+
pattern: /(token[_-]?[=:]\s*)[a-zA-Z0-9._-]{10,}/gi,
|
|
214
|
+
replacement: "$1***REDACTED***"
|
|
215
|
+
},
|
|
216
|
+
// Passwords in connection strings or assignments
|
|
217
|
+
{
|
|
218
|
+
pattern: /(password[_-]?[=:]\s*)[^\s]+/gi,
|
|
219
|
+
replacement: "$1***REDACTED***"
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
pattern: /(pwd[_-]?[=:]\s*)[^\s]+/gi,
|
|
223
|
+
replacement: "$1***REDACTED***"
|
|
224
|
+
},
|
|
225
|
+
// AWS keys
|
|
226
|
+
{
|
|
227
|
+
pattern: /(AKIA[A-Z0-9]{16})/g,
|
|
228
|
+
replacement: "***REDACTED***"
|
|
229
|
+
},
|
|
230
|
+
// Generic secret patterns
|
|
231
|
+
{
|
|
232
|
+
pattern: /(secret[_-]?[=:]\s*)[a-zA-Z0-9._-]{10,}/gi,
|
|
233
|
+
replacement: "$1***REDACTED***"
|
|
234
|
+
}
|
|
235
|
+
];
|
|
236
|
+
function sanitizeSensitiveText(text, maxLength = 200) {
|
|
237
|
+
let result = text;
|
|
238
|
+
for (const { pattern, replacement } of SENSITIVE_PATTERNS) {
|
|
239
|
+
result = result.replace(pattern, replacement);
|
|
240
|
+
}
|
|
241
|
+
if (result.length > maxLength) {
|
|
242
|
+
if (maxLength <= 3) {
|
|
243
|
+
return result.slice(0, maxLength);
|
|
244
|
+
}
|
|
245
|
+
return result.slice(0, maxLength - 3) + "...";
|
|
246
|
+
}
|
|
247
|
+
return result;
|
|
248
|
+
}
|
|
249
|
+
__name(sanitizeSensitiveText, "sanitizeSensitiveText");
|
|
250
|
+
var FILENAME_CONTROL_CHARS_REGEX = /[\x00-\x1f\x7f-\x9f\u202a-\u202e\u2066-\u2069]/g;
|
|
251
|
+
var MULTILINE_CONTROL_CHARS_REGEX = /[\x00-\x08\x0b-\x1f\x7f-\x9f\u202a-\u202e\u2066-\u2069]/g;
|
|
252
|
+
function escapeControlChar(ch) {
|
|
253
|
+
switch (ch) {
|
|
254
|
+
case "\b":
|
|
255
|
+
return "\\b";
|
|
256
|
+
case " ":
|
|
257
|
+
return "\\t";
|
|
258
|
+
case "\n":
|
|
259
|
+
return "\\n";
|
|
260
|
+
case "\f":
|
|
261
|
+
return "\\f";
|
|
262
|
+
case "\r":
|
|
263
|
+
return "\\r";
|
|
264
|
+
default: {
|
|
265
|
+
const code = ch.charCodeAt(0);
|
|
266
|
+
return `\\u${code.toString(16).padStart(4, "0")}`;
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
__name(escapeControlChar, "escapeControlChar");
|
|
271
|
+
function sanitizeFilenameForDisplay(name) {
|
|
272
|
+
return escapeAnsiCtrlCodes(name).replace(
|
|
273
|
+
FILENAME_CONTROL_CHARS_REGEX,
|
|
274
|
+
escapeControlChar
|
|
275
|
+
);
|
|
276
|
+
}
|
|
277
|
+
__name(sanitizeFilenameForDisplay, "sanitizeFilenameForDisplay");
|
|
278
|
+
function sanitizeMultilineForDisplay(text) {
|
|
279
|
+
return escapeAnsiCtrlCodes(text).replace(
|
|
280
|
+
MULTILINE_CONTROL_CHARS_REGEX,
|
|
281
|
+
escapeControlChar
|
|
282
|
+
);
|
|
283
|
+
}
|
|
284
|
+
__name(sanitizeMultilineForDisplay, "sanitizeMultilineForDisplay");
|
|
285
|
+
|
|
286
|
+
export {
|
|
287
|
+
getAsciiArtWidth,
|
|
288
|
+
toCodePoints,
|
|
289
|
+
cpLen,
|
|
290
|
+
cpSlice,
|
|
291
|
+
stripUnsafeCharacters,
|
|
292
|
+
getCachedStringWidth,
|
|
293
|
+
truncateToWidth,
|
|
294
|
+
wrapToVisualLines,
|
|
295
|
+
sanitizeTerminalText,
|
|
296
|
+
escapeAnsiCtrlCodes,
|
|
297
|
+
sanitizeSensitiveText,
|
|
298
|
+
sanitizeFilenameForDisplay,
|
|
299
|
+
sanitizeMultilineForDisplay
|
|
300
|
+
};
|
|
301
|
+
/**
|
|
302
|
+
* @license
|
|
303
|
+
* Copyright 2025 Google LLC
|
|
304
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
305
|
+
*/
|