@qwen-code/qwen-code 0.19.3 → 0.19.4-nightly.20260702.46814e4f1

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 (308) hide show
  1. package/bundled/loop/SKILL.md +22 -3
  2. package/bundled/loop/SKILL.test.ts +20 -0
  3. package/bundled/loop/autonomous-loop.test.ts +59 -0
  4. package/bundled/loop/autonomous-loop.ts +102 -0
  5. package/bundled/loop/loop-task-file.test.ts +1064 -0
  6. package/bundled/loop/loop-task-file.ts +404 -0
  7. package/bundled/loop/loop-tick-resolver.test.ts +906 -0
  8. package/bundled/loop/loop-tick-resolver.ts +416 -0
  9. package/bundled/qc-helper/SKILL.md +12 -5
  10. package/bundled/qc-helper/docs/configuration/auth.md +1 -1
  11. package/bundled/qc-helper/docs/configuration/settings.md +62 -32
  12. package/bundled/qc-helper/docs/features/approval-mode.md +3 -0
  13. package/bundled/qc-helper/docs/features/auto-mode.md +40 -0
  14. package/bundled/qc-helper/docs/features/channels/overview.md +81 -18
  15. package/bundled/qc-helper/docs/features/channels/plugins.md +1 -1
  16. package/bundled/qc-helper/docs/features/code-review.md +17 -61
  17. package/bundled/qc-helper/docs/features/commands.md +42 -40
  18. package/bundled/qc-helper/docs/features/headless.md +19 -18
  19. package/bundled/qc-helper/docs/features/hooks.md +6 -1
  20. package/bundled/qc-helper/docs/features/mcp.md +3 -1
  21. package/bundled/qc-helper/docs/features/memory.md +1 -1
  22. package/bundled/qc-helper/docs/features/scheduled-tasks.md +10 -0
  23. package/bundled/qc-helper/docs/features/status-line.md +3 -3
  24. package/bundled/qc-helper/docs/ide-integration/ide-integration.md +4 -4
  25. package/bundled/qc-helper/docs/qwen-serve.md +53 -0
  26. package/bundled/qc-helper/docs/support/troubleshooting.md +11 -0
  27. package/bundled/review/DESIGN.md +21 -26
  28. package/bundled/review/SKILL.md +45 -129
  29. package/chunks/MaxSizedBox-GHGRQ2OS.js +69 -0
  30. package/chunks/{StandaloneSessionPicker-Z52JTYST.js → StandaloneSessionPicker-G7YTTM27.js} +49 -42
  31. package/chunks/{acpAgent-7RZUOWOM.js → acpAgent-SDOILBSU.js} +1325 -365
  32. package/chunks/{agent-4FG7WTHJ.js → agent-NTSXGV4L.js} +31 -25
  33. package/chunks/agent-headless-WYURMSAB.js +62 -0
  34. package/chunks/{anthropicContentGenerator-PFITVL7Y.js → anthropicContentGenerator-WL3LJOUB.js} +110 -31
  35. package/chunks/{artifact-tool-D2X7G3C3.js → artifact-tool-W76WC2JX.js} +3 -3
  36. package/chunks/{askUserQuestion-UGETICJQ.js → askUserQuestion-J3P6TH3V.js} +2 -2
  37. package/chunks/bridge-AMOL4W4P.js +73 -0
  38. package/chunks/{ca-IUFWESZL.js → ca-HCMB2I54.js} +10 -9
  39. package/chunks/channel-worker-supervisor-C3IB63V7.js +659 -0
  40. package/chunks/{chunk-STUWFKGD.js → chunk-26JIREA5.js} +466 -543
  41. package/chunks/{chunk-SLNKLLEO.js → chunk-2MRV62AU.js} +37 -8
  42. package/chunks/{chunk-ODLIHNOY.js → chunk-2U4HUMOL.js} +1 -1
  43. package/chunks/{chunk-CKQA6AWF.js → chunk-4D73HUOP.js} +1 -1
  44. package/chunks/{chunk-M2U5NM24.js → chunk-54YZOP7P.js} +309 -72
  45. package/chunks/{chunk-J7FA27RO.js → chunk-5LKL3PAU.js} +3 -3
  46. package/chunks/chunk-5P5XGNYH.js +93 -0
  47. package/chunks/{chunk-UFLGERMB.js → chunk-6JE32BRB.js} +178 -124
  48. package/chunks/{chunk-FKAVULLM.js → chunk-75AVTQJ2.js} +74 -10
  49. package/chunks/{chunk-I2LYBGNI.js → chunk-7IOMIYOE.js} +1 -1
  50. package/chunks/{chunk-4LUZAKMK.js → chunk-7KXAGQJ2.js} +1 -1
  51. package/chunks/{chunk-BXSHL2SF.js → chunk-7LUOQJ3D.js} +1 -1
  52. package/chunks/{chunk-YAINVQ3Q.js → chunk-A5OPLHFM.js} +18693 -17055
  53. package/chunks/chunk-AHNXYU4O.js +24 -0
  54. package/chunks/{chunk-UX4SGCGN.js → chunk-AVQDCKNF.js} +96 -22
  55. package/chunks/{chunk-HYCC3XM3.js → chunk-B236XPGF.js} +1 -1
  56. package/chunks/chunk-B6SZLQAZ.js +3523 -0
  57. package/chunks/{chunk-5DWXLGOM.js → chunk-BJBWRCSK.js} +1 -1
  58. package/chunks/chunk-BPFJQGY7.js +193 -0
  59. package/chunks/{chunk-SKQZZVAV.js → chunk-BZHLWC6T.js} +2 -2
  60. package/chunks/{chunk-U3KSMM7G.js → chunk-D5KISTLW.js} +339 -383
  61. package/chunks/{chunk-GT2FGICD.js → chunk-DE7YXUR7.js} +1 -1
  62. package/chunks/{chunk-BUUQ5HPX.js → chunk-DG573EOO.js} +1 -1
  63. package/chunks/{chunk-VVLOGDB6.js → chunk-DX3TKXNT.js} +2 -2
  64. package/chunks/chunk-E5A7LHNN.js +51 -0
  65. package/chunks/{chunk-3PJXIDKI.js → chunk-E6US47KI.js} +3 -27
  66. package/chunks/{chunk-QBZ22PQX.js → chunk-EWALXUAD.js} +3 -1
  67. package/chunks/{chunk-PDE7CSDS.js → chunk-FXKI7OW6.js} +2 -2
  68. package/chunks/{chunk-F3ZYSEY6.js → chunk-FY4TT4L4.js} +3 -3
  69. package/chunks/{chunk-QLDPRILK.js → chunk-G7OQ3RFJ.js} +3 -3
  70. package/chunks/{chunk-R2BXK7SX.js → chunk-GHOTR7HL.js} +6 -1
  71. package/chunks/{chunk-KMGMKW5Q.js → chunk-GLPV75ES.js} +9 -3
  72. package/chunks/{chunk-LD2XBG6Z.js → chunk-GO6LNQXT.js} +1 -39
  73. package/chunks/{chunk-CNLEDYE3.js → chunk-H6TNLOLM.js} +5 -5
  74. package/chunks/{chunk-JVHEVCAU.js → chunk-HLW4EGKR.js} +31 -6
  75. package/chunks/{chunk-I4H7PRWQ.js → chunk-HTWHAN44.js} +1 -1
  76. package/chunks/{chunk-QE6KJYLT.js → chunk-IPYE5BIS.js} +123 -25
  77. package/chunks/{chunk-EJYJYJZ2.js → chunk-IRJWHZWU.js} +3 -70
  78. package/chunks/{chunk-EDMZZFDU.js → chunk-J3YPTTNL.js} +930 -798
  79. package/chunks/{chunk-GGBIN5K7.js → chunk-JGAJMIJZ.js} +1 -1
  80. package/chunks/{chunk-N4EJFBN5.js → chunk-JVLP5US5.js} +427 -263
  81. package/chunks/{chunk-R5OP2ATH.js → chunk-JZG7VB6C.js} +11 -11
  82. package/chunks/{chunk-QI7GOGJR.js → chunk-KKQWC6WS.js} +1 -1
  83. package/chunks/{chunk-ADCIHOQZ.js → chunk-KX5QZRW2.js} +142 -30
  84. package/chunks/{chunk-SBBN4BWR.js → chunk-L7OJ3ZO3.js} +1 -1
  85. package/chunks/{chunk-NDOC6M5S.js → chunk-L7QPM2YD.js} +2 -2
  86. package/chunks/{chunk-BVSVIN45.js → chunk-LKWAVAB5.js} +3 -3
  87. package/chunks/{chunk-T4T2FNV4.js → chunk-LOW52WYZ.js} +2 -2
  88. package/chunks/{chunk-4QK3O43S.js → chunk-LU7BIVWC.js} +4 -4
  89. package/chunks/{chunk-ZP6UKOPB.js → chunk-LWGLBVWA.js} +1 -1
  90. package/chunks/{chunk-L7OKCI7T.js → chunk-M7BLWURA.js} +15 -1
  91. package/chunks/{chunk-PR32FRT6.js → chunk-MIM62IXS.js} +3 -3
  92. package/chunks/{chunk-RD6YJJJ6.js → chunk-MOUXUCXQ.js} +1 -1
  93. package/chunks/{chunk-VBZ452JT.js → chunk-MSNGFH6L.js} +494 -114
  94. package/chunks/{chunk-BX5YO7UW.js → chunk-MTNTVOJR.js} +542 -370
  95. package/chunks/chunk-MX2YXRER.js +44 -0
  96. package/chunks/chunk-NIOPRZNN.js +27 -0
  97. package/chunks/{chunk-SMYQZVZ3.js → chunk-NOGSPTLJ.js} +1 -1
  98. package/chunks/{chunk-DDMOU62Q.js → chunk-NPQWQYU6.js} +1 -1
  99. package/chunks/{chunk-MNF6S5PR.js → chunk-P5THQV6A.js} +4 -4
  100. package/chunks/{chunk-6V4NZFUS.js → chunk-PCYOT4PK.js} +5 -5
  101. package/chunks/{chunk-CF6BB3LT.js → chunk-PPFWEV7G.js} +10 -1
  102. package/chunks/{chunk-FXKVLFFY.js → chunk-PSFDB5FZ.js} +3 -3
  103. package/chunks/{chunk-XJYUPHRC.js → chunk-QOMAHFYI.js} +3 -3
  104. package/chunks/{chunk-J37FGIOA.js → chunk-QXPI7FEC.js} +38 -4
  105. package/chunks/{chunk-RRFZXMYP.js → chunk-QZDBHNMV.js} +691 -164
  106. package/chunks/{chunk-S7AKE7HL.js → chunk-R6RI2HIC.js} +63 -9
  107. package/chunks/{chunk-HZT4UCFB.js → chunk-RB7S52NJ.js} +4 -4
  108. package/chunks/{chunk-J33ZR6OJ.js → chunk-RK22ACPP.js} +16 -16
  109. package/chunks/chunk-RM3PGSGL.js +66 -0
  110. package/chunks/chunk-RNBYOUGV.js +42 -0
  111. package/chunks/chunk-S6RLAIUR.js +23 -0
  112. package/chunks/{chunk-3TV3HUWZ.js → chunk-SCYK2YLI.js} +81 -30
  113. package/chunks/{chunk-HPZTOP4I.js → chunk-SEKRT4SD.js} +133 -23
  114. package/chunks/chunk-SEZC2725.js +36 -0
  115. package/chunks/chunk-SIUQ3YYX.js +78 -0
  116. package/chunks/{chunk-O2VBQ3Y2.js → chunk-SJBIFVD2.js} +2 -2
  117. package/chunks/chunk-SYCJMSIJ.js +82 -0
  118. package/chunks/{chunk-JE5FVRPC.js → chunk-T22H4V4R.js} +48 -23
  119. package/chunks/{chunk-3227DZO4.js → chunk-T42ACHFI.js} +1 -1
  120. package/chunks/{chunk-UO5GVXQE.js → chunk-TENOUWY2.js} +3 -3
  121. package/chunks/{chunk-JOLIREYR.js → chunk-TOAUDIS7.js} +1 -1
  122. package/chunks/{chunk-QNKBEJO2.js → chunk-UA6XBZT7.js} +2776 -1289
  123. package/chunks/{chunk-O75BHFQW.js → chunk-UQTYK5SS.js} +2 -2
  124. package/chunks/{chunk-Y6YMRS3U.js → chunk-UY2TCIZS.js} +17 -3
  125. package/chunks/{chunk-FNJ7BDPH.js → chunk-UY7ZAYTY.js} +10 -7
  126. package/chunks/{chunk-UYT3MWEB.js → chunk-UYHWM24C.js} +30 -2
  127. package/chunks/{chunk-SMXULRAN.js → chunk-VXGPYF7U.js} +1 -1
  128. package/chunks/{chunk-BTLJ2MF5.js → chunk-W7CG5HPC.js} +3 -3
  129. package/chunks/{chunk-JJXWTVSK.js → chunk-XHZKDN7M.js} +34 -1
  130. package/chunks/{chunk-K5XU6E4T.js → chunk-XKSCTXPK.js} +2 -2
  131. package/chunks/chunk-Y4LITCRB.js +367 -0
  132. package/chunks/chunk-YHTNWGRR.js +239 -0
  133. package/chunks/{chunk-BKXBARJZ.js → chunk-YPCPZSZB.js} +1 -1
  134. package/chunks/{chunk-QWFNTRH4.js → chunk-YSM24SCE.js} +1 -1
  135. package/chunks/chunk-YTFBURQD.js +313 -0
  136. package/chunks/{chunk-NL4C3H6C.js → chunk-YXK4GPYO.js} +1 -1
  137. package/chunks/{chunk-RYLJU2DY.js → chunk-ZN5T4BHI.js} +1 -1
  138. package/chunks/{computer-use-JGB36FDW.js → computer-use-MTSVPLPY.js} +34 -28
  139. package/chunks/contextCommand-VGJ3BPTK.js +67 -0
  140. package/chunks/{cron-create-SKEY55RG.js → cron-create-6YTCOX6P.js} +4 -4
  141. package/chunks/{cron-delete-I3NAT32Z.js → cron-delete-E3NIFSUK.js} +4 -4
  142. package/chunks/{cron-list-6XRRL6TH.js → cron-list-Q64MNQNE.js} +4 -4
  143. package/chunks/daemon-EEB2RYOL.js +8453 -0
  144. package/chunks/daemon-status-provider-H5SNMK42.js +71 -0
  145. package/chunks/{de-EOW5PVHF.js → de-PLLFDERI.js} +10 -9
  146. package/chunks/{dist-NHEYYB2B.js → dist-ADMIQGHI.js} +2 -2
  147. package/chunks/{dist-J37VXPLD.js → dist-BCQ7INM7.js} +40 -15
  148. package/chunks/{dist-663NZ6MI.js → dist-KNZFCY5F.js} +116 -11
  149. package/chunks/{dist-LB6OGPVM.js → dist-LHUWC3K6.js} +26 -5
  150. package/chunks/{dist-PQPZ5Q4N.js → dist-WBBZ76JZ.js} +20 -9
  151. package/chunks/{earlyInputCapture-44RISVVJ.js → earlyInputCapture-U4ZIQSQU.js} +32 -26
  152. package/chunks/{edit-NN6GM5DT.js → edit-SYIQ2KBI.js} +41 -38
  153. package/chunks/{en-HPWEJBTR.js → en-M4EBUBNU.js} +32 -10
  154. package/chunks/{enter-worktree-PB3O2C7D.js → enter-worktree-HPPOO244.js} +31 -25
  155. package/chunks/{enterPlanMode-YQFNNSUA.js → enterPlanMode-56YYO52U.js} +41 -25
  156. package/chunks/{errors-LS7XU5DZ.js → errors-EO4SXCFP.js} +33 -27
  157. package/chunks/{exit-worktree-E2FTNSBK.js → exit-worktree-UDM7E6XH.js} +31 -25
  158. package/chunks/{exitPlanMode-GLYK2BUB.js → exitPlanMode-M6P3AWLJ.js} +149 -33
  159. package/chunks/{fast-path-WQ6M7LI7.js → fast-path-42P4QYWI.js} +33 -14
  160. package/chunks/{fast-path-settings-OAGU3X5H.js → fast-path-settings-UQLRFDQP.js} +2 -2
  161. package/chunks/{fr-BN5NKSAC.js → fr-MBMNQSQ6.js} +10 -9
  162. package/chunks/{gemini-2YFLVA2M.js → gemini-NRLXS5J7.js} +84 -70
  163. package/chunks/{geminiContentGenerator-XV6SV6CD.js → geminiContentGenerator-DLJPYYPA.js} +41 -5
  164. package/chunks/{glob-2H6CDDMK.js → glob-JPY3F74Y.js} +31 -25
  165. package/chunks/{grep-VXIUXM3C.js → grep-HW23YES5.js} +31 -25
  166. package/chunks/initializer-HWOZTC4A.js +67 -0
  167. package/chunks/{ja-7DEUB2TS.js → ja-HFV5QCHR.js} +10 -9
  168. package/chunks/{keychain-token-storage-YLMDLKXT.js → keychain-token-storage-GPAKRDKQ.js} +2 -2
  169. package/chunks/list-OZGAGRDG.js +71 -0
  170. package/chunks/loadedSettingsAdapter-RUTZVVIA.js +66 -0
  171. package/chunks/{loop-wakeup-CITGGQHA.js → loop-wakeup-G2EHBRGR.js} +5 -5
  172. package/chunks/{ls-R5WP4BGZ.js → ls-IDHUVSAG.js} +4 -4
  173. package/chunks/{lsp-GSICJMMW.js → lsp-FSRYXGFT.js} +2 -2
  174. package/chunks/{monitor-HKLRS2HQ.js → monitor-QVWEIXU3.js} +33 -26
  175. package/chunks/nonInteractiveCli-RV2WYPML.js +109 -0
  176. package/chunks/{notebook-edit-Y6SKSGTT.js → notebook-edit-B26W3FFH.js} +37 -34
  177. package/chunks/{openaiContentGenerator-J7G2FYJT.js → openaiContentGenerator-6TH7AZGQ.js} +15 -13
  178. package/chunks/pidfile-KW2QQJZI.js +73 -0
  179. package/chunks/{pt-TNZRNLQB.js → pt-2THT3YHA.js} +10 -9
  180. package/chunks/{qwenContentGenerator-5XIEM5GV.js → qwenContentGenerator-5IQAC7RN.js} +33 -27
  181. package/chunks/{qwenOAuth2-AG3PFFLZ.js → qwenOAuth2-LWLA6MQG.js} +5 -4
  182. package/chunks/{read-file-J7D552ZJ.js → read-file-CWFAHOI2.js} +11 -10
  183. package/chunks/{read-mcp-resource-DQQW7H7T.js → read-mcp-resource-PIJF24RO.js} +2 -2
  184. package/chunks/ripGrep-FTZGDKY4.js +60 -0
  185. package/chunks/{ru-NIAUBKCN.js → ru-Z67YJHBG.js} +10 -9
  186. package/chunks/{run-qwen-serve-SGEEVMXD.js → run-qwen-serve-FN2SW5ZI.js} +545 -97
  187. package/chunks/{scheduler-7CQI3S4Q.js → scheduler-BMS23O3I.js} +31 -25
  188. package/chunks/{send-message-EE4TWKVU.js → send-message-33PYFMCT.js} +20 -4
  189. package/chunks/serve-PXFYKL65.js +71 -0
  190. package/chunks/{server-4QMUWXPW.js → server-BRKALJ4F.js} +4132 -1175
  191. package/chunks/{session-NRO7UFOY.js → session-AQMISBP4.js} +205 -64
  192. package/chunks/{settings-SGWRDQSC.js → settings-JCPVUZMB.js} +35 -29
  193. package/chunks/{shell-62ANGIHL.js → shell-POHCRVN2.js} +31 -25
  194. package/chunks/{skill-VWAQAWW6.js → skill-QPEVHS6H.js} +13 -12
  195. package/chunks/spawnChannel-V3QT62TE.js +69 -0
  196. package/chunks/{src-KUV5J5Q2.js → src-IZSP7L6Y.js} +127 -32
  197. package/chunks/{startInteractiveUI-6EYJN3JV.js → startInteractiveUI-63KATISO.js} +16762 -16075
  198. package/chunks/{syntheticOutput-T5YHQ6S2.js → syntheticOutput-YOSWIHDJ.js} +3 -3
  199. package/chunks/{task-create-BLY7RHXX.js → task-create-NHS2NGB3.js} +9 -7
  200. package/chunks/{task-list-3QUYNVYR.js → task-list-5UIB564R.js} +7 -6
  201. package/chunks/{task-stop-U4RATK2V.js → task-stop-HGXZ2VZ3.js} +2 -2
  202. package/chunks/{task-update-U54O7KJX.js → task-update-IYYWUILG.js} +40 -7
  203. package/chunks/{team-create-LPOGCPM7.js → team-create-E5O2F3CA.js} +31 -25
  204. package/chunks/{team-delete-LKBYPASD.js → team-delete-FEKJCU4P.js} +7 -6
  205. package/chunks/team-plan-approval-2TU4YROB.js +202 -0
  206. package/chunks/theme-manager-37KOGPJL.js +64 -0
  207. package/chunks/{todoWrite-OYXKTVYN.js → todoWrite-TKMVZ2HT.js} +4 -4
  208. package/chunks/{tool-search-YPUFJ3ZQ.js → tool-search-4ZTGNSFI.js} +38 -11
  209. package/chunks/{trustedFolders-5B24TMEA.js → trustedFolders-RJ5WXJ6L.js} +32 -26
  210. package/chunks/{validateNonInterActiveAuth-BTDTYOVT.js → validateNonInterActiveAuth-ZWMHZAOK.js} +66 -55
  211. package/chunks/{web-fetch-EEB5LZYU.js → web-fetch-J4PIW36Q.js} +5 -4
  212. package/chunks/{workflow-LAWIW5LI.js → workflow-6PG2PC5M.js} +68 -39
  213. package/chunks/workspace-providers-status-4QIZN2W4.js +68 -0
  214. package/chunks/workspace-service-CYMCOEIO.js +78 -0
  215. package/chunks/{write-file-PCV226DJ.js → write-file-R354LGQF.js} +41 -40
  216. package/chunks/{zh-5EUYXASN.js → zh-SLZNSSZB.js} +32 -10
  217. package/chunks/{zh-TW-TR3XYGE5.js → zh-TW-P53C2SL5.js} +32 -10
  218. package/cli.js +6 -6
  219. package/locales/ca.js +15 -13
  220. package/locales/de.js +15 -13
  221. package/locales/en.js +52 -15
  222. package/locales/fr.js +15 -14
  223. package/locales/ja.js +15 -14
  224. package/locales/pt.js +15 -13
  225. package/locales/ru.js +15 -13
  226. package/locales/zh-TW.js +50 -14
  227. package/locales/zh.js +50 -14
  228. package/node_modules/@qwen-code/audio-capture/package.json +1 -1
  229. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-arm64/@qwen-code+audio-capture.node +0 -0
  230. package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-x64/@qwen-code+audio-capture.node +0 -0
  231. package/node_modules/@qwen-code/audio-capture/prebuilds/win32-x64/@qwen-code+audio-capture.node +0 -0
  232. package/package.json +15 -6
  233. package/patches/chrome-devtools-mcp+1.4.0.patch +31 -0
  234. package/postinstall.js +50 -0
  235. package/web-shell/assets/{arc-DA7r8Ueo.js → arc-Bd3048nX.js} +1 -1
  236. package/web-shell/assets/{architectureDiagram-3BPJPVTR-ZDUxPtZ2.js → architectureDiagram-3BPJPVTR-DyzbzABx.js} +1 -1
  237. package/web-shell/assets/{blockDiagram-GPEHLZMM-vrtOf1kJ.js → blockDiagram-GPEHLZMM-CTjxm9Sy.js} +1 -1
  238. package/web-shell/assets/{c4Diagram-AAUBKEIU-BHFjzIi4.js → c4Diagram-AAUBKEIU-DSOFWNU6.js} +1 -1
  239. package/web-shell/assets/channel-oVoup_Ci.js +1 -0
  240. package/web-shell/assets/{chunk-2J33WTMH-mdeQVz59.js → chunk-2J33WTMH-D_PFdjo2.js} +1 -1
  241. package/web-shell/assets/{chunk-4BX2VUAB-BkKMlwBX.js → chunk-4BX2VUAB-52eG6wOT.js} +1 -1
  242. package/web-shell/assets/{chunk-55IACEB6-B7bnXNfu.js → chunk-55IACEB6-CGTZfKkC.js} +1 -1
  243. package/web-shell/assets/{chunk-727SXJPM-DGz8Mm6i.js → chunk-727SXJPM-CZ-qfRUm.js} +1 -1
  244. package/web-shell/assets/{chunk-AQP2D5EJ-BQAydUNk.js → chunk-AQP2D5EJ-B2dSDcqM.js} +1 -1
  245. package/web-shell/assets/{chunk-FMBD7UC4-GHr2LN_p.js → chunk-FMBD7UC4-Cfy3tyA0.js} +1 -1
  246. package/web-shell/assets/{chunk-ND2GUHAM-7R91lnUx.js → chunk-ND2GUHAM-CApNUpUq.js} +1 -1
  247. package/web-shell/assets/{chunk-QZHKN3VN-aTJD3lSQ.js → chunk-QZHKN3VN-CVBG8kgg.js} +1 -1
  248. package/web-shell/assets/classDiagram-4FO5ZUOK-B8WsaT2G.js +1 -0
  249. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-B8WsaT2G.js +1 -0
  250. package/web-shell/assets/{cose-bilkent-S5V4N54A-BTf8t1RL.js → cose-bilkent-S5V4N54A-URd77-_-.js} +1 -1
  251. package/web-shell/assets/{dagre-BM42HDAG-_sgp3WuA.js → dagre-BM42HDAG-C07H4G9-.js} +1 -1
  252. package/web-shell/assets/{diagram-2AECGRRQ-CROtRy1w.js → diagram-2AECGRRQ-CYbpXrSn.js} +1 -1
  253. package/web-shell/assets/{diagram-5GNKFQAL-BqGRzwSc.js → diagram-5GNKFQAL-SI8s6fjX.js} +1 -1
  254. package/web-shell/assets/{diagram-KO2AKTUF-CMrcEtA7.js → diagram-KO2AKTUF-mBkC4RTW.js} +1 -1
  255. package/web-shell/assets/{diagram-LMA3HP47-BRydGNW5.js → diagram-LMA3HP47-CyBPDzWJ.js} +1 -1
  256. package/web-shell/assets/{diagram-OG6HWLK6-D0ilgNjV.js → diagram-OG6HWLK6-DwK7kBCu.js} +1 -1
  257. package/web-shell/assets/{erDiagram-TEJ5UH35-2lnQeJUM.js → erDiagram-TEJ5UH35-Ds1StEUd.js} +1 -1
  258. package/web-shell/assets/{flowDiagram-I6XJVG4X-C_ZMdQiC.js → flowDiagram-I6XJVG4X-BDC4-jHO.js} +1 -1
  259. package/web-shell/assets/{ganttDiagram-6RSMTGT7-Dw9V_Ny0.js → ganttDiagram-6RSMTGT7-CV2aHQqf.js} +1 -1
  260. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-HDXI-F1B.js → gitGraphDiagram-PVQCEYII-B8RcuV_L.js} +1 -1
  261. package/web-shell/assets/index-B5WZ0qP1.js +717 -0
  262. package/web-shell/assets/index-CYE1IMd1.css +5 -0
  263. package/web-shell/assets/{infoDiagram-5YYISTIA-CuB8Ebua.js → infoDiagram-5YYISTIA-DUPoTf50.js} +1 -1
  264. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-D_tyhVwh.js → ishikawaDiagram-YF4QCWOH-FDYOx9rf.js} +1 -1
  265. package/web-shell/assets/{journeyDiagram-JHISSGLW-CgCwJQNU.js → journeyDiagram-JHISSGLW-C5_ohMRp.js} +1 -1
  266. package/web-shell/assets/{kanban-definition-UN3LZRKU-PZUtcbPx.js → kanban-definition-UN3LZRKU-Bn4UnOMG.js} +1 -1
  267. package/web-shell/assets/{linear-CZqRdJIU.js → linear-Bl0pKQtY.js} +1 -1
  268. package/web-shell/assets/{mermaid.core-CPW_4UEF.js → mermaid.core-sevQFoji.js} +72 -72
  269. package/web-shell/assets/{mindmap-definition-RKZ34NQL-D_Y75ID7.js → mindmap-definition-RKZ34NQL-DSH4JZF9.js} +1 -1
  270. package/web-shell/assets/{pieDiagram-4H26LBE5-Q4dTyLeF.js → pieDiagram-4H26LBE5-acWvdQTD.js} +1 -1
  271. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-ckw329Ft.js → quadrantDiagram-W4KKPZXB-DlggX4Sm.js} +1 -1
  272. package/web-shell/assets/{requirementDiagram-4Y6WPE33-DbVDm4It.js → requirementDiagram-4Y6WPE33--mMqwmV8.js} +1 -1
  273. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-CHuZ_ecH.js → sankeyDiagram-5OEKKPKP-BtV9tZ77.js} +1 -1
  274. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DU2YSpq-.js → sequenceDiagram-3UESZ5HK-iDQzPFlj.js} +1 -1
  275. package/web-shell/assets/{stateDiagram-AJRCARHV-CA9PEBUo.js → stateDiagram-AJRCARHV-CsCyQLZ3.js} +1 -1
  276. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CPapECG9.js +1 -0
  277. package/web-shell/assets/{timeline-definition-PNZ67QCA-Bhlo4WVc.js → timeline-definition-PNZ67QCA-Dl0rnKvr.js} +1 -1
  278. package/web-shell/assets/{vennDiagram-CIIHVFJN-6xtPLsyl.js → vennDiagram-CIIHVFJN-qF7nTZzA.js} +1 -1
  279. package/web-shell/assets/{wardley-L42UT6IY-3eozmXPf.js → wardley-L42UT6IY-fWoK9i7F.js} +1 -1
  280. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-BOn6hKss.js → wardleyDiagram-YWT4CUSO-pHGfkMnc.js} +1 -1
  281. package/web-shell/assets/{xychartDiagram-2RQKCTM6-BsP4-I_y.js → xychartDiagram-2RQKCTM6-3Doc4Trz.js} +1 -1
  282. package/web-shell/index.html +18 -2
  283. package/chunks/MaxSizedBox-QNF3EIGU.js +0 -63
  284. package/chunks/agent-headless-RQ5BTX3G.js +0 -56
  285. package/chunks/bridge-JL2PMCIW.js +0 -66
  286. package/chunks/chunk-5GOVVXEV.js +0 -73
  287. package/chunks/chunk-BC3C4F3Q.js +0 -40
  288. package/chunks/chunk-BW4KCQFD.js +0 -1103
  289. package/chunks/chunk-RKIZXJMB.js +0 -13
  290. package/chunks/contextCommand-WYU6OQ2F.js +0 -61
  291. package/chunks/daemon-status-provider-HH2EC5FI.js +0 -65
  292. package/chunks/headlessSafetyWarnings-TBE35GJ4.js +0 -55
  293. package/chunks/initializer-2Y7SLOKV.js +0 -61
  294. package/chunks/list-ZAFHZ7OS.js +0 -65
  295. package/chunks/loadedSettingsAdapter-6KJXD6M3.js +0 -60
  296. package/chunks/nonInteractiveCli-5W4GIZQM.js +0 -96
  297. package/chunks/ripGrep-IEIFIWP4.js +0 -54
  298. package/chunks/serve-V6GVZR6U.js +0 -65
  299. package/chunks/spawnChannel-3VHW5EPY.js +0 -63
  300. package/chunks/theme-manager-LYLGAERF.js +0 -58
  301. package/chunks/workspace-providers-status-PIAFVYHA.js +0 -62
  302. package/chunks/workspace-service-YAIOD4HG.js +0 -71
  303. package/web-shell/assets/channel-iRo68q4Q.js +0 -1
  304. package/web-shell/assets/classDiagram-4FO5ZUOK-iHF24a8X.js +0 -1
  305. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-iHF24a8X.js +0 -1
  306. package/web-shell/assets/index-CHmzAWys.css +0 -5
  307. package/web-shell/assets/index-w6GTOHh1.js +0 -713
  308. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-t1LRI0oY.js +0 -1
