@qwen-code/qwen-code 0.22.2-preview.1 → 0.22.3

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 (437) hide show
  1. package/bundled/computer-use/SKILL.md +3 -3
  2. package/bundled/goal-draft/SKILL.md +109 -0
  3. package/bundled/qc-helper/docs/configuration/settings.md +37 -36
  4. package/bundled/qc-helper/docs/features/_meta.ts +1 -0
  5. package/bundled/qc-helper/docs/features/channels/dws.md +2 -0
  6. package/bundled/qc-helper/docs/features/channels/overview.md +34 -3
  7. package/bundled/qc-helper/docs/features/code-review.md +3 -3
  8. package/bundled/qc-helper/docs/features/commands.md +2 -1
  9. package/bundled/qc-helper/docs/features/computer-use.md +2 -2
  10. package/bundled/qc-helper/docs/features/goals.md +58 -0
  11. package/bundled/qc-helper/docs/features/headless.md +13 -11
  12. package/bundled/qc-helper/docs/features/status-line.md +3 -3
  13. package/bundled/qc-helper/docs/features/tool-use-summaries.md +1 -1
  14. package/bundled/qc-helper/docs/qwen-serve.md +1 -1
  15. package/bundled/review/SKILL.md +81 -31
  16. package/bundled/review/references/persistence.md +7 -3
  17. package/bundled/review/references/posting.md +10 -4
  18. package/chunks/MaxSizedBox-X42SXBJH.js +110 -0
  19. package/chunks/{StandaloneSessionPicker-5D2L22SF.js → StandaloneSessionPicker-2FJAOLGG.js} +81 -83
  20. package/chunks/{acpAgent-4DCKLA32.js → acpAgent-2ZMIJAFV.js} +1153 -357
  21. package/chunks/{agent-B4AFZL6H.js → agent-X5WX3L2I.js} +44 -46
  22. package/chunks/agent-headless-IZM25LJA.js +85 -0
  23. package/chunks/{anthropicContentGenerator-U76GTVB6.js → anthropicContentGenerator-YVTB6QX7.js} +46 -50
  24. package/chunks/{artifact-tool-XDJCZZCF.js → artifact-tool-XSMPHZBT.js} +11 -3
  25. package/chunks/{askUserQuestion-ZXXERLEV.js → askUserQuestion-4SWJY65V.js} +2 -2
  26. package/chunks/bridge-ME6QXZNA.js +119 -0
  27. package/chunks/{channel-management-service-HXXS3HOZ.js → channel-management-service-HQ6KDS7C.js} +6 -6
  28. package/chunks/channel-settings-store-PEOI7XCG.js +120 -0
  29. package/chunks/{channel-worker-group-EVDC2P4K.js → channel-worker-group-6NA6BBZV.js} +8 -7
  30. package/chunks/{channel-worker-manager-IJJZHGEI.js → channel-worker-manager-NEZ2J6RK.js} +10 -8
  31. package/chunks/{channel-worker-supervisor-YSKB5GVB.js → channel-worker-supervisor-FKU7DIHJ.js} +6 -5
  32. package/chunks/{chunk-7QGEJI7M.js → chunk-23RFD54N.js} +1 -1
  33. package/chunks/{chunk-JLU3FPQR.js → chunk-2HYKTO7V.js} +5 -5
  34. package/chunks/chunk-2LNNVAUV.js +1584 -0
  35. package/chunks/{chunk-FJAITR4L.js → chunk-2OBKDPZZ.js} +2 -2
  36. package/chunks/{chunk-JSY43GMI.js → chunk-2OUD5T67.js} +185 -174
  37. package/chunks/{chunk-LJP2BBMK.js → chunk-2SXSLSQE.js} +4 -4
  38. package/chunks/chunk-2TNL5KPM.js +49 -0
  39. package/chunks/{chunk-XMSMTU6H.js → chunk-2YOHKHYR.js} +4 -4
  40. package/chunks/{chunk-MCKJTBZN.js → chunk-36GSQ3MM.js} +2 -2
  41. package/chunks/chunk-36LGBEM6.js +130 -0
  42. package/chunks/{chunk-ZWKGZB2K.js → chunk-3JXM2CVW.js} +3 -3
  43. package/chunks/{chunk-X3XGCJ32.js → chunk-3SZC4VP4.js} +28 -111
  44. package/chunks/{chunk-ILPXSKGQ.js → chunk-3WK3QDNV.js} +2 -2
  45. package/chunks/{chunk-IKN3IUJP.js → chunk-3XKLXHGK.js} +17 -9
  46. package/chunks/{chunk-ZLTEQYNC.js → chunk-42IDLQWS.js} +26 -20
  47. package/chunks/chunk-4CMJKUND.js +95 -0
  48. package/chunks/{chunk-77TOMRBG.js → chunk-4K7KNVWH.js} +3 -3
  49. package/chunks/{chunk-SQPOJ4ZI.js → chunk-4NDLQAY2.js} +27 -270
  50. package/chunks/{chunk-V3GINY6K.js → chunk-4QHPPXK2.js} +16 -8
  51. package/chunks/{chunk-VBF4KZRQ.js → chunk-4TT3IVGA.js} +1 -1
  52. package/chunks/{chunk-IOGKXPL3.js → chunk-4VPCTGH6.js} +6 -6
  53. package/chunks/chunk-4VQBQLIZ.js +293 -0
  54. package/chunks/{chunk-UCSV2IZW.js → chunk-62GQFYID.js} +3 -3
  55. package/chunks/{chunk-SLEWBQWM.js → chunk-6DIGWMGT.js} +2 -2
  56. package/chunks/{chunk-BRVWYMKV.js → chunk-6MBXY6WM.js} +1 -1
  57. package/chunks/{chunk-PVBT5QPD.js → chunk-6PJOTWAN.js} +1 -1
  58. package/chunks/{chunk-WZ3QKPMQ.js → chunk-6X7EU5TI.js} +19 -31
  59. package/chunks/{chunk-KQYW2GB5.js → chunk-6ZPDLGHN.js} +6 -6
  60. package/chunks/{chunk-AKQA3WCH.js → chunk-734C6JGI.js} +723 -3399
  61. package/chunks/{chunk-F7M6ZFGU.js → chunk-73RM4POK.js} +8 -8
  62. package/chunks/{chunk-ELY4QVIB.js → chunk-7EQQR46F.js} +1 -1
  63. package/chunks/{chunk-KGJGEEVR.js → chunk-7FA2II6K.js} +10 -1
  64. package/chunks/chunk-7J6OTNGO.js +424 -0
  65. package/chunks/{chunk-LWLEPXKK.js → chunk-7LOELM2I.js} +19 -2
  66. package/chunks/{chunk-DIMEPKCW.js → chunk-7S226YTK.js} +1 -1
  67. package/chunks/{chunk-AWFZDYSD.js → chunk-7T52W4SW.js} +1 -1
  68. package/chunks/{chunk-3JKUX4PB.js → chunk-7VMIMAVB.js} +9 -9
  69. package/chunks/{chunk-2MHGD7EE.js → chunk-A3LWD5MK.js} +1 -1
  70. package/chunks/{chunk-E4I5MVBR.js → chunk-ABS25QER.js} +1 -1
  71. package/chunks/{chunk-TDQBVEPK.js → chunk-AIAOIFY4.js} +10 -8
  72. package/chunks/{chunk-NEZZHGEI.js → chunk-AYFA7MZV.js} +6 -6
  73. package/chunks/{chunk-FVDQ5E67.js → chunk-B466ZSHZ.js} +3 -3
  74. package/chunks/{chunk-6US7BF3G.js → chunk-B5PHIJGI.js} +183 -5
  75. package/chunks/{chunk-4TPAG3O7.js → chunk-BFPESSTR.js} +1 -1
  76. package/chunks/{chunk-WBT3STGU.js → chunk-BKWNKLZB.js} +20 -20
  77. package/chunks/{chunk-T45CL2NT.js → chunk-BOWFGCEU.js} +3 -3
  78. package/chunks/{chunk-IPQA4SR5.js → chunk-BWORX6FA.js} +1 -1
  79. package/chunks/{chunk-BKDAF7ES.js → chunk-BXDAPVQU.js} +2 -2
  80. package/chunks/{chunk-ZEADBZLO.js → chunk-C2X7KY45.js} +3 -3
  81. package/chunks/{chunk-PTQF7WRA.js → chunk-C3PEFRKD.js} +6 -6
  82. package/chunks/{chunk-7OBH4AM2.js → chunk-CAJTKR6W.js} +5 -5
  83. package/chunks/{chunk-2FN2HNTI.js → chunk-CFJY4DGX.js} +2 -2
  84. package/chunks/{chunk-SUE2ZMUH.js → chunk-CIZCL2MW.js} +49 -31
  85. package/chunks/{chunk-W2WRNJKX.js → chunk-CLWO3B77.js} +6 -6
  86. package/chunks/{chunk-U45D46O5.js → chunk-CMHFCLBU.js} +1 -1
  87. package/chunks/{chunk-LRKMQPMD.js → chunk-CQH5KTKC.js} +1 -1
  88. package/chunks/{chunk-JECO75XD.js → chunk-D5LUXLUH.js} +2 -2
  89. package/chunks/chunk-DJBQCO2E.js +842 -0
  90. package/chunks/{chunk-BQBUZDDH.js → chunk-DJECZIJX.js} +42 -42
  91. package/chunks/{chunk-GTUZ3R6I.js → chunk-DJEZ55D4.js} +351 -113
  92. package/chunks/{chunk-HPECDZ6X.js → chunk-DJPASAUV.js} +3866 -1077
  93. package/chunks/{chunk-VYWCFWI5.js → chunk-DMLVSW7L.js} +542 -654
  94. package/chunks/{chunk-EB4VDXNI.js → chunk-DYXFD5RO.js} +182 -3
  95. package/chunks/{chunk-ZKAZP2ZG.js → chunk-EB6QRGHM.js} +3 -3
  96. package/chunks/{chunk-UWICO5KN.js → chunk-EFWRMA2I.js} +3 -3
  97. package/chunks/{chunk-3UZCLCXR.js → chunk-EKSCLBBF.js} +3 -3
  98. package/chunks/{chunk-ALTQLFEG.js → chunk-EQSBPBZ3.js} +5 -194
  99. package/chunks/{chunk-624NHDGB.js → chunk-ERFDKH32.js} +11 -0
  100. package/chunks/{chunk-4K44OMLI.js → chunk-FROAFEFB.js} +3 -3
  101. package/chunks/{chunk-MZS7GEC7.js → chunk-FTF2YIZ5.js} +1 -1
  102. package/chunks/{chunk-Z7VOMGDC.js → chunk-FTJMWDND.js} +0 -24
  103. package/chunks/{chunk-ZJG323IA.js → chunk-G6FECKTJ.js} +7 -5
  104. package/chunks/{chunk-TMGAS5TO.js → chunk-GBJBJ4HX.js} +26 -4
  105. package/chunks/{chunk-UCQOSV6A.js → chunk-GPGU4S2N.js} +3 -3
  106. package/chunks/{chunk-BHTJAO36.js → chunk-GVIVASYK.js} +7 -7
  107. package/chunks/chunk-H72BQNM3.js +645 -0
  108. package/chunks/{chunk-Z4X5MTRT.js → chunk-HCOBAG2L.js} +2 -4
  109. package/chunks/{chunk-FCSWZAS3.js → chunk-HP5LR5HL.js} +5 -5
  110. package/chunks/{chunk-7JPW6IYH.js → chunk-HVC3PNVC.js} +1 -1
  111. package/chunks/{chunk-OI2DR6QB.js → chunk-I6LYRJPB.js} +3 -3
  112. package/chunks/{chunk-E55H6BZ7.js → chunk-ICURCKIU.js} +1335 -119
  113. package/chunks/{chunk-PAJGKZAA.js → chunk-ISKH4QX3.js} +14 -12
  114. package/chunks/{chunk-AYVIGUUK.js → chunk-JB4JIVTJ.js} +1 -1
  115. package/chunks/{chunk-FN5C6C7G.js → chunk-JHYH6PYQ.js} +192 -478
  116. package/chunks/{chunk-T6OODF2U.js → chunk-JWALNCLT.js} +1 -1
  117. package/chunks/{chunk-SKNVVYIJ.js → chunk-K5KXUXWC.js} +3 -3
  118. package/chunks/{chunk-XUX6O2ZT.js → chunk-KID24ZFN.js} +4 -1
  119. package/chunks/{chunk-I6DY753S.js → chunk-KJO2LBUK.js} +944 -18
  120. package/chunks/{chunk-5T4LWWNX.js → chunk-KYWTPLBJ.js} +18 -21
  121. package/chunks/{chunk-CZFQ62RM.js → chunk-LHBUKJG2.js} +4 -4
  122. package/chunks/{chunk-TOF4UZHH.js → chunk-LUEHOUHM.js} +3 -3
  123. package/chunks/{chunk-2YDYDDE2.js → chunk-M3QRM3DE.js} +3 -3
  124. package/chunks/{chunk-GNMJNDZE.js → chunk-M6FOJXW3.js} +1 -1
  125. package/chunks/{chunk-ZGWDHSUM.js → chunk-MF7HCQWZ.js} +4 -4
  126. package/chunks/{chunk-66GIFJ63.js → chunk-MK2GIB46.js} +1 -1
  127. package/chunks/{chunk-TFV4RXPU.js → chunk-MO3FC2WT.js} +1 -1
  128. package/chunks/{chunk-TR7G7XFQ.js → chunk-MPNBVAEU.js} +5 -5
  129. package/chunks/{chunk-K3LPAED5.js → chunk-MQM5PJML.js} +24 -4
  130. package/chunks/{chunk-3WBMPR3S.js → chunk-MSBO7X2W.js} +1 -1
  131. package/chunks/{chunk-5PA6UEYA.js → chunk-MZCJWS5Y.js} +1 -1
  132. package/chunks/{chunk-BGXZBI5B.js → chunk-N4X7G4J2.js} +2 -1
  133. package/chunks/{chunk-27ONXAFY.js → chunk-NIFYWDYN.js} +1 -1
  134. package/chunks/{chunk-AP7WZONS.js → chunk-NMOD2FXQ.js} +19 -9
  135. package/chunks/{chunk-IJVDHPKD.js → chunk-NU7RKEZR.js} +2 -2
  136. package/chunks/{chunk-5URK47RN.js → chunk-NV55WWD6.js} +11595 -10375
  137. package/chunks/{chunk-HABT2Z7R.js → chunk-OU5APVWO.js} +4 -4
  138. package/chunks/{chunk-QR4AHMGQ.js → chunk-P2G476QN.js} +13 -13
  139. package/chunks/{chunk-5SM2AK65.js → chunk-PADPMMYM.js} +5 -5
  140. package/chunks/{chunk-RRKNX553.js → chunk-PDQGMSZK.js} +1 -1
  141. package/chunks/{chunk-GTUKW3I6.js → chunk-PPKZ7JOE.js} +1 -1
  142. package/chunks/{chunk-SAH4BD2J.js → chunk-PQEISIKS.js} +67 -0
  143. package/chunks/{chunk-XIRDDFRS.js → chunk-PZ66FRIC.js} +2644 -2296
  144. package/chunks/{chunk-H3HZ4AWW.js → chunk-Q2MSPKIJ.js} +1 -1
  145. package/chunks/{chunk-WEGXPP5E.js → chunk-QFCDF5PL.js} +1 -1
  146. package/chunks/{chunk-OF2DPXUS.js → chunk-QYMAKPY5.js} +119 -24
  147. package/chunks/{chunk-JVPFTDBK.js → chunk-RFIDDFAL.js} +1 -1
  148. package/chunks/chunk-RKFGE7JH.js +93 -0
  149. package/chunks/{chunk-CPPYZHBN.js → chunk-RU7BK6B3.js} +1 -1
  150. package/chunks/chunk-SEONHUS3.js +275 -0
  151. package/chunks/{chunk-DEYPMJPD.js → chunk-SMPR7SPO.js} +1 -1
  152. package/chunks/chunk-SS4MRMKE.js +3525 -0
  153. package/chunks/{chunk-BPMVPWBT.js → chunk-SS5SDCD3.js} +6 -6
  154. package/chunks/{chunk-J3CBIEDS.js → chunk-ST5MDGH3.js} +32 -15
  155. package/chunks/{chunk-J5352S3S.js → chunk-ST5V3ZOC.js} +3 -3
  156. package/chunks/{chunk-7CWEZQ6T.js → chunk-STUJ7IMZ.js} +0 -77
  157. package/chunks/{chunk-4K7NQDCG.js → chunk-T4EFG2P5.js} +18 -9
  158. package/chunks/{chunk-TWSKM647.js → chunk-T7KMERIX.js} +1 -1
  159. package/chunks/{chunk-5CMWFBML.js → chunk-TEBDFQBZ.js} +1 -1
  160. package/chunks/{chunk-EC5BONC3.js → chunk-TPI7O7HR.js} +1 -1
  161. package/chunks/{chunk-T2CRBIDJ.js → chunk-TTX2JUE6.js} +1 -1
  162. package/chunks/{chunk-VOEMVOM4.js → chunk-TVC6HQ2U.js} +2 -2
  163. package/chunks/{chunk-WXDZZFH3.js → chunk-TZBSGJ6C.js} +6 -6
  164. package/chunks/chunk-U54AYGEC.js +337 -0
  165. package/chunks/{chunk-2NNTE2ED.js → chunk-UHQFIS7N.js} +15 -0
  166. package/chunks/{chunk-76WGY6LW.js → chunk-URE3QBBB.js} +3 -3
  167. package/chunks/{chunk-KOJ6MHD5.js → chunk-UTLCH2FK.js} +1 -1
  168. package/chunks/{chunk-7DPKPBOQ.js → chunk-V2NDP3I4.js} +2 -2
  169. package/chunks/{chunk-FJWICLG7.js → chunk-V4264FEG.js} +9 -9
  170. package/chunks/{chunk-XR7OIAQF.js → chunk-V5J4J5TP.js} +2 -2
  171. package/chunks/{chunk-7UJTY5V3.js → chunk-V7EESTJV.js} +1 -1
  172. package/chunks/{chunk-Z6L3C4VF.js → chunk-VBCPNIQD.js} +39 -39
  173. package/chunks/{chunk-ATLGYSYH.js → chunk-VGIFXISB.js} +4 -4
  174. package/chunks/{chunk-X2UOOG5V.js → chunk-VQUGEVGR.js} +1 -1
  175. package/chunks/{chunk-XJS54K4A.js → chunk-VTHREBQM.js} +2 -2
  176. package/chunks/{chunk-AA7VBRBG.js → chunk-W3JH33JE.js} +8 -8
  177. package/chunks/{chunk-FPH6TXD3.js → chunk-WAOIHTJS.js} +1 -1
  178. package/chunks/{chunk-CDUN63IN.js → chunk-WGY3AVGM.js} +3 -3
  179. package/chunks/{chunk-JLGFGPZJ.js → chunk-WNPDGUJO.js} +22 -3
  180. package/chunks/{chunk-O3BUXIPM.js → chunk-WXEA74YB.js} +3 -3
  181. package/chunks/{chunk-YRLW2MSX.js → chunk-XBVNNDPK.js} +11 -4
  182. package/chunks/{chunk-VL4YX3FH.js → chunk-XF63PKEN.js} +1 -1
  183. package/chunks/{chunk-R7G7GKOX.js → chunk-XHF7WQ6B.js} +3 -3
  184. package/chunks/{chunk-3FSBMAYD.js → chunk-XQFT3QUF.js} +1 -1
  185. package/chunks/{chunk-3D6PDLNJ.js → chunk-XSG6G3G6.js} +49 -32
  186. package/chunks/{chunk-5JCZ3UKB.js → chunk-Y5S7LBOZ.js} +44 -7
  187. package/chunks/{chunk-OLS3MAXQ.js → chunk-YLSQLSH7.js} +15 -9
  188. package/chunks/{chunk-2SERYG4T.js → chunk-YTDVNSUQ.js} +1 -1
  189. package/chunks/{chunk-KPF2K55D.js → chunk-ZEYFMJQA.js} +39 -8
  190. package/chunks/{chunk-OT4YKUUV.js → chunk-ZU4UDIWX.js} +2 -2
  191. package/chunks/chunk-ZWJDJ6RU.js +2597 -0
  192. package/chunks/{chunk-R3T33BG5.js → chunk-ZYMLPEZQ.js} +3 -3
  193. package/chunks/{chunk-DID6IRGC.js → chunk-ZZMSC3RG.js} +56 -39
  194. package/chunks/{chunk-L436XFLJ.js → chunk-ZZUKP7HV.js} +1 -1
  195. package/chunks/config-utils-R6M3TA34.js +113 -0
  196. package/chunks/contextCommand-ZCAP23J6.js +106 -0
  197. package/chunks/{core-runtime-CEJRHCRF.js → core-runtime-AXB6SK5D.js} +59 -61
  198. package/chunks/{create-sub-session-RVHSWVAP.js → create-sub-session-23ITIELI.js} +3 -3
  199. package/chunks/{create-sub-session-DFZVIG56.js → create-sub-session-4QNE64MR.js} +164 -85
  200. package/chunks/{cron-create-IJGVR5R2.js → cron-create-KJ4IY6PP.js} +57 -10
  201. package/chunks/{cron-delete-4N5BI6GL.js → cron-delete-MBLQCAYY.js} +4 -4
  202. package/chunks/{cron-list-2CATIPUX.js → cron-list-DWH2PQ47.js} +4 -4
  203. package/chunks/{daemon-NAYK4XXU.js → daemon-3GNHB3M2.js} +523 -8
  204. package/chunks/{daemon-git-worktree-guard-L6ZUFKF7.js → daemon-git-worktree-guard-IVAJJWYK.js} +56 -58
  205. package/chunks/daemon-status-provider-K3SJ5C2U.js +117 -0
  206. package/chunks/daemon-trust-policy-DOR3YG62.js +112 -0
  207. package/chunks/{daemon-trust-policy-monitor-2G3EKQEU.js → daemon-trust-policy-monitor-KGGROSIV.js} +64 -66
  208. package/chunks/deferred-core-runtime-WOYLUQQ7.js +114 -0
  209. package/chunks/{display-image-6KHQNEAE.js → display-image-BE7I6ZB6.js} +5 -5
  210. package/chunks/{dist-DJBNNPLN.js → dist-4WXLCBDR.js} +1 -1
  211. package/chunks/{dist-TJUDJTCB.js → dist-5VXFRTWU.js} +280 -48
  212. package/chunks/{dist-6H6RZ5H6.js → dist-6BPYWHVD.js} +89 -65
  213. package/chunks/{dist-ZBVOXSKF.js → dist-GFN5DCBX.js} +74 -65
  214. package/chunks/{dist-SATKXKUR.js → dist-HZNT6GQS.js} +1 -1
  215. package/chunks/{dist-FVJZSIO4.js → dist-LVZCXVPF.js} +72 -20
  216. package/chunks/{dist-7CKN54NL.js → dist-N6W6E753.js} +71 -64
  217. package/chunks/{dist-4Q7NTUNB.js → dist-NSV4NBPK.js} +31 -14
  218. package/chunks/{dist-UQUFZDIY.js → dist-SWQMYP2Q.js} +18 -16
  219. package/chunks/earlyInputCapture-OHBEVO4K.js +107 -0
  220. package/chunks/{edit-ZERGX3RV.js → edit-LEQLAGPZ.js} +45 -47
  221. package/chunks/{en-6MDBWMTG.js → en-YLXBXM4Z.js} +2 -1
  222. package/chunks/{enter-worktree-UOZ6ZTP7.js → enter-worktree-35QCAAFP.js} +7 -7
  223. package/chunks/{enterPlanMode-W2RP3P5B.js → enterPlanMode-ONQN3WHE.js} +47 -49
  224. package/chunks/{environment-ZBJ23YVR.js → environment-UANTR7A4.js} +60 -62
  225. package/chunks/errors-WAK6KFBC.js +113 -0
  226. package/chunks/{exit-worktree-G2QATUCV.js → exit-worktree-XQD6D543.js} +7 -7
  227. package/chunks/exitPlanMode-UEYBG6P5.js +83 -0
  228. package/chunks/{fast-path-4MWBCEUF.js → fast-path-WUL7UZ6H.js} +7 -7
  229. package/chunks/{fast-path-settings-XMFBYFUH.js → fast-path-settings-XH426LUU.js} +3 -3
  230. package/chunks/{glob-DKTNG32L.js → glob-Y54QUWDY.js} +44 -46
  231. package/chunks/{goal-tools-CNVXMSZD.js → goal-tools-PTD3MBA7.js} +10 -8
  232. package/chunks/{grep-3NLSS32D.js → grep-5GPICQBU.js} +6 -6
  233. package/chunks/handleAutoUpdate-FP3NWNSG.js +109 -0
  234. package/chunks/i18n-INIU5X7A.js +124 -0
  235. package/chunks/{image-gen-63NN2H5N.js → image-gen-J6FDGUZP.js} +8 -10
  236. package/chunks/initializer-TYODV6GE.js +113 -0
  237. package/chunks/installationInfo-AAPKYDSZ.js +107 -0
  238. package/chunks/{keychain-token-storage-3MGFRYGM.js → keychain-token-storage-37XPR34V.js} +2 -2
  239. package/chunks/list-TUODDN6J.js +116 -0
  240. package/chunks/{list-agents-EXRSHIDJ.js → list-agents-DI3YFTDT.js} +2 -2
  241. package/chunks/{gemini-X5GQHQYF.js → llm-NSAVK5V3.js} +117 -114
  242. package/chunks/{geminiContentGenerator-UDSWXZXL.js → llm-content-generator-AY2QKXHE.js} +29 -29
  243. package/chunks/loadedSettingsAdapter-KJCLZ3C4.js +110 -0
  244. package/chunks/{loggingContentGenerator-73C7TKDK.js → loggingContentGenerator-DSFQHXIF.js} +328 -37
  245. package/chunks/{loop-wakeup-XBPB2BRO.js → loop-wakeup-XJFONSQ7.js} +5 -5
  246. package/chunks/{ls-WFONAND2.js → ls-3VAT2J7A.js} +4 -4
  247. package/chunks/{lsp-DUKPDUXN.js → lsp-5W7IRUBH.js} +2 -2
  248. package/chunks/{managed-npm-update-H2KOLQZU.js → managed-npm-update-TSWENTK5.js} +57 -59
  249. package/chunks/mcp-MWSAPFOL.js +110 -0
  250. package/chunks/{monitor-TGCMNJJH.js → monitor-RW4GWJHB.js} +44 -46
  251. package/chunks/nonInteractiveCli-JXKL343Q.js +185 -0
  252. package/chunks/{notebook-edit-YEUNZYDX.js → notebook-edit-CQNYS5OR.js} +45 -47
  253. package/chunks/{open-with-auth-4UI3KHUR.js → open-with-auth-YN3QZHVM.js} +1 -1
  254. package/chunks/{openaiContentGenerator-J7LD4VSL.js → openaiContentGenerator-J6QIF7EX.js} +26 -28
  255. package/chunks/pidfile-QOIQZFT2.js +111 -0
  256. package/chunks/process-registry-OAEG6WGC.js +662 -0
  257. package/chunks/{processUtils-ZHFC7CSL.js → processUtils-GPHNANKZ.js} +2 -2
  258. package/chunks/prompt-terminal-ledger-FOMFTYOM.js +105 -0
  259. package/chunks/{qwenContentGenerator-YEWWK3JQ.js → qwenContentGenerator-WWDXPYQI.js} +49 -51
  260. package/chunks/{qwenOAuth2-JIYAWXTW.js → qwenOAuth2-OF5WRBQT.js} +7 -9
  261. package/chunks/{read-file-ZQI3WPVK.js → read-file-FQUQHC6N.js} +13 -13
  262. package/chunks/{read-mcp-resource-7A7NFSFL.js → read-mcp-resource-XD257PGJ.js} +2 -2
  263. package/chunks/{record-artifact-CPJ4IJSD.js → record-artifact-VW23GS4F.js} +4 -4
  264. package/chunks/{report-findings-VFM5DENC.js → report-findings-AO5VYFLR.js} +9 -5
  265. package/chunks/{request-shutdown-6IW46GD7.js → request-shutdown-BCLA3JV2.js} +7 -7
  266. package/chunks/resumeHistoryUtils-NSGF3UCB.js +118 -0
  267. package/chunks/ripGrep-4CAT6SKV.js +39 -0
  268. package/chunks/{run-qwen-serve-WHWU7NZ6.js → run-qwen-serve-5X6IDZER.js} +371 -357
  269. package/chunks/{runtime-E7BSPWQP.js → runtime-HK27GMPF.js} +69 -71
  270. package/chunks/scheduled-tasks-MN2ZZ5P6.js +127 -0
  271. package/chunks/{scheduler-TJPATFOM.js → scheduler-WD4MHMO5.js} +58 -60
  272. package/chunks/{sdk-exporters-http-XXSKBD2C.js → sdk-exporters-http-TTU2CHBU.js} +2 -2
  273. package/chunks/{sdk-impl-VPNBLV7I.js → sdk-impl-UUMVYMAL.js} +11 -5
  274. package/chunks/{send-message-OXZK6USO.js → send-message-AJ4OCUBV.js} +25 -9
  275. package/chunks/serve-2XCHPPGG.js +118 -0
  276. package/chunks/{server-AXCN7QBJ.js → server-GO2N5DH7.js} +6080 -4964
  277. package/chunks/{session-HO4US3AG.js → session-IFNHTUBT.js} +112 -112
  278. package/chunks/session-pr-refresh-I3UBWMVP.js +364 -0
  279. package/chunks/{settings-B2PFJJN4.js → settings-L6N54CU6.js} +63 -65
  280. package/chunks/{shell-7XMSANI3.js → shell-4Y5LLW6N.js} +44 -46
  281. package/chunks/{skill-NL3VH562.js → skill-YOWTRAKQ.js} +68 -24
  282. package/chunks/skill-settings-ZL4JY5UE.js +118 -0
  283. package/chunks/spawnChannel-ZST6XJVJ.js +112 -0
  284. package/chunks/standalone-update-THVU3OKY.js +118 -0
  285. package/chunks/{startInteractiveUI-G2XKSCQ7.js → startInteractiveUI-XDFSHBZD.js} +3076 -2475
  286. package/chunks/{stdioHelpers-7A2EE64Z.js → stdioHelpers-AY6XCDY2.js} +3 -1
  287. package/chunks/{syntheticOutput-5AJ444QT.js → syntheticOutput-ML43GEFN.js} +3 -3
  288. package/chunks/{task-create-TY7P6UHG.js → task-create-QN4LYRSE.js} +11 -11
  289. package/chunks/{task-list-BELMPA75.js → task-list-JPLGK45U.js} +5 -5
  290. package/chunks/{task-stop-U3S3KZG2.js → task-stop-CXEH5L2D.js} +2 -2
  291. package/chunks/{task-update-O4IGDPCK.js → task-update-IWEOJFV2.js} +11 -11
  292. package/chunks/{team-create-IYBUOORE.js → team-create-OOPXCDBA.js} +44 -46
  293. package/chunks/{team-delete-YWFXX77L.js → team-delete-RZVVSGCY.js} +5 -5
  294. package/chunks/{team-plan-approval-YKU57LBM.js → team-plan-approval-DSX5EWAT.js} +44 -46
  295. package/chunks/terminal-image-renderer-KS25G33E.js +114 -0
  296. package/chunks/theme-manager-YMZNG45F.js +102 -0
  297. package/chunks/{todoWrite-435EO2CS.js → todoWrite-WDJNQEMW.js} +43 -25
  298. package/chunks/{tool-search-4Q3KASIQ.js → tool-search-J5Q6U7DN.js} +22 -22
  299. package/chunks/total-session-admission-PVN64JVV.js +114 -0
  300. package/chunks/trustedFolders-FATSC4YI.js +122 -0
  301. package/chunks/{types-WYCFCEHR.js → types-HKLPXZB3.js} +1 -3
  302. package/chunks/{update-relaunch-4DC2KKFS.js → update-relaunch-SIKHLHVR.js} +6 -6
  303. package/chunks/updateCheck-D3YG2WCD.js +118 -0
  304. package/chunks/useAutoAcceptIndicator-ILINOSAS.js +120 -0
  305. package/chunks/{validateNonInterActiveAuth-YAE4YPO3.js → validateNonInterActiveAuth-JUDQP6V4.js} +105 -105
  306. package/chunks/{version-QFP7OGWX.js → version-C63GDDWN.js} +1 -1
  307. package/chunks/{web-fetch-6T23IK6Q.js → web-fetch-FOQZMNSC.js} +16 -18
  308. package/chunks/{web-search-WBWTCZK2.js → web-search-PUJTBFUC.js} +9 -11
  309. package/chunks/{web-shell-static-A6QMUNNV.js → web-shell-static-HNB4FDOE.js} +2 -2
  310. package/chunks/{workflow-FMAA3D4R.js → workflow-Y5IPINVH.js} +128 -94
  311. package/chunks/workspace-providers-status-IJ4VHFMB.js +114 -0
  312. package/chunks/{workspace-registration-store-CMMX7EPX.js → workspace-registration-store-SMJWI2AI.js} +1 -1
  313. package/chunks/workspace-registry-BTGZIMPK.js +123 -0
  314. package/chunks/workspace-service-SIN67ITC.js +126 -0
  315. package/chunks/workspace-skills-status-F3RKCUIX.js +113 -0
  316. package/chunks/{workspace-trust-reconciler-PJDQUTJL.js → workspace-trust-reconciler-PLIDLJZX.js} +72 -72
  317. package/chunks/write-file-PAIGB33C.js +88 -0
  318. package/chunks/{zh-TW-MV4FWFB6.js → zh-TW-RPTMRTHG.js} +2 -1
  319. package/chunks/{zh-X3WGU6SI.js → zh-UNY63FR3.js} +2 -1
  320. package/chunks/{zoom-image-WVYVFRXF.js → zoom-image-LYQD7BQA.js} +13 -13
  321. package/cli.js +16 -16
  322. package/locales/en.js +2 -0
  323. package/locales/zh-TW.js +2 -0
  324. package/locales/zh.js +2 -0
  325. package/package.json +3 -3
  326. package/web-shell/assets/{abnfDiagram-VCTEODGH-d-8xa8uz.js → abnfDiagram-VCTEODGH-TRCMSA_6.js} +1 -1
  327. package/web-shell/assets/{arc-BhB7CrGK.js → arc-D9Uls5b3.js} +1 -1
  328. package/web-shell/assets/{architectureDiagram-5GKGNRK7-BDCd_IcJ.js → architectureDiagram-5GKGNRK7-Bwb8jPXg.js} +1 -1
  329. package/web-shell/assets/{blockDiagram-NRAW4CY4-C-AHu6mi.js → blockDiagram-NRAW4CY4-DHj71TSX.js} +1 -1
  330. package/web-shell/assets/{c4Diagram-UCG6FXSJ-CFjQt0vl.js → c4Diagram-UCG6FXSJ-uKBBdbyr.js} +1 -1
  331. package/web-shell/assets/channel-CXjVLaBa.js +1 -0
  332. package/web-shell/assets/{chunk-2Q5K7J3B-DRjwqaDq.js → chunk-2Q5K7J3B-BZd0Phrl.js} +1 -1
  333. package/web-shell/assets/{chunk-5VM5RSS4-eHM9noJE.js → chunk-5VM5RSS4-7KNeNBqN.js} +1 -1
  334. package/web-shell/assets/{chunk-F27PBJKO-CcSWUYn1.js → chunk-F27PBJKO-BeboS7Fi.js} +1 -1
  335. package/web-shell/assets/{chunk-G27WJ6UU-DNr-RF5S.js → chunk-G27WJ6UU-RV3JONoj.js} +1 -1
  336. package/web-shell/assets/{chunk-JWPE2WC7-rVJHoNF8.js → chunk-JWPE2WC7-Yw9FCFsP.js} +1 -1
  337. package/web-shell/assets/{chunk-LCL6LL3I-B2aX0Gzy.js → chunk-LCL6LL3I-GIMnydDe.js} +1 -1
  338. package/web-shell/assets/{chunk-POPQ4Y6H-DVp07n32.js → chunk-POPQ4Y6H-Cfrux7bL.js} +1 -1
  339. package/web-shell/assets/{chunk-SVP7TREG-C6QB_KUr.js → chunk-SVP7TREG-BlvIN0CO.js} +1 -1
  340. package/web-shell/assets/{chunk-XXDRQBXY-CLVxDNCy.js → chunk-XXDRQBXY-DMs7Rr4t.js} +1 -1
  341. package/web-shell/assets/classDiagram-DTDB5LWJ-DANEijO3.js +1 -0
  342. package/web-shell/assets/classDiagram-v2-JRS7N3AN-DANEijO3.js +1 -0
  343. package/web-shell/assets/{cose-bilkent-JH36ORCC-B_aKX3A3.js → cose-bilkent-JH36ORCC-DNGqTNwI.js} +1 -1
  344. package/web-shell/assets/{cynefin-OW5HDTMX-BBw2pPUa.js → cynefin-OW5HDTMX-CojMpaoH.js} +1 -1
  345. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-WWPiBTwk.js → cynefinDiagram-5FMLGOSQ-DF07YXGo.js} +1 -1
  346. package/web-shell/assets/{dagre-3AP2YEHR-CPtIdka-.js → dagre-3AP2YEHR-17-4WtCH.js} +1 -1
  347. package/web-shell/assets/{diagram-S7CK7UJ4-Dj5og1Xi.js → diagram-S7CK7UJ4-G3Wuyz9m.js} +1 -1
  348. package/web-shell/assets/{diagram-UQ7AKVKN-CC_x70YC.js → diagram-UQ7AKVKN-nyWIKZ8P.js} +1 -1
  349. package/web-shell/assets/{diagram-VSXAHHWV-rXMfsO4n.js → diagram-VSXAHHWV-tKHhmYSC.js} +1 -1
  350. package/web-shell/assets/{diagram-VX7I27RA-DEmLYQbh.js → diagram-VX7I27RA-CpDf1hYk.js} +1 -1
  351. package/web-shell/assets/{diagram-Z3DM3KII-B0ys6Vxx.js → diagram-Z3DM3KII-Cah2IFXG.js} +1 -1
  352. package/web-shell/assets/{ebnfDiagram-PWID7BFC-Bq6y6lKH.js → ebnfDiagram-PWID7BFC-DNaCkgxy.js} +1 -1
  353. package/web-shell/assets/{erDiagram-SSCWMZ5O-l69JeBZ4.js → erDiagram-SSCWMZ5O-CAdRgcf1.js} +1 -1
  354. package/web-shell/assets/{flowDiagram-A5DVABFB-Cm-EzGY4.js → flowDiagram-A5DVABFB-CMUJAShL.js} +1 -1
  355. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-BRS9ZOp7.js → ganttDiagram-EL5Y4UJY-o-_MUNey.js} +1 -1
  356. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-DAMRKgLk.js → gitGraphDiagram-WWUBYQGX-_aG-2Z7O.js} +1 -1
  357. package/web-shell/assets/{index-Bncx8E8M.js → index-BK_NKxiJ.js} +1 -1
  358. package/web-shell/assets/index-Ci-z4zWY.js +1913 -0
  359. package/web-shell/assets/index-LDlXZRHA.css +36 -0
  360. package/web-shell/assets/{infoDiagram-RXCK75RN-DasffaZp.js → infoDiagram-RXCK75RN-qJPeZbGP.js} +1 -1
  361. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-CmRUt3C-.js → ishikawaDiagram-5VMMS53U-7Om4vNo1.js} +1 -1
  362. package/web-shell/assets/{journeyDiagram-EYS64GPL-DzhE_c1Z.js → journeyDiagram-EYS64GPL-BNtXqmBW.js} +1 -1
  363. package/web-shell/assets/{kanban-definition-3QL26DDD-BH5b6nn3.js → kanban-definition-3QL26DDD-COgFec8P.js} +1 -1
  364. package/web-shell/assets/{layout-BxoLK-LY.js → layout-B9n81PC9.js} +1 -1
  365. package/web-shell/assets/{linear-CqDPvVI7.js → linear-Bb6nXZQq.js} +1 -1
  366. package/web-shell/assets/{mermaid.core-DBoN4plo.js → mermaid.core-Cgrm3JVT.js} +6 -6
  367. package/web-shell/assets/{mindmap-definition-FBJOCRG2-DJJtXPEM.js → mindmap-definition-FBJOCRG2-TKwLTjnG.js} +1 -1
  368. package/web-shell/assets/{pegDiagram-XKGWAZYB-DmgPXP5l.js → pegDiagram-XKGWAZYB-BJPuvlpi.js} +1 -1
  369. package/web-shell/assets/{pieDiagram-E7YTZNPT-1ezjzcI5.js → pieDiagram-E7YTZNPT-D01VkNsW.js} +1 -1
  370. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-ChKARz3k.js → quadrantDiagram-AXDQQJYC-C4hHsiv-.js} +1 -1
  371. package/web-shell/assets/{railroadDiagram-O6MQD6OU-k7mNB_QT.js → railroadDiagram-O6MQD6OU-CuEO4xK2.js} +1 -1
  372. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-B0XFsii0.js → requirementDiagram-EFPCY7ZU-D5J_vIo5.js} +1 -1
  373. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-repJ2Ukk.js → sankeyDiagram-P5KCCOFB-DQKY223V.js} +1 -1
  374. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-D0gUSKGu.js → sequenceDiagram-WJ2MYXX4-D27YV_cm.js} +1 -1
  375. package/web-shell/assets/{sizeCapture-X5ZJPWSS-CE463F74.js → sizeCapture-X5ZJPWSS-TJg8UcwV.js} +1 -1
  376. package/web-shell/assets/{stateDiagram-HBIQ2CUA-003zYtJa.js → stateDiagram-HBIQ2CUA-CmnPzUIx.js} +1 -1
  377. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-DNKPyrDc.js +1 -0
  378. package/web-shell/assets/{swimlanes-XN3QIQJK-DBj8MFpu.js → swimlanes-XN3QIQJK-ByeP3_Nu.js} +1 -1
  379. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-ZL1HPC6w.js +8 -0
  380. package/web-shell/assets/{timeline-definition-24CTP7MA-D2aCh4a9.js → timeline-definition-24CTP7MA-BsFA5juR.js} +1 -1
  381. package/web-shell/assets/{vennDiagram-4TSXK5OY-BHMfWBpl.js → vennDiagram-4TSXK5OY-DREP2ECo.js} +1 -1
  382. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-RdHAj66j.js → wardleyDiagram-VM6X3IG4-iyd9lKi2.js} +1 -1
  383. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-BgJWOvq0.js → xychartDiagram-S5SC5T6Z-CVr1_j9q.js} +1 -1
  384. package/web-shell/index.html +3 -3
  385. package/chunks/MaxSizedBox-BFVLZP2E.js +0 -112
  386. package/chunks/agent-headless-UCBCS4V4.js +0 -87
  387. package/chunks/bridge-FRNYLYY7.js +0 -119
  388. package/chunks/channel-settings-store-IV4KDL7N.js +0 -117
  389. package/chunks/chunk-I6VVOZDK.js +0 -202
  390. package/chunks/chunk-JS73NNWF.js +0 -30
  391. package/chunks/chunk-K2OJUPOE.js +0 -78
  392. package/chunks/chunk-P3QQPMQA.js +0 -19
  393. package/chunks/chunk-SDVF6A42.js +0 -945
  394. package/chunks/chunk-VGHZT6JR.js +0 -51
  395. package/chunks/config-utils-PMX4QZ5Y.js +0 -113
  396. package/chunks/contextCommand-NZRLVAFC.js +0 -108
  397. package/chunks/daemon-status-provider-FTTYZEKN.js +0 -118
  398. package/chunks/daemon-trust-policy-WMGFPA3Z.js +0 -114
  399. package/chunks/deferred-core-runtime-BUFEFYNA.js +0 -116
  400. package/chunks/earlyInputCapture-ROPLMXA7.js +0 -109
  401. package/chunks/errors-U5KNAADB.js +0 -115
  402. package/chunks/exitPlanMode-VFJ5R5DD.js +0 -85
  403. package/chunks/handleAutoUpdate-W4BUYFT7.js +0 -111
  404. package/chunks/i18n-KX7FEKJJ.js +0 -126
  405. package/chunks/initializer-SNVVLS7Y.js +0 -115
  406. package/chunks/installationInfo-D4XGQNHJ.js +0 -109
  407. package/chunks/list-WYECMLXZ.js +0 -118
  408. package/chunks/loadedSettingsAdapter-5WZBXBCR.js +0 -112
  409. package/chunks/mcp-CBWAROY3.js +0 -112
  410. package/chunks/nonInteractiveCli-O232UUV7.js +0 -185
  411. package/chunks/pidfile-MSPQ255Y.js +0 -113
  412. package/chunks/process-registry-PMJOA5CO.js +0 -172
  413. package/chunks/prompt-terminal-ledger-YPGMNDXT.js +0 -107
  414. package/chunks/resumeHistoryUtils-35D4KAVT.js +0 -120
  415. package/chunks/ripGrep-46N4FLOS.js +0 -39
  416. package/chunks/serve-WQ54UIYG.js +0 -120
  417. package/chunks/skill-settings-SKMN5YXC.js +0 -120
  418. package/chunks/spawnChannel-NE43EEO3.js +0 -113
  419. package/chunks/standalone-update-XOCWGXAH.js +0 -120
  420. package/chunks/terminal-image-renderer-NREKYTAD.js +0 -116
  421. package/chunks/theme-manager-IJS6OICX.js +0 -104
  422. package/chunks/total-session-admission-L5RPEFZ2.js +0 -114
  423. package/chunks/trustedFolders-OILZCHRD.js +0 -124
  424. package/chunks/updateCheck-AK4COHNK.js +0 -120
  425. package/chunks/useAutoAcceptIndicator-O2N2Q6KG.js +0 -122
  426. package/chunks/workspace-providers-status-OCFEWIPQ.js +0 -116
  427. package/chunks/workspace-registry-WJLZPRTG.js +0 -123
  428. package/chunks/workspace-service-5ZOBMMIB.js +0 -131
  429. package/chunks/workspace-skills-status-B6NJZD4B.js +0 -115
  430. package/chunks/write-file-B2RNX6SU.js +0 -90
  431. package/web-shell/assets/channel-CU-Zyv0r.js +0 -1
  432. package/web-shell/assets/classDiagram-DTDB5LWJ-C0J2_LKs.js +0 -1
  433. package/web-shell/assets/classDiagram-v2-JRS7N3AN-C0J2_LKs.js +0 -1
  434. package/web-shell/assets/index-C-XlQn24.css +0 -5
  435. package/web-shell/assets/index-gdvMN4J1.js +0 -1860
  436. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-2uACDdJN.js +0 -1
  437. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-C4JJkavU.js +0 -8
