@qwen-code/qwen-code 0.24.2 → 0.24.3-nightly.20260921.2800e9bb4f

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 (403) hide show
  1. package/README.md +4 -0
  2. package/bundled/browser-use/runtime/native-host.js +0 -0
  3. package/bundled/browser-use/runtime/node_modules/playwright-core/bin/reinstall_chrome_beta_linux.sh +0 -0
  4. package/bundled/browser-use/runtime/node_modules/playwright-core/bin/reinstall_chrome_beta_mac.sh +0 -0
  5. package/bundled/browser-use/runtime/node_modules/playwright-core/bin/reinstall_chrome_stable_linux.sh +0 -0
  6. package/bundled/browser-use/runtime/node_modules/playwright-core/bin/reinstall_chrome_stable_mac.sh +0 -0
  7. package/bundled/browser-use/runtime/node_modules/playwright-core/bin/reinstall_msedge_beta_linux.sh +0 -0
  8. package/bundled/browser-use/runtime/node_modules/playwright-core/bin/reinstall_msedge_beta_mac.sh +0 -0
  9. package/bundled/browser-use/runtime/node_modules/playwright-core/bin/reinstall_msedge_dev_linux.sh +0 -0
  10. package/bundled/browser-use/runtime/node_modules/playwright-core/bin/reinstall_msedge_dev_mac.sh +0 -0
  11. package/bundled/browser-use/runtime/node_modules/playwright-core/bin/reinstall_msedge_stable_linux.sh +0 -0
  12. package/bundled/browser-use/runtime/node_modules/playwright-core/bin/reinstall_msedge_stable_mac.sh +0 -0
  13. package/bundled/browser-use/runtime/node_modules/playwright-core/cli.js +0 -0
  14. package/bundled/browser-use/runtime/node_modules/playwright-core/lib/webp_codec.wasm +0 -0
  15. package/bundled/browser-use/runtime/node_modules/playwright-core/lib/xdg-open +0 -0
  16. package/bundled/browser-use/runtime/scripts/native-host-setup.js +0 -0
  17. package/bundled/qc-helper/docs/configuration/settings.md +1 -1
  18. package/bundled/qc-helper/docs/features/channels/overview.md +1 -1
  19. package/bundled/qc-helper/docs/features/code-review.md +3 -1
  20. package/bundled/qc-helper/docs/qwen-serve.md +1 -1
  21. package/bundled/qc-helper/docs/support/tos-privacy.md +29 -1
  22. package/bundled/review/SKILL.md +8 -7
  23. package/chunks/{MaxSizedBox-ME5JA4KF.js → MaxSizedBox-T3NQRIBD.js} +56 -49
  24. package/chunks/{StandaloneSessionPicker-W3GFW47V.js → StandaloneSessionPicker-NVLC332B.js} +74 -67
  25. package/chunks/{acp-subagent-executor-ZFDOLQUK.js → acp-subagent-executor-K7YDLKKL.js} +59 -52
  26. package/chunks/{acpAgent-GRN3VRGG.js → acpAgent-CAL3APV3.js} +203 -162
  27. package/chunks/{agent-I7GJXDQ2.js → agent-ICNQC7ZA.js} +38 -32
  28. package/chunks/{agent-headless-CHQTBAY4.js → agent-headless-CQTC42YG.js} +38 -32
  29. package/chunks/{anthropicContentGenerator-P3PBOK2C.js → anthropicContentGenerator-6AXVZAHK.js} +3 -3
  30. package/chunks/{artifact-tool-3B3YPLNI.js → artifact-tool-WR4WGBUS.js} +3 -2
  31. package/chunks/{askUserQuestion-YIK445UI.js → askUserQuestion-PGZYBK6K.js} +3 -2
  32. package/chunks/{bridge-FPDMUBTB.js → bridge-DONPLFUG.js} +59 -52
  33. package/chunks/bwrap-execution-LSZQILPP.js +34 -0
  34. package/chunks/{caption-audio-V6S7IOLZ.js → caption-audio-MORSEOKW.js} +5 -4
  35. package/chunks/{caption-image-LKRZR2BO.js → caption-image-XBQMQEWA.js} +5 -4
  36. package/chunks/{channel-management-service-B5JCH6G4.js → channel-management-service-DISO7Z3P.js} +2 -2
  37. package/chunks/{channel-settings-store-3QLN4ATE.js → channel-settings-store-AFHICVQZ.js} +63 -56
  38. package/chunks/{channel-worker-group-M4MSCXVZ.js → channel-worker-group-EJEMLDPE.js} +5 -5
  39. package/chunks/{channel-worker-manager-UEAF66Y2.js → channel-worker-manager-GI3GMPHV.js} +5 -5
  40. package/chunks/{channel-worker-supervisor-KNSB6NQS.js → channel-worker-supervisor-GGTS6MM5.js} +4 -4
  41. package/chunks/{chunk-TOCM6MGP.js → chunk-2DEBTNNB.js} +2 -2
  42. package/chunks/{chunk-2TK7KLDO.js → chunk-2QPG2ZFY.js} +2 -2
  43. package/chunks/chunk-2SENA3WV.js +2808 -0
  44. package/chunks/{chunk-TSVKTGQ4.js → chunk-342K4MOZ.js} +2 -2
  45. package/chunks/{chunk-XBOKF4YG.js → chunk-356IRFPF.js} +2180 -594
  46. package/chunks/{chunk-7HMBOUQG.js → chunk-3ATVLWKH.js} +3 -3
  47. package/chunks/{chunk-2I5YG2XF.js → chunk-3QM23PEH.js} +1 -1
  48. package/chunks/{chunk-MR5FRME7.js → chunk-3RXCA7OA.js} +2 -2
  49. package/chunks/chunk-4M7RD5QQ.js +58 -0
  50. package/chunks/{chunk-BIQXRY5B.js → chunk-4VSTV4C2.js} +109 -5
  51. package/chunks/{chunk-JU5DOXQM.js → chunk-52YTEDEN.js} +1 -1
  52. package/chunks/{chunk-DPZAQ4XR.js → chunk-54RE24GK.js} +8 -8
  53. package/chunks/{chunk-QEPQKAUY.js → chunk-5E4BPDCX.js} +1 -1
  54. package/chunks/{chunk-MOWCV77B.js → chunk-5NFAKADR.js} +1 -1
  55. package/chunks/chunk-5R36APDE.js +70 -0
  56. package/chunks/{chunk-3UOW7K5U.js → chunk-5RVND5JS.js} +61 -53
  57. package/chunks/{chunk-TPDNW6O5.js → chunk-5XEZQQG3.js} +0 -8
  58. package/chunks/chunk-63R3HFEM.js +168 -0
  59. package/chunks/{chunk-5ROHUAQL.js → chunk-66UDVE67.js} +8 -8
  60. package/chunks/{chunk-3GH6T7SH.js → chunk-6CMN575X.js} +13 -11
  61. package/chunks/{chunk-3J43HE2J.js → chunk-6GI7NAZS.js} +1 -1
  62. package/chunks/{chunk-ISF3Z6VK.js → chunk-6GT2WWCB.js} +1 -1
  63. package/chunks/{chunk-EMG7QXJD.js → chunk-6KBSXHCD.js} +5 -5
  64. package/chunks/{chunk-EDJCJMEW.js → chunk-6KOET775.js} +1 -1
  65. package/chunks/{chunk-U5JK32FE.js → chunk-7JDVJX7A.js} +28 -5857
  66. package/chunks/{chunk-3TJ7LPMA.js → chunk-7XYHHJBZ.js} +2 -2
  67. package/chunks/{chunk-LCIR5C23.js → chunk-A2VO4PX3.js} +3 -3
  68. package/chunks/{chunk-6GB4CDE4.js → chunk-AAPZZN6I.js} +2 -2
  69. package/chunks/{chunk-JG23BJ7Y.js → chunk-AJSG5SMC.js} +2 -2
  70. package/chunks/{chunk-E6UTJIPI.js → chunk-ATZ4RQ6I.js} +1 -1
  71. package/chunks/{chunk-UKCBRQY5.js → chunk-AUNIYEZW.js} +4 -4
  72. package/chunks/{chunk-2GM7XM6X.js → chunk-B5D5IKWF.js} +1 -1
  73. package/chunks/{chunk-T4D3QLUZ.js → chunk-BHU5SD32.js} +1 -1
  74. package/chunks/{chunk-42QJ7NLB.js → chunk-BVNEEYJM.js} +4 -55
  75. package/chunks/{chunk-2PZMELFA.js → chunk-C3FJ5HKP.js} +8 -8
  76. package/chunks/{chunk-R6MPLPS7.js → chunk-C44MRBE3.js} +2 -2
  77. package/chunks/{chunk-UZTJ5WJA.js → chunk-C4TM325G.js} +1 -1
  78. package/chunks/{chunk-X5N23GYD.js → chunk-C7Q4IX2L.js} +2 -2
  79. package/chunks/{chunk-XXXA63AB.js → chunk-CEG3V62N.js} +1 -1
  80. package/chunks/{chunk-65I7S4Z3.js → chunk-CHBZHMBA.js} +2 -35
  81. package/chunks/{chunk-M64HFJ3A.js → chunk-D42TSQKU.js} +1 -1
  82. package/chunks/{chunk-NRWMNRBC.js → chunk-D4K23BD4.js} +1 -1
  83. package/chunks/{chunk-N63V7CTG.js → chunk-D7DQX746.js} +1 -1
  84. package/chunks/{chunk-EMK56JRM.js → chunk-DDTONETV.js} +2 -2
  85. package/chunks/{chunk-FMJWXNYH.js → chunk-E7RJFSB2.js} +17 -13
  86. package/chunks/{chunk-7PQVNBGJ.js → chunk-ECR4ZFWY.js} +6 -6
  87. package/chunks/{chunk-ES2Y3FEA.js → chunk-EJUVYCCB.js} +1 -1
  88. package/chunks/chunk-ELYIK7SN.js +47 -0
  89. package/chunks/{chunk-GPKTOXFJ.js → chunk-EMT2RO3O.js} +2 -2
  90. package/chunks/{chunk-ZHJSA55C.js → chunk-EUOE7VLY.js} +1 -1
  91. package/chunks/{chunk-7WIDY7UD.js → chunk-F327LRJ4.js} +4 -4
  92. package/chunks/{chunk-GT3O7YG4.js → chunk-FGRM4KJ6.js} +6 -6
  93. package/chunks/{chunk-CK267TVO.js → chunk-FPFIAK47.js} +2 -2
  94. package/chunks/{chunk-6FZEVPBU.js → chunk-G52VD6PC.js} +1 -1
  95. package/chunks/{chunk-3SQIYYDQ.js → chunk-G7CUNATW.js} +1 -1
  96. package/chunks/{chunk-2VYTJ4MO.js → chunk-GFCUEHYC.js} +4 -4
  97. package/chunks/{chunk-INLMCZR4.js → chunk-GKFEDGAE.js} +2 -2
  98. package/chunks/{chunk-4LDMRC23.js → chunk-GKYXVNN5.js} +10 -7
  99. package/chunks/{chunk-MYXULCXF.js → chunk-GNGQGEZD.js} +1 -1
  100. package/chunks/{chunk-O6NXPJIT.js → chunk-GUVGWV4E.js} +11 -11
  101. package/chunks/{chunk-GULGI7D3.js → chunk-GVXBMONG.js} +6 -6
  102. package/chunks/{chunk-RFVQJSIW.js → chunk-HDRYBFLF.js} +2 -2
  103. package/chunks/{chunk-QTEONSAO.js → chunk-HVGSA5GU.js} +3 -3
  104. package/chunks/{chunk-FDW5VK44.js → chunk-I3K2QRZ5.js} +1 -1
  105. package/chunks/{chunk-OMHE7I7L.js → chunk-IODSADQ4.js} +1 -1
  106. package/chunks/{chunk-ANKISCKU.js → chunk-JBUMBQAO.js} +12 -2
  107. package/chunks/{chunk-PKX5AAEO.js → chunk-JOWWJBT7.js} +1 -1
  108. package/chunks/{chunk-SA4UQS3Y.js → chunk-KEIOGBLQ.js} +1 -1
  109. package/chunks/{chunk-VE2U4MWB.js → chunk-LB3ULRVI.js} +58 -32
  110. package/chunks/{chunk-TAANUOHC.js → chunk-LFIKUSEE.js} +1 -1
  111. package/chunks/{chunk-IE7SAZGL.js → chunk-LGZSNH2N.js} +1 -1
  112. package/chunks/{chunk-PETY4UMR.js → chunk-LHSO2ZM2.js} +1 -1
  113. package/chunks/{chunk-KLL6VL42.js → chunk-LNNWGSXX.js} +46 -21
  114. package/chunks/{chunk-GSMPCYYA.js → chunk-M33VCZX3.js} +8 -8
  115. package/chunks/{chunk-DYGOUAKK.js → chunk-MNM5AZTY.js} +1 -1
  116. package/chunks/{chunk-UE4ZRIXK.js → chunk-MORC5DDS.js} +1 -1
  117. package/chunks/{chunk-ICISMV7V.js → chunk-MVK6CUPM.js} +4 -4
  118. package/chunks/{chunk-SHLIELH4.js → chunk-MWSUUFPF.js} +4 -4
  119. package/chunks/{chunk-REXIMUUM.js → chunk-N6APTOMX.js} +1 -1
  120. package/chunks/{chunk-64LX7PWR.js → chunk-NEO5LYMI.js} +99 -55
  121. package/chunks/{chunk-VQUX7GWP.js → chunk-NG36623P.js} +1710 -3754
  122. package/chunks/chunk-NXRQI7RF.js +5861 -0
  123. package/chunks/{chunk-JQ67JJHH.js → chunk-O37SO3J4.js} +21 -19
  124. package/chunks/{chunk-TCO2ZOLV.js → chunk-ODMK73Y3.js} +3 -3
  125. package/chunks/{chunk-QCCRC27E.js → chunk-OFEFVABN.js} +1 -1
  126. package/chunks/{chunk-RJNH4CSX.js → chunk-OFTHHXAC.js} +35 -5
  127. package/chunks/{chunk-TDWH5KJE.js → chunk-OU26ZZOL.js} +1 -1
  128. package/chunks/{chunk-5YJEHFWB.js → chunk-OUKL6WIM.js} +2 -2
  129. package/chunks/{chunk-WLEIIPES.js → chunk-PA4HU5IQ.js} +2 -2
  130. package/chunks/{chunk-QHBVY32Y.js → chunk-PF4SQN4X.js} +11 -11
  131. package/chunks/{chunk-E5JQUFYU.js → chunk-PPLSJANE.js} +2 -2
  132. package/chunks/{chunk-U6YCUEJQ.js → chunk-QM73W3WF.js} +2 -2
  133. package/chunks/{chunk-Q554UD37.js → chunk-RYF7LZYB.js} +1 -1
  134. package/chunks/{chunk-LKV5IRBA.js → chunk-RZU3G4ET.js} +3 -3
  135. package/chunks/{chunk-DBOYH5UO.js → chunk-S4XNKD52.js} +1 -1
  136. package/chunks/{chunk-IXWDQRM4.js → chunk-SC5OSRLI.js} +12 -12
  137. package/chunks/{chunk-LCMK6QMW.js → chunk-SELTC6LQ.js} +19 -17
  138. package/chunks/{chunk-SZBKX3U3.js → chunk-SKA2XTWB.js} +4 -4
  139. package/chunks/{chunk-D4JFXQ6K.js → chunk-SR2ZNKXZ.js} +3 -3
  140. package/chunks/{chunk-N75DNP5S.js → chunk-SVDO4IOV.js} +1 -1
  141. package/chunks/{chunk-JPRL7GPK.js → chunk-TJGYSUHN.js} +6 -6
  142. package/chunks/{chunk-AB5N5FEG.js → chunk-TLT5SN5M.js} +1 -1
  143. package/chunks/{chunk-MXOOWEZK.js → chunk-TTAC3FUB.js} +1 -1
  144. package/chunks/{chunk-BJEZBTUO.js → chunk-TUYJ6S3L.js} +1 -1
  145. package/chunks/{chunk-AK35QRVW.js → chunk-U5P7R5TF.js} +2 -2
  146. package/chunks/{chunk-CCOIMIDP.js → chunk-UDM3HIRD.js} +9 -7
  147. package/chunks/{chunk-GZJLGE6Y.js → chunk-UDUFGB6B.js} +3 -3
  148. package/chunks/{chunk-5FATGXYO.js → chunk-UH4UIUSX.js} +8 -8
  149. package/chunks/{chunk-PGYKW4PY.js → chunk-UI5A24EA.js} +1 -1
  150. package/chunks/{chunk-D2YMJSVP.js → chunk-V7MHSN5X.js} +16 -16
  151. package/chunks/{chunk-2G3I5XLI.js → chunk-V7TH5OG3.js} +3 -3
  152. package/chunks/{chunk-4XNECBYG.js → chunk-VBRO7DL2.js} +1 -1
  153. package/chunks/{chunk-FSEZM6ZQ.js → chunk-VGA7ZOWE.js} +1 -1
  154. package/chunks/{chunk-5XWVWTLB.js → chunk-VM3RQNIN.js} +2 -2
  155. package/chunks/{chunk-LELCSQ67.js → chunk-VMBALNQT.js} +3 -3
  156. package/chunks/{chunk-HYLPVFWL.js → chunk-VT3MGD7H.js} +1 -1
  157. package/chunks/{chunk-VYCIVHT7.js → chunk-VX6UF7H6.js} +50 -29
  158. package/chunks/{chunk-UVZY7QW2.js → chunk-W3OOXEX2.js} +2 -2
  159. package/chunks/{chunk-ZJSCBHAJ.js → chunk-WCTT4J75.js} +7 -7
  160. package/chunks/{chunk-CXXHL3XJ.js → chunk-WDLMJHRN.js} +3 -1
  161. package/chunks/{chunk-GI7MRANQ.js → chunk-WJKQ5TZO.js} +3 -3
  162. package/chunks/{chunk-KVMLTZTU.js → chunk-WK5KFFP6.js} +1 -1
  163. package/chunks/{chunk-MOTCWW3N.js → chunk-WMHO25KU.js} +2 -2
  164. package/chunks/{chunk-TBVO3WMD.js → chunk-WQ7QSGFJ.js} +1 -1
  165. package/chunks/{chunk-RGD7JAX6.js → chunk-WR2IECOS.js} +34 -21
  166. package/chunks/{chunk-MJJQ5LM4.js → chunk-WSAZ5YVP.js} +2 -2
  167. package/chunks/{chunk-4ZYD4QI5.js → chunk-WXHBA2D3.js} +1 -1
  168. package/chunks/{chunk-RAHX5SNW.js → chunk-X3YCTATW.js} +1 -1
  169. package/chunks/{chunk-W2GM3FPJ.js → chunk-XMIKBIBW.js} +16 -14
  170. package/chunks/{chunk-S564PKIP.js → chunk-YAQ6GGRB.js} +1 -1
  171. package/chunks/chunk-YPKYQHFS.js +25 -0
  172. package/chunks/{chunk-FJWGA4KA.js → chunk-YYJIIXHT.js} +5 -5
  173. package/chunks/{chunk-K2PTCHZG.js → chunk-YZERUQWU.js} +33 -27
  174. package/chunks/{chunk-QBVHHMV4.js → chunk-Z3SDLFI3.js} +36 -19
  175. package/chunks/{chunk-TICLGWQT.js → chunk-Z52PWQBM.js} +1 -1
  176. package/chunks/{chunk-UGLJ75YV.js → chunk-Z6K4VYTU.js} +4 -4
  177. package/chunks/{chunk-QO2IAC7M.js → chunk-ZB744CXQ.js} +4 -4
  178. package/chunks/{chunk-AFLJYB2T.js → chunk-ZDFR5Y5C.js} +5 -5
  179. package/chunks/{chunk-JPYUKGCM.js → chunk-ZNORRAHO.js} +3 -3
  180. package/chunks/{clip-audio-OL5ZHBOH.js → clip-audio-4GTC7XXJ.js} +3 -2
  181. package/chunks/{clip-image-GKDHKWSA.js → clip-image-CVP6R7WG.js} +3 -2
  182. package/chunks/{clip-video-OE4GBBS2.js → clip-video-RMIOCVAT.js} +3 -2
  183. package/chunks/{codex-subagent-executor-XTYEHFTH.js → codex-subagent-executor-CKK6DTZG.js} +61 -54
  184. package/chunks/{config-utils-A7FSZDCO.js → config-utils-UOV7IZHG.js} +57 -50
  185. package/chunks/{container-execution-environment-XS6X47MH.js → container-execution-environment-RPXKL3HT.js} +9 -0
  186. package/chunks/{contextCommand-ODDENDGH.js → contextCommand-WSTHVOWU.js} +57 -50
  187. package/chunks/{convert-image-JT75DK5E.js → convert-image-24SLHDCH.js} +3 -2
  188. package/chunks/{core-runtime-7OWIKZP7.js → core-runtime-ENOPEQRX.js} +55 -48
  189. package/chunks/{create-sub-session-MNPEQ4J2.js → create-sub-session-3RVVDCXG.js} +3 -2
  190. package/chunks/{create-sub-session-YFYNWAU3.js → create-sub-session-EER5NGVS.js} +56 -49
  191. package/chunks/{cron-create-RHRWMLNX.js → cron-create-NXQ27MQQ.js} +2 -1
  192. package/chunks/{cron-delete-CTZBKOT2.js → cron-delete-2F75IAB5.js} +2 -1
  193. package/chunks/{cron-list-SGNRBA52.js → cron-list-7IEDSU4D.js} +2 -1
  194. package/chunks/{daemon-BPTR7VCR.js → daemon-Y6AOK7LF.js} +4 -1
  195. package/chunks/{daemon-git-worktree-guard-SJ7YWRBD.js → daemon-git-worktree-guard-S74N3W6E.js} +57 -50
  196. package/chunks/{daemon-status-provider-MCQ3OGR5.js → daemon-status-provider-H67LSXXA.js} +64 -57
  197. package/chunks/{daemon-trust-policy-BUGBZHZX.js → daemon-trust-policy-5PSCS36T.js} +61 -54
  198. package/chunks/{daemon-trust-policy-monitor-7Q7XOMIB.js → daemon-trust-policy-monitor-SRWR3ICX.js} +61 -54
  199. package/chunks/{deferred-core-runtime-Q2534BF7.js → deferred-core-runtime-CCRVS2OS.js} +55 -48
  200. package/chunks/{display-image-XBM4DXNT.js → display-image-WYMDGOWV.js} +3 -2
  201. package/chunks/{downsample-audio-ZVH75DNJ.js → downsample-audio-T5P5IEPZ.js} +3 -2
  202. package/chunks/{downsample-image-4D6XYIRR.js → downsample-image-6L67FEII.js} +3 -2
  203. package/chunks/{downscale-video-CPSH7IDV.js → downscale-video-RYVKNSAU.js} +3 -2
  204. package/chunks/{edit-H5N6BDMS.js → edit-AJJXVDNK.js} +40 -33
  205. package/chunks/{enter-worktree-4TWVSLRD.js → enter-worktree-UF4HQH7B.js} +7 -5
  206. package/chunks/{enterPlanMode-WTIJMZPK.js → enterPlanMode-ZPILPKSW.js} +38 -32
  207. package/chunks/{environment-BHQMXGGR.js → environment-FHA45PRY.js} +57 -50
  208. package/chunks/{errors-Q3CZYRPL.js → errors-NCJYDUA4.js} +57 -50
  209. package/chunks/{exec-YFYZG5FI.js → exec-G6SFU4KT.js} +2 -1
  210. package/chunks/{execution-tool-RXGXRHKL.js → execution-tool-Y5UMUJLS.js} +41 -34
  211. package/chunks/{execution-worker-5FBYMFHO.js → execution-worker-CCXLXMYO.js} +49 -42
  212. package/chunks/{exit-worktree-X5TWEER7.js → exit-worktree-KGKIHZF7.js} +7 -5
  213. package/chunks/{exitPlanMode-55IBAAUE.js → exitPlanMode-IWFEZC67.js} +38 -32
  214. package/chunks/{extract-audio-WMI3JVZW.js → extract-audio-5YD7BSS3.js} +3 -2
  215. package/chunks/{extract-keyframes-XWYFKXJY.js → extract-keyframes-6SMSQOK5.js} +3 -2
  216. package/chunks/{fast-path-2QQ5KBFD.js → fast-path-FTAEZ6NF.js} +6 -6
  217. package/chunks/{fast-path-settings-TLOSL5ML.js → fast-path-settings-4BKAJEUA.js} +3 -2
  218. package/chunks/{glob-VTPB5X62.js → glob-N3GQCFRJ.js} +39 -33
  219. package/chunks/{goal-tools-YHMFTEOO.js → goal-tools-ST3EZY6A.js} +38 -32
  220. package/chunks/{grep-AXABIEJD.js → grep-AIFXREQI.js} +4 -3
  221. package/chunks/{handleAutoUpdate-C3NOVKTN.js → handleAutoUpdate-3CSJXY6N.js} +58 -51
  222. package/chunks/{i18n-MSGWV3QQ.js → i18n-7QDOJ3NI.js} +56 -49
  223. package/chunks/{image-gen-JK7PLS5E.js → image-gen-F4QUJLNV.js} +2 -1
  224. package/chunks/{initializer-HWN6XOPB.js → initializer-PQKKMY3Y.js} +61 -54
  225. package/chunks/{installationInfo-ABC2KRUN.js → installationInfo-YXKTZECD.js} +55 -48
  226. package/chunks/{list-LF3J3XDD.js → list-JK24BJIZ.js} +64 -57
  227. package/chunks/{list-agents-6EQJPTZS.js → list-agents-QYEGD7BM.js} +2 -1
  228. package/chunks/{llm-NO6O6P34.js → llm-EHNDHZ4O.js} +144 -118
  229. package/chunks/{llm-content-generator-7HAG22CO.js → llm-content-generator-RLARTHKI.js} +3 -3
  230. package/chunks/{loadedSettingsAdapter-AVY5HFYC.js → loadedSettingsAdapter-W7IGSVBM.js} +61 -54
  231. package/chunks/{local-execution-environment-APGBUWE4.js → local-execution-environment-RSUG76F2.js} +49 -42
  232. package/chunks/{loggingContentGenerator-4L2WNHZ6.js → loggingContentGenerator-NOR7PTO5.js} +40 -34
  233. package/chunks/{loop-wakeup-RF3XTGKT.js → loop-wakeup-76JNT4WU.js} +2 -1
  234. package/chunks/{ls-FDTLJBRV.js → ls-D7KTHDNN.js} +3 -2
  235. package/chunks/{lsp-DFJWXIPB.js → lsp-6UUCOSFX.js} +2 -1
  236. package/chunks/{managed-npm-update-J2ZPD66O.js → managed-npm-update-ASNMRIIE.js} +55 -48
  237. package/chunks/{mcp-3PIE3HYX.js → mcp-44B3IAGH.js} +61 -54
  238. package/chunks/{model-call-collection-ZGJESJQG.js → model-call-collection-KO3DSNC5.js} +4 -3
  239. package/chunks/{model-configuration-TIUNBSA7.js → model-configuration-LZMWBT53.js} +61 -54
  240. package/chunks/{modelConfigUtils-5AOF7V2F.js → modelConfigUtils-FZSZJY54.js} +56 -49
  241. package/chunks/{monitor-KQQHCVPC.js → monitor-VCUSAXWO.js} +147 -80
  242. package/chunks/{nonInteractiveCli-DRHFARV2.js → nonInteractiveCli-JCDKY35Q.js} +100 -93
  243. package/chunks/{nonInteractiveToolExecutor-ZT47OSWE.js → nonInteractiveToolExecutor-SDS5G2IF.js} +39 -33
  244. package/chunks/{notebook-edit-W2BQ4QPF.js → notebook-edit-VPIMMDQ5.js} +39 -33
  245. package/chunks/{ocr-image-2PSF2IAR.js → ocr-image-5S3CK7CF.js} +5 -4
  246. package/chunks/{omni-TNXXOXEW.js → omni-QAGZ4AEN.js} +13 -12
  247. package/chunks/{openaiContentGenerator-G73YTTX6.js → openaiContentGenerator-H76IVL4J.js} +17 -14
  248. package/chunks/{openaiResponsesContentGenerator-GT2QA7HT.js → openaiResponsesContentGenerator-QON3YFNY.js} +2 -2
  249. package/chunks/{pidfile-65TYNQZO.js → pidfile-R7NDHLPC.js} +55 -48
  250. package/chunks/{processUtils-OYVVZD7E.js → processUtils-HFEV5ZQ7.js} +2 -2
  251. package/chunks/{prompt-terminal-ledger-SOHAMM2Z.js → prompt-terminal-ledger-KFZ2ZGS5.js} +56 -49
  252. package/chunks/{qwenContentGenerator-3FMMD3SU.js → qwenContentGenerator-FKIGFTRK.js} +41 -35
  253. package/chunks/{reactive-degrade-RCHTZLHO.js → reactive-degrade-KSJ3TPZH.js} +10 -9
  254. package/chunks/{read-file-ZO5MAQRF.js → read-file-K6TEBEON.js} +10 -7
  255. package/chunks/{read-mcp-resource-B2GMAZPJ.js → read-mcp-resource-5LHGYLKO.js} +2 -1
  256. package/chunks/{recall-media-memory-tool-LV4MEI4V.js → recall-media-memory-tool-KJSYTPWC.js} +2 -1
  257. package/chunks/{record-artifact-YZC2JO6M.js → record-artifact-HBLFENQR.js} +5 -3
  258. package/chunks/{record-source-UD4VB654.js → record-source-R573ATSB.js} +6 -5
  259. package/chunks/{report-findings-3VDQHUWI.js → report-findings-KJ4TYZ36.js} +6 -4
  260. package/chunks/{request-shutdown-IIQL6AP6.js → request-shutdown-NO5ZWADD.js} +5 -4
  261. package/chunks/{resumeHistoryUtils-WVAODL3D.js → resumeHistoryUtils-LPO5PWQM.js} +61 -54
  262. package/chunks/{ripGrep-ICSMQC67.js → ripGrep-NY7NXGCE.js} +13 -10
  263. package/chunks/{run-qwen-serve-7JVXBD5X.js → run-qwen-serve-JXYBXOWD.js} +345 -122
  264. package/chunks/{runtime-SPDHMWL2.js → runtime-MCU3KKM4.js} +64 -57
  265. package/chunks/{sandbox-AGO4URGF.js → sandbox-YGM56RM6.js} +63 -56
  266. package/chunks/{sandboxConfig-GQSKEK3A.js → sandboxConfig-TTEWNEQV.js} +56 -49
  267. package/chunks/{scheduled-tasks-NESFIYHB.js → scheduled-tasks-G7XPTE7T.js} +62 -55
  268. package/chunks/{scheduler-IMSC6H47.js → scheduler-KFQ3DQRH.js} +57 -50
  269. package/chunks/{sdk-exporters-http-33ZUNG6F.js → sdk-exporters-http-LOJRQMTP.js} +2 -1
  270. package/chunks/{sdk-impl-UDJ5SKN5.js → sdk-impl-GRYEDRD7.js} +4 -3
  271. package/chunks/{send-message-5VICTSBX.js → send-message-POBGHN4M.js} +5 -4
  272. package/chunks/{serve-GE2YQFZW.js → serve-H6DO5I7V.js} +61 -54
  273. package/chunks/{server-LZDC5WLZ.js → server-MOXLZFNL.js} +543 -191
  274. package/chunks/{session-NAL5T5QR.js → session-UYOPV3N2.js} +101 -94
  275. package/chunks/{session-attachments-root-SDTVDDHX.js → session-attachments-root-SNX3UOWT.js} +55 -48
  276. package/chunks/{session-pr-refresh-QLHN7R76.js → session-pr-refresh-M4TSH4FG.js} +61 -54
  277. package/chunks/{settings-WC7MAKFU.js → settings-G3ETAAM6.js} +60 -53
  278. package/chunks/{shell-UE45BTE7.js → shell-L5LDTLFE.js} +38 -32
  279. package/chunks/{skill-NDQFTO4T.js → skill-GTNE3AFX.js} +12 -9
  280. package/chunks/{skill-settings-5QJZJXOA.js → skill-settings-WZ7W5X5M.js} +61 -54
  281. package/chunks/{spawnChannel-DOUIQJXZ.js → spawnChannel-EXWTKMZE.js} +58 -51
  282. package/chunks/{standalone-update-2DN4ELDA.js → standalone-update-TXYVDWH6.js} +57 -50
  283. package/chunks/{start-opentui-ui-LA3LPF6Y.js → start-opentui-ui-CR3WZX75.js} +133 -124
  284. package/chunks/{startInteractiveUI-FESZ72F3.js → startInteractiveUI-KOUAO2H2.js} +139 -131
  285. package/chunks/{syntheticOutput-IBR4IZUU.js → syntheticOutput-DTUQ3N3J.js} +3 -2
  286. package/chunks/{task-create-LTAMU773.js → task-create-2LMS6ZFJ.js} +6 -5
  287. package/chunks/{task-list-JROVWKLY.js → task-list-D22BRKR6.js} +2 -1
  288. package/chunks/{task-stop-MHQKQDFQ.js → task-stop-UZDE2G5W.js} +3 -2
  289. package/chunks/{task-update-RMYMZM6A.js → task-update-RHBIB6YU.js} +6 -5
  290. package/chunks/{team-create-YNUMJ5GO.js → team-create-4AI4ZWH5.js} +40 -34
  291. package/chunks/{team-delete-EX7BR2LA.js → team-delete-WG4S3QD4.js} +2 -1
  292. package/chunks/{team-plan-approval-AZXG3HFN.js → team-plan-approval-Q5FVUY53.js} +38 -32
  293. package/chunks/{terminal-image-renderer-ZNSJFZVA.js → terminal-image-renderer-7XZVSK2G.js} +57 -50
  294. package/chunks/{theme-manager-5HQOVK6C.js → theme-manager-J5WVXIIC.js} +55 -48
  295. package/chunks/{todoWrite-BF3INMCU.js → todoWrite-2DRDC5EG.js} +2 -1
  296. package/chunks/{tool-call-ZVU2G5XX.js → tool-call-WBTV7ZZW.js} +6 -5
  297. package/chunks/{tool-result-media-CGSR3JMM.js → tool-result-media-2AVWWFRO.js} +10 -9
  298. package/chunks/{tool-search-ANXFKRMW.js → tool-search-24DTRQKG.js} +13 -10
  299. package/chunks/{total-session-admission-YBOZM7OG.js → total-session-admission-AVMBG7AG.js} +59 -52
  300. package/chunks/{transcribe-audio-AQZWRIF5.js → transcribe-audio-HGBJBFP4.js} +4 -3
  301. package/chunks/{trustedFolders-4ANVY47B.js → trustedFolders-3MZB3TXH.js} +56 -49
  302. package/chunks/{understand-video-segments-R2UXRHKY.js → understand-video-segments-5NFKV5QK.js} +5 -4
  303. package/chunks/{update-relaunch-A66PFRWV.js → update-relaunch-P27YEKX6.js} +5 -5
  304. package/chunks/{updateCheck-CGW4ZICA.js → updateCheck-6RMQ3NKU.js} +57 -50
  305. package/chunks/{upload-config-53PGAD6C.js → upload-config-2NBNT7MF.js} +4 -4
  306. package/chunks/{useAutoAcceptIndicator-LCCWXBQX.js → useAutoAcceptIndicator-BIOXN6K6.js} +62 -55
  307. package/chunks/{validateNonInterActiveAuth-HGHZE5G5.js → validateNonInterActiveAuth-7P7E4R2Y.js} +97 -90
  308. package/chunks/{version-AYPF2XZG.js → version-XGQVMEWT.js} +1 -1
  309. package/chunks/{web-fetch-BCIFCTLU.js → web-fetch-SVQNHB77.js} +12 -9
  310. package/chunks/{web-search-E262B3IC.js → web-search-LLBP5IXB.js} +6 -5
  311. package/chunks/{web-shell-static-G654DFN2.js → web-shell-static-GI6FVIMI.js} +4 -3
  312. package/chunks/{workflow-5UJVVBKP.js → workflow-VH3PIIVF.js} +41 -35
  313. package/chunks/{workspace-providers-status-ZNWPVLFH.js → workspace-providers-status-PI4S76Q3.js} +66 -59
  314. package/chunks/{workspace-registration-store-CSOD2L3Q.js → workspace-registration-store-LSIMNORR.js} +1 -1
  315. package/chunks/{workspace-registry-YLT7CXIQ.js → workspace-registry-BKNPGQOZ.js} +59 -52
  316. package/chunks/{workspace-runtime-coordinator-VRJNYOYA.js → workspace-runtime-coordinator-K3Z2765Y.js} +60 -53
  317. package/chunks/{workspace-service-LD63VWNX.js → workspace-service-2MQRYP3W.js} +65 -58
  318. package/chunks/{workspace-skills-status-OXAHXVR5.js → workspace-skills-status-U2WDD56N.js} +64 -57
  319. package/chunks/{workspace-trust-reconciler-EMAYOLR6.js → workspace-trust-reconciler-AF7EURLV.js} +65 -58
  320. package/chunks/{write-file-GSN6CT5R.js → write-file-WZPPBRGB.js} +41 -34
  321. package/chunks/{zoom-image-5CPVN2KD.js → zoom-image-N2H67I2R.js} +12 -9
  322. package/cli.js +12 -12
  323. package/execution-worker.js +1 -1
  324. package/export-transcript-document.css +1 -1
  325. package/export-transcript-document.js +105 -101
  326. package/package.json +4 -4
  327. package/sandboxBwrapRelay.js +29 -3
  328. package/vendor/ripgrep/arm64-darwin/rg +0 -0
  329. package/vendor/ripgrep/arm64-linux/rg +0 -0
  330. package/vendor/ripgrep/x64-darwin/rg +0 -0
  331. package/vendor/ripgrep/x64-linux/rg +0 -0
  332. package/vendor/tree-sitter/tree-sitter-bash.wasm +0 -0
  333. package/vendor/tree-sitter/tree-sitter.wasm +0 -0
  334. package/web-shell/assets/{abnfDiagram-VCTEODGH-BoGedP8r.js → abnfDiagram-VCTEODGH-B9G3LK_d.js} +1 -1
  335. package/web-shell/assets/{arc-B0xm-EAq.js → arc-vjPICvaZ.js} +1 -1
  336. package/web-shell/assets/{architectureDiagram-5GKGNRK7-DiNagfRJ.js → architectureDiagram-5GKGNRK7-M5QcoEd3.js} +1 -1
  337. package/web-shell/assets/{blockDiagram-NRAW4CY4-EEcQWUWl.js → blockDiagram-NRAW4CY4-DtB-1rXH.js} +1 -1
  338. package/web-shell/assets/{c4Diagram-UCG6FXSJ-BvW_nn93.js → c4Diagram-UCG6FXSJ-D40m2lJG.js} +1 -1
  339. package/web-shell/assets/capture-worklet-DvBxuiSL.js +76 -0
  340. package/web-shell/assets/channel-DTEfizNZ.js +1 -0
  341. package/web-shell/assets/{chunk-2Q5K7J3B-B4jI17Cn.js → chunk-2Q5K7J3B-BHgD7Feq.js} +1 -1
  342. package/web-shell/assets/{chunk-5VM5RSS4-BJqaAvlZ.js → chunk-5VM5RSS4-B4UUroHq.js} +1 -1
  343. package/web-shell/assets/{chunk-F27PBJKO-C0Ju4Hf-.js → chunk-F27PBJKO-DGpi_UQp.js} +1 -1
  344. package/web-shell/assets/{chunk-G27WJ6UU-I1BYIJwg.js → chunk-G27WJ6UU-Bi06Zfbg.js} +1 -1
  345. package/web-shell/assets/{chunk-JWPE2WC7-Cnyab3JU.js → chunk-JWPE2WC7-CCXmwOoS.js} +1 -1
  346. package/web-shell/assets/{chunk-LCL6LL3I-DV-HUbga.js → chunk-LCL6LL3I-B9JtPI9s.js} +1 -1
  347. package/web-shell/assets/{chunk-POPQ4Y6H-zromK3LN.js → chunk-POPQ4Y6H-DJ1spoyk.js} +1 -1
  348. package/web-shell/assets/{chunk-SVP7TREG-CRTcS0Li.js → chunk-SVP7TREG-BKAedzA4.js} +1 -1
  349. package/web-shell/assets/{chunk-XXDRQBXY-C7t9Y5dp.js → chunk-XXDRQBXY-DkRaD6fA.js} +1 -1
  350. package/web-shell/assets/classDiagram-DTDB5LWJ-Derjqm8g.js +1 -0
  351. package/web-shell/assets/classDiagram-v2-JRS7N3AN-Derjqm8g.js +1 -0
  352. package/web-shell/assets/{cose-bilkent-JH36ORCC-pYqimMDR.js → cose-bilkent-JH36ORCC-B9Rk0fxj.js} +1 -1
  353. package/web-shell/assets/{cynefin-OW5HDTMX-CZE7POLH.js → cynefin-OW5HDTMX-Cj68mxWU.js} +1 -1
  354. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-DAiwFQTo.js → cynefinDiagram-5FMLGOSQ-DNQqico_.js} +1 -1
  355. package/web-shell/assets/{dagre-3AP2YEHR-CujXJf4M.js → dagre-3AP2YEHR-Cunjg8yf.js} +1 -1
  356. package/web-shell/assets/{diagram-S7CK7UJ4-jA7L0GxC.js → diagram-S7CK7UJ4-Ba0CumRz.js} +1 -1
  357. package/web-shell/assets/{diagram-UQ7AKVKN-Cq-AJp-u.js → diagram-UQ7AKVKN-C5IF0fqQ.js} +1 -1
  358. package/web-shell/assets/{diagram-VSXAHHWV-Drk-2m9j.js → diagram-VSXAHHWV-DDF-n2Bt.js} +1 -1
  359. package/web-shell/assets/{diagram-VX7I27RA-BvjF2q85.js → diagram-VX7I27RA-CO3aM0IB.js} +1 -1
  360. package/web-shell/assets/{diagram-Z3DM3KII-DFFJyEWC.js → diagram-Z3DM3KII-BsnDeLhZ.js} +1 -1
  361. package/web-shell/assets/{ebnfDiagram-PWID7BFC-552tv6tR.js → ebnfDiagram-PWID7BFC-C8tFSQSt.js} +1 -1
  362. package/web-shell/assets/{erDiagram-SSCWMZ5O-BO6qRo35.js → erDiagram-SSCWMZ5O-DEnME8_b.js} +1 -1
  363. package/web-shell/assets/{flowDiagram-A5DVABFB-DCxuaOR6.js → flowDiagram-A5DVABFB-Cb6WiAA4.js} +1 -1
  364. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-BkKh0yeR.js → ganttDiagram-EL5Y4UJY-BfcQfMHx.js} +1 -1
  365. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-BQlQLZ8w.js → gitGraphDiagram-WWUBYQGX-mAQ09lNy.js} +1 -1
  366. package/web-shell/assets/{index-lb-zgZOV.js → index-CiAU-pZC.js} +1 -1
  367. package/web-shell/assets/{index-B0bERnDx.js → index-D01sZSKw.js} +524 -489
  368. package/web-shell/assets/index-LyplXTTk.css +36 -0
  369. package/web-shell/assets/{infoDiagram-RXCK75RN-7Ba9Yqy8.js → infoDiagram-RXCK75RN-x1HG_VFw.js} +1 -1
  370. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-I6Gp1QB4.js → ishikawaDiagram-5VMMS53U-Cb9CurM5.js} +1 -1
  371. package/web-shell/assets/{journeyDiagram-EYS64GPL-BhgZwHgO.js → journeyDiagram-EYS64GPL-DFlIiBIa.js} +1 -1
  372. package/web-shell/assets/{kanban-definition-3QL26DDD-D9Dp43hm.js → kanban-definition-3QL26DDD-ArPzFb86.js} +1 -1
  373. package/web-shell/assets/{layout-CgsZclxS.js → layout-CtpNW7Ag.js} +1 -1
  374. package/web-shell/assets/{linear-Drh5DEW5.js → linear-Cmc6yqBO.js} +1 -1
  375. package/web-shell/assets/{mermaid.core-CDSrg0Wk.js → mermaid.core-CrvmN0d4.js} +6 -6
  376. package/web-shell/assets/{mindmap-definition-FBJOCRG2-C6EqGkzE.js → mindmap-definition-FBJOCRG2-CR3zVtx5.js} +1 -1
  377. package/web-shell/assets/{pegDiagram-XKGWAZYB-pZrH8Go8.js → pegDiagram-XKGWAZYB-DHkgqL4Z.js} +1 -1
  378. package/web-shell/assets/{pieDiagram-E7YTZNPT-BMOrGNAB.js → pieDiagram-E7YTZNPT-CL3RhAXY.js} +1 -1
  379. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-aOjXRFWV.js → quadrantDiagram-AXDQQJYC-6OOLxrzd.js} +1 -1
  380. package/web-shell/assets/{railroadDiagram-O6MQD6OU-C4V6eoOZ.js → railroadDiagram-O6MQD6OU-Cdaroae0.js} +1 -1
  381. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-C6NZbgbz.js → requirementDiagram-EFPCY7ZU-jIAhRHcu.js} +1 -1
  382. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-C7lEEAPR.js → sankeyDiagram-P5KCCOFB-AORymi6D.js} +1 -1
  383. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-DSM8FnIj.js → sequenceDiagram-WJ2MYXX4-CzzHzwXE.js} +1 -1
  384. package/web-shell/assets/{sizeCapture-X5ZJPWSS-BUvKK3KC.js → sizeCapture-X5ZJPWSS-BU-qcchN.js} +1 -1
  385. package/web-shell/assets/{stateDiagram-HBIQ2CUA-BnMNYnSz.js → stateDiagram-HBIQ2CUA-LzeVraXk.js} +1 -1
  386. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-CWjrPUEg.js +1 -0
  387. package/web-shell/assets/{swimlanes-XN3QIQJK-5wCXDaoD.js → swimlanes-XN3QIQJK-Lc4121yW.js} +1 -1
  388. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-B48cZAVZ.js +8 -0
  389. package/web-shell/assets/{timeline-definition-24CTP7MA-HwXl1O0d.js → timeline-definition-24CTP7MA-1C1HQAzu.js} +1 -1
  390. package/web-shell/assets/{vennDiagram-4TSXK5OY-lz3VObUA.js → vennDiagram-4TSXK5OY-D160Imme.js} +1 -1
  391. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-29xS19u_.js → wardleyDiagram-VM6X3IG4-DcKIszeL.js} +1 -1
  392. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-BY8S5eJH.js → xychartDiagram-S5SC5T6Z-C2vFUiVE.js} +1 -1
  393. package/web-shell/index.html +2 -2
  394. package/web-shell/sw.js +1 -1
  395. package/web-shell/assets/channel-B_cQkC7L.js +0 -1
  396. package/web-shell/assets/classDiagram-DTDB5LWJ-Cun05rpU.js +0 -1
  397. package/web-shell/assets/classDiagram-v2-JRS7N3AN-Cun05rpU.js +0 -1
  398. package/web-shell/assets/index-iUOVxoEW.css +0 -36
  399. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-D9jbQn8y.js +0 -1
  400. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-DX2chy2x.js +0 -8
  401. package/chunks/{chunk-I2GU2HMQ.js → chunk-M6SELBSG.js} +5 -5
  402. /package/chunks/{chunk-JRP4GQAF.js → chunk-S5SS7OXV.js} +0 -0
  403. /package/chunks/{chunk-KA72THKQ.js → chunk-TOLTIUAR.js} +0 -0