@@ -7,53 +7,59 @@ import {
7
7
  readWorktreeSession,
8
8
  readWorktreeSessionMarker,
9
9
  worktreeBranchForSlug
10
- } from "./chunk-YAINVQ3Q.js";
10
+ } from "./chunk-A5OPLHFM.js";
11
+ import "./chunk-5P5XGNYH.js";
11
12
  import "./chunk-K5PGHDBN.js";
12
13
  import "./chunk-SKAZWEV5.js";
13
- import "./chunk-XJYUPHRC.js";
14
- import "./chunk-QLDPRILK.js";
15
- import "./chunk-BVSVIN45.js";
16
- import "./chunk-SBBN4BWR.js";
17
- import "./chunk-S7AKE7HL.js";
14
+ import "./chunk-QOMAHFYI.js";
15
+ import "./chunk-G7OQ3RFJ.js";
16
+ import "./chunk-LKWAVAB5.js";
17
+ import "./chunk-L7OJ3ZO3.js";
18
+ import "./chunk-R6RI2HIC.js";
18
19
  import "./chunk-2MPVVENX.js";
19
20
  import "./chunk-ZTQ26VBE.js";
20
- import "./chunk-O2VBQ3Y2.js";
21
+ import "./chunk-SJBIFVD2.js";
21
22
  import "./chunk-MLZQVCF3.js";