@@ -3,11 +3,11 @@
3
3
  import {
4
4
  TURN_INTERRUPTION_HISTORY_TAIL_COUNT,
5
5
  detectTurnInterruption
6
- } from "./chunk-5URK47RN.js";
6
+ } from "./chunk-NV55WWD6.js";
7
7
  import {
8
8
  SessionService,
9
9
  buildApiHistoryFromConversation
10
- } from "./chunk-XIRDDFRS.js";
10
+ } from "./chunk-PZ66FRIC.js";
11
11
  import {
12
12
  init_esbuild_shims
13
13
  } from "./chunk-5O2XNYP6.js";
@@ -2,11 +2,11 @@
2
2
  "use strict";
3
3
  import {
4
4
  isTerminalWorkflowStatus
5
- } from "./chunk-XIRDDFRS.js";
5
+ } from "./chunk-PZ66FRIC.js";
6
6
  import {
7
7
  Storage,
8
8
  createDebugLogger
9
- } from "./chunk-2NNTE2ED.js";
9
+ } from "./chunk-UHQFIS7N.js";
10
10
  import {
11
11
  init_esbuild_shims
12
12
  } from "./chunk-5O2XNYP6.js";
@@ -14,10 +14,177 @@ import {
14
14
  __name
15
15
  } from "./chunk-J2S4EL5Y.js";
