@qwen-code/qwen-code 0.23.2 → 0.23.3-nightly.20260911.aaa6a32aae

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 (419) hide show
  1. package/README.md +35 -15
  2. package/bundled/computer-use/SKILL.md +1 -1
  3. package/bundled/goal-draft/SKILL.md +10 -10
  4. package/bundled/qc-helper/docs/configuration/model-providers.md +66 -28
  5. package/bundled/qc-helper/docs/configuration/settings.md +8 -3
  6. package/bundled/qc-helper/docs/features/_meta.ts +1 -0
  7. package/bundled/qc-helper/docs/features/channels/dingtalk.md +0 -20
  8. package/bundled/qc-helper/docs/features/channels/dws.md +7 -1
  9. package/bundled/qc-helper/docs/features/channels/overview.md +5 -6
  10. package/bundled/qc-helper/docs/features/commands.md +62 -9
  11. package/bundled/qc-helper/docs/features/computer-use.md +1 -1
  12. package/bundled/qc-helper/docs/features/cross-session-protocol.md +338 -0
  13. package/bundled/qc-helper/docs/features/goals.md +22 -18
  14. package/bundled/qc-helper/docs/features/hooks.md +28 -22
  15. package/bundled/qc-helper/docs/features/sub-agents.md +27 -0
  16. package/bundled/qc-helper/docs/qwen-serve.md +23 -6
  17. package/bundled/review/SKILL.md +93 -80
  18. package/bundled/review/references/persistence.md +2 -0
  19. package/bundled/review/references/posting.md +31 -14
  20. package/bundled/workflow-authoring/SKILL.md +410 -0
  21. package/bundled/workflow-creator/SKILL.md +1 -1
  22. package/chunks/{MaxSizedBox-4C3BKKKY.js → MaxSizedBox-7C5XTBZI.js} +64 -53
  23. package/chunks/{StandaloneSessionPicker-TXVF65YW.js → StandaloneSessionPicker-IGTT3ZRX.js} +88 -76
  24. package/chunks/{acp-startup-profiler-KEU6VAYR.js → acp-startup-profiler-RUQNTNU5.js} +2 -2
  25. package/chunks/acp-subagent-executor-IUHVNVVO.js +140 -0
  26. package/chunks/{acpAgent-H5XBKGB4.js → acpAgent-W43WM2K4.js} +957 -243
  27. package/chunks/{agent-T5LEFJIU.js → agent-2XMXC5JW.js} +48 -38
  28. package/chunks/{agent-headless-VZKSRH36.js → agent-headless-2HHBVCP6.js} +48 -38
  29. package/chunks/{anthropicContentGenerator-PRJWWVYJ.js → anthropicContentGenerator-7RI3MPIW.js} +69 -36
  30. package/chunks/{artifact-tool-G5LHNECG.js → artifact-tool-HHVHCPNG.js} +59 -109
  31. package/chunks/{askUserQuestion-I5W5S3D6.js → askUserQuestion-RFMXTD3B.js} +2 -2
  32. package/chunks/{bridge-AOX5IY44.js → bridge-ID6N4IH5.js} +69 -58
  33. package/chunks/{ca-KC2AISNS.js → ca-MX3WCEEG.js} +1 -1
  34. package/chunks/{channel-management-service-MWQGHPAS.js → channel-management-service-ASCXI7FR.js} +6 -6
  35. package/chunks/{channel-settings-store-XZCGDGHW.js → channel-settings-store-TPJFQAZY.js} +76 -65
  36. package/chunks/{channel-worker-group-SQ5FRWOH.js → channel-worker-group-JR6JOELM.js} +9 -9
  37. package/chunks/{channel-worker-manager-TU4ZNWOE.js → channel-worker-manager-AVKJEZFL.js} +19 -10
  38. package/chunks/{channel-worker-supervisor-EMITFMCP.js → channel-worker-supervisor-OOYY7BAQ.js} +7 -7
  39. package/chunks/{chunk-4WMGYG3F.js → chunk-22FWWGSM.js} +2 -2
  40. package/chunks/{chunk-LWX4WDFF.js → chunk-2S5RIGZJ.js} +43 -15
  41. package/chunks/{chunk-CLKE4IY3.js → chunk-2SZH22YO.js} +1 -1
  42. package/chunks/{chunk-HJ5UJQQL.js → chunk-2UKKQGRA.js} +3639 -1804
  43. package/chunks/{chunk-MWIO7MF6.js → chunk-2WSLXP3W.js} +4 -0
  44. package/chunks/{chunk-HNLMYDQE.js → chunk-33LYAC4R.js} +10 -6
  45. package/chunks/{chunk-VBLAI2HA.js → chunk-3FPYT6QC.js} +0 -31
  46. package/chunks/{chunk-F53KKZUD.js → chunk-3LMDSCLU.js} +158 -10
  47. package/chunks/{chunk-WXFCI3O5.js → chunk-3MAUPOZ4.js} +2 -2
  48. package/chunks/{chunk-CRZBDVP2.js → chunk-432JQKIO.js} +10 -10
  49. package/chunks/{chunk-IRGDIDGJ.js → chunk-43RQ552L.js} +364 -84
  50. package/chunks/{chunk-PFKGV6PO.js → chunk-465USTVK.js} +9 -15
  51. package/chunks/{chunk-WG7BL3FY.js → chunk-473RJLIH.js} +1 -1
  52. package/chunks/{chunk-J3VZF2AL.js → chunk-4O2AXZXU.js} +2 -2
  53. package/chunks/{chunk-N6S3NUYJ.js → chunk-55VOWZ4C.js} +1 -1
  54. package/chunks/{chunk-OWCFKIFQ.js → chunk-5CZMWDJI.js} +2 -2
  55. package/chunks/{chunk-7NDZKE2M.js → chunk-5MUIHID6.js} +5 -5
  56. package/chunks/{chunk-RM244SCQ.js → chunk-5Z74GE4N.js} +1 -1
  57. package/chunks/{chunk-G5VOXCRX.js → chunk-6375QMAO.js} +2 -2
  58. package/chunks/{chunk-3LPJ776W.js → chunk-63GQZKXL.js} +164 -31
  59. package/chunks/{chunk-O2FEO2CB.js → chunk-6GDELAVL.js} +18 -2
  60. package/chunks/{chunk-7PD7ZMX5.js → chunk-6HI2I3OM.js} +168 -6
  61. package/chunks/{chunk-CALNF3Z3.js → chunk-7C57HCOR.js} +1 -1
  62. package/chunks/{chunk-UYDQYDW2.js → chunk-7IBS746B.js} +1 -1
  63. package/chunks/{chunk-AUTUFD5X.js → chunk-ABNX6E6K.js} +1 -1
  64. package/chunks/chunk-ACHCT36C.js +28 -0
  65. package/chunks/{chunk-2WC3Y7YY.js → chunk-AEY27Z35.js} +401 -23
  66. package/chunks/{chunk-AO2VMS72.js → chunk-AQFRRH73.js} +3 -3
  67. package/chunks/{chunk-PDN7FJZV.js → chunk-ASWEMQIZ.js} +4 -4
  68. package/chunks/chunk-AYEJOTIU.js +43 -0
  69. package/chunks/{chunk-QFJZAY7W.js → chunk-BKFRA4F5.js} +5 -5
  70. package/chunks/{chunk-KCF2436G.js → chunk-BNLW5N6U.js} +4 -4
  71. package/chunks/{chunk-GOKAOSCN.js → chunk-BRFOZEPA.js} +2 -2
  72. package/chunks/{process-registry-OAEG6WGC.js → chunk-BYUAT5OC.js} +1 -0
  73. package/chunks/chunk-C5CECJ46.js +340 -0
  74. package/chunks/{chunk-NOO4QFXM.js → chunk-C75BXMPM.js} +1 -3
  75. package/chunks/chunk-CAAMI77K.js +937 -0
  76. package/chunks/{chunk-QTB4VP4K.js → chunk-CBGHRAWM.js} +304 -23
  77. package/chunks/chunk-CF5KXZZX.js +150 -0
  78. package/chunks/chunk-CFMZLE3L.js +75 -0
  79. package/chunks/{chunk-TGNNLRC3.js → chunk-CJ3DHN5I.js} +1 -0
  80. package/chunks/{chunk-ERXNTINK.js → chunk-CQZJYGRX.js} +1 -1
  81. package/chunks/{chunk-WBU2PIZ5.js → chunk-CSDKDHWV.js} +23 -16
  82. package/chunks/{chunk-2EKVPSIJ.js → chunk-D754KKNZ.js} +9 -2
  83. package/chunks/{chunk-E6TI726I.js → chunk-DGC7BKEZ.js} +1 -1
  84. package/chunks/{chunk-7SVM3RP2.js → chunk-DMMOQWRF.js} +4 -6
  85. package/chunks/{chunk-J3TJH52D.js → chunk-DOTF2PF2.js} +1 -1
  86. package/chunks/{chunk-2BMXHB6N.js → chunk-DWBNQR53.js} +7 -7
  87. package/chunks/{chunk-ZN5TKAVR.js → chunk-E5LTUWKZ.js} +3 -3
  88. package/chunks/chunk-EGW3ZP6Y.js +32 -0
  89. package/chunks/chunk-ELRMZTPF.js +374 -0
  90. package/chunks/{chunk-RNAJVXUG.js → chunk-ENAUXRPG.js} +6 -6
  91. package/chunks/{chunk-WXD7INFV.js → chunk-EO4U2X47.js} +10 -8
  92. package/chunks/{chunk-WDVV3LRM.js → chunk-EPVEPTI3.js} +45 -152
  93. package/chunks/chunk-ERU3SDXT.js +27 -0
  94. package/chunks/{chunk-4HOEU2OR.js → chunk-EWJTAP3Y.js} +1 -19
  95. package/chunks/{chunk-GSFV5RQW.js → chunk-EYN3G5XD.js} +328 -4
  96. package/chunks/{chunk-QB3KS3N3.js → chunk-FGROOEKM.js} +5 -40
  97. package/chunks/{chunk-TOOOLHVS.js → chunk-FH5AVEWJ.js} +3 -3
  98. package/chunks/{chunk-DAI65CMX.js → chunk-FJZWRNEW.js} +1 -1
  99. package/chunks/{chunk-GNY7B3CA.js → chunk-FUQK5ZNL.js} +1 -1
  100. package/chunks/{chunk-GOEVQADN.js → chunk-GDIPPCW6.js} +330 -175
  101. package/chunks/{chunk-ALMR3E6Q.js → chunk-GDWE23OR.js} +3 -3
  102. package/chunks/{chunk-LNYV4GXX.js → chunk-GSKX53AN.js} +0 -139
  103. package/chunks/{chunk-ELD3OBPU.js → chunk-GWOVD63C.js} +3 -3
  104. package/chunks/{chunk-IWABUX6T.js → chunk-GX5FF2IE.js} +6 -6
  105. package/chunks/{chunk-22GORRNY.js → chunk-GZMNHAYC.js} +1 -1
  106. package/chunks/{chunk-YZTGGCEE.js → chunk-H3TFIFX3.js} +1 -1
  107. package/chunks/{chunk-6G4V7SE4.js → chunk-HG46TTAG.js} +1 -1
  108. package/chunks/{chunk-FETY36NQ.js → chunk-HGEUHUEV.js} +1 -1
  109. package/chunks/{chunk-KEPC5BOL.js → chunk-IBRQG2MP.js} +12 -15
  110. package/chunks/{chunk-OXR34GCD.js → chunk-IILWL3KY.js} +2054 -146
  111. package/chunks/{chunk-IW6RQPQB.js → chunk-IJOS26LH.js} +1 -3
  112. package/chunks/{chunk-ORFIYTI2.js → chunk-IK2MWJP5.js} +1 -1
  113. package/chunks/{chunk-CMWU6P4D.js → chunk-IRJRB3OD.js} +1 -1
  114. package/chunks/{chunk-QHLHE2OT.js → chunk-IUN5ZMFY.js} +1 -1
  115. package/chunks/{chunk-LYT2OU7D.js → chunk-IXXV6BVB.js} +172 -6
  116. package/chunks/{chunk-R3JIDRUL.js → chunk-J6H4JP25.js} +4 -4
  117. package/chunks/{chunk-NB3NDQQK.js → chunk-J6SBP5G2.js} +1 -1
  118. package/chunks/{chunk-TRQNRP2H.js → chunk-J7LBAKDH.js} +46 -3
  119. package/chunks/{chunk-67XTVRVB.js → chunk-JJFHISXU.js} +30 -25
  120. package/chunks/chunk-JL6APGBX.js +43 -0
  121. package/chunks/{chunk-NX7ZTXFF.js → chunk-JSKEW4E7.js} +2 -1
  122. package/chunks/{chunk-BK7D2JR6.js → chunk-JVTXAA35.js} +3 -3
  123. package/chunks/chunk-K2OJUPOE.js +78 -0
  124. package/chunks/{chunk-G3ZUMSFS.js → chunk-K3U6VB3O.js} +6 -6
  125. package/chunks/{chunk-4I3WFI3U.js → chunk-K4KWLF7Q.js} +12 -12
  126. package/chunks/{chunk-WXPPUPHM.js → chunk-KWFFJ6AK.js} +1 -1
  127. package/chunks/{chunk-46MMBZHI.js → chunk-KZYOFJ6V.js} +4 -4
  128. package/chunks/{chunk-ULZECEIP.js → chunk-LDQHA6L4.js} +2 -20
  129. package/chunks/{chunk-7LTCFO6T.js → chunk-LQBAFO5D.js} +6 -5
  130. package/chunks/{chunk-SOA4HKRJ.js → chunk-LT2XFADM.js} +2 -2
  131. package/chunks/{chunk-JYGIJA4W.js → chunk-LWWRJRCD.js} +1 -1
  132. package/chunks/{chunk-YQGW3M6Z.js → chunk-MFQWRBFB.js} +5 -5
  133. package/chunks/{chunk-TODNHE76.js → chunk-MUFGTWQH.js} +5 -5
  134. package/chunks/{chunk-5DQ4YTIZ.js → chunk-MV5XRRML.js} +3 -3
  135. package/chunks/{chunk-IR6JKBAP.js → chunk-NOUK63IR.js} +2 -2
  136. package/chunks/{chunk-XQ4RDO5B.js → chunk-NV77SEX3.js} +1 -1
  137. package/chunks/{chunk-OFVAS4AR.js → chunk-NWDPOFJI.js} +2 -2
  138. package/chunks/chunk-NY6OPAPS.js +820 -0
  139. package/chunks/{chunk-WDN64MVT.js → chunk-O5VX66FB.js} +127 -18
  140. package/chunks/{chunk-MV5DTLJV.js → chunk-OHCR4O3U.js} +1 -1
  141. package/chunks/{chunk-LEAOJ43M.js → chunk-OKOPKQ2X.js} +1310 -2107
  142. package/chunks/{chunk-B25JYXZE.js → chunk-ONLJBOI2.js} +971 -17
  143. package/chunks/{chunk-QQK4L3UU.js → chunk-OWUAZXXN.js} +132 -26
  144. package/chunks/{chunk-R457KFV7.js → chunk-P42IUOAO.js} +3 -3
  145. package/chunks/{chunk-LUNC5KCL.js → chunk-PRELUGCQ.js} +214 -39
  146. package/chunks/{chunk-5OZUKLL7.js → chunk-QSMQKTXV.js} +4 -4
  147. package/chunks/{chunk-FAJPLSYF.js → chunk-QTQYLQ5A.js} +85 -81
  148. package/chunks/{chunk-CALTQWTZ.js → chunk-QVZDV4ZS.js} +2 -2
  149. package/chunks/{chunk-J6MB5ZHZ.js → chunk-QZW6WRB7.js} +2 -1
  150. package/chunks/{chunk-KFECPHLV.js → chunk-RBWAGV73.js} +3 -3
  151. package/chunks/{chunk-4VY3ITHR.js → chunk-RF5RQRTD.js} +3 -3
  152. package/chunks/{chunk-HIXUUCGY.js → chunk-RPMXMR6U.js} +2 -2
  153. package/chunks/{chunk-3OAXF3UK.js → chunk-RRQEZBL2.js} +3756 -1343
  154. package/chunks/{chunk-4ALNJDHL.js → chunk-RSGEAWFJ.js} +19 -1
  155. package/chunks/{chunk-5BH2AIEY.js → chunk-RUE62UH6.js} +2 -2
  156. package/chunks/{chunk-PQEISIKS.js → chunk-SAH4BD2J.js} +0 -67
  157. package/chunks/{chunk-A7EFXK7P.js → chunk-SAOJHRWY.js} +2 -2
  158. package/chunks/{chunk-JO77FGNZ.js → chunk-SDUIETBG.js} +19 -7
  159. package/chunks/{chunk-6RZX2HIH.js → chunk-TBEXLLAO.js} +2 -2
  160. package/chunks/{chunk-PSPAM24S.js → chunk-TBSCTWKF.js} +6 -0
  161. package/chunks/{chunk-HRPFBHW7.js → chunk-TPKQIA7G.js} +1 -0
  162. package/chunks/{chunk-XDNFODER.js → chunk-TUIW5LLK.js} +1 -1
  163. package/chunks/{chunk-APXIW2TF.js → chunk-TVV5FA3G.js} +4 -4
  164. package/chunks/chunk-U6H3XTFA.js +95 -0
  165. package/chunks/{chunk-S5QR6CB5.js → chunk-UKMWZ5NS.js} +108 -887
  166. package/chunks/{chunk-U6REWGVR.js → chunk-VG2BRSEK.js} +2 -2
  167. package/chunks/chunk-VGBOJH2D.js +127 -0
  168. package/chunks/chunk-VGY2RGXL.js +100 -0
  169. package/chunks/{chunk-ZP5XDLSA.js → chunk-VLWG3EHY.js} +12 -12
  170. package/chunks/{chunk-4JNHNVAZ.js → chunk-W547PYQ7.js} +9 -4
  171. package/chunks/{chunk-7VEYUF3N.js → chunk-W5ZQMAEM.js} +1 -1
  172. package/chunks/{chunk-QAZ2MGYT.js → chunk-W7JJLUSB.js} +2 -2
  173. package/chunks/{chunk-CCBTNJB4.js → chunk-W7Q7XDQI.js} +39 -27
  174. package/chunks/{chunk-DARWOZY6.js → chunk-WD6YQI5M.js} +1 -1
  175. package/chunks/{chunk-F2NYVASI.js → chunk-WXAWG3JS.js} +30 -13
  176. package/chunks/{chunk-NPKCVSXX.js → chunk-XB5JRCAM.js} +11 -9
  177. package/chunks/{chunk-XSOXPG2L.js → chunk-XE46RQFI.js} +136 -8
  178. package/chunks/{chunk-QTNCGZHQ.js → chunk-XX5HQLCZ.js} +16 -0
  179. package/chunks/{chunk-2Z3T52OC.js → chunk-Y5TM7SBV.js} +7 -2
  180. package/chunks/chunk-YC6XOB5N.js +691 -0
  181. package/chunks/{chunk-CWVZBIZJ.js → chunk-YDW4ERSS.js} +1 -1
  182. package/chunks/{chunk-TRWQQBVH.js → chunk-YGCTOXUT.js} +10 -24
  183. package/chunks/{chunk-WK7P62DV.js → chunk-YKC67ZEF.js} +6 -6
  184. package/chunks/{chunk-KA5HR3G2.js → chunk-YKM6MITI.js} +5 -5
  185. package/chunks/{chunk-X7LFJF5D.js → chunk-YM6KUQ2S.js} +36 -84
  186. package/chunks/{chunk-HZ2HUXX7.js → chunk-YS2ZJSOA.js} +29 -12
  187. package/chunks/{chunk-G37O7YO6.js → chunk-ZAWM6KRF.js} +3 -3
  188. package/chunks/{chunk-H3Q3RSKZ.js → chunk-ZFIWHBJ3.js} +1 -1
  189. package/chunks/{chunk-XBVNNDPK.js → chunk-ZHKTKHMO.js} +8 -1
  190. package/chunks/{chunk-YLOHCA6I.js → chunk-ZKWO4CF4.js} +2 -2
  191. package/chunks/{chunk-VJJXG73H.js → chunk-ZMQL5BL5.js} +21 -6
  192. package/chunks/{chunk-FGHPZGOP.js → chunk-ZMUYBOYB.js} +39 -55
  193. package/chunks/{chunk-FV4DM2M4.js → chunk-ZNI3YJHS.js} +26 -6
  194. package/chunks/{chunk-565U2ANU.js → chunk-ZTTC7T4X.js} +1 -1
  195. package/chunks/{chunk-7OCIQNKX.js → chunk-ZW2EUO2A.js} +1 -1
  196. package/chunks/codex-subagent-executor-26XOHVKH.js +585 -0
  197. package/chunks/{config-utils-GPLIABL2.js → config-utils-JUG3MOYN.js} +68 -57
  198. package/chunks/{contextCommand-NCUQUDBY.js → contextCommand-6K3POZFA.js} +65 -54
  199. package/chunks/{core-runtime-WKYKWVYU.js → core-runtime-XQFZLA2V.js} +66 -55
  200. package/chunks/{create-sub-session-TGIX63YU.js → create-sub-session-4UJ6RM6W.js} +5 -2
  201. package/chunks/{create-sub-session-PPLXB3JJ.js → create-sub-session-T4IYIOC7.js} +178 -91
  202. package/chunks/{cron-create-GTPVMJCF.js → cron-create-6466RWSO.js} +2 -2
  203. package/chunks/{cron-delete-ZBK27Z4K.js → cron-delete-W4QUWHOA.js} +2 -2
  204. package/chunks/{cron-list-KTFKFDKC.js → cron-list-Q5LJ5PZE.js} +2 -2
  205. package/chunks/{daemon-2CKIAO3I.js → daemon-PHPJUXDZ.js} +4 -2
  206. package/chunks/{daemon-git-worktree-guard-73ZWOLKL.js → daemon-git-worktree-guard-5WEMZ64U.js} +65 -54
  207. package/chunks/{daemon-status-provider-OK7VONJG.js → daemon-status-provider-GMD7QD4T.js} +74 -63
  208. package/chunks/{daemon-trust-policy-CAUCREG2.js → daemon-trust-policy-IPBZES2Z.js} +71 -60
  209. package/chunks/{daemon-trust-policy-monitor-3Y36OOEQ.js → daemon-trust-policy-monitor-MHYEN7X7.js} +71 -60
  210. package/chunks/{de-UU2YTO37.js → de-OOLZAU2U.js} +1 -1
  211. package/chunks/{deferred-core-runtime-Q7WFWYD3.js → deferred-core-runtime-CY43FZNZ.js} +63 -52
  212. package/chunks/{discovery-XP4RMDUM.js → discovery-5KUEPR65.js} +2 -2
  213. package/chunks/{display-image-CTNHJRZC.js → display-image-6AZIHP3J.js} +3 -3
  214. package/chunks/{dist-F34J4FZX.js → dist-2QYIVNS6.js} +2 -5
  215. package/chunks/{dist-6YDUH3BB.js → dist-GIMQXYLI.js} +10 -631
  216. package/chunks/{dist-NP7QKLVG.js → dist-GUB7QRYA.js} +3 -6
  217. package/chunks/{dist-Y5KC3IHW.js → dist-L45UB6DG.js} +233 -35
  218. package/chunks/{dist-XLV33CLY.js → dist-MPUZZOG5.js} +5 -18
  219. package/chunks/{dist-ZDNJK74R.js → dist-PA7WPFVE.js} +6 -37
  220. package/chunks/{dist-F6JLAJLE.js → dist-T6DDPDLQ.js} +16 -36
  221. package/chunks/{dist-BNQVF565.js → dist-TFGETXFN.js} +14 -37
  222. package/chunks/{dist-UFTFGI6I.js → dist-VDLSBCLM.js} +2 -6
  223. package/chunks/{edit-YJD6IETK.js → edit-6NUP5IPX.js} +48 -38
  224. package/chunks/{en-YJNRUQG4.js → en-ZSZW3PZX.js} +4 -1
  225. package/chunks/{enter-worktree-YFTKHXHZ.js → enter-worktree-EETDMJRF.js} +5 -5
  226. package/chunks/{enterPlanMode-EFPVTWIH.js → enterPlanMode-AZHYHEII.js} +48 -38
  227. package/chunks/{environment-HP3AXFTB.js → environment-ON6GIQ4F.js} +66 -55
  228. package/chunks/{errors-22ON46G7.js → errors-DQE63SCC.js} +65 -54
  229. package/chunks/exec-66WQIVYU.js +505 -0
  230. package/chunks/{exit-worktree-NF2XEMES.js → exit-worktree-DIPJ6S55.js} +5 -5
  231. package/chunks/{exitPlanMode-MOQUNCBH.js → exitPlanMode-NHBV6LAI.js} +48 -38
  232. package/chunks/{fast-path-2X7BPMXX.js → fast-path-EPJSUZZC.js} +7 -7
  233. package/chunks/{fast-path-settings-SATXY3PD.js → fast-path-settings-XDYX7X5Z.js} +2 -2
  234. package/chunks/{fr-HKNWVXRJ.js → fr-JJWM2HUS.js} +1 -1
  235. package/chunks/{glob-Y7ACIB3P.js → glob-MNEXQ2NV.js} +51 -41
  236. package/chunks/{goal-tools-DABMICUC.js → goal-tools-D2A4QBCJ.js} +54 -40
  237. package/chunks/{grep-BLHF2S5D.js → grep-EFWPV3MM.js} +2 -2
  238. package/chunks/{handleAutoUpdate-MCAMHYDI.js → handleAutoUpdate-2RY3OQA6.js} +67 -56
  239. package/chunks/{i18n-C3GDCALP.js → i18n-HTHDB3I7.js} +64 -53
  240. package/chunks/{image-gen-XP4NNIYG.js → image-gen-2PHED3P4.js} +8 -6
  241. package/chunks/{initializer-4URDQL2G.js → initializer-JEVLJCQA.js} +71 -60
  242. package/chunks/{installationInfo-LBOL6SBV.js → installationInfo-ITRB6J4L.js} +63 -52
  243. package/chunks/{ja-GJS5RZGU.js → ja-L67TXFDJ.js} +1 -1
  244. package/chunks/list-KOUIMHT5.js +133 -0
  245. package/chunks/{list-agents-2CXPGJUE.js → list-agents-IY4NEWLP.js} +17 -7
  246. package/chunks/{llm-2KPNSAVY.js → llm-F7WHGESY.js} +132 -120
  247. package/chunks/{llm-content-generator-GR3FOHLB.js → llm-content-generator-NYQ2NAVA.js} +6 -5
  248. package/chunks/{loadedSettingsAdapter-DVKROEJD.js → loadedSettingsAdapter-HZUAX5CX.js} +71 -60
  249. package/chunks/{loggingContentGenerator-P4K6K5W4.js → loggingContentGenerator-WMNU7C5J.js} +70 -59
  250. package/chunks/{loop-wakeup-HL6XOWI4.js → loop-wakeup-ANX25YW2.js} +3 -3
  251. package/chunks/{ls-YV7RKLKY.js → ls-4XCMJNZF.js} +4 -4
  252. package/chunks/{lsp-NO3AMRZT.js → lsp-K5E2Y64R.js} +1 -1
  253. package/chunks/{managed-npm-update-VWBKHNIN.js → managed-npm-update-EJJB65QI.js} +63 -52
  254. package/chunks/mcp-I73R6HS3.js +127 -0
  255. package/chunks/{monitor-A255TNZR.js → monitor-T56GJNA4.js} +50 -40
  256. package/chunks/{nonInteractiveCli-LXGIKQAT.js → nonInteractiveCli-CKHHJ423.js} +120 -109
  257. package/chunks/{notebook-edit-5UYHS2DM.js → notebook-edit-W5TU3EZ3.js} +48 -38
  258. package/chunks/openai-WX26N5OJ.js +47 -0
  259. package/chunks/{openaiContentGenerator-A6MAMEO5.js → openaiContentGenerator-TH6YAWAH.js} +33 -25
  260. package/chunks/openaiResponsesContentGenerator-EWLWQPKS.js +1738 -0
  261. package/chunks/{pidfile-B7DZC4TP.js → pidfile-RCC6TCEM.js} +63 -52
  262. package/chunks/process-registry-X6ZCASEN.js +10 -0
  263. package/chunks/{processUtils-BPZ2MCZS.js → processUtils-DQDQBRMC.js} +2 -2
  264. package/chunks/{prompt-terminal-ledger-FYYTAOXS.js → prompt-terminal-ledger-2LXWAGWU.js} +64 -53
  265. package/chunks/{pt-FXMYXEUV.js → pt-77SBDL4B.js} +1 -1
  266. package/chunks/{qwenContentGenerator-4IOJFD4S.js → qwenContentGenerator-LG65Z2YV.js} +61 -49
  267. package/chunks/{qwenOAuth2-KX6LVYQ3.js → qwenOAuth2-PJ63CCFD.js} +7 -5
  268. package/chunks/{read-file-A4H4O3VQ.js → read-file-72HMRUT4.js} +12 -9
  269. package/chunks/{read-mcp-resource-D3N75DGF.js → read-mcp-resource-NPF44YSC.js} +1 -1
  270. package/chunks/{record-artifact-Q5CRGJTP.js → record-artifact-MDXCCW2J.js} +3 -3
  271. package/chunks/record-source-VJLKDGGR.js +22 -0
  272. package/chunks/{report-findings-TJ34R7QK.js → report-findings-CZTYMZTC.js} +4 -4
  273. package/chunks/{request-shutdown-LRKMTBAD.js → request-shutdown-KOZHPVZU.js} +5 -5
  274. package/chunks/{resumeHistoryUtils-YQQ43E4N.js → resumeHistoryUtils-S2Q3M3EH.js} +69 -58
  275. package/chunks/{ripGrep-W32NWFTA.js → ripGrep-B2I3L5CO.js} +17 -13
  276. package/chunks/{ru-RMHURE5U.js → ru-UYWHKWF2.js} +1 -1
  277. package/chunks/{run-qwen-serve-WBSWWIRV.js → run-qwen-serve-AOPYFCVP.js} +305 -132
  278. package/chunks/{runtime-VRVBX2E5.js → runtime-TZMHKZAP.js} +77 -66
  279. package/chunks/{scheduled-tasks-D65KJDA3.js → scheduled-tasks-7RL6ZOYT.js} +72 -60
  280. package/chunks/{scheduler-M2YPN7Z7.js → scheduler-D6RLOFNU.js} +65 -54
  281. package/chunks/{sdk-exporters-grpc-MXTVSE3C.js → sdk-exporters-grpc-Y2ZUQDUQ.js} +2 -2
  282. package/chunks/{sdk-exporters-http-7R2ARBPV.js → sdk-exporters-http-VWTF4W6K.js} +3 -3
  283. package/chunks/{sdk-impl-YOLO7LV4.js → sdk-impl-G6FVTBQZ.js} +9 -9
  284. package/chunks/{send-message-76BKWKFZ.js → send-message-MMZVSS7P.js} +12 -9
  285. package/chunks/{serve-BE3H2P6P.js → serve-HWWDYI37.js} +72 -61
  286. package/chunks/{server-FLY5JERG.js → server-MD2X5U5L.js} +3156 -564
  287. package/chunks/{session-JVN62R5K.js → session-AFUMFNN7.js} +124 -113
  288. package/chunks/{session-attachments-root-7ACGLHXA.js → session-attachments-root-QPN3YWTY.js} +63 -52
  289. package/chunks/{session-pr-refresh-TQS57SDK.js → session-pr-refresh-4Y2ANMJX.js} +72 -60
  290. package/chunks/{settings-D44YMZFT.js → settings-QQRQ2LR7.js} +74 -63
  291. package/chunks/{shell-3VE6I4V5.js → shell-NUYUYMVI.js} +48 -38
  292. package/chunks/{skill-FHEGRRZU.js → skill-KHLDVOXW.js} +68 -30
  293. package/chunks/{skill-settings-VHEJMBFL.js → skill-settings-INLEGDEZ.js} +70 -59
  294. package/chunks/{spawnChannel-T6MX2ZDN.js → spawnChannel-KBGZHW2G.js} +67 -56
  295. package/chunks/{standalone-update-QUGHFMCS.js → standalone-update-3QP5NDVJ.js} +65 -54
  296. package/chunks/{start-opentui-ui-IHIIZ2LE.js → start-opentui-ui-VBT3XDWN.js} +2682 -2153
  297. package/chunks/{startInteractiveUI-LR7K2ARZ.js → startInteractiveUI-AZHKCHMR.js} +1562 -2317
  298. package/chunks/{syntheticOutput-D2P5V6RG.js → syntheticOutput-KRASPDE3.js} +2 -2
  299. package/chunks/{task-create-MWXJFRRM.js → task-create-TNXNT7ZD.js} +8 -8
  300. package/chunks/{task-list-EYO3FE57.js → task-list-FHNIJDKT.js} +1 -1
  301. package/chunks/{task-stop-BFSKRTGV.js → task-stop-MG4ZMTEI.js} +1 -1
  302. package/chunks/{task-update-2JJJRHMT.js → task-update-4HU62CJT.js} +8 -8
  303. package/chunks/{team-create-GY3VFY47.js → team-create-K5DNSJXR.js} +50 -40
  304. package/chunks/{team-delete-IQZ6XGFI.js → team-delete-2T44GUNN.js} +1 -1
  305. package/chunks/{team-plan-approval-BQPGZOT5.js → team-plan-approval-2ZNAQT2A.js} +48 -38
  306. package/chunks/{terminal-image-renderer-YNYW5CQG.js → terminal-image-renderer-23CW4A6Q.js} +65 -54
  307. package/chunks/{theme-manager-U6CIK3GM.js → theme-manager-G2333AMH.js} +63 -52
  308. package/chunks/{todoWrite-5ERKFWAK.js → todoWrite-BO2GR5MN.js} +4 -4
  309. package/chunks/{tool-search-XI3QWD5I.js → tool-search-MKQCKXN5.js} +22 -15
  310. package/chunks/{total-session-admission-3SNSJJ32.js → total-session-admission-ENKTM2KX.js} +69 -58
  311. package/chunks/{trustedFolders-OVAQKNV5.js → trustedFolders-2ETDL7OD.js} +64 -53
  312. package/chunks/{update-relaunch-XV5O74E3.js → update-relaunch-FMVNN5KA.js} +5 -5
  313. package/chunks/{updateCheck-CHUYWD6L.js → updateCheck-KWRV5KLJ.js} +66 -55
  314. package/chunks/{useAutoAcceptIndicator-VKSVIXZC.js → useAutoAcceptIndicator-7AUXAIQF.js} +73 -62
  315. package/chunks/{validateNonInterActiveAuth-ZNUTD3E5.js → validateNonInterActiveAuth-NETKLLDV.js} +117 -106
  316. package/chunks/{version-EK7VAGSI.js → version-DACNN2ZM.js} +1 -1
  317. package/chunks/{web-fetch-24KZO763.js → web-fetch-CIVCRET4.js} +16 -12
  318. package/chunks/{web-search-CRNXKZ2X.js → web-search-GOHZRGMM.js} +389 -327
  319. package/chunks/{web-shell-static-BFDESDD4.js → web-shell-static-T7UGLVE4.js} +2 -7
  320. package/chunks/workflow-IL2FOALZ.js +1324 -0
  321. package/chunks/workspace-providers-status-YGXL6N5U.js +131 -0
  322. package/chunks/{workspace-registration-store-HKLJEDQX.js → workspace-registration-store-E4IAOFFZ.js} +3 -1
  323. package/chunks/{workspace-registry-7RDDOBLN.js → workspace-registry-KX6BIBYK.js} +69 -58
  324. package/chunks/{workspace-runtime-coordinator-LEPDPXJO.js → workspace-runtime-coordinator-2KYYGDDR.js} +72 -59
  325. package/chunks/{workspace-service-5IFDCNN3.js → workspace-service-5Q6LWBYR.js} +76 -65
  326. package/chunks/{workspace-skills-status-FJ3HNH4H.js → workspace-skills-status-PJZTFPVV.js} +72 -61
  327. package/chunks/{workspace-trust-reconciler-PQFHIWLR.js → workspace-trust-reconciler-HS6PWNEA.js} +77 -66
  328. package/chunks/{write-file-ERG67ZFX.js → write-file-JB3DRM7O.js} +50 -40
  329. package/chunks/{zh-VBFCRQBL.js → zh-7UJA4ICT.js} +4 -1
  330. package/chunks/{zh-TW-N2TBF2F2.js → zh-TW-RV24PWUI.js} +4 -1
  331. package/chunks/{zoom-image-WQYEC3SR.js → zoom-image-AVHQFOOQ.js} +12 -9
  332. package/cli.js +16 -16
  333. package/codeModeHost.js +4425 -0
  334. package/export-transcript-document.css +1 -0
  335. package/export-transcript-document.js +164 -165
  336. package/locales/ca.js +2 -2
  337. package/locales/de.js +2 -2
  338. package/locales/en.js +5 -2
  339. package/locales/fr.js +2 -2
  340. package/locales/ja.js +2 -2
  341. package/locales/pt.js +2 -2
  342. package/locales/ru.js +2 -2
  343. package/locales/zh-TW.js +5 -2
  344. package/locales/zh.js +5 -2
  345. package/package.json +6 -4
  346. package/web-shell/assets/{abnfDiagram-VCTEODGH-BRLgQbnT.js → abnfDiagram-VCTEODGH-BH2nK5Z_.js} +1 -1
  347. package/web-shell/assets/{arc-qAF9_XsR.js → arc-CUUQ6krv.js} +1 -1
  348. package/web-shell/assets/{architectureDiagram-5GKGNRK7-BorUttEz.js → architectureDiagram-5GKGNRK7-CJjiRuGx.js} +1 -1
  349. package/web-shell/assets/{blockDiagram-NRAW4CY4-Bj0qZVxu.js → blockDiagram-NRAW4CY4-GCDyU9ZX.js} +1 -1
  350. package/web-shell/assets/{c4Diagram-UCG6FXSJ-BTqJis32.js → c4Diagram-UCG6FXSJ-C68MiN6h.js} +1 -1
  351. package/web-shell/assets/channel-DauVlmdF.js +1 -0
  352. package/web-shell/assets/{chunk-2Q5K7J3B-RrQ5X8m-.js → chunk-2Q5K7J3B-_8B6frXZ.js} +1 -1
  353. package/web-shell/assets/{chunk-5VM5RSS4-uUjDl8wO.js → chunk-5VM5RSS4-CroSinX7.js} +1 -1
  354. package/web-shell/assets/{chunk-F27PBJKO-C3JhpyzI.js → chunk-F27PBJKO-CGn4Z0Fx.js} +1 -1
  355. package/web-shell/assets/{chunk-G27WJ6UU-C8ZNFs7F.js → chunk-G27WJ6UU-BI5nLQcf.js} +1 -1
  356. package/web-shell/assets/{chunk-JWPE2WC7-DNpXtEOs.js → chunk-JWPE2WC7-CYJH0FuH.js} +1 -1
  357. package/web-shell/assets/{chunk-LCL6LL3I-DagA2ZLw.js → chunk-LCL6LL3I-DjWZUqA1.js} +1 -1
  358. package/web-shell/assets/{chunk-POPQ4Y6H-R23uH7Xm.js → chunk-POPQ4Y6H-DcTkIHm8.js} +1 -1
  359. package/web-shell/assets/{chunk-SVP7TREG-Qz9RN_BR.js → chunk-SVP7TREG-E8sZT5uK.js} +1 -1
  360. package/web-shell/assets/{chunk-XXDRQBXY-jYb1_hni.js → chunk-XXDRQBXY-CurjPKw_.js} +1 -1
  361. package/web-shell/assets/classDiagram-DTDB5LWJ-BuIh7bj1.js +1 -0
  362. package/web-shell/assets/classDiagram-v2-JRS7N3AN-BuIh7bj1.js +1 -0
  363. package/web-shell/assets/{cose-bilkent-JH36ORCC-Cv2OunpE.js → cose-bilkent-JH36ORCC-CJEnNhth.js} +1 -1
  364. package/web-shell/assets/{cynefin-OW5HDTMX-LH42KFJx.js → cynefin-OW5HDTMX-jwEkm0yw.js} +1 -1
  365. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-Dha4_OoR.js → cynefinDiagram-5FMLGOSQ-B-OVQ6AO.js} +1 -1
  366. package/web-shell/assets/{dagre-3AP2YEHR-Br5lnUKD.js → dagre-3AP2YEHR-CKKK9WNR.js} +1 -1
  367. package/web-shell/assets/{diagram-S7CK7UJ4-dpKq2bBX.js → diagram-S7CK7UJ4-D486veFQ.js} +1 -1
  368. package/web-shell/assets/{diagram-UQ7AKVKN-BAgHWpXr.js → diagram-UQ7AKVKN-C3GujqHv.js} +1 -1
  369. package/web-shell/assets/{diagram-VSXAHHWV-GRRzpyE2.js → diagram-VSXAHHWV-BrOTDwuU.js} +1 -1
  370. package/web-shell/assets/{diagram-VX7I27RA-BNFiaYpG.js → diagram-VX7I27RA-C4D9kWE3.js} +1 -1
  371. package/web-shell/assets/{diagram-Z3DM3KII-BisZzB_h.js → diagram-Z3DM3KII-7rAManT0.js} +1 -1
  372. package/web-shell/assets/{ebnfDiagram-PWID7BFC-B1xbwycf.js → ebnfDiagram-PWID7BFC-CqVzKOdr.js} +1 -1
  373. package/web-shell/assets/{erDiagram-SSCWMZ5O-CQMzbGE5.js → erDiagram-SSCWMZ5O-D2s08fc_.js} +1 -1
  374. package/web-shell/assets/{flowDiagram-A5DVABFB-CZ_Zondl.js → flowDiagram-A5DVABFB-CrKtBxB2.js} +1 -1
  375. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-BTh2ShxS.js → ganttDiagram-EL5Y4UJY-CD1CKdlt.js} +1 -1
  376. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-oHOB-Uxt.js → gitGraphDiagram-WWUBYQGX-CHDXdVNn.js} +1 -1
  377. package/web-shell/assets/index-D8tzgUOC.css +36 -0
  378. package/web-shell/assets/{index-DWoFMu5x.js → index-DWz95m74.js} +1 -1
  379. package/web-shell/assets/index-cDFf68Wd.js +2204 -0
  380. package/web-shell/assets/{infoDiagram-RXCK75RN-C0QpudbG.js → infoDiagram-RXCK75RN-Cr1oLCwe.js} +1 -1
  381. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-a6B741uT.js → ishikawaDiagram-5VMMS53U--RghV1mm.js} +1 -1
  382. package/web-shell/assets/{journeyDiagram-EYS64GPL-Dbht9ICp.js → journeyDiagram-EYS64GPL-MN1ZkGW8.js} +1 -1
  383. package/web-shell/assets/{kanban-definition-3QL26DDD-D4OFR8-h.js → kanban-definition-3QL26DDD-DL05VTn0.js} +1 -1
  384. package/web-shell/assets/{layout-Dvdh5jRH.js → layout-D_TvQzvn.js} +1 -1
  385. package/web-shell/assets/{linear-Dvc6KIW2.js → linear-B_0OH6XF.js} +1 -1
  386. package/web-shell/assets/{mermaid.core-CB36RfIb.js → mermaid.core-B9Nklh9I.js} +6 -6
  387. package/web-shell/assets/{mindmap-definition-FBJOCRG2-Fmqo1CjP.js → mindmap-definition-FBJOCRG2-CevIQ0LR.js} +1 -1
  388. package/web-shell/assets/{pegDiagram-XKGWAZYB-CCxYBoA4.js → pegDiagram-XKGWAZYB-DQ8PIv0d.js} +1 -1
  389. package/web-shell/assets/{pieDiagram-E7YTZNPT-BVHKQFzt.js → pieDiagram-E7YTZNPT-BVTV1pPe.js} +1 -1
  390. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-l95IznwR.js → quadrantDiagram-AXDQQJYC-DHN6nhpe.js} +1 -1
  391. package/web-shell/assets/qwen-code-notification-BRVagufF.png +0 -0
  392. package/web-shell/assets/{railroadDiagram-O6MQD6OU-BlLdRdXp.js → railroadDiagram-O6MQD6OU-8HOyX0u-.js} +1 -1
  393. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-BkDLBR5w.js → requirementDiagram-EFPCY7ZU-9W4_14i8.js} +1 -1
  394. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-jAIqRp65.js → sankeyDiagram-P5KCCOFB-DSUBB2XP.js} +1 -1
  395. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-f-soZYPr.js → sequenceDiagram-WJ2MYXX4-DD3jH6Jn.js} +1 -1
  396. package/web-shell/assets/{sizeCapture-X5ZJPWSS-BzOuAfB2.js → sizeCapture-X5ZJPWSS-RAFTU3Cz.js} +1 -1
  397. package/web-shell/assets/{stateDiagram-HBIQ2CUA-BPLSs12r.js → stateDiagram-HBIQ2CUA-Drk-oZ2x.js} +1 -1
  398. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-QzYteVIm.js +1 -0
  399. package/web-shell/assets/{swimlanes-XN3QIQJK-D-9E_RIR.js → swimlanes-XN3QIQJK-Cy2nlOGx.js} +1 -1
  400. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-xTr-HG26.js +8 -0
  401. package/web-shell/assets/{timeline-definition-24CTP7MA-CT56K-gV.js → timeline-definition-24CTP7MA-B7outYof.js} +1 -1
  402. package/web-shell/assets/{vennDiagram-4TSXK5OY-B-vi4IyO.js → vennDiagram-4TSXK5OY-Di_u1Ic6.js} +1 -1
  403. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-C9O7Ju98.js → wardleyDiagram-VM6X3IG4-DYocuCAM.js} +1 -1
  404. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-6d8w3jg2.js → xychartDiagram-S5SC5T6Z-AADDse54.js} +1 -1
  405. package/web-shell/index.html +29 -5
  406. package/chunks/chunk-V7RNNPGC.js +0 -44
  407. package/chunks/list-JOGBAC2R.js +0 -122
  408. package/chunks/mcp-6YYNSYLK.js +0 -116
  409. package/chunks/workflow-HD5NYMW5.js +0 -2907
  410. package/chunks/workspace-providers-status-MAM42IZS.js +0 -120
  411. package/web-shell/assets/channel-COIuCrVH.js +0 -1
  412. package/web-shell/assets/classDiagram-DTDB5LWJ-DoX6OYqu.js +0 -1
  413. package/web-shell/assets/classDiagram-v2-JRS7N3AN-DoX6OYqu.js +0 -1
  414. package/web-shell/assets/index-CI1ysIEv.js +0 -2154
  415. package/web-shell/assets/index-CpxXGH-8.css +0 -36
  416. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-IRul-LaT.js +0 -1
  417. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-D6lgKepA.js +0 -8
  418. package/chunks/{chunk-JA5CBKRP.js → chunk-7NXSVSFB.js} +0 -0
  419. package/chunks/{open-with-auth-6MVIHMXB.js → open-with-auth-XFCCJOO6.js} +3 -3
