@qwen-code/qwen-code 0.23.1-preview.1 → 0.23.1-preview.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (313) hide show
  1. package/bundled/qc-helper/docs/configuration/settings.md +7 -7
  2. package/bundled/qc-helper/docs/features/channels/dingtalk.md +26 -0
  3. package/bundled/qc-helper/docs/features/commands.md +71 -6
  4. package/bundled/qc-helper/docs/features/skills.md +40 -0
  5. package/chunks/{MaxSizedBox-5ARLO5PR.js → MaxSizedBox-IYIQ43IZ.js} +26 -27
  6. package/chunks/{StandaloneSessionPicker-T6B322CB.js → StandaloneSessionPicker-AWB2OHX6.js} +44 -45
  7. package/chunks/{acp-startup-profiler-6ULXXQMS.js → acp-startup-profiler-BAL4LJTN.js} +2 -2
  8. package/chunks/{acpAgent-WTDEY5KD.js → acpAgent-ZC57OLS4.js} +148 -96
  9. package/chunks/{agent-NXPUXEVZ.js → agent-GEBPAEJS.js} +16 -17
  10. package/chunks/{agent-headless-QQZTWOKO.js → agent-headless-63ZEYAJK.js} +16 -17
  11. package/chunks/{artifact-tool-DFVVJXL2.js → artifact-tool-P52OKKEF.js} +1 -1
  12. package/chunks/{askUserQuestion-GF7VQ44M.js → askUserQuestion-3KAYLLMM.js} +2 -2
  13. package/chunks/{bridge-OHY5OGOZ.js → bridge-MHWO5I5T.js} +30 -31
  14. package/chunks/{channel-management-service-ZDDG3G5S.js → channel-management-service-NFRZXQFO.js} +4 -4
  15. package/chunks/{channel-settings-store-7BJAS2SU.js → channel-settings-store-T7PMIHKC.js} +36 -37
  16. package/chunks/{channel-worker-group-2ISMRENV.js → channel-worker-group-O2BWK5F7.js} +5 -5
  17. package/chunks/{channel-worker-manager-VSRPVPRH.js → channel-worker-manager-4WP7VJOD.js} +5 -5
  18. package/chunks/{channel-worker-supervisor-SRJBK72Z.js → channel-worker-supervisor-CCUXD6J5.js} +3 -3
  19. package/chunks/{chunk-4VZCORNT.js → chunk-22QOQKG4.js} +1 -1
  20. package/chunks/{chunk-AHBLRVD5.js → chunk-2C3XDBGL.js} +4 -4
  21. package/chunks/{chunk-WTW36TJ3.js → chunk-2EKVPSIJ.js} +1 -1
  22. package/chunks/{chunk-ZTAVGFKA.js → chunk-37SOBIA3.js} +1 -1
  23. package/chunks/{chunk-IXSGOSEG.js → chunk-3RMVM33U.js} +28 -25
  24. package/chunks/{chunk-H3UDNQLO.js → chunk-4OCYWXKF.js} +1 -1
  25. package/chunks/{chunk-D6PIMKY3.js → chunk-4VY3ITHR.js} +4 -4
  26. package/chunks/{chunk-J3O5I5ZD.js → chunk-5FYGZ7E3.js} +3 -3
  27. package/chunks/{chunk-4JAGXZR3.js → chunk-5V4B3EWA.js} +1 -1
  28. package/chunks/{chunk-HFTB354P.js → chunk-5Z4FCEPY.js} +60 -6
  29. package/chunks/{chunk-VDXYYVCD.js → chunk-65GHQ4FX.js} +65 -10
  30. package/chunks/{chunk-32YDNYXP.js → chunk-6KYWU726.js} +1 -1
  31. package/chunks/{chunk-4HC4DYKN.js → chunk-6RZX2HIH.js} +1 -1
  32. package/chunks/{chunk-IFD3BTEA.js → chunk-733KQL63.js} +3 -3
  33. package/chunks/{chunk-MWHY26G3.js → chunk-75UQFGFE.js} +1 -1
  34. package/chunks/{chunk-QWZOOIR3.js → chunk-7PMKXGRP.js} +4 -4
  35. package/chunks/{chunk-KE3Q4JMY.js → chunk-AIMZIXZM.js} +3 -3
  36. package/chunks/{chunk-G34YLYCS.js → chunk-ANVC5CSK.js} +10 -10
  37. package/chunks/{chunk-SAZS4IWW.js → chunk-AUJOWIT5.js} +3 -3
  38. package/chunks/{chunk-Z6WZPXQH.js → chunk-AWDF462I.js} +1 -1
  39. package/chunks/{chunk-47BZVBTE.js → chunk-AX23QSX3.js} +3 -3
  40. package/chunks/{chunk-7BZS4ZDV.js → chunk-B5FF3LRF.js} +17 -17
  41. package/chunks/{chunk-TMWB67LS.js → chunk-BNWIX6BM.js} +2 -2
  42. package/chunks/{chunk-GZWW2QWR.js → chunk-C4NXRR7T.js} +2 -2
  43. package/chunks/{chunk-DNPHKA72.js → chunk-C55CR5I4.js} +6 -6
  44. package/chunks/{chunk-JPEAQJNS.js → chunk-C7M445SS.js} +1 -1
  45. package/chunks/{chunk-R355CUNQ.js → chunk-CLKE4IY3.js} +1 -77
  46. package/chunks/{chunk-VUSSAGKI.js → chunk-E4VX6LXB.js} +1 -1
  47. package/chunks/{chunk-GMNLYQOS.js → chunk-E6TI726I.js} +1 -1
  48. package/chunks/{chunk-Y3ZKI4RQ.js → chunk-EGRFCIXD.js} +19 -17
  49. package/chunks/{chunk-D4CU6DKR.js → chunk-EPZWBYQI.js} +5 -5
  50. package/chunks/{chunk-43NOB5NM.js → chunk-ERMAXPXA.js} +1 -1
  51. package/chunks/{chunk-KPXRFTT7.js → chunk-FETY36NQ.js} +1 -1
  52. package/chunks/{chunk-P6LATTDG.js → chunk-FWH4736Q.js} +3 -3
  53. package/chunks/{chunk-43JNQAHO.js → chunk-FXYNIZPW.js} +2 -2
  54. package/chunks/{chunk-4VUVBN3Y.js → chunk-G6UUOCUT.js} +87 -0
  55. package/chunks/{chunk-XY3USGFE.js → chunk-GEV66YGE.js} +1 -1
  56. package/chunks/{chunk-VEFRT7NX.js → chunk-H3Q3RSKZ.js} +1 -1
  57. package/chunks/{chunk-BKNY7PDI.js → chunk-HPE4LEWX.js} +1 -1
  58. package/chunks/{chunk-E4L5BM2B.js → chunk-HWZOOSEB.js} +4 -4
  59. package/chunks/{chunk-MNEYUNOE.js → chunk-HZS3JRQW.js} +2 -2
  60. package/chunks/{chunk-2RYWGYB3.js → chunk-I67KJGM6.js} +3 -3
  61. package/chunks/{chunk-O2GG7H4C.js → chunk-I7UNCY24.js} +2 -2
  62. package/chunks/{chunk-JLWFGYXU.js → chunk-IGOIYZBG.js} +2 -2
  63. package/chunks/{chunk-L4R7BCVV.js → chunk-IMWCUWQT.js} +1 -1
  64. package/chunks/{chunk-QMFOYPGV.js → chunk-J3VZF2AL.js} +2 -2
  65. package/chunks/{chunk-XOVVCGZX.js → chunk-JOV46WGX.js} +1 -1
  66. package/chunks/{chunk-LMJQSPWB.js → chunk-KA5HR3G2.js} +1 -1
  67. package/chunks/{chunk-VY6UVU7G.js → chunk-KAZWXVI3.js} +2 -2
  68. package/chunks/{chunk-IQN2CCIE.js → chunk-KP5QK3FB.js} +3 -3
  69. package/chunks/{chunk-2WGJG2KW.js → chunk-KTLT7VCX.js} +4 -4
  70. package/chunks/{chunk-IKLFS6SC.js → chunk-L36LLVA5.js} +3 -3
  71. package/chunks/{chunk-MUZCSTOO.js → chunk-LD53HMPV.js} +4 -4
  72. package/chunks/{chunk-P4RUUG64.js → chunk-LTCI6ZOJ.js} +1 -1
  73. package/chunks/{chunk-SN5FV4FY.js → chunk-LYHYXJJ3.js} +3 -3
  74. package/chunks/{chunk-RDKXZ2LS.js → chunk-LYT2OU7D.js} +1 -1
  75. package/chunks/{chunk-GVVCLL2P.js → chunk-MFCWL4LI.js} +9 -9
  76. package/chunks/{chunk-RPBMP6BN.js → chunk-MWIO7MF6.js} +3 -0
  77. package/chunks/{chunk-OECNP26L.js → chunk-N6S3NUYJ.js} +1 -1
  78. package/chunks/{chunk-NGX4NUNP.js → chunk-O2FEO2CB.js} +131 -6
  79. package/chunks/{chunk-GXZHYPHZ.js → chunk-OFB36ZBA.js} +4 -1
  80. package/chunks/{chunk-LDS57224.js → chunk-OWCFKIFQ.js} +1 -1
  81. package/chunks/{chunk-ZAZ3NFL6.js → chunk-P5Z7VD23.js} +237 -52
  82. package/chunks/{chunk-5MTARK4Y.js → chunk-PLUAIHZO.js} +4 -4
  83. package/chunks/{chunk-KK2GZGBK.js → chunk-PMGWY6ZP.js} +10 -10
  84. package/chunks/{chunk-JRYL3T2O.js → chunk-PQSCGZT2.js} +1 -1
  85. package/chunks/{chunk-UKKYOIVT.js → chunk-QAZ2MGYT.js} +2 -2
  86. package/chunks/{chunk-CZACBHAW.js → chunk-QQGAR64U.js} +4 -4
  87. package/chunks/{chunk-ER273QE6.js → chunk-QW7BUOSI.js} +2 -2
  88. package/chunks/{chunk-RVNS7NWN.js → chunk-R7TKFIQO.js} +1 -1
  89. package/chunks/{chunk-GCFZ2LAX.js → chunk-RCUWMVN3.js} +1 -1
  90. package/chunks/{chunk-CWNC7M73.js → chunk-RD3VPM4E.js} +2 -2
  91. package/chunks/{chunk-KJJPJYHI.js → chunk-REDVV5NC.js} +7 -7
  92. package/chunks/{chunk-4IQKBLTQ.js → chunk-RGAQDQ3Z.js} +9 -9
  93. package/chunks/{chunk-WXC6OAWD.js → chunk-RH344FKI.js} +1 -1
  94. package/chunks/{chunk-64MQTIX7.js → chunk-RPFJJ33Z.js} +2 -2
  95. package/chunks/{chunk-LPBQODMR.js → chunk-RQNAO42A.js} +4 -4
  96. package/chunks/{chunk-LK7S2D6V.js → chunk-RRCNEW2A.js} +4 -4
  97. package/chunks/{chunk-O45WBTNS.js → chunk-RSU3I6UL.js} +3 -3
  98. package/chunks/{chunk-AQ5NAGWI.js → chunk-RUMSY4ES.js} +4 -4
  99. package/chunks/{chunk-QSC5YOEC.js → chunk-SD7Y2PMC.js} +1 -1
  100. package/chunks/{chunk-SFMCYMVF.js → chunk-SHK2SIR5.js} +4 -4
  101. package/chunks/{chunk-XUSOYE2I.js → chunk-SHX2HIE7.js} +1 -1
  102. package/chunks/{chunk-PTFFWTTO.js → chunk-SI6Q52UI.js} +3 -3
  103. package/chunks/{chunk-JBTZUFR4.js → chunk-T7TP5UQL.js} +6 -6
  104. package/chunks/{chunk-YCDL2SAS.js → chunk-TDHVOZ65.js} +2 -2
  105. package/chunks/{chunk-PZV2FASB.js → chunk-TRWQQBVH.js} +1 -1
  106. package/chunks/{chunk-I72PHOKL.js → chunk-TSLRORQR.js} +93 -95
  107. package/chunks/{chunk-UEZOXZNI.js → chunk-TXAEXF2B.js} +786 -366
  108. package/chunks/{chunk-4F2QRVW6.js → chunk-UTVIIA7N.js} +1 -1
  109. package/chunks/{chunk-WR3SH3EY.js → chunk-VMFPZXRT.js} +131 -60
  110. package/chunks/{chunk-XHGGYCTA.js → chunk-VYCJITND.js} +1 -1
  111. package/chunks/{chunk-5YY5MZT6.js → chunk-WFXD5OZH.js} +1 -1
  112. package/chunks/{chunk-URSCX7S7.js → chunk-WLZRMF3C.js} +2 -2
  113. package/chunks/{chunk-P5LDR7FI.js → chunk-WQBR7LN5.js} +3 -3
  114. package/chunks/{chunk-N7VURC4O.js → chunk-WXFCI3O5.js} +2 -2
  115. package/chunks/{chunk-HJ34U5J4.js → chunk-XNC2TCUO.js} +4 -4
  116. package/chunks/{chunk-N7EYO2E7.js → chunk-XQ4RDO5B.js} +1 -1
  117. package/chunks/{chunk-JOPC3FND.js → chunk-XX4MBBFW.js} +5 -5
  118. package/chunks/{chunk-TDP7UULF.js → chunk-Y3C5COGI.js} +1 -1
  119. package/chunks/{chunk-54TF2ZIQ.js → chunk-YLFICBYK.js} +3 -3
  120. package/chunks/{chunk-4MCY33Y2.js → chunk-Z6DDPSGJ.js} +1 -1
  121. package/chunks/{chunk-WEXA2DNG.js → chunk-Z6KFLEG7.js} +13 -0
  122. package/chunks/{chunk-PZUOHCWI.js → chunk-ZNI3V2XA.js} +2 -2
  123. package/chunks/{chunk-6UIACMGH.js → chunk-ZRVFHLLK.js} +1 -1
  124. package/chunks/{chunk-NAKALAL4.js → chunk-ZT3XUGSU.js} +32 -8
  125. package/chunks/{config-utils-QXDOTXEQ.js → config-utils-F4CFJ4MW.js} +30 -31
  126. package/chunks/{contextCommand-RN4KARWC.js → contextCommand-OIIGGOMU.js} +28 -29
  127. package/chunks/{core-runtime-NAZCOKHB.js → core-runtime-JEHLOGMB.js} +26 -27
  128. package/chunks/{create-sub-session-BCSM4WKB.js → create-sub-session-MVFBE5RA.js} +35 -30
  129. package/chunks/{create-sub-session-BQ3SE4TX.js → create-sub-session-TGIX63YU.js} +2 -2
  130. package/chunks/{cron-create-D6HQ7I7I.js → cron-create-GTPVMJCF.js} +1 -1
  131. package/chunks/{cron-delete-KK3D2SQV.js → cron-delete-ZBK27Z4K.js} +1 -1
  132. package/chunks/{cron-list-VBF3IZMF.js → cron-list-KTFKFDKC.js} +1 -1
  133. package/chunks/{daemon-git-worktree-guard-3K5CAU36.js → daemon-git-worktree-guard-5FTKLJOU.js} +26 -27
  134. package/chunks/{daemon-status-provider-4X3ZZQTZ.js → daemon-status-provider-P6A5MPMW.js} +35 -36
  135. package/chunks/{daemon-trust-policy-R45CFUJA.js → daemon-trust-policy-ZJ3NFYUO.js} +32 -33
  136. package/chunks/{daemon-trust-policy-monitor-DSSFCO3K.js → daemon-trust-policy-monitor-6SDLEW7S.js} +32 -33
  137. package/chunks/{deferred-core-runtime-UO2M6WYI.js → deferred-core-runtime-DWOXIU5S.js} +26 -27
  138. package/chunks/{display-image-EVVTBVYE.js → display-image-CTNHJRZC.js} +4 -4
  139. package/chunks/{dist-PH5RSTEA.js → dist-3H3WODVS.js} +1 -1
  140. package/chunks/{dist-UVHW2U56.js → dist-AI25RVRA.js} +1 -1
  141. package/chunks/{dist-AFH3BMZZ.js → dist-I74QLLQS.js} +1 -1
  142. package/chunks/{dist-SIHF5MU2.js → dist-NXW4DUUX.js} +1 -1
  143. package/chunks/{dist-MK5PPBRF.js → dist-P6YWBITG.js} +670 -17
  144. package/chunks/{dist-QUU7TVE3.js → dist-T4PRA5EZ.js} +1 -1
  145. package/chunks/{dist-SB2XRXZA.js → dist-VCAS67N5.js} +1 -1
  146. package/chunks/{dist-3T5MDUHP.js → dist-XINEKB5A.js} +1 -1
  147. package/chunks/{dist-R5Y34V6T.js → dist-YNQU4CKC.js} +2 -2
  148. package/chunks/{edit-VNBCTRWP.js → edit-WPVXLL3T.js} +16 -17
  149. package/chunks/{en-JMR535HP.js → en-YJNRUQG4.js} +1 -1
  150. package/chunks/{enter-worktree-CEVK7MQ2.js → enter-worktree-5A6VW6BN.js} +4 -4
  151. package/chunks/{enterPlanMode-4KMZMUIA.js → enterPlanMode-JSODW7E2.js} +16 -17
  152. package/chunks/{environment-S2HYQDON.js → environment-5LLJ3I3W.js} +28 -29
  153. package/chunks/{errors-DAAN5TL7.js → errors-IQT3YZEP.js} +28 -29
  154. package/chunks/{exit-worktree-D3YE6MUN.js → exit-worktree-QV7E7KP6.js} +4 -4
  155. package/chunks/{exitPlanMode-HR36HG3D.js → exitPlanMode-DDVFYNW4.js} +16 -17
  156. package/chunks/{fast-path-4IWSW3UV.js → fast-path-PAUQQEVU.js} +2 -2
  157. package/chunks/{glob-IZYB2XH2.js → glob-SQ7CTZ7F.js} +16 -17
  158. package/chunks/{goal-tools-VGUPKQDJ.js → goal-tools-UWZRCLQB.js} +16 -17
  159. package/chunks/{grep-OUVLNXG7.js → grep-BLHF2S5D.js} +2 -2
  160. package/chunks/{handleAutoUpdate-D56FMDTW.js → handleAutoUpdate-RUPZZTSG.js} +29 -30
  161. package/chunks/{i18n-BKE5WO6T.js → i18n-SF5MPWEB.js} +27 -28
  162. package/chunks/{image-gen-SHVQ3XID.js → image-gen-Q3RUTVKR.js} +1 -1
  163. package/chunks/{initializer-MS4SGEHF.js → initializer-CK4WPYZG.js} +32 -33
  164. package/chunks/{installationInfo-542MGC4S.js → installationInfo-IRPQEYRF.js} +26 -27
  165. package/chunks/{list-H6XTKUWL.js → list-E3PS3EBJ.js} +35 -36
  166. package/chunks/{list-agents-ULYBGJXC.js → list-agents-I5TRH3J7.js} +2 -2
  167. package/chunks/{llm-3NUC4EJY.js → llm-JQKBOYAF.js} +67 -68
  168. package/chunks/{llm-content-generator-R4NL3OQN.js → llm-content-generator-2QWGBW42.js} +2 -2
  169. package/chunks/{loadedSettingsAdapter-3XLKYDVT.js → loadedSettingsAdapter-DGXGVYZS.js} +32 -33
  170. package/chunks/{loggingContentGenerator-ZYSWVNEO.js → loggingContentGenerator-ZYURLJKK.js} +18 -19
  171. package/chunks/{loop-wakeup-B27BEYRL.js → loop-wakeup-HL6XOWI4.js} +2 -2
  172. package/chunks/{ls-3IIMMVKF.js → ls-YV7RKLKY.js} +1 -1
  173. package/chunks/{lsp-VJAT7XKS.js → lsp-NO3AMRZT.js} +1 -1
  174. package/chunks/{managed-npm-update-L2I53ZAI.js → managed-npm-update-HTHR63EA.js} +26 -27
  175. package/chunks/{mcp-4PIXQASW.js → mcp-I7G2AEWS.js} +32 -33
  176. package/chunks/{monitor-O2YQTOZZ.js → monitor-4R76BCRZ.js} +16 -17
  177. package/chunks/{nonInteractiveCli-LV7CDBA2.js → nonInteractiveCli-24OQ3VP2.js} +64 -65
  178. package/chunks/{notebook-edit-4RE2ALH4.js → notebook-edit-PPSH7FEX.js} +16 -17
  179. package/chunks/{openaiContentGenerator-7ND7K5CP.js → openaiContentGenerator-K7V5EO7F.js} +10 -10
  180. package/chunks/{pidfile-UFTLQ7NP.js → pidfile-TGIUY2GG.js} +26 -27
  181. package/chunks/{processUtils-3XBB4FYV.js → processUtils-3USXUQWX.js} +2 -2
  182. package/chunks/{prompt-terminal-ledger-2QASOGMM.js → prompt-terminal-ledger-XHVZRXJI.js} +27 -28
  183. package/chunks/{qwenContentGenerator-AELTUTH6.js → qwenContentGenerator-MPBOQB64.js} +18 -19
  184. package/chunks/{read-file-PDWHZPHX.js → read-file-R256LDWQ.js} +4 -4
  185. package/chunks/{read-mcp-resource-YXJZ75UB.js → read-mcp-resource-D3N75DGF.js} +1 -1
  186. package/chunks/{record-artifact-WJDOV6XU.js → record-artifact-Q5CRGJTP.js} +2 -2
  187. package/chunks/{report-findings-Q4UACKWR.js → report-findings-TJ34R7QK.js} +3 -3
  188. package/chunks/{request-shutdown-2YZ3E3GH.js → request-shutdown-LRKMTBAD.js} +6 -6
  189. package/chunks/{resumeHistoryUtils-QRXZEEBA.js → resumeHistoryUtils-S43LTFHD.js} +30 -31
  190. package/chunks/{ripGrep-KSOOLE6H.js → ripGrep-L7HPZ75Y.js} +7 -7
  191. package/chunks/{run-qwen-serve-RTAREPT6.js → run-qwen-serve-CTFL5R6U.js} +46 -46
  192. package/chunks/{runtime-ESFSCJRZ.js → runtime-FS5TL6P7.js} +37 -38
  193. package/chunks/{scheduled-tasks-6ZHRNBH6.js → scheduled-tasks-QXPV3Q35.js} +32 -33
  194. package/chunks/{scheduler-DQI6KV7T.js → scheduler-EXU5HMVK.js} +28 -29
  195. package/chunks/{send-message-PQCVSVMN.js → send-message-GQKXGMPI.js} +7 -7
  196. package/chunks/{serve-FY7ZEW52.js → serve-ITJC7WNN.js} +32 -33
  197. package/chunks/{server-KNDY6K5F.js → server-6JQY3PTU.js} +66 -67
  198. package/chunks/{session-MCEPXAZP.js → session-PJDEKXD4.js} +85 -72
  199. package/chunks/{session-attachments-root-OLNAE6GF.js → session-attachments-root-L37ORSST.js} +26 -27
  200. package/chunks/{session-pr-refresh-HKJHQQQK.js → session-pr-refresh-WIFD52YL.js} +31 -32
  201. package/chunks/{settings-VXO4WBMK.js → settings-LO6J5SAZ.js} +31 -32
  202. package/chunks/{shell-U263OTES.js → shell-ANAFVYGR.js} +16 -17
  203. package/chunks/{skill-SDODGBKL.js → skill-SHJWKSPH.js} +10 -57
  204. package/chunks/{skill-settings-YEIA22QJ.js → skill-settings-GX3XHZ5Q.js} +31 -32
  205. package/chunks/{spawnChannel-4WJZVFPP.js → spawnChannel-WE42VBKM.js} +28 -29
  206. package/chunks/{standalone-update-ZWVQUO64.js → standalone-update-CWDIKJRP.js} +28 -29
  207. package/chunks/{start-opentui-ui-BFYCJQRZ.js → start-opentui-ui-BBHGFOTF.js} +70 -71
  208. package/chunks/{startInteractiveUI-JYAFCMHL.js → startInteractiveUI-FQX7LUYP.js} +172 -110
  209. package/chunks/{syntheticOutput-AUAJBNXR.js → syntheticOutput-D2P5V6RG.js} +2 -2
  210. package/chunks/{task-create-LD5ISM3E.js → task-create-PMAFST2T.js} +7 -7
  211. package/chunks/{task-list-YISJ4RJA.js → task-list-R2HSY2NC.js} +1 -1
  212. package/chunks/{task-stop-65ZOVATJ.js → task-stop-BFSKRTGV.js} +1 -1
  213. package/chunks/{task-update-AAN4ZVEY.js → task-update-JYC57USF.js} +7 -7
  214. package/chunks/{team-create-KU7MABNO.js → team-create-WKTPCH6D.js} +16 -17
  215. package/chunks/{team-delete-XFRRTJTT.js → team-delete-CBHVBTPB.js} +1 -1
  216. package/chunks/{team-plan-approval-DPB377A3.js → team-plan-approval-Y23DL7WR.js} +16 -17
  217. package/chunks/{terminal-image-renderer-WGWRENOF.js → terminal-image-renderer-B646HBDW.js} +28 -29
  218. package/chunks/{theme-manager-GBUFULSO.js → theme-manager-BNWESY26.js} +26 -27
  219. package/chunks/{todoWrite-G7NT4IFP.js → todoWrite-5ERKFWAK.js} +3 -5
  220. package/chunks/{tool-search-6YUXHBPT.js → tool-search-PVQ5O5Y2.js} +9 -9
  221. package/chunks/{total-session-admission-54R2JQ5L.js → total-session-admission-P5Z43KNW.js} +30 -31
  222. package/chunks/{trustedFolders-KAJIDJTH.js → trustedFolders-FH2LT2MZ.js} +27 -28
  223. package/chunks/{update-relaunch-XM4IWBFD.js → update-relaunch-WOWTKJSN.js} +5 -5
  224. package/chunks/{updateCheck-W6UZFURI.js → updateCheck-3MYFMM35.js} +28 -29
  225. package/chunks/{useAutoAcceptIndicator-LAWYHY3U.js → useAutoAcceptIndicator-Q7ZRRRKO.js} +33 -34
  226. package/chunks/{validateNonInterActiveAuth-7WCKHRN2.js → validateNonInterActiveAuth-MYEWJX3G.js} +61 -62
  227. package/chunks/{version-3ZU43RJ6.js → version-RO2FPO76.js} +1 -1
  228. package/chunks/{web-fetch-QHI2SQL4.js → web-fetch-QAKY2LUA.js} +4 -4
  229. package/chunks/{web-search-3KZZKWNY.js → web-search-XA5Z4ZCD.js} +2 -2
  230. package/chunks/{workflow-HRW7Y2X4.js → workflow-QFIOCMDM.js} +18 -19
  231. package/chunks/{workspace-providers-status-KTGCWCPC.js → workspace-providers-status-B2UD7RAG.js} +35 -36
  232. package/chunks/{workspace-registration-store-LHLPPWNE.js → workspace-registration-store-VZLRTI3Q.js} +1 -1
  233. package/chunks/{workspace-registry-X34MLN52.js → workspace-registry-GYOGG6TM.js} +30 -31
  234. package/chunks/{workspace-runtime-coordinator-U4PW4P7K.js → workspace-runtime-coordinator-7KRXGQ4V.js} +31 -32
  235. package/chunks/{workspace-service-KD7BCGYL.js → workspace-service-DJEYGJE4.js} +36 -37
  236. package/chunks/{workspace-skills-status-YJGO6Y3T.js → workspace-skills-status-MOKNESUC.js} +33 -34
  237. package/chunks/{workspace-trust-reconciler-EUYHISCH.js → workspace-trust-reconciler-AXOSUTQW.js} +36 -37
  238. package/chunks/{write-file-EBSB34NJ.js → write-file-QOYVHAKK.js} +18 -19
  239. package/chunks/{zh-TW-W2GNP2IU.js → zh-TW-N2TBF2F2.js} +1 -1
  240. package/chunks/{zh-DVFYHRK5.js → zh-VBFCRQBL.js} +1 -1
  241. package/chunks/{zoom-image-UJ5VKWKP.js → zoom-image-UCCLGFNC.js} +4 -4
  242. package/cli.js +13 -13
  243. package/export-transcript-document.js +2 -2
  244. package/locales/en.js +2 -2
  245. package/locales/zh-TW.js +2 -2
  246. package/locales/zh.js +2 -2
  247. package/package.json +3 -3
  248. package/web-shell/assets/{abnfDiagram-VCTEODGH-Dur--luQ.js → abnfDiagram-VCTEODGH-CTstZpXw.js} +1 -1
  249. package/web-shell/assets/{arc-tYLobxFi.js → arc-DKW0mbPo.js} +1 -1
  250. package/web-shell/assets/{architectureDiagram-5GKGNRK7-IG6aXD03.js → architectureDiagram-5GKGNRK7-DkMpJ42t.js} +1 -1
  251. package/web-shell/assets/{blockDiagram-NRAW4CY4-C6eBSkfA.js → blockDiagram-NRAW4CY4-7Cp1_4i3.js} +1 -1
  252. package/web-shell/assets/{c4Diagram-UCG6FXSJ-BrX3HJqB.js → c4Diagram-UCG6FXSJ-BfaoSlBK.js} +1 -1
  253. package/web-shell/assets/channel-CQx7VSAp.js +1 -0
  254. package/web-shell/assets/{chunk-2Q5K7J3B-B3fcJ8ee.js → chunk-2Q5K7J3B-_n1qzAio.js} +1 -1
  255. package/web-shell/assets/{chunk-5VM5RSS4-CeC90yKM.js → chunk-5VM5RSS4-0cira5ZV.js} +1 -1
  256. package/web-shell/assets/{chunk-F27PBJKO-CW44RVki.js → chunk-F27PBJKO-DseRXSHC.js} +1 -1
  257. package/web-shell/assets/{chunk-G27WJ6UU-D1PAMukD.js → chunk-G27WJ6UU-BehQWin0.js} +1 -1
  258. package/web-shell/assets/{chunk-JWPE2WC7-Dt3Y2Fvx.js → chunk-JWPE2WC7-B5ftg1Bb.js} +1 -1
  259. package/web-shell/assets/{chunk-LCL6LL3I-CZHw2lLI.js → chunk-LCL6LL3I-D7rnbVdk.js} +1 -1
  260. package/web-shell/assets/{chunk-POPQ4Y6H-ysNAdTGx.js → chunk-POPQ4Y6H-2Bp-Orju.js} +1 -1
  261. package/web-shell/assets/{chunk-SVP7TREG-BdNXW6YQ.js → chunk-SVP7TREG-CD2goGva.js} +1 -1
  262. package/web-shell/assets/{chunk-XXDRQBXY-DgqQ9UA8.js → chunk-XXDRQBXY-DzQt-Rji.js} +1 -1
  263. package/web-shell/assets/classDiagram-DTDB5LWJ-C-Uz8hHk.js +1 -0
  264. package/web-shell/assets/classDiagram-v2-JRS7N3AN-C-Uz8hHk.js +1 -0
  265. package/web-shell/assets/{cose-bilkent-JH36ORCC-BILImXzJ.js → cose-bilkent-JH36ORCC-C-BZXSUn.js} +1 -1
  266. package/web-shell/assets/{cynefin-OW5HDTMX-DR88Pund.js → cynefin-OW5HDTMX-BTcvowe1.js} +1 -1
  267. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-BYFbfkA6.js → cynefinDiagram-5FMLGOSQ-BoUE6K81.js} +1 -1
  268. package/web-shell/assets/{dagre-3AP2YEHR-rfpyc6sX.js → dagre-3AP2YEHR-BHxy9xeB.js} +1 -1
  269. package/web-shell/assets/{diagram-S7CK7UJ4-BJxLmEwH.js → diagram-S7CK7UJ4-DMiJIvDT.js} +1 -1
  270. package/web-shell/assets/{diagram-UQ7AKVKN-H34xm7k3.js → diagram-UQ7AKVKN-DXV09Aes.js} +1 -1
  271. package/web-shell/assets/{diagram-VSXAHHWV-HYxhwNLx.js → diagram-VSXAHHWV-CocpRomV.js} +1 -1
  272. package/web-shell/assets/{diagram-VX7I27RA-BJazso8F.js → diagram-VX7I27RA-DL7nqtb4.js} +1 -1
  273. package/web-shell/assets/{diagram-Z3DM3KII-Clje1aNy.js → diagram-Z3DM3KII-CPZ2Jux_.js} +1 -1
  274. package/web-shell/assets/{ebnfDiagram-PWID7BFC-M93YBkFh.js → ebnfDiagram-PWID7BFC-BX-eVNsX.js} +1 -1
  275. package/web-shell/assets/{erDiagram-SSCWMZ5O-DY8XzSHU.js → erDiagram-SSCWMZ5O-CPy_Ir6y.js} +1 -1
  276. package/web-shell/assets/{flowDiagram-A5DVABFB-CE6Aylcq.js → flowDiagram-A5DVABFB-eknAOte9.js} +1 -1
  277. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-DI-5LL22.js → ganttDiagram-EL5Y4UJY-crAxw_t7.js} +1 -1
  278. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-C7BZWElk.js → gitGraphDiagram-WWUBYQGX-M29pa3Tc.js} +1 -1
  279. package/web-shell/assets/{index-CVyqwW7y.js → index-B4TLaxWs.js} +474 -474
  280. package/web-shell/assets/{index-DclFHns9.js → index-C9R-iojE.js} +1 -1
  281. package/web-shell/assets/index-CCrkEbzz.css +36 -0
  282. package/web-shell/assets/{infoDiagram-RXCK75RN-CGUSy4Pc.js → infoDiagram-RXCK75RN-XqspXdOU.js} +1 -1
  283. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-B5BVks9q.js → ishikawaDiagram-5VMMS53U-C5KFS-7j.js} +1 -1
  284. package/web-shell/assets/{journeyDiagram-EYS64GPL-CFh6Tf7h.js → journeyDiagram-EYS64GPL-Cc57LVRo.js} +1 -1
  285. package/web-shell/assets/{kanban-definition-3QL26DDD-B7TlxP7c.js → kanban-definition-3QL26DDD-C81OG-AI.js} +1 -1
  286. package/web-shell/assets/{layout-Br_pZq2Q.js → layout-CFVu37BB.js} +1 -1
  287. package/web-shell/assets/{linear-BVlP6fte.js → linear-ChBxdtWf.js} +1 -1
  288. package/web-shell/assets/{mermaid.core-TrcYWoiF.js → mermaid.core-CMLfue0w.js} +6 -6
  289. package/web-shell/assets/{mindmap-definition-FBJOCRG2-BJ4LzqjZ.js → mindmap-definition-FBJOCRG2-DFsvJThp.js} +1 -1
  290. package/web-shell/assets/{pegDiagram-XKGWAZYB-1b_MxlOl.js → pegDiagram-XKGWAZYB-BzpRzM4F.js} +1 -1
  291. package/web-shell/assets/{pieDiagram-E7YTZNPT-B8zl0YhY.js → pieDiagram-E7YTZNPT-Cv0Kankl.js} +1 -1
  292. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-CIZO8ukl.js → quadrantDiagram-AXDQQJYC-Bh2BJ3Ay.js} +1 -1
  293. package/web-shell/assets/{railroadDiagram-O6MQD6OU-CepHSbCj.js → railroadDiagram-O6MQD6OU-y8rNDdDS.js} +1 -1
  294. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-BCgxkcSW.js → requirementDiagram-EFPCY7ZU-C0m2DKJ_.js} +1 -1
  295. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-CE5CcoMM.js → sankeyDiagram-P5KCCOFB-BzdGnSF4.js} +1 -1
  296. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-DvgHi-d5.js → sequenceDiagram-WJ2MYXX4-DPzAVmzz.js} +1 -1
  297. package/web-shell/assets/{sizeCapture-X5ZJPWSS-T-fAsCPX.js → sizeCapture-X5ZJPWSS-LcHG28Zh.js} +1 -1
  298. package/web-shell/assets/{stateDiagram-HBIQ2CUA-DYHaul-5.js → stateDiagram-HBIQ2CUA-C1Bzy3IT.js} +1 -1
  299. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-LuuL5byY.js +1 -0
  300. package/web-shell/assets/{swimlanes-XN3QIQJK-Dbz3Qiej.js → swimlanes-XN3QIQJK-Bftk8V64.js} +1 -1
  301. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-COmnNq8s.js +8 -0
  302. package/web-shell/assets/{timeline-definition-24CTP7MA-9NVRts3N.js → timeline-definition-24CTP7MA-BfXHcN1A.js} +1 -1
  303. package/web-shell/assets/{vennDiagram-4TSXK5OY-C7cb7vnH.js → vennDiagram-4TSXK5OY-DRSlI9-V.js} +1 -1
  304. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-CG-8Ddjm.js → wardleyDiagram-VM6X3IG4-CaLmqGau.js} +1 -1
  305. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-iGeYAcP4.js → xychartDiagram-S5SC5T6Z-8lgUT6e8.js} +1 -1
  306. package/web-shell/index.html +6 -3
  307. package/chunks/chunk-FKJM6JKY.js +0 -98
  308. package/web-shell/assets/channel-uEkvKckd.js +0 -1
  309. package/web-shell/assets/classDiagram-DTDB5LWJ-DuPsnhWS.js +0 -1
  310. package/web-shell/assets/classDiagram-v2-JRS7N3AN-DuPsnhWS.js +0 -1
  311. package/web-shell/assets/index-FO7JXPnH.css +0 -36
  312. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-BcYho9a4.js +0 -1
  313. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-D6HsOIgX.js +0 -8
