@qwen-code/qwen-code 0.23.2-preview.0 → 0.23.3-nightly.20260910.c46cb85cf2
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 +2 -2
- package/bundled/qc-helper/docs/configuration/auth.md +1 -1
- package/bundled/qc-helper/docs/configuration/model-providers.md +76 -34
- package/bundled/qc-helper/docs/configuration/settings.md +5 -3
- package/bundled/qc-helper/docs/features/_meta.ts +1 -0
- package/bundled/qc-helper/docs/features/channels/dingtalk.md +1 -21
- package/bundled/qc-helper/docs/features/channels/dws.md +7 -1
- package/bundled/qc-helper/docs/features/channels/github.md +1 -9
- package/bundled/qc-helper/docs/features/channels/overview.md +30 -56
- package/bundled/qc-helper/docs/features/channels/qqbot.md +1 -2
- package/bundled/qc-helper/docs/features/commands.md +105 -18
- package/bundled/qc-helper/docs/features/computer-use.md +1 -1
- package/bundled/qc-helper/docs/features/cross-session-protocol.md +320 -0
- package/bundled/qc-helper/docs/features/goals.md +5 -3
- package/bundled/qc-helper/docs/features/hooks.md +14 -13
- package/bundled/qc-helper/docs/features/sub-agents.md +8 -0
- package/bundled/qc-helper/docs/qwen-serve.md +84 -53
- package/bundled/review/SKILL.md +82 -79
- package/bundled/review/references/posting.md +31 -14
- package/chunks/{MaxSizedBox-ZZJT3PJF.js → MaxSizedBox-UZW24XUX.js} +63 -55
- package/chunks/{StandaloneSessionPicker-DIOSZTMX.js → StandaloneSessionPicker-IDK7NAZL.js} +85 -77
- package/chunks/{acp-startup-profiler-KEU6VAYR.js → acp-startup-profiler-ARO4II44.js} +2 -2
- package/chunks/acp-subagent-executor-7TLJGISS.js +919 -0
- package/chunks/{acpAgent-62JUP5A7.js → acpAgent-YRCNNIIU.js} +939 -306
- package/chunks/{agent-NLPEQQDZ.js → agent-SGU5EE7U.js} +47 -41
- package/chunks/{agent-headless-Y2GR5F2Q.js → agent-headless-JVYBLNLT.js} +47 -41
- package/chunks/{anthropicContentGenerator-I7LQZH26.js → anthropicContentGenerator-SGIR5IKF.js} +68 -36
- package/chunks/{artifact-tool-P52OKKEF.js → artifact-tool-PMYZCYNH.js} +2 -2
- package/chunks/{askUserQuestion-I5W5S3D6.js → askUserQuestion-4M4YYIB4.js} +2 -2
- package/chunks/{bridge-Q66BD62H.js → bridge-YF6NYRPZ.js} +68 -60
- package/chunks/{ca-KC2AISNS.js → ca-MX3WCEEG.js} +1 -1
- package/chunks/{channel-management-service-TRTLQTSV.js → channel-management-service-E4HTMU7T.js} +9 -9
- package/chunks/{channel-settings-store-R5STFWUW.js → channel-settings-store-FZ5VKHQD.js} +74 -66
- package/chunks/{channel-worker-group-PIYPVCTF.js → channel-worker-group-X6WH4XWF.js} +9 -9
- package/chunks/{channel-worker-manager-FQHEDTD2.js → channel-worker-manager-SICFJDPJ.js} +19 -10
- package/chunks/{channel-worker-supervisor-XJPZZ3VK.js → channel-worker-supervisor-HSFAKML6.js} +6 -6
- package/chunks/{chunk-CLKE4IY3.js → chunk-2SZH22YO.js} +1 -1
- package/chunks/{chunk-OIPUQE3S.js → chunk-34ZYDM3F.js} +27 -12
- package/chunks/{chunk-HIXUUCGY.js → chunk-36HCNKDS.js} +1 -1
- package/chunks/{chunk-6YEOCHSE.js → chunk-3FPYT6QC.js} +101 -31
- package/chunks/{chunk-NFIDVZND.js → chunk-3I7W2POO.js} +3 -22
- package/chunks/{chunk-W3ONSAYO.js → chunk-3VPFA6L2.js} +3 -3
- package/chunks/chunk-532WHF4F.js +127 -0
- package/chunks/{chunk-J3TJH52D.js → chunk-5FFAUU4T.js} +1 -1
- package/chunks/{chunk-G5QLLD53.js → chunk-5FKZ7KFQ.js} +1864 -35
- package/chunks/{chunk-B44JBZBB.js → chunk-5GLDOLNQ.js} +132 -27
- package/chunks/{chunk-ORREXWOM.js → chunk-5ZJ3KK5J.js} +5 -5
- package/chunks/{chunk-2OR32P5M.js → chunk-6EDWSKN4.js} +125 -10
- package/chunks/{chunk-EA4NFWVG.js → chunk-6EOMQPTS.js} +4 -4
- package/chunks/{chunk-45ROPFQY.js → chunk-6NONRGYX.js} +1 -1
- package/chunks/{chunk-EHTKOO6W.js → chunk-6UK77U7D.js} +46 -3
- package/chunks/{chunk-QXXBW2G4.js → chunk-72BGC7RT.js} +4 -4
- package/chunks/{chunk-CRZBDVP2.js → chunk-74JEYK2C.js} +10 -10
- package/chunks/{chunk-B54PFQS5.js → chunk-7CLLH5TI.js} +1 -1
- package/chunks/{chunk-CG2PDIGD.js → chunk-7XM6KEVW.js} +1 -1
- package/chunks/{chunk-CALNF3Z3.js → chunk-7XVQNDFB.js} +1 -1
- package/chunks/{chunk-TK4XHPKW.js → chunk-7ZKDPTYO.js} +2 -2
- package/chunks/{chunk-ZIPYCXQP.js → chunk-7ZVIGDZF.js} +1 -1
- package/chunks/chunk-AEY27Z35.js +1411 -0
- package/chunks/{chunk-WIRYFL2L.js → chunk-ATH66AEU.js} +64 -59
- package/chunks/{chunk-33MLFMCL.js → chunk-AW2SIT3B.js} +3 -3
- package/chunks/{chunk-4BLTSTF6.js → chunk-AWMJRE5N.js} +4 -4
- package/chunks/chunk-AYEJOTIU.js +43 -0
- package/chunks/{chunk-M73KHGNR.js → chunk-B2TGBZXY.js} +420 -227
- package/chunks/{chunk-XDNFODER.js → chunk-B6BDT4RX.js} +1 -1
- package/chunks/{chunk-WZ4YULVF.js → chunk-BHR6IN2X.js} +3251 -974
- package/chunks/{chunk-GXIHBIHC.js → chunk-BI3WSRQE.js} +61 -72
- package/chunks/{chunk-NVS4Z6GT.js → chunk-BQOP3K76.js} +1 -1
- package/chunks/{chunk-R2266LQ5.js → chunk-BTWGOKHU.js} +2 -2
- package/chunks/{process-registry-OAEG6WGC.js → chunk-BYUAT5OC.js} +1 -0
- package/chunks/{chunk-XVTCSVBK.js → chunk-C4NLHK7X.js} +227 -298
- package/chunks/{chunk-NOO4QFXM.js → chunk-C75BXMPM.js} +1 -3
- package/chunks/chunk-CAAMI77K.js +937 -0
- package/chunks/chunk-CF5KXZZX.js +150 -0
- package/chunks/{chunk-SOA4HKRJ.js → chunk-CGKEUUYG.js} +2 -2
- package/chunks/{chunk-BF3RUIVP.js → chunk-CH2YDT6X.js} +36 -38
- package/chunks/{chunk-5HBA2Z7V.js → chunk-CJ3DHN5I.js} +3 -3
- package/chunks/{chunk-3BTHHXXE.js → chunk-CSHX5ZC4.js} +1 -1
- package/chunks/{chunk-UYDQYDW2.js → chunk-CUK6F5UF.js} +1 -1
- package/chunks/{chunk-RPFJJ33Z.js → chunk-DLH7YIX6.js} +3 -3
- package/chunks/{chunk-L6ZME3W7.js → chunk-DMX7RF6E.js} +1 -1
- package/chunks/{chunk-TRWQQBVH.js → chunk-DTNV6UZY.js} +1 -1
- package/chunks/{chunk-FDOGGKAA.js → chunk-E4UEO3XM.js} +5 -2
- package/chunks/{chunk-RN6V5HKE.js → chunk-E5GQNSJY.js} +3 -3
- package/chunks/chunk-ELRMZTPF.js +374 -0
- package/chunks/chunk-ERU3SDXT.js +27 -0
- package/chunks/{chunk-O2FEO2CB.js → chunk-EUURTIV6.js} +18 -2
- package/chunks/{chunk-4HOEU2OR.js → chunk-EWJTAP3Y.js} +1 -19
- package/chunks/{chunk-ZELCTN6Y.js → chunk-F23YN37B.js} +10 -0
- package/chunks/{chunk-BL6B2QS2.js → chunk-F2RKL5I2.js} +809 -1195
- package/chunks/{chunk-J4ECGDA3.js → chunk-F45SKYIQ.js} +3 -3
- package/chunks/{chunk-5WC2ECUK.js → chunk-FCQJLMA2.js} +114 -8
- package/chunks/{chunk-4JKLPTV6.js → chunk-FGRDUDCI.js} +13 -6
- package/chunks/{chunk-ZUNWKOAP.js → chunk-FGV2QEAO.js} +5 -27
- package/chunks/{chunk-4VY3ITHR.js → chunk-FN3JNDRU.js} +3 -3
- package/chunks/{chunk-XI7RST4D.js → chunk-FRVV5SSD.js} +2 -2
- package/chunks/{chunk-UXDVUFKU.js → chunk-FYZ5NZ3V.js} +2 -20
- package/chunks/{chunk-ALMR3E6Q.js → chunk-GDWE23OR.js} +3 -3
- package/chunks/{chunk-W7PXLIZJ.js → chunk-GP47UR3M.js} +6 -6
- package/chunks/{chunk-LNYV4GXX.js → chunk-GSKX53AN.js} +0 -139
- package/chunks/{chunk-MA5OUNN6.js → chunk-HG46TTAG.js} +1 -1
- package/chunks/{chunk-FETY36NQ.js → chunk-HGEUHUEV.js} +1 -1
- package/chunks/{chunk-UULHYZ4W.js → chunk-HL2DQG3Y.js} +148 -23
- package/chunks/{chunk-E6TI726I.js → chunk-HUXPEUFL.js} +1 -1
- package/chunks/{chunk-5DQ4YTIZ.js → chunk-HZTXKVSV.js} +1 -1
- package/chunks/{chunk-LYT2OU7D.js → chunk-IAEXTMED.js} +1 -1
- package/chunks/{chunk-CPJRFFPH.js → chunk-IFHJIEMN.js} +576 -169
- package/chunks/{chunk-IW6RQPQB.js → chunk-IJOS26LH.js} +1 -3
- package/chunks/{chunk-ORFIYTI2.js → chunk-IK2MWJP5.js} +1 -1
- package/chunks/{chunk-MWEF5MUK.js → chunk-IOUBOANU.js} +42 -13
- package/chunks/{chunk-KA5HR3G2.js → chunk-IUVIBDKU.js} +2 -2
- package/chunks/{chunk-PQWM4SX2.js → chunk-J2RNOJRV.js} +2 -2
- package/chunks/{chunk-VHPG7BH6.js → chunk-J5PYQVD2.js} +2 -2
- package/chunks/{chunk-JDPBJIKI.js → chunk-JDEW3V5B.js} +1 -1
- package/chunks/{chunk-RX3FYFCN.js → chunk-JEMDIKGQ.js} +7 -7
- package/chunks/chunk-JL6APGBX.js +43 -0
- package/chunks/{chunk-UHUT4IDM.js → chunk-JOMCZWX7.js} +9 -15
- package/chunks/{chunk-43CI6YWJ.js → chunk-JV5YASQA.js} +2777 -2151
- package/chunks/{chunk-N6S3NUYJ.js → chunk-JXNIF2O5.js} +1 -1
- package/chunks/chunk-K2OJUPOE.js +78 -0
- package/chunks/{chunk-QLM7D7W3.js → chunk-KFGPNCCY.js} +8 -8
- package/chunks/{chunk-7RXOEUFF.js → chunk-KHIBLKNK.js} +1 -1
- package/chunks/{chunk-5GD7LYOH.js → chunk-KVBNJ4K2.js} +5 -5
- package/chunks/{chunk-QJAFSFYA.js → chunk-KZ2CU2LH.js} +1 -1
- package/chunks/{chunk-DCPRCDSR.js → chunk-L2KF7HUE.js} +6 -6
- package/chunks/{chunk-4ALNJDHL.js → chunk-L3DTX6U4.js} +3 -1
- package/chunks/{chunk-3SH53ANB.js → chunk-LAP7X6EC.js} +12 -0
- package/chunks/{chunk-GM44O6F7.js → chunk-LEGNDA46.js} +1 -1
- package/chunks/{chunk-WXFCI3O5.js → chunk-LG5Y4OWO.js} +2 -2
- package/chunks/{chunk-3LPJ776W.js → chunk-LILGKQ4B.js} +10 -7
- package/chunks/{chunk-LBKYQ33T.js → chunk-LIR7YS2O.js} +18 -12
- package/chunks/{chunk-5Z4FCEPY.js → chunk-LK2WUCDQ.js} +625 -119
- package/chunks/{chunk-W673V2H3.js → chunk-LY2GK2PR.js} +4 -4
- package/chunks/{chunk-PQSCGZT2.js → chunk-MOS5OAOG.js} +36 -10
- package/chunks/chunk-MXOALJIL.js +691 -0
- package/chunks/chunk-NFXXBWSE.js +463 -0
- package/chunks/chunk-NUQ4GK5I.js +315 -0
- package/chunks/{chunk-J3VZF2AL.js → chunk-NUQVB25K.js} +2 -2
- package/chunks/{chunk-GNY7B3CA.js → chunk-NVIBH7WS.js} +1 -1
- package/chunks/{chunk-M6YLOETP.js → chunk-O3MKRN2I.js} +4 -4
- package/chunks/{chunk-ISPBBKJN.js → chunk-ONGZNOIP.js} +7 -2
- package/chunks/{chunk-Q2F43WTJ.js → chunk-OOLSYRZ7.js} +36 -19
- package/chunks/{chunk-63ACHB2H.js → chunk-PIGUW2U2.js} +197 -28
- package/chunks/{chunk-QAZ2MGYT.js → chunk-PLLIWEM3.js} +2 -2
- package/chunks/{chunk-ULY4ISY2.js → chunk-PMS4FVLY.js} +23 -8
- package/chunks/{chunk-NB3NDQQK.js → chunk-Q2XLNLAV.js} +1 -1
- package/chunks/{chunk-6GRDHIVI.js → chunk-Q6HXLBZF.js} +12 -12
- package/chunks/{chunk-EUXF6URV.js → chunk-QPWZX4ZV.js} +32 -34
- package/chunks/{chunk-DTB5BXRG.js → chunk-RJZTX2OF.js} +30 -17
- package/chunks/{chunk-PQEISIKS.js → chunk-SAH4BD2J.js} +0 -67
- package/chunks/{chunk-LUVXLLMS.js → chunk-SAWPURIU.js} +2 -2
- package/chunks/{chunk-WZS3X663.js → chunk-SNZWDV67.js} +43 -18
- package/chunks/{chunk-IRKQ4YYX.js → chunk-SVWWF5TZ.js} +29 -1
- package/chunks/{chunk-5VZFJTL2.js → chunk-SXEE6PND.js} +2 -2
- package/chunks/{chunk-743XE7N7.js → chunk-T4JVQR7Z.js} +2 -2
- package/chunks/{chunk-6RZX2HIH.js → chunk-TBEXLLAO.js} +2 -2
- package/chunks/{chunk-LN3WBOKU.js → chunk-TP2DUOB6.js} +8 -8
- package/chunks/{chunk-MWIO7MF6.js → chunk-TP6FYVQT.js} +2 -0
- package/chunks/{chunk-HRPFBHW7.js → chunk-TPKQIA7G.js} +1 -0
- package/chunks/{chunk-VH764G6B.js → chunk-TWC3FHUI.js} +4 -4
- package/chunks/{chunk-H3Q3RSKZ.js → chunk-U7O65WKL.js} +1 -1
- package/chunks/{chunk-IUJLW6ZI.js → chunk-UBEYS536.js} +7 -7
- package/chunks/{chunk-VEQBVJYH.js → chunk-UGS62IR2.js} +3 -3
- package/chunks/{chunk-VF6D6EGV.js → chunk-UKMWZ5NS.js} +109 -842
- package/chunks/{chunk-7GZCCHJL.js → chunk-VHKOULAI.js} +6 -5
- package/chunks/{chunk-ODBNTMZW.js → chunk-VID4BW52.js} +97 -86
- package/chunks/{chunk-7L35FKPF.js → chunk-VLZOU6UH.js} +7 -7
- package/chunks/{chunk-XBLG564H.js → chunk-VTBPMLRO.js} +12 -12
- package/chunks/{chunk-QTNCGZHQ.js → chunk-VX63RJXE.js} +9 -0
- package/chunks/{chunk-7VEYUF3N.js → chunk-W5ZQMAEM.js} +1 -1
- package/chunks/{chunk-XQ4RDO5B.js → chunk-WBCPROWX.js} +1 -1
- package/chunks/{chunk-RDV4NLI3.js → chunk-WS7MOFK6.js} +3 -3
- package/chunks/{chunk-FV4DM2M4.js → chunk-WXFK4MH7.js} +32 -12
- package/chunks/{chunk-XAXTQURR.js → chunk-WY4N6KS7.js} +4 -4
- package/chunks/{chunk-CABDNUJ4.js → chunk-XDQUDARC.js} +11 -14
- package/chunks/{chunk-YHDGABDC.js → chunk-XKBFYTCD.js} +1 -1
- package/chunks/{chunk-2EKVPSIJ.js → chunk-Y2MYW47X.js} +1 -1
- package/chunks/{chunk-Y6ZWXM44.js → chunk-YIU5PEAT.js} +2 -2
- package/chunks/{chunk-PSPAM24S.js → chunk-YKK2XXHF.js} +4 -0
- package/chunks/{chunk-HZ2HUXX7.js → chunk-YS2ZJSOA.js} +29 -12
- package/chunks/{chunk-OFVAS4AR.js → chunk-ZGQIIGNQ.js} +2 -2
- package/chunks/{chunk-HNLMYDQE.js → chunk-ZHECLGA6.js} +2 -4
- package/chunks/{chunk-XBVNNDPK.js → chunk-ZHKTKHMO.js} +8 -1
- package/chunks/{chunk-OWCFKIFQ.js → chunk-ZKYR7QS4.js} +1 -1
- package/chunks/{chunk-YZTGGCEE.js → chunk-ZKZHSB5W.js} +1 -1
- package/chunks/{chunk-ERXNTINK.js → chunk-ZT6EPPBY.js} +1 -1
- package/chunks/{chunk-565U2ANU.js → chunk-ZTTC7T4X.js} +1 -1
- package/chunks/{chunk-MMMA36MN.js → chunk-ZUQVZTWG.js} +3 -3
- package/chunks/{chunk-7OCIQNKX.js → chunk-ZW2EUO2A.js} +1 -1
- package/chunks/{config-utils-37FHWPTP.js → config-utils-S5LFS4RN.js} +67 -59
- package/chunks/{contextCommand-R4JUBV5N.js → contextCommand-XXKZMMSQ.js} +64 -56
- package/chunks/{core-runtime-6U4OXU5C.js → core-runtime-YGUA42AZ.js} +68 -59
- package/chunks/{create-sub-session-LLUYAGZN.js → create-sub-session-SEK6KCYR.js} +64 -56
- package/chunks/{create-sub-session-TGIX63YU.js → create-sub-session-TIGCFGCS.js} +2 -2
- package/chunks/{cron-create-GTPVMJCF.js → cron-create-AKWX67FO.js} +1 -1
- package/chunks/{cron-delete-ZBK27Z4K.js → cron-delete-XPB6IYZJ.js} +1 -1
- package/chunks/{cron-list-KTFKFDKC.js → cron-list-XBKO4WU5.js} +1 -1
- package/chunks/{daemon-UI6SQSBV.js → daemon-G5TYKZD6.js} +2 -2
- package/chunks/{daemon-git-worktree-guard-O2UTNFJC.js → daemon-git-worktree-guard-3AWINPPX.js} +65 -57
- package/chunks/{daemon-status-provider-7GMAKSTX.js → daemon-status-provider-RTKHKUFJ.js} +73 -65
- package/chunks/{daemon-trust-policy-VNP76VMO.js → daemon-trust-policy-6YQOC7B6.js} +69 -61
- package/chunks/{daemon-trust-policy-monitor-TD5O3BZA.js → daemon-trust-policy-monitor-EN5L23GS.js} +69 -61
- package/chunks/{de-UU2YTO37.js → de-OOLZAU2U.js} +1 -1
- package/chunks/{deferred-core-runtime-NJM63YJS.js → deferred-core-runtime-JPLQRVZO.js} +62 -54
- package/chunks/{display-image-CTNHJRZC.js → display-image-NAH3AZ63.js} +3 -3
- package/chunks/{dist-STAGIFNB.js → dist-3BJVSJ7D.js} +389 -724
- package/chunks/{dist-OR2ZQTXZ.js → dist-65Q3TRLH.js} +16 -36
- package/chunks/{dist-24TCWK5H.js → dist-HX2LG76F.js} +233 -35
- package/chunks/{dist-XJ25G6OH.js → dist-J7PDFK53.js} +13 -38
- package/chunks/{dist-WZTUKIDR.js → dist-JCXKXRH6.js} +3 -6
- package/chunks/{dist-M4CBX53H.js → dist-LHGMHIDK.js} +2 -6
- package/chunks/{dist-5I4HLUTO.js → dist-QPTIRE3U.js} +4 -13
- package/chunks/{dist-FDISN4AK.js → dist-SBK33YLC.js} +5 -40
- package/chunks/{dist-NQ2636VT.js → dist-WMFHZG3R.js} +2 -5
- package/chunks/{edit-GL7OA6RV.js → edit-QXJZIWRQ.js} +50 -44
- package/chunks/{en-YJNRUQG4.js → en-7BZ2OZKH.js} +2 -1
- package/chunks/{enter-worktree-YFTKHXHZ.js → enter-worktree-54L5QJ3N.js} +4 -4
- package/chunks/{enterPlanMode-VC4BCSZE.js → enterPlanMode-2ITCVQ5N.js} +47 -41
- package/chunks/{environment-BI6IBAZJ.js → environment-URPO5ORZ.js} +65 -57
- package/chunks/{errors-D6G2ZM2R.js → errors-TDUYLEKI.js} +64 -56
- package/chunks/{exit-worktree-NF2XEMES.js → exit-worktree-EORJDKDS.js} +4 -4
- package/chunks/{exitPlanMode-DX446CA6.js → exitPlanMode-RA7KMUEW.js} +47 -41
- package/chunks/{fast-path-MAYDLJIP.js → fast-path-Q2JYP64P.js} +7 -7
- package/chunks/{fast-path-settings-SATXY3PD.js → fast-path-settings-GTHZLVSS.js} +2 -2
- package/chunks/{fr-HKNWVXRJ.js → fr-JJWM2HUS.js} +1 -1
- package/chunks/{glob-TVKRFY36.js → glob-VHSV4BKE.js} +50 -44
- package/chunks/{goal-tools-CA6YANRN.js → goal-tools-5FIE56CK.js} +53 -43
- package/chunks/{grep-BLHF2S5D.js → grep-3PKFKLCA.js} +2 -2
- package/chunks/{handleAutoUpdate-AW4ZAHON.js → handleAutoUpdate-7FZFLKNZ.js} +65 -57
- package/chunks/{i18n-IH5CRAY7.js → i18n-NTFQDWKR.js} +63 -55
- package/chunks/{image-gen-XP4NNIYG.js → image-gen-TF3IQWSH.js} +7 -6
- package/chunks/{initializer-UBR37ZNM.js → initializer-LB3T635H.js} +69 -61
- package/chunks/{installationInfo-Y52756EC.js → installationInfo-KRO433ZG.js} +62 -54
- package/chunks/{ja-GJS5RZGU.js → ja-L67TXFDJ.js} +1 -1
- package/chunks/{list-7V5JDZPO.js → list-NEP3WPZ7.js} +72 -64
- package/chunks/{list-agents-I5TRH3J7.js → list-agents-QLDXS5OD.js} +18 -8
- package/chunks/{llm-QDB6JVF5.js → llm-AZEJEIAD.js} +141 -128
- package/chunks/{llm-content-generator-EO6MZCEO.js → llm-content-generator-KWXFHBR3.js} +6 -5
- package/chunks/{loadedSettingsAdapter-I3YQKMC4.js → loadedSettingsAdapter-NZORJLSD.js} +69 -61
- package/chunks/{loggingContentGenerator-MNXYUGDG.js → loggingContentGenerator-NGHVU6AK.js} +69 -62
- package/chunks/{loop-wakeup-HL6XOWI4.js → loop-wakeup-HHMYIC7Z.js} +2 -2
- package/chunks/{ls-YV7RKLKY.js → ls-N7ABR6HI.js} +4 -4
- package/chunks/{lsp-NO3AMRZT.js → lsp-LTOFWG5P.js} +1 -1
- package/chunks/{managed-npm-update-EA3EXPTO.js → managed-npm-update-3LHNBEAG.js} +62 -54
- package/chunks/{mcp-QTAJ544Y.js → mcp-4SWJKDX7.js} +69 -61
- package/chunks/{monitor-6FQKQOTP.js → monitor-V5EFBZC7.js} +49 -43
- package/chunks/{nonInteractiveCli-MRCTZL5X.js → nonInteractiveCli-5UFUBUAT.js} +117 -109
- package/chunks/{notebook-edit-BQQCKI7K.js → notebook-edit-ATV46KWD.js} +48 -42
- package/chunks/{open-with-auth-D6JD6LDS.js → open-with-auth-6MVIHMXB.js} +1 -1
- package/chunks/openai-WX26N5OJ.js +47 -0
- package/chunks/{openaiContentGenerator-TTSKXNVH.js → openaiContentGenerator-BKTO5QJK.js} +31 -25
- package/chunks/openaiResponsesContentGenerator-RTCAJ5V5.js +1658 -0
- package/chunks/{pidfile-KPIS6RIT.js → pidfile-JAIOWPI3.js} +65 -55
- package/chunks/process-registry-X6ZCASEN.js +10 -0
- package/chunks/{processUtils-ZCASPKK4.js → processUtils-TCQH3LVD.js} +2 -2
- package/chunks/{prompt-terminal-ledger-D6HM6TV7.js → prompt-terminal-ledger-BYXHEUHX.js} +63 -55
- package/chunks/{pt-FXMYXEUV.js → pt-77SBDL4B.js} +1 -1
- package/chunks/{qwenContentGenerator-GGZEFLBD.js → qwenContentGenerator-K5TJK75P.js} +60 -52
- package/chunks/{qwenOAuth2-KX6LVYQ3.js → qwenOAuth2-NOXRK323.js} +6 -5
- package/chunks/{read-file-VE5GDFLP.js → read-file-DL7GNZD5.js} +11 -9
- package/chunks/{read-mcp-resource-D3N75DGF.js → read-mcp-resource-B37WANAQ.js} +1 -1
- package/chunks/{record-artifact-Q5CRGJTP.js → record-artifact-OAXWXZ5D.js} +2 -2
- package/chunks/record-source-D7R7X3GT.js +22 -0
- package/chunks/{report-findings-TJ34R7QK.js → report-findings-AR3VC6EQ.js} +3 -3
- package/chunks/{request-shutdown-LRKMTBAD.js → request-shutdown-IKNWTX5M.js} +5 -5
- package/chunks/{resumeHistoryUtils-HSSGMYDC.js → resumeHistoryUtils-OYKXZ4YO.js} +68 -60
- package/chunks/{ripGrep-SEJE7AA6.js → ripGrep-EOUMIU4K.js} +15 -13
- package/chunks/{ru-RMHURE5U.js → ru-UYWHKWF2.js} +1 -1
- package/chunks/{run-qwen-serve-OJYVH7N6.js → run-qwen-serve-PPTGWC5B.js} +471 -152
- package/chunks/{runtime-KGMQQFJD.js → runtime-5RO22P2N.js} +77 -67
- package/chunks/{scheduled-tasks-7H5HWHYD.js → scheduled-tasks-YGERFWLZ.js} +70 -62
- package/chunks/{scheduler-BE42AKDG.js → scheduler-S6WU6M3C.js} +64 -56
- 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-AWKUDJBH.js → send-message-TWOGWCBG.js} +13 -10
- package/chunks/{serve-KZVKYMSL.js → serve-HT4WOCWS.js} +70 -62
- package/chunks/{server-PJRALPJQ.js → server-SWXVPRCS.js} +2977 -617
- package/chunks/{session-IHITXU2S.js → session-6DSFUOMO.js} +154 -119
- package/chunks/{session-attachments-root-GQ2TUI3Y.js → session-attachments-root-SOZCTQWW.js} +62 -54
- package/chunks/{session-pr-refresh-H43LULTE.js → session-pr-refresh-F7XUBQBH.js} +70 -62
- package/chunks/{settings-RKEQQDFC.js → settings-SWQH36PO.js} +74 -66
- package/chunks/{shell-6PJ444U5.js → shell-XUQL6EYV.js} +47 -41
- package/chunks/{skill-Q3UP7B5V.js → skill-HNRDD54C.js} +33 -23
- package/chunks/{skill-settings-LZR5YRRW.js → skill-settings-JU72PCII.js} +68 -60
- package/chunks/{spawnChannel-WM3DT2BF.js → spawnChannel-7ZVM3GBU.js} +65 -57
- package/chunks/{standalone-update-E5474IBI.js → standalone-update-64JQY2LX.js} +64 -56
- package/chunks/{start-opentui-ui-WLWZNQ2I.js → start-opentui-ui-RSLBXESU.js} +554 -297
- package/chunks/{startInteractiveUI-FBQSGWGO.js → startInteractiveUI-ZDPHD7XE.js} +1282 -1915
- package/chunks/{syntheticOutput-D2P5V6RG.js → syntheticOutput-F6F27JMK.js} +2 -2
- package/chunks/{task-create-PMAFST2T.js → task-create-Y623TBHB.js} +10 -10
- package/chunks/{task-list-R2HSY2NC.js → task-list-FCPEEGWL.js} +3 -3
- package/chunks/{task-stop-BFSKRTGV.js → task-stop-QTKZXLPH.js} +1 -1
- package/chunks/{task-update-JYC57USF.js → task-update-YLSXF25N.js} +10 -10
- package/chunks/{team-create-VIGUFUT4.js → team-create-U52VYSNO.js} +49 -43
- package/chunks/{team-delete-CBHVBTPB.js → team-delete-S7TLHZCF.js} +3 -3
- package/chunks/{team-plan-approval-HQVZA3MD.js → team-plan-approval-IQ4ADQIK.js} +47 -41
- package/chunks/{terminal-image-renderer-LUKNCOVM.js → terminal-image-renderer-ZEMF7LB2.js} +64 -56
- package/chunks/{theme-manager-LOENKYLY.js → theme-manager-DK2S2SOX.js} +62 -54
- package/chunks/{todoWrite-5ERKFWAK.js → todoWrite-5QI2H2FW.js} +4 -4
- package/chunks/{tool-search-ZIFAQCE2.js → tool-search-6U4OQG7K.js} +21 -15
- package/chunks/{total-session-admission-FUUJH3QH.js → total-session-admission-BOARHBZU.js} +68 -60
- package/chunks/{trustedFolders-C76KYROP.js → trustedFolders-GKQZXZSV.js} +63 -55
- package/chunks/{update-relaunch-4G2SRXKX.js → update-relaunch-GLACF7PX.js} +5 -5
- package/chunks/{updateCheck-EIZIO7HI.js → updateCheck-NLBSZB4Q.js} +64 -56
- package/chunks/{useAutoAcceptIndicator-EAA6KSY4.js → useAutoAcceptIndicator-3X3BYU7H.js} +72 -64
- package/chunks/{validateNonInterActiveAuth-BRX22QCN.js → validateNonInterActiveAuth-NE3JLOIR.js} +114 -106
- package/chunks/{version-E56RU7PR.js → version-6H5YAT4N.js} +3 -1
- package/chunks/{web-fetch-AAUCD7RM.js → web-fetch-RWSO7TTN.js} +15 -13
- package/chunks/{web-search-HFUQF44Q.js → web-search-DADI3LV5.js} +560 -322
- package/chunks/{web-shell-static-POZHGGXE.js → web-shell-static-CCN4JZEE.js} +5 -4
- package/chunks/workflow-LPGCZCIT.js +1224 -0
- package/chunks/workspace-providers-status-QBRBEFTO.js +127 -0
- package/chunks/{workspace-registration-store-YL7HLYYI.js → workspace-registration-store-WUKTMJPW.js} +3 -2
- package/chunks/{workspace-registry-BNRP2ELW.js → workspace-registry-CJV7KVGF.js} +68 -60
- package/chunks/{workspace-runtime-coordinator-WKGF7VHS.js → workspace-runtime-coordinator-7LYMFMFF.js} +71 -61
- package/chunks/{workspace-service-4MYO72MM.js → workspace-service-HWXZSA4J.js} +75 -67
- package/chunks/{workspace-skills-status-SU66TJLZ.js → workspace-skills-status-D6QXUWCC.js} +70 -62
- package/chunks/{workspace-trust-reconciler-D5QT7WQB.js → workspace-trust-reconciler-VZX7G7CZ.js} +75 -67
- package/chunks/{write-file-NVPQE2AZ.js → write-file-KKHV26YV.js} +49 -43
- package/chunks/{zh-VBFCRQBL.js → zh-J2GLI64H.js} +2 -1
- package/chunks/{zh-TW-N2TBF2F2.js → zh-TW-TBAICUJQ.js} +2 -1
- package/chunks/{zoom-image-RJHC66WG.js → zoom-image-OG7X7KAA.js} +12 -10
- package/cli.js +14 -14
- 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 +3 -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 +3 -2
- package/locales/zh.js +3 -2
- package/package.json +6 -5
- package/web-shell/assets/{abnfDiagram-VCTEODGH-DHc6plZn.js → abnfDiagram-VCTEODGH-NT0lTLRG.js} +1 -1
- package/web-shell/assets/{arc-BQ9m8TDV.js → arc-DDqnIMMx.js} +1 -1
- package/web-shell/assets/{architectureDiagram-5GKGNRK7-D5ap3oVB.js → architectureDiagram-5GKGNRK7-DfYghE3W.js} +1 -1
- package/web-shell/assets/{blockDiagram-NRAW4CY4-BIbnyNph.js → blockDiagram-NRAW4CY4-DlqJIx5c.js} +1 -1
- package/web-shell/assets/{c4Diagram-UCG6FXSJ-BRsdx_iG.js → c4Diagram-UCG6FXSJ-CinqLGU4.js} +1 -1
- package/web-shell/assets/channel-BHGoSkEv.js +1 -0
- package/web-shell/assets/{chunk-2Q5K7J3B-3lf1fNlx.js → chunk-2Q5K7J3B-CsjJX5M7.js} +1 -1
- package/web-shell/assets/{chunk-5VM5RSS4-DP8VNRc4.js → chunk-5VM5RSS4-CaVb2tdH.js} +1 -1
- package/web-shell/assets/{chunk-F27PBJKO-DrohDmZ6.js → chunk-F27PBJKO-CRyErlzW.js} +1 -1
- package/web-shell/assets/{chunk-G27WJ6UU-UZ2QhSx6.js → chunk-G27WJ6UU-7I79DZCf.js} +1 -1
- package/web-shell/assets/{chunk-JWPE2WC7-BIMHVcZK.js → chunk-JWPE2WC7-Dz4cac5F.js} +1 -1
- package/web-shell/assets/{chunk-LCL6LL3I-izRxdSDd.js → chunk-LCL6LL3I-Ls24Derb.js} +1 -1
- package/web-shell/assets/{chunk-POPQ4Y6H-CXADD4PP.js → chunk-POPQ4Y6H-JzYe4qx7.js} +1 -1
- package/web-shell/assets/{chunk-SVP7TREG-B96d8Y_1.js → chunk-SVP7TREG-BxDwesA-.js} +1 -1
- package/web-shell/assets/{chunk-XXDRQBXY-CF2sVQpv.js → chunk-XXDRQBXY-CW4hjgWc.js} +1 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-E47Xnn15.js +1 -0
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-E47Xnn15.js +1 -0
- package/web-shell/assets/{cose-bilkent-JH36ORCC-CT6tXVAS.js → cose-bilkent-JH36ORCC-DxikE9iF.js} +1 -1
- package/web-shell/assets/{cynefin-OW5HDTMX-X1NS4vtV.js → cynefin-OW5HDTMX-CvVsIkVN.js} +1 -1
- package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-DNsKNOT4.js → cynefinDiagram-5FMLGOSQ-CDHkk3wq.js} +1 -1
- package/web-shell/assets/{dagre-3AP2YEHR-9-AHKqsb.js → dagre-3AP2YEHR-BgLdkVLT.js} +1 -1
- package/web-shell/assets/{diagram-S7CK7UJ4-Bjgms7j6.js → diagram-S7CK7UJ4-DP43cGhe.js} +1 -1
- package/web-shell/assets/{diagram-UQ7AKVKN-h6bCprbE.js → diagram-UQ7AKVKN-BWrZYhoT.js} +1 -1
- package/web-shell/assets/{diagram-VSXAHHWV-4SbQXVLt.js → diagram-VSXAHHWV-B80wjH_n.js} +1 -1
- package/web-shell/assets/{diagram-VX7I27RA-B5gPCzzB.js → diagram-VX7I27RA-DPpKmDsY.js} +1 -1
- package/web-shell/assets/{diagram-Z3DM3KII-DFJXIA3A.js → diagram-Z3DM3KII-kaEBNbNU.js} +1 -1
- package/web-shell/assets/{ebnfDiagram-PWID7BFC-FwyaU7VY.js → ebnfDiagram-PWID7BFC-1-qbEZvk.js} +1 -1
- package/web-shell/assets/{erDiagram-SSCWMZ5O-8vJQh2te.js → erDiagram-SSCWMZ5O-CrK2gMkV.js} +1 -1
- package/web-shell/assets/{flowDiagram-A5DVABFB-BzA_1gMN.js → flowDiagram-A5DVABFB-Dic2xofW.js} +1 -1
- package/web-shell/assets/{ganttDiagram-EL5Y4UJY-Co-ABbVX.js → ganttDiagram-EL5Y4UJY-DJko8vT7.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-DW_FcyrX.js → gitGraphDiagram-WWUBYQGX-DxsQ-bHT.js} +1 -1
- package/web-shell/assets/index-DY8CxdBr.js +2173 -0
- package/web-shell/assets/index-eBxK3rs2.css +36 -0
- package/web-shell/assets/{index-BbMXfhNG.js → index-t7VBrUeD.js} +1 -1
- package/web-shell/assets/{infoDiagram-RXCK75RN-BEgfhUFN.js → infoDiagram-RXCK75RN-DcRUJbNi.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-5VMMS53U-DCsMxQmc.js → ishikawaDiagram-5VMMS53U-CUPw-2_e.js} +1 -1
- package/web-shell/assets/{journeyDiagram-EYS64GPL-DyIEYoHz.js → journeyDiagram-EYS64GPL-yOHhZxkW.js} +1 -1
- package/web-shell/assets/{kanban-definition-3QL26DDD-CkxjqCNr.js → kanban-definition-3QL26DDD-CFUGBbqz.js} +1 -1
- package/web-shell/assets/{layout-BEWc0Al9.js → layout-BoilNfBU.js} +1 -1
- package/web-shell/assets/{linear-CNuNxirL.js → linear-DOuHaPrl.js} +1 -1
- package/web-shell/assets/{mermaid.core-DZBre674.js → mermaid.core-1G1fXWda.js} +6 -6
- package/web-shell/assets/{mindmap-definition-FBJOCRG2-CpafFz_F.js → mindmap-definition-FBJOCRG2-B8BhkrOX.js} +1 -1
- package/web-shell/assets/{pegDiagram-XKGWAZYB-DfZqk_dq.js → pegDiagram-XKGWAZYB-CipC5K1D.js} +1 -1
- package/web-shell/assets/{pieDiagram-E7YTZNPT-S0UWXlgC.js → pieDiagram-E7YTZNPT-CHBDFDUJ.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-AXDQQJYC-dd37_Ohj.js → quadrantDiagram-AXDQQJYC-_iiBkoZO.js} +1 -1
- package/web-shell/assets/{railroadDiagram-O6MQD6OU-CH8NJZ7u.js → railroadDiagram-O6MQD6OU-Cx1peHDi.js} +1 -1
- package/web-shell/assets/{requirementDiagram-EFPCY7ZU-CFdqWYih.js → requirementDiagram-EFPCY7ZU-CBRiPbdQ.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-P5KCCOFB-CsddcEGD.js → sankeyDiagram-P5KCCOFB-TT6GcHaZ.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-BZ270mGw.js → sequenceDiagram-WJ2MYXX4-CWP42PNb.js} +1 -1
- package/web-shell/assets/{sizeCapture-X5ZJPWSS-CGaS4DBV.js → sizeCapture-X5ZJPWSS-Bp94roEG.js} +1 -1
- package/web-shell/assets/{stateDiagram-HBIQ2CUA-COpIzMu6.js → stateDiagram-HBIQ2CUA-0ftrzTAy.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-PgAST0dK.js +1 -0
- package/web-shell/assets/{swimlanes-XN3QIQJK-CMF889m3.js → swimlanes-XN3QIQJK-D-FsenYJ.js} +1 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-BcWcB5bj.js +8 -0
- package/web-shell/assets/{timeline-definition-24CTP7MA-BelnxYz5.js → timeline-definition-24CTP7MA-Ctvrj28y.js} +1 -1
- package/web-shell/assets/{vennDiagram-4TSXK5OY-CU-NRqIB.js → vennDiagram-4TSXK5OY-5DZncjOt.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-VM6X3IG4-CDNKqWh-.js → wardleyDiagram-VM6X3IG4-jZjYwPY7.js} +1 -1
- package/web-shell/assets/{xychartDiagram-S5SC5T6Z-CLqguL5D.js → xychartDiagram-S5SC5T6Z-Ci6Q2C2_.js} +1 -1
- package/web-shell/index.html +29 -5
- package/chunks/chunk-V7RNNPGC.js +0 -44
- package/chunks/chunk-X35VIWWJ.js +0 -276
- package/chunks/workflow-3MABM53N.js +0 -2771
- package/chunks/workspace-providers-status-2FRLBZ5I.js +0 -119
- package/web-shell/assets/channel-uMMdTrYk.js +0 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-DcY-26Ig.js +0 -1
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-DcY-26Ig.js +0 -1
- package/web-shell/assets/index-Bu-rZoJ-.js +0 -2150
- package/web-shell/assets/index-CsPwZ1ut.css +0 -36
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-D6qEVAji.js +0 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-mem5Jj4m.js +0 -8
- /package/chunks/{chunk-JA5CBKRP.js → chunk-7NXSVSFB.js} +0 -0
|
@@ -15,41 +15,21 @@ import {
|
|
|
15
15
|
getToolInvalidReasons,
|
|
16
16
|
isToolValid,
|
|
17
17
|
normalizeModelIds,
|
|
18
|
+
pickAsciiArtTier,
|
|
19
|
+
resolveCustomBanner,
|
|
20
|
+
shortAsciiLogo,
|
|
18
21
|
useFollowupSuggestionsCLI,
|
|
22
|
+
useGitBranchName,
|
|
19
23
|
useLogger,
|
|
24
|
+
usePhraseCycler,
|
|
20
25
|
useProviderSetupFlow,
|
|
21
26
|
writeTerminalTitle
|
|
22
|
-
} from "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
27
|
+
} from "./chunk-IFHJIEMN.js";
|
|
28
|
+
import "./chunk-7XVQNDFB.js";
|
|
29
|
+
import "./chunk-AWMJRE5N.js";
|
|
25
30
|
import {
|
|
26
31
|
startPostRenderPrefetches
|
|
27
|
-
} from "./chunk-
|
|
28
|
-
import {
|
|
29
|
-
STATUS_LINE_PRESET_ITEMS,
|
|
30
|
-
SessionStatsProvider,
|
|
31
|
-
TOOL_DISPLAY_BY_NAME,
|
|
32
|
-
TOOL_SUCCESS_RATE_HIGH,
|
|
33
|
-
TOOL_SUCCESS_RATE_MEDIUM,
|
|
34
|
-
flattenModelsBySource,
|
|
35
|
-
formatTokenCount,
|
|
36
|
-
getArenaStatusLabel,
|
|
37
|
-
getStatusColor,
|
|
38
|
-
keyMatchers,
|
|
39
|
-
useSessionStats
|
|
40
|
-
} from "./chunk-VH764G6B.js";
|
|
41
|
-
import {
|
|
42
|
-
ICON,
|
|
43
|
-
applyCollapsePolicyAndSummary,
|
|
44
|
-
buildResumedHistoryItems,
|
|
45
|
-
coalesceFindingsHistoryItems,
|
|
46
|
-
isFindingsListDisplay,
|
|
47
|
-
shouldDisplayGoalStateCause,
|
|
48
|
-
waitForGoalRuntime
|
|
49
|
-
} from "./chunk-ULY4ISY2.js";
|
|
50
|
-
import {
|
|
51
|
-
stopAndGetCapturedInput
|
|
52
|
-
} from "./chunk-EWNKP4V4.js";
|
|
32
|
+
} from "./chunk-VTBPMLRO.js";
|
|
53
33
|
import {
|
|
54
34
|
fireSessionDeleteHook
|
|
55
35
|
} from "./chunk-L34XSHIZ.js";
|
|
@@ -57,7 +37,7 @@ import {
|
|
|
57
37
|
MAX_SUGGESTIONS_TO_SHOW,
|
|
58
38
|
handleAtCommand,
|
|
59
39
|
sanitizeDisplayText
|
|
60
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-72BGC7RT.js";
|
|
61
41
|
import {
|
|
62
42
|
BuiltinCommandLoader,
|
|
63
43
|
BundledSkillLoader,
|
|
@@ -72,6 +52,7 @@ import {
|
|
|
72
52
|
applyOutputStyleSelection,
|
|
73
53
|
buildBackgroundWorkBlockedMessage,
|
|
74
54
|
findMidInputSlashCommand,
|
|
55
|
+
formatApprovalModeName,
|
|
75
56
|
formatUserPromptExpansionBlockedMessage,
|
|
76
57
|
hasBlockingBackgroundWork,
|
|
77
58
|
hasSlashCommandPathSeparator,
|
|
@@ -89,18 +70,33 @@ import {
|
|
|
89
70
|
refreshExtensionContentRuntime,
|
|
90
71
|
resetBackgroundStateForSessionSwitch,
|
|
91
72
|
serializeUserPromptExpansionPrompt
|
|
92
|
-
} from "./chunk-
|
|
73
|
+
} from "./chunk-VID4BW52.js";
|
|
93
74
|
import {
|
|
94
75
|
EXTENSION_RELOAD_FAILED_REASON,
|
|
95
76
|
ExtensionRefreshState
|
|
96
|
-
} from "./chunk-
|
|
77
|
+
} from "./chunk-BHR6IN2X.js";
|
|
78
|
+
import "./chunk-NYX53SV4.js";
|
|
79
|
+
import "./chunk-VLZOU6UH.js";
|
|
80
|
+
import {
|
|
81
|
+
STATUS_LINE_PRESET_ITEMS,
|
|
82
|
+
SessionStatsProvider,
|
|
83
|
+
TOOL_DISPLAY_BY_NAME,
|
|
84
|
+
TOOL_SUCCESS_RATE_HIGH,
|
|
85
|
+
TOOL_SUCCESS_RATE_MEDIUM,
|
|
86
|
+
flattenModelsBySource,
|
|
87
|
+
formatTokenCount,
|
|
88
|
+
getArenaStatusLabel,
|
|
89
|
+
getStatusColor,
|
|
90
|
+
keyMatchers,
|
|
91
|
+
useSessionStats
|
|
92
|
+
} from "./chunk-TWC3FHUI.js";
|
|
97
93
|
import {
|
|
98
94
|
formatSupportedModes,
|
|
99
95
|
getCommandDisplayName,
|
|
100
96
|
getCommandSourceBadge,
|
|
101
97
|
getCommandSourceGroup,
|
|
102
98
|
getCommandSubcommandNames
|
|
103
|
-
} from "./chunk-
|
|
99
|
+
} from "./chunk-KZ2CU2LH.js";
|
|
104
100
|
import {
|
|
105
101
|
calculateCost,
|
|
106
102
|
computeSessionStats,
|
|
@@ -108,27 +104,34 @@ import {
|
|
|
108
104
|
getSystemInfoFields,
|
|
109
105
|
levelLabel,
|
|
110
106
|
redactProxy
|
|
111
|
-
} from "./chunk-
|
|
112
|
-
import {
|
|
113
|
-
formatDuration
|
|
114
|
-
} from "./chunk-3SH53ANB.js";
|
|
115
|
-
import "./chunk-NYX53SV4.js";
|
|
107
|
+
} from "./chunk-3VPFA6L2.js";
|
|
116
108
|
import {
|
|
117
109
|
CTRL_EXIT_PROMPT_DURATION_MS,
|
|
118
110
|
cleanupOldClipboardImages,
|
|
119
111
|
clipboardHasImage,
|
|
120
112
|
saveClipboardImage
|
|
121
|
-
} from "./chunk-
|
|
122
|
-
import "./chunk-7L35FKPF.js";
|
|
113
|
+
} from "./chunk-CUK6F5UF.js";
|
|
123
114
|
import "./chunk-4WGODMVR.js";
|
|
115
|
+
import {
|
|
116
|
+
ICON,
|
|
117
|
+
SPINNER_FRAMES,
|
|
118
|
+
SPINNER_INTERVAL_MS,
|
|
119
|
+
applyCollapsePolicyAndSummary,
|
|
120
|
+
buildResumedHistoryItems,
|
|
121
|
+
coalesceFindingsHistoryItems,
|
|
122
|
+
isFindingsListDisplay,
|
|
123
|
+
shouldDisplayGoalStateCause,
|
|
124
|
+
waitForGoalRuntime
|
|
125
|
+
} from "./chunk-PMS4FVLY.js";
|
|
126
|
+
import {
|
|
127
|
+
contextUsageLabel,
|
|
128
|
+
formatDuration,
|
|
129
|
+
formatPercentageUsed
|
|
130
|
+
} from "./chunk-LAP7X6EC.js";
|
|
124
131
|
import "./chunk-4LIPOIXS.js";
|
|
125
132
|
import {
|
|
126
133
|
require_jsx_runtime
|
|
127
134
|
} from "./chunk-SV5PQVQE.js";
|
|
128
|
-
import {
|
|
129
|
-
AUTO_THEME_NAME,
|
|
130
|
-
themeManager
|
|
131
|
-
} from "./chunk-2XRE4KE4.js";
|
|
132
135
|
import {
|
|
133
136
|
require_constants,
|
|
134
137
|
require_react_reconciler
|
|
@@ -136,92 +139,98 @@ import {
|
|
|
136
139
|
import {
|
|
137
140
|
require_react
|
|
138
141
|
} from "./chunk-5QWWOFGG.js";
|
|
139
|
-
import "./chunk-W673V2H3.js";
|
|
140
142
|
import {
|
|
141
|
-
|
|
142
|
-
} from "./chunk-
|
|
143
|
-
import "./chunk-
|
|
144
|
-
import "./chunk-XQ4RDO5B.js";
|
|
143
|
+
stopAndGetCapturedInput
|
|
144
|
+
} from "./chunk-EWNKP4V4.js";
|
|
145
|
+
import "./chunk-WBCPROWX.js";
|
|
145
146
|
import {
|
|
146
147
|
setUpdateHandler
|
|
147
|
-
} from "./chunk-
|
|
148
|
+
} from "./chunk-J5PYQVD2.js";
|
|
148
149
|
import "./chunk-EKTCKZV5.js";
|
|
149
|
-
import "./chunk-
|
|
150
|
+
import "./chunk-SAWPURIU.js";
|
|
151
|
+
import {
|
|
152
|
+
AUTO_THEME_NAME,
|
|
153
|
+
themeManager
|
|
154
|
+
} from "./chunk-2XRE4KE4.js";
|
|
155
|
+
import "./chunk-KFGPNCCY.js";
|
|
156
|
+
import "./chunk-6H67XLET.js";
|
|
157
|
+
import "./chunk-LY2GK2PR.js";
|
|
158
|
+
import {
|
|
159
|
+
getErrorMessage as getErrorMessage2
|
|
160
|
+
} from "./chunk-UGS62IR2.js";
|
|
161
|
+
import "./chunk-7XM6KEVW.js";
|
|
150
162
|
import "./chunk-YAF2MQZ6.js";
|
|
151
163
|
import "./chunk-24FVUD5P.js";
|
|
152
|
-
import "./chunk-
|
|
153
|
-
import "./chunk-6H67XLET.js";
|
|
154
|
-
import "./chunk-UULHYZ4W.js";
|
|
164
|
+
import "./chunk-HL2DQG3Y.js";
|
|
155
165
|
import "./chunk-M3JGHRMQ.js";
|
|
156
166
|
import "./chunk-VFFQAOPR.js";
|
|
157
|
-
import "./chunk-ERXNTINK.js";
|
|
158
167
|
import {
|
|
159
168
|
cpLen,
|
|
160
169
|
escapeAnsiCtrlCodes,
|
|
170
|
+
getAsciiArtWidth,
|
|
161
171
|
getCachedStringWidth,
|
|
162
172
|
sanitizeMultilineForDisplay,
|
|
163
173
|
sanitizeSensitiveText,
|
|
164
174
|
sanitizeTerminalText,
|
|
165
|
-
toCodePoints
|
|
175
|
+
toCodePoints,
|
|
176
|
+
truncateToWidth
|
|
166
177
|
} from "./chunk-47ECGEJC.js";
|
|
178
|
+
import "./chunk-ZT6EPPBY.js";
|
|
167
179
|
import "./chunk-2MIN6GRR.js";
|
|
168
180
|
import "./chunk-QHTIBUWB.js";
|
|
169
181
|
import "./chunk-TXASDT2M.js";
|
|
182
|
+
import "./chunk-4VQBQLIZ.js";
|
|
170
183
|
import "./chunk-PB7JBAHF.js";
|
|
171
184
|
import "./chunk-UXEO7E3V.js";
|
|
172
|
-
import "./chunk-4VQBQLIZ.js";
|
|
173
|
-
import "./chunk-DMEUXLSS.js";
|
|
174
185
|
import {
|
|
175
186
|
isValidSessionId
|
|
176
187
|
} from "./chunk-ZEZKIS2K.js";
|
|
177
188
|
import {
|
|
178
189
|
formatUnsupportedVoiceModelMessage,
|
|
179
190
|
isSelectableVoiceModel
|
|
180
|
-
} from "./chunk-
|
|
191
|
+
} from "./chunk-Q2XLNLAV.js";
|
|
181
192
|
import "./chunk-Y53DG2HA.js";
|
|
193
|
+
import "./chunk-FCQJLMA2.js";
|
|
194
|
+
import "./chunk-DMEUXLSS.js";
|
|
195
|
+
import {
|
|
196
|
+
createLoadedSettingsAdapter
|
|
197
|
+
} from "./chunk-BQOP3K76.js";
|
|
182
198
|
import {
|
|
183
199
|
getExtendedSystemInfo
|
|
184
|
-
} from "./chunk-
|
|
185
|
-
import "./chunk-
|
|
200
|
+
} from "./chunk-6EOMQPTS.js";
|
|
201
|
+
import "./chunk-BTWGOKHU.js";
|
|
186
202
|
import "./chunk-7U5G6JXI.js";
|
|
187
203
|
import "./chunk-WCCLLK7X.js";
|
|
188
204
|
import {
|
|
189
205
|
getReasoningEffortsForConfig
|
|
190
|
-
} from "./chunk-
|
|
191
|
-
import "./chunk-
|
|
206
|
+
} from "./chunk-6EDWSKN4.js";
|
|
207
|
+
import "./chunk-VHKOULAI.js";
|
|
192
208
|
import "./chunk-HWVUSYSN.js";
|
|
193
|
-
import "./chunk-
|
|
194
|
-
import "./chunk-
|
|
195
|
-
import "./chunk-ORREXWOM.js";
|
|
209
|
+
import "./chunk-FGRDUDCI.js";
|
|
210
|
+
import "./chunk-5ZJ3KK5J.js";
|
|
196
211
|
import "./chunk-57OAHC2Y.js";
|
|
197
|
-
import "./chunk-
|
|
198
|
-
import "./chunk-
|
|
199
|
-
import "./chunk-
|
|
212
|
+
import "./chunk-FYZ5NZ3V.js";
|
|
213
|
+
import "./chunk-JOMCZWX7.js";
|
|
214
|
+
import "./chunk-CSHX5ZC4.js";
|
|
200
215
|
import "./chunk-V6WHFGST.js";
|
|
201
|
-
import
|
|
202
|
-
createLoadedSettingsAdapter
|
|
203
|
-
} from "./chunk-NVS4Z6GT.js";
|
|
204
|
-
import "./chunk-45ROPFQY.js";
|
|
205
|
-
import "./chunk-2AUM35J5.js";
|
|
206
|
-
import "./chunk-N6VQ37ZZ.js";
|
|
207
|
-
import "./chunk-PSPAM24S.js";
|
|
208
|
-
import "./chunk-6PLDPT2C.js";
|
|
216
|
+
import "./chunk-YKK2XXHF.js";
|
|
209
217
|
import "./chunk-FYJ7W2PI.js";
|
|
210
218
|
import "./chunk-STUJ7IMZ.js";
|
|
211
|
-
import "./chunk-
|
|
219
|
+
import "./chunk-LEGNDA46.js";
|
|
220
|
+
import "./chunk-GDWE23OR.js";
|
|
212
221
|
import "./chunk-GYTKQYDB.js";
|
|
213
|
-
import "./chunk-ALMR3E6Q.js";
|
|
214
222
|
import "./chunk-RKFGE7JH.js";
|
|
223
|
+
import "./chunk-CJ3DHN5I.js";
|
|
215
224
|
import "./chunk-UDG5EZJI.js";
|
|
216
225
|
import "./chunk-M5GB774H.js";
|
|
217
226
|
import "./chunk-3VUENPWF.js";
|
|
218
|
-
import "./chunk-
|
|
219
|
-
import "./chunk-
|
|
220
|
-
import "./chunk-
|
|
221
|
-
import "./chunk-
|
|
227
|
+
import "./chunk-NFXXBWSE.js";
|
|
228
|
+
import "./chunk-6NONRGYX.js";
|
|
229
|
+
import "./chunk-C4NLHK7X.js";
|
|
230
|
+
import "./chunk-IJOS26LH.js";
|
|
222
231
|
import {
|
|
223
232
|
loadMcpApprovals
|
|
224
|
-
} from "./chunk-
|
|
233
|
+
} from "./chunk-GP47UR3M.js";
|
|
225
234
|
import {
|
|
226
235
|
getDefaultValue,
|
|
227
236
|
getDialogSettingKeys,
|
|
@@ -233,66 +242,72 @@ import {
|
|
|
233
242
|
getSettingDefinition,
|
|
234
243
|
isAutoLanguage,
|
|
235
244
|
isDefaultValue,
|
|
245
|
+
nextBooleanSettingValue,
|
|
236
246
|
requiresRestart,
|
|
237
247
|
saveModifiedSettings,
|
|
238
248
|
setPendingSettingValueAny,
|
|
239
249
|
validateSettingValue
|
|
240
|
-
} from "./chunk-
|
|
250
|
+
} from "./chunk-OOLSYRZ7.js";
|
|
251
|
+
import "./chunk-RKUWKYED.js";
|
|
241
252
|
import {
|
|
242
253
|
TOGGLE_TYPES
|
|
243
|
-
} from "./chunk-
|
|
244
|
-
import "./chunk-
|
|
254
|
+
} from "./chunk-IOUBOANU.js";
|
|
255
|
+
import "./chunk-YIU5PEAT.js";
|
|
256
|
+
import "./chunk-2AUM35J5.js";
|
|
257
|
+
import "./chunk-N6VQ37ZZ.js";
|
|
245
258
|
import "./chunk-BW4333PP.js";
|
|
259
|
+
import "./chunk-VX63RJXE.js";
|
|
260
|
+
import "./chunk-6PLDPT2C.js";
|
|
246
261
|
import "./chunk-IDS7MSUP.js";
|
|
247
262
|
import {
|
|
248
263
|
t
|
|
249
|
-
} from "./chunk-
|
|
264
|
+
} from "./chunk-74JEYK2C.js";
|
|
250
265
|
import "./chunk-5EJZE3FP.js";
|
|
251
|
-
import "./chunk-
|
|
252
|
-
import "./chunk-QTNCGZHQ.js";
|
|
266
|
+
import "./chunk-XFSFZCM5.js";
|
|
253
267
|
import "./chunk-2EAZ43JQ.js";
|
|
254
268
|
import "./chunk-NF5J2WFA.js";
|
|
255
269
|
import {
|
|
270
|
+
formatVersionLabel,
|
|
256
271
|
getCliVersion
|
|
257
|
-
} from "./chunk-
|
|
272
|
+
} from "./chunk-ONGZNOIP.js";
|
|
258
273
|
import "./chunk-W3N5XAZ6.js";
|
|
259
|
-
import "./chunk-
|
|
274
|
+
import "./chunk-KHIBLKNK.js";
|
|
260
275
|
import "./chunk-NPQ5ZKRP.js";
|
|
261
276
|
import "./chunk-MR3PXB6E.js";
|
|
262
277
|
import {
|
|
263
|
-
ALIBABA_PROVIDERS,
|
|
264
278
|
FileSearchFactory,
|
|
265
279
|
Fzf,
|
|
266
|
-
THIRD_PARTY_PROVIDERS,
|
|
267
280
|
applyProviderInstallPlan,
|
|
268
|
-
buildInstallPlan,
|
|
269
281
|
buildSessionRecoveryPlan,
|
|
282
|
+
generatePromptSuggestion
|
|
283
|
+
} from "./chunk-F2RKL5I2.js";
|
|
284
|
+
import "./chunk-GELRJXE2.js";
|
|
285
|
+
import "./chunk-32CM56LO.js";
|
|
286
|
+
import {
|
|
287
|
+
ALIBABA_PROVIDERS,
|
|
288
|
+
THIRD_PARTY_PROVIDERS,
|
|
289
|
+
buildInstallPlan,
|
|
270
290
|
customProvider,
|
|
271
291
|
findExistingProviderModels,
|
|
272
292
|
findProviderByCredentials,
|
|
273
293
|
findProviderById,
|
|
274
|
-
generatePromptSuggestion,
|
|
275
294
|
getDefaultModelIds,
|
|
276
295
|
resolveMetadataKey
|
|
277
|
-
} from "./chunk-
|
|
278
|
-
import "./chunk-
|
|
279
|
-
import "./chunk-32CM56LO.js";
|
|
280
|
-
import "./chunk-G5QLLD53.js";
|
|
281
|
-
import "./chunk-XFSFZCM5.js";
|
|
282
|
-
import "./chunk-2EKVPSIJ.js";
|
|
296
|
+
} from "./chunk-AEY27Z35.js";
|
|
297
|
+
import "./chunk-Y2MYW47X.js";
|
|
283
298
|
import "./chunk-LJZSMWOH.js";
|
|
284
|
-
import "./chunk-
|
|
285
|
-
import "./chunk-
|
|
299
|
+
import "./chunk-TP2DUOB6.js";
|
|
300
|
+
import "./chunk-NUQVB25K.js";
|
|
301
|
+
import "./chunk-ZKZHSB5W.js";
|
|
302
|
+
import "./chunk-L2KF7HUE.js";
|
|
286
303
|
import "./chunk-DJXSOEFB.js";
|
|
287
|
-
import "./chunk-
|
|
288
|
-
import "./chunk-
|
|
289
|
-
import "./chunk-OWCFKIFQ.js";
|
|
290
|
-
import "./chunk-ZPJWUGCS.js";
|
|
291
|
-
import "./chunk-5Z4FCEPY.js";
|
|
304
|
+
import "./chunk-ZKYR7QS4.js";
|
|
305
|
+
import "./chunk-532WHF4F.js";
|
|
292
306
|
import "./chunk-BUQN5LTI.js";
|
|
293
|
-
import "./chunk-
|
|
294
|
-
import "./chunk-
|
|
295
|
-
import "./chunk-
|
|
307
|
+
import "./chunk-ZPJWUGCS.js";
|
|
308
|
+
import "./chunk-LK2WUCDQ.js";
|
|
309
|
+
import "./chunk-5FKZ7KFQ.js";
|
|
310
|
+
import "./chunk-FRVV5SSD.js";
|
|
296
311
|
import {
|
|
297
312
|
CoreToolScheduler,
|
|
298
313
|
DISPLAY_MODE,
|
|
@@ -322,67 +337,75 @@ import {
|
|
|
322
337
|
parseRule,
|
|
323
338
|
parseVisionModelSetting,
|
|
324
339
|
refreshMemoryInstruction
|
|
325
|
-
} from "./chunk-
|
|
340
|
+
} from "./chunk-JV5YASQA.js";
|
|
326
341
|
import "./chunk-GOFAQQZA.js";
|
|
327
|
-
import "./chunk-65I7S4Z3.js";
|
|
328
|
-
import "./chunk-6HUXPLB5.js";
|
|
329
342
|
import "./chunk-TWPJO254.js";
|
|
330
343
|
import "./chunk-CQ35AJ4Z.js";
|
|
331
|
-
import "./chunk-
|
|
332
|
-
import "./chunk-
|
|
333
|
-
import "./chunk-
|
|
334
|
-
import
|
|
335
|
-
writeRuntimeStatus
|
|
336
|
-
} from "./chunk-HIXUUCGY.js";
|
|
337
|
-
import "./chunk-6PVPNMXU.js";
|
|
344
|
+
import "./chunk-65I7S4Z3.js";
|
|
345
|
+
import "./chunk-6HUXPLB5.js";
|
|
346
|
+
import "./chunk-7CLLH5TI.js";
|
|
347
|
+
import "./chunk-XKBFYTCD.js";
|
|
338
348
|
import {
|
|
339
349
|
resolveModelId
|
|
340
|
-
} from "./chunk-
|
|
341
|
-
import "./chunk-
|
|
350
|
+
} from "./chunk-ZTTC7T4X.js";
|
|
351
|
+
import "./chunk-E4UEO3XM.js";
|
|
352
|
+
import "./chunk-IAEXTMED.js";
|
|
342
353
|
import "./chunk-IRH27ZC2.js";
|
|
343
354
|
import "./chunk-QHWCP53L.js";
|
|
344
355
|
import "./chunk-F53KKZUD.js";
|
|
356
|
+
import "./chunk-O6GEWCJA.js";
|
|
357
|
+
import {
|
|
358
|
+
writeRuntimeStatus
|
|
359
|
+
} from "./chunk-36HCNKDS.js";
|
|
360
|
+
import "./chunk-6PVPNMXU.js";
|
|
361
|
+
import "./chunk-2SZH22YO.js";
|
|
345
362
|
import {
|
|
346
363
|
resolveBundleDir
|
|
347
|
-
} from "./chunk-
|
|
364
|
+
} from "./chunk-DTNV6UZY.js";
|
|
348
365
|
import "./chunk-QJNDUTOL.js";
|
|
349
|
-
import "./chunk-
|
|
350
|
-
import "./chunk-
|
|
366
|
+
import "./chunk-JXNIF2O5.js";
|
|
367
|
+
import "./chunk-CGKEUUYG.js";
|
|
368
|
+
import "./chunk-ELRMZTPF.js";
|
|
351
369
|
import {
|
|
352
370
|
formatMemoryUsage
|
|
353
371
|
} from "./chunk-CHEIIBT3.js";
|
|
354
|
-
import "./chunk-
|
|
372
|
+
import "./chunk-PLLIWEM3.js";
|
|
355
373
|
import {
|
|
356
374
|
registerSession
|
|
357
|
-
} from "./chunk-
|
|
358
|
-
import "./chunk-
|
|
375
|
+
} from "./chunk-5GLDOLNQ.js";
|
|
376
|
+
import "./chunk-CH2YDT6X.js";
|
|
359
377
|
import {
|
|
360
378
|
APPROVAL_MODES
|
|
361
379
|
} from "./chunk-JX6XHPTX.js";
|
|
362
|
-
import "./chunk-CLKE4IY3.js";
|
|
363
380
|
import "./chunk-ZSTCM3MX.js";
|
|
364
|
-
import "./chunk-SOA4HKRJ.js";
|
|
365
381
|
import "./chunk-MLXTMF7H.js";
|
|
366
|
-
import "./chunk-
|
|
382
|
+
import "./chunk-LILGKQ4B.js";
|
|
367
383
|
import "./chunk-3CZ2BQV6.js";
|
|
368
|
-
import "./chunk-
|
|
369
|
-
import "./chunk-
|
|
370
|
-
import "./chunk-
|
|
384
|
+
import "./chunk-SAH4BD2J.js";
|
|
385
|
+
import "./chunk-CAAMI77K.js";
|
|
386
|
+
import "./chunk-U7O65WKL.js";
|
|
371
387
|
import "./chunk-S6LOFUVP.js";
|
|
388
|
+
import "./chunk-FN3JNDRU.js";
|
|
389
|
+
import "./chunk-EUURTIV6.js";
|
|
390
|
+
import "./chunk-G6UUOCUT.js";
|
|
391
|
+
import {
|
|
392
|
+
isPathWithinRoot
|
|
393
|
+
} from "./chunk-IZ2U57NY.js";
|
|
394
|
+
import "./chunk-NUQ4GK5I.js";
|
|
395
|
+
import "./chunk-K2OJUPOE.js";
|
|
396
|
+
import "./chunk-B6BDT4RX.js";
|
|
372
397
|
import "./chunk-NAVJD2PQ.js";
|
|
373
|
-
import "./chunk-
|
|
374
|
-
import "./chunk-
|
|
398
|
+
import "./chunk-ZGQIIGNQ.js";
|
|
399
|
+
import "./chunk-ZHECLGA6.js";
|
|
375
400
|
import "./chunk-QHMLYMMS.js";
|
|
401
|
+
import "./chunk-VNOVK4I7.js";
|
|
376
402
|
import "./chunk-CFKIH3D3.js";
|
|
377
|
-
import
|
|
378
|
-
REASONING_EFFORT_TIERS,
|
|
379
|
-
applyReasoningEffort
|
|
380
|
-
} from "./chunk-6YEOCHSE.js";
|
|
403
|
+
import "./chunk-JL6APGBX.js";
|
|
381
404
|
import "./chunk-DJ2GSRLV.js";
|
|
382
|
-
import "./chunk-
|
|
383
|
-
import "./chunk-
|
|
405
|
+
import "./chunk-L3DTX6U4.js";
|
|
406
|
+
import "./chunk-C75BXMPM.js";
|
|
384
407
|
import "./chunk-KFFCDLKV.js";
|
|
385
|
-
import "./chunk-
|
|
408
|
+
import "./chunk-ZW2EUO2A.js";
|
|
386
409
|
import {
|
|
387
410
|
AuthEvent,
|
|
388
411
|
ModelSlashCommandEvent,
|
|
@@ -406,53 +429,55 @@ import {
|
|
|
406
429
|
shouldRunVisionBridge,
|
|
407
430
|
splitImageParts,
|
|
408
431
|
uiTelemetryService
|
|
409
|
-
} from "./chunk-
|
|
432
|
+
} from "./chunk-34ZYDM3F.js";
|
|
410
433
|
import "./chunk-5ETULJLP.js";
|
|
411
|
-
import "./chunk-
|
|
434
|
+
import "./chunk-ZHKTKHMO.js";
|
|
412
435
|
import "./chunk-VGC4I5JJ.js";
|
|
436
|
+
import "./chunk-EDIDYZBT.js";
|
|
437
|
+
import "./chunk-HD7O6WLV.js";
|
|
413
438
|
import {
|
|
414
439
|
getAllGeminiMdFilenames,
|
|
415
440
|
getUnsupportedImageFormatWarning,
|
|
416
441
|
isSupportedImageMimeType
|
|
417
442
|
} from "./chunk-J6MB5ZHZ.js";
|
|
418
|
-
import "./chunk-EDIDYZBT.js";
|
|
419
|
-
import "./chunk-HD7O6WLV.js";
|
|
420
443
|
import "./chunk-WZAD4ZNJ.js";
|
|
444
|
+
import {
|
|
445
|
+
REASONING_EFFORT_TIERS,
|
|
446
|
+
applyReasoningEffort
|
|
447
|
+
} from "./chunk-3FPYT6QC.js";
|
|
421
448
|
import "./chunk-FPGTNKCP.js";
|
|
422
449
|
import "./chunk-TIGXX4PA.js";
|
|
423
|
-
import "./chunk-
|
|
450
|
+
import "./chunk-RJZTX2OF.js";
|
|
424
451
|
import "./chunk-XFFRI3WM.js";
|
|
425
|
-
import "./chunk-
|
|
452
|
+
import "./chunk-ERU3SDXT.js";
|
|
453
|
+
import "./chunk-EWJTAP3Y.js";
|
|
426
454
|
import "./chunk-HHJLM3WQ.js";
|
|
427
455
|
import {
|
|
428
456
|
isBinary,
|
|
429
457
|
redactUrlCredentials
|
|
430
|
-
} from "./chunk-
|
|
458
|
+
} from "./chunk-W5ZQMAEM.js";
|
|
431
459
|
import "./chunk-74TONY4F.js";
|
|
432
|
-
import "./chunk-
|
|
433
|
-
import "./chunk-4VY3ITHR.js";
|
|
434
|
-
import "./chunk-O2FEO2CB.js";
|
|
435
|
-
import "./chunk-G6UUOCUT.js";
|
|
436
|
-
import {
|
|
437
|
-
isPathWithinRoot
|
|
438
|
-
} from "./chunk-IZ2U57NY.js";
|
|
460
|
+
import "./chunk-HUXPEUFL.js";
|
|
439
461
|
import {
|
|
440
462
|
ToolNames,
|
|
441
463
|
isShellProgressData
|
|
442
|
-
} from "./chunk-
|
|
464
|
+
} from "./chunk-TP6FYVQT.js";
|
|
443
465
|
import {
|
|
444
466
|
Storage,
|
|
445
467
|
createDebugLogger,
|
|
446
468
|
escapePath,
|
|
447
469
|
getErrorMessage,
|
|
448
|
-
isDebugLogFileEnabled
|
|
470
|
+
isDebugLogFileEnabled,
|
|
471
|
+
shortenPath,
|
|
472
|
+
tildeifyPath
|
|
449
473
|
} from "./chunk-ZAFYHRVY.js";
|
|
450
|
-
import "./chunk-
|
|
451
|
-
import "./chunk-
|
|
474
|
+
import "./chunk-TBWQLLFO.js";
|
|
475
|
+
import "./chunk-DMX7RF6E.js";
|
|
476
|
+
import "./chunk-TPKQIA7G.js";
|
|
452
477
|
import {
|
|
453
478
|
registerCleanup,
|
|
454
479
|
runExitCleanup
|
|
455
|
-
} from "./chunk-
|
|
480
|
+
} from "./chunk-JDEW3V5B.js";
|
|
456
481
|
import {
|
|
457
482
|
profileCheckpoint
|
|
458
483
|
} from "./chunk-QILD6R27.js";
|
|
@@ -461,6 +486,7 @@ import {
|
|
|
461
486
|
writeStderrLine,
|
|
462
487
|
writeStdoutLine
|
|
463
488
|
} from "./chunk-7FA2II6K.js";
|
|
489
|
+
import "./chunk-UKMWZ5NS.js";
|
|
464
490
|
import "./chunk-75DOP5OR.js";
|
|
465
491
|
import "./chunk-DMTGGOSA.js";
|
|
466
492
|
import "./chunk-YQ3U5MUC.js";
|
|
@@ -468,7 +494,6 @@ import "./chunk-EFT7OMDN.js";
|
|
|
468
494
|
import "./chunk-MATEIJZF.js";
|
|
469
495
|
import "./chunk-J5TTWBZK.js";
|
|
470
496
|
import "./chunk-RVIGZBIT.js";
|
|
471
|
-
import "./chunk-TBWQLLFO.js";
|
|
472
497
|
import {
|
|
473
498
|
init_esbuild_shims
|
|
474
499
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -504,7 +529,7 @@ var require_jsx_dev_runtime = __commonJS({
|
|
|
504
529
|
|
|
505
530
|
// packages/cli/src/ui/opentui/start-opentui-ui.tsx
|
|
506
531
|
init_esbuild_shims();
|
|
507
|
-
var
|
|
532
|
+
var import_react59 = __toESM(require_react(), 1);
|
|
508
533
|
import { stat as stat2 } from "node:fs/promises";
|
|
509
534
|
import { basename as basename3 } from "node:path";
|
|
510
535
|
|
|
@@ -8533,12 +8558,12 @@ function resolveWorkerImportSpecifier(specifier) {
|
|
|
8533
8558
|
if (isRuntimeSpecifier(specifier)) {
|
|
8534
8559
|
return specifier;
|
|
8535
8560
|
}
|
|
8536
|
-
const
|
|
8561
|
+
const nodePath3 = getBuiltinModule("node:path");
|
|
8537
8562
|
const nodeUrl = getBuiltinModule("node:url");
|
|
8538
|
-
if (!
|
|
8563
|
+
if (!nodePath3 || !nodeUrl) {
|
|
8539
8564
|
throw new Error(WORKER_UNAVAILABLE);
|
|
8540
8565
|
}
|
|
8541
|
-
const absolutePath =
|
|
8566
|
+
const absolutePath = nodePath3.isAbsolute(specifier) ? specifier : nodePath3.resolve(specifier);
|
|
8542
8567
|
return nodeUrl.pathToFileURL(absolutePath).href;
|
|
8543
8568
|
}
|
|
8544
8569
|
__name(resolveWorkerImportSpecifier, "resolveWorkerImportSpecifier");
|
|
@@ -41024,7 +41049,7 @@ __name(useUpdateNoticeFlush, "useUpdateNoticeFlush");
|
|
|
41024
41049
|
|
|
41025
41050
|
// packages/cli/src/ui/opentui/opentui-app-shell.tsx
|
|
41026
41051
|
init_esbuild_shims();
|
|
41027
|
-
var
|
|
41052
|
+
var import_react54 = __toESM(require_react(), 1);
|
|
41028
41053
|
|
|
41029
41054
|
// packages/cli/src/ui/opentui/opentui-host.ts
|
|
41030
41055
|
init_esbuild_shims();
|
|
@@ -41097,6 +41122,9 @@ function renderResultDisplay(display) {
|
|
|
41097
41122
|
if (Array.isArray(o["ansiOutput"])) {
|
|
41098
41123
|
return o["ansiOutput"].map((line) => line.map((t3) => t3.text ?? "").join("")).join("\n");
|
|
41099
41124
|
}
|
|
41125
|
+
if (o["type"] === "ask_user_question_answers" && typeof o["text"] === "string") {
|
|
41126
|
+
return o["text"];
|
|
41127
|
+
}
|
|
41100
41128
|
if (o["type"] === "plan_summary") {
|
|
41101
41129
|
const message = typeof o["message"] === "string" ? o["message"] : "";
|
|
41102
41130
|
const plan = typeof o["plan"] === "string" ? o["plan"] : "";
|
|
@@ -41393,6 +41421,11 @@ function createEventMapper(context) {
|
|
|
41393
41421
|
out.push({ type: "stop-hook-message", message: ev.value });
|
|
41394
41422
|
break;
|
|
41395
41423
|
}
|
|
41424
|
+
case "goal_settlement_failed": {
|
|
41425
|
+
closeThought();
|
|
41426
|
+
out.push({ type: "warning", text: ev.value });
|
|
41427
|
+
break;
|
|
41428
|
+
}
|
|
41396
41429
|
case "user_prompt_submit_blocked": {
|
|
41397
41430
|
closeThought();
|
|
41398
41431
|
const v3 = ev.value;
|
|
@@ -47184,7 +47217,7 @@ __name(filterSettingsItems, "filterSettingsItems");
|
|
|
47184
47217
|
function nextToggleValue(definition, currentValue) {
|
|
47185
47218
|
if (!definition || !TOGGLE_TYPES.has(definition.type)) return void 0;
|
|
47186
47219
|
if (definition.type === "boolean") {
|
|
47187
|
-
return
|
|
47220
|
+
return nextBooleanSettingValue(currentValue, definition.default);
|
|
47188
47221
|
}
|
|
47189
47222
|
if (definition.type === "enum" && definition.options) {
|
|
47190
47223
|
const options = definition.options;
|
|
@@ -50492,6 +50525,12 @@ var PROTOCOL_ITEMS = [
|
|
|
50492
50525
|
description: t("Standard OpenAI API format (most common)"),
|
|
50493
50526
|
value: "openai" /* USE_OPENAI */
|
|
50494
50527
|
},
|
|
50528
|
+
{
|
|
50529
|
+
key: "openai-responses" /* USE_OPENAI_RESPONSES */,
|
|
50530
|
+
label: t("OpenAI Responses"),
|
|
50531
|
+
description: t("OpenAI Responses API \u2014 streaming reasoning + tool use"),
|
|
50532
|
+
value: "openai-responses" /* USE_OPENAI_RESPONSES */
|
|
50533
|
+
},
|
|
50495
50534
|
{
|
|
50496
50535
|
key: "anthropic" /* USE_ANTHROPIC */,
|
|
50497
50536
|
label: t("Anthropic-compatible"),
|
|
@@ -53464,9 +53503,212 @@ ${current}` : popped);
|
|
|
53464
53503
|
}
|
|
53465
53504
|
__name(OpenTuiInputPrompt, "OpenTuiInputPrompt");
|
|
53466
53505
|
|
|
53467
|
-
// packages/cli/src/ui/opentui/
|
|
53506
|
+
// packages/cli/src/ui/opentui/opentui-header.tsx
|
|
53468
53507
|
init_esbuild_shims();
|
|
53469
53508
|
var import_react48 = __toESM(require_react(), 1);
|
|
53509
|
+
var LOGO_GRADIENT = ["#4796E4", "#847ACE", "#C3677F"];
|
|
53510
|
+
function lerpHex(a, b3, t3) {
|
|
53511
|
+
const pa = [1, 3, 5].map((i) => parseInt(a.slice(i, i + 2), 16));
|
|
53512
|
+
const pb = [1, 3, 5].map((i) => parseInt(b3.slice(i, i + 2), 16));
|
|
53513
|
+
return "#" + pa.map(
|
|
53514
|
+
(v3, i) => Math.round(v3 + (pb[i] - v3) * t3).toString(16).padStart(2, "0")
|
|
53515
|
+
).join("");
|
|
53516
|
+
}
|
|
53517
|
+
__name(lerpHex, "lerpHex");
|
|
53518
|
+
function gradientAt(stops, t3) {
|
|
53519
|
+
if (stops.length === 0) return C2.accent;
|
|
53520
|
+
if (stops.length === 1) return stops[0];
|
|
53521
|
+
const seg = Math.min(stops.length - 1, Math.floor(t3 * (stops.length - 1)));
|
|
53522
|
+
const lt = t3 * (stops.length - 1) - seg;
|
|
53523
|
+
return lerpHex(stops[seg], stops[seg + 1], lt);
|
|
53524
|
+
}
|
|
53525
|
+
__name(gradientAt, "gradientAt");
|
|
53526
|
+
function GradientLogo({ logo }) {
|
|
53527
|
+
const lines = logo.replace(/^\n/, "").split("\n");
|
|
53528
|
+
const w3 = Math.max(...lines.map((l) => [...l].length), 1);
|
|
53529
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("box", { flexDirection: "column", flexShrink: 0, children: lines.map((line, li) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("box", { flexDirection: "row", children: [...line].map((ch, ci) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("text", { fg: gradientAt(LOGO_GRADIENT, ci / w3), children: ch }, ci)) }, li)) });
|
|
53530
|
+
}
|
|
53531
|
+
__name(GradientLogo, "GradientLogo");
|
|
53532
|
+
function buildBanner(config, settings, width) {
|
|
53533
|
+
const versionLabel = formatVersionLabel(config.getCliVersion() ?? "unknown");
|
|
53534
|
+
const cg = config.getContentGeneratorConfig();
|
|
53535
|
+
const model = config.getModelDisplayName();
|
|
53536
|
+
const targetDir = config.getTargetDir();
|
|
53537
|
+
let authLabel = "";
|
|
53538
|
+
try {
|
|
53539
|
+
if (cg?.authType) {
|
|
53540
|
+
const matched = findProviderByCredentials(cg.baseUrl, cg.apiKeyEnvKey);
|
|
53541
|
+
authLabel = matched && resolveMetadataKey(matched) && matched.label || (cg.authType === "qwen-oauth" ? "Qwen OAuth" : "API Key");
|
|
53542
|
+
}
|
|
53543
|
+
} catch {
|
|
53544
|
+
authLabel = "";
|
|
53545
|
+
}
|
|
53546
|
+
const authModelText = authLabel ? `${authLabel} | ${model}` : model;
|
|
53547
|
+
const hint = " (/model to change)";
|
|
53548
|
+
const custom = resolveCustomBanner(settings);
|
|
53549
|
+
const containerMarginX = 2;
|
|
53550
|
+
const logoGap = 2;
|
|
53551
|
+
const infoPanelChromeWidth = 2 + 1 * 2;
|
|
53552
|
+
const minInfoPanelWidth = 40 + infoPanelChromeWidth;
|
|
53553
|
+
const available = Math.max(0, width - containerMarginX * 2);
|
|
53554
|
+
const hasCustomArt = Boolean(custom.asciiArt.small || custom.asciiArt.large);
|
|
53555
|
+
const customTier = pickAsciiArtTier(
|
|
53556
|
+
custom.asciiArt.small,
|
|
53557
|
+
custom.asciiArt.large,
|
|
53558
|
+
available,
|
|
53559
|
+
logoGap,
|
|
53560
|
+
minInfoPanelWidth,
|
|
53561
|
+
getAsciiArtWidth
|
|
53562
|
+
);
|
|
53563
|
+
const displayLogo = customTier ?? (hasCustomArt ? "" : shortAsciiLogo);
|
|
53564
|
+
const logoWidth = getAsciiArtWidth(displayLogo);
|
|
53565
|
+
const showLogo = displayLogo !== "" && available >= logoWidth + logoGap + minInfoPanelWidth;
|
|
53566
|
+
const maxInfoPanelWidth = 60;
|
|
53567
|
+
const infoPanelWidth = showLogo ? Math.min(available - logoWidth - logoGap, maxInfoPanelWidth) : available;
|
|
53568
|
+
const maxPathLength = Math.max(0, infoPanelWidth - infoPanelChromeWidth);
|
|
53569
|
+
const infoPanelContentWidth = Math.max(
|
|
53570
|
+
0,
|
|
53571
|
+
infoPanelWidth - infoPanelChromeWidth
|
|
53572
|
+
);
|
|
53573
|
+
const showModelHint = infoPanelContentWidth > 0 && getCachedStringWidth(authModelText + hint) <= infoPanelContentWidth;
|
|
53574
|
+
const shortenedPath = shortenPath(
|
|
53575
|
+
tildeifyPath(targetDir),
|
|
53576
|
+
Math.max(3, maxPathLength)
|
|
53577
|
+
);
|
|
53578
|
+
const displayPath = maxPathLength <= 0 ? "" : shortenedPath.length > maxPathLength ? shortenedPath.slice(0, maxPathLength) : shortenedPath;
|
|
53579
|
+
const infoPanel = /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
53580
|
+
"box",
|
|
53581
|
+
{
|
|
53582
|
+
flexDirection: "column",
|
|
53583
|
+
borderStyle: "single",
|
|
53584
|
+
paddingX: 1,
|
|
53585
|
+
width: infoPanelWidth,
|
|
53586
|
+
flexGrow: showLogo ? 0 : 1,
|
|
53587
|
+
children: [
|
|
53588
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("box", { flexDirection: "row", children: [
|
|
53589
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("text", { fg: C2.accent, attributes: 1, children: custom.title ?? ">_ Qwen Code" }),
|
|
53590
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("text", { fg: C2.dim, children: ` (${versionLabel})` })
|
|
53591
|
+
] }),
|
|
53592
|
+
custom.subtitle ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("text", { fg: C2.dim, children: custom.subtitle }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("text", { children: " " }),
|
|
53593
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("box", { flexDirection: "row", children: [
|
|
53594
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("text", { fg: C2.dim, children: authModelText }),
|
|
53595
|
+
showModelHint && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("text", { fg: C2.dim, children: hint })
|
|
53596
|
+
] }),
|
|
53597
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("text", { fg: C2.dim, children: displayPath })
|
|
53598
|
+
]
|
|
53599
|
+
}
|
|
53600
|
+
);
|
|
53601
|
+
if (!showLogo) {
|
|
53602
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
53603
|
+
"box",
|
|
53604
|
+
{
|
|
53605
|
+
marginLeft: containerMarginX,
|
|
53606
|
+
marginRight: containerMarginX,
|
|
53607
|
+
flexShrink: 0,
|
|
53608
|
+
children: infoPanel
|
|
53609
|
+
}
|
|
53610
|
+
);
|
|
53611
|
+
}
|
|
53612
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
53613
|
+
"box",
|
|
53614
|
+
{
|
|
53615
|
+
flexDirection: "row",
|
|
53616
|
+
alignItems: "center",
|
|
53617
|
+
marginLeft: containerMarginX,
|
|
53618
|
+
marginRight: containerMarginX,
|
|
53619
|
+
flexShrink: 0,
|
|
53620
|
+
children: [
|
|
53621
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(GradientLogo, { logo: displayLogo }),
|
|
53622
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("box", { width: logoGap }),
|
|
53623
|
+
infoPanel
|
|
53624
|
+
]
|
|
53625
|
+
}
|
|
53626
|
+
);
|
|
53627
|
+
}
|
|
53628
|
+
__name(buildBanner, "buildBanner");
|
|
53629
|
+
function OpenTuiBanner({ config, settings }) {
|
|
53630
|
+
const { width } = useTerminalDimensions();
|
|
53631
|
+
const showBanner = !config.getScreenReader() && !settings.merged.ui?.hideBanner;
|
|
53632
|
+
const banner = (0, import_react48.useMemo)(
|
|
53633
|
+
() => showBanner ? buildBanner(config, settings, width) : null,
|
|
53634
|
+
[showBanner, config, settings, width]
|
|
53635
|
+
);
|
|
53636
|
+
return banner;
|
|
53637
|
+
}
|
|
53638
|
+
__name(OpenTuiBanner, "OpenTuiBanner");
|
|
53639
|
+
|
|
53640
|
+
// packages/cli/src/ui/opentui/opentui-footer.tsx
|
|
53641
|
+
init_esbuild_shims();
|
|
53642
|
+
var import_react50 = __toESM(require_react(), 1);
|
|
53643
|
+
import nodePath2 from "node:path";
|
|
53644
|
+
function Spinner() {
|
|
53645
|
+
const [frame, setFrame] = (0, import_react50.useState)(0);
|
|
53646
|
+
(0, import_react50.useEffect)(() => {
|
|
53647
|
+
const spin = setInterval(() => setFrame((f2) => f2 + 1), SPINNER_INTERVAL_MS);
|
|
53648
|
+
return () => clearInterval(spin);
|
|
53649
|
+
}, []);
|
|
53650
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("box", { width: 2, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("text", { fg: C2.dim, children: SPINNER_FRAMES[frame % SPINNER_FRAMES.length] }) });
|
|
53651
|
+
}
|
|
53652
|
+
__name(Spinner, "Spinner");
|
|
53653
|
+
function OpenTuiLoadingIndicator({
|
|
53654
|
+
streaming
|
|
53655
|
+
}) {
|
|
53656
|
+
const [elapsed, setElapsed] = (0, import_react50.useState)(0);
|
|
53657
|
+
const { width } = useTerminalDimensions();
|
|
53658
|
+
const phrase = usePhraseCycler(streaming, false);
|
|
53659
|
+
(0, import_react50.useEffect)(() => {
|
|
53660
|
+
if (!streaming) return;
|
|
53661
|
+
setElapsed(0);
|
|
53662
|
+
const tick = setInterval(() => setElapsed((s) => s + 1), 1e3);
|
|
53663
|
+
return () => clearInterval(tick);
|
|
53664
|
+
}, [streaming]);
|
|
53665
|
+
if (!streaming) return null;
|
|
53666
|
+
const suffix2 = t("({{time}}{{tokens}} \xB7 esc to cancel)", {
|
|
53667
|
+
time: `${elapsed}s`,
|
|
53668
|
+
tokens: ""
|
|
53669
|
+
});
|
|
53670
|
+
const phraseBudget = Math.max(0, width - 5 - getCachedStringWidth(suffix2));
|
|
53671
|
+
const line = [truncateToWidth(phrase, phraseBudget), suffix2].filter(Boolean).join(" ");
|
|
53672
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("box", { paddingLeft: 1, paddingRight: 1, flexDirection: "row", children: [
|
|
53673
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Spinner, {}),
|
|
53674
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("text", { fg: C2.dim, children: line })
|
|
53675
|
+
] });
|
|
53676
|
+
}
|
|
53677
|
+
__name(OpenTuiLoadingIndicator, "OpenTuiLoadingIndicator");
|
|
53678
|
+
function OpenTuiFooter({
|
|
53679
|
+
config,
|
|
53680
|
+
streaming,
|
|
53681
|
+
queueLength = 0,
|
|
53682
|
+
sessionName = null,
|
|
53683
|
+
approvalMode
|
|
53684
|
+
}) {
|
|
53685
|
+
const { width } = useTerminalDimensions();
|
|
53686
|
+
const targetDir = config.getTargetDir();
|
|
53687
|
+
const gitBranch = useGitBranchName(targetDir) ?? "";
|
|
53688
|
+
const footerModel = config.getModel();
|
|
53689
|
+
const promptTokenCount = uiTelemetryService.getLastPromptTokenCount();
|
|
53690
|
+
const contextWindowSize = config.getContentGeneratorConfig()?.contextWindowSize;
|
|
53691
|
+
const contextLabel = contextWindowSize && promptTokenCount > 0 ? ` \xB7 ${fmtTokens(contextWindowSize)} ${formatPercentageUsed(
|
|
53692
|
+
promptTokenCount / contextWindowSize
|
|
53693
|
+
)}${contextUsageLabel(width)}` : "";
|
|
53694
|
+
const footerLine1 = `\u279C ${nodePath2.basename(targetDir)}` + (sessionName ? ` \xB7 ${sessionName}` : "") + (gitBranch ? ` \xB7 git:(${gitBranch})` : "") + (footerModel ? ` \xB7 ${footerModel}` : "") + contextLabel;
|
|
53695
|
+
const hintSegments = [
|
|
53696
|
+
streaming ? t("Enter to steer \xB7 Ctrl+Q to queue") : null,
|
|
53697
|
+
approvalMode ? formatApprovalModeName(approvalMode) : null,
|
|
53698
|
+
queueLength > 0 ? `\u23F3 ${t("{{count}} queued", { count: String(queueLength) })}` : null
|
|
53699
|
+
].filter((segment) => segment !== null);
|
|
53700
|
+
const footerLine2 = hintSegments.join(" \xB7 ");
|
|
53701
|
+
const rowBudget = Math.max(0, width - 2);
|
|
53702
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("box", { flexDirection: "column", paddingLeft: 1, paddingRight: 1, flexShrink: 0, children: [
|
|
53703
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("text", { fg: C2.dim, children: truncateToWidth(footerLine1, rowBudget) }),
|
|
53704
|
+
footerLine2 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("text", { fg: C2.dim, children: truncateToWidth(footerLine2, rowBudget) })
|
|
53705
|
+
] });
|
|
53706
|
+
}
|
|
53707
|
+
__name(OpenTuiFooter, "OpenTuiFooter");
|
|
53708
|
+
|
|
53709
|
+
// packages/cli/src/ui/opentui/dialogs-confirm.tsx
|
|
53710
|
+
init_esbuild_shims();
|
|
53711
|
+
var import_react52 = __toESM(require_react(), 1);
|
|
53470
53712
|
|
|
53471
53713
|
// packages/cli/src/ui/opentui/diff-render.ts
|
|
53472
53714
|
init_esbuild_shims();
|
|
@@ -53587,7 +53829,7 @@ function buildOutcomeOptions(details) {
|
|
|
53587
53829
|
}
|
|
53588
53830
|
__name(buildOutcomeOptions, "buildOutcomeOptions");
|
|
53589
53831
|
function DiffBody({ fileDiff }) {
|
|
53590
|
-
const lines = (0,
|
|
53832
|
+
const lines = (0, import_react52.useMemo)(() => renderDiffBody(fileDiff), [fileDiff]);
|
|
53591
53833
|
const window = tailWindow(lines, MAX_BODY_ROWS);
|
|
53592
53834
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("box", { flexDirection: "column", children: [
|
|
53593
53835
|
window.hiddenCount > 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
@@ -53602,14 +53844,14 @@ function DiffBody({ fileDiff }) {
|
|
|
53602
53844
|
}
|
|
53603
53845
|
__name(DiffBody, "DiffBody");
|
|
53604
53846
|
function TextBody({ text }) {
|
|
53605
|
-
const [expanded, setExpanded] = (0,
|
|
53847
|
+
const [expanded, setExpanded] = (0, import_react52.useState)(false);
|
|
53606
53848
|
const { width, height } = useTerminalDimensions();
|
|
53607
|
-
const rows = (0,
|
|
53608
|
-
const window = (0,
|
|
53849
|
+
const rows = (0, import_react52.useMemo)(() => sanitizeTerminalText(text).split("\n"), [text]);
|
|
53850
|
+
const window = (0, import_react52.useMemo)(
|
|
53609
53851
|
() => headWindowPhysical(rows, width, MAX_BODY_ROWS),
|
|
53610
53852
|
[rows, width]
|
|
53611
53853
|
);
|
|
53612
|
-
const expandedWindow = (0,
|
|
53854
|
+
const expandedWindow = (0, import_react52.useMemo)(
|
|
53613
53855
|
() => tailWindowPhysical(
|
|
53614
53856
|
rows,
|
|
53615
53857
|
width,
|
|
@@ -53691,7 +53933,7 @@ function ConfirmationBody({
|
|
|
53691
53933
|
}
|
|
53692
53934
|
__name(ConfirmationBody, "ConfirmationBody");
|
|
53693
53935
|
function OutcomeSelect(props) {
|
|
53694
|
-
const items = (0,
|
|
53936
|
+
const items = (0, import_react52.useMemo)(
|
|
53695
53937
|
() => props.options.map((option, index) => ({
|
|
53696
53938
|
key: `${option.value}-${index}`,
|
|
53697
53939
|
value: option.value,
|
|
@@ -53724,8 +53966,8 @@ __name(OutcomeSelect, "OutcomeSelect");
|
|
|
53724
53966
|
function OpenTuiToolConfirmation(props) {
|
|
53725
53967
|
const { call, onSettled } = props;
|
|
53726
53968
|
const details = call.confirmationDetails;
|
|
53727
|
-
const settledRef = (0,
|
|
53728
|
-
const settle = (0,
|
|
53969
|
+
const settledRef = (0, import_react52.useRef)(false);
|
|
53970
|
+
const settle = (0, import_react52.useCallback)(
|
|
53729
53971
|
(outcome, payload) => {
|
|
53730
53972
|
if (settledRef.current) return;
|
|
53731
53973
|
settledRef.current = true;
|
|
@@ -53779,12 +54021,12 @@ function OpenTuiToolConfirmation(props) {
|
|
|
53779
54021
|
__name(OpenTuiToolConfirmation, "OpenTuiToolConfirmation");
|
|
53780
54022
|
function AskUserQuestionFlow(props) {
|
|
53781
54023
|
const { details, onAnswered } = props;
|
|
53782
|
-
const [index, setIndex] = (0,
|
|
53783
|
-
const [answers, setAnswers] = (0,
|
|
53784
|
-
const [selected, setSelected] = (0,
|
|
54024
|
+
const [index, setIndex] = (0, import_react52.useState)(0);
|
|
54025
|
+
const [answers, setAnswers] = (0, import_react52.useState)({});
|
|
54026
|
+
const [selected, setSelected] = (0, import_react52.useState)(/* @__PURE__ */ new Set());
|
|
53785
54027
|
const question = details.questions[index];
|
|
53786
54028
|
const isMulti = question?.multiSelect === true;
|
|
53787
|
-
const commitQuestion = (0,
|
|
54029
|
+
const commitQuestion = (0, import_react52.useCallback)(
|
|
53788
54030
|
(value) => {
|
|
53789
54031
|
if (value === void 0) return;
|
|
53790
54032
|
const nextAnswers = { ...answers, [index]: value };
|
|
@@ -53802,7 +54044,7 @@ function AskUserQuestionFlow(props) {
|
|
|
53802
54044
|
},
|
|
53803
54045
|
[answers, index, details.questions.length, onAnswered]
|
|
53804
54046
|
);
|
|
53805
|
-
const items = (0,
|
|
54047
|
+
const items = (0, import_react52.useMemo)(
|
|
53806
54048
|
() => (question?.options ?? []).map((option, i) => ({
|
|
53807
54049
|
key: `${option.label}-${i}`,
|
|
53808
54050
|
value: option.label
|
|
@@ -53837,7 +54079,7 @@ function AskUserQuestionFlow(props) {
|
|
|
53837
54079
|
commitQuestion([...selected].join(", "));
|
|
53838
54080
|
}
|
|
53839
54081
|
});
|
|
53840
|
-
(0,
|
|
54082
|
+
(0, import_react52.useEffect)(() => {
|
|
53841
54083
|
if (details.questions.length === 0 || !question?.options?.length) {
|
|
53842
54084
|
onAnswered(null);
|
|
53843
54085
|
}
|
|
@@ -53880,7 +54122,7 @@ function AskUserQuestionFlow(props) {
|
|
|
53880
54122
|
__name(AskUserQuestionFlow, "AskUserQuestionFlow");
|
|
53881
54123
|
function OpenTuiShellConfirmation(props) {
|
|
53882
54124
|
const { commands, onResolve } = props;
|
|
53883
|
-
const options = (0,
|
|
54125
|
+
const options = (0, import_react52.useMemo)(
|
|
53884
54126
|
() => [
|
|
53885
54127
|
{
|
|
53886
54128
|
label: t("Yes, allow once"),
|
|
@@ -53927,7 +54169,7 @@ function OpenTuiShellConfirmation(props) {
|
|
|
53927
54169
|
__name(OpenTuiShellConfirmation, "OpenTuiShellConfirmation");
|
|
53928
54170
|
function OpenTuiActionConfirmation(props) {
|
|
53929
54171
|
const { prompt, onResolve } = props;
|
|
53930
|
-
const options = (0,
|
|
54172
|
+
const options = (0, import_react52.useMemo)(
|
|
53931
54173
|
() => [
|
|
53932
54174
|
{ key: "yes", value: true },
|
|
53933
54175
|
{ key: "no", value: false }
|
|
@@ -53995,22 +54237,22 @@ function OpenTuiApp(props) {
|
|
|
53995
54237
|
onPromptSuggestionDismiss,
|
|
53996
54238
|
onPromptSuggestionAbort
|
|
53997
54239
|
} = props;
|
|
53998
|
-
const [dialog, setDialog] = (0,
|
|
54240
|
+
const [dialog, setDialog] = (0, import_react54.useState)(
|
|
53999
54241
|
props.initialDialog ?? null
|
|
54000
54242
|
);
|
|
54001
|
-
const [noticeText, setNoticeText] = (0,
|
|
54002
|
-
const [commandList, setCommandList] = (0,
|
|
54243
|
+
const [noticeText, setNoticeText] = (0, import_react54.useState)(null);
|
|
54244
|
+
const [commandList, setCommandList] = (0, import_react54.useState)(
|
|
54003
54245
|
commands ?? []
|
|
54004
54246
|
);
|
|
54005
|
-
const notify = (0,
|
|
54006
|
-
const [shellModeActive, setShellModeActive] = (0,
|
|
54007
|
-
const shellControllersRef = (0,
|
|
54247
|
+
const notify = (0, import_react54.useCallback)((text) => setNoticeText(text), []);
|
|
54248
|
+
const [shellModeActive, setShellModeActive] = (0, import_react54.useState)(false);
|
|
54249
|
+
const shellControllersRef = (0, import_react54.useRef)(/* @__PURE__ */ new Set());
|
|
54008
54250
|
const { width: terminalWidth, height: terminalHeight } = useTerminalDimensions();
|
|
54009
|
-
const toggleShellMode = (0,
|
|
54251
|
+
const toggleShellMode = (0, import_react54.useCallback)(
|
|
54010
54252
|
() => setShellModeActive((active) => !active),
|
|
54011
54253
|
[]
|
|
54012
54254
|
);
|
|
54013
|
-
const runShellCommand = (0,
|
|
54255
|
+
const runShellCommand = (0, import_react54.useCallback)(
|
|
54014
54256
|
(command) => {
|
|
54015
54257
|
const emit = props.onTranscriptEvent;
|
|
54016
54258
|
if (!emit) return;
|
|
@@ -54041,7 +54283,7 @@ function OpenTuiApp(props) {
|
|
|
54041
54283
|
},
|
|
54042
54284
|
[config, props.onTranscriptEvent, terminalWidth, terminalHeight]
|
|
54043
54285
|
);
|
|
54044
|
-
(0,
|
|
54286
|
+
(0, import_react54.useEffect)(
|
|
54045
54287
|
() => () => {
|
|
54046
54288
|
for (const controller of shellControllersRef.current) {
|
|
54047
54289
|
controller.abort();
|
|
@@ -54049,7 +54291,7 @@ function OpenTuiApp(props) {
|
|
|
54049
54291
|
},
|
|
54050
54292
|
[]
|
|
54051
54293
|
);
|
|
54052
|
-
const handleSelectSetting = (0,
|
|
54294
|
+
const handleSelectSetting = (0, import_react54.useCallback)((name) => {
|
|
54053
54295
|
if (name === "ui.theme") setDialog({ dialog: "theme" });
|
|
54054
54296
|
else if (name === "general.preferredEditor")
|
|
54055
54297
|
setDialog({ dialog: "editor" });
|
|
@@ -54058,15 +54300,15 @@ function OpenTuiApp(props) {
|
|
|
54058
54300
|
setDialog({ dialog: "model", mode: "vision" });
|
|
54059
54301
|
else setDialog(null);
|
|
54060
54302
|
}, []);
|
|
54061
|
-
const fillComposer = (0,
|
|
54303
|
+
const fillComposer = (0, import_react54.useCallback)(
|
|
54062
54304
|
(text) => {
|
|
54063
54305
|
injectCapturedInput(() => props.composerHandle?.current ?? null, text);
|
|
54064
54306
|
},
|
|
54065
54307
|
[props.composerHandle]
|
|
54066
54308
|
);
|
|
54067
|
-
const [modals, setModals] = (0,
|
|
54068
|
-
const modalSeq = (0,
|
|
54069
|
-
const confirmations = (0,
|
|
54309
|
+
const [modals, setModals] = (0, import_react54.useState)([]);
|
|
54310
|
+
const modalSeq = (0, import_react54.useRef)(0);
|
|
54311
|
+
const confirmations = (0, import_react54.useMemo)(
|
|
54070
54312
|
() => ({
|
|
54071
54313
|
presentShell: /* @__PURE__ */ __name((commandsToRun) => new Promise((resolve4) => {
|
|
54072
54314
|
modalSeq.current += 1;
|
|
@@ -54091,14 +54333,14 @@ function OpenTuiApp(props) {
|
|
|
54091
54333
|
[]
|
|
54092
54334
|
);
|
|
54093
54335
|
const activeModal = modals[0] ?? null;
|
|
54094
|
-
const closeShellModal = (0,
|
|
54336
|
+
const closeShellModal = (0, import_react54.useCallback)(
|
|
54095
54337
|
(modal, resolution) => {
|
|
54096
54338
|
setModals((prev) => prev.filter((m3) => m3.id !== modal.id));
|
|
54097
54339
|
modal.resolve(resolution);
|
|
54098
54340
|
},
|
|
54099
54341
|
[]
|
|
54100
54342
|
);
|
|
54101
|
-
const closeActionModal = (0,
|
|
54343
|
+
const closeActionModal = (0, import_react54.useCallback)(
|
|
54102
54344
|
(modal, confirmed) => {
|
|
54103
54345
|
setModals((prev) => prev.filter((m3) => m3.id !== modal.id));
|
|
54104
54346
|
modal.resolve(confirmed);
|
|
@@ -54106,7 +54348,7 @@ function OpenTuiApp(props) {
|
|
|
54106
54348
|
[]
|
|
54107
54349
|
);
|
|
54108
54350
|
const activeToolCall = waitingToolCalls?.[0] ?? null;
|
|
54109
|
-
const transcript = (0,
|
|
54351
|
+
const transcript = (0, import_react54.useMemo)(
|
|
54110
54352
|
() => ({
|
|
54111
54353
|
reset: /* @__PURE__ */ __name((events) => onTranscriptReset?.(events), "reset"),
|
|
54112
54354
|
// /clear semantics: a fresh transcript — the live turn's reset with an
|
|
@@ -54116,7 +54358,7 @@ function OpenTuiApp(props) {
|
|
|
54116
54358
|
}),
|
|
54117
54359
|
[onTranscriptReset, onTranscriptEvent]
|
|
54118
54360
|
);
|
|
54119
|
-
const host = (0,
|
|
54361
|
+
const host = (0, import_react54.useMemo)(
|
|
54120
54362
|
() => new OpenTuiAppHost({
|
|
54121
54363
|
config,
|
|
54122
54364
|
settings,
|
|
@@ -54145,27 +54387,27 @@ function OpenTuiApp(props) {
|
|
|
54145
54387
|
getSessionStats
|
|
54146
54388
|
]
|
|
54147
54389
|
);
|
|
54148
|
-
(0,
|
|
54149
|
-
(0,
|
|
54150
|
-
(0,
|
|
54390
|
+
(0, import_react54.useSyncExternalStore)(
|
|
54391
|
+
(0, import_react54.useCallback)((cb) => host.subscribe(cb), [host]),
|
|
54392
|
+
(0, import_react54.useCallback)(() => host.getVersion(), [host])
|
|
54151
54393
|
);
|
|
54152
|
-
(0,
|
|
54394
|
+
(0, import_react54.useEffect)(() => {
|
|
54153
54395
|
host.setStreaming(!!streaming);
|
|
54154
54396
|
}, [host, streaming]);
|
|
54155
|
-
const gateway = (0,
|
|
54156
|
-
const reloadRef = (0,
|
|
54157
|
-
const deferredCommandsRef = (0,
|
|
54158
|
-
const [deferredRevision, setDeferredRevision] = (0,
|
|
54159
|
-
const drainingRef = (0,
|
|
54160
|
-
const streamingRef = (0,
|
|
54161
|
-
(0,
|
|
54397
|
+
const gateway = (0, import_react54.useMemo)(() => new OpenTuiSlashGateway(), []);
|
|
54398
|
+
const reloadRef = (0, import_react54.useRef)(null);
|
|
54399
|
+
const deferredCommandsRef = (0, import_react54.useRef)([]);
|
|
54400
|
+
const [deferredRevision, setDeferredRevision] = (0, import_react54.useState)(0);
|
|
54401
|
+
const drainingRef = (0, import_react54.useRef)(false);
|
|
54402
|
+
const streamingRef = (0, import_react54.useRef)(streaming);
|
|
54403
|
+
(0, import_react54.useEffect)(() => {
|
|
54162
54404
|
streamingRef.current = streaming;
|
|
54163
54405
|
}, [streaming]);
|
|
54164
|
-
const dialogRef = (0,
|
|
54165
|
-
(0,
|
|
54406
|
+
const dialogRef = (0, import_react54.useRef)(dialog);
|
|
54407
|
+
(0, import_react54.useEffect)(() => {
|
|
54166
54408
|
dialogRef.current = dialog;
|
|
54167
54409
|
}, [dialog]);
|
|
54168
|
-
(0,
|
|
54410
|
+
(0, import_react54.useEffect)(() => {
|
|
54169
54411
|
const dispatcher = new OpenTuiSlashDispatcher(
|
|
54170
54412
|
host,
|
|
54171
54413
|
{ config, settings, logger, extensionRefreshState },
|
|
@@ -54200,7 +54442,7 @@ function OpenTuiApp(props) {
|
|
|
54200
54442
|
commands,
|
|
54201
54443
|
extensionRefreshState
|
|
54202
54444
|
]);
|
|
54203
|
-
const applyOutcome = (0,
|
|
54445
|
+
const applyOutcome = (0, import_react54.useCallback)(
|
|
54204
54446
|
(outcome) => {
|
|
54205
54447
|
switch (outcome.kind) {
|
|
54206
54448
|
case "handled":
|
|
@@ -54238,7 +54480,7 @@ function OpenTuiApp(props) {
|
|
|
54238
54480
|
},
|
|
54239
54481
|
[onSubmitPrompt, onQuit, onInterrupt, onPopQueue, notify]
|
|
54240
54482
|
);
|
|
54241
|
-
const onSubmit = (0,
|
|
54483
|
+
const onSubmit = (0, import_react54.useCallback)(
|
|
54242
54484
|
async (text, imagePaths) => {
|
|
54243
54485
|
setNoticeText(null);
|
|
54244
54486
|
const submission = normalizeQuitSubmission(text);
|
|
@@ -54296,7 +54538,7 @@ function OpenTuiApp(props) {
|
|
|
54296
54538
|
runShellCommand
|
|
54297
54539
|
]
|
|
54298
54540
|
);
|
|
54299
|
-
(0,
|
|
54541
|
+
(0, import_react54.useEffect)(() => {
|
|
54300
54542
|
if (isExitInProgress()) return;
|
|
54301
54543
|
if (streaming || dialog || shellControllersRef.current.size > 0 || deferredCommandsRef.current.length === 0) {
|
|
54302
54544
|
return;
|
|
@@ -54363,7 +54605,7 @@ function OpenTuiApp(props) {
|
|
|
54363
54605
|
onSubmitPrompt,
|
|
54364
54606
|
runShellCommand
|
|
54365
54607
|
]);
|
|
54366
|
-
const userMessages = (0,
|
|
54608
|
+
const userMessages = (0, import_react54.useMemo)(
|
|
54367
54609
|
() => host.getHistory().filter((item) => item.type === "user").map((item) => item.text ?? ""),
|
|
54368
54610
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
54369
54611
|
[host, host.getVersion()]
|
|
@@ -54374,6 +54616,7 @@ function OpenTuiApp(props) {
|
|
|
54374
54616
|
recordForExitEcho: true,
|
|
54375
54617
|
onError: (error) => onRenderError?.(error),
|
|
54376
54618
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("box", { flexDirection: "column", flexGrow: 1, flexShrink: 0, children: [
|
|
54619
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(OpenTuiBanner, { config, settings }),
|
|
54377
54620
|
renderMain ? renderMain() : null,
|
|
54378
54621
|
!dialog && !activeModal && !activeToolCall && updateNotice ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("text", { children: updateNotice }) : null,
|
|
54379
54622
|
noticeText ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("text", { children: noticeText }) : null,
|
|
@@ -54414,26 +54657,39 @@ function OpenTuiApp(props) {
|
|
|
54414
54657
|
availableTerminalHeight: props.availableTerminalHeight
|
|
54415
54658
|
},
|
|
54416
54659
|
dialog.dialog
|
|
54417
|
-
) : /* @__PURE__ */ (0, import_jsx_runtime.
|
|
54418
|
-
|
|
54660
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
54661
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(OpenTuiLoadingIndicator, { streaming: Boolean(streaming) }),
|
|
54662
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
54663
|
+
OpenTuiInputPrompt,
|
|
54664
|
+
{
|
|
54665
|
+
onSubmit: (text, imagePaths) => {
|
|
54666
|
+
void onSubmit(text, imagePaths);
|
|
54667
|
+
},
|
|
54668
|
+
userMessages,
|
|
54669
|
+
config,
|
|
54670
|
+
focus: true,
|
|
54671
|
+
streaming,
|
|
54672
|
+
onInterrupt,
|
|
54673
|
+
approvalMode,
|
|
54674
|
+
queueLength,
|
|
54675
|
+
onPopQueue,
|
|
54676
|
+
composerHandle: props.composerHandle,
|
|
54677
|
+
promptSuggestion,
|
|
54678
|
+
onPromptSuggestionDismiss,
|
|
54679
|
+
onPromptSuggestionAbort,
|
|
54680
|
+
shellModeActive,
|
|
54681
|
+
onToggleShellMode: toggleShellMode
|
|
54682
|
+
}
|
|
54683
|
+
)
|
|
54684
|
+
] }),
|
|
54685
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
54686
|
+
OpenTuiFooter,
|
|
54419
54687
|
{
|
|
54420
|
-
onSubmit: (text, imagePaths) => {
|
|
54421
|
-
void onSubmit(text, imagePaths);
|
|
54422
|
-
},
|
|
54423
|
-
userMessages,
|
|
54424
54688
|
config,
|
|
54425
|
-
|
|
54426
|
-
streaming,
|
|
54427
|
-
onInterrupt,
|
|
54689
|
+
streaming: Boolean(streaming),
|
|
54428
54690
|
approvalMode,
|
|
54429
54691
|
queueLength,
|
|
54430
|
-
|
|
54431
|
-
composerHandle: props.composerHandle,
|
|
54432
|
-
promptSuggestion,
|
|
54433
|
-
onPromptSuggestionDismiss,
|
|
54434
|
-
onPromptSuggestionAbort,
|
|
54435
|
-
shellModeActive,
|
|
54436
|
-
onToggleShellMode: toggleShellMode
|
|
54692
|
+
sessionName: host.sessionName
|
|
54437
54693
|
}
|
|
54438
54694
|
)
|
|
54439
54695
|
] })
|
|
@@ -54444,7 +54700,7 @@ __name(OpenTuiApp, "OpenTuiApp");
|
|
|
54444
54700
|
|
|
54445
54701
|
// packages/cli/src/ui/opentui/followup-generation.ts
|
|
54446
54702
|
init_esbuild_shims();
|
|
54447
|
-
var
|
|
54703
|
+
var import_react56 = __toESM(require_react(), 1);
|
|
54448
54704
|
function useFollowupSuggestionGeneration({
|
|
54449
54705
|
config,
|
|
54450
54706
|
settings,
|
|
@@ -54452,12 +54708,12 @@ function useFollowupSuggestionGeneration({
|
|
|
54452
54708
|
items,
|
|
54453
54709
|
waitingCalls
|
|
54454
54710
|
}) {
|
|
54455
|
-
const [promptSuggestion, setPromptSuggestion] = (0,
|
|
54456
|
-
const abortRef = (0,
|
|
54457
|
-
const streamingRef = (0,
|
|
54711
|
+
const [promptSuggestion, setPromptSuggestion] = (0, import_react56.useState)(null);
|
|
54712
|
+
const abortRef = (0, import_react56.useRef)(null);
|
|
54713
|
+
const streamingRef = (0, import_react56.useRef)(streaming);
|
|
54458
54714
|
const followupEnabled = settings.merged.ui?.enableFollowupSuggestions !== false;
|
|
54459
54715
|
const cacheSharingEnabled = settings.merged.ui?.enableCacheSharing !== false;
|
|
54460
|
-
(0,
|
|
54716
|
+
(0, import_react56.useEffect)(() => {
|
|
54461
54717
|
const wasStreaming = streamingRef.current;
|
|
54462
54718
|
if (!followupEnabled || wasStreaming !== streaming) {
|
|
54463
54719
|
abortRef.current?.abort();
|
|
@@ -54494,7 +54750,7 @@ function useFollowupSuggestionGeneration({
|
|
|
54494
54750
|
items,
|
|
54495
54751
|
waitingCalls
|
|
54496
54752
|
]);
|
|
54497
|
-
(0,
|
|
54753
|
+
(0, import_react56.useEffect)(
|
|
54498
54754
|
() => () => {
|
|
54499
54755
|
abortRef.current?.abort();
|
|
54500
54756
|
},
|
|
@@ -54646,7 +54902,7 @@ var OpenTuiRuntime = class _OpenTuiRuntime {
|
|
|
54646
54902
|
|
|
54647
54903
|
// packages/cli/src/ui/opentui/transcript-view.tsx
|
|
54648
54904
|
init_esbuild_shims();
|
|
54649
|
-
var
|
|
54905
|
+
var import_react57 = __toESM(require_react(), 1);
|
|
54650
54906
|
|
|
54651
54907
|
// packages/cli/src/ui/opentui/live-session-model.ts
|
|
54652
54908
|
init_esbuild_shims();
|
|
@@ -55844,7 +56100,7 @@ function AssistantRow({
|
|
|
55844
56100
|
}
|
|
55845
56101
|
__name(AssistantRow, "AssistantRow");
|
|
55846
56102
|
function ThinkingRow({ text, done }) {
|
|
55847
|
-
const [expanded, setExpanded] = (0,
|
|
56103
|
+
const [expanded, setExpanded] = (0, import_react57.useState)(false);
|
|
55848
56104
|
const meta = thinkingMeta(done, expanded, false);
|
|
55849
56105
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
55850
56106
|
"box",
|
|
@@ -55995,8 +56251,8 @@ function RetryRows({
|
|
|
55995
56251
|
delayMs,
|
|
55996
56252
|
startedAt
|
|
55997
56253
|
}) {
|
|
55998
|
-
const [now, setNow] = (0,
|
|
55999
|
-
(0,
|
|
56254
|
+
const [now, setNow] = (0, import_react57.useState)(() => Date.now());
|
|
56255
|
+
(0, import_react57.useEffect)(() => {
|
|
56000
56256
|
const timer = setInterval(() => setNow(Date.now()), 1e3);
|
|
56001
56257
|
return () => clearInterval(timer);
|
|
56002
56258
|
}, []);
|
|
@@ -56240,7 +56496,7 @@ __name(ArenaSessionRow, "ArenaSessionRow");
|
|
|
56240
56496
|
|
|
56241
56497
|
// packages/cli/src/ui/opentui/live-turn.ts
|
|
56242
56498
|
init_esbuild_shims();
|
|
56243
|
-
var
|
|
56499
|
+
var import_react58 = __toESM(require_react(), 1);
|
|
56244
56500
|
import { readFileSync } from "node:fs";
|
|
56245
56501
|
|
|
56246
56502
|
// packages/cli/src/ui/opentui/live-session.ts
|
|
@@ -56840,43 +57096,43 @@ function foldBatch(events) {
|
|
|
56840
57096
|
__name(foldBatch, "foldBatch");
|
|
56841
57097
|
function useOpenTuiLiveTurn(options) {
|
|
56842
57098
|
const { config } = options;
|
|
56843
|
-
const [items, setItems] = (0,
|
|
56844
|
-
const [streaming, setStreaming] = (0,
|
|
56845
|
-
const [waitingCalls, setWaitingCalls] = (0,
|
|
57099
|
+
const [items, setItems] = (0, import_react58.useState)([]);
|
|
57100
|
+
const [streaming, setStreaming] = (0, import_react58.useState)(false);
|
|
57101
|
+
const [waitingCalls, setWaitingCalls] = (0, import_react58.useState)(
|
|
56846
57102
|
[]
|
|
56847
57103
|
);
|
|
56848
|
-
const queueRef = (0,
|
|
56849
|
-
const [queueLength, setQueueLength] = (0,
|
|
56850
|
-
const abortRef = (0,
|
|
56851
|
-
const streamingRef = (0,
|
|
56852
|
-
const turnSeqRef = (0,
|
|
56853
|
-
const waitingCallsRef = (0,
|
|
57104
|
+
const queueRef = (0, import_react58.useRef)([]);
|
|
57105
|
+
const [queueLength, setQueueLength] = (0, import_react58.useState)(0);
|
|
57106
|
+
const abortRef = (0, import_react58.useRef)(null);
|
|
57107
|
+
const streamingRef = (0, import_react58.useRef)(false);
|
|
57108
|
+
const turnSeqRef = (0, import_react58.useRef)(0);
|
|
57109
|
+
const waitingCallsRef = (0, import_react58.useRef)([]);
|
|
56854
57110
|
waitingCallsRef.current = waitingCalls;
|
|
56855
|
-
const setBusy = (0,
|
|
57111
|
+
const setBusy = (0, import_react58.useCallback)((busy) => {
|
|
56856
57112
|
if (streamingRef.current === busy) return;
|
|
56857
57113
|
streamingRef.current = busy;
|
|
56858
57114
|
setStreaming(busy);
|
|
56859
57115
|
}, []);
|
|
56860
|
-
const apply = (0,
|
|
57116
|
+
const apply = (0, import_react58.useCallback)((ev) => {
|
|
56861
57117
|
setItems((prev) => foldLiveEvent(prev, ev));
|
|
56862
57118
|
}, []);
|
|
56863
|
-
const pushQueue = (0,
|
|
57119
|
+
const pushQueue = (0, import_react58.useCallback)((text) => {
|
|
56864
57120
|
queueRef.current.push(text);
|
|
56865
57121
|
setQueueLength(queueRef.current.length);
|
|
56866
57122
|
}, []);
|
|
56867
|
-
const drainQueue = (0,
|
|
57123
|
+
const drainQueue = (0, import_react58.useCallback)(() => {
|
|
56868
57124
|
const drained = queueRef.current;
|
|
56869
57125
|
queueRef.current = [];
|
|
56870
57126
|
setQueueLength(0);
|
|
56871
57127
|
return drained;
|
|
56872
57128
|
}, []);
|
|
56873
|
-
const restoreQueue = (0,
|
|
57129
|
+
const restoreQueue = (0, import_react58.useCallback)((texts) => {
|
|
56874
57130
|
const restored = texts.map((text) => text.trim()).filter(Boolean);
|
|
56875
57131
|
if (restored.length === 0) return;
|
|
56876
57132
|
queueRef.current = [...restored, ...queueRef.current];
|
|
56877
57133
|
setQueueLength(queueRef.current.length);
|
|
56878
57134
|
}, []);
|
|
56879
|
-
const runTurn = (0,
|
|
57135
|
+
const runTurn = (0, import_react58.useCallback)(
|
|
56880
57136
|
async (prompt, promptId, turnOptions) => {
|
|
56881
57137
|
const seq = ++turnSeqRef.current;
|
|
56882
57138
|
const abort = new AbortController();
|
|
@@ -56933,7 +57189,7 @@ function useOpenTuiLiveTurn(options) {
|
|
|
56933
57189
|
},
|
|
56934
57190
|
[config, apply, drainQueue, restoreQueue, setBusy]
|
|
56935
57191
|
);
|
|
56936
|
-
const submit = (0,
|
|
57192
|
+
const submit = (0, import_react58.useCallback)(
|
|
56937
57193
|
(content, imagePaths, options2) => {
|
|
56938
57194
|
const text = typeof content === "string" ? content : collectText(normalizeParts(content));
|
|
56939
57195
|
if (streamingRef.current) {
|
|
@@ -56957,10 +57213,10 @@ function useOpenTuiLiveTurn(options) {
|
|
|
56957
57213
|
},
|
|
56958
57214
|
[config, apply, pushQueue, runTurn]
|
|
56959
57215
|
);
|
|
56960
|
-
const interrupt = (0,
|
|
57216
|
+
const interrupt = (0, import_react58.useCallback)(() => {
|
|
56961
57217
|
abortRef.current?.abort();
|
|
56962
57218
|
}, []);
|
|
56963
|
-
const resetTranscript = (0,
|
|
57219
|
+
const resetTranscript = (0, import_react58.useCallback)(
|
|
56964
57220
|
(events) => {
|
|
56965
57221
|
turnSeqRef.current += 1;
|
|
56966
57222
|
const abort = abortRef.current;
|
|
@@ -56979,14 +57235,14 @@ function useOpenTuiLiveTurn(options) {
|
|
|
56979
57235
|
},
|
|
56980
57236
|
[setBusy]
|
|
56981
57237
|
);
|
|
56982
|
-
const settleWaitingCall = (0,
|
|
57238
|
+
const settleWaitingCall = (0, import_react58.useCallback)((callId) => {
|
|
56983
57239
|
setWaitingCalls((prev) => prev.filter((c2) => c2.callId !== callId));
|
|
56984
57240
|
}, []);
|
|
56985
|
-
const popQueue = (0,
|
|
57241
|
+
const popQueue = (0, import_react58.useCallback)(() => {
|
|
56986
57242
|
if (queueRef.current.length === 0) return null;
|
|
56987
57243
|
return drainQueue().join("\n\n");
|
|
56988
57244
|
}, [drainQueue]);
|
|
56989
|
-
(0,
|
|
57245
|
+
(0, import_react58.useEffect)(() => () => abortRef.current?.abort(), []);
|
|
56990
57246
|
return {
|
|
56991
57247
|
items,
|
|
56992
57248
|
streaming,
|
|
@@ -57076,29 +57332,29 @@ function OpenTuiEntryApp({
|
|
|
57076
57332
|
items: live.items,
|
|
57077
57333
|
waitingCalls: live.waitingCalls
|
|
57078
57334
|
});
|
|
57079
|
-
const statsRef = (0,
|
|
57080
|
-
(0,
|
|
57335
|
+
const statsRef = (0, import_react59.useRef)(stats);
|
|
57336
|
+
(0, import_react59.useEffect)(() => {
|
|
57081
57337
|
statsRef.current = stats;
|
|
57082
57338
|
}, [stats]);
|
|
57083
|
-
const getSessionStats = (0,
|
|
57084
|
-
const composerHandle = (0,
|
|
57085
|
-
(0,
|
|
57339
|
+
const getSessionStats = (0, import_react59.useCallback)(() => statsRef.current, []);
|
|
57340
|
+
const composerHandle = (0, import_react59.useRef)(null);
|
|
57341
|
+
(0, import_react59.useEffect)(
|
|
57086
57342
|
() => armCapturedInputInjection(() => composerHandle.current, capturedText),
|
|
57087
57343
|
[capturedText]
|
|
57088
57344
|
);
|
|
57089
|
-
(0,
|
|
57345
|
+
(0, import_react59.useEffect)(() => {
|
|
57090
57346
|
const resumeEvents = resumeEventsFromConfig(config);
|
|
57091
57347
|
if (resumeEvents) resetTranscript(resumeEvents);
|
|
57092
57348
|
for (const warning of startupWarnings) {
|
|
57093
57349
|
applyEvent({ type: "warning", text: warning });
|
|
57094
57350
|
}
|
|
57095
57351
|
}, []);
|
|
57096
|
-
const [updateNotice, setUpdateNotice] = (0,
|
|
57097
|
-
const isIdleRef = (0,
|
|
57098
|
-
(0,
|
|
57352
|
+
const [updateNotice, setUpdateNotice] = (0, import_react59.useState)(null);
|
|
57353
|
+
const isIdleRef = (0, import_react59.useRef)(true);
|
|
57354
|
+
(0, import_react59.useEffect)(() => {
|
|
57099
57355
|
isIdleRef.current = !live.streaming;
|
|
57100
57356
|
}, [live.streaming]);
|
|
57101
|
-
const addUpdateItem = (0,
|
|
57357
|
+
const addUpdateItem = (0, import_react59.useCallback)(
|
|
57102
57358
|
(item) => {
|
|
57103
57359
|
if (item.type === "info" /* INFO */) {
|
|
57104
57360
|
applyEvent({ type: "info", text: item.text });
|
|
@@ -57110,22 +57366,22 @@ function OpenTuiEntryApp({
|
|
|
57110
57366
|
},
|
|
57111
57367
|
[applyEvent]
|
|
57112
57368
|
);
|
|
57113
|
-
const setUpdateInfo = (0,
|
|
57369
|
+
const setUpdateInfo = (0, import_react59.useCallback)((info) => {
|
|
57114
57370
|
setUpdateNotice(info?.message ?? null);
|
|
57115
57371
|
}, []);
|
|
57116
57372
|
useUpdateNoticeFlush(addUpdateItem, setUpdateInfo, isIdleRef, live.streaming);
|
|
57117
|
-
const [exitHint, setExitHint] = (0,
|
|
57118
|
-
const exitGuard = (0,
|
|
57373
|
+
const [exitHint, setExitHint] = (0, import_react59.useState)(null);
|
|
57374
|
+
const exitGuard = (0, import_react59.useMemo)(
|
|
57119
57375
|
() => createExitGuard({ onWindowExpired: /* @__PURE__ */ __name(() => setExitHint(null), "onWindowExpired") }),
|
|
57120
57376
|
[]
|
|
57121
57377
|
);
|
|
57122
|
-
(0,
|
|
57123
|
-
const streamingRef = (0,
|
|
57124
|
-
(0,
|
|
57378
|
+
(0, import_react59.useEffect)(() => () => exitGuard.dispose(), [exitGuard]);
|
|
57379
|
+
const streamingRef = (0, import_react59.useRef)(live.streaming);
|
|
57380
|
+
(0, import_react59.useEffect)(() => {
|
|
57125
57381
|
streamingRef.current = live.streaming;
|
|
57126
57382
|
}, [live.streaming]);
|
|
57127
|
-
const waitingCallsRef = (0,
|
|
57128
|
-
(0,
|
|
57383
|
+
const waitingCallsRef = (0, import_react59.useRef)(live.waitingCalls);
|
|
57384
|
+
(0, import_react59.useEffect)(() => {
|
|
57129
57385
|
waitingCallsRef.current = live.waitingCalls;
|
|
57130
57386
|
}, [live.waitingCalls]);
|
|
57131
57387
|
useKeyboard((key) => {
|
|
@@ -57148,7 +57404,7 @@ function OpenTuiEntryApp({
|
|
|
57148
57404
|
setExitHint(exitGuardHint(guardKey));
|
|
57149
57405
|
}
|
|
57150
57406
|
});
|
|
57151
|
-
const renderMain = (0,
|
|
57407
|
+
const renderMain = (0, import_react59.useCallback)(
|
|
57152
57408
|
() => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("box", { flexDirection: "column", flexGrow: 1, children: [
|
|
57153
57409
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
57154
57410
|
OpenTuiTranscriptView,
|
|
@@ -57162,7 +57418,7 @@ function OpenTuiEntryApp({
|
|
|
57162
57418
|
] }),
|
|
57163
57419
|
[live.items, width, height, exitHint]
|
|
57164
57420
|
);
|
|
57165
|
-
const handleRenderError = (0,
|
|
57421
|
+
const handleRenderError = (0, import_react59.useCallback)(
|
|
57166
57422
|
(error) => {
|
|
57167
57423
|
debugLogger4.error(
|
|
57168
57424
|
`[FATAL_RENDER_ERROR] ${error.message}
|
|
@@ -57174,15 +57430,15 @@ ${error.stack ?? ""}`
|
|
|
57174
57430
|
},
|
|
57175
57431
|
[config]
|
|
57176
57432
|
);
|
|
57177
|
-
const handleStartNewSession = (0,
|
|
57433
|
+
const handleStartNewSession = (0, import_react59.useCallback)(
|
|
57178
57434
|
(sessionId) => startNewSession(sessionId),
|
|
57179
57435
|
[startNewSession]
|
|
57180
57436
|
);
|
|
57181
|
-
const handleSubmitPrompt = (0,
|
|
57437
|
+
const handleSubmitPrompt = (0, import_react59.useCallback)(
|
|
57182
57438
|
(content, imagePaths, options) => submit(content, imagePaths, options),
|
|
57183
57439
|
[submit]
|
|
57184
57440
|
);
|
|
57185
|
-
const handleQuit = (0,
|
|
57441
|
+
const handleQuit = (0, import_react59.useCallback)(() => {
|
|
57186
57442
|
void exitSession(config, 0);
|
|
57187
57443
|
}, [config]);
|
|
57188
57444
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
@@ -57253,7 +57509,7 @@ async function startOpenTuiUI(config, settings, startupWarnings, workspaceRoot =
|
|
|
57253
57509
|
// children must sit in the props object: the provider declares it as a
|
|
57254
57510
|
// required prop, which createElement's rest-children overloads can't fill.
|
|
57255
57511
|
// eslint-disable-next-line react/no-children-prop
|
|
57256
|
-
(0,
|
|
57512
|
+
(0, import_react59.createElement)(SessionStatsProvider, {
|
|
57257
57513
|
sessionId: config.getSessionId(),
|
|
57258
57514
|
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
57259
57515
|
OpenTuiEntryApp,
|
|
@@ -57312,7 +57568,8 @@ qwen --resume ${sessionId}`
|
|
|
57312
57568
|
registerSession({
|
|
57313
57569
|
sessionId: config.getSessionId(),
|
|
57314
57570
|
cwd: config.getTargetDir(),
|
|
57315
|
-
qwenVersion: version
|
|
57571
|
+
qwenVersion: version,
|
|
57572
|
+
kind: "tui"
|
|
57316
57573
|
})
|
|
57317
57574
|
);
|
|
57318
57575
|
registerCleanup(() => config.unregisterSessionRegistry());
|