@qwen-code/qwen-code 0.21.6-preview.0 → 0.21.7

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 (309) hide show
  1. package/bundled/qc-helper/docs/configuration/settings.md +19 -9
  2. package/bundled/qc-helper/docs/features/channels/dingtalk.md +1 -1
  3. package/bundled/qc-helper/docs/features/channels/github.md +31 -19
  4. package/bundled/qc-helper/docs/features/code-review.md +30 -1
  5. package/bundled/qc-helper/docs/qwen-serve.md +1 -1
  6. package/bundled/review/SKILL.md +59 -22
  7. package/chunks/{MaxSizedBox-A3UYJS6B.js → MaxSizedBox-ANWZBPTS.js} +38 -38
  8. package/chunks/{StandaloneSessionPicker-NGLY26I4.js → StandaloneSessionPicker-XKS3VU3A.js} +56 -55
  9. package/chunks/{acp-startup-profiler-3RICG2YW.js → acp-startup-profiler-ORIQ2CCQ.js} +2 -2
  10. package/chunks/{acpAgent-V54T2EEL.js → acpAgent-KUAZ3GCZ.js} +1091 -150
  11. package/chunks/{agent-2P53VL2L.js → agent-T6PTGX5R.js} +35 -35
  12. package/chunks/{agent-headless-6X4GCFRD.js → agent-headless-PR7YCB7S.js} +35 -35
  13. package/chunks/{anthropicContentGenerator-3CAHEZBM.js → anthropicContentGenerator-DTMVEL5M.js} +7 -7
  14. package/chunks/{artifact-tool-RROCCJDA.js → artifact-tool-U4VOZIK5.js} +2 -2
  15. package/chunks/{askUserQuestion-2EPPBPUZ.js → askUserQuestion-XOBQLPFA.js} +2 -2
  16. package/chunks/{bridge-TCFMLKHR.js → bridge-NU6YEEHK.js} +41 -41
  17. package/chunks/{channel-management-service-5XPPTWUQ.js → channel-management-service-FSQ7SHYI.js} +1 -1
  18. package/chunks/{channel-settings-store-B4HNMNQV.js → channel-settings-store-35VQVUVV.js} +42 -42
  19. package/chunks/{channel-worker-group-SVGPDH2C.js → channel-worker-group-JWQK224X.js} +5 -5
  20. package/chunks/{channel-worker-manager-72ZK2GTS.js → channel-worker-manager-77E3OXRQ.js} +5 -5
  21. package/chunks/{channel-worker-supervisor-NUEDVHX4.js → channel-worker-supervisor-62YWUGP2.js} +3 -3
  22. package/chunks/{chunk-XC656O42.js → chunk-22NBYCPD.js} +3 -3
  23. package/chunks/{chunk-WXS647W5.js → chunk-23RZCH76.js} +3 -3
  24. package/chunks/{chunk-O656RSMC.js → chunk-2U3WZGZG.js} +18 -10
  25. package/chunks/chunk-2VSTGY6M.js +107 -0
  26. package/chunks/{chunk-AU3XNTMV.js → chunk-33ACCIIY.js} +3 -3
  27. package/chunks/{chunk-MBEMTXQT.js → chunk-3K7FH2KQ.js} +1 -32
  28. package/chunks/{chunk-CJBRIJ7W.js → chunk-3NB7TSE2.js} +3 -3
  29. package/chunks/{chunk-QYPT3QUD.js → chunk-3ULCB3NE.js} +3 -3
  30. package/chunks/{chunk-7FUVSN4D.js → chunk-55LYDVPU.js} +1 -1
  31. package/chunks/{chunk-3ZRS2XNY.js → chunk-5KH532V7.js} +1 -1
  32. package/chunks/{chunk-P7LKADIT.js → chunk-6EOI4HOK.js} +7 -7
  33. package/chunks/{chunk-X6DV3WKN.js → chunk-6GONZVLS.js} +1 -1
  34. package/chunks/{chunk-T4XY5CT4.js → chunk-6HVUFDS2.js} +7 -7
  35. package/chunks/{chunk-5L6CQ4ZU.js → chunk-6M26GBKX.js} +2 -2
  36. package/chunks/{chunk-SPUDIAHX.js → chunk-6UWFTUQL.js} +530 -388
  37. package/chunks/{chunk-EKWNNQQD.js → chunk-6XJMFJ4D.js} +16 -10
  38. package/chunks/{chunk-72DZPDH4.js → chunk-6XU3PH66.js} +10 -5
  39. package/chunks/{chunk-WIPQR44Y.js → chunk-72LNFGUY.js} +3 -3
  40. package/chunks/{chunk-33FNCQSY.js → chunk-7MH4J33A.js} +2 -2
  41. package/chunks/{chunk-2AGOQ7QO.js → chunk-7UFKAV7Y.js} +118 -6
  42. package/chunks/{chunk-HKNSU4WX.js → chunk-AE77C5ZU.js} +198 -35
  43. package/chunks/{chunk-JELIWHXD.js → chunk-AOHJKPKL.js} +1 -1
  44. package/chunks/{chunk-GLNBDYUX.js → chunk-AXMWHKXA.js} +6 -2
  45. package/chunks/{chunk-H36SETQS.js → chunk-B2GJNDTV.js} +1 -1
  46. package/chunks/{chunk-QMBEW7EW.js → chunk-BGG4MBYD.js} +2 -2
  47. package/chunks/{chunk-QL4TN4HS.js → chunk-BRVWYMKV.js} +1 -1
  48. package/chunks/{chunk-6WBWIPBF.js → chunk-BVWVWGLE.js} +2 -2
  49. package/chunks/{chunk-WPKIU4PA.js → chunk-CB2464BK.js} +6 -6
  50. package/chunks/{chunk-2UISUFHQ.js → chunk-CJXIIILK.js} +3 -3
  51. package/chunks/{chunk-WK4TJUEA.js → chunk-CKASRHZI.js} +1 -1
  52. package/chunks/{chunk-Z7JILXGX.js → chunk-CNIID3TV.js} +3 -3
  53. package/chunks/{chunk-6KEN3RIC.js → chunk-CSZEXZBE.js} +3 -3
  54. package/chunks/{chunk-KKN2IE7Q.js → chunk-CTJLZLB5.js} +1 -1
  55. package/chunks/{chunk-5CDI4UOY.js → chunk-CXE7E23H.js} +131 -48
  56. package/chunks/{chunk-URJHXOSO.js → chunk-CYR3HI5X.js} +3 -3
  57. package/chunks/{chunk-546CDN6D.js → chunk-DBOFL3LQ.js} +3 -3
  58. package/chunks/{chunk-4LKVQFHM.js → chunk-DREZZAZM.js} +2 -2
  59. package/chunks/{chunk-2U7GPHA6.js → chunk-E33LOKRA.js} +1 -1
  60. package/chunks/{chunk-2DNKEBXY.js → chunk-EI3HZX6C.js} +1 -1
  61. package/chunks/{chunk-U25CMJYY.js → chunk-EKPKKXY2.js} +1 -1
  62. package/chunks/{chunk-QG2ACINA.js → chunk-EORNAQDT.js} +1 -1
  63. package/chunks/{chunk-432XCUHF.js → chunk-EQL65XGA.js} +1 -1
  64. package/chunks/{chunk-TYERNYH4.js → chunk-EUNWC2VS.js} +2 -2
  65. package/chunks/{chunk-CDHNGCJI.js → chunk-EUQTXRKZ.js} +7 -7
  66. package/chunks/{chunk-UH7Z7Y45.js → chunk-FOGU3LJX.js} +1 -1
  67. package/chunks/{chunk-BU4BRCPX.js → chunk-FPM27XN4.js} +5 -5
  68. package/chunks/{chunk-E4WHKETF.js → chunk-FVKHVJZQ.js} +2 -49
  69. package/chunks/{chunk-NKST54XA.js → chunk-FZBZSYKU.js} +1 -1
  70. package/chunks/{chunk-XZCMQUOF.js → chunk-GDXET5XU.js} +31 -3387
  71. package/chunks/{chunk-A5YZ3FA2.js → chunk-GM463R2B.js} +1 -1
  72. package/chunks/{chunk-MOHAWIAW.js → chunk-GNPNYXJB.js} +2 -2
  73. package/chunks/{chunk-AFZTZLFB.js → chunk-GSS34377.js} +3 -3
  74. package/chunks/{chunk-MVLM6PJK.js → chunk-H2UQ2M5Z.js} +6 -2
  75. package/chunks/{chunk-BK2UNYWD.js → chunk-HIBNSEJE.js} +12 -0
  76. package/chunks/{chunk-CXYBX4AL.js → chunk-HQB2KUAN.js} +1 -1
  77. package/chunks/{chunk-ZQL73PPE.js → chunk-HYRDKNUY.js} +2 -2
  78. package/chunks/{chunk-D7D7RXIJ.js → chunk-IC4Z6LX6.js} +1 -1
  79. package/chunks/{chunk-HU5TUALO.js → chunk-IIJEYBNH.js} +3 -3
  80. package/chunks/{chunk-DTAPI453.js → chunk-IUFV6FYU.js} +2 -2
  81. package/chunks/{chunk-MISUEWB4.js → chunk-J6SZID63.js} +12 -8
  82. package/chunks/{chunk-OWAK7LMW.js → chunk-KGJGEEVR.js} +7 -0
  83. package/chunks/{chunk-BFHXDAR7.js → chunk-KKBPOU75.js} +1 -1
  84. package/chunks/{chunk-XOZ2R6XI.js → chunk-KKJJB5X6.js} +3578 -1487
  85. package/chunks/{chunk-PQTK2FVO.js → chunk-KR4ZSC7K.js} +4 -4
  86. package/chunks/{chunk-NAYPZ72V.js → chunk-KXSDEOFU.js} +1 -1
  87. package/chunks/{chunk-MGSSJT27.js → chunk-L4N6TIP7.js} +5 -3
  88. package/chunks/{chunk-4T6QMNX2.js → chunk-LA7YLSR6.js} +185 -12
  89. package/chunks/{chunk-4E5PO6R7.js → chunk-LEMXGVEP.js} +4 -4
  90. package/chunks/{chunk-WVAESIM6.js → chunk-LZC3B5N2.js} +4 -4
  91. package/chunks/{chunk-6O5DVH27.js → chunk-M6HMMKVG.js} +1 -1
  92. package/chunks/{chunk-Z5S6KH2B.js → chunk-MAJS7AT4.js} +6 -6
  93. package/chunks/{chunk-XNZBXQCG.js → chunk-MKVZE4ZJ.js} +1 -1
  94. package/chunks/{chunk-I7JDGNG6.js → chunk-MVUQRLOH.js} +9 -5
  95. package/chunks/{chunk-GLWP3FDB.js → chunk-MZSJ43WV.js} +31 -2
  96. package/chunks/{chunk-ZPPP6VCL.js → chunk-NG2R4N5O.js} +1 -1
  97. package/chunks/chunk-NKLP3DCK.js +22 -0
  98. package/chunks/{chunk-WIRAPZ62.js → chunk-NLREQJFK.js} +7 -1
  99. package/chunks/{chunk-N47ZM2KI.js → chunk-OFI7IGST.js} +12 -12
  100. package/chunks/{chunk-DBIEZC7T.js → chunk-OH2VKQXH.js} +42 -16
  101. package/chunks/{chunk-C4GRKMUL.js → chunk-OHJLEW5J.js} +5 -5
  102. package/chunks/{chunk-3RXUYQJI.js → chunk-OIVKILPI.js} +49 -0
  103. package/chunks/{chunk-VDLXPEI5.js → chunk-OMKQH5C5.js} +3 -3
  104. package/chunks/{chunk-LBWNSLJK.js → chunk-ONSZH6VM.js} +2 -2
  105. package/chunks/{chunk-DYA25Y7U.js → chunk-OWMAZHIX.js} +1 -1
  106. package/chunks/{chunk-WAOLM6SQ.js → chunk-P2AJ7FTI.js} +1 -1
  107. package/chunks/{chunk-MFBUJMQ3.js → chunk-P3LEG54R.js} +4 -4
  108. package/chunks/{chunk-WVRJKSIG.js → chunk-PJOBIWUG.js} +1 -1
  109. package/chunks/{chunk-YUVTZ4UH.js → chunk-PQBHU2IA.js} +114 -18
  110. package/chunks/{chunk-GTM6IHBB.js → chunk-Q3JQ7OSU.js} +2 -1
  111. package/chunks/{chunk-IISDPZ5X.js → chunk-QETYKPMG.js} +1 -1
  112. package/chunks/{chunk-UKZEXS6K.js → chunk-R574ATRM.js} +11 -0
  113. package/chunks/{chunk-DOICUTPO.js → chunk-RERATVSK.js} +11 -10
  114. package/chunks/chunk-RGSBTHSU.js +3381 -0
  115. package/chunks/{chunk-6D6V55ZQ.js → chunk-RMH5OWLD.js} +1 -1
  116. package/chunks/{chunk-AVDEBBMI.js → chunk-RNVQB725.js} +2 -2
  117. package/chunks/{chunk-QWUYFMAR.js → chunk-RUL4S3K3.js} +87 -67
  118. package/chunks/{chunk-RTWF7FF7.js → chunk-RZHU3ILK.js} +5 -5
  119. package/chunks/{chunk-3DTM3RPU.js → chunk-S7CV4KO6.js} +3 -3
  120. package/chunks/{chunk-ZH7G3A4U.js → chunk-SCI7K3GM.js} +4 -4
  121. package/chunks/{chunk-YAVY33G4.js → chunk-SEZ556DZ.js} +1 -1
  122. package/chunks/{chunk-6KZP75GT.js → chunk-SHZYHGQH.js} +1 -1
  123. package/chunks/chunk-SOORFWKY.js +155 -0
  124. package/chunks/{chunk-NYZAL2W2.js → chunk-SPMY6CX6.js} +4 -4
  125. package/chunks/{chunk-EHMN6SEG.js → chunk-TDXGKHDN.js} +4 -4
  126. package/chunks/{chunk-XKTCA6BW.js → chunk-TLV2IMHR.js} +5 -5
  127. package/chunks/{chunk-XSGQKR37.js → chunk-TRLYP7OF.js} +358 -20
  128. package/chunks/{chunk-DG563ZCS.js → chunk-TYKC75AX.js} +3 -3
  129. package/chunks/{chunk-KVUBYJDM.js → chunk-TZEZYNYD.js} +1 -1
  130. package/chunks/{chunk-XC2VAFVZ.js → chunk-UVX4Y6IN.js} +1 -1
  131. package/chunks/{chunk-IKXE3AAC.js → chunk-VOARQPTA.js} +2 -2
  132. package/chunks/{chunk-TVFC3XF5.js → chunk-W4B7UBUS.js} +7 -7
  133. package/chunks/{chunk-M744OFVE.js → chunk-W7U4ESW2.js} +1 -1
  134. package/chunks/{chunk-URN76TKR.js → chunk-WCG5O7IP.js} +2 -2
  135. package/chunks/{chunk-A6SX5TAH.js → chunk-XCWO3SMQ.js} +9 -5
  136. package/chunks/{chunk-FDV3CXTD.js → chunk-Y4EWSQF7.js} +3 -3
  137. package/chunks/{chunk-3PRJYMXC.js → chunk-Y4NGLFGJ.js} +1 -1
  138. package/chunks/{chunk-DOA7MCDY.js → chunk-Y7E5LNLO.js} +973 -892
  139. package/chunks/{chunk-3LGZEYOF.js → chunk-YHEEE624.js} +2 -2
  140. package/chunks/{chunk-Y5HIDFKZ.js → chunk-YJQCUTT2.js} +4 -4
  141. package/chunks/{chunk-QONSRAEV.js → chunk-YP5KH5Y7.js} +1 -1
  142. package/chunks/{chunk-SQ3ZJOYL.js → chunk-ZJ3VGYHK.js} +20 -20
  143. package/chunks/{chunk-7GYP5COR.js → chunk-ZXU5UHMI.js} +1 -1
  144. package/chunks/{computer-use-GTOP2CVH.js → computer-use-KEAPATUY.js} +35 -35
  145. package/chunks/{config-utils-LIRO7NSU.js → config-utils-K7SCOWHD.js} +2 -2
  146. package/chunks/{contextCommand-K6T6RRF3.js → contextCommand-ZJA6A5K5.js} +38 -38
  147. package/chunks/{core-runtime-D2626QQU.js → core-runtime-QMJPWHCI.js} +35 -35
  148. package/chunks/create-sub-session-DJE6XICH.js +772 -0
  149. package/chunks/{create-sub-session-6EWLAZD5.js → create-sub-session-E4PBYXV5.js} +2 -2
  150. package/chunks/{cron-create-CCRIULJE.js → cron-create-GRBWYMIJ.js} +4 -4
  151. package/chunks/{cron-delete-FCFW6BGP.js → cron-delete-4CMKBR2M.js} +4 -4
  152. package/chunks/{cron-list-QDBVCHRF.js → cron-list-W7K4ASOA.js} +4 -4
  153. package/chunks/{daemon-CCIX4BMG.js → daemon-SCTQMM7Z.js} +165 -5
  154. package/chunks/{daemon-status-provider-2EHRZZVF.js → daemon-status-provider-FSWDPE2G.js} +45 -45
  155. package/chunks/{daemon-trust-policy-B3EPDJDR.js → daemon-trust-policy-P5L5VFAY.js} +41 -41
  156. package/chunks/{daemon-trust-policy-monitor-MFM5X26G.js → daemon-trust-policy-monitor-73JYN6ET.js} +41 -41
  157. package/chunks/{deferred-core-runtime-KXN7HLN7.js → deferred-core-runtime-BWRCCFTE.js} +35 -35
  158. package/chunks/discovery-XLHITE74.js +220 -0
  159. package/chunks/{display-image-GUJA352B.js → display-image-O2XFPQTC.js} +4 -4
  160. package/chunks/{dist-A7H2KKUC.js → dist-K4WWQBHS.js} +277 -98
  161. package/chunks/{dist-IKGVITP3.js → dist-KS4O2NKE.js} +99 -6
  162. package/chunks/{earlyInputCapture-WUNYYFOS.js → earlyInputCapture-L5ST23A6.js} +36 -36
  163. package/chunks/{edit-DMFCBP2D.js → edit-LHHRFNFK.js} +35 -35
  164. package/chunks/{enter-worktree-5SVBCXFC.js → enter-worktree-6NXCRZPF.js} +35 -35
  165. package/chunks/{enterPlanMode-QUIZFQ4M.js → enterPlanMode-ZVQT4U7D.js} +35 -35
  166. package/chunks/{environment-U6QP23VJ.js → environment-GJ2HWJOS.js} +38 -38
  167. package/chunks/{errors-GZWFA6ON.js → errors-6RLH3XXC.js} +38 -38
  168. package/chunks/{exit-worktree-FUB44KAF.js → exit-worktree-I2YLUHHY.js} +35 -35
  169. package/chunks/{exitPlanMode-XSHHYR73.js → exitPlanMode-7CCWKO7I.js} +35 -35
  170. package/chunks/{fast-path-JHQJSIMZ.js → fast-path-DVFD4HQD.js} +2 -2
  171. package/chunks/{gemini-O44ETOKT.js → gemini-7FWGOYD4.js} +78 -78
  172. package/chunks/{geminiContentGenerator-TTM4TZJM.js → geminiContentGenerator-V2WVLIXU.js} +6 -6
  173. package/chunks/{glob-YECOWTRW.js → glob-3N6GGI75.js} +35 -35
  174. package/chunks/{goal-tools-3AZKX5WQ.js → goal-tools-APOW6UXL.js} +3 -3
  175. package/chunks/{grep-BZO4LOTA.js → grep-V43ILZVX.js} +35 -35
  176. package/chunks/{handleAutoUpdate-TOO52D6H.js → handleAutoUpdate-A5WFVWIA.js} +40 -40
  177. package/chunks/{i18n-ARJYXZQ5.js → i18n-PLVQ4FBZ.js} +37 -37
  178. package/chunks/{image-gen-J6Q2YBEU.js → image-gen-7C6IK6DC.js} +9 -9
  179. package/chunks/{initializer-CEZ4RPQV.js → initializer-CVAIKZYL.js} +42 -42
  180. package/chunks/{installationInfo-AEGIIQAT.js → installationInfo-J6QDHNTK.js} +36 -36
  181. package/chunks/{keychain-token-storage-7BT4TQ2A.js → keychain-token-storage-TVAMTNP7.js} +2 -2
  182. package/chunks/{list-7XLPV5GC.js → list-ZZ4OUUWV.js} +44 -44
  183. package/chunks/{list-agents-GC4BRET7.js → list-agents-KFFIIS2G.js} +2 -2
  184. package/chunks/{loadedSettingsAdapter-YK5SBHOT.js → loadedSettingsAdapter-QRYRJSWL.js} +41 -41
  185. package/chunks/{loggingContentGenerator-I7QDXS43.js → loggingContentGenerator-OJCO75HM.js} +17 -17
  186. package/chunks/{loop-wakeup-SQQSBMEY.js → loop-wakeup-TLMJPMMP.js} +5 -5
  187. package/chunks/{ls-63CC3NNX.js → ls-UVVE2XGE.js} +4 -4
  188. package/chunks/{lsp-P6NVJVNT.js → lsp-QMEA2VLB.js} +2 -2
  189. package/chunks/{managed-npm-update-YSL7PA7G.js → managed-npm-update-PCOSCP2N.js} +48 -39
  190. package/chunks/{mcp-RKFQZXP6.js → mcp-M3WKKWKY.js} +41 -41
  191. package/chunks/{monitor-QHHJIKGL.js → monitor-GN24FH6C.js} +35 -35
  192. package/chunks/{nonInteractiveCli-XEBIE7MG.js → nonInteractiveCli-KPTU3VSQ.js} +75 -75
  193. package/chunks/{notebook-edit-SG7X2EQA.js → notebook-edit-4YM65BBO.js} +35 -35
  194. package/chunks/{openaiContentGenerator-63CVR33K.js → openaiContentGenerator-EDQT6GTV.js} +19 -19
  195. package/chunks/{pidfile-I3CXJGQD.js → pidfile-JOIIRN2C.js} +36 -36
  196. package/chunks/{processUtils-LJ3DSANX.js → processUtils-5SV4MX3Q.js} +2 -2
  197. package/chunks/{qwenContentGenerator-JINBVCH6.js → qwenContentGenerator-ODRJSUGR.js} +40 -40
  198. package/chunks/{qwenOAuth2-SY2O3NRR.js → qwenOAuth2-NESCMZ47.js} +8 -8
  199. package/chunks/{read-file-PGTXF25I.js → read-file-HPSODLPK.js} +10 -10
  200. package/chunks/{read-mcp-resource-RTSSEER5.js → read-mcp-resource-2TNSJTC3.js} +2 -2
  201. package/chunks/{record-artifact-E6AWQU2Z.js → record-artifact-RAON52FC.js} +3 -3
  202. package/chunks/{resumeHistoryUtils-FB2NFVZ2.js → resumeHistoryUtils-TXCOFFMQ.js} +42 -41
  203. package/chunks/{ripGrep-IY3KGPM6.js → ripGrep-ZKQGTQAO.js} +35 -35
  204. package/chunks/{run-qwen-serve-UYEMGPKA.js → run-qwen-serve-ZPKPKECF.js} +516 -87
  205. package/chunks/{runtime-CG3BKRFE.js → runtime-2FLNNM36.js} +44 -44
  206. package/chunks/{scheduler-VFUVGDE5.js → scheduler-365PJHNR.js} +35 -35
  207. package/chunks/{sdk-exporters-http-IL2346MJ.js → sdk-exporters-http-KHAB5JSD.js} +2 -2
  208. package/chunks/{sdk-impl-SYKGVWOZ.js → sdk-impl-KD7FSTC3.js} +2 -2
  209. package/chunks/{send-message-TL6FIMMN.js → send-message-ZM7MRUGP.js} +5 -5
  210. package/chunks/{serve-ZCCQ2G2L.js → serve-QD2RNLKJ.js} +42 -42
  211. package/chunks/{server-WS7LWXPP.js → server-XLJVLTYM.js} +7952 -611
  212. package/chunks/{session-IQLCT32T.js → session-3VTUHH4Q.js} +78 -78
  213. package/chunks/{settings-NX4EUIE6.js → settings-KULVPCQC.js} +40 -40
  214. package/chunks/{shell-THDYM4CS.js → shell-3SWW22MH.js} +35 -35
  215. package/chunks/{skill-OXXZBNQB.js → skill-KDHWYS7W.js} +14 -14
  216. package/chunks/{skill-settings-T3JZ33T2.js → skill-settings-NMY4JEJC.js} +40 -40
  217. package/chunks/{spawnChannel-COLJMSA7.js → spawnChannel-ZKS4Q5OU.js} +37 -37
  218. package/chunks/{standalone-update-ICW7H5IF.js → standalone-update-7CXPGAQ4.js} +38 -38
  219. package/chunks/{startInteractiveUI-6BDRXSMF.js → startInteractiveUI-2QQLEKM6.js} +473 -233
  220. package/chunks/{stdioHelpers-HGIYTWAY.js → stdioHelpers-7A2EE64Z.js} +5 -3
  221. package/chunks/{syntheticOutput-BN7E626U.js → syntheticOutput-ZLCUTKO2.js} +3 -3
  222. package/chunks/{task-create-2X4UP4F3.js → task-create-CQP5UEA3.js} +9 -9
  223. package/chunks/{task-list-WOLJPZ64.js → task-list-XLEZOJXP.js} +5 -5
  224. package/chunks/{task-stop-TNXRNAL2.js → task-stop-7ZQM5CFF.js} +2 -2
  225. package/chunks/{task-update-VDUSN36E.js → task-update-JA75U2SN.js} +9 -9
  226. package/chunks/{team-create-BCSMDK4Z.js → team-create-2WTNGAOX.js} +35 -35
  227. package/chunks/{team-delete-D2VMSDOT.js → team-delete-MHY3UZGY.js} +5 -5
  228. package/chunks/{team-plan-approval-B5YRLJFV.js → team-plan-approval-LZTYLEG4.js} +35 -35
  229. package/chunks/{terminal-image-renderer-PW6Z6VFY.js → terminal-image-renderer-R5HHAFJN.js} +41 -36
  230. package/chunks/{theme-manager-CMVKD2JH.js → theme-manager-PAUCSJFF.js} +36 -36
  231. package/chunks/{todoWrite-MHWHO5UO.js → todoWrite-UPVOHYGD.js} +4 -4
  232. package/chunks/{tool-search-SQTUSG6P.js → tool-search-2BFCGLI6.js} +13 -13
  233. package/chunks/{total-session-admission-XAXOSE46.js → total-session-admission-MK4SINFK.js} +41 -41
  234. package/chunks/{trustedFolders-Z2UAEG2V.js → trustedFolders-TJ5S26N7.js} +37 -37
  235. package/chunks/{update-relaunch-JBLI6LJF.js → update-relaunch-N7AYLARF.js} +6 -6
  236. package/chunks/{updateCheck-FDAVGOFT.js → updateCheck-QRZ3DVT5.js} +39 -39
  237. package/chunks/{useAutoAcceptIndicator-PDZFIYRM.js → useAutoAcceptIndicator-DBJ7Y5AF.js} +44 -44
  238. package/chunks/{validateNonInterActiveAuth-Q4763ONQ.js → validateNonInterActiveAuth-6ZQWUDS3.js} +72 -72
  239. package/chunks/{version-C7MPCGWD.js → version-AJQGQWXC.js} +1 -1
  240. package/chunks/{web-fetch-L7RAPOJB.js → web-fetch-QWJYRXFL.js} +13 -13
  241. package/chunks/{web-search-IDOYUOWX.js → web-search-2AOXJGHU.js} +9 -9
  242. package/chunks/web-shell-static-O73YPVVC.js +33 -0
  243. package/chunks/{workflow-HXURUJB5.js → workflow-ERH3SJG2.js} +36 -36
  244. package/chunks/{workspace-providers-status-JZ3GPWNU.js → workspace-providers-status-HZ474RA4.js} +44 -44
  245. package/chunks/{workspace-registration-store-SM2PWB6L.js → workspace-registration-store-6EUP4JXG.js} +1 -1
  246. package/chunks/{workspace-registry-6W4ES7BJ.js → workspace-registry-R4APRRNC.js} +41 -41
  247. package/chunks/{workspace-service-V47ZFJRX.js → workspace-service-HFIFDMU7.js} +46 -46
  248. package/chunks/{workspace-skills-status-6ZQ45XKA.js → workspace-skills-status-HAHEIHGK.js} +42 -42
  249. package/chunks/{workspace-trust-reconciler-6V25LMCN.js → workspace-trust-reconciler-65GTAGDK.js} +50 -50
  250. package/chunks/{write-file-H2QOF25K.js → write-file-B34CDELV.js} +35 -35
  251. package/chunks/{zoom-image-JTUSS43N.js → zoom-image-HPRBZHSS.js} +10 -10
  252. package/cli.js +15 -15
  253. package/package.json +3 -3
  254. package/web-shell/assets/{arc-DtI1rZcQ.js → arc-Ip-FFDJ0.js} +1 -1
  255. package/web-shell/assets/{architectureDiagram-3BPJPVTR-BPZwSVct.js → architectureDiagram-3BPJPVTR-CChqgwIb.js} +1 -1
  256. package/web-shell/assets/{blockDiagram-GPEHLZMM-BIQ03j4C.js → blockDiagram-GPEHLZMM-BHN-Tfss.js} +1 -1
  257. package/web-shell/assets/{c4Diagram-AAUBKEIU-CB0RyFGm.js → c4Diagram-AAUBKEIU-BhyjzDjN.js} +1 -1
  258. package/web-shell/assets/channel-Cu8qd6OB.js +1 -0
  259. package/web-shell/assets/{chunk-2J33WTMH-B3WoS-4H.js → chunk-2J33WTMH-BB9eyHrx.js} +1 -1
  260. package/web-shell/assets/{chunk-4BX2VUAB-C98xYZ1X.js → chunk-4BX2VUAB-BeV7ce_J.js} +1 -1
  261. package/web-shell/assets/{chunk-55IACEB6-CbTIWRwQ.js → chunk-55IACEB6-DO7kXDiV.js} +1 -1
  262. package/web-shell/assets/{chunk-727SXJPM-DWGnKTPu.js → chunk-727SXJPM-B27MPznD.js} +1 -1
  263. package/web-shell/assets/{chunk-AQP2D5EJ-4__QyCEX.js → chunk-AQP2D5EJ-DHIjqjD_.js} +1 -1
  264. package/web-shell/assets/{chunk-FMBD7UC4-DFtG1YCW.js → chunk-FMBD7UC4-DabMqyN2.js} +1 -1
  265. package/web-shell/assets/{chunk-ND2GUHAM-rvAhW51N.js → chunk-ND2GUHAM-Dw7Nnnxc.js} +1 -1
  266. package/web-shell/assets/{chunk-QZHKN3VN-DfiU9pwZ.js → chunk-QZHKN3VN-DdaZew1Q.js} +1 -1
  267. package/web-shell/assets/classDiagram-4FO5ZUOK-BI3KrXhq.js +1 -0
  268. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BI3KrXhq.js +1 -0
  269. package/web-shell/assets/{cose-bilkent-S5V4N54A-Cc4EIdxu.js → cose-bilkent-S5V4N54A-CgBpCYH5.js} +1 -1
  270. package/web-shell/assets/{dagre-BM42HDAG-CZNj4dGW.js → dagre-BM42HDAG-BB4IU8G0.js} +1 -1
  271. package/web-shell/assets/{diagram-2AECGRRQ-D5tiqQCr.js → diagram-2AECGRRQ-BcUTHU37.js} +1 -1
  272. package/web-shell/assets/{diagram-5GNKFQAL-pwzw0jVO.js → diagram-5GNKFQAL-B6Lyihyv.js} +1 -1
  273. package/web-shell/assets/{diagram-KO2AKTUF-4CWiM00x.js → diagram-KO2AKTUF-CRIJOjpG.js} +1 -1
  274. package/web-shell/assets/{diagram-LMA3HP47-Dd7rc7Qf.js → diagram-LMA3HP47-DdNiwWWT.js} +1 -1
  275. package/web-shell/assets/{diagram-OG6HWLK6-_vzV52ml.js → diagram-OG6HWLK6-Dz4b32Do.js} +1 -1
  276. package/web-shell/assets/{erDiagram-TEJ5UH35-CqbE2bx_.js → erDiagram-TEJ5UH35-D-8NGw77.js} +1 -1
  277. package/web-shell/assets/{flowDiagram-I6XJVG4X-CaxNr7w4.js → flowDiagram-I6XJVG4X-Dun26LyM.js} +1 -1
  278. package/web-shell/assets/{ganttDiagram-6RSMTGT7-AGjrtfUA.js → ganttDiagram-6RSMTGT7-F10Hu1Gc.js} +1 -1
  279. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-ADG2zSkc.js → gitGraphDiagram-PVQCEYII-Bf8Ez6-D.js} +1 -1
  280. package/web-shell/assets/{index-BOryKCqt.js → index-BXqw-nGq.js} +1 -1
  281. package/web-shell/assets/index-QQlUCJGg.css +5 -0
  282. package/web-shell/assets/index-hcgjV7vS.js +1768 -0
  283. package/web-shell/assets/{infoDiagram-5YYISTIA-CE3B_IoZ.js → infoDiagram-5YYISTIA-DVgTMLvj.js} +1 -1
  284. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-CN-Frhoi.js → ishikawaDiagram-YF4QCWOH-uT-KepvK.js} +1 -1
  285. package/web-shell/assets/{journeyDiagram-JHISSGLW-CGgezS93.js → journeyDiagram-JHISSGLW-Vg_XadQf.js} +1 -1
  286. package/web-shell/assets/{kanban-definition-UN3LZRKU-BqWijky5.js → kanban-definition-UN3LZRKU-Dyv1ESBE.js} +1 -1
  287. package/web-shell/assets/{linear-D8sfpZf6.js → linear-BMIepYX3.js} +1 -1
  288. package/web-shell/assets/{mermaid.core-3PA4QrzM.js → mermaid.core-zA8pJ9ag.js} +5 -5
  289. package/web-shell/assets/{mindmap-definition-RKZ34NQL-D9QxwiCY.js → mindmap-definition-RKZ34NQL-BCW_BZ_5.js} +1 -1
  290. package/web-shell/assets/{pieDiagram-4H26LBE5-Bioaf6uE.js → pieDiagram-4H26LBE5-DseNEGp2.js} +1 -1
  291. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-DBb2AS73.js → quadrantDiagram-W4KKPZXB-6Z7wr1Fi.js} +1 -1
  292. package/web-shell/assets/{requirementDiagram-4Y6WPE33-DXOvZ3KB.js → requirementDiagram-4Y6WPE33-CVOlCRPf.js} +1 -1
  293. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-D9qg09Dm.js → sankeyDiagram-5OEKKPKP-CGhgrUJZ.js} +1 -1
  294. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DSAUIfpw.js → sequenceDiagram-3UESZ5HK-dlqmpLuQ.js} +1 -1
  295. package/web-shell/assets/{stateDiagram-AJRCARHV-BPZkzfQ3.js → stateDiagram-AJRCARHV-B9EW10Xb.js} +1 -1
  296. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CJTZJJ5X.js +1 -0
  297. package/web-shell/assets/{timeline-definition-PNZ67QCA-UDaQp9sP.js → timeline-definition-PNZ67QCA-BBRh0mgZ.js} +1 -1
  298. package/web-shell/assets/{vennDiagram-CIIHVFJN-2ouhAnHO.js → vennDiagram-CIIHVFJN-B8Gs-REP.js} +1 -1
  299. package/web-shell/assets/{wardley-L42UT6IY-Cq_WEvTK.js → wardley-L42UT6IY-D_y80Ur7.js} +1 -1
  300. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-Dt24aXOM.js → wardleyDiagram-YWT4CUSO-D-CNfHJ-.js} +1 -1
  301. package/web-shell/assets/{xychartDiagram-2RQKCTM6-A5Xk2WCH.js → xychartDiagram-2RQKCTM6-DQ5CvELo.js} +1 -1
  302. package/web-shell/index.html +2 -2
  303. package/chunks/create-sub-session-MWUWNBM6.js +0 -401
  304. package/web-shell/assets/channel-vfbVFuM1.js +0 -1
  305. package/web-shell/assets/classDiagram-4FO5ZUOK-Cvr8atq3.js +0 -1
  306. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-Cvr8atq3.js +0 -1
  307. package/web-shell/assets/index-Cb1LjsCv.css +0 -5
  308. package/web-shell/assets/index-CvJDaIy8.js +0 -1756
  309. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DInOqnhZ.js +0 -1