@@ -2,19 +2,19 @@
2
2
  "use strict";
3
3
  import {
4
4
  listCommand
5
- } from "./chunk-SFMCYMVF.js";
5
+ } from "./chunk-SHK2SIR5.js";
6
6
  import {
7
7
  getErrorMessage as getErrorMessage2
8
- } from "./chunk-54TF2ZIQ.js";
8
+ } from "./chunk-YLFICBYK.js";
9
9
  import {
10
10
  CUSTOM_SANDBOX_IMAGE_ENV_VAR
11
- } from "./chunk-4VZCORNT.js";
11
+ } from "./chunk-22QOQKG4.js";
12
12
  import {
13
13
  isOwnInterfaceAddress
14
14
  } from "./chunk-24FVUD5P.js";
15
15
  import {
16
16
  serveCommand
17
- } from "./chunk-IKLFS6SC.js";
17
+ } from "./chunk-L36LLVA5.js";
18
18
  import {
19
19
  OBSERVED_CONTACT_MAX_FRESH_WITHIN_SECONDS,
20
20
  ObservedChannelContactStore
@@ -58,12 +58,12 @@ import {
58
58
  } from "./chunk-Y53DG2HA.js";
59
59
  import {
60
60
  CLI_VERSION
61
- } from "./chunk-YCDL2SAS.js";
61
+ } from "./chunk-TDHVOZ65.js";
62
62
  import {
63
63
  collectProviderModelsForProtocol,
64
64
  getAuthTypeFromEnv,
65
65
  resolveCliGenerationConfig
66
- } from "./chunk-O2GG7H4C.js";
66
+ } from "./chunk-I7UNCY24.js";
67
67
  import {
68
68
  resolveSkillSettings
69
69
  } from "./chunk-HWVUSYSN.js";