@@ -20,7 +20,7 @@ import {
20
20
  shouldSuppressRememberErrorDetails,
21
21
  workspaceMemoryFailureCode,
22
22
  workspaceMemoryFailureDiagnostics
23
- } from "./chunk-RJNH4CSX.js";
23
+ } from "./chunk-OFTHHXAC.js";
24
24
  import {
25
25
  SetupGithubError,
26
26
  collectSessionData,
@@ -32,18 +32,18 @@ import {
32
32
  toJson,
33
33
  toJsonl,
34
34
  toMarkdown
35
- } from "./chunk-RGD7JAX6.js";
35
+ } from "./chunk-WR2IECOS.js";
36
36
  import {
37
37
  OBSERVED_CONTACT_MAX_FRESH_WITHIN_SECONDS,
38
38
  ObservedChannelContactStore
39
39
  } from "./chunk-RTOCXGRZ.js";
40
- import "./chunk-S564PKIP.js";
40
+ import "./chunk-VFFQAOPR.js";
41
+ import "./chunk-YAQ6GGRB.js";
41
42
  import {
42
43
  escapeAnsiCtrlCodes
43
44
  } from "./chunk-47ECGEJC.js";
44
45
  import "./chunk-2MIN6GRR.js";
45
46
  import "./chunk-QHTIBUWB.js";