@@ -2,13 +2,13 @@
2
2
  "use strict";
3
3
  import {
4
4
  t
5
- } from "./chunk-546CDN6D.js";
5
+ } from "./chunk-DBOFL3LQ.js";
6
6
  import {
7
7
  SessionReferenceService,
8
8
  SessionService,
9
9
  readManyFiles,
10
10
  stripTerminalControlSequences
11
- } from "./chunk-DOA7MCDY.js";
11
+ } from "./chunk-Y7E5LNLO.js";
12
12
  import {
13
13
  emptyMcpResourceText,
14
14
  formatMcpResourceContents,
@@ -16,7 +16,7 @@ import {
16
16
  } from "./chunk-ZPJWUGCS.js";
17
17
  import {
18
18
  shouldRunVisionBridge
19
- } from "./chunk-O656RSMC.js";
19
+ } from "./chunk-2U3WZGZG.js";
20
20
  import {
21
21
  Storage,
22
22
  getErrorMessage,
@@ -24,7 +24,7 @@ import {
24
24
  isSubpath,
25
25
  unescapePath,
26
26
  unescapeShellSpecials
27
- } from "./chunk-3RXUYQJI.js";
27
+ } from "./chunk-OIVKILPI.js";
28
28
  import {
29
29
  init_esbuild_shims
30
30
  } from "./chunk-5O2XNYP6.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  t
