@qwen-code/qwen-code 0.22.2 → 0.22.3-nightly.20260831.3a0c4c6108

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 (480) hide show
  1. package/bundled/computer-use/SKILL.md +3 -3
  2. package/bundled/qc-helper/docs/common-workflow.md +32 -0
  3. package/bundled/qc-helper/docs/configuration/auth.md +6 -6
  4. package/bundled/qc-helper/docs/configuration/model-providers.md +4 -2
  5. package/bundled/qc-helper/docs/configuration/settings.md +47 -44
  6. package/bundled/qc-helper/docs/extension/introduction.md +1 -1
  7. package/bundled/qc-helper/docs/features/approval-mode.md +3 -0
  8. package/bundled/qc-helper/docs/features/auto-mode.md +34 -17
  9. package/bundled/qc-helper/docs/features/channels/dws.md +2 -0
  10. package/bundled/qc-helper/docs/features/channels/overview.md +36 -3
  11. package/bundled/qc-helper/docs/features/code-review.md +5 -5
  12. package/bundled/qc-helper/docs/features/commands.md +41 -0
  13. package/bundled/qc-helper/docs/features/computer-use.md +2 -2
  14. package/bundled/qc-helper/docs/features/hooks.md +6 -2
  15. package/bundled/qc-helper/docs/features/memory.md +1 -0
  16. package/bundled/qc-helper/docs/features/tool-use-summaries.md +1 -1
  17. package/bundled/qc-helper/docs/qwen-serve-deploy-local.md +17 -7
  18. package/bundled/qc-helper/docs/qwen-serve.md +59 -55
  19. package/bundled/review/SKILL.md +90 -31
  20. package/bundled/review/references/persistence.md +7 -3
  21. package/bundled/review/references/posting.md +11 -5
  22. package/chunks/MaxSizedBox-IHRTWGSY.js +115 -0
  23. package/chunks/{StandaloneSessionPicker-AVLI6VJP.js → StandaloneSessionPicker-TLVWVTJ7.js} +88 -85
  24. package/chunks/{acp-startup-profiler-GNYAL6LI.js → acp-startup-profiler-M4X5F3VK.js} +2 -2
  25. package/chunks/{acpAgent-MXEAN54C.js → acpAgent-7I5LLPP3.js} +1563 -407
  26. package/chunks/agent-4Z4NTJXD.js +99 -0
  27. package/chunks/agent-headless-TVUJXQWU.js +89 -0
  28. package/chunks/{anthropicContentGenerator-HGMBACVE.js → anthropicContentGenerator-VSSPG7XV.js} +84 -55
  29. package/chunks/{artifact-tool-5YT4QF7Y.js → artifact-tool-TEYW6I4A.js} +11 -3
  30. package/chunks/{askUserQuestion-4SWJY65V.js → askUserQuestion-PYNBWV63.js} +45 -7
  31. package/chunks/bridge-EVURP4NO.js +122 -0
  32. package/chunks/{ca-7HPYOYSZ.js → ca-BNU7YNDE.js} +3 -0
  33. package/chunks/{channel-management-service-X4AZ6IXX.js → channel-management-service-IDBNYSFW.js} +6 -6
  34. package/chunks/channel-settings-store-MZNXRKVI.js +125 -0
  35. package/chunks/{channel-worker-group-27HMGD5S.js → channel-worker-group-ZLP5SJHT.js} +7 -7
  36. package/chunks/{channel-worker-manager-QEGX646Z.js → channel-worker-manager-FG5377T2.js} +7 -7
  37. package/chunks/{channel-worker-supervisor-UEW2WWCC.js → channel-worker-supervisor-HDVE4ADS.js} +4 -4
  38. package/chunks/{chunk-PPKZ7JOE.js → chunk-22UH7VTP.js} +1 -1
  39. package/chunks/chunk-24FVUD5P.js +49 -0
  40. package/chunks/{chunk-CMHFCLBU.js → chunk-26SIKQIC.js} +1 -1
  41. package/chunks/{chunk-5PA6UEYA.js → chunk-3452WXOK.js} +4 -1
  42. package/chunks/{chunk-SFPGAQUL.js → chunk-373DQUVA.js} +72 -31
  43. package/chunks/{chunk-H2WDGQ6D.js → chunk-3AKCBZVW.js} +3 -3
  44. package/chunks/{chunk-LXIBMVRN.js → chunk-3CZGSTZX.js} +15 -9
  45. package/chunks/{chunk-JVPFTDBK.js → chunk-3EGEBDTW.js} +1 -1
  46. package/chunks/{chunk-K2NQPH5D.js → chunk-3NQCZMUB.js} +79 -5
  47. package/chunks/{chunk-E7REAOTN.js → chunk-47ECGEJC.js} +4 -0
  48. package/chunks/{chunk-WKK5BQNP.js → chunk-4P7PPAHN.js} +45 -421
  49. package/chunks/chunk-4VQBQLIZ.js +293 -0
  50. package/chunks/{chunk-4JWNNLPT.js → chunk-5FGWVPCM.js} +4 -4
  51. package/chunks/{chunk-ZFKOCECU.js → chunk-5ICKESC3.js} +2 -2
  52. package/chunks/{chunk-3I6UTTDX.js → chunk-67AY5D3M.js} +20 -20
  53. package/chunks/chunk-6HUXPLB5.js +110 -0
  54. package/chunks/{chunk-BRVWYMKV.js → chunk-6MBXY6WM.js} +1 -1
  55. package/chunks/{chunk-6LFTG244.js → chunk-6NWPR2EB.js} +19 -9
  56. package/chunks/chunk-6OO7QEWV.js +2581 -0
  57. package/chunks/{chunk-TWSKM647.js → chunk-6VHIWUJP.js} +1 -1
  58. package/chunks/{chunk-RJC5EIKY.js → chunk-6YXNJXQW.js} +7 -5
  59. package/chunks/{chunk-TPI7O7HR.js → chunk-7DDTI7Q3.js} +1 -1
  60. package/chunks/{chunk-KGJGEEVR.js → chunk-7FA2II6K.js} +10 -1
  61. package/chunks/chunk-7J6OTNGO.js +424 -0
  62. package/chunks/{chunk-NIFYWDYN.js → chunk-7TBU7PU2.js} +1 -1
  63. package/chunks/{chunk-3FDFA4MZ.js → chunk-7XICSE62.js} +3 -3
  64. package/chunks/{chunk-V2NDP3I4.js → chunk-7XL4WRXM.js} +2 -2
  65. package/chunks/{chunk-F7TNAPZ4.js → chunk-AAX236AR.js} +45 -11
  66. package/chunks/{chunk-T32W2JHI.js → chunk-ACZ4YRYK.js} +6 -6
  67. package/chunks/chunk-ADJD4LZF.js +210 -0
  68. package/chunks/{chunk-JWALNCLT.js → chunk-AF3QB6OL.js} +1 -1
  69. package/chunks/{chunk-P2SU6ZTI.js → chunk-AI35S34R.js} +3 -3
  70. package/chunks/{chunk-OIP7C4FE.js → chunk-AKNQMSL2.js} +5 -5
  71. package/chunks/{chunk-6CGL7E7G.js → chunk-AN3KFCNH.js} +2 -2
  72. package/chunks/{chunk-ABS25QER.js → chunk-ANVG3BVV.js} +1 -1
  73. package/chunks/chunk-AYYKUUKP.js +972 -0
  74. package/chunks/chunk-B2RIIK3K.js +346 -0
  75. package/chunks/{chunk-F5SZP77N.js → chunk-BBYTY46C.js} +153 -112
  76. package/chunks/{chunk-XRSOI3DL.js → chunk-BE5FGT5Z.js} +1 -1
  77. package/chunks/{chunk-BGXZBI5B.js → chunk-BHTYRHJF.js} +3 -2
  78. package/chunks/{chunk-CSMI4FP5.js → chunk-BSJOBW4U.js} +1 -1
  79. package/chunks/{chunk-Z7TGYN5F.js → chunk-BXNKREX7.js} +3 -3
  80. package/chunks/{chunk-4MQEPP3Y.js → chunk-BY24DZ4J.js} +5 -119
  81. package/chunks/{chunk-5XBFCMWD.js → chunk-CAZADEU7.js} +17 -9
  82. package/chunks/chunk-CHEIIBT3.js +40 -0
  83. package/chunks/{chunk-BBWV7ONL.js → chunk-CM4F4JBB.js} +6 -6
  84. package/chunks/{chunk-CAJTKR6W.js → chunk-D7D3HSYQ.js} +6 -5
  85. package/chunks/{chunk-3DXFGHAJ.js → chunk-DBTMP3P4.js} +213 -185
  86. package/chunks/chunk-DJBQCO2E.js +842 -0
  87. package/chunks/{chunk-RXFQM6FQ.js → chunk-DMEUXLSS.js} +16 -1
  88. package/chunks/{chunk-3AFMQUTI.js → chunk-E4JNFXNI.js} +3 -3
  89. package/chunks/{chunk-UHQFIS7N.js → chunk-EAHOJF6V.js} +28 -4
  90. package/chunks/{chunk-OIVXBW3W.js → chunk-ED7DD7MV.js} +3 -3
  91. package/chunks/{chunk-6DIGWMGT.js → chunk-EIJT2PQ6.js} +2 -2
  92. package/chunks/{chunk-XQFT3QUF.js → chunk-ENYUKMFK.js} +1 -1
  93. package/chunks/{chunk-CQH5KTKC.js → chunk-ERHAMGAA.js} +1 -1
  94. package/chunks/{chunk-IOPCFOTF.js → chunk-ERRJA23L.js} +3 -3
  95. package/chunks/{chunk-LDP5OD6N.js → chunk-EU2B4P3D.js} +12 -12
  96. package/chunks/{chunk-W5MJJ2V7.js → chunk-FHPYRXRH.js} +1 -1
  97. package/chunks/{chunk-IZIVM7LZ.js → chunk-FIWZOMBF.js} +3 -3
  98. package/chunks/{chunk-4HV6HH33.js → chunk-FPMQT2YY.js} +9 -9
  99. package/chunks/{chunk-Z7VOMGDC.js → chunk-FTJMWDND.js} +0 -24
  100. package/chunks/{chunk-L2M46FP5.js → chunk-FXUSWLBF.js} +225 -12
  101. package/chunks/{chunk-VVW4ZNFY.js → chunk-GB4UKWY5.js} +16 -8
  102. package/chunks/{chunk-PKAYJDB3.js → chunk-GCUR24KK.js} +22 -4
  103. package/chunks/{chunk-DIMEPKCW.js → chunk-GDXSXL3H.js} +11 -1
  104. package/chunks/{chunk-7JPW6IYH.js → chunk-GN422P4J.js} +1 -1
  105. package/chunks/{chunk-66KDY3LV.js → chunk-GS7XT345.js} +3 -3
  106. package/chunks/{chunk-PFCQ62V4.js → chunk-H2A2GJGL.js} +6 -6
  107. package/chunks/{chunk-Z7FLBQPR.js → chunk-H5GPPDGY.js} +8 -8
  108. package/chunks/{chunk-CPGJJJLU.js → chunk-HDMKCJHI.js} +1 -1
  109. package/chunks/{chunk-6PJOTWAN.js → chunk-HT5S5TRQ.js} +1 -1
  110. package/chunks/{chunk-Z4X5MTRT.js → chunk-HWVUSYSN.js} +5 -12
  111. package/chunks/{chunk-V4QXXQJ2.js → chunk-I75VKFCJ.js} +4 -4
  112. package/chunks/{chunk-NU7RKEZR.js → chunk-IBMUI5EV.js} +3 -3
  113. package/chunks/{chunk-4J657AJR.js → chunk-ID33ZRWH.js} +42 -42
  114. package/chunks/{chunk-R4PMVSR5.js → chunk-IIFL7QDN.js} +30 -192
  115. package/chunks/{chunk-MQM5PJML.js → chunk-IVUWTA2D.js} +1 -1
  116. package/chunks/{chunk-E55H6BZ7.js → chunk-IXEZHTDR.js} +1616 -151
  117. package/chunks/{chunk-XF63PKEN.js → chunk-IXHV5MIC.js} +1 -1
  118. package/chunks/{chunk-JHS74YAB.js → chunk-J4Y3QJHF.js} +3 -1
  119. package/chunks/{chunk-MIIVI25Q.js → chunk-JDIO45X7.js} +3 -3
  120. package/chunks/{chunk-QFCDF5PL.js → chunk-JHN7UIDW.js} +1 -1
  121. package/chunks/{chunk-FDY5RMGH.js → chunk-JLSZT354.js} +2 -2
  122. package/chunks/chunk-JMRE4WJQ.js +1849 -0
  123. package/chunks/{chunk-FY76G3G5.js → chunk-JOTYTYYW.js} +6 -6
  124. package/chunks/{chunk-TRZTNIQ6.js → chunk-JOWQD4LO.js} +3 -3
  125. package/chunks/{chunk-KEKZFOL6.js → chunk-JPKTAQS3.js} +1 -1
  126. package/chunks/chunk-JS73NNWF.js +30 -0
  127. package/chunks/chunk-JX6XHPTX.js +26 -0
  128. package/chunks/{chunk-5JTIYALA.js → chunk-JZWOCUZ3.js} +1 -1
  129. package/chunks/{chunk-3JGZSIDA.js → chunk-KFN2IZYR.js} +3 -3
  130. package/chunks/{chunk-23RFD54N.js → chunk-KHP66DFN.js} +1 -1
  131. package/chunks/{chunk-AGR5UROZ.js → chunk-KUDI54QQ.js} +23 -33
  132. package/chunks/{chunk-3SGB2UHX.js → chunk-L2OKAIUK.js} +28 -16
  133. package/chunks/{chunk-BXDAPVQU.js → chunk-L6CUJZDG.js} +28 -4
  134. package/chunks/chunk-LAUEEBDL.js +277 -0
  135. package/chunks/{chunk-BNMF3K5X.js → chunk-LFAR7CPW.js} +55 -39
  136. package/chunks/{chunk-Y3QL45LS.js → chunk-LKODFJRD.js} +9 -9
  137. package/chunks/{chunk-BWORX6FA.js → chunk-LMMHS3RS.js} +1 -1
  138. package/chunks/{chunk-UTLCH2FK.js → chunk-LYSZVCCD.js} +10 -7
  139. package/chunks/{chunk-F6FV3C5K.js → chunk-MBZ5ORJB.js} +264 -283
  140. package/chunks/{chunk-L6YT5H34.js → chunk-MJBHSZEJ.js} +5 -5
  141. package/chunks/{chunk-B7CDU2SL.js → chunk-MOF6VZN2.js} +18 -21
  142. package/chunks/{chunk-6LFJEACX.js → chunk-MZ5A5PQW.js} +7 -7
  143. package/chunks/chunk-MZYWNU66.js +149 -0
  144. package/chunks/{chunk-2TNL5KPM.js → chunk-N4QWUPDM.js} +7 -0
  145. package/chunks/{chunk-5O72BNDD.js → chunk-ND7TQQPE.js} +9 -9
  146. package/chunks/{chunk-QP4C6WCE.js → chunk-NGKLMNWN.js} +3 -3
  147. package/chunks/{chunk-JSC3H3TD.js → chunk-NT5XIL5H.js} +46 -18
  148. package/chunks/{chunk-KUX5D6DK.js → chunk-NT7LXVV5.js} +11010 -11138
  149. package/chunks/{chunk-PDQGMSZK.js → chunk-ODZF64DM.js} +1 -1
  150. package/chunks/{chunk-FBSSIAAQ.js → chunk-OE5AQVNB.js} +8 -8
  151. package/chunks/chunk-OHU2H5CS.js +130 -0
  152. package/chunks/{chunk-2K6ORIHJ.js → chunk-OKMDOATP.js} +13 -13
  153. package/chunks/{chunk-JB4JIVTJ.js → chunk-OKTNXDVO.js} +1 -1
  154. package/chunks/{chunk-XDLEZ5HX.js → chunk-OQYXJK2V.js} +1 -1
  155. package/chunks/{chunk-EFUM7RVY.js → chunk-OSTQZIOY.js} +944 -18
  156. package/chunks/{chunk-VQUGEVGR.js → chunk-OTTNXUT5.js} +1 -1
  157. package/chunks/{chunk-T3WXYEZ4.js → chunk-PB7JBAHF.js} +53 -54
  158. package/chunks/{chunk-WAOIHTJS.js → chunk-PDAKFU7M.js} +1 -1
  159. package/chunks/{chunk-43GGFFLY.js → chunk-PDXYZBBQ.js} +3 -3
  160. package/chunks/{chunk-4CMJKUND.js → chunk-PNIGAVY6.js} +67 -2
  161. package/chunks/{chunk-SAH4BD2J.js → chunk-PQEISIKS.js} +67 -0
  162. package/chunks/{chunk-4CDSK5AZ.js → chunk-PWR2NQBS.js} +6 -6
  163. package/chunks/{chunk-YTDVNSUQ.js → chunk-QAK5475D.js} +1 -1
  164. package/chunks/{chunk-IJKTMLBE.js → chunk-QE7DTCLX.js} +1 -1
  165. package/chunks/{chunk-SMPR7SPO.js → chunk-QJNDUTOL.js} +45 -239
  166. package/chunks/{chunk-C6K43ZDE.js → chunk-QTMPM6RC.js} +16 -10
  167. package/chunks/{chunk-P5GGM4KS.js → chunk-RAEEQEC5.js} +5 -5
  168. package/chunks/{chunk-XDFHY4R3.js → chunk-RGEV5AUD.js} +242 -14
  169. package/chunks/{chunk-M6FOJXW3.js → chunk-RKW36UWC.js} +1 -1
  170. package/chunks/{chunk-RIEFGNTP.js → chunk-RLSPPTWH.js} +5119 -683
  171. package/chunks/{chunk-PDMJ3KGS.js → chunk-RT4QNQ5P.js} +3 -3
  172. package/chunks/{chunk-SJ3ZUWFK.js → chunk-RVCGAHC7.js} +4 -26
  173. package/chunks/{chunk-77RG5SFQ.js → chunk-RY7DL5IF.js} +11 -6
  174. package/chunks/{chunk-4FTKQNWJ.js → chunk-S2T7H5MI.js} +182 -3
  175. package/chunks/{chunk-EOGELB3H.js → chunk-SDCHI64N.js} +4 -4
  176. package/chunks/{chunk-EKSCLBBF.js → chunk-SMJYTKTB.js} +23 -5
  177. package/chunks/{chunk-MZS7GEC7.js → chunk-SMRDCANI.js} +1 -1
  178. package/chunks/{chunk-43UYNAWX.js → chunk-T3TL6S3B.js} +4 -4
  179. package/chunks/{chunk-4K7NQDCG.js → chunk-T4EFG2P5.js} +18 -9
  180. package/chunks/{chunk-IK5BW3CS.js → chunk-T4RMUTTT.js} +16 -5
  181. package/chunks/{chunk-L6BZRIUL.js → chunk-TBJ3SNS3.js} +183 -5
  182. package/chunks/{chunk-CCBZDVUA.js → chunk-TNMOFNT4.js} +133 -122
  183. package/chunks/{chunk-Y6LSMB6J.js → chunk-TV7BJ7TX.js} +1 -1
  184. package/chunks/{chunk-G34IR3D6.js → chunk-U5RTYI7D.js} +102 -146
  185. package/chunks/{chunk-TTX2JUE6.js → chunk-U6D2PPMN.js} +1 -1
  186. package/chunks/{chunk-D5LUXLUH.js → chunk-UJ4DUYIH.js} +18 -4
  187. package/chunks/{chunk-A7YP63XN.js → chunk-UKB2TZAO.js} +5 -5
  188. package/chunks/{chunk-VTHREBQM.js → chunk-UKYXYWI2.js} +2 -2
  189. package/chunks/{chunk-2NYCN6F2.js → chunk-UVYKCRJZ.js} +46 -29
  190. package/chunks/{chunk-HVEYF6VT.js → chunk-UXEW7TQS.js} +2 -2
  191. package/chunks/{chunk-HVQ3B7FF.js → chunk-V4HN35IF.js} +44 -7
  192. package/chunks/chunk-VGHZT6JR.js +51 -0
  193. package/chunks/{chunk-V5J4J5TP.js → chunk-VYSZUQGU.js} +2 -20
  194. package/chunks/{chunk-6IUNAPLR.js → chunk-W4BDHLRT.js} +3 -3
  195. package/chunks/{chunk-Q26AYA62.js → chunk-W7KWB6AH.js} +7 -4
  196. package/chunks/chunk-WLEYH7CD.js +332 -0
  197. package/chunks/{chunk-RU7BK6B3.js → chunk-X7C7KFWA.js} +2 -2
  198. package/chunks/{chunk-YRLW2MSX.js → chunk-XBVNNDPK.js} +11 -4
  199. package/chunks/{chunk-BFPESSTR.js → chunk-XEAAO654.js} +1 -1
  200. package/chunks/{chunk-JU4EEXC7.js → chunk-XLENZQXH.js} +2 -2
  201. package/chunks/{chunk-JSHHYW6T.js → chunk-XPDKSOVW.js} +69 -64
  202. package/chunks/chunk-YDQ4OCDK.js +1222 -0
  203. package/chunks/{chunk-ZU4UDIWX.js → chunk-YKADANK6.js} +6 -7
  204. package/chunks/{chunk-JCQD3INC.js → chunk-YNG7XAJU.js} +3 -3
  205. package/chunks/{chunk-O2UN57NX.js → chunk-YOFULAHO.js} +19 -2
  206. package/chunks/{chunk-BAJKAAOY.js → chunk-YOMKOM7E.js} +4892 -1504
  207. package/chunks/{chunk-ERFDKH32.js → chunk-YPISTYEI.js} +8 -7
  208. package/chunks/{chunk-TGWAQ5RB.js → chunk-ZBDYI7VM.js} +6900 -6882
  209. package/chunks/{chunk-OZ6KS6KW.js → chunk-ZGCKTAL5.js} +6 -1
  210. package/chunks/chunk-ZHO2CW6D.js +205 -0
  211. package/chunks/{chunk-DZWPESIF.js → chunk-ZQ3FKEWA.js} +3 -3
  212. package/chunks/{chunk-7EQQR46F.js → chunk-ZVP4PWBU.js} +1 -1
  213. package/chunks/{chunk-7UYV53BC.js → chunk-ZYPJ7HVZ.js} +1 -1
  214. package/chunks/config-utils-NNUPVGEC.js +118 -0
  215. package/chunks/contextCommand-S3TPCDM5.js +111 -0
  216. package/chunks/{core-runtime-677KFX6Q.js → core-runtime-NASPCSQX.js} +66 -63
  217. package/chunks/{create-sub-session-23ITIELI.js → create-sub-session-36TNCHCP.js} +3 -3
  218. package/chunks/{create-sub-session-JKZAYZX7.js → create-sub-session-DS4BJLYZ.js} +97 -68
  219. package/chunks/{cron-create-KJ4IY6PP.js → cron-create-QXHTYUTO.js} +4 -4
  220. package/chunks/{cron-delete-MBLQCAYY.js → cron-delete-WV2BM42M.js} +4 -4
  221. package/chunks/{cron-list-DWH2PQ47.js → cron-list-7KVNBLZ7.js} +4 -4
  222. package/chunks/{daemon-MJQUO7RA.js → daemon-UCVUHPJD.js} +723 -90
  223. package/chunks/{daemon-git-worktree-guard-6MVAAZZZ.js → daemon-git-worktree-guard-ATXVQPS3.js} +63 -60
  224. package/chunks/daemon-status-provider-UI3GBTMO.js +121 -0
  225. package/chunks/daemon-trust-policy-SUCBJ2CA.js +117 -0
  226. package/chunks/{daemon-trust-policy-monitor-B5U6TQX5.js → daemon-trust-policy-monitor-3LM5RQNS.js} +71 -68
  227. package/chunks/{de-X6HLSIFE.js → de-T4BLOKEC.js} +3 -0
  228. package/chunks/deferred-core-runtime-SCOJLVYG.js +119 -0
  229. package/chunks/{display-image-BE7I6ZB6.js → display-image-Z4VBQDEJ.js} +5 -5
  230. package/chunks/{dist-TJUDJTCB.js → dist-5423MG3D.js} +411 -91
  231. package/chunks/{dist-ILDBUWDB.js → dist-7WDZYMWV.js} +43 -25
  232. package/chunks/{dist-ZBVOXSKF.js → dist-FLJLHASF.js} +219 -121
  233. package/chunks/{dist-QODVOVWI.js → dist-GPSRNVVP.js} +43 -35
  234. package/chunks/{dist-DJBNNPLN.js → dist-LY66XNUL.js} +10 -3
  235. package/chunks/{dist-7CKN54NL.js → dist-S3BKCTWF.js} +205 -89
  236. package/chunks/{dist-UQUFZDIY.js → dist-SDKHGH5O.js} +41 -20
  237. package/chunks/{dist-4Q7NTUNB.js → dist-WAUO5OMN.js} +46 -22
  238. package/chunks/{dist-SATKXKUR.js → dist-WIVVPE7M.js} +28 -14
  239. package/chunks/earlyInputCapture-INWJ2STR.js +112 -0
  240. package/chunks/{edit-BSV6YRVW.js → edit-B7ZRRGAE.js} +51 -49
  241. package/chunks/{en-YLXBXM4Z.js → en-E4AYTX6H.js} +3 -0
  242. package/chunks/{enter-worktree-MQXFFPKM.js → enter-worktree-SPZHEETQ.js} +7 -7
  243. package/chunks/{enterPlanMode-PKNF35FE.js → enterPlanMode-S554IKJ2.js} +55 -53
  244. package/chunks/environment-25ADH4Y6.js +134 -0
  245. package/chunks/errors-G2I6LFTW.js +118 -0
  246. package/chunks/{exit-worktree-L344UY7K.js → exit-worktree-AWUXAMAM.js} +7 -7
  247. package/chunks/exitPlanMode-ZFH4OYPM.js +87 -0
  248. package/chunks/{fast-path-773PV7PU.js → fast-path-WZHVZ2ER.js} +8 -7
  249. package/chunks/{fast-path-settings-XMFBYFUH.js → fast-path-settings-NILM6QZL.js} +3 -3
  250. package/chunks/{fr-FTZWF462.js → fr-BGHGYX6A.js} +3 -0
  251. package/chunks/{glob-CZHOWUEA.js → glob-UOVDMBUP.js} +50 -48
  252. package/chunks/{goal-tools-YZQJXTGH.js → goal-tools-7TNK5ZHC.js} +5 -4
  253. package/chunks/{grep-5GPICQBU.js → grep-LHYJ5V2N.js} +9 -7
  254. package/chunks/handleAutoUpdate-4MZ45DZY.js +114 -0
  255. package/chunks/i18n-KWUEI4DS.js +129 -0
  256. package/chunks/{image-gen-HAYOEQ4O.js → image-gen-YZDVO5YS.js} +8 -10
  257. package/chunks/initializer-2NBROGMG.js +118 -0
  258. package/chunks/installationInfo-YKUSY3ZB.js +112 -0
  259. package/chunks/{ja-2GL5FKYJ.js → ja-G3FTD5XE.js} +3 -0
  260. package/chunks/{keychain-token-storage-37XPR34V.js → keychain-token-storage-REZVMJA6.js} +2 -2
  261. package/chunks/list-W2WV3COM.js +121 -0
  262. package/chunks/list-agents-PMVMHNY7.js +128 -0
  263. package/chunks/{gemini-IP4FJAP5.js → llm-NPPHLIJI.js} +162 -133
  264. package/chunks/{geminiContentGenerator-PUNEBWJW.js → llm-content-generator-YK3WN6XW.js} +29 -29
  265. package/chunks/loadedSettingsAdapter-2P7DFWUR.js +115 -0
  266. package/chunks/{loggingContentGenerator-2GGZNGLG.js → loggingContentGenerator-QYYYGU6V.js} +318 -35
  267. package/chunks/{loop-wakeup-XJFONSQ7.js → loop-wakeup-EBM4F5MZ.js} +5 -5
  268. package/chunks/{ls-3VAT2J7A.js → ls-F6TRX3DD.js} +4 -4
  269. package/chunks/{lsp-5W7IRUBH.js → lsp-QYTOS2FI.js} +2 -2
  270. package/chunks/{managed-npm-update-5TEV2E3J.js → managed-npm-update-UMC4NBWW.js} +64 -61
  271. package/chunks/mcp-OFI6XDP2.js +115 -0
  272. package/chunks/{monitor-FI7PY36Z.js → monitor-QX3BM3JY.js} +50 -48
  273. package/chunks/nonInteractiveCli-NVRMD5MN.js +193 -0
  274. package/chunks/{notebook-edit-TPGMGBST.js → notebook-edit-AAILDPSV.js} +51 -49
  275. package/chunks/{open-with-auth-4UI3KHUR.js → open-with-auth-D6JD6LDS.js} +4 -4
  276. package/chunks/{openaiContentGenerator-SUCYANUZ.js → openaiContentGenerator-53PB3CMN.js} +27 -29
  277. package/chunks/pidfile-5ACKG2LI.js +116 -0
  278. package/chunks/process-registry-OAEG6WGC.js +662 -0
  279. package/chunks/{processUtils-IQZBYWSB.js → processUtils-2BCDO3DZ.js} +2 -2
  280. package/chunks/prompt-terminal-ledger-3RKW73A2.js +110 -0
  281. package/chunks/{pt-XN2YWJVM.js → pt-D73IFYT7.js} +3 -0
  282. package/chunks/{qwenContentGenerator-J4TXFGJT.js → qwenContentGenerator-N4LLWDPH.js} +56 -54
  283. package/chunks/{qwenOAuth2-RF33DNZW.js → qwenOAuth2-7AOCKSOQ.js} +7 -9
  284. package/chunks/{read-file-QE2B5FTX.js → read-file-DPAKXHYE.js} +13 -13
  285. package/chunks/{read-mcp-resource-XD257PGJ.js → read-mcp-resource-R4NO75DW.js} +2 -2
  286. package/chunks/{record-artifact-RZGZBENU.js → record-artifact-2EAYLAL5.js} +4 -4
  287. package/chunks/{report-findings-Q3SYKKW5.js → report-findings-Y4MSHDS3.js} +9 -5
  288. package/chunks/{request-shutdown-BCLA3JV2.js → request-shutdown-DWRMGTMB.js} +8 -7
  289. package/chunks/resumeHistoryUtils-3JQORXAK.js +123 -0
  290. package/chunks/ripGrep-AHF5QCI7.js +39 -0
  291. package/chunks/{ru-OLTMFJEW.js → ru-QMISLKRH.js} +3 -0
  292. package/chunks/{run-qwen-serve-TPHZMSXJ.js → run-qwen-serve-3LKV7KDC.js} +728 -256
  293. package/chunks/runtime-66F4W3IA.js +153 -0
  294. package/chunks/scheduled-tasks-2NVKS5Q2.js +132 -0
  295. package/chunks/scheduler-JNV7T3ZO.js +127 -0
  296. package/chunks/{sdk-exporters-http-KCJ4ZFG7.js → sdk-exporters-http-MFIWD23D.js} +2 -2
  297. package/chunks/{sdk-impl-HLSEDAEP.js → sdk-impl-2RXJ4Q6X.js} +11 -5
  298. package/chunks/send-message-WPZRCJOB.js +442 -0
  299. package/chunks/serve-GP2UNRP7.js +123 -0
  300. package/chunks/{server-DFUSSSHI.js → server-7W6C3SOW.js} +5233 -3623
  301. package/chunks/{session-3TEHNENZ.js → session-PZLBAQGG.js} +125 -118
  302. package/chunks/session-pr-refresh-OIVL3U3Z.js +367 -0
  303. package/chunks/{settings-VOZYKLTT.js → settings-ZOHIQWYK.js} +70 -67
  304. package/chunks/shell-FWZT6IUR.js +97 -0
  305. package/chunks/{skill-FEOKFX26.js → skill-RTQC2YGA.js} +121 -65
  306. package/chunks/skill-settings-AKMIXFSJ.js +123 -0
  307. package/chunks/spawnChannel-ZP23JL6O.js +116 -0
  308. package/chunks/standalone-update-P2Q5H4ZU.js +123 -0
  309. package/chunks/{startInteractiveUI-WHJPFOGH.js → startInteractiveUI-NSA6QPQZ.js} +2018 -1526
  310. package/chunks/{stdioHelpers-7A2EE64Z.js → stdioHelpers-AY6XCDY2.js} +3 -1
  311. package/chunks/{syntheticOutput-ML43GEFN.js → syntheticOutput-5URSQLIS.js} +3 -3
  312. package/chunks/{task-create-TMSV7RD5.js → task-create-3EXVDG3G.js} +12 -12
  313. package/chunks/{task-list-W55RBFRX.js → task-list-PIBYNSE7.js} +5 -6
  314. package/chunks/{task-stop-CXEH5L2D.js → task-stop-IV3BYWJC.js} +2 -2
  315. package/chunks/{task-update-N536I4GQ.js → task-update-H5BPDS5Y.js} +13 -14
  316. package/chunks/{team-create-QYSWCYCL.js → team-create-53T42W37.js} +56 -55
  317. package/chunks/{team-delete-FJRFX33M.js → team-delete-X3WPELS6.js} +25 -8
  318. package/chunks/{team-plan-approval-P7DAD644.js → team-plan-approval-D45ZC5OE.js} +50 -48
  319. package/chunks/terminal-image-renderer-FCRUWT6C.js +121 -0
  320. package/chunks/theme-manager-MHNPEDP7.js +107 -0
  321. package/chunks/{todoWrite-WDJNQEMW.js → todoWrite-A5IOZZ3P.js} +4 -4
  322. package/chunks/{tool-search-F2EMIAPV.js → tool-search-6RPBGGUX.js} +27 -23
  323. package/chunks/total-session-admission-MGV56XDK.js +117 -0
  324. package/chunks/trustedFolders-QJYEFMTU.js +127 -0
  325. package/chunks/{types-WYCFCEHR.js → types-HKLPXZB3.js} +1 -3
  326. package/chunks/{update-relaunch-4GF3OXMB.js → update-relaunch-ZDMQX63C.js} +6 -6
  327. package/chunks/updateCheck-4QZWCGP6.js +123 -0
  328. package/chunks/useAutoAcceptIndicator-DLIQN256.js +125 -0
  329. package/chunks/{validateNonInterActiveAuth-BPPA563H.js → validateNonInterActiveAuth-HGTG7AEK.js} +114 -107
  330. package/chunks/{version-ANP4TS6O.js → version-CPAZMC4B.js} +1 -1
  331. package/chunks/{web-fetch-QJADSAH3.js → web-fetch-N4K5M3M4.js} +16 -18
  332. package/chunks/{web-search-7TTQKEKM.js → web-search-4VZKM5SF.js} +9 -11
  333. package/chunks/{web-shell-static-A6QMUNNV.js → web-shell-static-PW7OEDQO.js} +3 -2
  334. package/chunks/{workflow-5XN6XSOT.js → workflow-2ALQKTHG.js} +229 -146
  335. package/chunks/workspace-providers-status-5JM4CB6R.js +119 -0
  336. package/chunks/{workspace-registration-store-XKVW2YVH.js → workspace-registration-store-RNMFVCH7.js} +2 -1
  337. package/chunks/workspace-registry-6EULAPZC.js +126 -0
  338. package/chunks/workspace-runtime-coordinator-IRI2DRCJ.js +127 -0
  339. package/chunks/workspace-service-SETHN4WE.js +131 -0
  340. package/chunks/workspace-skills-status-4D4EUEQU.js +118 -0
  341. package/chunks/{workspace-trust-reconciler-KLGOB53D.js → workspace-trust-reconciler-4LR3CDL4.js} +77 -76
  342. package/chunks/write-file-45GWPSOI.js +92 -0
  343. package/chunks/{zh-UNY63FR3.js → zh-2BQ7P6OD.js} +3 -0
  344. package/chunks/{zh-TW-RPTMRTHG.js → zh-TW-UFXRZTXX.js} +3 -0
  345. package/chunks/{zoom-image-6ASG6J4C.js → zoom-image-K6IQUKRC.js} +13 -13
  346. package/cli.js +129 -92
  347. package/locales/ca.js +6 -0
  348. package/locales/de.js +6 -0
  349. package/locales/en.js +6 -0
  350. package/locales/fr.js +6 -0
  351. package/locales/ja.js +6 -0
  352. package/locales/pt.js +6 -0
  353. package/locales/ru.js +6 -0
  354. package/locales/zh-TW.js +6 -0
  355. package/locales/zh.js +6 -0
  356. package/package.json +3 -3
  357. package/web-shell/assets/{abnfDiagram-VCTEODGH-uS-vtfs3.js → abnfDiagram-VCTEODGH-C80OZcPP.js} +1 -1
  358. package/web-shell/assets/{arc-BSTnk5pu.js → arc-AUqStYgf.js} +1 -1
  359. package/web-shell/assets/{architectureDiagram-5GKGNRK7-DCMyiqzy.js → architectureDiagram-5GKGNRK7-CQYOdYla.js} +1 -1
  360. package/web-shell/assets/{blockDiagram-NRAW4CY4-C7_gt0r1.js → blockDiagram-NRAW4CY4-lYKlFysy.js} +1 -1
  361. package/web-shell/assets/{c4Diagram-UCG6FXSJ-BeQg2L8B.js → c4Diagram-UCG6FXSJ-BoS23iIp.js} +1 -1
  362. package/web-shell/assets/channel-B0ovOJeK.js +1 -0
  363. package/web-shell/assets/{chunk-2Q5K7J3B-DnV9bKBe.js → chunk-2Q5K7J3B-DLLooL1E.js} +1 -1
  364. package/web-shell/assets/{chunk-5VM5RSS4-rT1GAcT7.js → chunk-5VM5RSS4-kPfJxScY.js} +1 -1
  365. package/web-shell/assets/{chunk-F27PBJKO-BcgSxqGA.js → chunk-F27PBJKO-CVGFBqkD.js} +1 -1
  366. package/web-shell/assets/{chunk-G27WJ6UU-Bw1ZhyZq.js → chunk-G27WJ6UU-CnM_kOVV.js} +1 -1
  367. package/web-shell/assets/{chunk-JWPE2WC7-D4iDw-96.js → chunk-JWPE2WC7-Cj-ajOkT.js} +1 -1
  368. package/web-shell/assets/{chunk-LCL6LL3I-D3MB3GTZ.js → chunk-LCL6LL3I-8L5c-wFo.js} +1 -1
  369. package/web-shell/assets/{chunk-POPQ4Y6H-Cep2ndrS.js → chunk-POPQ4Y6H-DsXTxpvL.js} +1 -1
  370. package/web-shell/assets/{chunk-SVP7TREG-BuahMHJc.js → chunk-SVP7TREG-DU5GE1_z.js} +1 -1
  371. package/web-shell/assets/{chunk-XXDRQBXY-BdujIvJY.js → chunk-XXDRQBXY-D2IIWZKt.js} +1 -1
  372. package/web-shell/assets/classDiagram-DTDB5LWJ-DMll2-6_.js +1 -0
  373. package/web-shell/assets/classDiagram-v2-JRS7N3AN-DMll2-6_.js +1 -0
  374. package/web-shell/assets/{cose-bilkent-JH36ORCC-CGLLUbF8.js → cose-bilkent-JH36ORCC-CF_txUJr.js} +1 -1
  375. package/web-shell/assets/{cynefin-OW5HDTMX-D6kDsRSh.js → cynefin-OW5HDTMX-DEZ-My-Z.js} +1 -1
  376. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-CCy78qZx.js → cynefinDiagram-5FMLGOSQ-BV7EKUS6.js} +1 -1
  377. package/web-shell/assets/{dagre-3AP2YEHR-D5gJuJsf.js → dagre-3AP2YEHR-JGIX0G4H.js} +1 -1
  378. package/web-shell/assets/{diagram-S7CK7UJ4-ZwEZ5W__.js → diagram-S7CK7UJ4-DdUY7q6A.js} +1 -1
  379. package/web-shell/assets/{diagram-UQ7AKVKN-B036APjv.js → diagram-UQ7AKVKN-fhzRZ19v.js} +1 -1
  380. package/web-shell/assets/{diagram-VSXAHHWV-BfDJ57Fq.js → diagram-VSXAHHWV-BOgOex6q.js} +1 -1
  381. package/web-shell/assets/{diagram-VX7I27RA-Wha0p5rT.js → diagram-VX7I27RA-C0NknIz6.js} +1 -1
  382. package/web-shell/assets/{diagram-Z3DM3KII-L20bz2K1.js → diagram-Z3DM3KII-C__3mUBX.js} +1 -1
  383. package/web-shell/assets/{ebnfDiagram-PWID7BFC-D1ZM0Cp7.js → ebnfDiagram-PWID7BFC-BvPhqycH.js} +1 -1
  384. package/web-shell/assets/{erDiagram-SSCWMZ5O-CMtA19v8.js → erDiagram-SSCWMZ5O-BqzoNoL9.js} +1 -1
  385. package/web-shell/assets/{flowDiagram-A5DVABFB-D96m326S.js → flowDiagram-A5DVABFB-CJKOre47.js} +1 -1
  386. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-BuHiYG2o.js → ganttDiagram-EL5Y4UJY-C5xZjrp0.js} +1 -1
  387. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-Ck3NmkSw.js → gitGraphDiagram-WWUBYQGX-C0EjwuPK.js} +1 -1
  388. package/web-shell/assets/index-B_IPzA0h.js +2020 -0
  389. package/web-shell/assets/{index-CBGz4Qjl.js → index-C5M93syE.js} +1 -1
  390. package/web-shell/assets/index-D1OKGQlM.css +36 -0
  391. package/web-shell/assets/{infoDiagram-RXCK75RN-B6DAOyXe.js → infoDiagram-RXCK75RN-BUwzsYOs.js} +1 -1
  392. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-Bpg-joFo.js → ishikawaDiagram-5VMMS53U-EDJ_DH3V.js} +1 -1
  393. package/web-shell/assets/{journeyDiagram-EYS64GPL-BclrHzGa.js → journeyDiagram-EYS64GPL-BnfcOsS0.js} +1 -1
  394. package/web-shell/assets/{kanban-definition-3QL26DDD-5gJzNTYG.js → kanban-definition-3QL26DDD-D_ofTVGu.js} +1 -1
  395. package/web-shell/assets/{layout-CEz_1L8z.js → layout-CBuQFdfZ.js} +1 -1
  396. package/web-shell/assets/{linear-CBjTq9Hc.js → linear-DRIHtmGv.js} +1 -1
  397. package/web-shell/assets/{mermaid.core-Dzhbxx_I.js → mermaid.core-CmR5wZH6.js} +6 -6
  398. package/web-shell/assets/{mindmap-definition-FBJOCRG2-DQdVqlBF.js → mindmap-definition-FBJOCRG2-BV374olC.js} +1 -1
  399. package/web-shell/assets/{pegDiagram-XKGWAZYB-D1JZlYXL.js → pegDiagram-XKGWAZYB-Bpy1SplK.js} +1 -1
  400. package/web-shell/assets/{pieDiagram-E7YTZNPT-BmkpYL0w.js → pieDiagram-E7YTZNPT-CeZx4hR2.js} +1 -1
  401. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-DRvD6co5.js → quadrantDiagram-AXDQQJYC-COYKs14h.js} +1 -1
  402. package/web-shell/assets/{railroadDiagram-O6MQD6OU-CEdjDuoo.js → railroadDiagram-O6MQD6OU-5g2pOeTs.js} +1 -1
  403. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-BCHG-ie8.js → requirementDiagram-EFPCY7ZU-Yn8uPGtF.js} +1 -1
  404. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-C9cZMnye.js → sankeyDiagram-P5KCCOFB-CTayAGq6.js} +1 -1
  405. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-DYHRV4zL.js → sequenceDiagram-WJ2MYXX4-BFWDKzUU.js} +1 -1
  406. package/web-shell/assets/{sizeCapture-X5ZJPWSS-DlK21aye.js → sizeCapture-X5ZJPWSS-CtErUbj4.js} +1 -1
  407. package/web-shell/assets/{stateDiagram-HBIQ2CUA-BrmZssvk.js → stateDiagram-HBIQ2CUA-Co3HFzOd.js} +1 -1
  408. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-C3gdRjPm.js +1 -0
  409. package/web-shell/assets/{swimlanes-XN3QIQJK-D9xfcayR.js → swimlanes-XN3QIQJK-CDZuxzOj.js} +1 -1
  410. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-C34TGCPZ.js +8 -0
  411. package/web-shell/assets/{timeline-definition-24CTP7MA-D4gdDL_d.js → timeline-definition-24CTP7MA-UcNHj8At.js} +1 -1
  412. package/web-shell/assets/{vennDiagram-4TSXK5OY-DdhIExjI.js → vennDiagram-4TSXK5OY-JKR9pVFG.js} +1 -1
  413. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-C9RS_Zof.js → wardleyDiagram-VM6X3IG4-C4SU-yIW.js} +1 -1
  414. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-orRgmxWk.js → xychartDiagram-S5SC5T6Z-D_yoWGZ4.js} +1 -1
  415. package/web-shell/index.html +197 -3
  416. package/chunks/MaxSizedBox-X5FZSNAJ.js +0 -112
  417. package/chunks/agent-PJIPDWHB.js +0 -97
  418. package/chunks/agent-headless-B4JVD7UK.js +0 -87
  419. package/chunks/bridge-FKZTVIS3.js +0 -121
  420. package/chunks/channel-settings-store-4UFCLBBG.js +0 -117
  421. package/chunks/chunk-7DJCPZE3.js +0 -945
  422. package/chunks/chunk-CPBF7KYF.js +0 -51
  423. package/chunks/chunk-H72BQNM3.js +0 -645
  424. package/chunks/chunk-J2OSJFP3.js +0 -202
  425. package/chunks/chunk-K2OJUPOE.js +0 -78
  426. package/chunks/chunk-P3QQPMQA.js +0 -19
  427. package/chunks/chunk-RUGNCYNO.js +0 -699
  428. package/chunks/chunk-T26EAKDL.js +0 -13
  429. package/chunks/chunk-ZGXYO7DY.js +0 -3416
  430. package/chunks/chunk-ZYNTSXWK.js +0 -32
  431. package/chunks/config-utils-BBOCOGZW.js +0 -113
  432. package/chunks/contextCommand-EET67MQ2.js +0 -108
  433. package/chunks/daemon-status-provider-RFKZOK3S.js +0 -119
  434. package/chunks/daemon-trust-policy-DRZPFB4Q.js +0 -114
  435. package/chunks/deferred-core-runtime-BBVIOP24.js +0 -116
  436. package/chunks/earlyInputCapture-2JOMMNQ4.js +0 -109
  437. package/chunks/environment-MOZMPUHR.js +0 -131
  438. package/chunks/errors-DMPQVYJL.js +0 -115
  439. package/chunks/exitPlanMode-UE4FGCY4.js +0 -85
  440. package/chunks/handleAutoUpdate-SGXKTQM6.js +0 -111
  441. package/chunks/i18n-B42HKHKH.js +0 -126
  442. package/chunks/initializer-FB66WYR3.js +0 -115
  443. package/chunks/installationInfo-Y7AULNMX.js +0 -109
  444. package/chunks/list-2HWGSVRA.js +0 -118
  445. package/chunks/list-agents-DI3YFTDT.js +0 -80
  446. package/chunks/loadedSettingsAdapter-7Y7IEI6T.js +0 -112
  447. package/chunks/mcp-QGG5NMJJ.js +0 -112
  448. package/chunks/nonInteractiveCli-4LO2TL72.js +0 -186
  449. package/chunks/pidfile-JMF2CLMY.js +0 -113
  450. package/chunks/process-registry-PMJOA5CO.js +0 -172
  451. package/chunks/prompt-terminal-ledger-DCZO6S7C.js +0 -107
  452. package/chunks/resumeHistoryUtils-CZ4JRDVW.js +0 -120
  453. package/chunks/ripGrep-R6B6HWPX.js +0 -39
  454. package/chunks/runtime-TTIGSBM4.js +0 -150
  455. package/chunks/scheduled-tasks-QB4ZVUQS.js +0 -129
  456. package/chunks/scheduler-YRUG22M7.js +0 -124
  457. package/chunks/send-message-Y5I6NYAM.js +0 -295
  458. package/chunks/serve-MXXCDAQN.js +0 -120
  459. package/chunks/shell-6RTKZVMI.js +0 -95
  460. package/chunks/skill-settings-VA4XVYVL.js +0 -120
  461. package/chunks/spawnChannel-F6WVP723.js +0 -114
  462. package/chunks/standalone-update-RGILUQVK.js +0 -120
  463. package/chunks/terminal-image-renderer-SMQE46UJ.js +0 -116
  464. package/chunks/theme-manager-RFO5WWFF.js +0 -104
  465. package/chunks/total-session-admission-HTVTP4BS.js +0 -116
  466. package/chunks/trustedFolders-7OCNMUQE.js +0 -124
  467. package/chunks/updateCheck-7QBDXZRT.js +0 -120
  468. package/chunks/useAutoAcceptIndicator-UI4SNL2O.js +0 -122
  469. package/chunks/workspace-providers-status-PDFZWL5Q.js +0 -116
  470. package/chunks/workspace-registry-23R7XRB5.js +0 -125
  471. package/chunks/workspace-service-MUYO2QIC.js +0 -131
  472. package/chunks/workspace-skills-status-IKECTOOQ.js +0 -115
  473. package/chunks/write-file-GGRBB5TZ.js +0 -90
  474. package/web-shell/assets/channel-CENAhErJ.js +0 -1
  475. package/web-shell/assets/classDiagram-DTDB5LWJ-CM6FArGH.js +0 -1
  476. package/web-shell/assets/classDiagram-v2-JRS7N3AN-CM6FArGH.js +0 -1
  477. package/web-shell/assets/index-8hXIpvo4.js +0 -1865
  478. package/web-shell/assets/index-DclEv91i.css +0 -5
  479. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-B2Q7XDaE.js +0 -1
  480. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-DpZPOSbX.js +0 -8