46
- import "./chunk-VFFQAOPR.js";
47
47
  import "./chunk-47QXG7FA.js";
48
48
  import {
49
49
  AONE_MAX_MR_VIEW_CALLS_PER_RUN,
@@ -72,7 +72,7 @@ import {
72
72
  runWithWorkspaceRuntimeStorage,
73
73
  searchWorkspaceSessionsForResponse,
74
74
  unarchiveDaemonSessions
75
- } from "./chunk-QBVHHMV4.js";
75
+ } from "./chunk-Z3SDLFI3.js";
76
76
  import {
77
77
  LIVE_SESSION_SOURCE_PREFIX,
78
78
  isCompatibleLiveSessionSource,
@@ -157,7 +157,7 @@ import {
157
157
  singleTokenCredentials,
158
158
  tagListener,
159
159
  unsafeRevealSecret
160
- } from "./chunk-3GH6T7SH.js";
160
+ } from "./chunk-6CMN575X.js";
161
161
  import {
162
162
  ConversationDirectoryIdentityError,
163
163
  getConversationDirectoryName,
@@ -165,6 +165,10 @@ import {
165
165
  isSameConversationPath,
166
166
  normalizedInode
167
167
  } from "./chunk-PB7JBAHF.js";
168
+ import {
169
+ formatHostForAuthority,
170
+ isLoopbackBind
171
+ } from "./chunk-DMEUXLSS.js";
168
172
  import {
169
173
  CLIENT_ID_HEADER,
170
174
  CLIENT_ID_RE,
@@ -188,9 +192,8 @@ import {
188
192
  validateMcpRuntimeServerName
189
193
  } from "./chunk-LAUEEBDL.js";
190
194
  import {
191
- formatHostForAuthority,
192
- isLoopbackBind
193
- } from "./chunk-DMEUXLSS.js";
195
+ sessionAttachmentsRoots
196
+ } from "./chunk-MYJJ5LMR.js";
194
197
  import {
195
198
  getWorkspaceRouteContext,
196
199
  isGenerationClosedError,
@@ -204,6 +207,7 @@ import {
204
207
  resolveManagedWorkspaceRuntimeFromParam,
205
208
  resolveRegisteredWorkspaceRuntimeByPathSelector,
206
209
  resolveTrustedRuntime,
210
+ resolveWorkspaceEntryBySelector,
207
211
  resolveWorkspaceEntryFromParam,
208
212
  resolveWorkspaceRuntimeFromParam,
209
213
  resolveWorkspaceRuntimeWithLiveCompatibilityFromParam,
@@ -213,14 +217,14 @@ import {
213
217
  sendUntrustedWorkspaceResponse,
214
218
  sendWorkspaceRuntimeUnavailable,
215
219
  setWorkspaceRouteContext
216
- } from "./chunk-FMJWXNYH.js";
220
+ } from "./chunk-E7RJFSB2.js";
217
221
  import {
218
222
  normalizeChannelDelivery,
219
223
  parseChannelDelivery
220
- } from "./chunk-6GB4CDE4.js";
224
+ } from "./chunk-AAPZZN6I.js";
221
225
  import {
222
226
  createSessionOrganizationService
223
- } from "./chunk-ISF3Z6VK.js";
227
+ } from "./chunk-6GT2WWCB.js";
224
228
  import {
225
229
  isValidSessionId,
226
230
  normalizeSessionIdForLookup,
@@ -241,14 +245,14 @@ import {
241
245
  validateWorkspaceSkillName,
242
246
  validateWorkspaceVoiceState,
243
247
  voiceSettingsScopeToWire
244
- } from "./chunk-5ROHUAQL.js";
248
+ } from "./chunk-66UDVE67.js";
245
249
  import {
246
250
  PermissionRulesValidationError,
247
251
  buildPermissionSettings,
248
252
  isPermissionRuleType,
249
253
  normalizePermissionRules,
250
254
  readPermissionRuleSet
251
- } from "./chunk-MXOOWEZK.js";
255
+ } from "./chunk-TTAC3FUB.js";
252
256
  import {
253
257
  assertVoiceBaseUrlNetworkAllowed,
254
258
  isStreamingVoiceModel,
@@ -256,13 +260,13 @@ import {
256
260
  resolveVoiceTranscriptionConfig,
257
261
  sanitizeVoiceErrorMessage,
258
262
  transcribeVoiceAudio
259
- } from "./chunk-QEPQKAUY.js";
263
+ } from "./chunk-5E4BPDCX.js";
260
264
  import {
261
265
  isVoiceEnabled,
262
266
  isVoiceMode,
263
267
  readVoiceModel,
264
268
  resolveVoiceTransport
265
- } from "./chunk-4ZYD4QI5.js";
269
+ } from "./chunk-WXHBA2D3.js";
266
270
  import {
267
271
  resolvePath
268
272
  } from "./chunk-Q3WD47S5.js";