22
23
  import "./chunk-LQ7TMOCE.js";
23
- import "./chunk-LD2XBG6Z.js";
24
- import "./chunk-HYCC3XM3.js";
25
- import "./chunk-NL4C3H6C.js";
26
- import "./chunk-JOLIREYR.js";
27
- import "./chunk-DDMOU62Q.js";
28
- import "./chunk-QNKBEJO2.js";
29
- import "./chunk-3PJXIDKI.js";
24
+ import "./chunk-E5A7LHNN.js";
25
+ import "./chunk-BPFJQGY7.js";
26
+ import "./chunk-GO6LNQXT.js";
27
+ import "./chunk-B236XPGF.js";
28
+ import "./chunk-YXK4GPYO.js";
29
+ import "./chunk-TOAUDIS7.js";
30
+ import "./chunk-NPQWQYU6.js";
31
+ import "./chunk-UA6XBZT7.js";
32
+ import "./chunk-E6US47KI.js";
30
33
  import "./chunk-UWCTAVOD.js";
31
34
  import "./chunk-OFEVLU4C.js";
32
35
  import "./chunk-OMX7CUOE.js";
33
- import "./chunk-RD6YJJJ6.js";
34
- import "./chunk-SKQZZVAV.js";
35
- import "./chunk-BUUQ5HPX.js";
36
+ import "./chunk-MOUXUCXQ.js";
37
+ import "./chunk-BZHLWC6T.js";
38
+ import "./chunk-DG573EOO.js";
36
39
  import {
37
40
  BaseDeclarativeTool,
38
41
  BaseToolInvocation,
39
42
  ToolDisplayNames,
40
43
  ToolNames
41
- } from "./chunk-BX5YO7UW.js";
42
- import "./chunk-UO5GVXQE.js";
43
- import "./chunk-KMGMKW5Q.js";
44
+ } from "./chunk-MTNTVOJR.js";
45
+ import "./chunk-TENOUWY2.js";
46
+ import "./chunk-GLPV75ES.js";
44
47
  import "./chunk-22IFUCVR.js";