@@ -23,6 +23,47 @@ var MCP_RESTART_CLIENT_HEADROOM_MS = 3e4;
23
23
 
24
24
  // packages/sdk-typescript/src/daemon/DaemonAuthFlow.ts
25
25
  init_esbuild_shims();
26
+
27
+ // packages/sdk-typescript/src/daemon/DaemonHttpError.ts
28
+ init_esbuild_shims();
29
+ var DaemonHttpError = class extends Error {
30
+ static {
31
+ __name(this, "DaemonHttpError");
32
+ }
33
+ status;
34
+ body;
35
+ constructor(status, body, message) {
36
+ super(message);
37
+ this.name = "DaemonHttpError";
38
+ this.status = status;
39
+ this.body = body;
40
+ }
41
+ };
42
+ function getErrorBodyRecord(body) {
43
+ return typeof body === "object" && body !== null && !Array.isArray(body) ? body : void 0;
44
+ }
45
+ __name(getErrorBodyRecord, "getErrorBodyRecord");
46
+ function isSubagentSessionNotFound(error, toolCallId) {
47
+ if (!(error instanceof DaemonHttpError) || error.status !== 404) {
48
+ return false;
49
+ }
50
+ const body = getErrorBodyRecord(error.body);
51
+ if (body?.["code"] !== "session_not_found") return false;
52
+ return toolCallId === void 0 || body["toolCallId"] === toolCallId;
53
+ }
54
+ __name(isSubagentSessionNotFound, "isSubagentSessionNotFound");
55
+ function isSessionLevelNotFound(error) {
56
+ if (!(error instanceof DaemonHttpError) || error.status !== 404) {
57
+ return false;
58
+ }
59
+ const body = getErrorBodyRecord(error.body);
60
+ if (body?.["code"] !== "session_not_found") return false;
61
+ const toolCallId = body["toolCallId"];
62
+ return toolCallId === void 0 || toolCallId === null;
63
+ }
64
+ __name(isSessionLevelNotFound, "isSessionLevelNotFound");
65
+
66
+ // packages/sdk-typescript/src/daemon/DaemonAuthFlow.ts
26
67
  var DEVICE_FLOW_EXPIRY_GRACE_MS = 3e4;