@@ -271,15 +275,25 @@ import {
271
275
  } from "./chunk-UM4V7562.js";
272
276
  import {
273
277
  assertValidChannelSecretUpdates
274
- } from "./chunk-LELCSQ67.js";
278
+ } from "./chunk-VMBALNQT.js";
279
+ import {
280
+ getErrorMessage as getErrorMessage2
281
+ } from "./chunk-GFCUEHYC.js";
282
+ import {
283
+ createWorkspaceProvidersStatusProvider
284
+ } from "./chunk-UH4UIUSX.js";
285
+ import {
286
+ PERSIST_REASONING_SELECTION_META_KEY,
287
+ REASONING_SELECTION_PERSISTED_META_KEY
288
+ } from "./chunk-QM73W3WF.js";
275
289
  import {
276
290
  createWorkspaceSkillsStatusProvider
277
- } from "./chunk-ZJSCBHAJ.js";
278
- import "./chunk-RAHX5SNW.js";
291
+ } from "./chunk-WCTT4J75.js";
292
+ import "./chunk-X3YCTATW.js";
279
293
  import {
280
294
  lookupSkillDisablement,
281
295
  resolveSkillSettings
282
- } from "./chunk-AB5N5FEG.js";
296
+ } from "./chunk-TLT5SN5M.js";
283
297
  import {
284
298
  WorkspacePermissionRulesSessionRequiredError,
285
299
  WorkspaceSettingsPartialPersistError,
@@ -290,20 +304,20 @@ import {
290
304
  isServeDebugMode,
291
305
  mountWebShellAssets,
292
306
  mountWebShellSpaFallback
293
- } from "./chunk-WLEIIPES.js";
307
+ } from "./chunk-PA4HU5IQ.js";
294
308
  import {
295
309
  require_express
296
- } from "./chunk-MOWCV77B.js";
310
+ } from "./chunk-5NFAKADR.js";
297
311
  import "./chunk-FBX2SDQ4.js";
298
312
  import {
299
313
  evaluateDaemonWorkspaceTrust,
300
314
  readDaemonTrustPolicySnapshot
301
- } from "./chunk-LCIR5C23.js";
315
+ } from "./chunk-A2VO4PX3.js";
302
316
  import {
303
317
  readRecentPromptTerminals,
304
318
  reconcileDanglingPromptTerminals,
305
319
  withPromptTerminals
306
- } from "./chunk-ZHJSA55C.js";
320
+ } from "./chunk-EUOE7VLY.js";
307
321
  import {
308
322
  WorkspaceGenerationClosedError,
309
323
  createSingleWorkspaceRegistry,
@@ -313,15 +327,29 @@ import {
313
327
  isInternalWorkspaceRuntime
314
328
  } from "./chunk-NYWWQ437.js";
315
329
  import {
316
- sessionAttachmentsRoots
317
- } from "./chunk-MYJJ5LMR.js";
330
+ assertLiveDiscoveryPublisher,
331
+ getStableLiveDiscoveryBaseDir
332
+ } from "./chunk-IVPEOTO5.js";
333
+ import {
334
+ ConversationRuntimeOwnershipError,
335
+ LIVE_HOST_BUNDLE_ID,
336
+ LIVE_HOST_PROTOCOL_VERSION,
337
+ LIVE_INPUT_AUDIO_EPOCH_BYTES,
338
+ LIVE_OUTPUT_AUDIO_EPOCH_BYTES,
339
+ LIVE_OUTPUT_AUDIO_HEADER_BYTES,
340
+ LIVE_WEB_HOST_BUNDLE_ID,
341
+ conversationRootCompromisedError,
342
+ conversationRuntimeInUseError,
343
+ conversationRuntimeOwnershipCompromisedError,
344
+ conversationRuntimeUnavailableError
345
+ } from "./chunk-TBUYRX6R.js";
318
346
  import {
319
347
  WorkspaceRuntimeInitializationError,
320
348
  WorkspaceRuntimeStillStartingError,
321
349
  getWorkspaceRuntimeCoordinator,
322
350
  getWorkspaceRuntimeCoordinatorIfSupported,
323
351
  supportsWorkspaceRuntimeLifecycle
324
- } from "./chunk-PETY4UMR.js";
352
+ } from "./chunk-LHSO2ZM2.js";
325
353
  import "./chunk-OIBUG24X.js";
326
354
  import {
327
355
  MAX_SESSION_RESTORE_TIMEOUT_MS,
@@ -330,10 +358,13 @@ import {
330
358
  } from "./chunk-4JRM2BSM.js";
331
359
  import {
332
360
  createDaemonStatusProvider
333
- } from "./chunk-UKCBRQY5.js";
334
- import "./chunk-GZJLGE6Y.js";
335
- import "./chunk-TSVKTGQ4.js";
361
+ } from "./chunk-AUNIYEZW.js";
362
+ import "./chunk-UDUFGB6B.js";
363
+ import "./chunk-342K4MOZ.js";
336
364
  import "./chunk-FUSEMYFX.js";
365
+ import {
366
+ snapshotProcessEnv
367
+ } from "./chunk-RYF7LZYB.js";
337
368
  import {
338
369
  SessionArtifactAuthorizationError,
339
370
  SessionArtifactValidationError,
@@ -341,7 +372,7 @@ import {
341
372
  extractErrorCode,
342
373
  extractErrorMessage,
343
374
  parseSessionSource
344
- } from "./chunk-W2GM3FPJ.js";
375
+ } from "./chunk-XMIKBIBW.js";
345
376
  import {
346
377
  EVENT_SCHEMA_VERSION,
347
378
  EventBus,
@@ -352,18 +383,8 @@ import "./chunk-WCCLLK7X.js";
352
383
  import "./chunk-OCPBI7J5.js";
353
384
  import {
354
385
  createSpawnChannelFactory
355
- } from "./chunk-SHLIELH4.js";
386
+ } from "./chunk-MWSUUFPF.js";
356
387
  import "./chunk-LYD3T3H7.js";