45
- import "./chunk-3227DZO4.js";
46
- import "./chunk-U3KSMM7G.js";
47
- import "./chunk-BKXBARJZ.js";
48
- import "./chunk-EJYJYJZ2.js";
48
+ import "./chunk-T42ACHFI.js";
49
+ import "./chunk-SIUQ3YYX.js";
50
+ import "./chunk-YTFBURQD.js";
51
+ import "./chunk-YPCPZSZB.js";
52
+ import "./chunk-IRJWHZWU.js";
53
+ import "./chunk-SYCJMSIJ.js";
49
54
  import "./chunk-55ZMG67I.js";
50
55
  import "./chunk-H6BD2ELD.js";
51
56
  import "./chunk-5IFG2VC4.js";
52
57
  import "./chunk-64WXLC72.js";
58
+ import "./chunk-D5KISTLW.js";
53
59
  import {
54
60
  createDebugLogger,
55
61
  isNodeError
56
- } from "./chunk-UX4SGCGN.js";
62
+ } from "./chunk-AVQDCKNF.js";
57
63
  import "./chunk-ZERZSAZL.js";
58
64
  import "./chunk-QN5NZ3UQ.js";
59
65
  import "./chunk-BR4QREVK.js";
@@ -10,52 +10,64 @@ import {
10
10
  createApprovalModeOverride,
11
11
  delay,
12
12
  isAutonomousPrePlanMode
13
- } from "./chunk-YAINVQ3Q.js";
13
+ } from "./chunk-A5OPLHFM.js";
14
+ import "./chunk-5P5XGNYH.js";
14
15
  import "./chunk-K5PGHDBN.js";
