@qwen-code/qwen-code 0.23.2 → 0.23.3-nightly.20260911.aaa6a32aae
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/README.md +35 -15
- package/bundled/computer-use/SKILL.md +1 -1
- package/bundled/goal-draft/SKILL.md +10 -10
- package/bundled/qc-helper/docs/configuration/model-providers.md +66 -28
- package/bundled/qc-helper/docs/configuration/settings.md +8 -3
- package/bundled/qc-helper/docs/features/_meta.ts +1 -0
- package/bundled/qc-helper/docs/features/channels/dingtalk.md +0 -20
- package/bundled/qc-helper/docs/features/channels/dws.md +7 -1
- package/bundled/qc-helper/docs/features/channels/overview.md +5 -6
- package/bundled/qc-helper/docs/features/commands.md +62 -9
- package/bundled/qc-helper/docs/features/computer-use.md +1 -1
- package/bundled/qc-helper/docs/features/cross-session-protocol.md +338 -0
- package/bundled/qc-helper/docs/features/goals.md +22 -18
- package/bundled/qc-helper/docs/features/hooks.md +28 -22
- package/bundled/qc-helper/docs/features/sub-agents.md +27 -0
- package/bundled/qc-helper/docs/qwen-serve.md +23 -6
- package/bundled/review/SKILL.md +93 -80
- package/bundled/review/references/persistence.md +2 -0
- package/bundled/review/references/posting.md +31 -14
- package/bundled/workflow-authoring/SKILL.md +410 -0
- package/bundled/workflow-creator/SKILL.md +1 -1
- package/chunks/{MaxSizedBox-4C3BKKKY.js → MaxSizedBox-7C5XTBZI.js} +64 -53
- package/chunks/{StandaloneSessionPicker-TXVF65YW.js → StandaloneSessionPicker-IGTT3ZRX.js} +88 -76
- package/chunks/{acp-startup-profiler-KEU6VAYR.js → acp-startup-profiler-RUQNTNU5.js} +2 -2
- package/chunks/acp-subagent-executor-IUHVNVVO.js +140 -0
- package/chunks/{acpAgent-H5XBKGB4.js → acpAgent-W43WM2K4.js} +957 -243
- package/chunks/{agent-T5LEFJIU.js → agent-2XMXC5JW.js} +48 -38
- package/chunks/{agent-headless-VZKSRH36.js → agent-headless-2HHBVCP6.js} +48 -38
- package/chunks/{anthropicContentGenerator-PRJWWVYJ.js → anthropicContentGenerator-7RI3MPIW.js} +69 -36
- package/chunks/{artifact-tool-G5LHNECG.js → artifact-tool-HHVHCPNG.js} +59 -109
- package/chunks/{askUserQuestion-I5W5S3D6.js → askUserQuestion-RFMXTD3B.js} +2 -2
- package/chunks/{bridge-AOX5IY44.js → bridge-ID6N4IH5.js} +69 -58
- package/chunks/{ca-KC2AISNS.js → ca-MX3WCEEG.js} +1 -1
- package/chunks/{channel-management-service-MWQGHPAS.js → channel-management-service-ASCXI7FR.js} +6 -6
- package/chunks/{channel-settings-store-XZCGDGHW.js → channel-settings-store-TPJFQAZY.js} +76 -65
- package/chunks/{channel-worker-group-SQ5FRWOH.js → channel-worker-group-JR6JOELM.js} +9 -9
- package/chunks/{channel-worker-manager-TU4ZNWOE.js → channel-worker-manager-AVKJEZFL.js} +19 -10
- package/chunks/{channel-worker-supervisor-EMITFMCP.js → channel-worker-supervisor-OOYY7BAQ.js} +7 -7
- package/chunks/{chunk-4WMGYG3F.js → chunk-22FWWGSM.js} +2 -2
- package/chunks/{chunk-LWX4WDFF.js → chunk-2S5RIGZJ.js} +43 -15
- package/chunks/{chunk-CLKE4IY3.js → chunk-2SZH22YO.js} +1 -1
- package/chunks/{chunk-HJ5UJQQL.js → chunk-2UKKQGRA.js} +3639 -1804
- package/chunks/{chunk-MWIO7MF6.js → chunk-2WSLXP3W.js} +4 -0
- package/chunks/{chunk-HNLMYDQE.js → chunk-33LYAC4R.js} +10 -6
- package/chunks/{chunk-VBLAI2HA.js → chunk-3FPYT6QC.js} +0 -31
- package/chunks/{chunk-F53KKZUD.js → chunk-3LMDSCLU.js} +158 -10
- package/chunks/{chunk-WXFCI3O5.js → chunk-3MAUPOZ4.js} +2 -2
- package/chunks/{chunk-CRZBDVP2.js → chunk-432JQKIO.js} +10 -10
- package/chunks/{chunk-IRGDIDGJ.js → chunk-43RQ552L.js} +364 -84
- package/chunks/{chunk-PFKGV6PO.js → chunk-465USTVK.js} +9 -15
- package/chunks/{chunk-WG7BL3FY.js → chunk-473RJLIH.js} +1 -1
- package/chunks/{chunk-J3VZF2AL.js → chunk-4O2AXZXU.js} +2 -2
- package/chunks/{chunk-N6S3NUYJ.js → chunk-55VOWZ4C.js} +1 -1
- package/chunks/{chunk-OWCFKIFQ.js → chunk-5CZMWDJI.js} +2 -2
- package/chunks/{chunk-7NDZKE2M.js → chunk-5MUIHID6.js} +5 -5
- package/chunks/{chunk-RM244SCQ.js → chunk-5Z74GE4N.js} +1 -1
- package/chunks/{chunk-G5VOXCRX.js → chunk-6375QMAO.js} +2 -2
- package/chunks/{chunk-3LPJ776W.js → chunk-63GQZKXL.js} +164 -31
- package/chunks/{chunk-O2FEO2CB.js → chunk-6GDELAVL.js} +18 -2
- package/chunks/{chunk-7PD7ZMX5.js → chunk-6HI2I3OM.js} +168 -6
- package/chunks/{chunk-CALNF3Z3.js → chunk-7C57HCOR.js} +1 -1
- package/chunks/{chunk-UYDQYDW2.js → chunk-7IBS746B.js} +1 -1
- package/chunks/{chunk-AUTUFD5X.js → chunk-ABNX6E6K.js} +1 -1
- package/chunks/chunk-ACHCT36C.js +28 -0
- package/chunks/{chunk-2WC3Y7YY.js → chunk-AEY27Z35.js} +401 -23
- package/chunks/{chunk-AO2VMS72.js → chunk-AQFRRH73.js} +3 -3
- package/chunks/{chunk-PDN7FJZV.js → chunk-ASWEMQIZ.js} +4 -4
- package/chunks/chunk-AYEJOTIU.js +43 -0
- package/chunks/{chunk-QFJZAY7W.js → chunk-BKFRA4F5.js} +5 -5
- package/chunks/{chunk-KCF2436G.js → chunk-BNLW5N6U.js} +4 -4
- package/chunks/{chunk-GOKAOSCN.js → chunk-BRFOZEPA.js} +2 -2
- package/chunks/{process-registry-OAEG6WGC.js → chunk-BYUAT5OC.js} +1 -0
- package/chunks/chunk-C5CECJ46.js +340 -0
- package/chunks/{chunk-NOO4QFXM.js → chunk-C75BXMPM.js} +1 -3
- package/chunks/chunk-CAAMI77K.js +937 -0
- package/chunks/{chunk-QTB4VP4K.js → chunk-CBGHRAWM.js} +304 -23
- package/chunks/chunk-CF5KXZZX.js +150 -0
- package/chunks/chunk-CFMZLE3L.js +75 -0
- package/chunks/{chunk-TGNNLRC3.js → chunk-CJ3DHN5I.js} +1 -0
- package/chunks/{chunk-ERXNTINK.js → chunk-CQZJYGRX.js} +1 -1
- package/chunks/{chunk-WBU2PIZ5.js → chunk-CSDKDHWV.js} +23 -16
- package/chunks/{chunk-2EKVPSIJ.js → chunk-D754KKNZ.js} +9 -2
- package/chunks/{chunk-E6TI726I.js → chunk-DGC7BKEZ.js} +1 -1
- package/chunks/{chunk-7SVM3RP2.js → chunk-DMMOQWRF.js} +4 -6
- package/chunks/{chunk-J3TJH52D.js → chunk-DOTF2PF2.js} +1 -1
- package/chunks/{chunk-2BMXHB6N.js → chunk-DWBNQR53.js} +7 -7
- package/chunks/{chunk-ZN5TKAVR.js → chunk-E5LTUWKZ.js} +3 -3
- package/chunks/chunk-EGW3ZP6Y.js +32 -0
- package/chunks/chunk-ELRMZTPF.js +374 -0
- package/chunks/{chunk-RNAJVXUG.js → chunk-ENAUXRPG.js} +6 -6
- package/chunks/{chunk-WXD7INFV.js → chunk-EO4U2X47.js} +10 -8
- package/chunks/{chunk-WDVV3LRM.js → chunk-EPVEPTI3.js} +45 -152
- package/chunks/chunk-ERU3SDXT.js +27 -0
- package/chunks/{chunk-4HOEU2OR.js → chunk-EWJTAP3Y.js} +1 -19
- package/chunks/{chunk-GSFV5RQW.js → chunk-EYN3G5XD.js} +328 -4
- package/chunks/{chunk-QB3KS3N3.js → chunk-FGROOEKM.js} +5 -40
- package/chunks/{chunk-TOOOLHVS.js → chunk-FH5AVEWJ.js} +3 -3
- package/chunks/{chunk-DAI65CMX.js → chunk-FJZWRNEW.js} +1 -1
- package/chunks/{chunk-GNY7B3CA.js → chunk-FUQK5ZNL.js} +1 -1
- package/chunks/{chunk-GOEVQADN.js → chunk-GDIPPCW6.js} +330 -175
- package/chunks/{chunk-ALMR3E6Q.js → chunk-GDWE23OR.js} +3 -3
- package/chunks/{chunk-LNYV4GXX.js → chunk-GSKX53AN.js} +0 -139
- package/chunks/{chunk-ELD3OBPU.js → chunk-GWOVD63C.js} +3 -3
- package/chunks/{chunk-IWABUX6T.js → chunk-GX5FF2IE.js} +6 -6
- package/chunks/{chunk-22GORRNY.js → chunk-GZMNHAYC.js} +1 -1
- package/chunks/{chunk-YZTGGCEE.js → chunk-H3TFIFX3.js} +1 -1
- package/chunks/{chunk-6G4V7SE4.js → chunk-HG46TTAG.js} +1 -1
- package/chunks/{chunk-FETY36NQ.js → chunk-HGEUHUEV.js} +1 -1
- package/chunks/{chunk-KEPC5BOL.js → chunk-IBRQG2MP.js} +12 -15
- package/chunks/{chunk-OXR34GCD.js → chunk-IILWL3KY.js} +2054 -146
- package/chunks/{chunk-IW6RQPQB.js → chunk-IJOS26LH.js} +1 -3
- package/chunks/{chunk-ORFIYTI2.js → chunk-IK2MWJP5.js} +1 -1
- package/chunks/{chunk-CMWU6P4D.js → chunk-IRJRB3OD.js} +1 -1
- package/chunks/{chunk-QHLHE2OT.js → chunk-IUN5ZMFY.js} +1 -1
- package/chunks/{chunk-LYT2OU7D.js → chunk-IXXV6BVB.js} +172 -6
- package/chunks/{chunk-R3JIDRUL.js → chunk-J6H4JP25.js} +4 -4
- package/chunks/{chunk-NB3NDQQK.js → chunk-J6SBP5G2.js} +1 -1
- package/chunks/{chunk-TRQNRP2H.js → chunk-J7LBAKDH.js} +46 -3
- package/chunks/{chunk-67XTVRVB.js → chunk-JJFHISXU.js} +30 -25
- package/chunks/chunk-JL6APGBX.js +43 -0
- package/chunks/{chunk-NX7ZTXFF.js → chunk-JSKEW4E7.js} +2 -1
- package/chunks/{chunk-BK7D2JR6.js → chunk-JVTXAA35.js} +3 -3
- package/chunks/chunk-K2OJUPOE.js +78 -0
- package/chunks/{chunk-G3ZUMSFS.js → chunk-K3U6VB3O.js} +6 -6
- package/chunks/{chunk-4I3WFI3U.js → chunk-K4KWLF7Q.js} +12 -12
- package/chunks/{chunk-WXPPUPHM.js → chunk-KWFFJ6AK.js} +1 -1
- package/chunks/{chunk-46MMBZHI.js → chunk-KZYOFJ6V.js} +4 -4
- package/chunks/{chunk-ULZECEIP.js → chunk-LDQHA6L4.js} +2 -20
- package/chunks/{chunk-7LTCFO6T.js → chunk-LQBAFO5D.js} +6 -5
- package/chunks/{chunk-SOA4HKRJ.js → chunk-LT2XFADM.js} +2 -2
- package/chunks/{chunk-JYGIJA4W.js → chunk-LWWRJRCD.js} +1 -1
- package/chunks/{chunk-YQGW3M6Z.js → chunk-MFQWRBFB.js} +5 -5
- package/chunks/{chunk-TODNHE76.js → chunk-MUFGTWQH.js} +5 -5
- package/chunks/{chunk-5DQ4YTIZ.js → chunk-MV5XRRML.js} +3 -3
- package/chunks/{chunk-IR6JKBAP.js → chunk-NOUK63IR.js} +2 -2
- package/chunks/{chunk-XQ4RDO5B.js → chunk-NV77SEX3.js} +1 -1
- package/chunks/{chunk-OFVAS4AR.js → chunk-NWDPOFJI.js} +2 -2
- package/chunks/chunk-NY6OPAPS.js +820 -0
- package/chunks/{chunk-WDN64MVT.js → chunk-O5VX66FB.js} +127 -18
- package/chunks/{chunk-MV5DTLJV.js → chunk-OHCR4O3U.js} +1 -1
- package/chunks/{chunk-LEAOJ43M.js → chunk-OKOPKQ2X.js} +1310 -2107
- package/chunks/{chunk-B25JYXZE.js → chunk-ONLJBOI2.js} +971 -17
- package/chunks/{chunk-QQK4L3UU.js → chunk-OWUAZXXN.js} +132 -26
- package/chunks/{chunk-R457KFV7.js → chunk-P42IUOAO.js} +3 -3
- package/chunks/{chunk-LUNC5KCL.js → chunk-PRELUGCQ.js} +214 -39
- package/chunks/{chunk-5OZUKLL7.js → chunk-QSMQKTXV.js} +4 -4
- package/chunks/{chunk-FAJPLSYF.js → chunk-QTQYLQ5A.js} +85 -81
- package/chunks/{chunk-CALTQWTZ.js → chunk-QVZDV4ZS.js} +2 -2
- package/chunks/{chunk-J6MB5ZHZ.js → chunk-QZW6WRB7.js} +2 -1
- package/chunks/{chunk-KFECPHLV.js → chunk-RBWAGV73.js} +3 -3
- package/chunks/{chunk-4VY3ITHR.js → chunk-RF5RQRTD.js} +3 -3
- package/chunks/{chunk-HIXUUCGY.js → chunk-RPMXMR6U.js} +2 -2
- package/chunks/{chunk-3OAXF3UK.js → chunk-RRQEZBL2.js} +3756 -1343
- package/chunks/{chunk-4ALNJDHL.js → chunk-RSGEAWFJ.js} +19 -1
- package/chunks/{chunk-5BH2AIEY.js → chunk-RUE62UH6.js} +2 -2
- package/chunks/{chunk-PQEISIKS.js → chunk-SAH4BD2J.js} +0 -67
- package/chunks/{chunk-A7EFXK7P.js → chunk-SAOJHRWY.js} +2 -2
- package/chunks/{chunk-JO77FGNZ.js → chunk-SDUIETBG.js} +19 -7
- package/chunks/{chunk-6RZX2HIH.js → chunk-TBEXLLAO.js} +2 -2
- package/chunks/{chunk-PSPAM24S.js → chunk-TBSCTWKF.js} +6 -0
- package/chunks/{chunk-HRPFBHW7.js → chunk-TPKQIA7G.js} +1 -0
- package/chunks/{chunk-XDNFODER.js → chunk-TUIW5LLK.js} +1 -1
- package/chunks/{chunk-APXIW2TF.js → chunk-TVV5FA3G.js} +4 -4
- package/chunks/chunk-U6H3XTFA.js +95 -0
- package/chunks/{chunk-S5QR6CB5.js → chunk-UKMWZ5NS.js} +108 -887
- package/chunks/{chunk-U6REWGVR.js → chunk-VG2BRSEK.js} +2 -2
- package/chunks/chunk-VGBOJH2D.js +127 -0
- package/chunks/chunk-VGY2RGXL.js +100 -0
- package/chunks/{chunk-ZP5XDLSA.js → chunk-VLWG3EHY.js} +12 -12
- package/chunks/{chunk-4JNHNVAZ.js → chunk-W547PYQ7.js} +9 -4
- package/chunks/{chunk-7VEYUF3N.js → chunk-W5ZQMAEM.js} +1 -1
- package/chunks/{chunk-QAZ2MGYT.js → chunk-W7JJLUSB.js} +2 -2
- package/chunks/{chunk-CCBTNJB4.js → chunk-W7Q7XDQI.js} +39 -27
- package/chunks/{chunk-DARWOZY6.js → chunk-WD6YQI5M.js} +1 -1
- package/chunks/{chunk-F2NYVASI.js → chunk-WXAWG3JS.js} +30 -13
- package/chunks/{chunk-NPKCVSXX.js → chunk-XB5JRCAM.js} +11 -9
- package/chunks/{chunk-XSOXPG2L.js → chunk-XE46RQFI.js} +136 -8
- package/chunks/{chunk-QTNCGZHQ.js → chunk-XX5HQLCZ.js} +16 -0
- package/chunks/{chunk-2Z3T52OC.js → chunk-Y5TM7SBV.js} +7 -2
- package/chunks/chunk-YC6XOB5N.js +691 -0
- package/chunks/{chunk-CWVZBIZJ.js → chunk-YDW4ERSS.js} +1 -1
- package/chunks/{chunk-TRWQQBVH.js → chunk-YGCTOXUT.js} +10 -24
- package/chunks/{chunk-WK7P62DV.js → chunk-YKC67ZEF.js} +6 -6
- package/chunks/{chunk-KA5HR3G2.js → chunk-YKM6MITI.js} +5 -5
- package/chunks/{chunk-X7LFJF5D.js → chunk-YM6KUQ2S.js} +36 -84
- package/chunks/{chunk-HZ2HUXX7.js → chunk-YS2ZJSOA.js} +29 -12
- package/chunks/{chunk-G37O7YO6.js → chunk-ZAWM6KRF.js} +3 -3
- package/chunks/{chunk-H3Q3RSKZ.js → chunk-ZFIWHBJ3.js} +1 -1
- package/chunks/{chunk-XBVNNDPK.js → chunk-ZHKTKHMO.js} +8 -1
- package/chunks/{chunk-YLOHCA6I.js → chunk-ZKWO4CF4.js} +2 -2
- package/chunks/{chunk-VJJXG73H.js → chunk-ZMQL5BL5.js} +21 -6
- package/chunks/{chunk-FGHPZGOP.js → chunk-ZMUYBOYB.js} +39 -55
- package/chunks/{chunk-FV4DM2M4.js → chunk-ZNI3YJHS.js} +26 -6
- package/chunks/{chunk-565U2ANU.js → chunk-ZTTC7T4X.js} +1 -1
- package/chunks/{chunk-7OCIQNKX.js → chunk-ZW2EUO2A.js} +1 -1
- package/chunks/codex-subagent-executor-26XOHVKH.js +585 -0
- package/chunks/{config-utils-GPLIABL2.js → config-utils-JUG3MOYN.js} +68 -57
- package/chunks/{contextCommand-NCUQUDBY.js → contextCommand-6K3POZFA.js} +65 -54
- package/chunks/{core-runtime-WKYKWVYU.js → core-runtime-XQFZLA2V.js} +66 -55
- package/chunks/{create-sub-session-TGIX63YU.js → create-sub-session-4UJ6RM6W.js} +5 -2
- package/chunks/{create-sub-session-PPLXB3JJ.js → create-sub-session-T4IYIOC7.js} +178 -91
- package/chunks/{cron-create-GTPVMJCF.js → cron-create-6466RWSO.js} +2 -2
- package/chunks/{cron-delete-ZBK27Z4K.js → cron-delete-W4QUWHOA.js} +2 -2
- package/chunks/{cron-list-KTFKFDKC.js → cron-list-Q5LJ5PZE.js} +2 -2
- package/chunks/{daemon-2CKIAO3I.js → daemon-PHPJUXDZ.js} +4 -2
- package/chunks/{daemon-git-worktree-guard-73ZWOLKL.js → daemon-git-worktree-guard-5WEMZ64U.js} +65 -54
- package/chunks/{daemon-status-provider-OK7VONJG.js → daemon-status-provider-GMD7QD4T.js} +74 -63
- package/chunks/{daemon-trust-policy-CAUCREG2.js → daemon-trust-policy-IPBZES2Z.js} +71 -60
- package/chunks/{daemon-trust-policy-monitor-3Y36OOEQ.js → daemon-trust-policy-monitor-MHYEN7X7.js} +71 -60
- package/chunks/{de-UU2YTO37.js → de-OOLZAU2U.js} +1 -1
- package/chunks/{deferred-core-runtime-Q7WFWYD3.js → deferred-core-runtime-CY43FZNZ.js} +63 -52
- package/chunks/{discovery-XP4RMDUM.js → discovery-5KUEPR65.js} +2 -2
- package/chunks/{display-image-CTNHJRZC.js → display-image-6AZIHP3J.js} +3 -3
- package/chunks/{dist-F34J4FZX.js → dist-2QYIVNS6.js} +2 -5
- package/chunks/{dist-6YDUH3BB.js → dist-GIMQXYLI.js} +10 -631
- package/chunks/{dist-NP7QKLVG.js → dist-GUB7QRYA.js} +3 -6
- package/chunks/{dist-Y5KC3IHW.js → dist-L45UB6DG.js} +233 -35
- package/chunks/{dist-XLV33CLY.js → dist-MPUZZOG5.js} +5 -18
- package/chunks/{dist-ZDNJK74R.js → dist-PA7WPFVE.js} +6 -37
- package/chunks/{dist-F6JLAJLE.js → dist-T6DDPDLQ.js} +16 -36
- package/chunks/{dist-BNQVF565.js → dist-TFGETXFN.js} +14 -37
- package/chunks/{dist-UFTFGI6I.js → dist-VDLSBCLM.js} +2 -6
- package/chunks/{edit-YJD6IETK.js → edit-6NUP5IPX.js} +48 -38
- package/chunks/{en-YJNRUQG4.js → en-ZSZW3PZX.js} +4 -1
- package/chunks/{enter-worktree-YFTKHXHZ.js → enter-worktree-EETDMJRF.js} +5 -5
- package/chunks/{enterPlanMode-EFPVTWIH.js → enterPlanMode-AZHYHEII.js} +48 -38
- package/chunks/{environment-HP3AXFTB.js → environment-ON6GIQ4F.js} +66 -55
- package/chunks/{errors-22ON46G7.js → errors-DQE63SCC.js} +65 -54
- package/chunks/exec-66WQIVYU.js +505 -0
- package/chunks/{exit-worktree-NF2XEMES.js → exit-worktree-DIPJ6S55.js} +5 -5
- package/chunks/{exitPlanMode-MOQUNCBH.js → exitPlanMode-NHBV6LAI.js} +48 -38
- package/chunks/{fast-path-2X7BPMXX.js → fast-path-EPJSUZZC.js} +7 -7
- package/chunks/{fast-path-settings-SATXY3PD.js → fast-path-settings-XDYX7X5Z.js} +2 -2
- package/chunks/{fr-HKNWVXRJ.js → fr-JJWM2HUS.js} +1 -1
- package/chunks/{glob-Y7ACIB3P.js → glob-MNEXQ2NV.js} +51 -41
- package/chunks/{goal-tools-DABMICUC.js → goal-tools-D2A4QBCJ.js} +54 -40
- package/chunks/{grep-BLHF2S5D.js → grep-EFWPV3MM.js} +2 -2
- package/chunks/{handleAutoUpdate-MCAMHYDI.js → handleAutoUpdate-2RY3OQA6.js} +67 -56
- package/chunks/{i18n-C3GDCALP.js → i18n-HTHDB3I7.js} +64 -53
- package/chunks/{image-gen-XP4NNIYG.js → image-gen-2PHED3P4.js} +8 -6
- package/chunks/{initializer-4URDQL2G.js → initializer-JEVLJCQA.js} +71 -60
- package/chunks/{installationInfo-LBOL6SBV.js → installationInfo-ITRB6J4L.js} +63 -52
- package/chunks/{ja-GJS5RZGU.js → ja-L67TXFDJ.js} +1 -1
- package/chunks/list-KOUIMHT5.js +133 -0
- package/chunks/{list-agents-2CXPGJUE.js → list-agents-IY4NEWLP.js} +17 -7
- package/chunks/{llm-2KPNSAVY.js → llm-F7WHGESY.js} +132 -120
- package/chunks/{llm-content-generator-GR3FOHLB.js → llm-content-generator-NYQ2NAVA.js} +6 -5
- package/chunks/{loadedSettingsAdapter-DVKROEJD.js → loadedSettingsAdapter-HZUAX5CX.js} +71 -60
- package/chunks/{loggingContentGenerator-P4K6K5W4.js → loggingContentGenerator-WMNU7C5J.js} +70 -59
- package/chunks/{loop-wakeup-HL6XOWI4.js → loop-wakeup-ANX25YW2.js} +3 -3
- package/chunks/{ls-YV7RKLKY.js → ls-4XCMJNZF.js} +4 -4
- package/chunks/{lsp-NO3AMRZT.js → lsp-K5E2Y64R.js} +1 -1
- package/chunks/{managed-npm-update-VWBKHNIN.js → managed-npm-update-EJJB65QI.js} +63 -52
- package/chunks/mcp-I73R6HS3.js +127 -0
- package/chunks/{monitor-A255TNZR.js → monitor-T56GJNA4.js} +50 -40
- package/chunks/{nonInteractiveCli-LXGIKQAT.js → nonInteractiveCli-CKHHJ423.js} +120 -109
- package/chunks/{notebook-edit-5UYHS2DM.js → notebook-edit-W5TU3EZ3.js} +48 -38
- package/chunks/openai-WX26N5OJ.js +47 -0
- package/chunks/{openaiContentGenerator-A6MAMEO5.js → openaiContentGenerator-TH6YAWAH.js} +33 -25
- package/chunks/openaiResponsesContentGenerator-EWLWQPKS.js +1738 -0
- package/chunks/{pidfile-B7DZC4TP.js → pidfile-RCC6TCEM.js} +63 -52
- package/chunks/process-registry-X6ZCASEN.js +10 -0
- package/chunks/{processUtils-BPZ2MCZS.js → processUtils-DQDQBRMC.js} +2 -2
- package/chunks/{prompt-terminal-ledger-FYYTAOXS.js → prompt-terminal-ledger-2LXWAGWU.js} +64 -53
- package/chunks/{pt-FXMYXEUV.js → pt-77SBDL4B.js} +1 -1
- package/chunks/{qwenContentGenerator-4IOJFD4S.js → qwenContentGenerator-LG65Z2YV.js} +61 -49
- package/chunks/{qwenOAuth2-KX6LVYQ3.js → qwenOAuth2-PJ63CCFD.js} +7 -5
- package/chunks/{read-file-A4H4O3VQ.js → read-file-72HMRUT4.js} +12 -9
- package/chunks/{read-mcp-resource-D3N75DGF.js → read-mcp-resource-NPF44YSC.js} +1 -1
- package/chunks/{record-artifact-Q5CRGJTP.js → record-artifact-MDXCCW2J.js} +3 -3
- package/chunks/record-source-VJLKDGGR.js +22 -0
- package/chunks/{report-findings-TJ34R7QK.js → report-findings-CZTYMZTC.js} +4 -4
- package/chunks/{request-shutdown-LRKMTBAD.js → request-shutdown-KOZHPVZU.js} +5 -5
- package/chunks/{resumeHistoryUtils-YQQ43E4N.js → resumeHistoryUtils-S2Q3M3EH.js} +69 -58
- package/chunks/{ripGrep-W32NWFTA.js → ripGrep-B2I3L5CO.js} +17 -13
- package/chunks/{ru-RMHURE5U.js → ru-UYWHKWF2.js} +1 -1
- package/chunks/{run-qwen-serve-WBSWWIRV.js → run-qwen-serve-AOPYFCVP.js} +305 -132
- package/chunks/{runtime-VRVBX2E5.js → runtime-TZMHKZAP.js} +77 -66
- package/chunks/{scheduled-tasks-D65KJDA3.js → scheduled-tasks-7RL6ZOYT.js} +72 -60
- package/chunks/{scheduler-M2YPN7Z7.js → scheduler-D6RLOFNU.js} +65 -54
- package/chunks/{sdk-exporters-grpc-MXTVSE3C.js → sdk-exporters-grpc-Y2ZUQDUQ.js} +2 -2
- package/chunks/{sdk-exporters-http-7R2ARBPV.js → sdk-exporters-http-VWTF4W6K.js} +3 -3
- package/chunks/{sdk-impl-YOLO7LV4.js → sdk-impl-G6FVTBQZ.js} +9 -9
- package/chunks/{send-message-76BKWKFZ.js → send-message-MMZVSS7P.js} +12 -9
- package/chunks/{serve-BE3H2P6P.js → serve-HWWDYI37.js} +72 -61
- package/chunks/{server-FLY5JERG.js → server-MD2X5U5L.js} +3156 -564
- package/chunks/{session-JVN62R5K.js → session-AFUMFNN7.js} +124 -113
- package/chunks/{session-attachments-root-7ACGLHXA.js → session-attachments-root-QPN3YWTY.js} +63 -52
- package/chunks/{session-pr-refresh-TQS57SDK.js → session-pr-refresh-4Y2ANMJX.js} +72 -60
- package/chunks/{settings-D44YMZFT.js → settings-QQRQ2LR7.js} +74 -63
- package/chunks/{shell-3VE6I4V5.js → shell-NUYUYMVI.js} +48 -38
- package/chunks/{skill-FHEGRRZU.js → skill-KHLDVOXW.js} +68 -30
- package/chunks/{skill-settings-VHEJMBFL.js → skill-settings-INLEGDEZ.js} +70 -59
- package/chunks/{spawnChannel-T6MX2ZDN.js → spawnChannel-KBGZHW2G.js} +67 -56
- package/chunks/{standalone-update-QUGHFMCS.js → standalone-update-3QP5NDVJ.js} +65 -54
- package/chunks/{start-opentui-ui-IHIIZ2LE.js → start-opentui-ui-VBT3XDWN.js} +2682 -2153
- package/chunks/{startInteractiveUI-LR7K2ARZ.js → startInteractiveUI-AZHKCHMR.js} +1562 -2317
- package/chunks/{syntheticOutput-D2P5V6RG.js → syntheticOutput-KRASPDE3.js} +2 -2
- package/chunks/{task-create-MWXJFRRM.js → task-create-TNXNT7ZD.js} +8 -8
- package/chunks/{task-list-EYO3FE57.js → task-list-FHNIJDKT.js} +1 -1
- package/chunks/{task-stop-BFSKRTGV.js → task-stop-MG4ZMTEI.js} +1 -1
- package/chunks/{task-update-2JJJRHMT.js → task-update-4HU62CJT.js} +8 -8
- package/chunks/{team-create-GY3VFY47.js → team-create-K5DNSJXR.js} +50 -40
- package/chunks/{team-delete-IQZ6XGFI.js → team-delete-2T44GUNN.js} +1 -1
- package/chunks/{team-plan-approval-BQPGZOT5.js → team-plan-approval-2ZNAQT2A.js} +48 -38
- package/chunks/{terminal-image-renderer-YNYW5CQG.js → terminal-image-renderer-23CW4A6Q.js} +65 -54
- package/chunks/{theme-manager-U6CIK3GM.js → theme-manager-G2333AMH.js} +63 -52
- package/chunks/{todoWrite-5ERKFWAK.js → todoWrite-BO2GR5MN.js} +4 -4
- package/chunks/{tool-search-XI3QWD5I.js → tool-search-MKQCKXN5.js} +22 -15
- package/chunks/{total-session-admission-3SNSJJ32.js → total-session-admission-ENKTM2KX.js} +69 -58
- package/chunks/{trustedFolders-OVAQKNV5.js → trustedFolders-2ETDL7OD.js} +64 -53
- package/chunks/{update-relaunch-XV5O74E3.js → update-relaunch-FMVNN5KA.js} +5 -5
- package/chunks/{updateCheck-CHUYWD6L.js → updateCheck-KWRV5KLJ.js} +66 -55
- package/chunks/{useAutoAcceptIndicator-VKSVIXZC.js → useAutoAcceptIndicator-7AUXAIQF.js} +73 -62
- package/chunks/{validateNonInterActiveAuth-ZNUTD3E5.js → validateNonInterActiveAuth-NETKLLDV.js} +117 -106
- package/chunks/{version-EK7VAGSI.js → version-DACNN2ZM.js} +1 -1
- package/chunks/{web-fetch-24KZO763.js → web-fetch-CIVCRET4.js} +16 -12
- package/chunks/{web-search-CRNXKZ2X.js → web-search-GOHZRGMM.js} +389 -327
- package/chunks/{web-shell-static-BFDESDD4.js → web-shell-static-T7UGLVE4.js} +2 -7
- package/chunks/workflow-IL2FOALZ.js +1324 -0
- package/chunks/workspace-providers-status-YGXL6N5U.js +131 -0
- package/chunks/{workspace-registration-store-HKLJEDQX.js → workspace-registration-store-E4IAOFFZ.js} +3 -1
- package/chunks/{workspace-registry-7RDDOBLN.js → workspace-registry-KX6BIBYK.js} +69 -58
- package/chunks/{workspace-runtime-coordinator-LEPDPXJO.js → workspace-runtime-coordinator-2KYYGDDR.js} +72 -59
- package/chunks/{workspace-service-5IFDCNN3.js → workspace-service-5Q6LWBYR.js} +76 -65
- package/chunks/{workspace-skills-status-FJ3HNH4H.js → workspace-skills-status-PJZTFPVV.js} +72 -61
- package/chunks/{workspace-trust-reconciler-PQFHIWLR.js → workspace-trust-reconciler-HS6PWNEA.js} +77 -66
- package/chunks/{write-file-ERG67ZFX.js → write-file-JB3DRM7O.js} +50 -40
- package/chunks/{zh-VBFCRQBL.js → zh-7UJA4ICT.js} +4 -1
- package/chunks/{zh-TW-N2TBF2F2.js → zh-TW-RV24PWUI.js} +4 -1
- package/chunks/{zoom-image-WQYEC3SR.js → zoom-image-AVHQFOOQ.js} +12 -9
- package/cli.js +16 -16
- package/codeModeHost.js +4425 -0
- package/export-transcript-document.css +1 -0
- package/export-transcript-document.js +164 -165
- package/locales/ca.js +2 -2
- package/locales/de.js +2 -2
- package/locales/en.js +5 -2
- package/locales/fr.js +2 -2
- package/locales/ja.js +2 -2
- package/locales/pt.js +2 -2
- package/locales/ru.js +2 -2
- package/locales/zh-TW.js +5 -2
- package/locales/zh.js +5 -2
- package/package.json +6 -4
- package/web-shell/assets/{abnfDiagram-VCTEODGH-BRLgQbnT.js → abnfDiagram-VCTEODGH-BH2nK5Z_.js} +1 -1
- package/web-shell/assets/{arc-qAF9_XsR.js → arc-CUUQ6krv.js} +1 -1
- package/web-shell/assets/{architectureDiagram-5GKGNRK7-BorUttEz.js → architectureDiagram-5GKGNRK7-CJjiRuGx.js} +1 -1
- package/web-shell/assets/{blockDiagram-NRAW4CY4-Bj0qZVxu.js → blockDiagram-NRAW4CY4-GCDyU9ZX.js} +1 -1
- package/web-shell/assets/{c4Diagram-UCG6FXSJ-BTqJis32.js → c4Diagram-UCG6FXSJ-C68MiN6h.js} +1 -1
- package/web-shell/assets/channel-DauVlmdF.js +1 -0
- package/web-shell/assets/{chunk-2Q5K7J3B-RrQ5X8m-.js → chunk-2Q5K7J3B-_8B6frXZ.js} +1 -1
- package/web-shell/assets/{chunk-5VM5RSS4-uUjDl8wO.js → chunk-5VM5RSS4-CroSinX7.js} +1 -1
- package/web-shell/assets/{chunk-F27PBJKO-C3JhpyzI.js → chunk-F27PBJKO-CGn4Z0Fx.js} +1 -1
- package/web-shell/assets/{chunk-G27WJ6UU-C8ZNFs7F.js → chunk-G27WJ6UU-BI5nLQcf.js} +1 -1
- package/web-shell/assets/{chunk-JWPE2WC7-DNpXtEOs.js → chunk-JWPE2WC7-CYJH0FuH.js} +1 -1
- package/web-shell/assets/{chunk-LCL6LL3I-DagA2ZLw.js → chunk-LCL6LL3I-DjWZUqA1.js} +1 -1
- package/web-shell/assets/{chunk-POPQ4Y6H-R23uH7Xm.js → chunk-POPQ4Y6H-DcTkIHm8.js} +1 -1
- package/web-shell/assets/{chunk-SVP7TREG-Qz9RN_BR.js → chunk-SVP7TREG-E8sZT5uK.js} +1 -1
- package/web-shell/assets/{chunk-XXDRQBXY-jYb1_hni.js → chunk-XXDRQBXY-CurjPKw_.js} +1 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-BuIh7bj1.js +1 -0
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-BuIh7bj1.js +1 -0
- package/web-shell/assets/{cose-bilkent-JH36ORCC-Cv2OunpE.js → cose-bilkent-JH36ORCC-CJEnNhth.js} +1 -1
- package/web-shell/assets/{cynefin-OW5HDTMX-LH42KFJx.js → cynefin-OW5HDTMX-jwEkm0yw.js} +1 -1
- package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-Dha4_OoR.js → cynefinDiagram-5FMLGOSQ-B-OVQ6AO.js} +1 -1
- package/web-shell/assets/{dagre-3AP2YEHR-Br5lnUKD.js → dagre-3AP2YEHR-CKKK9WNR.js} +1 -1
- package/web-shell/assets/{diagram-S7CK7UJ4-dpKq2bBX.js → diagram-S7CK7UJ4-D486veFQ.js} +1 -1
- package/web-shell/assets/{diagram-UQ7AKVKN-BAgHWpXr.js → diagram-UQ7AKVKN-C3GujqHv.js} +1 -1
- package/web-shell/assets/{diagram-VSXAHHWV-GRRzpyE2.js → diagram-VSXAHHWV-BrOTDwuU.js} +1 -1
- package/web-shell/assets/{diagram-VX7I27RA-BNFiaYpG.js → diagram-VX7I27RA-C4D9kWE3.js} +1 -1
- package/web-shell/assets/{diagram-Z3DM3KII-BisZzB_h.js → diagram-Z3DM3KII-7rAManT0.js} +1 -1
- package/web-shell/assets/{ebnfDiagram-PWID7BFC-B1xbwycf.js → ebnfDiagram-PWID7BFC-CqVzKOdr.js} +1 -1
- package/web-shell/assets/{erDiagram-SSCWMZ5O-CQMzbGE5.js → erDiagram-SSCWMZ5O-D2s08fc_.js} +1 -1
- package/web-shell/assets/{flowDiagram-A5DVABFB-CZ_Zondl.js → flowDiagram-A5DVABFB-CrKtBxB2.js} +1 -1
- package/web-shell/assets/{ganttDiagram-EL5Y4UJY-BTh2ShxS.js → ganttDiagram-EL5Y4UJY-CD1CKdlt.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-oHOB-Uxt.js → gitGraphDiagram-WWUBYQGX-CHDXdVNn.js} +1 -1
- package/web-shell/assets/index-D8tzgUOC.css +36 -0
- package/web-shell/assets/{index-DWoFMu5x.js → index-DWz95m74.js} +1 -1
- package/web-shell/assets/index-cDFf68Wd.js +2204 -0
- package/web-shell/assets/{infoDiagram-RXCK75RN-C0QpudbG.js → infoDiagram-RXCK75RN-Cr1oLCwe.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-5VMMS53U-a6B741uT.js → ishikawaDiagram-5VMMS53U--RghV1mm.js} +1 -1
- package/web-shell/assets/{journeyDiagram-EYS64GPL-Dbht9ICp.js → journeyDiagram-EYS64GPL-MN1ZkGW8.js} +1 -1
- package/web-shell/assets/{kanban-definition-3QL26DDD-D4OFR8-h.js → kanban-definition-3QL26DDD-DL05VTn0.js} +1 -1
- package/web-shell/assets/{layout-Dvdh5jRH.js → layout-D_TvQzvn.js} +1 -1
- package/web-shell/assets/{linear-Dvc6KIW2.js → linear-B_0OH6XF.js} +1 -1
- package/web-shell/assets/{mermaid.core-CB36RfIb.js → mermaid.core-B9Nklh9I.js} +6 -6
- package/web-shell/assets/{mindmap-definition-FBJOCRG2-Fmqo1CjP.js → mindmap-definition-FBJOCRG2-CevIQ0LR.js} +1 -1
- package/web-shell/assets/{pegDiagram-XKGWAZYB-CCxYBoA4.js → pegDiagram-XKGWAZYB-DQ8PIv0d.js} +1 -1
- package/web-shell/assets/{pieDiagram-E7YTZNPT-BVHKQFzt.js → pieDiagram-E7YTZNPT-BVTV1pPe.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-AXDQQJYC-l95IznwR.js → quadrantDiagram-AXDQQJYC-DHN6nhpe.js} +1 -1
- package/web-shell/assets/qwen-code-notification-BRVagufF.png +0 -0
- package/web-shell/assets/{railroadDiagram-O6MQD6OU-BlLdRdXp.js → railroadDiagram-O6MQD6OU-8HOyX0u-.js} +1 -1
- package/web-shell/assets/{requirementDiagram-EFPCY7ZU-BkDLBR5w.js → requirementDiagram-EFPCY7ZU-9W4_14i8.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-P5KCCOFB-jAIqRp65.js → sankeyDiagram-P5KCCOFB-DSUBB2XP.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-f-soZYPr.js → sequenceDiagram-WJ2MYXX4-DD3jH6Jn.js} +1 -1
- package/web-shell/assets/{sizeCapture-X5ZJPWSS-BzOuAfB2.js → sizeCapture-X5ZJPWSS-RAFTU3Cz.js} +1 -1
- package/web-shell/assets/{stateDiagram-HBIQ2CUA-BPLSs12r.js → stateDiagram-HBIQ2CUA-Drk-oZ2x.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-QzYteVIm.js +1 -0
- package/web-shell/assets/{swimlanes-XN3QIQJK-D-9E_RIR.js → swimlanes-XN3QIQJK-Cy2nlOGx.js} +1 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-xTr-HG26.js +8 -0
- package/web-shell/assets/{timeline-definition-24CTP7MA-CT56K-gV.js → timeline-definition-24CTP7MA-B7outYof.js} +1 -1
- package/web-shell/assets/{vennDiagram-4TSXK5OY-B-vi4IyO.js → vennDiagram-4TSXK5OY-Di_u1Ic6.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-VM6X3IG4-C9O7Ju98.js → wardleyDiagram-VM6X3IG4-DYocuCAM.js} +1 -1
- package/web-shell/assets/{xychartDiagram-S5SC5T6Z-6d8w3jg2.js → xychartDiagram-S5SC5T6Z-AADDse54.js} +1 -1
- package/web-shell/index.html +29 -5
- package/chunks/chunk-V7RNNPGC.js +0 -44
- package/chunks/list-JOGBAC2R.js +0 -122
- package/chunks/mcp-6YYNSYLK.js +0 -116
- package/chunks/workflow-HD5NYMW5.js +0 -2907
- package/chunks/workspace-providers-status-MAM42IZS.js +0 -120
- package/web-shell/assets/channel-COIuCrVH.js +0 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-DoX6OYqu.js +0 -1
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-DoX6OYqu.js +0 -1
- package/web-shell/assets/index-CI1ysIEv.js +0 -2154
- package/web-shell/assets/index-CpxXGH-8.css +0 -36
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-IRul-LaT.js +0 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-D6lgKepA.js +0 -8
- package/chunks/{chunk-JA5CBKRP.js → chunk-7NXSVSFB.js} +0 -0
- package/chunks/{open-with-auth-6MVIHMXB.js → open-with-auth-XFCCJOO6.js} +3 -3
|
@@ -2,23 +2,23 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
reportChatRecordingFailureToAdapter
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-7C57HCOR.js";
|
|
6
6
|
import {
|
|
7
7
|
StreamJsonOutputAdapter
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-J6H4JP25.js";
|
|
9
|
+
import {
|
|
10
|
+
appEvents
|
|
11
|
+
} from "./chunk-RRQEZBL2.js";
|
|
9
12
|
import {
|
|
10
13
|
ICON,
|
|
11
14
|
SHELL_COMMAND_NAME
|
|
12
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-EO4U2X47.js";
|
|
13
16
|
import {
|
|
14
17
|
theme
|
|
15
18
|
} from "./chunk-4LIPOIXS.js";
|
|
16
19
|
import {
|
|
17
20
|
require_jsx_runtime
|
|
18
21
|
} from "./chunk-SV5PQVQE.js";
|
|
19
|
-
import {
|
|
20
|
-
themeManager
|
|
21
|
-
} from "./chunk-2XRE4KE4.js";
|
|
22
22
|
import {
|
|
23
23
|
Box_default,
|
|
24
24
|
Text
|
|
@@ -26,39 +26,41 @@ import {
|
|
|
26
26
|
import {
|
|
27
27
|
require_react
|
|
28
28
|
} from "./chunk-5QWWOFGG.js";
|
|
29
|
+
import {
|
|
30
|
+
themeManager
|
|
31
|
+
} from "./chunk-2XRE4KE4.js";
|
|
29
32
|
import {
|
|
30
33
|
getCachedStringWidth,
|
|
31
34
|
toCodePoints
|
|
32
35
|
} from "./chunk-47ECGEJC.js";
|
|
33
36
|
import {
|
|
34
37
|
createLoadedSettingsAdapter
|
|
35
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-IUN5ZMFY.js";
|
|
39
|
+
import {
|
|
40
|
+
loadMcpApprovals
|
|
41
|
+
} from "./chunk-ENAUXRPG.js";
|
|
36
42
|
import {
|
|
37
43
|
SettingScope,
|
|
38
44
|
settingExistsInScope
|
|
39
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-CSDKDHWV.js";
|
|
40
46
|
import {
|
|
41
47
|
getCurrentLanguage,
|
|
42
48
|
t,
|
|
43
49
|
ta
|
|
44
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-432JQKIO.js";
|
|
45
51
|
import {
|
|
46
52
|
INITIAL_FOLLOWUP_STATE,
|
|
47
53
|
Logger,
|
|
48
54
|
applyProviderInstallPlan,
|
|
49
55
|
createFollowupController
|
|
50
|
-
} from "./chunk-
|
|
56
|
+
} from "./chunk-GDIPPCW6.js";
|
|
51
57
|
import {
|
|
52
58
|
buildInstallPlan,
|
|
53
59
|
getDefaultBaseUrlForProtocol,
|
|
54
60
|
getDefaultModelIds,
|
|
55
61
|
resolveBaseUrl,
|
|
56
62
|
shouldShowStep
|
|
57
|
-
} from "./chunk-
|
|
58
|
-
import {
|
|
59
|
-
qwenOAuth2Events,
|
|
60
|
-
sanitizeForOsc
|
|
61
|
-
} from "./chunk-XDNFODER.js";
|
|
63
|
+
} from "./chunk-AEY27Z35.js";
|
|
62
64
|
import {
|
|
63
65
|
ShellExecutionService,
|
|
64
66
|
TERMINAL_CSI_REGEX,
|
|
@@ -67,23 +69,28 @@ import {
|
|
|
67
69
|
allowEditorTypeInSandbox,
|
|
68
70
|
checkHasEditorType,
|
|
69
71
|
compactToolResultDisplayForHistory,
|
|
72
|
+
isGatedMcpScope,
|
|
70
73
|
isSignalTermination,
|
|
71
74
|
resolveBranchName,
|
|
72
75
|
stripTerminalControlSequences,
|
|
73
76
|
watchRepoBranch
|
|
74
|
-
} from "./chunk-
|
|
77
|
+
} from "./chunk-2UKKQGRA.js";
|
|
75
78
|
import {
|
|
76
79
|
formatMemoryUsage
|
|
77
80
|
} from "./chunk-CHEIIBT3.js";
|
|
81
|
+
import {
|
|
82
|
+
qwenOAuth2Events,
|
|
83
|
+
sanitizeForOsc
|
|
84
|
+
} from "./chunk-TUIW5LLK.js";
|
|
78
85
|
import {
|
|
79
86
|
AuthEvent,
|
|
80
87
|
PromptSuggestionEvent,
|
|
81
88
|
logAuth,
|
|
82
89
|
logPromptSuggestion
|
|
83
|
-
} from "./chunk-
|
|
90
|
+
} from "./chunk-WXAWG3JS.js";
|
|
84
91
|
import {
|
|
85
92
|
isBinary
|
|
86
|
-
} from "./chunk-
|
|
93
|
+
} from "./chunk-W5ZQMAEM.js";
|
|
87
94
|
import {
|
|
88
95
|
createDebugLogger,
|
|
89
96
|
getErrorMessage
|
|
@@ -965,6 +972,7 @@ var useAuthCommand = /* @__PURE__ */ __name((settings, config, addItem, onAuthCh
|
|
|
965
972
|
const valid = [
|
|
966
973
|
"qwen-oauth" /* QWEN_OAUTH */,
|
|
967
974
|
"openai" /* USE_OPENAI */,
|
|
975
|
+
"openai-responses" /* USE_OPENAI_RESPONSES */,
|
|
968
976
|
"anthropic" /* USE_ANTHROPIC */,
|
|
969
977
|
"gemini" /* USE_GEMINI */,
|
|
970
978
|
"vertex-ai" /* USE_VERTEX_AI */
|
|
@@ -1085,9 +1093,134 @@ function useGitBranchName(cwd) {
|
|
|
1085
1093
|
}
|
|
1086
1094
|
__name(useGitBranchName, "useGitBranchName");
|
|
1087
1095
|
|
|
1088
|
-
// packages/cli/src/ui/hooks/
|
|
1096
|
+
// packages/cli/src/ui/hooks/useMcpApproval.ts
|
|
1089
1097
|
init_esbuild_shims();
|
|
1090
1098
|
var import_react5 = __toESM(require_react(), 1);
|
|
1099
|
+
function sourceLabel(scope) {
|
|
1100
|
+
switch (scope) {
|
|
1101
|
+
case "workspace":
|
|
1102
|
+
return ".qwen/settings.json";
|
|
1103
|
+
case "project":
|
|
1104
|
+
default:
|
|
1105
|
+
return ".mcp.json";
|
|
1106
|
+
}
|
|
1107
|
+
}
|
|
1108
|
+
__name(sourceLabel, "sourceLabel");
|
|
1109
|
+
function summarize(config) {
|
|
1110
|
+
let summary;
|
|
1111
|
+
if (config.httpUrl) {
|
|
1112
|
+
summary = `${config.httpUrl} (http)`;
|
|
1113
|
+
} else if (config.url) {
|
|
1114
|
+
summary = `${config.url} (sse)`;
|
|
1115
|
+
} else if (config.command) {
|
|
1116
|
+
summary = `${config.command} ${config.args?.join(" ") ?? ""} (stdio)`.replace(
|
|
1117
|
+
/\s+\(/,
|
|
1118
|
+
" ("
|
|
1119
|
+
);
|
|
1120
|
+
} else {
|
|
1121
|
+
summary = "(unknown transport)";
|
|
1122
|
+
}
|
|
1123
|
+
const details = [];
|
|
1124
|
+
if (config.env && Object.keys(config.env).length > 0) {
|
|
1125
|
+
details.push(`env: ${Object.keys(config.env).join(", ")}`);
|
|
1126
|
+
}
|
|
1127
|
+
if (config.headers && Object.keys(config.headers).length > 0) {
|
|
1128
|
+
details.push(`headers: ${Object.keys(config.headers).join(", ")}`);
|
|
1129
|
+
}
|
|
1130
|
+
return details.length > 0 ? `${summary} [${details.join("; ")}]` : summary;
|
|
1131
|
+
}
|
|
1132
|
+
__name(summarize, "summarize");
|
|
1133
|
+
var useMcpApproval = /* @__PURE__ */ __name((config) => {
|
|
1134
|
+
const [queue, setQueue] = (0, import_react5.useState)([]);
|
|
1135
|
+
const computePending = (0, import_react5.useCallback)(() => {
|
|
1136
|
+
if (config.getApprovalMode() === "yolo" /* YOLO */) return [];
|
|
1137
|
+
const servers = config.getMcpServers() ?? {};
|
|
1138
|
+
const approvals = loadMcpApprovals();
|
|
1139
|
+
const root = config.getWorkingDir();
|
|
1140
|
+
return Object.entries(servers).filter(([, c]) => isGatedMcpScope(c.scope)).filter(([name, c]) => approvals.getState(root, name, c) === "pending").map(([name, c]) => ({
|
|
1141
|
+
name,
|
|
1142
|
+
config: c,
|
|
1143
|
+
summary: summarize(c),
|
|
1144
|
+
source: sourceLabel(c.scope)
|
|
1145
|
+
}));
|
|
1146
|
+
}, [config]);
|
|
1147
|
+
(0, import_react5.useEffect)(() => {
|
|
1148
|
+
setQueue(computePending());
|
|
1149
|
+
}, [computePending]);
|
|
1150
|
+
(0, import_react5.useEffect)(() => {
|
|
1151
|
+
const onPendingChanged = /* @__PURE__ */ __name(() => {
|
|
1152
|
+
setQueue(computePending());
|
|
1153
|
+
}, "onPendingChanged");
|
|
1154
|
+
appEvents.on("mcp-pending-approval-changed" /* McpPendingApprovalChanged */, onPendingChanged);
|
|
1155
|
+
return () => {
|
|
1156
|
+
appEvents.off("mcp-pending-approval-changed" /* McpPendingApprovalChanged */, onPendingChanged);
|
|
1157
|
+
};
|
|
1158
|
+
}, [computePending]);
|
|
1159
|
+
const reconnect = (0, import_react5.useCallback)(
|
|
1160
|
+
(name) => {
|
|
1161
|
+
config.approveMcpServerForSession(name);
|
|
1162
|
+
const registry = config.getToolRegistry();
|
|
1163
|
+
void registry?.discoverToolsForServer?.(name)?.catch?.((error) => {
|
|
1164
|
+
if (process.env["DEBUG"]) {
|
|
1165
|
+
console.error(`MCP reconnect failed for ${name}:`, error);
|
|
1166
|
+
}
|
|
1167
|
+
});
|
|
1168
|
+
},
|
|
1169
|
+
[config]
|
|
1170
|
+
);
|
|
1171
|
+
const handleMcpApprovalSelect = (0, import_react5.useCallback)(
|
|
1172
|
+
async (choice) => {
|
|
1173
|
+
const approvals = loadMcpApprovals();
|
|
1174
|
+
const root = config.getWorkingDir();
|
|
1175
|
+
const current = queue[0];
|
|
1176
|
+
if (!current) {
|
|
1177
|
+
return;
|
|
1178
|
+
}
|
|
1179
|
+
if (choice === "approve_all" /* APPROVE_ALL */) {
|
|
1180
|
+
for (const server of queue) {
|
|
1181
|
+
await approvals.setState(
|
|
1182
|
+
root,
|
|
1183
|
+
server.name,
|
|
1184
|
+
server.config,
|
|
1185
|
+
"approved"
|
|
1186
|
+
);
|
|
1187
|
+
reconnect(server.name);
|
|
1188
|
+
}
|
|
1189
|
+
setQueue([]);
|
|
1190
|
+
return;
|
|
1191
|
+
}
|
|
1192
|
+
if (choice === "approve" /* APPROVE */) {
|
|
1193
|
+
await approvals.setState(
|
|
1194
|
+
root,
|
|
1195
|
+
current.name,
|
|
1196
|
+
current.config,
|
|
1197
|
+
"approved"
|
|
1198
|
+
);
|
|
1199
|
+
reconnect(current.name);
|
|
1200
|
+
} else {
|
|
1201
|
+
await approvals.setState(
|
|
1202
|
+
root,
|
|
1203
|
+
current.name,
|
|
1204
|
+
current.config,
|
|
1205
|
+
"rejected"
|
|
1206
|
+
);
|
|
1207
|
+
}
|
|
1208
|
+
setQueue((q) => q.slice(1));
|
|
1209
|
+
},
|
|
1210
|
+
[config, queue, reconnect]
|
|
1211
|
+
);
|
|
1212
|
+
return {
|
|
1213
|
+
isMcpApprovalDialogOpen: queue.length > 0,
|
|
1214
|
+
currentMcpApproval: queue[0],
|
|
1215
|
+
pendingMcpApprovals: queue,
|
|
1216
|
+
mcpApprovalRemaining: Math.max(0, queue.length - 1),
|
|
1217
|
+
handleMcpApprovalSelect
|
|
1218
|
+
};
|
|
1219
|
+
}, "useMcpApproval");
|
|
1220
|
+
|
|
1221
|
+
// packages/cli/src/ui/hooks/shellCommandProcessor.ts
|
|
1222
|
+
init_esbuild_shims();
|
|
1223
|
+
var import_react6 = __toESM(require_react(), 1);
|
|
1091
1224
|
import crypto from "node:crypto";
|
|
1092
1225
|
import path from "node:path";
|
|
1093
1226
|
import os from "node:os";
|
|
@@ -1120,8 +1253,8 @@ ${modelContent}
|
|
|
1120
1253
|
}
|
|
1121
1254
|
__name(addShellCommandToLlmHistory, "addShellCommandToLlmHistory");
|
|
1122
1255
|
var useShellCommandProcessor = /* @__PURE__ */ __name((addItemToHistory, setPendingHistoryItem, onExec, onDebugMessage, config, llmClient, setShellInputFocused, terminalWidth, terminalHeight) => {
|
|
1123
|
-
const [activeShellPtyId, setActiveShellPtyId] = (0,
|
|
1124
|
-
const handleShellCommand = (0,
|
|
1256
|
+
const [activeShellPtyId, setActiveShellPtyId] = (0, import_react6.useState)(null);
|
|
1257
|
+
const handleShellCommand = (0, import_react6.useCallback)(
|
|
1125
1258
|
(rawQuery, abortSignal) => {
|
|
1126
1259
|
if (typeof rawQuery !== "string" || rawQuery.trim() === "") {
|
|
1127
1260
|
return false;
|
|
@@ -1452,18 +1585,18 @@ var TableRow = /* @__PURE__ */ __name(({ cells }) => /* @__PURE__ */ (0, import_
|
|
|
1452
1585
|
|
|
1453
1586
|
// packages/cli/src/ui/hooks/useFollowupSuggestions.tsx
|
|
1454
1587
|
init_esbuild_shims();
|
|
1455
|
-
var
|
|
1588
|
+
var import_react7 = __toESM(require_react(), 1);
|
|
1456
1589
|
function useFollowupSuggestionsCLI(options = {}) {
|
|
1457
1590
|
const { enabled = true, onAccept, config, isFocused = true } = options;
|
|
1458
|
-
const [state, setState] = (0,
|
|
1459
|
-
const onAcceptRef = (0,
|
|
1591
|
+
const [state, setState] = (0, import_react7.useState)(INITIAL_FOLLOWUP_STATE);
|
|
1592
|
+
const onAcceptRef = (0, import_react7.useRef)(onAccept);
|
|
1460
1593
|
onAcceptRef.current = onAccept;
|
|
1461
|
-
const configRef = (0,
|
|
1594
|
+
const configRef = (0, import_react7.useRef)(config);
|
|
1462
1595
|
configRef.current = config;
|
|
1463
|
-
const firstKeystrokeAtRef = (0,
|
|
1464
|
-
const prevShownAtRef = (0,
|
|
1465
|
-
const wasFocusedWhenShownRef = (0,
|
|
1466
|
-
(0,
|
|
1596
|
+
const firstKeystrokeAtRef = (0, import_react7.useRef)(0);
|
|
1597
|
+
const prevShownAtRef = (0, import_react7.useRef)(0);
|
|
1598
|
+
const wasFocusedWhenShownRef = (0, import_react7.useRef)(true);
|
|
1599
|
+
(0, import_react7.useEffect)(() => {
|
|
1467
1600
|
if (state.shownAt > 0 && state.shownAt !== prevShownAtRef.current) {
|
|
1468
1601
|
prevShownAtRef.current = state.shownAt;
|
|
1469
1602
|
wasFocusedWhenShownRef.current = isFocused;
|
|
@@ -1472,12 +1605,12 @@ function useFollowupSuggestionsCLI(options = {}) {
|
|
|
1472
1605
|
prevShownAtRef.current = 0;
|
|
1473
1606
|
}
|
|
1474
1607
|
}, [state.shownAt, isFocused]);
|
|
1475
|
-
const recordKeystroke = (0,
|
|
1608
|
+
const recordKeystroke = (0, import_react7.useCallback)(() => {
|
|
1476
1609
|
if (firstKeystrokeAtRef.current === 0 && state.isVisible) {
|
|
1477
1610
|
firstKeystrokeAtRef.current = Date.now();
|
|
1478
1611
|
}
|
|
1479
1612
|
}, [state.isVisible]);
|
|
1480
|
-
const onOutcome = (0,
|
|
1613
|
+
const onOutcome = (0, import_react7.useCallback)(
|
|
1481
1614
|
(params) => {
|
|
1482
1615
|
const cfg = configRef.current;
|
|
1483
1616
|
if (!cfg) return;
|
|
@@ -1502,7 +1635,7 @@ function useFollowupSuggestionsCLI(options = {}) {
|
|
|
1502
1635
|
},
|
|
1503
1636
|
[]
|
|
1504
1637
|
);
|
|
1505
|
-
const controller = (0,
|
|
1638
|
+
const controller = (0, import_react7.useMemo)(
|
|
1506
1639
|
() => createFollowupController({
|
|
1507
1640
|
enabled,
|
|
1508
1641
|
onStateChange: setState,
|
|
@@ -1511,13 +1644,13 @@ function useFollowupSuggestionsCLI(options = {}) {
|
|
|
1511
1644
|
}),
|
|
1512
1645
|
[enabled, onOutcome]
|
|
1513
1646
|
);
|
|
1514
|
-
(0,
|
|
1647
|
+
(0, import_react7.useEffect)(() => {
|
|
1515
1648
|
if (!enabled) {
|
|
1516
1649
|
controller.clear();
|
|
1517
1650
|
}
|
|
1518
1651
|
return () => controller.cleanup();
|
|
1519
1652
|
}, [controller, enabled]);
|
|
1520
|
-
return (0,
|
|
1653
|
+
return (0, import_react7.useMemo)(
|
|
1521
1654
|
() => ({
|
|
1522
1655
|
state,
|
|
1523
1656
|
setSuggestion: controller.setSuggestion,
|
|
@@ -1803,23 +1936,23 @@ __name(pickAsciiArtTier, "pickAsciiArtTier");
|
|
|
1803
1936
|
|
|
1804
1937
|
// packages/cli/src/ui/hooks/usePhraseCycler.ts
|
|
1805
1938
|
init_esbuild_shims();
|
|
1806
|
-
var
|
|
1939
|
+
var import_react8 = __toESM(require_react(), 1);
|
|
1807
1940
|
var WITTY_LOADING_PHRASES = ["I'm Feeling Lucky"];
|
|
1808
1941
|
var PHRASE_CHANGE_INTERVAL_MS = 15e3;
|
|
1809
1942
|
var usePhraseCycler = /* @__PURE__ */ __name((isActive, isWaiting, customPhrases) => {
|
|
1810
1943
|
const currentLanguage = getCurrentLanguage();
|
|
1811
|
-
const loadingPhrases = (0,
|
|
1944
|
+
const loadingPhrases = (0, import_react8.useMemo)(() => {
|
|
1812
1945
|
if (customPhrases && customPhrases.length > 0) {
|
|
1813
1946
|
return customPhrases;
|
|
1814
1947
|
}
|
|
1815
1948
|
const translatedPhrases = ta("WITTY_LOADING_PHRASES");
|
|
1816
1949
|
return translatedPhrases.length > 0 ? translatedPhrases : WITTY_LOADING_PHRASES;
|
|
1817
1950
|
}, [customPhrases, currentLanguage]);
|
|
1818
|
-
const [currentLoadingPhrase, setCurrentLoadingPhrase] = (0,
|
|
1951
|
+
const [currentLoadingPhrase, setCurrentLoadingPhrase] = (0, import_react8.useState)(
|
|
1819
1952
|
loadingPhrases[0]
|
|
1820
1953
|
);
|
|
1821
|
-
const phraseIntervalRef = (0,
|
|
1822
|
-
(0,
|
|
1954
|
+
const phraseIntervalRef = (0, import_react8.useRef)(null);
|
|
1955
|
+
(0, import_react8.useEffect)(() => {
|
|
1823
1956
|
if (isWaiting) {
|
|
1824
1957
|
setCurrentLoadingPhrase(t("Waiting for user confirmation..."));
|
|
1825
1958
|
if (phraseIntervalRef.current) {
|
|
@@ -1855,6 +1988,143 @@ var usePhraseCycler = /* @__PURE__ */ __name((isActive, isWaiting, customPhrases
|
|
|
1855
1988
|
return currentLoadingPhrase;
|
|
1856
1989
|
}, "usePhraseCycler");
|
|
1857
1990
|
|
|
1991
|
+
// packages/cli/src/ui/hooks/useTimer.ts
|
|
1992
|
+
init_esbuild_shims();
|
|
1993
|
+
var import_react9 = __toESM(require_react(), 1);
|
|
1994
|
+
var TIMER_REFRESH_INTERVAL_MS = 500;
|
|
1995
|
+
function elapsedSeconds(elapsedMs) {
|
|
1996
|
+
return Number((Math.max(0, elapsedMs) / 1e3).toFixed(1));
|
|
1997
|
+
}
|
|
1998
|
+
__name(elapsedSeconds, "elapsedSeconds");
|
|
1999
|
+
function getRunningElapsedMs(activeSinceMs) {
|
|
2000
|
+
if (activeSinceMs === null) {
|
|
2001
|
+
return 0;
|
|
2002
|
+
}
|
|
2003
|
+
return Math.max(0, performance.now() - activeSinceMs);
|
|
2004
|
+
}
|
|
2005
|
+
__name(getRunningElapsedMs, "getRunningElapsedMs");
|
|
2006
|
+
var useTimer = /* @__PURE__ */ __name((isActive, resetKey, isPaused = false) => {
|
|
2007
|
+
const [elapsedTime, setElapsedTime] = (0, import_react9.useState)(0);
|
|
2008
|
+
const timerRef = (0, import_react9.useRef)(null);
|
|
2009
|
+
const activeSinceRef = (0, import_react9.useRef)(null);
|
|
2010
|
+
const accumulatedElapsedMsRef = (0, import_react9.useRef)(0);
|
|
2011
|
+
const prevResetKeyRef = (0, import_react9.useRef)(resetKey);
|
|
2012
|
+
const prevIsActiveRef = (0, import_react9.useRef)(isActive);
|
|
2013
|
+
(0, import_react9.useEffect)(() => {
|
|
2014
|
+
const clearTimer = /* @__PURE__ */ __name(() => {
|
|
2015
|
+
if (timerRef.current) {
|
|
2016
|
+
clearInterval(timerRef.current);
|
|
2017
|
+
timerRef.current = null;
|
|
2018
|
+
}
|
|
2019
|
+
}, "clearTimer");
|
|
2020
|
+
const publishElapsedTime = /* @__PURE__ */ __name((elapsedMs) => {
|
|
2021
|
+
setElapsedTime(elapsedSeconds(elapsedMs));
|
|
2022
|
+
}, "publishElapsedTime");
|
|
2023
|
+
const finalizeRunningSegment = /* @__PURE__ */ __name(() => {
|
|
2024
|
+
if (activeSinceRef.current !== null) {
|
|
2025
|
+
accumulatedElapsedMsRef.current += getRunningElapsedMs(
|
|
2026
|
+
activeSinceRef.current
|
|
2027
|
+
);
|
|
2028
|
+
activeSinceRef.current = null;
|
|
2029
|
+
}
|
|
2030
|
+
publishElapsedTime(accumulatedElapsedMsRef.current);
|
|
2031
|
+
}, "finalizeRunningSegment");
|
|
2032
|
+
if (prevResetKeyRef.current !== resetKey || !prevIsActiveRef.current && isActive) {
|
|
2033
|
+
accumulatedElapsedMsRef.current = 0;
|
|
2034
|
+
activeSinceRef.current = null;
|
|
2035
|
+
setElapsedTime(0);
|
|
2036
|
+
prevResetKeyRef.current = resetKey;
|
|
2037
|
+
}
|
|
2038
|
+
if (!isActive) {
|
|
2039
|
+
if (prevIsActiveRef.current) {
|
|
2040
|
+
finalizeRunningSegment();
|
|
2041
|
+
}
|
|
2042
|
+
clearTimer();
|
|
2043
|
+
prevIsActiveRef.current = isActive;
|
|
2044
|
+
return clearTimer;
|
|
2045
|
+
}
|
|
2046
|
+
if (isPaused) {
|
|
2047
|
+
finalizeRunningSegment();
|
|
2048
|
+
clearTimer();
|
|
2049
|
+
prevIsActiveRef.current = isActive;
|
|
2050
|
+
return clearTimer;
|
|
2051
|
+
}
|
|
2052
|
+
if (activeSinceRef.current === null) {
|
|
2053
|
+
activeSinceRef.current = performance.now();
|
|
2054
|
+
}
|
|
2055
|
+
const updateElapsedTime = /* @__PURE__ */ __name(() => {
|
|
2056
|
+
const runningElapsedMs = getRunningElapsedMs(activeSinceRef.current);
|
|
2057
|
+
publishElapsedTime(accumulatedElapsedMsRef.current + runningElapsedMs);
|
|
2058
|
+
}, "updateElapsedTime");
|
|
2059
|
+
clearTimer();
|
|
2060
|
+
timerRef.current = setInterval(
|
|
2061
|
+
updateElapsedTime,
|
|
2062
|
+
TIMER_REFRESH_INTERVAL_MS
|
|
2063
|
+
);
|
|
2064
|
+
updateElapsedTime();
|
|
2065
|
+
prevIsActiveRef.current = isActive;
|
|
2066
|
+
return clearTimer;
|
|
2067
|
+
}, [isActive, isPaused, resetKey]);
|
|
2068
|
+
return elapsedTime;
|
|
2069
|
+
}, "useTimer");
|
|
2070
|
+
|
|
2071
|
+
// packages/cli/src/ui/hooks/useAnimationFrame.ts
|
|
2072
|
+
init_esbuild_shims();
|
|
2073
|
+
var import_react10 = __toESM(require_react(), 1);
|
|
2074
|
+
function useAnimationFrame(watchRef, intervalMs = 50) {
|
|
2075
|
+
const [displayValue, setDisplayValue] = (0, import_react10.useState)(() => watchRef.current);
|
|
2076
|
+
const displayRef = (0, import_react10.useRef)(watchRef.current);
|
|
2077
|
+
const targetRef = (0, import_react10.useRef)(watchRef.current);
|
|
2078
|
+
const currentTarget = watchRef.current;
|
|
2079
|
+
if (currentTarget < displayRef.current) {
|
|
2080
|
+
displayRef.current = currentTarget;
|
|
2081
|
+
targetRef.current = currentTarget;
|
|
2082
|
+
}
|
|
2083
|
+
(0, import_react10.useEffect)(() => {
|
|
2084
|
+
if (intervalMs === null) return;
|
|
2085
|
+
const current = watchRef.current;
|
|
2086
|
+
if (current !== targetRef.current) {
|
|
2087
|
+
targetRef.current = current;
|
|
2088
|
+
if (current < displayRef.current) {
|
|
2089
|
+
displayRef.current = current;
|
|
2090
|
+
setDisplayValue(current);
|
|
2091
|
+
}
|
|
2092
|
+
}
|
|
2093
|
+
const id = setInterval(() => {
|
|
2094
|
+
const realValue = watchRef.current;
|
|
2095
|
+
targetRef.current = realValue;
|
|
2096
|
+
if (realValue < displayRef.current) {
|
|
2097
|
+
displayRef.current = realValue;
|
|
2098
|
+
setDisplayValue(realValue);
|
|
2099
|
+
return;
|
|
2100
|
+
}
|
|
2101
|
+
const gap = realValue - displayRef.current;
|
|
2102
|
+
if (gap <= 0) return;
|
|
2103
|
+
let increment;
|
|
2104
|
+
if (gap < 70) {
|
|
2105
|
+
increment = 3;
|
|
2106
|
+
} else if (gap <= 200) {
|
|
2107
|
+
increment = Math.max(3, Math.round(gap * 0.2));
|
|
2108
|
+
} else {
|
|
2109
|
+
increment = 50;
|
|
2110
|
+
}
|
|
2111
|
+
const next = Math.min(displayRef.current + increment, realValue);
|
|
2112
|
+
displayRef.current = next;
|
|
2113
|
+
setDisplayValue(next);
|
|
2114
|
+
}, intervalMs);
|
|
2115
|
+
return () => clearInterval(id);
|
|
2116
|
+
}, [watchRef, intervalMs]);
|
|
2117
|
+
return Math.min(displayValue, currentTarget);
|
|
2118
|
+
}
|
|
2119
|
+
__name(useAnimationFrame, "useAnimationFrame");
|
|
2120
|
+
|
|
2121
|
+
// packages/cli/src/ui/utils/isNarrowWidth.ts
|
|
2122
|
+
init_esbuild_shims();
|
|
2123
|
+
function isNarrowWidth(width) {
|
|
2124
|
+
return width < 80;
|
|
2125
|
+
}
|
|
2126
|
+
__name(isNarrowWidth, "isNarrowWidth");
|
|
2127
|
+
|
|
1858
2128
|
// packages/cli/src/ui/components/mcp/utils.ts
|
|
1859
2129
|
init_esbuild_shims();
|
|
1860
2130
|
|
|
@@ -2009,7 +2279,7 @@ __name(getScopeMessageForSetting, "getScopeMessageForSetting");
|
|
|
2009
2279
|
|
|
2010
2280
|
// packages/cli/src/ui/auth/useProviderSetupFlow.ts
|
|
2011
2281
|
init_esbuild_shims();
|
|
2012
|
-
var
|
|
2282
|
+
var import_react11 = __toESM(require_react(), 1);
|
|
2013
2283
|
var STEP_ORDER = [
|
|
2014
2284
|
"protocol",
|
|
2015
2285
|
"baseUrl",
|
|
@@ -2026,28 +2296,28 @@ function getVisibleSteps(config) {
|
|
|
2026
2296
|
}
|
|
2027
2297
|
__name(getVisibleSteps, "getVisibleSteps");
|
|
2028
2298
|
function useProviderSetupFlow(onSubmit) {
|
|
2029
|
-
const [provider, setProvider] = (0,
|
|
2030
|
-
const [visibleSteps, setVisibleSteps] = (0,
|
|
2031
|
-
const [stepIndex, setStepIndex] = (0,
|
|
2032
|
-
const [protocol, setProtocol] = (0,
|
|
2033
|
-
const [baseUrl, setBaseUrl] = (0,
|
|
2034
|
-
const [baseUrlPlaceholder, setBaseUrlPlaceholder] = (0,
|
|
2035
|
-
const [baseUrlOptionIndex, setBaseUrlOptionIndex] = (0,
|
|
2036
|
-
const [baseUrlError, setBaseUrlError] = (0,
|
|
2037
|
-
const [apiKey, setApiKey] = (0,
|
|
2038
|
-
const [apiKeyError, setApiKeyError] = (0,
|
|
2039
|
-
const [modelIds, setModelIds] = (0,
|
|
2040
|
-
const [modelIdsError, setModelIdsError] = (0,
|
|
2041
|
-
const [thinkingEnabled, setThinkingEnabled] = (0,
|
|
2042
|
-
const [modalityEnabled, setModalityEnabled] = (0,
|
|
2043
|
-
const [modalityImage, setModalityImage] = (0,
|
|
2044
|
-
const [modalityVideo, setModalityVideo] = (0,
|
|
2045
|
-
const [modalityAudio, setModalityAudio] = (0,
|
|
2046
|
-
const [modalityPdf, setModalityPdf] = (0,
|
|
2047
|
-
const [contextWindowSize, setContextWindowSize] = (0,
|
|
2048
|
-
const [focusedConfigIndex, setFocusedConfigIndex] = (0,
|
|
2299
|
+
const [provider, setProvider] = (0, import_react11.useState)(null);
|
|
2300
|
+
const [visibleSteps, setVisibleSteps] = (0, import_react11.useState)([]);
|
|
2301
|
+
const [stepIndex, setStepIndex] = (0, import_react11.useState)(0);
|
|
2302
|
+
const [protocol, setProtocol] = (0, import_react11.useState)("openai" /* USE_OPENAI */);
|
|
2303
|
+
const [baseUrl, setBaseUrl] = (0, import_react11.useState)("");
|
|
2304
|
+
const [baseUrlPlaceholder, setBaseUrlPlaceholder] = (0, import_react11.useState)("");
|
|
2305
|
+
const [baseUrlOptionIndex, setBaseUrlOptionIndex] = (0, import_react11.useState)(0);
|
|
2306
|
+
const [baseUrlError, setBaseUrlError] = (0, import_react11.useState)(null);
|
|
2307
|
+
const [apiKey, setApiKey] = (0, import_react11.useState)("");
|
|
2308
|
+
const [apiKeyError, setApiKeyError] = (0, import_react11.useState)(null);
|
|
2309
|
+
const [modelIds, setModelIds] = (0, import_react11.useState)("");
|
|
2310
|
+
const [modelIdsError, setModelIdsError] = (0, import_react11.useState)(null);
|
|
2311
|
+
const [thinkingEnabled, setThinkingEnabled] = (0, import_react11.useState)(false);
|
|
2312
|
+
const [modalityEnabled, setModalityEnabled] = (0, import_react11.useState)(false);
|
|
2313
|
+
const [modalityImage, setModalityImage] = (0, import_react11.useState)(true);
|
|
2314
|
+
const [modalityVideo, setModalityVideo] = (0, import_react11.useState)(true);
|
|
2315
|
+
const [modalityAudio, setModalityAudio] = (0, import_react11.useState)(false);
|
|
2316
|
+
const [modalityPdf, setModalityPdf] = (0, import_react11.useState)(false);
|
|
2317
|
+
const [contextWindowSize, setContextWindowSize] = (0, import_react11.useState)("");
|
|
2318
|
+
const [focusedConfigIndex, setFocusedConfigIndex] = (0, import_react11.useState)(0);
|
|
2049
2319
|
const currentStep = visibleSteps[stepIndex] ?? null;
|
|
2050
|
-
const start = (0,
|
|
2320
|
+
const start = (0, import_react11.useCallback)(
|
|
2051
2321
|
(config, initialProtocol, existingEnv, existingModelIds) => {
|
|
2052
2322
|
setProvider(config);
|
|
2053
2323
|
const steps = getVisibleSteps(config);
|
|
@@ -2084,12 +2354,12 @@ function useProviderSetupFlow(onSubmit) {
|
|
|
2084
2354
|
},
|
|
2085
2355
|
[]
|
|
2086
2356
|
);
|
|
2087
|
-
const reset = (0,
|
|
2357
|
+
const reset = (0, import_react11.useCallback)(() => {
|
|
2088
2358
|
setProvider(null);
|
|
2089
2359
|
setVisibleSteps([]);
|
|
2090
2360
|
setStepIndex(0);
|
|
2091
2361
|
}, []);
|
|
2092
|
-
const goBack = (0,
|
|
2362
|
+
const goBack = (0, import_react11.useCallback)(() => {
|
|
2093
2363
|
if (stepIndex > 0) {
|
|
2094
2364
|
setStepIndex((i) => i - 1);
|
|
2095
2365
|
return true;
|
|
@@ -2097,10 +2367,10 @@ function useProviderSetupFlow(onSubmit) {
|
|
|
2097
2367
|
reset();
|
|
2098
2368
|
return false;
|
|
2099
2369
|
}, [stepIndex, reset]);
|
|
2100
|
-
const goNext = (0,
|
|
2370
|
+
const goNext = (0, import_react11.useCallback)(() => {
|
|
2101
2371
|
setStepIndex((i) => Math.min(i + 1, visibleSteps.length - 1));
|
|
2102
2372
|
}, [visibleSteps]);
|
|
2103
|
-
const selectProtocol = (0,
|
|
2373
|
+
const selectProtocol = (0, import_react11.useCallback)(
|
|
2104
2374
|
(selectedProtocol) => {
|
|
2105
2375
|
setProtocol(selectedProtocol);
|
|
2106
2376
|
setBaseUrl("");
|
|
@@ -2111,7 +2381,7 @@ function useProviderSetupFlow(onSubmit) {
|
|
|
2111
2381
|
},
|
|
2112
2382
|
[goNext]
|
|
2113
2383
|
);
|
|
2114
|
-
const selectBaseUrl = (0,
|
|
2384
|
+
const selectBaseUrl = (0, import_react11.useCallback)(
|
|
2115
2385
|
(selectedUrl) => {
|
|
2116
2386
|
setBaseUrl(selectedUrl);
|
|
2117
2387
|
setBaseUrlError(null);
|
|
@@ -2119,7 +2389,7 @@ function useProviderSetupFlow(onSubmit) {
|
|
|
2119
2389
|
},
|
|
2120
2390
|
[goNext]
|
|
2121
2391
|
);
|
|
2122
|
-
const submitBaseUrl = (0,
|
|
2392
|
+
const submitBaseUrl = (0, import_react11.useCallback)(() => {
|
|
2123
2393
|
const effective = baseUrl.trim() || baseUrlPlaceholder.trim();
|
|
2124
2394
|
if (!effective) {
|
|
2125
2395
|
setBaseUrlError(t("Base URL cannot be empty."));
|
|
@@ -2136,15 +2406,15 @@ function useProviderSetupFlow(onSubmit) {
|
|
|
2136
2406
|
goNext();
|
|
2137
2407
|
return true;
|
|
2138
2408
|
}, [baseUrl, baseUrlPlaceholder, goNext]);
|
|
2139
|
-
const changeBaseUrl = (0,
|
|
2409
|
+
const changeBaseUrl = (0, import_react11.useCallback)((value) => {
|
|
2140
2410
|
setBaseUrl(value);
|
|
2141
2411
|
setBaseUrlError(null);
|
|
2142
2412
|
}, []);
|
|
2143
|
-
const changeApiKey = (0,
|
|
2413
|
+
const changeApiKey = (0, import_react11.useCallback)((value) => {
|
|
2144
2414
|
setApiKey(value);
|
|
2145
2415
|
setApiKeyError(null);
|
|
2146
2416
|
}, []);
|
|
2147
|
-
const buildCurrentInputs = (0,
|
|
2417
|
+
const buildCurrentInputs = (0, import_react11.useCallback)(
|
|
2148
2418
|
(overrides) => ({
|
|
2149
2419
|
protocol: provider?.protocolOptions ? protocol : void 0,
|
|
2150
2420
|
baseUrl: baseUrl.trim(),
|
|
@@ -2154,7 +2424,7 @@ function useProviderSetupFlow(onSubmit) {
|
|
|
2154
2424
|
}),
|
|
2155
2425
|
[provider, protocol, baseUrl, apiKey, modelIds]
|
|
2156
2426
|
);
|
|
2157
|
-
const submitOrNext = (0,
|
|
2427
|
+
const submitOrNext = (0, import_react11.useCallback)(
|
|
2158
2428
|
(overrides) => {
|
|
2159
2429
|
if (stepIndex >= visibleSteps.length - 1) {
|
|
2160
2430
|
if (provider) void onSubmit(provider, buildCurrentInputs(overrides));
|
|
@@ -2164,7 +2434,7 @@ function useProviderSetupFlow(onSubmit) {
|
|
|
2164
2434
|
},
|
|
2165
2435
|
[stepIndex, visibleSteps, provider, onSubmit, buildCurrentInputs, goNext]
|
|
2166
2436
|
);
|
|
2167
|
-
const submitApiKey = (0,
|
|
2437
|
+
const submitApiKey = (0, import_react11.useCallback)(
|
|
2168
2438
|
(keyOverride) => {
|
|
2169
2439
|
const trimmed = (keyOverride ?? apiKey).trim();
|
|
2170
2440
|
if (!trimmed) {
|
|
@@ -2185,7 +2455,7 @@ function useProviderSetupFlow(onSubmit) {
|
|
|
2185
2455
|
},
|
|
2186
2456
|
[apiKey, provider, baseUrl, submitOrNext]
|
|
2187
2457
|
);
|
|
2188
|
-
const highlightBaseUrl = (0,
|
|
2458
|
+
const highlightBaseUrl = (0, import_react11.useCallback)(
|
|
2189
2459
|
(url) => {
|
|
2190
2460
|
if (provider && Array.isArray(provider.baseUrl)) {
|
|
2191
2461
|
const idx = provider.baseUrl.findIndex((o) => o.url === url);
|
|
@@ -2194,14 +2464,14 @@ function useProviderSetupFlow(onSubmit) {
|
|
|
2194
2464
|
},
|
|
2195
2465
|
[provider]
|
|
2196
2466
|
);
|
|
2197
|
-
const changeModelIds = (0,
|
|
2467
|
+
const changeModelIds = (0, import_react11.useCallback)((value) => {
|
|
2198
2468
|
setModelIds(value);
|
|
2199
2469
|
setModelIdsError(null);
|
|
2200
2470
|
}, []);
|
|
2201
|
-
const clearModelIdsError = (0,
|
|
2471
|
+
const clearModelIdsError = (0, import_react11.useCallback)(() => {
|
|
2202
2472
|
setModelIdsError(null);
|
|
2203
2473
|
}, []);
|
|
2204
|
-
const submitModelIds = (0,
|
|
2474
|
+
const submitModelIds = (0, import_react11.useCallback)(
|
|
2205
2475
|
(overrides) => {
|
|
2206
2476
|
const normalized = overrides?.modelIds ?? normalizeModelIds(modelIds);
|
|
2207
2477
|
if (normalized.length === 0) {
|
|
@@ -2216,13 +2486,13 @@ function useProviderSetupFlow(onSubmit) {
|
|
|
2216
2486
|
[modelIds, submitOrNext]
|
|
2217
2487
|
);
|
|
2218
2488
|
const advancedOptionCount = modalityEnabled ? 7 : 3;
|
|
2219
|
-
const moveAdvancedFocusUp = (0,
|
|
2489
|
+
const moveAdvancedFocusUp = (0, import_react11.useCallback)(() => {
|
|
2220
2490
|
setFocusedConfigIndex((v) => v <= 0 ? advancedOptionCount - 1 : v - 1);
|
|
2221
2491
|
}, [advancedOptionCount]);
|
|
2222
|
-
const moveAdvancedFocusDown = (0,
|
|
2492
|
+
const moveAdvancedFocusDown = (0, import_react11.useCallback)(() => {
|
|
2223
2493
|
setFocusedConfigIndex((v) => v >= advancedOptionCount - 1 ? 0 : v + 1);
|
|
2224
2494
|
}, [advancedOptionCount]);
|
|
2225
|
-
const toggleFocusedAdvancedOption = (0,
|
|
2495
|
+
const toggleFocusedAdvancedOption = (0, import_react11.useCallback)(() => {
|
|
2226
2496
|
switch (focusedConfigIndex) {
|
|
2227
2497
|
case 0:
|
|
2228
2498
|
setThinkingEnabled((v) => !v);
|
|
@@ -2246,13 +2516,13 @@ function useProviderSetupFlow(onSubmit) {
|
|
|
2246
2516
|
break;
|
|
2247
2517
|
}
|
|
2248
2518
|
}, [focusedConfigIndex]);
|
|
2249
|
-
const submitAdvancedConfig = (0,
|
|
2519
|
+
const submitAdvancedConfig = (0, import_react11.useCallback)(() => {
|
|
2250
2520
|
goNext();
|
|
2251
2521
|
}, [goNext]);
|
|
2252
|
-
const changeContextWindowSize = (0,
|
|
2522
|
+
const changeContextWindowSize = (0, import_react11.useCallback)((value) => {
|
|
2253
2523
|
setContextWindowSize(value.replace(/[^0-9]/g, ""));
|
|
2254
2524
|
}, []);
|
|
2255
|
-
const submit = (0,
|
|
2525
|
+
const submit = (0, import_react11.useCallback)(() => {
|
|
2256
2526
|
if (!provider) return;
|
|
2257
2527
|
const multimodal = modalityEnabled ? {
|
|
2258
2528
|
image: modalityImage || void 0,
|
|
@@ -2280,13 +2550,19 @@ function useProviderSetupFlow(onSubmit) {
|
|
|
2280
2550
|
onSubmit,
|
|
2281
2551
|
buildCurrentInputs
|
|
2282
2552
|
]);
|
|
2283
|
-
const getPreviewJson = (0,
|
|
2553
|
+
const getPreviewJson = (0, import_react11.useCallback)(() => {
|
|
2284
2554
|
if (!provider) return "";
|
|
2285
2555
|
const envKey = typeof provider.envKey === "function" ? provider.envKey(protocol, baseUrl.trim()) : provider.envKey;
|
|
2286
2556
|
const normalizedIds = normalizeModelIds(modelIds);
|
|
2287
2557
|
const masked = maskApiKey(apiKey);
|
|
2288
2558
|
const genConfig = {};
|
|
2289
|
-
if (thinkingEnabled)
|
|
2559
|
+
if (thinkingEnabled) {
|
|
2560
|
+
if (protocol === "openai-responses" /* USE_OPENAI_RESPONSES */) {
|
|
2561
|
+
genConfig["reasoning"] = { effort: "medium" };
|
|
2562
|
+
} else {
|
|
2563
|
+
genConfig["extra_body"] = { enable_thinking: true };
|
|
2564
|
+
}
|
|
2565
|
+
}
|
|
2290
2566
|
if (modalityEnabled) {
|
|
2291
2567
|
const mod = {};
|
|
2292
2568
|
if (modalityImage) mod["image"] = true;
|
|
@@ -2470,6 +2746,10 @@ export {
|
|
|
2470
2746
|
pickAsciiArtTier,
|
|
2471
2747
|
usePhraseCycler,
|
|
2472
2748
|
useGitBranchName,
|
|
2749
|
+
useTimer,
|
|
2750
|
+
useAnimationFrame,
|
|
2751
|
+
isNarrowWidth,
|
|
2752
|
+
useMcpApproval,
|
|
2473
2753
|
DualOutputBridge,
|
|
2474
2754
|
RemoteInputWatcher
|
|
2475
2755
|
};
|