357
- import {
358
- createWorkspaceProvidersStatusProvider
359
- } from "./chunk-5FATGXYO.js";
360
- import {
361
- PERSIST_REASONING_SELECTION_META_KEY,
362
- REASONING_SELECTION_PERSISTED_META_KEY
363
- } from "./chunk-U6YCUEJQ.js";
364
- import {
365
- snapshotProcessEnv
366
- } from "./chunk-Q554UD37.js";
367
388
  import {
368
389
  BridgeTimeoutError,
369
390
  SERVE_CONTROL_EXT_METHODS,
@@ -372,65 +393,35 @@ import {
372
393
  createIdleWorkspaceMemoryStatus,
373
394
  mapDomainErrorToErrorKind,
374
395
  readServeWorkflowActionInput
375
- } from "./chunk-N63V7CTG.js";
396
+ } from "./chunk-D7DQX746.js";
376
397
  import {
377
398
  getAuthTypeFromEnv,
378
399
  resolveCliGenerationConfig
379
- } from "./chunk-D4JFXQ6K.js";
400
+ } from "./chunk-SR2ZNKXZ.js";
380
401
  import {
381
402
  findModelConfiguration,
382
403
  findModelConfigurationForDeletion,
383
404
  isConversationModelConfiguration,
384
405
  isImageModelConfiguration,
385
406
  listModelConfigurations
386
- } from "./chunk-X5N23GYD.js";
407
+ } from "./chunk-C7Q4IX2L.js";
387
408
  import {
388
409
  sanitizeProviderBaseUrl
389
410
  } from "./chunk-VYA224N4.js";
390
411
  import {
391
412
  daemonObservedContactsPath,
392
413
  loadChannelsConfig
393
- } from "./chunk-FJWGA4KA.js";
394
- import "./chunk-AFLJYB2T.js";
414
+ } from "./chunk-YYJIIXHT.js";
415
+ import "./chunk-ZDFR5Y5C.js";
395
416
  import "./chunk-E2AZMW65.js";
396
417
  import {
397
418
  parseChannelWebhookConfigLenient
398
- } from "./chunk-5YJEHFWB.js";
419
+ } from "./chunk-OUKL6WIM.js";
399
420
  import {
400
421
  supportedChannelCatalog
401
- } from "./chunk-KA72THKQ.js";
422
+ } from "./chunk-TOLTIUAR.js";
402
423
  import "./chunk-VGLXXHTF.js";
403
424
  import "./chunk-V6WHFGST.js";
404
- import {
405
- assertLiveDiscoveryPublisher,
406
- getStableLiveDiscoveryBaseDir
407
- } from "./chunk-IVPEOTO5.js";
408
- import {
409
- ConversationRuntimeOwnershipError,
410
- LIVE_HOST_BUNDLE_ID,
411
- LIVE_HOST_PROTOCOL_VERSION,
412
- LIVE_INPUT_AUDIO_EPOCH_BYTES,
413
- LIVE_OUTPUT_AUDIO_EPOCH_BYTES,
414
- LIVE_OUTPUT_AUDIO_HEADER_BYTES,
415
- LIVE_WEB_HOST_BUNDLE_ID,
416
- conversationRootCompromisedError,
417
- conversationRuntimeInUseError,
418
- conversationRuntimeOwnershipCompromisedError,
419
- conversationRuntimeUnavailableError
420
- } from "./chunk-TBUYRX6R.js";
421
- import "./chunk-CKXUWR6I.js";
422
- import "./chunk-TZBFVXNX.js";
423
- import "./chunk-BIQXRY5B.js";
424
- import {
425
- MAX_REGISTERED_WORKSPACES,
426
- WorkspaceDisplayNameValidationError,
427
- WorkspaceRegistrationStoreCommittedError,
428
- WorkspaceRegistrationStoreLimitError,
429
- WorkspaceRegistrationStoreTooLargeError,
430
- normalizeWorkspaceDisplayName,
431
- resolveMaxRegisteredWorkspaces,
432
- workspaceRegistrationId
433
- } from "./chunk-FSEZM6ZQ.js";
434
425
  import {
435
426
  CHANNEL_PROMPT_META_KEY,
436
427
  DAEMON_PROMPT_DISPLAY_TEXT_META_KEY,
@@ -478,6 +469,19 @@ import {
478
469
  WorkspaceMismatchError,
479
470
  WorkspaceRuntimeStopError
480
471
  } from "./chunk-OY4DP3XV.js";
472
+ import "./chunk-CKXUWR6I.js";
473
+ import "./chunk-TZBFVXNX.js";
474
+ import "./chunk-4VSTV4C2.js";
475
+ import {
476
+ MAX_REGISTERED_WORKSPACES,
477
+ WorkspaceDisplayNameValidationError,
478
+ WorkspaceRegistrationStoreCommittedError,
479
+ WorkspaceRegistrationStoreLimitError,
480
+ WorkspaceRegistrationStoreTooLargeError,
481
+ normalizeWorkspaceDisplayName,
482
+ resolveMaxRegisteredWorkspaces,
483
+ workspaceRegistrationId
484
+ } from "./chunk-VGA7ZOWE.js";
481
485
  import {
482
486
  MAX_WORKSPACE_PATH_LENGTH,
483
487
  canonicalizeWorkspace,
@@ -495,12 +499,12 @@ import {
495
499
  MAX_CHANNEL_STARTUP_FAILURE_MESSAGE_LENGTH,
496
500
  isChannelWebhookEnqueueError
497
501
  } from "./chunk-STUJ7IMZ.js";
498
- import {
499
- normalizeWorkerDiagnostic
500
- } from "./chunk-X2R47SFR.js";
501
502
  import {
502
503
  QWEN_SERVER_TOKEN_ENV
503
504
  } from "./chunk-GYTKQYDB.js";
505
+ import {
506
+ normalizeWorkerDiagnostic
507
+ } from "./chunk-X2R47SFR.js";
504
508
  import {
505
509
  normalizeServeChannelSelection
506
510
  } from "./chunk-GDWE23OR.js";
@@ -509,10 +513,10 @@ import {
509
513
  isChannelDeliveryError
510
514
  } from "./chunk-RKFGE7JH.js";
511
515
  import "./chunk-UDG5EZJI.js";
516
+ import "./chunk-3VUENPWF.js";
512
517
  import {
513
518
  redactLogCredentials
514
519
  } from "./chunk-M5GB774H.js";
515
- import "./chunk-3VUENPWF.js";
516
520
  import {
517
521
  sanitizeLogText
518
522
  } from "./chunk-YWZOEHBT.js";
@@ -531,8 +535,8 @@ import {
531
535
  resolveOutputLanguageOrPreserveAuto,
532
536
  updateOutputLanguageFile,
533
537
  validateSettingValue
534
- } from "./chunk-4LDMRC23.js";
535
- import "./chunk-JPRL7GPK.js";
538
+ } from "./chunk-GKYXVNN5.js";
539
+ import "./chunk-TJGYSUHN.js";
536
540
  import "./chunk-RKUWKYED.js";
537
541
  import "./chunk-BW4333PP.js";
538
542
  import "./chunk-IDS7MSUP.js";
@@ -541,20 +545,20 @@ import {
541
545
  getCurrentLanguage,
542
546
  resolveLanguageSetting,
543
547
  setLanguageAsync
544
- } from "./chunk-JRP4GQAF.js";
548
+ } from "./chunk-S5SS7OXV.js";
545
549
  import {
546
550
  SUPPORTED_LANGUAGES,
547
551
  resolveSupportedLanguage
548
552
  } from "./chunk-5EJZE3FP.js";
549
553
  import {
550
554
  buildRuntimeEnvironment
551
- } from "./chunk-MJJQ5LM4.js";
555
+ } from "./chunk-WSAZ5YVP.js";
552
556
  import "./chunk-6V4XP46I.js";
553
- import "./chunk-4XNECBYG.js";
557
+ import "./chunk-VBRO7DL2.js";
554
558
  import "./chunk-2RJJSLCF.js";
555
559
  import {
556
560
  getWorkspaceTrustStatus
557
- } from "./chunk-UE4ZRIXK.js";
561
+ } from "./chunk-MORC5DDS.js";
558
562
  import "./chunk-NPQ5ZKRP.js";
559
563
  import {
560
564
  isWithinRoot as isWithinRoot2
@@ -569,34 +573,35 @@ import {
569
573
  buildUsageDashboard,
570
574
  loadIgnoreRules,
571
575
  writeWorkspaceContextFile
572
- } from "./chunk-VE2U4MWB.js";
576
+ } from "./chunk-LB3ULRVI.js";
573
577
  import "./chunk-GELRJXE2.js";
574
578
  import "./chunk-32CM56LO.js";
575
- import "./chunk-DYGOUAKK.js";
579
+ import "./chunk-F327LRJ4.js";
580
+ import "./chunk-MNM5AZTY.js";
576
581
  import "./chunk-LJZSMWOH.js";
577
- import "./chunk-MOTCWW3N.js";
582
+ import "./chunk-HVGSA5GU.js";
583
+ import "./chunk-WMHO25KU.js";
578
584
  import {
579
585
  clearWorktreeSession,
580
586
  readWorktreeSession,
581
587
  readWorktreeSessionStrict,
582
588
  writeWorktreeSession
583
- } from "./chunk-OMHE7I7L.js";
584
- import "./chunk-7WIDY7UD.js";
589
+ } from "./chunk-IODSADQ4.js";
585
590
  import "./chunk-ZPJWUGCS.js";
586
591
  import "./chunk-N7RPJIQD.js";
587
- import "./chunk-QTEONSAO.js";
588
- import "./chunk-KLL6VL42.js";
589
- import "./chunk-CK267TVO.js";
590
- import "./chunk-64LX7PWR.js";
591
- import "./chunk-E5JQUFYU.js";
592
- import "./chunk-UEILASYG.js";
593
592
  import "./chunk-W6VNPRE2.js";
594
- import "./chunk-QCCRC27E.js";
595
- import "./chunk-GI7MRANQ.js";
593
+ import "./chunk-LNNWGSXX.js";
594
+ import "./chunk-FPFIAK47.js";
595
+ import "./chunk-NEO5LYMI.js";
596
+ import "./chunk-PPLSJANE.js";
597
+ import "./chunk-63R3HFEM.js";
598
+ import "./chunk-UEILASYG.js";
599
+ import "./chunk-OFEFVABN.js";
600
+ import "./chunk-WJKQ5TZO.js";
596
601
  import "./chunk-V2XJJTAB.js";
602
+ import "./chunk-C44MRBE3.js";
603
+ import "./chunk-BHU5SD32.js";
597
604
  import "./chunk-ZNU4EOFS.js";
598
- import "./chunk-R6MPLPS7.js";
599
- import "./chunk-T4D3QLUZ.js";
600
605
  import "./chunk-BVKUGIV3.js";
601
606
  import "./chunk-YDERQ7ZV.js";
602
607
  import "./chunk-TV2CMWO3.js";
@@ -609,7 +614,7 @@ import {
609
614
  isDeviceTokenPending,
610
615
  isDeviceTokenSuccess
611
616
  } from "./chunk-ORREOG2Q.js";
612
- import "./chunk-IE7SAZGL.js";
617
+ import "./chunk-LGZSNH2N.js";
613
618
  import {
614
619
  BuiltinAgentRegistry,
615
620
  Client,
@@ -690,14 +695,23 @@ import {
690
695
  toSessionPrInfo,
691
696
  upsertSessionPr,
692
697
  watchRepoBranch
693
- } from "./chunk-VQUX7GWP.js";
698
+ } from "./chunk-NG36623P.js";
694
699
  import "./chunk-27CVFKVI.js";
695
700
  import "./chunk-GOFAQQZA.js";
696
- import "./chunk-65I7S4Z3.js";
701
+ import "./chunk-CHBZHMBA.js";
702
+ import "./chunk-4M7RD5QQ.js";
697
703
  import "./chunk-HEOH7JZY.js";
698
- import "./chunk-TWPJO254.js";
699
- import "./chunk-XIOVKC72.js";
704
+ import {
705
+ external_exports
706
+ } from "./chunk-XIOVKC72.js";
707
+ import "./chunk-W3RO6OK2.js";
700
708
  import "./chunk-MHXRBBKA.js";
709
+ import {
710
+ resolveModelId
711
+ } from "./chunk-L3KJT4ZZ.js";
712
+ import {
713
+ readArtifactSnapshot
714
+ } from "./chunk-JBUMBQAO.js";
701
715
  import "./chunk-GMYY5C2E.js";
702
716
  import "./chunk-5EZRLTLQ.js";
703
717
  import "./chunk-QHWCP53L.js";
@@ -708,21 +722,15 @@ import {
708
722
  taskHasLegacyCondition,
709
723
  updateCronTasks
710
724
  } from "./chunk-DTAGMOBI.js";
711
- import "./chunk-W3RO6OK2.js";
725
+ import "./chunk-U5P7R5TF.js";
712
726
  import {
713
727
  GitWorktreeService,
714
728
  WorktreeMarkerCommittedError,
715
729
  createWorktreeSessionMarkerExclusive,
716
730
  readWorktreeSessionMarkerStrict,
717
731
  transferWorktreeSessionMarkerOwner
718
- } from "./chunk-JG23BJ7Y.js";
732
+ } from "./chunk-AJSG5SMC.js";
719
733
  import "./chunk-6PVPNMXU.js";
720
- import {
721
- resolveModelId
722
- } from "./chunk-L3KJT4ZZ.js";
723
- import {
724
- readArtifactSnapshot
725
- } from "./chunk-ANKISCKU.js";
726
734
  import "./chunk-U6H3XTFA.js";
727
735
  import "./chunk-AO66AVEJ.js";
728
736
  import "./chunk-3RCEJIII.js";
@@ -732,43 +740,45 @@ import {
732
740
  recordDaemonBridgeError,
733
741
  recordDaemonHttpRequest,
734
742
  validateSkillName
735
- } from "./chunk-2TK7KLDO.js";
736
- import "./chunk-AK35QRVW.js";
737
- import "./chunk-ACHCT36C.js";
738
- import "./chunk-O6GEWCJA.js";
739
- import "./chunk-CHEIIBT3.js";
743
+ } from "./chunk-2QPG2ZFY.js";
744
+ import {
745
+ glob
746
+ } from "./chunk-IQQRNRQV.js";
747
+ import "./chunk-QBLHSEIA.js";
740
748
  import "./chunk-ADN5KESB.js";
741
749
  import "./chunk-SK3RZOPS.js";
742
750
  import "./chunk-GO3DNGM3.js";
743
751
  import {
744
752
  SessionSourceError
745
753
  } from "./chunk-ELRMZTPF.js";
746
- import {
747
- glob
748
- } from "./chunk-IQQRNRQV.js";
749
- import "./chunk-FDW5VK44.js";
750
- import "./chunk-QBLHSEIA.js";
754
+ import "./chunk-2SENA3WV.js";
755
+ import "./chunk-ELYIK7SN.js";
756
+ import "./chunk-TWPJO254.js";
757
+ import "./chunk-O6GEWCJA.js";
758
+ import "./chunk-CHEIIBT3.js";
759
+ import "./chunk-ACHCT36C.js";
760
+ import "./chunk-I3K2QRZ5.js";
751
761
  import "./chunk-6C3D7BKK.js";
752
- import "./chunk-6FZEVPBU.js";
753
- import "./chunk-EDJCJMEW.js";
762
+ import "./chunk-G52VD6PC.js";
754
763
  import "./chunk-MNU36NGH.js";