@@ -83,17 +83,17 @@ import {
83
83
  registerToolCallDispatch,
84
84
  selectFirstModel,
85
85
  sessionsPath
86
- } from "./chunk-IXSGOSEG.js";
86
+ } from "./chunk-3RMVM33U.js";
87
87
  import {
88
88
  getExtensionManager,
89
89
  requestChoicePluginNonInteractive,
90
90
  requestConsentNonInteractive,
91
91
  requestConsentOrFail,
92
92
  resolveExtensionCommandScope
93
- } from "./chunk-AHBLRVD5.js";
93
+ } from "./chunk-2C3XDBGL.js";
94
94
  import {
95
95
  parseChannelConfig
96
- } from "./chunk-TMWB67LS.js";
96
+ } from "./chunk-BNWIX6BM.js";
97
97
  import {
98
98
  findCliEntryPath
99
99
  } from "./chunk-V6WHFGST.js";
@@ -103,7 +103,7 @@ import {
103
103
  clearAccount,
104
104
  loadAccount,
105
105
  saveAccount
106
- } from "./chunk-P4RUUG64.js";
106
+ } from "./chunk-LTCI6ZOJ.js";
107
107
  import {
108
108
  canonicalizeWorkspace
109
109
  } from "./chunk-6PLDPT2C.js";
