@qwen-code/qwen-code 0.23.0 → 0.23.1-preview.1
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/new-app/SKILL.md +1 -1
- package/bundled/qc-helper/docs/configuration/auth.md +84 -12
- package/bundled/qc-helper/docs/configuration/settings.md +76 -74
- package/bundled/qc-helper/docs/features/arena.md +15 -20
- package/bundled/qc-helper/docs/features/channels/overview.md +7 -2
- package/bundled/qc-helper/docs/features/code-review.md +22 -19
- package/bundled/qc-helper/docs/features/commands.md +51 -10
- package/bundled/qc-helper/docs/features/followup-suggestions.md +1 -1
- package/bundled/qc-helper/docs/features/goals.md +8 -0
- package/bundled/qc-helper/docs/features/headless.md +2 -2
- package/bundled/qc-helper/docs/features/hooks.md +19 -19
- package/bundled/qc-helper/docs/features/output-styles.md +35 -2
- package/bundled/qc-helper/docs/qwen-serve.md +67 -52
- package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +3 -1
- package/bundled/qc-helper/docs/support/troubleshooting.md +3 -3
- package/bundled/review/SKILL.md +45 -41
- package/bundled/review/references/aone.md +1 -1
- package/bundled/review/references/posting.md +1 -1
- package/bundled/workflow-creator/SKILL.md +48 -0
- package/bundled/zvec-grep-install/SKILL.md +57 -0
- package/chunks/MaxSizedBox-5ARLO5PR.js +116 -0
- package/chunks/{StandaloneSessionPicker-QUMO4LLQ.js → StandaloneSessionPicker-T6B322CB.js} +87 -82
- package/chunks/{acp-startup-profiler-M4X5F3VK.js → acp-startup-profiler-6ULXXQMS.js} +2 -2
- package/chunks/{acpAgent-2GTFCIEP.js → acpAgent-WTDEY5KD.js} +1041 -364
- package/chunks/{agent-XKF5SZWU.js → agent-NXPUXEVZ.js} +46 -43
- package/chunks/agent-headless-QQZTWOKO.js +88 -0
- package/chunks/{anthropicContentGenerator-L76MR5OR.js → anthropicContentGenerator-6XDHXIII.js} +16 -9
- package/chunks/{artifact-tool-MYCL2QCS.js → artifact-tool-DFVVJXL2.js} +3 -3
- package/chunks/askUserQuestion-GF7VQ44M.js +14 -0
- package/chunks/bridge-OHY5OGOZ.js +123 -0
- package/chunks/{ca-BNU7YNDE.js → ca-KC2AISNS.js} +1 -0
- package/chunks/{channel-management-service-4MTCEGJB.js → channel-management-service-ZDDG3G5S.js} +4 -4
- package/chunks/channel-settings-store-7BJAS2SU.js +126 -0
- package/chunks/{channel-worker-group-47F4ISUZ.js → channel-worker-group-2ISMRENV.js} +6 -6
- package/chunks/{channel-worker-manager-I5Y44GYR.js → channel-worker-manager-VSRPVPRH.js} +6 -6
- package/chunks/{channel-worker-supervisor-6VCLUXFE.js → channel-worker-supervisor-SRJBK72Z.js} +4 -4
- package/chunks/{chunk-5RTTI4GE.js → chunk-2RYWGYB3.js} +4 -3
- package/chunks/{chunk-FUO5V5KI.js → chunk-2UWQX4FP.js} +2 -2
- package/chunks/{chunk-L26ONV2Y.js → chunk-2WGJG2KW.js} +9 -8
- package/chunks/{chunk-JHN7UIDW.js → chunk-2XRE4KE4.js} +1 -1
- package/chunks/chunk-32CM56LO.js +20 -0
- package/chunks/{chunk-SI7WDR3U.js → chunk-32YDNYXP.js} +129 -14
- package/chunks/{chunk-ZHO2CW6D.js → chunk-3CZ2BQV6.js} +1 -1
- package/chunks/{chunk-FD5SJOWT.js → chunk-3K456UJF.js} +9 -4
- package/chunks/{chunk-5M6IDOMF.js → chunk-3K65MUKD.js} +105 -0
- package/chunks/chunk-3UMWOKJC.js +78 -0
- package/chunks/{chunk-UM2FFKXN.js → chunk-43JNQAHO.js} +3 -3
- package/chunks/{chunk-KM3XVTMO.js → chunk-43NOB5NM.js} +112 -12
- package/chunks/{chunk-G5PBOQWI.js → chunk-47BZVBTE.js} +3 -3
- package/chunks/{chunk-32LU3APX.js → chunk-4F2QRVW6.js} +1 -1
- package/chunks/{chunk-KMU3ZHH4.js → chunk-4HC4DYKN.js} +2 -2
- package/chunks/{chunk-22UH7VTP.js → chunk-4HOEU2OR.js} +1 -1
- package/chunks/{chunk-NXKOVOM5.js → chunk-4IQKBLTQ.js} +15 -9
- package/chunks/{chunk-M4KFODIP.js → chunk-4JAGXZR3.js} +1 -1
- package/chunks/{chunk-PDAKFU7M.js → chunk-4LIPOIXS.js} +1 -1
- package/chunks/{chunk-LEPCWS5A.js → chunk-4MCY33Y2.js} +3 -3
- package/chunks/{chunk-U6D2PPMN.js → chunk-4VUVBN3Y.js} +1 -1
- package/chunks/{chunk-37JFWFCD.js → chunk-4VZCORNT.js} +1 -1
- package/chunks/{daemon-RKDGBFLK.js → chunk-537SQ2AI.js} +2216 -1721
- package/chunks/{chunk-VNAYZAFX.js → chunk-54TF2ZIQ.js} +4 -4
- package/chunks/{chunk-OKTNXDVO.js → chunk-565U2ANU.js} +1 -1
- package/chunks/chunk-5ETULJLP.js +74 -0
- package/chunks/{chunk-ADYN7P2Y.js → chunk-5JLQWQK6.js} +8 -6
- package/chunks/{chunk-BFY33IB4.js → chunk-5MTARK4Y.js} +7 -7
- package/chunks/{chunk-BJXCYUGM.js → chunk-5YY5MZT6.js} +1 -1
- package/chunks/{chunk-4PSDSCW3.js → chunk-64MQTIX7.js} +3 -3
- package/chunks/{chunk-54C6PIGT.js → chunk-6UIACMGH.js} +3 -3
- package/chunks/{chunk-ALUYNJPM.js → chunk-7BZS4ZDV.js} +1362 -1140
- package/chunks/{chunk-LB3WQQJK.js → chunk-7OCIQNKX.js} +2 -2
- package/chunks/{chunk-QKDNS6FU.js → chunk-7VEYUF3N.js} +13 -2
- package/chunks/{chunk-AZJLY2XZ.js → chunk-AHBLRVD5.js} +5 -5
- package/chunks/{chunk-VWTSRH6C.js → chunk-AQ5NAGWI.js} +89 -17
- package/chunks/{chunk-MOF6VZN2.js → chunk-AXPOOQAW.js} +2 -2
- package/chunks/{chunk-CVX63TFJ.js → chunk-B44JBZBB.js} +3 -3
- package/chunks/{chunk-AI35S34R.js → chunk-B54PFQS5.js} +3 -3
- package/chunks/{chunk-373DQUVA.js → chunk-BF3RUIVP.js} +5 -4
- package/chunks/{chunk-RJUVTJEZ.js → chunk-BKNY7PDI.js} +1 -1
- package/chunks/{chunk-UKYXYWI2.js → chunk-BUQN5LTI.js} +2 -2
- package/chunks/{chunk-O5CD7T4T.js → chunk-BW4333PP.js} +0 -95
- package/chunks/{chunk-UPFRILIL.js → chunk-CWNC7M73.js} +2 -2
- package/chunks/{chunk-3L724BJ5.js → chunk-CZACBHAW.js} +6 -6
- package/chunks/{chunk-EBDGRBZX.js → chunk-D4CU6DKR.js} +6 -6
- package/chunks/{chunk-G7HBEEX7.js → chunk-D6PIMKY3.js} +9 -9
- package/chunks/{chunk-ENYUKMFK.js → chunk-DJXSOEFB.js} +1 -1
- package/chunks/{chunk-C2VWOXHS.js → chunk-DNPHKA72.js} +8 -8
- package/chunks/{chunk-UUASLXHW.js → chunk-E4L5BM2B.js} +5 -5
- package/chunks/{chunk-HT5S5TRQ.js → chunk-EDIDYZBT.js} +4 -11
- package/chunks/{chunk-5H5S4UY5.js → chunk-EFT7OMDN.js} +1 -1
- package/chunks/{chunk-GB4UKWY5.js → chunk-EJNYBDYC.js} +2 -2
- package/chunks/{chunk-NQ4L2CMD.js → chunk-ER273QE6.js} +53 -9
- package/chunks/{chunk-RKW36UWC.js → chunk-EWNKP4V4.js} +1 -1
- package/chunks/{chunk-UJ4DUYIH.js → chunk-F53KKZUD.js} +2 -2
- package/chunks/{chunk-EFTPIZIC.js → chunk-FDOGGKAA.js} +21 -0
- package/chunks/{chunk-AQ37AY7B.js → chunk-FKJM6JKY.js} +5 -0
- package/chunks/{chunk-KEVYJSI4.js → chunk-G34YLYCS.js} +13 -13
- package/chunks/{chunk-P6UIF2OW.js → chunk-GCFZ2LAX.js} +195 -10
- package/chunks/{chunk-VGHZT6JR.js → chunk-GELRJXE2.js} +1 -1
- package/chunks/{chunk-ZDFQGHZH.js → chunk-GMNLYQOS.js} +1 -1
- package/chunks/{chunk-KOGW3YWJ.js → chunk-GVVCLL2P.js} +12 -12
- package/chunks/{chunk-OSSTATJF.js → chunk-GXZHYPHZ.js} +428 -30
- package/chunks/{chunk-IPATA3T2.js → chunk-GZWW2QWR.js} +2 -2
- package/chunks/{chunk-C4TIXFDZ.js → chunk-H3UDNQLO.js} +6 -4
- package/chunks/chunk-HD7O6WLV.js +18 -0
- package/chunks/{chunk-4UANMABT.js → chunk-HFTB354P.js} +259 -49
- package/chunks/{chunk-LOBDDFYK.js → chunk-HJ34U5J4.js} +5 -5
- package/chunks/{chunk-M4LBBSVP.js → chunk-HY3DXYZK.js} +2 -2
- package/chunks/{chunk-4F7GQGXB.js → chunk-I72PHOKL.js} +1451 -415
- package/chunks/{chunk-YPWZTR7F.js → chunk-IFD3BTEA.js} +3 -3
- package/chunks/{chunk-EWRW2WQC.js → chunk-IKLFS6SC.js} +5 -5
- package/chunks/{chunk-VPSIC437.js → chunk-IQN2CCIE.js} +66 -6
- package/chunks/{chunk-F7NF2IOE.js → chunk-IXSGOSEG.js} +7 -7
- package/chunks/{chunk-ODZF64DM.js → chunk-IZ2U57NY.js} +1 -1
- package/chunks/{chunk-4BGDFKQE.js → chunk-J3O5I5ZD.js} +24 -7
- package/chunks/{chunk-DYTW3QVG.js → chunk-J6MB5ZHZ.js} +1 -1
- package/chunks/{chunk-HJBHMANB.js → chunk-JBTZUFR4.js} +11 -8
- package/chunks/{chunk-SRF4KTAG.js → chunk-JLWFGYXU.js} +4 -4
- package/chunks/{chunk-SX2QIMJV.js → chunk-JOPC3FND.js} +5 -5
- package/chunks/chunk-JPEAQJNS.js +2142 -0
- package/chunks/{chunk-ZTPGUFQV.js → chunk-JRYL3T2O.js} +24 -5
- package/chunks/{chunk-GXUTFQXK.js → chunk-KE3Q4JMY.js} +4 -4
- package/chunks/{chunk-LKODFJRD.js → chunk-KFFCDLKV.js} +1 -1
- package/chunks/{chunk-4M24B5J5.js → chunk-KJJPJYHI.js} +79 -30
- package/chunks/chunk-KK2GZGBK.js +21080 -0
- package/chunks/{chunk-64QH2UC6.js → chunk-KPXRFTT7.js} +12 -1
- package/chunks/{chunk-JZWOCUZ3.js → chunk-L4R7BCVV.js} +1 -1
- package/chunks/{chunk-IG4W5SJR.js → chunk-LDS57224.js} +3 -3
- package/chunks/{chunk-UAKRDON5.js → chunk-LK7S2D6V.js} +4 -4
- package/chunks/{chunk-4HVH57J3.js → chunk-LMJQSPWB.js} +21 -6
- package/chunks/{chunk-ANVG3BVV.js → chunk-LNYV4GXX.js} +13 -3
- package/chunks/{chunk-RM4WT2XB.js → chunk-LPBQODMR.js} +4 -4
- package/chunks/{chunk-XEAAO654.js → chunk-M3JGHRMQ.js} +1 -1
- package/chunks/{chunk-AMDSOFFV.js → chunk-MATEIJZF.js} +1 -0
- package/chunks/{chunk-LHBNR6EU.js → chunk-MNEYUNOE.js} +2 -2
- package/chunks/{chunk-I4NRYS6A.js → chunk-MUZCSTOO.js} +11 -11
- package/chunks/{chunk-I5N4EAS6.js → chunk-MWHY26G3.js} +1 -1
- package/chunks/{chunk-7XL4WRXM.js → chunk-N6VQ37ZZ.js} +2 -2
- package/chunks/{chunk-AHYTURFB.js → chunk-N7EYO2E7.js} +1 -1
- package/chunks/{chunk-LU77UT4D.js → chunk-N7VURC4O.js} +24 -26
- package/chunks/{chunk-DSX7KQPM.js → chunk-NAKALAL4.js} +227 -29
- package/chunks/{chunk-QQD2GART.js → chunk-NGX4NUNP.js} +3 -3
- package/chunks/{chunk-2M3EWQNG.js → chunk-NUQFUXOG.js} +17 -1
- package/chunks/{chunk-E4JNFXNI.js → chunk-NXWYCSPL.js} +3 -3
- package/chunks/{chunk-6A2D4QSO.js → chunk-O2GG7H4C.js} +4 -4
- package/chunks/{chunk-ZKFTS3OV.js → chunk-O45WBTNS.js} +6 -6
- package/chunks/{chunk-KGV55H53.js → chunk-OECNP26L.js} +1 -1
- package/chunks/{chunk-S6H3ELPG.js → chunk-P4RUUG64.js} +1 -1
- package/chunks/{chunk-GH2S4GD5.js → chunk-P5LDR7FI.js} +21 -68
- package/chunks/{chunk-RN3YGDCA.js → chunk-P6LATTDG.js} +4 -4
- package/chunks/{chunk-WP4AX3XD.js → chunk-PTFFWTTO.js} +3 -3
- package/chunks/{chunk-DTVQSSNM.js → chunk-PZUOHCWI.js} +3 -3
- package/chunks/{chunk-VYIUNFEA.js → chunk-PZV2FASB.js} +3 -3
- package/chunks/{chunk-XLXAZLDR.js → chunk-Q2SAQTEJ.js} +1 -1
- package/chunks/{chunk-47RYEQW5.js → chunk-QMFOYPGV.js} +2 -2
- package/chunks/{chunk-SULZPKTA.js → chunk-QSC5YOEC.js} +3 -3
- package/chunks/{chunk-F33GFWPR.js → chunk-QWZOOIR3.js} +58 -18
- package/chunks/{chunk-H43PSPYS.js → chunk-R355CUNQ.js} +4 -4
- package/chunks/{chunk-DQCKVAF5.js → chunk-RDKXZ2LS.js} +3 -3
- package/chunks/{chunk-7JMGTOH7.js → chunk-RPBMP6BN.js} +21 -1
- package/chunks/{chunk-5Q5RC2WE.js → chunk-RVNS7NWN.js} +2 -2
- package/chunks/{chunk-7RB56BRJ.js → chunk-SAZS4IWW.js} +6 -4
- package/chunks/{chunk-5EIOJGCR.js → chunk-SFMCYMVF.js} +4 -4
- package/chunks/{chunk-TMKTOTMQ.js → chunk-SN5FV4FY.js} +5 -5
- package/chunks/{chunk-QJGYU5PG.js → chunk-TDP7UULF.js} +1 -1
- package/chunks/{chunk-EIJT2PQ6.js → chunk-TIGXX4PA.js} +2 -2
- package/chunks/{chunk-PCRBLMIN.js → chunk-TMWB67LS.js} +21 -3
- package/chunks/{chunk-JUARRUMA.js → chunk-UEZOXZNI.js} +1358 -646
- package/chunks/{chunk-KFN2IZYR.js → chunk-UKADFFL2.js} +3 -3
- package/chunks/{chunk-TJYRTS4S.js → chunk-UKKYOIVT.js} +2 -2
- package/chunks/{chunk-EVFDRBUM.js → chunk-URSCX7S7.js} +12 -7
- package/chunks/{chunk-U4DJ5XB3.js → chunk-VDXYYVCD.js} +269 -70
- package/chunks/{chunk-4LIFGNI4.js → chunk-VEFRT7NX.js} +1 -1
- package/chunks/chunk-VFFQAOPR.js +18 -0
- package/chunks/{chunk-3AKCBZVW.js → chunk-VU7O7CGQ.js} +3 -3
- package/chunks/{chunk-RAFQIHN2.js → chunk-VUSSAGKI.js} +76 -5
- package/chunks/{chunk-TQHPVKO6.js → chunk-VY6UVU7G.js} +6 -6
- package/chunks/{chunk-S2T7H5MI.js → chunk-W4LL5RZO.js} +1 -1
- package/chunks/{chunk-ZGCKTAL5.js → chunk-WEXA2DNG.js} +2 -0
- package/chunks/{chunk-NVVJTUSL.js → chunk-WR3SH3EY.js} +136 -85
- package/chunks/{chunk-JR42V4UY.js → chunk-WTW36TJ3.js} +1 -1
- package/chunks/{chunk-TSZSGQ3N.js → chunk-WXC6OAWD.js} +1 -1
- package/chunks/{chunk-ZVP4PWBU.js → chunk-X35VIWWJ.js} +1 -1
- package/chunks/{chunk-KHP66DFN.js → chunk-XFFRI3WM.js} +1 -1
- package/chunks/{chunk-EIY7SUPZ.js → chunk-XHGGYCTA.js} +1 -1
- package/chunks/{chunk-BA4WJC4L.js → chunk-XOVVCGZX.js} +1 -1
- package/chunks/{chunk-VBWD6C27.js → chunk-XUSOYE2I.js} +1 -1
- package/chunks/{chunk-NUHOLAQ6.js → chunk-XWJFDJZK.js} +1 -1
- package/chunks/{chunk-65HWLGA7.js → chunk-XY3USGFE.js} +3 -3
- package/chunks/{chunk-STCVJXQB.js → chunk-Y3ZKI4RQ.js} +56 -26
- package/chunks/{chunk-QAK5475D.js → chunk-Y53DG2HA.js} +1 -1
- package/chunks/{chunk-3JQZVCBI.js → chunk-YCDL2SAS.js} +2 -2
- package/chunks/{chunk-NSUKQ4DN.js → chunk-YHDGABDC.js} +3 -3
- package/chunks/{chunk-FRICLXCZ.js → chunk-Z6WZPXQH.js} +3 -3
- package/chunks/{chunk-EAHOJF6V.js → chunk-ZAFYHRVY.js} +12 -0
- package/chunks/{chunk-MP6YZ4RK.js → chunk-ZAZ3NFL6.js} +852 -309
- package/chunks/{chunk-7TBU7PU2.js → chunk-ZSTCM3MX.js} +1 -1
- package/chunks/{chunk-NRL5CUZT.js → chunk-ZTAVGFKA.js} +1 -1
- package/chunks/config-utils-QXDOTXEQ.js +119 -0
- package/chunks/contextCommand-RN4KARWC.js +112 -0
- package/chunks/{core-runtime-B4UKKIAQ.js → core-runtime-NAZCOKHB.js} +63 -58
- package/chunks/{create-sub-session-NJ24B4US.js → create-sub-session-BCSM4WKB.js} +61 -56
- package/chunks/{create-sub-session-LUPWEUHR.js → create-sub-session-BQ3SE4TX.js} +3 -3
- package/chunks/{cron-create-CRSPET3H.js → cron-create-D6HQ7I7I.js} +4 -4
- package/chunks/{cron-delete-DB77SZTU.js → cron-delete-KK3D2SQV.js} +4 -4
- package/chunks/{cron-list-U2JNYWV6.js → cron-list-VBF3IZMF.js} +4 -4
- package/chunks/daemon-LCUELM6E.js +191 -0
- package/chunks/{daemon-git-worktree-guard-O2HPOBAB.js → daemon-git-worktree-guard-3K5CAU36.js} +62 -57
- package/chunks/daemon-status-provider-4X3ZZQTZ.js +122 -0
- package/chunks/daemon-trust-policy-R45CFUJA.js +118 -0
- package/chunks/{daemon-trust-policy-monitor-JL7F4Y4Q.js → daemon-trust-policy-monitor-DSSFCO3K.js} +69 -64
- package/chunks/{de-T4BLOKEC.js → de-UU2YTO37.js} +1 -0
- package/chunks/deferred-core-runtime-UO2M6WYI.js +120 -0
- package/chunks/{display-image-73C7XNRK.js → display-image-EVVTBVYE.js} +6 -6
- package/chunks/{dist-EDHQIBYD.js → dist-3T5MDUHP.js} +62 -20
- package/chunks/{dist-ZCJLKQSP.js → dist-AFH3BMZZ.js} +18 -10
- package/chunks/{dist-LXFYIJNG.js → dist-MK5PPBRF.js} +40 -9
- package/chunks/{dist-GT64AAUR.js → dist-PH5RSTEA.js} +56 -20
- package/chunks/{dist-62OZ7QXB.js → dist-QUU7TVE3.js} +35 -12
- package/chunks/{dist-JVXT4VUJ.js → dist-R5Y34V6T.js} +11 -2
- package/chunks/{dist-L6URO6CK.js → dist-SB2XRXZA.js} +5 -1
- package/chunks/{dist-QAF5DO3Y.js → dist-SIHF5MU2.js} +326 -131
- package/chunks/{dist-PDGNRVPY.js → dist-UVHW2U56.js} +20 -1
- package/chunks/earlyInputCapture-BXP7V2P3.js +22 -0
- package/chunks/{edit-SUGXY63Y.js → edit-VNBCTRWP.js} +48 -44
- package/chunks/{en-2RATMNX7.js → en-JMR535HP.js} +3 -1
- package/chunks/{enter-worktree-B6USKSIK.js → enter-worktree-CEVK7MQ2.js} +7 -7
- package/chunks/{enterPlanMode-MDX4RVVL.js → enterPlanMode-4KMZMUIA.js} +48 -45
- package/chunks/environment-S2HYQDON.js +135 -0
- package/chunks/errors-DAAN5TL7.js +119 -0
- package/chunks/{exit-worktree-DLQ73SJH.js → exit-worktree-D3YE6MUN.js} +7 -7
- package/chunks/exitPlanMode-HR36HG3D.js +86 -0
- package/chunks/{fast-path-Y73R42LV.js → fast-path-4IWSW3UV.js} +3 -3
- package/chunks/{fast-path-settings-MFUR3IWK.js → fast-path-settings-ISEJPRYE.js} +6 -4
- package/chunks/{fr-BGHGYX6A.js → fr-HKNWVXRJ.js} +1 -0
- package/chunks/{glob-DMGH7EZN.js → glob-IZYB2XH2.js} +46 -43
- package/chunks/{goal-tools-3RF3PXCL.js → goal-tools-VGUPKQDJ.js} +46 -43
- package/chunks/{grep-AJVLCVXC.js → grep-OUVLNXG7.js} +9 -8
- package/chunks/handleAutoUpdate-D56FMDTW.js +115 -0
- package/chunks/i18n-BKE5WO6T.js +130 -0
- package/chunks/{image-gen-VOIDOHOB.js → image-gen-SHVQ3XID.js} +8 -8
- package/chunks/initializer-MS4SGEHF.js +119 -0
- package/chunks/installationInfo-542MGC4S.js +113 -0
- package/chunks/{ja-G3FTD5XE.js → ja-GJS5RZGU.js} +1 -0
- package/chunks/{keychain-token-storage-REZVMJA6.js → keychain-token-storage-NQ5XWIPX.js} +2 -2
- package/chunks/list-H6XTKUWL.js +122 -0
- package/chunks/{list-agents-SBMONIUK.js → list-agents-ULYBGJXC.js} +6 -6
- package/chunks/{llm-K26SUDVK.js → llm-3NUC4EJY.js} +132 -113
- package/chunks/{llm-content-generator-TT6EAUD4.js → llm-content-generator-R4NL3OQN.js} +40 -13
- package/chunks/loadedSettingsAdapter-3XLKYDVT.js +116 -0
- package/chunks/{loggingContentGenerator-EYQBA4M4.js → loggingContentGenerator-ZYSWVNEO.js} +55 -52
- package/chunks/{loop-wakeup-QA6SHCZT.js → loop-wakeup-B27BEYRL.js} +5 -5
- package/chunks/{lowlight-J2OZNPCA.js → lowlight-BTE423KL.js} +3 -6
- package/chunks/{ls-HEJNCEYO.js → ls-3IIMMVKF.js} +5 -4
- package/chunks/{lsp-WOQKNZP6.js → lsp-VJAT7XKS.js} +2 -2
- package/chunks/{managed-npm-update-HIJTODQT.js → managed-npm-update-L2I53ZAI.js} +62 -57
- package/chunks/mcp-4PIXQASW.js +116 -0
- package/chunks/{monitor-DKNZQAB2.js → monitor-O2YQTOZZ.js} +50 -46
- package/chunks/{node-UETAYMMO.js → node-ISQAFKIS.js} +2 -2
- package/chunks/nonInteractiveCli-LV7CDBA2.js +198 -0
- package/chunks/{notebook-edit-MGHTRL2D.js → notebook-edit-4RE2ALH4.js} +48 -44
- package/chunks/{openaiContentGenerator-ZJIEQ3ZJ.js → openaiContentGenerator-7ND7K5CP.js} +30 -25
- package/chunks/pidfile-UFTLQ7NP.js +117 -0
- package/chunks/{processUtils-UY3SAJJZ.js → processUtils-3XBB4FYV.js} +2 -2
- package/chunks/prompt-terminal-ledger-2QASOGMM.js +111 -0
- package/chunks/{pt-D73IFYT7.js → pt-FXMYXEUV.js} +1 -0
- package/chunks/{qwenContentGenerator-VI4KATRY.js → qwenContentGenerator-AELTUTH6.js} +52 -49
- package/chunks/{qwenOAuth2-7AOCKSOQ.js → qwenOAuth2-BS5D2LYV.js} +7 -7
- package/chunks/{read-file-P7F4P7LV.js → read-file-PDWHZPHX.js} +13 -11
- package/chunks/{read-mcp-resource-GLAGB6R7.js → read-mcp-resource-YXJZ75UB.js} +2 -2
- package/chunks/{record-artifact-SWVR7NSU.js → record-artifact-WJDOV6XU.js} +4 -4
- package/chunks/{report-findings-AL5YW3KI.js → report-findings-Q4UACKWR.js} +5 -5
- package/chunks/{request-shutdown-5YK4IZ54.js → request-shutdown-2YZ3E3GH.js} +8 -8
- package/chunks/resumeHistoryUtils-QRXZEEBA.js +124 -0
- package/chunks/ripGrep-KSOOLE6H.js +39 -0
- package/chunks/{ru-QMISLKRH.js → ru-RMHURE5U.js} +1 -0
- package/chunks/{run-qwen-serve-OGTEEUR2.js → run-qwen-serve-RTAREPT6.js} +84 -70
- package/chunks/runtime-ESFSCJRZ.js +154 -0
- package/chunks/scheduled-tasks-6ZHRNBH6.js +133 -0
- package/chunks/{scheduler-73YXGUGW.js → scheduler-DQI6KV7T.js} +63 -58
- package/chunks/{sdk-exporters-http-3JO5TJNU.js → sdk-exporters-http-7R2ARBPV.js} +2 -2
- package/chunks/{sdk-impl-HZAUUTHJ.js → sdk-impl-YOLO7LV4.js} +4 -4
- package/chunks/{send-message-JC7NJTY6.js → send-message-PQCVSVMN.js} +24 -24
- package/chunks/serve-FY7ZEW52.js +124 -0
- package/chunks/{server-AOYZVVOM.js → server-KNDY6K5F.js} +1594 -273
- package/chunks/{session-UAWFNFGI.js → session-MCEPXAZP.js} +113 -105
- package/chunks/session-attachments-root-OLNAE6GF.js +109 -0
- package/chunks/{session-pr-refresh-CT2INROL.js → session-pr-refresh-HKJHQQQK.js} +67 -62
- package/chunks/{settings-BHRGDASJ.js → settings-VXO4WBMK.js} +68 -63
- package/chunks/shell-U263OTES.js +96 -0
- package/chunks/{skill-ZGBKNCHQ.js → skill-SDODGBKL.js} +19 -17
- package/chunks/skill-settings-YEIA22QJ.js +124 -0
- package/chunks/spawnChannel-4WJZVFPP.js +117 -0
- package/chunks/standalone-update-ZWVQUO64.js +124 -0
- package/chunks/{start-opentui-ui-FZ4USOU7.js → start-opentui-ui-BFYCJQRZ.js} +1199 -190
- package/chunks/{startInteractiveUI-E2WQJUOA.js → startInteractiveUI-JYAFCMHL.js} +2977 -2319
- package/chunks/{syntheticOutput-HJNZSEHN.js → syntheticOutput-AUAJBNXR.js} +3 -3
- package/chunks/{task-create-6RSD54S5.js → task-create-LD5ISM3E.js} +12 -12
- package/chunks/{task-list-IQSACPOM.js → task-list-YISJ4RJA.js} +5 -5
- package/chunks/{task-stop-HE2LRQNW.js → task-stop-65ZOVATJ.js} +2 -2
- package/chunks/{task-update-XAJ2NYOA.js → task-update-AAN4ZVEY.js} +15 -15
- package/chunks/{team-create-SOKMYSQU.js → team-create-KU7MABNO.js} +47 -44
- package/chunks/{team-delete-NGNNKGMG.js → team-delete-XFRRTJTT.js} +5 -5
- package/chunks/{team-plan-approval-U7ZWXYAY.js → team-plan-approval-DPB377A3.js} +46 -43
- package/chunks/terminal-image-renderer-WGWRENOF.js +124 -0
- package/chunks/theme-manager-GBUFULSO.js +108 -0
- package/chunks/{todoWrite-5UTVUXHA.js → todoWrite-G7NT4IFP.js} +5 -5
- package/chunks/{tool-search-IAI2RVWT.js → tool-search-6YUXHBPT.js} +19 -17
- package/chunks/total-session-admission-54R2JQ5L.js +118 -0
- package/chunks/trustedFolders-KAJIDJTH.js +128 -0
- package/chunks/{update-relaunch-5RWKZAL3.js → update-relaunch-XM4IWBFD.js} +5 -5
- package/chunks/updateCheck-W6UZFURI.js +124 -0
- package/chunks/useAutoAcceptIndicator-LAWYHY3U.js +126 -0
- package/chunks/{validateNonInterActiveAuth-QPFEKATS.js → validateNonInterActiveAuth-7WCKHRN2.js} +109 -101
- package/chunks/{version-JKNG7YDH.js → version-3ZU43RJ6.js} +1 -1
- package/chunks/{web-fetch-X3AHIIHW.js → web-fetch-QHI2SQL4.js} +16 -14
- package/chunks/{web-search-K2FMOGS5.js → web-search-3KZZKWNY.js} +9 -8
- package/chunks/{workflow-TOLPAK5G.js → workflow-HRW7Y2X4.js} +330 -1667
- package/chunks/workspace-providers-status-KTGCWCPC.js +120 -0
- package/chunks/{workspace-registration-store-KQWVVW4Y.js → workspace-registration-store-LHLPPWNE.js} +1 -1
- package/chunks/workspace-registry-X34MLN52.js +127 -0
- package/chunks/workspace-runtime-coordinator-U4PW4P7K.js +128 -0
- package/chunks/workspace-service-KD7BCGYL.js +132 -0
- package/chunks/workspace-skills-status-YJGO6Y3T.js +119 -0
- package/chunks/{workspace-trust-reconciler-IBDFQBQS.js → workspace-trust-reconciler-EUYHISCH.js} +74 -69
- package/chunks/write-file-EBSB34NJ.js +91 -0
- package/chunks/{zh-25DF7OGK.js → zh-DVFYHRK5.js} +3 -1
- package/chunks/{zh-TW-5EDMZVGK.js → zh-TW-W2GNP2IU.js} +3 -1
- package/chunks/{zoom-image-IFXSN74N.js → zoom-image-UJ5VKWKP.js} +13 -11
- package/cli.js +13 -13
- package/export-transcript-document.js +617 -0
- package/locales/ca.js +1 -0
- package/locales/de.js +1 -0
- package/locales/en.js +5 -2
- package/locales/fr.js +1 -0
- package/locales/ja.js +1 -0
- package/locales/pt.js +1 -0
- package/locales/ru.js +1 -0
- package/locales/zh-TW.js +5 -2
- package/locales/zh.js +5 -2
- package/package.json +5 -4
- package/web-shell/assets/{abnfDiagram-VCTEODGH-Cxf7xE_Z.js → abnfDiagram-VCTEODGH-Dur--luQ.js} +1 -1
- package/web-shell/assets/{arc-ESi1eNkE.js → arc-tYLobxFi.js} +1 -1
- package/web-shell/assets/{architectureDiagram-5GKGNRK7-D9l7-bDo.js → architectureDiagram-5GKGNRK7-IG6aXD03.js} +1 -1
- package/web-shell/assets/{blockDiagram-NRAW4CY4-Bc8DEasw.js → blockDiagram-NRAW4CY4-C6eBSkfA.js} +1 -1
- package/web-shell/assets/{c4Diagram-UCG6FXSJ-Dimb2Hmh.js → c4Diagram-UCG6FXSJ-BrX3HJqB.js} +1 -1
- package/web-shell/assets/channel-uEkvKckd.js +1 -0
- package/web-shell/assets/{chunk-2Q5K7J3B-jVDmOpAQ.js → chunk-2Q5K7J3B-B3fcJ8ee.js} +1 -1
- package/web-shell/assets/{chunk-5VM5RSS4-DbG_SwdB.js → chunk-5VM5RSS4-CeC90yKM.js} +1 -1
- package/web-shell/assets/{chunk-F27PBJKO-QEc4cY1v.js → chunk-F27PBJKO-CW44RVki.js} +1 -1
- package/web-shell/assets/{chunk-G27WJ6UU-iJ36lQ3X.js → chunk-G27WJ6UU-D1PAMukD.js} +1 -1
- package/web-shell/assets/{chunk-JWPE2WC7-DuArnVtF.js → chunk-JWPE2WC7-Dt3Y2Fvx.js} +1 -1
- package/web-shell/assets/{chunk-LCL6LL3I-DxOf1zwL.js → chunk-LCL6LL3I-CZHw2lLI.js} +1 -1
- package/web-shell/assets/{chunk-POPQ4Y6H-lVLu9Ild.js → chunk-POPQ4Y6H-ysNAdTGx.js} +1 -1
- package/web-shell/assets/{chunk-SVP7TREG-C6XYlIer.js → chunk-SVP7TREG-BdNXW6YQ.js} +1 -1
- package/web-shell/assets/{chunk-XXDRQBXY-CiG2j2Ji.js → chunk-XXDRQBXY-DgqQ9UA8.js} +1 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-DuPsnhWS.js +1 -0
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-DuPsnhWS.js +1 -0
- package/web-shell/assets/{cose-bilkent-JH36ORCC-DGVHMMVm.js → cose-bilkent-JH36ORCC-BILImXzJ.js} +1 -1
- package/web-shell/assets/{cynefin-OW5HDTMX-D6cgpCnH.js → cynefin-OW5HDTMX-DR88Pund.js} +1 -1
- package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-BKv4Z-UX.js → cynefinDiagram-5FMLGOSQ-BYFbfkA6.js} +1 -1
- package/web-shell/assets/{dagre-3AP2YEHR-B4ABMIG-.js → dagre-3AP2YEHR-rfpyc6sX.js} +1 -1
- package/web-shell/assets/{diagram-S7CK7UJ4-DgCkp_Lm.js → diagram-S7CK7UJ4-BJxLmEwH.js} +1 -1
- package/web-shell/assets/{diagram-UQ7AKVKN-FG0FNokz.js → diagram-UQ7AKVKN-H34xm7k3.js} +1 -1
- package/web-shell/assets/{diagram-VSXAHHWV-JgkP9qg-.js → diagram-VSXAHHWV-HYxhwNLx.js} +1 -1
- package/web-shell/assets/{diagram-VX7I27RA-ADh2x83l.js → diagram-VX7I27RA-BJazso8F.js} +1 -1
- package/web-shell/assets/{diagram-Z3DM3KII-yXqoYF1J.js → diagram-Z3DM3KII-Clje1aNy.js} +1 -1
- package/web-shell/assets/{ebnfDiagram-PWID7BFC-Duk83Ek_.js → ebnfDiagram-PWID7BFC-M93YBkFh.js} +1 -1
- package/web-shell/assets/{erDiagram-SSCWMZ5O-DMdvxySG.js → erDiagram-SSCWMZ5O-DY8XzSHU.js} +1 -1
- package/web-shell/assets/{flowDiagram-A5DVABFB-DHjVgSji.js → flowDiagram-A5DVABFB-CE6Aylcq.js} +1 -1
- package/web-shell/assets/{ganttDiagram-EL5Y4UJY-DMM9DkCE.js → ganttDiagram-EL5Y4UJY-DI-5LL22.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-t_ug9vO8.js → gitGraphDiagram-WWUBYQGX-C7BZWElk.js} +1 -1
- package/web-shell/assets/index-CVyqwW7y.js +2142 -0
- package/web-shell/assets/{index-zqvnpGHv.js → index-DclFHns9.js} +1 -1
- package/web-shell/assets/index-FO7JXPnH.css +36 -0
- package/web-shell/assets/{infoDiagram-RXCK75RN-eT1fANNm.js → infoDiagram-RXCK75RN-CGUSy4Pc.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-5VMMS53U-k3evzZNn.js → ishikawaDiagram-5VMMS53U-B5BVks9q.js} +1 -1
- package/web-shell/assets/{journeyDiagram-EYS64GPL-CGim3EAi.js → journeyDiagram-EYS64GPL-CFh6Tf7h.js} +1 -1
- package/web-shell/assets/{kanban-definition-3QL26DDD-WHfJo-22.js → kanban-definition-3QL26DDD-B7TlxP7c.js} +1 -1
- package/web-shell/assets/{layout-DkqIaFlJ.js → layout-Br_pZq2Q.js} +1 -1
- package/web-shell/assets/{linear-Bdkd3mCz.js → linear-BVlP6fte.js} +1 -1
- package/web-shell/assets/{mermaid.core-CGw0LkT_.js → mermaid.core-TrcYWoiF.js} +6 -6
- package/web-shell/assets/{mindmap-definition-FBJOCRG2-C9V4rBvo.js → mindmap-definition-FBJOCRG2-BJ4LzqjZ.js} +1 -1
- package/web-shell/assets/{pegDiagram-XKGWAZYB-CwoI2T5G.js → pegDiagram-XKGWAZYB-1b_MxlOl.js} +1 -1
- package/web-shell/assets/{pieDiagram-E7YTZNPT-DaTmBmPG.js → pieDiagram-E7YTZNPT-B8zl0YhY.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-AXDQQJYC-plh6MyGI.js → quadrantDiagram-AXDQQJYC-CIZO8ukl.js} +1 -1
- package/web-shell/assets/{railroadDiagram-O6MQD6OU-D_b-S0iK.js → railroadDiagram-O6MQD6OU-CepHSbCj.js} +1 -1
- package/web-shell/assets/{requirementDiagram-EFPCY7ZU-zUzTN7VE.js → requirementDiagram-EFPCY7ZU-BCgxkcSW.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-P5KCCOFB-m6AhoD0l.js → sankeyDiagram-P5KCCOFB-CE5CcoMM.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-Cwhzsine.js → sequenceDiagram-WJ2MYXX4-DvgHi-d5.js} +1 -1
- package/web-shell/assets/{sizeCapture-X5ZJPWSS-CcZuKIae.js → sizeCapture-X5ZJPWSS-T-fAsCPX.js} +1 -1
- package/web-shell/assets/{stateDiagram-HBIQ2CUA-CFoiJwD_.js → stateDiagram-HBIQ2CUA-DYHaul-5.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-BcYho9a4.js +1 -0
- package/web-shell/assets/{swimlanes-XN3QIQJK-CgS9hcaV.js → swimlanes-XN3QIQJK-Dbz3Qiej.js} +1 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-D6HsOIgX.js +8 -0
- package/web-shell/assets/{timeline-definition-24CTP7MA-Dzzc05t9.js → timeline-definition-24CTP7MA-9NVRts3N.js} +1 -1
- package/web-shell/assets/{vennDiagram-4TSXK5OY-DemK0f7Y.js → vennDiagram-4TSXK5OY-C7cb7vnH.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-VM6X3IG4-CquLxtMr.js → wardleyDiagram-VM6X3IG4-CG-8Ddjm.js} +1 -1
- package/web-shell/assets/{xychartDiagram-S5SC5T6Z-BTBKTM5g.js → xychartDiagram-S5SC5T6Z-iGeYAcP4.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/MaxSizedBox-B3D7545A.js +0 -111
- package/chunks/agent-headless-OC2IB55D.js +0 -85
- package/chunks/askUserQuestion-THQZMG44.js +0 -322
- package/chunks/bridge-IHSBI2YJ.js +0 -118
- package/chunks/channel-settings-store-BVKWAI2T.js +0 -121
- package/chunks/chunk-I2TMJPCV.js +0 -448
- package/chunks/chunk-QI27MKNQ.js +0 -4008
- package/chunks/config-utils-LVSYDLHZ.js +0 -114
- package/chunks/contextCommand-TZD7UAJK.js +0 -107
- package/chunks/daemon-status-provider-GRRVCJFW.js +0 -117
- package/chunks/daemon-trust-policy-YJL442BK.js +0 -113
- package/chunks/deferred-core-runtime-S32AYVZI.js +0 -115
- package/chunks/earlyInputCapture-BBPCIVZG.js +0 -108
- package/chunks/environment-VN6RXDVN.js +0 -130
- package/chunks/errors-UEY36PIT.js +0 -114
- package/chunks/exitPlanMode-EPHIEDAA.js +0 -83
- package/chunks/handleAutoUpdate-HVWQT2AU.js +0 -110
- package/chunks/i18n-5OR7NTRZ.js +0 -125
- package/chunks/initializer-JE5RQSOE.js +0 -114
- package/chunks/installationInfo-KO3CCSCK.js +0 -108
- package/chunks/list-3IORSFIY.js +0 -117
- package/chunks/loadedSettingsAdapter-KLLFZF3M.js +0 -111
- package/chunks/mcp-A2UEHETW.js +0 -111
- package/chunks/nonInteractiveCli-YA47F2F4.js +0 -190
- package/chunks/pidfile-ETHAZNMY.js +0 -112
- package/chunks/prompt-terminal-ledger-GZ747VYE.js +0 -106
- package/chunks/resumeHistoryUtils-DPZKFW24.js +0 -119
- package/chunks/ripGrep-C7LJKUPZ.js +0 -37
- package/chunks/runtime-LNBLEMZS.js +0 -149
- package/chunks/scheduled-tasks-FLDYZQOF.js +0 -128
- package/chunks/serve-3UR2H4CV.js +0 -119
- package/chunks/session-attachments-root-ZCGXQQTR.js +0 -104
- package/chunks/shell-YHOGC7TO.js +0 -93
- package/chunks/skill-settings-AKSP665O.js +0 -119
- package/chunks/spawnChannel-N25MBB6F.js +0 -112
- package/chunks/standalone-update-XGPWJDRN.js +0 -119
- package/chunks/terminal-image-renderer-KKM4OBLO.js +0 -117
- package/chunks/theme-manager-GQHF3A7T.js +0 -103
- package/chunks/total-session-admission-G4CGCSTG.js +0 -113
- package/chunks/trustedFolders-D2I3FDPB.js +0 -123
- package/chunks/updateCheck-ZXOQDFEI.js +0 -119
- package/chunks/useAutoAcceptIndicator-6EK4QGAH.js +0 -121
- package/chunks/workspace-providers-status-PCJK3RC7.js +0 -115
- package/chunks/workspace-registry-YNIOB6HJ.js +0 -122
- package/chunks/workspace-runtime-coordinator-WG2RNEN7.js +0 -123
- package/chunks/workspace-service-G4ZNBOFH.js +0 -127
- package/chunks/workspace-skills-status-FMTPPMWC.js +0 -114
- package/chunks/write-file-YTLFY2S5.js +0 -88
- package/web-shell/assets/channel-B7ohGDil.js +0 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-DdFpqpfD.js +0 -1
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-DdFpqpfD.js +0 -1
- package/web-shell/assets/index-BGZRqbRo.css +0 -36
- package/web-shell/assets/index-DRri_6_x.js +0 -2067
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V--H8HdEmk.js +0 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-ShE9OIgf.js +0 -8
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
sanitizePromptText,
|
|
15
15
|
sanitizeSenderName,
|
|
16
16
|
truncateUtf16Units
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-VDXYYVCD.js";
|
|
18
18
|
import "./chunk-IW6RQPQB.js";
|
|
19
19
|
import "./chunk-CQ35AJ4Z.js";
|
|
20
20
|
import "./chunk-DMTGGOSA.js";
|
|
@@ -8534,6 +8534,24 @@ function collectNonBotMentionIds(data) {
|
|
|
8534
8534
|
return [...mentions];
|
|
8535
8535
|
}
|
|
8536
8536
|
__name(collectNonBotMentionIds, "collectNonBotMentionIds");
|
|
8537
|
+
var connectLogDepth = 0;
|
|
8538
|
+
var unsuppressedConsoleLog;
|
|
8539
|
+
async function withConnectLoggingSuppressed(connect) {
|
|
8540
|
+
if (connectLogDepth++ === 0) {
|
|
8541
|
+
unsuppressedConsoleLog = console.log;
|
|
8542
|
+
console.log = () => {
|
|
8543
|
+
};
|
|
8544
|
+
}
|
|
8545
|
+
try {
|
|
8546
|
+
return await connect();
|
|
8547
|
+
} finally {
|
|
8548
|
+
if (--connectLogDepth === 0 && unsuppressedConsoleLog) {
|
|
8549
|
+
console.log = unsuppressedConsoleLog;
|
|
8550
|
+
unsuppressedConsoleLog = void 0;
|
|
8551
|
+
}
|
|
8552
|
+
}
|
|
8553
|
+
}
|
|
8554
|
+
__name(withConnectLoggingSuppressed, "withConnectLoggingSuppressed");
|
|
8537
8555
|
var DingtalkChannel = class _DingtalkChannel extends ChannelBase {
|
|
8538
8556
|
static {
|
|
8539
8557
|
__name(this, "DingtalkChannel");
|
|
@@ -8684,6 +8702,8 @@ var DingtalkChannel = class _DingtalkChannel extends ChannelBase {
|
|
|
8684
8702
|
client.onDownStream = (raw) => {
|
|
8685
8703
|
this.onDownStream(raw, client);
|
|
8686
8704
|
};
|
|
8705
|
+
const sdkConnect = client.connect.bind(client);
|
|
8706
|
+
client.connect = () => withConnectLoggingSuppressed(sdkConnect);
|
|
8687
8707
|
}
|
|
8688
8708
|
registerMessageHandler(client) {
|
|
8689
8709
|
client.registerCallbackListener(TOPIC_ROBOT, (msg) => {
|
|
@@ -9776,7 +9796,7 @@ var DingtalkChannel = class _DingtalkChannel extends ChannelBase {
|
|
|
9776
9796
|
if (msgtype === "richText") {
|
|
9777
9797
|
const richText = data.content?.richText;
|
|
9778
9798
|
if (!Array.isArray(richText)) {
|
|
9779
|
-
return { text: "", downloadCodes: [] };
|
|
9799
|
+
return { text: "", downloadCodes: [], syntheticText: false };
|
|
9780
9800
|
}
|
|
9781
9801
|
let text = "";
|
|
9782
9802
|
const codes = [];
|
|
@@ -9791,7 +9811,8 @@ var DingtalkChannel = class _DingtalkChannel extends ChannelBase {
|
|
|
9791
9811
|
return {
|
|
9792
9812
|
text: text.trim() || (codes.length > 0 ? "(image)" : ""),
|
|
9793
9813
|
downloadCodes: codes,
|
|
9794
|
-
mediaType: codes.length > 0 ? "image" : void 0
|
|
9814
|
+
mediaType: codes.length > 0 ? "image" : void 0,
|
|
9815
|
+
syntheticText: text.trim().length === 0 && codes.length > 0
|
|
9795
9816
|
};
|
|
9796
9817
|
}
|
|
9797
9818
|
if (msgtype === "picture") {
|
|
@@ -9799,7 +9820,8 @@ var DingtalkChannel = class _DingtalkChannel extends ChannelBase {
|
|
|
9799
9820
|
return {
|
|
9800
9821
|
text: "(image)",
|
|
9801
9822
|
downloadCodes: code ? [code] : [],
|
|
9802
|
-
mediaType: this.mediaTypeFromMsgType(msgtype)
|
|
9823
|
+
mediaType: this.mediaTypeFromMsgType(msgtype),
|
|
9824
|
+
syntheticText: Boolean(code)
|
|
9803
9825
|
};
|
|
9804
9826
|
}
|
|
9805
9827
|
if (msgtype === "file") {
|
|
@@ -9811,7 +9833,8 @@ var DingtalkChannel = class _DingtalkChannel extends ChannelBase {
|
|
|
9811
9833
|
downloadCodes: code ? [code] : [],
|
|
9812
9834
|
mediaType: this.mediaTypeFromMsgType(msgtype),
|
|
9813
9835
|
fileName,
|
|
9814
|
-
placeholder
|
|
9836
|
+
placeholder,
|
|
9837
|
+
syntheticText: Boolean(code)
|
|
9815
9838
|
};
|
|
9816
9839
|
}
|
|
9817
9840
|
if (msgtype === "audio") {
|
|
@@ -9821,7 +9844,8 @@ var DingtalkChannel = class _DingtalkChannel extends ChannelBase {
|
|
|
9821
9844
|
text: recognition || "(audio)",
|
|
9822
9845
|
downloadCodes: code ? [code] : [],
|
|
9823
9846
|
mediaType: this.mediaTypeFromMsgType(msgtype),
|
|
9824
|
-
placeholder: recognition ? void 0 : "(audio)"
|
|
9847
|
+
placeholder: recognition ? void 0 : "(audio)",
|
|
9848
|
+
syntheticText: !recognition && Boolean(code)
|
|
9825
9849
|
};
|
|
9826
9850
|
}
|
|
9827
9851
|
if (msgtype === "video") {
|
|
@@ -9830,7 +9854,8 @@ var DingtalkChannel = class _DingtalkChannel extends ChannelBase {
|
|
|
9830
9854
|
text: "(video)",
|
|
9831
9855
|
downloadCodes: code ? [code] : [],
|
|
9832
9856
|
mediaType: this.mediaTypeFromMsgType(msgtype),
|
|
9833
|
-
placeholder: "(video)"
|
|
9857
|
+
placeholder: "(video)",
|
|
9858
|
+
syntheticText: Boolean(code)
|
|
9834
9859
|
};
|
|
9835
9860
|
}
|
|
9836
9861
|
if (msgtype === "chatRecord") {
|
|
@@ -9841,10 +9866,15 @@ var DingtalkChannel = class _DingtalkChannel extends ChannelBase {
|
|
|
9841
9866
|
this.warnUnreadableChatRecordEntries(data.content);
|
|
9842
9867
|
return {
|
|
9843
9868
|
text: text || "(chat record)",
|
|
9844
|
-
downloadCodes: []
|
|
9869
|
+
downloadCodes: [],
|
|
9870
|
+
syntheticText: !text
|
|
9845
9871
|
};
|
|
9846
9872
|
}
|
|
9847
|
-
return {
|
|
9873
|
+
return {
|
|
9874
|
+
text: data.text?.content?.trim() || "",
|
|
9875
|
+
downloadCodes: [],
|
|
9876
|
+
syntheticText: false
|
|
9877
|
+
};
|
|
9848
9878
|
}
|
|
9849
9879
|
/**
|
|
9850
9880
|
* Download a media file and attach it to the envelope.
|
|
@@ -9975,6 +10005,7 @@ var DingtalkChannel = class _DingtalkChannel extends ChannelBase {
|
|
|
9975
10005
|
chatId,
|
|
9976
10006
|
...isGroup && conversationTitle ? { chatName: conversationTitle } : {},
|
|
9977
10007
|
text: messageText,
|
|
10008
|
+
...content.syntheticText ? { syntheticText: true } : {},
|
|
9978
10009
|
...mentionedMemberIds.length > 0 ? { mentionedMemberIds } : {},
|
|
9979
10010
|
isGroup,
|
|
9980
10011
|
isMentioned,
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
ChannelBase,
|
|
5
|
-
isTerminalTaskLifecycleType
|
|
6
|
-
|
|
5
|
+
isTerminalTaskLifecycleType,
|
|
6
|
+
startsWithMessagePrefix
|
|
7
|
+
} from "./chunk-VDXYYVCD.js";
|
|
7
8
|
import "./chunk-IW6RQPQB.js";
|
|
8
9
|
import {
|
|
9
10
|
require_abort_controller,
|
|
@@ -9668,14 +9669,6 @@ var TELEGRAM_BOT_COMMANDS = [
|
|
|
9668
9669
|
{ command: "status", description: "Show session info" }
|
|
9669
9670
|
];
|
|
9670
9671
|
var TELEGRAM_MESSAGE_LIMIT = 4096;
|
|
9671
|
-
var TELEGRAM_START_MESSAGE = [
|
|
9672
|
-
"Qwen Code Telegram bot",
|
|
9673
|
-
"",
|
|
9674
|
-
"Send any message to chat with Qwen Code.",
|
|
9675
|
-
"Use /new to start a fresh conversation.",
|
|
9676
|
-
"Use /cancel to stop a running request.",
|
|
9677
|
-
"Use /help to see available commands."
|
|
9678
|
-
].join("\n");
|
|
9679
9672
|
var TelegramChannel = class extends ChannelBase {
|
|
9680
9673
|
static {
|
|
9681
9674
|
__name(this, "TelegramChannel");
|
|
@@ -9690,7 +9683,7 @@ var TelegramChannel = class extends ChannelBase {
|
|
|
9690
9683
|
super(name, config, bridge, options);
|
|
9691
9684
|
this.bot = this.createBot();
|
|
9692
9685
|
this.registerCommand("start", async (envelope) => {
|
|
9693
|
-
await this.sendMessage(envelope.chatId,
|
|
9686
|
+
await this.sendMessage(envelope.chatId, this.startMessage());
|
|
9694
9687
|
return true;
|
|
9695
9688
|
});
|
|
9696
9689
|
this.registerCancelCommand();
|
|
@@ -9732,14 +9725,14 @@ var TelegramChannel = class extends ChannelBase {
|
|
|
9732
9725
|
this.bot.on("message:text", async (ctx) => {
|
|
9733
9726
|
const msg = ctx.message;
|
|
9734
9727
|
const text = msg.text;
|
|
9735
|
-
const envelope = this.buildEnvelope(msg, text, msg.entities);
|
|
9728
|
+
const envelope = this.buildEnvelope(msg, text, msg.entities, true);
|
|
9736
9729
|
this.handleInbound(envelope).catch((err) => {
|
|
9737
9730
|
this.reportInboundError(envelope, err, () => ctx.reply("Sorry, something went wrong processing your message."));
|
|
9738
9731
|
});
|
|
9739
9732
|
});
|
|
9740
9733
|
this.bot.on("message:photo", async (ctx) => {
|
|
9741
9734
|
const msg = ctx.message;
|
|
9742
|
-
const envelope = this.buildEnvelope(msg, msg.caption || "(image)", msg.caption_entities);
|
|
9735
|
+
const envelope = this.buildEnvelope(msg, msg.caption || "(image)", msg.caption_entities, false, !msg.caption);
|
|
9743
9736
|
const photo = msg.photo[msg.photo.length - 1];
|
|
9744
9737
|
if (!photo)
|
|
9745
9738
|
return;
|
|
@@ -9756,6 +9749,10 @@ var TelegramChannel = class extends ChannelBase {
|
|
|
9756
9749
|
} catch (err) {
|
|
9757
9750
|
process.stderr.write(`[Telegram:${this.name}] Failed to download photo: ${err instanceof Error ? err.message : err}
|
|
9758
9751
|
`);
|
|
9752
|
+
const promptText = msg.caption ? envelope.text : "";
|
|
9753
|
+
envelope.text = `${promptText}
|
|
9754
|
+
|
|
9755
|
+
(User sent an image but download failed)`;
|
|
9759
9756
|
}
|
|
9760
9757
|
}).catch((err) => {
|
|
9761
9758
|
this.reportInboundError(envelope, err, () => ctx.reply("Sorry, something went wrong processing your message."));
|
|
@@ -9765,7 +9762,7 @@ var TelegramChannel = class extends ChannelBase {
|
|
|
9765
9762
|
const msg = ctx.message;
|
|
9766
9763
|
const doc = msg.document;
|
|
9767
9764
|
const fileName = doc.file_name || `file_${Date.now()}`;
|
|
9768
|
-
const envelope = this.buildEnvelope(msg, msg.caption || `(file: ${fileName})`, msg.caption_entities);
|
|
9765
|
+
const envelope = this.buildEnvelope(msg, msg.caption || `(file: ${fileName})`, msg.caption_entities, false, !msg.caption);
|
|
9769
9766
|
this.prepareThenHandleInbound(envelope, async () => {
|
|
9770
9767
|
try {
|
|
9771
9768
|
const file = await ctx.api.getFile(doc.file_id);
|
|
@@ -9778,7 +9775,9 @@ var TelegramChannel = class extends ChannelBase {
|
|
|
9778
9775
|
mkdirSync(dir, { recursive: true });
|
|
9779
9776
|
const filePath = join(dir, basename(fileName) || `file_${Date.now()}`);
|
|
9780
9777
|
writeFileSync(filePath, buf);
|
|
9781
|
-
|
|
9778
|
+
if (!this.configuredMessagePrefix() || !msg.caption) {
|
|
9779
|
+
envelope.text = msg.caption || "";
|
|
9780
|
+
}
|
|
9782
9781
|
envelope.attachments = [
|
|
9783
9782
|
{
|
|
9784
9783
|
type: "file",
|
|
@@ -9790,7 +9789,8 @@ var TelegramChannel = class extends ChannelBase {
|
|
|
9790
9789
|
} catch (err) {
|
|
9791
9790
|
process.stderr.write(`[Telegram:${this.name}] Failed to download document: ${err instanceof Error ? err.message : err}
|
|
9792
9791
|
`);
|
|
9793
|
-
envelope.text
|
|
9792
|
+
const promptText = this.configuredMessagePrefix() && msg.caption ? envelope.text : msg.caption || "";
|
|
9793
|
+
envelope.text = `${promptText}
|
|
9794
9794
|
|
|
9795
9795
|
(User sent a file "${fileName}" but download failed)`;
|
|
9796
9796
|
}
|
|
@@ -9802,7 +9802,15 @@ var TelegramChannel = class extends ChannelBase {
|
|
|
9802
9802
|
const msg = ctx.message;
|
|
9803
9803
|
const voice = msg.voice;
|
|
9804
9804
|
const fileName = `voice_${Date.now()}.ogg`;
|
|
9805
|
-
const envelope = this.buildEnvelope(
|
|
9805
|
+
const envelope = this.buildEnvelope(
|
|
9806
|
+
msg,
|
|
9807
|
+
msg.caption || "(voice message)",
|
|
9808
|
+
msg.caption_entities,
|
|
9809
|
+
false,
|
|
9810
|
+
// Standard Telegram clients cannot caption a voice message, so
|
|
9811
|
+
// this is effectively always synthetic.
|
|
9812
|
+
!msg.caption
|
|
9813
|
+
);
|
|
9806
9814
|
this.prepareThenHandleInbound(envelope, async () => {
|
|
9807
9815
|
try {
|
|
9808
9816
|
const file = await ctx.api.getFile(voice.file_id);
|
|
@@ -9815,7 +9823,9 @@ var TelegramChannel = class extends ChannelBase {
|
|
|
9815
9823
|
mkdirSync(dir, { recursive: true });
|
|
9816
9824
|
const filePath = join(dir, fileName);
|
|
9817
9825
|
writeFileSync(filePath, buf);
|
|
9818
|
-
|
|
9826
|
+
if (!this.configuredMessagePrefix() || !msg.caption) {
|
|
9827
|
+
envelope.text = msg.caption || "";
|
|
9828
|
+
}
|
|
9819
9829
|
envelope.attachments = [
|
|
9820
9830
|
{
|
|
9821
9831
|
type: "audio",
|
|
@@ -9827,7 +9837,8 @@ var TelegramChannel = class extends ChannelBase {
|
|
|
9827
9837
|
} catch (err) {
|
|
9828
9838
|
process.stderr.write(`[Telegram:${this.name}] Failed to download voice message: ${err instanceof Error ? err.message : err}
|
|
9829
9839
|
`);
|
|
9830
|
-
envelope.text
|
|
9840
|
+
const promptText = this.configuredMessagePrefix() && msg.caption ? envelope.text : msg.caption || "";
|
|
9841
|
+
envelope.text = `${promptText}
|
|
9831
9842
|
|
|
9832
9843
|
(User sent a voice message but download failed)`;
|
|
9833
9844
|
}
|
|
@@ -9853,6 +9864,17 @@ var TelegramChannel = class extends ChannelBase {
|
|
|
9853
9864
|
`);
|
|
9854
9865
|
}
|
|
9855
9866
|
}
|
|
9867
|
+
startMessage() {
|
|
9868
|
+
const prefix = this.configuredMessagePrefix();
|
|
9869
|
+
return [
|
|
9870
|
+
"Qwen Code Telegram bot",
|
|
9871
|
+
"",
|
|
9872
|
+
prefix ? `Start each message with ${prefix} to chat with Qwen Code.` : "Send any message to chat with Qwen Code.",
|
|
9873
|
+
`Use ${this.prefixedCommand("/new")} to start a fresh conversation.`,
|
|
9874
|
+
`Use ${this.prefixedCommand("/cancel")} to stop a running request.`,
|
|
9875
|
+
`Use ${this.prefixedCommand("/help")} to see available commands.`
|
|
9876
|
+
].join("\n");
|
|
9877
|
+
}
|
|
9856
9878
|
/** Per-chat typing interval — repeats every 4s since Telegram expires it after 5s. */
|
|
9857
9879
|
typingIntervals = /* @__PURE__ */ new Map();
|
|
9858
9880
|
activeTypingSessions = /* @__PURE__ */ new Map();
|
|
@@ -9962,7 +9984,7 @@ var TelegramChannel = class extends ChannelBase {
|
|
|
9962
9984
|
this.activeTypingSessions.clear();
|
|
9963
9985
|
this.bot.stop();
|
|
9964
9986
|
}
|
|
9965
|
-
buildEnvelope(msg, text, entities) {
|
|
9987
|
+
buildEnvelope(msg, text, entities, allowRegisteredCommandBypass = false, syntheticText = false) {
|
|
9966
9988
|
const isGroup = msg.chat.type === "group" || msg.chat.type === "supergroup";
|
|
9967
9989
|
const isMentioned = entities?.some((e) => {
|
|
9968
9990
|
if (!this.botUsername)
|
|
@@ -9984,6 +10006,18 @@ var TelegramChannel = class extends ChannelBase {
|
|
|
9984
10006
|
cleanText = text.replace(new RegExp(`@${this.botUsername}`, "gi"), "").trim();
|
|
9985
10007
|
}
|
|
9986
10008
|
const referencedText = msg.reply_to_message?.text || void 0;
|
|
10009
|
+
const configuredPrefix = this.configuredMessagePrefix();
|
|
10010
|
+
const bypassMessagePrefix = allowRegisteredCommandBypass && !(configuredPrefix && startsWithMessagePrefix(text.trim(), configuredPrefix)) && (entities?.some((entity) => {
|
|
10011
|
+
if (entity.type !== "bot_command" || entity.offset !== 0)
|
|
10012
|
+
return false;
|
|
10013
|
+
const value = text.slice(0, entity.length).toLowerCase();
|
|
10014
|
+
const command = value.slice(1).split("@", 1)[0];
|
|
10015
|
+
const atIndex = value.indexOf("@", 1);
|
|
10016
|
+
if (atIndex !== -1 && value.slice(atIndex + 1) !== this.botUsername.toLowerCase()) {
|
|
10017
|
+
return false;
|
|
10018
|
+
}
|
|
10019
|
+
return TELEGRAM_BOT_COMMANDS.some((registered) => registered.command === command);
|
|
10020
|
+
}) ?? false);
|
|
9987
10021
|
return {
|
|
9988
10022
|
channelName: this.name,
|
|
9989
10023
|
senderId: String(msg.from.id),
|
|
@@ -9992,6 +10026,8 @@ var TelegramChannel = class extends ChannelBase {
|
|
|
9992
10026
|
...isGroup && msg.chat.title ? { chatName: msg.chat.title } : {},
|
|
9993
10027
|
threadId: typeof msg.message_thread_id === "number" ? String(msg.message_thread_id) : void 0,
|
|
9994
10028
|
text: cleanText,
|
|
10029
|
+
...syntheticText ? { syntheticText: true } : {},
|
|
10030
|
+
...bypassMessagePrefix ? { bypassMessagePrefix: true } : {},
|
|
9995
10031
|
isGroup,
|
|
9996
10032
|
isMentioned,
|
|
9997
10033
|
isReplyToBot,
|
|
@@ -10,8 +10,9 @@ import {
|
|
|
10
10
|
sanitizeLogText,
|
|
11
11
|
sanitizePromptText,
|
|
12
12
|
sanitizeSenderName,
|
|
13
|
+
stripMessagePrefix,
|
|
13
14
|
truncateCodePoints
|
|
14
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-VDXYYVCD.js";
|
|
15
16
|
import "./chunk-IW6RQPQB.js";
|
|
16
17
|
import "./chunk-CQ35AJ4Z.js";
|
|
17
18
|
import {
|
|
@@ -2056,7 +2057,6 @@ var QQChannel = class _QQChannel extends ChannelBase {
|
|
|
2056
2057
|
const cleanText = content.replace(/<@[^>]{1,64}>/g, "").trim();
|
|
2057
2058
|
let mentionIndex = 0;
|
|
2058
2059
|
const displayContent = content.replace(/<@[^>]{1,64}>/g, (mention) => event.mentions?.[mentionIndex++]?.is_you ? "" : mention).trim();
|
|
2059
|
-
const safeContent = content.replace(/\[atMention=[^\]]*]/g, "").replace(/\[botOpenId:[^\]]*]/g, "").replace(/\[bot]/g, "");
|
|
2060
2060
|
const safeCleanText = cleanText.replace(/\[atMention=[^\]]*]/g, "").replace(/\[botOpenId:[^\]]*]/g, "").replace(/\[bot]/g, "").trim();
|
|
2061
2061
|
const safeDisplayText = displayContent.replace(/\[atMention=[^\]]*]/g, "").replace(/\[botOpenId:[^\]]*]/g, "").replace(/\[bot]/g, "").trim();
|
|
2062
2062
|
const isAtBot = event.mentions?.some((m3) => m3.is_you) ?? false;
|
|
@@ -2066,7 +2066,12 @@ var QQChannel = class _QQChannel extends ChannelBase {
|
|
|
2066
2066
|
if (!cleanText)
|
|
2067
2067
|
return null;
|
|
2068
2068
|
const effectiveIsAtBot = forceAtMention ?? isAtBot;
|
|
2069
|
-
const
|
|
2069
|
+
const configuredPrefix = this.configuredMessagePrefix();
|
|
2070
|
+
const prefixSourceText = this.qqConfig.allowMention !== false ? safeDisplayText : safeCleanText;
|
|
2071
|
+
const strippedCommandText = configuredPrefix ? stripMessagePrefix(prefixSourceText, configuredPrefix) : safeCleanText;
|
|
2072
|
+
const rawCommandText = (strippedCommandText ?? safeCleanText).replace(/<@[^>]{1,64}>/g, "").trim();
|
|
2073
|
+
const isSlash = effectiveIsAtBot && strippedCommandText !== void 0 && rawCommandText.startsWith("/");
|
|
2074
|
+
const commandText = sanitizePromptText(rawCommandText);
|
|
2070
2075
|
const groupBotOpenId = this.botOpenIdByGroup.get(chatId);
|
|
2071
2076
|
const openIdSuffix = this.qqConfig.allowMention !== false && groupBotOpenId ? ` [botOpenId:${groupBotOpenId}]` : "";
|
|
2072
2077
|
const suffixFromBotOpenId = this.qqConfig.allowMention !== false && groupBotOpenId ? `
|
|
@@ -2084,15 +2089,22 @@ var QQChannel = class _QQChannel extends ChannelBase {
|
|
|
2084
2089
|
}
|
|
2085
2090
|
}
|
|
2086
2091
|
const senderTag = showSenderOpenId ? `(${senderOpenId})` : senderIdentity ? `(${truncateCodePoints(sanitizeSenderName(senderIdentity), 8)}\u2026)` : "";
|
|
2087
|
-
const
|
|
2088
|
-
const
|
|
2092
|
+
const head = `[atMention=${effectiveIsAtBot}]${openIdSuffix} [${safeName}${senderTag}]: `;
|
|
2093
|
+
const payloadText = isSlash ? commandText : sanitizePromptText(strippedCommandText ?? prefixSourceText);
|
|
2094
|
+
const messagePrefixText = configuredPrefix && strippedCommandText !== void 0 ? `${configuredPrefix} ${payloadText}` : configuredPrefix ? prefixSourceText : void 0;
|
|
2095
|
+
const displayText = sanitizePromptText(isSlash && messagePrefixText ? messagePrefixText : prefixSourceText);
|
|
2096
|
+
const text = isSlash ? sanitizePromptText(messagePrefixText ?? safeCleanText) : `${head}${displayText}${suffixFromBotOpenId}`;
|
|
2097
|
+
const displayTextOffset = isSlash ? void 0 : head.length;
|
|
2089
2098
|
return {
|
|
2090
2099
|
isAtBot: effectiveIsAtBot,
|
|
2091
2100
|
isSlash,
|
|
2092
2101
|
safeName,
|
|
2093
2102
|
cleanText,
|
|
2103
|
+
commandText,
|
|
2094
2104
|
text,
|
|
2095
2105
|
displayText,
|
|
2106
|
+
...displayTextOffset !== void 0 ? { displayTextOffset } : {},
|
|
2107
|
+
...messagePrefixText !== void 0 ? { messagePrefixText } : {},
|
|
2096
2108
|
senderName
|
|
2097
2109
|
};
|
|
2098
2110
|
}
|
|
@@ -2128,15 +2140,22 @@ var QQChannel = class _QQChannel extends ChannelBase {
|
|
|
2128
2140
|
const safeName = sanitizeSenderName(senderName);
|
|
2129
2141
|
const cleanText = event.content.trim();
|
|
2130
2142
|
const safeContent = cleanText.replace(/\[atMention=[^\]]*]/g, "").replace(/\[botOpenId:[^\]]*]/g, "").replace(/\[bot]/g, "");
|
|
2131
|
-
const
|
|
2132
|
-
const
|
|
2143
|
+
const configuredPrefix = this.configuredMessagePrefix();
|
|
2144
|
+
const strippedCommandText = configuredPrefix ? stripMessagePrefix(safeContent, configuredPrefix) : safeContent;
|
|
2145
|
+
const rawCommandText = strippedCommandText ?? safeContent;
|
|
2146
|
+
const isSlash = rawCommandText.startsWith("/");
|
|
2147
|
+
const commandText = sanitizePromptText(rawCommandText);
|
|
2148
|
+
const displayText = sanitizePromptText(safeContent);
|
|
2149
|
+
const messagePrefixText = configuredPrefix && strippedCommandText !== void 0 ? `${configuredPrefix} ${commandText}` : configuredPrefix ? safeContent : void 0;
|
|
2150
|
+
const text = isSlash ? displayText : `[atMention=true] [${safeName}]: ${displayText}`;
|
|
2133
2151
|
this.handleInbound({
|
|
2134
2152
|
channelName: this.name,
|
|
2135
2153
|
senderId: chatId,
|
|
2136
2154
|
senderName,
|
|
2137
2155
|
chatId,
|
|
2138
2156
|
text,
|
|
2139
|
-
displayText
|
|
2157
|
+
displayText,
|
|
2158
|
+
...messagePrefixText !== void 0 ? { messagePrefixText } : {},
|
|
2140
2159
|
messageId: event.id,
|
|
2141
2160
|
isGroup: false,
|
|
2142
2161
|
isMentioned: true,
|
|
@@ -2176,11 +2195,11 @@ var QQChannel = class _QQChannel extends ChannelBase {
|
|
|
2176
2195
|
});
|
|
2177
2196
|
if (!result)
|
|
2178
2197
|
return;
|
|
2179
|
-
const { isSlash, text, displayText, senderName, safeName
|
|
2198
|
+
const { isSlash, text, displayText, displayTextOffset, commandText, senderName, safeName } = result;
|
|
2180
2199
|
if (this.isDuplicate(event.id))
|
|
2181
2200
|
return;
|
|
2182
2201
|
if (isSlash) {
|
|
2183
|
-
process.stderr.write(`[QQ:${this.name}] Slash cmd from ${sanitizeLogText(safeName, 64)} (${sanitizeLogText(chatId, 64)}): ${sanitizeLogText(
|
|
2202
|
+
process.stderr.write(`[QQ:${this.name}] Slash cmd from ${sanitizeLogText(safeName, 64)} (${sanitizeLogText(chatId, 64)}): ${sanitizeLogText(commandText.split(/\s/)[0], 64)}
|
|
2184
2203
|
`);
|
|
2185
2204
|
}
|
|
2186
2205
|
if (this.groupActiveMsgEnabled.get(chatId) === false) {
|
|
@@ -2201,6 +2220,8 @@ var QQChannel = class _QQChannel extends ChannelBase {
|
|
|
2201
2220
|
chatId,
|
|
2202
2221
|
text,
|
|
2203
2222
|
displayText,
|
|
2223
|
+
...displayTextOffset !== void 0 ? { displayTextOffset } : {},
|
|
2224
|
+
...result.messagePrefixText !== void 0 ? { messagePrefixText: result.messagePrefixText } : {},
|
|
2204
2225
|
messageId: event.id,
|
|
2205
2226
|
isGroup: true,
|
|
2206
2227
|
isMentioned: true,
|
|
@@ -2238,7 +2259,7 @@ var QQChannel = class _QQChannel extends ChannelBase {
|
|
|
2238
2259
|
const result = this.prepareGroupMessage(event, chatId);
|
|
2239
2260
|
if (!result)
|
|
2240
2261
|
return;
|
|
2241
|
-
const { isSlash, text, displayText, senderName, isAtBot, safeName
|
|
2262
|
+
const { isSlash, text, displayText, displayTextOffset, commandText, senderName, isAtBot, safeName } = result;
|
|
2242
2263
|
if (!isAtBot) {
|
|
2243
2264
|
if (this.groupActiveMsgEnabled.get(chatId) === false) {
|
|
2244
2265
|
process.stderr.write(`[QQ:${this.name}] handleGroupAll blocked: active messages disabled for ${sanitizeLogText(chatId, 64)}
|
|
@@ -2289,7 +2310,7 @@ var QQChannel = class _QQChannel extends ChannelBase {
|
|
|
2289
2310
|
if (this.isDuplicate(event.id))
|
|
2290
2311
|
return;
|
|
2291
2312
|
if (isSlash) {
|
|
2292
|
-
process.stderr.write(`[QQ:${this.name}] Slash cmd from ${sanitizeLogText(safeName, 64)} (${sanitizeLogText(chatId, 64)}): ${sanitizeLogText(
|
|
2313
|
+
process.stderr.write(`[QQ:${this.name}] Slash cmd from ${sanitizeLogText(safeName, 64)} (${sanitizeLogText(chatId, 64)}): ${sanitizeLogText(commandText.split(/\s/)[0], 64)}
|
|
2293
2314
|
`);
|
|
2294
2315
|
}
|
|
2295
2316
|
const senderId = event.author.user_openid || event.author.id || event.author.member_openid;
|
|
@@ -2304,6 +2325,8 @@ var QQChannel = class _QQChannel extends ChannelBase {
|
|
|
2304
2325
|
chatId,
|
|
2305
2326
|
text,
|
|
2306
2327
|
displayText,
|
|
2328
|
+
...displayTextOffset !== void 0 ? { displayTextOffset } : {},
|
|
2329
|
+
...result.messagePrefixText !== void 0 ? { messagePrefixText: result.messagePrefixText } : {},
|
|
2307
2330
|
senderId,
|
|
2308
2331
|
senderName,
|
|
2309
2332
|
messageId: event.id,
|
|
@@ -11,11 +11,11 @@ import {
|
|
|
11
11
|
sendMessage,
|
|
12
12
|
sendTyping,
|
|
13
13
|
uploadToCdn
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-P4RUUG64.js";
|
|
15
15
|
import {
|
|
16
16
|
ChannelBase,
|
|
17
17
|
isTerminalTaskLifecycleType
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-VDXYYVCD.js";
|
|
19
19
|
import "./chunk-IW6RQPQB.js";
|
|
20
20
|
import "./chunk-CQ35AJ4Z.js";
|
|
21
21
|
import {
|
|
@@ -186,6 +186,7 @@ async function processMessage(msg, onMessage) {
|
|
|
186
186
|
fromUserId,
|
|
187
187
|
messageId: String(msg.message_id || ""),
|
|
188
188
|
text: textContent || (file ? `(file: ${file.fileName})` : "(image)"),
|
|
189
|
+
...textContent ? {} : { syntheticText: true },
|
|
189
190
|
image,
|
|
190
191
|
file,
|
|
191
192
|
refText
|
|
@@ -482,6 +483,10 @@ var WeixinChannel = class extends ChannelBase {
|
|
|
482
483
|
senderName: msg.fromUserId,
|
|
483
484
|
chatId: msg.fromUserId,
|
|
484
485
|
text: msg.text,
|
|
486
|
+
// A caption-less image or file carries only the placeholder above,
|
|
487
|
+
// which no user action can prefix -- gating it on `messagePrefix`
|
|
488
|
+
// would drop every WeChat media message.
|
|
489
|
+
...msg.syntheticText ? { syntheticText: true } : {},
|
|
485
490
|
isGroup: false,
|
|
486
491
|
isMentioned: false,
|
|
487
492
|
isReplyToBot: false,
|
|
@@ -528,6 +533,10 @@ var WeixinChannel = class extends ChannelBase {
|
|
|
528
533
|
} catch (err) {
|
|
529
534
|
process.stderr.write(`[Weixin:${this.name}] Failed to download image: ${err instanceof Error ? err.message : err}
|
|
530
535
|
`);
|
|
536
|
+
const failureText = "(User sent an image but download failed)";
|
|
537
|
+
envelope.text = envelope.syntheticText ? failureText : `${envelope.text}
|
|
538
|
+
|
|
539
|
+
${failureText}`;
|
|
531
540
|
}
|
|
532
541
|
}
|
|
533
542
|
if (file) {
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
import "./chunk-OSHQMOBS.js";
|
|
7
7
|
import {
|
|
8
8
|
PollingChannelBase
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-VDXYYVCD.js";
|
|
10
10
|
import "./chunk-IW6RQPQB.js";
|
|
11
11
|
import {
|
|
12
12
|
external_exports
|
|
@@ -13381,6 +13381,10 @@ var GitlabChannel = class extends PollingChannelBase {
|
|
|
13381
13381
|
if (!text)
|
|
13382
13382
|
return;
|
|
13383
13383
|
const envelope = this.buildEnvelope(text, todo.author.username, chatId, threadId, messageId, this.buildMetadata(template, todo, target, chatId, todo.author.username, String(todo.id), description), true);
|
|
13384
|
+
const isMentionTrigger = todo.action_name === "mentioned" || todo.action_name === "directly_addressed";
|
|
13385
|
+
if (!isNoteMention && !isMentionTrigger) {
|
|
13386
|
+
envelope.bypassMessagePrefix = true;
|
|
13387
|
+
}
|
|
13384
13388
|
if (isNoteMention) {
|
|
13385
13389
|
this.reactions.set(messageId, {
|
|
13386
13390
|
target,
|