764
+ import "./chunk-6KOET775.js";
755
765
  import "./chunk-VNTJJ4WQ.js";
756
766
  import "./chunk-BQMSZSG6.js";
757
- import "./chunk-5XWVWTLB.js";
758
- import "./chunk-TDWH5KJE.js";
767
+ import "./chunk-VM3RQNIN.js";
768
+ import "./chunk-OU26ZZOL.js";
759
769
  import {
760
770
  APPROVAL_MODES
761
771
  } from "./chunk-JX6XHPTX.js";
762
772
  import "./chunk-QCG3JVIW.js";
763
- import "./chunk-CXXHL3XJ.js";
773
+ import "./chunk-WDLMJHRN.js";
764
774
  import {
765
775
  NO_EXEC_CONFIG,
766
776
  findGitRoot
767
777
  } from "./chunk-IOISNXQ2.js";
768
778
  import "./chunk-QKXZOHHQ.js";
769
779
  import "./chunk-BKVPLSEI.js";
770
- import "./chunk-GPKTOXFJ.js";
771
- import "./chunk-3J43HE2J.js";
780
+ import "./chunk-EMT2RO3O.js";
781
+ import "./chunk-6GI7NAZS.js";
772
782
  import "./chunk-S6LOFUVP.js";
773
783
  import "./chunk-Z72PLR74.js";
774
784
  import "./chunk-GC3J5W2O.js";
@@ -789,7 +799,7 @@ import {
789
799
  resolveModelProtocol,
790
800
  shouldShowStep,
791
801
  tryResolveModelProtocol
792
- } from "./chunk-UZTJ5WJA.js";
802
+ } from "./chunk-C4TM325G.js";
793
803
  import {
794
804
  addDaemonRequestAttribute,
795
805
  captureDaemonTelemetryContext,
@@ -800,16 +810,18 @@ import {
800
810
  recordDaemonError,
801
811
  recordDaemonHttpResponse,
802
812
  runWithDaemonTelemetryContext,
803
- withDaemonRequestSpan
804
- } from "./chunk-TBVO3WMD.js";
813
+ withDaemonRequestSpan,
814
+ withDaemonSpan
815
+ } from "./chunk-WQ7QSGFJ.js";
805
816
  import "./chunk-XWRJCPHC.js";
806
817
  import {
807
818
  parseLineTolerant,
808
819
  read
809
- } from "./chunk-IXWDQRM4.js";
810
- import "./chunk-5ETULJLP.js";
820
+ } from "./chunk-SC5OSRLI.js";
811
821
  import "./chunk-VBT4BMCQ.js";
812
822
  import "./chunk-CFMZLE3L.js";
823
+ import "./chunk-UEYDN2YO.js";
824
+ import "./chunk-HD7O6WLV.js";
813
825
  import {
814
826
  CursorNotAtLineBoundaryError,
815
827
  LargeNonUtf8TextError,
@@ -818,28 +830,29 @@ import {
818
830
  getAllMemoryFilenames,
819
831
  isUtf8CompatibleEncoding,
820
832
  isWithinRoot
821
- } from "./chunk-U5JK32FE.js";
822
- import "./chunk-UEYDN2YO.js";
823
- import "./chunk-HD7O6WLV.js";
833
+ } from "./chunk-7JDVJX7A.js";
824
834
  import "./chunk-EAJHTQOM.js";
835
+ import "./chunk-5ETULJLP.js";
836
+ import "./chunk-NXRQI7RF.js";
825
837
  import "./chunk-WZAD4ZNJ.js";
826
838
  import "./chunk-IC63SGIX.js";
827
- import "./chunk-GT3O7YG4.js";
839
+ import "./chunk-FGRM4KJ6.js";
828
840
  import "./chunk-XZA32HII.js";
829
841
  import "./chunk-J5LUMSAZ.js";
830
842
  import "./chunk-HHJLM3WQ.js";
831
- import "./chunk-TAANUOHC.js";
843
+ import "./chunk-LFIKUSEE.js";
832
844
  import {
833
845
  SubagentError,
834
846
  SubagentErrorCode
835
- } from "./chunk-MYXULCXF.js";
847
+ } from "./chunk-GNGQGEZD.js";
836
848
  import "./chunk-WFNJIZ4G.js";
837
849
  import {
838
850
  escapeXml
839
851
  } from "./chunk-MF436P6L.js";
840
852
  import "./chunk-HDDAI7GZ.js";
841
853
  import "./chunk-RYSJNY4B.js";
842
- import "./chunk-TPDNW6O5.js";
854
+ import "./chunk-5XEZQQG3.js";
855
+ import "./chunk-YPKYQHFS.js";
843
856
  import "./chunk-YDWJUBSY.js";
844
857
  import "./chunk-RSWOFJBY.js";
845
858
  import "./chunk-MDWQFUV4.js";
@@ -851,9 +864,11 @@ import "./chunk-KSEKRQJO.js";
851
864
  import "./chunk-QFIRVSJL.js";
