@qwen-code/qwen-code 0.21.0 → 0.21.1-simplify-system-prompt.0

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 (228) hide show
  1. package/chunks/{MaxSizedBox-5DPPWPGT.js → MaxSizedBox-INHRH72H.js} +11 -10
  2. package/chunks/{StandaloneSessionPicker-BIRMPLRD.js → StandaloneSessionPicker-O6RKBPU4.js} +25 -24
  3. package/chunks/{acpAgent-6J2U72PQ.js → acpAgent-HYFVXVDR.js} +119 -74
  4. package/chunks/{agent-6ODUANDO.js → agent-VXDAN5JK.js} +10 -9
  5. package/chunks/{agent-headless-7BYQTMHW.js → agent-headless-K4ZMMNBD.js} +10 -9
  6. package/chunks/{anthropicContentGenerator-75BKLTSP.js → anthropicContentGenerator-LXUXMOE7.js} +20 -9
  7. package/chunks/{bridge-ZUB64FAE.js → bridge-LGPZCFHO.js} +14 -13
  8. package/chunks/channel-management-service-G74LFADV.js +403 -0
  9. package/chunks/channel-settings-store-CHCDRTPY.js +89 -0
  10. package/chunks/{channel-worker-group-2ZD7TVAT.js → channel-worker-group-PTJIJSKC.js} +6 -5
  11. package/chunks/{channel-worker-manager-4OA4BCGB.js → channel-worker-manager-WIMGM2FD.js} +6 -5
  12. package/chunks/{channel-worker-supervisor-V7KCFJTS.js → channel-worker-supervisor-KUFTR6P5.js} +5 -4
  13. package/chunks/{chunk-OFDOK3VM.js → chunk-2JM6GZ5D.js} +3 -3
  14. package/chunks/{chunk-H4SBPHSA.js → chunk-2OM7GEXO.js} +1 -1
  15. package/chunks/{chunk-TGILQ3YH.js → chunk-2Q3OT4OV.js} +7 -7
  16. package/chunks/{chunk-PC6JANNU.js → chunk-2YZJCM5T.js} +4 -4
  17. package/chunks/{chunk-QAF7NMK7.js → chunk-32MVHM4T.js} +1 -1
  18. package/chunks/{chunk-K36B6G2O.js → chunk-3HBZKBMQ.js} +3 -3
  19. package/chunks/{chunk-GSN55ZRI.js → chunk-3IXOIAKE.js} +4 -4
  20. package/chunks/{chunk-IJTOWOD7.js → chunk-3JAQDSXN.js} +12 -0
  21. package/chunks/{chunk-UDX5OBWR.js → chunk-3MSHSCSN.js} +2 -2
  22. package/chunks/{chunk-ZFDTEDCF.js → chunk-4M377AZG.js} +3 -3
  23. package/chunks/{chunk-U7M2DMGW.js → chunk-52O2CIUL.js} +2 -2
  24. package/chunks/{chunk-R5AFZNQW.js → chunk-5THCYPLO.js} +3 -3
  25. package/chunks/{chunk-7MVVZO4N.js → chunk-5U4IPFBR.js} +4 -4
  26. package/chunks/{chunk-KIM5GUMA.js → chunk-66RMLJHC.js} +21 -21
  27. package/chunks/{chunk-FSITMZJH.js → chunk-6PSLCFQ2.js} +5 -5
  28. package/chunks/{chunk-ACY3A37B.js → chunk-7FZEBPKS.js} +3 -3
  29. package/chunks/{chunk-7JURR4JT.js → chunk-A6UO2C7C.js} +1 -1
  30. package/chunks/{chunk-JLU636DO.js → chunk-ALMR3E6Q.js} +1 -0
  31. package/chunks/{chunk-PWVFN2LF.js → chunk-B4UMZKMU.js} +1 -1
  32. package/chunks/{chunk-SQCQ4KO2.js → chunk-B6ZJ7SI6.js} +14 -14
  33. package/chunks/{chunk-YPE6A4GC.js → chunk-B7QDM6Z7.js} +1 -1
  34. package/chunks/{chunk-NIBLUX3Y.js → chunk-BO4XCS7P.js} +195 -3
  35. package/chunks/{chunk-WCXCRJYB.js → chunk-BRRAJXPA.js} +1 -1
  36. package/chunks/{chunk-TPRQ7RZH.js → chunk-BYFNTGKI.js} +37 -35
  37. package/chunks/{chunk-Y34KJKDC.js → chunk-C3NS4F2Q.js} +1 -1
  38. package/chunks/{chunk-Q4M4MDQ4.js → chunk-CC4N4M36.js} +1 -1
  39. package/chunks/{chunk-EBJQ6AXW.js → chunk-DM22XS4K.js} +5 -5
  40. package/chunks/{chunk-PHOF65IG.js → chunk-DM4Q4JJH.js} +1059 -722
  41. package/chunks/{chunk-JXJFVC6E.js → chunk-DN6ZX5AY.js} +3 -3
  42. package/chunks/{chunk-J24WCGIN.js → chunk-E5WH5O3C.js} +4 -4
  43. package/chunks/{chunk-4WIZGAH3.js → chunk-ER5LWJR6.js} +5 -57
  44. package/chunks/chunk-FY3M44RD.js +463 -0
  45. package/chunks/{chunk-IO3IX5Q4.js → chunk-G4WFQUYQ.js} +1 -1
  46. package/chunks/{chunk-VULLI6WQ.js → chunk-GDIPH4JY.js} +3 -3
  47. package/chunks/chunk-HV3G62R6.js +76 -0
  48. package/chunks/{chunk-YX324OPW.js → chunk-I7XZ3RY5.js} +1 -1
  49. package/chunks/{chunk-BULDBTYC.js → chunk-INADJJGW.js} +1 -26
  50. package/chunks/{chunk-RIBKPMRP.js → chunk-J6D3VXCC.js} +3 -3
  51. package/chunks/{chunk-TEHGS6UP.js → chunk-JALU3ZDU.js} +6 -6
  52. package/chunks/{chunk-YBL3QUDD.js → chunk-KIUFNBHR.js} +1 -1
  53. package/chunks/{chunk-VIA5XA4U.js → chunk-KU5XMLDK.js} +1 -1
  54. package/chunks/{chunk-KMQ33DO4.js → chunk-LG4GZIVV.js} +3 -3
  55. package/chunks/{chunk-ZNAUOR2I.js → chunk-LNARWLZQ.js} +1 -1
  56. package/chunks/{chunk-LQIW3YFY.js → chunk-LNURQEMZ.js} +4 -4
  57. package/chunks/{chunk-VRYUBFMC.js → chunk-LZEMEFKY.js} +1 -1
  58. package/chunks/{chunk-LB6DUZ26.js → chunk-M4UKFCZ2.js} +65 -46
  59. package/chunks/chunk-MK7VQDN3.js +79 -0
  60. package/chunks/{chunk-RWTEFFPU.js → chunk-ML52PL6O.js} +211 -209
  61. package/chunks/{chunk-RF3EXIHJ.js → chunk-MSLKI6C2.js} +12 -12
  62. package/chunks/{chunk-X5XDDSSH.js → chunk-MVS3NS2N.js} +1 -1
  63. package/chunks/{chunk-5NBDS5S6.js → chunk-N3FAY5CM.js} +7 -5
  64. package/chunks/{chunk-55DJUCI2.js → chunk-OJGCZBB7.js} +14 -9
  65. package/chunks/{chunk-BKHWX6I2.js → chunk-P5V4T7NK.js} +3 -3
  66. package/chunks/{chunk-LH2BYDQ5.js → chunk-PANH4R3B.js} +1 -1
  67. package/chunks/{chunk-RZIX2G32.js → chunk-PHVR5UUY.js} +1 -1
  68. package/chunks/{chunk-MZAXJAUM.js → chunk-PSWQZHEA.js} +1 -1
  69. package/chunks/{chunk-3RN6GBKS.js → chunk-QPDRAXDJ.js} +1 -1
  70. package/chunks/{chunk-2X55UKQE.js → chunk-QY5MMZ6O.js} +2 -2
  71. package/chunks/{chunk-CIKQ7KKO.js → chunk-RWS5VYWC.js} +14 -8
  72. package/chunks/{chunk-MVSUYZDT.js → chunk-SASBXAQL.js} +3 -3
  73. package/chunks/chunk-SQBYH7PX.js +1252 -0
  74. package/chunks/{chunk-MB4MZHMJ.js → chunk-SRZ6DXVG.js} +170 -389
  75. package/chunks/chunk-TF2X2WCT.js +363 -0
  76. package/chunks/{chunk-2SCDWPXI.js → chunk-TQCBGUHN.js} +2 -2
  77. package/chunks/{chunk-LK7CHLVP.js → chunk-U4VTUMMK.js} +0 -60
  78. package/chunks/{chunk-IKCX4CCL.js → chunk-U7TXFVUN.js} +6 -6
  79. package/chunks/{chunk-2NH6DYI4.js → chunk-V6VRAM7B.js} +10 -10
  80. package/chunks/{chunk-Z2BC6UJ5.js → chunk-VCBZUOSI.js} +1 -1
  81. package/chunks/{chunk-IKYJHJNF.js → chunk-VFSJ5VRH.js} +2 -2
  82. package/chunks/{chunk-LKEJ26GS.js → chunk-VV6XU5L7.js} +1 -1
  83. package/chunks/{chunk-7ZCNENPP.js → chunk-W4CQXHT6.js} +1 -1
  84. package/chunks/{chunk-HTR4WV6U.js → chunk-W4RQUHY3.js} +31 -1
  85. package/chunks/{chunk-ETSW4KLJ.js → chunk-WDSWXQU3.js} +1 -1
  86. package/chunks/{chunk-PSOO6YXD.js → chunk-XHRTVPG2.js} +8 -6
  87. package/chunks/{chunk-ZJHVAS7M.js → chunk-YAF5VNU7.js} +1 -1
  88. package/chunks/{chunk-JVPM2ULZ.js → chunk-Z5BLYMZM.js} +4 -4
  89. package/chunks/{chunk-M4FMGVY4.js → chunk-ZE5WPL4I.js} +2 -2
  90. package/chunks/{computer-use-SOQ4E3VX.js → computer-use-DOFAHZAB.js} +10 -9
  91. package/chunks/{config-utils-7V7GGIW6.js → config-utils-VFQXVGNR.js} +4 -3
  92. package/chunks/{contextCommand-JLHYA34Z.js → contextCommand-QIZYHDR5.js} +12 -11
  93. package/chunks/{create-sub-session-QRJLW5BV.js → create-sub-session-7543K2QA.js} +10 -9
  94. package/chunks/{daemon-YO6433NF.js → daemon-VOMQW7KZ.js} +189 -0
  95. package/chunks/{daemon-status-provider-2233Q37D.js → daemon-status-provider-OS5UWBHV.js} +18 -17
  96. package/chunks/{dist-WEAHOXDM.js → dist-ANLAT3GS.js} +1 -1
  97. package/chunks/{dist-BBLXMS3N.js → dist-BRB6EXK4.js} +1 -1
  98. package/chunks/{dist-YFNEUWSE.js → dist-K6Y4E7FX.js} +1 -1
  99. package/chunks/{dist-F6IBUDR4.js → dist-KTYYJ2C5.js} +1 -1
  100. package/chunks/{dist-46NQKLTW.js → dist-NNVBBOGU.js} +2 -2
  101. package/chunks/{dist-AIKFMUKK.js → dist-RTJFMNEZ.js} +1 -1
  102. package/chunks/{earlyInputCapture-A7NDU3PF.js → earlyInputCapture-WQT24RWD.js} +10 -9
  103. package/chunks/{edit-OBDSQURM.js → edit-RIEOJWKB.js} +10 -9
  104. package/chunks/{enter-worktree-U6MRPQ2P.js → enter-worktree-OGK5FQ3R.js} +10 -9
  105. package/chunks/{enterPlanMode-BC5QUZZ2.js → enterPlanMode-IWZYALIB.js} +10 -9
  106. package/chunks/{environment-W5UFC2CH.js → environment-VZ7BRI4Q.js} +12 -11
  107. package/chunks/{errors-M7CLORXH.js → errors-PCX25DVP.js} +12 -11
  108. package/chunks/{exit-worktree-DGNYMECB.js → exit-worktree-4TEYVIVP.js} +10 -9
  109. package/chunks/{exitPlanMode-GXTBWQAR.js → exitPlanMode-GHPUHBZJ.js} +38 -18
  110. package/chunks/{fast-path-JJZFJANL.js → fast-path-HYE7IFEV.js} +5 -5
  111. package/chunks/{gemini-QS36EBZV.js → gemini-NGRQX3YJ.js} +54 -51
  112. package/chunks/{geminiContentGenerator-AG4KB6CV.js → geminiContentGenerator-FQHPFZSR.js} +36 -7
  113. package/chunks/{glob-V7R3PSK3.js → glob-FRTM3X2E.js} +10 -9
  114. package/chunks/{grep-QYPSK7OP.js → grep-RKWVROCW.js} +10 -9
  115. package/chunks/{handleAutoUpdate-6DBEZYPV.js → handleAutoUpdate-2CZQRJ66.js} +14 -13
  116. package/chunks/{i18n-VUJJZIMU.js → i18n-XEQVMRKN.js} +11 -10
  117. package/chunks/{image-gen-Z3VPGKRC.js → image-gen-WIEM7KZA.js} +1 -1
  118. package/chunks/{initializer-UWAK5U5O.js → initializer-OVGZ4FLY.js} +15 -14
  119. package/chunks/{installationInfo-6O2YAA52.js → installationInfo-5UUQJI6Y.js} +11 -10
  120. package/chunks/{list-GB4ESM3T.js → list-HODU6RXD.js} +18 -17
  121. package/chunks/{loadedSettingsAdapter-OT6JVQ7U.js → loadedSettingsAdapter-TYNLBALY.js} +15 -14
  122. package/chunks/{loggingContentGenerator-HS3S5H3Q.js → loggingContentGenerator-WGM27QAW.js} +55 -91
  123. package/chunks/{managed-npm-update-JYEMMXA3.js → managed-npm-update-JQ2CG3RH.js} +11 -10
  124. package/chunks/{mcp-6DBDJPFU.js → mcp-J3DFWX4A.js} +15 -14
  125. package/chunks/{monitor-R3ODH5U6.js → monitor-7FEWXX5F.js} +10 -9
  126. package/chunks/{nonInteractiveCli-MOYCYBBU.js → nonInteractiveCli-F4GYSMHT.js} +50 -47
  127. package/chunks/{notebook-edit-BNOK452R.js → notebook-edit-JGJV2K6J.js} +10 -9
  128. package/chunks/{openaiContentGenerator-WMCU3O2H.js → openaiContentGenerator-JPVXDTAO.js} +8 -7
  129. package/chunks/{pidfile-TFRZZZIO.js → pidfile-4VNAR3EP.js} +10 -9
  130. package/chunks/{processUtils-RT7UNCC2.js → processUtils-V2LCK6T6.js} +2 -2
  131. package/chunks/{qwenContentGenerator-HHCRK4SX.js → qwenContentGenerator-TICV2W2Z.js} +12 -11
  132. package/chunks/{qwenOAuth2-OWLB5AKH.js → qwenOAuth2-XGFI5XJG.js} +1 -1
  133. package/chunks/{read-file-APMO3PSX.js → read-file-LZXUR4TO.js} +5 -5
  134. package/chunks/{resumeHistoryUtils-6KRYEAWZ.js → resumeHistoryUtils-65OX3SGJ.js} +14 -13
  135. package/chunks/{ripGrep-BEJDEDXW.js → ripGrep-2U2FRGMV.js} +10 -9
  136. package/chunks/{run-qwen-serve-FU6HEM4J.js → run-qwen-serve-3VCV4I7E.js} +69 -33
  137. package/chunks/{runtime-XXRRTNP6.js → runtime-AXJWIEDU.js} +20 -18
  138. package/chunks/{scheduler-G2ZS2Z7E.js → scheduler-RS2I6RU5.js} +10 -9
  139. package/chunks/{sdk-exporters-http-FYBSUCPD.js → sdk-exporters-http-FS6ZV7MF.js} +2 -2
  140. package/chunks/{sdk-impl-GMVPB7NB.js → sdk-impl-7FZSCSXB.js} +6 -6
  141. package/chunks/{serve-7BSTXJ4T.js → serve-W2GC47CM.js} +16 -15
  142. package/chunks/{server-4UMH7OIZ.js → server-HRZ23U7M.js} +499 -93
  143. package/chunks/{session-K3O3Q2SV.js → session-7XHZKTVV.js} +51 -48
  144. package/chunks/{settings-CR2EWTBA.js → settings-7ZGZDXAS.js} +14 -13
  145. package/chunks/{shell-HH3PF3A2.js → shell-45IPBDP5.js} +10 -9
  146. package/chunks/{skill-I3SDA4MB.js → skill-LIWXNLDW.js} +7 -6
  147. package/chunks/{spawnChannel-RWNDBXGA.js → spawnChannel-PVXQ5AGV.js} +12 -11
  148. package/chunks/{src-GE4TTTML.js → src-AY65BYR7.js} +36 -17
  149. package/chunks/{standalone-update-Q6WFRZZQ.js → standalone-update-ZMFNKAEY.js} +12 -11
  150. package/chunks/{startInteractiveUI-SLZGHRPH.js → startInteractiveUI-IW3CSKHA.js} +87 -88
  151. package/chunks/{team-create-YJALH5D2.js → team-create-O2FROQ4R.js} +10 -9
  152. package/chunks/{team-plan-approval-34QFYKGN.js → team-plan-approval-Q6WDBXTQ.js} +10 -9
  153. package/chunks/{theme-manager-SWRILQHI.js → theme-manager-YYPZFBAH.js} +10 -9
  154. package/chunks/{tool-search-NF7GB6LE.js → tool-search-APECNQ3Z.js} +5 -5
  155. package/chunks/{total-session-admission-DLHHHLD3.js → total-session-admission-JXES723M.js} +14 -13
  156. package/chunks/{tree-sitter-4D7QS7F6.js → tree-sitter-FS4VPMZA.js} +1 -1
  157. package/chunks/{tree-sitter-bash-VEJGF5XF.js → tree-sitter-bash-6B46JJCV.js} +1 -1
  158. package/chunks/{trustedFolders-KHXHY6PY.js → trustedFolders-HVI7IXUH.js} +11 -10
  159. package/chunks/{update-relaunch-WBUZJC5O.js → update-relaunch-ON5MDJQG.js} +5 -5
  160. package/chunks/{updateCheck-RKL6M5XN.js → updateCheck-WUJGHWZZ.js} +13 -12
  161. package/chunks/{useAutoAcceptIndicator-CFQ5BUJL.js → useAutoAcceptIndicator-CHSTZLZD.js} +17 -16
  162. package/chunks/{validateNonInterActiveAuth-3R223G3R.js → validateNonInterActiveAuth-JBLKBKRD.js} +47 -44
  163. package/chunks/{version-HS7YSFHV.js → version-LTNUBQJY.js} +1 -1
  164. package/chunks/{web-fetch-NKCSG7ZE.js → web-fetch-L5UTI53V.js} +5 -5
  165. package/chunks/{web-search-S62WAP4S.js → web-search-KM33JOS3.js} +2 -2
  166. package/chunks/{workflow-QAGU5RU4.js → workflow-K7FAWV77.js} +11 -10
  167. package/chunks/{workspace-providers-status-QSVZUETE.js → workspace-providers-status-GAKSF4LL.js} +18 -17
  168. package/chunks/{workspace-registration-store-24JMHDGF.js → workspace-registration-store-6TGVDJV5.js} +1 -1
  169. package/chunks/{workspace-registry-UT4RBNBM.js → workspace-registry-A7NQUONG.js} +14 -13
  170. package/chunks/{workspace-service-JFWRUS4V.js → workspace-service-STGVSO4N.js} +19 -18
  171. package/chunks/{workspace-skills-status-ZBBKJOI2.js → workspace-skills-status-66AK3DUA.js} +16 -15
  172. package/chunks/{write-file-VHIXW5M7.js → write-file-HUUCEG4P.js} +10 -9
  173. package/cli.js +12 -12
  174. package/package.json +3 -3
  175. package/web-shell/assets/{arc-DcbWnB9T.js → arc-BbHijhiN.js} +1 -1
  176. package/web-shell/assets/{architectureDiagram-3BPJPVTR-kMMF5sud.js → architectureDiagram-3BPJPVTR-Cb4B_JD0.js} +1 -1
  177. package/web-shell/assets/{blockDiagram-GPEHLZMM-Htl9vTJS.js → blockDiagram-GPEHLZMM-Dsjlh3H-.js} +1 -1
  178. package/web-shell/assets/{c4Diagram-AAUBKEIU-BnZnm0mQ.js → c4Diagram-AAUBKEIU-Cp5AeR4U.js} +1 -1
  179. package/web-shell/assets/channel-Bzdx6E8P.js +1 -0
  180. package/web-shell/assets/{chunk-2J33WTMH-DziB7kDG.js → chunk-2J33WTMH-CLcY7W2e.js} +1 -1
  181. package/web-shell/assets/{chunk-4BX2VUAB-CmkD8daw.js → chunk-4BX2VUAB-BUhvY2LR.js} +1 -1
  182. package/web-shell/assets/{chunk-55IACEB6-CHAd9A_U.js → chunk-55IACEB6-kDIFC_71.js} +1 -1
  183. package/web-shell/assets/{chunk-727SXJPM-Dqaam3fE.js → chunk-727SXJPM-CIBO15f2.js} +1 -1
  184. package/web-shell/assets/{chunk-AQP2D5EJ-D_-saBYM.js → chunk-AQP2D5EJ-BJ_T_slV.js} +1 -1
  185. package/web-shell/assets/{chunk-FMBD7UC4-B9r_veWD.js → chunk-FMBD7UC4-BEkW35J8.js} +1 -1
  186. package/web-shell/assets/{chunk-ND2GUHAM-B3EaCSpL.js → chunk-ND2GUHAM-GGPxofay.js} +1 -1
  187. package/web-shell/assets/{chunk-QZHKN3VN-CYq8x9mn.js → chunk-QZHKN3VN-Bifllrb6.js} +1 -1
  188. package/web-shell/assets/classDiagram-4FO5ZUOK-Cd6wbiuK.js +1 -0
  189. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-Cd6wbiuK.js +1 -0
  190. package/web-shell/assets/{cose-bilkent-S5V4N54A-D0ng4uiB.js → cose-bilkent-S5V4N54A-C-Add_Dp.js} +1 -1
  191. package/web-shell/assets/{dagre-BM42HDAG-DCZollQv.js → dagre-BM42HDAG-B7MfwNq2.js} +1 -1
  192. package/web-shell/assets/{diagram-2AECGRRQ-Dfk2pWS0.js → diagram-2AECGRRQ-CY_0zuDz.js} +1 -1
  193. package/web-shell/assets/{diagram-5GNKFQAL-kX38ltWR.js → diagram-5GNKFQAL-VyYSbCgA.js} +1 -1
  194. package/web-shell/assets/{diagram-KO2AKTUF-CJz2vsXh.js → diagram-KO2AKTUF-CBiIZ2PL.js} +1 -1
  195. package/web-shell/assets/{diagram-LMA3HP47-BvMLZm_7.js → diagram-LMA3HP47-BL3CrVOx.js} +1 -1
  196. package/web-shell/assets/{diagram-OG6HWLK6-l7kfStkO.js → diagram-OG6HWLK6-CZUPx96P.js} +1 -1
  197. package/web-shell/assets/{erDiagram-TEJ5UH35-BSVa8GGT.js → erDiagram-TEJ5UH35-B81xHr1-.js} +1 -1
  198. package/web-shell/assets/{flowDiagram-I6XJVG4X-CoawKIXH.js → flowDiagram-I6XJVG4X-EZWhir-J.js} +1 -1
  199. package/web-shell/assets/{ganttDiagram-6RSMTGT7-DFUDH0zF.js → ganttDiagram-6RSMTGT7-CVFSuIAg.js} +1 -1
  200. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-Y2pvpT4e.js → gitGraphDiagram-PVQCEYII-C1H2uQDv.js} +1 -1
  201. package/web-shell/assets/{index-ckX9Pq5k.js → index-B2bXx96W.js} +273 -254
  202. package/web-shell/assets/{index-D0GX0zZf.js → index-BYo99NBH.js} +1 -1
  203. package/web-shell/assets/{index-D9haPt0X.css → index-_8mKjx8q.css} +1 -1
  204. package/web-shell/assets/{infoDiagram-5YYISTIA-CU8_zLiX.js → infoDiagram-5YYISTIA-BwyFMlF8.js} +1 -1
  205. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-AVQiV0DU.js → ishikawaDiagram-YF4QCWOH-CQ7Yhn2Y.js} +1 -1
  206. package/web-shell/assets/{journeyDiagram-JHISSGLW-DQ0VSKa3.js → journeyDiagram-JHISSGLW-CJn2sf0l.js} +1 -1
  207. package/web-shell/assets/{kanban-definition-UN3LZRKU-BqnWqsE_.js → kanban-definition-UN3LZRKU-DaNRqwVN.js} +1 -1
  208. package/web-shell/assets/{linear-BkoihsaA.js → linear-DCKODZe2.js} +1 -1
  209. package/web-shell/assets/{mermaid.core-5RJs-31j.js → mermaid.core-CTGJOk27.js} +5 -5
  210. package/web-shell/assets/{mindmap-definition-RKZ34NQL-D33Bxnpd.js → mindmap-definition-RKZ34NQL-BKU3_3rg.js} +1 -1
  211. package/web-shell/assets/{pieDiagram-4H26LBE5-BuEAw3BH.js → pieDiagram-4H26LBE5-COcwBJ82.js} +1 -1
  212. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-Kox_usEq.js → quadrantDiagram-W4KKPZXB-CQnQ443x.js} +1 -1
  213. package/web-shell/assets/{requirementDiagram-4Y6WPE33-CNjeUif0.js → requirementDiagram-4Y6WPE33-CZ2oj5cD.js} +1 -1
  214. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-BCd2OL_U.js → sankeyDiagram-5OEKKPKP-BxAv5mNu.js} +1 -1
  215. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-CF2ZTsz0.js → sequenceDiagram-3UESZ5HK-CztaySPs.js} +1 -1
  216. package/web-shell/assets/{stateDiagram-AJRCARHV-qenSzHtm.js → stateDiagram-AJRCARHV-CTQT1oGD.js} +1 -1
  217. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BjMdT6E_.js +1 -0
  218. package/web-shell/assets/{timeline-definition-PNZ67QCA-B5DyWdgs.js → timeline-definition-PNZ67QCA-K9Mkex5A.js} +1 -1
  219. package/web-shell/assets/{vennDiagram-CIIHVFJN-DqP4I_o_.js → vennDiagram-CIIHVFJN-B2rVIw76.js} +1 -1
  220. package/web-shell/assets/{wardley-L42UT6IY-CJe2e4mg.js → wardley-L42UT6IY-Z1w2JR4M.js} +1 -1
  221. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-BMDSw-Rr.js → wardleyDiagram-YWT4CUSO-CIX9aKXf.js} +1 -1
  222. package/web-shell/assets/{xychartDiagram-2RQKCTM6-BTVZYkxD.js → xychartDiagram-2RQKCTM6-CI9DLIKB.js} +1 -1
  223. package/web-shell/index.html +2 -2
  224. package/chunks/chunk-LEH5C7FV.js +0 -232
  225. package/web-shell/assets/channel-Cq7YKtfC.js +0 -1
  226. package/web-shell/assets/classDiagram-4FO5ZUOK-CQ9aC1Tg.js +0 -1
  227. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CQ9aC1Tg.js +0 -1
  228. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-B7W4zlCr.js +0 -1