15
16
  import "./chunk-SKAZWEV5.js";
16
- import "./chunk-XJYUPHRC.js";
17
- import "./chunk-QLDPRILK.js";
18
- import "./chunk-BVSVIN45.js";
19
- import "./chunk-SBBN4BWR.js";
20
- import "./chunk-S7AKE7HL.js";
17
+ import "./chunk-QOMAHFYI.js";
18
+ import "./chunk-G7OQ3RFJ.js";
19
+ import "./chunk-LKWAVAB5.js";
20
+ import "./chunk-L7OJ3ZO3.js";
21
+ import "./chunk-R6RI2HIC.js";
21
22
  import "./chunk-2MPVVENX.js";
22
23
  import "./chunk-ZTQ26VBE.js";
23
- import "./chunk-O2VBQ3Y2.js";
24
+ import "./chunk-SJBIFVD2.js";
24
25
  import "./chunk-MLZQVCF3.js";
25
26
  import "./chunk-LQ7TMOCE.js";
26
- import "./chunk-LD2XBG6Z.js";
27
- import "./chunk-HYCC3XM3.js";
28
- import "./chunk-NL4C3H6C.js";
29
- import "./chunk-JOLIREYR.js";
30
- import "./chunk-DDMOU62Q.js";
31
- import "./chunk-QNKBEJO2.js";
32
- import "./chunk-3PJXIDKI.js";
27
+ import "./chunk-E5A7LHNN.js";
28
+ import {
29
+ buildSubagentPlanToolBlockedResult,
30
+ isPlanLifecycleToolUnavailableInSubagent,
31
+ isPlanRequiredTeammateContext
32
+ } from "./chunk-BPFJQGY7.js";
33
+ import {
34
+ getTeammateContext
35
+ } from "./chunk-GO6LNQXT.js";
36
+ import "./chunk-B236XPGF.js";
37
+ import "./chunk-YXK4GPYO.js";
38
+ import "./chunk-TOAUDIS7.js";
39
+ import "./chunk-NPQWQYU6.js";
40
+ import "./chunk-UA6XBZT7.js";
41
+ import "./chunk-E6US47KI.js";
33
42
  import "./chunk-UWCTAVOD.js";
34
43
  import "./chunk-OFEVLU4C.js";
35
44
  import "./chunk-OMX7CUOE.js";
