@qwen-code/qwen-code 0.21.6-preview.0 → 0.21.7-nightly.20260807.fca8f3c1f

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-NHT7OJY4.js} +38 -38
  8. package/chunks/{StandaloneSessionPicker-NGLY26I4.js → StandaloneSessionPicker-B2BHAP6E.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-ITFWQGW2.js} +1091 -150
  11. package/chunks/{agent-2P53VL2L.js → agent-CQ66PAFN.js} +35 -35
  12. package/chunks/{agent-headless-6X4GCFRD.js → agent-headless-XFODWIW2.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-5XPZZ43S.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-ZRWVDSMY.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-2VSTGY6M.js +107 -0
  24. package/chunks/{chunk-MBEMTXQT.js → chunk-3K7FH2KQ.js} +1 -32
  25. package/chunks/{chunk-ZH7G3A4U.js → chunk-3KY5HXE6.js} +4 -4
  26. package/chunks/{chunk-QYPT3QUD.js → chunk-3ULCB3NE.js} +3 -3
  27. package/chunks/{chunk-DOICUTPO.js → chunk-4L3YFXQL.js} +11 -10
  28. package/chunks/{chunk-WIPQR44Y.js → chunk-4UKNQ2HI.js} +3 -3
  29. package/chunks/{chunk-AU3XNTMV.js → chunk-52AXQBAY.js} +3 -3
  30. package/chunks/{chunk-6KEN3RIC.js → chunk-5JFKVENR.js} +3 -3
  31. package/chunks/{chunk-TVFC3XF5.js → chunk-5OYWFYX3.js} +7 -7
  32. package/chunks/{chunk-4E5PO6R7.js → chunk-6IKXD7ZR.js} +4 -4
  33. package/chunks/{chunk-5L6CQ4ZU.js → chunk-6M26GBKX.js} +2 -2
  34. package/chunks/{chunk-XOZ2R6XI.js → chunk-7GXFPUOL.js} +3578 -1487
  35. package/chunks/{chunk-4T6QMNX2.js → chunk-7HMDOAIC.js} +185 -12
  36. package/chunks/{chunk-33FNCQSY.js → chunk-7MH4J33A.js} +2 -2
  37. package/chunks/{chunk-2AGOQ7QO.js → chunk-7UFKAV7Y.js} +118 -6
  38. package/chunks/{chunk-JELIWHXD.js → chunk-AOHJKPKL.js} +1 -1
  39. package/chunks/{chunk-SPUDIAHX.js → chunk-ASSORJG6.js} +530 -388
  40. package/chunks/{chunk-GLNBDYUX.js → chunk-AXMWHKXA.js} +6 -2
  41. package/chunks/{chunk-H36SETQS.js → chunk-B2GJNDTV.js} +1 -1
  42. package/chunks/{chunk-RTWF7FF7.js → chunk-BDE433DP.js} +5 -5
  43. package/chunks/{chunk-6D6V55ZQ.js → chunk-BEBG3YE6.js} +1 -1
  44. package/chunks/{chunk-QMBEW7EW.js → chunk-BGG4MBYD.js} +2 -2
  45. package/chunks/{chunk-QL4TN4HS.js → chunk-BRVWYMKV.js} +1 -1
  46. package/chunks/{chunk-6WBWIPBF.js → chunk-BVWVWGLE.js} +2 -2
  47. package/chunks/{chunk-WPKIU4PA.js → chunk-CFJIT7IA.js} +6 -6
  48. package/chunks/{chunk-2UISUFHQ.js → chunk-CJXIIILK.js} +3 -3
  49. package/chunks/{chunk-WK4TJUEA.js → chunk-CKASRHZI.js} +1 -1
  50. package/chunks/{chunk-Z7JILXGX.js → chunk-CNIID3TV.js} +3 -3
  51. package/chunks/{chunk-KKN2IE7Q.js → chunk-CTJLZLB5.js} +1 -1
  52. package/chunks/{chunk-URJHXOSO.js → chunk-CYR3HI5X.js} +3 -3
  53. package/chunks/{chunk-4LKVQFHM.js → chunk-DREZZAZM.js} +2 -2
  54. package/chunks/{chunk-QWUYFMAR.js → chunk-E24IQ3WV.js} +87 -67
  55. package/chunks/{chunk-WXS647W5.js → chunk-E2DXJHVN.js} +3 -3
  56. package/chunks/{chunk-2U7GPHA6.js → chunk-E33LOKRA.js} +1 -1
  57. package/chunks/{chunk-CDHNGCJI.js → chunk-ECTZI76Q.js} +7 -7
  58. package/chunks/{chunk-2DNKEBXY.js → chunk-EI3HZX6C.js} +1 -1
  59. package/chunks/{chunk-U25CMJYY.js → chunk-EKPKKXY2.js} +1 -1
  60. package/chunks/{chunk-432XCUHF.js → chunk-EQL65XGA.js} +1 -1
  61. package/chunks/{chunk-TYERNYH4.js → chunk-EUNWC2VS.js} +2 -2
  62. package/chunks/{chunk-546CDN6D.js → chunk-F4SQY4RB.js} +3 -3
  63. package/chunks/{chunk-NKST54XA.js → chunk-FBPPGNA4.js} +1 -1
  64. package/chunks/{chunk-MFBUJMQ3.js → chunk-FCBM3ZRY.js} +4 -4
  65. package/chunks/{chunk-UH7Z7Y45.js → chunk-FOGU3LJX.js} +1 -1
  66. package/chunks/{chunk-O656RSMC.js → chunk-FTJUO7R2.js} +18 -10
  67. package/chunks/{chunk-E4WHKETF.js → chunk-FVKHVJZQ.js} +2 -49
  68. package/chunks/{chunk-XZCMQUOF.js → chunk-GDXET5XU.js} +31 -3387
  69. package/chunks/{chunk-A5YZ3FA2.js → chunk-GM463R2B.js} +1 -1
  70. package/chunks/{chunk-MOHAWIAW.js → chunk-GNPNYXJB.js} +2 -2
  71. package/chunks/{chunk-HKNSU4WX.js → chunk-GUHLKZ57.js} +198 -35
  72. package/chunks/{chunk-N47ZM2KI.js → chunk-HCVI44SK.js} +12 -12
  73. package/chunks/{chunk-BK2UNYWD.js → chunk-HIBNSEJE.js} +12 -0
  74. package/chunks/{chunk-FDV3CXTD.js → chunk-HMUV7245.js} +3 -3
  75. package/chunks/{chunk-DOA7MCDY.js → chunk-I3LJQR5I.js} +973 -892
  76. package/chunks/{chunk-D7D7RXIJ.js → chunk-IC4Z6LX6.js} +1 -1
  77. package/chunks/{chunk-HU5TUALO.js → chunk-IIJEYBNH.js} +3 -3
  78. package/chunks/{chunk-DTAPI453.js → chunk-IUFV6FYU.js} +2 -2
  79. package/chunks/{chunk-MISUEWB4.js → chunk-J6SZID63.js} +12 -8
  80. package/chunks/{chunk-OWAK7LMW.js → chunk-KGJGEEVR.js} +7 -0
  81. package/chunks/{chunk-C4GRKMUL.js → chunk-KGT25P47.js} +5 -5
  82. package/chunks/{chunk-BFHXDAR7.js → chunk-KKBPOU75.js} +1 -1
  83. package/chunks/{chunk-T4XY5CT4.js → chunk-KNTWLSVD.js} +7 -7
  84. package/chunks/{chunk-3ZRS2XNY.js → chunk-KU4MUGRF.js} +1 -1
  85. package/chunks/{chunk-MGSSJT27.js → chunk-L4N6TIP7.js} +5 -3
  86. package/chunks/{chunk-VDLXPEI5.js → chunk-LFVXMYII.js} +3 -3
  87. package/chunks/{chunk-WVAESIM6.js → chunk-LZC3B5N2.js} +4 -4
  88. package/chunks/{chunk-XSGQKR37.js → chunk-M5RUXX6P.js} +358 -20
  89. package/chunks/{chunk-6O5DVH27.js → chunk-M6HMMKVG.js} +1 -1
  90. package/chunks/{chunk-PQTK2FVO.js → chunk-MA5SUU2Q.js} +4 -4
  91. package/chunks/{chunk-XNZBXQCG.js → chunk-MKVZE4ZJ.js} +1 -1
  92. package/chunks/{chunk-7FUVSN4D.js → chunk-MPLEQFEL.js} +1 -1
  93. package/chunks/{chunk-I7JDGNG6.js → chunk-MVUQRLOH.js} +9 -5
  94. package/chunks/{chunk-GLWP3FDB.js → chunk-MZSJ43WV.js} +31 -2
  95. package/chunks/{chunk-ZPPP6VCL.js → chunk-NG2R4N5O.js} +1 -1
  96. package/chunks/chunk-NKLP3DCK.js +22 -0
  97. package/chunks/{chunk-WIRAPZ62.js → chunk-NLREQJFK.js} +7 -1
  98. package/chunks/{chunk-IKXE3AAC.js → chunk-OCEXSMWS.js} +2 -2
  99. package/chunks/{chunk-3RXUYQJI.js → chunk-OIVKILPI.js} +49 -0
  100. package/chunks/{chunk-LBWNSLJK.js → chunk-ONSZH6VM.js} +2 -2
  101. package/chunks/{chunk-XKTCA6BW.js → chunk-ORTYIRZU.js} +5 -5
  102. package/chunks/{chunk-5CDI4UOY.js → chunk-ORYNZTB7.js} +131 -48
  103. package/chunks/{chunk-DYA25Y7U.js → chunk-OWMAZHIX.js} +1 -1
  104. package/chunks/{chunk-Y5HIDFKZ.js → chunk-P2PTEG3P.js} +4 -4
  105. package/chunks/{chunk-IISDPZ5X.js → chunk-P4PAGFDT.js} +1 -1
  106. package/chunks/{chunk-P7LKADIT.js → chunk-PRYJZGR4.js} +7 -7
  107. package/chunks/{chunk-NYZAL2W2.js → chunk-PVNUY34T.js} +4 -4
  108. package/chunks/{chunk-GTM6IHBB.js → chunk-Q3JQ7OSU.js} +2 -1
  109. package/chunks/{chunk-SQ3ZJOYL.js → chunk-QBUXNKTM.js} +20 -20
  110. package/chunks/{chunk-Z5S6KH2B.js → chunk-QT34NLGU.js} +6 -6
  111. package/chunks/{chunk-UKZEXS6K.js → chunk-R574ATRM.js} +11 -0
  112. package/chunks/{chunk-MVLM6PJK.js → chunk-RFA3YH5R.js} +6 -2
  113. package/chunks/chunk-RGSBTHSU.js +3381 -0
  114. package/chunks/{chunk-3DTM3RPU.js → chunk-S7CV4KO6.js} +3 -3
  115. package/chunks/{chunk-6KZP75GT.js → chunk-SDSQ7C4Y.js} +1 -1
  116. package/chunks/{chunk-YAVY33G4.js → chunk-SEZ556DZ.js} +1 -1
  117. package/chunks/chunk-SOORFWKY.js +155 -0
  118. package/chunks/{chunk-DBIEZC7T.js → chunk-ST774VGY.js} +42 -16
  119. package/chunks/{chunk-X6DV3WKN.js → chunk-T444EKH5.js} +1 -1
  120. package/chunks/{chunk-CJBRIJ7W.js → chunk-T7WJWZCG.js} +3 -3
  121. package/chunks/{chunk-NAYPZ72V.js → chunk-TPQ6RO65.js} +1 -1
  122. package/chunks/{chunk-KVUBYJDM.js → chunk-TZEZYNYD.js} +1 -1
  123. package/chunks/{chunk-YUVTZ4UH.js → chunk-U5G2PZAQ.js} +114 -18
  124. package/chunks/{chunk-XC2VAFVZ.js → chunk-UVX4Y6IN.js} +1 -1
  125. package/chunks/{chunk-WAOLM6SQ.js → chunk-VHINCBEK.js} +1 -1
  126. package/chunks/{chunk-AFZTZLFB.js → chunk-VIOH2OOE.js} +3 -3
  127. package/chunks/{chunk-M744OFVE.js → chunk-W7U4ESW2.js} +1 -1
  128. package/chunks/{chunk-URN76TKR.js → chunk-WCG5O7IP.js} +2 -2
  129. package/chunks/{chunk-QG2ACINA.js → chunk-WIAN5MYB.js} +1 -1
  130. package/chunks/{chunk-ZQL73PPE.js → chunk-WLAO54CV.js} +2 -2
  131. package/chunks/{chunk-EKWNNQQD.js → chunk-X26KCG3L.js} +16 -10
  132. package/chunks/{chunk-AVDEBBMI.js → chunk-X6VISCPN.js} +2 -2
  133. package/chunks/{chunk-A6SX5TAH.js → chunk-XCWO3SMQ.js} +9 -5
  134. package/chunks/{chunk-WVRJKSIG.js → chunk-XR4VN3GB.js} +1 -1
  135. package/chunks/{chunk-BU4BRCPX.js → chunk-Y4F5PBY5.js} +5 -5
  136. package/chunks/{chunk-3PRJYMXC.js → chunk-Y4NGLFGJ.js} +1 -1
  137. package/chunks/{chunk-DG563ZCS.js → chunk-YD26XH5B.js} +3 -3
  138. package/chunks/{chunk-3LGZEYOF.js → chunk-YHEEE624.js} +2 -2
  139. package/chunks/{chunk-QONSRAEV.js → chunk-YP5KH5Y7.js} +1 -1
  140. package/chunks/{chunk-EHMN6SEG.js → chunk-YPQ4IEVV.js} +4 -4
  141. package/chunks/{chunk-CXYBX4AL.js → chunk-Z2MB7HS7.js} +1 -1
  142. package/chunks/{chunk-72DZPDH4.js → chunk-ZFJBQATO.js} +10 -5
  143. package/chunks/{chunk-7GYP5COR.js → chunk-ZXU5UHMI.js} +1 -1
  144. package/chunks/{computer-use-GTOP2CVH.js → computer-use-4WCG6FX3.js} +35 -35
  145. package/chunks/{config-utils-LIRO7NSU.js → config-utils-K7SCOWHD.js} +2 -2
  146. package/chunks/{contextCommand-K6T6RRF3.js → contextCommand-MLJEOUZY.js} +38 -38
  147. package/chunks/{core-runtime-D2626QQU.js → core-runtime-LKSDQXFB.js} +35 -35
  148. package/chunks/{create-sub-session-6EWLAZD5.js → create-sub-session-E4PBYXV5.js} +2 -2
  149. package/chunks/create-sub-session-ZJ7OYXRW.js +772 -0
  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-2TPABSC6.js} +45 -45
  155. package/chunks/{daemon-trust-policy-B3EPDJDR.js → daemon-trust-policy-U5Q3LRKV.js} +41 -41
  156. package/chunks/{daemon-trust-policy-monitor-MFM5X26G.js → daemon-trust-policy-monitor-REIZABHN.js} +41 -41
  157. package/chunks/{deferred-core-runtime-KXN7HLN7.js → deferred-core-runtime-ONWSGDPN.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-Q7CO2QN4.js} +36 -36
  163. package/chunks/{edit-DMFCBP2D.js → edit-PBU33DGY.js} +35 -35
  164. package/chunks/{enter-worktree-5SVBCXFC.js → enter-worktree-WCRF2AA5.js} +35 -35
  165. package/chunks/{enterPlanMode-QUIZFQ4M.js → enterPlanMode-E2RXSZSG.js} +35 -35
  166. package/chunks/{environment-U6QP23VJ.js → environment-KA6OBBY4.js} +38 -38
  167. package/chunks/{errors-GZWFA6ON.js → errors-XYCANYTN.js} +38 -38
  168. package/chunks/{exit-worktree-FUB44KAF.js → exit-worktree-CQLRKE26.js} +35 -35
  169. package/chunks/{exitPlanMode-XSHHYR73.js → exitPlanMode-AP7XQVRL.js} +35 -35
  170. package/chunks/{fast-path-JHQJSIMZ.js → fast-path-DHKCBUUQ.js} +2 -2
  171. package/chunks/{gemini-O44ETOKT.js → gemini-RGYIKOL6.js} +78 -78
  172. package/chunks/{geminiContentGenerator-TTM4TZJM.js → geminiContentGenerator-ZLI7NARI.js} +6 -6
  173. package/chunks/{glob-YECOWTRW.js → glob-R4R7OG4W.js} +35 -35
  174. package/chunks/{goal-tools-3AZKX5WQ.js → goal-tools-APOW6UXL.js} +3 -3
  175. package/chunks/{grep-BZO4LOTA.js → grep-BO5M2UCN.js} +35 -35
  176. package/chunks/{handleAutoUpdate-TOO52D6H.js → handleAutoUpdate-ZTHIKBZM.js} +40 -40
  177. package/chunks/{i18n-ARJYXZQ5.js → i18n-GNC2NNVA.js} +37 -37
  178. package/chunks/{image-gen-J6Q2YBEU.js → image-gen-2XYVOLT5.js} +9 -9
  179. package/chunks/{initializer-CEZ4RPQV.js → initializer-VXLEBSSB.js} +42 -42
  180. package/chunks/{installationInfo-AEGIIQAT.js → installationInfo-QBJ7GECU.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-VLARA3NO.js} +44 -44
  183. package/chunks/{list-agents-GC4BRET7.js → list-agents-KFFIIS2G.js} +2 -2
  184. package/chunks/{loadedSettingsAdapter-YK5SBHOT.js → loadedSettingsAdapter-AQWO3DKQ.js} +41 -41
  185. package/chunks/{loggingContentGenerator-I7QDXS43.js → loggingContentGenerator-JPOQJB44.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-LEIM7R7Z.js} +48 -39
  190. package/chunks/{mcp-RKFQZXP6.js → mcp-WDSZDEUK.js} +41 -41
  191. package/chunks/{monitor-QHHJIKGL.js → monitor-XEIMDJKT.js} +35 -35
  192. package/chunks/{nonInteractiveCli-XEBIE7MG.js → nonInteractiveCli-GA7CHB27.js} +75 -75
  193. package/chunks/{notebook-edit-SG7X2EQA.js → notebook-edit-HBVYJEYN.js} +35 -35
  194. package/chunks/{openaiContentGenerator-63CVR33K.js → openaiContentGenerator-D6DYXZD3.js} +19 -19
  195. package/chunks/{pidfile-I3CXJGQD.js → pidfile-DWDNVKET.js} +36 -36
  196. package/chunks/{processUtils-LJ3DSANX.js → processUtils-Y2SQQ2RR.js} +2 -2
  197. package/chunks/{qwenContentGenerator-JINBVCH6.js → qwenContentGenerator-MTXRA2IT.js} +40 -40
  198. package/chunks/{qwenOAuth2-SY2O3NRR.js → qwenOAuth2-HQSYUQ2E.js} +8 -8
  199. package/chunks/{read-file-PGTXF25I.js → read-file-IUAEEXBO.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-J244DBOH.js} +42 -41
  203. package/chunks/{ripGrep-IY3KGPM6.js → ripGrep-NBENZCHO.js} +35 -35
  204. package/chunks/{run-qwen-serve-UYEMGPKA.js → run-qwen-serve-2G754FJE.js} +516 -87
  205. package/chunks/{runtime-CG3BKRFE.js → runtime-KBSESBIX.js} +44 -44
  206. package/chunks/{scheduler-VFUVGDE5.js → scheduler-INHLDC26.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-G2BCUQNM.js} +42 -42
  211. package/chunks/{server-WS7LWXPP.js → server-3BD6DIW3.js} +7952 -611
  212. package/chunks/{session-IQLCT32T.js → session-HGXANTYW.js} +78 -78
  213. package/chunks/{settings-NX4EUIE6.js → settings-VYFBEZ2R.js} +40 -40
  214. package/chunks/{shell-THDYM4CS.js → shell-3LBKDXAW.js} +35 -35
  215. package/chunks/{skill-OXXZBNQB.js → skill-W576UXSL.js} +14 -14
  216. package/chunks/{skill-settings-T3JZ33T2.js → skill-settings-ZNUIJMJT.js} +40 -40
  217. package/chunks/{spawnChannel-COLJMSA7.js → spawnChannel-AUUVHV5S.js} +37 -37
  218. package/chunks/{standalone-update-ICW7H5IF.js → standalone-update-WEQVL7DN.js} +38 -38
  219. package/chunks/{startInteractiveUI-6BDRXSMF.js → startInteractiveUI-V3B5M5PY.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-4TEVQYI5.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-UOSTAB7R.js} +35 -35
  229. package/chunks/{terminal-image-renderer-PW6Z6VFY.js → terminal-image-renderer-VO6W4YSM.js} +41 -36
  230. package/chunks/{theme-manager-CMVKD2JH.js → theme-manager-HOYUCAJ5.js} +36 -36
  231. package/chunks/{todoWrite-MHWHO5UO.js → todoWrite-UPVOHYGD.js} +4 -4
  232. package/chunks/{tool-search-SQTUSG6P.js → tool-search-NRMWTH3L.js} +13 -13
  233. package/chunks/{total-session-admission-XAXOSE46.js → total-session-admission-KHBGXD6A.js} +41 -41
  234. package/chunks/{trustedFolders-Z2UAEG2V.js → trustedFolders-AH242HLO.js} +37 -37
  235. package/chunks/{update-relaunch-JBLI6LJF.js → update-relaunch-R3M25PND.js} +6 -6
  236. package/chunks/{updateCheck-FDAVGOFT.js → updateCheck-4O2CMHMG.js} +39 -39
  237. package/chunks/{useAutoAcceptIndicator-PDZFIYRM.js → useAutoAcceptIndicator-KZSKP3RY.js} +44 -44
  238. package/chunks/{validateNonInterActiveAuth-Q4763ONQ.js → validateNonInterActiveAuth-7AXUFNBE.js} +72 -72
  239. package/chunks/{version-C7MPCGWD.js → version-BE7H2MTM.js} +1 -1
  240. package/chunks/{web-fetch-L7RAPOJB.js → web-fetch-C7FQ24BP.js} +13 -13
  241. package/chunks/{web-search-IDOYUOWX.js → web-search-7FPW6ECJ.js} +9 -9
  242. package/chunks/web-shell-static-O73YPVVC.js +33 -0
  243. package/chunks/{workflow-HXURUJB5.js → workflow-3LAE5AL7.js} +36 -36
  244. package/chunks/{workspace-providers-status-JZ3GPWNU.js → workspace-providers-status-UXZKS6SE.js} +44 -44
  245. package/chunks/{workspace-registration-store-SM2PWB6L.js → workspace-registration-store-DSS57KLV.js} +1 -1
  246. package/chunks/{workspace-registry-6W4ES7BJ.js → workspace-registry-VOSOZ4WU.js} +41 -41
  247. package/chunks/{workspace-service-V47ZFJRX.js → workspace-service-MWWHXZGQ.js} +46 -46
  248. package/chunks/{workspace-skills-status-6ZQ45XKA.js → workspace-skills-status-DN56VF74.js} +42 -42
  249. package/chunks/{workspace-trust-reconciler-6V25LMCN.js → workspace-trust-reconciler-3GOQYMND.js} +50 -50
  250. package/chunks/{write-file-H2QOF25K.js → write-file-B4YZQZ2K.js} +35 -35
  251. package/chunks/{zoom-image-JTUSS43N.js → zoom-image-L4QKXYG2.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,18 +2,21 @@
2
2
  "use strict";
3
3
  import {
4
4
  HistoryReplayer
5
- } from "./chunk-EKWNNQQD.js";
5
+ } from "./chunk-X26KCG3L.js";
6
+ import {
7
+ isA2uiToolMeta
8
+ } from "./chunk-7HMDOAIC.js";
6
9
  import {
7
10
  ChannelDeliveryError,
8
11
  MAX_CHANNEL_DELIVERY_TEXT_LENGTH
9
- } from "./chunk-QONSRAEV.js";
12
+ } from "./chunk-YP5KH5Y7.js";
10
13
  import {
11
14
  redactLogCredentials
12
15
  } from "./chunk-M5GB774H.js";
