@qwen-code/qwen-code 0.22.2-preview.0 → 0.22.2

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.
Files changed (379) hide show
  1. package/bundled/goal-draft/SKILL.md +109 -0
  2. package/bundled/qc-helper/docs/configuration/settings.md +12 -12
  3. package/bundled/qc-helper/docs/features/_meta.ts +1 -0
  4. package/bundled/qc-helper/docs/features/commands.md +2 -1
  5. package/bundled/qc-helper/docs/features/goals.md +58 -0
  6. package/bundled/qc-helper/docs/features/headless.md +13 -11
  7. package/bundled/qc-helper/docs/features/status-line.md +3 -3
  8. package/chunks/MaxSizedBox-X5FZSNAJ.js +112 -0
  9. package/chunks/{StandaloneSessionPicker-KFMJILVY.js → StandaloneSessionPicker-AVLI6VJP.js} +76 -76
  10. package/chunks/{acpAgent-KNFTTDWL.js → acpAgent-MXEAN54C.js} +994 -277
  11. package/chunks/{agent-6V6MZOA7.js → agent-PJIPDWHB.js} +41 -41
  12. package/chunks/agent-headless-B4JVD7UK.js +87 -0
  13. package/chunks/{anthropicContentGenerator-U76GTVB6.js → anthropicContentGenerator-HGMBACVE.js} +7 -7
  14. package/chunks/{artifact-tool-XDJCZZCF.js → artifact-tool-5YT4QF7Y.js} +2 -2
  15. package/chunks/{askUserQuestion-ZXXERLEV.js → askUserQuestion-4SWJY65V.js} +2 -2
  16. package/chunks/bridge-FKZTVIS3.js +121 -0
  17. package/chunks/{channel-management-service-HXXS3HOZ.js → channel-management-service-X4AZ6IXX.js} +1 -1
  18. package/chunks/channel-settings-store-4UFCLBBG.js +117 -0
  19. package/chunks/{channel-worker-group-EVDC2P4K.js → channel-worker-group-27HMGD5S.js} +7 -6
  20. package/chunks/{channel-worker-manager-IJJZHGEI.js → channel-worker-manager-QEGX646Z.js} +9 -7
  21. package/chunks/{channel-worker-supervisor-YSKB5GVB.js → channel-worker-supervisor-UEW2WWCC.js} +5 -4
  22. package/chunks/{chunk-7QGEJI7M.js → chunk-23RFD54N.js} +1 -1
  23. package/chunks/{chunk-K5PNJ6VL.js → chunk-2K6ORIHJ.js} +13 -13
  24. package/chunks/{chunk-OGZAQWJP.js → chunk-2NYCN6F2.js} +11 -11
  25. package/chunks/chunk-2TNL5KPM.js +49 -0
  26. package/chunks/{chunk-ZEADBZLO.js → chunk-3AFMQUTI.js} +3 -3
  27. package/chunks/{chunk-LRLMDV5X.js → chunk-3DXFGHAJ.js} +185 -174
  28. package/chunks/{chunk-73WFGVIZ.js → chunk-3FDFA4MZ.js} +3 -3
  29. package/chunks/{chunk-WBT3STGU.js → chunk-3I6UTTDX.js} +1 -1
  30. package/chunks/{chunk-FVDQ5E67.js → chunk-3JGZSIDA.js} +3 -3
  31. package/chunks/{chunk-JJJD6QCC.js → chunk-3SGB2UHX.js} +15 -10
  32. package/chunks/{chunk-77TOMRBG.js → chunk-43GGFFLY.js} +3 -3
  33. package/chunks/{chunk-ZJG323IA.js → chunk-43UYNAWX.js} +6 -4
  34. package/chunks/{chunk-T2HMXHYA.js → chunk-4CDSK5AZ.js} +6 -6
  35. package/chunks/chunk-4CMJKUND.js +95 -0
  36. package/chunks/{chunk-EB4VDXNI.js → chunk-4FTKQNWJ.js} +1 -1
  37. package/chunks/{chunk-PAJGKZAA.js → chunk-4HV6HH33.js} +10 -8
  38. package/chunks/{chunk-BQBUZDDH.js → chunk-4J657AJR.js} +3 -3
  39. package/chunks/{chunk-BU7OUDQB.js → chunk-4JWNNLPT.js} +4 -4
  40. package/chunks/{chunk-4N6UAPD3.js → chunk-4MQEPP3Y.js} +9 -84
  41. package/chunks/{chunk-I6HWGOWD.js → chunk-5O72BNDD.js} +93 -14
  42. package/chunks/{chunk-IKN3IUJP.js → chunk-5XBFCMWD.js} +2 -2
  43. package/chunks/{chunk-2YDYDDE2.js → chunk-66KDY3LV.js} +3 -3
  44. package/chunks/{chunk-UVDOONRU.js → chunk-6CGL7E7G.js} +2 -2
  45. package/chunks/{chunk-SLEWBQWM.js → chunk-6DIGWMGT.js} +2 -2
  46. package/chunks/{chunk-SKNVVYIJ.js → chunk-6IUNAPLR.js} +3 -3
  47. package/chunks/{chunk-VUZY6MEQ.js → chunk-6LFJEACX.js} +4 -4
  48. package/chunks/{chunk-H2MDBYLL.js → chunk-6LFTG244.js} +8 -8
  49. package/chunks/{chunk-PVBT5QPD.js → chunk-6PJOTWAN.js} +1 -1
  50. package/chunks/{chunk-4IDJQOCO.js → chunk-77RG5SFQ.js} +1 -1
  51. package/chunks/{chunk-SDVF6A42.js → chunk-7DJCPZE3.js} +3 -3
  52. package/chunks/{chunk-ELY4QVIB.js → chunk-7EQQR46F.js} +1 -1
  53. package/chunks/{chunk-H4JK2A2V.js → chunk-7UYV53BC.js} +1 -1
  54. package/chunks/{chunk-6HOU52QX.js → chunk-A7YP63XN.js} +4 -4
  55. package/chunks/{chunk-E4I5MVBR.js → chunk-ABS25QER.js} +1 -1
  56. package/chunks/{chunk-XO4NGYRP.js → chunk-AGR5UROZ.js} +5 -5
  57. package/chunks/{chunk-5T4LWWNX.js → chunk-B7CDU2SL.js} +2 -2
  58. package/chunks/{chunk-GQAIZL3H.js → chunk-BAJKAAOY.js} +68 -64
  59. package/chunks/{chunk-DWRFOH3G.js → chunk-BBWV7ONL.js} +3 -3
  60. package/chunks/{chunk-4TPAG3O7.js → chunk-BFPESSTR.js} +1 -1
  61. package/chunks/{chunk-RUJTCU46.js → chunk-BNMF3K5X.js} +20 -19
  62. package/chunks/{chunk-IPQA4SR5.js → chunk-BWORX6FA.js} +1 -1
  63. package/chunks/{chunk-BKDAF7ES.js → chunk-BXDAPVQU.js} +2 -2
  64. package/chunks/{chunk-FY62MBPS.js → chunk-C6K43ZDE.js} +4 -4
  65. package/chunks/{chunk-JUIJ3FXC.js → chunk-CAJTKR6W.js} +5 -5
  66. package/chunks/{chunk-EADEZDPO.js → chunk-CCBZDVUA.js} +30 -25
  67. package/chunks/{chunk-DP7LABIB.js → chunk-CMHFCLBU.js} +1 -1
  68. package/chunks/{chunk-5AFPOEY3.js → chunk-CPGJJJLU.js} +1 -1
  69. package/chunks/{chunk-LRKMQPMD.js → chunk-CQH5KTKC.js} +1 -1
  70. package/chunks/{chunk-EWBY3PFB.js → chunk-CSMI4FP5.js} +1 -1
  71. package/chunks/{chunk-JECO75XD.js → chunk-D5LUXLUH.js} +2 -2
  72. package/chunks/{chunk-TQYZG5DU.js → chunk-DZWPESIF.js} +3 -3
  73. package/chunks/{chunk-5Y2JCJAH.js → chunk-EFUM7RVY.js} +15 -2
  74. package/chunks/{chunk-3UZCLCXR.js → chunk-EKSCLBBF.js} +3 -3
  75. package/chunks/{chunk-LJP2BBMK.js → chunk-EOGELB3H.js} +4 -4
  76. package/chunks/{chunk-624NHDGB.js → chunk-ERFDKH32.js} +11 -0
  77. package/chunks/{chunk-RQAMNZ4Y.js → chunk-F5SZP77N.js} +310 -78
  78. package/chunks/{chunk-SQPOJ4ZI.js → chunk-F6FV3C5K.js} +12 -7
  79. package/chunks/{chunk-C2BAEV64.js → chunk-F7TNAPZ4.js} +9 -7
  80. package/chunks/{chunk-OAAPGZVH.js → chunk-FBSSIAAQ.js} +6 -6
  81. package/chunks/{chunk-2FN2HNTI.js → chunk-FDY5RMGH.js} +2 -2
  82. package/chunks/{chunk-U66FXEH2.js → chunk-FY76G3G5.js} +5 -5
  83. package/chunks/{chunk-LKOSBI2M.js → chunk-G34IR3D6.js} +9 -9
  84. package/chunks/{chunk-ZWKGZB2K.js → chunk-H2WDGQ6D.js} +3 -3
  85. package/chunks/chunk-H72BQNM3.js +645 -0
  86. package/chunks/{chunk-ILPXSKGQ.js → chunk-HVEYF6VT.js} +2 -2
  87. package/chunks/{chunk-EAV3TENS.js → chunk-HVQ3B7FF.js} +2 -2
  88. package/chunks/{chunk-MI7CMXPU.js → chunk-IJKTMLBE.js} +1 -1
  89. package/chunks/{chunk-IN66KO3N.js → chunk-IK5BW3CS.js} +2 -2
  90. package/chunks/{chunk-5NV2AN56.js → chunk-IOPCFOTF.js} +3 -3
  91. package/chunks/{chunk-O3BUXIPM.js → chunk-IZIVM7LZ.js} +3 -3
  92. package/chunks/{chunk-I6VVOZDK.js → chunk-J2OSJFP3.js} +2 -2
  93. package/chunks/{chunk-AYVIGUUK.js → chunk-JB4JIVTJ.js} +1 -1
  94. package/chunks/{chunk-76WGY6LW.js → chunk-JCQD3INC.js} +3 -3
  95. package/chunks/{chunk-CITGRGCM.js → chunk-JHS74YAB.js} +4 -1
  96. package/chunks/{chunk-GXWY24QS.js → chunk-JSC3H3TD.js} +33 -10
  97. package/chunks/{chunk-NUHCXGAD.js → chunk-JSHHYW6T.js} +4 -4
  98. package/chunks/{chunk-5CW26JIE.js → chunk-JU4EEXC7.js} +2 -2
  99. package/chunks/{chunk-T6OODF2U.js → chunk-JWALNCLT.js} +1 -1
  100. package/chunks/{chunk-DX5FZGHZ.js → chunk-K2NQPH5D.js} +3 -3
  101. package/chunks/{chunk-VLY6XOBY.js → chunk-KEKZFOL6.js} +1 -1
  102. package/chunks/{chunk-RUQBJS34.js → chunk-KUX5D6DK.js} +1200 -339
  103. package/chunks/{chunk-UX3IFLJM.js → chunk-L2M46FP5.js} +149 -22
  104. package/chunks/{chunk-6US7BF3G.js → chunk-L6BZRIUL.js} +2 -2
  105. package/chunks/{chunk-BGWT7VBV.js → chunk-L6YT5H34.js} +4 -4
  106. package/chunks/{chunk-W2WRNJKX.js → chunk-LDP5OD6N.js} +5 -5
  107. package/chunks/{chunk-QB5DD75E.js → chunk-LXIBMVRN.js} +7 -7
  108. package/chunks/{chunk-GNMJNDZE.js → chunk-M6FOJXW3.js} +1 -1
  109. package/chunks/{chunk-OX44MOAN.js → chunk-MIIVI25Q.js} +3 -3
  110. package/chunks/{chunk-K3LPAED5.js → chunk-MQM5PJML.js} +24 -4
  111. package/chunks/{chunk-27ONXAFY.js → chunk-NIFYWDYN.js} +1 -1
  112. package/chunks/{chunk-IJVDHPKD.js → chunk-NU7RKEZR.js} +2 -2
  113. package/chunks/{chunk-MB4OCRQ2.js → chunk-O2UN57NX.js} +2 -2
  114. package/chunks/{chunk-TWUA5EIL.js → chunk-OIP7C4FE.js} +5 -5
  115. package/chunks/{chunk-UCSV2IZW.js → chunk-OIVXBW3W.js} +3 -3
  116. package/chunks/{chunk-TOF4UZHH.js → chunk-P2SU6ZTI.js} +3 -3
  117. package/chunks/{chunk-N4B7VPXK.js → chunk-P5GGM4KS.js} +5 -5
  118. package/chunks/{chunk-ZKAZP2ZG.js → chunk-PDMJ3KGS.js} +2 -2
  119. package/chunks/{chunk-RRKNX553.js → chunk-PDQGMSZK.js} +1 -1
  120. package/chunks/{chunk-3UXJFOB3.js → chunk-PFCQ62V4.js} +5 -5
  121. package/chunks/{chunk-JLGFGPZJ.js → chunk-PKAYJDB3.js} +2 -2
  122. package/chunks/{chunk-GTUKW3I6.js → chunk-PPKZ7JOE.js} +1 -1
  123. package/chunks/{chunk-HOANA6GC.js → chunk-Q26AYA62.js} +4 -4
  124. package/chunks/{chunk-WEGXPP5E.js → chunk-QFCDF5PL.js} +1 -1
  125. package/chunks/{chunk-4PLAO7FS.js → chunk-QP4C6WCE.js} +3 -3
  126. package/chunks/{chunk-3B5DCAQU.js → chunk-R4PMVSR5.js} +27 -25
  127. package/chunks/{chunk-7JJUFI36.js → chunk-RIEFGNTP.js} +579 -3419
  128. package/chunks/{chunk-7XKW4CVK.js → chunk-RJC5EIKY.js} +4 -4
  129. package/chunks/chunk-RKFGE7JH.js +93 -0
  130. package/chunks/{chunk-CPPYZHBN.js → chunk-RU7BK6B3.js} +1 -1
  131. package/chunks/{chunk-GZJUCMH4.js → chunk-RUGNCYNO.js} +11 -633
  132. package/chunks/{chunk-ZLTEQYNC.js → chunk-SFPGAQUL.js} +2 -2
  133. package/chunks/{chunk-K6FURWIX.js → chunk-SJ3ZUWFK.js} +26 -4
  134. package/chunks/{chunk-DEYPMJPD.js → chunk-SMPR7SPO.js} +1 -1
  135. package/chunks/{chunk-7CWEZQ6T.js → chunk-STUJ7IMZ.js} +0 -77
  136. package/chunks/{chunk-O5YGAEQS.js → chunk-T32W2JHI.js} +6 -6
  137. package/chunks/chunk-T3WXYEZ4.js +304 -0
  138. package/chunks/{chunk-D6XO27Z5.js → chunk-TGWAQ5RB.js} +750 -296
  139. package/chunks/{chunk-EC5BONC3.js → chunk-TPI7O7HR.js} +1 -1
  140. package/chunks/{chunk-OI2DR6QB.js → chunk-TRZTNIQ6.js} +2 -2
  141. package/chunks/{chunk-T2CRBIDJ.js → chunk-TTX2JUE6.js} +1 -1
  142. package/chunks/{chunk-2NNTE2ED.js → chunk-UHQFIS7N.js} +15 -0
  143. package/chunks/{chunk-KOJ6MHD5.js → chunk-UTLCH2FK.js} +1 -1
  144. package/chunks/{chunk-7DPKPBOQ.js → chunk-V2NDP3I4.js} +2 -2
  145. package/chunks/{chunk-RQ5ASDFQ.js → chunk-V4QXXQJ2.js} +3 -3
  146. package/chunks/{chunk-BVE5EMIG.js → chunk-V5J4J5TP.js} +2 -2
  147. package/chunks/{chunk-X2UOOG5V.js → chunk-VQUGEVGR.js} +1 -1
  148. package/chunks/{chunk-XJS54K4A.js → chunk-VTHREBQM.js} +2 -2
  149. package/chunks/{chunk-V3GINY6K.js → chunk-VVW4ZNFY.js} +3 -3
  150. package/chunks/{chunk-YT5XN3HV.js → chunk-W5MJJ2V7.js} +1 -1
  151. package/chunks/{chunk-FPH6TXD3.js → chunk-WAOIHTJS.js} +1 -1
  152. package/chunks/{chunk-FN5C6C7G.js → chunk-WKK5BQNP.js} +151 -60
  153. package/chunks/chunk-XDFHY4R3.js +1584 -0
  154. package/chunks/{chunk-L436XFLJ.js → chunk-XDLEZ5HX.js} +1 -1
  155. package/chunks/{chunk-VL4YX3FH.js → chunk-XF63PKEN.js} +1 -1
  156. package/chunks/{chunk-3FSBMAYD.js → chunk-XQFT3QUF.js} +1 -1
  157. package/chunks/{chunk-2MHGD7EE.js → chunk-XRSOI3DL.js} +1 -1
  158. package/chunks/{chunk-FJWICLG7.js → chunk-Y3QL45LS.js} +1 -1
  159. package/chunks/{chunk-RCDXSEJ5.js → chunk-Y6LSMB6J.js} +1 -1
  160. package/chunks/{chunk-2SERYG4T.js → chunk-YTDVNSUQ.js} +1 -1
  161. package/chunks/{chunk-4X5GYZFO.js → chunk-Z7FLBQPR.js} +7 -7
  162. package/chunks/{chunk-3BV7TZNQ.js → chunk-Z7TGYN5F.js} +3 -3
  163. package/chunks/{chunk-4Z3PSHN4.js → chunk-ZFKOCECU.js} +2 -2
  164. package/chunks/chunk-ZGXYO7DY.js +3416 -0
  165. package/chunks/{chunk-E6FGMDFQ.js → chunk-ZU4UDIWX.js} +19 -1
  166. package/chunks/config-utils-BBOCOGZW.js +113 -0
  167. package/chunks/contextCommand-EET67MQ2.js +108 -0
  168. package/chunks/{core-runtime-6TBMEULI.js → core-runtime-677KFX6Q.js} +53 -53
  169. package/chunks/{create-sub-session-RVHSWVAP.js → create-sub-session-23ITIELI.js} +3 -3
  170. package/chunks/{create-sub-session-SAOMTP62.js → create-sub-session-JKZAYZX7.js} +160 -79
  171. package/chunks/{cron-create-IJGVR5R2.js → cron-create-KJ4IY6PP.js} +57 -10
  172. package/chunks/{cron-delete-4N5BI6GL.js → cron-delete-MBLQCAYY.js} +4 -4
  173. package/chunks/{cron-list-2CATIPUX.js → cron-list-DWH2PQ47.js} +4 -4
  174. package/chunks/{daemon-NAYK4XXU.js → daemon-MJQUO7RA.js} +28 -1
  175. package/chunks/{daemon-git-worktree-guard-TYLESM6G.js → daemon-git-worktree-guard-6MVAAZZZ.js} +53 -53
  176. package/chunks/daemon-status-provider-RFKZOK3S.js +119 -0
  177. package/chunks/daemon-trust-policy-DRZPFB4Q.js +114 -0
  178. package/chunks/{daemon-trust-policy-monitor-WWX7I7P6.js → daemon-trust-policy-monitor-B5U6TQX5.js} +59 -59
  179. package/chunks/deferred-core-runtime-BBVIOP24.js +116 -0
  180. package/chunks/{display-image-DR55LL6M.js → display-image-BE7I6ZB6.js} +5 -5
  181. package/chunks/{dist-FVJZSIO4.js → dist-ILDBUWDB.js} +71 -19
  182. package/chunks/{dist-6H6RZ5H6.js → dist-QODVOVWI.js} +58 -35
  183. package/chunks/earlyInputCapture-2JOMMNQ4.js +109 -0
  184. package/chunks/{edit-GBDKI5DZ.js → edit-BSV6YRVW.js} +42 -42
  185. package/chunks/{en-6MDBWMTG.js → en-YLXBXM4Z.js} +2 -1
  186. package/chunks/{enter-worktree-UOZ6ZTP7.js → enter-worktree-MQXFFPKM.js} +7 -7
  187. package/chunks/{enterPlanMode-2KTIPPM3.js → enterPlanMode-PKNF35FE.js} +41 -41
  188. package/chunks/{environment-XJ75LJ6N.js → environment-MOZMPUHR.js} +55 -55
  189. package/chunks/errors-DMPQVYJL.js +115 -0
  190. package/chunks/{exit-worktree-G2QATUCV.js → exit-worktree-L344UY7K.js} +7 -7
  191. package/chunks/{exitPlanMode-AUMYTFIQ.js → exitPlanMode-UE4FGCY4.js} +41 -41
  192. package/chunks/{fast-path-TU7U2ETU.js → fast-path-773PV7PU.js} +5 -5
  193. package/chunks/{gemini-FKMYDP64.js → gemini-IP4FJAP5.js} +101 -100
  194. package/chunks/{geminiContentGenerator-WSHP7CSR.js → geminiContentGenerator-PUNEBWJW.js} +8 -8
  195. package/chunks/{glob-EOM6XK7H.js → glob-CZHOWUEA.js} +41 -41
  196. package/chunks/{goal-tools-CNVXMSZD.js → goal-tools-YZQJXTGH.js} +9 -8
  197. package/chunks/{grep-3NLSS32D.js → grep-5GPICQBU.js} +6 -6
  198. package/chunks/handleAutoUpdate-SGXKTQM6.js +111 -0
  199. package/chunks/{i18n-XX7U2Q3X.js → i18n-B42HKHKH.js} +54 -54
  200. package/chunks/{image-gen-63NN2H5N.js → image-gen-HAYOEQ4O.js} +9 -9
  201. package/chunks/initializer-FB66WYR3.js +115 -0
  202. package/chunks/installationInfo-Y7AULNMX.js +109 -0
  203. package/chunks/{keychain-token-storage-3MGFRYGM.js → keychain-token-storage-37XPR34V.js} +2 -2
  204. package/chunks/list-2HWGSVRA.js +118 -0
  205. package/chunks/{list-agents-EXRSHIDJ.js → list-agents-DI3YFTDT.js} +2 -2
  206. package/chunks/loadedSettingsAdapter-7Y7IEI6T.js +112 -0
  207. package/chunks/{loggingContentGenerator-TUDGCVUG.js → loggingContentGenerator-2GGZNGLG.js} +35 -22
  208. package/chunks/{loop-wakeup-XBPB2BRO.js → loop-wakeup-XJFONSQ7.js} +5 -5
  209. package/chunks/{ls-WFONAND2.js → ls-3VAT2J7A.js} +4 -4
  210. package/chunks/{lsp-DUKPDUXN.js → lsp-5W7IRUBH.js} +2 -2
  211. package/chunks/{managed-npm-update-5K4FWFX2.js → managed-npm-update-5TEV2E3J.js} +54 -54
  212. package/chunks/mcp-QGG5NMJJ.js +112 -0
  213. package/chunks/{monitor-UUHIAGT7.js → monitor-FI7PY36Z.js} +41 -41
  214. package/chunks/nonInteractiveCli-4LO2TL72.js +186 -0
  215. package/chunks/{notebook-edit-GZPB3Q57.js → notebook-edit-TPGMGBST.js} +42 -42
  216. package/chunks/{openaiContentGenerator-RPP6YBS3.js → openaiContentGenerator-SUCYANUZ.js} +24 -24
  217. package/chunks/pidfile-JMF2CLMY.js +113 -0
  218. package/chunks/{processUtils-ENAY2GSA.js → processUtils-IQZBYWSB.js} +2 -2
  219. package/chunks/prompt-terminal-ledger-DCZO6S7C.js +107 -0
  220. package/chunks/{qwenContentGenerator-GLUZVJAU.js → qwenContentGenerator-J4TXFGJT.js} +46 -46
  221. package/chunks/{qwenOAuth2-JIYAWXTW.js → qwenOAuth2-RF33DNZW.js} +8 -8
  222. package/chunks/{read-file-75R5LUWQ.js → read-file-QE2B5FTX.js} +12 -12
  223. package/chunks/{read-mcp-resource-7A7NFSFL.js → read-mcp-resource-XD257PGJ.js} +2 -2
  224. package/chunks/{record-artifact-CPJ4IJSD.js → record-artifact-RZGZBENU.js} +4 -4
  225. package/chunks/{report-findings-VFM5DENC.js → report-findings-Q3SYKKW5.js} +5 -5
  226. package/chunks/{request-shutdown-AXVOFN5C.js → request-shutdown-BCLA3JV2.js} +7 -7
  227. package/chunks/resumeHistoryUtils-CZ4JRDVW.js +120 -0
  228. package/chunks/{ripGrep-FNLXQYBS.js → ripGrep-R6B6HWPX.js} +17 -17
  229. package/chunks/{run-qwen-serve-FJD4VMI2.js → run-qwen-serve-TPHZMSXJ.js} +148 -319
  230. package/chunks/{runtime-INDSJB4K.js → runtime-TTIGSBM4.js} +62 -62
  231. package/chunks/scheduled-tasks-QB4ZVUQS.js +129 -0
  232. package/chunks/{scheduler-Z52TCSUG.js → scheduler-YRUG22M7.js} +55 -55
  233. package/chunks/{sdk-exporters-http-XXSKBD2C.js → sdk-exporters-http-KCJ4ZFG7.js} +2 -2
  234. package/chunks/{sdk-impl-VPNBLV7I.js → sdk-impl-HLSEDAEP.js} +4 -4
  235. package/chunks/{send-message-A2GXDX3B.js → send-message-Y5I6NYAM.js} +7 -7
  236. package/chunks/serve-MXXCDAQN.js +120 -0
  237. package/chunks/{server-PSN5OOSX.js → server-DFUSSSHI.js} +19760 -19444
  238. package/chunks/{session-JPE34X6Q.js → session-3TEHNENZ.js} +100 -99
  239. package/chunks/{settings-IVGC4UYK.js → settings-VOZYKLTT.js} +58 -58
  240. package/chunks/{shell-A5PZGPBR.js → shell-6RTKZVMI.js} +41 -41
  241. package/chunks/{skill-UUXQPDEH.js → skill-FEOKFX26.js} +22 -21
  242. package/chunks/{skill-settings-WVRXLTK4.js → skill-settings-VA4XVYVL.js} +58 -58
  243. package/chunks/spawnChannel-F6WVP723.js +114 -0
  244. package/chunks/{standalone-update-IRFRNGAA.js → standalone-update-RGILUQVK.js} +55 -55
  245. package/chunks/{startInteractiveUI-MC4GLL6G.js → startInteractiveUI-WHJPFOGH.js} +2757 -2223
  246. package/chunks/{syntheticOutput-5AJ444QT.js → syntheticOutput-ML43GEFN.js} +3 -3
  247. package/chunks/{task-create-CDJSOEQD.js → task-create-TMSV7RD5.js} +11 -11
  248. package/chunks/{task-list-BELMPA75.js → task-list-W55RBFRX.js} +5 -5
  249. package/chunks/{task-stop-U3S3KZG2.js → task-stop-CXEH5L2D.js} +2 -2
  250. package/chunks/{task-update-77VCFDDZ.js → task-update-N536I4GQ.js} +11 -11
  251. package/chunks/{team-create-WO5ZBCFW.js → team-create-QYSWCYCL.js} +41 -41
  252. package/chunks/{team-delete-YWFXX77L.js → team-delete-FJRFX33M.js} +5 -5
  253. package/chunks/{team-plan-approval-KAVKRN7U.js → team-plan-approval-P7DAD644.js} +41 -41
  254. package/chunks/{terminal-image-renderer-SMRRNI6Z.js → terminal-image-renderer-SMQE46UJ.js} +55 -55
  255. package/chunks/theme-manager-RFO5WWFF.js +104 -0
  256. package/chunks/{todoWrite-435EO2CS.js → todoWrite-WDJNQEMW.js} +43 -25
  257. package/chunks/{tool-search-FBN6OC6U.js → tool-search-F2EMIAPV.js} +17 -17
  258. package/chunks/total-session-admission-HTVTP4BS.js +116 -0
  259. package/chunks/{trustedFolders-B4LPJBFK.js → trustedFolders-7OCNMUQE.js} +54 -54
  260. package/chunks/{update-relaunch-X5TJVKVG.js → update-relaunch-4GF3OXMB.js} +5 -5
  261. package/chunks/{updateCheck-JCLP5JFT.js → updateCheck-7QBDXZRT.js} +56 -56
  262. package/chunks/useAutoAcceptIndicator-UI4SNL2O.js +122 -0
  263. package/chunks/{validateNonInterActiveAuth-W7HYH5ZN.js → validateNonInterActiveAuth-BPPA563H.js} +96 -95
  264. package/chunks/{version-JG4J76GL.js → version-ANP4TS6O.js} +1 -1
  265. package/chunks/{web-fetch-SPLMEDWF.js → web-fetch-QJADSAH3.js} +16 -16
  266. package/chunks/{web-search-PNW6OEH6.js → web-search-7TTQKEKM.js} +9 -9
  267. package/chunks/{workflow-QHOIIXJO.js → workflow-5XN6XSOT.js} +105 -60
  268. package/chunks/workspace-providers-status-PDFZWL5Q.js +116 -0
  269. package/chunks/{workspace-registration-store-H375IYR2.js → workspace-registration-store-XKVW2YVH.js} +1 -1
  270. package/chunks/{workspace-registry-XTLCD7Z2.js → workspace-registry-23R7XRB5.js} +61 -59
  271. package/chunks/workspace-service-MUYO2QIC.js +131 -0
  272. package/chunks/workspace-skills-status-IKECTOOQ.js +115 -0
  273. package/chunks/{workspace-trust-reconciler-6SC6RKQE.js → workspace-trust-reconciler-KLGOB53D.js} +67 -65
  274. package/chunks/write-file-GGRBB5TZ.js +90 -0
  275. package/chunks/{zh-TW-MV4FWFB6.js → zh-TW-RPTMRTHG.js} +2 -1
  276. package/chunks/{zh-X3WGU6SI.js → zh-UNY63FR3.js} +2 -1
  277. package/chunks/{zoom-image-WGNPZ572.js → zoom-image-6ASG6J4C.js} +12 -12
  278. package/cli.js +14 -14
  279. package/locales/en.js +2 -0
  280. package/locales/zh-TW.js +2 -0
  281. package/locales/zh.js +2 -0
  282. package/package.json +3 -3
  283. package/web-shell/assets/{abnfDiagram-VCTEODGH-yq7z7Anb.js → abnfDiagram-VCTEODGH-uS-vtfs3.js} +1 -1
  284. package/web-shell/assets/{arc-CbJO0xnT.js → arc-BSTnk5pu.js} +1 -1
  285. package/web-shell/assets/{architectureDiagram-5GKGNRK7-CRh89421.js → architectureDiagram-5GKGNRK7-DCMyiqzy.js} +1 -1
  286. package/web-shell/assets/{blockDiagram-NRAW4CY4-C75KAhKv.js → blockDiagram-NRAW4CY4-C7_gt0r1.js} +1 -1
  287. package/web-shell/assets/{c4Diagram-UCG6FXSJ-BzlMveFB.js → c4Diagram-UCG6FXSJ-BeQg2L8B.js} +1 -1
  288. package/web-shell/assets/channel-CENAhErJ.js +1 -0
  289. package/web-shell/assets/{chunk-2Q5K7J3B-DA8QDX3a.js → chunk-2Q5K7J3B-DnV9bKBe.js} +1 -1
  290. package/web-shell/assets/{chunk-5VM5RSS4-Bgu7gQ7Y.js → chunk-5VM5RSS4-rT1GAcT7.js} +1 -1
  291. package/web-shell/assets/{chunk-F27PBJKO-BOew7pIK.js → chunk-F27PBJKO-BcgSxqGA.js} +1 -1
  292. package/web-shell/assets/{chunk-G27WJ6UU-DHx1I-hO.js → chunk-G27WJ6UU-Bw1ZhyZq.js} +1 -1
  293. package/web-shell/assets/{chunk-JWPE2WC7-SarFW0WU.js → chunk-JWPE2WC7-D4iDw-96.js} +1 -1
  294. package/web-shell/assets/{chunk-LCL6LL3I-BLzP083Z.js → chunk-LCL6LL3I-D3MB3GTZ.js} +1 -1
  295. package/web-shell/assets/{chunk-POPQ4Y6H-Bmkv_iKm.js → chunk-POPQ4Y6H-Cep2ndrS.js} +1 -1
  296. package/web-shell/assets/{chunk-SVP7TREG-MPx9r1N2.js → chunk-SVP7TREG-BuahMHJc.js} +1 -1
  297. package/web-shell/assets/{chunk-XXDRQBXY-Ck-09rKG.js → chunk-XXDRQBXY-BdujIvJY.js} +1 -1
  298. package/web-shell/assets/classDiagram-DTDB5LWJ-CM6FArGH.js +1 -0
  299. package/web-shell/assets/classDiagram-v2-JRS7N3AN-CM6FArGH.js +1 -0
  300. package/web-shell/assets/{cose-bilkent-JH36ORCC-DWm6lfOG.js → cose-bilkent-JH36ORCC-CGLLUbF8.js} +1 -1
  301. package/web-shell/assets/{cynefin-OW5HDTMX-DcBUyr5R.js → cynefin-OW5HDTMX-D6kDsRSh.js} +1 -1
  302. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-Df8qmd_p.js → cynefinDiagram-5FMLGOSQ-CCy78qZx.js} +1 -1
  303. package/web-shell/assets/{dagre-3AP2YEHR-DDmGspD7.js → dagre-3AP2YEHR-D5gJuJsf.js} +1 -1
  304. package/web-shell/assets/{diagram-S7CK7UJ4-BK_qFvbi.js → diagram-S7CK7UJ4-ZwEZ5W__.js} +1 -1
  305. package/web-shell/assets/{diagram-UQ7AKVKN-Uw3AP_bi.js → diagram-UQ7AKVKN-B036APjv.js} +1 -1
  306. package/web-shell/assets/{diagram-VSXAHHWV-CJOQKxY7.js → diagram-VSXAHHWV-BfDJ57Fq.js} +1 -1
  307. package/web-shell/assets/{diagram-VX7I27RA-DhdvZna5.js → diagram-VX7I27RA-Wha0p5rT.js} +1 -1
  308. package/web-shell/assets/{diagram-Z3DM3KII-edQU0nlP.js → diagram-Z3DM3KII-L20bz2K1.js} +1 -1
  309. package/web-shell/assets/{ebnfDiagram-PWID7BFC-4kugBEsO.js → ebnfDiagram-PWID7BFC-D1ZM0Cp7.js} +1 -1
  310. package/web-shell/assets/{erDiagram-SSCWMZ5O-BMkFivWO.js → erDiagram-SSCWMZ5O-CMtA19v8.js} +1 -1
  311. package/web-shell/assets/{flowDiagram-A5DVABFB-BM1ea8g-.js → flowDiagram-A5DVABFB-D96m326S.js} +1 -1
  312. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-CXj_cKRf.js → ganttDiagram-EL5Y4UJY-BuHiYG2o.js} +1 -1
  313. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-D0nEqwqu.js → gitGraphDiagram-WWUBYQGX-Ck3NmkSw.js} +1 -1
  314. package/web-shell/assets/index-8hXIpvo4.js +1865 -0
  315. package/web-shell/assets/{index-B6JN54Pd.js → index-CBGz4Qjl.js} +1 -1
  316. package/web-shell/assets/{index-C-XlQn24.css → index-DclEv91i.css} +1 -1
  317. package/web-shell/assets/{infoDiagram-RXCK75RN-DF7aGGbQ.js → infoDiagram-RXCK75RN-B6DAOyXe.js} +1 -1
  318. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-CZYNX1lL.js → ishikawaDiagram-5VMMS53U-Bpg-joFo.js} +1 -1
  319. package/web-shell/assets/{journeyDiagram-EYS64GPL-CvrqMUz1.js → journeyDiagram-EYS64GPL-BclrHzGa.js} +1 -1
  320. package/web-shell/assets/{kanban-definition-3QL26DDD-BZNJQZBj.js → kanban-definition-3QL26DDD-5gJzNTYG.js} +1 -1
  321. package/web-shell/assets/{layout-Bf83x7D6.js → layout-CEz_1L8z.js} +1 -1
  322. package/web-shell/assets/{linear-Bkc3ES2f.js → linear-CBjTq9Hc.js} +1 -1
  323. package/web-shell/assets/{mermaid.core-C6xuovwz.js → mermaid.core-Dzhbxx_I.js} +6 -6
  324. package/web-shell/assets/{mindmap-definition-FBJOCRG2-DzH6gVRg.js → mindmap-definition-FBJOCRG2-DQdVqlBF.js} +1 -1
  325. package/web-shell/assets/{pegDiagram-XKGWAZYB-DCvLh2fa.js → pegDiagram-XKGWAZYB-D1JZlYXL.js} +1 -1
  326. package/web-shell/assets/{pieDiagram-E7YTZNPT-BtjVlx_6.js → pieDiagram-E7YTZNPT-BmkpYL0w.js} +1 -1
  327. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-IbroqxFe.js → quadrantDiagram-AXDQQJYC-DRvD6co5.js} +1 -1
  328. package/web-shell/assets/{railroadDiagram-O6MQD6OU-BvMykiWW.js → railroadDiagram-O6MQD6OU-CEdjDuoo.js} +1 -1
  329. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-D-HHMyrh.js → requirementDiagram-EFPCY7ZU-BCHG-ie8.js} +1 -1
  330. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-C0XXhB6d.js → sankeyDiagram-P5KCCOFB-C9cZMnye.js} +1 -1
  331. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-DseAXj5d.js → sequenceDiagram-WJ2MYXX4-DYHRV4zL.js} +1 -1
  332. package/web-shell/assets/{sizeCapture-X5ZJPWSS-Cek2EweK.js → sizeCapture-X5ZJPWSS-DlK21aye.js} +1 -1
  333. package/web-shell/assets/{stateDiagram-HBIQ2CUA-yLv8wafW.js → stateDiagram-HBIQ2CUA-BrmZssvk.js} +1 -1
  334. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-B2Q7XDaE.js +1 -0
  335. package/web-shell/assets/{swimlanes-XN3QIQJK-Cwz-opvE.js → swimlanes-XN3QIQJK-D9xfcayR.js} +1 -1
  336. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-DpZPOSbX.js +8 -0
  337. package/web-shell/assets/{timeline-definition-24CTP7MA-BJuFD7OG.js → timeline-definition-24CTP7MA-D4gdDL_d.js} +1 -1
  338. package/web-shell/assets/{vennDiagram-4TSXK5OY-CNAavdoV.js → vennDiagram-4TSXK5OY-DdhIExjI.js} +1 -1
  339. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-DaIjAidq.js → wardleyDiagram-VM6X3IG4-C9RS_Zof.js} +1 -1
  340. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-DkcQXjTy.js → xychartDiagram-S5SC5T6Z-orRgmxWk.js} +1 -1
  341. package/web-shell/index.html +2 -2
  342. package/chunks/MaxSizedBox-XYQOMOBE.js +0 -112
  343. package/chunks/agent-headless-3ZC4LX3E.js +0 -87
  344. package/chunks/bridge-LFFLHLU5.js +0 -119
  345. package/chunks/channel-settings-store-CAL2HWAH.js +0 -117
  346. package/chunks/chunk-JS73NNWF.js +0 -30
  347. package/chunks/chunk-VGHZT6JR.js +0 -51
  348. package/chunks/config-utils-YMJNA25D.js +0 -113
  349. package/chunks/contextCommand-WMPSNKPG.js +0 -108
  350. package/chunks/daemon-status-provider-YBQAZD3G.js +0 -118
  351. package/chunks/daemon-trust-policy-O75ZSIJN.js +0 -114
  352. package/chunks/deferred-core-runtime-MGCCR6LA.js +0 -116
  353. package/chunks/earlyInputCapture-2EJKJET3.js +0 -109
  354. package/chunks/errors-XEI3SJRV.js +0 -115
  355. package/chunks/handleAutoUpdate-S4CLP36D.js +0 -111
  356. package/chunks/initializer-D3CA3272.js +0 -115
  357. package/chunks/installationInfo-HVDQOSIE.js +0 -109
  358. package/chunks/list-XUDSTGT3.js +0 -118
  359. package/chunks/loadedSettingsAdapter-ZOJ4QEID.js +0 -112
  360. package/chunks/mcp-QJ6AUYE5.js +0 -112
  361. package/chunks/nonInteractiveCli-PAWO75YO.js +0 -185
  362. package/chunks/pidfile-RF3WUFKR.js +0 -113
  363. package/chunks/prompt-terminal-ledger-4CCXZ2LF.js +0 -107
  364. package/chunks/resumeHistoryUtils-GFPJD2XB.js +0 -120
  365. package/chunks/serve-GVD2WXVL.js +0 -120
  366. package/chunks/spawnChannel-KTURLD4B.js +0 -113
  367. package/chunks/theme-manager-A7CPN7F4.js +0 -104
  368. package/chunks/total-session-admission-B7U6UWKQ.js +0 -114
  369. package/chunks/useAutoAcceptIndicator-VBT3NKDM.js +0 -122
  370. package/chunks/workspace-providers-status-653DTR35.js +0 -116
  371. package/chunks/workspace-service-KVJWACCS.js +0 -131
  372. package/chunks/workspace-skills-status-TRJ2VWGU.js +0 -115
  373. package/chunks/write-file-EAZSJZKR.js +0 -90
  374. package/web-shell/assets/channel-B3sGR79J.js +0 -1
  375. package/web-shell/assets/classDiagram-DTDB5LWJ-sTGo0K3v.js +0 -1
  376. package/web-shell/assets/classDiagram-v2-JRS7N3AN-sTGo0K3v.js +0 -1
  377. package/web-shell/assets/index-DLjXM0dn.js +0 -1860
  378. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-DeThXnol.js +0 -1
  379. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-GW0R1ZSv.js +0 -8