@@ -0,0 +1,363 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ getPlugin
5
+ } from "./chunk-MK7VQDN3.js";
6
+ import {
7
+ loadSettings,
8
+ saveSettings
9
+ } from "./chunk-JALU3ZDU.js";
10
+ import {
11
+ init_esbuild_shims
12
+ } from "./chunk-5O2XNYP6.js";
13
+ import {
14
+ __name
15
+ } from "./chunk-J2S4EL5Y.js";
16
+
17
+ // packages/cli/src/serve/channel-settings-store.ts
18
+ init_esbuild_shims();
19
+ import { createHash } from "node:crypto";
20
+ import { isDeepStrictEqual } from "node:util";
21
+ var ChannelSettingsError = class extends Error {
22
+ constructor(code, message) {
23
+ super(message);
24
+ this.code = code;
25
+ this.name = "ChannelSettingsError";
26
+ }
27
+ static {
28
+ __name(this, "ChannelSettingsError");
29
+ }
30
+ };
31
+ function revisionOf(channels, startupNames) {
32
+ return createHash("sha256").update(JSON.stringify({ channels, startupNames })).digest("hex");
33
+ }
34
+ __name(revisionOf, "revisionOf");
35
+ function applySecretUpdate(current, update) {
36
+ validateSecretUpdate(update);
37
+ if (update.operation === "preserve") return current;
38
+ if (update.operation === "clear") return void 0;
39
+ if (typeof update.value !== "string" || update.value.length === 0) {
40
+ throw invalidSecret("Secret replacements must be non-empty strings.");
41
+ }
42
+ return update.value;
43
+ }
44
+ __name(applySecretUpdate, "applySecretUpdate");
45
+ function invalidSecret(message) {
46
+ return new ChannelSettingsError("channel_settings_invalid_secret", message);
47
+ }
48
+ __name(invalidSecret, "invalidSecret");
49
+ function invalidConfig(message) {
50
+ return new ChannelSettingsError("channel_settings_invalid_config", message);
51
+ }
52
+ __name(invalidConfig, "invalidConfig");
53
+ var UNSAFE_OBJECT_KEYS = /* @__PURE__ */ new Set(["__proto__", "constructor", "prototype"]);
54
+ function assertSafeChannelName(name) {
55
+ if (UNSAFE_OBJECT_KEYS.has(name)) {
56
+ throw new ChannelSettingsError(
57
+ "channel_settings_invalid_name",
58
+ `Channel name ${JSON.stringify(name)} is not allowed.`
59
+ );
60
+ }
61
+ }
62
+ __name(assertSafeChannelName, "assertSafeChannelName");
63
+ function assertUpsertChannelName(name) {
64
+ assertSafeChannelName(name);
65
+ if (isAllStartupName(name)) {
66
+ throw new ChannelSettingsError(
67
+ "channel_settings_invalid_name",
68
+ `Channel name ${JSON.stringify(name)} is reserved for startup selection.`
69
+ );
70
+ }
71
+ }
72
+ __name(assertUpsertChannelName, "assertUpsertChannelName");
73
+ function isAllStartupName(name) {
74
+ return name.trim() === "all";
75
+ }
76
+ __name(isAllStartupName, "isAllStartupName");
77
+ function isRecord(value) {
78
+ return value !== null && typeof value === "object" && !Array.isArray(value);
79
+ }
80
+ __name(isRecord, "isRecord");
81
+ function isEnvironmentReference(value) {
82
+ return /^\$[A-Za-z_][A-Za-z0-9_]*$/.test(value);
83
+ }
84
+ __name(isEnvironmentReference, "isEnvironmentReference");
85
+ function assertStringRecord(key, value, allowedKeys) {
86
+ if (!isRecord(value)) {
87
+ throw invalidConfig(`Channel field "${key}" must be an object.`);
88
+ }
89
+ for (const [nestedKey, nestedValue] of Object.entries(value)) {
90
+ if (!allowedKeys.has(nestedKey) || typeof nestedValue !== "string") {
91
+ throw invalidConfig(`Channel field "${key}.${nestedKey}" is invalid.`);
92
+ }
93
+ }
94
+ }
95
+ __name(assertStringRecord, "assertStringRecord");
96
+ function assertNumberRecord(key, value, allowedKeys) {
97
+ if (!isRecord(value)) {
98
+ throw invalidConfig(`Channel field "${key}" must be an object.`);
99
+ }
100
+ for (const [nestedKey, nestedValue] of Object.entries(value)) {
101
+ if (!allowedKeys.has(nestedKey) || typeof nestedValue !== "number" || !Number.isFinite(nestedValue)) {
102
+ throw invalidConfig(`Channel field "${key}.${nestedKey}" is invalid.`);
103
+ }
104
+ }
105
+ }
106
+ __name(assertNumberRecord, "assertNumberRecord");
107
+ function assertSharedField(key, value) {
108
+ const enumValues = {
109
+ senderPolicy: /* @__PURE__ */ new Set(["allowlist", "pairing", "open"]),
110
+ dmPolicy: /* @__PURE__ */ new Set(["open", "disabled"]),
111
+ groupPolicy: /* @__PURE__ */ new Set(["disabled", "allowlist", "open"]),
112
+ sessionScope: /* @__PURE__ */ new Set(["user", "thread", "single"]),
113
+ dispatchMode: /* @__PURE__ */ new Set(["steer", "followup", "collect"]),
114
+ blockStreaming: /* @__PURE__ */ new Set(["on", "off"])
115
+ };
116
+ if (Object.hasOwn(enumValues, key)) {
117
+ if (typeof value !== "string" || !enumValues[key].has(value)) {
118
+ throw invalidConfig(`Channel field "${key}" has an invalid value.`);
119
+ }
120
+ return true;
121
+ }
122
+ if (["model", "cwd", "approvalMode", "instructions"].includes(key)) {
123
+ if (typeof value !== "string") {
124
+ throw invalidConfig(`Channel field "${key}" must be a string.`);
125
+ }
126
+ return true;
127
+ }
128
+ if (key === "allowedUsers") {
129
+ if (!Array.isArray(value) || value.some((item) => typeof item !== "string")) {
130
+ throw invalidConfig(`Channel field "${key}" must be a string array.`);
131
+ }
132
+ return true;
133
+ }
134
+ if (key === "groupHistoryLimit") {
135
+ if (typeof value !== "number" || !Number.isFinite(value)) {
136
+ throw invalidConfig(`Channel field "${key}" must be a number.`);
137
+ }
138
+ return true;
139
+ }
140
+ if (key === "identity") {
141
+ assertStringRecord(
142
+ key,
143
+ value,
144
+ /* @__PURE__ */ new Set(["id", "displayName", "description"])
145
+ );
146
+ return true;
147
+ }
148
+ if (key === "blockStreamingChunk") {
149
+ assertNumberRecord(key, value, /* @__PURE__ */ new Set(["minChars", "maxChars"]));
150
+ return true;
151
+ }
152
+ if (key === "blockStreamingCoalesce") {
153
+ assertNumberRecord(key, value, /* @__PURE__ */ new Set(["idleMs"]));
154
+ return true;
155
+ }
156
+ if (key === "memoryScope") {
157
+ if (!isRecord(value)) {
158
+ throw invalidConfig(`Channel field "${key}" must be an object.`);
159
+ }
160
+ for (const [nestedKey, nestedValue] of Object.entries(value)) {
161
+ const valid = nestedKey === "namespace" && typeof nestedValue === "string" || nestedKey === "mode" && nestedValue === "metadata-only";
162
+ if (!valid) {
163
+ throw invalidConfig(`Channel field "${key}.${nestedKey}" is invalid.`);
164
+ }
165
+ }
166
+ return true;
167
+ }
168
+ return false;
169
+ }
170
+ __name(assertSharedField, "assertSharedField");
171
+ function assertDescriptorValue(field, value) {
172
+ const invalidEnvironment = typeof value === "string" && isEnvironmentReference(value) && field.envResolvable !== true;
173
+ if (invalidEnvironment) {
174
+ throw invalidConfig(
175
+ `Channel field "${field.key}" does not support environment references.`
176
+ );
177
+ }
178
+ const valid = (field.kind === "string" || field.kind === "secret") && typeof value === "string" && value.length > 0 || field.kind === "boolean" && typeof value === "boolean" || field.kind === "number" && typeof value === "number" && Number.isFinite(value) || field.kind === "enum" && typeof value === "string" && field.options?.some((option) => option.value === value) === true;
179
+ if (!valid) {
180
+ throw invalidConfig(`Channel field "${field.key}" has an invalid value.`);
181
+ }
182
+ }
183
+ __name(assertDescriptorValue, "assertDescriptorValue");
184
+ function assertManagedConfig(config, previous, fields) {
185
+ const descriptorFields = new Map(fields.map((field) => [field.key, field]));
186
+ for (const [key, value] of Object.entries(config)) {
187
+ if (key === "type") continue;
188
+ const field = descriptorFields.get(key);
189
+ if (field) {
190
+ assertDescriptorValue(field, value);
191
+ continue;
192
+ }
193
+ if (assertSharedField(key, value)) continue;
194
+ if (!Object.hasOwn(previous, key) || !isDeepStrictEqual(previous[key], value)) {
195
+ throw invalidConfig(`Channel field "${key}" is not manageable.`);
196
+ }
197
+ }
198
+ for (const field of fields) {
199
+ if (!field.required) continue;
200
+ const value = config[field.key];
201
+ if (value === void 0 || value === null || value === "") {
202
+ throw invalidConfig(`Channel field "${field.key}" is required.`);
203
+ }
204
+ }
205
+ }
206
+ __name(assertManagedConfig, "assertManagedConfig");
207
+ function validateSecretUpdate(update) {
208
+ if (!isRecord(update)) {
209
+ throw invalidSecret("Secret updates must be objects.");
210
+ }
211
+ const operation = update["operation"];
212
+ const keys = Object.keys(update).sort();
213
+ const valid = (operation === "preserve" || operation === "clear") && keys.length === 1 && keys[0] === "operation" || operation === "replace" && keys.length === 2 && keys[0] === "operation" && keys[1] === "value" && typeof update["value"] === "string" && update["value"].length > 0;
214
+ if (!valid) {
215
+ throw invalidSecret("Secret updates contain an invalid operation.");
216
+ }
217
+ }
218
+ __name(validateSecretUpdate, "validateSecretUpdate");
219
+ function assertValidChannelSecretUpdates(updates) {
220
+ if (!isRecord(updates)) {
221
+ throw invalidSecret("Secret updates must be objects.");
222
+ }
223
+ for (const [key, update] of Object.entries(updates)) {
224
+ if (UNSAFE_OBJECT_KEYS.has(key)) {
225
+ throw invalidSecret(`Secret update ${JSON.stringify(key)} is invalid.`);
226
+ }
227
+ validateSecretUpdate(update);
228
+ }
229
+ }
230
+ __name(assertValidChannelSecretUpdates, "assertValidChannelSecretUpdates");
231
+ function workspaceValues(workspaceCwd) {
232
+ const settings = loadSettings(workspaceCwd, { skipLoadEnvironment: true }).workspace.settings;
233
+ const rawChannels = isRecord(settings.channels) ? settings.channels : {};
234
+ const channels = {};
235
+ for (const [name, config] of Object.entries(rawChannels)) {
236
+ if (isRecord(config)) channels[name] = config;
237
+ }
238
+ const startupNames = Array.isArray(settings.serve?.channels) ? settings.serve.channels.filter(
239
+ (name) => typeof name === "string"
240
+ ) : [];
241
+ return { channels, startupNames };
242
+ }
243
+ __name(workspaceValues, "workspaceValues");
244
+ var WorkspaceChannelSettingsStore = class {
245
+ constructor(workspaceCwd) {
246
+ this.workspaceCwd = workspaceCwd;
247
+ }
248
+ static {
249
+ __name(this, "WorkspaceChannelSettingsStore");
250
+ }
251
+ snapshot() {
252
+ const { channels, startupNames } = workspaceValues(this.workspaceCwd);
253
+ return {
254
+ revision: revisionOf(channels, startupNames),
255
+ channels: { ...channels },
256
+ startupNames: [...startupNames]
257
+ };
258
+ }
259
+ async upsert(name, options) {
260
+ assertUpsertChannelName(name);
261
+ const secretUpdates = options.secrets === void 0 ? {} : options.secrets;
262
+ assertValidChannelSecretUpdates(secretUpdates);
263
+ const plugin = await getPlugin(options.config.type);
264
+ if (!plugin?.management) {
265
+ throw new ChannelSettingsError(
266
+ "channel_settings_unmanageable",
267
+ `Channel type "${options.config.type}" does not provide safe management metadata.`
268
+ );
269
+ }
270
+ const secretKeys = new Set(
271
+ plugin.management.fields.filter((field) => field.kind === "secret").map((field) => field.key)
272
+ );
273
+ for (const key of Object.keys(secretUpdates)) {
274
+ if (!secretKeys.has(key)) {
275
+ throw invalidSecret(
276
+ `Channel type "${options.config.type}" does not declare "${key}" as a secret.`
277
+ );
278
+ }
279
+ }
280
+ for (const key of secretKeys) {
281
+ if (Object.hasOwn(options.config, key)) {
282
+ throw invalidSecret(
283
+ `Secret "${key}" must use an explicit preserve, replace, or clear operation.`
284
+ );
285
+ }
286
+ }
287
+ const current = this.assertRevision(options.expectedRevision);
288
+ const storedPrevious = current.channels[name] ?? {};
289
+ const previous = storedPrevious["type"] === options.config.type ? storedPrevious : {};
290
+ const nextConfig = { ...options.config };
291
+ for (const key of secretKeys) {
292
+ const update = secretUpdates[key] ?? { operation: "preserve" };
293
+ const value = applySecretUpdate(previous[key], update);
294
+ if (value !== void 0) nextConfig[key] = value;
295
+ }
296
+ assertManagedConfig(nextConfig, previous, plugin.management.fields);
297
+ const channels = { ...current.channels, [name]: nextConfig };
298
+ const workspaceFile = loadSettings(this.workspaceCwd, {
299
+ skipLoadEnvironment: true
300
+ }).workspace;
301
+ saveSettings(workspaceFile, { channels }, ["channels"], {
302
+ throwOnWriteFailure: true
303
+ });
304
+ return this.snapshot();
305
+ }
306
+ async remove(name, options) {
307
+ assertSafeChannelName(name);
308
+ const current = this.assertRevision(options.expectedRevision);
309
+ const channels = { ...current.channels };
310
+ delete channels[name];
311
+ const hasAllSentinel = current.startupNames.some(isAllStartupName);
312
+ const startupNames = hasAllSentinel ? Object.keys(channels).some(
313
+ (channelName) => !isAllStartupName(channelName)
314
+ ) ? ["all"] : [] : current.startupNames.filter((startupName) => startupName !== name);
315
+ const workspaceFile = loadSettings(this.workspaceCwd, {
316
+ skipLoadEnvironment: true
317
+ }).workspace;
318
+ saveSettings(
319
+ workspaceFile,
320
+ { channels, serve: { channels: startupNames } },
321
+ ["channels"],
322
+ { throwOnWriteFailure: true }
323
+ );
324
+ return this.snapshot();
325
+ }
326
+ async setStartupNames(names, options) {
327
+ for (const name of names) {
328
+ assertSafeChannelName(name);
329
+ }
330
+ this.assertRevision(options.expectedRevision);
331
+ const workspaceFile = loadSettings(this.workspaceCwd, {
332
+ skipLoadEnvironment: true
333
+ }).workspace;
334
+ saveSettings(
335
+ workspaceFile,
336
+ { serve: { channels: [...names] } },
337
+ ["serve", "channels"],
338
+ { throwOnWriteFailure: true }
339
+ );
340
+ return this.snapshot();
341
+ }
342
+ assertRevision(expectedRevision) {
343
+ const current = this.snapshot();
344
+ if (current.revision !== expectedRevision) {
345
+ throw new ChannelSettingsError(
346
+ "channel_settings_conflict",
347
+ "Channel settings changed; reload before trying again."
348
+ );
349
+ }
350
+ return current;
351
+ }
352
+ };
353
+
354
+ export {
355
+ ChannelSettingsError,
356
+ assertValidChannelSecretUpdates,
357
+ WorkspaceChannelSettingsStore
358
+ };
359
+ /**
360
+ * @license
361
+ * Copyright 2025 Qwen Team
362
+ * SPDX-License-Identifier: Apache-2.0
363
+ */
@@ -5,10 +5,10 @@ import {
5
5
  } from "./chunk-DP3IHZGG.js";