@@ -2,23 +2,23 @@
2
2
  "use strict";
3
3
  import {
4
4
  reportChatRecordingFailureToAdapter
5
- } from "./chunk-CALNF3Z3.js";
5
+ } from "./chunk-7C57HCOR.js";
6
6
  import {
7
7
  StreamJsonOutputAdapter
8
- } from "./chunk-R3JIDRUL.js";
8
+ } from "./chunk-J6H4JP25.js";
9
+ import {
10
+ appEvents
11
+ } from "./chunk-RRQEZBL2.js";
9
12
  import {
10
13
  ICON,
11
14
  SHELL_COMMAND_NAME
12
- } from "./chunk-WXD7INFV.js";
15
+ } from "./chunk-EO4U2X47.js";
13
16
  import {
14
17
  theme
15
18
  } from "./chunk-4LIPOIXS.js";
16
19
  import {
17
20
  require_jsx_runtime
18
21
  } from "./chunk-SV5PQVQE.js";
19
- import {
20
- themeManager
21
- } from "./chunk-2XRE4KE4.js";
22
22
  import {
23
23
  Box_default,
24
24
  Text
@@ -26,39 +26,41 @@ import {
26
26
  import {
27
27
  require_react
28
28
  } from "./chunk-5QWWOFGG.js";
29
+ import {
30
+ themeManager
31
+ } from "./chunk-2XRE4KE4.js";
29
32
  import {
30
33
  getCachedStringWidth,
31
34
  toCodePoints
32
35
  } from "./chunk-47ECGEJC.js";
33
36
  import {
34
37
  createLoadedSettingsAdapter
35
- } from "./chunk-QHLHE2OT.js";
38
+ } from "./chunk-IUN5ZMFY.js";
39
+ import {
40
+ loadMcpApprovals
41
+ } from "./chunk-ENAUXRPG.js";
36
42
  import {
37
43
  SettingScope,
38
44
  settingExistsInScope
39
- } from "./chunk-WBU2PIZ5.js";
45
+ } from "./chunk-CSDKDHWV.js";
40
46
  import {
41
47
  getCurrentLanguage,
42
48
  t,
43
49
  ta
44
- } from "./chunk-CRZBDVP2.js";
50
+ } from "./chunk-432JQKIO.js";
45
51
  import {
46
52
  INITIAL_FOLLOWUP_STATE,
47
53
  Logger,
48
54
  applyProviderInstallPlan,
49
55
  createFollowupController
50
- } from "./chunk-GOEVQADN.js";
56
+ } from "./chunk-GDIPPCW6.js";
51
57
  import {
52
58
  buildInstallPlan,
53
59
  getDefaultBaseUrlForProtocol,
54
60
  getDefaultModelIds,
55
61
  resolveBaseUrl,
56
62
  shouldShowStep
57
- } from "./chunk-2WC3Y7YY.js";
58
- import {
59
- qwenOAuth2Events,
60
- sanitizeForOsc
61
- } from "./chunk-XDNFODER.js";
63
+ } from "./chunk-AEY27Z35.js";
62
64
  import {
63
65
  ShellExecutionService,
64
66
  TERMINAL_CSI_REGEX,
@@ -67,23 +69,28 @@ import {
67
69
  allowEditorTypeInSandbox,
68
70
  checkHasEditorType,
69
71
  compactToolResultDisplayForHistory,
72
+ isGatedMcpScope,
70
73
  isSignalTermination,
71
74
  resolveBranchName,
72
75
  stripTerminalControlSequences,
73
76
  watchRepoBranch
74
- } from "./chunk-HJ5UJQQL.js";
77
+ } from "./chunk-2UKKQGRA.js";
75
78
  import {
76
79
  formatMemoryUsage
77
80
  } from "./chunk-CHEIIBT3.js";