852
865
  import {
853
866
  isTelemetrySdkInitialized,
854
- redactUrlCredentials,
867
+ redactUrlCredentials
868
+ } from "./chunk-BVNEEYJM.js";
869
+ import {
855
870
  stripAnsiAndControl
856
- } from "./chunk-42QJ7NLB.js";
871
+ } from "./chunk-5R36APDE.js";
857
872
  import {
858
873
  Storage,
859
874
  createDebugLogger,
@@ -865,6 +880,7 @@ import {
865
880
  } from "./chunk-S34QJ6IR.js";
866
881
  import "./chunk-MORSIWAC.js";
867
882
  import "./chunk-K63OUFJ7.js";
883
+ import "./chunk-SVDO4IOV.js";
868
884
  import {
869
885
  writeStderrLine,
870
886
  writeStderrLineSafe,
@@ -3509,7 +3525,8 @@ var WORKFLOW_REQUEST_ERROR_STATUS = {
3509
3525
  workflow_invalid_params: 400,
3510
3526
  workflow_args_unavailable: 409,
3511
3527
  workflow_journal_unavailable: 409,
3512
- workflow_run_live_elsewhere: 409
3528
+ workflow_run_live_elsewhere: 409,
3529
+ workflow_not_recorded: 503
3513
3530
  };
3514
3531
  function workflowRequestErrorStatus(kind) {
3515
3532
  return typeof kind === "string" && Object.hasOwn(WORKFLOW_REQUEST_ERROR_STATUS, kind) ? WORKFLOW_REQUEST_ERROR_STATUS[kind] : void 0;
@@ -27855,6 +27872,12 @@ init_esbuild_shims();
27855
27872
  init_esbuild_shims();
27856
27873
  import { performance as performance2 } from "node:perf_hooks";
27857
27874
  var legacySessionTelemetryRoutes = [
27875
+ {
27876
+ method: "POST",
27877
+ path: "/sessions/catalog",
27878
+ attribution: "handler_resolved",
27879
+ route: "POST /sessions/catalog"
27880
+ },
27858
27881
  {
27859
27882
  method: "POST",
27860
27883
  path: "/session",
@@ -36787,6 +36810,214 @@ function registerSessionRoutes(app, deps) {
36787
36810
  }
36788
36811
  __name(registerSessionRoutes, "registerSessionRoutes");
36789
36812
 
36813
+ // packages/cli/src/serve/routes/session-catalog.ts
36814
+ init_esbuild_shims();
36815
+ var MAX_WORKSPACES = 20;
36816
+ var READ_CONCURRENCY = 4;
36817
+ var MAX_MEMBER_BYTES = 512 * 1024;
36818
+ var catalogRequestSchema = external_exports.object({
36819
+ workspaces: external_exports.union([
36820
+ external_exports.literal("all"),
36821
+ external_exports.array(
36822
+ external_exports.object({
36823
+ workspace: external_exports.string().min(1).max(4096),
36824
+ cursor: external_exports.string().max(16384).optional()
36825
+ }).strict()
36826
+ ).min(1).max(MAX_WORKSPACES)
36827
+ ]),
36828
+ options: external_exports.object({
36829
+ size: external_exports.number().int().min(1).max(100).optional(),
36830
+ archiveState: external_exports.enum(["active", "archived"]).optional(),
36831
+ view: external_exports.literal("organized").optional(),
36832
+ group: external_exports.string().min(1).max(256).optional(),
36833
+ parentSessionId: external_exports.string().min(1).max(256).optional(),
36834
+ sourceType: external_exports.string().optional(),
36835
+ sourceId: external_exports.string().optional()
36836
+ }).strict().optional(),
36837
+ includeGroups: external_exports.boolean().optional()
36838
+ }).strict();
36839
+ function failedMember(workspace, entry, status, code, message) {
36840
+ return {
36841
+ workspace,
36842
+ ...entry ? { workspaceId: entry.workspaceId, cwd: entry.workspaceCwd } : {},
36843
+ error: { code, message, status }
36844
+ };
36845
+ }
36846
+ __name(failedMember, "failedMember");
36847
+ function registerSessionCatalogRoutes(app, workspaceRegistry) {
36848
+ app.post("/sessions/catalog", async (req, res) => {
36849
+ const parsed = catalogRequestSchema.safeParse(req.body);
36850
+ if (!parsed.success) {
36851
+ res.status(400).json({
36852
+ code: "invalid_session_catalog_request",
36853
+ error: "Invalid session catalog request."
36854
+ });
36855
+ return;
36856
+ }
36857
+ const { options = {}, includeGroups = false } = parsed.data;
36858
+ const source = parseSessionSource(options.sourceType, options.sourceId);
36859
+ if ("error" in source || options.group !== void 0 && options.view !== "organized" || options.parentSessionId !== void 0 && options.view === "organized") {
36860
+ res.status(400).json({
36861
+ code: "invalid_session_catalog_request",
36862
+ error: "error" in source ? source.error : "Group filters require organized view; parent filters cannot use it."
36863
+ });
36864
+ return;
36865
+ }
36866
+ const selections = parsed.data.workspaces === "all" ? workspaceRegistry.listEntries().map((entry) => ({
36867
+ workspace: entry.workspaceCwd,
36868
+ cursor: void 0
36869
+ })) : parsed.data.workspaces;
36870
+ if (selections.length > MAX_WORKSPACES) {
36871
+ res.status(400).json({
36872
+ code: "too_many_workspaces",
36873
+ error: `Select at most ${MAX_WORKSPACES} workspaces per request.`
36874
+ });
36875
+ return;
36876
+ }
36877
+ const controller = new AbortController();
36878
+ const abort = /* @__PURE__ */ __name(() => controller.abort(), "abort");
36879
+ const onClose = /* @__PURE__ */ __name(() => {
36880
+ if (!res.writableEnded) abort();
36881
+ }, "onClose");
36882
+ req.once("aborted", abort);
36883
+ res.once("close", onClose);
36884
+ if (req.aborted || res.destroyed) abort();
36885
+ const readMember = /* @__PURE__ */ __name(async (selection) => {
36886
+ const { workspace, cursor } = selection;
36887
+ const entry = resolveWorkspaceEntryBySelector(
36888
+ workspaceRegistry,
36889
+ workspace
36890
+ );
36891
+ if (!entry) {
36892
+ return failedMember(
36893
+ workspace,
36894
+ void 0,
36895
+ 404,
36896
+ "workspace_not_found",
36897
+ "Workspace is not registered with this daemon."
36898
+ );
36899
+ }
36900
+ const unavailable = /* @__PURE__ */ __name(() => failedMember(
36901
+ workspace,
36902
+ entry,
36903
+ 503,
36904
+ "workspace_runtime_unavailable",
36905
+ "Workspace runtime is not active."
36906
+ ), "unavailable");
36907
+ const generation = entry.current;
36908
+ const isCurrent = /* @__PURE__ */ __name(() => workspaceRegistry.getEntryByWorkspaceId(entry.workspaceId) === entry && entry.state === "active" && entry.current?.generationId === generation?.generationId && generation !== void 0 && !generation.guard.closed, "isCurrent");
36909
+ if (!generation || !isCurrent()) return unavailable();
36910
+ const runtime = generation.runtime;
36911
+ if (runtime.primary && !runtime.trusted) {
36912
+ return failedMember(
36913
+ workspace,
36914
+ entry,
36915
+ 403,
36916
+ "untrusted_workspace",
36917
+ "Workspace is not trusted."
36918
+ );
36919
+ }
36920
+ try {
36921
+ const read2 = /* @__PURE__ */ __name(() => withDaemonSpan(
36922
+ "qwen-code.daemon.session_catalog.member",
36923
+ {
36924
+ "qwen-code.workspace.hash": hashDaemonWorkspace(
36925
+ runtime.workspaceCwd
36926
+ )
36927
+ },
36928
+ () => runWithWorkspaceRuntimeStorage(runtime, async () => {
36929
+ const page2 = await listWorkspaceSessionsForResponse(
36930
+ runtime.bridge,
36931
+ runtime.workspaceCwd,
36932
+ { ...options, cursor },
36933
+ {
36934
+ mergeLive: runtime.trusted,
36935
+ paginateMerged: true,
36936
+ includeGroups,
36937
+ runtimeBaseDir: runtime.sessionRuntimeBaseDir,
36938
+ signal: controller.signal
36939
+ }
36940
+ );
36941
+ controller.signal.throwIfAborted();
36942
+ if (!isCurrent()) return page2;
36943
+ const groups = includeGroups ? page2.groups ?? await createSessionOrganizationService(
36944
+ runtime.workspaceCwd
36945
+ ).listGroups() : void 0;
36946
+ return { ...page2, ...groups ? { groups } : {} };
36947
+ })
36948
+ ), "read");
36949
+ const page = await (runtime.trusted ? read2() : runWithoutDebugLogSession(read2));
36950
+ if (!isCurrent()) return unavailable();
36951
+ const result = {
36952
+ workspace,
36953
+ workspaceId: runtime.workspaceId,
36954
+ cwd: runtime.workspaceCwd,
36955
+ ...page,
36956
+ sessions: page.sessions.map((session) => ({
36957
+ ...session,
36958
+ workspaceCwd: runtime.workspaceCwd
36959
+ }))
36960
+ };
36961
+ if (Buffer.byteLength(JSON.stringify(result)) > MAX_MEMBER_BYTES) {
36962
+ return failedMember(
36963
+ workspace,
36964
+ entry,
36965
+ 413,
36966
+ "catalog_response_too_large",
36967
+ "Catalog page exceeds 512 KiB; reduce size or omit groups."
36968
+ );
36969
+ }
36970
+ return result;
36971
+ } catch (error2) {
36972
+ if (isGenerationClosedError(error2) || !isCurrent())
36973
+ return unavailable();
36974
+ const known = error2 instanceof InvalidCursorError || error2 instanceof SessionOrganizationError;
36975
+ const code = error2 instanceof InvalidCursorError ? "invalid_cursor" : error2 instanceof SessionOrganizationError ? error2.code : "session_catalog_failed";
36976
+ const status = code === "group_not_found" ? 404 : known && code !== "session_organization_store_unreadable" ? 400 : 500;
36977
+ return failedMember(
36978
+ workspace,
36979
+ entry,
36980
+ status,
36981
+ code,
36982
+ known ? error2.message : "Failed to read workspace session catalog."
36983
+ );
36984
+ }
36985
+ }, "readMember");
36986
+ const workspaces = new Array(selections.length);
36987
+ let nextIndex = 0;
36988
+ try {
36989
+ await Promise.all(
36990
+ Array.from(
36991
+ { length: Math.min(READ_CONCURRENCY, selections.length) },
36992
+ async () => {
36993
+ while (!controller.signal.aborted && nextIndex < selections.length) {
36994
+ const index = nextIndex++;
36995
+ workspaces[index] = await readMember(selections[index]);
36996
+ }
36997
+ }
36998
+ )
36999
+ );
37000
+ if (!controller.signal.aborted) {
37001
+ addDaemonRequestAttribute(
37002
+ "qwen-code.daemon.session_catalog.members",
37003
+ workspaces.length
37004
+ );
37005
+ addDaemonRequestAttribute(
37006
+ "qwen-code.daemon.session_catalog.truncated",
37007
+ workspaces.some(
37008
+ (member) => "truncated" in member && member.truncated === true
37009
+ )
37010
+ );
37011
+ res.status(200).json({ workspaces });
37012
+ }
37013
+ } finally {
37014
+ req.off("aborted", abort);
37015
+ res.off("close", onClose);
37016
+ }
37017
+ });
37018
+ }
37019
+ __name(registerSessionCatalogRoutes, "registerSessionCatalogRoutes");
37020
+
36790
37021
  // packages/cli/src/serve/routes/session-pr-backfill.ts
36791
37022
  init_esbuild_shims();
36792
37023
  import { existsSync } from "node:fs";
@@ -50570,7 +50801,102 @@ init_esbuild_shims();
50570
50801
 
50571
50802
  // packages/cli/src/serve/live/live-host-coordinator.ts
50572
50803
  init_esbuild_shims();
50573
- import { randomUUID as randomUUID11, timingSafeEqual as timingSafeEqual2 } from "node:crypto";
50804
+ import { randomUUID as randomUUID12, timingSafeEqual as timingSafeEqual2 } from "node:crypto";
50805
+
50806
+ // packages/cli/src/serve/live/visual-capture-store.ts
50807
+ init_esbuild_shims();
50808
+ import { lstat as lstat2, mkdir as mkdir2, readdir as readdir4, unlink as unlink2, writeFile as writeFile2 } from "node:fs/promises";
50809
+ import { randomUUID as randomUUID11 } from "node:crypto";
50810
+ import { tmpdir as tmpdir2 } from "node:os";
50811
+ import { join as join14 } from "node:path";
50812
+ var CAPTURE_FILE_TTL_MS = 6e4;
50813
+ var STALE_CAPTURE_AGE_MS = 5 * 6e4;
50814
+ var CHECKS_POSIX_MODE = process.platform !== "win32";
50815
+ var SHUTTING_DOWN = "The Live capture store is shutting down.";
50816
+ var LiveVisualCaptureStore = class {
50817
+ constructor(captureDirectory = join14(tmpdir2(), "qwen-live-appshot")) {
50818
+ this.captureDirectory = captureDirectory;
50819
+ }
50820
+ static {
50821
+ __name(this, "LiveVisualCaptureStore");
50822
+ }
50823
+ cleanupTimers = /* @__PURE__ */ new Map();
50824
+ disposed = false;
50825
+ /**
50826
+ * Writes an already validated JPEG and returns its path. The caller is the
50827
+ * only source of the file name, so a Host cannot steer the write.
50828
+ */
50829
+ async store(image) {
50830
+ if (this.disposed) throw new Error(SHUTTING_DOWN);
50831
+ await this.prepareCaptureDirectory();
50832
+ const path22 = join14(this.captureDirectory, `${randomUUID11()}.jpg`);
50833
+ await this.writePrivateCapture(path22, image);
50834
+ if (this.disposed) {
50835
+ await unlink2(path22).catch(() => void 0);
50836
+ throw new Error(SHUTTING_DOWN);
50837
+ }
50838
+ this.scheduleCleanup(path22);
50839
+ return path22;
50840
+ }
50841
+ dispose() {
50842
+ this.disposed = true;
50843
+ for (const [timer, path22] of this.cleanupTimers) {
50844
+ clearTimeout(timer);
50845
+ void unlink2(path22).catch(() => void 0);
50846
+ }
50847
+ this.cleanupTimers.clear();
50848
+ }
50849
+ scheduleCleanup(path22) {
50850
+ const timer = setTimeout(() => {
50851
+ this.cleanupTimers.delete(timer);
50852
+ void unlink2(path22).catch(() => void 0);
50853
+ }, CAPTURE_FILE_TTL_MS);
50854
+ timer.unref?.();
50855
+ this.cleanupTimers.set(timer, path22);
50856
+ }
50857
+ async prepareCaptureDirectory() {
50858
+ await mkdir2(this.captureDirectory, { recursive: true, mode: 448 });
50859
+ const directoryStat = await lstat2(this.captureDirectory);
50860
+ if (!directoryStat.isDirectory() || directoryStat.isSymbolicLink() || CHECKS_POSIX_MODE && (directoryStat.mode & 63) !== 0) {
50861
+ throw new Error("The Live capture directory is not private.");
50862
+ }
50863
+ await this.removeStaleCaptures();
50864
+ }
50865
+ async writePrivateCapture(path22, image) {
50866
+ try {
50867
+ await writeFile2(path22, image, { flag: "wx", mode: 384 });
50868
+ const stat3 = await lstat2(path22);
50869
+ if (!stat3.isFile() || stat3.isSymbolicLink() || stat3.size !== image.byteLength || CHECKS_POSIX_MODE && (stat3.mode & 63) !== 0) {
50870
+ throw new Error("The Live capture file is not private.");
50871
+ }
50872
+ } catch (error2) {
50873
+ await unlink2(path22).catch(() => void 0);
50874
+ throw error2;
50875
+ }
50876
+ }
50877
+ async removeStaleCaptures() {
50878
+ let entries;
50879
+ try {
50880
+ entries = await readdir4(this.captureDirectory, { withFileTypes: true });
50881
+ } catch {
50882
+ return;
50883
+ }
50884
+ const cutoff = Date.now() - STALE_CAPTURE_AGE_MS;
50885
+ await Promise.all(
50886
+ entries.map(async (entry) => {
50887
+ if (!entry.isFile()) return;
50888
+ const path22 = join14(this.captureDirectory, entry.name);
50889
+ try {
50890
+ const stat3 = await lstat2(path22);
50891
+ if (stat3.isFile() && stat3.mtimeMs < cutoff) await unlink2(path22);
50892
+ } catch {
50893
+ }
50894
+ })
50895
+ );
50896
+ }
50897
+ };
50898
+
50899
+ // packages/cli/src/serve/live/live-host-coordinator.ts
50574
50900
  var DEFAULT_HELLO_TIMEOUT_MS = 5e3;
50575
50901
  var DEFAULT_HEARTBEAT_INTERVAL_MS = 5e3;
50576
50902
  var DEFAULT_HEARTBEAT_TIMEOUT_MS = 15e3;
@@ -50616,7 +50942,9 @@ var LiveUnavailableError = class extends Error {
50616
50942
  };
50617
50943
  var LiveBrowserHostUnsupportedError = class extends Error {
50618
50944
  constructor(feature) {
50619
- super("Screen capture is unavailable in browser Live sessions.");
50945
+ super(
50946
+ feature === "camera" ? "Camera capture is unavailable in browser Live sessions." : "This browser cannot share a screen with Live Voice."
50947
+ );
50620
50948
  this.feature = feature;
50621
50949
  this.name = "LiveBrowserHostUnsupportedError";
50622
50950
  }
@@ -50670,7 +50998,10 @@ function parseBrowserHello(value) {
50670
50998
  audioInput: selfChecks["audioInput"],
50671
50999
  audioOutput: selfChecks["audioOutput"],
50672
51000
  globalShortcut: false,
50673
- appshot: false
51001
+ appshot: false,
51002
+ // Absent on a Host that predates the field, which then never gets asked
51003
+ // for a screen.
51004
+ screenShare: selfChecks["screenShare"] === true
50674
51005
  }
50675
51006
  };
50676
51007
  }
@@ -50753,7 +51084,10 @@ function parseVisualCaptureResult(value) {
50753
51084
  }
50754
51085
  const width = value["width"];
50755
51086
  const height = value["height"];
50756
- if (value["success"] !== true || value["source"] !== "screen" || !isBoundedVisualImage(value["image"]) || typeof width !== "number" || !Number.isSafeInteger(width) || width <= 0 || typeof height !== "number" || !Number.isSafeInteger(height) || height <= 0 || !isBoundedString(value["appName"], 512) || value["windowTitle"] !== void 0 && !isBoundedString(value["windowTitle"], 2048) || typeof value["accessibilityText"] !== "string" || value["accessibilityText"].length > MAX_APPSHOT_TEXT_LENGTH || !isBoundedString(value["screenshotPath"], 4096)) {
51087
+ if (value["success"] !== true || value["source"] !== "screen" || !isBoundedVisualImage(value["image"]) || typeof width !== "number" || !Number.isSafeInteger(width) || width <= 0 || typeof height !== "number" || !Number.isSafeInteger(height) || height <= 0 || !isBoundedString(value["appName"], 512) || value["windowTitle"] !== void 0 && !isBoundedString(value["windowTitle"], 2048) || typeof value["accessibilityText"] !== "string" || value["accessibilityText"].length > MAX_APPSHOT_TEXT_LENGTH || // A browser Host has no filesystem on this machine and sends no path; the
51088
+ // daemon persists the image itself. Which Hosts may omit it is decided in
51089
+ // `handleVisualCaptureResult`, where the lease kind is known.
51090
+ value["screenshotPath"] !== void 0 && !isBoundedString(value["screenshotPath"], 4096)) {
50757
51091
  return void 0;
50758
51092
  }
50759
51093
  return {
@@ -50767,7 +51101,7 @@ function parseVisualCaptureResult(value) {
50767
51101
  appName: value["appName"],
50768
51102
  ...value["windowTitle"] ? { windowTitle: value["windowTitle"] } : {},
50769
51103
  accessibilityText: value["accessibilityText"],
50770
- screenshotPath: value["screenshotPath"]
51104
+ ...value["screenshotPath"] !== void 0 ? { screenshotPath: value["screenshotPath"] } : {}
50771
51105
  };
50772
51106
  }
50773
51107
  __name(parseVisualCaptureResult, "parseVisualCaptureResult");
@@ -50848,13 +51182,14 @@ __name(projectStatusForHost, "projectStatusForHost");
50848
51182
  var LiveHostCoordinator = class {
50849
51183
  constructor(options) {
50850
51184
  this.options = options;
50851
- this.daemonInstanceNonce = options.daemonInstanceNonce ?? randomUUID11();
51185
+ this.daemonInstanceNonce = options.daemonInstanceNonce ?? randomUUID12();
50852
51186
  this.handlers = options.handlers ?? {};
50853
51187
  this.now = options.now ?? Date.now;
50854
51188
  this.helloTimeoutMs = options.helloTimeoutMs ?? DEFAULT_HELLO_TIMEOUT_MS;
50855
51189
  this.heartbeatIntervalMs = options.heartbeatIntervalMs ?? DEFAULT_HEARTBEAT_INTERVAL_MS;
50856
51190
  this.heartbeatTimeoutMs = options.heartbeatTimeoutMs ?? DEFAULT_HEARTBEAT_TIMEOUT_MS;
50857
51191
  this.appshotTimeoutMs = options.appshotTimeoutMs ?? DEFAULT_APPSHOT_TIMEOUT_MS;
51192
+ this.visualCaptures = options.visualCaptures ?? new LiveVisualCaptureStore();
50858
51193
  const shortcut = options.shortcut?.trim();
50859
51194
  this.shortcut = shortcut && shortcut.length <= MAX_SHORTCUT_LENGTH ? shortcut : DEFAULT_SHORTCUT;
50860
51195
  }
@@ -50887,6 +51222,7 @@ var LiveHostCoordinator = class {
50887
51222
  outputMuted = false;
50888
51223
  lastCallError;
50889
51224
  pendingAppshots = /* @__PURE__ */ new Map();
51225
+ visualCaptures;
50890
51226
  pendingShortcut;
50891
51227
  inactiveWaiters = /* @__PURE__ */ new Set();
50892
51228
  setHandlers(handlers) {
@@ -51087,7 +51423,7 @@ var LiveHostCoordinator = class {
51087
51423
  startCall(mode) {
51088
51424
  const call = {
51089
51425
  epoch: ++this.nextEpoch,
51090
- callId: randomUUID11(),
51426
+ callId: randomUUID12(),
51091
51427
  mode,
51092
51428
  state: "starting",
51093
51429
  pendingPermission: false,
@@ -51150,7 +51486,7 @@ var LiveHostCoordinator = class {
51150
51486
  if (host.kind === "browser") {
51151
51487
  return Promise.resolve(this.setConfiguredShortcut(normalized));
51152
51488
  }
51153
- const requestId = randomUUID11();
51489
+ const requestId = randomUUID12();
51154
51490
  return new Promise((resolve10, reject) => {
51155
51491
  const timer = setTimeout(() => {
51156
51492
  this.rejectPendingShortcut(
@@ -51233,17 +51569,22 @@ var LiveHostCoordinator = class {
51233
51569
  captureVisualContext(callerSessionId) {
51234
51570
  const call = this.call;
51235
51571
  const host = this.host;
51236
- if (host?.kind === "browser") {
51572
+ const browser = host?.kind === "browser";
51573
+ if (browser && host?.hello && !host.hello.selfChecks.screenShare) {
51237
51574
  return Promise.reject(new LiveBrowserHostUnsupportedError("screen"));
51238
51575
  }
51239
- if (!call || call.coordinator?.sessionId !== callerSessionId || !host?.hello || !this.isLeaseHealthy(host) || host.hello.permissions.accessibility !== "granted" || host.hello.permissions.screenRecording !== "granted" || !host.hello.selfChecks.appshot) {
51576
+ if (!call || call.coordinator?.sessionId !== callerSessionId || !host?.hello || !this.isLeaseHealthy(host) || // Accessibility, Screen Recording and the Appshot self-check describe the
51577
+ // native Host's macOS surface. A browser has none of them: the user's own
51578
+ // grant is the screen it chose to share, and it reports that it can be
51579
+ // asked through `selfChecks.screenShare`.
51580
+ !browser && (host.hello.permissions.accessibility !== "granted" || host.hello.permissions.screenRecording !== "granted" || !host.hello.selfChecks.appshot)) {
51240
51581
  return Promise.reject(
51241
51582
  new Error(
51242
51583
  "Appshot is available only to the active Live session with a ready Host."
51243
51584
  )
51244
51585
  );
51245
51586
  }
51246
- const requestId = randomUUID11();
51587
+ const requestId = randomUUID12();
51247
51588
  return new Promise((resolve10, reject) => {
51248
51589
  const timer = setTimeout(() => {
51249
51590
  this.pendingAppshots.delete(requestId);
@@ -51332,6 +51673,7 @@ var LiveHostCoordinator = class {
51332
51673
  }
51333
51674
  this.rejectPendingAppshots(new Error("Live Voice is shutting down."));
51334
51675
  this.rejectPendingShortcut(new Error("Live Voice is shutting down."));
51676
+ this.visualCaptures.dispose();
51335
51677
  this.notifyInactive();
51336
51678
  }
51337
51679
  readProviderReadiness() {
@@ -51431,7 +51773,7 @@ var LiveHostCoordinator = class {
51431
51773
  return;
51432
51774
  }
51433
51775
  if (message.type === "host.visual_capture_result") {
51434
- this.handleVisualCaptureResult(message);
51776
+ this.handleVisualCaptureResult(lease, message);
51435
51777
  return;
51436
51778
  }
51437
51779
  if (message.type === "host.shortcut_result") {
@@ -51467,7 +51809,7 @@ var LiveHostCoordinator = class {
51467
51809
  this.sendState(status);
51468
51810
  pending.resolve(status);
51469
51811
  }
51470
- handleVisualCaptureResult(message) {
51812
+ handleVisualCaptureResult(lease, message) {
51471
51813
  const pending = this.pendingAppshots.get(message.requestId);
51472
51814
  if (!pending) return;
51473
51815
  const call = this.call;
@@ -51490,18 +51832,29 @@ var LiveHostCoordinator = class {
51490
51832
  );
51491
51833
  return;
51492
51834
  }
51835
+ const describe = /* @__PURE__ */ __name((screenshotPath) => ({
51836
+ appName: message.appName,
51837
+ ...message.windowTitle ? { windowTitle: message.windowTitle } : {},
51838
+ accessibilityText: message.accessibilityText,
51839
+ screenshotPath
51840
+ }), "describe");
51841
+ if (lease.kind === "browser") {
51842
+ this.visualCaptures.store(Buffer.from(message.image, "base64")).then((screenshotPath) => pending.resolve(describe(screenshotPath))).catch(
51843
+ (error2) => pending.reject(
51844
+ new Error(
51845
+ `The shared screen could not be saved: ${getErrorMessage2(error2)}`
51846
+ )
51847
+ )
51848
+ );
51849
+ return;
51850
+ }
51493
51851
  if (!message.screenshotPath) {
51494
51852
  pending.reject(
51495
51853
  new Error("Qwen Live Host did not persist the requested Appshot.")
51496
51854
  );
51497
51855
  return;
51498
51856
  }
51499
- pending.resolve({
51500
- appName: message.appName,
51501
- ...message.windowTitle ? { windowTitle: message.windowTitle } : {},
51502
- accessibilityText: message.accessibilityText,
51503
- screenshotPath: message.screenshotPath
51504
- });
51857
+ pending.resolve(describe(message.screenshotPath));
51505
51858
  }
51506
51859
  handleHello(lease, hello) {
51507
51860
  if (hello.protocolVersion !== LIVE_HOST_PROTOCOL_VERSION || hello.bundleId !== (lease.kind === "browser" ? LIVE_WEB_HOST_BUNDLE_ID : LIVE_HOST_BUNDLE_ID) || hello.kind !== void 0 && hello.kind !== lease.kind || lease.hello && lease.hello.instanceNonce !== hello.instanceNonce) {
@@ -51612,7 +51965,7 @@ var LiveHostCoordinator = class {
51612
51965
  this.disconnectHost(lease, 4008, "Live Host heartbeat timed out.");
51613
51966
  return;
51614
51967
  }
51615
- const pingId = randomUUID11();
51968
+ const pingId = randomUUID12();
51616
51969
  lease.pingId = pingId;
51617
51970
  this.sendHost({ type: "host.ping", pingId });
51618
51971
  }
@@ -51886,7 +52239,7 @@ init_esbuild_shims();
51886
52239
 
51887
52240
  // packages/cli/src/serve/live/live-setup-controller.ts
51888
52241
  init_esbuild_shims();
51889
- import { randomUUID as randomUUID13 } from "node:crypto";
52242
+ import { randomUUID as randomUUID14 } from "node:crypto";
51890
52243
 
51891
52244
  // packages/cli/src/serve/live/provider-credentials.ts
51892
52245
  init_esbuild_shims();
@@ -52080,7 +52433,7 @@ __name(resolveLiveProviderCredential, "resolveLiveProviderCredential");
52080
52433
 
52081
52434
  // packages/cli/src/serve/live/qwen-realtime-session.ts
52082
52435
  init_esbuild_shims();
52083
- import { randomUUID as randomUUID12 } from "node:crypto";
52436
+ import { randomUUID as randomUUID13 } from "node:crypto";
52084
52437
  var QWEN_REALTIME_LIMITS = {
52085
52438
  maxInputAudioFrameBytes: 64 * 1024,
52086
52439
  maxOutputAudioFrameBytes: 256 * 1024,
@@ -52495,7 +52848,7 @@ function openQwenRealtimeSession(config, callbacks = {}, deps = {}) {
52495
52848
  const sendJson = /* @__PURE__ */ __name((body) => {
52496
52849
  if (terminal || closedByClient || ws.readyState !== ws.OPEN) return false;
52497
52850
  try {
52498
- ws.send(JSON.stringify({ event_id: randomUUID12(), ...body }));
52851
+ ws.send(JSON.stringify({ event_id: randomUUID13(), ...body }));
52499
52852
  return true;
52500
52853
  } catch (error2) {
52501
52854
  fail(
@@ -53858,7 +54211,7 @@ async function validateCredential(credential) {
53858
54211
  apiKey: credential.apiKey,
53859
54212
  model: credential.realtimeModel,
53860
54213
  voice: credential.voice,
53861
- callEpoch: `setup-${randomUUID13()}`
54214
+ callEpoch: `setup-${randomUUID14()}`
53862
54215
  });
53863
54216
  session.close({ discardPendingInput: true });
53864
54217
  }
@@ -54281,7 +54634,7 @@ __name(registerLiveSetupRoutes, "registerLiveSetupRoutes");
54281
54634
  // packages/cli/src/serve/live/live-host-installer.ts
54282
54635
  init_esbuild_shims();
54283
54636
  import { execFile as execFile2 } from "node:child_process";
54284
- import { createHash as createHash4, randomUUID as randomUUID14 } from "node:crypto";
54637
+ import { createHash as createHash4, randomUUID as randomUUID15 } from "node:crypto";
54285
54638
  import * as fs11 from "node:fs";
54286
54639
  import * as fsp5 from "node:fs/promises";
54287
54640
  import * as os3 from "node:os";
@@ -54524,8 +54877,8 @@ async function installLatestHost(currentArchitecture, onStatus) {
54524
54877
  const archivePath = path19.join(temporaryDirectory, "Qwen-Live-Host.zip");
54525
54878
  const extractedPath = path19.join(temporaryDirectory, "extracted");
54526
54879
  const candidatePath = path19.join(extractedPath, LIVE_HOST_APP_NAME);
54527
- const stagingPath = `/Applications/.Qwen Live Host.install-${randomUUID14()}.app`;
54528
- const backupPath = `/Applications/.Qwen Live Host.backup-${randomUUID14()}.app`;
54880
+ const stagingPath = `/Applications/.Qwen Live Host.install-${randomUUID15()}.app`;
54881
+ const backupPath = `/Applications/.Qwen Live Host.backup-${randomUUID15()}.app`;
54529
54882
  let movedExisting = false;
54530
54883
  let installedCandidate = false;
54531
54884
  try {
@@ -54682,15 +55035,15 @@ var LiveHostInstaller = class {
54682
55035
 
54683
55036
  // packages/cli/src/serve/live/live-session-coordinator.ts
54684
55037
  init_esbuild_shims();
54685
- import { createHash as createHash5, randomUUID as randomUUID15 } from "node:crypto";
55038
+ import { createHash as createHash5, randomUUID as randomUUID16 } from "node:crypto";
54686
55039
  import { createWriteStream as createWriteStream2, mkdirSync as mkdirSync2 } from "node:fs";
54687
- import { join as join16 } from "node:path";
55040
+ import { join as join17 } from "node:path";
54688
55041
 
54689
55042
  // packages/cli/src/serve/live/realtime-startup-context.ts
54690
55043
  init_esbuild_shims();
54691
55044
  import { readdirSync } from "node:fs";
54692
55045
  import { homedir as homedir2 } from "node:os";
54693
- import { basename as basename9, join as join15 } from "node:path";
55046
+ import { basename as basename9, join as join16 } from "node:path";
54694
55047
  var STARTUP_CONTEXT_HEADER = "Startup context from Qwen Code.\nThis is background context about recent work and machine/workspace layout. It may be incomplete or stale. Use it to inform responses, and do not repeat it back unless relevant.";
54695
55048
  var CURRENT_THREAD_SECTION_TOKEN_BUDGET = 1200;
54696
55049
  var RECENT_WORK_SECTION_TOKEN_BUDGET = 2200;
@@ -54932,7 +55285,7 @@ function collectTreeLines(directory, depth, lines) {
54932
55285
  const indent = " ".repeat(depth);
54933
55286
  lines.push(`${indent}- ${entry.name}${entry.isDirectory() ? "/" : ""}`);
54934
55287
  if (entry.isDirectory()) {
54935
- collectTreeLines(join15(directory, entry.name), depth + 1, lines);
55288
+ collectTreeLines(join16(directory, entry.name), depth + 1, lines);
54936
55289
  }
54937
55290
  }
54938
55291
  if (entries.length > DIR_ENTRY_LIMIT) {
@@ -55051,7 +55404,7 @@ function openLiveAudioCapture(source, identifier) {
55051
55404
  try {
55052
55405
  mkdirSync2(directory, { recursive: true, mode: 448 });
55053
55406
  const safeIdentifier = identifier.replace(/[^A-Za-z0-9_-]/g, "_");
55054
- const path22 = join16(
55407
+ const path22 = join17(
55055
55408
  directory,
55056
55409
  `${source}-${Date.now()}-${safeIdentifier}.pcm`
55057
55410
  );
@@ -55108,9 +55461,7 @@ function createDelegateAdmission() {
55108
55461
  }
55109
55462
  __name(createDelegateAdmission, "createDelegateAdmission");
55110
55463
  function errorMessage3(error2) {
55111
- return stripTerminalControlSequences(
55112
- error2 instanceof Error ? error2.message : String(error2)
55113
- ).slice(0, 500);
55464
+ return stripTerminalControlSequences(getErrorMessage2(error2)).slice(0, 500);
55114
55465
  }
55115
55466
  __name(errorMessage3, "errorMessage");
55116
55467
  function providerFailureBlocker(error2) {
@@ -55418,7 +55769,7 @@ var LiveSessionCoordinator = class {
55418
55769
  context.speechInProgress = true;
55419
55770
  context.inputCommitPending = true;
55420
55771
  context.inputAwaitingResponse = false;
55421
- const partialItemId = itemId ?? `partial:${randomUUID15()}`;
55772
+ const partialItemId = itemId ?? `partial:${randomUUID16()}`;
55422
55773
  context.activePartialInputItemId = partialItemId;
55423
55774
  if (!context.partialInputTranscripts.has(partialItemId)) {
55424
55775
  context.partialInputTranscripts.set(partialItemId, "");
@@ -55448,7 +55799,7 @@ var LiveSessionCoordinator = class {
55448
55799
  }, "onInputCommitted"),
55449
55800
  onInputTranscriptDelta: /* @__PURE__ */ __name(({ itemId, text }) => {
55450
55801
  if (this.isCurrentSocket(context, generation)) {
55451
- const partialItemId = itemId ?? context.activePartialInputItemId ?? `partial:${randomUUID15()}`;
55802
+ const partialItemId = itemId ?? context.activePartialInputItemId ?? `partial:${randomUUID16()}`;
55452
55803
  context.activePartialInputItemId = partialItemId;
55453
55804
  context.partialInputTranscripts.set(partialItemId, text);
55454
55805
  this.options.host.setTranscript?.(context.epoch, text);
@@ -55458,7 +55809,7 @@ var LiveSessionCoordinator = class {
55458
55809
  if (this.isCurrentSocket(context, generation)) {
55459
55810
  context.speechInProgress = false;
55460
55811
  context.inputCommitPending = false;
55461
- const completedItemId = itemId ?? context.activePartialInputItemId ?? `unattributed:${randomUUID15()}`;
55812
+ const completedItemId = itemId ?? context.activePartialInputItemId ?? `unattributed:${randomUUID16()}`;
55462
55813
  context.partialInputTranscripts.delete(completedItemId);
55463
55814
  if (context.activePartialInputItemId === completedItemId) {
55464
55815
  context.activePartialInputItemId = void 0;
@@ -56190,7 +56541,7 @@ var LiveSessionCoordinator = class {
56190
56541
  const runtime = context.runtime;
56191
56542
  if (!runtime) throw new Error("Conversation workspace is unavailable.");
56192
56543
  const bridge = runtime.bridge;
56193
- const promptId = randomUUID15();
56544
+ const promptId = randomUUID16();
56194
56545
  const lastEventId = bridge.getSessionLastEventId(locator.sessionId);
56195
56546
  const turnAbort = new AbortController();
56196
56547
  this.inFlightTurnAborts.add(turnAbort);
@@ -56512,7 +56863,7 @@ ${text}`) : text;
56512
56863
 
56513
56864
  // packages/cli/src/serve/live/live-task-service.ts
56514
56865
  init_esbuild_shims();
56515
- import { randomUUID as randomUUID16 } from "node:crypto";
56866
+ import { randomUUID as randomUUID17 } from "node:crypto";
56516
56867
  var DEFAULT_LIST_LIMIT = 20;
56517
56868
  var DEFAULT_READ_TURN_LIMIT = 3;
56518
56869
  var DEFAULT_WAIT_TIMEOUT_MS = 12e4;
@@ -57209,7 +57560,7 @@ var LiveTaskService = class {
57209
57560
  const record = target;
57210
57561
  if (record["type"] === "projectless") {
57211
57562
  const created = await this.getStandaloneSessionService().createWithInitialPrompt(
57212
- { sessionId: randomUUID16() },
57563
+ { sessionId: randomUUID17() },
57213
57564
  prompt
57214
57565
  );
57215
57566
  return {
@@ -57261,7 +57612,7 @@ var LiveTaskService = class {
57261
57612
  { sessionId, prompt: [{ type: "text", text: prompt }] },
57262
57613
  void 0,
57263
57614
  {
57264
- promptId: randomUUID16(),
57615
+ promptId: randomUUID17(),
57265
57616
  onPromptAdmitted: /* @__PURE__ */ __name(() => {
57266
57617
  admitted = true;
57267
57618
  onAdmitted?.();
@@ -59613,6 +59964,7 @@ function createServeApp(opts, getPort = () => opts.port, deps = {}) {
59613
59964
  });
59614
59965
  const virtualSubagentSessions = new VirtualSubagentSessions();
59615
59966
  const liveConversationWorkspaceForRoutes = deps.liveConversationWorkspace;
59967
+ registerSessionCatalogRoutes(app, workspaceRegistry);
59616
59968
  registerSessionRoutes(app, {
59617
59969
  boundWorkspace: primaryBoundWorkspace,
59618
59970
  bridge: primaryBridge,