27
68
  var TERMINAL_STATUSES = /* @__PURE__ */ new Set(
28
69
  ["authorized", "expired", "error", "cancelled"]
@@ -181,49 +222,10 @@ function isDaemonSessionPrInfo(value) {
181
222
  const v = value;
182
223
  return typeof v["number"] === "number" && Number.isInteger(v["number"]) && v["number"] > 0 && typeof v["url"] === "string" && v["url"].length <= MAX_SESSION_PR_URL_LENGTH && /^https?:\/\//i.test(v["url"]) && // The daemon interpolates the url into a stderr audit line — control
183
224
  // characters would forge log lines downstream of this gate.
184
- !hasControlCharacter(v["url"]);
225
+ !hasControlCharacter(v["url"]) && (v["state"] === void 0 || v["state"] === "open" || v["state"] === "merged" || v["state"] === "closed");
185
226
  }
186
227
  __name(isDaemonSessionPrInfo, "isDaemonSessionPrInfo");
187
228
 
188
- // packages/sdk-typescript/src/daemon/DaemonHttpError.ts
189
- init_esbuild_shims();
190
- var DaemonHttpError = class extends Error {
191
- static {
192
- __name(this, "DaemonHttpError");
193
- }
194
- status;
195
- body;
196
- constructor(status, body, message) {
197
- super(message);
198
- this.name = "DaemonHttpError";
199
- this.status = status;
200
- this.body = body;
201
- }
202
- };
203
- function getErrorBodyRecord(body) {
204
- return typeof body === "object" && body !== null && !Array.isArray(body) ? body : void 0;
205
- }
206
- __name(getErrorBodyRecord, "getErrorBodyRecord");
207
- function isSubagentSessionNotFound(error, toolCallId) {
208
- if (!(error instanceof DaemonHttpError) || error.status !== 404) {
209
- return false;
210
- }
211
- const body = getErrorBodyRecord(error.body);
212
- if (body?.["code"] !== "session_not_found") return false;
213
- return toolCallId === void 0 || body["toolCallId"] === toolCallId;
214
- }
215
- __name(isSubagentSessionNotFound, "isSubagentSessionNotFound");
216
- function isSessionLevelNotFound(error) {
217
- if (!(error instanceof DaemonHttpError) || error.status !== 404) {
218
- return false;
219
- }
220
- const body = getErrorBodyRecord(error.body);
221
- if (body?.["code"] !== "session_not_found") return false;
222
- const toolCallId = body["toolCallId"];
223
- return toolCallId === void 0 || toolCallId === null;
224
- }
225
- __name(isSessionLevelNotFound, "isSessionLevelNotFound");
226
-
227
229
  // packages/sdk-typescript/src/daemon/RestSseTransport.ts
228
230
  init_esbuild_shims();
229
231
 
@@ -624,6 +626,232 @@ function isDaemonContentHash(value) {
624
626
  __name(isDaemonContentHash, "isDaemonContentHash");
625
627
  var DAEMON_APPROVAL_MODES = PERMISSION_MODES;
626
628
 
629
+ // packages/sdk-typescript/src/daemon/standalone-sessions.ts
630
+ init_esbuild_shims();
631
+ var STANDALONE_SESSIONS_CAPABILITY = "standalone_sessions_v1";
632
+ var DaemonStandaloneProtocolError = class extends Error {
633
+ constructor(route, detail) {
634
+ super(`${route}: malformed standalone-session response (${detail})`);
635
+ this.route = route;
636
+ this.name = "DaemonStandaloneProtocolError";
637
+ }
638
+ static {
639
+ __name(this, "DaemonStandaloneProtocolError");
640
+ }
641
+ };
642
+ var DaemonStandaloneCreationOutcomeUnknownError = class extends Error {
643
+ constructor(sessionId, recovery, originalError) {
644
+ super(
645
+ `Standalone session creation outcome is unknown for ${sessionId}; inspect recovery before retrying.`
646
+ );
647
+ this.sessionId = sessionId;
648
+ this.recovery = recovery;
649
+ this.originalError = originalError;
650
+ this.name = "DaemonStandaloneCreationOutcomeUnknownError";
651
+ }
652
+ static {
653
+ __name(this, "DaemonStandaloneCreationOutcomeUnknownError");
654
+ }
655
+ };
656
+ function asRecord(value, route, field = "response") {
657
+ if (typeof value !== "object" || value === null || Array.isArray(value)) {
658
+ throw new DaemonStandaloneProtocolError(route, `expected ${field} object`);
659
+ }
660
+ return value;
661
+ }
662
+ __name(asRecord, "asRecord");
663
+ function requireString(value, field, route, allowEmpty = false) {
664
+ const result = value[field];
665
+ if (typeof result !== "string" || !allowEmpty && result.length === 0) {
666
+ throw new DaemonStandaloneProtocolError(route, `expected ${field} string`);
667
+ }
668
+ return result;
669
+ }
670
+ __name(requireString, "requireString");
671
+ function requireStringArray(value, field, route) {
672
+ const result = value[field];
673
+ if (!Array.isArray(result) || !result.every((item) => typeof item === "string")) {
674
+ throw new DaemonStandaloneProtocolError(route, `expected ${field}[]`);
675
+ }
676
+ }
677
+ __name(requireStringArray, "requireStringArray");
678
+ function requireSessionId(value, route, expected) {
679
+ const sessionId = requireString(value, "sessionId", route);
680
+ if (expected !== void 0 && sessionId !== expected) {
681
+ throw new DaemonStandaloneProtocolError(
682
+ route,
683
+ `expected sessionId ${expected}, received ${sessionId}`
684
+ );
685
+ }
686
+ return sessionId;
687
+ }
688
+ __name(requireSessionId, "requireSessionId");
689
+ function validateContext(value, route) {
690
+ if (asRecord(value["context"], route, "context")["kind"] !== "standalone") {
691
+ throw new DaemonStandaloneProtocolError(
692
+ route,
693
+ "expected standalone context"
694
+ );
695
+ }
696
+ }
697
+ __name(validateContext, "validateContext");
698
+ function validateWorkingDirectory(value, route) {
699
+ const directory = asRecord(value, route, "workingDirectory");
700
+ if (directory["state"] !== "ready" && directory["state"] !== "recreated") {
701
+ throw new DaemonStandaloneProtocolError(
702
+ route,
703
+ "invalid workingDirectory.state"
704
+ );
705
+ }
706
+ if (directory["warnings"] !== void 0) {
707
+ requireStringArray(directory, "warnings", route);
708
+ }
709
+ }
710
+ __name(validateWorkingDirectory, "validateWorkingDirectory");
711
+ function validateStandaloneFields(value, route) {
712
+ if (value["sourceType"] !== "standalone") {
713
+ throw new DaemonStandaloneProtocolError(
714
+ route,
715
+ "expected standalone sourceType"
716
+ );
717
+ }
718
+ validateContext(value, route);
719
+ requireString(value, "projectlessOutputDirectory", route);
720
+ validateWorkingDirectory(value["workingDirectory"], route);
721
+ }
722
+ __name(validateStandaloneFields, "validateStandaloneFields");
723
+ function parseStandaloneSession(value, route, expectedSessionId) {
724
+ const session = asRecord(value, route);
725
+ requireSessionId(session, route, expectedSessionId);
726
+ requireString(session, "workspaceCwd", route);
727
+ if (typeof session["attached"] !== "boolean") {
728
+ throw new DaemonStandaloneProtocolError(route, "expected attached boolean");
729
+ }
730
+ validateStandaloneFields(session, route);
731
+ return session;
732
+ }
733
+ __name(parseStandaloneSession, "parseStandaloneSession");
734
+ function parseRestoredStandaloneSession(value, route, expectedSessionId) {
735
+ const raw = asRecord(value, route);
736
+ parseStandaloneSession(raw, route, expectedSessionId);
737
+ asRecord(raw["state"], route, "state");
738
+ return raw;
739
+ }
740
+ __name(parseRestoredStandaloneSession, "parseRestoredStandaloneSession");
741
+ function parseStandaloneSummary(value, route, expectedSessionId) {
742
+ const summary = asRecord(value, route);
743
+ requireSessionId(summary, route, expectedSessionId);
744
+ requireString(summary, "workspaceCwd", route);
745
+ if (summary["sourceType"] !== "standalone") {
746
+ throw new DaemonStandaloneProtocolError(
747
+ route,
748
+ "expected standalone sourceType"
749
+ );
750
+ }
751
+ validateContext(summary, route);
752
+ return summary;
753
+ }
754
+ __name(parseStandaloneSummary, "parseStandaloneSummary");
755
+ function parseStandaloneLookup(value, route, expectedSessionId) {
756
+ const lookup = asRecord(value, route);
757
+ if (lookup["state"] === "creating") {
758
+ const sessionId = requireSessionId(lookup, route, expectedSessionId);
759
+ return { sessionId, state: "creating" };
760
+ }
761
+ return parseStandaloneSummary(lookup, route, expectedSessionId);
762
+ }
763
+ __name(parseStandaloneLookup, "parseStandaloneLookup");
764
+ function parseStandaloneListPage(value, route) {
765
+ const page = asRecord(value, route);
766
+ if (!Array.isArray(page["sessions"])) {
767
+ throw new DaemonStandaloneProtocolError(route, "expected sessions[]");
768
+ }
769
+ if (page["nextCursor"] !== void 0 && typeof page["nextCursor"] !== "string") {
770
+ throw new DaemonStandaloneProtocolError(
771
+ route,
772
+ "expected nextCursor string"
773
+ );
774
+ }
775
+ for (const field of ["liveMergeFailed", "truncated"]) {
776
+ if (page[field] !== void 0 && typeof page[field] !== "boolean") {
777
+ throw new DaemonStandaloneProtocolError(
778
+ route,
779
+ `expected ${field} boolean`
780
+ );
781
+ }
782
+ }
783
+ for (const session of page["sessions"])
784
+ parseStandaloneSummary(session, route);
785
+ return page;
786
+ }
787
+ __name(parseStandaloneListPage, "parseStandaloneListPage");
788
+ function parseStandaloneDirectoryResult(value, route, expectedSessionId) {
789
+ const result = asRecord(value, route);
790
+ requireSessionId(result, route, expectedSessionId);
791
+ requireString(result, "projectlessOutputDirectory", route);
792
+ validateWorkingDirectory(result["workingDirectory"], route);
793
+ return result;
794
+ }
795
+ __name(parseStandaloneDirectoryResult, "parseStandaloneDirectoryResult");
796
+ function parseStandaloneMetadataResult(value, route, expectedSessionId) {
797
+ const result = asRecord(value, route);
798
+ requireSessionId(result, route, expectedSessionId);
799
+ requireString(result, "displayName", route, true);
800
+ return result;
801
+ }
802
+ __name(parseStandaloneMetadataResult, "parseStandaloneMetadataResult");
803
+ function validateBatch(value, route, fields) {
804
+ const result = asRecord(value, route);
805
+ for (const field of fields) requireStringArray(result, field, route);
806
+ if (!Array.isArray(result["errors"])) {
807
+ throw new DaemonStandaloneProtocolError(route, "expected errors[]");
808
+ }
809
+ for (const item of result["errors"]) {
810
+ const error = asRecord(item, route, "batch error");
811
+ for (const field of ["sessionId", "code", "message"]) {
812
+ requireString(error, field, route);
813
+ }
814
+ }
815
+ return result;
816
+ }
817
+ __name(validateBatch, "validateBatch");
818
+ function parseArchiveStandaloneSessionsResult(value, route) {
819
+ return validateBatch(value, route, [
820
+ "archived",
821
+ "alreadyArchived",
822
+ "notFound"
823
+ ]);
824
+ }
825
+ __name(parseArchiveStandaloneSessionsResult, "parseArchiveStandaloneSessionsResult");
826
+ function parseUnarchiveStandaloneSessionsResult(value, route) {
827
+ return validateBatch(value, route, [
828
+ "unarchived",
829
+ "alreadyActive",
830
+ "notFound"
831
+ ]);
832
+ }
833
+ __name(parseUnarchiveStandaloneSessionsResult, "parseUnarchiveStandaloneSessionsResult");
834
+ function parseDeleteStandaloneSessionsResult(value, route) {
835
+ return validateBatch(value, route, [
836
+ "removed",
837
+ "notFound",
838
+ "fileCleanupPending"
839
+ ]);
840
+ }
841
+ __name(parseDeleteStandaloneSessionsResult, "parseDeleteStandaloneSessionsResult");
842
+ function isStandaloneSessionNotFoundError(error) {
843
+ return error instanceof DaemonHttpError && error.status === 404 && recordCode(error.body) === "standalone_session_not_found";
844
+ }
845
+ __name(isStandaloneSessionNotFoundError, "isStandaloneSessionNotFoundError");
846
+ function isStandaloneCreationOutcomeUnknown(error) {
847
+ return error instanceof DaemonStandaloneCreationOutcomeUnknownError || error instanceof DaemonHttpError && recordCode(error.body) === "standalone_creation_outcome_unknown";
848
+ }
849
+ __name(isStandaloneCreationOutcomeUnknown, "isStandaloneCreationOutcomeUnknown");
850
+ function recordCode(value) {
851
+ return typeof value === "object" && value !== null && !Array.isArray(value) ? value["code"] : void 0;
852
+ }
853
+ __name(recordCode, "recordCode");
854
+
627
855
  // packages/sdk-typescript/src/daemon/DaemonClient.ts
628
856
  var WORKSPACE_MEMORY_REMEMBER_PATH = "/workspace/memory/remember";
629
857
  var WORKSPACE_MEMORY_FORGET_PATH = "/workspace/memory/forget";
@@ -665,11 +893,15 @@ function parseSessionGenerationEvent(value) {
665
893
  __name(parseSessionGenerationEvent, "parseSessionGenerationEvent");
666
894
  var DEFAULT_SESSION_LIST_PAGE_SIZE = 20;
667
895
  var DEFAULT_FETCH_TIMEOUT_MS = 3e4;
896
+ var DEFAULT_PROVIDER_MUTATION_TIMEOUT_MS = 0;
668
897
  var DEFAULT_SESSION_RESTORE_TIMEOUT_MS = 7e4;
669
898
  var SESSION_RESTORE_TIMEOUT_HEADROOM_MS = 1e4;
670
899
  var VOICE_TRANSCRIPTION_DEFAULT_TIMEOUT_MS = 65e3;
671
900
  var GITHUB_SETUP_DEFAULT_TIMEOUT_MS = 9e4;
672
901
  var CHANNEL_NOTIFY_DEFAULT_TIMEOUT_MS = 35e3;
902
+ var WORKSPACE_RUNTIME_ENSURE_SERVER_DEADLINE_MS = 6e4;
903
+ var WORKSPACE_RUNTIME_ENSURE_CLIENT_HEADROOM_MS = 2e3;
904
+ var WORKSPACE_RUNTIME_ENSURE_TIMEOUT_MS = WORKSPACE_RUNTIME_ENSURE_SERVER_DEADLINE_MS + WORKSPACE_RUNTIME_ENSURE_CLIENT_HEADROOM_MS;
673
905
  var MAX_TIMER_DELAY_MS = 2147483647;
674
906
  var DEFAULT_MAX_PENDING_PROMPTS_PER_SESSION = 5;
675
907
  var MCP_RESTART_DEFAULT_TIMEOUT_MS = MCP_RESTART_SERVER_DEADLINE_MS + MCP_RESTART_CLIENT_HEADROOM_MS;
@@ -880,7 +1112,23 @@ var DaemonClient = class {
880
1112
  }
881
1113
  } catch {
882
1114
  }
883
- const detail = body && typeof body === "object" && "error" in body ? String(body.error) : `HTTP ${res.status}`;
1115
+ const errorBody = body && typeof body === "object" && !Array.isArray(body) ? body : void 0;
1116
+ let detail = errorBody && "error" in errorBody ? String(errorBody["error"]) : `HTTP ${res.status}`;
1117
+ if (res.status >= 500 && errorBody?.["error"] === "Internal error" && typeof errorBody["code"] === "number") {
1118
+ const data = errorBody["data"];
1119
+ if (typeof data === "string" && data.length > 0) {
1120
+ detail = data;
1121
+ } else if (data && typeof data === "object" && !Array.isArray(data)) {
1122
+ const record = data;
1123
+ const details = record["details"];
1124
+ const message = record["message"];
1125
+ if (typeof details === "string" && details.length > 0) {
1126
+ detail = details;
1127
+ } else if (typeof message === "string" && message.length > 0) {
1128
+ detail = message;
1129
+ }
1130
+ }
1131
+ }
884
1132
  if (sessionId && res.status === 503 && body && typeof body === "object") {
885
1133
  const data = body;
886
1134
  if (data.code === "prompt_queue_full") {
@@ -1249,6 +1497,24 @@ var DaemonClient = class {
1249
1497
  { mode: "rest" }
1250
1498
  );
1251
1499
  }
1500
+ async ensureWorkspaceRuntime() {
1501
+ return await this.jsonRequest(
1502
+ "/workspace/runtime/ensure",
1503
+ "POST /workspace/runtime/ensure",
1504
+ {
1505
+ method: "POST",
1506
+ timeoutMs: WORKSPACE_RUNTIME_ENSURE_TIMEOUT_MS,
1507
+ mode: "rest"
1508
+ }
1509
+ );
1510
+ }
1511
+ async workspaceRuntimeStatus() {
1512
+ return await this.jsonRequest(
1513
+ "/workspace/runtime/status",
1514
+ "GET /workspace/runtime/status",
1515
+ { mode: "rest" }
1516
+ );
1517
+ }
1252
1518
  async workspaceProviders() {
1253
1519
  return await this.fetchWithTimeout(
1254
1520
  `${this.baseUrl}/workspace/providers`,
@@ -1551,22 +1817,21 @@ var DaemonClient = class {
1551
1817
  }
1552
1818
  // -- Workspace files (workspace files) -------------------------------
1553
1819
  async readWorkspaceFile(filePath, opts = {}, clientId) {
1554
- const url = new URL(`${this.baseUrl}/file`);
1555
- url.searchParams.set("path", filePath);
1820
+ const query = new URLSearchParams({ path: filePath });
1556
1821
  if (opts.maxBytes !== void 0) {
1557
- url.searchParams.set("maxBytes", String(opts.maxBytes));
1822
+ query.set("maxBytes", String(opts.maxBytes));
1558
1823
  }
1559
1824
  if (opts.line !== void 0) {
1560
- url.searchParams.set("line", String(opts.line));
1825
+ query.set("line", String(opts.line));
1561
1826
  }
1562
1827
  if (opts.limit !== void 0) {
1563
- url.searchParams.set("limit", String(opts.limit));
1828
+ query.set("limit", String(opts.limit));
1564
1829
  }
1565
1830
  if (opts.cursor !== void 0) {
1566
- url.searchParams.set("cursor", opts.cursor);
1831
+ query.set("cursor", opts.cursor);
1567
1832
  }
1568
1833
  return await this.fetchWithTimeout(
1569
- url.toString(),
1834
+ `${this.baseUrl}/file?${query.toString()}`,
1570
1835
  { headers: this.headers({}, clientId) },
1571
1836
  async (res) => {
1572
1837
  if (!res.ok) throw await this.failOnError(res, "GET /file");
@@ -1592,10 +1857,9 @@ var DaemonClient = class {
1592
1857
  );
1593
1858
  }
1594
1859
  async fileStat(filePath) {
1595
- const url = new URL(`${this.baseUrl}/stat`);
1596
- url.searchParams.set("path", filePath);
1860
+ const query = new URLSearchParams({ path: filePath });
1597
1861
  return await this.fetchWithTimeout(
1598
- url.toString(),
1862
+ `${this.baseUrl}/stat?${query.toString()}`,
1599
1863
  { headers: this.headers() },
1600
1864
  async (res) => {
1601
1865
  if (!res.ok) throw await this.failOnError(res, "GET /stat");
@@ -1604,10 +1868,9 @@ var DaemonClient = class {
1604
1868
  );
1605
1869
  }
1606
1870
  async dirList(dirPath) {
1607
- const url = new URL(`${this.baseUrl}/list`);
1608
- url.searchParams.set("path", dirPath);
1871
+ const query = new URLSearchParams({ path: dirPath });
1609
1872
  return await this.fetchWithTimeout(
1610
- url.toString(),
1873
+ `${this.baseUrl}/list?${query.toString()}`,
1611
1874
  { headers: this.headers() },
1612
1875
  async (res) => {
1613
1876
  if (!res.ok) throw await this.failOnError(res, "GET /list");
@@ -1620,10 +1883,9 @@ var DaemonClient = class {
1620
1883
  * pick a path outside any registered workspace (e.g. "Add workspace").
1621
1884
  */
1622
1885
  async workspacePathSuggestions(prefix) {
1623
- const url = new URL(`${this.baseUrl}/workspace-path-suggestions`);
1624
- url.searchParams.set("prefix", prefix);
1886
+ const query = new URLSearchParams({ prefix });
1625
1887
  return await this.fetchWithTimeout(
1626
- url.toString(),
1888
+ `${this.baseUrl}/workspace-path-suggestions?${query.toString()}`,
1627
1889
  { headers: this.headers() },
1628
1890
  async (res) => {
1629
1891
  if (!res.ok) {
@@ -1646,10 +1908,9 @@ var DaemonClient = class {
1646
1908
  );
1647
1909
  }
1648
1910
  async glob(pattern) {
1649
- const url = new URL(`${this.baseUrl}/glob`);
1650
- url.searchParams.set("pattern", pattern);
1911
+ const query = new URLSearchParams({ pattern });
1651
1912
  return await this.fetchWithTimeout(
1652
- url.toString(),
1913
+ `${this.baseUrl}/glob?${query.toString()}`,
1653
1914
  { headers: this.headers() },
1654
1915
  async (res) => {
1655
1916
  if (!res.ok) throw await this.failOnError(res, "GET /glob");
@@ -1699,9 +1960,8 @@ var DaemonClient = class {
1699
1960
  * @internal
1700
1961
  */
1701
1962
  async uploadFileToPath(uploadPath, label, req, clientId) {
1702
- const target = new URL(`${this.baseUrl}${uploadPath}`);
1703
- target.searchParams.set("path", req.path);
1704
- const url = target.toString();
1963
+ const query = new URLSearchParams({ path: req.path });
1964
+ const url = `${this.baseUrl}${uploadPath}?${query.toString()}`;
1705
1965
  const headers = this.headers(
1706
1966
  { "Content-Type": "application/octet-stream" },
1707
1967
  clientId
@@ -1854,10 +2114,11 @@ var DaemonClient = class {
1854
2114
  }
1855
2115
  /**
1856
2116
  * Append to or replace `QWEN.md` at workspace or global scope.
1857
- * Strict mutation gate (`token_required` on no-token loopback
1858
- * defaults). When the daemon advertises `workspace_memory`, expect
1859
- * 200 with `{ ok, filePath, bytesWritten, mode }`; older daemons
1860
- * without the capability return 404.
2117
+ * The strict mutation gate accepts trusted-loopback callers without a token;
2118
+ * older daemons and non-trusted embeds can still return `token_required`.
2119
+ * When the daemon advertises `workspace_memory`, expect 200 with
2120
+ * `{ ok, filePath, bytesWritten, mode }`; older daemons without the
2121
+ * capability return 404.
1861
2122
  */
1862
2123
  async writeWorkspaceMemory(req, clientId) {
1863
2124
  return await this.fetchWithTimeout(
@@ -1881,6 +2142,11 @@ var DaemonClient = class {
1881
2142
  * poll `getWorkspaceMemoryRememberTask()` until the task is terminal.
1882
2143
  */
1883
2144
  async rememberWorkspaceMemory(content, opts = {}) {
2145
+ if (opts.scope) {
2146
+ await this.requireCapability(
2147
+ opts.scope === "project" ? "workspace_memory_remember_project_scope" : "workspace_memory_remember_user_scope"
2148
+ );
2149
+ }
1884
2150
  return await this.jsonRequest(
1885
2151
  WORKSPACE_MEMORY_REMEMBER_PATH,
1886
2152
  `POST ${WORKSPACE_MEMORY_REMEMBER_PATH}`,
@@ -1888,7 +2154,8 @@ var DaemonClient = class {
1888
2154
  method: "POST",
1889
2155
  body: {
1890
2156
  content,
1891
- contextMode: opts.contextMode ?? "workspace"
2157
+ contextMode: opts.contextMode ?? "workspace",
2158
+ ...opts.scope ? { scope: opts.scope } : {}
1892
2159
  },
1893
2160
  clientId: opts.clientId
1894
2161
  }
@@ -1902,12 +2169,18 @@ var DaemonClient = class {
1902
2169
  );
1903
2170
  }
1904
2171
  async forgetWorkspaceMemory(query, opts = {}) {
2172
+ if (opts.scope) {
2173
+ await this.requireCapability("workspace_memory_forget_scope");
2174
+ }
1905
2175
  return await this.jsonRequest(
1906
2176
  WORKSPACE_MEMORY_FORGET_PATH,
1907
2177
  `POST ${WORKSPACE_MEMORY_FORGET_PATH}`,
1908
2178
  {
1909
2179
  method: "POST",
1910
- body: { query },
2180
+ body: {
2181
+ query,
2182
+ ...opts.scope ? { scope: opts.scope } : {}
2183
+ },
1911
2184
  clientId: opts.clientId
1912
2185
  }
1913
2186
  );
@@ -2142,6 +2415,185 @@ var DaemonClient = class {
2142
2415
  );
2143
2416
  }
2144
2417
  // -- Sessions ----------------------------------------------------------
2418
+ async createStandaloneSession(options = {}) {
2419
+ await this.requireCapability(STANDALONE_SESSIONS_CAPABILITY);
2420
+ const { sessionId: requestedSessionId, ...request } = options;
2421
+ const sessionId = (requestedSessionId ?? globalThis.crypto.randomUUID()).toLowerCase();
2422
+ try {
2423
+ const response = await this.jsonRequest(
2424
+ "/standalone/sessions",
2425
+ "POST /standalone/sessions",
2426
+ {
2427
+ method: "POST",
2428
+ body: { sessionId, ...request },
2429
+ mode: "rest"
2430
+ }
2431
+ );
2432
+ return parseStandaloneSession(
2433
+ response,
2434
+ "POST /standalone/sessions",
2435
+ sessionId
2436
+ );
2437
+ } catch (error) {
2438
+ if (error instanceof DaemonHttpError && !isStandaloneCreationOutcomeUnknown(error)) {
2439
+ throw error;
2440
+ }
2441
+ const recovery = await this.recoverStandaloneCreation(sessionId);
2442
+ throw new DaemonStandaloneCreationOutcomeUnknownError(
2443
+ sessionId,
2444
+ recovery,
2445
+ error
2446
+ );
2447
+ }
2448
+ }
2449
+ async listStandaloneSessions(options = {}) {
2450
+ return (await this.listStandaloneSessionsPage(options)).sessions;
2451
+ }
2452
+ async listStandaloneSessionsPage(options = {}) {
2453
+ const query = new URLSearchParams();
2454
+ if (options.cursor !== void 0) query.set("cursor", options.cursor);
2455
+ if (options.pageSize !== void 0) {
2456
+ query.set("size", String(options.pageSize));
2457
+ }
2458
+ if (options.archiveState !== void 0) {
2459
+ query.set("archiveState", options.archiveState);
2460
+ }
2461
+ const queryString = query.toString();
2462
+ const suffix = queryString ? `?${queryString}` : "";
2463
+ return await this.standaloneJsonRequest(
2464
+ `/standalone/sessions${suffix}`,
2465
+ "GET /standalone/sessions",
2466
+ parseStandaloneListPage
2467
+ );
2468
+ }
2469
+ async getStandaloneSession(sessionId) {
2470
+ await this.requireCapability(STANDALONE_SESSIONS_CAPABILITY);
2471
+ return await this.getStandaloneSessionUnchecked(sessionId.toLowerCase());
2472
+ }
2473
+ async loadStandaloneSession(sessionId, request = {}, clientId) {
2474
+ return await this.restoreStandaloneSession(
2475
+ "load",
2476
+ sessionId,
2477
+ request,
2478
+ clientId
2479
+ );
2480
+ }
2481
+ async resumeStandaloneSession(sessionId, request = {}, clientId) {
2482
+ return await this.restoreStandaloneSession(
2483
+ "resume",
2484
+ sessionId,
2485
+ request,
2486
+ clientId
2487
+ );
2488
+ }
2489
+ async repairStandaloneSessionDirectory(sessionId) {
2490
+ const normalized = sessionId.toLowerCase();
2491
+ const route = "POST /standalone/sessions/:id/repair-directory";
2492
+ return await this.standaloneJsonRequest(
2493
+ `/standalone/sessions/${urlEncode(normalized)}/repair-directory`,
2494
+ route,
2495
+ (response) => parseStandaloneDirectoryResult(response, route, normalized),
2496
+ { method: "POST", body: {} }
2497
+ );
2498
+ }
2499
+ async renameStandaloneSession(sessionId, displayName, clientId) {
2500
+ const normalized = sessionId.toLowerCase();
2501
+ const route = "PATCH /standalone/sessions/:id/metadata";
2502
+ return await this.standaloneJsonRequest(
2503
+ `/standalone/sessions/${urlEncode(normalized)}/metadata`,
2504
+ route,
2505
+ (response) => parseStandaloneMetadataResult(response, route, normalized),
2506
+ {
2507
+ method: "PATCH",
2508
+ body: { displayName },
2509
+ clientId
2510
+ }
2511
+ );
2512
+ }
2513
+ async exportStandaloneSession(sessionId, options = {}) {
2514
+ await this.requireCapability(STANDALONE_SESSIONS_CAPABILITY);
2515
+ return await this.sessionExportRequest(
2516
+ `/standalone/sessions/${urlEncode(sessionId.toLowerCase())}/export`,
2517
+ "GET /standalone/sessions/:id/export",
2518
+ options
2519
+ );
2520
+ }
2521
+ async archiveStandaloneSessions(sessionIds) {
2522
+ return await this.standaloneBatchRequest(
2523
+ "archive",
2524
+ sessionIds,
2525
+ parseArchiveStandaloneSessionsResult
2526
+ );
2527
+ }
2528
+ async unarchiveStandaloneSessions(sessionIds) {
2529
+ return await this.standaloneBatchRequest(
2530
+ "unarchive",
2531
+ sessionIds,
2532
+ parseUnarchiveStandaloneSessionsResult
2533
+ );
2534
+ }
2535
+ async deleteStandaloneSessions(sessionIds) {
2536
+ return await this.standaloneBatchRequest(
2537
+ "delete",
2538
+ sessionIds,
2539
+ parseDeleteStandaloneSessionsResult
2540
+ );
2541
+ }
2542
+ async standaloneJsonRequest(path, route, parse, options = {}) {
2543
+ await this.requireCapability(STANDALONE_SESSIONS_CAPABILITY);
2544
+ const response = await this.jsonRequest(path, route, {
2545
+ ...options,
2546
+ mode: "rest"
2547
+ });
2548
+ return parse(response, route);
2549
+ }
2550
+ async standaloneBatchRequest(action, sessionIds, parse) {
2551
+ const route = `POST /standalone/sessions/${action}`;
2552
+ return await this.standaloneJsonRequest(
2553
+ `/standalone/sessions/${action}`,
2554
+ route,
2555
+ parse,
2556
+ {
2557
+ method: "POST",
2558
+ body: {
2559
+ sessionIds: sessionIds.map((sessionId) => sessionId.toLowerCase())
2560
+ }
2561
+ }
2562
+ );
2563
+ }
2564
+ async restoreStandaloneSession(action, sessionId, request, clientId) {
2565
+ const normalized = sessionId.toLowerCase();
2566
+ const route = `POST /standalone/sessions/:id/${action}`;
2567
+ const { timeoutMs, ...body } = request;
2568
+ return await this.standaloneJsonRequest(
2569
+ `/standalone/sessions/${urlEncode(normalized)}/${action}`,
2570
+ route,
2571
+ (response) => parseRestoredStandaloneSession(response, route, normalized),
2572
+ {
2573
+ method: "POST",
2574
+ body,
2575
+ clientId,
2576
+ timeoutMs: this.resolveRestoreTimeoutMs(timeoutMs)
2577
+ }
2578
+ );
2579
+ }
2580
+ async getStandaloneSessionUnchecked(sessionId) {
2581
+ const route = "GET /standalone/sessions/:id";
2582
+ const response = await this.jsonRequest(
2583
+ `/standalone/sessions/${urlEncode(sessionId)}`,
2584
+ route,
2585
+ { mode: "rest" }
2586
+ );
2587
+ return parseStandaloneLookup(response, route, sessionId);
2588
+ }
2589
+ async recoverStandaloneCreation(sessionId) {
2590
+ try {
2591
+ const lookup = await this.getStandaloneSessionUnchecked(sessionId);
2592
+ return "state" in lookup ? { state: "creating", sessionId } : { state: "existing", session: lookup };
2593
+ } catch (error) {
2594
+ return isStandaloneSessionNotFoundError(error) ? { state: "absent", sessionId } : { state: "unknown", sessionId, error };
2595
+ }
2596
+ }
2145
2597
  async createOrAttachSession(req, clientId) {
2146
2598
  if (req.sessionId !== void 0 && req.sessionId !== null) {
2147
2599
  await this.requireCapability("session_id_override");
@@ -2446,6 +2898,18 @@ var DaemonClient = class {
2446
2898
  }
2447
2899
  );
2448
2900
  }
2901
+ async sessionWorkflowTasks(sessionId, clientId) {
2902
+ return await this.fetchWithTimeout(
2903
+ `${this.baseUrl}/session/${urlEncode(sessionId)}/tasks?includeWorkflows=true`,
2904
+ { headers: this.headers({}, clientId) },
2905
+ async (res) => {
2906
+ if (!res.ok) {
2907
+ throw await this.failOnError(res, "GET /session/:id/tasks");
2908
+ }
2909
+ return await res.json();
2910
+ }
2911
+ );
2912
+ }
2449
2913
  async sessionLspStatus(sessionId, clientId) {
2450
2914
  return await this.fetchWithTimeout(
2451
2915
  `${this.baseUrl}/session/${urlEncode(sessionId)}/lsp`,
@@ -2459,18 +2923,30 @@ var DaemonClient = class {
2459
2923
  );
2460
2924
  }
2461
2925
  async sessionTaskCancel(sessionId, taskId, kind, clientId) {
2926
+ return await this.sessionTaskMutation(
2927
+ sessionId,
2928
+ taskId,
2929
+ "cancel",
2930
+ { kind },
2931
+ clientId
2932
+ );
2933
+ }
2934
+ async sessionWorkflowTaskAction(sessionId, taskId, action, clientId) {
2935
+ return await this.sessionTaskMutation(sessionId, taskId, "workflow-action", { action }, clientId);
2936
+ }
2937
+ async sessionTaskMutation(sessionId, taskId, route, body, clientId) {
2462
2938
  return await this.fetchWithTimeout(
2463
- `${this.baseUrl}/session/${urlEncode(sessionId)}/tasks/${urlEncode(taskId)}/cancel`,
2939
+ `${this.baseUrl}/session/${urlEncode(sessionId)}/tasks/${urlEncode(taskId)}/${route}`,
2464
2940
  {
2465
2941
  method: "POST",
2466
2942
  headers: this.headers({ "Content-Type": "application/json" }, clientId),
2467
- body: JSON.stringify({ kind })
2943
+ body: JSON.stringify(body)
2468
2944
  },
2469
2945
  async (res) => {
2470
2946
  if (!res.ok) {
2471
2947
  throw await this.failOnError(
2472
2948
  res,
2473
- "POST /session/:id/tasks/:taskId/cancel"
2949
+ `POST /session/:id/tasks/:taskId/${route}`
2474
2950
  );
2475
2951
  }
2476
2952
  return await res.json();
@@ -2518,6 +2994,19 @@ var DaemonClient = class {
2518
2994
  * differs in the URL suffix and the route name reported on errors.
2519
2995
  */
2520
2996
  async restoreSession(action, sessionId, req, clientId) {
2997
+ let sourceType = req.sourceType;
2998
+ let sourceId = req.sourceId;
2999
+ if (req.sourceType !== void 0 || req.sourceId !== void 0) {
3000
+ try {
3001
+ await this.requireCapability("session_source_metadata");
3002
+ } catch (error) {
3003
+ if (!(error instanceof DaemonCapabilityMissingError)) {
3004
+ throw error;
3005
+ }
3006
+ sourceType = void 0;
3007
+ sourceId = void 0;
3008
+ }
3009
+ }
2521
3010
  const timeoutMs = this.resolveRestoreTimeoutMs(req.timeoutMs);
2522
3011
  return await this.fetchWithTimeout(
2523
3012
  `${this.baseUrl}/session/${urlEncode(sessionId)}/${action}`,
@@ -2528,7 +3017,9 @@ var DaemonClient = class {
2528
3017
  cwd: req.workspaceCwd,
2529
3018
  ...req.approvalMode !== void 0 ? { approvalMode: req.approvalMode } : {},
2530
3019
  ...action === "load" && req.historyPageSize !== void 0 ? { historyPageSize: req.historyPageSize } : {},
2531
- ...action === "load" && req.liveReplayMode !== void 0 ? { liveReplayMode: req.liveReplayMode } : {}
3020
+ ...action === "load" && req.liveReplayMode !== void 0 ? { liveReplayMode: req.liveReplayMode } : {},
3021
+ ...sourceType !== void 0 ? { sourceType } : {},
3022
+ ...sourceId !== void 0 ? { sourceId } : {}
2532
3023
  })
2533
3024
  },
2534
3025
  async (res) => {
@@ -2637,7 +3128,7 @@ var DaemonClient = class {
2637
3128
  * Generate a one-sentence "where did I leave off"
2638
3129
  * recap of the session. Wraps `generateSessionRecap` (core/services/
2639
3130
  * sessionRecap.ts) via an ACP control-channel ext-method, so the
2640
- * summary is computed against the active GeminiClient chat history
3131
+ * summary is computed against the active LlmClient chat history
2641
3132
  * inside the daemon's ACP child.
2642
3133
  *
2643
3134
  * Non-strict mutation gate — posture matches `/session/:id/prompt`
@@ -2894,8 +3385,9 @@ var DaemonClient = class {
2894
3385
  }
2895
3386
  /**
2896
3387
  * Execute a direct daemon-side shell command for a session. The daemon must
2897
- * be started with direct session shell enabled and bearer auth configured;
2898
- * callers must also provide a client id already bound to this session.
3388
+ * be started with direct session shell enabled and either bearer auth or
3389
+ * trusted-loopback operator authority; callers must also provide a client id
3390
+ * already bound to this session.
2899
3391
  * Prefer `DaemonSessionClient.shellCommand()` when available because it
2900
3392
  * forwards the session-bound client id automatically.
2901
3393
  */
@@ -2917,9 +3409,9 @@ var DaemonClient = class {
2917
3409
  }
2918
3410
  /**
2919
3411
  * Toggle a tool name in the workspace's
2920
- * `tools.disabled` settings list. Strict-gated mutation route — the
2921
- * daemon must be configured with a bearer token. The daemon writes
2922
- * the settings file directly and fan-outs a `tool_toggled` event to
3412
+ * `tools.disabled` settings list. The strict mutation gate accepts
3413
+ * trusted-loopback operator authority or listener credentials. The daemon
3414
+ * writes the settings file directly and fan-outs a `tool_toggled` event to
2923
3415
  * every live session SSE bus.
2924
3416
  *
2925
3417
  * Already-registered tools in active sessions are NOT retroactively
@@ -2953,11 +3445,12 @@ var DaemonClient = class {
2953
3445
  );
2954
3446
  }
2955
3447
  /**
2956
- * Toggle a user-invocable skill in workspace `skills.disabled` settings.
3448
+ * Update workspace Skill settings by name without requiring a loaded Skill.
2957
3449
  * Active ACP sessions refresh their skill validation and command lists before
2958
3450
  * the response returns; `activation` reports deferred or partial refreshes.
2959
3451
  *
2960
- * Pre-flight `caps.features.includes('workspace_skill_toggle')` before calling.
3452
+ * Pre-flight
3453
+ * `caps.features.includes('workspace_skill_settings_toggle')` before calling.
2961
3454
  */
2962
3455
  async setWorkspaceSkillEnabled(skillName, enabled, opts) {
2963
3456
  return await this.fetchWithTimeout(
@@ -2982,10 +3475,11 @@ var DaemonClient = class {
2982
3475
  );
2983
3476
  }
2984
3477
  /**
2985
- * Toggle up to 100 user-invocable skills and return every target outcome.
3478
+ * Update workspace Skill settings for up to 100 names in one write.
2986
3479
  *
2987
3480
  * Pre-flight
2988
- * `caps.features.includes('workspace_skill_batch_toggle')` before calling.
3481
+ * `caps.features.includes('workspace_skill_settings_batch_toggle')` before
3482
+ * calling.
2989
3483
  */
2990
3484
  async setWorkspaceSkillsEnabled(skillNames, enabled, opts) {
2991
3485
  return await this.fetchWithTimeout(
@@ -3074,7 +3568,8 @@ var DaemonClient = class {
3074
3568
  throw await this.failOnError(res, "DELETE /workspace/models");
3075
3569
  }
3076
3570
  return await res.json();
3077
- }
3571
+ },
3572
+ this.hasExplicitFetchTimeout ? void 0 : DEFAULT_PROVIDER_MUTATION_TIMEOUT_MS
3078
3573
  );
3079
3574
  }
3080
3575
  async workspaceVoice(clientId) {
@@ -4175,7 +4670,8 @@ var DaemonClient = class {
4175
4670
  throw await this.failOnError(res, "POST /workspace/auth/provider");
4176
4671
  }
4177
4672
  return await res.json();
4178
- }
4673
+ },
4674
+ this.hasExplicitFetchTimeout ? void 0 : DEFAULT_PROVIDER_MUTATION_TIMEOUT_MS
4179
4675
  );
4180
4676
  }
4181
4677
  async addWorkspace(cwd, options = {}) {
@@ -4303,6 +4799,26 @@ var WorkspaceDaemonClient = class {
4303
4799
  workspaceMcp() {
4304
4800
  return this.get("/mcp", "GET /workspaces/:workspace/mcp");
4305
4801
  }
4802
+ ensureRuntime() {
4803
+ return this.client.workspaceJsonRequest(
4804
+ this.workspaceSelector,
4805
+ "/runtime/ensure",
4806
+ "POST /workspaces/:workspace/runtime/ensure",
4807
+ {
4808
+ method: "POST",
4809
+ timeoutMs: WORKSPACE_RUNTIME_ENSURE_TIMEOUT_MS,
4810
+ mode: "rest"
4811
+ }
4812
+ );
4813
+ }
4814
+ runtimeStatus() {
4815
+ return this.client.workspaceJsonRequest(
4816
+ this.workspaceSelector,
4817
+ "/runtime/status",
4818
+ "GET /workspaces/:workspace/runtime/status",
4819
+ { mode: "rest" }
4820
+ );
4821
+ }
4306
4822
  /**
4307
4823
  * Send text directly through this exact workspace's channel worker.
4308
4824
  * A successful capability pre-flight does not guarantee worker liveness;
@@ -5058,6 +5574,22 @@ var WorkspaceDaemonClient = class {
5058
5574
  { mode: "rest" }
5059
5575
  );
5060
5576
  }
5577
+ extensionState(extensionId) {
5578
+ return this.client.workspaceJsonRequest(
5579
+ this.workspaceSelector,
5580
+ `/extensions/${urlEncode(extensionId)}/state`,
5581
+ "GET /workspaces/:workspace/extensions/:extensionId/state",
5582
+ { mode: "rest" }
5583
+ );
5584
+ }
5585
+ setExtensionState(extensionId, update, clientId) {
5586
+ return this.client.workspaceJsonRequest(
5587
+ this.workspaceSelector,
5588
+ `/extensions/${urlEncode(extensionId)}/state`,
5589
+ "PUT /workspaces/:workspace/extensions/:extensionId/state",
5590
+ { method: "PUT", body: update, clientId, mode: "rest" }
5591
+ );
5592
+ }
5061
5593
  setExtensionActivation(extensionId, state, clientId) {
5062
5594
  return this.client.workspaceJsonRequest(
5063
5595
  this.workspaceSelector,
@@ -5191,12 +5723,50 @@ function isSessionAttachmentReference(value) {
5191
5723
  __name(isSessionAttachmentReference, "isSessionAttachmentReference");
5192
5724
  var MAX_ATTACHMENT_CACHE_BYTES = 32 * 1024 * 1024;
5193
5725
  var MAX_ATTACHMENT_CACHE_ENTRIES = 128;
5726
+ function createStandaloneRestoredClient(client, restored, includeReplay) {
5727
+ const {
5728
+ state,
5729
+ hasActivePrompt,
5730
+ compactedReplay,
5731
+ liveJournal,
5732
+ historyHasMore,
5733
+ historyAnchorRecordId,
5734
+ replayDegraded,
5735
+ partial,
5736
+ replayError,
5737
+ lastEventId,
5738
+ eventEpoch,
5739
+ ...session
5740
+ } = restored;
5741
+ return new DaemonSessionClient({
5742
+ client,
5743
+ session,
5744
+ hasActivePrompt,
5745
+ state,
5746
+ lastEventId: lastEventId ?? 0,
5747
+ eventEpoch,
5748
+ ...includeReplay ? {
5749
+ replaySnapshot: {
5750
+ compactedReplay: compactedReplay ?? [],
5751
+ liveJournal: liveJournal ?? []
5752
+ },
5753
+ replaySnapshotComplete: Array.isArray(compactedReplay) && Array.isArray(liveJournal),
5754
+ replayPartial: partial === true,
5755
+ replayError,
5756
+ historyHasMore,
5757
+ historyAnchorRecordId,
5758
+ replayDegraded
5759
+ } : {}
5760
+ });
5761
+ }
5762
+ __name(createStandaloneRestoredClient, "createStandaloneRestoredClient");
5194
5763
  var DaemonSessionClient = class _DaemonSessionClient {
5195
5764
  static {
5196
5765
  __name(this, "DaemonSessionClient");
5197
5766
  }
5198
5767
  client;
5199
5768
  session;
5769
+ restoreStrategy;
5200
5770
  state;
5201
5771
  /**
5202
5772
  * Not `readonly`: {@link consumeReplaySnapshot} swaps it for an empty
@@ -5244,6 +5814,8 @@ var DaemonSessionClient = class _DaemonSessionClient {
5244
5814
  constructor(opts) {
5245
5815
  this.client = opts.client;
5246
5816
  this.session = { ...opts.session };
5817
+ const context = opts.session.context;
5818
+ this.restoreStrategy = opts.session.sourceType === "standalone" && context?.kind === "standalone" ? { kind: "standalone" } : { kind: "workspace", workspaceCwd: opts.session.workspaceCwd };
5247
5819
  this.state = { ...opts.state ?? {} };
5248
5820
  this.hasActivePrompt = opts.hasActivePrompt ?? false;
5249
5821
  this.historyHasMore = opts.historyHasMore ?? false;
@@ -5343,6 +5915,34 @@ var DaemonSessionClient = class _DaemonSessionClient {
5343
5915
  eventEpoch
5344
5916
  });
5345
5917
  }
5918
+ static async createStandalone(client, options = {}) {
5919
+ const session = await client.createStandaloneSession(options);
5920
+ return new _DaemonSessionClient({
5921
+ client,
5922
+ session,
5923
+ hasActivePrompt: session.hasActivePrompt,
5924
+ lastEventId: 0,
5925
+ eventEpoch: session.eventEpoch
5926
+ });
5927
+ }
5928
+ static async loadStandalone(client, sessionId, request = {}, clientId) {
5929
+ const restored = await client.loadStandaloneSession(
5930
+ sessionId,
5931
+ request,
5932
+ clientId
5933
+ );
5934
+ const result = createStandaloneRestoredClient(client, restored, true);
5935
+ await result.hydrateReplaySnapshot();
5936
+ return result;
5937
+ }
5938
+ static async resumeStandalone(client, sessionId, request = {}, clientId) {
5939
+ const restored = await client.resumeStandaloneSession(
5940
+ sessionId,
5941
+ request,
5942
+ clientId
5943
+ );
5944
+ return createStandaloneRestoredClient(client, restored, false);
5945
+ }
5346
5946
  get sessionId() {
5347
5947
  return this.session.sessionId;
5348
5948
  }
@@ -5526,7 +6126,10 @@ var DaemonSessionClient = class _DaemonSessionClient {
5526
6126
  */
5527
6127
  async reattach() {
5528
6128
  if (this.reattaching) return this.reattaching;
5529
- this.reattaching = this.client.resumeSession(this.sessionId, { workspaceCwd: this.workspaceCwd }).then((session) => {
6129
+ const resume = this.restoreStrategy.kind === "standalone" ? this.client.resumeStandaloneSession(this.sessionId) : this.client.resumeSession(this.sessionId, {
6130
+ workspaceCwd: this.restoreStrategy.workspaceCwd
6131
+ });
6132
+ this.reattaching = resume.then((session) => {
5530
6133
  this.session.clientId = session.clientId;
5531
6134
  });
5532
6135
  try {
@@ -5699,9 +6302,9 @@ var DaemonSessionClient = class _DaemonSessionClient {
5699
6302
  }
5700
6303
  /**
5701
6304
  * Execute a direct daemon-side shell command for this session. Requires the
5702
- * daemon to opt in to direct session shell and bearer auth; this wrapper
5703
- * automatically forwards the client id bound when the session was created
5704
- * or attached.
6305
+ * daemon to opt in to direct session shell with bearer auth or
6306
+ * trusted-loopback authority; this wrapper automatically forwards the client
6307
+ * id bound when the session was created or attached.
5705
6308
  */
5706
6309
  shellCommand(command, signal) {
5707
6310
  return this.client.shellCommand(this.sessionId, command, {
@@ -5724,6 +6327,9 @@ var DaemonSessionClient = class _DaemonSessionClient {
5724
6327
  tasks() {
5725
6328
  return this.client.sessionTasks(this.sessionId, this.clientId);
5726
6329
  }
6330
+ workflowTasks() {
6331
+ return this.client.sessionWorkflowTasks(this.sessionId, this.clientId);
6332
+ }
5727
6333
  lspStatus() {
5728
6334
  return this.client.sessionLspStatus(this.sessionId, this.clientId);
5729
6335
  }
@@ -5735,6 +6341,14 @@ var DaemonSessionClient = class _DaemonSessionClient {
5735
6341
  this.clientId
5736
6342
  );
5737
6343
  }
6344
+ controlWorkflowTask(taskId, action) {
6345
+ return this.client.sessionWorkflowTaskAction(
6346
+ this.sessionId,
6347
+ taskId,
6348
+ action,
6349
+ this.clientId
6350
+ );
6351
+ }
5738
6352
  clearGoal() {
5739
6353
  return this.client.sessionGoalClear(this.sessionId, this.clientId);
5740
6354
  }
@@ -8987,11 +9601,12 @@ function createDaemonToolPreview(input, opts = {}, depth = 0) {
8987
9601
  if (isRecord2(input)) {
8988
9602
  const nestedInput = input["rawInput"] ?? input["input"] ?? input["args"];
8989
9603
  if (nestedInput !== void 0 && nestedInput !== input) {
9604
+ const meta = isRecord2(input["_meta"]) ? input["_meta"] : void 0;
8990
9605
  const nested = createDaemonToolPreview(
8991
9606
  nestedInput,
8992
9607
  {
8993
9608
  title: opts.title ?? getFirstString(input, ["title"]),
8994
- toolName: opts.toolName ?? getFirstString(input, ["toolName", "name"]),
9609
+ toolName: opts.toolName ?? getFirstString(input, ["toolName", "name"]) ?? (meta ? getFirstString(meta, ["toolName"]) : void 0),
8995
9610
  toolKind: opts.toolKind ?? getFirstString(input, ["kind"])
8996
9611
  },
8997
9612
  depth + 1
@@ -9052,12 +9667,14 @@ function detectFileDiff(input, opts = {}) {
9052
9667
  const oldText = getFirstString(input, [
9053
9668
  "oldText",
9054
9669
  "old_text",
9670
+ "old_string",
9055
9671
  "old_str",
9056
9672
  "oldString"
9057
9673
  ]);
9058
9674
  const explicitNewText = getFirstString(input, [
9059
9675
  "newText",
9060
9676
  "new_text",
9677
+ "new_string",
9061
9678
  "new_str",
9062
9679
  "newString"
9063
9680
  ]);
@@ -10113,6 +10730,10 @@ function discardToolBlock(state, toolCallId) {
10113
10730
  }
10114
10731
  }
10115
10732
  __name(discardToolBlock, "discardToolBlock");
10733
+ function isTaskExecutionMode(value) {
10734
+ return value === "foreground" || value === "background";
10735
+ }
10736
+ __name(isTaskExecutionMode, "isTaskExecutionMode");
10116
10737
  function compactTaskExecutionOutput(rawOutput, retainSubagentBlocks) {
10117
10738
  if (retainSubagentBlocks || !isRecord2(rawOutput) || rawOutput["type"] !== "task_execution") {
10118
10739
  return rawOutput;
@@ -10123,6 +10744,7 @@ function compactTaskExecutionOutput(rawOutput, retainSubagentBlocks) {
10123
10744
  "subagentColor",
10124
10745
  "taskDescription",
10125
10746
  "status",
10747
+ "executionMode",
10126
10748
  "terminateReason",
10127
10749
  "tokenCount",
10128
10750
  "executionSummary"
@@ -12333,12 +12955,15 @@ export {
12333
12955
  DaemonPendingPromptLimitError,
12334
12956
  DaemonSessionClient,
12335
12957
  DaemonSessionIdProtocolError,
12958
+ DaemonStandaloneCreationOutcomeUnknownError,
12959
+ DaemonStandaloneProtocolError,
12336
12960
  DaemonTransportClosedError,
12337
12961
  EXTENSION_ARCHIVE_UPLOAD_TIMEOUT_MS,
12338
12962
  MID_TURN_MESSAGE_INJECTED_EVENT,
12339
12963
  PENDING_PROMPT_ADDED_EVENT,
12340
12964
  PENDING_PROMPT_COMPLETED_EVENT,
12341
12965
  PENDING_PROMPT_STARTED_EVENT,
12966
+ STANDALONE_SESSIONS_CAPABILITY,
12342
12967
  SseFramingError,
12343
12968
  UNRECOGNIZED_DIAGNOSTICS_LIMIT,
12344
12969
  WorkspaceDaemonClient,
@@ -12368,8 +12993,11 @@ export {
12368
12993
  isNonBlockingAccepted,
12369
12994
  isSessionLevelNotFound,
12370
12995
  isStaleBranchPointError,
12996
+ isStandaloneCreationOutcomeUnknown,
12997
+ isStandaloneSessionNotFoundError,
12371
12998
  isSubagentChildBlock,
12372
12999
  isSubagentSessionNotFound,
13000
+ isTaskExecutionMode,
12373
13001
  isTrimmedPermissionBlockId,
12374
13002
  isTrimmedToolBlockId,
12375
13003
  isUnrecognizedDiagnosticReason,
@@ -12410,3 +13038,8 @@ export {
12410
13038
  * Copyright 2025 Alibaba Group Holding Limited. All Rights Reserved.
12411
13039
  * Licensed under the Apache License, Version 2.0
12412
13040
  */
13041
+ /**
13042
+ * @license
13043
+ * Copyright 2026 Qwen Team
13044
+ * SPDX-License-Identifier: Apache-2.0
13045
+ */