@@ -121,7 +121,7 @@ import {
121
121
  import {
122
122
  normalizeWorkerDiagnostic,
123
123
  sanitizeWorkerDiagnostic
124
- } from "./chunk-4JAGXZR3.js";
124
+ } from "./chunk-5V4B3EWA.js";
125
125
  import {
126
126
  CHANNEL_DAEMON_WORKER_SENTINEL,
127
127
  CHANNEL_WORKER_HEARTBEAT_INTERVAL_MS,
@@ -155,7 +155,7 @@ import {
155
155
  isChannelProactiveDeliveryError,
156
156
  sanitizeLogText,
157
157
  sanitizePromptText
158
- } from "./chunk-VDXYYVCD.js";
158
+ } from "./chunk-65GHQ4FX.js";
159
159
  import {
160
160
  CHANNEL_WORKER_KILL_GRACE_MS,
161
161
  CHANNEL_WORKER_STOP_GRACE_MS
@@ -171,21 +171,21 @@ import {
171
171
  assembleMcpServers,
172
172
  getPendingGatedMcpServers,
173
173
  mcpCommand
174
- } from "./chunk-DNPHKA72.js";
174
+ } from "./chunk-C55CR5I4.js";
175
175
  import {
176
176
  loadSettings
177
- } from "./chunk-AQ5NAGWI.js";
177
+ } from "./chunk-RUMSY4ES.js";
178
178
  import {
179
179
  detectSystemLanguage,
180
180
  getCurrentLanguage,
181
181
  initializeI18n,
182
182
  resolveLanguageSetting,
183
183
  t
184
- } from "./chunk-MUZCSTOO.js";
184
+ } from "./chunk-LD53HMPV.js";
185
185
  import {
186
186
  isFileSourcedEnvKey,
187
187
  loadEnvironment
188
- } from "./chunk-H3UDNQLO.js";
188
+ } from "./chunk-4OCYWXKF.js";
189
189
  import {
190
190
  resolveAcpChannelFallback,
191
191
  scrubAndReportInheritedLoaderEnv
@@ -195,29 +195,35 @@ import {
195
195
  } from "./chunk-2EAZ43JQ.js";
196
196
  import {
197
197
  getCliVersion
198
- } from "./chunk-XUSOYE2I.js";
198
+ } from "./chunk-SHX2HIE7.js";
199
199
  import {
200
200
  getPackageJson
201
201
  } from "./chunk-W3N5XAZ6.js";