6
6
  import {
7
7
  getNpmCliPath
8
- } from "./chunk-ZNAUOR2I.js";
8
+ } from "./chunk-LNARWLZQ.js";
9
9
  import {
10
10
  t
11
- } from "./chunk-LKEJ26GS.js";
11
+ } from "./chunk-VV6XU5L7.js";
12
12
  import {
13
13
  getPackageJson
14
14
  } from "./chunk-VJNBRRZG.js";
@@ -3,15 +3,6 @@
3
3
  import {
4
4
  CHANNEL_DELIVERY_ERROR_CODES
5
5
  } from "./chunk-BK2UNYWD.js";
6
- import {
7
- redactLogCredentials
8
- } from "./chunk-M5GB774H.js";
9
- import {
10
- sanitizeLogText
11
- } from "./chunk-RWTEFFPU.js";
12
- import {
13
- stripAnsi
14
- } from "./chunk-TWPJO254.js";
15
6
  import {
16
7
  init_esbuild_shims
17
8
  } from "./chunk-5O2XNYP6.js";
@@ -142,54 +133,6 @@ function isChannelDeliveryResultMessage(value) {
142
133
  }
143
134
  __name(isChannelDeliveryResultMessage, "isChannelDeliveryResultMessage");
144
135
 
145
- // packages/cli/src/serve/channel-worker-diagnostics.ts
146
- init_esbuild_shims();
147
- var WORKER_LOG_INVISIBLE_RE = new RegExp("[\\p{Cf}\\u2028\\u2029]|\\p{Variation_Selector}", "gu");
148
- var WORKER_LOG_CONTROL_RE = /[\x00-\x1f\x7f-\x9f]/g;
149
- function escapeRegExp(value) {
150
- return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
151
- }
152
- __name(escapeRegExp, "escapeRegExp");
153
- function sensitiveEnvValues(env) {
154
- const sensitiveKey = /(^|_)(TOKEN|SECRET|API_KEY|ACCESS_KEY|PRIVATE_KEY|CREDENTIAL|PASSWORD|PASSWD|PASSPHRASE|BASIC_AUTH|AUTH_TOKEN|AUTHORIZATION|SESSION_SECRET|SESSION_TOKEN|SESSION_KEY|SESSION_COOKIE|DSN|CONNECTION_STRING)($|_)/i;
155
- return Object.entries(env).filter(([key, value]) => sensitiveKey.test(key) && value !== void 0).flatMap(([, value]) => {
156
- const lines = value.split("\n").filter((line) => line.length >= 4);
157
- return lines.length > 0 ? [value, ...lines] : [value];
158
- }).filter((value) => value.length >= 4);
159
- }
160
- __name(sensitiveEnvValues, "sensitiveEnvValues");
161
- function normalizeWorkerDiagnostic(value) {
162
- return stripAnsi(value).replace(WORKER_LOG_INVISIBLE_RE, "").replace(WORKER_LOG_CONTROL_RE, "");
163
- }
164
- __name(normalizeWorkerDiagnostic, "normalizeWorkerDiagnostic");
165
- function createWorkerDiagnosticRedactor(opts) {
166
- const secretPatterns = [
167
- ...new Set(
168
- [
169
- ...opts.daemonToken ? [opts.daemonToken] : [],
170
- ...sensitiveEnvValues(opts.workerEnv)
171
- ].flatMap((secret) => [
172
- normalizeWorkerDiagnostic(secret),
173
- normalizeWorkerDiagnostic(secret.replace(/\t/gu, " "))
174
- ]).filter((secret) => secret.length >= 4)
175
- )
176
- ].sort((left, right) => right.length - left.length).map((secret) => new RegExp(escapeRegExp(secret), "g"));
177
- return (value) => {
178
- let redacted = value;
179
- for (const secretPattern of secretPatterns) {
180
- redacted = redacted.replace(secretPattern, "<redacted>");
181
- }
182
- return redactLogCredentials(redacted);
183
- };
184
- }
185
- __name(createWorkerDiagnosticRedactor, "createWorkerDiagnosticRedactor");
186
- function sanitizeWorkerDiagnostic(value, maxLength, opts) {
187
- const normalized = normalizeWorkerDiagnostic(value);
188
- const redacted = createWorkerDiagnosticRedactor(opts)(normalized);
189
- return sanitizeLogText(redacted, maxLength);
190
- }
191
- __name(sanitizeWorkerDiagnostic, "sanitizeWorkerDiagnostic");
192
-
193
136
  // packages/cli/src/serve/channel-worker-startup-ipc.ts