16
16
 
17
- // packages/core/src/agents/workflow-snapshot.ts
17
+ // packages/core/src/agents/runtime/workflow-saved.ts
18
18
  init_esbuild_shims();
19
19
  import { promises as fs } from "node:fs";
20
- var debugLogger = createDebugLogger("WORKFLOW_SNAPSHOT");
20
+ import * as path from "node:path";
21
+ var debugLogger = createDebugLogger("WORKFLOW_SAVED");
22
+ var WORKFLOW_NAME_PATTERN = /^[a-z][a-z0-9-]{0,40}$/;
23
+ function validateWorkflowName(name) {
24
+ if (!name) return "Workflow name is required.";
25
+ if (!WORKFLOW_NAME_PATTERN.test(name)) {
26
+ return `Invalid workflow name "${name}". Use lower-case letters, digits, and hyphens only (must start with a letter, max 41 chars).`;
27
+ }
28
+ return null;
29
+ }
30
+ __name(validateWorkflowName, "validateWorkflowName");
31
+ function getSavedWorkflowDirs(config) {
32
+ return [
33
+ { dir: config.storage.getProjectWorkflowsDir(), source: "project" },
34
+ { dir: Storage.getUserWorkflowsDir(), source: "user" }
35
+ ];
36
+ }
37
+ __name(getSavedWorkflowDirs, "getSavedWorkflowDirs");
38
+ function getWorkflowScriptRoots(config) {
39
+ return [
40
+ ...getSavedWorkflowDirs(config).map(({ dir }) => dir),
41
+ config.storage.getGeneratedWorkflowsDir()
42
+ ];
43
+ }
44
+ __name(getWorkflowScriptRoots, "getWorkflowScriptRoots");
45
+ async function isSymlinkedRoot(dir) {
46
+ return fs.lstat(dir).then((st) => st.isSymbolicLink()).catch(() => false);
47
+ }
48
+ __name(isSymlinkedRoot, "isSymlinkedRoot");
49
+ async function listJsFiles(dir) {
50
+ if (await isSymlinkedRoot(dir)) {
51
+ debugLogger.warn(`refusing symlinked saved-workflow dir: ${dir}`);
52
+ return [];
53
+ }
54
+ try {
55
+ const names = await fs.readdir(dir);
56
+ const out = [];
57
+ for (const n of names) {
58
+ if (!n.endsWith(".js")) continue;
59
+ const st = await fs.lstat(path.join(dir, n)).catch(() => null);
60
+ if (!st || st.isSymbolicLink()) continue;
61
+ out.push(n);
62
+ }
63
+ return out;
64
+ } catch (e) {
65
+ const code = e?.code;
66
+ if (code !== "ENOENT") {
67
+ debugLogger.warn(`listJsFiles failed for ${dir}: ${e}`);
68
+ }
69
+ return [];
70
+ }
71
+ }
72
+ __name(listJsFiles, "listJsFiles");
73
+ async function readWorkflowFileSecurely(filePath, config) {
74
+ const real = await fs.realpath(filePath);
75
+ const roots = await Promise.all(
76
+ getWorkflowScriptRoots(config).map(async (dir) => {
77
+ if (await isSymlinkedRoot(dir)) return { dir, real: null };
78
+ try {
79
+ return { dir, real: await fs.realpath(dir) };
80
+ } catch {
81
+ return { dir, real: path.resolve(dir) };
82
+ }
83
+ })
84
+ );
85
+ const dirs = roots.flatMap((r) => r.real === null ? [] : [r.real]);
86
+ const inside = dirs.some((d) => real === d || real.startsWith(d + path.sep));
87
+ if (!inside) {
88
+ const refused = roots.flatMap((r) => r.real === null ? [r.dir] : []);
89
+ const refusedNote = refused.length > 0 ? `; refused symlinked ${refused.length === 1 ? "root" : "roots"}: ${refused.join(", ")}` : "";
90
+ throw new Error(
91
+ `refusing to load a workflow file outside the workflow script roots (checked: ${dirs.join(", ")}${refusedNote}): '${filePath}'.`
92
+ );
93
+ }
94
+ return fs.readFile(real, "utf8");
95
+ }
96
+ __name(readWorkflowFileSecurely, "readWorkflowFileSecurely");
97
+ async function listSavedWorkflows(config) {
98
+ const byName = /* @__PURE__ */ new Map();
99
+ for (const { dir, source } of [...getSavedWorkflowDirs(config)].reverse()) {
100
+ for (const file of await listJsFiles(dir)) {
101
+ const name = file.slice(0, -".js".length);
102
+ if (!WORKFLOW_NAME_PATTERN.test(name)) continue;
103
+ byName.set(name, { name, scriptPath: path.join(dir, file), source });
104
+ }
105
+ }
106
+ return Array.from(byName.values()).sort(
107
+ (a, b) => a.name.localeCompare(b.name)
108
+ );
109
+ }
110
+ __name(listSavedWorkflows, "listSavedWorkflows");
111
+ async function resolveSavedWorkflowScript(nameOrRef, config) {
112
+ if (typeof nameOrRef === "object" && nameOrRef !== null) {
113
+ const scriptPath = nameOrRef.scriptPath;
114
+ if (typeof scriptPath !== "string" || scriptPath.length === 0) {
115
+ throw new Error(
116
+ "workflow() expects a workflow name (string) or {scriptPath: string}."
117
+ );
118
+ }
119
+ let script;
120
+ try {
121
+ script = await readWorkflowFileSecurely(scriptPath, config);
122
+ } catch (e) {
123
+ throw new Error(
124
+ `workflow({scriptPath: '${scriptPath}'}): ${e instanceof Error ? e.message : String(e)}`
125
+ );
126
+ }
127
+ const name2 = path.basename(scriptPath).replace(/\.js$/, "");
128
+ return { name: name2, scriptPath, script };
129
+ }
130
+ if (typeof nameOrRef !== "string") {
131
+ throw new Error(
132
+ "workflow() expects a workflow name (string) or {scriptPath: string}."
133
+ );
134
+ }
135
+ const name = nameOrRef;
136
+ const nameError = validateWorkflowName(name);
137
+ if (nameError) {
138
+ throw new Error(`workflow('${name}'): ${nameError}`);
139
+ }
140
+ for (const { dir } of getSavedWorkflowDirs(config)) {
141
+ const scriptPath = path.join(dir, `${name}.js`);
142
+ try {
143
+ const script = await readWorkflowFileSecurely(scriptPath, config);
144
+ return { name, scriptPath, script };
145
+ } catch {
146
+ }
147
+ }
148
+ const available = (await listSavedWorkflows(config)).map((e) => e.name);
149
+ throw new Error(
150
+ `workflow('${name}'): no workflow with that name. Available: ${available.length > 0 ? available.join(", ") : "(none)"}.`
151
+ );
152
+ }
153
+ __name(resolveSavedWorkflowScript, "resolveSavedWorkflowScript");
154
+ async function saveWorkflowScript(config, opts) {
155
+ const { name, scope, script, overwrite = false } = opts;
156
+ const nameError = validateWorkflowName(name);
157
+ if (nameError) return { status: "invalid-name", error: nameError };
158
+ if (!script || script.trim().length === 0) {
159
+ return {
160
+ status: "empty-script",
161
+ error: "This run has no script source to save."
162
+ };
163
+ }
164
+ const dir = scope === "project" ? config.storage.getProjectWorkflowsDir() : Storage.getUserWorkflowsDir();
165
+ if (await isSymlinkedRoot(dir)) {
166
+ throw new Error(
167
+ `refusing to save into a symlinked saved-workflow directory: '${dir}'.`
168
+ );
169
+ }
170
+ const filePath = path.join(dir, `${name}.js`);
171
+ if (!overwrite) {
172
+ try {
173
+ await fs.access(filePath);
174
+ return { status: "exists", name, scope, path: filePath };
175
+ } catch {
176
+ }
177
+ }
178
+ await fs.mkdir(dir, { recursive: true });
179
+ await fs.writeFile(filePath, script, "utf8");
180
+ return { status: "saved", name, scope, path: filePath };
181
+ }
182
+ __name(saveWorkflowScript, "saveWorkflowScript");
183
+
184
+ // packages/core/src/agents/workflow-snapshot.ts
185
+ init_esbuild_shims();
186
+ import { promises as fs2 } from "node:fs";
187
+ var debugLogger2 = createDebugLogger("WORKFLOW_SNAPSHOT");
21
188
  var MAX_RETAINED_SNAPSHOTS = 30;