202
202
  import {
203
203
  isWorkspaceTrusted
204
- } from "./chunk-XY3USGFE.js";
204
+ } from "./chunk-GEV66YGE.js";
205
205
  import {
206
206
  require_strip_json_comments
207
207
  } from "./chunk-NPQ5ZKRP.js";
208
208
  import {
209
+ MAX_CONTROLLER_LABEL_CHARS,
209
210
  NativeLspClient,
210
211
  NativeLspService,
212
+ PeerControllerError,
211
213
  addChannelMemoryEntries,
214
+ addPeerController,
212
215
  clearChannelMemory,
213
216
  findOutputStyle,
214
217
  getChannelMemoryRevision,
218
+ getPeerControllerRegistryPath,
215
219
  listChannelMemoryEntries,
220
+ listPeerControllers,
216
221
  loadOutputStyleCatalog,
217
222
  readChannelMemory,
218
223
  removeChannelMemoryEntries,
224
+ removePeerController,
219
225
  updateChannelMemoryEntry
220
- } from "./chunk-UEZOXZNI.js";
226
+ } from "./chunk-TXAEXF2B.js";
221
227
  import {
222
228
  hideBin,
223
229
  yargs_default
@@ -230,7 +236,7 @@ import {
230
236
  FINDING_SEVERITIES,
231
237
  FINDING_SOURCES,
232
238
  compressFindingSummary
233
- } from "./chunk-QMFOYPGV.js";
239
+ } from "./chunk-J3VZF2AL.js";
234
240
  import {
235
241
  Config,
236
242
  DEFAULT_TRUNCATE_TOOL_OUTPUT_THRESHOLD,
@@ -257,7 +263,7 @@ import {
257
263
  sanitizeFilenameComponent,
258
264
  unquoteCStylePath,
259
265
  updateSetting
260
- } from "./chunk-I72PHOKL.js";
266
+ } from "./chunk-TSLRORQR.js";
261
267
  import {
262
268
  parsePositiveIntegerEnv
263
269
  } from "./chunk-6PVPNMXU.js";
@@ -267,7 +273,7 @@ import {
267
273
  } from "./chunk-IRH27ZC2.js";
268
274
  import {
269
275
  resolveBundleDir
270
- } from "./chunk-PZV2FASB.js";
276
+ } from "./chunk-TRWQQBVH.js";
271
277
  import {
272
278
  listLiveSessions
273
279
  } from "./chunk-B44JBZBB.js";
@@ -278,16 +284,16 @@ import {
278
284
  parseBooleanEnvFlag,
279
285
  require_dist,
280
286
  resolveTelemetrySettings
281
- } from "./chunk-R355CUNQ.js";
287
+ } from "./chunk-CLKE4IY3.js";
282
288
  import {
283
289
  BUILT_IN_OUTPUT_STYLES
284
- } from "./chunk-GXZHYPHZ.js";
290
+ } from "./chunk-OFB36ZBA.js";
285
291
  import {
286
292
  addDaemonRequestAttribute
287
293
  } from "./chunk-7OCIQNKX.js";
288
294
  import {
289
295
  parseLineTolerant
290
- } from "./chunk-P5LDR7FI.js";
296
+ } from "./chunk-WQBR7LN5.js";
291
297
  import {
292
298
  getAllMemoryFilenames,
293
299
  setMemoryFilename
@@ -296,7 +302,7 @@ import {
296
302
  DEFAULT_QWEN_EMBEDDING_MODEL,
297
303
  VERTEX_ADC_HINT,
298
304
  hasVertexProjectConfigured
299
- } from "./chunk-5MTARK4Y.js";
305
+ } from "./chunk-PLUAIHZO.js";
300
306
  import {
301
307
  atomicWriteFileSync
302
308
  } from "./chunk-XFFRI3WM.js";
