@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
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
// Force strict mode and setup for ESM
|
|
2
2
|
"use strict";
|
|
3
|
-
import {
|
|
4
|
-
recomputeMcpGating
|
|
5
|
-
} from "./chunk-GW7BONBU.js";
|
|
6
3
|
import {
|
|
7
4
|
classifyApiError
|
|
8
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-V7RNNPGC.js";
|
|
9
6
|
import {
|
|
10
7
|
EXTENSION_CONTEXT_BUDGET,
|
|
11
8
|
buildExtensionMentionContext,
|
|
@@ -15,40 +12,40 @@ import {
|
|
|
15
12
|
matchMcpServerByRef,
|
|
16
13
|
parseExtensionRef,
|
|
17
14
|
parseMcpServerRef
|
|
18
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-JRJ2LV6P.js";
|
|
19
16
|
import {
|
|
20
17
|
getAvailableCommands,
|
|
21
18
|
handleSlashCommand,
|
|
22
19
|
insertAfterFunctionResponses,
|
|
23
20
|
isSlashCommand,
|
|
24
21
|
normalizePartList
|
|
25
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-YDZ6J2BY.js";
|
|
23
|
+
import {
|
|
24
|
+
recomputeMcpGating
|
|
25
|
+
} from "./chunk-2JOLZA6L.js";
|
|
26
26
|
import {
|
|
27
27
|
appEvents,
|
|
28
28
|
buildDisabledSkillNamesProvider,
|
|
29
29
|
loadCliConfig,
|
|
30
30
|
normalizeDisabledToolList
|
|
31
|
-
} from "./chunk-
|
|
32
|
-
import "./chunk-5DTTYNB7.js";
|
|
33
|
-
import {
|
|
34
|
-
collectContextData,
|
|
35
|
-
formatContextUsageText
|
|
36
|
-
} from "./chunk-NPMVLWYL.js";
|
|
31
|
+
} from "./chunk-Y5534U4G.js";
|
|
37
32
|
import {
|
|
38
33
|
getCommandSubcommandNames
|
|
39
|
-
} from "./chunk-
|
|
40
|
-
import "./chunk-EDFD7VOX.js";
|
|
34
|
+
} from "./chunk-DIKIJS6Z.js";
|
|
41
35
|
import {
|
|
42
36
|
getEffectiveSupportedModes
|
|
43
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-27AJEU6G.js";
|
|
38
|
+
import "./chunk-5DTTYNB7.js";
|
|
39
|
+
import "./chunk-QKYTTBYW.js";
|
|
40
|
+
import {
|
|
41
|
+
collectContextData,
|
|
42
|
+
formatContextUsageText
|
|
43
|
+
} from "./chunk-STFP7PJR.js";
|
|
44
44
|
import "./chunk-4WGODMVR.js";
|
|
45
|
-
import "./chunk-
|
|
46
|
-
import "./chunk-
|
|
47
|
-
import "./chunk-
|
|
48
|
-
import "./chunk-
|
|
49
|
-
import "./chunk-NHDKSOEY.js";
|
|
50
|
-
import "./chunk-OBSLEYCD.js";
|
|
51
|
-
import "./chunk-WIYV7CSF.js";
|
|
45
|
+
import "./chunk-AYCDXHZB.js";
|
|
46
|
+
import "./chunk-DR5AUNJ2.js";
|
|
47
|
+
import "./chunk-6HQW55TM.js";
|
|
48
|
+
import "./chunk-RB7NXUP5.js";
|
|
52
49
|
import "./chunk-YAF2MQZ6.js";
|
|
53
50
|
import {
|
|
54
51
|
GENERATION_MAX_PROMPT_BYTES,
|
|
@@ -68,7 +65,7 @@ import {
|
|
|
68
65
|
shouldSuppressRememberErrorDetails,
|
|
69
66
|
workspaceMemoryFailureCode,
|
|
70
67
|
workspaceMemoryFailureDiagnostics
|
|
71
|
-
} from "./chunk-
|
|
68
|
+
} from "./chunk-3SNKL6L6.js";
|
|
72
69
|
import {
|
|
73
70
|
HistoryReplayer,
|
|
74
71
|
MessageEmitter,
|
|
@@ -78,21 +75,21 @@ import {
|
|
|
78
75
|
goalTerminalEventToHistoryItem,
|
|
79
76
|
recordGoalStatusItem,
|
|
80
77
|
restoreGoalFromHistory
|
|
81
|
-
} from "./chunk-
|
|
82
|
-
import "./chunk-
|
|
83
|
-
import "./chunk-
|
|
84
|
-
import "./chunk-
|
|
78
|
+
} from "./chunk-SG2PEESS.js";
|
|
79
|
+
import "./chunk-KTUQMDEP.js";
|
|
80
|
+
import "./chunk-TFNZCC4B.js";
|
|
81
|
+
import "./chunk-RS7MT2QG.js";
|
|
82
|
+
import "./chunk-H2XVO6NE.js";
|
|
85
83
|
import "./chunk-QHTIBUWB.js";
|
|
86
84
|
import {
|
|
87
85
|
isTerminalGoalStatusKind
|
|
88
|
-
} from "./chunk-
|
|
89
|
-
import "./chunk-HTHUX2T5.js";
|
|
86
|
+
} from "./chunk-QTERJVPZ.js";
|
|
90
87
|
import "./chunk-L573Z2QZ.js";
|
|
91
88
|
import {
|
|
92
89
|
computeCpuPercent
|
|
93
90
|
} from "./chunk-HGT6JR3U.js";
|
|
94
91
|
import "./chunk-RXFQM6FQ.js";
|
|
95
|
-
import "./chunk-
|
|
92
|
+
import "./chunk-3ZL6YMO2.js";
|
|
96
93
|
import "./chunk-6H67XLET.js";
|
|
97
94
|
import {
|
|
98
95
|
beginAcpBootstrapConfigProfiling,
|
|
@@ -100,9 +97,9 @@ import {
|
|
|
100
97
|
endAcpBootstrapConfigProfiling,
|
|
101
98
|
markAcpStartup
|
|
102
99
|
} from "./chunk-TDKQP3M6.js";
|
|
103
|
-
import "./chunk-
|
|
100
|
+
import "./chunk-IDGTC5AS.js";
|
|
104
101
|
import "./chunk-LXXMOYPL.js";
|
|
105
|
-
import "./chunk-
|
|
102
|
+
import "./chunk-3ML52IFS.js";
|
|
106
103
|
import "./chunk-E5Z2AVNV.js";
|
|
107
104
|
import {
|
|
108
105
|
ACP_ROUTE_ID_PREFIX,
|
|
@@ -112,7 +109,7 @@ import {
|
|
|
112
109
|
parseAcpModelOption,
|
|
113
110
|
resolveAcpModelOption,
|
|
114
111
|
sanitizeProviderBaseUrl
|
|
115
|
-
} from "./chunk-
|
|
112
|
+
} from "./chunk-JBCFW3IL.js";
|
|
116
113
|
import {
|
|
117
114
|
mapSkillConfigToStatus
|
|
118
115
|
} from "./chunk-2W3OOD4W.js";
|
|
@@ -122,19 +119,19 @@ import {
|
|
|
122
119
|
buildPermissionSettings,
|
|
123
120
|
normalizePermissionRules,
|
|
124
121
|
readPermissionRuleSet
|
|
125
|
-
} from "./chunk-
|
|
122
|
+
} from "./chunk-INL2RSLA.js";
|
|
126
123
|
import {
|
|
127
124
|
MAX_AUDIO_BYTES,
|
|
128
125
|
sanitizeVoiceErrorMessage,
|
|
129
126
|
transcribeVoiceAudio
|
|
130
|
-
} from "./chunk-
|
|
127
|
+
} from "./chunk-FODJ5Q5K.js";
|
|
131
128
|
import {
|
|
132
129
|
readVoiceModel
|
|
133
|
-
} from "./chunk-
|
|
134
|
-
import "./chunk-
|
|
130
|
+
} from "./chunk-A4TJMY65.js";
|
|
131
|
+
import "./chunk-BVLROR2T.js";
|
|
135
132
|
import {
|
|
136
133
|
parseSessionSource
|
|
137
|
-
} from "./chunk-
|
|
134
|
+
} from "./chunk-QOSKUG5P.js";
|
|
138
135
|
import "./chunk-6RLROE6G.js";
|
|
139
136
|
import "./chunk-COH43MRJ.js";
|
|
140
137
|
import {
|
|
@@ -151,7 +148,7 @@ import {
|
|
|
151
148
|
} from "./chunk-QR6U5QPP.js";
|
|
152
149
|
import {
|
|
153
150
|
ndJsonStream
|
|
154
|
-
} from "./chunk-
|
|
151
|
+
} from "./chunk-SLLG5XXE.js";
|
|
155
152
|
import {
|
|
156
153
|
NOT_CURRENTLY_GENERATING_CANCEL_MESSAGE
|
|
157
154
|
} from "./chunk-X6YQWCIJ.js";
|
|
@@ -162,23 +159,23 @@ import {
|
|
|
162
159
|
SERVE_STATUS_EXT_METHODS,
|
|
163
160
|
STATUS_SCHEMA_VERSION,
|
|
164
161
|
mapDomainErrorToErrorKind
|
|
165
|
-
} from "./chunk-
|
|
166
|
-
import "./chunk-
|
|
167
|
-
import "./chunk-
|
|
162
|
+
} from "./chunk-TQBA6DVX.js";
|
|
163
|
+
import "./chunk-VWLLDHAY.js";
|
|
164
|
+
import "./chunk-LTQ5C5AB.js";
|
|
168
165
|
import "./chunk-57OAHC2Y.js";
|
|
169
|
-
import "./chunk-
|
|
170
|
-
import "./chunk-
|
|
166
|
+
import "./chunk-YWEW33JY.js";
|
|
167
|
+
import "./chunk-4ODB7WIB.js";
|
|
171
168
|
import "./chunk-V6WHFGST.js";
|
|
172
169
|
import {
|
|
173
170
|
createLoadedSettingsAdapter
|
|
174
|
-
} from "./chunk-
|
|
171
|
+
} from "./chunk-UGRL5B5F.js";
|
|
175
172
|
import "./chunk-W7FJ3N32.js";
|
|
176
|
-
import "./chunk-
|
|
173
|
+
import "./chunk-Y2ENGUD6.js";
|
|
177
174
|
import "./chunk-TJTKSVIV.js";
|
|
178
175
|
import "./chunk-M5GB774H.js";
|
|
179
|
-
import "./chunk-
|
|
180
|
-
import "./chunk-
|
|
181
|
-
import "./chunk-
|
|
176
|
+
import "./chunk-RFIAR4YL.js";
|
|
177
|
+
import "./chunk-2HOVDT7W.js";
|
|
178
|
+
import "./chunk-NIJEXGV6.js";
|
|
182
179
|
import {
|
|
183
180
|
AgentSideConnection,
|
|
184
181
|
PROTOCOL_VERSION,
|
|
@@ -187,7 +184,7 @@ import {
|
|
|
187
184
|
import {
|
|
188
185
|
assembleMcpServers,
|
|
189
186
|
loadMcpApprovals
|
|
190
|
-
} from "./chunk-
|
|
187
|
+
} from "./chunk-DCCW7CRR.js";
|
|
191
188
|
import {
|
|
192
189
|
getOutputLanguageFilePath,
|
|
193
190
|
getPersistScopeForModelSelection,
|
|
@@ -196,7 +193,7 @@ import {
|
|
|
196
193
|
resolveOutputLanguageOrPreserveAuto,
|
|
197
194
|
updateOutputLanguageFile,
|
|
198
195
|
writeOutputLanguageAndRegisterPath
|
|
199
|
-
} from "./chunk-
|
|
196
|
+
} from "./chunk-2YJLFCYI.js";
|
|
200
197
|
import "./chunk-RKUWKYED.js";
|
|
201
198
|
import "./chunk-GOXKNSDZ.js";
|
|
202
199
|
import {
|
|
@@ -207,20 +204,20 @@ import {
|
|
|
207
204
|
SUPPORTED_LANGUAGES,
|
|
208
205
|
getCurrentLanguage,
|
|
209
206
|
setLanguageAsync
|
|
210
|
-
} from "./chunk-
|
|
207
|
+
} from "./chunk-3QR5MOHP.js";
|
|
211
208
|
import {
|
|
212
209
|
findEnvFiles,
|
|
213
210
|
preResolveHomeEnvOverrides,
|
|
214
211
|
reloadEnvironment
|
|
215
|
-
} from "./chunk-
|
|
212
|
+
} from "./chunk-NQVA6O7F.js";
|
|
216
213
|
import "./chunk-QRUIS3DN.js";
|
|
217
|
-
import "./chunk-
|
|
214
|
+
import "./chunk-SQMTULHJ.js";
|
|
218
215
|
import "./chunk-VJNBRRZG.js";
|
|
219
216
|
import {
|
|
220
217
|
isFolderTrustEnabled,
|
|
221
218
|
isWorkspaceTrusted,
|
|
222
219
|
loadTrustedFolders
|
|
223
|
-
} from "./chunk-
|
|
220
|
+
} from "./chunk-RS5JPH6Y.js";
|
|
224
221
|
import "./chunk-ALGGS7UH.js";
|
|
225
222
|
import "./chunk-MR3PXB6E.js";
|
|
226
223
|
import {
|
|
@@ -275,12 +272,14 @@ import {
|
|
|
275
272
|
convertToFunctionErrorResponse,
|
|
276
273
|
convertToFunctionResponse,
|
|
277
274
|
createDuplicateProviderToolCallResponse,
|
|
275
|
+
decoratePlanModeShellConfirmation,
|
|
278
276
|
dedupeToolCallsById,
|
|
279
277
|
detectAutonomousSentinel,
|
|
280
278
|
detectLoopSentinel,
|
|
281
279
|
encodeSessionTranscriptCursor,
|
|
282
280
|
evaluateAutoMode,
|
|
283
281
|
evaluatePermissionFlow,
|
|
282
|
+
evaluatePlanModeShellPolicy,
|
|
284
283
|
findExistingProviderModels,
|
|
285
284
|
findProviderById,
|
|
286
285
|
findRepeatedDuplicateProviderToolCall,
|
|
@@ -305,6 +304,7 @@ import {
|
|
|
305
304
|
getProviderToolCallId,
|
|
306
305
|
getScopedEnvContents,
|
|
307
306
|
getStartupContextLength,
|
|
307
|
+
getStopHookContinuationReason,
|
|
308
308
|
ideContextStore,
|
|
309
309
|
injectPermissionRulesIfMissing,
|
|
310
310
|
isApproveOutcome,
|
|
@@ -340,21 +340,23 @@ import {
|
|
|
340
340
|
shouldRunAutoModeForCall,
|
|
341
341
|
subagentGenerator,
|
|
342
342
|
unregisterGoalHook,
|
|
343
|
-
updateSetting
|
|
344
|
-
|
|
343
|
+
updateSetting,
|
|
344
|
+
validatePlanModeShellApproval,
|
|
345
|
+
validatePlanModeShellContext
|
|
346
|
+
} from "./chunk-JDPCOUZ3.js";
|
|
345
347
|
import "./chunk-5M6IDOMF.js";
|
|
346
348
|
import "./chunk-T4TZQJ7W.js";
|
|
347
349
|
import {
|
|
348
350
|
external_exports
|
|
349
351
|
} from "./chunk-H6XPXXMH.js";
|
|
350
|
-
import "./chunk-
|
|
351
|
-
import "./chunk-
|
|
352
|
-
import "./chunk-
|
|
353
|
-
import "./chunk-
|
|
352
|
+
import "./chunk-EAUYY7SS.js";
|
|
353
|
+
import "./chunk-FSL5W5TI.js";
|
|
354
|
+
import "./chunk-OONJNQ42.js";
|
|
355
|
+
import "./chunk-D2VIDMVM.js";
|
|
354
356
|
import "./chunk-E2UVIFI2.js";
|
|
355
357
|
import "./chunk-XU457J4V.js";
|
|
356
358
|
import "./chunk-VDDGDZMA.js";
|
|
357
|
-
import "./chunk-
|
|
359
|
+
import "./chunk-EIAK6Q2B.js";
|
|
358
360
|
import "./chunk-SZRN75WQ.js";
|
|
359
361
|
import "./chunk-HTO4JFDZ.js";
|
|
360
362
|
import "./chunk-CPBF7KYF.js";
|
|
@@ -362,20 +364,20 @@ import {
|
|
|
362
364
|
APPROVAL_MODES,
|
|
363
365
|
FORK_SUBAGENT_TYPE,
|
|
364
366
|
runWithRuntimeContentGenerator
|
|
365
|
-
} from "./chunk-
|
|
367
|
+
} from "./chunk-CPCVCKKF.js";
|
|
366
368
|
import "./chunk-6AM5D4ME.js";
|
|
367
|
-
import "./chunk-
|
|
369
|
+
import "./chunk-G45X5TRN.js";
|
|
368
370
|
import {
|
|
369
371
|
HookEventName,
|
|
370
372
|
createHookOutput
|
|
371
|
-
} from "./chunk-
|
|
372
|
-
import "./chunk-
|
|
373
|
-
import "./chunk-
|
|
373
|
+
} from "./chunk-PBATSWUQ.js";
|
|
374
|
+
import "./chunk-ZEOZL37W.js";
|
|
375
|
+
import "./chunk-OOCI5VVU.js";
|
|
374
376
|
import {
|
|
375
377
|
clearCachedCredentialFile,
|
|
376
378
|
qwenOAuth2Events
|
|
377
|
-
} from "./chunk-
|
|
378
|
-
import "./chunk-
|
|
379
|
+
} from "./chunk-53OPIXUE.js";
|
|
380
|
+
import "./chunk-DSBCU6JY.js";
|
|
379
381
|
import "./chunk-JESCGQM3.js";
|
|
380
382
|
import {
|
|
381
383
|
AuthType,
|
|
@@ -412,31 +414,31 @@ import {
|
|
|
412
414
|
uiTelemetryService,
|
|
413
415
|
withDaemonSpan,
|
|
414
416
|
withInteractionSpan
|
|
415
|
-
} from "./chunk-
|
|
417
|
+
} from "./chunk-I6JUVU7J.js";
|
|
416
418
|
import "./chunk-4WKAA4KS.js";
|
|
417
419
|
import "./chunk-CR3C7WXL.js";
|
|
418
420
|
import "./chunk-VGC4I5JJ.js";
|
|
419
421
|
import {
|
|
420
422
|
getAutoMemoryRoot,
|
|
421
423
|
getUserAutoMemoryRoot
|
|
422
|
-
} from "./chunk-
|
|
423
|
-
import "./chunk-
|
|
424
|
-
import "./chunk-
|
|
425
|
-
import "./chunk-
|
|
424
|
+
} from "./chunk-JD3MKVKL.js";
|
|
425
|
+
import "./chunk-UEY4AYUL.js";
|
|
426
|
+
import "./chunk-BDBMYST4.js";
|
|
427
|
+
import "./chunk-EZVDJFZ7.js";
|
|
426
428
|
import {
|
|
427
429
|
ToolConfirmationOutcome,
|
|
428
430
|
ToolNames,
|
|
429
431
|
isShellProgressData
|
|
430
|
-
} from "./chunk-
|
|
432
|
+
} from "./chunk-OP4MOGXF.js";
|
|
431
433
|
import "./chunk-XVNQMZ2I.js";
|
|
432
434
|
import "./chunk-FEOZBUMT.js";
|
|
433
435
|
import "./chunk-DJ2GSRLV.js";
|
|
434
|
-
import "./chunk-
|
|
436
|
+
import "./chunk-6EFTQYW7.js";
|
|
435
437
|
import {
|
|
436
438
|
DEFAULT_TOKEN_LIMIT,
|
|
437
439
|
getToolCallPreparations,
|
|
438
440
|
tokenLimit
|
|
439
|
-
} from "./chunk-
|
|
441
|
+
} from "./chunk-MAQQGNQ5.js";
|
|
440
442
|
import "./chunk-A4UCTEB5.js";
|
|
441
443
|
import "./chunk-XWRJCPHC.js";
|
|
442
444
|
import "./chunk-TYQMGACW.js";
|
|
@@ -448,11 +450,11 @@ import {
|
|
|
448
450
|
getErrorMessage,
|
|
449
451
|
getErrorStatus,
|
|
450
452
|
isSubpath
|
|
451
|
-
} from "./chunk-
|
|
452
|
-
import "./chunk-
|
|
453
|
+
} from "./chunk-C27BYUX6.js";
|
|
454
|
+
import "./chunk-CL7IRYTA.js";
|
|
453
455
|
import {
|
|
454
456
|
runExitCleanup
|
|
455
|
-
} from "./chunk-
|
|
457
|
+
} from "./chunk-COWNNAWJ.js";
|
|
456
458
|
import "./chunk-75DOP5OR.js";
|
|
457
459
|
import "./chunk-DMTGGOSA.js";
|
|
458
460
|
import "./chunk-YQ3U5MUC.js";
|
|
@@ -997,6 +999,13 @@ function interactionMetaFields(confirmation) {
|
|
|
997
999
|
__name(interactionMetaFields, "interactionMetaFields");
|
|
998
1000
|
function buildPermissionRequestContent(confirmation) {
|
|
999
1001
|
const content = [];
|
|
1002
|
+
const warnings = confirmation.type === "exec" || confirmation.type === "edit" ? confirmation.warnings ?? [] : [];
|
|
1003
|
+
for (const warning of warnings) {
|
|
1004
|
+
content.push({
|
|
1005
|
+
type: "content",
|
|
1006
|
+
content: { type: "text", text: warning }
|
|
1007
|
+
});
|
|
1008
|
+
}
|
|
1000
1009
|
if (confirmation.type === "edit") {
|
|
1001
1010
|
content.push({
|
|
1002
1011
|
type: "diff",
|
|
@@ -1017,6 +1026,56 @@ function buildPermissionRequestContent(confirmation) {
|
|
|
1017
1026
|
return content;
|
|
1018
1027
|
}
|
|
1019
1028
|
__name(buildPermissionRequestContent, "buildPermissionRequestContent");
|
|
1029
|
+
function permissionAbortError(signal) {
|
|
1030
|
+
return signal.reason instanceof Error ? signal.reason : new Error("Permission request was aborted.");
|
|
1031
|
+
}
|
|
1032
|
+
__name(permissionAbortError, "permissionAbortError");
|
|
1033
|
+
function requestPermissionWithAbort(client, params, signal) {
|
|
1034
|
+
if (signal.aborted) {
|
|
1035
|
+
return Promise.reject(permissionAbortError(signal));
|
|
1036
|
+
}
|
|
1037
|
+
return new Promise((resolve5, reject) => {
|
|
1038
|
+
let settled = false;
|
|
1039
|
+
const finish = /* @__PURE__ */ __name((callback) => {
|
|
1040
|
+
if (settled) return;
|
|
1041
|
+
settled = true;
|
|
1042
|
+
signal.removeEventListener("abort", onAbort);
|
|
1043
|
+
callback();
|
|
1044
|
+
}, "finish");
|
|
1045
|
+
const onAbort = /* @__PURE__ */ __name(() => finish(() => reject(permissionAbortError(signal))), "onAbort");
|
|
1046
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
1047
|
+
let request;
|
|
1048
|
+
try {
|
|
1049
|
+
request = client.requestPermission(params);
|
|
1050
|
+
} catch (error) {
|
|
1051
|
+
finish(() => reject(error));
|
|
1052
|
+
return;
|
|
1053
|
+
}
|
|
1054
|
+
request.then(
|
|
1055
|
+
(response) => finish(() => resolve5(response)),
|
|
1056
|
+
(error) => finish(() => reject(error))
|
|
1057
|
+
);
|
|
1058
|
+
});
|
|
1059
|
+
}
|
|
1060
|
+
__name(requestPermissionWithAbort, "requestPermissionWithAbort");
|
|
1061
|
+
function resolvePermissionOutcome(response, offeredOptions) {
|
|
1062
|
+
if (response.outcome.outcome === "cancelled") {
|
|
1063
|
+
return "cancel" /* Cancel */;
|
|
1064
|
+
}
|
|
1065
|
+
const optionId = response.outcome.optionId;
|
|
1066
|
+
if (!offeredOptions.some((option) => option.optionId === optionId)) {
|
|
1067
|
+
throw new Error(
|
|
1068
|
+
`Permission response selected unoffered option: ${optionId}`
|
|
1069
|
+
);
|
|
1070
|
+
}
|
|
1071
|
+
if (!Object.values(ToolConfirmationOutcome).includes(
|
|
1072
|
+
optionId
|
|
1073
|
+
)) {
|
|
1074
|
+
throw new Error(`Permission response selected invalid option: ${optionId}`);
|
|
1075
|
+
}
|
|
1076
|
+
return optionId;
|
|
1077
|
+
}
|
|
1078
|
+
__name(resolvePermissionOutcome, "resolvePermissionOutcome");
|
|
1020
1079
|
function toPermissionOptions(confirmation, forceHideAlwaysAllow = false) {
|
|
1021
1080
|
switch (confirmation.type) {
|
|
1022
1081
|
case "edit":
|
|
@@ -1243,9 +1302,13 @@ var SubAgentTracker = class {
|
|
|
1243
1302
|
}, "onConfirm")
|
|
1244
1303
|
};
|
|
1245
1304
|
const { title, locations, kind } = this.toolCallEmitter.resolveToolMetadata(event.name, state?.args);
|
|
1305
|
+
const permissionOptions = toPermissionOptions(fullConfirmationDetails);
|
|
1306
|
+
const offeredPermissionOptions = permissionOptions.map((option) => ({
|
|
1307
|
+
...option
|
|
1308
|
+
}));
|
|
1246
1309
|
const params = {
|
|
1247
1310
|
sessionId: this.ctx.sessionId,
|
|
1248
|
-
options:
|
|
1311
|
+
options: permissionOptions,
|
|
1249
1312
|
toolCall: {
|
|
1250
1313
|
toolCallId: event.callId,
|
|
1251
1314
|
status: "pending",
|
|
@@ -1266,8 +1329,15 @@ var SubAgentTracker = class {
|
|
|
1266
1329
|
}
|
|
1267
1330
|
};
|
|
1268
1331
|
try {
|
|
1269
|
-
const output = await
|
|
1270
|
-
|
|
1332
|
+
const output = await requestPermissionWithAbort(
|
|
1333
|
+
this.client,
|
|
1334
|
+
params,
|
|
1335
|
+
abortSignal
|
|
1336
|
+
);
|
|
1337
|
+
const outcome = resolvePermissionOutcome(
|
|
1338
|
+
output,
|
|
1339
|
+
offeredPermissionOptions
|
|
1340
|
+
);
|
|
1271
1341
|
await event.respond(outcome, {
|
|
1272
1342
|
answers: "answers" in output ? output.answers : void 0
|
|
1273
1343
|
});
|
|
@@ -3568,7 +3638,7 @@ ${this.pendingWorktreeNotice}
|
|
|
3568
3638
|
await this.messageEmitter.emitAgentMessage(stopOutput.systemMessage);
|
|
3569
3639
|
}
|
|
3570
3640
|
if (stopOutput?.isBlockingDecision() || stopOutput?.shouldStopExecution()) {
|
|
3571
|
-
externalReason = stopOutput
|
|
3641
|
+
externalReason = getStopHookContinuationReason(stopOutput);
|
|
3572
3642
|
stopHookIterationCount++;
|
|
3573
3643
|
stopHookReasons = [...stopHookReasons, externalReason];
|
|
3574
3644
|
stopHookCount = response.stopHookCount ?? 1;
|
|
@@ -5937,19 +6007,21 @@ ${this.pendingWorktreeNotice}
|
|
|
5937
6007
|
{ recordInvalidToolParams: true }
|
|
5938
6008
|
);
|
|
5939
6009
|
}
|
|
5940
|
-
const
|
|
6010
|
+
const policyToolName = tool.name;
|
|
6011
|
+
const originalPolicyRequestArgs = policyToolName === ToolNames.SHELL || policyToolName === ToolNames.MONITOR ? structuredClone(args) : args;
|
|
6012
|
+
const toolSpan = startToolSpan(policyToolName, {
|
|
5941
6013
|
"tool.call_id": callId,
|
|
5942
6014
|
// Dual-emit the legacy call_id/tool_name aliases like CoreToolScheduler
|
|
5943
6015
|
// (coreToolScheduler.ts) so pre-Phase-2 dashboards keyed off call_id keep
|
|
5944
6016
|
// matching daemon/ACP tool spans during the migration window.
|
|
5945
6017
|
call_id: callId,
|
|
5946
|
-
tool_name:
|
|
6018
|
+
tool_name: policyToolName
|
|
5947
6019
|
});
|
|
5948
6020
|
let spanSuccess = false;
|
|
5949
6021
|
try {
|
|
5950
6022
|
return await runInToolSpanContext(toolSpan, async () => {
|
|
5951
6023
|
const pm = this.config.getPermissionManager?.();
|
|
5952
|
-
if (pm && !await pm.isToolEnabled(
|
|
6024
|
+
if (pm && !await pm.isToolEnabled(policyToolName)) {
|
|
5953
6025
|
return earlyErrorResponse(
|
|
5954
6026
|
new Error(`Tool "${toolName}" is disabled.`),
|
|
5955
6027
|
toolName
|
|
@@ -5978,7 +6050,7 @@ ${this.pendingWorktreeNotice}
|
|
|
5978
6050
|
}
|
|
5979
6051
|
}
|
|
5980
6052
|
const toolUseId = generateToolUseId();
|
|
5981
|
-
|
|
6053
|
+
let approvalMode = this.config.getApprovalMode();
|
|
5982
6054
|
let toolBuildSucceeded = false;
|
|
5983
6055
|
try {
|
|
5984
6056
|
const invocation = tool.build(args);
|
|
@@ -6003,12 +6075,12 @@ ${this.pendingWorktreeNotice}
|
|
|
6003
6075
|
activeToolAbortSignal
|
|
6004
6076
|
);
|
|
6005
6077
|
}
|
|
6006
|
-
const isAskUserQuestionTool =
|
|
6007
|
-
|
|
6078
|
+
const isAskUserQuestionTool = policyToolName === ToolNames.ASK_USER_QUESTION;
|
|
6079
|
+
let toolParams = invocation.params;
|
|
6008
6080
|
const flowResult = await evaluatePermissionFlow(
|
|
6009
6081
|
this.config,
|
|
6010
6082
|
invocation,
|
|
6011
|
-
|
|
6083
|
+
policyToolName,
|
|
6012
6084
|
toolParams
|
|
6013
6085
|
);
|
|
6014
6086
|
const {
|
|
@@ -6018,31 +6090,74 @@ ${this.pendingWorktreeNotice}
|
|
|
6018
6090
|
denyMessage,
|
|
6019
6091
|
requiresUserInteraction
|
|
6020
6092
|
} = flowResult;
|
|
6093
|
+
approvalMode = this.config.getApprovalMode();
|
|
6021
6094
|
const isPlanMode = approvalMode === "plan" /* PLAN */;
|
|
6095
|
+
const isPlanShellCall = isPlanMode && (policyToolName === ToolNames.SHELL || policyToolName === ToolNames.MONITOR);
|
|
6022
6096
|
if (finalPermission === "deny") {
|
|
6023
6097
|
return earlyErrorResponse(
|
|
6024
6098
|
new Error(denyMessage ?? `Tool "${toolName}" is denied.`),
|
|
6025
6099
|
toolName
|
|
6026
6100
|
);
|
|
6027
6101
|
}
|
|
6028
|
-
|
|
6102
|
+
let planShellAmbientWorkingDirectory;
|
|
6103
|
+
if (isPlanShellCall) {
|
|
6104
|
+
const directory = toolParams["directory"];
|
|
6105
|
+
planShellAmbientWorkingDirectory = typeof directory === "string" && directory.length > 0 ? void 0 : this.config.getTargetDir();
|
|
6106
|
+
invocation.params = {
|
|
6107
|
+
...structuredClone(invocation.params),
|
|
6108
|
+
directory: typeof directory === "string" && directory.length > 0 ? directory : planShellAmbientWorkingDirectory
|
|
6109
|
+
};
|
|
6110
|
+
toolParams = invocation.params;
|
|
6111
|
+
}
|
|
6112
|
+
const planShellDecision = isPlanShellCall ? await evaluatePlanModeShellPolicy({
|
|
6113
|
+
config: this.config,
|
|
6114
|
+
toolName: policyToolName,
|
|
6115
|
+
requestArgs: originalPolicyRequestArgs,
|
|
6116
|
+
invocationParams: toolParams,
|
|
6117
|
+
permissionContext: pmCtx,
|
|
6118
|
+
ambientWorkingDirectory: planShellAmbientWorkingDirectory,
|
|
6119
|
+
signal: activeToolAbortSignal
|
|
6120
|
+
}) : { classification: "not-applicable" };
|
|
6121
|
+
if (planShellDecision.classification !== "not-applicable") {
|
|
6122
|
+
const initialPlanShellError = await validatePlanModeShellContext({
|
|
6123
|
+
config: this.config,
|
|
6124
|
+
decision: planShellDecision,
|
|
6125
|
+
requestArgs: args,
|
|
6126
|
+
invocationParams: invocation.params,
|
|
6127
|
+
signal: activeToolAbortSignal
|
|
6128
|
+
});
|
|
6129
|
+
if (initialPlanShellError) {
|
|
6130
|
+
return earlyErrorResponse(
|
|
6131
|
+
new Error(initialPlanShellError),
|
|
6132
|
+
toolName
|
|
6133
|
+
);
|
|
6134
|
+
}
|
|
6135
|
+
}
|
|
6136
|
+
if (planShellDecision.classification === "write") {
|
|
6137
|
+
return earlyErrorResponse(
|
|
6138
|
+
new Error(planShellDecision.writeBlockMessage),
|
|
6139
|
+
toolName
|
|
6140
|
+
);
|
|
6141
|
+
}
|
|
6142
|
+
const planShellRequiresConfirmation = planShellDecision.classification === "unknown";
|
|
6143
|
+
const forceAutoReviewForAllow = approvalMode === "auto" /* AUTO */ && (shouldForceAutoModeReviewForAllow(pmCtx, this.config.getCwd()) || shouldClassifyAllShellForAutoMode(policyToolName, this.config));
|
|
6029
6144
|
const confirmationPermission = getEffectivePermissionForConfirmation(
|
|
6030
6145
|
finalPermission,
|
|
6031
6146
|
forceAutoReviewForAllow
|
|
6032
6147
|
);
|
|
6033
6148
|
if (finalPermission === "allow" && forceAutoReviewForAllow) {
|
|
6034
6149
|
debugLogger6.info(
|
|
6035
|
-
`Auto mode: L4 allow overridden by protected-write guard for ${
|
|
6150
|
+
`Auto mode: L4 allow overridden by protected-write guard for ${policyToolName}`
|
|
6036
6151
|
);
|
|
6037
6152
|
}
|
|
6038
|
-
let autoModeAllowed = finalPermission === "allow" && !forceAutoReviewForAllow;
|
|
6153
|
+
let autoModeAllowed = finalPermission === "allow" && !forceAutoReviewForAllow && !planShellRequiresConfirmation;
|
|
6039
6154
|
if (autoModeAllowed && approvalMode === "auto" /* AUTO */) {
|
|
6040
6155
|
this.config.setAutoModeDenialState(
|
|
6041
6156
|
recordAllow(this.config.getAutoModeDenialState())
|
|
6042
6157
|
);
|
|
6043
6158
|
}
|
|
6044
6159
|
let wasAutoModeDenialFallback = false;
|
|
6045
|
-
if (!autoModeAllowed && !requiresUserInteraction && shouldRunAutoModeForCall(approvalMode,
|
|
6160
|
+
if (!autoModeAllowed && !requiresUserInteraction && shouldRunAutoModeForCall(approvalMode, policyToolName)) {
|
|
6046
6161
|
const denialState = this.config.getAutoModeDenialState();
|
|
6047
6162
|
const fallback = shouldFallback(denialState);
|
|
6048
6163
|
const messages = this.config.getGeminiClient?.()?.getHistoryTail(MAX_TRANSCRIPT_MESSAGES, false) ?? [];
|
|
@@ -6064,7 +6179,7 @@ ${this.pendingWorktreeNotice}
|
|
|
6064
6179
|
this.config,
|
|
6065
6180
|
decision,
|
|
6066
6181
|
outcome,
|
|
6067
|
-
|
|
6182
|
+
policyToolName,
|
|
6068
6183
|
toolParams,
|
|
6069
6184
|
callId,
|
|
6070
6185
|
abortSignal
|
|
@@ -6075,7 +6190,7 @@ ${this.pendingWorktreeNotice}
|
|
|
6075
6190
|
break;
|
|
6076
6191
|
case "blocked":
|
|
6077
6192
|
debugLogger6.warn(
|
|
6078
|
-
`Auto mode blocked (${outcome.reason}): tool=${
|
|
6193
|
+
`Auto mode blocked (${outcome.reason}): tool=${policyToolName}, ` + formatDenialStateLog(denialState)
|
|
6079
6194
|
);
|
|
6080
6195
|
return earlyErrorResponse(
|
|
6081
6196
|
new Error(outcome.errorMessage),
|
|
@@ -6116,14 +6231,45 @@ ${this.pendingWorktreeNotice}
|
|
|
6116
6231
|
}
|
|
6117
6232
|
}, "recordAutoModeFallbackResolution");
|
|
6118
6233
|
if (!autoModeAllowed && needsConfirmation(
|
|
6119
|
-
confirmationPermission,
|
|
6234
|
+
planShellRequiresConfirmation ? "ask" : confirmationPermission,
|
|
6120
6235
|
approvalMode,
|
|
6121
|
-
|
|
6236
|
+
policyToolName,
|
|
6122
6237
|
requiresUserInteraction
|
|
6123
6238
|
)) {
|
|
6124
|
-
confirmationDetails = await invocation.getConfirmationDetails(
|
|
6239
|
+
confirmationDetails = await invocation.getConfirmationDetails(
|
|
6240
|
+
activeToolAbortSignal
|
|
6241
|
+
);
|
|
6242
|
+
if (planShellDecision.classification !== "not-applicable") {
|
|
6243
|
+
const preDisplayPlanShellError = await validatePlanModeShellContext({
|
|
6244
|
+
config: this.config,
|
|
6245
|
+
decision: planShellDecision,
|
|
6246
|
+
requestArgs: args,
|
|
6247
|
+
invocationParams: invocation.params,
|
|
6248
|
+
signal: activeToolAbortSignal
|
|
6249
|
+
});
|
|
6250
|
+
if (preDisplayPlanShellError) {
|
|
6251
|
+
return earlyErrorResponse(
|
|
6252
|
+
new Error(preDisplayPlanShellError),
|
|
6253
|
+
toolName
|
|
6254
|
+
);
|
|
6255
|
+
}
|
|
6256
|
+
}
|
|
6257
|
+
try {
|
|
6258
|
+
confirmationDetails = decoratePlanModeShellConfirmation(
|
|
6259
|
+
planShellDecision,
|
|
6260
|
+
confirmationDetails
|
|
6261
|
+
);
|
|
6262
|
+
} catch {
|
|
6263
|
+
if (planShellDecision.classification === "unknown") {
|
|
6264
|
+
return earlyErrorResponse(
|
|
6265
|
+
new Error(planShellDecision.noApprovalMessage),
|
|
6266
|
+
toolName
|
|
6267
|
+
);
|
|
6268
|
+
}
|
|
6269
|
+
throw new Error("Unable to prepare shell confirmation.");
|
|
6270
|
+
}
|
|
6125
6271
|
injectPermissionRulesIfMissing(confirmationDetails, pmCtx);
|
|
6126
|
-
if (isPlanModeBlocked(
|
|
6272
|
+
if (planShellDecision.classification === "not-applicable" && isPlanModeBlocked(
|
|
6127
6273
|
isPlanMode,
|
|
6128
6274
|
isExitPlanModeTool,
|
|
6129
6275
|
isAskUserQuestionTool,
|
|
@@ -6143,23 +6289,50 @@ ${this.pendingWorktreeNotice}
|
|
|
6143
6289
|
if (hooksEnabled && messageBus) {
|
|
6144
6290
|
const hookResult = await firePermissionRequestHook(
|
|
6145
6291
|
messageBus,
|
|
6146
|
-
|
|
6292
|
+
policyToolName,
|
|
6147
6293
|
args,
|
|
6148
|
-
String(approvalMode)
|
|
6294
|
+
String(approvalMode),
|
|
6295
|
+
void 0,
|
|
6296
|
+
activeToolAbortSignal
|
|
6149
6297
|
);
|
|
6150
6298
|
if (hookResult.hasDecision && (!hookResult.shouldAllow || !requiresUserInteraction)) {
|
|
6151
6299
|
hookHandled = true;
|
|
6152
6300
|
if (hookResult.shouldAllow) {
|
|
6153
|
-
if (
|
|
6154
|
-
|
|
6155
|
-
|
|
6301
|
+
if (planShellDecision.classification !== "not-applicable") {
|
|
6302
|
+
const approval = await validatePlanModeShellApproval({
|
|
6303
|
+
config: this.config,
|
|
6304
|
+
decision: planShellDecision,
|
|
6305
|
+
requestArgs: args,
|
|
6306
|
+
invocationParams: invocation.params,
|
|
6307
|
+
signal: activeToolAbortSignal,
|
|
6308
|
+
outcome: "proceed_once" /* ProceedOnce */,
|
|
6309
|
+
payload: hookResult.updatedInput ? { updatedInput: hookResult.updatedInput } : void 0
|
|
6310
|
+
});
|
|
6311
|
+
await confirmationDetails.onConfirm(
|
|
6312
|
+
approval.outcome,
|
|
6313
|
+
approval.payload
|
|
6314
|
+
);
|
|
6315
|
+
if (approval.outcome === "cancel" /* Cancel */) {
|
|
6316
|
+
return earlyErrorResponse(
|
|
6317
|
+
new Error(
|
|
6318
|
+
approval.payload?.cancelMessage ?? planShellDecision.noApprovalMessage
|
|
6319
|
+
),
|
|
6320
|
+
toolName
|
|
6321
|
+
);
|
|
6322
|
+
}
|
|
6323
|
+
recordAutoModeFallbackResolution(approval.outcome);
|
|
6324
|
+
} else {
|
|
6325
|
+
if (hookResult.updatedInput) {
|
|
6326
|
+
args = hookResult.updatedInput;
|
|
6327
|
+
invocation.params = hookResult.updatedInput;
|
|
6328
|
+
}
|
|
6329
|
+
await confirmationDetails.onConfirm(
|
|
6330
|
+
"proceed_once" /* ProceedOnce */
|
|
6331
|
+
);
|
|
6332
|
+
recordAutoModeFallbackResolution(
|
|
6333
|
+
"proceed_once" /* ProceedOnce */
|
|
6334
|
+
);
|
|
6156
6335
|
}
|
|
6157
|
-
await confirmationDetails.onConfirm(
|
|
6158
|
-
"proceed_once" /* ProceedOnce */
|
|
6159
|
-
);
|
|
6160
|
-
recordAutoModeFallbackResolution(
|
|
6161
|
-
"proceed_once" /* ProceedOnce */
|
|
6162
|
-
);
|
|
6163
6336
|
} else {
|
|
6164
6337
|
return earlyErrorResponse(
|
|
6165
6338
|
new Error(
|
|
@@ -6172,11 +6345,26 @@ ${this.pendingWorktreeNotice}
|
|
|
6172
6345
|
}
|
|
6173
6346
|
if (!requiresUserInteraction && approvalMode === "auto-edit" /* AUTO_EDIT */ && (confirmationDetails.type === "edit" || confirmationDetails.type === "info")) {
|
|
6174
6347
|
} else if (!hookHandled) {
|
|
6348
|
+
if (planShellDecision.classification !== "not-applicable") {
|
|
6349
|
+
const finalPreDisplayPlanShellError = await validatePlanModeShellContext({
|
|
6350
|
+
config: this.config,
|
|
6351
|
+
decision: planShellDecision,
|
|
6352
|
+
requestArgs: args,
|
|
6353
|
+
invocationParams: invocation.params,
|
|
6354
|
+
signal: activeToolAbortSignal
|
|
6355
|
+
});
|
|
6356
|
+
if (finalPreDisplayPlanShellError) {
|
|
6357
|
+
return earlyErrorResponse(
|
|
6358
|
+
new Error(finalPreDisplayPlanShellError),
|
|
6359
|
+
toolName
|
|
6360
|
+
);
|
|
6361
|
+
}
|
|
6362
|
+
}
|
|
6175
6363
|
didRequestPermission = true;
|
|
6176
6364
|
const content = buildPermissionRequestContent(confirmationDetails);
|
|
6177
6365
|
const mappedKind = this.toolCallEmitter.mapToolKind(
|
|
6178
6366
|
tool.kind,
|
|
6179
|
-
|
|
6367
|
+
policyToolName
|
|
6180
6368
|
);
|
|
6181
6369
|
if (hooksEnabled && messageBus) {
|
|
6182
6370
|
this.fireNotificationHookWithTerminalSequence(
|
|
@@ -6186,9 +6374,16 @@ ${this.pendingWorktreeNotice}
|
|
|
6186
6374
|
"Permission needed"
|
|
6187
6375
|
);
|
|
6188
6376
|
}
|
|
6377
|
+
const permissionOptions = toPermissionOptions(
|
|
6378
|
+
confirmationDetails,
|
|
6379
|
+
pmForcedAsk
|
|
6380
|
+
);
|
|
6381
|
+
const offeredPermissionOptions = permissionOptions.map(
|
|
6382
|
+
(option) => ({ ...option })
|
|
6383
|
+
);
|
|
6189
6384
|
const params = {
|
|
6190
6385
|
sessionId: this.sessionId,
|
|
6191
|
-
options:
|
|
6386
|
+
options: permissionOptions,
|
|
6192
6387
|
toolCall: {
|
|
6193
6388
|
toolCallId: callId,
|
|
6194
6389
|
status: "pending",
|
|
@@ -6207,10 +6402,12 @@ ${this.pendingWorktreeNotice}
|
|
|
6207
6402
|
}
|
|
6208
6403
|
}
|
|
6209
6404
|
};
|
|
6210
|
-
const stopAfterPermissionCancel = /* @__PURE__ */ __name(() => {
|
|
6405
|
+
const stopAfterPermissionCancel = /* @__PURE__ */ __name((message) => {
|
|
6211
6406
|
onStopAfterPermissionCancel?.();
|
|
6212
6407
|
return earlyErrorResponse(
|
|
6213
|
-
new Error(
|
|
6408
|
+
new Error(
|
|
6409
|
+
message ?? `Tool "${toolName}" was canceled by the user.`
|
|
6410
|
+
),
|
|
6214
6411
|
toolName,
|
|
6215
6412
|
{ stopAfterPermissionCancel: true }
|
|
6216
6413
|
);
|
|
@@ -6218,10 +6415,15 @@ ${this.pendingWorktreeNotice}
|
|
|
6218
6415
|
let output;
|
|
6219
6416
|
let outcome;
|
|
6220
6417
|
try {
|
|
6221
|
-
output = await
|
|
6222
|
-
|
|
6418
|
+
output = await requestPermissionWithAbort(
|
|
6419
|
+
this.client,
|
|
6420
|
+
params,
|
|
6421
|
+
activeToolAbortSignal
|
|
6422
|
+
);
|
|
6423
|
+
outcome = resolvePermissionOutcome(
|
|
6424
|
+
output,
|
|
6425
|
+
offeredPermissionOptions
|
|
6223
6426
|
);
|
|
6224
|
-
outcome = output.outcome.outcome === "cancelled" ? "cancel" /* Cancel */ : external_exports.nativeEnum(ToolConfirmationOutcome).parse(output.outcome.optionId);
|
|
6225
6427
|
} catch (error) {
|
|
6226
6428
|
debugLogger6.error(
|
|
6227
6429
|
`Permission request failed for tool ${toolName}:`,
|
|
@@ -6238,7 +6440,9 @@ ${this.pendingWorktreeNotice}
|
|
|
6238
6440
|
);
|
|
6239
6441
|
}
|
|
6240
6442
|
onStopAfterPermissionCancel?.();
|
|
6241
|
-
const permissionFailureMessage = isExitPlanModeTool ? "The host could not present plan-exit approval. Plan mode remains active; use the host mode selector or /plan exit to leave plan mode." : `
|
|
6443
|
+
const permissionFailureMessage = isExitPlanModeTool ? "The host could not present plan-exit approval. Plan mode remains active; use the host mode selector or /plan exit to leave plan mode." : planShellDecision.classification === "unknown" ? `Plan mode could not complete approval for this shell command: ${this.#formatError(
|
|
6444
|
+
error
|
|
6445
|
+
)}. The command was not run; Plan mode remains active.` : `Permission request failed for "${toolName}": ${this.#formatError(
|
|
6242
6446
|
error
|
|
6243
6447
|
)}`;
|
|
6244
6448
|
return earlyErrorResponse(
|
|
@@ -6247,11 +6451,28 @@ ${this.pendingWorktreeNotice}
|
|
|
6247
6451
|
{ stopAfterPermissionCancel: true }
|
|
6248
6452
|
);
|
|
6249
6453
|
}
|
|
6454
|
+
let confirmationPayload = {
|
|
6455
|
+
answers: output.answers
|
|
6456
|
+
};
|
|
6457
|
+
if (planShellDecision.classification !== "not-applicable") {
|
|
6458
|
+
const approval = await validatePlanModeShellApproval({
|
|
6459
|
+
config: this.config,
|
|
6460
|
+
decision: planShellDecision,
|
|
6461
|
+
requestArgs: args,
|
|
6462
|
+
invocationParams: invocation.params,
|
|
6463
|
+
signal: activeToolAbortSignal,
|
|
6464
|
+
outcome,
|
|
6465
|
+
payload: confirmationPayload
|
|
6466
|
+
});
|
|
6467
|
+
outcome = approval.outcome;
|
|
6468
|
+
confirmationPayload = approval.payload;
|
|
6469
|
+
}
|
|
6250
6470
|
recordAutoModeFallbackResolution(outcome);
|
|
6251
6471
|
try {
|
|
6252
|
-
await confirmationDetails.onConfirm(
|
|
6253
|
-
|
|
6254
|
-
|
|
6472
|
+
await confirmationDetails.onConfirm(
|
|
6473
|
+
outcome,
|
|
6474
|
+
confirmationPayload
|
|
6475
|
+
);
|
|
6255
6476
|
} catch (error) {
|
|
6256
6477
|
if (outcome !== "cancel" /* Cancel */) {
|
|
6257
6478
|
throw error;
|
|
@@ -6268,7 +6489,7 @@ ${this.pendingWorktreeNotice}
|
|
|
6268
6489
|
confirmationDetails,
|
|
6269
6490
|
this.config.getOnPersistPermissionRule?.(),
|
|
6270
6491
|
this.config.getPermissionManager?.(),
|
|
6271
|
-
|
|
6492
|
+
confirmationPayload
|
|
6272
6493
|
);
|
|
6273
6494
|
}
|
|
6274
6495
|
if (confirmationDetails.type === "edit" && outcome === "proceed_always" /* ProceedAlways */) {
|
|
@@ -6276,7 +6497,9 @@ ${this.pendingWorktreeNotice}
|
|
|
6276
6497
|
}
|
|
6277
6498
|
switch (outcome) {
|
|
6278
6499
|
case "cancel" /* Cancel */:
|
|
6279
|
-
return stopAfterPermissionCancel(
|
|
6500
|
+
return stopAfterPermissionCancel(
|
|
6501
|
+
confirmationPayload?.cancelMessage
|
|
6502
|
+
);
|
|
6280
6503
|
case "proceed_once" /* ProceedOnce */:
|
|
6281
6504
|
case "proceed_always" /* ProceedAlways */:
|
|
6282
6505
|
case "proceed_always_project" /* ProceedAlwaysProject */:
|
|
@@ -6308,7 +6531,7 @@ ${this.pendingWorktreeNotice}
|
|
|
6308
6531
|
if (hooksEnabledForTool && messageBusForTool) {
|
|
6309
6532
|
const preHookResult = await firePreToolUseHook(
|
|
6310
6533
|
messageBusForTool,
|
|
6311
|
-
|
|
6534
|
+
policyToolName,
|
|
6312
6535
|
args,
|
|
6313
6536
|
toolUseId,
|
|
6314
6537
|
permissionMode,
|
|
@@ -6425,7 +6648,7 @@ ${this.pendingWorktreeNotice}
|
|
|
6425
6648
|
};
|
|
6426
6649
|
const postHookResult = await firePostToolUseHook(
|
|
6427
6650
|
messageBusForTool,
|
|
6428
|
-
|
|
6651
|
+
policyToolName,
|
|
6429
6652
|
args,
|
|
6430
6653
|
toolResponse,
|
|
6431
6654
|
toolUseId,
|
|
@@ -6456,7 +6679,7 @@ ${this.pendingWorktreeNotice}
|
|
|
6456
6679
|
const failureHookResult = await firePostToolUseFailureHook(
|
|
6457
6680
|
messageBusForTool,
|
|
6458
6681
|
toolUseId,
|
|
6459
|
-
|
|
6682
|
+
policyToolName,
|
|
6460
6683
|
args,
|
|
6461
6684
|
toolResult.error?.message ?? "Tool execution was cancelled",
|
|
6462
6685
|
isInterrupt,
|
|
@@ -6545,7 +6768,7 @@ ${this.pendingWorktreeNotice}
|
|
|
6545
6768
|
const failureHookResult = await firePostToolUseFailureHook(
|
|
6546
6769
|
messageBusForError,
|
|
6547
6770
|
toolUseId,
|
|
6548
|
-
|
|
6771
|
+
policyToolName,
|
|
6549
6772
|
args,
|
|
6550
6773
|
error.message,
|
|
6551
6774
|
isInterrupt,
|
|
@@ -9409,7 +9632,7 @@ var QwenAgent = class {
|
|
|
9409
9632
|
markAcpStartup("initializeHandlerStart");
|
|
9410
9633
|
this.clientCapabilities = args.clientCapabilities;
|
|
9411
9634
|
const authMethods = buildAuthMethods();
|
|
9412
|
-
const version = "0.
|
|
9635
|
+
const version = "0.20.0-nightly.20260720.0c271659d";
|
|
9413
9636
|
const response = {
|
|
9414
9637
|
protocolVersion: PROTOCOL_VERSION,
|
|
9415
9638
|
agentInfo: {
|