@qwen-code/qwen-code 0.21.5 → 0.21.6

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 (250) hide show
  1. package/bundled/qc-helper/docs/configuration/model-providers.md +8 -8
  2. package/bundled/qc-helper/docs/configuration/settings.md +15 -15
  3. package/bundled/qc-helper/docs/features/channels/github.md +31 -19
  4. package/bundled/qc-helper/docs/features/code-review.md +5 -1
  5. package/bundled/qc-helper/docs/features/headless.md +31 -0
  6. package/bundled/qc-helper/docs/qwen-serve.md +75 -0
  7. package/bundled/review/SKILL.md +72 -60
  8. package/chunks/{MaxSizedBox-2MWU5JYB.js → MaxSizedBox-2HFKP4LI.js} +11 -10
  9. package/chunks/{StandaloneSessionPicker-B6MI5NTB.js → StandaloneSessionPicker-RBV72M5N.js} +26 -25
  10. package/chunks/{acp-startup-profiler-3RICG2YW.js → acp-startup-profiler-ORIQ2CCQ.js} +2 -2
  11. package/chunks/{acpAgent-MRPYN6FH.js → acpAgent-WO6JFCVQ.js} +1232 -139
  12. package/chunks/{agent-NAOXNW4I.js → agent-AHGLYNZ4.js} +11 -10
  13. package/chunks/{agent-headless-L4PPVFKW.js → agent-headless-NTXKKGRO.js} +11 -10
  14. package/chunks/{bridge-LHXGYNCO.js → bridge-RPAU64CA.js} +17 -15
  15. package/chunks/{channel-management-service-UHX56NBO.js → channel-management-service-IGEUOVRT.js} +3 -3
  16. package/chunks/{channel-settings-store-QB54TLYE.js → channel-settings-store-ON64MF7G.js} +18 -17
  17. package/chunks/{channel-worker-group-NDG4WOOZ.js → channel-worker-group-JWQK224X.js} +6 -5
  18. package/chunks/{channel-worker-manager-ZCW6UW34.js → channel-worker-manager-77E3OXRQ.js} +6 -5
  19. package/chunks/{channel-worker-supervisor-ATGFTZRN.js → channel-worker-supervisor-62YWUGP2.js} +4 -3
  20. package/chunks/{chunk-EXHQZBVJ.js → chunk-2POQWYM6.js} +2 -2
  21. package/chunks/{chunk-YMUZQ3MQ.js → chunk-3LZKY4V4.js} +3 -3
  22. package/chunks/{chunk-7MFQLOHZ.js → chunk-3PRJYMXC.js} +1 -1
  23. package/chunks/{chunk-SJMCYCUQ.js → chunk-3UOLYNTF.js} +5 -5
  24. package/chunks/{chunk-Q2V4AOQL.js → chunk-4JH77A2U.js} +1 -1
  25. package/chunks/{chunk-MISUEWB4.js → chunk-4S4OEQ6U.js} +10 -6
  26. package/chunks/{chunk-URJHXOSO.js → chunk-4WTAQEHV.js} +1 -1
  27. package/chunks/{chunk-ZLGPHA34.js → chunk-536SWZTA.js} +5 -5
  28. package/chunks/{chunk-WU5NBSLD.js → chunk-5MJGUQU5.js} +3 -3
  29. package/chunks/{chunk-3P4GP4S2.js → chunk-75QMRMO7.js} +4 -4
  30. package/chunks/{chunk-YLL3SC5S.js → chunk-A4VTILZT.js} +1032 -913
  31. package/chunks/{chunk-B3EBIZUY.js → chunk-ACZRB7AD.js} +8 -3
  32. package/chunks/chunk-BKHCW2BI.js +41 -0
  33. package/chunks/{chunk-XD2PNH3K.js → chunk-BOGOR4HB.js} +5 -5
  34. package/chunks/{chunk-QL4TN4HS.js → chunk-BRVWYMKV.js} +1 -1
  35. package/chunks/{chunk-TCOJPG2P.js → chunk-C4CBJQKY.js} +1 -1
  36. package/chunks/{chunk-4O6HLCOF.js → chunk-CA4UIDFU.js} +1 -1
  37. package/chunks/{chunk-SQTA6PAY.js → chunk-CJ5WLD5Y.js} +6 -2
  38. package/chunks/{chunk-7W5KOBYU.js → chunk-DIT4V3XH.js} +1 -1
  39. package/chunks/{chunk-OIGB253L.js → chunk-DVBEGGLG.js} +8 -8
  40. package/chunks/{chunk-DTAPI453.js → chunk-EMYZIABH.js} +1 -1
  41. package/chunks/{chunk-GBY3ODW7.js → chunk-EXCEQD22.js} +3 -3
  42. package/chunks/{chunk-VJPF6GF2.js → chunk-FZFP7RZI.js} +3 -3
  43. package/chunks/{chunk-3GOCVBYR.js → chunk-G5NNWEYE.js} +5 -5
  44. package/chunks/{chunk-IWYXZAGT.js → chunk-GESMMPAK.js} +33 -33
  45. package/chunks/{chunk-SVIEVA3L.js → chunk-GK2H5GRC.js} +29 -4
  46. package/chunks/{chunk-7M2RLFNX.js → chunk-GWRHVJY2.js} +11 -11
  47. package/chunks/{chunk-BK2UNYWD.js → chunk-HIBNSEJE.js} +12 -0
  48. package/chunks/{chunk-4LLUH3A7.js → chunk-HU5TUALO.js} +95 -8
  49. package/chunks/{chunk-J7I2BZHS.js → chunk-HY25ULVN.js} +23 -6
  50. package/chunks/{chunk-G2UXFO2B.js → chunk-IMOQO6YL.js} +1 -1
  51. package/chunks/{chunk-CAX76R46.js → chunk-JE44IPH6.js} +1 -1
  52. package/chunks/{chunk-IK3RYLAD.js → chunk-K2B3X3E7.js} +3 -3
  53. package/chunks/{chunk-OWAK7LMW.js → chunk-KGJGEEVR.js} +7 -0
  54. package/chunks/{chunk-K64OI7S7.js → chunk-KHUA3NQV.js} +2 -2
  55. package/chunks/{chunk-LEZFUYPM.js → chunk-LAAFLUQV.js} +4 -4
  56. package/chunks/{chunk-FHPKHXHT.js → chunk-MKVZE4ZJ.js} +5 -1
  57. package/chunks/{chunk-4NEBUDWS.js → chunk-N2GJU6KI.js} +9 -9
  58. package/chunks/{chunk-N3RERU5N.js → chunk-NGJOAKJY.js} +3 -3
  59. package/chunks/chunk-NKLP3DCK.js +22 -0
  60. package/chunks/{chunk-K6VEL5KP.js → chunk-NKSF7HYF.js} +1 -1
  61. package/chunks/{chunk-LMNM37OE.js → chunk-O7V7N4G7.js} +1 -1
  62. package/chunks/{chunk-3H5RFLTS.js → chunk-ODPXHGLL.js} +2 -2
  63. package/chunks/{chunk-KH2BIJ4H.js → chunk-OP2OHZ7K.js} +267 -11
  64. package/chunks/{chunk-VOA2UPZM.js → chunk-OWSW7EYP.js} +5 -5
  65. package/chunks/{chunk-B2RBYP7Z.js → chunk-OXX3FG2N.js} +2 -2
  66. package/chunks/{chunk-RM3F46UT.js → chunk-PPUOYL77.js} +71 -6
  67. package/chunks/{chunk-ZPGMDT4S.js → chunk-PX5DNLSA.js} +19 -92
  68. package/chunks/{chunk-FEUXV3DC.js → chunk-Q5RM32DR.js} +1 -1
  69. package/chunks/{chunk-AEWOKOJY.js → chunk-QZKYZCN3.js} +1 -1
  70. package/chunks/{chunk-UKZEXS6K.js → chunk-R574ATRM.js} +11 -0
  71. package/chunks/{chunk-OGAARVN7.js → chunk-R5RBXLNC.js} +3 -3
  72. package/chunks/{chunk-5HWAJ4BK.js → chunk-RFUHDCNF.js} +1 -1
  73. package/chunks/{chunk-LSYVASZS.js → chunk-RHTTKJTP.js} +1 -1
  74. package/chunks/{chunk-LYPXNRBX.js → chunk-RK2EE3T7.js} +1 -1
  75. package/chunks/{chunk-CIUUYB23.js → chunk-S7CV4KO6.js} +3 -3
  76. package/chunks/{chunk-4NNR24EP.js → chunk-SKNE3KQC.js} +3 -3
  77. package/chunks/{chunk-JDNWIXHJ.js → chunk-SLSWFHDF.js} +3 -3
  78. package/chunks/{chunk-UWSXFI6E.js → chunk-SQC6K5HI.js} +6 -2
  79. package/chunks/{chunk-P3SLTSNY.js → chunk-SQOMTWQT.js} +4 -4
  80. package/chunks/{chunk-D7QAZ5DF.js → chunk-SUKEUUAA.js} +1 -1
  81. package/chunks/{chunk-WTM5QONI.js → chunk-T4JSA7KU.js} +2 -2
  82. package/chunks/{chunk-I7JDGNG6.js → chunk-T5U6IM4C.js} +6 -2
  83. package/chunks/{chunk-2JBETW4S.js → chunk-TGGEZINK.js} +5 -5
  84. package/chunks/{chunk-C6ARWPCG.js → chunk-TOGZTG4X.js} +2 -2
  85. package/chunks/{chunk-A6SX5TAH.js → chunk-TSERKWCX.js} +6 -2
  86. package/chunks/{chunk-IWGMDSC3.js → chunk-U4AF3QLU.js} +355 -17
  87. package/chunks/{chunk-PDDYAXL2.js → chunk-UGTWD35F.js} +14 -1
  88. package/chunks/{chunk-BWLUCN35.js → chunk-ULPQQSDN.js} +2 -2
  89. package/chunks/{chunk-GEP54CHX.js → chunk-VGFPFM4U.js} +3 -3
  90. package/chunks/{chunk-NLQIEY6W.js → chunk-VNQCPBC2.js} +3 -3
  91. package/chunks/{chunk-K2ETEWG6.js → chunk-VSALQLT7.js} +1 -1
  92. package/chunks/{chunk-YO4JI7B4.js → chunk-W5DXUTXD.js} +12 -6
  93. package/chunks/{chunk-M744OFVE.js → chunk-W7U4ESW2.js} +1 -1
  94. package/chunks/{chunk-TJ56V3AR.js → chunk-WNU7TZTO.js} +4 -4
  95. package/chunks/{chunk-GTM6IHBB.js → chunk-WO2B5E5B.js} +1 -0
  96. package/chunks/chunk-WOJZWRAZ.js +123 -0
  97. package/chunks/{chunk-5XNO4AW7.js → chunk-XA4TMLFN.js} +11 -11
  98. package/chunks/{chunk-GP4IMBX5.js → chunk-XM2O73NC.js} +1696 -476
  99. package/chunks/{chunk-IZ2CMEYO.js → chunk-YMBOEAF4.js} +1 -1
  100. package/chunks/{chunk-QONSRAEV.js → chunk-YP5KH5Y7.js} +1 -1
  101. package/chunks/{chunk-ZLJQIGCH.js → chunk-YZQTA3ID.js} +28 -11
  102. package/chunks/{computer-use-XDOGP2KA.js → computer-use-5HXJ2P4X.js} +11 -10
  103. package/chunks/{config-utils-E3ZQTHGM.js → config-utils-VXD4SPVR.js} +2 -2
  104. package/chunks/{contextCommand-N3LQDCYJ.js → contextCommand-7BEHRX2H.js} +14 -13
  105. package/chunks/{core-runtime-STAFP45W.js → core-runtime-U4VJ5TIV.js} +11 -10
  106. package/chunks/create-sub-session-QZNQY332.js +772 -0
  107. package/chunks/{daemon-CCIX4BMG.js → daemon-YI5RY62O.js} +115 -3
  108. package/chunks/{daemon-status-provider-PPAH3ATF.js → daemon-status-provider-UJUGTDTL.js} +21 -19
  109. package/chunks/{daemon-trust-policy-X6XL3MB4.js → daemon-trust-policy-ZHDD5VYQ.js} +17 -16
  110. package/chunks/{daemon-trust-policy-monitor-M5LBL2HD.js → daemon-trust-policy-monitor-5SHYBDGA.js} +17 -16
  111. package/chunks/{deferred-core-runtime-O54YPTBU.js → deferred-core-runtime-QWAEBTR5.js} +11 -10
  112. package/chunks/discovery-XLHITE74.js +220 -0
  113. package/chunks/{dist-IKGVITP3.js → dist-KS4O2NKE.js} +99 -6
  114. package/chunks/{earlyInputCapture-CBIT2RGT.js → earlyInputCapture-5BMSGKOI.js} +11 -10
  115. package/chunks/{edit-KW2TOC6A.js → edit-IVQQVYYK.js} +11 -10
  116. package/chunks/{enter-worktree-YL34NEU5.js → enter-worktree-P3DF2N6O.js} +11 -10
  117. package/chunks/{enterPlanMode-JFJTDASQ.js → enterPlanMode-KKTDVLAD.js} +11 -10
  118. package/chunks/{environment-IATU5GXG.js → environment-W5TRDM3G.js} +14 -13
  119. package/chunks/{errors-SAVRDE7Q.js → errors-GJJB36IG.js} +14 -13
  120. package/chunks/{exit-worktree-5M43QPBB.js → exit-worktree-LV5RLOCU.js} +11 -10
  121. package/chunks/{exitPlanMode-W4EICZ4N.js → exitPlanMode-TUGOB2LL.js} +11 -10
  122. package/chunks/external-tool-guard-provider-5HTGOPGU.js +273 -0
  123. package/chunks/{fast-path-YQJPIKMP.js → fast-path-2FU23PAQ.js} +5 -5
  124. package/chunks/{gemini-FUF5SSPR.js → gemini-KDULDQPP.js} +70 -55
  125. package/chunks/{geminiContentGenerator-LLLZBOUG.js → geminiContentGenerator-LOCFHNVA.js} +1 -1
  126. package/chunks/{glob-LJFFMN4D.js → glob-Z4NQFKWS.js} +11 -10
  127. package/chunks/{grep-Q64EAM73.js → grep-Z67Z7EN6.js} +11 -10
  128. package/chunks/{handleAutoUpdate-QBMPRTSQ.js → handleAutoUpdate-DFUZE6I6.js} +16 -15
  129. package/chunks/{i18n-LDUW5DMN.js → i18n-R4FMZ7N2.js} +13 -12
  130. package/chunks/{image-gen-G7RLG3KR.js → image-gen-4CQJPQP5.js} +1 -1
  131. package/chunks/{initializer-74A7DMMD.js → initializer-DK672ZVE.js} +17 -16
  132. package/chunks/{installationInfo-OFDYLDFD.js → installationInfo-PO4Z3ES7.js} +12 -11
  133. package/chunks/{list-JA2EWRHJ.js → list-QXQF6C53.js} +20 -19
  134. package/chunks/{loadedSettingsAdapter-2GNJOQ3L.js → loadedSettingsAdapter-4D7GUGW6.js} +17 -16
  135. package/chunks/{loggingContentGenerator-B6B5EGB3.js → loggingContentGenerator-2P3MNACM.js} +4 -3
  136. package/chunks/{managed-npm-update-4YZHLUER.js → managed-npm-update-LWVJQTWO.js} +24 -14
  137. package/chunks/{mcp-LLK5YJVH.js → mcp-GHETAR6V.js} +17 -16
  138. package/chunks/{monitor-NYJPAWVP.js → monitor-4T7W4M6Q.js} +11 -10
  139. package/chunks/{nonInteractiveCli-HZBBBDJD.js → nonInteractiveCli-P4UKCJFM.js} +47 -45
  140. package/chunks/{notebook-edit-LLM6UXFX.js → notebook-edit-OC2V7U5D.js} +11 -10
  141. package/chunks/{openaiContentGenerator-2AEXDN55.js → openaiContentGenerator-RAJUFWQY.js} +5 -4
  142. package/chunks/{pidfile-3JUWX7G2.js → pidfile-HVPYVRLS.js} +11 -10
  143. package/chunks/{processUtils-JLLRVZHT.js → processUtils-VIQ4JHVX.js} +2 -2
  144. package/chunks/{qwenContentGenerator-2FESCF27.js → qwenContentGenerator-2QLCUFNZ.js} +12 -11
  145. package/chunks/{qwenOAuth2-2KKPYA5J.js → qwenOAuth2-J2X3EN43.js} +1 -1
  146. package/chunks/{read-file-5GVXLY74.js → read-file-ZNAN2B26.js} +3 -2
  147. package/chunks/{record-artifact-L3BAHQFN.js → record-artifact-E6AWQU2Z.js} +1 -1
  148. package/chunks/{resumeHistoryUtils-Z4OFBXPM.js → resumeHistoryUtils-RCY7AL5Y.js} +15 -14
  149. package/chunks/{ripGrep-TKOJTIAB.js → ripGrep-C3KMLZM5.js} +11 -10
  150. package/chunks/{run-qwen-serve-K5W6MM6M.js → run-qwen-serve-3JN75CIQ.js} +518 -75
  151. package/chunks/{runtime-IADXMRCY.js → runtime-VUA4WQYD.js} +20 -19
  152. package/chunks/{scheduler-T7AV37LD.js → scheduler-Z4IBXCOY.js} +11 -10
  153. package/chunks/{serve-ROEGMS3I.js → serve-67T3P7XI.js} +18 -16
  154. package/chunks/{server-NGXMRODI.js → server-46ZO2CLV.js} +7556 -397
  155. package/chunks/{session-RCDLDJA4.js → session-B4IFAFC4.js} +50 -48
  156. package/chunks/{settings-E6H3AURD.js → settings-AI2BTBOZ.js} +16 -15
  157. package/chunks/{shell-RHGGJ6BE.js → shell-BKII3B6E.js} +11 -10
  158. package/chunks/{skill-GQ7PBS25.js → skill-6CFOWVGA.js} +4 -3
  159. package/chunks/{skill-settings-E2F7OCBL.js → skill-settings-6BFQWMW4.js} +16 -15
  160. package/chunks/{spawnChannel-Q2IQBHME.js → spawnChannel-FJXW35U7.js} +14 -12
  161. package/chunks/{standalone-update-NYYZEHLD.js → standalone-update-WVINHRNS.js} +14 -13
  162. package/chunks/{startInteractiveUI-IX6I3Y2Z.js → startInteractiveUI-YE57CJ57.js} +140 -138
  163. package/chunks/{stdioHelpers-HGIYTWAY.js → stdioHelpers-7A2EE64Z.js} +5 -3
  164. package/chunks/{task-create-2X4UP4F3.js → task-create-Q727MXHJ.js} +2 -2
  165. package/chunks/{task-list-WOLJPZ64.js → task-list-G6KPQ5JT.js} +1 -1
  166. package/chunks/{task-update-VDUSN36E.js → task-update-YB7PXO4R.js} +2 -2
  167. package/chunks/{team-create-UTRVUEDA.js → team-create-GNC7NFY6.js} +11 -10
  168. package/chunks/{team-delete-D2VMSDOT.js → team-delete-GDO7H2T4.js} +1 -1
  169. package/chunks/{team-plan-approval-YZNB4U5U.js → team-plan-approval-ECALJLIO.js} +11 -10
  170. package/chunks/{terminal-image-renderer-QRSCS2BE.js → terminal-image-renderer-II74TFVW.js} +11 -10
  171. package/chunks/{theme-manager-EKZBY34I.js → theme-manager-2MGEDD22.js} +11 -10
  172. package/chunks/{tool-search-N2R7LVMC.js → tool-search-S6LRRACA.js} +3 -2
  173. package/chunks/{total-session-admission-HBIYARPO.js → total-session-admission-7WVAWQPU.js} +17 -15
  174. package/chunks/{trustedFolders-ZQLYRCSY.js → trustedFolders-NFS4KHO4.js} +13 -12
  175. package/chunks/{update-relaunch-PJWXMPCR.js → update-relaunch-Q5HLZ6UW.js} +6 -6
  176. package/chunks/{updateCheck-ZXRCGY66.js → updateCheck-UOVZSTP7.js} +15 -14
  177. package/chunks/{useAutoAcceptIndicator-ZYQW5SGJ.js → useAutoAcceptIndicator-PC6MOJCO.js} +19 -18
  178. package/chunks/{validateNonInterActiveAuth-M7J7OTRH.js → validateNonInterActiveAuth-YMQP3ZM7.js} +44 -42
  179. package/chunks/{version-2AOHMPK3.js → version-T4AQFZJH.js} +1 -1
  180. package/chunks/{web-fetch-DS34CJ3R.js → web-fetch-JQCJHEEX.js} +3 -2
  181. package/chunks/{web-search-ITFPD7V4.js → web-search-QGZ2KY4G.js} +4 -3
  182. package/chunks/{workflow-LZQ4PGNS.js → workflow-YIT27YWZ.js} +12 -11
  183. package/chunks/{workspace-providers-status-ZPTLKOBM.js → workspace-providers-status-FIDZQ2PL.js} +20 -19
  184. package/chunks/{workspace-registration-store-OTFKSGG7.js → workspace-registration-store-RCSPE4DU.js} +1 -1
  185. package/chunks/{workspace-registry-YZ3OXPHP.js → workspace-registry-5PEUCY6E.js} +17 -15
  186. package/chunks/{workspace-service-OCZXOOSQ.js → workspace-service-LANDVPL7.js} +21 -20
  187. package/chunks/{workspace-skills-status-K2ALGUCD.js → workspace-skills-status-2IQVJNIN.js} +18 -17
  188. package/chunks/{workspace-trust-reconciler-KMRZISJP.js → workspace-trust-reconciler-CZPZZCZC.js} +26 -24
  189. package/chunks/{write-file-AWBI4GJS.js → write-file-G5VNGCOG.js} +11 -10
  190. package/chunks/{zoom-image-NHKN6F77.js → zoom-image-6RBLD7X6.js} +3 -2
  191. package/cli-entry.js +14 -0
  192. package/cli.js +19 -15
  193. package/package.json +3 -3
  194. package/web-shell/assets/{arc-Dpg66jw7.js → arc-B-Vtkp1W.js} +1 -1
  195. package/web-shell/assets/{architectureDiagram-3BPJPVTR-BJ4FIBxN.js → architectureDiagram-3BPJPVTR-qmTXIj64.js} +1 -1
  196. package/web-shell/assets/{blockDiagram-GPEHLZMM-VXmYdtYT.js → blockDiagram-GPEHLZMM-ZlnXEtdP.js} +1 -1
  197. package/web-shell/assets/{c4Diagram-AAUBKEIU-BNLDb8FE.js → c4Diagram-AAUBKEIU-Wyoirf6Z.js} +1 -1
  198. package/web-shell/assets/channel-DXaHnfjS.js +1 -0
  199. package/web-shell/assets/{chunk-2J33WTMH-DR5yHxr0.js → chunk-2J33WTMH-WQwbq9d8.js} +1 -1
  200. package/web-shell/assets/{chunk-4BX2VUAB-Czkq8UZU.js → chunk-4BX2VUAB-DQKnAXC4.js} +1 -1
  201. package/web-shell/assets/{chunk-55IACEB6-DugUgM6s.js → chunk-55IACEB6-DIdgXNcO.js} +1 -1
  202. package/web-shell/assets/{chunk-727SXJPM-Dw6quA1K.js → chunk-727SXJPM-CUwGOLEd.js} +1 -1
  203. package/web-shell/assets/{chunk-AQP2D5EJ-BoVYOTTz.js → chunk-AQP2D5EJ-CCBGZFZ4.js} +1 -1
  204. package/web-shell/assets/{chunk-FMBD7UC4--Amcse-j.js → chunk-FMBD7UC4-DMGXProk.js} +1 -1
  205. package/web-shell/assets/{chunk-ND2GUHAM-ajaEYAC8.js → chunk-ND2GUHAM-yejcFqsh.js} +1 -1
  206. package/web-shell/assets/{chunk-QZHKN3VN-CUNDZ7im.js → chunk-QZHKN3VN-DxCyqTf7.js} +1 -1
  207. package/web-shell/assets/classDiagram-4FO5ZUOK-BigU82A0.js +1 -0
  208. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BigU82A0.js +1 -0
  209. package/web-shell/assets/{cose-bilkent-S5V4N54A-BnfkD-m1.js → cose-bilkent-S5V4N54A-DOrF3cg_.js} +1 -1
  210. package/web-shell/assets/{dagre-BM42HDAG-BuUdFk7Z.js → dagre-BM42HDAG-Be6CdYQ_.js} +1 -1
  211. package/web-shell/assets/{diagram-2AECGRRQ-B2ZXxoab.js → diagram-2AECGRRQ-B_Rjsft2.js} +1 -1
  212. package/web-shell/assets/{diagram-5GNKFQAL-BsgOICzM.js → diagram-5GNKFQAL-BvQbKSm1.js} +1 -1
  213. package/web-shell/assets/{diagram-KO2AKTUF-DTTjG6U-.js → diagram-KO2AKTUF-BsdmMdpS.js} +1 -1
  214. package/web-shell/assets/{diagram-LMA3HP47-temLf1x7.js → diagram-LMA3HP47-CrQlBaNr.js} +1 -1
  215. package/web-shell/assets/{diagram-OG6HWLK6-CRFjScs2.js → diagram-OG6HWLK6-aB1MD_DL.js} +1 -1
  216. package/web-shell/assets/{erDiagram-TEJ5UH35-D4oaY-rQ.js → erDiagram-TEJ5UH35-F-eUUn9n.js} +1 -1
  217. package/web-shell/assets/{flowDiagram-I6XJVG4X-BqG8B49b.js → flowDiagram-I6XJVG4X-DY_d8lUK.js} +1 -1
  218. package/web-shell/assets/{ganttDiagram-6RSMTGT7-DffQBdd5.js → ganttDiagram-6RSMTGT7-Dqu7KBPg.js} +1 -1
  219. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-CMDPfseF.js → gitGraphDiagram-PVQCEYII-2IkU_VEj.js} +1 -1
  220. package/web-shell/assets/{index-qTQR_smP.js → index-BuSbqggh.js} +1 -1
  221. package/web-shell/assets/index-DrfC2e9s.js +1768 -0
  222. package/web-shell/assets/index-QQlUCJGg.css +5 -0
  223. package/web-shell/assets/{infoDiagram-5YYISTIA-Cn3T83MA.js → infoDiagram-5YYISTIA-C4orwzPw.js} +1 -1
  224. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-ijFs7e25.js → ishikawaDiagram-YF4QCWOH-fXUEfef_.js} +1 -1
  225. package/web-shell/assets/{journeyDiagram-JHISSGLW-CINTv8VB.js → journeyDiagram-JHISSGLW-Bs0I1_J5.js} +1 -1
  226. package/web-shell/assets/{kanban-definition-UN3LZRKU-CMGRZCxx.js → kanban-definition-UN3LZRKU-BPRj1dw_.js} +1 -1
  227. package/web-shell/assets/{linear-Co-2_37d.js → linear-DFS6ZDpW.js} +1 -1
  228. package/web-shell/assets/{mermaid.core-DijbyaN5.js → mermaid.core-CZxjWMaO.js} +5 -5
  229. package/web-shell/assets/{mindmap-definition-RKZ34NQL-k_sDYDPZ.js → mindmap-definition-RKZ34NQL-Dsr3PmNs.js} +1 -1
  230. package/web-shell/assets/{pieDiagram-4H26LBE5-CG-oz8V3.js → pieDiagram-4H26LBE5-D5Ngpz5Y.js} +1 -1
  231. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-Baq7HIG2.js → quadrantDiagram-W4KKPZXB-WJK9I25z.js} +1 -1
  232. package/web-shell/assets/{requirementDiagram-4Y6WPE33-CDM3ZvBt.js → requirementDiagram-4Y6WPE33-CmrYcwOH.js} +1 -1
  233. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-C2dJbWKN.js → sankeyDiagram-5OEKKPKP-7SjCc4Mv.js} +1 -1
  234. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-Cf1_h59p.js → sequenceDiagram-3UESZ5HK-Dl9E0IRM.js} +1 -1
  235. package/web-shell/assets/{stateDiagram-AJRCARHV-CI5clUEc.js → stateDiagram-AJRCARHV-CRRio7yV.js} +1 -1
  236. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-1atT7XaU.js +1 -0
  237. package/web-shell/assets/{timeline-definition-PNZ67QCA-B2O8cAZX.js → timeline-definition-PNZ67QCA-DVyXjjfq.js} +1 -1
  238. package/web-shell/assets/{vennDiagram-CIIHVFJN-BLsJ_h9s.js → vennDiagram-CIIHVFJN-Nb2Lckzq.js} +1 -1
  239. package/web-shell/assets/{wardley-L42UT6IY-BlPU4FTA.js → wardley-L42UT6IY-DuL_otIP.js} +1 -1
  240. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-D_U-RdU4.js → wardleyDiagram-YWT4CUSO-DVI9Q4Aa.js} +1 -1
  241. package/web-shell/assets/{xychartDiagram-2RQKCTM6-BynXGSTl.js → xychartDiagram-2RQKCTM6-BNjAm7KD.js} +1 -1
  242. package/web-shell/index.html +2 -2
  243. package/bundled/review/DESIGN.md +0 -724
  244. package/chunks/create-sub-session-2B3JENWD.js +0 -400
  245. package/web-shell/assets/channel-Bd9wOnaA.js +0 -1
  246. package/web-shell/assets/classDiagram-4FO5ZUOK-XhCT8FE3.js +0 -1
  247. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-XhCT8FE3.js +0 -1
  248. package/web-shell/assets/index-2F4RsNzd.js +0 -1756
  249. package/web-shell/assets/index-CaucmEO_.css +0 -5
  250. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BDc8asKD.js +0 -1
