@qwen-code/qwen-code 0.23.3-nightly.20260910.c46cb85cf2 → 0.23.3
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/goal-draft/SKILL.md +2 -2
- package/bundled/qc-helper/docs/features/channels/dingtalk.md +20 -0
- package/bundled/qc-helper/docs/features/channels/overview.md +6 -5
- package/bundled/qc-helper/docs/features/goals.md +2 -2
- package/bundled/qc-helper/docs/features/hooks.md +13 -14
- package/bundled/qc-helper/docs/qwen-serve.md +3 -7
- package/chunks/{MaxSizedBox-UZW24XUX.js → MaxSizedBox-D4LW7RZZ.js} +15 -15
- package/chunks/{StandaloneSessionPicker-IDK7NAZL.js → StandaloneSessionPicker-ALTTRWUP.js} +33 -33
- package/chunks/{acp-startup-profiler-ARO4II44.js → acp-startup-profiler-KEU6VAYR.js} +2 -2
- package/chunks/{acp-subagent-executor-7TLJGISS.js → acp-subagent-executor-LEUN3N7N.js} +15 -15
- package/chunks/{acpAgent-YRCNNIIU.js → acpAgent-BBSW7XZG.js} +68 -258
- package/chunks/{agent-SGU5EE7U.js → agent-SQ6OY3QD.js} +9 -9
- package/chunks/{agent-headless-JVYBLNLT.js → agent-headless-RI2THRQ7.js} +9 -9
- package/chunks/{anthropicContentGenerator-SGIR5IKF.js → anthropicContentGenerator-JSKMKS6V.js} +2 -2
- package/chunks/{bridge-YF6NYRPZ.js → bridge-DAFMI72L.js} +17 -17
- package/chunks/{ca-MX3WCEEG.js → ca-KC2AISNS.js} +1 -1
- package/chunks/{channel-management-service-E4HTMU7T.js → channel-management-service-OWDXVL7R.js} +5 -5
- package/chunks/{channel-settings-store-FZ5VKHQD.js → channel-settings-store-4I6JONT7.js} +25 -25
- package/chunks/{channel-worker-group-X6WH4XWF.js → channel-worker-group-F2ZZMLNS.js} +6 -6
- package/chunks/{channel-worker-manager-SICFJDPJ.js → channel-worker-manager-2SZLJJSJ.js} +6 -6
- package/chunks/{channel-worker-supervisor-HSFAKML6.js → channel-worker-supervisor-ZFNWMG6D.js} +4 -4
- package/chunks/{chunk-NVIBH7WS.js → chunk-2ALXPGB4.js} +1 -1
- package/chunks/{chunk-UBEYS536.js → chunk-2PJRI3EH.js} +3 -3
- package/chunks/{chunk-GP47UR3M.js → chunk-2ZN3O5FT.js} +6 -6
- package/chunks/{chunk-BI3WSRQE.js → chunk-3BTSSIJO.js} +3 -3
- package/chunks/{chunk-PIGUW2U2.js → chunk-3KQBQ6FM.js} +2 -14
- package/chunks/{chunk-RJZTX2OF.js → chunk-3UXUOFO6.js} +6 -6
- package/chunks/{chunk-HL2DQG3Y.js → chunk-3XLK2QMY.js} +10 -10
- package/chunks/{chunk-L3DTX6U4.js → chunk-4ALNJDHL.js} +1 -3
- package/chunks/{chunk-KHIBLKNK.js → chunk-53GWJOLP.js} +1 -1
- package/chunks/{chunk-LIR7YS2O.js → chunk-5KI7ZDTB.js} +4 -4
- package/chunks/{chunk-ZT6EPPBY.js → chunk-6JACAGYH.js} +1 -1
- package/chunks/{chunk-DMX7RF6E.js → chunk-6W4HBUA2.js} +1 -1
- package/chunks/{chunk-CSHX5ZC4.js → chunk-76RGWKLS.js} +1 -1
- package/chunks/{chunk-J5PYQVD2.js → chunk-7APZIRH3.js} +2 -2
- package/chunks/{chunk-OOLSYRZ7.js → chunk-7BXXIQG4.js} +4 -4
- package/chunks/{chunk-WY4N6KS7.js → chunk-7ICHPMBQ.js} +3 -3
- package/chunks/{chunk-KZ2CU2LH.js → chunk-7Q2AXRDJ.js} +1 -1
- package/chunks/{chunk-C4NLHK7X.js → chunk-7QYWGTHB.js} +128 -33
- package/chunks/{chunk-7XM6KEVW.js → chunk-AC6KDLH3.js} +1 -1
- package/chunks/{chunk-GDWE23OR.js → chunk-ALMR3E6Q.js} +3 -3
- package/chunks/{chunk-B6BDT4RX.js → chunk-AXTFYDXT.js} +1 -1
- package/chunks/{chunk-6EDWSKN4.js → chunk-BV6Q5HMY.js} +2 -2
- package/chunks/{chunk-3VPFA6L2.js → chunk-BWAMMKIS.js} +2 -2
- package/chunks/{chunk-IFHJIEMN.js → chunk-BWQLXU37.js} +10 -10
- package/chunks/{chunk-F2RKL5I2.js → chunk-BZM5U74J.js} +3 -3
- package/chunks/{chunk-JOMCZWX7.js → chunk-CUEXOHQH.js} +15 -9
- package/chunks/{chunk-CAAMI77K.js → chunk-CXTPVBFA.js} +1 -1
- package/chunks/{chunk-ATH66AEU.js → chunk-DAWWT2ID.js} +16 -16
- package/chunks/{chunk-MXOALJIL.js → chunk-DT75RKNH.js} +1 -1
- package/chunks/{chunk-BHR6IN2X.js → chunk-DYFOSJHU.js} +30 -30
- package/chunks/{chunk-KVBNJ4K2.js → chunk-E7LB57MB.js} +2 -2
- package/chunks/{chunk-XDQUDARC.js → chunk-EDMXGXAK.js} +7 -4
- package/chunks/{chunk-KFGPNCCY.js → chunk-EVTNACMT.js} +4 -4
- package/chunks/{chunk-TP2DUOB6.js → chunk-F42YYSCK.js} +2 -2
- package/chunks/{chunk-UGS62IR2.js → chunk-GCDXVPFK.js} +3 -3
- package/chunks/{chunk-SAWPURIU.js → chunk-GOXQL4YH.js} +2 -2
- package/chunks/{chunk-SXEE6PND.js → chunk-GSILBZLN.js} +2 -2
- package/chunks/{chunk-BTWGOKHU.js → chunk-HBQ2NXOU.js} +2 -2
- package/chunks/{chunk-34ZYDM3F.js → chunk-HBU7EKY4.js} +1 -1
- package/chunks/{chunk-T4JVQR7Z.js → chunk-HGAELO7B.js} +2 -2
- package/chunks/{chunk-ZHECLGA6.js → chunk-HNLMYDQE.js} +4 -2
- package/chunks/{chunk-PMS4FVLY.js → chunk-IL5M5NYD.js} +5 -5
- package/chunks/{chunk-HZTXKVSV.js → chunk-IV7GDNKC.js} +1 -1
- package/chunks/{chunk-5FFAUU4T.js → chunk-J3TJH52D.js} +1 -1
- package/chunks/{chunk-JDEW3V5B.js → chunk-JYKWOREU.js} +1 -1
- package/chunks/{chunk-E5GQNSJY.js → chunk-KFZYGSJN.js} +3 -3
- package/chunks/{chunk-ZUQVZTWG.js → chunk-KOKPXIAN.js} +3 -3
- package/chunks/{chunk-Q6HXLBZF.js → chunk-LDVNJZGH.js} +6 -6
- package/chunks/{chunk-VHKOULAI.js → chunk-MF6E7FSA.js} +2 -2
- package/chunks/{chunk-F45SKYIQ.js → chunk-MHAADZOZ.js} +3 -3
- package/chunks/{chunk-72BGC7RT.js → chunk-MLQNSPRZ.js} +4 -4
- package/chunks/{chunk-L2KF7HUE.js → chunk-MSNHNAQZ.js} +1 -1
- package/chunks/{chunk-JV5YASQA.js → chunk-N7VWZDWW.js} +55 -155
- package/chunks/{chunk-Q2XLNLAV.js → chunk-NE624IVP.js} +1 -1
- package/chunks/{chunk-CGKEUUYG.js → chunk-NFYEQRLG.js} +1 -1
- package/chunks/{chunk-FGRDUDCI.js → chunk-NHCZJQE4.js} +5 -5
- package/chunks/{chunk-TWC3FHUI.js → chunk-NHJKAR6E.js} +3 -3
- package/chunks/{chunk-VTBPMLRO.js → chunk-NJQTG2G3.js} +9 -9
- package/chunks/{chunk-LEGNDA46.js → chunk-NLNQNBZ2.js} +1 -1
- package/chunks/{chunk-QPWZX4ZV.js → chunk-NMCDMLHL.js} +12 -12
- package/chunks/{chunk-WS7MOFK6.js → chunk-NMRCXKQ5.js} +3 -3
- package/chunks/{chunk-YIU5PEAT.js → chunk-NOAG7N22.js} +1 -1
- package/chunks/{chunk-C75BXMPM.js → chunk-NOO4QFXM.js} +3 -1
- package/chunks/{chunk-B2TGBZXY.js → chunk-NRXWJXJ4.js} +2 -2
- package/chunks/{chunk-J2RNOJRV.js → chunk-OLTN767L.js} +2 -2
- package/chunks/{chunk-AWMJRE5N.js → chunk-OX7IZ2G5.js} +4 -4
- package/chunks/{chunk-O3MKRN2I.js → chunk-POC3YMHG.js} +1 -1
- package/chunks/{chunk-YKK2XXHF.js → chunk-PSPAM24S.js} +0 -4
- package/chunks/{chunk-YS2ZJSOA.js → chunk-Q2LVVIKF.js} +11 -28
- package/chunks/{chunk-AW2SIT3B.js → chunk-Q5BD56BW.js} +2 -2
- package/chunks/{chunk-LAP7X6EC.js → chunk-QMUYLYT5.js} +1 -1
- package/chunks/{chunk-ONGZNOIP.js → chunk-R4Q2PEFV.js} +1 -1
- package/chunks/{chunk-FRVV5SSD.js → chunk-RLLRJJDR.js} +2 -2
- package/chunks/{chunk-6EOMQPTS.js → chunk-RWVD5RRY.js} +3 -3
- package/chunks/{chunk-FYZ5NZ3V.js → chunk-RZHU3K6M.js} +20 -2
- package/chunks/{chunk-CUK6F5UF.js → chunk-S6Q6Q4P2.js} +1 -1
- package/chunks/{chunk-SNZWDV67.js → chunk-SBRX4BDI.js} +1 -1
- package/chunks/{chunk-5ZJ3KK5J.js → chunk-SODMFNAR.js} +4 -4
- package/chunks/{chunk-VID4BW52.js → chunk-SSGAAWLY.js} +28 -28
- package/chunks/{chunk-LY2GK2PR.js → chunk-SYLECP23.js} +4 -4
- package/chunks/{chunk-BQOP3K76.js → chunk-TWUKBNWM.js} +1 -1
- package/chunks/{chunk-5FKZ7KFQ.js → chunk-UKZ45TJL.js} +3 -3
- package/chunks/{chunk-7XVQNDFB.js → chunk-V2P3DOQR.js} +1 -1
- package/chunks/{chunk-WXFK4MH7.js → chunk-VG3Q2NC4.js} +5 -25
- package/chunks/{chunk-74JEYK2C.js → chunk-VZUCTJ2P.js} +9 -9
- package/chunks/{chunk-VLZOU6UH.js → chunk-W5FIP7FC.js} +3 -3
- package/chunks/{chunk-6NONRGYX.js → chunk-X6K77VHC.js} +1 -1
- package/chunks/{chunk-FGV2QEAO.js → chunk-X7UJKOHZ.js} +6 -4
- package/chunks/{chunk-7ZVIGDZF.js → chunk-XBZTAGB7.js} +1 -1
- package/chunks/{chunk-6UK77U7D.js → chunk-XGYHNWL3.js} +3 -3
- package/chunks/{chunk-ZGQIIGNQ.js → chunk-YBUMTY7B.js} +1 -1
- package/chunks/{chunk-JEMDIKGQ.js → chunk-YQHLFCPU.js} +1 -1
- package/chunks/{chunk-7ZKDPTYO.js → chunk-Z3GF56ME.js} +2 -2
- package/chunks/{chunk-IOUBOANU.js → chunk-ZU47FBOC.js} +1 -1
- package/chunks/{config-utils-S5LFS4RN.js → config-utils-L6KLDYIV.js} +19 -19
- package/chunks/{contextCommand-XXKZMMSQ.js → contextCommand-UYEH7NIU.js} +17 -17
- package/chunks/{core-runtime-YGUA42AZ.js → core-runtime-NVHT3Z3V.js} +15 -15
- package/chunks/{create-sub-session-SEK6KCYR.js → create-sub-session-YWASE5VH.js} +15 -15
- package/chunks/{daemon-git-worktree-guard-3AWINPPX.js → daemon-git-worktree-guard-FOW4RQSK.js} +15 -15
- package/chunks/{daemon-status-provider-RTKHKUFJ.js → daemon-status-provider-O5KQZYMP.js} +21 -21
- package/chunks/{daemon-trust-policy-6YQOC7B6.js → daemon-trust-policy-3ATXEON7.js} +21 -21
- package/chunks/{daemon-trust-policy-monitor-EN5L23GS.js → daemon-trust-policy-monitor-7MCNDNEC.js} +21 -21
- package/chunks/{de-OOLZAU2U.js → de-UU2YTO37.js} +1 -1
- package/chunks/{deferred-core-runtime-JPLQRVZO.js → deferred-core-runtime-JK5IXL5K.js} +15 -15
- package/chunks/{dist-JCXKXRH6.js → dist-AHJYPSJL.js} +5 -2
- package/chunks/{dist-3BJVSJ7D.js → dist-AIKC5E5P.js} +630 -9
- package/chunks/{dist-HX2LG76F.js → dist-F2DVGTL3.js} +29 -9
- package/chunks/{dist-J7PDFK53.js → dist-GWNQVPZT.js} +27 -8
- package/chunks/{dist-65Q3TRLH.js → dist-H6G3K26N.js} +34 -14
- package/chunks/{dist-SBK33YLC.js → dist-KJGRVIGJ.js} +33 -2
- package/chunks/{dist-WMFHZG3R.js → dist-KLZ7XGEQ.js} +4 -1
- package/chunks/{dist-LHGMHIDK.js → dist-ZA52JXAS.js} +5 -1
- package/chunks/{dist-QPTIRE3U.js → dist-ZXTZTE54.js} +11 -3
- package/chunks/{edit-QXJZIWRQ.js → edit-SY35KYIE.js} +9 -9
- package/chunks/{en-7BZ2OZKH.js → en-CAJHTIQT.js} +1 -1
- package/chunks/{enterPlanMode-2ITCVQ5N.js → enterPlanMode-HXX6KQJR.js} +9 -9
- package/chunks/{environment-URPO5ORZ.js → environment-DKXHG4HB.js} +17 -17
- package/chunks/{errors-TDUYLEKI.js → errors-ADY7LQJJ.js} +17 -17
- package/chunks/{exitPlanMode-RA7KMUEW.js → exitPlanMode-HSK2CQI6.js} +9 -9
- package/chunks/{fast-path-Q2JYP64P.js → fast-path-U636VWN2.js} +3 -3
- package/chunks/{fast-path-settings-GTHZLVSS.js → fast-path-settings-V7MI7EZJ.js} +1 -1
- package/chunks/{fr-JJWM2HUS.js → fr-HKNWVXRJ.js} +1 -1
- package/chunks/{glob-VHSV4BKE.js → glob-GUGGTH5L.js} +9 -9
- package/chunks/{goal-tools-5FIE56CK.js → goal-tools-PXYRSQGX.js} +11 -15
- package/chunks/{handleAutoUpdate-7FZFLKNZ.js → handleAutoUpdate-5KHS4HIN.js} +18 -18
- package/chunks/{i18n-NTFQDWKR.js → i18n-KSGKMUPT.js} +16 -16
- package/chunks/{image-gen-TF3IQWSH.js → image-gen-OCCR2WWU.js} +4 -4
- package/chunks/{initializer-LB3T635H.js → initializer-YYT5XEZF.js} +21 -21
- package/chunks/{installationInfo-KRO433ZG.js → installationInfo-UNSBPYW2.js} +15 -15
- package/chunks/{ja-L67TXFDJ.js → ja-GJS5RZGU.js} +1 -1
- package/chunks/{list-NEP3WPZ7.js → list-YL6LDQKQ.js} +24 -24
- package/chunks/{llm-AZEJEIAD.js → llm-XGGLBGPH.js} +57 -57
- package/chunks/{llm-content-generator-KWXFHBR3.js → llm-content-generator-ZHQQT5W7.js} +3 -3
- package/chunks/{loadedSettingsAdapter-NZORJLSD.js → loadedSettingsAdapter-3DXLASK7.js} +21 -21
- package/chunks/{loggingContentGenerator-NGHVU6AK.js → loggingContentGenerator-V72OCCJO.js} +10 -10
- package/chunks/{managed-npm-update-3LHNBEAG.js → managed-npm-update-HV5LPZH2.js} +15 -15
- package/chunks/{mcp-4SWJKDX7.js → mcp-IYVSIW6O.js} +21 -21
- package/chunks/{monitor-V5EFBZC7.js → monitor-TLBNM4MV.js} +9 -9
- package/chunks/{nonInteractiveCli-5UFUBUAT.js → nonInteractiveCli-LSJSQ2W4.js} +57 -57
- package/chunks/{notebook-edit-ATV46KWD.js → notebook-edit-OSPOLZP6.js} +9 -9
- package/chunks/{openaiContentGenerator-BKTO5QJK.js → openaiContentGenerator-BE4S5TRD.js} +6 -6
- package/chunks/{pidfile-JAIOWPI3.js → pidfile-H32FEPWA.js} +15 -15
- package/chunks/{processUtils-TCQH3LVD.js → processUtils-SSLIPDEA.js} +2 -2
- package/chunks/{prompt-terminal-ledger-BYXHEUHX.js → prompt-terminal-ledger-I5SLL6UF.js} +16 -16
- package/chunks/{pt-77SBDL4B.js → pt-FXMYXEUV.js} +1 -1
- package/chunks/{qwenContentGenerator-K5TJK75P.js → qwenContentGenerator-TMQC623Z.js} +11 -11
- package/chunks/{qwenOAuth2-NOXRK323.js → qwenOAuth2-3ZRQHHTC.js} +4 -4
- package/chunks/{read-file-DL7GNZD5.js → read-file-T2QAIZE2.js} +2 -2
- package/chunks/{resumeHistoryUtils-OYKXZ4YO.js → resumeHistoryUtils-QLKDH5GY.js} +19 -19
- package/chunks/{ripGrep-EOUMIU4K.js → ripGrep-YGWL7KCV.js} +3 -3
- package/chunks/{ru-UYWHKWF2.js → ru-RMHURE5U.js} +1 -1
- package/chunks/{run-qwen-serve-PPTGWC5B.js → run-qwen-serve-26KZDECC.js} +89 -231
- package/chunks/{runtime-5RO22P2N.js → runtime-BMEIVDDG.js} +26 -26
- package/chunks/{scheduled-tasks-YGERFWLZ.js → scheduled-tasks-NCFPP6VQ.js} +19 -19
- package/chunks/{scheduler-S6WU6M3C.js → scheduler-47TVMUVN.js} +17 -17
- package/chunks/{serve-HT4WOCWS.js → serve-KL3G6LQQ.js} +22 -22
- package/chunks/{server-SWXVPRCS.js → server-LBPYXZ5G.js} +55 -66
- package/chunks/{session-6DSFUOMO.js → session-YG6742LO.js} +58 -58
- package/chunks/{session-attachments-root-SOZCTQWW.js → session-attachments-root-OUBQDYC4.js} +15 -15
- package/chunks/{session-pr-refresh-F7XUBQBH.js → session-pr-refresh-EKGMYNAW.js} +18 -18
- package/chunks/{settings-SWQH36PO.js → settings-DDNHJX2L.js} +20 -20
- package/chunks/{shell-XUQL6EYV.js → shell-KUCXWITU.js} +9 -9
- package/chunks/{skill-HNRDD54C.js → skill-JQLKPNWZ.js} +2 -2
- package/chunks/{skill-settings-JU72PCII.js → skill-settings-XERQCUXZ.js} +20 -20
- package/chunks/{spawnChannel-7ZVM3GBU.js → spawnChannel-GQ45QFGB.js} +15 -15
- package/chunks/{standalone-update-64JQY2LX.js → standalone-update-PRF3ILGZ.js} +17 -17
- package/chunks/{start-opentui-ui-RSLBXESU.js → start-opentui-ui-JDSOZE3N.js} +62 -67
- package/chunks/{startInteractiveUI-ZDPHD7XE.js → startInteractiveUI-RRW3JVHN.js} +69 -85
- package/chunks/{team-create-U52VYSNO.js → team-create-5DRLOLOE.js} +9 -9
- package/chunks/{team-plan-approval-IQ4ADQIK.js → team-plan-approval-MWSGAL5T.js} +9 -9
- package/chunks/{terminal-image-renderer-ZEMF7LB2.js → terminal-image-renderer-H7PD4FQW.js} +15 -15
- package/chunks/{theme-manager-DK2S2SOX.js → theme-manager-7AV73D6R.js} +15 -15
- package/chunks/{tool-search-6U4OQG7K.js → tool-search-UGYTBLUV.js} +2 -6
- package/chunks/{total-session-admission-BOARHBZU.js → total-session-admission-JIHSTJ5S.js} +17 -17
- package/chunks/{trustedFolders-GKQZXZSV.js → trustedFolders-5VCBXFOP.js} +16 -16
- package/chunks/{update-relaunch-GLACF7PX.js → update-relaunch-4LF3APCV.js} +5 -5
- package/chunks/{updateCheck-NLBSZB4Q.js → updateCheck-4T3WUE5F.js} +17 -17
- package/chunks/{useAutoAcceptIndicator-3X3BYU7H.js → useAutoAcceptIndicator-UMGB64Z6.js} +23 -23
- package/chunks/{validateNonInterActiveAuth-NE3JLOIR.js → validateNonInterActiveAuth-GFJ72U2C.js} +54 -54
- package/chunks/{version-6H5YAT4N.js → version-EAAZN4T2.js} +1 -1
- package/chunks/{web-fetch-RWSO7TTN.js → web-fetch-VRU3A2NI.js} +5 -5
- package/chunks/{web-search-DADI3LV5.js → web-search-NEGYQNDJ.js} +319 -376
- package/chunks/{workflow-LPGCZCIT.js → workflow-UHPFALVZ.js} +10 -10
- package/chunks/{workspace-providers-status-QBRBEFTO.js → workspace-providers-status-AEYISSU2.js} +23 -23
- package/chunks/{workspace-registration-store-WUKTMJPW.js → workspace-registration-store-A7RGKW62.js} +1 -1
- package/chunks/{workspace-registry-CJV7KVGF.js → workspace-registry-C2NGE6SD.js} +17 -17
- package/chunks/{workspace-runtime-coordinator-7LYMFMFF.js → workspace-runtime-coordinator-QKMZ24YF.js} +18 -20
- package/chunks/{workspace-service-HWXZSA4J.js → workspace-service-RQTTAGGC.js} +24 -24
- package/chunks/{workspace-skills-status-D6QXUWCC.js → workspace-skills-status-5HWZU3HX.js} +21 -21
- package/chunks/{workspace-trust-reconciler-VZX7G7CZ.js → workspace-trust-reconciler-KFWATZUU.js} +23 -23
- package/chunks/{write-file-KKHV26YV.js → write-file-DPVB2SBQ.js} +10 -10
- package/chunks/{zh-J2GLI64H.js → zh-S5V3Z5CR.js} +1 -1
- package/chunks/{zh-TW-TBAICUJQ.js → zh-TW-2K2WRFPY.js} +1 -1
- package/chunks/{zoom-image-OG7X7KAA.js → zoom-image-S7AWLAPC.js} +2 -2
- package/cli.js +13 -13
- package/export-transcript-document.js +1 -1
- package/locales/ca.js +2 -2
- package/locales/de.js +2 -2
- package/locales/en.js +2 -2
- package/locales/fr.js +2 -2
- package/locales/ja.js +2 -2
- package/locales/pt.js +2 -2
- package/locales/ru.js +2 -2
- package/locales/zh-TW.js +2 -2
- package/locales/zh.js +2 -2
- package/package.json +3 -3
- package/web-shell/assets/{abnfDiagram-VCTEODGH-NT0lTLRG.js → abnfDiagram-VCTEODGH-nU24rpIE.js} +1 -1
- package/web-shell/assets/{arc-DDqnIMMx.js → arc-D1hTu8QI.js} +1 -1
- package/web-shell/assets/{architectureDiagram-5GKGNRK7-DfYghE3W.js → architectureDiagram-5GKGNRK7-B_fgkKe7.js} +1 -1
- package/web-shell/assets/{blockDiagram-NRAW4CY4-DlqJIx5c.js → blockDiagram-NRAW4CY4-C3pddUNg.js} +1 -1
- package/web-shell/assets/{c4Diagram-UCG6FXSJ-CinqLGU4.js → c4Diagram-UCG6FXSJ-kEFoC1ei.js} +1 -1
- package/web-shell/assets/channel-Blod4z1X.js +1 -0
- package/web-shell/assets/{chunk-2Q5K7J3B-CsjJX5M7.js → chunk-2Q5K7J3B-DbT9wS7j.js} +1 -1
- package/web-shell/assets/{chunk-5VM5RSS4-CaVb2tdH.js → chunk-5VM5RSS4-CNbULt6O.js} +1 -1
- package/web-shell/assets/{chunk-F27PBJKO-CRyErlzW.js → chunk-F27PBJKO-CbQRy4Tb.js} +1 -1
- package/web-shell/assets/{chunk-G27WJ6UU-7I79DZCf.js → chunk-G27WJ6UU-CVbXTxYk.js} +1 -1
- package/web-shell/assets/{chunk-JWPE2WC7-Dz4cac5F.js → chunk-JWPE2WC7-D89c_BXy.js} +1 -1
- package/web-shell/assets/{chunk-LCL6LL3I-Ls24Derb.js → chunk-LCL6LL3I-B7-I_9KB.js} +1 -1
- package/web-shell/assets/{chunk-POPQ4Y6H-JzYe4qx7.js → chunk-POPQ4Y6H-DcLQFzS4.js} +1 -1
- package/web-shell/assets/{chunk-SVP7TREG-BxDwesA-.js → chunk-SVP7TREG-DyBb2Axj.js} +1 -1
- package/web-shell/assets/{chunk-XXDRQBXY-CW4hjgWc.js → chunk-XXDRQBXY-BIA0eb5B.js} +1 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-D6hFDMqb.js +1 -0
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-D6hFDMqb.js +1 -0
- package/web-shell/assets/{cose-bilkent-JH36ORCC-DxikE9iF.js → cose-bilkent-JH36ORCC-Db2FYN85.js} +1 -1
- package/web-shell/assets/{cynefin-OW5HDTMX-CvVsIkVN.js → cynefin-OW5HDTMX-i4GwmBVy.js} +1 -1
- package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-CDHkk3wq.js → cynefinDiagram-5FMLGOSQ-LENf_IUy.js} +1 -1
- package/web-shell/assets/{dagre-3AP2YEHR-BgLdkVLT.js → dagre-3AP2YEHR-CF9XVrD9.js} +1 -1
- package/web-shell/assets/{diagram-S7CK7UJ4-DP43cGhe.js → diagram-S7CK7UJ4-DD5PJfSm.js} +1 -1
- package/web-shell/assets/{diagram-UQ7AKVKN-BWrZYhoT.js → diagram-UQ7AKVKN-CjD_sBMj.js} +1 -1
- package/web-shell/assets/{diagram-VSXAHHWV-B80wjH_n.js → diagram-VSXAHHWV-U5WwMqyA.js} +1 -1
- package/web-shell/assets/{diagram-VX7I27RA-DPpKmDsY.js → diagram-VX7I27RA-BujpHJJf.js} +1 -1
- package/web-shell/assets/{diagram-Z3DM3KII-kaEBNbNU.js → diagram-Z3DM3KII-3ZLtKEXo.js} +1 -1
- package/web-shell/assets/{ebnfDiagram-PWID7BFC-1-qbEZvk.js → ebnfDiagram-PWID7BFC-BGpiquRm.js} +1 -1
- package/web-shell/assets/{erDiagram-SSCWMZ5O-CrK2gMkV.js → erDiagram-SSCWMZ5O-D0besu_U.js} +1 -1
- package/web-shell/assets/{flowDiagram-A5DVABFB-Dic2xofW.js → flowDiagram-A5DVABFB-9DwDuIyr.js} +1 -1
- package/web-shell/assets/{ganttDiagram-EL5Y4UJY-DJko8vT7.js → ganttDiagram-EL5Y4UJY-CNlsAeNr.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-DxsQ-bHT.js → gitGraphDiagram-WWUBYQGX-C_pPFiTR.js} +1 -1
- package/web-shell/assets/{index-t7VBrUeD.js → index-BYWs4JWq.js} +1 -1
- package/web-shell/assets/{index-DY8CxdBr.js → index-D3YS6KuJ.js} +152 -152
- package/web-shell/assets/{infoDiagram-RXCK75RN-DcRUJbNi.js → infoDiagram-RXCK75RN-Bpai64Ll.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-5VMMS53U-CUPw-2_e.js → ishikawaDiagram-5VMMS53U-ktpJFq4r.js} +1 -1
- package/web-shell/assets/{journeyDiagram-EYS64GPL-yOHhZxkW.js → journeyDiagram-EYS64GPL-iz_DKgFX.js} +1 -1
- package/web-shell/assets/{kanban-definition-3QL26DDD-CFUGBbqz.js → kanban-definition-3QL26DDD-m_gG00Yt.js} +1 -1
- package/web-shell/assets/{layout-BoilNfBU.js → layout-qEvKgnvU.js} +1 -1
- package/web-shell/assets/{linear-DOuHaPrl.js → linear-C6lklGdq.js} +1 -1
- package/web-shell/assets/{mermaid.core-1G1fXWda.js → mermaid.core-DSCYB_2P.js} +6 -6
- package/web-shell/assets/{mindmap-definition-FBJOCRG2-B8BhkrOX.js → mindmap-definition-FBJOCRG2-DRQbT8w-.js} +1 -1
- package/web-shell/assets/{pegDiagram-XKGWAZYB-CipC5K1D.js → pegDiagram-XKGWAZYB-BhD0q0i6.js} +1 -1
- package/web-shell/assets/{pieDiagram-E7YTZNPT-CHBDFDUJ.js → pieDiagram-E7YTZNPT-BvIGQCSd.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-AXDQQJYC-_iiBkoZO.js → quadrantDiagram-AXDQQJYC-BDQtfpU-.js} +1 -1
- package/web-shell/assets/{railroadDiagram-O6MQD6OU-Cx1peHDi.js → railroadDiagram-O6MQD6OU-E1g2KIFK.js} +1 -1
- package/web-shell/assets/{requirementDiagram-EFPCY7ZU-CBRiPbdQ.js → requirementDiagram-EFPCY7ZU-CuerYJOe.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-P5KCCOFB-TT6GcHaZ.js → sankeyDiagram-P5KCCOFB-CqWyCZGA.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-CWP42PNb.js → sequenceDiagram-WJ2MYXX4-B-YWb8x4.js} +1 -1
- package/web-shell/assets/{sizeCapture-X5ZJPWSS-Bp94roEG.js → sizeCapture-X5ZJPWSS-BB7YY4Tl.js} +1 -1
- package/web-shell/assets/{stateDiagram-HBIQ2CUA-0ftrzTAy.js → stateDiagram-HBIQ2CUA-C8LDpNHS.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-C4CbdvGa.js +1 -0
- package/web-shell/assets/{swimlanes-XN3QIQJK-D-FsenYJ.js → swimlanes-XN3QIQJK-D94vOoxZ.js} +1 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN--QNSIOC8.js +8 -0
- package/web-shell/assets/{timeline-definition-24CTP7MA-Ctvrj28y.js → timeline-definition-24CTP7MA-C9C8uEYm.js} +1 -1
- package/web-shell/assets/{vennDiagram-4TSXK5OY-5DZncjOt.js → vennDiagram-4TSXK5OY-CYzMHbVW.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-VM6X3IG4-jZjYwPY7.js → wardleyDiagram-VM6X3IG4-G9nhtLES.js} +1 -1
- package/web-shell/assets/{xychartDiagram-S5SC5T6Z-Ci6Q2C2_.js → xychartDiagram-S5SC5T6Z-ruD2Wjhg.js} +1 -1
- package/web-shell/index.html +1 -1
- package/web-shell/assets/channel-BHGoSkEv.js +0 -1
- package/web-shell/assets/classDiagram-DTDB5LWJ-E47Xnn15.js +0 -1
- package/web-shell/assets/classDiagram-v2-JRS7N3AN-E47Xnn15.js +0 -1
- package/web-shell/assets/stateDiagram-v2-4QOOHH4V-PgAST0dK.js +0 -1
- package/web-shell/assets/swimlanesDiagram-VK2B7HYN-BcWcB5bj.js +0 -8
|
@@ -418,7 +418,7 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
|
|
|
418
418
|
try {
|
|
419
419
|
if (authType === "openai" /* USE_OPENAI */) {
|
|
420
420
|
loadBaseGenerator = /* @__PURE__ */ __name(async () => {
|
|
421
|
-
const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-
|
|
421
|
+
const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-BE4S5TRD.js");
|
|
422
422
|
return createOpenAIContentGenerator(generatorConfig, config);
|
|
423
423
|
}, "loadBaseGenerator");
|
|
424
424
|
} else if (authType === "openai-responses" /* USE_OPENAI_RESPONSES */) {
|
|
@@ -427,14 +427,14 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
|
|
|
427
427
|
return createOpenAIResponsesContentGenerator(generatorConfig, config);
|
|
428
428
|
}, "loadBaseGenerator");
|
|
429
429
|
} else if (authType === "qwen-oauth" /* QWEN_OAUTH */) {
|
|
430
|
-
const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-
|
|
430
|
+
const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-3ZRQHHTC.js");
|
|
431
431
|
try {
|
|
432
432
|
const qwenClient = await getQwenOauthClient(
|
|
433
433
|
config,
|
|
434
434
|
isInitialAuth ? { requireCachedCredentials: true } : void 0
|
|
435
435
|
);
|
|
436
436
|
loadBaseGenerator = /* @__PURE__ */ __name(async () => {
|
|
437
|
-
const { QwenContentGenerator } = await import("./qwenContentGenerator-
|
|
437
|
+
const { QwenContentGenerator } = await import("./qwenContentGenerator-TMQC623Z.js");
|
|
438
438
|
return new QwenContentGenerator(qwenClient, generatorConfig, config);
|
|
439
439
|
}, "loadBaseGenerator");
|
|
440
440
|
} catch (error) {
|
|
@@ -445,12 +445,12 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
|
|
|
445
445
|
}
|
|
446
446
|
} else if (authType === "anthropic" /* USE_ANTHROPIC */) {
|
|
447
447
|
loadBaseGenerator = /* @__PURE__ */ __name(async () => {
|
|
448
|
-
const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-
|
|
448
|
+
const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-JSKMKS6V.js");
|
|
449
449
|
return createAnthropicContentGenerator(generatorConfig, config);
|
|
450
450
|
}, "loadBaseGenerator");
|
|
451
451
|
} else if (authType === "gemini" /* USE_GEMINI */ || authType === "vertex-ai" /* USE_VERTEX_AI */) {
|
|
452
452
|
loadBaseGenerator = /* @__PURE__ */ __name(async () => {
|
|
453
|
-
const { createLlmContentGenerator } = await import("./llm-content-generator-
|
|
453
|
+
const { createLlmContentGenerator } = await import("./llm-content-generator-ZHQQT5W7.js");
|
|
454
454
|
return createLlmContentGenerator(generatorConfig, config);
|
|
455
455
|
}, "loadBaseGenerator");
|
|
456
456
|
} else {
|
|
@@ -465,7 +465,7 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
|
|
|
465
465
|
try {
|
|
466
466
|
const [baseGenerator, { LoggingContentGenerator }] = await Promise.all([
|
|
467
467
|
loadBaseGenerator(),
|
|
468
|
-
import("./loggingContentGenerator-
|
|
468
|
+
import("./loggingContentGenerator-V72OCCJO.js")
|
|
469
469
|
]);
|
|
470
470
|
return new LoggingContentGenerator(
|
|
471
471
|
baseGenerator,
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
} from "./chunk-47ECGEJC.js";
|
|
9
9
|
import {
|
|
10
10
|
formatHistoryGapNotice
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-6JACAGYH.js";
|
|
12
12
|
import {
|
|
13
13
|
loadUndici
|
|
14
14
|
} from "./chunk-TXASDT2M.js";
|
|
@@ -21,11 +21,11 @@ import {
|
|
|
21
21
|
} from "./chunk-FCQJLMA2.js";
|
|
22
22
|
import {
|
|
23
23
|
LOAD_REPLAY_META_KEY
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-PSPAM24S.js";
|
|
25
25
|
import {
|
|
26
26
|
isGoalCheckpointBookkeepingRecord,
|
|
27
27
|
projectGoalStateToLegacy
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-BZM5U74J.js";
|
|
29
29
|
import {
|
|
30
30
|
GOAL_PAUSE_REASON_COMMAND,
|
|
31
31
|
observeToolResultBoundary,
|
|
@@ -33,7 +33,7 @@ import {
|
|
|
33
33
|
parseGoalStateCause,
|
|
34
34
|
parseGoalStateRecordPayloadV2,
|
|
35
35
|
toolResultBoundaryArtifact
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-N7VWZDWW.js";
|
|
37
37
|
import {
|
|
38
38
|
TranscriptRecordPreparationError,
|
|
39
39
|
prepareTranscriptRecords,
|
|
@@ -43,7 +43,7 @@ import {
|
|
|
43
43
|
import {
|
|
44
44
|
formatVisionBridgeNoticeDisplay,
|
|
45
45
|
isVisionBridgeNoticeDisplay
|
|
46
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-HBU7EKY4.js";
|
|
47
47
|
import {
|
|
48
48
|
SchemaValidator,
|
|
49
49
|
ToolNames
|
|
@@ -2840,7 +2840,7 @@ async function collectSessionMetadata(conversation, config) {
|
|
|
2840
2840
|
const gitBranch = firstRecord?.gitBranch;
|
|
2841
2841
|
let gitRepo;
|
|
2842
2842
|
if (cwd) {
|
|
2843
|
-
const { getGitRepoName } = await import("./deferred-core-runtime-
|
|
2843
|
+
const { getGitRepoName } = await import("./deferred-core-runtime-JK5IXL5K.js");
|
|
2844
2844
|
gitRepo = getGitRepoName(cwd);
|
|
2845
2845
|
}
|
|
2846
2846
|
let model;
|
|
@@ -3608,7 +3608,7 @@ var DOCUMENT_HTML_TEMPLATE = `<!doctype html>
|
|
|
3608
3608
|
id="transcript-stylesheet"
|
|
3609
3609
|
integrity="sha384-g7RKMZU4g3HtouYdCanFE655GtLdj8Zv7W8LYicXINS24VZ03GQ/1aeLVPLIea8p"
|
|
3610
3610
|
crossorigin="anonymous"
|
|
3611
|
-
href="https://unpkg.com/@qwen-code/qwen-code@0.23.3
|
|
3611
|
+
href="https://unpkg.com/@qwen-code/qwen-code@0.23.3/export-transcript-document.css"
|
|
3612
3612
|
/>
|
|
3613
3613
|
</head>
|
|
3614
3614
|
<body>
|
|
@@ -3662,14 +3662,14 @@ var DOCUMENT_HTML_TEMPLATE = `<!doctype html>
|
|
|
3662
3662
|
<script
|
|
3663
3663
|
nonce="__EXPORT_NONCE__"
|
|
3664
3664
|
id="transcript-renderer"
|
|
3665
|
-
integrity="sha384-
|
|
3665
|
+
integrity="sha384-pk3bIqWjOCQgUt6MiXxENFE6MhcSLz2FFtasqfbxp62hFgZzIn63Brtt+tmnPi15"
|
|
3666
3666
|
crossorigin="anonymous"
|
|
3667
|
-
src="https://unpkg.com/@qwen-code/qwen-code@0.23.3
|
|
3667
|
+
src="https://unpkg.com/@qwen-code/qwen-code@0.23.3/export-transcript-document.js"
|
|
3668
3668
|
></script>
|
|
3669
3669
|
</body>
|
|
3670
3670
|
</html>
|
|
3671
3671
|
`;
|
|
3672
|
-
var EXPORT_TRANSCRIPT_RENDERER_VERSION = "0.23.3
|
|
3672
|
+
var EXPORT_TRANSCRIPT_RENDERER_VERSION = "0.23.3+4f7d302b60c335c5";
|
|
3673
3673
|
var EXPORT_TRANSCRIPT_RENDERER_LIMITS = Object.freeze({
|
|
3674
3674
|
maxBlocks: 1e3,
|
|
3675
3675
|
maxEnvelopeBytes: 33554432
|
|
@@ -64,9 +64,6 @@ Please retry after the reset time, or switch to another API key / auth method.`;
|
|
|
64
64
|
}
|
|
65
65
|
__name(formatQuotaExhaustedMessage, "formatQuotaExhaustedMessage");
|
|
66
66
|
|
|
67
|
-
// packages/core/src/utils/rateLimit.ts
|
|
68
|
-
init_esbuild_shims();
|
|
69
|
-
|
|
70
67
|
// packages/core/src/utils/retryPolicy.ts
|
|
71
68
|
init_esbuild_shims();
|
|
72
69
|
var MAX_TIMEOUT_MS = 2147483647;
|
|
@@ -145,6 +142,7 @@ function hasResponseHeaders(error) {
|
|
|
145
142
|
__name(hasResponseHeaders, "hasResponseHeaders");
|
|
146
143
|
|
|
147
144
|
// packages/core/src/utils/rateLimit.ts
|
|
145
|
+
init_esbuild_shims();
|
|
148
146
|
var RATE_LIMIT_ERROR_CODES = /* @__PURE__ */ new Set([429, 503, 1302, 1305]);
|
|
149
147
|
function isRateLimitError(error, extraCodes) {
|
|
150
148
|
const code = getErrorCode(error);
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import {
|
|
4
4
|
buildModelReasoningConfigPreview,
|
|
5
5
|
resolvePersistedReasoningConfigState
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-BV6Q5HMY.js";
|
|
7
7
|
import {
|
|
8
8
|
ACP_ROUTE_ID_PREFIX,
|
|
9
9
|
buildAcpModelOptions,
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
parseAcpBaseModelId,
|
|
13
13
|
resolveCliGenerationConfig,
|
|
14
14
|
sanitizeProviderBaseUrl
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-MF6E7FSA.js";
|
|
16
16
|
import {
|
|
17
17
|
snapshotProcessEnv
|
|
18
18
|
} from "./chunk-TBEXLLAO.js";
|
|
@@ -21,10 +21,10 @@ import {
|
|
|
21
21
|
} from "./chunk-HGEUHUEV.js";
|
|
22
22
|
import {
|
|
23
23
|
loadSettings
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-7BXXIQG4.js";
|
|
25
25
|
import {
|
|
26
26
|
ModelsConfig
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-N7VWZDWW.js";
|
|
28
28
|
import {
|
|
29
29
|
APPROVAL_MODES
|
|
30
30
|
} from "./chunk-JX6XHPTX.js";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
performStandaloneUpdate
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-GOXQL4YH.js";
|
|
6
6
|
import {
|
|
7
7
|
updateEventEmitter
|
|
8
8
|
} from "./chunk-YAF2MQZ6.js";
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
} from "./chunk-N6VQ37ZZ.js";
|
|
17
17
|
import {
|
|
18
18
|
t
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-VZUCTJ2P.js";
|
|
20
20
|
import {
|
|
21
21
|
createDebugLogger
|
|
22
22
|
} from "./chunk-ZAFYHRVY.js";
|
|
@@ -7,12 +7,12 @@ import {
|
|
|
7
7
|
import {
|
|
8
8
|
customDeepMerge,
|
|
9
9
|
getSettingsSchema
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-ZU47FBOC.js";
|
|
11
11
|
import {
|
|
12
12
|
getHomeEnvFallbackVars,
|
|
13
13
|
loadEnvironment,
|
|
14
14
|
preResolveHomeEnvOverrides
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-NOAG7N22.js";
|
|
16
16
|
import {
|
|
17
17
|
CONSOLIDATED_DISABLE_KEYS,
|
|
18
18
|
V1_INDICATOR_KEYS,
|
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
} from "./chunk-IDS7MSUP.js";
|
|
31
31
|
import {
|
|
32
32
|
t
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-VZUCTJ2P.js";
|
|
34
34
|
import {
|
|
35
35
|
SUPPORTED_LANGUAGES,
|
|
36
36
|
getLanguageNameFromLocale
|
|
@@ -38,7 +38,7 @@ import {
|
|
|
38
38
|
import {
|
|
39
39
|
isWorkspaceTrusted,
|
|
40
40
|
updateSettingsFilePreservingFormat
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-53GWJOLP.js";
|
|
42
42
|
import {
|
|
43
43
|
require_strip_json_comments
|
|
44
44
|
} from "./chunk-NPQ5ZKRP.js";
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
appEvents
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-DYFOSJHU.js";
|
|
6
6
|
import {
|
|
7
7
|
assembleMcpServers,
|
|
8
8
|
getPendingGatedMcpServers,
|
|
9
9
|
getPromptableMcpServers
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-2ZN3O5FT.js";
|
|
11
11
|
import {
|
|
12
12
|
getMCPServerStatus
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-HBU7EKY4.js";
|
|
14
14
|
import {
|
|
15
15
|
require_fast_deep_equal
|
|
16
16
|
} from "./chunk-TP6FYVQT.js";
|
|
@@ -3819,6 +3819,71 @@ function truncateError(message) {
|
|
|
3819
3819
|
}
|
|
3820
3820
|
__name(truncateError, "truncateError");
|
|
3821
3821
|
|
|
3822
|
+
// packages/channels/base/dist/message-prefix.js
|
|
3823
|
+
init_esbuild_shims();
|
|
3824
|
+
function startsWithMessagePrefix(text, prefix) {
|
|
3825
|
+
return text.startsWith(prefix) && (text.length === prefix.length || /\s/u.test(text.charAt(prefix.length)));
|
|
3826
|
+
}
|
|
3827
|
+
__name(startsWithMessagePrefix, "startsWithMessagePrefix");
|
|
3828
|
+
function stripMessagePrefix(text, prefix) {
|
|
3829
|
+
if (!prefix)
|
|
3830
|
+
return text;
|
|
3831
|
+
let candidate = text.trim();
|
|
3832
|
+
while (!startsWithMessagePrefix(candidate, prefix) && (candidate.startsWith("@") || candidate.startsWith("<@"))) {
|
|
3833
|
+
const mention = candidate.match(/^(?:@[^@\s]+|<@[^>]{1,64}>)\s+/u)?.[0];
|
|
3834
|
+
if (!mention)
|
|
3835
|
+
return void 0;
|
|
3836
|
+
candidate = candidate.slice(mention.length);
|
|
3837
|
+
}
|
|
3838
|
+
if (!startsWithMessagePrefix(candidate, prefix))
|
|
3839
|
+
return void 0;
|
|
3840
|
+
const suffix = candidate.slice(prefix.length);
|
|
3841
|
+
if (!/^\s+\S[\s\S]*$/u.test(suffix))
|
|
3842
|
+
return void 0;
|
|
3843
|
+
return suffix.trim();
|
|
3844
|
+
}
|
|
3845
|
+
__name(stripMessagePrefix, "stripMessagePrefix");
|
|
3846
|
+
function locateDisplayText(envelope, displayText) {
|
|
3847
|
+
const offset = envelope.displayTextOffset;
|
|
3848
|
+
if (offset !== void 0 && envelope.text.startsWith(displayText, offset)) {
|
|
3849
|
+
return offset;
|
|
3850
|
+
}
|
|
3851
|
+
if (offset === void 0 && envelope.text.endsWith(displayText)) {
|
|
3852
|
+
return envelope.text.length - displayText.length;
|
|
3853
|
+
}
|
|
3854
|
+
const first = envelope.text.indexOf(displayText);
|
|
3855
|
+
if (first === -1)
|
|
3856
|
+
return -1;
|
|
3857
|
+
return envelope.text.indexOf(displayText, first + 1) === -1 ? first : "ambiguous";
|
|
3858
|
+
}
|
|
3859
|
+
__name(locateDisplayText, "locateDisplayText");
|
|
3860
|
+
function applyMessagePrefix(envelope, prefix) {
|
|
3861
|
+
if (!prefix || envelope.bypassMessagePrefix || envelope.syntheticText) {
|
|
3862
|
+
return true;
|
|
3863
|
+
}
|
|
3864
|
+
const displayText = envelope.displayText;
|
|
3865
|
+
const prefixText = envelope.messagePrefixText;
|
|
3866
|
+
const sourceText = prefixText ?? displayText ?? envelope.text;
|
|
3867
|
+
const stripped = stripMessagePrefix(sourceText, prefix);
|
|
3868
|
+
if (stripped === void 0)
|
|
3869
|
+
return false;
|
|
3870
|
+
if (displayText === void 0) {
|
|
3871
|
+
if (prefixText !== void 0)
|
|
3872
|
+
envelope.messagePrefixText = stripped;
|
|
3873
|
+
envelope.text = stripped;
|
|
3874
|
+
return true;
|
|
3875
|
+
}
|
|
3876
|
+
const at = locateDisplayText(envelope, displayText);
|
|
3877
|
+
if (at === "ambiguous" || at === -1)
|
|
3878
|
+
return false;
|
|
3879
|
+
if (prefixText !== void 0)
|
|
3880
|
+
envelope.messagePrefixText = stripped;
|
|
3881
|
+
envelope.displayText = stripped;
|
|
3882
|
+
envelope.text = envelope.text.slice(0, at) + stripped + envelope.text.slice(at + displayText.length);
|
|
3883
|
+
return true;
|
|
3884
|
+
}
|
|
3885
|
+
__name(applyMessagePrefix, "applyMessagePrefix");
|
|
3886
|
+
|
|
3822
3887
|
// packages/channels/base/dist/ChannelWebhookTask.js
|
|
3823
3888
|
init_esbuild_shims();
|
|
3824
3889
|
var MAX_WEBHOOK_PROMPT_CHARS = 8500;
|
|
@@ -4249,6 +4314,9 @@ var ChannelBase = class {
|
|
|
4249
4314
|
observedContacts;
|
|
4250
4315
|
namedSessions;
|
|
4251
4316
|
observedContactEnvelopes = /* @__PURE__ */ new WeakSet();
|
|
4317
|
+
messagePrefix;
|
|
4318
|
+
messagePrefixCheckedEnvelopes = /* @__PURE__ */ new WeakSet();
|
|
4319
|
+
messagePrefixRejectedEnvelopes = /* @__PURE__ */ new WeakSet();
|
|
4252
4320
|
instructedSessions = /* @__PURE__ */ new Set();
|
|
4253
4321
|
unattendedMemorySessions = /* @__PURE__ */ new Set();
|
|
4254
4322
|
channelMemoryReads = /* @__PURE__ */ new Map();
|
|
@@ -4384,7 +4452,7 @@ var ChannelBase = class {
|
|
|
4384
4452
|
async handleBtw(envelope, sessionId, question, sourceLabel) {
|
|
4385
4453
|
const target = this.router.getTarget(sessionId);
|
|
4386
4454
|
if (!target || target.channelName !== this.name) {
|
|
4387
|
-
await this.sendThreadMessage(envelope.chatId, envelope.threadId, `Could not resolve the current task for /btw.`, sourceLabel);
|
|
4455
|
+
await this.sendThreadMessage(envelope.chatId, envelope.threadId, `Could not resolve the current task for ${this.prefixedCommand("/btw")}.`, sourceLabel);
|
|
4388
4456
|
return;
|
|
4389
4457
|
}
|
|
4390
4458
|
const running = this.activeBtw.get(sessionId);
|
|
@@ -4838,8 +4906,12 @@ No answer is available from the current conversation context.`;
|
|
|
4838
4906
|
this.removePendingPermission(event.requestId, this.userInputSettlementReason(pending, event.outcome));
|
|
4839
4907
|
}
|
|
4840
4908
|
constructor(name, config, bridge, options) {
|
|
4909
|
+
if (config.messagePrefix !== void 0 && typeof config.messagePrefix !== "string") {
|
|
4910
|
+
throw new Error(`Channel "${name}" field "messagePrefix" must be a string.`);
|
|
4911
|
+
}
|
|
4841
4912
|
this.name = name;
|
|
4842
4913
|
this.config = config;
|
|
4914
|
+
this.messagePrefix = config.messagePrefix?.trim() || void 0;
|
|
4843
4915
|
this.bridge = bridge;
|
|
4844
4916
|
this.locale = options?.locale ?? "en";
|
|
4845
4917
|
this.proxy = options?.proxy;
|
|
@@ -6117,11 +6189,11 @@ ${promptText}` : promptText;
|
|
|
6117
6189
|
const requestSuffix = pending.taskName ? ` ${pending.requestId}` : "";
|
|
6118
6190
|
const replyPadding = pending.taskName ? { approve: " ", always: " ", deny: " " } : { approve: " ", always: " ", deny: " " };
|
|
6119
6191
|
const replies = [
|
|
6120
|
-
`/approve${requestSuffix}${replyPadding.approve}${approveLabel}`,
|
|
6192
|
+
`${this.prefixedCommand(`/approve${requestSuffix}`)}${replyPadding.approve}${approveLabel}`,
|
|
6121
6193
|
...alwaysOption ? [
|
|
6122
|
-
`/approve-always${requestSuffix}${replyPadding.always}${alwaysOption.label}`
|
|
6194
|
+
`${this.prefixedCommand(`/approve-always${requestSuffix}`)}${replyPadding.always}${alwaysOption.label}`
|
|
6123
6195
|
] : [],
|
|
6124
|
-
`/deny${requestSuffix}${replyPadding.deny}${denyLabel}`
|
|
6196
|
+
`${this.prefixedCommand(`/deny${requestSuffix}`)}${replyPadding.deny}${denyLabel}`
|
|
6125
6197
|
];
|
|
6126
6198
|
return [
|
|
6127
6199
|
copy.required,
|
|
@@ -6135,6 +6207,12 @@ ${promptText}` : promptText;
|
|
|
6135
6207
|
...replies
|
|
6136
6208
|
].join("\n");
|
|
6137
6209
|
}
|
|
6210
|
+
prefixedCommand(command) {
|
|
6211
|
+
return this.messagePrefix ? `${this.messagePrefix} ${command}` : command;
|
|
6212
|
+
}
|
|
6213
|
+
configuredMessagePrefix() {
|
|
6214
|
+
return this.messagePrefix;
|
|
6215
|
+
}
|
|
6138
6216
|
permissionTitle(toolCall) {
|
|
6139
6217
|
const rawTitle = typeof toolCall.title === "string" ? toolCall.title : void 0;
|
|
6140
6218
|
return sanitizeQuotedText(rawTitle || "", 160).trim() || PERMISSION_COPY[this.locale].toolUse;
|
|
@@ -6268,7 +6346,7 @@ ${promptText}` : promptText;
|
|
|
6268
6346
|
const task = pending2?.taskName ? `Task ${pending2.taskName} \u2014 ` : "";
|
|
6269
6347
|
return `- ${task}${sanitizeQuotedText(id, 128)}${title}`;
|
|
6270
6348
|
}).join("\n");
|
|
6271
|
-
await this.sendThreadMessage(envelope.chatId, envelope.threadId, `Multiple permission requests are pending for this chat. Reply with
|
|
6349
|
+
await this.sendThreadMessage(envelope.chatId, envelope.threadId, `Multiple permission requests are pending for this chat. Reply with ${this.prefixedCommand(`/${decision} <request-id>`)}.
|
|
6272
6350
|
${requestList}`);
|
|
6273
6351
|
return true;
|
|
6274
6352
|
}
|
|
@@ -6282,7 +6360,7 @@ ${requestList}`);
|
|
|
6282
6360
|
return true;
|
|
6283
6361
|
}
|
|
6284
6362
|
if (pending.userInputPresented && decision !== "deny") {
|
|
6285
|
-
await this.sendThreadMessage(envelope.chatId, envelope.threadId, `Submit this question through its interactive card, or use /deny [request-id] to cancel it.`, pending.sourceLabel);
|
|
6363
|
+
await this.sendThreadMessage(envelope.chatId, envelope.threadId, `Submit this question through its interactive card, or use ${this.prefixedCommand("/deny [request-id]")} to cancel it.`, pending.sourceLabel);
|
|
6286
6364
|
return true;
|
|
6287
6365
|
}
|
|
6288
6366
|
const response = (() => {
|
|
@@ -6449,7 +6527,7 @@ ${requestList}`);
|
|
|
6449
6527
|
if (safeTaskName !== void 0 && failedTaskName === await this.selectedTaskName(envelope)) {
|
|
6450
6528
|
return `${subject} ${problem}. Its files were not changed. ${interrupted ? "Clear the task again to finish the reset." : "Clear the task to restart it in the same worktree, or close it."}`;
|
|
6451
6529
|
}
|
|
6452
|
-
const remedy = safeTaskName === void 0 ? "select this task first or close it" : `select this task first or close it with
|
|
6530
|
+
const remedy = safeTaskName === void 0 ? "select this task first or close it" : `select this task first or close it with ${this.prefixedCommand(`/session close ${safeTaskName}`)}`;
|
|
6453
6531
|
return `${subject} ${problem}. Its files were not changed. Clearing now would reset the selected task instead, so ${remedy}.`;
|
|
6454
6532
|
}
|
|
6455
6533
|
async selectedTaskName(envelope) {
|
|
@@ -6476,7 +6554,7 @@ ${requestList}`);
|
|
|
6476
6554
|
return false;
|
|
6477
6555
|
const normalized = args.trim().toLowerCase();
|
|
6478
6556
|
if (normalized !== "" && normalized !== "all") {
|
|
6479
|
-
await this.sendThreadMessage(envelope.chatId, envelope.threadId, `Usage: /sessions [all]`);
|
|
6557
|
+
await this.sendThreadMessage(envelope.chatId, envelope.threadId, `Usage: ${this.prefixedCommand("/sessions [all]")}`);
|
|
6480
6558
|
return true;
|
|
6481
6559
|
}
|
|
6482
6560
|
try {
|
|
@@ -6507,7 +6585,7 @@ ${requestList}`);
|
|
|
6507
6585
|
if (parts.length > 0)
|
|
6508
6586
|
break;
|
|
6509
6587
|
const current = await namedSessions.current(owner);
|
|
6510
|
-
await this.sendThreadMessage(envelope.chatId, envelope.threadId, current ? `Current task: ${current.name} (${current.isolation})` : `No task is currently selected. Use /session new <name> or /session use <name
|
|
6588
|
+
await this.sendThreadMessage(envelope.chatId, envelope.threadId, current ? `Current task: ${current.name} (${current.isolation})` : `No task is currently selected. Use ${this.prefixedCommand("/session new <name>")} or ${this.prefixedCommand("/session use <name>")}.`);
|
|
6511
6589
|
return true;
|
|
6512
6590
|
}
|
|
6513
6591
|
case "new": {
|
|
@@ -6566,7 +6644,7 @@ ${requestList}`);
|
|
|
6566
6644
|
await this.sendNamedSessionError(envelope, error);
|
|
6567
6645
|
return true;
|
|
6568
6646
|
}
|
|
6569
|
-
await this.sendThreadMessage(envelope.chatId, envelope.threadId, `Usage: /session current | /session new <name> [--worktree] | /session use <name> | /session close <name> | /session cancel [<name>]`);
|
|
6647
|
+
await this.sendThreadMessage(envelope.chatId, envelope.threadId, `Usage: ${this.prefixedCommand("/session current")} | ${this.prefixedCommand("/session new <name> [--worktree]")} | ${this.prefixedCommand("/session use <name>")} | ${this.prefixedCommand("/session close <name>")} | ${this.prefixedCommand("/session cancel [<name>]")}`);
|
|
6570
6648
|
return true;
|
|
6571
6649
|
}
|
|
6572
6650
|
/** Register shared slash commands. Called from constructor. */
|
|
@@ -6659,7 +6737,7 @@ ${requestList}`);
|
|
|
6659
6737
|
return true;
|
|
6660
6738
|
}
|
|
6661
6739
|
if (this.isSharedSession(envelope) && args.toLowerCase() !== "confirm") {
|
|
6662
|
-
await this.sendThreadMessage(envelope.chatId, envelope.threadId, `This clears the shared session for everyone who shares it. Re-send with "confirm" (e.g. /clear confirm) to proceed.`);
|
|
6740
|
+
await this.sendThreadMessage(envelope.chatId, envelope.threadId, `This clears the shared session for everyone who shares it. Re-send with "confirm" (e.g. ${this.prefixedCommand("/clear confirm")}) to proceed.`);
|
|
6663
6741
|
return true;
|
|
6664
6742
|
}
|
|
6665
6743
|
await doClear(envelope);
|
|
@@ -6700,19 +6778,19 @@ ${requestList}`);
|
|
|
6700
6778
|
this.registerCommand("help", async (envelope) => {
|
|
6701
6779
|
const lines = [
|
|
6702
6780
|
"Commands:",
|
|
6703
|
-
|
|
6704
|
-
this.isSharedSession(envelope) ?
|
|
6705
|
-
|
|
6706
|
-
|
|
6707
|
-
|
|
6708
|
-
|
|
6709
|
-
|
|
6781
|
+
`${this.prefixedCommand("/help")} \u2014 Show this help`,
|
|
6782
|
+
this.isSharedSession(envelope) ? `${this.prefixedCommand("/clear confirm")} \u2014 Clear the shared session (aliases: ${this.prefixedCommand("/reset")}, ${this.prefixedCommand("/new")})` : `${this.prefixedCommand("/clear")} \u2014 Clear your session (aliases: ${this.prefixedCommand("/reset")}, ${this.prefixedCommand("/new")})`,
|
|
6783
|
+
`${this.prefixedCommand("/who")} \u2014 Show current session & workspace`,
|
|
6784
|
+
`${this.prefixedCommand("/status")} \u2014 Show session info`,
|
|
6785
|
+
`${this.prefixedCommand("/approve [request-id]")} \u2014 Approve a pending permission request`,
|
|
6786
|
+
`${this.prefixedCommand("/approve-always [request-id]")} \u2014 Always approve a pending permission request`,
|
|
6787
|
+
`${this.prefixedCommand("/deny [request-id]")} \u2014 Deny a pending permission request`,
|
|
6710
6788
|
...this.bridge.btw ? [
|
|
6711
|
-
|
|
6789
|
+
`${this.prefixedCommand("/btw <question>")} \u2014 Ask a side question without interrupting the current task`
|
|
6712
6790
|
] : [],
|
|
6713
6791
|
...this.namedSessions ? [
|
|
6714
|
-
|
|
6715
|
-
|
|
6792
|
+
`${this.prefixedCommand("/sessions [all]")} \u2014 List your named tasks`,
|
|
6793
|
+
`${this.prefixedCommand("/session current|new|use|close|cancel")} \u2014 Manage your named tasks`
|
|
6716
6794
|
] : []
|
|
6717
6795
|
];
|
|
6718
6796
|
const sharedCmds = /* @__PURE__ */ new Set([
|
|
@@ -6735,7 +6813,7 @@ ${requestList}`);
|
|
|
6735
6813
|
const platformCmds = [...this.commands.keys()].filter((c) => !sharedCmds.has(c));
|
|
6736
6814
|
if (platformCmds.length > 0) {
|
|
6737
6815
|
for (const cmd of platformCmds) {
|
|
6738
|
-
lines.push(`/${cmd}`);
|
|
6816
|
+
lines.push(this.prefixedCommand(`/${cmd}`));
|
|
6739
6817
|
}
|
|
6740
6818
|
}
|
|
6741
6819
|
const sessionId = await this.currentSessionId(envelope);
|
|
@@ -6746,10 +6824,10 @@ ${requestList}`);
|
|
|
6746
6824
|
if (agentCommands.length > 0) {
|
|
6747
6825
|
lines.push("", "Agent commands (forwarded to Qwen Code):");
|
|
6748
6826
|
for (const cmd of agentCommands) {
|
|
6749
|
-
lines.push(`/${cmd.name} \u2014 ${cmd.description}`);
|
|
6827
|
+
lines.push(`${this.prefixedCommand(`/${cmd.name}`)} \u2014 ${cmd.description}`);
|
|
6750
6828
|
}
|
|
6751
6829
|
}
|
|
6752
|
-
lines.push("", "Send any text to chat with the agent.");
|
|
6830
|
+
lines.push("", this.messagePrefix ? `Start each message with ${this.messagePrefix} to chat with the agent.` : "Send any text to chat with the agent.");
|
|
6753
6831
|
await this.sendThreadMessage(envelope.chatId, envelope.threadId, lines.join("\n"));
|
|
6754
6832
|
return true;
|
|
6755
6833
|
});
|
|
@@ -6794,7 +6872,7 @@ ${requestList}`);
|
|
|
6794
6872
|
case "cancel":
|
|
6795
6873
|
return this.handleLoopCancel(envelope, rest[0]);
|
|
6796
6874
|
default:
|
|
6797
|
-
await this.sendThreadMessage(envelope.chatId, envelope.threadId, `Usage: /loop add "<cron>" <prompt> | /loop list | /loop inspect <id> | /loop cancel <id
|
|
6875
|
+
await this.sendThreadMessage(envelope.chatId, envelope.threadId, `Usage: ${this.prefixedCommand('/loop add "<cron>" <prompt>')} | ${this.prefixedCommand("/loop list")} | ${this.prefixedCommand("/loop inspect <id>")} | ${this.prefixedCommand("/loop cancel <id>")}`);
|
|
6798
6876
|
return true;
|
|
6799
6877
|
}
|
|
6800
6878
|
}
|
|
@@ -6811,7 +6889,7 @@ ${requestList}`);
|
|
|
6811
6889
|
}
|
|
6812
6890
|
const parsed = parseLoopAddArgs(args);
|
|
6813
6891
|
if (!parsed) {
|
|
6814
|
-
await this.sendThreadMessage(envelope.chatId, envelope.threadId, `Usage: /loop add "<cron>" <prompt
|
|
6892
|
+
await this.sendThreadMessage(envelope.chatId, envelope.threadId, `Usage: ${this.prefixedCommand('/loop add "<cron>" <prompt>')}`);
|
|
6815
6893
|
return true;
|
|
6816
6894
|
}
|
|
6817
6895
|
try {
|
|
@@ -6965,7 +7043,7 @@ ${requestList}`);
|
|
|
6965
7043
|
if (!this.loopController)
|
|
6966
7044
|
return true;
|
|
6967
7045
|
if (!id) {
|
|
6968
|
-
await this.sendThreadMessage(envelope.chatId, envelope.threadId, `Usage: /loop inspect <id
|
|
7046
|
+
await this.sendThreadMessage(envelope.chatId, envelope.threadId, `Usage: ${this.prefixedCommand("/loop inspect <id>")}`);
|
|
6969
7047
|
return true;
|
|
6970
7048
|
}
|
|
6971
7049
|
const jobs = await this.loopController.listForTarget(this.name, this.loopTargetFromEnvelope(envelope));
|
|
@@ -7025,7 +7103,7 @@ ${requestList}`);
|
|
|
7025
7103
|
if (!this.loopController)
|
|
7026
7104
|
return true;
|
|
7027
7105
|
if (!id) {
|
|
7028
|
-
await this.sendThreadMessage(envelope.chatId, envelope.threadId, `Usage: /loop cancel <id
|
|
7106
|
+
await this.sendThreadMessage(envelope.chatId, envelope.threadId, `Usage: ${this.prefixedCommand("/loop cancel <id>")}`);
|
|
7029
7107
|
return true;
|
|
7030
7108
|
}
|
|
7031
7109
|
const jobs = await this.loopController.listForTarget(this.name, this.loopTargetFromEnvelope(envelope));
|
|
@@ -7824,6 +7902,18 @@ ${CURRENT_MESSAGE_MARKER}
|
|
|
7824
7902
|
${promptText}`;
|
|
7825
7903
|
}
|
|
7826
7904
|
preflightInbound(envelope, options = {}) {
|
|
7905
|
+
if (this.messagePrefixRejectedEnvelopes.has(envelope))
|
|
7906
|
+
return false;
|
|
7907
|
+
if (!this.messagePrefixCheckedEnvelopes.has(envelope)) {
|
|
7908
|
+
this.messagePrefixCheckedEnvelopes.add(envelope);
|
|
7909
|
+
if (!applyMessagePrefix(envelope, this.messagePrefix)) {
|
|
7910
|
+
this.messagePrefixRejectedEnvelopes.add(envelope);
|
|
7911
|
+
if (!(envelope.isGroup && !envelope.isMentioned && !envelope.isReplyToBot)) {
|
|
7912
|
+
this.logPreflightRejected("message_prefix_mismatch");
|
|
7913
|
+
}
|
|
7914
|
+
return false;
|
|
7915
|
+
}
|
|
7916
|
+
}
|
|
7827
7917
|
const groupResult = this.groupGate.check(envelope, {
|
|
7828
7918
|
createPairingRequest: !options.deferPairingRequests
|
|
7829
7919
|
});
|
|
@@ -7879,6 +7969,9 @@ ${promptText}`;
|
|
|
7879
7969
|
process.stderr.write(`[Channel:${this.name}] preflight rejected reason=${sanitizeLogText(reason, 80)}
|
|
7880
7970
|
`);
|
|
7881
7971
|
}
|
|
7972
|
+
wasMessagePrefixRejected(envelope) {
|
|
7973
|
+
return this.messagePrefixRejectedEnvelopes.has(envelope);
|
|
7974
|
+
}
|
|
7882
7975
|
logDebugPayload(platform, payload) {
|
|
7883
7976
|
if (!isDebugPayloadEnabled(this.name))
|
|
7884
7977
|
return;
|
|
@@ -8102,12 +8195,12 @@ ${text}`;
|
|
|
8102
8195
|
}
|
|
8103
8196
|
if (parsed.command === "btw" && this.bridge.btw) {
|
|
8104
8197
|
if (!this.isAuthorizedForSharedSession(envelope)) {
|
|
8105
|
-
await this.sendThreadMessage(envelope.chatId, envelope.threadId, `Only authorized members can use /btw in this shared session.`);
|
|
8198
|
+
await this.sendThreadMessage(envelope.chatId, envelope.threadId, `Only authorized members can use ${this.prefixedCommand("/btw")} in this shared session.`);
|
|
8106
8199
|
return;
|
|
8107
8200
|
}
|
|
8108
8201
|
btwQuestion = parsed.args.trim();
|
|
8109
8202
|
if (!btwQuestion) {
|
|
8110
|
-
await this.sendThreadMessage(envelope.chatId, envelope.threadId, `Usage: /btw <question
|
|
8203
|
+
await this.sendThreadMessage(envelope.chatId, envelope.threadId, `Usage: ${this.prefixedCommand("/btw <question>")}`);
|
|
8111
8204
|
return;
|
|
8112
8205
|
}
|
|
8113
8206
|
if (btwQuestion.length > CHANNEL_BTW_MAX_INPUT_LENGTH) {
|
|
@@ -8115,7 +8208,7 @@ ${text}`;
|
|
|
8115
8208
|
return;
|
|
8116
8209
|
}
|
|
8117
8210
|
if (envelope.imageBase64 || envelope.attachments?.length) {
|
|
8118
|
-
await this.sendThreadMessage(envelope.chatId, envelope.threadId,
|
|
8211
|
+
await this.sendThreadMessage(envelope.chatId, envelope.threadId, `${this.prefixedCommand("/btw")} supports text-only questions.`);
|
|
8119
8212
|
return;
|
|
8120
8213
|
}
|
|
8121
8214
|
}
|
|
@@ -8173,7 +8266,7 @@ ${text}`;
|
|
|
8173
8266
|
return;
|
|
8174
8267
|
}
|
|
8175
8268
|
if (!sessionId) {
|
|
8176
|
-
await this.sendThreadMessage(envelope.chatId, envelope.threadId, `No task is currently selected. Use /session new <name> or /session use <name
|
|
8269
|
+
await this.sendThreadMessage(envelope.chatId, envelope.threadId, `No task is currently selected. Use ${this.prefixedCommand("/session new <name>")} or ${this.prefixedCommand("/session use <name>")}.`);
|
|
8177
8270
|
return;
|
|
8178
8271
|
}
|
|
8179
8272
|
} else {
|
|
@@ -8181,7 +8274,7 @@ ${text}`;
|
|
|
8181
8274
|
}
|
|
8182
8275
|
const sourceLabel = this.namedSessions ? this.sourceLabelForTurn(sessionId, envelope) : void 0;
|
|
8183
8276
|
if (this.namedSessions && !sourceLabel) {
|
|
8184
|
-
await this.sendThreadMessage(envelope.chatId, envelope.threadId, `Could not identify the selected task. Use /sessions, select it again, and retry.`);
|
|
8277
|
+
await this.sendThreadMessage(envelope.chatId, envelope.threadId, `Could not identify the selected task. Use ${this.prefixedCommand("/sessions")}, select it again, and retry.`);
|
|
8185
8278
|
return;
|
|
8186
8279
|
}
|
|
8187
8280
|
if (btwQuestion !== void 0) {
|
|
@@ -9837,6 +9930,8 @@ export {
|
|
|
9837
9930
|
sanitizeLogText,
|
|
9838
9931
|
SessionRouter,
|
|
9839
9932
|
ChannelLoopScheduler,
|
|
9933
|
+
startsWithMessagePrefix,
|
|
9934
|
+
stripMessagePrefix,
|
|
9840
9935
|
ChannelBase,
|
|
9841
9936
|
PollingChannelBase,
|
|
9842
9937
|
CHANNEL_PROMPT_META_KEY,
|