@@ -2,22 +2,22 @@
2
2
  "use strict";
3
3
  import {
4
4
  isInForkExecution
5
- } from "./chunk-JUIJ3FXC.js";
6
- import "./chunk-E6FGMDFQ.js";
5
+ } from "./chunk-CAJTKR6W.js";
6
+ import "./chunk-ZU4UDIWX.js";
7
7
  import "./chunk-AQ37AY7B.js";
8
- import "./chunk-RRKNX553.js";
8
+ import "./chunk-PDQGMSZK.js";
9
9
  import {
10
10
  BaseDeclarativeTool,
11
11
  BaseToolInvocation,
12
12
  MAX_TERMINAL_IMAGE_BYTES,
13
13
  ToolDisplayNames,
14
14
  ToolNames
15
- } from "./chunk-KOJ6MHD5.js";
15
+ } from "./chunk-UTLCH2FK.js";
16
16
  import {
17
17
  makeRelative,
18
18
  shortenPath,
19
19
  unescapePath
20
- } from "./chunk-2NNTE2ED.js";
20
+ } from "./chunk-UHQFIS7N.js";
21
21
  import "./chunk-TBWQLLFO.js";
22
22
  import {
23
23
  init_esbuild_shims
@@ -31,6 +31,7 @@ init_esbuild_shims();
31
31
 
32
32
  // packages/channels/qqbot/dist/QQChannel.js
33
33
  init_esbuild_shims();
34
+ import { AsyncLocalStorage } from "node:async_hooks";
34
35
  import { readFileSync as readFileSync2, writeFileSync as writeFileSync2, existsSync as existsSync2, mkdirSync as mkdirSync2, renameSync, unlinkSync } from "node:fs";
35
36
  import { join as join2 } from "node:path";
36
37
 
@@ -403,6 +404,8 @@ var QQChannel = class _QQChannel extends ChannelBase {
403
404
  chatTypeMap = /* @__PURE__ */ new Map();
404
405
  /** Track the latest user messageId per chatId for proper reply (msg_id). */
405
406
  replyMsgId = /* @__PURE__ */ new Map();
407
+ replyContextByMessageId = /* @__PURE__ */ new Map();
408
+ inboundReplyContext = new AsyncLocalStorage();
406
409
  /** msg_seq counter per user messageId, for multi-block streaming. */
407
410
  msgSeqMap = /* @__PURE__ */ new Map();
408
411
  /** Periodic cleanup timer for expired replyMsgId entries. */
@@ -563,7 +566,7 @@ var QQChannel = class _QQChannel extends ChannelBase {
563
566
  if (toFlush) {
564
567
  const target = this.router.getTarget(sessionId);
565
568
  if (target) {
566
- this.sendMessage(target.chatId, toFlush).then(() => {
569
+ this.sendMessageWithReplyContext(target.chatId, toFlush).then(() => {
567
570
  if (!entry.buffer && this.cronBuffer.get(sessionId) === entry)
568
571
  this.cronBuffer.delete(sessionId);
569
572
  }).catch((err) => {
@@ -593,7 +596,7 @@ var QQChannel = class _QQChannel extends ChannelBase {
593
596
  this.cronBuffer.delete(sessionId);
594
597
  return;
595
598
  }
596
- this.sendMessage(retryTarget.chatId, toFlush).then(() => {
599
+ this.sendMessageWithReplyContext(retryTarget.chatId, toFlush).then(() => {
597
600
  entry.pendingRetry = "";
598
601
  if (!entry.buffer && this.cronBuffer.get(sessionId) === entry)
599
602
  this.cronBuffer.delete(sessionId);
@@ -627,7 +630,7 @@ var QQChannel = class _QQChannel extends ChannelBase {
627
630
  this.cronBuffer.delete(sessionId);
628
631
  return;
629
632
  }
630
- this.sendMessage(retryTarget2.chatId, toFlush).then(() => {
633
+ this.sendMessageWithReplyContext(retryTarget2.chatId, toFlush).then(() => {
631
634
  entry.pendingRetry = "";
632
635
  if (!entry.buffer && this.cronBuffer.get(sessionId) === entry)
633
636
  this.cronBuffer.delete(sessionId);
@@ -758,7 +761,26 @@ var QQChannel = class _QQChannel extends ChannelBase {
758
761
  }
759
762
  }
760
763
  }
764
+ async handleInbound(envelope) {
765
+ const context = envelope.messageId ? this.replyContextByMessageId.get(envelope.messageId) : void 0;
766
+ if (!context || context.chatId !== envelope.chatId) {
767
+ await super.handleInbound(envelope);
768
+ return;
769
+ }
770
+ await this.inboundReplyContext.run(context, () => super.handleInbound(envelope));
771
+ }
761
772
  async sendMessage(chatId, text) {
773
+ const inboundContext = this.inboundReplyContext.getStore();
774
+ const latest = this.replyMsgId.get(chatId);
775
+ const replyContext = inboundContext?.chatId === chatId ? inboundContext : latest ? { chatId, ...latest } : void 0;
776
+ await this.sendMessageWithReplyContext(chatId, text, replyContext);
777
+ }
778
+ async sendResponseMessage(chatId, text, sessionId) {
779
+ const messageId = this.getResponseMessageId(sessionId);
780
+ const replyContext = messageId ? this.replyContextByMessageId.get(messageId) : void 0;
781
+ await this.sendMessageWithReplyContext(chatId, text, replyContext);
782
+ }
783
+ async sendMessageWithReplyContext(chatId, text, replyContext) {
762
784
  if (text.trim() === "<noreply>") {
763
785
  process.stderr.write(`[QQ:${this.name}] <noreply> skipped for ${sanitizeLogText(chatId, 64)}
764
786
  `);
@@ -767,13 +789,12 @@ var QQChannel = class _QQChannel extends ChannelBase {
767
789
  const route = await this.resolveRoute(chatId);
768
790
  if (!route)
769
791
  return;
770
- const entry = this.replyMsgId.get(chatId);
792
+ const entry = replyContext?.chatId === chatId ? replyContext : void 0;
771
793
  const msgId = entry && Date.now() - entry.timestamp < _QQChannel.REPLY_MSG_ID_TTL_MS ? entry.msgId : void 0;
772
794
  if (entry && !msgId) {
773
795
  process.stderr.write(`[QQ:${this.name}] replyMsgId entry expired for ${sanitizeLogText(chatId, 64)}, reply context expired, sending without msg_id
774
796
  `);
775
- this.msgSeqMap.delete(entry.msgId);
776
- this.replyMsgId.delete(chatId);
797
+ this.deleteReplyContext(entry);
777
798
  this.saveQQState();
778
799
  }
779
800
  if (!msgId && this.groupActiveMsgEnabled.get(chatId) === false) {
@@ -991,6 +1012,7 @@ var QQChannel = class _QQChannel extends ChannelBase {
991
1012
  this.detachCronHandler();
992
1013
  this.chatTypeMap.clear();
993
1014
  this.replyMsgId.clear();
1015
+ this.replyContextByMessageId.clear();
994
1016
  this.msgSeqMap.clear();
995
1017
  this.botOpenIdByGroup.clear();
996
1018
  this.warnedSenderOpenIds.clear();
@@ -1026,12 +1048,20 @@ var QQChannel = class _QQChannel extends ChannelBase {
1026
1048
  this.activePromptSessions.delete(sessionId);
1027
1049
  }
1028
1050
  // ── Streaming (idle-flush with per-session buffers) ────────────
1029
- onResponseChunk(chatId, chunk, sessionId) {
1051
+ onResponseChunk(chatId, chunk, sessionId, segment) {
1030
1052
  if (this.blockStreaming)
1031
1053
  return;
1032
1054
  let state = this.streamState.get(sessionId);
1033
1055
  if (!state) {
1034
- state = { chatId, buffer: chunk, timer: null, retryCount: 0 };
1056
+ const messageId = segment?.messageId ?? this.getResponseMessageId(sessionId);
1057
+ const replyContext = messageId ? this.replyContextByMessageId.get(messageId) : void 0;
1058
+ state = {
1059
+ chatId,
1060
+ buffer: chunk,
1061
+ timer: null,
1062
+ retryCount: 0,
1063
+ ...replyContext ? { replyContext } : {}
1064
+ };
1035
1065
  this.streamState.set(sessionId, state);
1036
1066
  } else {
1037
1067
  state.buffer += chunk;
@@ -1091,7 +1121,7 @@ var QQChannel = class _QQChannel extends ChannelBase {
1091
1121
  */
1092
1122
  flushAndTrack(sessionId, buffer, state, logLabel) {
1093
1123
  this.flushingSessions.add(sessionId);
1094
- this.sendMessage(state.chatId, buffer).then(() => {
1124
+ this.sendMessageWithReplyContext(state.chatId, buffer, state.replyContext).then(() => {
1095
1125
  const current = this.streamState.get(sessionId);
1096
1126
  if (current !== state)
1097
1127
  return;
@@ -1362,7 +1392,7 @@ var QQChannel = class _QQChannel extends ChannelBase {
1362
1392
  if (v === null || typeof v !== "object")
1363
1393
  return false;
1364
1394
  const o = v;
1365
- return typeof o["msgId"] === "string" && o["msgId"].length <= 128 && typeof o["timestamp"] === "number" && Number.isFinite(o["timestamp"]) && o["timestamp"] <= Date.now() + _QQChannel.REPLY_MSG_ID_TTL_MS;
1395
+ return typeof o["msgId"] === "string" && o["msgId"].length <= 128 && typeof o["timestamp"] === "number" && Number.isFinite(o["timestamp"]) && o["timestamp"] >= Date.now() - _QQChannel.REPLY_MSG_ID_TTL_MS && o["timestamp"] <= Date.now() + _QQChannel.REPLY_MSG_ID_TTL_MS;
1366
1396
  }).map(([k, v]) => [
1367
1397
  k,
1368
1398
  typeof v === "string" ? { msgId: v, timestamp: Date.now() } : v
@@ -1372,6 +1402,10 @@ var QQChannel = class _QQChannel extends ChannelBase {
1372
1402
  `);
1373
1403
  }
1374
1404
  }
1405
+ this.replyContextByMessageId = new Map(Array.from(this.replyMsgId, ([chatId, entry]) => [
1406
+ entry.msgId,
1407
+ { chatId, ...entry }
1408
+ ]));
1375
1409
  if (raw.msgSeqMap) {
1376
1410
  const arr = raw.msgSeqMap;
1377
1411
  const totalRaw = Array.isArray(arr) ? arr.length : 0;
@@ -1381,6 +1415,11 @@ var QQChannel = class _QQChannel extends ChannelBase {
1381
1415
  `);
1382
1416
  }
1383
1417
  }
1418
+ for (const msgId of this.msgSeqMap.keys()) {
1419
+ if (!this.replyContextByMessageId.has(msgId)) {
1420
+ this.msgSeqMap.delete(msgId);
1421
+ }
1422
+ }
1384
1423
  if (raw.groupActiveMsgEnabled) {
1385
1424
  const arr = raw.groupActiveMsgEnabled;
1386
1425
  const totalRaw = Array.isArray(arr) ? arr.length : 0;
@@ -1480,18 +1519,19 @@ var QQChannel = class _QQChannel extends ChannelBase {
1480
1519
  }
1481
1520
  }
1482
1521
  // ── ReplyMsgId helpers ────────────────────────────────────────
1483
- /**
1484
- * Set replyMsgId for a chat, cleaning up the previous entry's msgSeqMap
1485
- * to prevent orphaned entries accumulating over time.
1486
- */
1487
1522
  setReplyMsgId(chatId, msgId) {
1488
- const oldEntry = this.replyMsgId.get(chatId);
1489
- if (oldEntry && oldEntry.msgId !== msgId) {
1490
- this.msgSeqMap.delete(oldEntry.msgId);
1491
- }
1492
- this.replyMsgId.set(chatId, { msgId, timestamp: Date.now() });
1523
+ const timestamp = Date.now();
1524
+ this.replyMsgId.set(chatId, { msgId, timestamp });
1525
+ this.replyContextByMessageId.set(msgId, { chatId, msgId, timestamp });
1493
1526
  this.saveQQState();
1494
1527
  }
1528
+ deleteReplyContext(context) {
1529
+ this.replyContextByMessageId.delete(context.msgId);
1530
+ this.msgSeqMap.delete(context.msgId);
1531
+ if (this.replyMsgId.get(context.chatId)?.msgId === context.msgId) {
1532
+ this.replyMsgId.delete(context.chatId);
1533
+ }
1534
+ }
1495
1535
  /**
1496
1536
  * Start periodic cleanup of expired replyMsgId entries.
1497
1537
  * Evicts entries older than 5 minutes every 60 seconds, and cascades
@@ -1502,6 +1542,12 @@ var QQChannel = class _QQChannel extends ChannelBase {
1502
1542
  this.replyMsgIdCleanupTimer = setInterval(() => {
1503
1543
  const cutoff = Date.now() - _QQChannel.REPLY_MSG_ID_TTL_MS;
1504
1544
  let dirty = false;
1545
+ for (const context of this.replyContextByMessageId.values()) {
1546
+ if (context.timestamp < cutoff) {
1547
+ this.deleteReplyContext(context);
1548
+ dirty = true;
1549
+ }
1550
+ }
1505
1551
  for (const [chatId, entry] of this.replyMsgId) {
1506
1552
  if (entry.timestamp < cutoff) {
1507
1553
  this.msgSeqMap.delete(entry.msgId);
@@ -2288,6 +2334,12 @@ var QQChannel = class _QQChannel extends ChannelBase {
2288
2334
  if (replyEntry)
2289
2335
  this.msgSeqMap.delete(replyEntry.msgId);
2290
2336
  this.replyMsgId.delete(groupId);
2337
+ for (const context of this.replyContextByMessageId.values()) {
2338
+ if (context.chatId === groupId) {
2339
+ this.replyContextByMessageId.delete(context.msgId);
2340
+ this.msgSeqMap.delete(context.msgId);
2341
+ }
2342
+ }
2291
2343
  this.botOpenIdByGroup.delete(groupId);
2292
2344
  this._lastKeywordNoMatchLog.delete(groupId);
2293
2345
  let cleanedCron = 0;
@@ -422,10 +422,9 @@ var WeixinChannel = class extends ChannelBase {
422
422
  __name(this, "WeixinChannel");
423
423
  }
424
424
  abortController = null;
425
- activeTypingChats = /* @__PURE__ */ new Set();
425
+ activeTypingSessions = /* @__PURE__ */ new Map();
426
426
  typingKeepaliveIntervals = /* @__PURE__ */ new Map();
427
427
  typingKeepaliveInFlight = /* @__PURE__ */ new Set();
428
- typingKeepaliveArmedAt = /* @__PURE__ */ new Map();
429
428
  /**
430
429
  * Per-chat generation token; stale setTyping continuations bail out.
431
430
  * Entries are reclaimed only by `disconnect()` — deleting them in
@@ -505,19 +504,19 @@ var WeixinChannel = class extends ChannelBase {
505
504
  process.stderr.write(`[Weixin:${this.name}] Connected to WeChat (${this.baseUrl})
506
505
  `);
507
506
  }
508
- onPromptStart(chatId) {
509
- this.startTyping(chatId);
507
+ onPromptStart(chatId, sessionId) {
508
+ this.startTyping(chatId, sessionId);
510
509
  }
511
- onPromptEnd(chatId) {
512
- this.stopTyping(chatId);
510
+ onPromptEnd(chatId, sessionId) {
511
+ this.stopTyping(chatId, sessionId);
513
512
  }
514
513
  onTaskLifecycle(event) {
515
514
  if (event.type === "started") {
516
- this.startTyping(event.chatId);
515
+ this.startTyping(event.chatId, event.sessionId);
517
516
  return;
518
517
  }
519
518
  if (isTerminalTaskLifecycleType(event.type)) {
520
- this.stopTyping(event.chatId);
519
+ this.stopTyping(event.chatId, event.sessionId);
521
520
  }
522
521
  }
523
522
  async handleInboundWithMedia(envelope, image, file) {
@@ -623,14 +622,18 @@ var WeixinChannel = class extends ChannelBase {
623
622
  }
624
623
  this.typingKeepaliveIntervals.clear();
625
624
  this.typingKeepaliveInFlight.clear();
626
- this.typingKeepaliveArmedAt.clear();
627
625
  this.typingGenerations.clear();
628
- this.activeTypingChats.clear();
626
+ this.activeTypingSessions.clear();
629
627
  }
630
- startTyping(chatId) {
631
- if (this.activeTypingChats.has(chatId))
628
+ startTyping(chatId, sessionId) {
629
+ const sessions = this.activeTypingSessions.get(chatId) ?? /* @__PURE__ */ new Map();
630
+ if (sessions.has(sessionId))
631
+ return;
632
+ const firstSession = sessions.size === 0;
633
+ sessions.set(sessionId, Date.now());
634
+ this.activeTypingSessions.set(chatId, sessions);
635
+ if (!firstSession)
632
636
  return;
633
- this.activeTypingChats.add(chatId);
634
637
  const controller = this.abortController;
635
638
  const generation = (this.typingGenerations.get(chatId) ?? 0) + 1;
636
639
  this.typingGenerations.set(chatId, generation);
@@ -639,51 +642,64 @@ var WeixinChannel = class extends ChannelBase {
639
642
  return;
640
643
  }
641
644
  if (generation !== this.typingGenerations.get(chatId)) {
642
- if (started && !this.activeTypingChats.has(chatId)) {
645
+ if (started && !this.activeTypingSessions.has(chatId)) {
643
646
  void this.setTyping(chatId, false);
644
647
  }
645
648
  return;
646
649
  }
647
- if (!started) {
648
- this.activeTypingChats.delete(chatId);
649
- return;
650
- }
651
- if (!this.activeTypingChats.has(chatId)) {
650
+ if (started && !this.activeTypingSessions.has(chatId)) {
652
651
  void this.setTyping(chatId, false);
653
652
  return;
654
653
  }
655
- this.startTypingKeepalive(chatId);
654
+ if (this.activeTypingSessions.has(chatId)) {
655
+ this.startTypingKeepalive(chatId);
656
+ }
656
657
  });
657
658
  }
658
- stopTyping(chatId) {
659
+ stopTyping(chatId, sessionId) {
660
+ const sessions = this.activeTypingSessions.get(chatId);
661
+ if (!sessions?.delete(sessionId))
662
+ return;
663
+ if (sessions.size > 0)
664
+ return;
665
+ this.activeTypingSessions.delete(chatId);
666
+ this.stopTypingChat(chatId);
667
+ }
668
+ stopTypingChat(chatId) {
659
669
  this.typingGenerations.set(chatId, (this.typingGenerations.get(chatId) ?? 0) + 1);
660
670
  this.stopTypingKeepalive(chatId);
661
- if (!this.activeTypingChats.delete(chatId))
662
- return;
663
671
  void this.setTyping(chatId, false);
664
672
  }
665
673
  /**
666
674
  * Refreshes TYPING periodically while the chat stays in
667
- * `activeTypingChats`, so the indicator survives long turns. The interval
668
- * is only armed after the initial TYPING is confirmed, and each tick
669
- * self-reaps once the chat is no longer typing or the backstop
670
- * (`TYPING_KEEPALIVE_MAX_MS`) elapses, so a missed terminal event cannot
671
- * keep it alive indefinitely.
675
+ * active sessions, so the indicator survives long turns. Each tick expires
676
+ * only sessions that exceeded the backstop; newer sessions in the same chat
677
+ * keep ownership.
672
678
  */
673
679
  startTypingKeepalive(chatId) {
674
680
  if (this.typingKeepaliveIntervals.has(chatId))
675
681
  return;
676
- this.typingKeepaliveArmedAt.set(chatId, Date.now());
677
682
  this.typingKeepaliveIntervals.set(chatId, setInterval(() => {
678
- if (!this.activeTypingChats.has(chatId)) {
683
+ const sessions = this.activeTypingSessions.get(chatId);
684
+ if (!sessions) {
679
685
  this.stopTypingKeepalive(chatId);
680
686
  return;
681
687
  }
682
- const armedAt = this.typingKeepaliveArmedAt.get(chatId);
683
- if (armedAt !== void 0 && Date.now() - armedAt >= TYPING_KEEPALIVE_MAX_MS) {
684
- process.stderr.write(`[Weixin:${this.name}] Typing keepalive backstop (${TYPING_KEEPALIVE_MAX_MS}ms) elapsed for chat ${chatId} without a terminal event; clearing the indicator
688
+ const now = Date.now();
689
+ let expiredSessions = 0;
690
+ for (const [sessionId, startedAt] of sessions) {
691
+ if (now - startedAt >= TYPING_KEEPALIVE_MAX_MS) {
692
+ sessions.delete(sessionId);
693
+ expiredSessions++;
694
+ }
695
+ }
696
+ if (expiredSessions > 0) {
697
+ process.stderr.write(`[Weixin:${this.name}] Typing keepalive backstop (${TYPING_KEEPALIVE_MAX_MS}ms) elapsed for ${expiredSessions} session(s) in chat ${chatId}
685
698
  `);
686
- this.stopTyping(chatId);
699
+ }
700
+ if (sessions.size === 0) {
701
+ this.activeTypingSessions.delete(chatId);
702
+ this.stopTypingChat(chatId);
687
703
  return;
688
704
  }
689
705
  if (this.typingKeepaliveInFlight.has(chatId))
@@ -700,9 +716,16 @@ var WeixinChannel = class extends ChannelBase {
700
716
  return;
701
717
  clearInterval(interval);
702
718
  this.typingKeepaliveIntervals.delete(chatId);
703
- this.typingKeepaliveArmedAt.delete(chatId);
704
719
  this.typingKeepaliveInFlight.delete(chatId);
705
720
  }
721
+ onSessionDied(sessionId) {
722
+ for (const [chatId, sessions] of this.activeTypingSessions) {
723
+ if (sessions.has(sessionId)) {
724
+ this.stopTyping(chatId, sessionId);
725
+ }
726
+ }
727
+ super.onSessionDied(sessionId);
728
+ }
706
729
  async setTyping(userId, typing) {
707
730
  try {
708
731
  let ticket = typingTickets.get(userId);
@@ -0,0 +1,109 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ getAndClearCapturedInput,
5
+ hasCapturedInput,
6
+ resetCaptureState,
7
+ startEarlyInputCapture,
8
+ stopAndGetCapturedInput,
9
+ stopEarlyInputCapture
10
+ } from "./chunk-M6FOJXW3.js";
11
+ import "./chunk-KUX5D6DK.js";
12
+ import "./chunk-3DXFGHAJ.js";
13
+ import "./chunk-CQH5KTKC.js";
14
+ import "./chunk-LJZSMWOH.js";
15
+ import "./chunk-6LFTG244.js";
16
+ import "./chunk-PKAYJDB3.js";
17
+ import "./chunk-6IUNAPLR.js";
18
+ import "./chunk-OIVXBW3W.js";
19
+ import "./chunk-4CDSK5AZ.js";
20
+ import "./chunk-XQFT3QUF.js";
21
+ import "./chunk-VTHREBQM.js";
22
+ import "./chunk-ZPJWUGCS.js";
23
+ import "./chunk-H2WDGQ6D.js";
24
+ import "./chunk-MIIVI25Q.js";
25
+ import "./chunk-TGWAQ5RB.js";
26
+ import "./chunk-GOFAQQZA.js";
27
+ import "./chunk-5M6IDOMF.js";
28
+ import "./chunk-TWPJO254.js";
29
+ import "./chunk-CQ35AJ4Z.js";
30
+ import "./chunk-EKSCLBBF.js";
31
+ import "./chunk-P2SU6ZTI.js";
32
+ import "./chunk-IZIVM7LZ.js";
33
+ import "./chunk-SFPGAQUL.js";
34
+ import "./chunk-6PVPNMXU.js";
35
+ import "./chunk-JB4JIVTJ.js";
36
+ import "./chunk-IRH27ZC2.js";
37
+ import "./chunk-QHWCP53L.js";
38
+ import "./chunk-D5LUXLUH.js";
39
+ import "./chunk-O6GEWCJA.js";
40
+ import "./chunk-T26EAKDL.js";
41
+ import "./chunk-EOGELB3H.js";
42
+ import "./chunk-CPBF7KYF.js";
43
+ import "./chunk-EFUM7RVY.js";
44
+ import "./chunk-TTX2JUE6.js";
45
+ import "./chunk-43GGFFLY.js";
46
+ import "./chunk-SMPR7SPO.js";
47
+ import "./chunk-JWALNCLT.js";
48
+ import "./chunk-NIFYWDYN.js";
49
+ import "./chunk-3AFMQUTI.js";
50
+ import "./chunk-WKK5BQNP.js";
51
+ import "./chunk-V5J4J5TP.js";
52
+ import "./chunk-MLXTMF7H.js";
53
+ import "./chunk-NAVJD2PQ.js";
54
+ import "./chunk-3JGZSIDA.js";
55
+ import "./chunk-VVW4ZNFY.js";
56
+ import "./chunk-QHMLYMMS.js";
57
+ import "./chunk-7DJCPZE3.js";
58
+ import "./chunk-P3QQPMQA.js";
59
+ import "./chunk-HVEYF6VT.js";
60
+ import "./chunk-VNOVK4I7.js";
61
+ import "./chunk-SAH4BD2J.js";
62
+ import "./chunk-PDMJ3KGS.js";
63
+ import "./chunk-CMHFCLBU.js";
64
+ import "./chunk-S6LOFUVP.js";
65
+ import "./chunk-2LD5U7Q3.js";
66
+ import "./chunk-DJ2GSRLV.js";
67
+ import "./chunk-J2OSJFP3.js";
68
+ import "./chunk-K2OJUPOE.js";
69
+ import "./chunk-CFKIH3D3.js";
70
+ import "./chunk-4FTKQNWJ.js";
71
+ import "./chunk-Y3QL45LS.js";
72
+ import "./chunk-L2M46FP5.js";
73
+ import "./chunk-YRLW2MSX.js";
74
+ import "./chunk-VGC4I5JJ.js";
75
+ import "./chunk-3I6UTTDX.js";
76
+ import "./chunk-6PJOTWAN.js";
77
+ import "./chunk-BWORX6FA.js";
78
+ import "./chunk-WZAD4ZNJ.js";
79
+ import "./chunk-FPGTNKCP.js";
80
+ import "./chunk-6DIGWMGT.js";
81
+ import "./chunk-Z7FLBQPR.js";
82
+ import "./chunk-XZA32HII.js";
83
+ import "./chunk-23RFD54N.js";
84
+ import "./chunk-PPKZ7JOE.js";
85
+ import "./chunk-HHJLM3WQ.js";
86
+ import "./chunk-L6BZRIUL.js";
87
+ import "./chunk-74TONY4F.js";
88
+ import "./chunk-XF63PKEN.js";
89
+ import "./chunk-CAJTKR6W.js";
90
+ import "./chunk-ZU4UDIWX.js";
91
+ import "./chunk-AQ37AY7B.js";
92
+ import "./chunk-PDQGMSZK.js";
93
+ import "./chunk-UTLCH2FK.js";
94
+ import "./chunk-UHQFIS7N.js";
95
+ import "./chunk-75DOP5OR.js";
96
+ import "./chunk-DMTGGOSA.js";
97
+ import "./chunk-YQ3U5MUC.js";
98
+ import "./chunk-AMDSOFFV.js";
99
+ import "./chunk-TBWQLLFO.js";
100
+ import "./chunk-5O2XNYP6.js";
101
+ import "./chunk-J2S4EL5Y.js";
102
+ export {
103
+ getAndClearCapturedInput,
104
+ hasCapturedInput,
105
+ resetCaptureState,
106
+ startEarlyInputCapture,
107
+ stopAndGetCapturedInput,
108
+ stopEarlyInputCapture
109
+ };
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  checkTeamMemorySecrets
5
- } from "./chunk-XJS54K4A.js";
5
+ } from "./chunk-VTHREBQM.js";
6
6
  import {
7
7
  CommitAttributionService,
8
8
  FileEncoding,
@@ -11,92 +11,92 @@ import {
11
11
  detectLineEnding,
12
12
  getDiffStat,
13
13
  needsUtf8Bom
14
- } from "./chunk-D6XO27Z5.js";
14
+ } from "./chunk-TGWAQ5RB.js";
15
15
  import "./chunk-GOFAQQZA.js";
16
16
  import "./chunk-5M6IDOMF.js";
17
17
  import "./chunk-TWPJO254.js";
18
18
  import "./chunk-CQ35AJ4Z.js";
19
- import "./chunk-3UZCLCXR.js";
20
- import "./chunk-TOF4UZHH.js";
21
- import "./chunk-O3BUXIPM.js";
22
- import "./chunk-ZLTEQYNC.js";
19
+ import "./chunk-EKSCLBBF.js";
20
+ import "./chunk-P2SU6ZTI.js";
21
+ import "./chunk-IZIVM7LZ.js";
22
+ import "./chunk-SFPGAQUL.js";
23
23
  import "./chunk-6PVPNMXU.js";
24
- import "./chunk-AYVIGUUK.js";
24
+ import "./chunk-JB4JIVTJ.js";
25
25
  import "./chunk-IRH27ZC2.js";
26
26
  import "./chunk-QHWCP53L.js";
27
- import "./chunk-JECO75XD.js";
27
+ import "./chunk-D5LUXLUH.js";
28
28
  import "./chunk-O6GEWCJA.js";
29
29
  import "./chunk-T26EAKDL.js";
30
- import "./chunk-LJP2BBMK.js";
30
+ import "./chunk-EOGELB3H.js";
31
31
  import "./chunk-CPBF7KYF.js";
32
- import "./chunk-5Y2JCJAH.js";
33
- import "./chunk-T2CRBIDJ.js";
34
- import "./chunk-77TOMRBG.js";
35
- import "./chunk-DEYPMJPD.js";
36
- import "./chunk-T6OODF2U.js";
37
- import "./chunk-27ONXAFY.js";
38
- import "./chunk-ZEADBZLO.js";
39
- import "./chunk-FN5C6C7G.js";
40
- import "./chunk-BVE5EMIG.js";
32
+ import "./chunk-EFUM7RVY.js";
33
+ import "./chunk-TTX2JUE6.js";
34
+ import "./chunk-43GGFFLY.js";
35
+ import "./chunk-SMPR7SPO.js";
36
+ import "./chunk-JWALNCLT.js";
37
+ import "./chunk-NIFYWDYN.js";
38
+ import "./chunk-3AFMQUTI.js";
39
+ import "./chunk-WKK5BQNP.js";
40
+ import "./chunk-V5J4J5TP.js";
41
41
  import "./chunk-MLXTMF7H.js";
42
42
  import "./chunk-NAVJD2PQ.js";
43
- import "./chunk-FVDQ5E67.js";
44
- import "./chunk-V3GINY6K.js";
43
+ import "./chunk-3JGZSIDA.js";
44
+ import "./chunk-VVW4ZNFY.js";
45
45
  import "./chunk-QHMLYMMS.js";
46
- import "./chunk-SDVF6A42.js";
46
+ import "./chunk-7DJCPZE3.js";
47
47
  import "./chunk-P3QQPMQA.js";
48
- import "./chunk-ILPXSKGQ.js";
48
+ import "./chunk-HVEYF6VT.js";
49
49
  import "./chunk-SAH4BD2J.js";
50
- import "./chunk-ZKAZP2ZG.js";
51
- import "./chunk-DP7LABIB.js";
50
+ import "./chunk-PDMJ3KGS.js";
51
+ import "./chunk-CMHFCLBU.js";
52
52
  import "./chunk-S6LOFUVP.js";
53
53
  import "./chunk-2LD5U7Q3.js";
54
54
  import "./chunk-DJ2GSRLV.js";
55
- import "./chunk-I6VVOZDK.js";
55
+ import "./chunk-J2OSJFP3.js";
56
56
  import "./chunk-K2OJUPOE.js";
57
57
  import "./chunk-CFKIH3D3.js";
58
- import "./chunk-EB4VDXNI.js";
59
- import "./chunk-FJWICLG7.js";
58
+ import "./chunk-4FTKQNWJ.js";
59
+ import "./chunk-Y3QL45LS.js";
60
60
  import {
61
61
  FileOperationEvent,
62
62
  ReadFileTool,
63
63
  getLanguageFromFilePath,
64
64
  logFileOperation
65
- } from "./chunk-UX3IFLJM.js";
65
+ } from "./chunk-L2M46FP5.js";
66
66
  import "./chunk-YRLW2MSX.js";
67
67
  import "./chunk-VGC4I5JJ.js";
68
68
  import {
69
69
  fileExists,
70
70
  getSpecificMimeType
71
- } from "./chunk-WBT3STGU.js";
71
+ } from "./chunk-3I6UTTDX.js";
72
72
  import {
73
73
  isAnyAutoMemPath,
74
74
  isTeamAutoMemPath
75
- } from "./chunk-PVBT5QPD.js";
76
- import "./chunk-IPQA4SR5.js";
75
+ } from "./chunk-6PJOTWAN.js";
76
+ import "./chunk-BWORX6FA.js";
77
77
  import "./chunk-WZAD4ZNJ.js";
78
78
  import "./chunk-FPGTNKCP.js";
79
- import "./chunk-SLEWBQWM.js";
80
- import "./chunk-4X5GYZFO.js";
79
+ import "./chunk-6DIGWMGT.js";
80
+ import "./chunk-Z7FLBQPR.js";
81
81
  import "./chunk-XZA32HII.js";
82
- import "./chunk-7QGEJI7M.js";
83
- import "./chunk-GTUKW3I6.js";
82
+ import "./chunk-23RFD54N.js";
83
+ import "./chunk-PPKZ7JOE.js";
84
84
  import "./chunk-HHJLM3WQ.js";
85
85
  import {
86
86
  safeLiteralReplace
87
- } from "./chunk-6US7BF3G.js";
87
+ } from "./chunk-L6BZRIUL.js";
88
88
  import "./chunk-74TONY4F.js";
89
- import "./chunk-VL4YX3FH.js";
90
- import "./chunk-JUIJ3FXC.js";
91
- import "./chunk-E6FGMDFQ.js";
89
+ import "./chunk-XF63PKEN.js";
90
+ import "./chunk-CAJTKR6W.js";
91
+ import "./chunk-ZU4UDIWX.js";
92
92
  import "./chunk-AQ37AY7B.js";
93
- import "./chunk-RRKNX553.js";
93
+ import "./chunk-PDQGMSZK.js";
94
94
  import {
95
95
  BaseDeclarativeTool,
96
96
  StructuredToolError,
97
97
  ToolDisplayNames,
98
98
  ToolNames
99
- } from "./chunk-KOJ6MHD5.js";
99
+ } from "./chunk-UTLCH2FK.js";
100
100
  import {
101
101
  createDebugLogger,
102
102
  getErrorMessage,
@@ -104,7 +104,7 @@ import {
104
104
  makeRelative,
105
105
  shortenPath,
106
106
  unescapePath
107
- } from "./chunk-2NNTE2ED.js";
107
+ } from "./chunk-UHQFIS7N.js";
108
108
  import "./chunk-75DOP5OR.js";
109
109
  import "./chunk-DMTGGOSA.js";
110
110
  import "./chunk-YQ3U5MUC.js";
@@ -2139,7 +2139,8 @@ var en_default = {
2139
2139
  "Failed to update auto-skill pin: {{message}}": "Failed to update auto-skill pin: {{message}}",
2140
2140
  "Auto-skill curator changes are disabled in safe mode.": "Auto-skill curator changes are disabled in safe mode.",
2141
2141
  "Auto-skill curator changes are only available in trusted workspaces. Trust this folder via `/trust` and try again.": "Auto-skill curator changes are only available in trusted workspaces. Trust this folder via `/trust` and try again.",
2142
- "Kept model as {{model}}": "Kept model as {{model}}"
2142
+ "Kept model as {{model}}": "Kept model as {{model}}",
2143
+ "Review messages held from other Qwen Code sessions (accept | deny)": "Review messages held from other Qwen Code sessions (accept | deny)"
2143
2144
  };
2144
2145
  export {
2145
2146
  en_default as default