36
- import "./chunk-RD6YJJJ6.js";
37
- import "./chunk-SKQZZVAV.js";
38
- import "./chunk-BUUQ5HPX.js";
45
+ import "./chunk-MOUXUCXQ.js";
46
+ import "./chunk-BZHLWC6T.js";
47
+ import "./chunk-DG573EOO.js";
39
48
  import {
40
49
  BaseDeclarativeTool,
41
50
  BaseToolInvocation,
42
51
  ToolDisplayNames,
43
52
  ToolNames
44
- } from "./chunk-BX5YO7UW.js";
45
- import "./chunk-UO5GVXQE.js";
46
- import "./chunk-KMGMKW5Q.js";
53
+ } from "./chunk-MTNTVOJR.js";
54
+ import "./chunk-TENOUWY2.js";
55
+ import "./chunk-GLPV75ES.js";
47
56
  import "./chunk-22IFUCVR.js";
48
- import "./chunk-3227DZO4.js";
49
- import "./chunk-U3KSMM7G.js";
50
- import "./chunk-BKXBARJZ.js";
51
- import "./chunk-EJYJYJZ2.js";
57
+ import "./chunk-T42ACHFI.js";
58
+ import "./chunk-SIUQ3YYX.js";
59
+ import "./chunk-YTFBURQD.js";
60
+ import "./chunk-YPCPZSZB.js";
61
+ import "./chunk-IRJWHZWU.js";
62
+ import "./chunk-SYCJMSIJ.js";
52
63
  import "./chunk-55ZMG67I.js";
53
64
  import "./chunk-H6BD2ELD.js";
54
65
  import "./chunk-5IFG2VC4.js";
55
66
  import "./chunk-64WXLC72.js";
67
+ import "./chunk-D5KISTLW.js";
56
68
  import {
57
69
  createDebugLogger
58
- } from "./chunk-UX4SGCGN.js";
70
+ } from "./chunk-AVQDCKNF.js";
59
71
  import "./chunk-ZERZSAZL.js";
60
72
  import "./chunk-QN5NZ3UQ.js";
61
73
  import "./chunk-BR4QREVK.js";
@@ -507,6 +519,12 @@ var ExitPlanModeToolInvocation = class extends BaseToolInvocation {
507
519
  * (issue #5574).
508
520
  */
509
521
  async getDefaultPermission() {
522
+ if (isPlanRequiredTeammateContext()) {
523
+ return "allow";
524
+ }
525
+ if (isPlanLifecycleToolUnavailableInSubagent(ToolNames.EXIT_PLAN_MODE)) {
526
+ return "allow";
527
+ }
510
528
  const prePlanMode = this.config.getPrePlanMode();
511
529
  const gateState = this.config.getPlanGateState();
512
530
  if (isAutonomousPrePlanMode(prePlanMode) && gateState && gateState.enteredByModel && gateState.gateMode !== "user_takeover") {
@@ -514,7 +532,13 @@ var ExitPlanModeToolInvocation = class extends BaseToolInvocation {
514
532
  }
515
533
  return "ask";
516
534
  }
517
- async getConfirmationDetails(_abortSignal) {
535
+ async getConfirmationDetails(abortSignal) {
536
+ if (isPlanRequiredTeammateContext()) {
537
+ return super.getConfirmationDetails(abortSignal);
538
+ }
539
+ if (isPlanLifecycleToolUnavailableInSubagent(ToolNames.EXIT_PLAN_MODE)) {
540
+ return super.getConfirmationDetails(abortSignal);
541
+ }
518
542
  const prePlanMode = this.config.getPrePlanMode();
519
543
  const details = {
520
544
  type: "plan",
@@ -551,11 +575,13 @@ var ExitPlanModeToolInvocation = class extends BaseToolInvocation {
551
575
  setApprovalModeSafely(mode) {
552
576
  try {
553
577
  this.config.setApprovalMode(mode);
578
+ return void 0;
554
579
  } catch (error) {
555
580
  const errorMessage = error instanceof Error ? error.message : String(error);
556
581
  debugLogger3.error(
557
582
  `[ExitPlanModeTool] Failed to set approval mode to "${mode}": ${errorMessage}`
558
583
  );
584
+ return errorMessage;
559
585
  }
560
586
  }
561
587
  buildRejectedGateDisplay(message, plan, details) {
@@ -571,7 +597,22 @@ ${details}`,
571
597
  };
572
598
  }
573
599
  async execute(signal) {
600
+ if (isPlanLifecycleToolUnavailableInSubagent(ToolNames.EXIT_PLAN_MODE)) {
601
+ return buildSubagentPlanToolBlockedResult(
602
+ ToolNames.EXIT_PLAN_MODE,
603
+ "ExitPlanModeTool",
604
+ debugLogger3
605
+ );
606
+ }
574
607
  const { plan, originalRequest, researchSummary, resolutionSummary } = this.params;
608
+ if (isPlanRequiredTeammateContext()) {
609
+ return this.executePlanRequiredTeammate(
610
+ plan,
611
+ originalRequest,
612
+ researchSummary,
613
+ signal
614
+ );
615
+ }
575
616
  const prePlanMode = this.config.getPrePlanMode();
576
617
  const gateState = this.config.getPlanGateState();
577
618
  try {
@@ -648,8 +689,9 @@ ${notes}` : "")
648
689
  };
649
690
  }
650
691
  case "unavailable": {
692
+ gateState.gateMode = "user_takeover";
651
693
  debugLogger3.warn(
652
- `Gate unavailable, falling back to DEFAULT mode: ${decision.reason}`
694
+ `Gate unavailable, requiring user approval in PLAN mode: ${decision.reason}`
653
695
  );
654
696
  return this.fallbackToUserDecision(plan);
655
697
  }
@@ -703,6 +745,81 @@ ${notes}` : "")
703
745
  };
704
746
  }
705
747
  }
748
+ async executePlanRequiredTeammate(plan, originalRequest, researchSummary, signal) {
749
+ if (this.config.getApprovalMode() !== "plan" /* PLAN */) {
750
+ return {
751
+ llmContent: "Not in plan mode \u2014 no action taken.",
752
+ returnDisplay: "Not in plan mode."
753
+ };
754
+ }
755
+ const teammate = getTeammateContext();
756
+ const manager = this.config.getTeamManager();
757
+ if (!teammate || !manager) {
758
+ const message = "Plan-required teammate approval is unavailable in this context.";
759
+ return {
760
+ llmContent: message,
761
+ returnDisplay: message,
762
+ error: { message }
763
+ };
764
+ }
765
+ let decision;
766
+ try {
767
+ decision = await manager.requestPlanApproval({
768
+ teammateName: teammate.agentName,
769
+ plan,
770
+ originalRequest,
771
+ researchSummary,
772
+ signal
773
+ });
774
+ } catch (error) {
775
+ const message = error instanceof Error ? error.message : String(error);
776
+ return {
777
+ llmContent: `Failed to request leader plan approval: ${message}`,
778
+ returnDisplay: `Leader plan approval failed: ${message}`,
779
+ error: { message }
780
+ };
781
+ }
782
+ if (decision.action === "reject") {
783
+ const feedback2 = decision.message ? `
784
+
785
+ Leader feedback:
786
+ ${decision.message}` : "";
787
+ const llmContent = "Leader rejected the plan. Revise the plan based on the feedback and call exit_plan_mode again." + feedback2;
788
+ return {
789
+ llmContent,
790
+ returnDisplay: this.buildRejectedGateDisplay(
791
+ "Leader rejected the plan.",
792
+ plan,
793
+ llmContent
794
+ )
795
+ };
796
+ }
797
+ const modeError = this.setApprovalModeSafely(decision.targetMode);
798
+ if (modeError) {
799
+ const message = `Leader approved the plan, but failed to switch this teammate to ${decision.targetMode}: ${modeError}`;
800
+ return {
801
+ llmContent: `${message}. Stay in plan mode and report this failure to the leader.`,
802
+ returnDisplay: message,
803
+ error: { message }
804
+ };
805
+ }
806
+ try {
807
+ this.config.savePlan(plan);
808
+ } catch (error) {
809
+ debugLogger3.warn(
810
+ `[ExitPlanModeTool] Failed to save plan to disk: ${error instanceof Error ? error.message : String(error)}`
811
+ );
812
+ }
813
+ const feedback = decision.message ? ` Leader note: ${decision.message}` : "";
814
+ return {
815
+ llmContent: `Leader approved.${feedback} You can now start coding. Start with updating your todo list if applicable.`,
816
+ returnDisplay: {
817
+ type: "plan_summary",
818
+ message: "Leader approved.",
819
+ plan
820
+ }
821
+ };
822
+ }
706
823
  approveAndRestore(plan, targetMode, context) {
707
824
  try {
708
825
  this.config.savePlan(plan);
@@ -724,13 +841,12 @@ ${notes}` : "")
724
841
  };
725
842
  }
726
843
  /**
727
- * Gate unavailable fallback — switch to DEFAULT mode so the next
728
- * action triggers a real user confirmation dialog. This breaks the
729
- * gate trap while forcing the model to present the plan for approval
730
- * rather than auto-executing in AUTO/YOLO.
844
+ * Gate unavailable fallback — fail closed by staying in PLAN mode and
845
+ * requiring explicit user approval before execution can proceed. The caller
846
+ * marks the gate as user_takeover first so the next exit_plan_mode call uses
847
+ * the normal confirmation dialog instead of re-running the automatic gate.
731
848
  */
732
849
  fallbackToUserDecision(plan) {
733
- this.setApprovalModeSafely("default" /* DEFAULT */);
734
850
  try {
735
851
  this.config.savePlan(plan);
736
852
  } catch (error) {
@@ -742,7 +858,7 @@ ${notes}` : "")
742
858
  llmContent: "Gate is unavailable and cannot review the plan. Ask the user whether to execute this plan or stay in plan mode to revise it.",
743
859
  returnDisplay: {
744
860
  type: "plan_summary",
745
- message: "Plan gate is unavailable. The plan has been saved \u2014 please confirm whether to execute it.",
861
+ message: "Plan gate is unavailable. The plan has been saved, and plan mode remains active until the user explicitly approves execution.",
746
862
  plan
747
863
  }
748
864
  };
@@ -1,5 +1,11 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
+ import {
4
+ RUNTIME_STARTUP_CANCELLED_MESSAGE
5
+ } from "./chunk-GHOTR7HL.js";
6
+ import {
7
+ getHeadlessYoloSafetyWarning
8
+ } from "./chunk-BJBWRCSK.js";
3
9
  import {
4
10
  normalizeServeFastPathArgv
5
11
  } from "./chunk-FXGLL2HL.js";
@@ -36,7 +42,9 @@ var NUMBER_OPTION_BY_FLAG = invertOptionMap(NUMBER_OPTIONS);
36
42
  var STRING_OPTION_BY_FLAG = /* @__PURE__ */ new Map([
37
43
  ["hostname", "hostname"],
38
44
  ["token", "token"],
39
- ["workspace", "workspace"]
45
+ ["workspace", "workspace"],
46
+ ["tls-cert", "tlsCert"],
47
+ ["tls-key", "tlsKey"]
40
48
  ]);
41
49
  var BOOLEAN_OPTION_BY_FLAG = /* @__PURE__ */ new Map([
42
50
  ["require-auth", "requireAuth"],
@@ -140,6 +148,9 @@ async function waitForServeRuntimeOrExit(handle) {
140
148
  try {
141
149
  await handle.runtimeReady;
142
150
  } catch (err) {
151
+ if (err instanceof Error && err.message === RUNTIME_STARTUP_CANCELLED_MESSAGE) {
152
+ return;
153
+ }
143
154
  writeStderrLine(
144
155
  `qwen serve: runtime startup failed after listener was ready: ${err instanceof Error ? err.message : String(err)}`
145
156
  );
@@ -181,7 +192,7 @@ async function bootstrapServeFastPathEnvironment(workspace) {
181
192
  loadServeFastPathEnvironment,
182
193
  loadServeFastPathSettings,
183
194
  preResolveServeFastPathHomeEnvOverrides
184
- } = await import("./fast-path-settings-OAGU3X5H.js");
195
+ } = await import("./fast-path-settings-UQLRFDQP.js");
185
196
  preResolveServeFastPathHomeEnvOverrides();
186
197
  const workspaceDir = workspace ?? process.cwd();
187
198
  const settings = loadServeFastPathSettings(workspaceDir);
@@ -289,19 +300,23 @@ function parseServeFastPathArgs(rawArgv, env = process.env) {
289
300
  __name(parseServeFastPathArgs, "parseServeFastPathArgs");
290
301
  async function maybeOpenWebShellBrowser(handle, open) {
291
302
  if (!open) return;
292
- const { maybeOpenWebShellBrowser: openBrowser } = await import("./serve-V6GVZR6U.js");
303
+ try {
304
+ await handle.runtimeReady;
305
+ } catch {
306
+ return;
307
+ }
308
+ const { maybeOpenWebShellBrowser: openBrowser } = await import("./serve-PXFYKL65.js");
293
309
  await openBrowser(handle, true);
294
310
  }
295
311
  __name(maybeOpenWebShellBrowser, "maybeOpenWebShellBrowser");
296
- async function emitHeadlessYoloWarning(settings) {
312
+ function emitHeadlessYoloWarning(settings) {
297
313
  if (!settings) return;
298
- try {
299
- const { HEADLESS_YOLO_NO_SANDBOX_WARNING } = await import("./headlessSafetyWarnings-TBE35GJ4.js");
300
- const suppress = process.env["QWEN_CODE_SUPPRESS_YOLO_WARNING"];
301
- if (settings.tools?.approvalMode === "yolo" && !settings.tools?.sandbox && !process.env["SANDBOX"] && !isTruthyEnv(suppress)) {
302
- writeStderrLine(HEADLESS_YOLO_NO_SANDBOX_WARNING);
303
- }
304
- } catch {
314
+ const warning = getHeadlessYoloSafetyWarning({
315
+ getApprovalMode: /* @__PURE__ */ __name(() => settings.tools?.approvalMode, "getApprovalMode"),
316
+ getSandbox: /* @__PURE__ */ __name(() => settings.tools?.sandbox, "getSandbox")
317
+ });
318
+ if (warning) {
319
+ writeStderrLine(warning);
305
320
  }
306
321
  }
307
322
  __name(emitHeadlessYoloWarning, "emitHeadlessYoloWarning");
@@ -352,14 +367,18 @@ async function tryRunServeFastPath(rawArgv = process.argv.slice(2)) {
352
367
  process.exit(1);
353
368
  }
354
369
  writeServeWarnings(parsed);
355
- const { runQwenServe } = await import("./run-qwen-serve-SGEEVMXD.js");
370
+ const { runQwenServe } = await import("./run-qwen-serve-FN2SW5ZI.js");
356
371
  let handle;
357
372
  try {
358
373
  handle = await runQwenServe(parsed.options, {
359
374
  ...settings ? { bootSettings: settings } : {},
360
- resolveOnListen: true
375
+ resolveOnListen: true,
376
+ deferRuntimeUntilFirstHealth: !parsed.open
361
377
  });
362
- void emitHeadlessYoloWarning(settings);
378
+ try {
379
+ emitHeadlessYoloWarning(settings);
380
+ } catch {
381
+ }
363
382
  await maybeOpenWebShellBrowser(handle, parsed.open);
364
383
  } catch (err) {
365
384
  writeStderrLine(
@@ -5,8 +5,8 @@ import {
5
5
  loadServeFastPathSettings,
6
6
  preResolveServeFastPathHomeEnvOverrides,
7
7
  resetServeFastPathHomeEnvBootstrapForTesting
8
- } from "./chunk-QI7GOGJR.js";
9
- import "./chunk-CF6BB3LT.js";
8
+ } from "./chunk-KKQWC6WS.js";
9
+ import "./chunk-PPFWEV7G.js";
10
10
  import "./chunk-QYUE6W3T.js";
11
11
  import "./chunk-SKAZWEV5.js";
12
12
  import "./chunk-A4BMJM77.js";
@@ -215,18 +215,18 @@ var fr_default = {
215
215
  "Open in editor": "Ouvrir dans l'\xE9diteur",
216
216
  "Edit tools": "Modifier les outils",
217
217
  "Edit color": "Modifier la couleur",
218
- "\u274C Error:": "\u274C Erreur :",
218
+ "\u2717 Error:": "\u2717 Erreur :",
219
219
  'Are you sure you want to delete agent "{{name}}"?': `\xCAtes-vous s\xFBr de vouloir supprimer l'agent "{{name}}" ?`,
220
220
  // ============================================================================
221
221
  // Agents - Assistant de création
222
222
  // ============================================================================
223
223
  "Project Level (.qwen/agents/)": "Niveau projet (.qwen/agents/)",
224
224
  "User Level (~/.qwen/agents/)": "Niveau utilisateur (~/.qwen/agents/)",
225
- "\u2705 Subagent Created Successfully!": "\u2705 Sous-agent cr\xE9\xE9 avec succ\xE8s !",
225
+ "\u2713 Subagent Created Successfully!": "\u2713 Sous-agent cr\xE9\xE9 avec succ\xE8s !",
226
226
  'Subagent "{{name}}" has been saved to {{level}} level.': 'Le sous-agent "{{name}}" a \xE9t\xE9 enregistr\xE9 au niveau {{level}}.',
227
227
  "Name: ": "Nom : ",
228
228
  "Location: ": "Emplacement : ",
229
- "\u274C Error saving subagent:": "\u274C Erreur lors de la sauvegarde du sous-agent :",
229
+ "\u2717 Error saving subagent:": "\u2717 Erreur lors de la sauvegarde du sous-agent :",
230
230
  "Warnings:": "Avertissements :",
231
231
  'Name "{{name}}" already exists at {{level}} level - will overwrite existing subagent': 'Le nom "{{name}}" existe d\xE9j\xE0 au niveau {{level}} - le sous-agent existant sera \xE9cras\xE9',
232
232
  'Name "{{name}}" exists at user level - project level will take precedence': 'Le nom "{{name}}" existe au niveau utilisateur - le niveau projet aura la priorit\xE9',
@@ -881,8 +881,8 @@ var fr_default = {
881
881
  "Choose how to proceed with your session:": "Choisissez comment poursuivre votre session :",
882
882
  "Start new chat session": "D\xE9marrer une nouvelle session de chat",
883
883
  "Continue previous conversation": "Continuer la conversation pr\xE9c\xE9dente",
884
- "\u{1F44B} Welcome back! (Last updated: {{timeAgo}})": "\u{1F44B} Bon retour ! (Derni\xE8re mise \xE0 jour : {{timeAgo}})",
885
- "\u{1F3AF} Overall Goal:": "\u{1F3AF} Objectif global :",
884
+ "Welcome back! (Last updated: {{timeAgo}})": "Bon retour ! (Derni\xE8re mise \xE0 jour : {{timeAgo}})",
885
+ "Overall Goal:": "Objectif global :",
886
886
  "Connect a Provider": "Connecter un fournisseur",
887
887
  "You must connect a provider to proceed. Press Ctrl+C again to exit.": "Vous devez connecter un fournisseur pour continuer. Appuyez \xE0 nouveau sur Ctrl+C pour quitter.",
888
888
  "Terms of Services and Privacy Notice": "Conditions d'utilisation et avis de confidentialit\xE9",
@@ -1007,7 +1007,7 @@ var fr_default = {
1007
1007
  // Statut MCP
1008
1008
  // ============================================================================
1009
1009
  "No MCP servers configured.": "Aucun MCP servers configur\xE9.",
1010
- "\u23F3 MCP servers are starting up ({{count}} initializing)...": "\u23F3 Les MCP servers d\xE9marrent ({{count}} en initialisation)...",
1010
+ "\u25CC MCP servers are starting up ({{count}} initializing)...": "\u25CC Les MCP servers d\xE9marrent ({{count}} en initialisation)...",
1011
1011
  "Note: First startup may take longer. Tool availability will update automatically.": "Remarque : Le premier d\xE9marrage peut prendre plus de temps. La disponibilit\xE9 des outils se mettra \xE0 jour automatiquement.",
1012
1012
  "Configured MCP servers:": "MCP servers configur\xE9s :",
1013
1013
  Ready: "Pr\xEAt",
@@ -1028,7 +1028,7 @@ var fr_default = {
1028
1028
  "Prompts:": "Invites :",
1029
1029
  "Resources:": "Ressources :",
1030
1030
  Blocked: "Bloqu\xE9",
1031
- "\u{1F4A1} Tips:": "\u{1F4A1} Conseils :",
1031
+ "\u2605 Tips:": "\u2605 Conseils :",
1032
1032
  Use: "Utilisez",
1033
1033
  "to show server and tool descriptions": "pour afficher les descriptions des serveurs et des outils",
1034
1034
  "to show tool parameter schemas": "pour afficher les tool parameter schemas",
@@ -1392,7 +1392,7 @@ var fr_default = {
1392
1392
  "Enter your Coding Plan API key: ": "Entrez votre Coding Plan API Key : ",
1393
1393
  "Select authentication method:": "S\xE9lectionner la m\xE9thode d'authentification :",
1394
1394
  "\n=== Authentication Status ===\n": "\n=== Statut d'authentification ===\n",
1395
- "\u26A0\uFE0F No authentication method configured.\n": "\u26A0\uFE0F Aucune m\xE9thode d'authentification configur\xE9e.\n",
1395
+ "\u26A0 No authentication method configured.\n": "\u26A0 Aucune m\xE9thode d'authentification configur\xE9e.\n",
1396
1396
  "Run one of the following commands to get started:\n": "Ex\xE9cutez l'une des commandes suivantes pour commencer :\n",
1397
1397
  " qwen auth qwen-oauth - Authenticate with Qwen OAuth (discontinued)": " qwen auth qwen-oauth - Authentification avec Qwen OAuth (abandonn\xE9)",
1398
1398
  "Or simply run:": "Ou simplement ex\xE9cutez :",
@@ -1408,7 +1408,7 @@ var fr_default = {
1408
1408
  " Current Model: {{model}}": " Mod\xE8le actuel : {{model}}",
1409
1409
  " Config Version: {{version}}": " Version de config : {{version}}",
1410
1410
  " Status: API key configured\n": " Statut : API Key configur\xE9e\n",
1411
- "\u26A0\uFE0F Authentication Method: Alibaba Cloud Coding Plan (Incomplete)": "\u26A0\uFE0F M\xE9thode d'authentification : Alibaba Cloud Coding Plan (Incompl\xE8te)",
1411
+ "\u26A0 Authentication Method: Alibaba Cloud Coding Plan (Incomplete)": "\u26A0 M\xE9thode d'authentification : Alibaba Cloud Coding Plan (Incompl\xE8te)",
1412
1412
  " Issue: API key not found in environment or settings\n": " Probl\xE8me : API Key introuvable dans l'environnement ou les param\xE8tres\n",
1413
1413
  " Run `qwen auth coding-plan` to re-configure.\n": " Ex\xE9cutez `qwen auth coding-plan` pour reconfigurer.\n",
1414
1414
  "\u2713 Authentication Method: {{type}}": "\u2713 M\xE9thode d'authentification : {{type}}",
@@ -1420,6 +1420,7 @@ var fr_default = {
1420
1420
  "Hide tool output and thinking for a cleaner view (toggle with Ctrl+O).": "Masquer la sortie des outils et la r\xE9flexion pour une vue plus nette (basculer avec Ctrl+O).",
1421
1421
  "Press Ctrl+O to show full tool output": "Appuyez sur Ctrl+O pour afficher la sortie compl\xE8te des outils",
1422
1422
  "Switch to plan mode or exit plan mode": "Passer en mode plan ou quitter le mode plan",
1423
+ "Set how hard reasoning-capable models think ({{tiers}}); mapped and clamped per provider.": "D\xE9finit l'intensit\xE9 de r\xE9flexion des mod\xE8les compatibles avec le raisonnement ({{tiers}}) ; mapp\xE9e et limit\xE9e selon le fournisseur.",
1423
1424
  "Exited plan mode. Previous approval mode restored.": "Mode plan quitt\xE9. Mode d'approbation pr\xE9c\xE9dent restaur\xE9.",
1424
1425
  "Enabled plan mode. The agent will analyze and plan without executing tools.": "Mode plan activ\xE9. L'agent analysera et planifiera sans ex\xE9cuter d'outils.",
1425
1426
  'Already in plan mode. Use "/plan exit" to exit plan mode.': 'D\xE9j\xE0 en mode plan. Utilisez "/plan exit" pour quitter le mode plan.',