13
16
  import {
14
17
  getUserSettingsPath,
15
18
  loadSettings
16
- } from "./chunk-YUVTZ4UH.js";
19
+ } from "./chunk-U5G2PZAQ.js";
17
20
  import {
18
21
  getSystemDefaultsPath,
19
22
  getSystemSettingsPath
@@ -21,22 +24,22 @@ import {
21
24
  import {
22
25
  findEnvFiles,
23
26
  preResolveHomeEnvOverrides
24
- } from "./chunk-IKXE3AAC.js";
27
+ } from "./chunk-OCEXSMWS.js";
25
28
  import {
26
29
  getResponseText,
27
30
  ideContextStore
28
- } from "./chunk-DOA7MCDY.js";
31
+ } from "./chunk-I3LJQR5I.js";
29
32
  import {
30
33
  MAX_CHANNEL_DELIVERY_NAME_LENGTH,
31
34
  MAX_CHANNEL_DELIVERY_TARGET_ID_LENGTH
32
- } from "./chunk-MOHAWIAW.js";
35
+ } from "./chunk-GNPNYXJB.js";
33
36
  import {
34
37
  parseGoalSnapshotV2
35
- } from "./chunk-MBEMTXQT.js";
38
+ } from "./chunk-3K7FH2KQ.js";
36
39
  import {
37
40
  Storage,
38
41
  createDebugLogger
39
- } from "./chunk-3RXUYQJI.js";
42
+ } from "./chunk-OIVKILPI.js";
40
43
  import {
41
44
  init_esbuild_shims
42
45
  } from "./chunk-5O2XNYP6.js";
