@qwen-code/qwen-code 0.22.3 → 0.23.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/README.md +30 -0
- package/bundled/computer-use/SKILL.md +116 -180
- package/bundled/goal-draft/SKILL.md +5 -1
- package/bundled/qc-helper/docs/common-workflow.md +32 -0
- package/bundled/qc-helper/docs/configuration/auth.md +6 -6
- package/bundled/qc-helper/docs/configuration/model-providers.md +8 -2
- package/bundled/qc-helper/docs/configuration/settings.md +63 -58
- package/bundled/qc-helper/docs/extension/introduction.md +1 -1
- package/bundled/qc-helper/docs/features/_meta.ts +1 -0
- package/bundled/qc-helper/docs/features/approval-mode.md +3 -0
- package/bundled/qc-helper/docs/features/auto-mode.md +34 -17
- package/bundled/qc-helper/docs/features/channels/dingtalk.md +4 -2
- package/bundled/qc-helper/docs/features/channels/dws.md +6 -2
- package/bundled/qc-helper/docs/features/channels/overview.md +5 -2
- package/bundled/qc-helper/docs/features/code-review.md +2 -2
- package/bundled/qc-helper/docs/features/commands.md +79 -1
- package/bundled/qc-helper/docs/features/computer-use.md +2 -2
- package/bundled/qc-helper/docs/features/goals.md +9 -3
- package/bundled/qc-helper/docs/features/headless.md +16 -1
- package/bundled/qc-helper/docs/features/hooks.md +8 -3
- package/bundled/qc-helper/docs/features/memory.md +1 -0
- package/bundled/qc-helper/docs/features/output-styles.md +38 -0
- package/bundled/qc-helper/docs/qwen-serve-deploy-local.md +17 -7
- package/bundled/qc-helper/docs/qwen-serve.md +74 -55
- package/bundled/review/SKILL.md +16 -7
- package/bundled/review/references/posting.md +3 -3
- package/chunks/MaxSizedBox-B3D7545A.js +111 -0
- package/chunks/{StandaloneSessionPicker-2FJAOLGG.js → StandaloneSessionPicker-QUMO4LLQ.js} +88 -86
- package/chunks/{acp-startup-profiler-GNYAL6LI.js → acp-startup-profiler-M4X5F3VK.js} +2 -2
- package/chunks/{acpAgent-2ZMIJAFV.js → acpAgent-2GTFCIEP.js} +2041 -444
- package/chunks/{agent-X5WX3L2I.js → agent-XKF5SZWU.js} +46 -46
- package/chunks/agent-headless-OC2IB55D.js +85 -0
- package/chunks/{anthropicContentGenerator-YVTB6QX7.js → anthropicContentGenerator-L76MR5OR.js} +53 -20
- package/chunks/{artifact-tool-XSMPHZBT.js → artifact-tool-MYCL2QCS.js} +3 -4
- package/chunks/{askUserQuestion-4SWJY65V.js → askUserQuestion-THQZMG44.js} +45 -7
- package/chunks/bridge-IHSBI2YJ.js +118 -0
- package/chunks/{build-INBK7IXX.js → build-63BIOYWK.js} +1 -1
- package/chunks/{ca-7HPYOYSZ.js → ca-BNU7YNDE.js} +3 -0
- package/chunks/{channel-management-service-HQ6KDS7C.js → channel-management-service-4MTCEGJB.js} +4 -4
- package/chunks/channel-settings-store-BVKWAI2T.js +121 -0
- package/chunks/{channel-worker-group-6NA6BBZV.js → channel-worker-group-47F4ISUZ.js} +7 -7
- package/chunks/{channel-worker-manager-NEZ2J6RK.js → channel-worker-manager-I5Y44GYR.js} +51 -10
- package/chunks/{channel-worker-supervisor-FKU7DIHJ.js → channel-worker-supervisor-6VCLUXFE.js} +4 -4
- package/chunks/{chunk-PPKZ7JOE.js → chunk-22UH7VTP.js} +1 -1
- package/chunks/chunk-24FVUD5P.js +49 -0
- package/chunks/{chunk-MZCJWS5Y.js → chunk-2M3EWQNG.js} +20 -0
- package/chunks/{chunk-7T52W4SW.js → chunk-32LU3APX.js} +1 -1
- package/chunks/{chunk-42IDLQWS.js → chunk-373DQUVA.js} +48 -13
- package/chunks/{chunk-MSBO7X2W.js → chunk-37JFWFCD.js} +1 -1
- package/chunks/{chunk-3JXM2CVW.js → chunk-3AKCBZVW.js} +3 -3
- package/chunks/{chunk-TVC6HQ2U.js → chunk-3JQZVCBI.js} +2 -2
- package/chunks/{chunk-2LNNVAUV.js → chunk-3L724BJ5.js} +246 -15
- package/chunks/{chunk-E7REAOTN.js → chunk-47ECGEJC.js} +4 -0
- package/chunks/{chunk-WNPDGUJO.js → chunk-47RYEQW5.js} +2 -3
- package/chunks/{chunk-TZBSGJ6C.js → chunk-4BGDFKQE.js} +7 -7
- package/chunks/{chunk-PZ66FRIC.js → chunk-4F7GQGXB.js} +11772 -4773
- package/chunks/{chunk-DMLVSW7L.js → chunk-4HVH57J3.js} +713 -9
- package/chunks/{chunk-CMHFCLBU.js → chunk-4LIFGNI4.js} +1 -1
- package/chunks/{chunk-3SZC4VP4.js → chunk-4M24B5J5.js} +88 -49
- package/chunks/{chunk-BOWFGCEU.js → chunk-4PSDSCW3.js} +3 -3
- package/chunks/chunk-4UANMABT.js +1026 -0
- package/chunks/{chunk-M3QRM3DE.js → chunk-54C6PIGT.js} +5 -5
- package/chunks/{chunk-HP5LR5HL.js → chunk-5EIOJGCR.js} +4 -4
- package/chunks/{chunk-64REQJJ2.js → chunk-5H5S4UY5.js} +3 -3
- package/chunks/chunk-5IENVM7Z.js +35 -0
- package/chunks/{chunk-I6LYRJPB.js → chunk-5Q5RC2WE.js} +2 -2
- package/chunks/{chunk-WGY3AVGM.js → chunk-5RTTI4GE.js} +79 -5
- package/chunks/{chunk-KID24ZFN.js → chunk-64QH2UC6.js} +13 -1
- package/chunks/{chunk-MF7HCQWZ.js → chunk-65HWLGA7.js} +3 -3
- package/chunks/{chunk-OU5APVWO.js → chunk-6A2D4QSO.js} +13 -7
- package/chunks/chunk-6HUXPLB5.js +110 -0
- package/chunks/{chunk-VQUGEVGR.js → chunk-7IKXTGZT.js} +1 -1
- package/chunks/{chunk-UTLCH2FK.js → chunk-7JMGTOH7.js} +437 -136
- package/chunks/{chunk-7LOELM2I.js → chunk-7RB56BRJ.js} +3 -3
- package/chunks/{chunk-NIFYWDYN.js → chunk-7TBU7PU2.js} +1 -1
- package/chunks/{chunk-V2NDP3I4.js → chunk-7XL4WRXM.js} +2 -2
- package/chunks/chunk-ADJD4LZF.js +210 -0
- package/chunks/{chunk-T7KMERIX.js → chunk-ADYN7P2Y.js} +2 -2
- package/chunks/{chunk-TPI7O7HR.js → chunk-AHYTURFB.js} +1 -1
- package/chunks/{chunk-LUEHOUHM.js → chunk-AI35S34R.js} +3 -3
- package/chunks/{chunk-CIZCL2MW.js → chunk-ALUYNJPM.js} +1486 -2172
- package/chunks/{chunk-ABS25QER.js → chunk-ANVG3BVV.js} +1 -1
- package/chunks/{chunk-6ZPDLGHN.js → chunk-AZJLY2XZ.js} +5 -5
- package/chunks/{chunk-A3LWD5MK.js → chunk-BA4WJC4L.js} +1 -1
- package/chunks/{chunk-W3JH33JE.js → chunk-BFY33IB4.js} +18 -10
- package/chunks/{chunk-N4X7G4J2.js → chunk-BHTYRHJF.js} +1 -1
- package/chunks/{chunk-TEBDFQBZ.js → chunk-BJXCYUGM.js} +11 -6
- package/chunks/{chunk-7VMIMAVB.js → chunk-C2VWOXHS.js} +8 -8
- package/chunks/{chunk-XHF7WQ6B.js → chunk-C4TIXFDZ.js} +16 -5
- package/chunks/chunk-CHEIIBT3.js +40 -0
- package/chunks/chunk-CVX63TFJ.js +348 -0
- package/chunks/{chunk-RXFQM6FQ.js → chunk-DMEUXLSS.js} +16 -1
- package/chunks/{chunk-EKSCLBBF.js → chunk-DQCKVAF5.js} +23 -5
- package/chunks/{chunk-734C6JGI.js → chunk-DSX7KQPM.js} +5195 -666
- package/chunks/{chunk-4CMJKUND.js → chunk-DTVQSSNM.js} +67 -2
- package/chunks/{chunk-BKWNKLZB.js → chunk-DYTW3QVG.js} +24 -9
- package/chunks/{chunk-C2X7KY45.js → chunk-E4JNFXNI.js} +3 -3
- package/chunks/{chunk-UHQFIS7N.js → chunk-EAHOJF6V.js} +28 -4
- package/chunks/{chunk-YLSQLSH7.js → chunk-EBDGRBZX.js} +24 -16
- package/chunks/{chunk-DJBQCO2E.js → chunk-EFTPIZIC.js} +412 -3
- package/chunks/{chunk-6DIGWMGT.js → chunk-EIJT2PQ6.js} +2 -2
- package/chunks/{chunk-4TT3IVGA.js → chunk-EIY7SUPZ.js} +1 -1
- package/chunks/{chunk-XQFT3QUF.js → chunk-ENYUKMFK.js} +1 -1
- package/chunks/{chunk-ZWJDJ6RU.js → chunk-EVFDRBUM.js} +157 -153
- package/chunks/{chunk-4VPCTGH6.js → chunk-EWRW2WQC.js} +15 -9
- package/chunks/{chunk-VBCPNIQD.js → chunk-F33GFWPR.js} +47 -184
- package/chunks/{chunk-ERFDKH32.js → chunk-F47DITLZ.js} +19 -8
- package/chunks/{chunk-73RM4POK.js → chunk-F7NF2IOE.js} +7 -7
- package/chunks/{chunk-EB6QRGHM.js → chunk-FD5SJOWT.js} +10 -7
- package/chunks/{chunk-SS5SDCD3.js → chunk-FRICLXCZ.js} +7 -7
- package/chunks/{chunk-NU7RKEZR.js → chunk-FUO5V5KI.js} +14 -7
- package/chunks/{chunk-G6FECKTJ.js → chunk-G5PBOQWI.js} +9 -6
- package/chunks/{chunk-CAJTKR6W.js → chunk-G7HBEEX7.js} +15 -9
- package/chunks/{chunk-4QHPPXK2.js → chunk-GB4UKWY5.js} +2 -2
- package/chunks/{chunk-QYMAKPY5.js → chunk-GH2S4GD5.js} +350 -12
- package/chunks/{chunk-LHBUKJG2.js → chunk-GXUTFQXK.js} +28 -25
- package/chunks/{chunk-KJO2LBUK.js → chunk-H43PSPYS.js} +5 -5
- package/chunks/{chunk-XSG6G3G6.js → chunk-HJBHMANB.js} +12 -14
- package/chunks/chunk-HRPFBHW7.js +336 -0
- package/chunks/{chunk-6PJOTWAN.js → chunk-HT5S5TRQ.js} +1 -1
- package/chunks/{chunk-HCOBAG2L.js → chunk-HWVUSYSN.js} +3 -8
- package/chunks/{chunk-2OUD5T67.js → chunk-I2TMJPCV.js} +213 -185
- package/chunks/{chunk-CLWO3B77.js → chunk-I4NRYS6A.js} +11 -11
- package/chunks/{chunk-V7EESTJV.js → chunk-I5N4EAS6.js} +1 -1
- package/chunks/{chunk-K5KXUXWC.js → chunk-IG4W5SJR.js} +3 -3
- package/chunks/{chunk-FROAFEFB.js → chunk-IPATA3T2.js} +3 -3
- package/chunks/{chunk-NKLP3DCK.js → chunk-IQAFKVXS.js} +1 -1
- package/chunks/{chunk-AYHQZBJ4.js → chunk-IRKQ4YYX.js} +3 -3
- package/chunks/{chunk-J3NNHTV6.js → chunk-J5TTWBZK.js} +6 -0
- package/chunks/{chunk-QFCDF5PL.js → chunk-JHN7UIDW.js} +1 -1
- package/chunks/{chunk-AVNATYLY.js → chunk-JJKNYRFY.js} +1 -1
- package/chunks/{chunk-CQH5KTKC.js → chunk-JR42V4UY.js} +1 -1
- package/chunks/chunk-JS73NNWF.js +30 -0
- package/chunks/{chunk-NV55WWD6.js → chunk-JUARRUMA.js} +802 -2011
- package/chunks/chunk-JX6XHPTX.js +26 -0
- package/chunks/{chunk-5JTIYALA.js → chunk-JZWOCUZ3.js} +1 -1
- package/chunks/{chunk-P2G476QN.js → chunk-KEVYJSI4.js} +13 -13
- package/chunks/{chunk-B466ZSHZ.js → chunk-KFN2IZYR.js} +3 -3
- package/chunks/{chunk-JWALNCLT.js → chunk-KGV55H53.js} +1 -1
- package/chunks/{chunk-23RFD54N.js → chunk-KHP66DFN.js} +1 -1
- package/chunks/{chunk-2SXSLSQE.js → chunk-KM3XVTMO.js} +12 -6
- package/chunks/{chunk-GPGU4S2N.js → chunk-KMU3ZHH4.js} +3 -3
- package/chunks/chunk-KOGW3YWJ.js +2054 -0
- package/chunks/{chunk-NMOD2FXQ.js → chunk-L26ONV2Y.js} +8 -8
- package/chunks/chunk-L34XSHIZ.js +28 -0
- package/chunks/{chunk-SEONHUS3.js → chunk-LAUEEBDL.js} +2 -0
- package/chunks/{chunk-3WK3QDNV.js → chunk-LB3WQQJK.js} +2 -2
- package/chunks/{chunk-URE3QBBB.js → chunk-LEPCWS5A.js} +3 -3
- package/chunks/{chunk-36GSQ3MM.js → chunk-LHBNR6EU.js} +2 -2
- package/chunks/{chunk-V4264FEG.js → chunk-LKODFJRD.js} +1 -1
- package/chunks/{chunk-PADPMMYM.js → chunk-LOBDDFYK.js} +5 -29
- package/chunks/{chunk-BXDAPVQU.js → chunk-LU77UT4D.js} +28 -4
- package/chunks/{chunk-RFIDDFAL.js → chunk-M4KFODIP.js} +1 -1
- package/chunks/{chunk-CFJY4DGX.js → chunk-M4LBBSVP.js} +4 -2
- package/chunks/{chunk-KYWTPLBJ.js → chunk-MOF6VZN2.js} +2 -2
- package/chunks/{chunk-DJPASAUV.js → chunk-MP6YZ4RK.js} +4829 -3638
- package/chunks/{chunk-T26EAKDL.js → chunk-N2TNM3QB.js} +2 -6
- package/chunks/{chunk-2TNL5KPM.js → chunk-N4QWUPDM.js} +7 -0
- package/chunks/{chunk-7S226YTK.js → chunk-NFIDVZND.js} +11 -1
- package/chunks/{chunk-ZEYFMJQA.js → chunk-NQ4L2CMD.js} +83 -18
- package/chunks/{chunk-ZZUKP7HV.js → chunk-NRL5CUZT.js} +1 -1
- package/chunks/{chunk-WXEA74YB.js → chunk-NSUKQ4DN.js} +9 -3
- package/chunks/chunk-NUHOLAQ6.js +59 -0
- package/chunks/{chunk-DJEZ55D4.js → chunk-NVVJTUSL.js} +336 -140
- package/chunks/{chunk-3XKLXHGK.js → chunk-NXKOVOM5.js} +9 -9
- package/chunks/{chunk-5Q372OFJ.js → chunk-O4KNCAX4.js} +57 -10
- package/chunks/{chunk-GOXKNSDZ.js → chunk-O5CD7T4T.js} +40 -9
- package/chunks/{chunk-XIQ5HQ2F.js → chunk-OBTWL6ZW.js} +1 -1
- package/chunks/{chunk-PDQGMSZK.js → chunk-ODZF64DM.js} +1 -1
- package/chunks/{chunk-5MK45KZ3.js → chunk-OHOO527W.js} +1 -1
- package/chunks/{chunk-36LGBEM6.js → chunk-OHU2H5CS.js} +1 -1
- package/chunks/{chunk-JB4JIVTJ.js → chunk-OKTNXDVO.js} +1 -1
- package/chunks/{chunk-CETB5XY4.js → chunk-ORFIYTI2.js} +1 -1
- package/chunks/{chunk-7E7UCJHS.js → chunk-OSHQMOBS.js} +18 -17
- package/chunks/chunk-OSSTATJF.js +1310 -0
- package/chunks/chunk-P6UIF2OW.js +400 -0
- package/chunks/{chunk-U54AYGEC.js → chunk-PB7JBAHF.js} +15 -49
- package/chunks/{chunk-Y5S7LBOZ.js → chunk-PCRBLMIN.js} +17 -3
- package/chunks/{chunk-WAOIHTJS.js → chunk-PDAKFU7M.js} +1 -1
- package/chunks/{chunk-YTDVNSUQ.js → chunk-QAK5475D.js} +1 -1
- package/chunks/{chunk-ST5MDGH3.js → chunk-QI27MKNQ.js} +27 -19
- package/chunks/{chunk-MK2GIB46.js → chunk-QJGYU5PG.js} +1 -1
- package/chunks/{chunk-SMPR7SPO.js → chunk-QJNDUTOL.js} +45 -239
- package/chunks/{chunk-MQM5PJML.js → chunk-QJVZLILI.js} +1 -1
- package/chunks/{chunk-B5PHIJGI.js → chunk-QKDNS6FU.js} +2 -2
- package/chunks/{chunk-ZU4UDIWX.js → chunk-QQD2GART.js} +15 -9
- package/chunks/{chunk-62GQFYID.js → chunk-RAFQIHN2.js} +3 -3
- package/chunks/{chunk-MO3FC2WT.js → chunk-RJUVTJEZ.js} +1 -1
- package/chunks/{chunk-M6FOJXW3.js → chunk-RKW36UWC.js} +1 -1
- package/chunks/{chunk-GBJBJ4HX.js → chunk-RM4WT2XB.js} +4 -26
- package/chunks/{chunk-VGIFXISB.js → chunk-RN3YGDCA.js} +7 -5
- package/chunks/{chunk-DYXFD5RO.js → chunk-S2T7H5MI.js} +1 -1
- package/chunks/{chunk-FTF2YIZ5.js → chunk-S6H3ELPG.js} +1 -1
- package/chunks/{chunk-4NDLQAY2.js → chunk-SI7WDR3U.js} +524 -16
- package/chunks/{chunk-2YOHKHYR.js → chunk-SRF4KTAG.js} +6 -6
- package/chunks/{chunk-ZZMSC3RG.js → chunk-STCVJXQB.js} +24 -24
- package/chunks/{chunk-ST5V3ZOC.js → chunk-SULZPKTA.js} +3 -3
- package/chunks/{chunk-6X7EU5TI.js → chunk-SX2QIMJV.js} +9 -7
- package/chunks/{chunk-V5J4J5TP.js → chunk-TJYRTS4S.js} +2 -20
- package/chunks/{chunk-C3PEFRKD.js → chunk-TMKTOTMQ.js} +5 -5
- package/chunks/{chunk-ISKH4QX3.js → chunk-TQHPVKO6.js} +4 -4
- package/chunks/{chunk-HVC3PNVC.js → chunk-TSZSGQ3N.js} +1 -1
- package/chunks/{chunk-ICURCKIU.js → chunk-U4DJ5XB3.js} +594 -91
- package/chunks/{chunk-TTX2JUE6.js → chunk-U6D2PPMN.js} +1 -1
- package/chunks/{chunk-GVIVASYK.js → chunk-UAKRDON5.js} +4 -4
- package/chunks/{chunk-D5LUXLUH.js → chunk-UJ4DUYIH.js} +18 -4
- package/chunks/{chunk-VTHREBQM.js → chunk-UKYXYWI2.js} +2 -2
- package/chunks/{chunk-ZYMLPEZQ.js → chunk-UM2FFKXN.js} +3 -3
- package/chunks/{chunk-2OBKDPZZ.js → chunk-UPFRILIL.js} +2 -2
- package/chunks/{chunk-2HYKTO7V.js → chunk-UUASLXHW.js} +55 -6
- package/chunks/chunk-V5U2NZNJ.js +29 -0
- package/chunks/{chunk-P5Y23G2L.js → chunk-V7RNNPGC.js} +1 -18
- package/chunks/{chunk-Q2MSPKIJ.js → chunk-VBWD6C27.js} +1 -1
- package/chunks/chunk-VGHZT6JR.js +51 -0
- package/chunks/{chunk-MPNBVAEU.js → chunk-VNAYZAFX.js} +4 -4
- package/chunks/chunk-VPSIC437.js +780 -0
- package/chunks/{chunk-AIAOIFY4.js → chunk-VWTSRH6C.js} +92 -17
- package/chunks/{chunk-4K7KNVWH.js → chunk-VYIUNFEA.js} +3 -3
- package/chunks/{chunk-EQSBPBZ3.js → chunk-WP4AX3XD.js} +5 -7
- package/chunks/{chunk-BFPESSTR.js → chunk-XEAAO654.js} +1 -1
- package/chunks/{chunk-RU7BK6B3.js → chunk-XLXAZLDR.js} +3 -3
- package/chunks/{chunk-EFWRMA2I.js → chunk-YPWZTR7F.js} +3 -3
- package/chunks/{chunk-XF63PKEN.js → chunk-ZDFQGHZH.js} +1 -1
- package/chunks/{chunk-OZ6KS6KW.js → chunk-ZGCKTAL5.js} +6 -1
- package/chunks/chunk-ZHO2CW6D.js +205 -0
- package/chunks/chunk-ZJ2LM2SI.js +198 -0
- package/chunks/{chunk-AYFA7MZV.js → chunk-ZKFTS3OV.js} +6 -6
- package/chunks/{chunk-HMJ2P3SV.js → chunk-ZL4HFSL6.js} +91 -29
- package/chunks/{chunk-DJECZIJX.js → chunk-ZTPGUFQV.js} +30 -8
- package/chunks/{chunk-7EQQR46F.js → chunk-ZVP4PWBU.js} +1 -1
- package/chunks/chunk-bdqvmfwv-ZTSOWAFE.js +17446 -0
- package/chunks/config-utils-LVSYDLHZ.js +114 -0
- package/chunks/contextCommand-TZD7UAJK.js +107 -0
- package/chunks/{core-runtime-AXB6SK5D.js → core-runtime-B4UKKIAQ.js} +63 -62
- package/chunks/{create-sub-session-23ITIELI.js → create-sub-session-LUPWEUHR.js} +3 -3
- package/chunks/{create-sub-session-4QNE64MR.js → create-sub-session-NJ24B4US.js} +94 -66
- package/chunks/{cron-create-KJ4IY6PP.js → cron-create-CRSPET3H.js} +4 -4
- package/chunks/{cron-delete-MBLQCAYY.js → cron-delete-DB77SZTU.js} +4 -4
- package/chunks/{cron-list-DWH2PQ47.js → cron-list-U2JNYWV6.js} +4 -4
- package/chunks/{daemon-3GNHB3M2.js → daemon-RKDGBFLK.js} +613 -102
- package/chunks/{daemon-git-worktree-guard-IVAJJWYK.js → daemon-git-worktree-guard-O2HPOBAB.js} +62 -61
- package/chunks/daemon-status-provider-GRRVCJFW.js +117 -0
- package/chunks/daemon-trust-policy-YJL442BK.js +113 -0
- package/chunks/{daemon-trust-policy-monitor-KGGROSIV.js → daemon-trust-policy-monitor-JL7F4Y4Q.js} +68 -67
- package/chunks/{de-X6HLSIFE.js → de-T4BLOKEC.js} +3 -0
- package/chunks/deferred-core-runtime-S32AYVZI.js +115 -0
- package/chunks/{devtools-JCG4K2NZ.js → devtools-VDRJYPZF.js} +1 -1
- package/chunks/{discovery-X2NV535U.js → discovery-TUM3ZQ6U.js} +2 -2
- package/chunks/{display-image-BE7I6ZB6.js → display-image-73C7XNRK.js} +5 -5
- package/chunks/{dist-LVZCXVPF.js → dist-62OZ7QXB.js} +44 -26
- package/chunks/{dist-GFN5DCBX.js → dist-EDHQIBYD.js} +152 -63
- package/chunks/{dist-N6W6E753.js → dist-GT64AAUR.js} +135 -26
- package/chunks/{dist-6BPYWHVD.js → dist-JVXT4VUJ.js} +14 -7
- package/chunks/{dist-4WXLCBDR.js → dist-L6URO6CK.js} +12 -5
- package/chunks/{dist-5VXFRTWU.js → dist-LXFYIJNG.js} +866 -172
- package/chunks/{dist-SWQMYP2Q.js → dist-PDGNRVPY.js} +27 -8
- package/chunks/{dist-NSV4NBPK.js → dist-QAF5DO3Y.js} +380 -83
- package/chunks/{dist-HZNT6GQS.js → dist-ZCJLKQSP.js} +28 -14
- package/chunks/earlyInputCapture-BBPCIVZG.js +108 -0
- package/chunks/{edit-LEQLAGPZ.js → edit-SUGXY63Y.js} +47 -47
- package/chunks/{en-YLXBXM4Z.js → en-2RATMNX7.js} +5 -0
- package/chunks/{enter-worktree-35QCAAFP.js → enter-worktree-B6USKSIK.js} +7 -7
- package/chunks/{enterPlanMode-ONQN3WHE.js → enterPlanMode-MDX4RVVL.js} +48 -48
- package/chunks/{environment-UANTR7A4.js → environment-VN6RXDVN.js} +63 -62
- package/chunks/errors-UEY36PIT.js +114 -0
- package/chunks/{exit-worktree-XQD6D543.js → exit-worktree-DLQ73SJH.js} +10 -8
- package/chunks/exitPlanMode-EPHIEDAA.js +83 -0
- package/chunks/{fast-path-WUL7UZ6H.js → fast-path-Y73R42LV.js} +8 -7
- package/chunks/{fast-path-settings-XH426LUU.js → fast-path-settings-MFUR3IWK.js} +3 -3
- package/chunks/{fr-FTZWF462.js → fr-BGHGYX6A.js} +3 -0
- package/chunks/{glob-Y54QUWDY.js → glob-DMGH7EZN.js} +47 -47
- package/chunks/goal-tools-3RF3PXCL.js +99 -0
- package/chunks/{grep-5GPICQBU.js → grep-AJVLCVXC.js} +9 -7
- package/chunks/handleAutoUpdate-HVWQT2AU.js +110 -0
- package/chunks/i18n-5OR7NTRZ.js +125 -0
- package/chunks/{image-gen-J6FDGUZP.js → image-gen-VOIDOHOB.js} +8 -8
- package/chunks/initializer-JE5RQSOE.js +114 -0
- package/chunks/installationInfo-KO3CCSCK.js +108 -0
- package/chunks/{ja-2GL5FKYJ.js → ja-G3FTD5XE.js} +3 -0
- package/chunks/{keychain-token-storage-37XPR34V.js → keychain-token-storage-REZVMJA6.js} +2 -2
- package/chunks/list-3IORSFIY.js +117 -0
- package/chunks/list-agents-SBMONIUK.js +128 -0
- package/chunks/{llm-NSAVK5V3.js → llm-K26SUDVK.js} +223 -140
- package/chunks/{llm-content-generator-AY2QKXHE.js → llm-content-generator-TT6EAUD4.js} +11 -12
- package/chunks/loadedSettingsAdapter-KLLFZF3M.js +111 -0
- package/chunks/{loggingContentGenerator-DSFQHXIF.js → loggingContentGenerator-EYQBA4M4.js} +66 -65
- package/chunks/{loop-wakeup-XJFONSQ7.js → loop-wakeup-QA6SHCZT.js} +5 -5
- package/chunks/{ls-3VAT2J7A.js → ls-HEJNCEYO.js} +4 -4
- package/chunks/{lsp-5W7IRUBH.js → lsp-WOQKNZP6.js} +2 -2
- package/chunks/{managed-npm-update-TSWENTK5.js → managed-npm-update-HIJTODQT.js} +61 -60
- package/chunks/mcp-A2UEHETW.js +111 -0
- package/chunks/{monitor-RW4GWJHB.js → monitor-DKNZQAB2.js} +46 -46
- package/chunks/{node-QKLNSZMX.js → node-UETAYMMO.js} +3 -3
- package/chunks/nonInteractiveCli-YA47F2F4.js +190 -0
- package/chunks/{notebook-edit-CQNYS5OR.js → notebook-edit-MGHTRL2D.js} +47 -47
- package/chunks/{open-with-auth-YN3QZHVM.js → open-with-auth-D6JD6LDS.js} +3 -3
- package/chunks/{openaiContentGenerator-J6QIF7EX.js → openaiContentGenerator-ZJIEQ3ZJ.js} +26 -28
- package/chunks/pidfile-ETHAZNMY.js +112 -0
- package/chunks/{processUtils-GPHNANKZ.js → processUtils-UY3SAJJZ.js} +2 -2
- package/chunks/prompt-terminal-ledger-GZ747VYE.js +106 -0
- package/chunks/{pt-XN2YWJVM.js → pt-D73IFYT7.js} +3 -0
- package/chunks/{qwenContentGenerator-WWDXPYQI.js → qwenContentGenerator-VI4KATRY.js} +58 -58
- package/chunks/{qwenOAuth2-OF5WRBQT.js → qwenOAuth2-7AOCKSOQ.js} +7 -7
- package/chunks/{read-file-FQUQHC6N.js → read-file-P7F4P7LV.js} +11 -13
- package/chunks/{read-mcp-resource-XD257PGJ.js → read-mcp-resource-GLAGB6R7.js} +2 -2
- package/chunks/{record-artifact-VW23GS4F.js → record-artifact-SWVR7NSU.js} +4 -4
- package/chunks/renderer-selection-M4UN63VJ.js +99 -0
- package/chunks/{report-findings-AO5VYFLR.js → report-findings-AL5YW3KI.js} +5 -5
- package/chunks/{request-shutdown-BCLA3JV2.js → request-shutdown-5YK4IZ54.js} +8 -7
- package/chunks/resumeHistoryUtils-DPZKFW24.js +119 -0
- package/chunks/ripGrep-C7LJKUPZ.js +37 -0
- package/chunks/{ru-OLTMFJEW.js → ru-QMISLKRH.js} +3 -0
- package/chunks/{run-qwen-serve-5X6IDZER.js → run-qwen-serve-OGTEEUR2.js} +589 -251
- package/chunks/{runtime-HK27GMPF.js → runtime-LNBLEMZS.js} +73 -72
- package/chunks/scheduled-tasks-FLDYZQOF.js +128 -0
- package/chunks/{scheduler-WD4MHMO5.js → scheduler-73YXGUGW.js} +62 -61
- package/chunks/{sdk-exporters-grpc-G5IT4XS4.js → sdk-exporters-grpc-MXTVSE3C.js} +2 -2
- package/chunks/{sdk-exporters-http-TTU2CHBU.js → sdk-exporters-http-3JO5TJNU.js} +4 -4
- package/chunks/{sdk-impl-UUMVYMAL.js → sdk-impl-HZAUUTHJ.js} +6 -6
- package/chunks/{send-message-AJ4OCUBV.js → send-message-JC7NJTY6.js} +166 -35
- package/chunks/serve-3UR2H4CV.js +119 -0
- package/chunks/{server-GO2N5DH7.js → server-AOYZVVOM.js} +2904 -860
- package/chunks/{session-IFNHTUBT.js → session-UAWFNFGI.js} +119 -114
- package/chunks/session-attachments-root-ZCGXQQTR.js +104 -0
- package/chunks/{session-pr-refresh-I3UBWMVP.js → session-pr-refresh-CT2INROL.js} +157 -88
- package/chunks/{settings-L6N54CU6.js → settings-BHRGDASJ.js} +67 -66
- package/chunks/{shell-4Y5LLW6N.js → shell-YHOGC7TO.js} +46 -46
- package/chunks/{skill-YOWTRAKQ.js → skill-ZGBKNCHQ.js} +131 -97
- package/chunks/skill-settings-AKSP665O.js +119 -0
- package/chunks/spawnChannel-N25MBB6F.js +112 -0
- package/chunks/standalone-update-XGPWJDRN.js +119 -0
- package/chunks/start-opentui-ui-FZ4USOU7.js +55342 -0
- package/chunks/{startInteractiveUI-XDFSHBZD.js → startInteractiveUI-E2WQJUOA.js} +3509 -4706
- package/chunks/{syntheticOutput-ML43GEFN.js → syntheticOutput-HJNZSEHN.js} +3 -3
- package/chunks/{task-create-QN4LYRSE.js → task-create-6RSD54S5.js} +12 -12
- package/chunks/{task-list-JPLGK45U.js → task-list-IQSACPOM.js} +34 -11
- package/chunks/{task-stop-CXEH5L2D.js → task-stop-HE2LRQNW.js} +2 -2
- package/chunks/{task-update-IWEOJFV2.js → task-update-XAJ2NYOA.js} +13 -14
- package/chunks/{team-create-OOPXCDBA.js → team-create-SOKMYSQU.js} +54 -55
- package/chunks/{team-delete-RZVVSGCY.js → team-delete-NGNNKGMG.js} +25 -8
- package/chunks/{team-plan-approval-DSX5EWAT.js → team-plan-approval-U7ZWXYAY.js} +46 -46
- package/chunks/terminal-image-renderer-KKM4OBLO.js +117 -0
- package/chunks/theme-manager-GQHF3A7T.js +103 -0
- package/chunks/{todoWrite-WDJNQEMW.js → todoWrite-5UTVUXHA.js} +39 -9
- package/chunks/{tool-search-J5Q6U7DN.js → tool-search-IAI2RVWT.js} +21 -19
- package/chunks/total-session-admission-G4CGCSTG.js +113 -0
- package/chunks/trustedFolders-D2I3FDPB.js +123 -0
- package/chunks/{update-relaunch-SIKHLHVR.js → update-relaunch-5RWKZAL3.js} +5 -5
- package/chunks/updateCheck-ZXOQDFEI.js +119 -0
- package/chunks/useAutoAcceptIndicator-6EK4QGAH.js +121 -0
- package/chunks/{validateNonInterActiveAuth-JUDQP6V4.js → validateNonInterActiveAuth-QPFEKATS.js} +113 -109
- package/chunks/{version-C63GDDWN.js → version-JKNG7YDH.js} +1 -1
- package/chunks/{web-fetch-FOQZMNSC.js → web-fetch-X3AHIIHW.js} +16 -19
- package/chunks/{web-search-PUJTBFUC.js → web-search-K2FMOGS5.js} +10 -11
- package/chunks/{web-shell-static-HNB4FDOE.js → web-shell-static-POZHGGXE.js} +5 -4
- package/chunks/{workflow-Y5IPINVH.js → workflow-TOLPAK5G.js} +213 -119
- package/chunks/workspace-providers-status-PCJK3RC7.js +115 -0
- package/chunks/{workspace-registration-store-SMJWI2AI.js → workspace-registration-store-KQWVVW4Y.js} +2 -1
- package/chunks/workspace-registry-YNIOB6HJ.js +122 -0
- package/chunks/workspace-runtime-coordinator-WG2RNEN7.js +123 -0
- package/chunks/workspace-service-G4ZNBOFH.js +127 -0
- package/chunks/workspace-skills-status-FMTPPMWC.js +114 -0
- package/chunks/{workspace-trust-reconciler-PLIDLJZX.js → workspace-trust-reconciler-IBDFQBQS.js} +76 -77
- package/chunks/wrapper-JH3IFHT2.js +35 -0
- package/chunks/write-file-YTLFY2S5.js +88 -0
- package/chunks/{zh-UNY63FR3.js → zh-25DF7OGK.js} +5 -0
- package/chunks/{zh-TW-RPTMRTHG.js → zh-TW-5EDMZVGK.js} +5 -0
- package/chunks/{zoom-image-LYQD7BQA.js → zoom-image-IFXSN74N.js} +11 -13
- package/cli.js +131 -90
- package/locales/ca.js +6 -0
- package/locales/de.js +6 -0
- package/locales/en.js +9 -0
- package/locales/fr.js +6 -0
- package/locales/ja.js +6 -0
- package/locales/pt.js +6 -0
- package/locales/ru.js +6 -0
- package/locales/zh-TW.js +9 -0
- package/locales/zh.js +9 -0
- package/package.json +3 -3
- package/web-shell/assets/{abnfDiagram-VCTEODGH-TRCMSA_6.js → abnfDiagram-VCTEODGH-Cxf7xE_Z.js} +1 -1
- package/web-shell/assets/{arc-D9Uls5b3.js → arc-ESi1eNkE.js} +1 -1
- package/web-shell/assets/{architectureDiagram-5GKGNRK7-Bwb8jPXg.js → architectureDiagram-5GKGNRK7-D9l7-bDo.js} +1 -1
- package/web-shell/assets/{blockDiagram-NRAW4CY4-DHj71TSX.js → blockDiagram-NRAW4CY4-Bc8DEasw.js} +1 -1
- package/web-shell/assets/{c4Diagram-UCG6FXSJ-uKBBdbyr.js → c4Diagram-UCG6FXSJ-Dimb2Hmh.js} +1 -1
- package/web-shell/assets/channel-B7ohGDil.js +1 -0
- package/web-shell/assets/{chunk-2Q5K7J3B-BZd0Phrl.js → chunk-2Q5K7J3B-jVDmOpAQ.js} +1 -1
- package/web-shell/assets/{chunk-5VM5RSS4-7KNeNBqN.js → chunk-5VM5RSS4-DbG_SwdB.js} +1 -1
- package/web-shell/assets/{chunk-F27PBJKO-BeboS7Fi.js → chunk-F27PBJKO-QEc4cY1v.js} +1 -1
- package/web-shell/assets/{chunk-G27WJ6UU-RV3JONoj.js → chunk-G27WJ6UU-iJ36lQ3X.js} +1 -1
- package/web-shell/assets/{chunk-JWPE2WC7-Yw9FCFsP.js → chunk-JWPE2WC7-DuArnVtF.js} +1 -1
- package/web-shell/assets/{chunk-LCL6LL3I-GIMnydDe.js → chunk-LCL6LL3I-DxOf1zwL.js} +1 -1
- package/web-shell/assets/{chunk-POPQ4Y6H-Cfrux7bL.js → chunk-POPQ4Y6H-lVLu9Ild.js} +1 -1
- package/web-shell/assets/{chunk-SVP7TREG-BlvIN0CO.js → chunk-SVP7TREG-C6XYlIer.js} +1 -1
- package/web-shell/assets/{chunk-XXDRQBXY-DMs7Rr4t.js → chunk-XXDRQBXY-CiG2j2Ji.js} +1 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-DdFpqpfD.js +1 -0
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-DdFpqpfD.js +1 -0
- package/web-shell/assets/{cose-bilkent-JH36ORCC-DNGqTNwI.js → cose-bilkent-JH36ORCC-DGVHMMVm.js} +1 -1
- package/web-shell/assets/{cynefin-OW5HDTMX-CojMpaoH.js → cynefin-OW5HDTMX-D6cgpCnH.js} +1 -1
- package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-DF07YXGo.js → cynefinDiagram-5FMLGOSQ-BKv4Z-UX.js} +1 -1
- package/web-shell/assets/{dagre-3AP2YEHR-17-4WtCH.js → dagre-3AP2YEHR-B4ABMIG-.js} +1 -1
- package/web-shell/assets/{diagram-S7CK7UJ4-G3Wuyz9m.js → diagram-S7CK7UJ4-DgCkp_Lm.js} +1 -1
- package/web-shell/assets/{diagram-UQ7AKVKN-nyWIKZ8P.js → diagram-UQ7AKVKN-FG0FNokz.js} +1 -1
- package/web-shell/assets/{diagram-VSXAHHWV-tKHhmYSC.js → diagram-VSXAHHWV-JgkP9qg-.js} +1 -1
- package/web-shell/assets/{diagram-VX7I27RA-CpDf1hYk.js → diagram-VX7I27RA-ADh2x83l.js} +1 -1
- package/web-shell/assets/{diagram-Z3DM3KII-Cah2IFXG.js → diagram-Z3DM3KII-yXqoYF1J.js} +1 -1
- package/web-shell/assets/{ebnfDiagram-PWID7BFC-DNaCkgxy.js → ebnfDiagram-PWID7BFC-Duk83Ek_.js} +1 -1
- package/web-shell/assets/{erDiagram-SSCWMZ5O-CAdRgcf1.js → erDiagram-SSCWMZ5O-DMdvxySG.js} +1 -1
- package/web-shell/assets/{flowDiagram-A5DVABFB-CMUJAShL.js → flowDiagram-A5DVABFB-DHjVgSji.js} +1 -1
- package/web-shell/assets/{ganttDiagram-EL5Y4UJY-o-_MUNey.js → ganttDiagram-EL5Y4UJY-DMM9DkCE.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-_aG-2Z7O.js → gitGraphDiagram-WWUBYQGX-t_ug9vO8.js} +1 -1
- package/web-shell/assets/index-BGZRqbRo.css +36 -0
- package/web-shell/assets/index-DRri_6_x.js +2067 -0
- package/web-shell/assets/{index-BK_NKxiJ.js → index-zqvnpGHv.js} +1 -1
- package/web-shell/assets/{infoDiagram-RXCK75RN-qJPeZbGP.js → infoDiagram-RXCK75RN-eT1fANNm.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-5VMMS53U-7Om4vNo1.js → ishikawaDiagram-5VMMS53U-k3evzZNn.js} +1 -1
- package/web-shell/assets/{journeyDiagram-EYS64GPL-BNtXqmBW.js → journeyDiagram-EYS64GPL-CGim3EAi.js} +1 -1
- package/web-shell/assets/{kanban-definition-3QL26DDD-COgFec8P.js → kanban-definition-3QL26DDD-WHfJo-22.js} +1 -1
- package/web-shell/assets/{layout-B9n81PC9.js → layout-DkqIaFlJ.js} +1 -1
- package/web-shell/assets/{linear-Bb6nXZQq.js → linear-Bdkd3mCz.js} +1 -1
- package/web-shell/assets/{mermaid.core-Cgrm3JVT.js → mermaid.core-CGw0LkT_.js} +6 -6
- package/web-shell/assets/{mindmap-definition-FBJOCRG2-TKwLTjnG.js → mindmap-definition-FBJOCRG2-C9V4rBvo.js} +1 -1
- package/web-shell/assets/{pegDiagram-XKGWAZYB-BJPuvlpi.js → pegDiagram-XKGWAZYB-CwoI2T5G.js} +1 -1
- package/web-shell/assets/{pieDiagram-E7YTZNPT-D01VkNsW.js → pieDiagram-E7YTZNPT-DaTmBmPG.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-AXDQQJYC-C4hHsiv-.js → quadrantDiagram-AXDQQJYC-plh6MyGI.js} +1 -1
- package/web-shell/assets/{railroadDiagram-O6MQD6OU-CuEO4xK2.js → railroadDiagram-O6MQD6OU-D_b-S0iK.js} +1 -1
- package/web-shell/assets/{requirementDiagram-EFPCY7ZU-D5J_vIo5.js → requirementDiagram-EFPCY7ZU-zUzTN7VE.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-P5KCCOFB-DQKY223V.js → sankeyDiagram-P5KCCOFB-m6AhoD0l.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-D27YV_cm.js → sequenceDiagram-WJ2MYXX4-Cwhzsine.js} +1 -1
- package/web-shell/assets/{sizeCapture-X5ZJPWSS-TJg8UcwV.js → sizeCapture-X5ZJPWSS-CcZuKIae.js} +1 -1
- package/web-shell/assets/{stateDiagram-HBIQ2CUA-CmnPzUIx.js → stateDiagram-HBIQ2CUA-CFoiJwD_.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V--H8HdEmk.js +1 -0
- package/web-shell/assets/{swimlanes-XN3QIQJK-ByeP3_Nu.js → swimlanes-XN3QIQJK-CgS9hcaV.js} +1 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-ShE9OIgf.js +8 -0
- package/web-shell/assets/{timeline-definition-24CTP7MA-BsFA5juR.js → timeline-definition-24CTP7MA-Dzzc05t9.js} +1 -1
- package/web-shell/assets/{vennDiagram-4TSXK5OY-DREP2ECo.js → vennDiagram-4TSXK5OY-DemK0f7Y.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-VM6X3IG4-iyd9lKi2.js → wardleyDiagram-VM6X3IG4-CquLxtMr.js} +1 -1
- package/web-shell/assets/{xychartDiagram-S5SC5T6Z-CVr1_j9q.js → xychartDiagram-S5SC5T6Z-BTBKTM5g.js} +1 -1
- package/web-shell/index.html +196 -2
- package/chunks/MaxSizedBox-X42SXBJH.js +0 -110
- package/chunks/agent-headless-IZM25LJA.js +0 -85
- package/chunks/bridge-ME6QXZNA.js +0 -119
- package/chunks/channel-settings-store-PEOI7XCG.js +0 -120
- package/chunks/chunk-7J6OTNGO.js +0 -424
- package/chunks/chunk-BWORX6FA.js +0 -135
- package/chunks/chunk-CPBF7KYF.js +0 -51
- package/chunks/chunk-H72BQNM3.js +0 -645
- package/chunks/chunk-JHYH6PYQ.js +0 -3096
- package/chunks/chunk-SS4MRMKE.js +0 -3525
- package/chunks/chunk-T4EFG2P5.js +0 -113
- package/chunks/chunk-XZA32HII.js +0 -19
- package/chunks/chunk-ZYNTSXWK.js +0 -32
- package/chunks/config-utils-R6M3TA34.js +0 -113
- package/chunks/contextCommand-ZCAP23J6.js +0 -106
- package/chunks/daemon-status-provider-K3SJ5C2U.js +0 -117
- package/chunks/daemon-trust-policy-DOR3YG62.js +0 -112
- package/chunks/deferred-core-runtime-WOYLUQQ7.js +0 -114
- package/chunks/earlyInputCapture-OHBEVO4K.js +0 -107
- package/chunks/errors-WAK6KFBC.js +0 -113
- package/chunks/exitPlanMode-UEYBG6P5.js +0 -83
- package/chunks/goal-tools-PTD3MBA7.js +0 -411
- package/chunks/handleAutoUpdate-FP3NWNSG.js +0 -109
- package/chunks/i18n-INIU5X7A.js +0 -124
- package/chunks/initializer-TYODV6GE.js +0 -113
- package/chunks/installationInfo-AAPKYDSZ.js +0 -107
- package/chunks/list-TUODDN6J.js +0 -116
- package/chunks/list-agents-DI3YFTDT.js +0 -80
- package/chunks/loadedSettingsAdapter-KJCLZ3C4.js +0 -110
- package/chunks/mcp-MWSAPFOL.js +0 -110
- package/chunks/nonInteractiveCli-JXKL343Q.js +0 -185
- package/chunks/pidfile-QOIQZFT2.js +0 -111
- package/chunks/prompt-terminal-ledger-FOMFTYOM.js +0 -105
- package/chunks/resumeHistoryUtils-NSGF3UCB.js +0 -118
- package/chunks/ripGrep-4CAT6SKV.js +0 -39
- package/chunks/scheduled-tasks-MN2ZZ5P6.js +0 -127
- package/chunks/serve-2XCHPPGG.js +0 -118
- package/chunks/skill-settings-ZL4JY5UE.js +0 -118
- package/chunks/spawnChannel-ZST6XJVJ.js +0 -112
- package/chunks/standalone-update-THVU3OKY.js +0 -118
- package/chunks/terminal-image-renderer-KS25G33E.js +0 -114
- package/chunks/theme-manager-YMZNG45F.js +0 -102
- package/chunks/total-session-admission-PVN64JVV.js +0 -114
- package/chunks/trustedFolders-FATSC4YI.js +0 -122
- package/chunks/updateCheck-D3YG2WCD.js +0 -118
- package/chunks/useAutoAcceptIndicator-ILINOSAS.js +0 -120
- package/chunks/workspace-providers-status-IJ4VHFMB.js +0 -114
- package/chunks/workspace-registry-BTGZIMPK.js +0 -123
- package/chunks/workspace-service-SIN67ITC.js +0 -126
- package/chunks/workspace-skills-status-F3RKCUIX.js +0 -113
- package/chunks/write-file-PAIGB33C.js +0 -88
- package/web-shell/assets/channel-CXjVLaBa.js +0 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-DANEijO3.js +0 -1
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-DANEijO3.js +0 -1
- package/web-shell/assets/index-Ci-z4zWY.js +0 -1913
- package/web-shell/assets/index-LDlXZRHA.css +0 -36
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-DNKPyrDc.js +0 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-ZL1HPC6w.js +0 -8
- /package/chunks/{chunk-FOGQO4FG.js → chunk-JA5CBKRP.js} +0 -0
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
// Force strict mode and setup for ESM
|
|
2
2
|
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
require_lib
|
|
5
|
+
} from "./chunk-ZL4HFSL6.js";
|
|
3
6
|
import {
|
|
4
7
|
require_axios,
|
|
5
8
|
require_ws
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-JJKNYRFY.js";
|
|
10
|
+
import "./chunk-OBTWL6ZW.js";
|
|
8
11
|
import "./chunk-K6KS3LTN.js";
|
|
9
|
-
import
|
|
10
|
-
require_lib
|
|
11
|
-
} from "./chunk-HMJ2P3SV.js";
|
|
12
|
-
import "./chunk-7E7UCJHS.js";
|
|
12
|
+
import "./chunk-OSHQMOBS.js";
|
|
13
13
|
import {
|
|
14
14
|
ChannelBase,
|
|
15
15
|
ChannelProactiveDeliveryError,
|
|
16
16
|
isChannelProactiveDeliveryError,
|
|
17
17
|
isTerminalTaskLifecycleType,
|
|
18
18
|
sanitizeSenderName
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-U4DJ5XB3.js";
|
|
20
20
|
import "./chunk-IW6RQPQB.js";
|
|
21
21
|
import "./chunk-CQ35AJ4Z.js";
|
|
22
22
|
import {
|
|
@@ -101330,7 +101330,7 @@ import { tmpdir } from "node:os";
|
|
|
101330
101330
|
|
|
101331
101331
|
// packages/channels/feishu/dist/markdown.js
|
|
101332
101332
|
init_esbuild_shims();
|
|
101333
|
-
var
|
|
101333
|
+
var FEISHU_CHUNK_LIMIT = 4e3;
|
|
101334
101334
|
function splitByTables(text) {
|
|
101335
101335
|
const lines = text.split("\n");
|
|
101336
101336
|
const segments = [];
|
|
@@ -101471,8 +101471,16 @@ function extractTitle(text) {
|
|
|
101471
101471
|
return cleaned || "Qwen Code";
|
|
101472
101472
|
}
|
|
101473
101473
|
__name(extractTitle, "extractTitle");
|
|
101474
|
-
function
|
|
101475
|
-
if (
|
|
101474
|
+
function safeUtf16SliceEnd(value, end) {
|
|
101475
|
+
if (end <= 0 || end >= value.length)
|
|
101476
|
+
return end;
|
|
101477
|
+
const previous = value.charCodeAt(end - 1);
|
|
101478
|
+
const next = value.charCodeAt(end);
|
|
101479
|
+
return previous >= 55296 && previous <= 56319 && next >= 56320 && next <= 57343 ? end - 1 : end;
|
|
101480
|
+
}
|
|
101481
|
+
__name(safeUtf16SliceEnd, "safeUtf16SliceEnd");
|
|
101482
|
+
function splitChunks(text, chunkLimit = FEISHU_CHUNK_LIMIT) {
|
|
101483
|
+
if (!text || text.length <= chunkLimit) {
|
|
101476
101484
|
return [text];
|
|
101477
101485
|
}
|
|
101478
101486
|
const chunks = [];
|
|
@@ -101484,7 +101492,7 @@ function splitChunks(text) {
|
|
|
101484
101492
|
const fenceCount = (line.match(/```/g) || []).length;
|
|
101485
101493
|
const willBeInCode = fenceCount % 2 === 1 ? !inCode : inCode;
|
|
101486
101494
|
const reserve = willBeInCode ? fenceLine.length + 1 : 0;
|
|
101487
|
-
if (buf.length + line.length + 1 + reserve >
|
|
101495
|
+
if (buf.length + line.length + 1 + reserve > chunkLimit && buf.length > 0) {
|
|
101488
101496
|
if (inCode) {
|
|
101489
101497
|
buf += "\n```";
|
|
101490
101498
|
}
|
|
@@ -101492,11 +101500,15 @@ function splitChunks(text) {
|
|
|
101492
101500
|
buf = inCode ? fenceLine : "";
|
|
101493
101501
|
}
|
|
101494
101502
|
buf += (buf ? "\n" : "") + line;
|
|
101495
|
-
const budget = willBeInCode ?
|
|
101503
|
+
const budget = willBeInCode ? chunkLimit - "\n```".length : chunkLimit;
|
|
101496
101504
|
while (buf.length > budget) {
|
|
101497
|
-
const maxSlice = inCode ?
|
|
101498
|
-
|
|
101499
|
-
|
|
101505
|
+
const maxSlice = inCode ? chunkLimit - "\n```".length - 1 : chunkLimit;
|
|
101506
|
+
const sliceEnd = safeUtf16SliceEnd(buf, maxSlice);
|
|
101507
|
+
if (sliceEnd <= 0) {
|
|
101508
|
+
throw new RangeError("chunk limit cannot contain one Unicode character");
|
|
101509
|
+
}
|
|
101510
|
+
let piece = buf.slice(0, sliceEnd);
|
|
101511
|
+
buf = buf.slice(sliceEnd);
|
|
101500
101512
|
if (inCode) {
|
|
101501
101513
|
piece += "\n```";
|
|
101502
101514
|
buf = fenceLine + "\n" + buf;
|
|
@@ -101591,6 +101603,12 @@ var terminalLabels = {
|
|
|
101591
101603
|
};
|
|
101592
101604
|
function buildQuestionCard(context) {
|
|
101593
101605
|
const elements = [];
|
|
101606
|
+
if (context.sourceLabel) {
|
|
101607
|
+
elements.push({
|
|
101608
|
+
tag: "markdown",
|
|
101609
|
+
content: escapeQuestionMarkdown(context.sourceLabel)
|
|
101610
|
+
});
|
|
101611
|
+
}
|
|
101594
101612
|
for (const question of context.questions) {
|
|
101595
101613
|
const descriptions = question.options.map((option) => `> **${option.label}**: ${option.description}`).join("\n");
|
|
101596
101614
|
elements.push({
|
|
@@ -101635,7 +101653,7 @@ ${descriptions}`
|
|
|
101635
101653
|
};
|
|
101636
101654
|
}
|
|
101637
101655
|
__name(buildQuestionCard, "buildQuestionCard");
|
|
101638
|
-
function buildQuestionTerminalCard(questions, state, answers) {
|
|
101656
|
+
function buildQuestionTerminalCard(questions, state, answers, sourceLabel) {
|
|
101639
101657
|
const details = questions.map((question) => {
|
|
101640
101658
|
const answer = answers?.[question.answerKey];
|
|
101641
101659
|
return answer ? `**${question.header}**
|
|
@@ -101648,7 +101666,9 @@ ${question.question}`;
|
|
|
101648
101666
|
elements: [
|
|
101649
101667
|
{
|
|
101650
101668
|
tag: "markdown",
|
|
101651
|
-
content:
|
|
101669
|
+
content: `${sourceLabel ? `${escapeQuestionMarkdown(sourceLabel)}
|
|
101670
|
+
|
|
101671
|
+
` : ""}**${terminalLabels[state]}**
|
|
101652
101672
|
|
|
101653
101673
|
${details}`
|
|
101654
101674
|
}
|
|
@@ -101657,6 +101677,10 @@ ${details}`
|
|
|
101657
101677
|
};
|
|
101658
101678
|
}
|
|
101659
101679
|
__name(buildQuestionTerminalCard, "buildQuestionTerminalCard");
|
|
101680
|
+
function escapeQuestionMarkdown(value) {
|
|
101681
|
+
return value.replaceAll("&", "&").replaceAll("<", "<").replaceAll(">", ">").replace(/([\\`*_[\]{}()#+.!|>~-])/gu, "\\$1");
|
|
101682
|
+
}
|
|
101683
|
+
__name(escapeQuestionMarkdown, "escapeQuestionMarkdown");
|
|
101660
101684
|
function record(value) {
|
|
101661
101685
|
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
101662
101686
|
return void 0;
|
|
@@ -101810,7 +101834,7 @@ var FeishuQuestionCardController = class {
|
|
|
101810
101834
|
this.options.onError?.("question card delivery", error);
|
|
101811
101835
|
await this.finalize(record2, "cancelled");
|
|
101812
101836
|
try {
|
|
101813
|
-
await this.
|
|
101837
|
+
await this.sendFallback(record2.chatId, this.fallbackText(record2.context), record2.context.sourceLabel);
|
|
101814
101838
|
} catch (fallbackError) {
|
|
101815
101839
|
this.options.onError?.("question fallback delivery", fallbackError);
|
|
101816
101840
|
}
|
|
@@ -101855,7 +101879,7 @@ var FeishuQuestionCardController = class {
|
|
|
101855
101879
|
toast: { type: "success", content: "\u7B54\u6848\u5DF2\u63D0\u4EA4\uFF0C\u6B63\u5728\u5904\u7406\u3002" },
|
|
101856
101880
|
card: {
|
|
101857
101881
|
type: "raw",
|
|
101858
|
-
data: buildQuestionTerminalCard(record2.context.questions, "processing", answers)
|
|
101882
|
+
data: buildQuestionTerminalCard(record2.context.questions, "processing", answers, record2.context.sourceLabel)
|
|
101859
101883
|
}
|
|
101860
101884
|
},
|
|
101861
101885
|
execute: /* @__PURE__ */ __name(() => this.respond(record2, "submitted", answers), "execute")
|
|
@@ -101869,7 +101893,7 @@ var FeishuQuestionCardController = class {
|
|
|
101869
101893
|
toast: { type: "info", content: "\u5DF2\u53D6\u6D88\u3002" },
|
|
101870
101894
|
card: {
|
|
101871
101895
|
type: "raw",
|
|
101872
|
-
data: buildQuestionTerminalCard(record2.context.questions, "cancelled")
|
|
101896
|
+
data: buildQuestionTerminalCard(record2.context.questions, "cancelled", void 0, record2.context.sourceLabel)
|
|
101873
101897
|
}
|
|
101874
101898
|
},
|
|
101875
101899
|
execute: /* @__PURE__ */ __name(() => this.respond(record2, "cancelled"), "execute")
|
|
@@ -101961,7 +101985,7 @@ var FeishuQuestionCardController = class {
|
|
|
101961
101985
|
return Promise.resolve();
|
|
101962
101986
|
const terminalState = record2.terminalState;
|
|
101963
101987
|
const answers = record2.terminalAnswers;
|
|
101964
|
-
const card = buildQuestionTerminalCard(record2.context.questions, terminalState, answers);
|
|
101988
|
+
const card = buildQuestionTerminalCard(record2.context.questions, terminalState, answers, record2.context.sourceLabel);
|
|
101965
101989
|
const projection = (record2.projection ?? Promise.resolve()).then(async () => {
|
|
101966
101990
|
let patched = false;
|
|
101967
101991
|
try {
|
|
@@ -101978,8 +102002,8 @@ var FeishuQuestionCardController = class {
|
|
|
101978
102002
|
return `${question.header}: ${answer ?? question.question}`;
|
|
101979
102003
|
}).join("\n");
|
|
101980
102004
|
try {
|
|
101981
|
-
await this.
|
|
101982
|
-
${details}
|
|
102005
|
+
await this.sendFallback(record2.chatId, `${terminalLabels[terminalState]}
|
|
102006
|
+
${details}`, record2.context.sourceLabel);
|
|
101983
102007
|
} catch (fallbackError) {
|
|
101984
102008
|
this.options.onError?.("question terminal fallback delivery", fallbackError);
|
|
101985
102009
|
}
|
|
@@ -102010,6 +102034,9 @@ ${details}`);
|
|
|
102010
102034
|
return `\u4E92\u52A8\u95EE\u9898\u5361\u7247\u6295\u9012\u5931\u8D25\uFF0C\u8BE5\u8BF7\u6C42\u5DF2\u53D6\u6D88\uFF0C\u8BF7\u91CD\u8BD5\u3002
|
|
102011
102035
|
${questions}`;
|
|
102012
102036
|
}
|
|
102037
|
+
sendFallback(chatId, text, sourceLabel) {
|
|
102038
|
+
return sourceLabel ? this.options.sendFallback(chatId, text, sourceLabel) : this.options.sendFallback(chatId, text);
|
|
102039
|
+
}
|
|
102013
102040
|
};
|
|
102014
102041
|
|
|
102015
102042
|
// packages/channels/feishu/dist/FeishuAdapter.js
|
|
@@ -102036,8 +102063,10 @@ var FEISHU_STATUS_STRINGS = [
|
|
|
102036
102063
|
FEISHU_TRUNCATED_STATUS_LABEL
|
|
102037
102064
|
];
|
|
102038
102065
|
var escapeRegExp = /* @__PURE__ */ __name((value) => value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), "escapeRegExp");
|
|
102066
|
+
var escapeFeishuMarkdown = /* @__PURE__ */ __name((value) => value.replaceAll("&", "&").replaceAll("<", "<").replaceAll(">", ">").replace(/([\\`*_[\]{}()#+.!|>~-])/gu, "\\$1"), "escapeFeishuMarkdown");
|
|
102039
102067
|
var FEISHU_STATUS_LABELS = `(?:${FEISHU_STATUS_STRINGS.map(escapeRegExp).join("|")})`;
|
|
102040
102068
|
var FEISHU_STATUS_BLOCK_RE = new RegExp(`(?:^|\\n)---\\n\\*${FEISHU_STATUS_LABELS}\\*(?=\\n|$)`, "g");
|
|
102069
|
+
var FEISHU_SOURCE_LABEL_LINE_RE = /^\\\[(?:[A-Za-z0-9](?:[A-Za-z0-9]|\\[_-]){0,31}|[^\r\n]+ · [A-Za-z0-9](?:[A-Za-z0-9]|\\[_-]){0,31})\\\](?:\n\n?)?/u;
|
|
102041
102070
|
var BASE_URL2 = "https://open.feishu.cn/open-apis";
|
|
102042
102071
|
var FEISHU_ID_RE2 = /^[a-zA-Z0-9_.:-]+$/;
|
|
102043
102072
|
var FeishuCardDeliveryError = class extends Error {
|
|
@@ -102099,7 +102128,7 @@ var FeishuChannel = class extends ChannelBase {
|
|
|
102099
102128
|
timeoutMs: 27e4,
|
|
102100
102129
|
sendCard: /* @__PURE__ */ __name((chatId, card) => this.sendInteractiveCard(chatId, card), "sendCard"),
|
|
102101
102130
|
patchCard: /* @__PURE__ */ __name((messageId, card) => this.patchInteractiveCard(messageId, card), "patchCard"),
|
|
102102
|
-
sendFallback: /* @__PURE__ */ __name((chatId, text) => this.sendMessageInternal(chatId, text, true), "sendFallback"),
|
|
102131
|
+
sendFallback: /* @__PURE__ */ __name((chatId, text, sourceLabel) => sourceLabel ? this.sendMessageInternal(chatId, text, true, "chat_id", sourceLabel) : this.sendMessageInternal(chatId, text, true), "sendFallback"),
|
|
102103
102132
|
onError: /* @__PURE__ */ __name((operation, error) => {
|
|
102104
102133
|
process.stderr.write(`[Feishu:${this.name}] ${operation} error: ${error instanceof Error ? error.message : error}
|
|
102105
102134
|
`);
|
|
@@ -102352,7 +102381,7 @@ var FeishuChannel = class extends ChannelBase {
|
|
|
102352
102381
|
}
|
|
102353
102382
|
const content = JSON.parse(item.body.content);
|
|
102354
102383
|
if (item.msg_type === "interactive") {
|
|
102355
|
-
return { content: this.extractCardText(content), isFromBot };
|
|
102384
|
+
return { content: this.extractCardText(content, isFromBot), isFromBot };
|
|
102356
102385
|
} else if (item.msg_type === "text") {
|
|
102357
102386
|
return { content: content.text || void 0, isFromBot };
|
|
102358
102387
|
} else if (item.msg_type === "post") {
|
|
@@ -102391,7 +102420,7 @@ var FeishuChannel = class extends ChannelBase {
|
|
|
102391
102420
|
* Supports both v2 format ({ schema, body: { elements } }) and
|
|
102392
102421
|
* v1/API-returned format ({ title, elements: [[...]] }).
|
|
102393
102422
|
*/
|
|
102394
|
-
extractCardText(card) {
|
|
102423
|
+
extractCardText(card, isFromBot = false) {
|
|
102395
102424
|
const lines = [];
|
|
102396
102425
|
const body = card["body"];
|
|
102397
102426
|
if (body?.elements) {
|
|
@@ -102444,6 +102473,9 @@ var FeishuChannel = class extends ChannelBase {
|
|
|
102444
102473
|
let text = lines.join("\n").trim();
|
|
102445
102474
|
text = text.replace(FEISHU_STATUS_BLOCK_RE, "");
|
|
102446
102475
|
text = text.replace(/^好的,<at[^>]*><\/at>\s*\n*/, "");
|
|
102476
|
+
if (this.config.multiSession && isFromBot) {
|
|
102477
|
+
text = text.replace(FEISHU_SOURCE_LABEL_LINE_RE, "");
|
|
102478
|
+
}
|
|
102447
102479
|
return text.trim() || void 0;
|
|
102448
102480
|
}
|
|
102449
102481
|
async getTenantAccessToken(options) {
|
|
@@ -102659,8 +102691,15 @@ var FeishuChannel = class extends ChannelBase {
|
|
|
102659
102691
|
async sendMessage(chatId, text) {
|
|
102660
102692
|
await this.sendMessageInternal(chatId, text, false);
|
|
102661
102693
|
}
|
|
102662
|
-
async
|
|
102663
|
-
|
|
102694
|
+
async sendThreadMessage(chatId, _threadId, text, sourceLabel) {
|
|
102695
|
+
if (sourceLabel) {
|
|
102696
|
+
await this.sendMessageInternal(chatId, text, false, "chat_id", sourceLabel);
|
|
102697
|
+
} else {
|
|
102698
|
+
await this.sendMessage(chatId, text);
|
|
102699
|
+
}
|
|
102700
|
+
}
|
|
102701
|
+
async pushProactive(target, text, sourceLabel) {
|
|
102702
|
+
await this.sendMessageInternal(target.chatId, text, true, "chat_id", sourceLabel);
|
|
102664
102703
|
}
|
|
102665
102704
|
async pushProactiveDelivery(target, text) {
|
|
102666
102705
|
try {
|
|
@@ -102672,7 +102711,7 @@ var FeishuChannel = class extends ChannelBase {
|
|
|
102672
102711
|
throw new ChannelProactiveDeliveryError("transient", error instanceof Error ? error.message : String(error), { cause: error });
|
|
102673
102712
|
}
|
|
102674
102713
|
}
|
|
102675
|
-
async sendMessageInternal(chatId, text, throwOnFailure, receiveIdType = "chat_id") {
|
|
102714
|
+
async sendMessageInternal(chatId, text, throwOnFailure, receiveIdType = "chat_id", sourceLabel, leadingPrefix) {
|
|
102676
102715
|
const token = await this.getTenantAccessToken();
|
|
102677
102716
|
if (!token) {
|
|
102678
102717
|
process.stderr.write(`[Feishu:${this.name}] Cannot send: no access token.
|
|
@@ -102682,7 +102721,18 @@ var FeishuChannel = class extends ChannelBase {
|
|
|
102682
102721
|
}
|
|
102683
102722
|
return;
|
|
102684
102723
|
}
|
|
102685
|
-
const
|
|
102724
|
+
const hasVisibleContent = text.trim().length > 0 || Boolean(leadingPrefix);
|
|
102725
|
+
const sourcePrefix = sourceLabel && hasVisibleContent ? `${escapeFeishuMarkdown(sourceLabel)}
|
|
102726
|
+
|
|
102727
|
+
` : "";
|
|
102728
|
+
const firstPrefix = leadingPrefix ? `${leadingPrefix}
|
|
102729
|
+
|
|
102730
|
+
` : "";
|
|
102731
|
+
const contentLimit = FEISHU_CHUNK_LIMIT - sourcePrefix.length - firstPrefix.length;
|
|
102732
|
+
if (contentLimit <= 0) {
|
|
102733
|
+
throw new Error("Feishu attribution exceeds the message limit.");
|
|
102734
|
+
}
|
|
102735
|
+
const chunks = splitChunks(text, contentLimit).map((chunk, index) => `${index === 0 ? firstPrefix : ""}${sourcePrefix}${chunk}`);
|
|
102686
102736
|
for (let i = 0; i < chunks.length; i++) {
|
|
102687
102737
|
const chunk = chunks[i];
|
|
102688
102738
|
const title = i === 0 ? extractTitle(text) : `${extractTitle(text)} (cont.)`;
|
|
@@ -102728,6 +102778,11 @@ var FeishuChannel = class extends ChannelBase {
|
|
|
102728
102778
|
}
|
|
102729
102779
|
}
|
|
102730
102780
|
}
|
|
102781
|
+
sendFallbackMessage(chatId, text, sourceLabel, leadingPrefix) {
|
|
102782
|
+
return sourceLabel ? this.sendMessageInternal(chatId, text, false, "chat_id", sourceLabel, leadingPrefix) : this.sendMessage(chatId, leadingPrefix ? `${leadingPrefix}
|
|
102783
|
+
|
|
102784
|
+
${text}` : text);
|
|
102785
|
+
}
|
|
102731
102786
|
// ----- Interactive Card Streaming -----
|
|
102732
102787
|
async sendInteractiveCard(chatId, card) {
|
|
102733
102788
|
const token = await this.getTenantAccessToken();
|
|
@@ -102794,11 +102849,15 @@ var FeishuChannel = class extends ChannelBase {
|
|
|
102794
102849
|
}
|
|
102795
102850
|
async createStreamingCard(chatId, text, title, inboundMsgId) {
|
|
102796
102851
|
const cardTitle = title || inboundMsgId && this.msgToQuestion.get(inboundMsgId) || "Qwen";
|
|
102797
|
-
const
|
|
102852
|
+
const statusLabel = this.statusLabelFor();
|
|
102853
|
+
const card = buildCardContent(this.attributedCardText(inboundMsgId, text, `
|
|
102854
|
+
|
|
102855
|
+
---
|
|
102856
|
+
*${statusLabel}*`.length), {
|
|
102798
102857
|
title: cardTitle,
|
|
102799
102858
|
showStopButton: true,
|
|
102800
102859
|
isStreaming: true,
|
|
102801
|
-
statusLabel
|
|
102860
|
+
statusLabel,
|
|
102802
102861
|
collapsible: this.collapsible,
|
|
102803
102862
|
collapsibleThreshold: this.collapsibleThreshold
|
|
102804
102863
|
});
|
|
@@ -102818,16 +102877,42 @@ var FeishuChannel = class extends ChannelBase {
|
|
|
102818
102877
|
}
|
|
102819
102878
|
async updateCard(messageId, text, finished = false, inboundMsgId, statusLabel) {
|
|
102820
102879
|
const cardTitle = inboundMsgId ? this.msgToQuestion.get(inboundMsgId) || "Qwen" : "Qwen";
|
|
102821
|
-
const
|
|
102880
|
+
const effectiveStatusLabel = statusLabel ?? (!finished ? this.statusLabelFor() : void 0);
|
|
102881
|
+
const card = buildCardContent(this.attributedCardText(inboundMsgId, text, effectiveStatusLabel ? `
|
|
102882
|
+
|
|
102883
|
+
---
|
|
102884
|
+
*${effectiveStatusLabel}*`.length : 0), {
|
|
102822
102885
|
title: cardTitle,
|
|
102823
102886
|
showStopButton: !finished,
|
|
102824
102887
|
isStreaming: !finished,
|
|
102825
|
-
statusLabel:
|
|
102888
|
+
statusLabel: effectiveStatusLabel,
|
|
102826
102889
|
collapsible: this.collapsible,
|
|
102827
102890
|
collapsibleThreshold: this.collapsibleThreshold
|
|
102828
102891
|
});
|
|
102829
102892
|
return this.patchInteractiveCard(messageId, card);
|
|
102830
102893
|
}
|
|
102894
|
+
attributedCardText(inboundMsgId, text, reservedChars = 0) {
|
|
102895
|
+
if (!inboundMsgId)
|
|
102896
|
+
return this.truncateCardText(text, reservedChars);
|
|
102897
|
+
const sourceLabel = this.cardSessions.get(inboundMsgId)?.sourceLabel;
|
|
102898
|
+
if (!sourceLabel)
|
|
102899
|
+
return this.truncateCardText(text, reservedChars);
|
|
102900
|
+
const atPrefix = this.msgToSenderName.get(inboundMsgId);
|
|
102901
|
+
let body = text;
|
|
102902
|
+
const prefixes = [];
|
|
102903
|
+
if (atPrefix && (body === atPrefix || body.startsWith(`${atPrefix}
|
|
102904
|
+
`))) {
|
|
102905
|
+
prefixes.push(atPrefix);
|
|
102906
|
+
body = body.slice(atPrefix.length).replace(/^\s{1,2}/u, "");
|
|
102907
|
+
}
|
|
102908
|
+
prefixes.push(escapeFeishuMarkdown(sourceLabel));
|
|
102909
|
+
const prefix = prefixes.join("\n\n");
|
|
102910
|
+
if (!body)
|
|
102911
|
+
return prefix;
|
|
102912
|
+
return `${prefix}
|
|
102913
|
+
|
|
102914
|
+
${this.truncateCardText(body, reservedChars + prefix.length + 2)}`;
|
|
102915
|
+
}
|
|
102831
102916
|
async presentUserInputRequest(context) {
|
|
102832
102917
|
if (!context.precedingSegmentId) {
|
|
102833
102918
|
const inboundMsgId = this.sessionToInboundMsg.get(context.sessionId);
|
|
@@ -102864,7 +102949,7 @@ var FeishuChannel = class extends ChannelBase {
|
|
|
102864
102949
|
return false;
|
|
102865
102950
|
}
|
|
102866
102951
|
}
|
|
102867
|
-
onResponseChunk(chatId, chunk, sessionId) {
|
|
102952
|
+
onResponseChunk(chatId, chunk, sessionId, segment) {
|
|
102868
102953
|
if (this.config.blockStreaming === "on")
|
|
102869
102954
|
return;
|
|
102870
102955
|
const inboundMsgId = this.sessionToInboundMsg.get(sessionId);
|
|
@@ -102883,10 +102968,12 @@ var FeishuChannel = class extends ChannelBase {
|
|
|
102883
102968
|
creating: false,
|
|
102884
102969
|
stopped: false,
|
|
102885
102970
|
accumulatedText: "",
|
|
102886
|
-
lastUpdateAt: Date.now()
|
|
102971
|
+
lastUpdateAt: Date.now(),
|
|
102972
|
+
sourceLabel: segment?.sourceLabel ?? this.getResponseSourceLabel(sessionId)
|
|
102887
102973
|
};
|
|
102888
102974
|
this.cardSessions.set(inboundMsgId, cardState);
|
|
102889
102975
|
}
|
|
102976
|
+
cardState.sourceLabel ??= segment?.sourceLabel ?? this.getResponseSourceLabel(sessionId);
|
|
102890
102977
|
if (cardState.stopped)
|
|
102891
102978
|
return;
|
|
102892
102979
|
cardState.boundaryText = void 0;
|
|
@@ -103078,8 +103165,9 @@ ${text}` : atPrefix : text;
|
|
|
103078
103165
|
}
|
|
103079
103166
|
if (!updated) {
|
|
103080
103167
|
await this.deleteCard(cardState.messageId);
|
|
103081
|
-
if (displayText)
|
|
103082
|
-
await this.
|
|
103168
|
+
if (displayText) {
|
|
103169
|
+
await this.sendFallbackMessage(chatId, text, cardState.sourceLabel, atPrefix);
|
|
103170
|
+
}
|
|
103083
103171
|
}
|
|
103084
103172
|
} else {
|
|
103085
103173
|
if (cardState.creating) {
|
|
@@ -103087,7 +103175,7 @@ ${text}` : atPrefix : text;
|
|
|
103087
103175
|
cardState.abandoned = true;
|
|
103088
103176
|
}
|
|
103089
103177
|
if (text) {
|
|
103090
|
-
await this.
|
|
103178
|
+
await this.sendFallbackMessage(chatId, text, cardState.sourceLabel, atPrefix);
|
|
103091
103179
|
}
|
|
103092
103180
|
}
|
|
103093
103181
|
} finally {
|
|
@@ -103127,7 +103215,7 @@ ${contentPart}` : contentPart;
|
|
|
103127
103215
|
const updated = await this.updateCard(cardState.messageId, finalText, true, inboundMsgId);
|
|
103128
103216
|
if (!updated) {
|
|
103129
103217
|
await this.deleteCard(cardState.messageId);
|
|
103130
|
-
await this.
|
|
103218
|
+
await this.sendFallbackMessage(chatId, contentPart, cardState.sourceLabel, prefix);
|
|
103131
103219
|
}
|
|
103132
103220
|
}
|
|
103133
103221
|
this.cleanupCard(inboundMsgId);
|
|
@@ -103153,15 +103241,18 @@ ${contentPart}` : contentPart;
|
|
|
103153
103241
|
}
|
|
103154
103242
|
cardState.terminalStatus ??= event.type;
|
|
103155
103243
|
}
|
|
103156
|
-
async onResponseComplete(chatId, fullText, sessionId) {
|
|
103244
|
+
async onResponseComplete(chatId, fullText, sessionId, segment) {
|
|
103245
|
+
const sourceLabel = segment?.sourceLabel ?? this.getResponseSourceLabel(sessionId);
|
|
103157
103246
|
const inboundMsgId = this.sessionToInboundMsg.get(sessionId);
|
|
103158
103247
|
if (!inboundMsgId) {
|
|
103159
103248
|
process.stderr.write(`[Feishu:${this.name}] onResponseComplete: no inboundMsgId for session ${sessionId}, fallback to sendMessage
|
|
103160
103249
|
`);
|
|
103161
|
-
await this.
|
|
103250
|
+
await this.sendFallbackMessage(chatId, fullText, sourceLabel);
|
|
103162
103251
|
return;
|
|
103163
103252
|
}
|
|
103164
103253
|
const cardState = this.cardSessions.get(inboundMsgId);
|
|
103254
|
+
if (cardState)
|
|
103255
|
+
cardState.sourceLabel ??= sourceLabel;
|
|
103165
103256
|
if (cardState)
|
|
103166
103257
|
cardState.completed = true;
|
|
103167
103258
|
if (cardState?.stopped || this.stoppedMessages.has(inboundMsgId)) {
|
|
@@ -103208,7 +103299,7 @@ ${contentPart}` : contentPart;
|
|
|
103208
103299
|
cardState.stopped = true;
|
|
103209
103300
|
cardState.abandoned = true;
|
|
103210
103301
|
this.cleanupCard(inboundMsgId);
|
|
103211
|
-
await this.
|
|
103302
|
+
await this.sendFallbackMessage(chatId, fullText, sourceLabel);
|
|
103212
103303
|
return;
|
|
103213
103304
|
}
|
|
103214
103305
|
if (cardState?.created) {
|
|
@@ -103233,9 +103324,7 @@ ${contentPart}` : contentPart;
|
|
|
103233
103324
|
if (!lastResort) {
|
|
103234
103325
|
await this.deleteCard(cardState.messageId);
|
|
103235
103326
|
this.cleanupCard(inboundMsgId);
|
|
103236
|
-
await this.
|
|
103237
|
-
|
|
103238
|
-
${fullText}` : fullText);
|
|
103327
|
+
await this.sendFallbackMessage(chatId, fullText, sourceLabel, atSender);
|
|
103239
103328
|
return;
|
|
103240
103329
|
}
|
|
103241
103330
|
}
|
|
@@ -103256,13 +103345,12 @@ ${fullText}` : fullText);
|
|
|
103256
103345
|
await this.deleteCard(result.messageId);
|
|
103257
103346
|
}
|
|
103258
103347
|
this.cleanupCard(inboundMsgId);
|
|
103259
|
-
await this.
|
|
103260
|
-
|
|
103261
|
-
${fullText}` : fullText);
|
|
103348
|
+
await this.sendFallbackMessage(chatId, fullText, sourceLabel, atSender);
|
|
103262
103349
|
}
|
|
103263
103350
|
onPromptStart(_chatId, sessionId, messageId) {
|
|
103264
103351
|
const inboundMsgId = messageId && this.isKnownInboundMessageId(messageId) ? messageId : void 0;
|
|
103265
103352
|
if (inboundMsgId) {
|
|
103353
|
+
const sourceLabel = this.getResponseSourceLabel(sessionId);
|
|
103266
103354
|
this.sessionToInboundMsg.set(sessionId, inboundMsgId);
|
|
103267
103355
|
this.addReaction(inboundMsgId, "OnIt").catch(() => {
|
|
103268
103356
|
});
|
|
@@ -103273,8 +103361,13 @@ ${fullText}` : fullText);
|
|
|
103273
103361
|
creating: false,
|
|
103274
103362
|
stopped: false,
|
|
103275
103363
|
accumulatedText: "",
|
|
103276
|
-
lastUpdateAt: Date.now()
|
|
103364
|
+
lastUpdateAt: Date.now(),
|
|
103365
|
+
sourceLabel
|
|
103277
103366
|
});
|
|
103367
|
+
} else {
|
|
103368
|
+
const cardState = this.cardSessions.get(inboundMsgId);
|
|
103369
|
+
if (cardState)
|
|
103370
|
+
cardState.sourceLabel ??= sourceLabel;
|
|
103278
103371
|
}
|
|
103279
103372
|
}
|
|
103280
103373
|
}
|
|
@@ -103309,18 +103402,12 @@ ${cs.accumulatedText}` : cs.accumulatedText : atPrefix || "";
|
|
|
103309
103402
|
} else {
|
|
103310
103403
|
if (cs.accumulatedText) {
|
|
103311
103404
|
const atPrefix = this.msgToSenderName.get(inboundMsgId) || "";
|
|
103312
|
-
|
|
103313
|
-
|
|
103314
|
-
${cs.accumulatedText}` : cs.accumulatedText;
|
|
103315
|
-
this.sendMessage(_chatId, fallbackText).catch(() => {
|
|
103405
|
+
this.sendFallbackMessage(_chatId, cs.accumulatedText, cs.sourceLabel, atPrefix).catch(() => {
|
|
103316
103406
|
});
|
|
103317
103407
|
} else if (cs.terminalStatus !== "completed") {
|
|
103318
103408
|
const atPrefix = this.msgToSenderName.get(inboundMsgId) || "";
|
|
103319
103409
|
const fallbackLabel = cs.terminalStatus ? this.statusLabelFor(cs.terminalStatus) : "\u51FA\u9519\u4E86\uFF0C\u8BF7\u91CD\u8BD5";
|
|
103320
|
-
|
|
103321
|
-
|
|
103322
|
-
*${fallbackLabel}*` : `*${fallbackLabel}*`;
|
|
103323
|
-
this.sendMessage(_chatId, errorText).catch(() => {
|
|
103410
|
+
this.sendFallbackMessage(_chatId, `*${fallbackLabel}*`, cs.sourceLabel, atPrefix).catch(() => {
|
|
103324
103411
|
});
|
|
103325
103412
|
process.stderr.write(`[Feishu:${this.name}] onPromptEnd: no card and no accumulated text for inbound=${inboundMsgId}, sent error fallback
|
|
103326
103413
|
`);
|
|
@@ -103471,11 +103558,11 @@ ${contentPart}` : prefix : contentPart;
|
|
|
103471
103558
|
const updated = await this.updateCard(cardState.messageId, finalText, cancelSucceeded, inboundId, stopLabel);
|
|
103472
103559
|
if (!updated && cancelSucceeded && chatId) {
|
|
103473
103560
|
await this.deleteCard(cardState.messageId);
|
|
103474
|
-
await this.
|
|
103561
|
+
await this.sendFallbackMessage(chatId, contentPart ? `${contentPart}
|
|
103475
103562
|
|
|
103476
103563
|
---
|
|
103477
103564
|
*${stopLabel}*` : `---
|
|
103478
|
-
*${stopLabel}
|
|
103565
|
+
*${stopLabel}*`, cardState.sourceLabel, prefix);
|
|
103479
103566
|
}
|
|
103480
103567
|
}
|
|
103481
103568
|
}, "handleStop");
|
|
@@ -103574,8 +103661,9 @@ ${contentPart}` : prefix : contentPart;
|
|
|
103574
103661
|
if (text.length + reservedChars <= MAX_CARD_CHARS)
|
|
103575
103662
|
return text;
|
|
103576
103663
|
const marker = "\n\n_(\u5185\u5BB9\u8FC7\u957F\uFF0C\u5DF2\u622A\u65AD\u65E9\u671F\u5185\u5BB9)_";
|
|
103664
|
+
const body = text.endsWith(marker) ? text.slice(0, -marker.length) : text;
|
|
103577
103665
|
const fenceReserve = 4;
|
|
103578
|
-
let truncated =
|
|
103666
|
+
let truncated = body.slice(-(MAX_CARD_CHARS - marker.length - fenceReserve - reservedChars)) + marker;
|
|
103579
103667
|
if (this.countFences(truncated) % 2 === 1) {
|
|
103580
103668
|
truncated = "```\n" + truncated;
|
|
103581
103669
|
}
|
|
@@ -103622,7 +103710,8 @@ ${contentPart}` : prefix : contentPart;
|
|
|
103622
103710
|
accumulatedText: "",
|
|
103623
103711
|
lastUpdateAt: Date.now(),
|
|
103624
103712
|
userStopped: cardState.userStopped,
|
|
103625
|
-
terminalStatus: cardState.terminalStatus
|
|
103713
|
+
terminalStatus: cardState.terminalStatus,
|
|
103714
|
+
sourceLabel: cardState.sourceLabel
|
|
103626
103715
|
});
|
|
103627
103716
|
}
|
|
103628
103717
|
// ----- Message handling -----
|
|
@@ -103790,7 +103879,7 @@ ${envelope.text}`;
|
|
|
103790
103879
|
});
|
|
103791
103880
|
this.cleanupCard(msgId);
|
|
103792
103881
|
} else {
|
|
103793
|
-
this.
|
|
103882
|
+
this.sendFallbackMessage(chatId, "\u5904\u7406\u6D88\u606F\u65F6\u51FA\u9519\uFF0C\u8BF7\u91CD\u8BD5\u3002", existingCard.sourceLabel ?? this.getInboundErrorSourceLabel(envelope)).catch(() => {
|
|
103794
103883
|
});
|
|
103795
103884
|
this.cleanupCard(msgId);
|
|
103796
103885
|
}
|