194
137
  init_esbuild_shims();
195
138
  var MAX_CHANNEL_STARTUP_FAILURES = 64;
@@ -285,9 +228,6 @@ export {
285
228
  createChannelDeliveryMessage,
286
229
  isChannelDeliveryMessage,
287
230
  isChannelDeliveryResultMessage,
288
- normalizeWorkerDiagnostic,
289
- createWorkerDiagnosticRedactor,
290
- sanitizeWorkerDiagnostic,
291
231
  MAX_CHANNEL_STARTUP_FAILURES,
292
232
  MAX_CHANNEL_STARTUP_FAILURE_CHANNEL_LENGTH,
293
233
  MAX_CHANNEL_STARTUP_FAILURE_CODE_LENGTH,
@@ -381,18 +381,18 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
381
381
  try {
382
382
  if (authType === "openai" /* USE_OPENAI */) {
383
383
  loadBaseGenerator = /* @__PURE__ */ __name(async () => {
384
- const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-WMCU3O2H.js");
384
+ const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-JPVXDTAO.js");
385
385
  return createOpenAIContentGenerator(generatorConfig, config);
386
386
  }, "loadBaseGenerator");
387
387
  } else if (authType === "qwen-oauth" /* QWEN_OAUTH */) {
388
- const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-OWLB5AKH.js");
388
+ const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-XGFI5XJG.js");
389
389
  try {
390
390
  const qwenClient = await getQwenOauthClient(
391
391
  config,
392
392
  isInitialAuth ? { requireCachedCredentials: true } : void 0
393
393
  );
394
394
  loadBaseGenerator = /* @__PURE__ */ __name(async () => {
395
- const { QwenContentGenerator } = await import("./qwenContentGenerator-HHCRK4SX.js");
395
+ const { QwenContentGenerator } = await import("./qwenContentGenerator-TICV2W2Z.js");
396
396
  return new QwenContentGenerator(qwenClient, generatorConfig, config);
397
397
  }, "loadBaseGenerator");
398
398
  } catch (error) {
@@ -403,12 +403,12 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
403
403
  }
404
404
  } else if (authType === "anthropic" /* USE_ANTHROPIC */) {
405
405
  loadBaseGenerator = /* @__PURE__ */ __name(async () => {
406
- const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-75BKLTSP.js");
406
+ const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-LXUXMOE7.js");
407
407
  return createAnthropicContentGenerator(generatorConfig, config);
408
408
  }, "loadBaseGenerator");
409
409
  } else if (authType === "gemini" /* USE_GEMINI */ || authType === "vertex-ai" /* USE_VERTEX_AI */) {
410
410
  loadBaseGenerator = /* @__PURE__ */ __name(async () => {
411
- const { createGeminiContentGenerator } = await import("./geminiContentGenerator-AG4KB6CV.js");
411
+ const { createGeminiContentGenerator } = await import("./geminiContentGenerator-FQHPFZSR.js");
412
412
  return createGeminiContentGenerator(generatorConfig, config);
413
413
  }, "loadBaseGenerator");
414
414
  } else {
@@ -424,7 +424,7 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
424
424
  try {
425
425
  const [baseGenerator, { LoggingContentGenerator }] = await Promise.all([
426
426
  loadBaseGenerator(),
427
- import("./loggingContentGenerator-HS3S5H3Q.js")
427
+ import("./loggingContentGenerator-WGM27QAW.js")
428
428
  ]);
429
429
  return new LoggingContentGenerator(
430
430
  baseGenerator,
@@ -2,20 +2,20 @@
2
2
  "use strict";
3
3
  import {
4
4
  appEvents
5
- } from "./chunk-TPRQ7RZH.js";
5
+ } from "./chunk-BYFNTGKI.js";
6
6
  import {
7
7
  CUSTOM_SANDBOX_IMAGE_ENV_VAR,
8
8
  HOST_UPDATE_RELAUNCH_ENV_VAR,
9
9
  SKIP_UPDATE_CHECK_ENV_VAR,
10
10
  requestUpdateOnExit
11
- } from "./chunk-Y34KJKDC.js";
11
+ } from "./chunk-C3NS4F2Q.js";
12
12
  import {
13
13
  loadUndici
14
14
  } from "./chunk-3Z43GZUQ.js";
15
15
  import {
16
16
  IdeClient,
17
17
  getAllProviderBaseUrls
18
- } from "./chunk-PHOF65IG.js";
18
+ } from "./chunk-DM4Q4JJH.js";
19
19
  import {
20
20
  detectRuntime,
21
21
  getOrCreateSharedDispatcher,
@@ -24,7 +24,7 @@ import {
24
24
  } from "./chunk-2JZBVYTU.js";
25
25
  import {
26
26
  initializeTelemetry
27
- } from "./chunk-MB4MZHMJ.js";
27
+ } from "./chunk-SRZ6DXVG.js";
28
28
  import {
29
29
  createDebugLogger
30
30
  } from "./chunk-NL7LTRLR.js";
@@ -231,11 +231,11 @@ function startPostRenderPrefetches(config, settings, options = {}) {
231
231
  { updateEventEmitter },
232
232
  { t }
233
233
  ] = await Promise.all([
234
- import("./updateCheck-RKL6M5XN.js"),
235
- import("./handleAutoUpdate-6DBEZYPV.js"),
236
- import("./installationInfo-6O2YAA52.js"),
234
+ import("./updateCheck-WUJGHWZZ.js"),
235
+ import("./handleAutoUpdate-2CZQRJ66.js"),
236
+ import("./installationInfo-5UUQJI6Y.js"),
237
237
  import("./updateEventEmitter-5MKC7BLQ.js"),
238
- import("./i18n-VUJJZIMU.js")
238
+ import("./i18n-XEQVMRKN.js")
239
239
  ]);
240
240
  const updateCheckSkippedMessage = /* @__PURE__ */ __name((error) => t("Update check skipped ({{reason}}) \u2014 run /update to retry.", {
241
241
  reason: describeUpdateCheckFailure(error)
@@ -308,7 +308,7 @@ ${t(
308
308
  state: "connecting"
309
309
  });
310
310
  try {
311
- const { connectIdeForStartup } = await import("./initializer-UWAK5U5O.js");
311
+ const { connectIdeForStartup } = await import("./initializer-OVGZ4FLY.js");
312
312
  await withTimeout(
313
313
  connectIdeForStartup(config),
314
314
  "ide_connect",
@@ -332,7 +332,7 @@ ${t(
332
332
  }
333
333
  if (config.isInteractive()) {
334
334
  runDeferredTask("background_housekeeping", async () => {
335
- const { startBackgroundHousekeeping } = await import("./scheduler-G2ZS2Z7E.js");
335
+ const { startBackgroundHousekeeping } = await import("./scheduler-RS2I6RU5.js");
336
336
  startBackgroundHousekeeping(config, settings);
337
337
  });
338
338
  }
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-OWAK7LMW.js";
14
14
  import {
15
15
  ideContextStore
16
- } from "./chunk-PHOF65IG.js";
16
+ } from "./chunk-DM4Q4JJH.js";
17
17
  import {
18
18
  atomicWriteFileSync
19
19
  } from "./chunk-A5L3JMUA.js";
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  JsonFormatter,
8
8
  parseAndFormatApiError
9
- } from "./chunk-PHOF65IG.js";
9
+ } from "./chunk-DM4Q4JJH.js";
10
10
  import {
11
11
  FatalBudgetExceededError,
12
12
  FatalCancellationError,
@@ -15,7 +15,7 @@ import {
15
15
  } from "./chunk-NL7LTRLR.js";
16
16
  import {
17
17
  runExitCleanup
18
- } from "./chunk-PWVFN2LF.js";
18
+ } from "./chunk-B4UMZKMU.js";
19
19
  import {
20
20
  init_esbuild_shims
21
21
  } from "./chunk-5O2XNYP6.js";
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-OWAK7LMW.js";
6
6
  import {
7
7
  resolveBundleDir
8
- } from "./chunk-PHOF65IG.js";
8
+ } from "./chunk-DM4Q4JJH.js";
9
9
  import {
10
10
  Storage
11
11
  } from "./chunk-NL7LTRLR.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  resolvePath
5
- } from "./chunk-RWTEFFPU.js";
5
+ } from "./chunk-ML52PL6O.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -322,6 +322,36 @@ var require_src = __commonJS({
322
322
  }
323
323
  });