@@ -44,6 +47,35 @@ import {
44
47
  __name
45
48
  } from "./chunk-J2S4EL5Y.js";
46
49
 
50
+ // packages/cli/src/serve/live/session-source.ts
51
+ init_esbuild_shims();
52
+ var LIVE_SESSION_SOURCE_PREFIX = "realtime_voice:";
53
+ function isReservedLiveSessionSource(source) {
54
+ return source.sourceType === "default" && source.sourceId?.startsWith(LIVE_SESSION_SOURCE_PREFIX) === true;
55
+ }
56
+ __name(isReservedLiveSessionSource, "isReservedLiveSessionSource");
57
+ function isCompatibleLiveSessionSource(source) {
58
+ const sourceId = source.sourceId;
59
+ return isReservedLiveSessionSource(source) && typeof sourceId === "string" && sourceId.length > LIVE_SESSION_SOURCE_PREFIX.length;
60
+ }
61
+ __name(isCompatibleLiveSessionSource, "isCompatibleLiveSessionSource");
62
+ function isStandaloneConversationSessionSource(source) {
63
+ return source.sourceId === void 0 && (source.sourceType === void 0 || source.sourceType === "default");
64
+ }
65
+ __name(isStandaloneConversationSessionSource, "isStandaloneConversationSessionSource");
66
+ async function readLoadableLiveConversationMetadata(sessionId, readMetadata) {
67
+ const metadata = await readMetadata(sessionId);
68
+ if (metadata.parentSessionId === void 0 && (isCompatibleLiveSessionSource(metadata) || isStandaloneConversationSessionSource(metadata))) {
69
+ return metadata;
70
+ }
71
+ if (metadata.parentSessionId === void 0 || metadata.sourceType !== void 0 || metadata.sourceId !== void 0) {
72
+ return void 0;
73
+ }
74
+ const parent = await readMetadata(metadata.parentSessionId);
75
+ return parent.parentSessionId === void 0 && (isCompatibleLiveSessionSource(parent) || isStandaloneConversationSessionSource(parent)) ? metadata : void 0;
76
+ }
77
+ __name(readLoadableLiveConversationMetadata, "readLoadableLiveConversationMetadata");
78
+
47
79
  // packages/cli/src/runtime/workspace-remember-errors.ts