22
189
  function toSnapshot(task) {
23
190
  if (!isTerminalWorkflowStatus(task.status)) {
@@ -68,15 +235,15 @@ async function writeWorkflowSnapshot(config, task) {
68
235
  try {
69
236
  const snapshot = toSnapshot(task);
70
237
  const dir = storage.getWorkflowRunsDir();
71
- await fs.mkdir(dir, { recursive: true });
72
- await fs.writeFile(
238
+ await fs2.mkdir(dir, { recursive: true });
239
+ await fs2.writeFile(
73
240
  storage.getWorkflowRunSnapshotPath(task.runId),
74
241
  JSON.stringify(snapshot, null, 2),
75
242
  "utf8"
76
243
  );
77
244
  await pruneSnapshots(dir);
78
245
  } catch (e) {
79
- debugLogger.warn(`writeWorkflowSnapshot failed for ${task.runId}: ${e}`);
246
+ debugLogger2.warn(`writeWorkflowSnapshot failed for ${task.runId}: ${e}`);
80
247
  }
81
248
  }
82
249
  __name(writeWorkflowSnapshot, "writeWorkflowSnapshot");
@@ -86,22 +253,22 @@ async function listWorkflowSnapshots(config) {
86
253
  const dir = storage.getWorkflowRunsDir();
87
254
  let files;
88
255
  try {
89
- files = (await fs.readdir(dir)).filter((f) => f.endsWith(".json"));
256
+ files = (await fs2.readdir(dir)).filter((f) => f.endsWith(".json"));
90
257
  } catch {
91
258
  return [];
92
259
  }
93
260
  const snapshots = [];
94
261
  for (const file of files) {
95
262
  try {
96
- const raw = await fs.readFile(`${dir}/${file}`, "utf8");
263
+ const raw = await fs2.readFile(`${dir}/${file}`, "utf8");
97
264
  const parsed = JSON.parse(raw);
98
265
  if (!isWorkflowSnapshot(parsed)) {
99
- debugLogger.warn(`skipping invalid workflow snapshot ${file}`);
266
+ debugLogger2.warn(`skipping invalid workflow snapshot ${file}`);
100
267
  continue;
101
268
  }
102
269
  snapshots.push(parsed);
103
270
  } catch (e) {
104
- debugLogger.warn(`skipping unparseable snapshot ${file}: ${e}`);
271
+ debugLogger2.warn(`skipping unparseable snapshot ${file}: ${e}`);
105
272
  }
106
273
  }
107
274
  snapshots.sort((a, b) => (b.startTime ?? 0) - (a.startTime ?? 0));
@@ -199,7 +366,7 @@ __name(isWorkflowSnapshot, "isWorkflowSnapshot");
199
366
  async function pruneSnapshots(dir) {
200
367
  let files;
201
368
  try {
202
- files = (await fs.readdir(dir)).filter((f) => f.endsWith(".json"));
369
+ files = (await fs2.readdir(dir)).filter((f) => f.endsWith(".json"));
203
370
  } catch {
204
371
  return;
205
372
  }
@@ -207,7 +374,7 @@ async function pruneSnapshots(dir) {
207
374
  const stats = await Promise.all(
208
375
  files.map(async (f) => {
209
376
  try {
210
- const s = await fs.stat(`${dir}/${f}`);
377
+ const s = await fs2.stat(`${dir}/${f}`);
211
378
  return { f, mtime: s.mtimeMs };
212
379
  } catch {
213
380
  return { f, mtime: 0 };
@@ -221,12 +388,12 @@ async function pruneSnapshots(dir) {
221
388
  const runId = s.f.replace(/\.json$/, "");
222
389
  const isRunDir = /^wf_[0-9a-f]+$/.test(runId);
223
390
  return Promise.all([
224
- fs.unlink(`${dir}/${s.f}`).catch(
225
- (e) => debugLogger.warn(`prune unlink failed for ${s.f}: ${e}`)
391
+ fs2.unlink(`${dir}/${s.f}`).catch(
392
+ (e) => debugLogger2.warn(`prune unlink failed for ${s.f}: ${e}`)
226
393
  ),
227
394
  ...isRunDir ? [
228
- fs.rm(`${dir}/${runId}`, { recursive: true, force: true }).catch(
229
- (e) => debugLogger.warn(
395
+ fs2.rm(`${dir}/${runId}`, { recursive: true, force: true }).catch(
396
+ (e) => debugLogger2.warn(
230
397
  `prune journal dir failed for ${runId}: ${e}`
231
398
  )
232
399
  )
@@ -237,167 +404,11 @@ async function pruneSnapshots(dir) {
237
404
  }
238
405
  __name(pruneSnapshots, "pruneSnapshots");
239
406
 
240
- // packages/core/src/agents/runtime/workflow-saved.ts
241
- init_esbuild_shims();
242
- import { promises as fs2 } from "node:fs";
243
- import * as path from "node:path";
244
- var debugLogger2 = createDebugLogger("WORKFLOW_SAVED");
245
- var WORKFLOW_NAME_PATTERN = /^[a-z][a-z0-9-]{0,40}$/;
246
- function validateWorkflowName(name) {
247
- if (!name) return "Workflow name is required.";
248
- if (!WORKFLOW_NAME_PATTERN.test(name)) {
249
- return `Invalid workflow name "${name}". Use lower-case letters, digits, and hyphens only (must start with a letter, max 41 chars).`;
250
- }
251
- return null;
252
- }
253
- __name(validateWorkflowName, "validateWorkflowName");
254
- function getSavedWorkflowDirs(config) {
255
- return [
256
- { dir: config.storage.getProjectWorkflowsDir(), source: "project" },
257
- { dir: Storage.getUserWorkflowsDir(), source: "user" }
258
- ];
259
- }
260
- __name(getSavedWorkflowDirs, "getSavedWorkflowDirs");
261
- async function isSymlinkedRoot(dir) {
262
- return fs2.lstat(dir).then((st) => st.isSymbolicLink()).catch(() => false);
263
- }
264
- __name(isSymlinkedRoot, "isSymlinkedRoot");
265
- async function listJsFiles(dir) {
266
- if (await isSymlinkedRoot(dir)) {
267
- debugLogger2.warn(`refusing symlinked saved-workflow dir: ${dir}`);
268
- return [];
269
- }
270
- try {
271
- const names = await fs2.readdir(dir);
272
- const out = [];
273
- for (const n of names) {
274
- if (!n.endsWith(".js")) continue;
275
- const st = await fs2.lstat(path.join(dir, n)).catch(() => null);
276
- if (!st || st.isSymbolicLink()) continue;
277
- out.push(n);
278
- }
279
- return out;
280
- } catch (e) {
281
- const code = e?.code;
282
- if (code !== "ENOENT") {
283
- debugLogger2.warn(`listJsFiles failed for ${dir}: ${e}`);
284
- }
285
- return [];
286
- }
287
- }
288
- __name(listJsFiles, "listJsFiles");
289
- async function readWorkflowFileSecurely(filePath, config) {
290
- const real = await fs2.realpath(filePath);
291
- const dirs = (await Promise.all(
292
- getSavedWorkflowDirs(config).map(async ({ dir }) => {
293
- if (await isSymlinkedRoot(dir)) return null;
294
- try {
295
- return await fs2.realpath(dir);
296
- } catch {
297
- return path.resolve(dir);
298
- }
299
- })
300
- )).filter((d) => d !== null);
301
- const inside = dirs.some((d) => real === d || real.startsWith(d + path.sep));
302
- if (!inside) {
303
- throw new Error(
304
- `refusing to load a workflow file outside the saved-workflow directories: '${filePath}'.`
305
- );
306
- }
307
- return fs2.readFile(real, "utf8");
308
- }
309
- __name(readWorkflowFileSecurely, "readWorkflowFileSecurely");
310
- async function listSavedWorkflows(config) {
311
- const byName = /* @__PURE__ */ new Map();
312
- for (const { dir, source } of [...getSavedWorkflowDirs(config)].reverse()) {
313
- for (const file of await listJsFiles(dir)) {
314
- const name = file.slice(0, -".js".length);
315
- if (!WORKFLOW_NAME_PATTERN.test(name)) continue;
316
- byName.set(name, { name, scriptPath: path.join(dir, file), source });
317
- }
318
- }
319
- return Array.from(byName.values()).sort(
320
- (a, b) => a.name.localeCompare(b.name)
321
- );
322
- }
323
- __name(listSavedWorkflows, "listSavedWorkflows");
324
- async function resolveSavedWorkflowScript(nameOrRef, config) {
325
- if (typeof nameOrRef === "object" && nameOrRef !== null) {
326
- const scriptPath = nameOrRef.scriptPath;
327
- if (typeof scriptPath !== "string" || scriptPath.length === 0) {
328
- throw new Error(
329
- "workflow() expects a workflow name (string) or {scriptPath: string}."
330
- );
331
- }
332
- let script;
333
- try {
334
- script = await readWorkflowFileSecurely(scriptPath, config);
335
- } catch (e) {
336
- throw new Error(
337
- `workflow({scriptPath: '${scriptPath}'}): ${e instanceof Error ? e.message : String(e)}`
338
- );
339
- }
340
- const name2 = path.basename(scriptPath).replace(/\.js$/, "");
341
- return { name: name2, scriptPath, script };
342
- }
343
- if (typeof nameOrRef !== "string") {
344
- throw new Error(
345
- "workflow() expects a workflow name (string) or {scriptPath: string}."
346
- );
347
- }
348
- const name = nameOrRef;
349
- const nameError = validateWorkflowName(name);
350
- if (nameError) {
351
- throw new Error(`workflow('${name}'): ${nameError}`);
352
- }
353
- for (const { dir } of getSavedWorkflowDirs(config)) {
354
- const scriptPath = path.join(dir, `${name}.js`);
355
- try {
356
- const script = await readWorkflowFileSecurely(scriptPath, config);
357
- return { name, scriptPath, script };
358
- } catch {
359
- }
360
- }
361
- const available = (await listSavedWorkflows(config)).map((e) => e.name);
362
- throw new Error(
363
- `workflow('${name}'): no workflow with that name. Available: ${available.length > 0 ? available.join(", ") : "(none)"}.`
364
- );
365
- }
366
- __name(resolveSavedWorkflowScript, "resolveSavedWorkflowScript");
367
- async function saveWorkflowScript(config, opts) {
368
- const { name, scope, script, overwrite = false } = opts;
369
- const nameError = validateWorkflowName(name);
370
- if (nameError) return { status: "invalid-name", error: nameError };
371
- if (!script || script.trim().length === 0) {
372
- return {
373
- status: "empty-script",
374
- error: "This run has no script source to save."
375
- };
376
- }
377
- const dir = scope === "project" ? config.storage.getProjectWorkflowsDir() : Storage.getUserWorkflowsDir();
378
- if (await isSymlinkedRoot(dir)) {
379
- throw new Error(
380
- `refusing to save into a symlinked saved-workflow directory: '${dir}'.`
381
- );
382
- }
383
- const filePath = path.join(dir, `${name}.js`);
384
- if (!overwrite) {
385
- try {
386
- await fs2.access(filePath);
387
- return { status: "exists", name, scope, path: filePath };
388
- } catch {
389
- }
390
- }
391
- await fs2.mkdir(dir, { recursive: true });
392
- await fs2.writeFile(filePath, script, "utf8");
393
- return { status: "saved", name, scope, path: filePath };
394
- }
395
- __name(saveWorkflowScript, "saveWorkflowScript");
396
-
397
407
  export {
398
408
  writeWorkflowSnapshot,
399
409
  listWorkflowSnapshots,
400
410
  validateWorkflowName,
411
+ isSymlinkedRoot,
401
412
  listSavedWorkflows,
402
413
  resolveSavedWorkflowScript,
403
414
  saveWorkflowScript
@@ -2,19 +2,19 @@
2
2
  "use strict";
3
3
  import {
4
4
  isCommandAvailable
5
- } from "./chunk-T6OODF2U.js";
5
+ } from "./chunk-JWALNCLT.js";
6
6
  import {
7
7
  fileExists,
8
8
  isWithinRoot
9
- } from "./chunk-WBT3STGU.js";
9
+ } from "./chunk-BKWNKLZB.js";
10
10
  import {
11
11
  atomicWriteJSON
12
- } from "./chunk-7QGEJI7M.js";
12
+ } from "./chunk-23RFD54N.js";
13
13
  import {
14
14
  Storage,
15
15
  createDebugLogger,
16
16
  isNodeError
17
- } from "./chunk-2NNTE2ED.js";
17
+ } from "./chunk-UHQFIS7N.js";
18
18
  import {
19
19
  init_esbuild_shims
20
20
  } from "./chunk-5O2XNYP6.js";
@@ -0,0 +1,49 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ init_esbuild_shims
5
+ } from "./chunk-5O2XNYP6.js";
6
+ import {
7
+ __name
8
+ } from "./chunk-J2S4EL5Y.js";
9
+
10
+ // packages/acp-bridge/dist/session-source.js
11
+ init_esbuild_shims();
12
+ var SESSION_SOURCE_META_KEY = "qwen.session.source";
13
+ var SESSION_SOURCE_TYPE_PATTERN = /^[a-z][a-z0-9_-]{0,63}$/;
14
+ var MAX_SESSION_SOURCE_ID_LENGTH = 256;
15
+ var STANDALONE_SESSION_SOURCE_TYPE = "standalone";
16
+ var DAEMON_OWNED_STANDALONE_CREATION_KEY = "daemonOwnedStandaloneCreation";
17
+ function isReservedStandaloneSessionSourceType(sourceType) {
18
+ return sourceType === STANDALONE_SESSION_SOURCE_TYPE;
19
+ }
20
+ __name(isReservedStandaloneSessionSourceType, "isReservedStandaloneSessionSourceType");
21
+ function parseSessionSource(sourceType, sourceId) {
22
+ if (sourceType === void 0 && sourceId === void 0)
23
+ return {};
24
+ if (typeof sourceType !== "string" || !SESSION_SOURCE_TYPE_PATTERN.test(sourceType)) {
25
+ return {
26
+ error: "`sourceType` must match [a-z][a-z0-9_-]{0,63} when provided"
27
+ };
28
+ }
29
+ if (sourceId === void 0)
30
+ return { sourceType };
31
+ if (typeof sourceId !== "string" || sourceId.length === 0 || sourceId.length > MAX_SESSION_SOURCE_ID_LENGTH || [...sourceId].some((character) => {
32
+ const code = character.charCodeAt(0);
33
+ return code <= 31 || code === 127;
34
+ })) {
35
+ return {
36
+ error: `\`sourceId\` must be a non-empty string of at most ${MAX_SESSION_SOURCE_ID_LENGTH} characters without control characters`
37
+ };
38
+ }
39
+ return { sourceType, sourceId };
40
+ }
41
+ __name(parseSessionSource, "parseSessionSource");
42
+
43
+ export {
44
+ SESSION_SOURCE_META_KEY,
45
+ STANDALONE_SESSION_SOURCE_TYPE,
46
+ DAEMON_OWNED_STANDALONE_CREATION_KEY,
47
+ isReservedStandaloneSessionSourceType,
48
+ parseSessionSource
49
+ };
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  performStandaloneUpdate
5
- } from "./chunk-R3T33BG5.js";
5
+ } from "./chunk-ZYMLPEZQ.js";
6
6
  import {
7
7
  updateEventEmitter
8
8
  } from "./chunk-YAF2MQZ6.js";
@@ -11,15 +11,15 @@ import {
11
11
  } from "./chunk-2AUM35J5.js";
12
12
  import {
13
13
  t
14
- } from "./chunk-W2WRNJKX.js";
14
+ } from "./chunk-CLWO3B77.js";
15
15
  import {
16
16
  getHomebrewLatestVersion,
17
17
  getInstallationInfo,
18
18
  resolveUpdateCommand
19
- } from "./chunk-7DPKPBOQ.js";
19
+ } from "./chunk-V2NDP3I4.js";
20
20
  import {
21
21
  createDebugLogger
22
- } from "./chunk-2NNTE2ED.js";
22
+ } from "./chunk-UHQFIS7N.js";
23
23
  import {
24
24
  init_esbuild_shims
25
25
  } from "./chunk-5O2XNYP6.js";
@@ -2,10 +2,10 @@
2
2
  "use strict";
3
3
  import {
4
4
  BaseJsonOutputAdapter
5
- } from "./chunk-BHTJAO36.js";
5
+ } from "./chunk-GVIVASYK.js";
6
6
  import {
7
7
  observeHeadlessJsonToolResultWire
8
- } from "./chunk-J3CBIEDS.js";
8
+ } from "./chunk-ST5MDGH3.js";
9
9
  import {
10
10
  init_esbuild_shims
11
11
  } from "./chunk-5O2XNYP6.js";