@@ -311,7 +317,7 @@ import {
311
317
  import {
312
318
  SchemaValidator,
313
319
  ToolNames
314
- } from "./chunk-RPBMP6BN.js";
320
+ } from "./chunk-MWIO7MF6.js";
315
321
  import {
316
322
  FatalConfigError,
317
323
  FatalSandboxError,
@@ -43065,6 +43071,185 @@ var reviewCommand = {
43065
43071
  // packages/cli/src/commands/sessions.ts
43066
43072
  init_esbuild_shims();
43067
43073
 
43074
+ // packages/cli/src/commands/sessions/controllers.ts
43075
+ init_esbuild_shims();
43076
+ var ID_COL = 12;
43077
+ var LABEL_COL = MAX_CONTROLLER_LABEL_CHARS * 2 + 2;
43078
+ function sanitize(value) {
43079
+ return sanitizeTerminalText(value).replace(/[\t\n]/g, "");
43080
+ }
43081
+ __name(sanitize, "sanitize");
43082
+ function padDisplay(str, width) {
43083
+ const currentWidth = stringWidth(str);
43084
+ if (currentWidth >= width) return str;
43085
+ return str + " ".repeat(width - currentWidth);
43086
+ }
43087
+ __name(padDisplay, "padDisplay");
43088
+ function formatCreated(createdAt) {
43089
+ const date = new Date(createdAt);
43090
+ return Number.isNaN(date.getTime()) ? "unknown" : date.toISOString().replace("T", " ").slice(0, 16);
43091
+ }
43092
+ __name(formatCreated, "formatCreated");
43093
+ function describeError(error) {
43094
+ return error instanceof Error ? error.message : String(error);
43095
+ }
43096
+ __name(describeError, "describeError");
43097
+ async function handleAdd(argv) {
43098
+ let added;
43099
+ try {
43100
+ added = await addPeerController(argv.label ?? "");
43101
+ } catch (error) {
43102
+ writeStderrLine(
43103
+ error instanceof PeerControllerError ? `Error: ${error.message}` : `Error: could not write ${getPeerControllerRegistryPath()}: ${describeError(error)}`
43104
+ );
43105
+ process.exit(1);
43106
+ return;
43107
+ }
43108
+ const { record, token } = added;
43109
+ if (argv.json) {
43110
+ writeStdoutLine(
43111
+ JSON.stringify({
43112
+ id: record.id,
43113
+ label: record.label,
43114
+ token,
43115
+ createdAt: record.createdAt
43116
+ })
43117
+ );
43118
+ return;
43119
+ }
43120
+ writeStdoutLine(
43121
+ `Controller "${sanitize(record.label)}" added (${record.id}).`
43122
+ );
43123
+ writeStdoutLine("");
43124
+ writeStdoutLine(
43125
+ "Token \u2014 shown once and never stored, so put it in the controller's own configuration now:"
43126
+ );
43127
+ writeStdoutLine(` ${token}`);
43128
+ writeStdoutLine("");
43129
+ writeStdoutLine(
43130
+ "The controller presents it on the first line of every connection to a session inbox:"
43131
+ );
43132
+ writeStdoutLine(` {"msgV":1,"type":"auth","token":"${token}"}`);
43133
+ writeStdoutLine(
43134
+ "The target session must have agents.crossSessionMessaging enabled and be restarted after enabling it."
43135
+ );
43136
+ writeStdoutLine(
43137
+ 'Messages it sends are delivered without per-message review, unless agents.crossSessionInbound is "hold" or "refuse".'
43138
+ );
43139
+ }
43140
+ __name(handleAdd, "handleAdd");
43141
+ async function handleControllerList(argv) {
43142
+ let records;
43143
+ try {
43144
+ records = await listPeerControllers();
43145
+ } catch (error) {
43146
+ writeStderrLine(
43147
+ error instanceof PeerControllerError ? `Error: ${error.message}` : `Error: could not read ${getPeerControllerRegistryPath()}: ${describeError(error)}`
43148
+ );
43149
+ process.exit(1);
43150
+ return;
43151
+ }
43152
+ if (argv.json) {
43153
+ for (const record of records) {
43154
+ writeStdoutLine(
43155
+ JSON.stringify({
43156
+ id: record.id,
43157
+ label: record.label,
43158
+ createdAt: record.createdAt
43159
+ })
43160
+ );
43161
+ }
43162
+ return;
43163
+ }
43164
+ if (records.length === 0) {
43165
+ writeStdoutLine(
43166
+ "No trusted controllers. Add one with: qwen sessions controllers add --label <name>"
43167
+ );
43168
+ return;
43169
+ }
43170
+ writeStdoutLine(
43171
+ padDisplay("ID", ID_COL) + padDisplay("LABEL", LABEL_COL) + "CREATED"
43172
+ );
43173
+ for (const record of records) {
43174
+ writeStdoutLine(
43175
+ padDisplay(record.id, ID_COL) + padDisplay(
43176
+ truncateToWidth(sanitize(record.label), LABEL_COL - 2),
43177
+ LABEL_COL
43178
+ ) + formatCreated(record.createdAt)
43179
+ );
43180
+ }
43181
+ }
43182
+ __name(handleControllerList, "handleControllerList");
43183
+ async function handleRemove(argv) {
43184
+ let removed;
43185
+ try {
43186
+ removed = await removePeerController(argv.id ?? "");
43187
+ } catch (error) {
43188
+ writeStderrLine(
43189
+ error instanceof PeerControllerError ? `Error: ${error.message}` : `Error: could not write ${getPeerControllerRegistryPath()}: ${describeError(error)}`
43190
+ );
43191
+ process.exit(1);
43192
+ return;
43193
+ }
43194
+ if (!removed) {
43195
+ writeStderrLine(
43196
+ `Error: no controller has the id "${sanitize(argv.id ?? "")}". Run "qwen sessions controllers list" to see them.`
43197
+ );
43198
+ process.exit(1);
43199
+ return;
43200
+ }
43201
+ writeStdoutLine(
43202
+ `Removed controller "${sanitize(removed.label)}" (${removed.id}).`
43203
+ );
43204
+ writeStdoutLine(
43205
+ "Running sessions stop accepting its token on the next connection."
43206
+ );
43207
+ }
43208
+ __name(handleRemove, "handleRemove");
43209
+ var controllersCommand = {
43210
+ command: "controllers",
43211
+ describe: "Manage the controller tokens that may drive your sessions",
43212
+ builder: /* @__PURE__ */ __name((yargs) => yargs.command({
43213
+ command: "add",
43214
+ describe: "Mint a controller token and print it once",
43215
+ builder: /* @__PURE__ */ __name((add) => add.option("label", {
43216
+ type: "string",
43217
+ describe: "What to call this controller, for later revocation",
43218
+ demandOption: true
43219
+ }).option("json", {
43220
+ type: "boolean",
43221
+ describe: "Output as a single JSON object",
43222
+ default: false
43223
+ }), "builder"),
43224
+ handler: /* @__PURE__ */ __name(async (argv) => {
43225
+ await handleAdd(argv);
43226
+ }, "handler")
43227
+ }).command({
43228
+ command: "list",
43229
+ describe: "List the controllers this Qwen home trusts",
43230
+ builder: /* @__PURE__ */ __name((list2) => list2.option("json", {
43231
+ type: "boolean",
43232
+ describe: "Output as JSON Lines",
43233
+ default: false
43234
+ }), "builder"),
43235
+ handler: /* @__PURE__ */ __name(async (argv) => {
43236
+ await handleControllerList(argv);
43237
+ }, "handler")
43238
+ }).command({
43239
+ command: "remove <id>",
43240
+ describe: "Revoke a controller by id",
43241
+ builder: /* @__PURE__ */ __name((remove) => remove.positional("id", {
43242
+ type: "string",
43243
+ describe: 'The id shown by "qwen sessions controllers list"'
43244
+ }), "builder"),
43245
+ handler: /* @__PURE__ */ __name(async (argv) => {
43246
+ await handleRemove(argv);
43247
+ }, "handler")
43248
+ }).demandCommand(1, "You need at least one command before continuing.").version(false), "builder"),
43249
+ handler: /* @__PURE__ */ __name(() => {
43250
+ }, "handler")
43251
+ };
43252
+
43068
43253
  // packages/cli/src/commands/sessions/list.ts
43069
43254
  init_esbuild_shims();
43070
43255
 
@@ -43092,18 +43277,18 @@ function formatTime(iso) {
43092
43277
  return `${d.getUTCFullYear()}-${pad(d.getUTCMonth() + 1)}-${pad(d.getUTCDate())} ${pad(d.getUTCHours())}:${pad(d.getUTCMinutes())}`;
43093
43278
  }
43094
43279
  __name(formatTime, "formatTime");
43095
- function sanitize(value) {
43280
+ function sanitize2(value) {
43096
43281
  const stripped = value.replace(/[\r\n\t]/g, "");
43097
43282
  const escaped = escapeAnsiCtrlCodes(stripped);
43098
43283
  return escaped.replace(/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f-\x9f]/g, "");
43099
43284
  }
43100
- __name(sanitize, "sanitize");
43101
- function padDisplay(str, width) {
43285
+ __name(sanitize2, "sanitize");
43286
+ function padDisplay2(str, width) {
43102
43287
  const currentWidth = stringWidth(str);
43103
43288
  if (currentWidth >= width) return str;
43104
43289
  return str + " ".repeat(width - currentWidth);
43105
43290
  }
43106
- __name(padDisplay, "padDisplay");
43291
+ __name(padDisplay2, "padDisplay");
43107
43292
  function truncate(str, maxLen) {
43108
43293
  const width = stringWidth(str);
43109
43294
  if (width <= maxLen) return str;
@@ -43129,26 +43314,26 @@ function outputHuman(items) {
43129
43314
  20,
43130
43315
  termWidth - SESSION_COL - TIME_COL - TITLE_COL - BRANCH_COL - 4
43131
43316
  );
43132
- const header = padDisplay("SESSION ID", SESSION_COL) + " " + padDisplay("STARTED", TIME_COL) + " " + padDisplay("TITLE", TITLE_COL) + " " + padDisplay("BRANCH", BRANCH_COL) + " PROMPT";
43317
+ const header = padDisplay2("SESSION ID", SESSION_COL) + " " + padDisplay2("STARTED", TIME_COL) + " " + padDisplay2("TITLE", TITLE_COL) + " " + padDisplay2("BRANCH", BRANCH_COL) + " PROMPT";
43133
43318
  writeStdoutLine(header);
43134
43319
  for (const item of items) {
43135
43320
  const sessionId = truncate(
43136
- sanitize(String(item.sessionId ?? "")),
43321
+ sanitize2(String(item.sessionId ?? "")),
43137
43322
  SESSION_COL
43138
43323
  );
43139
- const time = truncate(sanitize(formatTime(item.startTime)), TIME_COL);
43140
- const sanitizedPrompt = sanitize(item.prompt ?? "");
43324
+ const time = truncate(sanitize2(formatTime(item.startTime)), TIME_COL);
43325
+ const sanitizedPrompt = sanitize2(item.prompt ?? "");
43141
43326
  const title = truncate(
43142
- item.customTitle != null ? sanitize(item.customTitle) : sanitizedPrompt,
43327
+ item.customTitle != null ? sanitize2(item.customTitle) : sanitizedPrompt,
43143
43328
  TITLE_COL
43144
43329
  );
43145
43330
  const branch = truncate(
43146
- item.gitBranch != null ? sanitize(item.gitBranch) : "-",
43331
+ item.gitBranch != null ? sanitize2(item.gitBranch) : "-",
43147
43332
  BRANCH_COL
43148
43333
  );
43149
43334
  const prompt = truncate(sanitizedPrompt, PROMPT_COL);
43150
43335
  writeStdoutLine(
43151
- `${padDisplay(sessionId, SESSION_COL)} ${padDisplay(time, TIME_COL)} ${padDisplay(title, TITLE_COL)} ${padDisplay(branch, BRANCH_COL)} ${prompt}`
43336
+ `${padDisplay2(sessionId, SESSION_COL)} ${padDisplay2(time, TIME_COL)} ${padDisplay2(title, TITLE_COL)} ${padDisplay2(branch, BRANCH_COL)} ${prompt}`
43152
43337
  );
43153
43338
  }
43154
43339
  }
@@ -43234,16 +43419,16 @@ init_esbuild_shims();
43234
43419
  var NAME_COL = 22;
43235
43420
  var PID_COL = 9;
43236
43421
  var AGE_COL = 10;
43237
- function sanitize2(value) {
43422
+ function sanitize3(value) {
43238
43423
  return sanitizeTerminalText(value).replace(/[\t\n]/g, "");
43239
43424
  }
43240
- __name(sanitize2, "sanitize");
43241
- function padDisplay2(str, width) {
43425
+ __name(sanitize3, "sanitize");
43426
+ function padDisplay3(str, width) {
43242
43427
  const currentWidth = stringWidth(str);
43243
43428
  if (currentWidth >= width) return str;
43244
43429
  return str + " ".repeat(width - currentWidth);
43245
43430
  }
43246
- __name(padDisplay2, "padDisplay");
43431
+ __name(padDisplay3, "padDisplay");
43247
43432
  function formatAge(ms) {
43248
43433
  const seconds = Math.max(0, Math.floor(ms / 1e3));
43249
43434
  if (seconds < 60) return `${seconds}s`;
@@ -43256,14 +43441,14 @@ function formatAge(ms) {
43256
43441
  __name(formatAge, "formatAge");
43257
43442
  function outputHuman2(records, now) {
43258
43443
  writeStdoutLine(
43259
- padDisplay2("NAME", NAME_COL) + padDisplay2("PID", PID_COL) + padDisplay2("AGE", AGE_COL) + "DIRECTORY"
43444
+ padDisplay3("NAME", NAME_COL) + padDisplay3("PID", PID_COL) + padDisplay3("AGE", AGE_COL) + "DIRECTORY"
43260
43445
  );
43261
43446
  for (const record of records) {
43262
43447
  writeStdoutLine(
43263
- padDisplay2(
43264
- truncateToWidth(sanitize2(record.name), NAME_COL - 2),
43448
+ padDisplay3(
43449
+ truncateToWidth(sanitize3(record.name), NAME_COL - 2),
43265
43450
  NAME_COL
43266
- ) + padDisplay2(String(record.pid), PID_COL) + padDisplay2(formatAge(now - record.startedAt), AGE_COL) + sanitize2(record.cwd)
43451
+ ) + padDisplay3(String(record.pid), PID_COL) + padDisplay3(formatAge(now - record.startedAt), AGE_COL) + sanitize3(record.cwd)
43267
43452
  );
43268
43453
  }
43269
43454
  }
@@ -43301,7 +43486,7 @@ var psCommand = {
43301
43486
  var sessionsCommand = {
43302
43487
  command: "sessions",
43303
43488
  describe: "Manage Qwen Code sessions",
43304
- builder: /* @__PURE__ */ __name((yargs) => yargs.command(listCommand4).command(psCommand).demandCommand(1, "You need at least one command before continuing.").version(false), "builder"),
43489
+ builder: /* @__PURE__ */ __name((yargs) => yargs.command(listCommand4).command(psCommand).command(controllersCommand).demandCommand(1, "You need at least one command before continuing.").version(false), "builder"),
43305
43490
  // demandCommand(1) ensures a subcommand is always required;
43306
43491
  // yargs automatically shows help when none is provided.
43307
43492
  handler: /* @__PURE__ */ __name(() => {
@@ -43324,10 +43509,10 @@ var updateCommand3 = {
43324
43509
  stdioHelpers,
43325
43510
  { updateEventEmitter }
43326
43511
  ] = await Promise.all([
43327
- import("./settings-VXO4WBMK.js"),
43328
- import("./updateCheck-W6UZFURI.js"),
43329
- import("./installationInfo-542MGC4S.js"),
43330
- import("./standalone-update-ZWVQUO64.js"),
43512
+ import("./settings-LO6J5SAZ.js"),
43513
+ import("./updateCheck-3MYFMM35.js"),
43514
+ import("./installationInfo-IRPQEYRF.js"),
43515
+ import("./standalone-update-CWDIKJRP.js"),
43331
43516
  import("./stdioHelpers-AY6XCDY2.js"),
43332
43517
  import("./updateEventEmitter-5MKC7BLQ.js")
43333
43518
  ]);
@@ -44421,7 +44606,7 @@ async function loadCliConfig(settings, argv, cwd = process.cwd(), overrideExtens
44421
44606
  disabledSkillNamesProvider: bareMode || safeMode ? void 0 : disabledSkillNamesProvider,
44422
44607
  enabledSkillNamesProvider: bareMode || safeMode ? void 0 : enabledSkillNamesProvider,
44423
44608
  terminalImageRenderSupportProvider: interactive ? async () => {
44424
- const { getTerminalImageRenderSupport } = await import("./terminal-image-renderer-WGWRENOF.js");
44609
+ const { getTerminalImageRenderSupport } = await import("./terminal-image-renderer-B646HBDW.js");
44425
44610
  return getTerminalImageRenderSupport();
44426
44611
  } : void 0,
44427
44612
  disabledSkillLevels: bareMode || safeMode || !Array.isArray(settings.skills?.disabledLevels) ? void 0 : settings.skills.disabledLevels.filter(isSkillLevel),
@@ -411,7 +411,7 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
411
411
  try {
412
412
  if (authType === "openai" /* USE_OPENAI */) {
413
413
  loadBaseGenerator = /* @__PURE__ */ __name(async () => {
414
- const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-7ND7K5CP.js");
414
+ const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-K7V5EO7F.js");
415
415
  return createOpenAIContentGenerator(generatorConfig, config);
416
416
  }, "loadBaseGenerator");
417
417
  } else if (authType === "qwen-oauth" /* QWEN_OAUTH */) {
@@ -422,7 +422,7 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
422
422
  isInitialAuth ? { requireCachedCredentials: true } : void 0
423
423
  );
424
424
  loadBaseGenerator = /* @__PURE__ */ __name(async () => {
425
- const { QwenContentGenerator } = await import("./qwenContentGenerator-AELTUTH6.js");
425
+ const { QwenContentGenerator } = await import("./qwenContentGenerator-MPBOQB64.js");
426
426
  return new QwenContentGenerator(qwenClient, generatorConfig, config);
427
427
  }, "loadBaseGenerator");
428
428
  } catch (error) {
@@ -438,7 +438,7 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
438
438
  }, "loadBaseGenerator");
439
439
  } else if (authType === "gemini" /* USE_GEMINI */ || authType === "vertex-ai" /* USE_VERTEX_AI */) {
440
440
  loadBaseGenerator = /* @__PURE__ */ __name(async () => {
441
- const { createLlmContentGenerator } = await import("./llm-content-generator-R4NL3OQN.js");
441
+ const { createLlmContentGenerator } = await import("./llm-content-generator-2QWGBW42.js");
442
442
  return createLlmContentGenerator(generatorConfig, config);
443
443
  }, "loadBaseGenerator");
444
444
  } else {
@@ -453,7 +453,7 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
453
453
  try {
454
454
  const [baseGenerator, { LoggingContentGenerator }] = await Promise.all([
455
455
  loadBaseGenerator(),
456
- import("./loggingContentGenerator-ZYSWVNEO.js")
456
+ import("./loggingContentGenerator-ZYURLJKK.js")
457
457
  ]);
458
458
  return new LoggingContentGenerator(
459
459
  baseGenerator,
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-VFFQAOPR.js";
6
6
  import {
7
7
  formatHistoryGapNotice
8
- } from "./chunk-ZTAVGFKA.js";
8
+ } from "./chunk-37SOBIA3.js";
9
9
  import {
10
10
  sanitizeTerminalText
11
11
  } from "./chunk-47ECGEJC.js";
@@ -21,18 +21,18 @@ import {
21
21
  } from "./chunk-537SQ2AI.js";
22
22
  import {
23
23
  LOAD_REPLAY_META_KEY
24
- } from "./chunk-WEXA2DNG.js";
24
+ } from "./chunk-Z6KFLEG7.js";
25
25
  import {
26
26
  isGoalCheckpointBookkeepingRecord,
27
27
  projectGoalStateToLegacy
28
- } from "./chunk-UEZOXZNI.js";
28
+ } from "./chunk-TXAEXF2B.js";
29
29
  import {
30
30
  observeToolResultBoundary,
31
31
  parseGoalSnapshotV2,
32
32
  parseGoalStateCause,
33
33
  parseGoalStateRecordPayloadV2,
34
34
  toolResultBoundaryArtifact
35
- } from "./chunk-I72PHOKL.js";
35
+ } from "./chunk-TSLRORQR.js";
36
36
  import {
37
37
  TranscriptRecordPreparationError,
38
38
  prepareTranscriptRecords,
@@ -42,11 +42,11 @@ import {
42
42
  import {
43
43
  formatVisionBridgeNoticeDisplay,
44
44
  isVisionBridgeNoticeDisplay
45
- } from "./chunk-P5LDR7FI.js";
45
+ } from "./chunk-WQBR7LN5.js";
46
46
  import {
47
47
  SchemaValidator,
48
48
  ToolNames
49
- } from "./chunk-RPBMP6BN.js";
49
+ } from "./chunk-MWIO7MF6.js";
50
50
  import {
51
51
  createDebugLogger
52
52
  } from "./chunk-ZAFYHRVY.js";
@@ -2803,7 +2803,7 @@ async function collectSessionMetadata(conversation, config) {
2803
2803
  const gitBranch = firstRecord?.gitBranch;
2804
2804
  let gitRepo;
2805
2805
  if (cwd) {
2806
- const { getGitRepoName } = await import("./deferred-core-runtime-UO2M6WYI.js");
2806
+ const { getGitRepoName } = await import("./deferred-core-runtime-DWOXIU5S.js");
2807
2807
  gitRepo = getGitRepoName(cwd);
2808
2808
  }
2809
2809
  let model;
@@ -3592,14 +3592,14 @@ var DOCUMENT_HTML_TEMPLATE = `<!doctype html>
3592
3592
  <script
3593
3593
  nonce="__EXPORT_NONCE__"
3594
3594
  id="transcript-renderer"
3595
- integrity="sha384-abbUc1rU9C3a7riwfcDf8YCGws4RNQmz0s54u7OQ+u7bl/V8LfFHJgobnUFDSqP1"
3595
+ integrity="sha384-GJ2CkCgMyW2FpL2AIjDKL3cHsSCVDximEkEhmJaaLhtQp2lw2FZmRnHykpwnXH2T"
3596
3596
  crossorigin="anonymous"
3597
- src="https://unpkg.com/@qwen-code/qwen-code@0.23.1-preview.1/export-transcript-document.js"
3597
+ src="https://unpkg.com/@qwen-code/qwen-code@0.23.1-preview.2/export-transcript-document.js"
3598
3598
  ></script>
3599
3599
  </body>
3600
3600
  </html>
3601
3601
  `;
3602
- var EXPORT_TRANSCRIPT_RENDERER_VERSION = "0.23.1-preview.1+9a8e8d6e7353be61";
3602
+ var EXPORT_TRANSCRIPT_RENDERER_VERSION = "0.23.1-preview.2+534a412e06fbc276";
3603
3603
  var EXPORT_TRANSCRIPT_RENDERER_LIMITS = Object.freeze({
3604
3604
  maxBlocks: 1e3,
3605
3605
  maxEnvelopeBytes: 33554432
@@ -23,7 +23,7 @@ import {
23
23
  } from "./chunk-WZAD4ZNJ.js";
24
24
  import {
25
25
  SchemaValidator
26
- } from "./chunk-RPBMP6BN.js";
26
+ } from "./chunk-MWIO7MF6.js";
27
27
  import {
28
28
  createDebugLogger
29
29
  } from "./chunk-ZAFYHRVY.js";
@@ -2,14 +2,14 @@
2
2
  "use strict";
3
3
  import {
4
4
  getCurrentAgentId
5
- } from "./chunk-VEFRT7NX.js";
5
+ } from "./chunk-H3Q3RSKZ.js";
6
6
  import {
7
7
  getTeammateContext,
8
8
  isTeammate
9
9
  } from "./chunk-S6LOFUVP.js";
10
10
  import {
11
11
  ToolNames
12
- } from "./chunk-RPBMP6BN.js";
12
+ } from "./chunk-MWIO7MF6.js";
13
13
  import {
14
14
  init_esbuild_shims
15
15
  } from "./chunk-5O2XNYP6.js";