81
+ import {
82
+ qwenOAuth2Events,
83
+ sanitizeForOsc
84
+ } from "./chunk-TUIW5LLK.js";
78
85
  import {
79
86
  AuthEvent,
80
87
  PromptSuggestionEvent,
81
88
  logAuth,
82
89
  logPromptSuggestion
83
- } from "./chunk-F2NYVASI.js";
90
+ } from "./chunk-WXAWG3JS.js";
84
91
  import {
85
92
  isBinary
86
- } from "./chunk-7VEYUF3N.js";
93
+ } from "./chunk-W5ZQMAEM.js";
87
94
  import {
88
95
  createDebugLogger,
89
96
  getErrorMessage
@@ -965,6 +972,7 @@ var useAuthCommand = /* @__PURE__ */ __name((settings, config, addItem, onAuthCh
965
972
  const valid = [
966
973
  "qwen-oauth" /* QWEN_OAUTH */,
967
974
  "openai" /* USE_OPENAI */,
975
+ "openai-responses" /* USE_OPENAI_RESPONSES */,
968
976
  "anthropic" /* USE_ANTHROPIC */,
969
977
  "gemini" /* USE_GEMINI */,
970
978
  "vertex-ai" /* USE_VERTEX_AI */
@@ -1085,9 +1093,134 @@ function useGitBranchName(cwd) {
1085
1093
  }
1086
1094
  __name(useGitBranchName, "useGitBranchName");
1087
1095
 
1088
- // packages/cli/src/ui/hooks/shellCommandProcessor.ts
1096
+ // packages/cli/src/ui/hooks/useMcpApproval.ts
1089
1097
  init_esbuild_shims();
1090
1098
  var import_react5 = __toESM(require_react(), 1);
1099
+ function sourceLabel(scope) {
1100
+ switch (scope) {
1101
+ case "workspace":
1102
+ return ".qwen/settings.json";
1103
+ case "project":
1104
+ default:
1105
+ return ".mcp.json";
1106
+ }
1107
+ }
1108
+ __name(sourceLabel, "sourceLabel");
1109
+ function summarize(config) {
1110
+ let summary;
1111
+ if (config.httpUrl) {
1112
+ summary = `${config.httpUrl} (http)`;
1113
+ } else if (config.url) {
1114
+ summary = `${config.url} (sse)`;
1115
+ } else if (config.command) {
1116
+ summary = `${config.command} ${config.args?.join(" ") ?? ""} (stdio)`.replace(
1117
+ /\s+\(/,
1118
+ " ("
1119
+ );
1120
+ } else {
1121
+ summary = "(unknown transport)";
1122
+ }
1123
+ const details = [];
1124
+ if (config.env && Object.keys(config.env).length > 0) {
1125
+ details.push(`env: ${Object.keys(config.env).join(", ")}`);
1126
+ }
1127
+ if (config.headers && Object.keys(config.headers).length > 0) {
1128
+ details.push(`headers: ${Object.keys(config.headers).join(", ")}`);
1129
+ }
1130
+ return details.length > 0 ? `${summary} [${details.join("; ")}]` : summary;
1131
+ }
1132
+ __name(summarize, "summarize");
1133
+ var useMcpApproval = /* @__PURE__ */ __name((config) => {
1134
+ const [queue, setQueue] = (0, import_react5.useState)([]);
1135
+ const computePending = (0, import_react5.useCallback)(() => {
1136
+ if (config.getApprovalMode() === "yolo" /* YOLO */) return [];
1137
+ const servers = config.getMcpServers() ?? {};
1138
+ const approvals = loadMcpApprovals();
1139
+ const root = config.getWorkingDir();
1140
+ return Object.entries(servers).filter(([, c]) => isGatedMcpScope(c.scope)).filter(([name, c]) => approvals.getState(root, name, c) === "pending").map(([name, c]) => ({
1141
+ name,
1142
+ config: c,
1143
+ summary: summarize(c),
1144
+ source: sourceLabel(c.scope)
1145
+ }));
1146
+ }, [config]);
1147
+ (0, import_react5.useEffect)(() => {
1148
+ setQueue(computePending());
1149
+ }, [computePending]);
1150
+ (0, import_react5.useEffect)(() => {
1151
+ const onPendingChanged = /* @__PURE__ */ __name(() => {
1152
+ setQueue(computePending());
1153
+ }, "onPendingChanged");
1154
+ appEvents.on("mcp-pending-approval-changed" /* McpPendingApprovalChanged */, onPendingChanged);
1155
+ return () => {
1156
+ appEvents.off("mcp-pending-approval-changed" /* McpPendingApprovalChanged */, onPendingChanged);
1157
+ };
1158
+ }, [computePending]);
1159
+ const reconnect = (0, import_react5.useCallback)(
1160
+ (name) => {
1161
+ config.approveMcpServerForSession(name);
1162
+ const registry = config.getToolRegistry();
1163
+ void registry?.discoverToolsForServer?.(name)?.catch?.((error) => {
1164
+ if (process.env["DEBUG"]) {
1165
+ console.error(`MCP reconnect failed for ${name}:`, error);
1166
+ }
1167
+ });
1168
+ },
1169
+ [config]
1170
+ );
1171
+ const handleMcpApprovalSelect = (0, import_react5.useCallback)(
1172
+ async (choice) => {
1173
+ const approvals = loadMcpApprovals();
1174
+ const root = config.getWorkingDir();
1175
+ const current = queue[0];
1176
+ if (!current) {
1177
+ return;
1178
+ }
1179
+ if (choice === "approve_all" /* APPROVE_ALL */) {
1180
+ for (const server of queue) {
1181
+ await approvals.setState(
1182
+ root,
1183
+ server.name,
1184
+ server.config,
1185
+ "approved"
1186
+ );
1187
+ reconnect(server.name);
1188
+ }
1189
+ setQueue([]);
1190
+ return;
1191
+ }
1192
+ if (choice === "approve" /* APPROVE */) {
1193
+ await approvals.setState(
1194
+ root,
1195
+ current.name,
1196
+ current.config,
1197
+ "approved"
1198
+ );
1199
+ reconnect(current.name);
1200
+ } else {
1201
+ await approvals.setState(
1202
+ root,
1203
+ current.name,
1204
+ current.config,
1205
+ "rejected"
1206
+ );
1207
+ }
1208
+ setQueue((q) => q.slice(1));
1209
+ },
1210
+ [config, queue, reconnect]
1211
+ );
1212
+ return {
1213
+ isMcpApprovalDialogOpen: queue.length > 0,
1214
+ currentMcpApproval: queue[0],
1215
+ pendingMcpApprovals: queue,
1216
+ mcpApprovalRemaining: Math.max(0, queue.length - 1),
1217
+ handleMcpApprovalSelect
1218
+ };
1219
+ }, "useMcpApproval");
1220
+
1221
+ // packages/cli/src/ui/hooks/shellCommandProcessor.ts
1222
+ init_esbuild_shims();
1223
+ var import_react6 = __toESM(require_react(), 1);
1091
1224
  import crypto from "node:crypto";
1092
1225
  import path from "node:path";
1093
1226
  import os from "node:os";
@@ -1120,8 +1253,8 @@ ${modelContent}
1120
1253
  }
1121
1254
  __name(addShellCommandToLlmHistory, "addShellCommandToLlmHistory");
1122
1255
  var useShellCommandProcessor = /* @__PURE__ */ __name((addItemToHistory, setPendingHistoryItem, onExec, onDebugMessage, config, llmClient, setShellInputFocused, terminalWidth, terminalHeight) => {
1123
- const [activeShellPtyId, setActiveShellPtyId] = (0, import_react5.useState)(null);
1124
- const handleShellCommand = (0, import_react5.useCallback)(
1256
+ const [activeShellPtyId, setActiveShellPtyId] = (0, import_react6.useState)(null);
1257
+ const handleShellCommand = (0, import_react6.useCallback)(
1125
1258
  (rawQuery, abortSignal) => {
1126
1259
  if (typeof rawQuery !== "string" || rawQuery.trim() === "") {
1127
1260
  return false;
@@ -1452,18 +1585,18 @@ var TableRow = /* @__PURE__ */ __name(({ cells }) => /* @__PURE__ */ (0, import_
1452
1585
 
1453
1586
  // packages/cli/src/ui/hooks/useFollowupSuggestions.tsx
1454
1587
  init_esbuild_shims();
1455
- var import_react6 = __toESM(require_react(), 1);
1588
+ var import_react7 = __toESM(require_react(), 1);
1456
1589
  function useFollowupSuggestionsCLI(options = {}) {
1457
1590
  const { enabled = true, onAccept, config, isFocused = true } = options;
1458
- const [state, setState] = (0, import_react6.useState)(INITIAL_FOLLOWUP_STATE);
1459
- const onAcceptRef = (0, import_react6.useRef)(onAccept);
1591
+ const [state, setState] = (0, import_react7.useState)(INITIAL_FOLLOWUP_STATE);
1592
+ const onAcceptRef = (0, import_react7.useRef)(onAccept);
1460
1593
  onAcceptRef.current = onAccept;
1461
- const configRef = (0, import_react6.useRef)(config);
1594
+ const configRef = (0, import_react7.useRef)(config);
1462
1595
  configRef.current = config;
1463
- const firstKeystrokeAtRef = (0, import_react6.useRef)(0);
1464
- const prevShownAtRef = (0, import_react6.useRef)(0);
1465
- const wasFocusedWhenShownRef = (0, import_react6.useRef)(true);
1466
- (0, import_react6.useEffect)(() => {
1596
+ const firstKeystrokeAtRef = (0, import_react7.useRef)(0);
1597
+ const prevShownAtRef = (0, import_react7.useRef)(0);
1598
+ const wasFocusedWhenShownRef = (0, import_react7.useRef)(true);
1599
+ (0, import_react7.useEffect)(() => {
1467
1600
  if (state.shownAt > 0 && state.shownAt !== prevShownAtRef.current) {
1468
1601
  prevShownAtRef.current = state.shownAt;
1469
1602
  wasFocusedWhenShownRef.current = isFocused;
@@ -1472,12 +1605,12 @@ function useFollowupSuggestionsCLI(options = {}) {
1472
1605
  prevShownAtRef.current = 0;
1473
1606
  }
1474
1607
  }, [state.shownAt, isFocused]);
1475
- const recordKeystroke = (0, import_react6.useCallback)(() => {
1608
+ const recordKeystroke = (0, import_react7.useCallback)(() => {
1476
1609
  if (firstKeystrokeAtRef.current === 0 && state.isVisible) {
1477
1610
  firstKeystrokeAtRef.current = Date.now();
1478
1611
  }
1479
1612
  }, [state.isVisible]);
1480
- const onOutcome = (0, import_react6.useCallback)(
1613
+ const onOutcome = (0, import_react7.useCallback)(
1481
1614
  (params) => {
1482
1615
  const cfg = configRef.current;
1483
1616
  if (!cfg) return;
@@ -1502,7 +1635,7 @@ function useFollowupSuggestionsCLI(options = {}) {
1502
1635
  },
1503
1636
  []
1504
1637
  );
1505
- const controller = (0, import_react6.useMemo)(
1638
+ const controller = (0, import_react7.useMemo)(
1506
1639
  () => createFollowupController({
1507
1640
  enabled,
1508
1641
  onStateChange: setState,
@@ -1511,13 +1644,13 @@ function useFollowupSuggestionsCLI(options = {}) {
1511
1644
  }),
1512
1645
  [enabled, onOutcome]
1513
1646
  );
1514
- (0, import_react6.useEffect)(() => {
1647
+ (0, import_react7.useEffect)(() => {
1515
1648
  if (!enabled) {
1516
1649
  controller.clear();
1517
1650
  }
1518
1651
  return () => controller.cleanup();
1519
1652
  }, [controller, enabled]);
1520
- return (0, import_react6.useMemo)(
1653
+ return (0, import_react7.useMemo)(
1521
1654
  () => ({
1522
1655
  state,
1523
1656
  setSuggestion: controller.setSuggestion,
@@ -1803,23 +1936,23 @@ __name(pickAsciiArtTier, "pickAsciiArtTier");
1803
1936
 
1804
1937
  // packages/cli/src/ui/hooks/usePhraseCycler.ts
1805
1938
  init_esbuild_shims();
1806
- var import_react7 = __toESM(require_react(), 1);
1939
+ var import_react8 = __toESM(require_react(), 1);
1807
1940
  var WITTY_LOADING_PHRASES = ["I'm Feeling Lucky"];
1808
1941
  var PHRASE_CHANGE_INTERVAL_MS = 15e3;
1809
1942
  var usePhraseCycler = /* @__PURE__ */ __name((isActive, isWaiting, customPhrases) => {
1810
1943
  const currentLanguage = getCurrentLanguage();
1811
- const loadingPhrases = (0, import_react7.useMemo)(() => {
1944
+ const loadingPhrases = (0, import_react8.useMemo)(() => {
1812
1945
  if (customPhrases && customPhrases.length > 0) {
1813
1946
  return customPhrases;
1814
1947
  }
1815
1948
  const translatedPhrases = ta("WITTY_LOADING_PHRASES");
1816
1949
  return translatedPhrases.length > 0 ? translatedPhrases : WITTY_LOADING_PHRASES;
1817
1950
  }, [customPhrases, currentLanguage]);
1818
- const [currentLoadingPhrase, setCurrentLoadingPhrase] = (0, import_react7.useState)(
1951
+ const [currentLoadingPhrase, setCurrentLoadingPhrase] = (0, import_react8.useState)(
1819
1952
  loadingPhrases[0]
1820
1953
  );
1821
- const phraseIntervalRef = (0, import_react7.useRef)(null);
1822
- (0, import_react7.useEffect)(() => {
1954
+ const phraseIntervalRef = (0, import_react8.useRef)(null);
1955
+ (0, import_react8.useEffect)(() => {
1823
1956
  if (isWaiting) {
1824
1957
  setCurrentLoadingPhrase(t("Waiting for user confirmation..."));
1825
1958
  if (phraseIntervalRef.current) {
@@ -1855,6 +1988,143 @@ var usePhraseCycler = /* @__PURE__ */ __name((isActive, isWaiting, customPhrases
1855
1988
  return currentLoadingPhrase;
1856
1989
  }, "usePhraseCycler");
1857
1990
 
1991
+ // packages/cli/src/ui/hooks/useTimer.ts
1992
+ init_esbuild_shims();
1993
+ var import_react9 = __toESM(require_react(), 1);
1994
+ var TIMER_REFRESH_INTERVAL_MS = 500;
1995
+ function elapsedSeconds(elapsedMs) {
1996
+ return Number((Math.max(0, elapsedMs) / 1e3).toFixed(1));
1997
+ }
1998
+ __name(elapsedSeconds, "elapsedSeconds");
1999
+ function getRunningElapsedMs(activeSinceMs) {
2000
+ if (activeSinceMs === null) {
2001
+ return 0;
2002
+ }
2003
+ return Math.max(0, performance.now() - activeSinceMs);
2004
+ }
2005
+ __name(getRunningElapsedMs, "getRunningElapsedMs");
2006
+ var useTimer = /* @__PURE__ */ __name((isActive, resetKey, isPaused = false) => {
2007
+ const [elapsedTime, setElapsedTime] = (0, import_react9.useState)(0);
2008
+ const timerRef = (0, import_react9.useRef)(null);
2009
+ const activeSinceRef = (0, import_react9.useRef)(null);
2010
+ const accumulatedElapsedMsRef = (0, import_react9.useRef)(0);
2011
+ const prevResetKeyRef = (0, import_react9.useRef)(resetKey);
2012
+ const prevIsActiveRef = (0, import_react9.useRef)(isActive);
2013
+ (0, import_react9.useEffect)(() => {
2014
+ const clearTimer = /* @__PURE__ */ __name(() => {
2015
+ if (timerRef.current) {
2016
+ clearInterval(timerRef.current);
2017
+ timerRef.current = null;
2018
+ }
2019
+ }, "clearTimer");
2020
+ const publishElapsedTime = /* @__PURE__ */ __name((elapsedMs) => {
2021
+ setElapsedTime(elapsedSeconds(elapsedMs));
2022
+ }, "publishElapsedTime");
2023
+ const finalizeRunningSegment = /* @__PURE__ */ __name(() => {
2024
+ if (activeSinceRef.current !== null) {
2025
+ accumulatedElapsedMsRef.current += getRunningElapsedMs(
2026
+ activeSinceRef.current
2027
+ );
2028
+ activeSinceRef.current = null;
2029
+ }
2030
+ publishElapsedTime(accumulatedElapsedMsRef.current);
2031
+ }, "finalizeRunningSegment");
2032
+ if (prevResetKeyRef.current !== resetKey || !prevIsActiveRef.current && isActive) {
2033
+ accumulatedElapsedMsRef.current = 0;
2034
+ activeSinceRef.current = null;
2035
+ setElapsedTime(0);
2036
+ prevResetKeyRef.current = resetKey;
2037
+ }
2038
+ if (!isActive) {
2039
+ if (prevIsActiveRef.current) {
2040
+ finalizeRunningSegment();
2041
+ }
2042
+ clearTimer();
2043
+ prevIsActiveRef.current = isActive;
2044
+ return clearTimer;
2045
+ }
2046
+ if (isPaused) {
2047
+ finalizeRunningSegment();
2048
+ clearTimer();
2049
+ prevIsActiveRef.current = isActive;
2050
+ return clearTimer;
2051
+ }
2052
+ if (activeSinceRef.current === null) {
2053
+ activeSinceRef.current = performance.now();
2054
+ }
2055
+ const updateElapsedTime = /* @__PURE__ */ __name(() => {
2056
+ const runningElapsedMs = getRunningElapsedMs(activeSinceRef.current);
2057
+ publishElapsedTime(accumulatedElapsedMsRef.current + runningElapsedMs);
2058
+ }, "updateElapsedTime");
2059
+ clearTimer();
2060
+ timerRef.current = setInterval(
2061
+ updateElapsedTime,
2062
+ TIMER_REFRESH_INTERVAL_MS
2063
+ );
2064
+ updateElapsedTime();
2065
+ prevIsActiveRef.current = isActive;
2066
+ return clearTimer;
2067
+ }, [isActive, isPaused, resetKey]);
2068
+ return elapsedTime;
2069
+ }, "useTimer");
2070
+
2071
+ // packages/cli/src/ui/hooks/useAnimationFrame.ts
2072
+ init_esbuild_shims();
2073
+ var import_react10 = __toESM(require_react(), 1);
2074
+ function useAnimationFrame(watchRef, intervalMs = 50) {
2075
+ const [displayValue, setDisplayValue] = (0, import_react10.useState)(() => watchRef.current);
2076
+ const displayRef = (0, import_react10.useRef)(watchRef.current);
2077
+ const targetRef = (0, import_react10.useRef)(watchRef.current);
2078
+ const currentTarget = watchRef.current;
2079
+ if (currentTarget < displayRef.current) {
2080
+ displayRef.current = currentTarget;
2081
+ targetRef.current = currentTarget;
2082
+ }
2083
+ (0, import_react10.useEffect)(() => {
2084
+ if (intervalMs === null) return;
2085
+ const current = watchRef.current;
2086
+ if (current !== targetRef.current) {
2087
+ targetRef.current = current;
2088
+ if (current < displayRef.current) {
2089
+ displayRef.current = current;
2090
+ setDisplayValue(current);
2091
+ }
2092
+ }
2093
+ const id = setInterval(() => {
2094
+ const realValue = watchRef.current;
2095
+ targetRef.current = realValue;
2096
+ if (realValue < displayRef.current) {
2097
+ displayRef.current = realValue;
2098
+ setDisplayValue(realValue);
2099
+ return;
2100
+ }
2101
+ const gap = realValue - displayRef.current;
2102
+ if (gap <= 0) return;
2103
+ let increment;
2104
+ if (gap < 70) {
2105
+ increment = 3;
2106
+ } else if (gap <= 200) {
2107
+ increment = Math.max(3, Math.round(gap * 0.2));
2108
+ } else {
2109
+ increment = 50;
2110
+ }
2111
+ const next = Math.min(displayRef.current + increment, realValue);
2112
+ displayRef.current = next;
2113
+ setDisplayValue(next);
2114
+ }, intervalMs);
2115
+ return () => clearInterval(id);
2116
+ }, [watchRef, intervalMs]);
2117
+ return Math.min(displayValue, currentTarget);
2118
+ }
2119
+ __name(useAnimationFrame, "useAnimationFrame");
2120
+
2121
+ // packages/cli/src/ui/utils/isNarrowWidth.ts
2122
+ init_esbuild_shims();
2123
+ function isNarrowWidth(width) {
2124
+ return width < 80;
2125
+ }
2126
+ __name(isNarrowWidth, "isNarrowWidth");
2127
+
1858
2128
  // packages/cli/src/ui/components/mcp/utils.ts
1859
2129
  init_esbuild_shims();
1860
2130
 
@@ -2009,7 +2279,7 @@ __name(getScopeMessageForSetting, "getScopeMessageForSetting");
2009
2279
 
2010
2280
  // packages/cli/src/ui/auth/useProviderSetupFlow.ts
2011
2281
  init_esbuild_shims();
2012
- var import_react8 = __toESM(require_react(), 1);
2282
+ var import_react11 = __toESM(require_react(), 1);
2013
2283
  var STEP_ORDER = [
2014
2284
  "protocol",
2015
2285
  "baseUrl",
@@ -2026,28 +2296,28 @@ function getVisibleSteps(config) {
2026
2296
  }
2027
2297
  __name(getVisibleSteps, "getVisibleSteps");
2028
2298
  function useProviderSetupFlow(onSubmit) {
2029
- const [provider, setProvider] = (0, import_react8.useState)(null);
2030
- const [visibleSteps, setVisibleSteps] = (0, import_react8.useState)([]);
2031
- const [stepIndex, setStepIndex] = (0, import_react8.useState)(0);
2032
- const [protocol, setProtocol] = (0, import_react8.useState)("openai" /* USE_OPENAI */);
2033
- const [baseUrl, setBaseUrl] = (0, import_react8.useState)("");
2034
- const [baseUrlPlaceholder, setBaseUrlPlaceholder] = (0, import_react8.useState)("");
2035
- const [baseUrlOptionIndex, setBaseUrlOptionIndex] = (0, import_react8.useState)(0);
2036
- const [baseUrlError, setBaseUrlError] = (0, import_react8.useState)(null);
2037
- const [apiKey, setApiKey] = (0, import_react8.useState)("");
2038
- const [apiKeyError, setApiKeyError] = (0, import_react8.useState)(null);
2039
- const [modelIds, setModelIds] = (0, import_react8.useState)("");
2040
- const [modelIdsError, setModelIdsError] = (0, import_react8.useState)(null);
2041
- const [thinkingEnabled, setThinkingEnabled] = (0, import_react8.useState)(false);
2042
- const [modalityEnabled, setModalityEnabled] = (0, import_react8.useState)(false);
2043
- const [modalityImage, setModalityImage] = (0, import_react8.useState)(true);
2044
- const [modalityVideo, setModalityVideo] = (0, import_react8.useState)(true);
2045
- const [modalityAudio, setModalityAudio] = (0, import_react8.useState)(false);
2046
- const [modalityPdf, setModalityPdf] = (0, import_react8.useState)(false);
2047
- const [contextWindowSize, setContextWindowSize] = (0, import_react8.useState)("");
2048
- const [focusedConfigIndex, setFocusedConfigIndex] = (0, import_react8.useState)(0);
2299
+ const [provider, setProvider] = (0, import_react11.useState)(null);
2300
+ const [visibleSteps, setVisibleSteps] = (0, import_react11.useState)([]);
2301
+ const [stepIndex, setStepIndex] = (0, import_react11.useState)(0);
2302
+ const [protocol, setProtocol] = (0, import_react11.useState)("openai" /* USE_OPENAI */);
2303
+ const [baseUrl, setBaseUrl] = (0, import_react11.useState)("");
2304
+ const [baseUrlPlaceholder, setBaseUrlPlaceholder] = (0, import_react11.useState)("");
2305
+ const [baseUrlOptionIndex, setBaseUrlOptionIndex] = (0, import_react11.useState)(0);
2306
+ const [baseUrlError, setBaseUrlError] = (0, import_react11.useState)(null);
2307
+ const [apiKey, setApiKey] = (0, import_react11.useState)("");
2308
+ const [apiKeyError, setApiKeyError] = (0, import_react11.useState)(null);
2309
+ const [modelIds, setModelIds] = (0, import_react11.useState)("");
2310
+ const [modelIdsError, setModelIdsError] = (0, import_react11.useState)(null);
2311
+ const [thinkingEnabled, setThinkingEnabled] = (0, import_react11.useState)(false);
2312
+ const [modalityEnabled, setModalityEnabled] = (0, import_react11.useState)(false);
2313
+ const [modalityImage, setModalityImage] = (0, import_react11.useState)(true);
2314
+ const [modalityVideo, setModalityVideo] = (0, import_react11.useState)(true);
2315
+ const [modalityAudio, setModalityAudio] = (0, import_react11.useState)(false);
2316
+ const [modalityPdf, setModalityPdf] = (0, import_react11.useState)(false);
2317
+ const [contextWindowSize, setContextWindowSize] = (0, import_react11.useState)("");
2318
+ const [focusedConfigIndex, setFocusedConfigIndex] = (0, import_react11.useState)(0);
2049
2319
  const currentStep = visibleSteps[stepIndex] ?? null;
2050
- const start = (0, import_react8.useCallback)(
2320
+ const start = (0, import_react11.useCallback)(
2051
2321
  (config, initialProtocol, existingEnv, existingModelIds) => {
2052
2322
  setProvider(config);
2053
2323
  const steps = getVisibleSteps(config);
@@ -2084,12 +2354,12 @@ function useProviderSetupFlow(onSubmit) {
2084
2354
  },
2085
2355
  []
2086
2356
  );
2087
- const reset = (0, import_react8.useCallback)(() => {
2357
+ const reset = (0, import_react11.useCallback)(() => {
2088
2358
  setProvider(null);
2089
2359
  setVisibleSteps([]);
2090
2360
  setStepIndex(0);
2091
2361
  }, []);
2092
- const goBack = (0, import_react8.useCallback)(() => {
2362
+ const goBack = (0, import_react11.useCallback)(() => {
2093
2363
  if (stepIndex > 0) {
2094
2364
  setStepIndex((i) => i - 1);
2095
2365
  return true;
@@ -2097,10 +2367,10 @@ function useProviderSetupFlow(onSubmit) {
2097
2367
  reset();
2098
2368
  return false;
2099
2369
  }, [stepIndex, reset]);
2100
- const goNext = (0, import_react8.useCallback)(() => {
2370
+ const goNext = (0, import_react11.useCallback)(() => {
2101
2371
  setStepIndex((i) => Math.min(i + 1, visibleSteps.length - 1));
2102
2372
  }, [visibleSteps]);
2103
- const selectProtocol = (0, import_react8.useCallback)(
2373
+ const selectProtocol = (0, import_react11.useCallback)(
2104
2374
  (selectedProtocol) => {
2105
2375
  setProtocol(selectedProtocol);
2106
2376
  setBaseUrl("");
@@ -2111,7 +2381,7 @@ function useProviderSetupFlow(onSubmit) {
2111
2381
  },
2112
2382
  [goNext]
2113
2383
  );
2114
- const selectBaseUrl = (0, import_react8.useCallback)(
2384
+ const selectBaseUrl = (0, import_react11.useCallback)(
2115
2385
  (selectedUrl) => {
2116
2386
  setBaseUrl(selectedUrl);
2117
2387
  setBaseUrlError(null);
@@ -2119,7 +2389,7 @@ function useProviderSetupFlow(onSubmit) {
2119
2389
  },
2120
2390
  [goNext]
2121
2391
  );
2122
- const submitBaseUrl = (0, import_react8.useCallback)(() => {
2392
+ const submitBaseUrl = (0, import_react11.useCallback)(() => {
2123
2393
  const effective = baseUrl.trim() || baseUrlPlaceholder.trim();
2124
2394
  if (!effective) {
2125
2395
  setBaseUrlError(t("Base URL cannot be empty."));
@@ -2136,15 +2406,15 @@ function useProviderSetupFlow(onSubmit) {
2136
2406
  goNext();
2137
2407
  return true;
2138
2408
  }, [baseUrl, baseUrlPlaceholder, goNext]);
2139
- const changeBaseUrl = (0, import_react8.useCallback)((value) => {
2409
+ const changeBaseUrl = (0, import_react11.useCallback)((value) => {
2140
2410
  setBaseUrl(value);
2141
2411
  setBaseUrlError(null);
2142
2412
  }, []);
2143
- const changeApiKey = (0, import_react8.useCallback)((value) => {
2413
+ const changeApiKey = (0, import_react11.useCallback)((value) => {
2144
2414
  setApiKey(value);
2145
2415
  setApiKeyError(null);
2146
2416
  }, []);
2147
- const buildCurrentInputs = (0, import_react8.useCallback)(
2417
+ const buildCurrentInputs = (0, import_react11.useCallback)(
2148
2418
  (overrides) => ({
2149
2419
  protocol: provider?.protocolOptions ? protocol : void 0,
2150
2420
  baseUrl: baseUrl.trim(),
@@ -2154,7 +2424,7 @@ function useProviderSetupFlow(onSubmit) {
2154
2424
  }),
2155
2425
  [provider, protocol, baseUrl, apiKey, modelIds]
2156
2426
  );
2157
- const submitOrNext = (0, import_react8.useCallback)(
2427
+ const submitOrNext = (0, import_react11.useCallback)(
2158
2428
  (overrides) => {
2159
2429
  if (stepIndex >= visibleSteps.length - 1) {
2160
2430
  if (provider) void onSubmit(provider, buildCurrentInputs(overrides));
@@ -2164,7 +2434,7 @@ function useProviderSetupFlow(onSubmit) {
2164
2434
  },
2165
2435
  [stepIndex, visibleSteps, provider, onSubmit, buildCurrentInputs, goNext]
2166
2436
  );
2167
- const submitApiKey = (0, import_react8.useCallback)(
2437
+ const submitApiKey = (0, import_react11.useCallback)(
2168
2438
  (keyOverride) => {
2169
2439
  const trimmed = (keyOverride ?? apiKey).trim();
2170
2440
  if (!trimmed) {
@@ -2185,7 +2455,7 @@ function useProviderSetupFlow(onSubmit) {
2185
2455
  },
2186
2456
  [apiKey, provider, baseUrl, submitOrNext]
2187
2457
  );
2188
- const highlightBaseUrl = (0, import_react8.useCallback)(
2458
+ const highlightBaseUrl = (0, import_react11.useCallback)(
2189
2459
  (url) => {
2190
2460
  if (provider && Array.isArray(provider.baseUrl)) {
2191
2461
  const idx = provider.baseUrl.findIndex((o) => o.url === url);
@@ -2194,14 +2464,14 @@ function useProviderSetupFlow(onSubmit) {
2194
2464
  },
2195
2465
  [provider]
2196
2466
  );
2197
- const changeModelIds = (0, import_react8.useCallback)((value) => {
2467
+ const changeModelIds = (0, import_react11.useCallback)((value) => {
2198
2468
  setModelIds(value);
2199
2469
  setModelIdsError(null);
2200
2470
  }, []);
2201
- const clearModelIdsError = (0, import_react8.useCallback)(() => {
2471
+ const clearModelIdsError = (0, import_react11.useCallback)(() => {
2202
2472
  setModelIdsError(null);
2203
2473
  }, []);
2204
- const submitModelIds = (0, import_react8.useCallback)(
2474
+ const submitModelIds = (0, import_react11.useCallback)(
2205
2475
  (overrides) => {
2206
2476
  const normalized = overrides?.modelIds ?? normalizeModelIds(modelIds);
2207
2477
  if (normalized.length === 0) {
@@ -2216,13 +2486,13 @@ function useProviderSetupFlow(onSubmit) {
2216
2486
  [modelIds, submitOrNext]
2217
2487
  );
2218
2488
  const advancedOptionCount = modalityEnabled ? 7 : 3;
2219
- const moveAdvancedFocusUp = (0, import_react8.useCallback)(() => {
2489
+ const moveAdvancedFocusUp = (0, import_react11.useCallback)(() => {
2220
2490
  setFocusedConfigIndex((v) => v <= 0 ? advancedOptionCount - 1 : v - 1);
2221
2491
  }, [advancedOptionCount]);
2222
- const moveAdvancedFocusDown = (0, import_react8.useCallback)(() => {
2492
+ const moveAdvancedFocusDown = (0, import_react11.useCallback)(() => {
2223
2493
  setFocusedConfigIndex((v) => v >= advancedOptionCount - 1 ? 0 : v + 1);
2224
2494
  }, [advancedOptionCount]);
2225
- const toggleFocusedAdvancedOption = (0, import_react8.useCallback)(() => {
2495
+ const toggleFocusedAdvancedOption = (0, import_react11.useCallback)(() => {
2226
2496
  switch (focusedConfigIndex) {
2227
2497
  case 0:
2228
2498
  setThinkingEnabled((v) => !v);
@@ -2246,13 +2516,13 @@ function useProviderSetupFlow(onSubmit) {
2246
2516
  break;
2247
2517
  }
2248
2518
  }, [focusedConfigIndex]);
2249
- const submitAdvancedConfig = (0, import_react8.useCallback)(() => {
2519
+ const submitAdvancedConfig = (0, import_react11.useCallback)(() => {
2250
2520
  goNext();
2251
2521
  }, [goNext]);
2252
- const changeContextWindowSize = (0, import_react8.useCallback)((value) => {
2522
+ const changeContextWindowSize = (0, import_react11.useCallback)((value) => {
2253
2523
  setContextWindowSize(value.replace(/[^0-9]/g, ""));
2254
2524
  }, []);
2255
- const submit = (0, import_react8.useCallback)(() => {
2525
+ const submit = (0, import_react11.useCallback)(() => {
2256
2526
  if (!provider) return;
2257
2527
  const multimodal = modalityEnabled ? {
2258
2528
  image: modalityImage || void 0,
@@ -2280,13 +2550,19 @@ function useProviderSetupFlow(onSubmit) {
2280
2550
  onSubmit,
2281
2551
  buildCurrentInputs
2282
2552
  ]);
2283
- const getPreviewJson = (0, import_react8.useCallback)(() => {
2553
+ const getPreviewJson = (0, import_react11.useCallback)(() => {
2284
2554
  if (!provider) return "";
2285
2555
  const envKey = typeof provider.envKey === "function" ? provider.envKey(protocol, baseUrl.trim()) : provider.envKey;
2286
2556
  const normalizedIds = normalizeModelIds(modelIds);
2287
2557
  const masked = maskApiKey(apiKey);
2288
2558
  const genConfig = {};
2289
- if (thinkingEnabled) genConfig["extra_body"] = { enable_thinking: true };
2559
+ if (thinkingEnabled) {
2560
+ if (protocol === "openai-responses" /* USE_OPENAI_RESPONSES */) {
2561
+ genConfig["reasoning"] = { effort: "medium" };
2562
+ } else {
2563
+ genConfig["extra_body"] = { enable_thinking: true };
2564
+ }
2565
+ }
2290
2566
  if (modalityEnabled) {
2291
2567
  const mod = {};
2292
2568
  if (modalityImage) mod["image"] = true;
@@ -2470,6 +2746,10 @@ export {
2470
2746
  pickAsciiArtTier,
2471
2747
  usePhraseCycler,
2472
2748
  useGitBranchName,
2749
+ useTimer,
2750
+ useAnimationFrame,
2751
+ isNarrowWidth,
2752
+ useMcpApproval,
2473
2753
  DualOutputBridge,
2474
2754
  RemoteInputWatcher
2475
2755
  };