@qwen-code/qwen-code 0.19.11 → 0.19.12-preview.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled/batch/SKILL.md +6 -0
- package/bundled/qc-helper/docs/configuration/model-providers.md +11 -0
- package/bundled/qc-helper/docs/configuration/settings.md +11 -10
- package/bundled/qc-helper/docs/features/channels/overview.md +66 -11
- package/bundled/qc-helper/docs/features/sub-agents.md +8 -8
- package/bundled/qc-helper/docs/features/worktree.md +2 -2
- package/bundled/qc-helper/docs/qwen-serve-deploy-local.md +42 -7
- package/bundled/qc-helper/docs/qwen-serve.md +102 -40
- package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +1 -1
- package/bundled/review/SKILL.md +60 -49
- package/bundled/simplify/SKILL.md +1 -1
- package/chunks/{MaxSizedBox-L6TGYDM3.js → MaxSizedBox-3KIWAU6Z.js} +31 -32
- package/chunks/{StandaloneSessionPicker-AKEQHU5P.js → StandaloneSessionPicker-TF626NO7.js} +45 -46
- package/chunks/acp-startup-profiler-N3RHHXJ3.js +25 -0
- package/chunks/{acpAgent-PTNBGJDN.js → acpAgent-JDVJXVBO.js} +1863 -507
- package/chunks/{agent-AJOMOZPJ.js → agent-BONWC4VY.js} +26 -27
- package/chunks/{agent-headless-CYKOMAXS.js → agent-headless-H7HKMGLZ.js} +26 -27
- package/chunks/{anthropicContentGenerator-HBRXJSP4.js → anthropicContentGenerator-ZZRGFEES.js} +35 -12
- package/chunks/{artifact-tool-MIZLXBLF.js → artifact-tool-PHO5XEGZ.js} +5 -5
- package/chunks/{askUserQuestion-XMJVPNWM.js → askUserQuestion-CEPBT47X.js} +2 -47
- package/chunks/{bridge-QKISWPCI.js → bridge-ATN2TLWJ.js} +31 -32
- package/chunks/{ca-CODEN7TD.js → ca-2SL2BXTK.js} +3 -2
- package/chunks/{channel-worker-group-SOUWTFHC.js → channel-worker-group-S3H5QHTI.js} +4 -4
- package/chunks/{channel-worker-manager-LOVSV3WW.js → channel-worker-manager-ZJ4HTMO2.js} +4 -4
- package/chunks/{channel-worker-supervisor-XW6MHJBQ.js → channel-worker-supervisor-JA6VZ5V5.js} +3 -3
- package/chunks/{chunk-ZIXOTAPZ.js → chunk-2DZ7E27L.js} +92 -3
- package/chunks/{chunk-L5U3ELZX.js → chunk-335ECZTA.js} +1 -1
- package/chunks/{chunk-2FO5GFKZ.js → chunk-3DJY4IFO.js} +1 -1
- package/chunks/{chunk-4AGTGMCQ.js → chunk-3PE7OY2G.js} +12 -12
- package/chunks/{chunk-QOTQH4CB.js → chunk-4AGBO6RB.js} +27 -10
- package/chunks/{chunk-Y66VOBRP.js → chunk-4CA4WUMS.js} +2 -2
- package/chunks/{chunk-LQIDP6K5.js → chunk-4CHDYDG3.js} +1 -1
- package/chunks/{chunk-574PTLMU.js → chunk-4OVECYBM.js} +407 -92
- package/chunks/{chunk-TV6K2FB4.js → chunk-4RPARQ5D.js} +2 -2
- package/chunks/{chunk-TL4R5TRK.js → chunk-4W55BHOC.js} +2 -2
- package/chunks/{chunk-RCEEXIOO.js → chunk-4XCVGEEX.js} +3 -3
- package/chunks/{chunk-3DWIFU7L.js → chunk-53UMEONK.js} +1 -1
- package/chunks/{chunk-AU3MFJPL.js → chunk-54KPEDM2.js} +8 -8
- package/chunks/{chunk-T76DGHGG.js → chunk-66F4IJ4L.js} +5 -5
- package/chunks/{chunk-YLSSEUAM.js → chunk-675SVDMD.js} +354 -278
- package/chunks/{chunk-NVTQZXR7.js → chunk-6QGZVKOO.js} +91 -52
- package/chunks/{chunk-NJOFRXTM.js → chunk-6TDA4EVC.js} +4200 -3450
- package/chunks/{chunk-BYH2JRK3.js → chunk-6WZZHJSZ.js} +5 -5
- package/chunks/{chunk-7X7TEQNX.js → chunk-76BFY7AF.js} +13 -0
- package/chunks/chunk-7KS72E2N.js +883 -0
- package/chunks/{chunk-CF5VJRGC.js → chunk-7LMAKIWE.js} +1 -1
- package/chunks/{chunk-WMNXXRGL.js → chunk-7O7WZH7N.js} +31 -31
- package/chunks/{chunk-7ZYHLN67.js → chunk-7OZGMFHC.js} +26 -75
- package/chunks/{chunk-6WPJRYLZ.js → chunk-7SX6WZNO.js} +3 -3
- package/chunks/{chunk-JGUT3LWZ.js → chunk-ANRANWVE.js} +4 -1
- package/chunks/{chunk-JD44PNGJ.js → chunk-AWOU24F6.js} +10 -5
- package/chunks/{chunk-6WGZDD67.js → chunk-BEFQGC6H.js} +2 -2
- package/chunks/{chunk-KXYJPRT5.js → chunk-BEZPRKD3.js} +28 -6
- package/chunks/{chunk-FYQ22K62.js → chunk-CHVH4DVN.js} +6 -5
- package/chunks/{chunk-LS56TX3M.js → chunk-CMHJEUVB.js} +1 -1
- package/chunks/{chunk-FXKOAEXP.js → chunk-CXWUXRD5.js} +14 -14
- package/chunks/{chunk-CAHY5ABC.js → chunk-DULSE2SH.js} +1 -1
- package/chunks/{chunk-SQ5BK3GO.js → chunk-DYUPBU7H.js} +1 -1
- package/chunks/{chunk-FNX3LGAK.js → chunk-E655RDRL.js} +1 -1
- package/chunks/{chunk-N5VIZTND.js → chunk-EWPLL4OT.js} +1 -1
- package/chunks/{chunk-FSA7ERJ2.js → chunk-F2RR4HO2.js} +1 -1
- package/chunks/{chunk-S63Z5V42.js → chunk-F2YCCUXI.js} +4 -4
- package/chunks/{chunk-3AYLDB6B.js → chunk-FEZXQXW2.js} +1 -1
- package/chunks/{chunk-OWT2CAEQ.js → chunk-GEHSF7MS.js} +105 -12
- package/chunks/{chunk-LXLTBIDP.js → chunk-HCCR43AY.js} +1 -1
- package/chunks/{chunk-7NMU22Q3.js → chunk-HQ7MDVBO.js} +18 -7
- package/chunks/{chunk-KSZKSE23.js → chunk-HVWPSGDY.js} +1 -1
- package/chunks/{chunk-YFVO2HOR.js → chunk-HZXU6YZW.js} +5 -5
- package/chunks/{chunk-HASK4LMI.js → chunk-IKLWU6YS.js} +13 -6
- package/chunks/{chunk-GNBBAQ6J.js → chunk-ILQ42UG6.js} +111 -40
- package/chunks/{chunk-THXDQSTA.js → chunk-IQRQVPGN.js} +49 -154
- package/chunks/{chunk-SPJQO2CE.js → chunk-J2MKYJKZ.js} +2 -2
- package/chunks/{chunk-SUARMD4Q.js → chunk-J6NT5YTN.js} +28 -2
- package/chunks/{chunk-TYLOFD2U.js → chunk-JCJPZMJV.js} +1 -1
- package/chunks/{chunk-BYB3GF2T.js → chunk-JCYMQU5F.js} +133 -6
- package/chunks/{chunk-6EDDYPI3.js → chunk-JUNVFQVY.js} +4 -4
- package/chunks/{chunk-CH2XVB47.js → chunk-K7P34F2J.js} +3 -3
- package/chunks/{chunk-5VWYKIMW.js → chunk-KANTXY7B.js} +2 -2
- package/chunks/{chunk-K7VD4XLT.js → chunk-LHEQDKAR.js} +1 -1
- package/chunks/{chunk-A2HWMJVO.js → chunk-LKR7QQ63.js} +3 -3
- package/chunks/{chunk-4HUDDSO5.js → chunk-LLIGYAQU.js} +4 -4
- package/chunks/{chunk-5Z452MMD.js → chunk-LODZMRXC.js} +154 -83
- package/chunks/{chunk-FBU7WRZI.js → chunk-LPHGXXZX.js} +6 -1
- package/chunks/{chunk-CPFIQVZJ.js → chunk-LYFDJTXE.js} +1 -1
- package/chunks/{chunk-TIOE2OPE.js → chunk-MCYZTKBV.js} +2 -2
- package/chunks/{chunk-ZQIYGQCG.js → chunk-MHEZV3OY.js} +506 -143
- package/chunks/{chunk-JWICTOXS.js → chunk-NGTQA57Y.js} +2 -2
- package/chunks/{chunk-5CNYZ7TN.js → chunk-NJQPQ4IO.js} +7 -7
- package/chunks/chunk-NSZJQACR.js +45 -0
- package/chunks/{chunk-DOPUYNXO.js → chunk-NUHSLBJZ.js} +7 -7
- package/chunks/{chunk-CITWNIXJ.js → chunk-NVUGS23Y.js} +5 -5
- package/chunks/{chunk-2Z5UX4KI.js → chunk-OSSDHJDU.js} +1 -1
- package/chunks/{chunk-YUZI3WAC.js → chunk-OWAK7LMW.js} +7 -0
- package/chunks/{chunk-Y3KFTWVX.js → chunk-OZWJAFFE.js} +6 -6
- package/chunks/{chunk-YGYSMY2R.js → chunk-PSISZNIT.js} +1629 -1142
- package/chunks/{chunk-4ROQY23C.js → chunk-PTXVHS2O.js} +7 -7
- package/chunks/{chunk-OKAIGAYW.js → chunk-QGONRHUS.js} +3 -3
- package/chunks/{chunk-PZL23GTM.js → chunk-QR6U5QPP.js} +8 -0
- package/chunks/chunk-QSG4ZFG4.js +257 -0
- package/chunks/{chunk-BXBDC476.js → chunk-R32BTEZY.js} +5 -5
- package/chunks/{chunk-AVEOWVOM.js → chunk-R3VWUU2E.js} +1 -1
- package/chunks/{chunk-RP5R7MB6.js → chunk-R4RIMOJL.js} +12 -12
- package/chunks/{chunk-ARKANCNX.js → chunk-SGPFJMRP.js} +1 -1
- package/chunks/{chunk-3M75MSVA.js → chunk-SMASS3CY.js} +1 -1
- package/chunks/{chunk-4IJMTYCB.js → chunk-SNONG66P.js} +818 -29
- package/chunks/chunk-TDKQP3M6.js +201 -0
- package/chunks/{chunk-VFX7EZIR.js → chunk-TFV3XVAZ.js} +8 -1
- package/chunks/{chunk-4LD5APFL.js → chunk-TYQMGACW.js} +1 -0
- package/chunks/{chunk-7NFB7LBQ.js → chunk-UE5TZ55T.js} +8 -0
- package/chunks/{chunk-F333XEAU.js → chunk-UOA2IHRI.js} +4 -3
- package/chunks/{chunk-VRR65QYW.js → chunk-V4PCIS25.js} +5 -1
- package/chunks/{chunk-WIEO4CWB.js → chunk-VAJS2E2D.js} +1 -1
- package/chunks/{chunk-GLNHPRZT.js → chunk-W4DFAUAO.js} +1 -1
- package/chunks/{chunk-STZQCNN3.js → chunk-W7H223ZZ.js} +1 -1
- package/chunks/{chunk-6Y6ORE2G.js → chunk-WACI4VES.js} +288 -20
- package/chunks/{chunk-WTNZ6DXB.js → chunk-WEPXQKGP.js} +1 -1
- package/chunks/{chunk-4BJVSIS3.js → chunk-WHQNBBWW.js} +2 -2
- package/chunks/{chunk-QDJ2R4CM.js → chunk-WTHRMVKB.js} +3 -3
- package/chunks/{chunk-L4Y55KIS.js → chunk-X6YQWCIJ.js} +1 -1
- package/chunks/{chunk-Q6TUALBE.js → chunk-XAAEDML2.js} +1 -1
- package/chunks/{chunk-BUAXJVNP.js → chunk-XACBIZJB.js} +3 -3
- package/chunks/{chunk-2OG646IN.js → chunk-XFJU7SVP.js} +4 -4
- package/chunks/{chunk-KKRTYONM.js → chunk-XSPFQQRE.js} +3 -3
- package/chunks/{chunk-V2DXTLUE.js → chunk-Y5UDBQYF.js} +3 -3
- package/chunks/{chunk-MQOVXZAF.js → chunk-YN2I5I42.js} +529 -61
- package/chunks/{chunk-FMNYGWOD.js → chunk-Z4ZCVYJ5.js} +14 -8
- package/chunks/{chunk-SY7NEYX4.js → chunk-ZFHHBRRA.js} +2 -2
- package/chunks/{chunk-QYG4BY6Q.js → chunk-ZPVGEMVC.js} +1 -1
- package/chunks/{computer-use-VZZMJEQ7.js → computer-use-UY4A72X7.js} +26 -27
- package/chunks/{config-utils-IQQT3GCI.js → config-utils-KWTRFP7D.js} +3 -3
- package/chunks/{contextCommand-PORKIZSY.js → contextCommand-3DZ2SVH6.js} +30 -31
- package/chunks/{create-sub-session-EAB2U5XW.js → create-sub-session-DIJOV6HV.js} +2 -2
- package/chunks/{create-sub-session-XVFKHAFW.js → create-sub-session-OT7WXLDO.js} +27 -28
- package/chunks/{cron-create-GMVKSXZT.js → cron-create-X462ERYA.js} +4 -4
- package/chunks/{cron-delete-VDZKUAVK.js → cron-delete-SL5UJUM3.js} +4 -4
- package/chunks/{cron-list-UG7C7RAR.js → cron-list-3MD6SVXI.js} +4 -4
- package/chunks/{daemon-IHR6WSPB.js → daemon-ZW6LHOXT.js} +91 -14
- package/chunks/{daemon-status-provider-ABLBA3UJ.js → daemon-status-provider-GTZOYSBO.js} +35 -36
- package/chunks/{de-NOXPCSYN.js → de-I7ZIYXZC.js} +3 -2
- package/chunks/{dist-PX2ERZ6I.js → dist-HCUUS6IH.js} +2 -2
- package/chunks/{dist-VYWUKURL.js → dist-O2IP3G5D.js} +1 -1
- package/chunks/{dist-GXJVCOS7.js → dist-RZBJT5O2.js} +2 -1
- package/chunks/{dist-V2YVLYOW.js → dist-Y54RURGT.js} +3 -1
- package/chunks/{dist-DOPL5LSQ.js → dist-YTPTCUAD.js} +1 -1
- package/chunks/{dist-4WCQEZIN.js → dist-ZJHKKWUD.js} +1 -1
- package/chunks/{earlyInputCapture-DJCU5SPU.js → earlyInputCapture-GGWVGBZ7.js} +27 -28
- package/chunks/{edit-O4VV5AO6.js → edit-JN467GIR.js} +27 -28
- package/chunks/{en-JFVULHTB.js → en-XE34GKAA.js} +7 -3
- package/chunks/{enter-worktree-XQYDDI2I.js → enter-worktree-MMO4VBQE.js} +26 -27
- package/chunks/{enterPlanMode-CESVMQBV.js → enterPlanMode-BRZOG4DB.js} +27 -30
- package/chunks/{environment-5KXOLZNR.js → environment-LOCDCWMZ.js} +29 -30
- package/chunks/{errors-EBUTCBAQ.js → errors-XXSL5HGG.js} +29 -30
- package/chunks/{exit-worktree-MWGNSPNX.js → exit-worktree-UD7PI5H5.js} +26 -27
- package/chunks/exitPlanMode-EIUETQI6.js +389 -0
- package/chunks/{fast-path-6V73F2T2.js → fast-path-ULGAEUVK.js} +2 -2
- package/chunks/{fr-HVFNU42H.js → fr-X7KDVZIY.js} +3 -2
- package/chunks/{gemini-TEFJZCIZ.js → gemini-KW3APZ4P.js} +133 -80
- package/chunks/{geminiContentGenerator-M56BEXWI.js → geminiContentGenerator-4BQ5QHPR.js} +5 -5
- package/chunks/{glob-DMYFEEAZ.js → glob-FPKAMR6B.js} +32 -28
- package/chunks/{grep-GYE47MD4.js → grep-MOGRCYB4.js} +32 -28
- package/chunks/{handleAutoUpdate-OLUY4L7L.js → handleAutoUpdate-QUMRZZOS.js} +33 -34
- package/chunks/{i18n-462JC7IY.js → i18n-F3W6YUYP.js} +28 -29
- package/chunks/{initializer-Y7WD4D2I.js → initializer-KLU2KAIZ.js} +33 -34
- package/chunks/{installationInfo-I2Z3BKCE.js → installationInfo-P3ZP2SIZ.js} +27 -28
- package/chunks/{ja-PY5AF544.js → ja-2ICT3KXF.js} +3 -2
- package/chunks/{keychain-token-storage-AU22CQI6.js → keychain-token-storage-K23CFKGN.js} +2 -2
- package/chunks/{list-XQ5MSAXP.js → list-4X6D5JD2.js} +35 -36
- package/chunks/{loadedSettingsAdapter-TQOWYE7C.js → loadedSettingsAdapter-446B6WKA.js} +32 -33
- package/chunks/{loop-wakeup-QXWZSCYM.js → loop-wakeup-6H7OENTB.js} +5 -5
- package/chunks/{ls-2OUTG3IZ.js → ls-APTSOOS5.js} +4 -4
- package/chunks/{lsp-4VMNXZW6.js → lsp-HPACPJAN.js} +2 -2
- package/chunks/{mcp-22LLEEVM.js → mcp-JYVOJZOD.js} +32 -33
- package/chunks/{monitor-VKG324X3.js → monitor-KY7YH7TL.js} +26 -27
- package/chunks/nonInteractiveCli-EK35TLVJ.js +129 -0
- package/chunks/{notebook-edit-FJJRBQ3S.js → notebook-edit-IHGW42QK.js} +27 -28
- package/chunks/{openaiContentGenerator-4T2OGTR5.js → openaiContentGenerator-FURUCKQJ.js} +13 -14
- package/chunks/{pidfile-XL3MDCBM.js → pidfile-WKUVXDMR.js} +27 -28
- package/chunks/{processUtils-7UCFN34D.js → processUtils-LHSRN76X.js} +2 -2
- package/chunks/{pt-A3PRQXMU.js → pt-JJ4XPIBP.js} +3 -2
- package/chunks/{qwenContentGenerator-PQUXJDIZ.js → qwenContentGenerator-NRLM7R36.js} +30 -31
- package/chunks/{qwenOAuth2-LEYOU7RU.js → qwenOAuth2-5FNX3AWH.js} +22 -5
- package/chunks/{read-file-3EYQML7E.js → read-file-VLEAEXFP.js} +9 -10
- package/chunks/{read-mcp-resource-JUFHCKSC.js → read-mcp-resource-C6NT52T6.js} +2 -2
- package/chunks/{record-artifact-DWSMBXYY.js → record-artifact-ENCU7QCL.js} +2 -2
- package/chunks/{ripGrep-S6WPGQNA.js → ripGrep-MT23EIDD.js} +26 -27
- package/chunks/{ru-IBCWUTOC.js → ru-STR4KTW7.js} +3 -2
- package/chunks/{run-qwen-serve-NSKBT3HU.js → run-qwen-serve-5HWOQFLI.js} +63 -47
- package/chunks/{runtime-LG5ZZ3VH.js → runtime-6IVKJSLW.js} +38 -37
- package/chunks/{scheduler-PLX3VVTB.js → scheduler-63GJG75U.js} +26 -27
- package/chunks/{send-message-JZ752NWD.js → send-message-5GZ4FX2V.js} +3 -3
- package/chunks/{serve-S2ZLRZZR.js → serve-3LL7RRDP.js} +32 -33
- package/chunks/{server-5ECMV4TM.js → server-AA24QLPA.js} +1672 -615
- package/chunks/{session-ILSONWG4.js → session-LRVCFQQQ.js} +102 -75
- package/chunks/{settings-BOE7WWSA.js → settings-ZX3OKUT4.js} +36 -37
- package/chunks/{shell-VW664JIZ.js → shell-KR3IMYH6.js} +26 -27
- package/chunks/{skill-COHV6625.js → skill-QLM2LSF7.js} +11 -12
- package/chunks/{spawnChannel-5UUR5XOZ.js → spawnChannel-6WFOK3SA.js} +28 -29
- package/chunks/{src-XPKFZ3RN.js → src-ADLNIPHD.js} +101 -72
- package/chunks/{standalone-update-IOOJ2NZQ.js → standalone-update-C54OTJWJ.js} +29 -30
- package/chunks/{startInteractiveUI-3NGJGXXS.js → startInteractiveUI-KFAOS6HC.js} +2342 -1796
- package/chunks/{stdioHelpers-UMY72QRP.js → stdioHelpers-HGIYTWAY.js} +3 -1
- package/chunks/{syntheticOutput-LELY6HAI.js → syntheticOutput-ULOVVLY4.js} +3 -3
- package/chunks/{task-create-QY3BIMNM.js → task-create-DUE2PMNI.js} +7 -7
- package/chunks/{task-list-D2U47WBJ.js → task-list-WVPNX7BZ.js} +5 -5
- package/chunks/{task-stop-N6E5IYLH.js → task-stop-CPEQWOT6.js} +2 -2
- package/chunks/{task-update-HJCQILLB.js → task-update-HY2LNFFB.js} +7 -7
- package/chunks/{team-create-UPLVZQFX.js → team-create-Q5B5M7UD.js} +26 -27
- package/chunks/{team-delete-RCWYDRF4.js → team-delete-JJV6IUOA.js} +5 -5
- package/chunks/{team-plan-approval-F5F432RO.js → team-plan-approval-J55PXNY2.js} +26 -27
- package/chunks/{theme-manager-JJE4BJ67.js → theme-manager-QWTDRPHV.js} +27 -28
- package/chunks/todoWrite-JHHIDOIV.js +358 -0
- package/chunks/{tool-search-LRXI4JLZ.js → tool-search-LSSKWZKH.js} +10 -11
- package/chunks/{total-session-admission-I4DHN6UP.js → total-session-admission-S6ATY5HY.js} +32 -33
- package/chunks/{trustedFolders-SEH7LNX2.js → trustedFolders-CY4TUPDJ.js} +28 -29
- package/chunks/turndown.cjs-FZHGMUTY.js +17670 -0
- package/chunks/{update-relaunch-T6ZKBUA6.js → update-relaunch-IOKOUV3K.js} +6 -6
- package/chunks/{updateCheck-FWLXZPRO.js → updateCheck-YNRFE4V7.js} +30 -31
- package/chunks/{validateNonInterActiveAuth-X6K2VWYT.js → validateNonInterActiveAuth-OXTECS4B.js} +68 -68
- package/chunks/{version-LIFSOGSE.js → version-2CZQQDL5.js} +1 -1
- package/chunks/web-fetch-7QTEGJI5.js +938 -0
- package/chunks/{workflow-NX2DFWGD.js → workflow-G3CZU256.js} +29 -30
- package/chunks/{workspace-providers-status-VYD6M2NE.js → workspace-providers-status-UHQOIPAZ.js} +35 -36
- package/chunks/{workspace-registration-store-2Y6PWOEL.js → workspace-registration-store-5WPCMX4F.js} +1 -1
- package/chunks/{workspace-registry-PKBDBWCA.js → workspace-registry-LAQCRQTH.js} +32 -33
- package/chunks/{workspace-service-HHORUHTS.js → workspace-service-6ZEUJY2Z.js} +38 -39
- package/chunks/{workspace-skills-status-O5Q26LIY.js → workspace-skills-status-YG6OITSM.js} +33 -34
- package/chunks/{write-file-NVAEZ3J2.js → write-file-E7T3PU3B.js} +60 -28
- package/chunks/{zh-PAUNIMHQ.js → zh-6ANG2HTL.js} +7 -3
- package/chunks/{zh-TW-GNEUIUFF.js → zh-TW-4RR3YHNN.js} +7 -3
- package/cli-entry.js +37 -2
- package/cli.js +17 -11
- package/locales/ca.js +3 -2
- package/locales/de.js +3 -2
- package/locales/en.js +10 -5
- package/locales/fr.js +3 -2
- package/locales/ja.js +3 -2
- package/locales/pt.js +3 -2
- package/locales/ru.js +3 -2
- package/locales/zh-TW.js +9 -3
- package/locales/zh.js +9 -3
- package/package.json +3 -3
- package/web-shell/assets/{arc-H74fE8UR.js → arc-_dVIKMdB.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-DN3kEq-I.js → architectureDiagram-3BPJPVTR-MuN3nKpL.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-BrqbsFUF.js → blockDiagram-GPEHLZMM-BtmvJjzx.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-ClFhU1P-.js → c4Diagram-AAUBKEIU-Dvi58_BU.js} +1 -1
- package/web-shell/assets/channel-Bi5TehaT.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-jCIcG0_M.js → chunk-2J33WTMH-YqxOVhS1.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-DSkGe62-.js → chunk-4BX2VUAB-DoBgbC9z.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-BxBHOGTd.js → chunk-55IACEB6-3NEQrBAr.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-v_DS7dH7.js → chunk-727SXJPM-DrCZQxp0.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-1RzEKRPq.js → chunk-AQP2D5EJ-m_g3zjgv.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-DyrSbLOX.js → chunk-FMBD7UC4-D1_crABJ.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-BCmdsZiy.js → chunk-ND2GUHAM-BdhgVtBx.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-CphHGW2D.js → chunk-QZHKN3VN-BlmThhm-.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-BKhhRdd1.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BKhhRdd1.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-D5kRC7Fi.js → cose-bilkent-S5V4N54A-Cbjm_00Z.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-DIiyJJ0U.js → dagre-BM42HDAG-C39QNVgC.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-BOcuB8xU.js → diagram-2AECGRRQ-DNXSAixC.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-CMgiZ4d3.js → diagram-5GNKFQAL-BCbGUPEA.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-Ctx8pfN0.js → diagram-KO2AKTUF-1eujKSDC.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-BT5REAWC.js → diagram-LMA3HP47-DUMKXgql.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-CJkUqXcp.js → diagram-OG6HWLK6-BFktU3_u.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-DyvNNX6v.js → erDiagram-TEJ5UH35-BvJC7DLk.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-VBf8_My8.js → flowDiagram-I6XJVG4X-Cgu3PlOt.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-CviJnR7B.js → ganttDiagram-6RSMTGT7-DLNXN5Xh.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-BY66_Oze.js → gitGraphDiagram-PVQCEYII-BQFRDv6R.js} +1 -1
- package/web-shell/assets/index-C_ouplMQ.js +1187 -0
- package/web-shell/assets/{index-DhYuvi3j.js → index-CdC3pjP3.js} +1 -1
- package/web-shell/assets/index-XGDFJE-X.css +5 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-D2jaewWZ.js → infoDiagram-5YYISTIA-DT2mOSvp.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-BpnNTyi5.js → ishikawaDiagram-YF4QCWOH-9fy_K4bd.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-CA55GNZF.js → journeyDiagram-JHISSGLW-CoGSEuhE.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-DyiSl_Ts.js → kanban-definition-UN3LZRKU-BP9hHYIj.js} +1 -1
- package/web-shell/assets/{linear-B-sN3dkV.js → linear-uIroDsmp.js} +1 -1
- package/web-shell/assets/{mermaid.core-xf9SXDdb.js → mermaid.core-BUwoStsA.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-DXhr2kRk.js → mindmap-definition-RKZ34NQL-DZB-FWim.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-DUXpbfGQ.js → pieDiagram-4H26LBE5-YPptloKl.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-NeDQYeWw.js → quadrantDiagram-W4KKPZXB-dgk3DSzm.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-BSbFRL1A.js → requirementDiagram-4Y6WPE33-BH2En2i9.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-gg27cAaN.js → sankeyDiagram-5OEKKPKP-BB98feeI.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-Bi_1TSs4.js → sequenceDiagram-3UESZ5HK-CunAIGh8.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-CboCCRaf.js → stateDiagram-AJRCARHV-DTJs_-I2.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DrfFMYta.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-DrGpF_jn.js → timeline-definition-PNZ67QCA-Cd4AN7O0.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-DCaJU67x.js → vennDiagram-CIIHVFJN-xIG-rUU9.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-p0QcW1aP.js → wardley-L42UT6IY-D1UyjIcG.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-DiEVxj1W.js → wardleyDiagram-YWT4CUSO-BVM0Mb99.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-iQB8nSlA.js → xychartDiagram-2RQKCTM6-BX31JDSz.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/chunk-2HRYPZT5.js +0 -25
- package/chunks/chunk-QAW7PIHT.js +0 -168
- package/chunks/chunk-RTV5TUYB.js +0 -143
- package/chunks/chunk-ZPAHLFZU.js +0 -172
- package/chunks/exitPlanMode-HYQL4XMB.js +0 -909
- package/chunks/nonInteractiveCli-UMYUT643.js +0 -129
- package/chunks/todoWrite-FKCGATPJ.js +0 -531
- package/chunks/web-fetch-CFCWTCAP.js +0 -5673
- package/web-shell/assets/channel-NFC5ADAa.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-DHgwjz3X.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-DHgwjz3X.js +0 -1
- package/web-shell/assets/index-8xIBbHV3.js +0 -1143
- package/web-shell/assets/index-DLyhlZZO.css +0 -5
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CXRqms6P.js +0 -1
|
@@ -11,9 +11,10 @@ import {
|
|
|
11
11
|
getCommandSourceBadge,
|
|
12
12
|
getCommandSourceGroup,
|
|
13
13
|
getCommandSubcommandNames,
|
|
14
|
+
parseCodeFenceInfo,
|
|
14
15
|
splitMarkdownTableRow,
|
|
15
16
|
useSessionStats
|
|
16
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-JCYMQU5F.js";
|
|
17
18
|
import {
|
|
18
19
|
Colors,
|
|
19
20
|
RowMouseController,
|
|
@@ -23,7 +24,7 @@ import {
|
|
|
23
24
|
useMouseEvents,
|
|
24
25
|
useSettings,
|
|
25
26
|
useTerminalSize
|
|
26
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-CHVH4DVN.js";
|
|
27
28
|
import {
|
|
28
29
|
CompactToolGroupDisplay,
|
|
29
30
|
SCREEN_READER_MODEL_PREFIX,
|
|
@@ -48,11 +49,11 @@ import {
|
|
|
48
49
|
useKeypress,
|
|
49
50
|
wrapAnsi,
|
|
50
51
|
wrapForMultiplexer
|
|
51
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-6QGZVKOO.js";
|
|
52
53
|
import {
|
|
53
54
|
MINIMUM_MAX_HEIGHT,
|
|
54
55
|
MaxSizedBox
|
|
55
|
-
} from "./chunk-
|
|
56
|
+
} from "./chunk-NUHSLBJZ.js";
|
|
56
57
|
import {
|
|
57
58
|
Box_default,
|
|
58
59
|
Static,
|
|
@@ -62,33 +63,35 @@ import {
|
|
|
62
63
|
theme,
|
|
63
64
|
use_is_screen_reader_enabled_default,
|
|
64
65
|
use_stdin_default
|
|
65
|
-
} from "./chunk-
|
|
66
|
-
import {
|
|
67
|
-
relaunchApp
|
|
68
|
-
} from "./chunk-LS56TX3M.js";
|
|
69
|
-
import {
|
|
70
|
-
isTerminalGoalStatusKind
|
|
71
|
-
} from "./chunk-7X7TEQNX.js";
|
|
72
|
-
import {
|
|
73
|
-
require_react
|
|
74
|
-
} from "./chunk-HTHUX2T5.js";
|
|
66
|
+
} from "./chunk-GEHSF7MS.js";
|
|
75
67
|
import {
|
|
76
68
|
resolveColor,
|
|
77
69
|
themeManager
|
|
78
|
-
} from "./chunk-
|
|
70
|
+
} from "./chunk-XAAEDML2.js";
|
|
71
|
+
import {
|
|
72
|
+
relaunchApp
|
|
73
|
+
} from "./chunk-CMHJEUVB.js";
|
|
79
74
|
import {
|
|
80
75
|
cpLen,
|
|
81
76
|
cpSlice,
|
|
82
77
|
escapeAnsiCtrlCodes,
|
|
83
78
|
getCachedStringWidth,
|
|
79
|
+
sanitizeFilenameForDisplay,
|
|
84
80
|
sanitizeMultilineForDisplay,
|
|
85
81
|
sanitizeSensitiveText,
|
|
86
82
|
sanitizeTerminalText,
|
|
87
83
|
stringWidth,
|
|
88
84
|
stripUnsafeCharacters,
|
|
89
85
|
toCodePoints,
|
|
86
|
+
truncateToWidth,
|
|
90
87
|
wrapToVisualLines
|
|
91
|
-
} from "./chunk-
|
|
88
|
+
} from "./chunk-J6NT5YTN.js";
|
|
89
|
+
import {
|
|
90
|
+
isTerminalGoalStatusKind
|
|
91
|
+
} from "./chunk-76BFY7AF.js";
|
|
92
|
+
import {
|
|
93
|
+
require_react
|
|
94
|
+
} from "./chunk-HTHUX2T5.js";
|
|
92
95
|
import {
|
|
93
96
|
formatDuration,
|
|
94
97
|
formatMemoryUsage,
|
|
@@ -101,18 +104,18 @@ import {
|
|
|
101
104
|
} from "./chunk-57OAHC2Y.js";
|
|
102
105
|
import {
|
|
103
106
|
createLoadedSettingsAdapter
|
|
104
|
-
} from "./chunk-
|
|
107
|
+
} from "./chunk-DYUPBU7H.js";
|
|
105
108
|
import {
|
|
106
109
|
getPersistScopeForModelSelection
|
|
107
|
-
} from "./chunk-
|
|
110
|
+
} from "./chunk-ILQ42UG6.js";
|
|
108
111
|
import {
|
|
109
112
|
getCurrentLanguage,
|
|
110
113
|
localizeToolDisplayName,
|
|
111
114
|
t
|
|
112
|
-
} from "./chunk-
|
|
115
|
+
} from "./chunk-3PE7OY2G.js";
|
|
113
116
|
import {
|
|
114
117
|
isWorkspaceTrusted
|
|
115
|
-
} from "./chunk-
|
|
118
|
+
} from "./chunk-XFJU7SVP.js";
|
|
116
119
|
import {
|
|
117
120
|
ALL_PROVIDERS,
|
|
118
121
|
IdeClient,
|
|
@@ -132,7 +135,7 @@ import {
|
|
|
132
135
|
resolveBaseUrl,
|
|
133
136
|
resolveMetadataKey,
|
|
134
137
|
resolveOwnsModel
|
|
135
|
-
} from "./chunk-
|
|
138
|
+
} from "./chunk-6TDA4EVC.js";
|
|
136
139
|
import {
|
|
137
140
|
stripAnsi
|
|
138
141
|
} from "./chunk-T4TZQJ7W.js";
|
|
@@ -141,17 +144,17 @@ import {
|
|
|
141
144
|
formatVisionBridgeNoticeDisplay,
|
|
142
145
|
getMCPServerStatus,
|
|
143
146
|
isVisionBridgeNoticeDisplay
|
|
144
|
-
} from "./chunk-
|
|
147
|
+
} from "./chunk-YN2I5I42.js";
|
|
145
148
|
import {
|
|
146
149
|
ToolDisplayNames,
|
|
147
150
|
ToolNames,
|
|
148
151
|
ToolNamesMigration
|
|
149
|
-
} from "./chunk-
|
|
152
|
+
} from "./chunk-ANRANWVE.js";
|
|
150
153
|
import {
|
|
151
154
|
createDebugLogger,
|
|
152
155
|
escapePath,
|
|
153
156
|
unescapePath
|
|
154
|
-
} from "./chunk-
|
|
157
|
+
} from "./chunk-UE5TZ55T.js";
|
|
155
158
|
import {
|
|
156
159
|
init_esbuild_shims
|
|
157
160
|
} from "./chunk-5O2XNYP6.js";
|
|
@@ -2471,14 +2474,16 @@ function colorizeLine(line, language, theme2) {
|
|
|
2471
2474
|
);
|
|
2472
2475
|
}
|
|
2473
2476
|
__name(colorizeLine, "colorizeLine");
|
|
2474
|
-
function colorizeCode(code, language, availableHeight, maxWidth,
|
|
2477
|
+
function colorizeCode(code, language, availableHeight, maxWidth, options = {}) {
|
|
2478
|
+
const { theme: theme2, settings, tabWidth = 4, startLineNumber = 1 } = options;
|
|
2479
|
+
const firstLineNumber = Math.max(1, Math.trunc(startLineNumber));
|
|
2475
2480
|
const codeToHighlight = code.replace(/\n$/, "").replace(/\t/g, " ".repeat(tabWidth));
|
|
2476
2481
|
const activeTheme = theme2 || themeManager.getActiveTheme();
|
|
2477
2482
|
const showLineNumbers = settings?.merged.ui?.showLineNumbers ?? true;
|
|
2478
2483
|
const lowlight = ensureLowlightLoading();
|
|
2479
2484
|
try {
|
|
2480
2485
|
let lines = codeToHighlight.split("\n");
|
|
2481
|
-
const padWidth = String(lines.length).length;
|
|
2486
|
+
const padWidth = String(lines.length + firstLineNumber - 1).length;
|
|
2482
2487
|
let hiddenLinesCount = 0;
|
|
2483
2488
|
if (availableHeight !== void 0) {
|
|
2484
2489
|
availableHeight = Math.max(availableHeight, MINIMUM_MAX_HEIGHT);
|
|
@@ -2503,10 +2508,9 @@ function colorizeCode(code, language, availableHeight, maxWidth, theme2, setting
|
|
|
2503
2508
|
lowlight
|
|
2504
2509
|
);
|
|
2505
2510
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Box_default, { children: [
|
|
2506
|
-
showLineNumbers && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { color: activeTheme.colors.Gray, children: `${String(
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
)} ` }),
|
|
2511
|
+
showLineNumbers && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { color: activeTheme.colors.Gray, children: `${String(
|
|
2512
|
+
index + firstLineNumber + hiddenLinesCount
|
|
2513
|
+
).padStart(padWidth, " ")} ` }),
|
|
2510
2514
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { color: activeTheme.defaultColor, wrap: "wrap", children: contentToRender })
|
|
2511
2515
|
] }, index);
|
|
2512
2516
|
})
|
|
@@ -2518,7 +2522,7 @@ function colorizeCode(code, language, availableHeight, maxWidth, theme2, setting
|
|
|
2518
2522
|
error
|
|
2519
2523
|
);
|
|
2520
2524
|
const lines = codeToHighlight.split("\n");
|
|
2521
|
-
const padWidth = String(lines.length).length;
|
|
2525
|
+
const padWidth = String(lines.length + firstLineNumber - 1).length;
|
|
2522
2526
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
2523
2527
|
MaxSizedBox,
|
|
2524
2528
|
{
|
|
@@ -2526,7 +2530,7 @@ function colorizeCode(code, language, availableHeight, maxWidth, theme2, setting
|
|
|
2526
2530
|
maxWidth,
|
|
2527
2531
|
overflowDirection: "top",
|
|
2528
2532
|
children: lines.map((line, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Box_default, { children: [
|
|
2529
|
-
showLineNumbers && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { color: activeTheme.defaultColor, children: `${String(index +
|
|
2533
|
+
showLineNumbers && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { color: activeTheme.defaultColor, children: `${String(index + firstLineNumber).padStart(padWidth, " ")} ` }),
|
|
2530
2534
|
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Text, { color: activeTheme.colors.Gray, children: line })
|
|
2531
2535
|
] }, index))
|
|
2532
2536
|
}
|
|
@@ -3588,7 +3592,7 @@ function escapeRegExp(text) {
|
|
|
3588
3592
|
return text.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
3589
3593
|
}
|
|
3590
3594
|
__name(escapeRegExp, "escapeRegExp");
|
|
3591
|
-
function
|
|
3595
|
+
function truncateToWidth2(text, width) {
|
|
3592
3596
|
if (width <= 0 || stringWidth(text) <= width) return text;
|
|
3593
3597
|
let result = "";
|
|
3594
3598
|
for (const char of text) {
|
|
@@ -3597,7 +3601,7 @@ function truncateToWidth(text, width) {
|
|
|
3597
3601
|
}
|
|
3598
3602
|
return result + "\u2026";
|
|
3599
3603
|
}
|
|
3600
|
-
__name(
|
|
3604
|
+
__name(truncateToWidth2, "truncateToWidth");
|
|
3601
3605
|
function center(text, width) {
|
|
3602
3606
|
const padding = Math.max(0, width - stringWidth(text));
|
|
3603
3607
|
const left = Math.floor(padding / 2);
|
|
@@ -3647,7 +3651,7 @@ function previewSourceFallback(source, contentWidth, type, warning) {
|
|
|
3647
3651
|
const sourceLines = allSourceLines.slice(0, MAX_SOURCE_FALLBACK_LINES);
|
|
3648
3652
|
const truncated = allSourceLines.length > sourceLines.length;
|
|
3649
3653
|
const lines = ["```mermaid", ...sourceLines, "```"].map(
|
|
3650
|
-
(line) =>
|
|
3654
|
+
(line) => truncateToWidth2(line, contentWidth)
|
|
3651
3655
|
);
|
|
3652
3656
|
return {
|
|
3653
3657
|
title: `Mermaid source (${type})`,
|
|
@@ -3790,7 +3794,7 @@ function normalizeFlowNodeLabels(edges) {
|
|
|
3790
3794
|
__name(normalizeFlowNodeLabels, "normalizeFlowNodeLabels");
|
|
3791
3795
|
function boxNode(node, width) {
|
|
3792
3796
|
const labels = nodeLabelLines(node.label).map(
|
|
3793
|
-
(line) =>
|
|
3797
|
+
(line) => truncateToWidth2(line, Math.max(3, width - 4))
|
|
3794
3798
|
);
|
|
3795
3799
|
const innerWidth = Math.max(4, ...labels.map((label) => stringWidth(label)));
|
|
3796
3800
|
if (node.shape === "diamond") {
|
|
@@ -4066,7 +4070,7 @@ function drawForwardVerticalEdge(canvas, from, to, label) {
|
|
|
4066
4070
|
canvas,
|
|
4067
4071
|
Math.min(canvas[midY].length - 1, from.centerX + 2),
|
|
4068
4072
|
midY,
|
|
4069
|
-
|
|
4073
|
+
truncateToWidth2(label, 14)
|
|
4070
4074
|
);
|
|
4071
4075
|
}
|
|
4072
4076
|
return;
|
|
@@ -4082,7 +4086,7 @@ function drawForwardVerticalEdge(canvas, from, to, label) {
|
|
|
4082
4086
|
putChar(canvas, to.centerX, bendY, targetIsRight ? "\u2510" : "\u250C", true);
|
|
4083
4087
|
putChar(canvas, to.centerX, endY, "\u25BC");
|
|
4084
4088
|
if (label) {
|
|
4085
|
-
const text =
|
|
4089
|
+
const text = truncateToWidth2(label, 14);
|
|
4086
4090
|
const labelX = Math.abs(to.centerX - from.centerX) > stringWidth(text) + 2 ? Math.min(from.centerX, to.centerX) + Math.floor(
|
|
4087
4091
|
(Math.abs(to.centerX - from.centerX) - stringWidth(text)) / 2
|
|
4088
4092
|
) : Math.min(canvas[bendY].length - stringWidth(text), from.centerX + 2);
|
|
@@ -4121,7 +4125,7 @@ function drawVerticalFork(canvas, from, targets) {
|
|
|
4121
4125
|
putChar(canvas, target.to.centerX, forkY, targetJunction, true);
|
|
4122
4126
|
putChar(canvas, target.to.centerX, endY, "\u25BC");
|
|
4123
4127
|
if (target.edge.label) {
|
|
4124
|
-
const label = `[${
|
|
4128
|
+
const label = `[${truncateToWidth2(target.edge.label, 10)}]`;
|
|
4125
4129
|
const x = Math.max(
|
|
4126
4130
|
0,
|
|
4127
4131
|
Math.min(
|
|
@@ -4156,7 +4160,7 @@ function drawHorizontalEdge(canvas, from, to, label) {
|
|
|
4156
4160
|
drawHorizontal(canvas, from.centerY, fromX, toX);
|
|
4157
4161
|
putChar(canvas, toX, to.centerY, forward ? "\u25B6" : "\u25C0");
|
|
4158
4162
|
if (label) {
|
|
4159
|
-
const text =
|
|
4163
|
+
const text = truncateToWidth2(label, 12);
|
|
4160
4164
|
putText(
|
|
4161
4165
|
canvas,
|
|
4162
4166
|
Math.max(0, midX - Math.floor(stringWidth(text) / 2)),
|
|
@@ -4171,7 +4175,7 @@ function drawHorizontalEdge(canvas, from, to, label) {
|
|
|
4171
4175
|
drawHorizontal(canvas, to.centerY, midX, toX);
|
|
4172
4176
|
putChar(canvas, toX, to.centerY, forward ? "\u25B6" : "\u25C0");
|
|
4173
4177
|
if (label) {
|
|
4174
|
-
const text =
|
|
4178
|
+
const text = truncateToWidth2(label, 12);
|
|
4175
4179
|
putText(
|
|
4176
4180
|
canvas,
|
|
4177
4181
|
Math.max(0, midX - Math.floor(stringWidth(text) / 2)),
|
|
@@ -4182,7 +4186,7 @@ function drawHorizontalEdge(canvas, from, to, label) {
|
|
|
4182
4186
|
}
|
|
4183
4187
|
__name(drawHorizontalEdge, "drawHorizontalEdge");
|
|
4184
4188
|
function canvasToLines(canvas, contentWidth) {
|
|
4185
|
-
return canvas.map((row) =>
|
|
4189
|
+
return canvas.map((row) => truncateToWidth2(row.join("").trimEnd(), contentWidth)).filter(
|
|
4186
4190
|
(line, index, lines) => line.length > 0 || index < lines.length - 1
|
|
4187
4191
|
);
|
|
4188
4192
|
}
|
|
@@ -4236,7 +4240,7 @@ function renderLayeredFlowchart(edges, contentWidth, horizontal) {
|
|
|
4236
4240
|
lines.push("");
|
|
4237
4241
|
lines.push("Cycles:");
|
|
4238
4242
|
for (const note of loopNotes) {
|
|
4239
|
-
lines.push(
|
|
4243
|
+
lines.push(truncateToWidth2(` ${note}`, contentWidth));
|
|
4240
4244
|
}
|
|
4241
4245
|
}
|
|
4242
4246
|
return lines;
|
|
@@ -4328,7 +4332,7 @@ function renderSequence(source, contentWidth) {
|
|
|
4328
4332
|
continue;
|
|
4329
4333
|
}
|
|
4330
4334
|
messages.push(
|
|
4331
|
-
|
|
4335
|
+
truncateToWidth2(
|
|
4332
4336
|
`${participants.get(from) ?? from} ${arrow} ${participants.get(to) ?? to}: ${message}`,
|
|
4333
4337
|
contentWidth
|
|
4334
4338
|
)
|
|
@@ -4343,7 +4347,7 @@ function renderSequence(source, contentWidth) {
|
|
|
4343
4347
|
"Sequence preview supports A->>B: message style arrows; showing source instead."
|
|
4344
4348
|
);
|
|
4345
4349
|
}
|
|
4346
|
-
const lines = [
|
|
4350
|
+
const lines = [truncateToWidth2(header, contentWidth), ""];
|
|
4347
4351
|
lines.push(...messages);
|
|
4348
4352
|
return {
|
|
4349
4353
|
title: "Mermaid sequence diagram",
|
|
@@ -4383,7 +4387,7 @@ function renderClassDiagram(source, contentWidth) {
|
|
|
4383
4387
|
classes.add(from);
|
|
4384
4388
|
classes.add(to);
|
|
4385
4389
|
relationships.push(
|
|
4386
|
-
|
|
4390
|
+
truncateToWidth2(
|
|
4387
4391
|
`${from} ${relation} ${to}${label ? `: ${label}` : ""}`,
|
|
4388
4392
|
contentWidth
|
|
4389
4393
|
)
|
|
@@ -4394,7 +4398,7 @@ function renderClassDiagram(source, contentWidth) {
|
|
|
4394
4398
|
if (inlineMemberMatch) {
|
|
4395
4399
|
classes.add(inlineMemberMatch[1]);
|
|
4396
4400
|
members.push(
|
|
4397
|
-
|
|
4401
|
+
truncateToWidth2(
|
|
4398
4402
|
`${inlineMemberMatch[1]}: ${stripMermaidPunctuation(inlineMemberMatch[2])}`,
|
|
4399
4403
|
contentWidth
|
|
4400
4404
|
)
|
|
@@ -4403,7 +4407,7 @@ function renderClassDiagram(source, contentWidth) {
|
|
|
4403
4407
|
}
|
|
4404
4408
|
if (currentClass) {
|
|
4405
4409
|
members.push(
|
|
4406
|
-
|
|
4410
|
+
truncateToWidth2(
|
|
4407
4411
|
`${currentClass}: ${stripMermaidPunctuation(line)}`,
|
|
4408
4412
|
contentWidth
|
|
4409
4413
|
)
|
|
@@ -4419,7 +4423,7 @@ function renderClassDiagram(source, contentWidth) {
|
|
|
4419
4423
|
);
|
|
4420
4424
|
}
|
|
4421
4425
|
const output = [
|
|
4422
|
-
|
|
4426
|
+
truncateToWidth2(
|
|
4423
4427
|
`Classes: ${Array.from(classes).join(" | ") || "not declared"}`,
|
|
4424
4428
|
contentWidth
|
|
4425
4429
|
),
|
|
@@ -4445,7 +4449,7 @@ function renderStateDiagram(source, contentWidth) {
|
|
|
4445
4449
|
const to = stripMermaidPunctuation(transitionMatch[2]);
|
|
4446
4450
|
const label = stripMermaidPunctuation(transitionMatch[3] ?? "");
|
|
4447
4451
|
transitions.push(
|
|
4448
|
-
|
|
4452
|
+
truncateToWidth2(
|
|
4449
4453
|
`${from} \u2192 ${to}${label ? `: ${label}` : ""}`,
|
|
4450
4454
|
contentWidth
|
|
4451
4455
|
)
|
|
@@ -4455,7 +4459,7 @@ function renderStateDiagram(source, contentWidth) {
|
|
|
4455
4459
|
const stateMatch = /^state\s+(.+?)(?:\s+as\s+(.+))?$/i.exec(line);
|
|
4456
4460
|
if (stateMatch) {
|
|
4457
4461
|
declarations.push(
|
|
4458
|
-
|
|
4462
|
+
truncateToWidth2(
|
|
4459
4463
|
stripMermaidPunctuation(stateMatch[2] ?? stateMatch[1]),
|
|
4460
4464
|
contentWidth
|
|
4461
4465
|
)
|
|
@@ -4505,7 +4509,7 @@ function renderErDiagram(source, contentWidth) {
|
|
|
4505
4509
|
entities.add(relationMatch[1]);
|
|
4506
4510
|
entities.add(relationMatch[3]);
|
|
4507
4511
|
relationships.push(
|
|
4508
|
-
|
|
4512
|
+
truncateToWidth2(
|
|
4509
4513
|
`${relationMatch[1]} ${relationMatch[2]} ${relationMatch[3]}${relationMatch[4] ? `: ${stripMermaidPunctuation(relationMatch[4])}` : ""}`,
|
|
4510
4514
|
contentWidth
|
|
4511
4515
|
)
|
|
@@ -4514,7 +4518,7 @@ function renderErDiagram(source, contentWidth) {
|
|
|
4514
4518
|
}
|
|
4515
4519
|
if (currentEntity) {
|
|
4516
4520
|
attributes.push(
|
|
4517
|
-
|
|
4521
|
+
truncateToWidth2(
|
|
4518
4522
|
`${currentEntity}: ${stripMermaidPunctuation(line)}`,
|
|
4519
4523
|
contentWidth
|
|
4520
4524
|
)
|
|
@@ -4532,7 +4536,7 @@ function renderErDiagram(source, contentWidth) {
|
|
|
4532
4536
|
return {
|
|
4533
4537
|
title: "Mermaid ER diagram",
|
|
4534
4538
|
lines: [
|
|
4535
|
-
|
|
4539
|
+
truncateToWidth2(
|
|
4536
4540
|
`Entities: ${Array.from(entities).join(" | ") || "not declared"}`,
|
|
4537
4541
|
contentWidth
|
|
4538
4542
|
),
|
|
@@ -4548,7 +4552,7 @@ function renderPieDiagram(source, contentWidth) {
|
|
|
4548
4552
|
const { lines: rawLines, truncated } = diagramLines(source, PIE_START_RE);
|
|
4549
4553
|
const titleLine = rawLines.find((line) => /^title\b/i.test(line));
|
|
4550
4554
|
const slices = rawLines.map((line) => /^["']?(.+?)["']?\s*:\s*([0-9.]+)\s*$/.exec(line)).filter((match) => match !== null).map(
|
|
4551
|
-
(match) =>
|
|
4555
|
+
(match) => truncateToWidth2(
|
|
4552
4556
|
`${stripMermaidPunctuation(match[1])}: ${match[2]}`,
|
|
4553
4557
|
contentWidth
|
|
4554
4558
|
)
|
|
@@ -4565,7 +4569,7 @@ function renderPieDiagram(source, contentWidth) {
|
|
|
4565
4569
|
title: "Mermaid pie chart",
|
|
4566
4570
|
lines: [
|
|
4567
4571
|
...titleLine ? [
|
|
4568
|
-
|
|
4572
|
+
truncateToWidth2(stripMermaidPunctuation(titleLine), contentWidth),
|
|
4569
4573
|
""
|
|
4570
4574
|
] : [],
|
|
4571
4575
|
...slices
|
|
@@ -4587,7 +4591,7 @@ function renderGanttDiagram(source, contentWidth) {
|
|
|
4587
4591
|
if (section) {
|
|
4588
4592
|
output.push("");
|
|
4589
4593
|
output.push(
|
|
4590
|
-
|
|
4594
|
+
truncateToWidth2(
|
|
4591
4595
|
`Section: ${stripMermaidPunctuation(section[1])}`,
|
|
4592
4596
|
contentWidth
|
|
4593
4597
|
)
|
|
@@ -4597,7 +4601,7 @@ function renderGanttDiagram(source, contentWidth) {
|
|
|
4597
4601
|
const title = /^title\s+(.+)$/i.exec(line);
|
|
4598
4602
|
if (title) {
|
|
4599
4603
|
output.push(
|
|
4600
|
-
|
|
4604
|
+
truncateToWidth2(
|
|
4601
4605
|
`Title: ${stripMermaidPunctuation(title[1])}`,
|
|
4602
4606
|
contentWidth
|
|
4603
4607
|
)
|
|
@@ -4605,7 +4609,7 @@ function renderGanttDiagram(source, contentWidth) {
|
|
|
4605
4609
|
continue;
|
|
4606
4610
|
}
|
|
4607
4611
|
output.push(
|
|
4608
|
-
|
|
4612
|
+
truncateToWidth2(`\u2022 ${stripMermaidPunctuation(line)}`, contentWidth)
|
|
4609
4613
|
);
|
|
4610
4614
|
}
|
|
4611
4615
|
if (output.length === 0) {
|
|
@@ -4630,7 +4634,7 @@ function renderJourneyDiagram(source, contentWidth) {
|
|
|
4630
4634
|
const title = /^title\s+(.+)$/i.exec(line);
|
|
4631
4635
|
if (title) {
|
|
4632
4636
|
output.push(
|
|
4633
|
-
|
|
4637
|
+
truncateToWidth2(
|
|
4634
4638
|
`Title: ${stripMermaidPunctuation(title[1])}`,
|
|
4635
4639
|
contentWidth
|
|
4636
4640
|
)
|
|
@@ -4641,7 +4645,7 @@ function renderJourneyDiagram(source, contentWidth) {
|
|
|
4641
4645
|
if (section) {
|
|
4642
4646
|
output.push("");
|
|
4643
4647
|
output.push(
|
|
4644
|
-
|
|
4648
|
+
truncateToWidth2(
|
|
4645
4649
|
`Section: ${stripMermaidPunctuation(section[1])}`,
|
|
4646
4650
|
contentWidth
|
|
4647
4651
|
)
|
|
@@ -4649,7 +4653,7 @@ function renderJourneyDiagram(source, contentWidth) {
|
|
|
4649
4653
|
continue;
|
|
4650
4654
|
}
|
|
4651
4655
|
output.push(
|
|
4652
|
-
|
|
4656
|
+
truncateToWidth2(`\u2022 ${stripMermaidPunctuation(line)}`, contentWidth)
|
|
4653
4657
|
);
|
|
4654
4658
|
}
|
|
4655
4659
|
if (output.length === 0) {
|
|
@@ -4677,7 +4681,7 @@ function renderIndentedTreeDiagram(source, contentWidth, startRe, title, sourceT
|
|
|
4677
4681
|
const safeLine = sanitizeTerminalText2(line);
|
|
4678
4682
|
const indentation = /^\s*/.exec(safeLine)?.[0].length ?? 0;
|
|
4679
4683
|
const depth = Math.floor(indentation / 2);
|
|
4680
|
-
return
|
|
4684
|
+
return truncateToWidth2(
|
|
4681
4685
|
`${" ".repeat(depth)}\u2022 ${safeLine.trim()}`,
|
|
4682
4686
|
contentWidth
|
|
4683
4687
|
);
|
|
@@ -5782,7 +5786,7 @@ function countMarkdownSourceBlocks(text) {
|
|
|
5782
5786
|
}
|
|
5783
5787
|
if (codeFenceMatch) {
|
|
5784
5788
|
activeCodeFence = codeFenceMatch[1];
|
|
5785
|
-
const lang = codeFenceMatch[2]
|
|
5789
|
+
const lang = parseCodeFenceInfo(codeFenceMatch[2]).lang?.toLowerCase();
|
|
5786
5790
|
if (lang) {
|
|
5787
5791
|
codeBlockLanguageCounts.set(
|
|
5788
5792
|
lang,
|
|
@@ -5917,6 +5921,7 @@ var MarkdownDisplayInternal = /* @__PURE__ */ __name(({
|
|
|
5917
5921
|
let codeBlockIndex = 0;
|
|
5918
5922
|
let currentCodeBlockIndex = 0;
|
|
5919
5923
|
let currentCodeBlockLangIndex = 0;
|
|
5924
|
+
let currentCodeBlockStartLine = 1;
|
|
5920
5925
|
const codeBlockLanguageCounts = new Map(
|
|
5921
5926
|
sourceCopyIndexOffsets?.codeBlockLanguageCounts
|
|
5922
5927
|
);
|
|
@@ -5954,7 +5959,8 @@ var MarkdownDisplayInternal = /* @__PURE__ */ __name(({
|
|
|
5954
5959
|
codeBlockLangIndex: currentCodeBlockLangIndex,
|
|
5955
5960
|
isPending,
|
|
5956
5961
|
availableTerminalHeight,
|
|
5957
|
-
contentWidth
|
|
5962
|
+
contentWidth,
|
|
5963
|
+
startLineNumber: currentCodeBlockStartLine
|
|
5958
5964
|
},
|
|
5959
5965
|
key
|
|
5960
5966
|
)
|
|
@@ -6007,7 +6013,9 @@ var MarkdownDisplayInternal = /* @__PURE__ */ __name(({
|
|
|
6007
6013
|
codeBlockIndex += 1;
|
|
6008
6014
|
currentCodeBlockIndex = codeBlockIndex;
|
|
6009
6015
|
codeBlockFence = codeFenceMatch[1];
|
|
6010
|
-
|
|
6016
|
+
const fenceInfo = parseCodeFenceInfo(codeFenceMatch[2]);
|
|
6017
|
+
codeBlockLang = fenceInfo.lang;
|
|
6018
|
+
currentCodeBlockStartLine = fenceInfo.startLine;
|
|
6011
6019
|
if (codeBlockLang) {
|
|
6012
6020
|
const normalizedLang = codeBlockLang.toLowerCase();
|
|
6013
6021
|
const nextLangIndex = (codeBlockLanguageCounts.get(normalizedLang) ?? 0) + 1;
|
|
@@ -6231,7 +6239,8 @@ var MarkdownDisplayInternal = /* @__PURE__ */ __name(({
|
|
|
6231
6239
|
codeBlockLangIndex: currentCodeBlockLangIndex,
|
|
6232
6240
|
isPending,
|
|
6233
6241
|
availableTerminalHeight,
|
|
6234
|
-
contentWidth
|
|
6242
|
+
contentWidth,
|
|
6243
|
+
startLineNumber: currentCodeBlockStartLine
|
|
6235
6244
|
},
|
|
6236
6245
|
"line-eof"
|
|
6237
6246
|
)
|
|
@@ -6292,7 +6301,8 @@ var RenderCodeBlockInternal = /* @__PURE__ */ __name(({
|
|
|
6292
6301
|
codeBlockLangIndex,
|
|
6293
6302
|
isPending,
|
|
6294
6303
|
availableTerminalHeight,
|
|
6295
|
-
contentWidth
|
|
6304
|
+
contentWidth,
|
|
6305
|
+
startLineNumber = 1
|
|
6296
6306
|
}) => {
|
|
6297
6307
|
const settings = useSettings();
|
|
6298
6308
|
const { renderMode } = useRenderMode();
|
|
@@ -6336,8 +6346,7 @@ var RenderCodeBlockInternal = /* @__PURE__ */ __name(({
|
|
|
6336
6346
|
lang,
|
|
6337
6347
|
availableTerminalHeight,
|
|
6338
6348
|
contentWidth - CODE_BLOCK_PREFIX_PADDING,
|
|
6339
|
-
|
|
6340
|
-
settings
|
|
6349
|
+
{ settings, startLineNumber }
|
|
6341
6350
|
);
|
|
6342
6351
|
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(Box_default, { paddingLeft: CODE_BLOCK_PREFIX_PADDING, flexDirection: "column", children: colorizedTruncatedCode });
|
|
6343
6352
|
}
|
|
@@ -6347,8 +6356,7 @@ var RenderCodeBlockInternal = /* @__PURE__ */ __name(({
|
|
|
6347
6356
|
lang,
|
|
6348
6357
|
availableTerminalHeight,
|
|
6349
6358
|
contentWidth - CODE_BLOCK_PREFIX_PADDING,
|
|
6350
|
-
|
|
6351
|
-
settings
|
|
6359
|
+
{ settings, startLineNumber }
|
|
6352
6360
|
);
|
|
6353
6361
|
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
6354
6362
|
Box_default,
|
|
@@ -6914,9 +6922,7 @@ var DiffRenderer = /* @__PURE__ */ __name(({
|
|
|
6914
6922
|
language,
|
|
6915
6923
|
availableTerminalHeight,
|
|
6916
6924
|
contentWidth,
|
|
6917
|
-
theme2,
|
|
6918
|
-
settings,
|
|
6919
|
-
tabWidth
|
|
6925
|
+
{ theme: theme2, settings, tabWidth }
|
|
6920
6926
|
);
|
|
6921
6927
|
} else {
|
|
6922
6928
|
renderedOutput = renderDiffContent(
|
|
@@ -7187,6 +7193,7 @@ var Command = /* @__PURE__ */ ((Command2) => {
|
|
|
7187
7193
|
Command2["COMPLETION_UP"] = "completionUp";
|
|
7188
7194
|
Command2["COMPLETION_DOWN"] = "completionDown";
|
|
7189
7195
|
Command2["SUBMIT"] = "submit";
|
|
7196
|
+
Command2["QUEUE_MESSAGE"] = "queueMessage";
|
|
7190
7197
|
Command2["NEWLINE"] = "newline";
|
|
7191
7198
|
Command2["VOICE_PUSH_TO_TALK"] = "voicePushToTalk";
|
|
7192
7199
|
Command2["OPEN_EXTERNAL_EDITOR"] = "openExternalEditor";
|
|
@@ -7259,7 +7266,10 @@ var defaultKeyBindings = {
|
|
|
7259
7266
|
{ key: "n", ctrl: true }
|
|
7260
7267
|
],
|
|
7261
7268
|
// Auto-completion
|
|
7262
|
-
["acceptSuggestion" /* ACCEPT_SUGGESTION */]: [
|
|
7269
|
+
["acceptSuggestion" /* ACCEPT_SUGGESTION */]: [
|
|
7270
|
+
{ key: "tab" },
|
|
7271
|
+
{ key: "return", ctrl: false, shift: false }
|
|
7272
|
+
],
|
|
7263
7273
|
// Completion navigation: arrows + readline/Vim-style Ctrl+P/Ctrl+N
|
|
7264
7274
|
["completionUp" /* COMPLETION_UP */]: [
|
|
7265
7275
|
{ key: "up", shift: false },
|
|
@@ -7280,6 +7290,9 @@ var defaultKeyBindings = {
|
|
|
7280
7290
|
shift: false
|
|
7281
7291
|
}
|
|
7282
7292
|
],
|
|
7293
|
+
["queueMessage" /* QUEUE_MESSAGE */]: [
|
|
7294
|
+
{ key: "q", ctrl: true, command: false, shift: false, paste: false }
|
|
7295
|
+
],
|
|
7283
7296
|
// Split into multiple data-driven bindings
|
|
7284
7297
|
// Now also includes shift+enter for multi-line input
|
|
7285
7298
|
["newline" /* NEWLINE */]: [
|
|
@@ -10771,9 +10784,23 @@ __name(TextInput, "TextInput");
|
|
|
10771
10784
|
|
|
10772
10785
|
// packages/cli/src/ui/components/messages/AskUserQuestionDialog.tsx
|
|
10773
10786
|
var import_jsx_runtime14 = __toESM(require_jsx_runtime(), 1);
|
|
10787
|
+
function computeHeaderCap(headerWidths, available) {
|
|
10788
|
+
const ascending = [...headerWidths].sort((a, b) => a - b);
|
|
10789
|
+
let remaining = available;
|
|
10790
|
+
for (let i = 0; i < ascending.length; i++) {
|
|
10791
|
+
const cap = Math.floor(remaining / (ascending.length - i));
|
|
10792
|
+
if (ascending[i] > cap) {
|
|
10793
|
+
return Math.max(0, cap);
|
|
10794
|
+
}
|
|
10795
|
+
remaining -= ascending[i];
|
|
10796
|
+
}
|
|
10797
|
+
return Number.MAX_SAFE_INTEGER;
|
|
10798
|
+
}
|
|
10799
|
+
__name(computeHeaderCap, "computeHeaderCap");
|
|
10774
10800
|
var AskUserQuestionDialog = /* @__PURE__ */ __name(({
|
|
10775
10801
|
confirmationDetails,
|
|
10776
10802
|
isFocused = true,
|
|
10803
|
+
availableWidth,
|
|
10777
10804
|
onConfirm
|
|
10778
10805
|
}) => {
|
|
10779
10806
|
const [currentQuestionIndex, setCurrentQuestionIndex] = (0, import_react15.useState)(0);
|
|
@@ -10807,6 +10834,20 @@ var AskUserQuestionDialog = /* @__PURE__ */ __name(({
|
|
|
10807
10834
|
}
|
|
10808
10835
|
return selectedOptions[idx];
|
|
10809
10836
|
}, "getAnswerForQuestion");
|
|
10837
|
+
const numHeaders = confirmationDetails.questions.length;
|
|
10838
|
+
const answeredHeaders = confirmationDetails.questions.filter(
|
|
10839
|
+
(_, idx) => getAnswerForQuestion(idx) !== void 0
|
|
10840
|
+
).length;
|
|
10841
|
+
const dialogPadding = 2;
|
|
10842
|
+
const submitChipWidth = (isSubmitTab ? 2 : 1) + getCachedStringWidth(t("Submit"));
|
|
10843
|
+
const chipGaps = numHeaders;
|
|
10844
|
+
const headerPrefixes = 2 * numHeaders;
|
|
10845
|
+
const answeredMarks = 2 * answeredHeaders;
|
|
10846
|
+
const rowOverhead = dialogPadding + submitChipWidth + chipGaps + headerPrefixes + answeredMarks;
|
|
10847
|
+
const headerCap = computeHeaderCap(
|
|
10848
|
+
confirmationDetails.questions.map((q) => getCachedStringWidth(q.header)),
|
|
10849
|
+
availableWidth - rowOverhead
|
|
10850
|
+
);
|
|
10810
10851
|
const handleSubmit = /* @__PURE__ */ __name(async () => {
|
|
10811
10852
|
const answers = {};
|
|
10812
10853
|
confirmationDetails.questions.forEach((_, idx) => {
|
|
@@ -10969,8 +11010,8 @@ var AskUserQuestionDialog = /* @__PURE__ */ __name(({
|
|
|
10969
11010
|
confirmationDetails.questions.map((q, idx) => {
|
|
10970
11011
|
const isAnswered = getAnswerForQuestion(idx) !== void 0;
|
|
10971
11012
|
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(Text, { dimColor: true, children: [
|
|
10972
|
-
|
|
10973
|
-
q.header,
|
|
11013
|
+
" ",
|
|
11014
|
+
truncateToWidth(q.header, headerCap),
|
|
10974
11015
|
isAnswered ? " \u2713" : ""
|
|
10975
11016
|
] }) }, idx);
|
|
10976
11017
|
}),
|
|
@@ -11033,7 +11074,7 @@ var AskUserQuestionDialog = /* @__PURE__ */ __name(({
|
|
|
11033
11074
|
dimColor: idx !== currentQuestionIndex,
|
|
11034
11075
|
children: [
|
|
11035
11076
|
idx === currentQuestionIndex ? "\u25B8 " : " ",
|
|
11036
|
-
q.header,
|
|
11077
|
+
truncateToWidth(q.header, headerCap),
|
|
11037
11078
|
isAnswered ? " \u2713" : ""
|
|
11038
11079
|
]
|
|
11039
11080
|
}
|
|
@@ -11433,6 +11474,7 @@ var ToolConfirmationMessage = /* @__PURE__ */ __name(({
|
|
|
11433
11474
|
{
|
|
11434
11475
|
confirmationDetails,
|
|
11435
11476
|
isFocused,
|
|
11477
|
+
availableWidth: contentWidth,
|
|
11436
11478
|
onConfirm
|
|
11437
11479
|
}
|
|
11438
11480
|
);
|
|
@@ -13850,6 +13892,7 @@ var GeneralHelp = /* @__PURE__ */ __name(({ width }) => {
|
|
|
13850
13892
|
["Tab", t("Accept ghost text or completion")],
|
|
13851
13893
|
["Esc Esc", t("Clear input or cancel operation")],
|
|
13852
13894
|
["Ctrl+L", t("Clear the screen")],
|
|
13895
|
+
["Ctrl+Q", t("Queue message for the next turn")],
|
|
13853
13896
|
[
|
|
13854
13897
|
process.platform === "win32" ? "Ctrl+Enter" : "Ctrl+J",
|
|
13855
13898
|
t("Insert a newline")
|
|
@@ -16175,6 +16218,8 @@ var DiffRow = /* @__PURE__ */ __name(({
|
|
|
16175
16218
|
remWidth,
|
|
16176
16219
|
statColumnWidth
|
|
16177
16220
|
}) => {
|
|
16221
|
+
const safeName = sanitizeFilenameForDisplay(row.filename);
|
|
16222
|
+
const safeOldPath = row.oldPath ? sanitizeFilenameForDisplay(row.oldPath) : null;
|
|
16178
16223
|
if (row.isBinary) {
|
|
16179
16224
|
const marker = padRight("~", statColumnWidth);
|
|
16180
16225
|
const suffix2 = row.isUntracked ? t("(binary, new)") : row.isDeleted ? t("(binary, deleted)") : t("(binary)");
|
|
@@ -16182,7 +16227,11 @@ var DiffRow = /* @__PURE__ */ __name(({
|
|
|
16182
16227
|
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Text, { color: theme.text.primary, children: " " }),
|
|
16183
16228
|
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Text, { color: theme.text.secondary, children: marker }),
|
|
16184
16229
|
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Text, { color: theme.text.primary, children: " " }),
|
|
16185
|
-
/* @__PURE__ */ (0, import_jsx_runtime44.
|
|
16230
|
+
safeOldPath ? /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
16231
|
+
safeOldPath,
|
|
16232
|
+
" \u2192 "
|
|
16233
|
+
] }) : null,
|
|
16234
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Text, { color: theme.text.primary, children: safeName }),
|
|
16186
16235
|
/* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
16187
16236
|
" ",
|
|
16188
16237
|
suffix2
|
|
@@ -16209,7 +16258,11 @@ var DiffRow = /* @__PURE__ */ __name(({
|
|
|
16209
16258
|
removed
|
|
16210
16259
|
] }),
|
|
16211
16260
|
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Text, { color: theme.text.primary, children: " " }),
|
|
16212
|
-
/* @__PURE__ */ (0, import_jsx_runtime44.
|
|
16261
|
+
safeOldPath ? /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
16262
|
+
safeOldPath,
|
|
16263
|
+
" \u2192 "
|
|
16264
|
+
] }) : null,
|
|
16265
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Text, { color: theme.text.primary, children: safeName }),
|
|
16213
16266
|
suffix && /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Text, { color: theme.text.secondary, children: [
|
|
16214
16267
|
" ",
|
|
16215
16268
|
suffix
|
|
@@ -16351,6 +16404,7 @@ var ClickableThinkMessage = /* @__PURE__ */ __name(({
|
|
|
16351
16404
|
onToggle
|
|
16352
16405
|
}) => {
|
|
16353
16406
|
const ref = (0, import_react34.useRef)(null);
|
|
16407
|
+
const pressRef = (0, import_react34.useRef)(null);
|
|
16354
16408
|
const { rows: terminalHeight } = useTerminalSize();
|
|
16355
16409
|
const settings = useSettings();
|
|
16356
16410
|
const clickable = !!settings.merged.ui?.useTerminalBuffer;
|
|
@@ -16358,11 +16412,28 @@ var ClickableThinkMessage = /* @__PURE__ */ __name(({
|
|
|
16358
16412
|
useMouseEvents(
|
|
16359
16413
|
(0, import_react34.useCallback)(
|
|
16360
16414
|
(event) => {
|
|
16361
|
-
if (
|
|
16415
|
+
if (!ref.current) return;
|
|
16416
|
+
if (event.name === "move") {
|
|
16417
|
+
if (pressRef.current && (event.col !== pressRef.current.col || event.row !== pressRef.current.row)) {
|
|
16418
|
+
pressRef.current = null;
|
|
16419
|
+
}
|
|
16420
|
+
return;
|
|
16421
|
+
}
|
|
16422
|
+
if (event.name !== "left-press" && event.name !== "left-release") {
|
|
16423
|
+
pressRef.current = null;
|
|
16424
|
+
return;
|
|
16425
|
+
}
|
|
16362
16426
|
const metrics = measureElementPosition(ref.current);
|
|
16363
16427
|
const col = event.col - 1;
|
|
16364
16428
|
const row = layoutRowForEvent(ref.current, event.row, terminalHeight);
|
|
16365
|
-
|
|
16429
|
+
const isInside = col >= metrics.x && col < metrics.x + metrics.width && row >= metrics.y && row < metrics.y + metrics.height;
|
|
16430
|
+
if (event.name === "left-press") {
|
|
16431
|
+
pressRef.current = isInside ? { col: event.col, row: event.row } : null;
|
|
16432
|
+
return;
|
|
16433
|
+
}
|
|
16434
|
+
const press = pressRef.current;
|
|
16435
|
+
pressRef.current = null;
|
|
16436
|
+
if (isInside && press?.col === event.col && press.row === event.row) {
|
|
16366
16437
|
onToggle();
|
|
16367
16438
|
}
|
|
16368
16439
|
},
|