324
324
 
325
+ // packages/core/src/utils/safeJsonStringify.ts
326
+ init_esbuild_shims();
327
+ function safeJsonStringify(obj, space) {
328
+ const ancestors = [];
329
+ return JSON.stringify(
330
+ obj,
331
+ function(_key, value) {
332
+ if (typeof value !== "object" || value === null) {
333
+ return value;
334
+ }
335
+ while (ancestors.length > 0 && ancestors[ancestors.length - 1] !== this) {
336
+ ancestors.pop();
337
+ }
338
+ if (ancestors.includes(value)) {
339
+ return "[Circular]";
340
+ }
341
+ ancestors.push(value);
342
+ return value;
343
+ },
344
+ space
345
+ );
346
+ }
347
+ __name(safeJsonStringify, "safeJsonStringify");
348
+
325
349
  export {
326
- require_src
350
+ require_src,
351
+ safeJsonStringify
327
352
  };
353
+ /**
354
+ * @license
355
+ * Copyright 2025 Google LLC
356
+ * SPDX-License-Identifier: Apache-2.0
357
+ */
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  STATUS_SCHEMA_VERSION
5
- } from "./chunk-VIA5XA4U.js";
5
+ } from "./chunk-KU5XMLDK.js";
6
6
  import {
7
7
  detectRuntime,
8
8
  redactProxyCredentials