48
80
  init_esbuild_shims();
49
81
  var MAX_REMEMBER_ERROR_DETAILS_CHARS = 1e3;
@@ -566,6 +598,305 @@ __name(loadSettingsCached, "loadSettingsCached");
566
598
 
567
599
  // packages/cli/src/acp-integration/session/history-replay-page.ts
568
600
  init_esbuild_shims();
601
+
602
+ // packages/cli/src/acp-integration/session/acp-tool-result-text-projection.ts
603
+ init_esbuild_shims();
604
+ import { Buffer } from "node:buffer";
605
+ var ACP_TOOL_RESULT_TEXT_JSON_BYTE_BUDGET = 65536;
606
+ var ACP_TOOL_RESULT_TEXT_TRUNCATION_MARKER = "\n[... truncated for ACP transport ...]\n";
607
+ var EMPTY_CONTENT_ARRAY_JSON_BYTES = Buffer.byteLength("[]", "utf8");
608
+ var EMPTY_TEXT_BLOCK_JSON_BYTES = Buffer.byteLength(
609
+ JSON.stringify(createTextBlock("")),
610
+ "utf8"
611
+ );
612
+ var JSON_ARRAY_SEPARATOR_BYTES = 1;
613
+ var JSON_STRING_DELIMITER_BYTES = 2;
614
+ var TRUNCATION_MARKER_PAYLOAD_BYTES = jsonStringJsonByteLength(ACP_TOOL_RESULT_TEXT_TRUNCATION_MARKER) - JSON_STRING_DELIMITER_BYTES;
615
+ var MAX_CANONICAL_TEXT_BLOCKS = Math.floor(
616
+ (ACP_TOOL_RESULT_TEXT_JSON_BYTE_BUDGET - EMPTY_CONTENT_ARRAY_JSON_BYTES + JSON_ARRAY_SEPARATOR_BYTES) / (EMPTY_TEXT_BLOCK_JSON_BYTES + JSON_ARRAY_SEPARATOR_BYTES)
617
+ );
618
+ function createTextBlock(text) {
619
+ return {
620
+ type: "content",
621
+ content: { type: "text", text }
622
+ };
623
+ }
624
+ __name(createTextBlock, "createTextBlock");
625
+ function isObjectRecord(value) {
626
+ return typeof value === "object" && value !== null && !Array.isArray(value);
627
+ }
628
+ __name(isObjectRecord, "isObjectRecord");
629
+ function hasExactKeys(value, first, second) {
630
+ const keys = Object.keys(value);
631
+ return keys.length === 2 && Object.hasOwn(value, first) && Object.hasOwn(value, second);
632
+ }
633
+ __name(hasExactKeys, "hasExactKeys");
634
+ function canonicalTextBlocks(value) {
635
+ if (!Array.isArray(value)) return void 0;
636
+ for (const block of value) {
637
+ if (!isObjectRecord(block) || !hasExactKeys(block, "type", "content") || block["type"] !== "content" || !isObjectRecord(block["content"]) || !hasExactKeys(block["content"], "type", "text") || block["content"]["type"] !== "text" || typeof block["content"]["text"] !== "string") {
638
+ return void 0;
639
+ }
640
+ }
641
+ return value;
642
+ }
643
+ __name(canonicalTextBlocks, "canonicalTextBlocks");
644
+ function jsonPayloadBytesAt(value, index) {
645
+ const code = value.charCodeAt(index);
646
+ if (code === 34 || code === 92) return 2;
647
+ if (code <= 31) {
648
+ return code === 8 || code === 9 || code === 10 || code === 12 || code === 13 ? 2 : 6;
649
+ }
650
+ if (code <= 127) return 1;
651
+ if (code <= 2047) return 2;
652
+ if (code >= 55296 && code <= 56319) {
653
+ const next = value.charCodeAt(index + 1);
654
+ return next >= 56320 && next <= 57343 ? 4 : 6;
655
+ }
656
+ if (code >= 56320 && code <= 57343) return 6;
657
+ return 3;
658
+ }
659
+ __name(jsonPayloadBytesAt, "jsonPayloadBytesAt");
660
+ function jsonPayloadWidthAt(value, index) {
661
+ const code = value.charCodeAt(index);
662
+ if (code < 55296 || code > 56319) return 1;
663
+ const next = value.charCodeAt(index + 1);
664
+ return next >= 56320 && next <= 57343 ? 2 : 1;
665
+ }
666
+ __name(jsonPayloadWidthAt, "jsonPayloadWidthAt");
667
+ function jsonStringPayloadByteLength(value, stopAfterBytes = Number.POSITIVE_INFINITY) {
668
+ let bytes = 0;
669
+ for (let index = 0; index < value.length; ) {
670
+ bytes += jsonPayloadBytesAt(value, index);
671
+ if (bytes > stopAfterBytes) return bytes;
672
+ index += jsonPayloadWidthAt(value, index);
673
+ }
674
+ return bytes;
675
+ }
676
+ __name(jsonStringPayloadByteLength, "jsonStringPayloadByteLength");
677
+ function jsonStringJsonByteLength(value) {
678
+ return JSON_STRING_DELIMITER_BYTES + jsonStringPayloadByteLength(value);
679
+ }
680
+ __name(jsonStringJsonByteLength, "jsonStringJsonByteLength");
681
+ function jsonPayloadWidthBefore(value, end) {
682
+ const last = value.charCodeAt(end - 1);
683
+ if (last >= 56320 && last <= 57343 && end >= 2) {
684
+ const previous = value.charCodeAt(end - 2);
685
+ if (previous >= 55296 && previous <= 56319) return 2;
686
+ }
687
+ return 1;
688
+ }
689
+ __name(jsonPayloadWidthBefore, "jsonPayloadWidthBefore");
690
+ function selectPrefix(value, budget) {
691
+ let end = 0;
692
+ let bytes = 0;
693
+ while (end < value.length) {
694
+ const partBytes = jsonPayloadBytesAt(value, end);
695
+ if (bytes + partBytes > budget) break;
696
+ bytes += partBytes;
697
+ end += jsonPayloadWidthAt(value, end);
698
+ }
699
+ return end;
700
+ }
701
+ __name(selectPrefix, "selectPrefix");
702
+ function selectSuffix(value, budget) {
703
+ let start = value.length;
704
+ let bytes = 0;
705
+ while (start > 0) {
706
+ const partWidth = jsonPayloadWidthBefore(value, start);
707
+ const partBytes = jsonPayloadBytesAt(value, start - partWidth);
708
+ if (bytes + partBytes > budget) break;
709
+ bytes += partBytes;
710
+ start -= partWidth;
711
+ }
712
+ return start;
713
+ }
714
+ __name(selectSuffix, "selectSuffix");
715
+ function copyString(value) {
716
+ return value.split("").join("");
717
+ }
718
+ __name(copyString, "copyString");
719
+ function truncateStringPayload(value, originalPayloadBytes, payloadBudget) {
720
+ if (originalPayloadBytes <= payloadBudget) return value;
721
+ if (payloadBudget < TRUNCATION_MARKER_PAYLOAD_BYTES) {
722
+ return copyString(value.slice(0, selectPrefix(value, payloadBudget)));
723
+ }
724
+ const sourceBudget = payloadBudget - TRUNCATION_MARKER_PAYLOAD_BYTES;
725
+ const headBudget = Math.floor(sourceBudget * 0.2);
726
+ const tailBudget = sourceBudget - headBudget;
727
+ const headEnd = selectPrefix(value, headBudget);
728
+ const tailStart = selectSuffix(value, tailBudget);
729
+ return copyString(value.slice(0, headEnd)) + ACP_TOOL_RESULT_TEXT_TRUNCATION_MARKER + copyString(value.slice(tailStart));
730
+ }
731
+ __name(truncateStringPayload, "truncateStringPayload");
732
+ function contentSkeletonBytes(blockCount) {
733
+ if (blockCount === 0) return EMPTY_CONTENT_ARRAY_JSON_BYTES;
734
+ return EMPTY_CONTENT_ARRAY_JSON_BYTES + blockCount * EMPTY_TEXT_BLOCK_JSON_BYTES + (blockCount - 1) * JSON_ARRAY_SEPARATOR_BYTES;
735
+ }
736
+ __name(contentSkeletonBytes, "contentSkeletonBytes");
737
+ function fallbackContent() {
738
+ return [createTextBlock(ACP_TOOL_RESULT_TEXT_TRUNCATION_MARKER)];
739
+ }
740
+ __name(fallbackContent, "fallbackContent");
741
+ function jsonByteLength(value) {
742
+ return Buffer.byteLength(JSON.stringify(value), "utf8");
743
+ }
744
+ __name(jsonByteLength, "jsonByteLength");
745
+ function allocatePayloadBudgets(payloadBytes, availableBytes) {
746
+ const base = payloadBytes.map(
747
+ (bytes) => Math.min(bytes, TRUNCATION_MARKER_PAYLOAD_BYTES)
748
+ );
749
+ let remaining = availableBytes - base.reduce((sum, bytes) => sum + bytes, 0);
750
+ if (remaining < 0) return void 0;
751
+ const capacities = payloadBytes.map((bytes, index) => ({
752
+ index,
753
+ capacity: bytes - base[index]
754
+ }));
755
+ const sorted = capacities.filter(({ capacity }) => capacity > 0).sort(
756
+ (left, right) => left.capacity === right.capacity ? left.index - right.index : left.capacity - right.capacity
757
+ );
758
+ let active = sorted.length;
759
+ let position = 0;
760
+ let level = 0;
761
+ let remainder = 0;
762
+ while (position < sorted.length && active > 0 && remaining > 0) {
763
+ const nextLevel = sorted[position].capacity;
764
+ const cost = (nextLevel - level) * active;
765
+ if (cost > remaining) {
766
+ level += Math.floor(remaining / active);
767
+ remainder = remaining % active;
768
+ remaining = 0;
769
+ break;
770
+ }
771
+ level = nextLevel;
772
+ remaining -= cost;
773
+ while (position < sorted.length && sorted[position].capacity === nextLevel) {
774
+ position++;
775
+ active--;
776
+ }
777
+ }
778
+ const allocations = base.map(
779
+ (bytes, index) => bytes + Math.min(capacities[index].capacity, level)
780
+ );
781
+ if (remainder > 0) {
782
+ for (const { index, capacity } of capacities) {
783
+ if (remainder === 0) break;
784
+ if (capacity > level) {
785
+ allocations[index]++;
786
+ remainder--;
787
+ }
788
+ }
789
+ }
790
+ return allocations;
791
+ }
792
+ __name(allocatePayloadBudgets, "allocatePayloadBudgets");
793
+ function projectContent(original) {
794
+ if (original.length > MAX_CANONICAL_TEXT_BLOCKS) return fallbackContent();
795
+ const skeletonBytes = contentSkeletonBytes(original.length);
796
+ const availablePayloadBytes = ACP_TOOL_RESULT_TEXT_JSON_BYTE_BUDGET - skeletonBytes;
797
+ let remainingPayloadBytes = availablePayloadBytes;
798
+ let needsProjection = false;
799
+ for (const block of original) {
800
+ const payloadBytes2 = jsonStringPayloadByteLength(
801
+ block.content.text,
802
+ remainingPayloadBytes
803
+ );
804
+ if (payloadBytes2 > remainingPayloadBytes) {
805
+ needsProjection = true;
806
+ break;
807
+ }
808
+ remainingPayloadBytes -= payloadBytes2;
809
+ }
810
+ if (!needsProjection) return original;
811
+ const baseScans = original.map(
812
+ (block) => jsonStringPayloadByteLength(
813
+ block.content.text,
814
+ TRUNCATION_MARKER_PAYLOAD_BYTES
815
+ )
816
+ );
817
+ const basePayloadBytes = baseScans.map(
818
+ (bytes) => Math.min(bytes, TRUNCATION_MARKER_PAYLOAD_BYTES)
819
+ );
820
+ const baseTotal = basePayloadBytes.reduce((sum, bytes) => sum + bytes, 0);
821
+ if (baseTotal > availablePayloadBytes) return fallbackContent();
822
+ const payloadBytes = original.map((block, index) => {
823
+ if (baseScans[index] <= TRUNCATION_MARKER_PAYLOAD_BYTES) {
824
+ return baseScans[index];
825
+ }
826
+ const maximumAllocation = availablePayloadBytes - baseTotal + basePayloadBytes[index];
827
+ const bytes = jsonStringPayloadByteLength(
828
+ block.content.text,
829
+ maximumAllocation
830
+ );
831
+ return bytes <= maximumAllocation ? bytes : maximumAllocation + 1;
832
+ });
833
+ const allocations = allocatePayloadBudgets(
834
+ payloadBytes,
835
+ availablePayloadBytes
836
+ );
837
+ if (!allocations) return fallbackContent();
838
+ const projected = original.map((block, index) => {
839
+ if (payloadBytes[index] <= allocations[index]) return block;
840
+ return createTextBlock(
841
+ truncateStringPayload(
842
+ block.content.text,
843
+ payloadBytes[index],
844
+ allocations[index]
845
+ )
846
+ );
847
+ });
848
+ return jsonByteLength(projected) <= ACP_TOOL_RESULT_TEXT_JSON_BYTE_BUDGET ? projected : fallbackContent();
849
+ }
850
+ __name(projectContent, "projectContent");
851
+ function projectRawOutput(value) {
852
+ const payloadBudget = ACP_TOOL_RESULT_TEXT_JSON_BYTE_BUDGET - JSON_STRING_DELIMITER_BYTES;
853
+ const payloadBytes = jsonStringPayloadByteLength(value, payloadBudget);
854
+ if (payloadBytes <= payloadBudget) return value;
855
+ const projected = truncateStringPayload(value, payloadBytes, payloadBudget);
856
+ return jsonByteLength(projected) <= ACP_TOOL_RESULT_TEXT_JSON_BYTE_BUDGET ? projected : ACP_TOOL_RESULT_TEXT_TRUNCATION_MARKER;
857
+ }
858
+ __name(projectRawOutput, "projectRawOutput");
859
+ function a2uiMeta(meta) {
860
+ if (!meta) return void 0;
861
+ const toolName = typeof meta["toolName"] === "string" ? meta["toolName"] : void 0;
862
+ const serverId = typeof meta["serverId"] === "string" ? meta["serverId"] : void 0;
863
+ return toolName === void 0 && serverId === void 0 ? void 0 : {
864
+ ...toolName === void 0 ? {} : { toolName },
865
+ ...serverId === void 0 ? {} : { serverId }
866
+ };
867
+ }
868
+ __name(a2uiMeta, "a2uiMeta");
869
+ function projectAcpToolResultUpdate(update) {
870
+ const record = update;
871
+ if (record["sessionUpdate"] !== "tool_call_update") return update;
872
+ const meta = isObjectRecord(record["_meta"]) ? record["_meta"] : void 0;
873
+ if (isA2uiToolMeta(a2uiMeta(meta))) return update;
874
+ const content = canonicalTextBlocks(record["content"]);
875
+ const rawOutput = record["rawOutput"];
876
+ if (content?.length === 1 && typeof rawOutput === "string" && rawOutput === content[0].content.text) {
877
+ const projectedContent2 = projectContent(content);
878
+ if (projectedContent2 === content) return update;
879
+ const projectedText = projectedContent2[0].content.text;
880
+ return {
881
+ ...record,
882
+ content: projectedContent2,
883
+ rawOutput: projectedText
884
+ };
885
+ }
886
+ const projectedContent = content ? projectContent(content) : void 0;
887
+ const projectedRawOutput = typeof rawOutput === "string" ? projectRawOutput(rawOutput) : void 0;
888
+ const contentChanged = projectedContent !== void 0 && projectedContent !== content;
889
+ const rawOutputChanged = projectedRawOutput !== void 0 && projectedRawOutput !== rawOutput;
890
+ if (!contentChanged && !rawOutputChanged) return update;
891
+ return {
892
+ ...record,
893
+ ...contentChanged ? { content: projectedContent } : {},
894
+ ...rawOutputChanged ? { rawOutput: projectedRawOutput } : {}
895
+ };
896
+ }
897
+ __name(projectAcpToolResultUpdate, "projectAcpToolResultUpdate");
898
+
899
+ // packages/cli/src/acp-integration/session/history-replay-page.ts
569
900
  function createReplayCumulativeUsage() {
570
901
  return {
571
902
  promptTokens: 0,
@@ -582,27 +913,27 @@ function copyCumulativeUsage(target, source) {
582
913
  target.apiTimeMs = source.apiTimeMs;
583
914
  }
584
915
  __name(copyCumulativeUsage, "copyCumulativeUsage");
585
- function isObjectRecord(value) {
916
+ function isObjectRecord2(value) {
586
917
  return typeof value === "object" && value !== null && !Array.isArray(value);
587
918
  }
588
- __name(isObjectRecord, "isObjectRecord");
919
+ __name(isObjectRecord2, "isObjectRecord");
589
920
  function isCumulativeUsage(value) {
590
- if (!isObjectRecord(value)) return false;
921
+ if (!isObjectRecord2(value)) return false;
591
922
  return typeof value["promptTokens"] === "number" && Number.isFinite(value["promptTokens"]) && typeof value["cachedTokens"] === "number" && Number.isFinite(value["cachedTokens"]) && typeof value["candidateTokens"] === "number" && Number.isFinite(value["candidateTokens"]) && typeof value["apiTimeMs"] === "number" && Number.isFinite(value["apiTimeMs"]);
592
923
  }
593
924
  __name(isCumulativeUsage, "isCumulativeUsage");
594
925
  function isPendingReplayToolCall(value) {
595
- if (!isObjectRecord(value)) return false;
926
+ if (!isObjectRecord2(value)) return false;
596
927
  return typeof value["callId"] === "string" && typeof value["toolName"] === "string" && (value["timestamp"] === void 0 || typeof value["timestamp"] === "string") && typeof value["recordId"] === "string";
597
928
  }
598
929
  __name(isPendingReplayToolCall, "isPendingReplayToolCall");
599
930
  function isCurrentPendingReplayToolCall(value) {
600
- if (!isObjectRecord(value)) return false;
931
+ if (!isObjectRecord2(value)) return false;
601
932
  return typeof value["callId"] === "string" && typeof value["toolName"] === "string" && typeof value["sourceRecordId"] === "string" && (value["sourceTimestamp"] === void 0 || typeof value["sourceTimestamp"] === "string");
602
933
  }
603
934
  __name(isCurrentPendingReplayToolCall, "isCurrentPendingReplayToolCall");
604
935
  function parseTranscriptReplayState(replay, logger) {
605
- if (!isObjectRecord(replay)) {
936
+ if (!isObjectRecord2(replay)) {
606
937
  return {
607
938
  pendingToolCalls: [],
608
939
  cumulativeUsage: createReplayCumulativeUsage()
@@ -650,12 +981,13 @@ function replayContext(sessionId, updates, cumulativeUsage, config) {
650
981
  return {
651
982
  sessionId,
652
983
  sendUpdate: /* @__PURE__ */ __name(async (update) => {
984
+ const projectedUpdate = projectAcpToolResultUpdate(update);
653
985
  if (activeRecordId === null) {
654
- updates.push(update);
986
+ updates.push(projectedUpdate);
655
987
  return;
656
988
  }
657
- const record = update;
658
- const meta = isObjectRecord(record["_meta"]) ? record["_meta"] : {};
989
+ const record = projectedUpdate;
990
+ const meta = isObjectRecord2(record["_meta"]) ? record["_meta"] : {};
659
991
  updates.push({
660
992
  ...record,
661
993
  _meta: { ...meta, "qwen.session.recordId": activeRecordId }
@@ -701,7 +1033,7 @@ function liftSessionUpdateTimestamps(updates) {
701
1033
  return updates.map((update) => {
702
1034
  const record = update;
703
1035
  const meta = record["_meta"];
704
- const timestamp = isObjectRecord(meta) ? meta["timestamp"] : void 0;
1036
+ const timestamp = isObjectRecord2(meta) ? meta["timestamp"] : void 0;
705
1037
  return typeof timestamp === "number" || typeof timestamp === "string" ? { ...record, timestamp } : update;
706
1038
  });
707
1039
  }
@@ -711,7 +1043,8 @@ async function replayTranscriptRecordPage({
711
1043
  page,
712
1044
  config,
713
1045
  encodeCursor,
714
- logger
1046
+ logger,
1047
+ finalizeDangling = true
715
1048
  }) {
716
1049
  const state = parseTranscriptReplayState(page.replay, logger);
717
1050
  const updates = [];
@@ -723,7 +1056,7 @@ async function replayTranscriptRecordPage({
723
1056
  try {
724
1057
  const replayPageState = await replayer.replayPage(page.records, {
725
1058
  pendingToolCalls: page.direction === "backward" ? [] : state.pendingToolCalls,
726
- finalizeDangling: page.direction === "backward" || !page.hasMore,
1059
+ finalizeDangling: finalizeDangling && (page.direction === "backward" || !page.hasMore),
727
1060
  gaps: page.gaps,
728
1061
  ...state.goalState ? { goalState: state.goalState } : {}
729
1062
  });
@@ -822,6 +1155,10 @@ function normalizeChannelDelivery(deliveryId, delivery, text) {
822
1155
  __name(normalizeChannelDelivery, "normalizeChannelDelivery");
823
1156
 
824
1157
  export {
1158
+ LIVE_SESSION_SOURCE_PREFIX,
1159
+ isReservedLiveSessionSource,
1160
+ isCompatibleLiveSessionSource,
1161
+ readLoadableLiveConversationMetadata,
825
1162
  createWorkspaceMemoryExtractionErrorLogger,
826
1163
  extractRememberErrorCode,
827
1164
  workspaceMemoryFailureCode,
@@ -843,6 +1180,7 @@ export {
843
1180
  parseChannelDelivery,
844
1181
  normalizeChannelDeliveryText,
845
1182
  normalizeChannelDelivery,
1183
+ projectAcpToolResultUpdate,
846
1184
  createReplayCumulativeUsage,
847
1185
  copyCumulativeUsage,
848
1186
  collectHistoryReplayUpdates,
@@ -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";
@@ -2,13 +2,13 @@
2
2
  "use strict";
3
3
  import {
4
4
  t
5
- } from "./chunk-546CDN6D.js";
5
+ } from "./chunk-F4SQY4RB.js";
6
6
  import {
7
7
  SessionReferenceService,
8
8
  SessionService,
9
9
  readManyFiles,
10
10
  stripTerminalControlSequences
11
- } from "./chunk-DOA7MCDY.js";
11
+ } from "./chunk-I3LJQR5I.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-FTJUO7R2.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";
@@ -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
  t
5
- } from "./chunk-546CDN6D.js";
5
+ } from "./chunk-F4SQY4RB.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -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";
@@ -0,0 +1,22 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ init_esbuild_shims
5
+ } from "./chunk-5O2XNYP6.js";
6
+
7
+ // packages/cli/src/serve/live/types.ts
8
+ init_esbuild_shims();
9
+ var LIVE_HOST_PROTOCOL_VERSION = 6;
10
+ var LIVE_HOST_BUNDLE_ID = "com.alibaba.qwen-code.live-host";
11
+ var LIVE_INPUT_AUDIO_EPOCH_BYTES = 8;
12
+
13
+ export {
14
+ LIVE_HOST_PROTOCOL_VERSION,
15
+ LIVE_HOST_BUNDLE_ID,
16
+ LIVE_INPUT_AUDIO_EPOCH_BYTES
17
+ };
18
+ /**
19
+ * @license
20
+ * Copyright 2026 Qwen Team
21
+ * SPDX-License-Identifier: Apache-2.0
22
+ */