5
- } from "./chunk-546CDN6D.js";
5
+ } from "./chunk-DBOFL3LQ.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -2,12 +2,12 @@
2
2
  "use strict";
3
3
  import {
4
4
  stringifyGenAiJson
5
- } from "./chunk-2DNKEBXY.js";
5
+ } from "./chunk-EI3HZX6C.js";
6
6
  import {
7
7
  getMeter,
8
8
  isTelemetrySdkInitialized,
9
9
  truncateSpanError
10
- } from "./chunk-5L6CQ4ZU.js";
10
+ } from "./chunk-6M26GBKX.js";
11
11
  import {
12
12
  require_src
13
13
  } from "./chunk-W4RQUHY3.js";
@@ -22,7 +22,7 @@ import {
22
22
  createDebugLogger,
23
23
  formatTraceparent,
24
24
  getActiveSpanTraceContext
25
- } from "./chunk-3RXUYQJI.js";
25
+ } from "./chunk-OIVKILPI.js";
26
26
  import {
27
27
  ROOT_CONTEXT,
28
28
  SpanKind,
@@ -1075,6 +1075,8 @@ export {
1075
1075
  addDaemonRequestAttribute,
1076
1076
  recordDaemonError,
1077
1077
  emitDaemonLog,
1078
+ captureDaemonTelemetryContext,
1079
+ runWithDaemonTelemetryContext,
1078
1080
  extractDaemonTraceContext,
1079
1081
  createDaemonBridgeTelemetry,
1080
1082
  initializeDaemonMetrics,
@@ -6,7 +6,7 @@ import {
6
6
  EventBus,
7
7
  logEventSizingFailed,
8
8
  serializedBridgeEventByteLength
9
- } from "./chunk-GLWP3FDB.js";
9
+ } from "./chunk-MZSJ43WV.js";
10
10
  import {
11
11
  normalizeCompactedReplayMaxBytes,
12
12
  normalizeMaxJournalBytes,
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-OCPBI7J5.js";
18
18
  import {
19
19
  defaultSpawnChannelFactory
20
- } from "./chunk-2U7GPHA6.js";
20
+ } from "./chunk-E33LOKRA.js";
21
21
  import {
22
22
  BridgeChannelClosedError,
23
23
  BridgeTimeoutError,
@@ -26,11 +26,12 @@ import {
26
26
  STATUS_SCHEMA_VERSION,
27
27
  createIdleWorkspaceExtensionsStatus,
28
28
  createIdleWorkspaceHooksStatus
29
- } from "./chunk-WIRAPZ62.js";
29
+ } from "./chunk-NLREQJFK.js";
30
30
  import {
31
31
  CHANNEL_STARTUP_PROFILE_META_KEY,
32
32
  CHANNEL_STARTUP_PROFILE_VERSION,
33
33
  DAEMON_CHANNEL_DELIVERY_META_KEY,
34
+ DAEMON_MODEL_PROMPT_META_KEY,
34
35
  LOAD_REPLAY_BULK_MODE,
35
36
  LOAD_REPLAY_HIDE_INHERITED_META_KEY,
36
37
  LOAD_REPLAY_META_KEY,
@@ -42,8 +43,9 @@ import {
42
43
  REQUESTED_SESSION_ID_META_KEY,
43
44
  TODO_STOP_GUARD_CONTINUATION_CLAIM_METHOD,
44
45
  TODO_STOP_GUARD_QUEUE_RELEASE_METHOD,
45
- WORKTREE_MCP_DEFER_META_KEY
46
- } from "./chunk-UKZEXS6K.js";
46
+ WORKTREE_MCP_DEFER_META_KEY,
47
+ isValidTrustedModelPrompt
48
+ } from "./chunk-R574ATRM.js";
47
49
  import {
48
50
  BranchWhilePromptActiveError,
49
51
  CancelSentinelCollisionError,
@@ -71,9 +73,12 @@ import {
71
73
  } from "./chunk-6PLDPT2C.js";
72
74
  import {
73
75
  CHANNEL_DELIVERY_ERROR_CODES,
76
+ LIVE_TASK_TOOL_NAMES,
77
+ MAX_LIVE_SCREEN_CONTEXT_TEXT_CHARS,
78
+ MAX_LIVE_SPEAK_TO_USER_MESSAGE_CHARS,
74
79
  MAX_SUB_SESSION_NAME_CHARS,
75
80
  MAX_SUB_SESSION_PROMPT_CHARS
76
- } from "./chunk-BK2UNYWD.js";
81
+ } from "./chunk-HIBNSEJE.js";
77
82
  import {
78
83
  EXTERNAL_TOOL_GUARD_READY_META_KEY,
79
84
  EXTERNAL_TOOL_GUARD_REQUIRED_VALUE,
@@ -95,16 +100,16 @@ import {
95
100
  metadataBudgetBytes,
96
101
  normalizeSnapshotPayload,
97
102
  stableSessionArtifactId
98
- } from "./chunk-DOA7MCDY.js";
103
+ } from "./chunk-Y7E5LNLO.js";
99
104
  import {
100
105
  DAEMON_TRACEPARENT_META_KEY,
101
106
  DAEMON_TRACESTATE_META_KEY
102
- } from "./chunk-MGSSJT27.js";
107
+ } from "./chunk-L4N6TIP7.js";
103
108
  import {
104
109
  INVOCATION_CONTEXT_META_KEY,
105
110
  PRIVATE_ACP_CAPABILITY_ENV,
106
111
  PRIVATE_PARENT_CAPABILITY_META_KEY
107
- } from "./chunk-O656RSMC.js";
112
+ } from "./chunk-2U3WZGZG.js";
108
113
  import {
109
114
  init_esbuild_shims
110
115
  } from "./chunk-5O2XNYP6.js";