@@ -1,400 +0,0 @@
1
- // Force strict mode and setup for ESM
2
- "use strict";
3
- import {
4
- stripTerminalControlSequences
5
- } from "./chunk-YLL3SC5S.js";
6
- import "./chunk-GOFAQQZA.js";
7
- import "./chunk-5M6IDOMF.js";
8
- import "./chunk-TWPJO254.js";
9
- import "./chunk-H6XPXXMH.js";
10
- import "./chunk-Z7JILXGX.js";
11
- import "./chunk-I7JDGNG6.js";
12
- import "./chunk-A6SX5TAH.js";
13
- import "./chunk-33FNCQSY.js";
14
- import "./chunk-6PVPNMXU.js";
15
- import "./chunk-7W5KOBYU.js";
16
- import "./chunk-IRH27ZC2.js";
17
- import "./chunk-QHWCP53L.js";
18
- import "./chunk-MOHAWIAW.js";
19
- import "./chunk-7MFQLOHZ.js";
20
- import "./chunk-O6GEWCJA.js";
21
- import "./chunk-T26EAKDL.js";
22
- import "./chunk-ZPJWUGCS.js";
23
- import "./chunk-CPBF7KYF.js";
24
- import "./chunk-MISUEWB4.js";
25
- import "./chunk-KRXPRVGL.js";
26
- import "./chunk-A5YZ3FA2.js";
27
- import "./chunk-YAVY33G4.js";
28
- import "./chunk-2UISUFHQ.js";
29
- import "./chunk-MBEMTXQT.js";
30
- import "./chunk-6WBWIPBF.js";
31
- import "./chunk-S6LOFUVP.js";
32
- import "./chunk-WVAESIM6.js";
33
- import "./chunk-K623ENWT.js";
34
- import "./chunk-AQ37AY7B.js";
35
- import "./chunk-432XCUHF.js";
36
- import "./chunk-4LLUH3A7.js";
37
- import "./chunk-XC656O42.js";
38
- import "./chunk-NAVJD2PQ.js";
39
- import "./chunk-QYPT3QUD.js";
40
- import "./chunk-QMBEW7EW.js";
41
- import "./chunk-DGEIYUC3.js";
42
- import "./chunk-MPHPFVKK.js";
43
- import "./chunk-GLNBDYUX.js";
44
- import "./chunk-DJ2GSRLV.js";
45
- import "./chunk-AEWOKOJY.js";
46
- import "./chunk-MGSSJT27.js";
47
- import "./chunk-2J3OJGTL.js";
48
- import "./chunk-P3QQPMQA.js";
49
- import "./chunk-6O5DVH27.js";
50
- import "./chunk-GLCZKT5V.js";
51
- import "./chunk-2DNKEBXY.js";
52
- import "./chunk-ZPGMDT4S.js";
53
- import "./chunk-VGC4I5JJ.js";
54
- import "./chunk-E4WHKETF.js";
55
- import "./chunk-ZPPP6VCL.js";
56
- import "./chunk-D7D7RXIJ.js";
57
- import "./chunk-XD2PNH3K.js";
58
- import "./chunk-46UV252V.js";
59
- import "./chunk-ZBVS26BY.js";
60
- import "./chunk-BFHXDAR7.js";
61
- import "./chunk-TYERNYH4.js";
62
- import "./chunk-UH7Z7Y45.js";
63
- import "./chunk-5L6CQ4ZU.js";
64
- import "./chunk-W4RQUHY3.js";
65
- import "./chunk-LKRMNRSN.js";
66
- import {
67
- createDebugLogger
68
- } from "./chunk-3RXUYQJI.js";
69
- import "./chunk-VOQXFAY5.js";
70
- import {
71
- writeStderrLine
72
- } from "./chunk-OWAK7LMW.js";
73
- import "./chunk-75DOP5OR.js";
74
- import "./chunk-DMTGGOSA.js";
75
- import "./chunk-YQ3U5MUC.js";
76
- import "./chunk-AMDSOFFV.js";
77
- import "./chunk-QUGAUQGJ.js";
78
- import {
79
- init_esbuild_shims
80
- } from "./chunk-5O2XNYP6.js";
81
- import {
82
- __name
83
- } from "./chunk-J2S4EL5Y.js";
84
-
85
- // packages/cli/src/serve/create-sub-session.ts
86
- init_esbuild_shims();
87
- import { randomUUID } from "node:crypto";
88
- var log = createDebugLogger("SUB_SESSION");
89
- var MAX_CONCURRENT_SUB_SESSIONS_PER_CALLER = 16;
90
- var MAX_CONCURRENT_SUB_SESSIONS_TOTAL = 24;
91
- var FIRST_TURN_TIMEOUT_MS = 5 * 6e4;
92
- var SENT_MODE_DRAIN_TIMEOUT_MS = 30 * 6e4;
93
- var MAX_RESULT_CHARS = 32e3;
94
- var MAX_NAME_LENGTH = 60;
95
- var MAX_TRACKED_SPAWNED_SESSIONS = 1024;
96
- var BIDI_CONTROL_MARKS = new RegExp(
97
- "[\\u061C\\u200E\\u200F\\u202A-\\u202E\\u2066-\\u2069]",
98
- "g"
99
- );
100
- function subSessionName(label) {
101
- const cleaned = stripTerminalControlSequences(label).replace(BIDI_CONTROL_MARKS, "").trim().replace(/\s+/g, " ");
102
- let short = cleaned;
103
- if (cleaned.length > MAX_NAME_LENGTH) {
104
- let cut = MAX_NAME_LENGTH - 1;
105
- const boundary = cleaned.charCodeAt(cut - 1);
106
- if (boundary >= 55296 && boundary <= 56319) cut -= 1;
107
- short = `${cleaned.slice(0, cut)}\u2026`;
108
- }
109
- return `\u{1F9F5} ${short}`;
110
- }
111
- __name(subSessionName, "subSessionName");
112
- async function awaitFirstTurn(bridge, sessionId, promptId, lastEventId, timeoutMs, stopSignal) {
113
- const ac = new AbortController();
114
- let timedOut = false;
115
- const timer = setTimeout(() => {
116
- timedOut = true;
117
- ac.abort();
118
- }, timeoutMs);
119
- if (typeof timer.unref === "function") timer.unref();
120
- const composed = stopSignal ? AbortSignal.any([ac.signal, stopSignal]) : ac.signal;
121
- let acc = "";
122
- let truncated = false;
123
- let stopReason;
124
- const appendChunk = /* @__PURE__ */ __name((text) => {
125
- if (truncated) return;
126
- if (acc.length + text.length > MAX_RESULT_CHARS) {
127
- let cut = Math.max(0, MAX_RESULT_CHARS - acc.length);
128
- if (cut > 0) {
129
- const code = text.charCodeAt(cut - 1);
130
- if (code >= 55296 && code <= 56319) cut -= 1;
131
- }
132
- acc += text.slice(0, cut);
133
- truncated = true;
134
- } else {
135
- acc += text;
136
- }
137
- }, "appendChunk");
138
- try {
139
- for await (const e of bridge.subscribeEvents(sessionId, {
140
- lastEventId,
141
- signal: composed
142
- })) {
143
- if (e.type === "session_update") {
144
- const d = e.data;
145
- if (d?.update?.sessionUpdate === "agent_message_chunk" && typeof d.update.content?.text === "string") {
146
- appendChunk(d.update.content.text);
147
- }
148
- } else if (e.type === "turn_complete") {
149
- const d = e.data;
150
- if (d?.promptId === promptId) {
151
- stopReason = d.stopReason ?? "end_turn";
152
- break;
153
- }
154
- } else if (e.type === "turn_error") {
155
- const d = e.data;
156
- if (d?.promptId === promptId) {
157
- stopReason = "error";
158
- if (d.message && !truncated) {
159
- const suffix = `${acc ? "\n" : ""}[turn error] ${d.message}`;
160
- if (acc.length + suffix.length <= MAX_RESULT_CHARS) {
161
- acc += suffix;
162
- } else {
163
- truncated = true;
164
- }
165
- }
166
- break;
167
- }
168
- }
169
- }
170
- } finally {
171
- clearTimeout(timer);
172
- ac.abort();
173
- }
174
- if (stopReason === void 0) {
175
- stopReason = stopSignal?.aborted ? "shutdown" : timedOut ? "timeout" : "incomplete";
176
- }
177
- if (truncated) acc += "\n[\u2026output truncated]";
178
- return { result: acc, stopReason };
179
- }
180
- __name(awaitFirstTurn, "awaitFirstTurn");
181
- function createSubSessionLauncher(opts) {
182
- const { getBridge, boundWorkspace } = opts;
183
- const firstTurnTimeoutMs = opts.firstTurnTimeoutMs ?? FIRST_TURN_TIMEOUT_MS;
184
- const sentModeDrainTimeoutMs = opts.sentModeDrainTimeoutMs ?? SENT_MODE_DRAIN_TIMEOUT_MS;
185
- const maxConcurrentPerCaller = opts.maxConcurrentPerCaller ?? MAX_CONCURRENT_SUB_SESSIONS_PER_CALLER;
186
- const maxConcurrentTotal = Math.min(
187
- opts.maxConcurrentTotal ?? MAX_CONCURRENT_SUB_SESSIONS_TOTAL,
188
- MAX_TRACKED_SPAWNED_SESSIONS
189
- );
190
- const inflight = /* @__PURE__ */ new Map();
191
- const spawnedSessionIds = /* @__PURE__ */ new Set();
192
- const stopAc = new AbortController();
193
- let inflightTotal = 0;
194
- const release = /* @__PURE__ */ __name((key) => {
195
- const n = (inflight.get(key) ?? 1) - 1;
196
- if (n <= 0) inflight.delete(key);
197
- else inflight.set(key, n);
198
- inflightTotal = Math.max(0, inflightTotal - 1);
199
- }, "release");
200
- const rememberSpawned = /* @__PURE__ */ __name((sessionId) => {
201
- spawnedSessionIds.add(sessionId);
202
- while (spawnedSessionIds.size > MAX_TRACKED_SPAWNED_SESSIONS) {
203
- const oldest = spawnedSessionIds.values().next().value;
204
- if (oldest === void 0) break;
205
- spawnedSessionIds.delete(oldest);
206
- }
207
- }, "rememberSpawned");
208
- const launch = /* @__PURE__ */ __name(async (info) => {
209
- if (stopAc.signal.aborted) {
210
- throw new Error(
211
- "The daemon is shutting down; cannot create a sub-session."
212
- );
213
- }
214
- const bridge = getBridge();
215
- if (!bridge) {
216
- throw new Error("Session bridge is not available.");
217
- }
218
- if (spawnedSessionIds.has(info.callerSessionId)) {
219
- throw new Error(
220
- "A sub-session cannot create further sub-sessions (nesting is capped at one level)."
221
- );
222
- }
223
- const key = info.callerSessionId;
224
- const current = inflight.get(key) ?? 0;
225
- if (current >= maxConcurrentPerCaller) {
226
- throw new Error(
227
- `Too many concurrent sub-sessions for this session (cap ${maxConcurrentPerCaller}); wait for one to finish.`
228
- );
229
- }
230
- if (inflightTotal >= maxConcurrentTotal) {
231
- throw new Error(
232
- `Too many concurrent sub-sessions in this workspace (cap ${maxConcurrentTotal}); wait for one to finish.`
233
- );
234
- }
235
- inflight.set(key, current + 1);
236
- inflightTotal += 1;
237
- let released = false;
238
- const releaseOnce = /* @__PURE__ */ __name(() => {
239
- if (released) return;
240
- released = true;
241
- release(key);
242
- }, "releaseOnce");
243
- let spawnedSessionId;
244
- try {
245
- const sub = await bridge.spawnOrAttach({
246
- workspaceCwd: boundWorkspace,
247
- sessionScope: "thread",
248
- // force a fresh top-level session, never attach
249
- // Record the caller as the sub-session's parent so the UI can link it
250
- // back. Persisted into the sub-session's transcript at spawn time.
251
- parentSessionId: info.callerSessionId,
252
- ...info.model ? { modelServiceId: info.model } : {}
253
- });
254
- spawnedSessionId = sub.sessionId;
255
- const sessionId = sub.sessionId;
256
- rememberSpawned(sessionId);
257
- try {
258
- bridge.updateSessionMetadata(sessionId, {
259
- displayName: subSessionName(info.name ?? info.prompt)
260
- });
261
- } catch (err) {
262
- log.debug("sub-session: updateSessionMetadata failed", sessionId, err);
263
- }
264
- const lastEventId = bridge.getSessionLastEventId(sessionId);
265
- const promptId = randomUUID();
266
- const turn = bridge.sendPrompt(
267
- sessionId,
268
- {
269
- sessionId,
270
- prompt: [{ type: "text", text: info.prompt }]
271
- },
272
- void 0,
273
- { promptId }
274
- );
275
- void turn.catch((err) => {
276
- log.debug("sub-session: sendPrompt rejected", sessionId, String(err));
277
- });
278
- if (info.completion === "sent") {
279
- const drainAc = new AbortController();
280
- let drainTimedOut = false;
281
- const drainTimer = setTimeout(() => {
282
- drainTimedOut = true;
283
- drainAc.abort();
284
- }, sentModeDrainTimeoutMs);
285
- if (typeof drainTimer.unref === "function") drainTimer.unref();
286
- const drainSignal = AbortSignal.any([stopAc.signal, drainAc.signal]);
287
- void (async () => {
288
- try {
289
- const turnSettled = turn.then(
290
- () => "ok",
291
- () => "rejected"
292
- );
293
- const drainDone = (async () => {
294
- for await (const e of bridge.subscribeEvents(sessionId, {
295
- lastEventId,
296
- signal: drainSignal
297
- })) {
298
- if (e.type === "turn_complete" || e.type === "turn_error") {
299
- const d = e.data;
300
- if (d?.promptId === promptId) break;
301
- }
302
- }
303
- return "drained";
304
- })();
305
- await Promise.race([turnSettled, drainDone]);
306
- } catch (err) {
307
- if (!(err instanceof Error && err.name === "AbortError") && !(stopAc.signal.aborted || drainAc.signal.aborted)) {
308
- log.debug(
309
- "sub-session: sent-mode drain error",
310
- sessionId,
311
- String(err)
312
- );
313
- }
314
- } finally {
315
- clearTimeout(drainTimer);
316
- if (drainTimedOut) {
317
- writeStderrLine(
318
- `qwen serve: sub-session ${sessionId} drain timed out after ${Math.round(sentModeDrainTimeoutMs / 6e4)}min; releasing its concurrency slot (the sub-session may still be running)`
319
- );
320
- }
321
- drainAc.abort();
322
- releaseOnce();
323
- }
324
- })();
325
- return {
326
- sessionId,
327
- ...sub.parentSessionPersisted !== void 0 ? { parentSessionPersisted: sub.parentSessionPersisted } : {}
328
- };
329
- }
330
- try {
331
- const turnError = turn.then(
332
- () => new Promise(() => {
333
- }),
334
- // never resolves on success
335
- (err) => Promise.reject(
336
- new Error(
337
- `sub-session dispatch failed: ${err instanceof Error ? err.message : String(err)}`
338
- )
339
- )
340
- );
341
- const firstTurn = awaitFirstTurn(
342
- bridge,
343
- sessionId,
344
- promptId,
345
- lastEventId,
346
- firstTurnTimeoutMs,
347
- stopAc.signal
348
- );
349
- const { result, stopReason } = await Promise.race([
350
- firstTurn,
351
- turnError
352
- ]);
353
- return {
354
- sessionId,
355
- result,
356
- stopReason,
357
- ...sub.parentSessionPersisted !== void 0 ? { parentSessionPersisted: sub.parentSessionPersisted } : {}
358
- };
359
- } finally {
360
- releaseOnce();
361
- }
362
- } catch (err) {
363
- releaseOnce();
364
- if (spawnedSessionId !== void 0) {
365
- try {
366
- void bridge.closeSession(spawnedSessionId).catch(() => {
367
- });
368
- } catch (closeErr) {
369
- log.debug(
370
- "sub-session: closeSession threw",
371
- spawnedSessionId,
372
- closeErr
373
- );
374
- }
375
- }
376
- writeStderrLine(
377
- `qwen serve: create_sub_session failed: ${err instanceof Error ? err.message : String(err)}`
378
- );
379
- throw err instanceof Error ? err : new Error(String(err));
380
- }
381
- }, "launch");
382
- return {
383
- launch,
384
- stop: /* @__PURE__ */ __name(() => {
385
- stopAc.abort();
386
- }, "stop")
387
- };
388
- }
389
- __name(createSubSessionLauncher, "createSubSessionLauncher");
390
- export {
391
- MAX_CONCURRENT_SUB_SESSIONS_PER_CALLER,
392
- MAX_CONCURRENT_SUB_SESSIONS_TOTAL,
393
- MAX_TRACKED_SPAWNED_SESSIONS,
394
- createSubSessionLauncher
395
- };
396
- /**
397
- * @license
398
- * Copyright 2025 Qwen Team
399
- * SPDX-License-Identifier: Apache-2.0
400
- */
@@ -1 +0,0 @@
1
- import{U as a,D as n}from"./mermaid.core-DijbyaN5.js";const t=(r,o)=>a.lang.round(n.parse(r)[o]);export{t as c};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-727SXJPM-Dw6quA1K.js";import{_ as i}from"./mermaid.core-DijbyaN5.js";import"./chunk-FMBD7UC4--Amcse-j.js";import"./chunk-ND2GUHAM-ajaEYAC8.js";import"./chunk-55IACEB6-DugUgM6s.js";import"./chunk-2J33WTMH-DR5yHxr0.js";import"./index-2F4RsNzd.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-727SXJPM-Dw6quA1K.js";import{_ as i}from"./mermaid.core-DijbyaN5.js";import"./chunk-FMBD7UC4--Amcse-j.js";import"./chunk-ND2GUHAM-ajaEYAC8.js";import"./chunk-55IACEB6-DugUgM6s.js";import"./chunk-2J33WTMH-DR5yHxr0.js";import"./index-2F4RsNzd.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram};