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

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 (453) hide show
  1. package/bundled/new-app/SKILL.md +1 -1
  2. package/bundled/qc-helper/docs/configuration/auth.md +84 -12
  3. package/bundled/qc-helper/docs/configuration/settings.md +76 -74
  4. package/bundled/qc-helper/docs/features/arena.md +15 -20
  5. package/bundled/qc-helper/docs/features/channels/overview.md +7 -2
  6. package/bundled/qc-helper/docs/features/code-review.md +22 -19
  7. package/bundled/qc-helper/docs/features/commands.md +51 -10
  8. package/bundled/qc-helper/docs/features/followup-suggestions.md +1 -1
  9. package/bundled/qc-helper/docs/features/goals.md +8 -0
  10. package/bundled/qc-helper/docs/features/headless.md +2 -2
  11. package/bundled/qc-helper/docs/features/hooks.md +19 -19
  12. package/bundled/qc-helper/docs/features/output-styles.md +35 -2
  13. package/bundled/qc-helper/docs/qwen-serve.md +67 -52
  14. package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +3 -1
  15. package/bundled/qc-helper/docs/support/troubleshooting.md +3 -3
  16. package/bundled/review/SKILL.md +45 -41
  17. package/bundled/review/references/aone.md +1 -1
  18. package/bundled/review/references/posting.md +1 -1
  19. package/bundled/workflow-creator/SKILL.md +48 -0
  20. package/bundled/zvec-grep-install/SKILL.md +57 -0
  21. package/chunks/MaxSizedBox-5ARLO5PR.js +116 -0
  22. package/chunks/{StandaloneSessionPicker-QUMO4LLQ.js → StandaloneSessionPicker-T6B322CB.js} +87 -82
  23. package/chunks/{acp-startup-profiler-M4X5F3VK.js → acp-startup-profiler-6ULXXQMS.js} +2 -2
  24. package/chunks/{acpAgent-2GTFCIEP.js → acpAgent-WTDEY5KD.js} +1041 -364
  25. package/chunks/{agent-XKF5SZWU.js → agent-NXPUXEVZ.js} +46 -43
  26. package/chunks/agent-headless-QQZTWOKO.js +88 -0
  27. package/chunks/{anthropicContentGenerator-L76MR5OR.js → anthropicContentGenerator-6XDHXIII.js} +16 -9
  28. package/chunks/{artifact-tool-MYCL2QCS.js → artifact-tool-DFVVJXL2.js} +3 -3
  29. package/chunks/askUserQuestion-GF7VQ44M.js +14 -0
  30. package/chunks/bridge-OHY5OGOZ.js +123 -0
  31. package/chunks/{ca-BNU7YNDE.js → ca-KC2AISNS.js} +1 -0
  32. package/chunks/{channel-management-service-4MTCEGJB.js → channel-management-service-ZDDG3G5S.js} +4 -4
  33. package/chunks/channel-settings-store-7BJAS2SU.js +126 -0
  34. package/chunks/{channel-worker-group-47F4ISUZ.js → channel-worker-group-2ISMRENV.js} +6 -6
  35. package/chunks/{channel-worker-manager-I5Y44GYR.js → channel-worker-manager-VSRPVPRH.js} +6 -6
  36. package/chunks/{channel-worker-supervisor-6VCLUXFE.js → channel-worker-supervisor-SRJBK72Z.js} +4 -4
  37. package/chunks/{chunk-5RTTI4GE.js → chunk-2RYWGYB3.js} +4 -3
  38. package/chunks/{chunk-FUO5V5KI.js → chunk-2UWQX4FP.js} +2 -2
  39. package/chunks/{chunk-L26ONV2Y.js → chunk-2WGJG2KW.js} +9 -8
  40. package/chunks/{chunk-JHN7UIDW.js → chunk-2XRE4KE4.js} +1 -1
  41. package/chunks/chunk-32CM56LO.js +20 -0
  42. package/chunks/{chunk-SI7WDR3U.js → chunk-32YDNYXP.js} +129 -14
  43. package/chunks/{chunk-ZHO2CW6D.js → chunk-3CZ2BQV6.js} +1 -1
  44. package/chunks/{chunk-FD5SJOWT.js → chunk-3K456UJF.js} +9 -4
  45. package/chunks/{chunk-5M6IDOMF.js → chunk-3K65MUKD.js} +105 -0
  46. package/chunks/chunk-3UMWOKJC.js +78 -0
  47. package/chunks/{chunk-UM2FFKXN.js → chunk-43JNQAHO.js} +3 -3
  48. package/chunks/{chunk-KM3XVTMO.js → chunk-43NOB5NM.js} +112 -12
  49. package/chunks/{chunk-G5PBOQWI.js → chunk-47BZVBTE.js} +3 -3
  50. package/chunks/{chunk-32LU3APX.js → chunk-4F2QRVW6.js} +1 -1
  51. package/chunks/{chunk-KMU3ZHH4.js → chunk-4HC4DYKN.js} +2 -2
  52. package/chunks/{chunk-22UH7VTP.js → chunk-4HOEU2OR.js} +1 -1
  53. package/chunks/{chunk-NXKOVOM5.js → chunk-4IQKBLTQ.js} +15 -9
  54. package/chunks/{chunk-M4KFODIP.js → chunk-4JAGXZR3.js} +1 -1
  55. package/chunks/{chunk-PDAKFU7M.js → chunk-4LIPOIXS.js} +1 -1
  56. package/chunks/{chunk-LEPCWS5A.js → chunk-4MCY33Y2.js} +3 -3
  57. package/chunks/{chunk-U6D2PPMN.js → chunk-4VUVBN3Y.js} +1 -1
  58. package/chunks/{chunk-37JFWFCD.js → chunk-4VZCORNT.js} +1 -1
  59. package/chunks/{daemon-RKDGBFLK.js → chunk-537SQ2AI.js} +2216 -1721
  60. package/chunks/{chunk-VNAYZAFX.js → chunk-54TF2ZIQ.js} +4 -4
  61. package/chunks/{chunk-OKTNXDVO.js → chunk-565U2ANU.js} +1 -1
  62. package/chunks/chunk-5ETULJLP.js +74 -0
  63. package/chunks/{chunk-ADYN7P2Y.js → chunk-5JLQWQK6.js} +8 -6
  64. package/chunks/{chunk-BFY33IB4.js → chunk-5MTARK4Y.js} +7 -7
  65. package/chunks/{chunk-BJXCYUGM.js → chunk-5YY5MZT6.js} +1 -1
  66. package/chunks/{chunk-4PSDSCW3.js → chunk-64MQTIX7.js} +3 -3
  67. package/chunks/{chunk-54C6PIGT.js → chunk-6UIACMGH.js} +3 -3
  68. package/chunks/{chunk-ALUYNJPM.js → chunk-7BZS4ZDV.js} +1362 -1140
  69. package/chunks/{chunk-LB3WQQJK.js → chunk-7OCIQNKX.js} +2 -2
  70. package/chunks/{chunk-QKDNS6FU.js → chunk-7VEYUF3N.js} +13 -2
  71. package/chunks/{chunk-AZJLY2XZ.js → chunk-AHBLRVD5.js} +5 -5
  72. package/chunks/{chunk-VWTSRH6C.js → chunk-AQ5NAGWI.js} +89 -17
  73. package/chunks/{chunk-MOF6VZN2.js → chunk-AXPOOQAW.js} +2 -2
  74. package/chunks/{chunk-CVX63TFJ.js → chunk-B44JBZBB.js} +3 -3
  75. package/chunks/{chunk-AI35S34R.js → chunk-B54PFQS5.js} +3 -3
  76. package/chunks/{chunk-373DQUVA.js → chunk-BF3RUIVP.js} +5 -4
  77. package/chunks/{chunk-RJUVTJEZ.js → chunk-BKNY7PDI.js} +1 -1
  78. package/chunks/{chunk-UKYXYWI2.js → chunk-BUQN5LTI.js} +2 -2
  79. package/chunks/{chunk-O5CD7T4T.js → chunk-BW4333PP.js} +0 -95
  80. package/chunks/{chunk-UPFRILIL.js → chunk-CWNC7M73.js} +2 -2
  81. package/chunks/{chunk-3L724BJ5.js → chunk-CZACBHAW.js} +6 -6
  82. package/chunks/{chunk-EBDGRBZX.js → chunk-D4CU6DKR.js} +6 -6
  83. package/chunks/{chunk-G7HBEEX7.js → chunk-D6PIMKY3.js} +9 -9
  84. package/chunks/{chunk-ENYUKMFK.js → chunk-DJXSOEFB.js} +1 -1
  85. package/chunks/{chunk-C2VWOXHS.js → chunk-DNPHKA72.js} +8 -8
  86. package/chunks/{chunk-UUASLXHW.js → chunk-E4L5BM2B.js} +5 -5
  87. package/chunks/{chunk-HT5S5TRQ.js → chunk-EDIDYZBT.js} +4 -11
  88. package/chunks/{chunk-5H5S4UY5.js → chunk-EFT7OMDN.js} +1 -1
  89. package/chunks/{chunk-GB4UKWY5.js → chunk-EJNYBDYC.js} +2 -2
  90. package/chunks/{chunk-NQ4L2CMD.js → chunk-ER273QE6.js} +53 -9
  91. package/chunks/{chunk-RKW36UWC.js → chunk-EWNKP4V4.js} +1 -1
  92. package/chunks/{chunk-UJ4DUYIH.js → chunk-F53KKZUD.js} +2 -2
  93. package/chunks/{chunk-EFTPIZIC.js → chunk-FDOGGKAA.js} +21 -0
  94. package/chunks/{chunk-AQ37AY7B.js → chunk-FKJM6JKY.js} +5 -0
  95. package/chunks/{chunk-KEVYJSI4.js → chunk-G34YLYCS.js} +13 -13
  96. package/chunks/{chunk-P6UIF2OW.js → chunk-GCFZ2LAX.js} +195 -10
  97. package/chunks/{chunk-VGHZT6JR.js → chunk-GELRJXE2.js} +1 -1
  98. package/chunks/{chunk-ZDFQGHZH.js → chunk-GMNLYQOS.js} +1 -1
  99. package/chunks/{chunk-KOGW3YWJ.js → chunk-GVVCLL2P.js} +12 -12
  100. package/chunks/{chunk-OSSTATJF.js → chunk-GXZHYPHZ.js} +428 -30
  101. package/chunks/{chunk-IPATA3T2.js → chunk-GZWW2QWR.js} +2 -2
  102. package/chunks/{chunk-C4TIXFDZ.js → chunk-H3UDNQLO.js} +6 -4
  103. package/chunks/chunk-HD7O6WLV.js +18 -0
  104. package/chunks/{chunk-4UANMABT.js → chunk-HFTB354P.js} +259 -49
  105. package/chunks/{chunk-LOBDDFYK.js → chunk-HJ34U5J4.js} +5 -5
  106. package/chunks/{chunk-M4LBBSVP.js → chunk-HY3DXYZK.js} +2 -2
  107. package/chunks/{chunk-4F7GQGXB.js → chunk-I72PHOKL.js} +1451 -415
  108. package/chunks/{chunk-YPWZTR7F.js → chunk-IFD3BTEA.js} +3 -3
  109. package/chunks/{chunk-EWRW2WQC.js → chunk-IKLFS6SC.js} +5 -5
  110. package/chunks/{chunk-VPSIC437.js → chunk-IQN2CCIE.js} +66 -6
  111. package/chunks/{chunk-F7NF2IOE.js → chunk-IXSGOSEG.js} +7 -7
  112. package/chunks/{chunk-ODZF64DM.js → chunk-IZ2U57NY.js} +1 -1
  113. package/chunks/{chunk-4BGDFKQE.js → chunk-J3O5I5ZD.js} +24 -7
  114. package/chunks/{chunk-DYTW3QVG.js → chunk-J6MB5ZHZ.js} +1 -1
  115. package/chunks/{chunk-HJBHMANB.js → chunk-JBTZUFR4.js} +11 -8
  116. package/chunks/{chunk-SRF4KTAG.js → chunk-JLWFGYXU.js} +4 -4
  117. package/chunks/{chunk-SX2QIMJV.js → chunk-JOPC3FND.js} +5 -5
  118. package/chunks/chunk-JPEAQJNS.js +2142 -0
  119. package/chunks/{chunk-ZTPGUFQV.js → chunk-JRYL3T2O.js} +24 -5
  120. package/chunks/{chunk-GXUTFQXK.js → chunk-KE3Q4JMY.js} +4 -4
  121. package/chunks/{chunk-LKODFJRD.js → chunk-KFFCDLKV.js} +1 -1
  122. package/chunks/{chunk-4M24B5J5.js → chunk-KJJPJYHI.js} +79 -30
  123. package/chunks/chunk-KK2GZGBK.js +21080 -0
  124. package/chunks/{chunk-64QH2UC6.js → chunk-KPXRFTT7.js} +12 -1
  125. package/chunks/{chunk-JZWOCUZ3.js → chunk-L4R7BCVV.js} +1 -1
  126. package/chunks/{chunk-IG4W5SJR.js → chunk-LDS57224.js} +3 -3
  127. package/chunks/{chunk-UAKRDON5.js → chunk-LK7S2D6V.js} +4 -4
  128. package/chunks/{chunk-4HVH57J3.js → chunk-LMJQSPWB.js} +21 -6
  129. package/chunks/{chunk-ANVG3BVV.js → chunk-LNYV4GXX.js} +13 -3
  130. package/chunks/{chunk-RM4WT2XB.js → chunk-LPBQODMR.js} +4 -4
  131. package/chunks/{chunk-XEAAO654.js → chunk-M3JGHRMQ.js} +1 -1
  132. package/chunks/{chunk-AMDSOFFV.js → chunk-MATEIJZF.js} +1 -0
  133. package/chunks/{chunk-LHBNR6EU.js → chunk-MNEYUNOE.js} +2 -2
  134. package/chunks/{chunk-I4NRYS6A.js → chunk-MUZCSTOO.js} +11 -11
  135. package/chunks/{chunk-I5N4EAS6.js → chunk-MWHY26G3.js} +1 -1
  136. package/chunks/{chunk-7XL4WRXM.js → chunk-N6VQ37ZZ.js} +2 -2
  137. package/chunks/{chunk-AHYTURFB.js → chunk-N7EYO2E7.js} +1 -1
  138. package/chunks/{chunk-LU77UT4D.js → chunk-N7VURC4O.js} +24 -26
  139. package/chunks/{chunk-DSX7KQPM.js → chunk-NAKALAL4.js} +227 -29
  140. package/chunks/{chunk-QQD2GART.js → chunk-NGX4NUNP.js} +3 -3
  141. package/chunks/{chunk-2M3EWQNG.js → chunk-NUQFUXOG.js} +17 -1
  142. package/chunks/{chunk-E4JNFXNI.js → chunk-NXWYCSPL.js} +3 -3
  143. package/chunks/{chunk-6A2D4QSO.js → chunk-O2GG7H4C.js} +4 -4
  144. package/chunks/{chunk-ZKFTS3OV.js → chunk-O45WBTNS.js} +6 -6
  145. package/chunks/{chunk-KGV55H53.js → chunk-OECNP26L.js} +1 -1
  146. package/chunks/{chunk-S6H3ELPG.js → chunk-P4RUUG64.js} +1 -1
  147. package/chunks/{chunk-GH2S4GD5.js → chunk-P5LDR7FI.js} +21 -68
  148. package/chunks/{chunk-RN3YGDCA.js → chunk-P6LATTDG.js} +4 -4
  149. package/chunks/{chunk-WP4AX3XD.js → chunk-PTFFWTTO.js} +3 -3
  150. package/chunks/{chunk-DTVQSSNM.js → chunk-PZUOHCWI.js} +3 -3
  151. package/chunks/{chunk-VYIUNFEA.js → chunk-PZV2FASB.js} +3 -3
  152. package/chunks/{chunk-XLXAZLDR.js → chunk-Q2SAQTEJ.js} +1 -1
  153. package/chunks/{chunk-47RYEQW5.js → chunk-QMFOYPGV.js} +2 -2
  154. package/chunks/{chunk-SULZPKTA.js → chunk-QSC5YOEC.js} +3 -3
  155. package/chunks/{chunk-F33GFWPR.js → chunk-QWZOOIR3.js} +58 -18
  156. package/chunks/{chunk-H43PSPYS.js → chunk-R355CUNQ.js} +4 -4
  157. package/chunks/{chunk-DQCKVAF5.js → chunk-RDKXZ2LS.js} +3 -3
  158. package/chunks/{chunk-7JMGTOH7.js → chunk-RPBMP6BN.js} +21 -1
  159. package/chunks/{chunk-5Q5RC2WE.js → chunk-RVNS7NWN.js} +2 -2
  160. package/chunks/{chunk-7RB56BRJ.js → chunk-SAZS4IWW.js} +6 -4
  161. package/chunks/{chunk-5EIOJGCR.js → chunk-SFMCYMVF.js} +4 -4
  162. package/chunks/{chunk-TMKTOTMQ.js → chunk-SN5FV4FY.js} +5 -5
  163. package/chunks/{chunk-QJGYU5PG.js → chunk-TDP7UULF.js} +1 -1
  164. package/chunks/{chunk-EIJT2PQ6.js → chunk-TIGXX4PA.js} +2 -2
  165. package/chunks/{chunk-PCRBLMIN.js → chunk-TMWB67LS.js} +21 -3
  166. package/chunks/{chunk-JUARRUMA.js → chunk-UEZOXZNI.js} +1358 -646
  167. package/chunks/{chunk-KFN2IZYR.js → chunk-UKADFFL2.js} +3 -3
  168. package/chunks/{chunk-TJYRTS4S.js → chunk-UKKYOIVT.js} +2 -2
  169. package/chunks/{chunk-EVFDRBUM.js → chunk-URSCX7S7.js} +12 -7
  170. package/chunks/{chunk-U4DJ5XB3.js → chunk-VDXYYVCD.js} +269 -70
  171. package/chunks/{chunk-4LIFGNI4.js → chunk-VEFRT7NX.js} +1 -1
  172. package/chunks/chunk-VFFQAOPR.js +18 -0
  173. package/chunks/{chunk-3AKCBZVW.js → chunk-VU7O7CGQ.js} +3 -3
  174. package/chunks/{chunk-RAFQIHN2.js → chunk-VUSSAGKI.js} +76 -5
  175. package/chunks/{chunk-TQHPVKO6.js → chunk-VY6UVU7G.js} +6 -6
  176. package/chunks/{chunk-S2T7H5MI.js → chunk-W4LL5RZO.js} +1 -1
  177. package/chunks/{chunk-ZGCKTAL5.js → chunk-WEXA2DNG.js} +2 -0
  178. package/chunks/{chunk-NVVJTUSL.js → chunk-WR3SH3EY.js} +136 -85
  179. package/chunks/{chunk-JR42V4UY.js → chunk-WTW36TJ3.js} +1 -1
  180. package/chunks/{chunk-TSZSGQ3N.js → chunk-WXC6OAWD.js} +1 -1
  181. package/chunks/{chunk-ZVP4PWBU.js → chunk-X35VIWWJ.js} +1 -1
  182. package/chunks/{chunk-KHP66DFN.js → chunk-XFFRI3WM.js} +1 -1
  183. package/chunks/{chunk-EIY7SUPZ.js → chunk-XHGGYCTA.js} +1 -1
  184. package/chunks/{chunk-BA4WJC4L.js → chunk-XOVVCGZX.js} +1 -1
  185. package/chunks/{chunk-VBWD6C27.js → chunk-XUSOYE2I.js} +1 -1
  186. package/chunks/{chunk-NUHOLAQ6.js → chunk-XWJFDJZK.js} +1 -1
  187. package/chunks/{chunk-65HWLGA7.js → chunk-XY3USGFE.js} +3 -3
  188. package/chunks/{chunk-STCVJXQB.js → chunk-Y3ZKI4RQ.js} +56 -26
  189. package/chunks/{chunk-QAK5475D.js → chunk-Y53DG2HA.js} +1 -1
  190. package/chunks/{chunk-3JQZVCBI.js → chunk-YCDL2SAS.js} +2 -2
  191. package/chunks/{chunk-NSUKQ4DN.js → chunk-YHDGABDC.js} +3 -3
  192. package/chunks/{chunk-FRICLXCZ.js → chunk-Z6WZPXQH.js} +3 -3
  193. package/chunks/{chunk-EAHOJF6V.js → chunk-ZAFYHRVY.js} +12 -0
  194. package/chunks/{chunk-MP6YZ4RK.js → chunk-ZAZ3NFL6.js} +852 -309
  195. package/chunks/{chunk-7TBU7PU2.js → chunk-ZSTCM3MX.js} +1 -1
  196. package/chunks/{chunk-NRL5CUZT.js → chunk-ZTAVGFKA.js} +1 -1
  197. package/chunks/config-utils-QXDOTXEQ.js +119 -0
  198. package/chunks/contextCommand-RN4KARWC.js +112 -0
  199. package/chunks/{core-runtime-B4UKKIAQ.js → core-runtime-NAZCOKHB.js} +63 -58
  200. package/chunks/{create-sub-session-NJ24B4US.js → create-sub-session-BCSM4WKB.js} +61 -56
  201. package/chunks/{create-sub-session-LUPWEUHR.js → create-sub-session-BQ3SE4TX.js} +3 -3
  202. package/chunks/{cron-create-CRSPET3H.js → cron-create-D6HQ7I7I.js} +4 -4
  203. package/chunks/{cron-delete-DB77SZTU.js → cron-delete-KK3D2SQV.js} +4 -4
  204. package/chunks/{cron-list-U2JNYWV6.js → cron-list-VBF3IZMF.js} +4 -4
  205. package/chunks/daemon-LCUELM6E.js +191 -0
  206. package/chunks/{daemon-git-worktree-guard-O2HPOBAB.js → daemon-git-worktree-guard-3K5CAU36.js} +62 -57
  207. package/chunks/daemon-status-provider-4X3ZZQTZ.js +122 -0
  208. package/chunks/daemon-trust-policy-R45CFUJA.js +118 -0
  209. package/chunks/{daemon-trust-policy-monitor-JL7F4Y4Q.js → daemon-trust-policy-monitor-DSSFCO3K.js} +69 -64
  210. package/chunks/{de-T4BLOKEC.js → de-UU2YTO37.js} +1 -0
  211. package/chunks/deferred-core-runtime-UO2M6WYI.js +120 -0
  212. package/chunks/{display-image-73C7XNRK.js → display-image-EVVTBVYE.js} +6 -6
  213. package/chunks/{dist-EDHQIBYD.js → dist-3T5MDUHP.js} +62 -20
  214. package/chunks/{dist-ZCJLKQSP.js → dist-AFH3BMZZ.js} +18 -10
  215. package/chunks/{dist-LXFYIJNG.js → dist-MK5PPBRF.js} +40 -9
  216. package/chunks/{dist-GT64AAUR.js → dist-PH5RSTEA.js} +56 -20
  217. package/chunks/{dist-62OZ7QXB.js → dist-QUU7TVE3.js} +35 -12
  218. package/chunks/{dist-JVXT4VUJ.js → dist-R5Y34V6T.js} +11 -2
  219. package/chunks/{dist-L6URO6CK.js → dist-SB2XRXZA.js} +5 -1
  220. package/chunks/{dist-QAF5DO3Y.js → dist-SIHF5MU2.js} +326 -131
  221. package/chunks/{dist-PDGNRVPY.js → dist-UVHW2U56.js} +20 -1
  222. package/chunks/earlyInputCapture-BXP7V2P3.js +22 -0
  223. package/chunks/{edit-SUGXY63Y.js → edit-VNBCTRWP.js} +48 -44
  224. package/chunks/{en-2RATMNX7.js → en-JMR535HP.js} +3 -1
  225. package/chunks/{enter-worktree-B6USKSIK.js → enter-worktree-CEVK7MQ2.js} +7 -7
  226. package/chunks/{enterPlanMode-MDX4RVVL.js → enterPlanMode-4KMZMUIA.js} +48 -45
  227. package/chunks/environment-S2HYQDON.js +135 -0
  228. package/chunks/errors-DAAN5TL7.js +119 -0
  229. package/chunks/{exit-worktree-DLQ73SJH.js → exit-worktree-D3YE6MUN.js} +7 -7
  230. package/chunks/exitPlanMode-HR36HG3D.js +86 -0
  231. package/chunks/{fast-path-Y73R42LV.js → fast-path-4IWSW3UV.js} +3 -3
  232. package/chunks/{fast-path-settings-MFUR3IWK.js → fast-path-settings-ISEJPRYE.js} +6 -4
  233. package/chunks/{fr-BGHGYX6A.js → fr-HKNWVXRJ.js} +1 -0
  234. package/chunks/{glob-DMGH7EZN.js → glob-IZYB2XH2.js} +46 -43
  235. package/chunks/{goal-tools-3RF3PXCL.js → goal-tools-VGUPKQDJ.js} +46 -43
  236. package/chunks/{grep-AJVLCVXC.js → grep-OUVLNXG7.js} +9 -8
  237. package/chunks/handleAutoUpdate-D56FMDTW.js +115 -0
  238. package/chunks/i18n-BKE5WO6T.js +130 -0
  239. package/chunks/{image-gen-VOIDOHOB.js → image-gen-SHVQ3XID.js} +8 -8
  240. package/chunks/initializer-MS4SGEHF.js +119 -0
  241. package/chunks/installationInfo-542MGC4S.js +113 -0
  242. package/chunks/{ja-G3FTD5XE.js → ja-GJS5RZGU.js} +1 -0
  243. package/chunks/{keychain-token-storage-REZVMJA6.js → keychain-token-storage-NQ5XWIPX.js} +2 -2
  244. package/chunks/list-H6XTKUWL.js +122 -0
  245. package/chunks/{list-agents-SBMONIUK.js → list-agents-ULYBGJXC.js} +6 -6
  246. package/chunks/{llm-K26SUDVK.js → llm-3NUC4EJY.js} +132 -113
  247. package/chunks/{llm-content-generator-TT6EAUD4.js → llm-content-generator-R4NL3OQN.js} +40 -13
  248. package/chunks/loadedSettingsAdapter-3XLKYDVT.js +116 -0
  249. package/chunks/{loggingContentGenerator-EYQBA4M4.js → loggingContentGenerator-ZYSWVNEO.js} +55 -52
  250. package/chunks/{loop-wakeup-QA6SHCZT.js → loop-wakeup-B27BEYRL.js} +5 -5
  251. package/chunks/{lowlight-J2OZNPCA.js → lowlight-BTE423KL.js} +3 -6
  252. package/chunks/{ls-HEJNCEYO.js → ls-3IIMMVKF.js} +5 -4
  253. package/chunks/{lsp-WOQKNZP6.js → lsp-VJAT7XKS.js} +2 -2
  254. package/chunks/{managed-npm-update-HIJTODQT.js → managed-npm-update-L2I53ZAI.js} +62 -57
  255. package/chunks/mcp-4PIXQASW.js +116 -0
  256. package/chunks/{monitor-DKNZQAB2.js → monitor-O2YQTOZZ.js} +50 -46
  257. package/chunks/{node-UETAYMMO.js → node-ISQAFKIS.js} +2 -2
  258. package/chunks/nonInteractiveCli-LV7CDBA2.js +198 -0
  259. package/chunks/{notebook-edit-MGHTRL2D.js → notebook-edit-4RE2ALH4.js} +48 -44
  260. package/chunks/{openaiContentGenerator-ZJIEQ3ZJ.js → openaiContentGenerator-7ND7K5CP.js} +30 -25
  261. package/chunks/pidfile-UFTLQ7NP.js +117 -0
  262. package/chunks/{processUtils-UY3SAJJZ.js → processUtils-3XBB4FYV.js} +2 -2
  263. package/chunks/prompt-terminal-ledger-2QASOGMM.js +111 -0
  264. package/chunks/{pt-D73IFYT7.js → pt-FXMYXEUV.js} +1 -0
  265. package/chunks/{qwenContentGenerator-VI4KATRY.js → qwenContentGenerator-AELTUTH6.js} +52 -49
  266. package/chunks/{qwenOAuth2-7AOCKSOQ.js → qwenOAuth2-BS5D2LYV.js} +7 -7
  267. package/chunks/{read-file-P7F4P7LV.js → read-file-PDWHZPHX.js} +13 -11
  268. package/chunks/{read-mcp-resource-GLAGB6R7.js → read-mcp-resource-YXJZ75UB.js} +2 -2
  269. package/chunks/{record-artifact-SWVR7NSU.js → record-artifact-WJDOV6XU.js} +4 -4
  270. package/chunks/{report-findings-AL5YW3KI.js → report-findings-Q4UACKWR.js} +5 -5
  271. package/chunks/{request-shutdown-5YK4IZ54.js → request-shutdown-2YZ3E3GH.js} +8 -8
  272. package/chunks/resumeHistoryUtils-QRXZEEBA.js +124 -0
  273. package/chunks/ripGrep-KSOOLE6H.js +39 -0
  274. package/chunks/{ru-QMISLKRH.js → ru-RMHURE5U.js} +1 -0
  275. package/chunks/{run-qwen-serve-OGTEEUR2.js → run-qwen-serve-RTAREPT6.js} +84 -70
  276. package/chunks/runtime-ESFSCJRZ.js +154 -0
  277. package/chunks/scheduled-tasks-6ZHRNBH6.js +133 -0
  278. package/chunks/{scheduler-73YXGUGW.js → scheduler-DQI6KV7T.js} +63 -58
  279. package/chunks/{sdk-exporters-http-3JO5TJNU.js → sdk-exporters-http-7R2ARBPV.js} +2 -2
  280. package/chunks/{sdk-impl-HZAUUTHJ.js → sdk-impl-YOLO7LV4.js} +4 -4
  281. package/chunks/{send-message-JC7NJTY6.js → send-message-PQCVSVMN.js} +24 -24
  282. package/chunks/serve-FY7ZEW52.js +124 -0
  283. package/chunks/{server-AOYZVVOM.js → server-KNDY6K5F.js} +1594 -273
  284. package/chunks/{session-UAWFNFGI.js → session-MCEPXAZP.js} +113 -105
  285. package/chunks/session-attachments-root-OLNAE6GF.js +109 -0
  286. package/chunks/{session-pr-refresh-CT2INROL.js → session-pr-refresh-HKJHQQQK.js} +67 -62
  287. package/chunks/{settings-BHRGDASJ.js → settings-VXO4WBMK.js} +68 -63
  288. package/chunks/shell-U263OTES.js +96 -0
  289. package/chunks/{skill-ZGBKNCHQ.js → skill-SDODGBKL.js} +19 -17
  290. package/chunks/skill-settings-YEIA22QJ.js +124 -0
  291. package/chunks/spawnChannel-4WJZVFPP.js +117 -0
  292. package/chunks/standalone-update-ZWVQUO64.js +124 -0
  293. package/chunks/{start-opentui-ui-FZ4USOU7.js → start-opentui-ui-BFYCJQRZ.js} +1199 -190
  294. package/chunks/{startInteractiveUI-E2WQJUOA.js → startInteractiveUI-JYAFCMHL.js} +2977 -2319
  295. package/chunks/{syntheticOutput-HJNZSEHN.js → syntheticOutput-AUAJBNXR.js} +3 -3
  296. package/chunks/{task-create-6RSD54S5.js → task-create-LD5ISM3E.js} +12 -12
  297. package/chunks/{task-list-IQSACPOM.js → task-list-YISJ4RJA.js} +5 -5
  298. package/chunks/{task-stop-HE2LRQNW.js → task-stop-65ZOVATJ.js} +2 -2
  299. package/chunks/{task-update-XAJ2NYOA.js → task-update-AAN4ZVEY.js} +15 -15
  300. package/chunks/{team-create-SOKMYSQU.js → team-create-KU7MABNO.js} +47 -44
  301. package/chunks/{team-delete-NGNNKGMG.js → team-delete-XFRRTJTT.js} +5 -5
  302. package/chunks/{team-plan-approval-U7ZWXYAY.js → team-plan-approval-DPB377A3.js} +46 -43
  303. package/chunks/terminal-image-renderer-WGWRENOF.js +124 -0
  304. package/chunks/theme-manager-GBUFULSO.js +108 -0
  305. package/chunks/{todoWrite-5UTVUXHA.js → todoWrite-G7NT4IFP.js} +5 -5
  306. package/chunks/{tool-search-IAI2RVWT.js → tool-search-6YUXHBPT.js} +19 -17
  307. package/chunks/total-session-admission-54R2JQ5L.js +118 -0
  308. package/chunks/trustedFolders-KAJIDJTH.js +128 -0
  309. package/chunks/{update-relaunch-5RWKZAL3.js → update-relaunch-XM4IWBFD.js} +5 -5
  310. package/chunks/updateCheck-W6UZFURI.js +124 -0
  311. package/chunks/useAutoAcceptIndicator-LAWYHY3U.js +126 -0
  312. package/chunks/{validateNonInterActiveAuth-QPFEKATS.js → validateNonInterActiveAuth-7WCKHRN2.js} +109 -101
  313. package/chunks/{version-JKNG7YDH.js → version-3ZU43RJ6.js} +1 -1
  314. package/chunks/{web-fetch-X3AHIIHW.js → web-fetch-QHI2SQL4.js} +16 -14
  315. package/chunks/{web-search-K2FMOGS5.js → web-search-3KZZKWNY.js} +9 -8
  316. package/chunks/{workflow-TOLPAK5G.js → workflow-HRW7Y2X4.js} +330 -1667
  317. package/chunks/workspace-providers-status-KTGCWCPC.js +120 -0
  318. package/chunks/{workspace-registration-store-KQWVVW4Y.js → workspace-registration-store-LHLPPWNE.js} +1 -1
  319. package/chunks/workspace-registry-X34MLN52.js +127 -0
  320. package/chunks/workspace-runtime-coordinator-U4PW4P7K.js +128 -0
  321. package/chunks/workspace-service-KD7BCGYL.js +132 -0
  322. package/chunks/workspace-skills-status-YJGO6Y3T.js +119 -0
  323. package/chunks/{workspace-trust-reconciler-IBDFQBQS.js → workspace-trust-reconciler-EUYHISCH.js} +74 -69
  324. package/chunks/write-file-EBSB34NJ.js +91 -0
  325. package/chunks/{zh-25DF7OGK.js → zh-DVFYHRK5.js} +3 -1
  326. package/chunks/{zh-TW-5EDMZVGK.js → zh-TW-W2GNP2IU.js} +3 -1
  327. package/chunks/{zoom-image-IFXSN74N.js → zoom-image-UJ5VKWKP.js} +13 -11
  328. package/cli.js +13 -13
  329. package/export-transcript-document.js +617 -0
  330. package/locales/ca.js +1 -0
  331. package/locales/de.js +1 -0
  332. package/locales/en.js +5 -2
  333. package/locales/fr.js +1 -0
  334. package/locales/ja.js +1 -0
  335. package/locales/pt.js +1 -0
  336. package/locales/ru.js +1 -0
  337. package/locales/zh-TW.js +5 -2
  338. package/locales/zh.js +5 -2
  339. package/package.json +5 -4
  340. package/web-shell/assets/{abnfDiagram-VCTEODGH-Cxf7xE_Z.js → abnfDiagram-VCTEODGH-Dur--luQ.js} +1 -1
  341. package/web-shell/assets/{arc-ESi1eNkE.js → arc-tYLobxFi.js} +1 -1
  342. package/web-shell/assets/{architectureDiagram-5GKGNRK7-D9l7-bDo.js → architectureDiagram-5GKGNRK7-IG6aXD03.js} +1 -1
  343. package/web-shell/assets/{blockDiagram-NRAW4CY4-Bc8DEasw.js → blockDiagram-NRAW4CY4-C6eBSkfA.js} +1 -1
  344. package/web-shell/assets/{c4Diagram-UCG6FXSJ-Dimb2Hmh.js → c4Diagram-UCG6FXSJ-BrX3HJqB.js} +1 -1
  345. package/web-shell/assets/channel-uEkvKckd.js +1 -0
  346. package/web-shell/assets/{chunk-2Q5K7J3B-jVDmOpAQ.js → chunk-2Q5K7J3B-B3fcJ8ee.js} +1 -1
  347. package/web-shell/assets/{chunk-5VM5RSS4-DbG_SwdB.js → chunk-5VM5RSS4-CeC90yKM.js} +1 -1
  348. package/web-shell/assets/{chunk-F27PBJKO-QEc4cY1v.js → chunk-F27PBJKO-CW44RVki.js} +1 -1
  349. package/web-shell/assets/{chunk-G27WJ6UU-iJ36lQ3X.js → chunk-G27WJ6UU-D1PAMukD.js} +1 -1
  350. package/web-shell/assets/{chunk-JWPE2WC7-DuArnVtF.js → chunk-JWPE2WC7-Dt3Y2Fvx.js} +1 -1
  351. package/web-shell/assets/{chunk-LCL6LL3I-DxOf1zwL.js → chunk-LCL6LL3I-CZHw2lLI.js} +1 -1
  352. package/web-shell/assets/{chunk-POPQ4Y6H-lVLu9Ild.js → chunk-POPQ4Y6H-ysNAdTGx.js} +1 -1
  353. package/web-shell/assets/{chunk-SVP7TREG-C6XYlIer.js → chunk-SVP7TREG-BdNXW6YQ.js} +1 -1
  354. package/web-shell/assets/{chunk-XXDRQBXY-CiG2j2Ji.js → chunk-XXDRQBXY-DgqQ9UA8.js} +1 -1
  355. package/web-shell/assets/classDiagram-DTDB5LWJ-DuPsnhWS.js +1 -0
  356. package/web-shell/assets/classDiagram-v2-JRS7N3AN-DuPsnhWS.js +1 -0
  357. package/web-shell/assets/{cose-bilkent-JH36ORCC-DGVHMMVm.js → cose-bilkent-JH36ORCC-BILImXzJ.js} +1 -1
  358. package/web-shell/assets/{cynefin-OW5HDTMX-D6cgpCnH.js → cynefin-OW5HDTMX-DR88Pund.js} +1 -1
  359. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-BKv4Z-UX.js → cynefinDiagram-5FMLGOSQ-BYFbfkA6.js} +1 -1
  360. package/web-shell/assets/{dagre-3AP2YEHR-B4ABMIG-.js → dagre-3AP2YEHR-rfpyc6sX.js} +1 -1
  361. package/web-shell/assets/{diagram-S7CK7UJ4-DgCkp_Lm.js → diagram-S7CK7UJ4-BJxLmEwH.js} +1 -1
  362. package/web-shell/assets/{diagram-UQ7AKVKN-FG0FNokz.js → diagram-UQ7AKVKN-H34xm7k3.js} +1 -1
  363. package/web-shell/assets/{diagram-VSXAHHWV-JgkP9qg-.js → diagram-VSXAHHWV-HYxhwNLx.js} +1 -1
  364. package/web-shell/assets/{diagram-VX7I27RA-ADh2x83l.js → diagram-VX7I27RA-BJazso8F.js} +1 -1
  365. package/web-shell/assets/{diagram-Z3DM3KII-yXqoYF1J.js → diagram-Z3DM3KII-Clje1aNy.js} +1 -1
  366. package/web-shell/assets/{ebnfDiagram-PWID7BFC-Duk83Ek_.js → ebnfDiagram-PWID7BFC-M93YBkFh.js} +1 -1
  367. package/web-shell/assets/{erDiagram-SSCWMZ5O-DMdvxySG.js → erDiagram-SSCWMZ5O-DY8XzSHU.js} +1 -1
  368. package/web-shell/assets/{flowDiagram-A5DVABFB-DHjVgSji.js → flowDiagram-A5DVABFB-CE6Aylcq.js} +1 -1
  369. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-DMM9DkCE.js → ganttDiagram-EL5Y4UJY-DI-5LL22.js} +1 -1
  370. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-t_ug9vO8.js → gitGraphDiagram-WWUBYQGX-C7BZWElk.js} +1 -1
  371. package/web-shell/assets/index-CVyqwW7y.js +2142 -0
  372. package/web-shell/assets/{index-zqvnpGHv.js → index-DclFHns9.js} +1 -1
  373. package/web-shell/assets/index-FO7JXPnH.css +36 -0
  374. package/web-shell/assets/{infoDiagram-RXCK75RN-eT1fANNm.js → infoDiagram-RXCK75RN-CGUSy4Pc.js} +1 -1
  375. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-k3evzZNn.js → ishikawaDiagram-5VMMS53U-B5BVks9q.js} +1 -1
  376. package/web-shell/assets/{journeyDiagram-EYS64GPL-CGim3EAi.js → journeyDiagram-EYS64GPL-CFh6Tf7h.js} +1 -1
  377. package/web-shell/assets/{kanban-definition-3QL26DDD-WHfJo-22.js → kanban-definition-3QL26DDD-B7TlxP7c.js} +1 -1
  378. package/web-shell/assets/{layout-DkqIaFlJ.js → layout-Br_pZq2Q.js} +1 -1
  379. package/web-shell/assets/{linear-Bdkd3mCz.js → linear-BVlP6fte.js} +1 -1
  380. package/web-shell/assets/{mermaid.core-CGw0LkT_.js → mermaid.core-TrcYWoiF.js} +6 -6
  381. package/web-shell/assets/{mindmap-definition-FBJOCRG2-C9V4rBvo.js → mindmap-definition-FBJOCRG2-BJ4LzqjZ.js} +1 -1
  382. package/web-shell/assets/{pegDiagram-XKGWAZYB-CwoI2T5G.js → pegDiagram-XKGWAZYB-1b_MxlOl.js} +1 -1
  383. package/web-shell/assets/{pieDiagram-E7YTZNPT-DaTmBmPG.js → pieDiagram-E7YTZNPT-B8zl0YhY.js} +1 -1
  384. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-plh6MyGI.js → quadrantDiagram-AXDQQJYC-CIZO8ukl.js} +1 -1
  385. package/web-shell/assets/{railroadDiagram-O6MQD6OU-D_b-S0iK.js → railroadDiagram-O6MQD6OU-CepHSbCj.js} +1 -1
  386. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-zUzTN7VE.js → requirementDiagram-EFPCY7ZU-BCgxkcSW.js} +1 -1
  387. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-m6AhoD0l.js → sankeyDiagram-P5KCCOFB-CE5CcoMM.js} +1 -1
  388. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-Cwhzsine.js → sequenceDiagram-WJ2MYXX4-DvgHi-d5.js} +1 -1
  389. package/web-shell/assets/{sizeCapture-X5ZJPWSS-CcZuKIae.js → sizeCapture-X5ZJPWSS-T-fAsCPX.js} +1 -1
  390. package/web-shell/assets/{stateDiagram-HBIQ2CUA-CFoiJwD_.js → stateDiagram-HBIQ2CUA-DYHaul-5.js} +1 -1
  391. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-BcYho9a4.js +1 -0
  392. package/web-shell/assets/{swimlanes-XN3QIQJK-CgS9hcaV.js → swimlanes-XN3QIQJK-Dbz3Qiej.js} +1 -1
  393. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-D6HsOIgX.js +8 -0
  394. package/web-shell/assets/{timeline-definition-24CTP7MA-Dzzc05t9.js → timeline-definition-24CTP7MA-9NVRts3N.js} +1 -1
  395. package/web-shell/assets/{vennDiagram-4TSXK5OY-DemK0f7Y.js → vennDiagram-4TSXK5OY-C7cb7vnH.js} +1 -1
  396. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-CquLxtMr.js → wardleyDiagram-VM6X3IG4-CG-8Ddjm.js} +1 -1
  397. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-BTBKTM5g.js → xychartDiagram-S5SC5T6Z-iGeYAcP4.js} +1 -1
  398. package/web-shell/index.html +2 -2
  399. package/chunks/MaxSizedBox-B3D7545A.js +0 -111
  400. package/chunks/agent-headless-OC2IB55D.js +0 -85
  401. package/chunks/askUserQuestion-THQZMG44.js +0 -322
  402. package/chunks/bridge-IHSBI2YJ.js +0 -118
  403. package/chunks/channel-settings-store-BVKWAI2T.js +0 -121
  404. package/chunks/chunk-I2TMJPCV.js +0 -448
  405. package/chunks/chunk-QI27MKNQ.js +0 -4008
  406. package/chunks/config-utils-LVSYDLHZ.js +0 -114
  407. package/chunks/contextCommand-TZD7UAJK.js +0 -107
  408. package/chunks/daemon-status-provider-GRRVCJFW.js +0 -117
  409. package/chunks/daemon-trust-policy-YJL442BK.js +0 -113
  410. package/chunks/deferred-core-runtime-S32AYVZI.js +0 -115
  411. package/chunks/earlyInputCapture-BBPCIVZG.js +0 -108
  412. package/chunks/environment-VN6RXDVN.js +0 -130
  413. package/chunks/errors-UEY36PIT.js +0 -114
  414. package/chunks/exitPlanMode-EPHIEDAA.js +0 -83
  415. package/chunks/handleAutoUpdate-HVWQT2AU.js +0 -110
  416. package/chunks/i18n-5OR7NTRZ.js +0 -125
  417. package/chunks/initializer-JE5RQSOE.js +0 -114
  418. package/chunks/installationInfo-KO3CCSCK.js +0 -108
  419. package/chunks/list-3IORSFIY.js +0 -117
  420. package/chunks/loadedSettingsAdapter-KLLFZF3M.js +0 -111
  421. package/chunks/mcp-A2UEHETW.js +0 -111
  422. package/chunks/nonInteractiveCli-YA47F2F4.js +0 -190
  423. package/chunks/pidfile-ETHAZNMY.js +0 -112
  424. package/chunks/prompt-terminal-ledger-GZ747VYE.js +0 -106
  425. package/chunks/resumeHistoryUtils-DPZKFW24.js +0 -119
  426. package/chunks/ripGrep-C7LJKUPZ.js +0 -37
  427. package/chunks/runtime-LNBLEMZS.js +0 -149
  428. package/chunks/scheduled-tasks-FLDYZQOF.js +0 -128
  429. package/chunks/serve-3UR2H4CV.js +0 -119
  430. package/chunks/session-attachments-root-ZCGXQQTR.js +0 -104
  431. package/chunks/shell-YHOGC7TO.js +0 -93
  432. package/chunks/skill-settings-AKSP665O.js +0 -119
  433. package/chunks/spawnChannel-N25MBB6F.js +0 -112
  434. package/chunks/standalone-update-XGPWJDRN.js +0 -119
  435. package/chunks/terminal-image-renderer-KKM4OBLO.js +0 -117
  436. package/chunks/theme-manager-GQHF3A7T.js +0 -103
  437. package/chunks/total-session-admission-G4CGCSTG.js +0 -113
  438. package/chunks/trustedFolders-D2I3FDPB.js +0 -123
  439. package/chunks/updateCheck-ZXOQDFEI.js +0 -119
  440. package/chunks/useAutoAcceptIndicator-6EK4QGAH.js +0 -121
  441. package/chunks/workspace-providers-status-PCJK3RC7.js +0 -115
  442. package/chunks/workspace-registry-YNIOB6HJ.js +0 -122
  443. package/chunks/workspace-runtime-coordinator-WG2RNEN7.js +0 -123
  444. package/chunks/workspace-service-G4ZNBOFH.js +0 -127
  445. package/chunks/workspace-skills-status-FMTPPMWC.js +0 -114
  446. package/chunks/write-file-YTLFY2S5.js +0 -88
  447. package/web-shell/assets/channel-B7ohGDil.js +0 -1
  448. package/web-shell/assets/classDiagram-DTDB5LWJ-DdFpqpfD.js +0 -1
  449. package/web-shell/assets/classDiagram-v2-JRS7N3AN-DdFpqpfD.js +0 -1
  450. package/web-shell/assets/index-BGZRqbRo.css +0 -36
  451. package/web-shell/assets/index-DRri_6_x.js +0 -2067
  452. package/web-shell/assets/stateDiagram-v2-4QOOHH4V--H8HdEmk.js +0 -1
  453. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-ShE9OIgf.js +0 -8
@@ -2,14 +2,17 @@
2
2
  "use strict";
3
3
  import {
4
4
  isGitRepository
5
- } from "./chunk-ZHO2CW6D.js";
5
+ } from "./chunk-3CZ2BQV6.js";
6
6
  import {
7
+ BaseDeclarativeTool,
8
+ BaseToolInvocation,
9
+ ToolDisplayNames,
7
10
  ToolNames
8
- } from "./chunk-7JMGTOH7.js";
11
+ } from "./chunk-RPBMP6BN.js";
9
12
  import {
10
13
  QWEN_DIR,
11
14
  createDebugLogger
12
- } from "./chunk-EAHOJF6V.js";
15
+ } from "./chunk-ZAFYHRVY.js";
13
16
  import {
14
17
  init_esbuild_shims
15
18
  } from "./chunk-5O2XNYP6.js";
@@ -17,7 +20,7 @@ import {
17
20
  __name
18
21
  } from "./chunk-J2S4EL5Y.js";
19
22
 
20
- // packages/core/src/output/types.ts
23
+ // packages/core/src/tools/askUserQuestion.ts
21
24
  init_esbuild_shims();
22
25
 
23
26
  // packages/core/src/core/prompts.ts
@@ -27,6 +30,9 @@ import fs from "node:fs";
27
30
  import os from "node:os";
28
31
  import process from "node:process";
29
32
 
33
+ // packages/core/src/output/types.ts
34
+ init_esbuild_shims();
35
+
30
36
  // packages/core/src/core/output-styles.ts
31
37
  init_esbuild_shims();
32
38
  var DEFAULT_OUTPUT_STYLE_TURN_REMINDER = "Remember to follow the specific guidelines for this style.";
@@ -119,7 +125,7 @@ function resolveEffectiveOutputStyle(style, interactionMode) {
119
125
  if (!style) {
120
126
  return void 0;
121
127
  }
122
- if (interactionMode === "headless" && style.name === "Learning") {
128
+ if (interactionMode === "headless" && style.source === "built-in" && style.name === "Learning") {
123
129
  return void 0;
124
130
  }
125
131
  return style;
@@ -268,12 +274,14 @@ function getCustomSystemPrompt(customInstruction, userMemory, appendInstruction)
268
274
  });
269
275
  }
270
276
  __name(getCustomSystemPrompt, "getCustomSystemPrompt");
271
- function getSoftwareEngineeringTasksSection() {
277
+ function getSoftwareEngineeringTasksSection(todoWriteEnabled) {
278
+ const planGuidance = todoWriteEnabled ? `Use '${ToolNames.TODO_WRITE}' for complex, ambiguous, or multi-step work when visible progress tracking adds value. Keep the plan short and outcome-oriented; skip it for simple tasks unless the user explicitly requests a plan.` : "For complex, ambiguous, or multi-step work, form a concise, outcome-oriented approach and revise it as you learn. Skip formal planning for simple tasks unless the user explicitly requests a plan.";
279
+ const todoAdaptationGuidance = todoWriteEnabled ? " If a todo list exists, keep it current as the scope or approach changes." : "";
272
280
  return `## Software Engineering Tasks
273
281
  When requested to perform tasks like fixing bugs, adding features, refactoring, or explaining code, follow this iterative approach:
274
- - **Plan:** Use '${ToolNames.TODO_WRITE}' for complex, ambiguous, or multi-step work when visible progress tracking adds value. Keep the plan short and outcome-oriented; skip it for simple tasks unless the user explicitly requests a plan.
282
+ - **Plan:** ${planGuidance}
275
283
  - **Implement:** Begin implementing while gathering context as needed. Use available search and editing tools strategically, adhering to project conventions (see 'Core Mandates'). Do not add features, refactor code, or make "improvements" beyond what was asked. Don't add error handling, fallbacks, or validation for scenarios that can't happen\u2014only validate at system boundaries (user input, external APIs). Don't create helpers, utilities, or abstractions for one-time operations. Three similar lines of code is better than a premature abstraction. Prefer editing existing files over creating new ones.
276
- - **Adapt:** Refine your approach as you discover new information or encounter obstacles. If a todo list exists, keep it current as the scope or approach changes. If an approach fails, diagnose why before switching tactics\u2014read the error, check your assumptions, and try a focused fix. Don't retry blindly, but don't abandon a viable approach after a single failure.
284
+ - **Adapt:** Refine your approach as you discover new information or encounter obstacles.${todoAdaptationGuidance} If an approach fails, diagnose why before switching tactics\u2014read the error, check your assumptions, and try a focused fix. Don't retry blindly, but don't abandon a viable approach after a single failure.
277
285
  - **Verify (Tests):** If applicable and feasible, verify the changes using the project's testing procedures. Identify the correct test commands and frameworks by examining 'README' files, build/package configuration (e.g., 'package.json'), or existing test execution patterns. NEVER assume standard test commands. Before reporting a task complete, verify it actually works. If you can't verify (no test exists, can't run the code), say so explicitly rather than claiming success.
278
286
  - **Verify (Standards):** When your task involves a code or system change, execute the project-specific build, linting and type-checking commands (e.g., 'tsc', 'npm run lint', 'ruff check .') that you have identified for this project (or obtained from the user). This ensures code quality and adherence to standards. Read-only or explanatory turns do not require verification.
279
287
  - **Report outcomes faithfully:** If tests fail, say so with the relevant output. If you did not run a verification step, say that rather than implying it succeeded. Never claim "all tests pass" when output shows failures, never suppress failing checks to manufacture a green result, and never characterize incomplete or broken work as done.
@@ -283,8 +291,20 @@ When requested to perform tasks like fixing bugs, adding features, refactoring,
283
291
  `;
284
292
  }
285
293
  __name(getSoftwareEngineeringTasksSection, "getSoftwareEngineeringTasksSection");
286
- function buildDefaultBasePrompt(interaction, model, outputStyle) {
287
- const softwareEngineeringTasks = outputStyle?.keepCodingInstructions === false ? "" : getSoftwareEngineeringTasksSection();
294
+ function buildDefaultBasePrompt(interaction, model, outputStyle, todoWriteEnabled = false) {
295
+ const softwareEngineeringTasks = outputStyle?.keepCodingInstructions === false ? "" : getSoftwareEngineeringTasksSection(todoWriteEnabled);
296
+ const taskManagementSection = todoWriteEnabled ? `# Task Management
297
+ You have access to the ${ToolNames.TODO_WRITE} tool to keep user-visible progress for work that benefits from explicit tracking. Use it for complex, ambiguous, or multi-phase tasks or requests with multiple independent outcomes. Do not use it for simple or single-step queries that you can answer or complete immediately unless the user explicitly asks for a plan.
298
+
299
+ When you create a todo list:
300
+ - Keep it short and outcome-oriented. Use a few meaningful, logically ordered, verifiable steps rather than one item per error, file, command, or minor edit.
301
+ - When an active Todo plan covers work delegated through top-level Agent calls, pass the matching Todo ID as \`todo_id\` so the execution can be associated with that plan node. Do not create a Todo solely to wrap a delegation that does not otherwise need task tracking.
302
+ - Keep at most one item in_progress. Keep the list current, mark finished work completed, and revise it when the scope or approach changes. When work completes together, update multiple statuses in one tool call rather than making bookkeeping-only calls.
303
+ - Do not repeat the full todo list in prose after calling the tool; briefly communicate only important context or the next step.
304
+
305
+ ` : "";
306
+ const taskManagementToolGuidance = todoWriteEnabled ? `- **Task Management:** Use '${ToolNames.TODO_WRITE}' only when explicit tracking adds value. Keep plans concise, outcome-oriented, and current; do not create a todo list for simple or single-step work unless the user explicitly requests one.
307
+ ` : "";
288
308
  const coreIdentity = resolveCoreIdentityOverride() ?? getDefaultCoreIdentitySentence(interaction.role, Boolean(outputStyle));
289
309
  return `
290
310
  ${coreIdentity}
@@ -305,16 +325,7 @@ ${coreIdentity}
305
325
  - **Plan before uncertain work:** If the task is not yet clear enough to safely execute, do not make small speculative edits. Continue read-only investigation, make a plan in the current mode, or follow the active interaction mode's question guidance. Do not enter plan mode or call ${ToolNames.ENTER_PLAN_MODE} on your own just because the task involves planning or complexity. Use plan mode only when the user explicitly asks you to switch to plan mode, has already enabled it, or confirms they want it.
306
326
 
307
327
 
308
- # Task Management
309
- You have access to the ${ToolNames.TODO_WRITE} tool to keep user-visible progress for work that benefits from explicit tracking. Use it for complex, ambiguous, or multi-phase tasks or requests with multiple independent outcomes. Do not use it for simple or single-step queries that you can answer or complete immediately unless the user explicitly asks for a plan.
310
-
311
- When you create a todo list:
312
- - Keep it short and outcome-oriented. Use a few meaningful, logically ordered, verifiable steps rather than one item per error, file, command, or minor edit.
313
- - When an active Todo plan covers work delegated through top-level Agent calls, pass the matching Todo ID as \`todo_id\` so the execution can be associated with that plan node. Do not create a Todo solely to wrap a delegation that does not otherwise need task tracking.
314
- - Keep at most one item in_progress. Keep the list current, mark finished work completed, and revise it when the scope or approach changes. When work completes together, update multiple statuses in one tool call rather than making bookkeeping-only calls.
315
- - Do not repeat the full todo list in prose after calling the tool; briefly communicate only important context or the next step.
316
-
317
- # Primary Workflows
328
+ ${taskManagementSection}# Primary Workflows
318
329
 
319
330
  ${softwareEngineeringTasks}- Tool results and user messages may include <system-reminder> tags. <system-reminder> tags contain useful information and reminders. They are NOT part of the user's provided input or the tool result.
320
331
  - When you see a <persisted-output> tag in a tool result, the full output was saved to disk because it was too large. Use the read_file tool to access the complete content if the preview is insufficient.
@@ -353,8 +364,7 @@ Final responses should be concise by default, but their shape and depth must mat
353
364
  - To search the content of files, use '${ToolNames.GREP}' instead of grep or rg
354
365
  - Reserve using the '${ToolNames.SHELL}' exclusively for system commands and terminal operations that require shell execution. If you are unsure and there is a relevant dedicated tool, default to using the dedicated tool and only fallback on using the '${ToolNames.SHELL}' tool for these if it is absolutely necessary.
355
366
  - **Tool Fallback:** If a tool returns empty, unhelpful, or unexpected results, try an alternative tool that can accomplish the same goal before telling the user it cannot be done. Never give up after a single tool failure.
356
- - **Task Management:** Use '${ToolNames.TODO_WRITE}' only when explicit tracking adds value. Keep plans concise, outcome-oriented, and current; do not create a todo list for simple or single-step work unless the user explicitly requests one.
357
- - **Parallel Tool Calls:** You can call multiple tools in a single response. If you intend to call multiple tools and there are no dependencies between them, make all independent tool calls in parallel. Maximize use of parallel tool calls where possible to increase efficiency. However, if some tool calls depend on previous calls to inform dependent values, do NOT call these tools in parallel and instead call them sequentially. For instance, if one operation must complete before another starts, run these operations sequentially instead.
367
+ ${taskManagementToolGuidance}- **Parallel Tool Calls:** You can call multiple tools in a single response. If you intend to call multiple tools and there are no dependencies between them, make all independent tool calls in parallel. Maximize use of parallel tool calls where possible to increase efficiency. However, if some tool calls depend on previous calls to inform dependent values, do NOT call these tools in parallel and instead call them sequentially. For instance, if one operation must complete before another starts, run these operations sequentially instead.
358
368
  - **File Paths:** Always use absolute paths when referring to files with tools like '${ToolNames.READ_FILE}' or '${ToolNames.WRITE_FILE}'. Relative paths are not supported. You must provide an absolute path.
359
369
  - **Background Processes:** Use background execution with \`is_background: true\` for commands that are unlikely to stop on their own, e.g. \`node server.js\`. Do not append a trailing \`&\` when using the shell tool's managed background mode. If unsure, follow the active interaction mode's question guidance.
360
370
  - **Interactive Commands:** Try to avoid shell commands that are likely to require user interaction (e.g. \`git rebase -i\`). Use non-interactive versions of commands (e.g. \`npm init -y\` instead of \`npm init\`) when available, and otherwise remind the user that interactive shell commands are not supported and may cause hangs until canceled by the user.
@@ -431,13 +441,14 @@ function resolveMainSessionOutputStyle(config) {
431
441
  if (config.getSystemPrompt() || isSystemMdActive()) {
432
442
  return void 0;
433
443
  }
434
- return resolveEffectiveOutputStyle(
435
- config.getOutputStyle(),
436
- resolveInteractionMode(config)
437
- );
444
+ const style = config.getOutputStyle();
445
+ if (style?.source === "project" && config.isTrustedFolder?.() === false) {
446
+ return void 0;
447
+ }
448
+ return resolveEffectiveOutputStyle(style, resolveInteractionMode(config));
438
449
  }
439
450
  __name(resolveMainSessionOutputStyle, "resolveMainSessionOutputStyle");
440
- function getCoreSystemPrompt(userMemory, model, appendInstruction, interactionMode = "interactive", outputStyle) {
451
+ function getCoreSystemPrompt(userMemory, model, appendInstruction, interactionMode = "interactive", outputStyle, todoWriteEnabled = false) {
441
452
  const effectiveOutputStyle = resolveEffectiveOutputStyle(
442
453
  outputStyle,
443
454
  interactionMode
@@ -456,7 +467,12 @@ function getCoreSystemPrompt(userMemory, model, appendInstruction, interactionMo
456
467
  }
457
468
  }
458
469
  const interaction = getInteractionModePrompt(interactionMode);
459
- const basePrompt = systemMdEnabled ? fs.readFileSync(systemMdPath, "utf8") : buildDefaultBasePrompt(interaction, model, effectiveOutputStyle);
470
+ const basePrompt = systemMdEnabled ? fs.readFileSync(systemMdPath, "utf8") : buildDefaultBasePrompt(
471
+ interaction,
472
+ model,
473
+ effectiveOutputStyle,
474
+ todoWriteEnabled
475
+ );
460
476
  const writeSystemMdResolution = resolvePathFromEnv(
461
477
  process.env["QWEN_WRITE_SYSTEM_MD"]
462
478
  );
@@ -465,7 +481,12 @@ function getCoreSystemPrompt(userMemory, model, appendInstruction, interactionMo
465
481
  fs.mkdirSync(path.dirname(writePath), { recursive: true });
466
482
  fs.writeFileSync(
467
483
  writePath,
468
- systemMdEnabled ? basePrompt : buildDefaultBasePrompt(interaction, model, void 0)
484
+ systemMdEnabled ? basePrompt : buildDefaultBasePrompt(
485
+ interaction,
486
+ model,
487
+ void 0,
488
+ todoWriteEnabled
489
+ )
469
490
  );
470
491
  }
471
492
  return assembleSystemPrompt({
@@ -1281,9 +1302,374 @@ function getInsightPrompt(type) {
1281
1302
  }
1282
1303
  __name(getInsightPrompt, "getInsightPrompt");
1283
1304
 
1305
+ // packages/core/src/permissions/trusted-user-answers.ts
1306
+ init_esbuild_shims();
1307
+ var MAX_TRUSTED_USER_ANSWER_CALLS = 8;
1308
+ var MAX_TRUSTED_USER_ANSWERS_TOTAL_CHARS = 32e3;
1309
+ var MAX_TRUSTED_USER_ANSWER_QUESTION_CHARS = 200;
1310
+ var MAX_TRUSTED_USER_ANSWER_RECORD_CHARS = 8e3;
1311
+ function parseAnswerQuestionIndex(key, questionCount) {
1312
+ const index = Number(key);
1313
+ if (!Number.isSafeInteger(index) || index < 0 || index >= questionCount || String(index) !== key) {
1314
+ return void 0;
1315
+ }
1316
+ return index;
1317
+ }
1318
+ __name(parseAnswerQuestionIndex, "parseAnswerQuestionIndex");
1319
+ function normalizeTrustedUserAnswers(questions, rawAnswers) {
1320
+ if (!rawAnswers || typeof rawAnswers !== "object" || Array.isArray(rawAnswers)) {
1321
+ return [];
1322
+ }
1323
+ const answers = [];
1324
+ for (const [key, value] of Object.entries(rawAnswers)) {
1325
+ if (typeof value !== "string" || value.trim().length === 0) continue;
1326
+ const questionIndex = parseAnswerQuestionIndex(key, questions.length);
1327
+ if (questionIndex === void 0) continue;
1328
+ const question = questions[questionIndex].question;
1329
+ answers.push({
1330
+ question: question.length > MAX_TRUSTED_USER_ANSWER_QUESTION_CHARS ? question.slice(0, MAX_TRUSTED_USER_ANSWER_QUESTION_CHARS) + "\u2026" : question,
1331
+ answer: value
1332
+ });
1333
+ }
1334
+ return answers;
1335
+ }
1336
+ __name(normalizeTrustedUserAnswers, "normalizeTrustedUserAnswers");
1337
+ var TrustedUserAnswers = class {
1338
+ static {
1339
+ __name(this, "TrustedUserAnswers");
1340
+ }
1341
+ records = /* @__PURE__ */ new Map();
1342
+ totalChars = 0;
1343
+ record(callId, questions, rawAnswers) {
1344
+ if (callId.length === 0) return false;
1345
+ if (this.records.has(callId)) return false;
1346
+ const answers = normalizeTrustedUserAnswers(questions, rawAnswers);
1347
+ if (answers.length === 0) return false;
1348
+ let record = { callId, answers, omitted: false };
1349
+ let chars = JSON.stringify(record).length;
1350
+ if (chars > MAX_TRUSTED_USER_ANSWER_RECORD_CHARS) {
1351
+ record = { callId, answers: [], omitted: true };
1352
+ chars = JSON.stringify(record).length;
1353
+ if (chars > MAX_TRUSTED_USER_ANSWER_RECORD_CHARS) return false;
1354
+ }
1355
+ this.records.set(callId, {
1356
+ chars,
1357
+ record: Object.freeze({
1358
+ ...record,
1359
+ answers: Object.freeze(
1360
+ record.answers.map((answer) => Object.freeze(answer))
1361
+ )
1362
+ })
1363
+ });
1364
+ this.totalChars += chars;
1365
+ this.enforceLimits();
1366
+ return this.records.has(callId);
1367
+ }
1368
+ snapshot() {
1369
+ return Object.freeze(
1370
+ [...this.records.values()].map(({ record }) => record)
1371
+ );
1372
+ }
1373
+ clear() {
1374
+ this.records.clear();
1375
+ this.totalChars = 0;
1376
+ }
1377
+ enforceLimits() {
1378
+ while (this.records.size > MAX_TRUSTED_USER_ANSWER_CALLS || this.totalChars > MAX_TRUSTED_USER_ANSWERS_TOTAL_CHARS) {
1379
+ const oldest = this.records.keys().next().value;
1380
+ this.totalChars -= this.records.get(oldest).chars;
1381
+ this.records.delete(oldest);
1382
+ }
1383
+ }
1384
+ };
1385
+
1386
+ // packages/core/src/tools/askUserQuestion.ts
1387
+ var debugLogger2 = createDebugLogger("ASK_USER_QUESTION");
1388
+ var askUserQuestionToolDescription = `Use this tool when you need to ask the user questions during execution. This allows you to:
1389
+ 1. Gather user preferences or requirements
1390
+ 2. Clarify ambiguous instructions
1391
+ 3. Get decisions on implementation choices as you work
1392
+ 4. Offer choices to the user about what direction to take.
1393
+
1394
+ Usage notes:
1395
+ - Users will always be able to select "Other" to provide custom text input
1396
+ - Use multiSelect: true to allow multiple answers to be selected for a question
1397
+ - If you recommend a specific option, make that the first option in the list and add "(Recommended)" at the end of the label
1398
+
1399
+ Plan mode note: In plan mode, use this tool to clarify requirements or choose between approaches BEFORE finalizing your plan. Do NOT use this tool to ask "Is this plan ready?" or "Should I proceed?" - use ExitPlanMode for plan approval.
1400
+ `;
1401
+ var askUserQuestionToolSchemaData = {
1402
+ name: "ask_user_question",
1403
+ description: askUserQuestionToolDescription,
1404
+ parametersJsonSchema: {
1405
+ $schema: "https://json-schema.org/draft/2020-12/schema",
1406
+ type: "object",
1407
+ properties: {
1408
+ questions: {
1409
+ description: "Questions to ask the user (1-4 questions)",
1410
+ minItems: 1,
1411
+ maxItems: 4,
1412
+ type: "array",
1413
+ items: {
1414
+ type: "object",
1415
+ properties: {
1416
+ question: {
1417
+ description: 'The complete question to ask the user. Should be clear, specific, and end with a question mark. Example: "Which library should we use for date formatting?" If multiSelect is true, phrase it accordingly, e.g. "Which features do you want to enable?"',
1418
+ type: "string"
1419
+ },
1420
+ header: {
1421
+ description: 'Very short label displayed as a chip/tag (max 12 chars). Examples: "Auth method", "Library", "Approach".',
1422
+ type: "string"
1423
+ },
1424
+ options: {
1425
+ description: "The available choices for this question. Must have 2-4 options. Each option should be a distinct, mutually exclusive choice (unless multiSelect is enabled). There should be no 'Other' option, that will be provided automatically.",
1426
+ minItems: 2,
1427
+ maxItems: 4,
1428
+ type: "array",
1429
+ items: {
1430
+ type: "object",
1431
+ properties: {
1432
+ label: {
1433
+ description: "The display text for this option that the user will see and select. Should be concise (1-5 words) and clearly describe the choice.",
1434
+ type: "string"
1435
+ },
1436
+ description: {
1437
+ description: "Explanation of what this option means or what will happen if chosen. Useful for providing context about trade-offs or implications.",
1438
+ type: "string"
1439
+ }
1440
+ },
1441
+ required: ["label", "description"],
1442
+ additionalProperties: false
1443
+ }
1444
+ },
1445
+ multiSelect: {
1446
+ description: "Set to true to allow the user to select multiple options instead of just one. Use when choices are not mutually exclusive.",
1447
+ default: false,
1448
+ type: "boolean"
1449
+ }
1450
+ },
1451
+ required: ["question", "header", "options"],
1452
+ additionalProperties: false
1453
+ }
1454
+ },
1455
+ metadata: {
1456
+ description: "Optional metadata for tracking and analytics purposes. Not displayed to user.",
1457
+ type: "object",
1458
+ properties: {
1459
+ source: {
1460
+ description: 'Optional identifier for the source of this question (e.g., "remember" for /remember command). Used for analytics tracking.',
1461
+ type: "string"
1462
+ }
1463
+ },
1464
+ additionalProperties: false
1465
+ }
1466
+ },
1467
+ required: ["questions"],
1468
+ additionalProperties: false
1469
+ }
1470
+ };
1471
+ var AskUserQuestionToolInvocation = class extends BaseToolInvocation {
1472
+ constructor(_config, params) {
1473
+ super(params);
1474
+ this._config = _config;
1475
+ }
1476
+ static {
1477
+ __name(this, "AskUserQuestionToolInvocation");
1478
+ }
1479
+ userAnswers = {};
1480
+ wasAnswered = false;
1481
+ getDescription() {
1482
+ const questionCount = this.params.questions.length;
1483
+ return `Ask user ${questionCount} question${questionCount > 1 ? "s" : ""}`;
1484
+ }
1485
+ /**
1486
+ * Whether a host is present that can put the questions in front of the
1487
+ * user *and* answer them. ACP hosts (VSCode extension, Zed, stream-json
1488
+ * clients) run in non-interactive mode but still collect answers through
1489
+ * the confirmation channel.
1490
+ *
1491
+ * The modality half is `resolveInteractionMode()`. The responder half is
1492
+ * what that helper cannot know: a stream-json session only has something
1493
+ * to answer a confirmation round once the SDK control system is up. In
1494
+ * stream-json *direct* mode the first stdin frame is a plain user message,
1495
+ * so `Session.handleFirstMessage()` leaves the control system off, no
1496
+ * `PermissionController` is built and `onToolCallsUpdate` is never wired
1497
+ * (`nonInteractiveCli.ts`, gated on `options.controlService`). Claiming a
1498
+ * host there parks the call in `awaiting_approval` forever: the scheduler's
1499
+ * non-interactive auto-deny carries `getInputFormat() !== STREAM_JSON` as a
1500
+ * required conjunct, so it does not fire either.
1501
+ */
1502
+ canCollectAnswers() {
1503
+ if (resolveInteractionMode(this._config) === "headless") {
1504
+ return false;
1505
+ }
1506
+ return this._config.isInteractive() || this._config.getExperimentalZedIntegration() || this._config.getInputFormat() !== "stream-json" /* STREAM_JSON */ || this._config.getSdkMode();
1507
+ }
1508
+ /**
1509
+ * ask_user_question always requires user confirmation so the user can
1510
+ * provide answers. In non-interactive mode without ACP support, we skip
1511
+ * confirmation (and subsequently skip execution).
1512
+ */
1513
+ async getDefaultPermission() {
1514
+ if (!this.canCollectAnswers()) {
1515
+ return "allow";
1516
+ }
1517
+ return "ask";
1518
+ }
1519
+ /**
1520
+ * The confirmation dialog IS this tool: the answers are collected through
1521
+ * `onConfirm`, so an approval that skips the dialog does not "allow" the
1522
+ * tool, it silently answers "declined" on the user's behalf. Permission
1523
+ * rules and automatic approval modes must therefore never satisfy it —
1524
+ * a bare `ask_user_question` allow rule (a skill's `allowedTools` grant,
1525
+ * `permissions.allow`, an "always allow" answer) would otherwise override
1526
+ * the 'ask' default at L4 and the scheduler would run the tool with no
1527
+ * dialog ever shown. Headless runs stay as they were: nothing can prompt
1528
+ * there, and `execute()` reports that instead.
1529
+ */
1530
+ requiresUserInteraction() {
1531
+ return this.canCollectAnswers();
1532
+ }
1533
+ async getConfirmationDetails(_abortSignal) {
1534
+ const details = {
1535
+ type: "ask_user_question",
1536
+ title: "Please answer the following question(s):",
1537
+ questions: this.params.questions,
1538
+ metadata: this.params.metadata,
1539
+ onConfirm: /* @__PURE__ */ __name(async (outcome, payload) => {
1540
+ switch (outcome) {
1541
+ case "proceed_once" /* ProceedOnce */:
1542
+ case "proceed_always" /* ProceedAlways */:
1543
+ this.wasAnswered = true;
1544
+ this.userAnswers = payload?.answers ?? {};
1545
+ break;
1546
+ case "cancel" /* Cancel */:
1547
+ this.wasAnswered = false;
1548
+ break;
1549
+ default:
1550
+ this.wasAnswered = true;
1551
+ this.userAnswers = payload?.answers ?? {};
1552
+ break;
1553
+ }
1554
+ }, "onConfirm")
1555
+ };
1556
+ return details;
1557
+ }
1558
+ async execute(_signal) {
1559
+ try {
1560
+ if (!this.canCollectAnswers()) {
1561
+ const errorMessage = "Cannot ask user questions in non-interactive mode without ACP support. Please run in interactive mode or enable ACP mode to use this tool.";
1562
+ return {
1563
+ llmContent: errorMessage,
1564
+ returnDisplay: errorMessage
1565
+ };
1566
+ }
1567
+ if (!this.wasAnswered) {
1568
+ const cancellationMessage = "User declined to answer the questions.";
1569
+ return {
1570
+ llmContent: cancellationMessage,
1571
+ returnDisplay: cancellationMessage
1572
+ };
1573
+ }
1574
+ const answersContent = Object.entries(this.userAnswers).flatMap(([key, value]) => {
1575
+ const questionIndex = parseAnswerQuestionIndex(
1576
+ key,
1577
+ this.params.questions.length
1578
+ );
1579
+ if (questionIndex === void 0) return [];
1580
+ const question = this.params.questions[questionIndex];
1581
+ return `**${question.header || `Question ${questionIndex + 1}`}**: ${value}`;
1582
+ }).join("\n");
1583
+ const messageBody = answersContent.length > 0 ? answersContent : "No valid answers were provided.";
1584
+ const llmMessage = `User has provided the following answers:
1585
+
1586
+ ${messageBody}`;
1587
+ const displayMessage = `User has provided the following answers:
1588
+
1589
+ ${messageBody}`;
1590
+ return {
1591
+ llmContent: llmMessage,
1592
+ returnDisplay: displayMessage
1593
+ };
1594
+ } catch (error) {
1595
+ const errorMessage = error instanceof Error ? error.message : String(error);
1596
+ debugLogger2.error(
1597
+ `[AskUserQuestionTool] Error executing ask_user_question: ${errorMessage}`
1598
+ );
1599
+ const errorLlmContent = `Failed to process user answers: ${errorMessage}`;
1600
+ return {
1601
+ llmContent: errorLlmContent,
1602
+ returnDisplay: `Error processing answers: ${errorMessage}`
1603
+ };
1604
+ }
1605
+ }
1606
+ };
1607
+ var AskUserQuestionTool = class _AskUserQuestionTool extends BaseDeclarativeTool {
1608
+ constructor(config) {
1609
+ super(
1610
+ _AskUserQuestionTool.Name,
1611
+ ToolDisplayNames.ASK_USER_QUESTION,
1612
+ askUserQuestionToolDescription,
1613
+ "think" /* Think */,
1614
+ askUserQuestionToolSchemaData.parametersJsonSchema,
1615
+ true,
1616
+ // isOutputMarkdown
1617
+ false,
1618
+ // canUpdateOutput
1619
+ false
1620
+ // shouldDefer — kept always-visible so the model reaches for the structured clarification UX instead of asking in plain prose
1621
+ );
1622
+ this.config = config;
1623
+ }
1624
+ static {
1625
+ __name(this, "AskUserQuestionTool");
1626
+ }
1627
+ static Name = ToolNames.ASK_USER_QUESTION;
1628
+ validateToolParams(params) {
1629
+ if (!Array.isArray(params.questions)) {
1630
+ return 'Parameter "questions" must be an array.';
1631
+ }
1632
+ if (params.questions.length < 1 || params.questions.length > 4) {
1633
+ return 'Parameter "questions" must contain between 1 and 4 questions.';
1634
+ }
1635
+ for (let i = 0; i < params.questions.length; i++) {
1636
+ const question = params.questions[i];
1637
+ if (!question.question || typeof question.question !== "string" || question.question.trim() === "") {
1638
+ return `Question ${i + 1}: "question" must be a non-empty string.`;
1639
+ }
1640
+ if (!question.header || typeof question.header !== "string" || question.header.trim() === "") {
1641
+ return `Question ${i + 1}: "header" must be a non-empty string.`;
1642
+ }
1643
+ if (!Array.isArray(question.options)) {
1644
+ return `Question ${i + 1}: "options" must be an array.`;
1645
+ }
1646
+ if (question.options.length < 2 || question.options.length > 4) {
1647
+ return `Question ${i + 1}: "options" must contain between 2 and 4 options.`;
1648
+ }
1649
+ for (let j = 0; j < question.options.length; j++) {
1650
+ const option = question.options[j];
1651
+ if (!option.label || typeof option.label !== "string" || option.label.trim() === "") {
1652
+ return `Question ${i + 1}, Option ${j + 1}: "label" must be a non-empty string.`;
1653
+ }
1654
+ if (!option.description || typeof option.description !== "string" || option.description.trim() === "") {
1655
+ return `Question ${i + 1}, Option ${j + 1}: "description" must be a non-empty string.`;
1656
+ }
1657
+ }
1658
+ if (question.multiSelect !== void 0 && typeof question.multiSelect !== "boolean") {
1659
+ return `Question ${i + 1}: "multiSelect" must be a boolean.`;
1660
+ }
1661
+ }
1662
+ return null;
1663
+ }
1664
+ createInvocation(params) {
1665
+ return new AskUserQuestionToolInvocation(this.config, params);
1666
+ }
1667
+ };
1668
+
1284
1669
  export {
1285
1670
  BUILT_IN_OUTPUT_STYLES,
1286
1671
  getBuiltInOutputStyle,
1672
+ resolveEffectiveOutputStyle,
1287
1673
  getOutputStyleTurnReminder,
1288
1674
  resolveInteractionMode,
1289
1675
  isSystemMdActive,
@@ -1296,7 +1682,9 @@ export {
1296
1682
  getPlanModeSystemReminder,
1297
1683
  getManualPlanExitSystemReminder,
1298
1684
  getArenaSystemReminder,
1299
- getInsightPrompt
1685
+ getInsightPrompt,
1686
+ TrustedUserAnswers,
1687
+ AskUserQuestionTool
1300
1688
  };
1301
1689
  /**
1302
1690
  * @license
@@ -1308,3 +1696,13 @@ export {
1308
1696
  * Copyright 2026 Qwen Team
1309
1697
  * SPDX-License-Identifier: Apache-2.0
1310
1698
  */
1699
+ /**
1700
+ * @license
1701
+ * Copyright 2025 Qwen Team
1702
+ * SPDX-License-Identifier: Apache-2.0
1703
+ */
1704
+ /**
1705
+ * @license
1706
+ * Copyright 2025 Qwen
1707
+ * SPDX-License-Identifier: Apache-2.0
1708
+ */
@@ -2,13 +2,13 @@
2
2
  "use strict";
3
3
  import {
4
4
  useKeypress
5
- } from "./chunk-FRICLXCZ.js";
5
+ } from "./chunk-Z6WZPXQH.js";
6
6
  import {
7
7
  require_react
8
8
  } from "./chunk-5QWWOFGG.js";
9
9
  import {
10
10
  t
11
- } from "./chunk-I4NRYS6A.js";
11
+ } from "./chunk-MUZCSTOO.js";
12
12
  import {
13
13
  APPROVAL_MODES
14
14
  } from "./chunk-JX6XHPTX.js";
@@ -6,21 +6,22 @@ import {
6
6
  PROJECT_ENV_HARDCODED_EXCLUSIONS,
7
7
  isHardcodedProjectEnvExclusion,
8
8
  isLoaderEnvKey,
9
+ isPrivateProvenanceEnvKey,
9
10
  publishPendingCompileCache,
10
11
  reportRejectedLoaderKeys,
11
12
  resetLoaderKeyRejectionReportingForTesting
12
- } from "./chunk-2M3EWQNG.js";
13
+ } from "./chunk-NUQFUXOG.js";
13
14
  import {
14
15
  isWorkspaceTrusted
15
- } from "./chunk-65HWLGA7.js";
16
+ } from "./chunk-XY3USGFE.js";
16
17
  import {
17
18
  require_main
18
- } from "./chunk-5M6IDOMF.js";
19
+ } from "./chunk-3K65MUKD.js";
19
20
  import {
20
21
  QWEN_DIR,
21
22
  Storage,
22
23
  getErrorMessage
23
- } from "./chunk-EAHOJF6V.js";
24
+ } from "./chunk-ZAFYHRVY.js";
24
25
  import {
25
26
  init_esbuild_shims
26
27
  } from "./chunk-5O2XNYP6.js";
@@ -303,6 +304,7 @@ __name(parseEnvFiles, "parseEnvFiles");
303
304
  function canApplyParsedEnvKey(envFile, key, excludedVars, options = {}) {
304
305
  if (!Object.hasOwn(envFile.parsedEnv, key)) return false;
305
306
  if (isLoaderEnvKey(key)) return false;
307
+ if (isPrivateProvenanceEnvKey(key)) return false;
306
308
  if (options.reload && isReloadExcludedKey(key)) return false;
307
309
  if (!envFile.isHomeScopedEnvFile && isHardcodedProjectEnvExclusion(key)) {
308
310
  return false;
@@ -0,0 +1,18 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ init_esbuild_shims
5
+ } from "./chunk-5O2XNYP6.js";
6
+
7
+ // packages/core/src/memory/scopes.ts
8
+ init_esbuild_shims();
9
+ var MEMORY_PROJECT_SCOPES = ["git-root", "workspace"];
10
+
11
+ export {
12
+ MEMORY_PROJECT_SCOPES
13
+ };
14
+ /**
15
+ * @license
16
+ * Copyright 2025 Qwen Team
17
+ * SPDX-License-Identifier: Apache-2.0
18
+ */