@@ -1835,7 +1840,7 @@ function sliceLineRange(content, startLine, endLine) {
1835
1840
  }
1836
1841
  __name(sliceLineRange, "sliceLineRange");
1837
1842
  var BridgeClient = class {
1838
- constructor(resolveEntry, resolvePendingRestoreEvents, mediator, permissionTimeoutMs, maxPendingPerSession, fileSystem, onModelPromoted, onModePromoted, clientMcpSender, ownsSession = () => true, onTokenUsage, onCreateSubSession, onGenerationEvent, onWorkspaceGenerationEvent, onChannelDelivery, hasSessionSpawnInFlight = () => false, externalToolGuard) {
1843
+ constructor(resolveEntry, resolvePendingRestoreEvents, mediator, permissionTimeoutMs, maxPendingPerSession, fileSystem, onModelPromoted, onModePromoted, clientMcpSender, ownsSession = () => true, onTokenUsage, onCreateSubSession, onGenerationEvent, onWorkspaceGenerationEvent, onChannelDelivery, hasSessionSpawnInFlight = () => false, getLiveScreenContextCaptureHandler = () => void 0, getLiveTaskToolRequestHandler = () => void 0, getLiveSpeakToUserHandler = () => void 0, externalToolGuard) {
1839
1844
  this.resolveEntry = resolveEntry;
1840
1845
  this.resolvePendingRestoreEvents = resolvePendingRestoreEvents;
1841
1846
  this.mediator = mediator;
@@ -1852,6 +1857,9 @@ var BridgeClient = class {
1852
1857
  this.onWorkspaceGenerationEvent = onWorkspaceGenerationEvent;
1853
1858
  this.onChannelDelivery = onChannelDelivery;
1854
1859
  this.hasSessionSpawnInFlight = hasSessionSpawnInFlight;
1860
+ this.getLiveScreenContextCaptureHandler = getLiveScreenContextCaptureHandler;
1861
+ this.getLiveTaskToolRequestHandler = getLiveTaskToolRequestHandler;
1862
+ this.getLiveSpeakToUserHandler = getLiveSpeakToUserHandler;
1855
1863
  this.externalToolGuard = externalToolGuard;
1856
1864
  }
1857
1865
  static {
@@ -2130,6 +2138,15 @@ var BridgeClient = class {
2130
2138
  if (method === SERVE_CONTROL_EXT_METHODS.createSubSession) {
2131
2139
  return this.handleCreateSubSession(params);
2132
2140
  }
2141
+ if (method === SERVE_CONTROL_EXT_METHODS.liveCaptureScreenContext) {
2142
+ return this.handleLiveScreenContextCapture(params);
2143
+ }
2144
+ if (method === SERVE_CONTROL_EXT_METHODS.liveTaskTool) {
2145
+ return this.handleLiveTaskTool(params);
2146
+ }
2147
+ if (method === SERVE_CONTROL_EXT_METHODS.liveSpeakToUser) {
2148
+ return this.handleLiveSpeakToUser(params);
2149
+ }
2133
2150
  if (method === SERVE_CONTROL_EXT_METHODS.channelDelivery) {
2134
2151
  return this.handleChannelDelivery(params);
2135
2152
  }
@@ -2484,6 +2501,71 @@ var BridgeClient = class {
2484
2501
  ...result.parentSessionPersisted !== void 0 ? { parentSessionPersisted: result.parentSessionPersisted } : {}
2485
2502
  };
2486
2503
  }
2504
+ async handleLiveScreenContextCapture(params) {
2505
+ const handler = this.getLiveScreenContextCaptureHandler();
2506
+ if (!handler) {
2507
+ throw RequestError.methodNotFound(
2508
+ SERVE_CONTROL_EXT_METHODS.liveCaptureScreenContext
2509
+ );
2510
+ }
2511
+ const callerSessionId = params["callerSessionId"];
2512
+ if (typeof callerSessionId !== "string" || callerSessionId.length === 0 || !this.ownsSession(callerSessionId)) {
2513
+ throw RequestError.invalidParams(
2514
+ void 0,
2515
+ "`callerSessionId` is required and must name a session owned by this connection"
2516
+ );
2517
+ }
2518
+ const result = await handler({ callerSessionId });
2519
+ if (result.appName.length === 0 || result.appName.length > 512 || result.windowTitle !== void 0 && result.windowTitle.length > 2048 || result.accessibilityText.length > MAX_LIVE_SCREEN_CONTEXT_TEXT_CHARS || result.screenshotPath.length === 0 || result.screenshotPath.length > 4096) {
2520
+ throw RequestError.internalError(void 0, "Invalid Appshot result.");
2521
+ }
2522
+ return {
2523
+ appName: result.appName,
2524
+ ...result.windowTitle ? { windowTitle: result.windowTitle } : {},
2525
+ accessibilityText: result.accessibilityText,
2526
+ screenshotPath: result.screenshotPath
2527
+ };
2528
+ }
2529
+ async handleLiveTaskTool(params) {
2530
+ const handler = this.getLiveTaskToolRequestHandler();
2531
+ if (!handler) {
2532
+ throw RequestError.methodNotFound(SERVE_CONTROL_EXT_METHODS.liveTaskTool);
2533
+ }
2534
+ const callerSessionId = params["callerSessionId"];
2535
+ const name = params["name"];
2536
+ const args = params["arguments"];
2537
+ if (typeof callerSessionId !== "string" || callerSessionId.length === 0 || !this.ownsSession(callerSessionId) || typeof name !== "string" || !LIVE_TASK_TOOL_NAMES.includes(
2538
+ name
2539
+ ) || typeof args !== "object" || args === null || Array.isArray(args)) {
2540
+ throw RequestError.invalidParams(
2541
+ void 0,
2542
+ "Invalid Live task-tool request."
2543
+ );
2544
+ }
2545
+ return handler({
2546
+ callerSessionId,
2547
+ name,
2548
+ arguments: args
2549
+ });
2550
+ }
2551
+ async handleLiveSpeakToUser(params) {
2552
+ const handler = this.getLiveSpeakToUserHandler();
2553
+ if (!handler) {
2554
+ throw RequestError.methodNotFound(
2555
+ SERVE_CONTROL_EXT_METHODS.liveSpeakToUser
2556
+ );
2557
+ }
2558
+ const callerSessionId = params["callerSessionId"];
2559
+ const message = params["message"];
2560
+ if (typeof callerSessionId !== "string" || callerSessionId.length === 0 || !this.ownsSession(callerSessionId) || typeof message !== "string" || message.trim().length === 0 || message.length > MAX_LIVE_SPEAK_TO_USER_MESSAGE_CHARS) {
2561
+ throw RequestError.invalidParams(
2562
+ void 0,
2563
+ "Invalid Live speak-to-user request."
2564
+ );
2565
+ }
2566
+ await handler({ callerSessionId, message });
2567
+ return { accepted: true };
2568
+ }
2487
2569
  /**
2488
2570
  * Handle child->bridge ACP `extNotification` calls. Recognized methods are
2489
2571
  * `qwen/notify/session/model-update`,
@@ -2493,11 +2575,26 @@ var BridgeClient = class {
2493
2575
  * `qwen/notify/session/prompt-suggestion` (followup assist),
2494
2576
  * `qwen/notify/session/artifact-event` (hook artifacts),
2495
2577
  * `qwen/notify/session/terminal-sequence`, and
2578
+ * `_qwencode/end_turn` (background-notification turns), and
2496
2579
  * `qwen/notify/session/mcp-budget-event` — each translated into a
2497
2580
  * session-scoped SSE frame. Unknown methods are dropped silently for
2498
2581
  * forward-compat.
2499
2582
  */
2500
2583
  async extNotification(method, params) {
2584
+ if (method === "_qwencode/end_turn") {
2585
+ const sessionId2 = params["sessionId"];
2586
+ const reason = params["reason"];
2587
+ if (typeof sessionId2 !== "string" || sessionId2.length === 0 || typeof reason !== "string" || reason.length === 0 || reason.length > 128 || params["source"] !== "background_notification") {
2588
+ return;
2589
+ }
2590
+ const entry = this.resolveEntry(sessionId2);
2591
+ if (!entry || !this.ownsSession(sessionId2)) return;
2592
+ entry.events.publish({
2593
+ type: "background_notification_turn_complete",
2594
+ data: { sessionId: sessionId2, reason }
2595
+ });
2596
+ return;
2597
+ }
2501
2598
  if (method === "qwen/notify/session/generation/event") {
2502
2599
  const sessionId2 = params["sessionId"];
2503
2600
  const requestId = params["requestId"];
@@ -5993,6 +6090,9 @@ var DEFAULT_MAX_PENDING_PER_SESSION = 64;
5993
6090
  var DEFAULT_SESSION_REAP_INTERVAL_MS = 6e4;
5994
6091
  var DEFAULT_SESSION_IDLE_TIMEOUT_MS = 30 * 6e4;
5995
6092
  function createAcpSessionBridge(opts) {
6093
+ let liveScreenContextCaptureHandler;
6094
+ let liveTaskToolRequestHandler;
6095
+ let liveSpeakToUserHandler;
5996
6096
  const defaultSessionScope = opts.sessionScope ?? "single";
5997
6097
  let maxSessions;
5998
6098
  if (opts.maxSessions === void 0) {
@@ -6560,6 +6660,9 @@ function createAcpSessionBridge(opts) {
6560
6660
  },
6561
6661
  opts.onChannelDelivery,
6562
6662
  () => channelInfo?.sessionIds === sessionIds && channelInfo.sessionSpawnsInFlight > 0,
6663
+ () => liveScreenContextCaptureHandler,
6664
+ () => liveTaskToolRequestHandler,
6665
+ () => liveSpeakToUserHandler,
6563
6666
  opts.externalToolGuard
6564
6667
  );
6565
6668
  connection = new ClientSideConnection(() => client, channel.stream);
@@ -7750,9 +7853,15 @@ function createAcpSessionBridge(opts) {
7750
7853
  };
7751
7854
  }
7752
7855
  if (action === "load") {
7856
+ const liveJournal = snapshot.liveJournal.map((event) => {
7857
+ if (!entry.activePromptId || event.type !== "history_truncated" || !event.data || typeof event.data !== "object" || event.data.scope !== "live_journal") {
7858
+ return event;
7859
+ }
7860
+ return { ...event, promptId: entry.activePromptId };
7861
+ });
7753
7862
  return {
7754
7863
  compactedReplay: snapshot.compactedTurns,
7755
- liveJournal: snapshot.liveJournal,
7864
+ liveJournal,
7756
7865
  lastEventId: snapshot.lastEventId,
7757
7866
  eventEpoch,
7758
7867
  ...replayStatus,
@@ -7923,6 +8032,7 @@ function createAcpSessionBridge(opts) {
7923
8032
  return {
7924
8033
  sessionId: existing.sessionId,
7925
8034
  workspaceCwd: existing.workspaceCwd,
8035
+ ...existing.effectiveCwd !== existing.workspaceCwd ? { currentCwd: existing.effectiveCwd } : {},
7926
8036
  attached: true,
7927
8037
  clientId,
7928
8038
  createdAt: existing.createdAt,
@@ -8120,6 +8230,7 @@ function createAcpSessionBridge(opts) {
8120
8230
  return {
8121
8231
  sessionId: racedEntry.sessionId,
8122
8232
  workspaceCwd: racedEntry.workspaceCwd,
8233
+ ...racedEntry.effectiveCwd !== racedEntry.workspaceCwd ? { currentCwd: racedEntry.effectiveCwd } : {},
8123
8234
  attached: true,
8124
8235
  clientId: clientId2,
8125
8236
  createdAt: racedEntry.createdAt,
@@ -8355,6 +8466,15 @@ function createAcpSessionBridge(opts) {
8355
8466
  __name(closeSessionImpl, "closeSessionImpl");
8356
8467
  startSessionReaper();
8357
8468
  const bridgeApi = {
8469
+ setLiveScreenContextCaptureHandler(handler) {
8470
+ liveScreenContextCaptureHandler = handler;
8471
+ },
8472
+ setLiveTaskToolRequestHandler(handler) {
8473
+ liveTaskToolRequestHandler = handler;
8474
+ },
8475
+ setLiveSpeakToUserHandler(handler) {
8476
+ liveSpeakToUserHandler = handler;
8477
+ },
8358
8478
  getDaemonStatusSnapshot() {
8359
8479
  return {
8360
8480
  limits: {
@@ -8478,6 +8598,7 @@ function createAcpSessionBridge(opts) {
8478
8598
  return {
8479
8599
  sessionId: existing.sessionId,
8480
8600
  workspaceCwd: existing.workspaceCwd,
8601
+ ...existing.effectiveCwd !== existing.workspaceCwd ? { currentCwd: existing.effectiveCwd } : {},
8481
8602
  attached: true,
8482
8603
  clientId,
8483
8604
  createdAt: existing.createdAt,
@@ -8581,6 +8702,12 @@ function createAcpSessionBridge(opts) {
8581
8702
  entry,
8582
8703
  context?.clientId
8583
8704
  );
8705
+ const modelPrompt = context?.modelPrompt;
8706
+ if (modelPrompt !== void 0 && !isValidTrustedModelPrompt(modelPrompt)) {
8707
+ throw new TypeError(
8708
+ "Bridge modelPrompt must be a non-empty bounded string."
8709
+ );
8710
+ }
8584
8711
  if (signal?.aborted) {
8585
8712
  throw new DOMException("Prompt aborted", "AbortError");
8586
8713
  }
@@ -8627,6 +8754,14 @@ function createAcpSessionBridge(opts) {
8627
8754
  state: isQueued ? "queued" : "running"
8628
8755
  };
8629
8756
  entry.pendingPromptList.push(pendingEntry);
8757
+ try {
8758
+ context?.onPromptAdmitted?.();
8759
+ } catch (error) {
8760
+ opts.onDiagnosticLine?.(
8761
+ `qwen serve: prompt admission observer failed for session=${sessionId}: ${error instanceof Error ? error.message : String(error)}`,
8762
+ "warn"
8763
+ );
8764
+ }
8630
8765
  const deadlineMs = context?.deadlineMs;
8631
8766
  const hasDeadline = typeof deadlineMs === "number" && Number.isFinite(deadlineMs) && deadlineMs > 0;
8632
8767
  let deadlineReject;
@@ -8755,6 +8890,7 @@ function createAcpSessionBridge(opts) {
8755
8890
  delete meta[PRIVATE_PARENT_CAPABILITY_META_KEY];
8756
8891
  delete meta[DAEMON_CONTINUE_META_KEY];
8757
8892
  delete meta[DAEMON_CHANNEL_DELIVERY_META_KEY];
8893
+ delete meta[DAEMON_MODEL_PROMPT_META_KEY];
8758
8894
  if (isRetry) {
8759
8895
  meta[DAEMON_RETRY_META_KEY] = true;
8760
8896
  }
@@ -8764,6 +8900,9 @@ function createAcpSessionBridge(opts) {
8764
8900
  if (context?.channelDelivery) {
8765
8901
  meta[DAEMON_CHANNEL_DELIVERY_META_KEY] = context.channelDelivery;
8766
8902
  }
8903
+ if (modelPrompt !== void 0) {
8904
+ meta[DAEMON_MODEL_PROMPT_META_KEY] = modelPrompt;
8905
+ }
8767
8906
  meta[INVOCATION_CONTEXT_META_KEY] = invocationContext;
8768
8907
  if (Object.keys(meta).length > 0) {
8769
8908
  copy._meta = meta;
@@ -9292,7 +9431,8 @@ function createAcpSessionBridge(opts) {
9292
9431
  {
9293
9432
  sessionId,
9294
9433
  path: req.path,
9295
- ...req.allowedRoots ? { allowedRoots: req.allowedRoots } : {}
9434
+ ...req.allowedRoots ? { allowedRoots: req.allowedRoots } : {},
9435
+ ...req.managedRelocation ? { managedRelocation: req.managedRelocation } : {}
9296
9436
  }
9297
9437
  );
9298
9438
  const extResult = raw;
@@ -10030,6 +10170,20 @@ function createAcpSessionBridge(opts) {
10030
10170
  refreshed: result.refreshed ?? false
10031
10171
  };
10032
10172
  },
10173
+ async setSessionLiveConversationActive(sessionId, active) {
10174
+ await requestSessionStatus(
10175
+ sessionId,
10176
+ SERVE_CONTROL_EXT_METHODS.sessionLiveConversation,
10177
+ { active }
10178
+ );
10179
+ },
10180
+ async appendSessionLiveTranscript(sessionId, entries, model) {
10181
+ await requestSessionStatus(
10182
+ sessionId,
10183
+ SERVE_CONTROL_EXT_METHODS.sessionLiveTranscript,
10184
+ { entries, model }
10185
+ );
10186
+ },
10033
10187
  async setSessionApprovalMode(sessionId, mode, opts2, context) {
10034
10188
  const entry = byId.get(sessionId);
10035
10189
  if (!entry) throw new SessionNotFoundError(sessionId);
@@ -10237,6 +10391,24 @@ function createAcpSessionBridge(opts) {
10237
10391
  entry.midTurnMessageQueue.splice(index, 1);
10238
10392
  return { removed: true };
10239
10393
  },
10394
+ async enqueueBackgroundNotification(sessionId, notification) {
10395
+ const entry = byId.get(sessionId);
10396
+ if (!entry) throw new SessionNotFoundError(sessionId);
10397
+ const info = channelInfoForEntry(entry);
10398
+ if (!info || info.isDying) throw new SessionNotFoundError(sessionId);
10399
+ const response = await Promise.race([
10400
+ withTimeout(
10401
+ entry.connection.extMethod(
10402
+ SERVE_CONTROL_EXT_METHODS.sessionBackgroundNotification,
10403
+ { sessionId, ...notification }
10404
+ ),
10405
+ initTimeoutMs,
10406
+ SERVE_CONTROL_EXT_METHODS.sessionBackgroundNotification
10407
+ ),
10408
+ getTransportClosedReject(entry)
10409
+ ]);
10410
+ return { sessionId, accepted: response["accepted"] === true };
10411
+ },
10240
10412
  async generateSessionBtw(sessionId, question, signal, _context) {
10241
10413
  const entry = byId.get(sessionId);
10242
10414
  if (!entry) throw new SessionNotFoundError(sessionId);
@@ -11119,6 +11291,7 @@ export {
11119
11291
  SessionArtifactAuthorizationError,
11120
11292
  SESSION_SOURCE_META_KEY,
11121
11293
  parseSessionSource,
11294
+ isA2uiToolMeta,
11122
11295
  extractErrorMessage,
11123
11296
  extractErrorCode,
11124
11297
  classifyTurnErrorKind,
@@ -2,20 +2,20 @@
2
2
  "use strict";
3
3
  import {
4
4
  performStandaloneUpdate
5
- } from "./chunk-AFZTZLFB.js";
5
+ } from "./chunk-GSS34377.js";
6
6
  import {
7
7
  updateEventEmitter
8
8
  } from "./chunk-YAF2MQZ6.js";
9
9
  import {
10
10
  t
11
- } from "./chunk-546CDN6D.js";
11
+ } from "./chunk-DBOFL3LQ.js";
12
12
  import {
13
13
  getInstallationInfo,
14
14
  resolveUpdateCommand
15
- } from "./chunk-ZQL73PPE.js";
15
+ } from "./chunk-HYRDKNUY.js";
16
16
  import {
17
17
  createDebugLogger
18
- } from "./chunk-3RXUYQJI.js";
18
+ } from "./chunk-OIVKILPI.js";
19
19
  import {
20
20
  init_esbuild_shims
21
21
  } from "./chunk-5O2XNYP6.js";
@@ -9,15 +9,15 @@ import {
9
9
  } from "./chunk-AQ37AY7B.js";
10
10
  import {
11
11
  DEFAULT_FILE_FILTERING_OPTIONS
12
- } from "./chunk-432XCUHF.js";
12
+ } from "./chunk-EQL65XGA.js";
13
13
  import {
14
14
  ToolNames
15
- } from "./chunk-D7D7RXIJ.js";
15
+ } from "./chunk-IC4Z6LX6.js";
16
16
  import {
17
17
  createDebugLogger,
18
18
  getErrorMessage,
19
19
  isNodeError
20
- } from "./chunk-3RXUYQJI.js";
20
+ } from "./chunk-OIVKILPI.js";
21
21
  import {
22
22
  init_esbuild_shims
23
23
  } from "./chunk-5O2XNYP6.js";
@@ -692,7 +692,7 @@ __name(resolveForkExecutionAllowedTools, "resolveForkExecutionAllowedTools");
692
692
  function registerForkDisplayImageForCache(config, advertisedToolNames) {
693
693
  if (!advertisedToolNames.includes(ToolNames.DISPLAY_IMAGE)) return;
694
694
  config.getToolRegistry().registerFactory(ToolNames.DISPLAY_IMAGE, async () => {
695
- const { DisplayImageTool } = await import("./display-image-GUJA352B.js");
695
+ const { DisplayImageTool } = await import("./display-image-O2XFPQTC.js");
696
696
  return new DisplayImageTool(config);
697
697
  });
698
698
  }
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  getErrorStatus
5
- } from "./chunk-3RXUYQJI.js";
5
+ } from "./chunk-OIVKILPI.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -16,7 +16,10 @@ import {
16
16
  MODIFIER_SHIFT_BIT,
17
17
  MODIFIER_SUPER_BIT,
18
18
  clipboardHasImage
19
- } from "./chunk-3LGZEYOF.js";
19
+ } from "./chunk-YHEEE624.js";
20
+ import {
21
+ noteInteraction
22
+ } from "./chunk-KW7NOTN6.js";
20
23
  import {
21
24
  require_jsx_runtime
22
25
  } from "./chunk-SV5PQVQE.js";
@@ -27,16 +30,13 @@ import {
27
30
  import {
28
31
  require_react
29
32
  } from "./chunk-5QWWOFGG.js";
30
- import {
31
- noteInteraction
32
- } from "./chunk-KW7NOTN6.js";
33
33
  import {
34
34
  KittySequenceOverflowEvent,
35
35
  logKittySequenceOverflow
36
- } from "./chunk-O656RSMC.js";
36
+ } from "./chunk-2U3WZGZG.js";
37
37
  import {
38
38
  createDebugLogger
39
- } from "./chunk-3RXUYQJI.js";
39
+ } from "./chunk-OIVKILPI.js";
40
40
  import {
41
41
  init_esbuild_shims
42
42
  } from "./chunk-5O2XNYP6.js";
@@ -30,7 +30,7 @@ import {
30
30
  isChannelStartupReportType,
31
31
  isChannelWebhookEnqueueErrorCode,
32
32
  isChannelWebhookTaskResultMessage
33
- } from "./chunk-QONSRAEV.js";
33
+ } from "./chunk-YP5KH5Y7.js";
34
34
  import {
35
35
  createWorkerDiagnosticRedactor,
36
36
  normalizeWorkerDiagnostic,
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  getInboxesDir
5
- } from "./chunk-33FNCQSY.js";
5
+ } from "./chunk-7MH4J33A.js";
6
6
  import {
7
7
  require_proper_lockfile
8
8
  } from "./chunk-KRXPRVGL.js";
@@ -11,11 +11,11 @@ import {
11
11
  } from "./chunk-VGC4I5JJ.js";
12
12
  import {
13
13
  atomicWriteJSON
14
- } from "./chunk-UH7Z7Y45.js";
14
+ } from "./chunk-FOGU3LJX.js";
15
15
  import {
16
16
  createDebugLogger,
17
17
  isNodeError
18
- } from "./chunk-3RXUYQJI.js";
18
+ } from "./chunk-OIVKILPI.js";
19
19
  import {
20
20
  init_esbuild_shims
21
21
  } from "./chunk-5O2XNYP6.js";
@@ -75,7 +75,7 @@ var LOCK_OPTIONS = {
75
75
  // Stale locks from crashed processes are expected in multi-agent
76
76
  // scenarios; log at debug level for traceability without noise.
77
77
  onCompromised: /* @__PURE__ */ __name((err) => {
78
- debug.debug("mailbox lock compromised:", err?.message ?? err);
78
+ debug.debug("mailbox lock compromised:", err);
79
79
  }, "onCompromised")
80
80
  };
81
81
  var inboxLocks = /* @__PURE__ */ new Map();
@@ -106,7 +106,11 @@ async function withInboxLock(inboxPath, fn) {
106
106
  try {
107
107
  return await fn();
108
108
  } finally {
109
- await release();
109
+ try {
110
+ await release();
111
+ } catch (error) {
112
+ debug.debug("Failed to release mailbox lock:", error);
113
+ }
110
114
  }
111
115
  });
112
116
  }
@@ -79,6 +79,14 @@ function logSlowClientWarning(data) {
79
79
  }
80
80
  }
81
81
  __name(logSlowClientWarning, "logSlowClientWarning");
82
+ function subscriberDiagnosticHandled(sub, diagnostic) {
83
+ try {
84
+ return sub.onSubscriberDiagnostic?.(diagnostic) === true;
85
+ } catch {
86
+ return false;
87
+ }
88
+ }
89
+ __name(subscriberDiagnosticHandled, "subscriberDiagnosticHandled");
82
90
  var SubscriberLimitExceededError = class extends Error {
83
91
  static {
84
92
  __name(this, "SubscriberLimitExceededError");
@@ -222,7 +230,17 @@ var EventBus = class {
222
230
  maxQueuedBytes: sub.maxQueuedBytes,
223
231
  ...pushResult.reason === "queue_bytes_overflow" ? { eventBytes: pushResult.eventBytes } : {}
224
232
  };
225
- logSubscriberEvicted(evictionData);
233
+ const evictionDiagnostic = {
234
+ type: "client_evicted",
235
+ data: {
236
+ ...evictionData,
237
+ triggerEventType: event.type,
238
+ triggerEventBytes: eventBytes
239
+ }
240
+ };
241
+ if (!subscriberDiagnosticHandled(sub, evictionDiagnostic)) {
242
+ logSubscriberEvicted(evictionData);
243
+ }
226
244
  const evictionFrame = {
227
245
  v: EVENT_SCHEMA_VERSION,
228
246
  type: "client_evicted",
@@ -254,7 +272,17 @@ var EventBus = class {
254
272
  maxQueuedBytes: sub.maxQueuedBytes,
255
273
  threshold
256
274
  };
257
- logSlowClientWarning(warningData);
275
+ const warningDiagnostic = {
276
+ type: "slow_client_warning",
277
+ data: {
278
+ ...warningData,
279
+ triggerEventType: event.type,
280
+ triggerEventBytes: eventBytes
281
+ }
282
+ };
283
+ if (!subscriberDiagnosticHandled(sub, warningDiagnostic)) {
284
+ logSlowClientWarning(warningData);
285
+ }
258
286
  const warningFrame = {
259
287
  v: EVENT_SCHEMA_VERSION,
260
288
  type: "slow_client_warning",
@@ -301,6 +329,7 @@ var EventBus = class {
301
329
  warnBytesThreshold: WARN_THRESHOLD_RATIO * this.maxQueuedBytes,
302
330
  warnBytesResetThreshold: WARN_RESET_RATIO * this.maxQueuedBytes,
303
331
  warned: false,
332
+ onSubscriberDiagnostic: opts.onSubscriberDiagnostic,
304
333
  dispose: /* @__PURE__ */ __name(() => {
305
334
  }, "dispose")
306
335
  };
@@ -5,7 +5,7 @@ import {
5
5
  BaseToolInvocation,
6
6
  ToolDisplayNames,
7
7
  ToolNames
8
- } from "./chunk-D7D7RXIJ.js";
8
+ } from "./chunk-IC4Z6LX6.js";
9
9
  import {
10
10
  init_esbuild_shims
11
11
  } from "./chunk-5O2XNYP6.js";