@qwen-code/qwen-code 0.23.2 → 0.23.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 (373) hide show
  1. package/README.md +35 -15
  2. package/bundled/computer-use/SKILL.md +1 -1
  3. package/bundled/qc-helper/docs/configuration/model-providers.md +66 -28
  4. package/bundled/qc-helper/docs/configuration/settings.md +5 -3
  5. package/bundled/qc-helper/docs/features/_meta.ts +1 -0
  6. package/bundled/qc-helper/docs/features/channels/dws.md +7 -1
  7. package/bundled/qc-helper/docs/features/commands.md +57 -9
  8. package/bundled/qc-helper/docs/features/computer-use.md +1 -1
  9. package/bundled/qc-helper/docs/features/cross-session-protocol.md +320 -0
  10. package/bundled/qc-helper/docs/features/goals.md +1 -1
  11. package/bundled/qc-helper/docs/qwen-serve.md +16 -3
  12. package/bundled/review/SKILL.md +82 -79
  13. package/bundled/review/references/posting.md +31 -14
  14. package/chunks/{MaxSizedBox-4C3BKKKY.js → MaxSizedBox-D4LW7RZZ.js} +58 -51
  15. package/chunks/{StandaloneSessionPicker-TXVF65YW.js → StandaloneSessionPicker-ALTTRWUP.js} +80 -73
  16. package/chunks/acp-subagent-executor-LEUN3N7N.js +919 -0
  17. package/chunks/{acpAgent-H5XBKGB4.js → acpAgent-BBSW7XZG.js} +509 -201
  18. package/chunks/{agent-T5LEFJIU.js → agent-SQ6OY3QD.js} +42 -36
  19. package/chunks/{agent-headless-VZKSRH36.js → agent-headless-RI2THRQ7.js} +42 -36
  20. package/chunks/{anthropicContentGenerator-PRJWWVYJ.js → anthropicContentGenerator-JSKMKS6V.js} +66 -34
  21. package/chunks/{artifact-tool-G5LHNECG.js → artifact-tool-PMYZCYNH.js} +2 -2
  22. package/chunks/{askUserQuestion-I5W5S3D6.js → askUserQuestion-4M4YYIB4.js} +2 -2
  23. package/chunks/{bridge-AOX5IY44.js → bridge-DAFMI72L.js} +62 -55
  24. package/chunks/{channel-management-service-MWQGHPAS.js → channel-management-service-OWDXVL7R.js} +8 -8
  25. package/chunks/{channel-settings-store-XZCGDGHW.js → channel-settings-store-4I6JONT7.js} +69 -62
  26. package/chunks/{channel-worker-group-SQ5FRWOH.js → channel-worker-group-F2ZZMLNS.js} +8 -8
  27. package/chunks/{channel-worker-manager-TU4ZNWOE.js → channel-worker-manager-2SZLJJSJ.js} +18 -9
  28. package/chunks/{channel-worker-supervisor-EMITFMCP.js → channel-worker-supervisor-ZFNWMG6D.js} +6 -6
  29. package/chunks/{chunk-GNY7B3CA.js → chunk-2ALXPGB4.js} +1 -1
  30. package/chunks/{chunk-LUNC5KCL.js → chunk-2PJRI3EH.js} +7 -7
  31. package/chunks/{chunk-CLKE4IY3.js → chunk-2SZH22YO.js} +1 -1
  32. package/chunks/{chunk-RNAJVXUG.js → chunk-2ZN3O5FT.js} +6 -6
  33. package/chunks/{chunk-HIXUUCGY.js → chunk-36HCNKDS.js} +1 -1
  34. package/chunks/{chunk-FGHPZGOP.js → chunk-3BTSSIJO.js} +38 -54
  35. package/chunks/{chunk-VBLAI2HA.js → chunk-3FPYT6QC.js} +0 -31
  36. package/chunks/{chunk-QB3KS3N3.js → chunk-3I7W2POO.js} +1 -1
  37. package/chunks/{chunk-QTB4VP4K.js → chunk-3KQBQ6FM.js} +136 -11
  38. package/chunks/{chunk-JO77FGNZ.js → chunk-3UXUOFO6.js} +19 -7
  39. package/chunks/{chunk-WDN64MVT.js → chunk-3XLK2QMY.js} +82 -16
  40. package/chunks/chunk-532WHF4F.js +127 -0
  41. package/chunks/{chunk-NX7ZTXFF.js → chunk-53GWJOLP.js} +1 -1
  42. package/chunks/{chunk-QQK4L3UU.js → chunk-5GLDOLNQ.js} +131 -26
  43. package/chunks/{chunk-WK7P62DV.js → chunk-5KI7ZDTB.js} +6 -6
  44. package/chunks/{chunk-ERXNTINK.js → chunk-6JACAGYH.js} +1 -1
  45. package/chunks/{chunk-CMWU6P4D.js → chunk-6W4HBUA2.js} +1 -1
  46. package/chunks/{chunk-AUTUFD5X.js → chunk-76RGWKLS.js} +1 -1
  47. package/chunks/{chunk-PDN7FJZV.js → chunk-7APZIRH3.js} +2 -2
  48. package/chunks/{chunk-WBU2PIZ5.js → chunk-7BXXIQG4.js} +16 -16
  49. package/chunks/{chunk-APXIW2TF.js → chunk-7ICHPMBQ.js} +4 -4
  50. package/chunks/{chunk-CWVZBIZJ.js → chunk-7Q2AXRDJ.js} +1 -1
  51. package/chunks/{chunk-WDVV3LRM.js → chunk-7QYWGTHB.js} +1 -1
  52. package/chunks/{chunk-RM244SCQ.js → chunk-AC6KDLH3.js} +1 -1
  53. package/chunks/{chunk-2WC3Y7YY.js → chunk-AEY27Z35.js} +401 -23
  54. package/chunks/{chunk-XDNFODER.js → chunk-AXTFYDXT.js} +1 -1
  55. package/chunks/chunk-AYEJOTIU.js +43 -0
  56. package/chunks/{chunk-ZN5TKAVR.js → chunk-BV6Q5HMY.js} +3 -3
  57. package/chunks/{chunk-TOOOLHVS.js → chunk-BWAMMKIS.js} +3 -3
  58. package/chunks/{chunk-IRGDIDGJ.js → chunk-BWQLXU37.js} +26 -19
  59. package/chunks/{process-registry-OAEG6WGC.js → chunk-BYUAT5OC.js} +1 -0
  60. package/chunks/{chunk-GOEVQADN.js → chunk-BZM5U74J.js} +287 -169
  61. package/chunks/chunk-CF5KXZZX.js +150 -0
  62. package/chunks/{chunk-TGNNLRC3.js → chunk-CJ3DHN5I.js} +1 -0
  63. package/chunks/{chunk-PFKGV6PO.js → chunk-CUEXOHQH.js} +9 -9
  64. package/chunks/chunk-CXTPVBFA.js +937 -0
  65. package/chunks/{chunk-LEAOJ43M.js → chunk-DAWWT2ID.js} +62 -59
  66. package/chunks/{chunk-CALTQWTZ.js → chunk-DLH7YIX6.js} +2 -2
  67. package/chunks/chunk-DT75RKNH.js +691 -0
  68. package/chunks/{chunk-TRWQQBVH.js → chunk-DTNV6UZY.js} +1 -1
  69. package/chunks/{chunk-3OAXF3UK.js → chunk-DYFOSJHU.js} +3080 -933
  70. package/chunks/{chunk-GSFV5RQW.js → chunk-E4UEO3XM.js} +3 -2
  71. package/chunks/{chunk-A7EFXK7P.js → chunk-E7LB57MB.js} +5 -5
  72. package/chunks/{chunk-KEPC5BOL.js → chunk-EDMXGXAK.js} +9 -9
  73. package/chunks/chunk-ELRMZTPF.js +374 -0
  74. package/chunks/chunk-ERU3SDXT.js +27 -0
  75. package/chunks/{chunk-O2FEO2CB.js → chunk-EUURTIV6.js} +18 -2
  76. package/chunks/{chunk-QFJZAY7W.js → chunk-EVTNACMT.js} +3 -3
  77. package/chunks/{chunk-4HOEU2OR.js → chunk-EWJTAP3Y.js} +1 -19
  78. package/chunks/{chunk-YQGW3M6Z.js → chunk-F42YYSCK.js} +8 -8
  79. package/chunks/{chunk-7PD7ZMX5.js → chunk-FCQJLMA2.js} +98 -5
  80. package/chunks/{chunk-4VY3ITHR.js → chunk-FN3JNDRU.js} +3 -3
  81. package/chunks/{chunk-R457KFV7.js → chunk-GCDXVPFK.js} +3 -3
  82. package/chunks/{chunk-IR6JKBAP.js → chunk-GOXQL4YH.js} +2 -2
  83. package/chunks/{chunk-YLOHCA6I.js → chunk-GSILBZLN.js} +2 -2
  84. package/chunks/{chunk-LNYV4GXX.js → chunk-GSKX53AN.js} +0 -139
  85. package/chunks/{chunk-4WMGYG3F.js → chunk-HBQ2NXOU.js} +2 -2
  86. package/chunks/{chunk-F2NYVASI.js → chunk-HBU7EKY4.js} +14 -12
  87. package/chunks/{chunk-6G4V7SE4.js → chunk-HG46TTAG.js} +1 -1
  88. package/chunks/{chunk-G5VOXCRX.js → chunk-HGAELO7B.js} +2 -2
  89. package/chunks/{chunk-FETY36NQ.js → chunk-HGEUHUEV.js} +1 -1
  90. package/chunks/{chunk-E6TI726I.js → chunk-HUXPEUFL.js} +1 -1
  91. package/chunks/{chunk-LYT2OU7D.js → chunk-IAEXTMED.js} +1 -1
  92. package/chunks/{chunk-IW6RQPQB.js → chunk-IJOS26LH.js} +1 -3
  93. package/chunks/{chunk-ORFIYTI2.js → chunk-IK2MWJP5.js} +1 -1
  94. package/chunks/{chunk-WXD7INFV.js → chunk-IL5M5NYD.js} +8 -8
  95. package/chunks/{chunk-KA5HR3G2.js → chunk-IUVIBDKU.js} +2 -2
  96. package/chunks/{chunk-5DQ4YTIZ.js → chunk-IV7GDNKC.js} +1 -1
  97. package/chunks/chunk-JL6APGBX.js +43 -0
  98. package/chunks/{chunk-N6S3NUYJ.js → chunk-JXNIF2O5.js} +1 -1
  99. package/chunks/{chunk-DAI65CMX.js → chunk-JYKWOREU.js} +1 -1
  100. package/chunks/chunk-K2OJUPOE.js +78 -0
  101. package/chunks/{chunk-KFECPHLV.js → chunk-KFZYGSJN.js} +3 -3
  102. package/chunks/{chunk-BK7D2JR6.js → chunk-KOKPXIAN.js} +3 -3
  103. package/chunks/{chunk-4I3WFI3U.js → chunk-LDVNJZGH.js} +12 -12
  104. package/chunks/{chunk-WXFCI3O5.js → chunk-LG5Y4OWO.js} +2 -2
  105. package/chunks/{chunk-3LPJ776W.js → chunk-LILGKQ4B.js} +10 -7
  106. package/chunks/{chunk-X7LFJF5D.js → chunk-LK2WUCDQ.js} +36 -84
  107. package/chunks/{chunk-7LTCFO6T.js → chunk-MF6E7FSA.js} +6 -5
  108. package/chunks/{chunk-ELD3OBPU.js → chunk-MHAADZOZ.js} +3 -3
  109. package/chunks/{chunk-4JNHNVAZ.js → chunk-MLQNSPRZ.js} +4 -4
  110. package/chunks/{chunk-NPKCVSXX.js → chunk-MOS5OAOG.js} +10 -8
  111. package/chunks/{chunk-IWABUX6T.js → chunk-MSNHNAQZ.js} +6 -6
  112. package/chunks/{chunk-HJ5UJQQL.js → chunk-N7VWZDWW.js} +1699 -1312
  113. package/chunks/{chunk-NB3NDQQK.js → chunk-NE624IVP.js} +1 -1
  114. package/chunks/{chunk-SOA4HKRJ.js → chunk-NFYEQRLG.js} +2 -2
  115. package/chunks/{chunk-G3ZUMSFS.js → chunk-NHCZJQE4.js} +6 -6
  116. package/chunks/{chunk-B25JYXZE.js → chunk-NHJKAR6E.js} +4 -4
  117. package/chunks/{chunk-ZP5XDLSA.js → chunk-NJQTG2G3.js} +12 -12
  118. package/chunks/{chunk-DARWOZY6.js → chunk-NLNQNBZ2.js} +1 -1
  119. package/chunks/{chunk-CCBTNJB4.js → chunk-NMCDMLHL.js} +27 -27
  120. package/chunks/{chunk-AO2VMS72.js → chunk-NMRCXKQ5.js} +3 -3
  121. package/chunks/{chunk-5BH2AIEY.js → chunk-NOAG7N22.js} +2 -2
  122. package/chunks/{chunk-VJJXG73H.js → chunk-NRXWJXJ4.js} +15 -0
  123. package/chunks/chunk-NUQ4GK5I.js +315 -0
  124. package/chunks/{chunk-J3VZF2AL.js → chunk-NUQVB25K.js} +2 -2
  125. package/chunks/{chunk-U6REWGVR.js → chunk-OLTN767L.js} +2 -2
  126. package/chunks/{chunk-R3JIDRUL.js → chunk-OX7IZ2G5.js} +4 -4
  127. package/chunks/{chunk-QAZ2MGYT.js → chunk-PLLIWEM3.js} +2 -2
  128. package/chunks/{chunk-KCF2436G.js → chunk-POC3YMHG.js} +4 -4
  129. package/chunks/{chunk-HZ2HUXX7.js → chunk-Q2LVVIKF.js} +1 -1
  130. package/chunks/{chunk-7NDZKE2M.js → chunk-Q5BD56BW.js} +3 -3
  131. package/chunks/{chunk-22GORRNY.js → chunk-QMUYLYT5.js} +1 -1
  132. package/chunks/{chunk-MV5DTLJV.js → chunk-R4Q2PEFV.js} +1 -1
  133. package/chunks/{chunk-GOKAOSCN.js → chunk-RLLRJJDR.js} +1 -1
  134. package/chunks/{chunk-5OZUKLL7.js → chunk-RWVD5RRY.js} +4 -4
  135. package/chunks/{chunk-ULZECEIP.js → chunk-RZHU3K6M.js} +2 -2
  136. package/chunks/{chunk-UYDQYDW2.js → chunk-S6Q6Q4P2.js} +1 -1
  137. package/chunks/{chunk-PQEISIKS.js → chunk-SAH4BD2J.js} +0 -67
  138. package/chunks/{chunk-LWX4WDFF.js → chunk-SBRX4BDI.js} +43 -15
  139. package/chunks/{chunk-TODNHE76.js → chunk-SODMFNAR.js} +5 -5
  140. package/chunks/{chunk-FAJPLSYF.js → chunk-SSGAAWLY.js} +89 -85
  141. package/chunks/{chunk-46MMBZHI.js → chunk-SYLECP23.js} +4 -4
  142. package/chunks/{chunk-6RZX2HIH.js → chunk-TBEXLLAO.js} +2 -2
  143. package/chunks/{chunk-MWIO7MF6.js → chunk-TP6FYVQT.js} +2 -0
  144. package/chunks/{chunk-HRPFBHW7.js → chunk-TPKQIA7G.js} +1 -0
  145. package/chunks/{chunk-QHLHE2OT.js → chunk-TWUKBNWM.js} +1 -1
  146. package/chunks/{chunk-H3Q3RSKZ.js → chunk-U7O65WKL.js} +1 -1
  147. package/chunks/{chunk-S5QR6CB5.js → chunk-UKMWZ5NS.js} +108 -887
  148. package/chunks/{chunk-OXR34GCD.js → chunk-UKZ45TJL.js} +1851 -34
  149. package/chunks/{chunk-CALNF3Z3.js → chunk-V2P3DOQR.js} +1 -1
  150. package/chunks/{chunk-FV4DM2M4.js → chunk-VG3Q2NC4.js} +7 -7
  151. package/chunks/{chunk-QTNCGZHQ.js → chunk-VX63RJXE.js} +9 -0
  152. package/chunks/{chunk-CRZBDVP2.js → chunk-VZUCTJ2P.js} +4 -4
  153. package/chunks/{chunk-2BMXHB6N.js → chunk-W5FIP7FC.js} +7 -7
  154. package/chunks/{chunk-7VEYUF3N.js → chunk-W5ZQMAEM.js} +1 -1
  155. package/chunks/{chunk-XQ4RDO5B.js → chunk-WBCPROWX.js} +1 -1
  156. package/chunks/{chunk-JYGIJA4W.js → chunk-X6K77VHC.js} +1 -1
  157. package/chunks/{chunk-7SVM3RP2.js → chunk-X7UJKOHZ.js} +3 -3
  158. package/chunks/{chunk-WXPPUPHM.js → chunk-XBZTAGB7.js} +1 -1
  159. package/chunks/{chunk-TRQNRP2H.js → chunk-XGYHNWL3.js} +45 -2
  160. package/chunks/{chunk-2EKVPSIJ.js → chunk-Y2MYW47X.js} +1 -1
  161. package/chunks/{chunk-OFVAS4AR.js → chunk-YBUMTY7B.js} +1 -1
  162. package/chunks/{chunk-67XTVRVB.js → chunk-YQHLFCPU.js} +7 -7
  163. package/chunks/{chunk-G37O7YO6.js → chunk-Z3GF56ME.js} +2 -2
  164. package/chunks/{chunk-XBVNNDPK.js → chunk-ZHKTKHMO.js} +8 -1
  165. package/chunks/{chunk-OWCFKIFQ.js → chunk-ZKYR7QS4.js} +1 -1
  166. package/chunks/{chunk-YZTGGCEE.js → chunk-ZKZHSB5W.js} +1 -1
  167. package/chunks/{chunk-565U2ANU.js → chunk-ZTTC7T4X.js} +1 -1
  168. package/chunks/{chunk-XSOXPG2L.js → chunk-ZU47FBOC.js} +36 -7
  169. package/chunks/{chunk-7OCIQNKX.js → chunk-ZW2EUO2A.js} +1 -1
  170. package/chunks/{config-utils-GPLIABL2.js → config-utils-L6KLDYIV.js} +62 -55
  171. package/chunks/{contextCommand-NCUQUDBY.js → contextCommand-UYEH7NIU.js} +59 -52
  172. package/chunks/{core-runtime-WKYKWVYU.js → core-runtime-NVHT3Z3V.js} +61 -54
  173. package/chunks/{create-sub-session-TGIX63YU.js → create-sub-session-TIGCFGCS.js} +2 -2
  174. package/chunks/{create-sub-session-PPLXB3JJ.js → create-sub-session-YWASE5VH.js} +59 -52
  175. package/chunks/{cron-create-GTPVMJCF.js → cron-create-AKWX67FO.js} +1 -1
  176. package/chunks/{cron-delete-ZBK27Z4K.js → cron-delete-XPB6IYZJ.js} +1 -1
  177. package/chunks/{cron-list-KTFKFDKC.js → cron-list-XBKO4WU5.js} +1 -1
  178. package/chunks/{daemon-2CKIAO3I.js → daemon-G5TYKZD6.js} +2 -2
  179. package/chunks/{daemon-git-worktree-guard-73ZWOLKL.js → daemon-git-worktree-guard-FOW4RQSK.js} +60 -53
  180. package/chunks/{daemon-status-provider-OK7VONJG.js → daemon-status-provider-O5KQZYMP.js} +67 -60
  181. package/chunks/{daemon-trust-policy-CAUCREG2.js → daemon-trust-policy-3ATXEON7.js} +64 -57
  182. package/chunks/{daemon-trust-policy-monitor-3Y36OOEQ.js → daemon-trust-policy-monitor-7MCNDNEC.js} +64 -57
  183. package/chunks/{deferred-core-runtime-Q7WFWYD3.js → deferred-core-runtime-JK5IXL5K.js} +57 -50
  184. package/chunks/{display-image-CTNHJRZC.js → display-image-NAH3AZ63.js} +3 -3
  185. package/chunks/{dist-NP7QKLVG.js → dist-AHJYPSJL.js} +3 -3
  186. package/chunks/{dist-6YDUH3BB.js → dist-AIKC5E5P.js} +2 -2
  187. package/chunks/{dist-Y5KC3IHW.js → dist-F2DVGTL3.js} +225 -6
  188. package/chunks/{dist-BNQVF565.js → dist-GWNQVPZT.js} +5 -5
  189. package/chunks/{dist-F6JLAJLE.js → dist-H6G3K26N.js} +3 -3
  190. package/chunks/{dist-ZDNJK74R.js → dist-KJGRVIGJ.js} +2 -2
  191. package/chunks/{dist-F34J4FZX.js → dist-KLZ7XGEQ.js} +2 -2
  192. package/chunks/{dist-UFTFGI6I.js → dist-ZA52JXAS.js} +2 -2
  193. package/chunks/{dist-XLV33CLY.js → dist-ZXTZTE54.js} +2 -2
  194. package/chunks/{edit-YJD6IETK.js → edit-SY35KYIE.js} +45 -39
  195. package/chunks/{en-YJNRUQG4.js → en-CAJHTIQT.js} +1 -0
  196. package/chunks/{enter-worktree-YFTKHXHZ.js → enter-worktree-54L5QJ3N.js} +4 -4
  197. package/chunks/{enterPlanMode-EFPVTWIH.js → enterPlanMode-HXX6KQJR.js} +42 -36
  198. package/chunks/{environment-HP3AXFTB.js → environment-DKXHG4HB.js} +60 -53
  199. package/chunks/{errors-22ON46G7.js → errors-ADY7LQJJ.js} +59 -52
  200. package/chunks/{exit-worktree-NF2XEMES.js → exit-worktree-EORJDKDS.js} +4 -4
  201. package/chunks/{exitPlanMode-MOQUNCBH.js → exitPlanMode-HSK2CQI6.js} +42 -36
  202. package/chunks/{fast-path-2X7BPMXX.js → fast-path-U636VWN2.js} +6 -6
  203. package/chunks/{fast-path-settings-SATXY3PD.js → fast-path-settings-V7MI7EZJ.js} +2 -2
  204. package/chunks/{glob-Y7ACIB3P.js → glob-GUGGTH5L.js} +45 -39
  205. package/chunks/{goal-tools-DABMICUC.js → goal-tools-PXYRSQGX.js} +42 -36
  206. package/chunks/{grep-BLHF2S5D.js → grep-3PKFKLCA.js} +2 -2
  207. package/chunks/{handleAutoUpdate-MCAMHYDI.js → handleAutoUpdate-5KHS4HIN.js} +60 -53
  208. package/chunks/{i18n-C3GDCALP.js → i18n-KSGKMUPT.js} +58 -51
  209. package/chunks/{image-gen-XP4NNIYG.js → image-gen-OCCR2WWU.js} +5 -4
  210. package/chunks/{initializer-4URDQL2G.js → initializer-YYT5XEZF.js} +64 -57
  211. package/chunks/{installationInfo-LBOL6SBV.js → installationInfo-UNSBPYW2.js} +57 -50
  212. package/chunks/{list-JOGBAC2R.js → list-YL6LDQKQ.js} +67 -60
  213. package/chunks/{list-agents-2CXPGJUE.js → list-agents-QLDXS5OD.js} +17 -7
  214. package/chunks/{llm-2KPNSAVY.js → llm-XGGLBGPH.js} +126 -119
  215. package/chunks/{llm-content-generator-GR3FOHLB.js → llm-content-generator-ZHQQT5W7.js} +5 -4
  216. package/chunks/{loadedSettingsAdapter-DVKROEJD.js → loadedSettingsAdapter-3DXLASK7.js} +64 -57
  217. package/chunks/{loggingContentGenerator-P4K6K5W4.js → loggingContentGenerator-V72OCCJO.js} +64 -57
  218. package/chunks/{loop-wakeup-HL6XOWI4.js → loop-wakeup-HHMYIC7Z.js} +2 -2
  219. package/chunks/{ls-YV7RKLKY.js → ls-N7ABR6HI.js} +4 -4
  220. package/chunks/{lsp-NO3AMRZT.js → lsp-LTOFWG5P.js} +1 -1
  221. package/chunks/{managed-npm-update-VWBKHNIN.js → managed-npm-update-HV5LPZH2.js} +57 -50
  222. package/chunks/{mcp-6YYNSYLK.js → mcp-IYVSIW6O.js} +64 -57
  223. package/chunks/{monitor-A255TNZR.js → monitor-TLBNM4MV.js} +44 -38
  224. package/chunks/{nonInteractiveCli-LXGIKQAT.js → nonInteractiveCli-LSJSQ2W4.js} +110 -103
  225. package/chunks/{notebook-edit-5UYHS2DM.js → notebook-edit-OSPOLZP6.js} +43 -37
  226. package/chunks/openai-WX26N5OJ.js +47 -0
  227. package/chunks/{openaiContentGenerator-A6MAMEO5.js → openaiContentGenerator-BE4S5TRD.js} +29 -23
  228. package/chunks/openaiResponsesContentGenerator-RTCAJ5V5.js +1658 -0
  229. package/chunks/{pidfile-B7DZC4TP.js → pidfile-H32FEPWA.js} +57 -50
  230. package/chunks/process-registry-X6ZCASEN.js +10 -0
  231. package/chunks/{processUtils-BPZ2MCZS.js → processUtils-SSLIPDEA.js} +2 -2
  232. package/chunks/{prompt-terminal-ledger-FYYTAOXS.js → prompt-terminal-ledger-I5SLL6UF.js} +58 -51
  233. package/chunks/{qwenContentGenerator-4IOJFD4S.js → qwenContentGenerator-TMQC623Z.js} +55 -47
  234. package/chunks/{qwenOAuth2-KX6LVYQ3.js → qwenOAuth2-3ZRQHHTC.js} +4 -3
  235. package/chunks/{read-file-A4H4O3VQ.js → read-file-T2QAIZE2.js} +11 -9
  236. package/chunks/{read-mcp-resource-D3N75DGF.js → read-mcp-resource-B37WANAQ.js} +1 -1
  237. package/chunks/{record-artifact-Q5CRGJTP.js → record-artifact-OAXWXZ5D.js} +2 -2
  238. package/chunks/record-source-D7R7X3GT.js +22 -0
  239. package/chunks/{report-findings-TJ34R7QK.js → report-findings-AR3VC6EQ.js} +3 -3
  240. package/chunks/{request-shutdown-LRKMTBAD.js → request-shutdown-IKNWTX5M.js} +5 -5
  241. package/chunks/{resumeHistoryUtils-YQQ43E4N.js → resumeHistoryUtils-QLKDH5GY.js} +63 -56
  242. package/chunks/{ripGrep-W32NWFTA.js → ripGrep-YGWL7KCV.js} +15 -13
  243. package/chunks/{run-qwen-serve-WBSWWIRV.js → run-qwen-serve-26KZDECC.js} +127 -102
  244. package/chunks/{runtime-VRVBX2E5.js → runtime-BMEIVDDG.js} +70 -63
  245. package/chunks/{scheduled-tasks-D65KJDA3.js → scheduled-tasks-NCFPP6VQ.js} +64 -57
  246. package/chunks/{scheduler-M2YPN7Z7.js → scheduler-47TVMUVN.js} +59 -52
  247. package/chunks/{sdk-exporters-grpc-MXTVSE3C.js → sdk-exporters-grpc-Y2ZUQDUQ.js} +2 -2
  248. package/chunks/{sdk-exporters-http-7R2ARBPV.js → sdk-exporters-http-VWTF4W6K.js} +3 -3
  249. package/chunks/{sdk-impl-YOLO7LV4.js → sdk-impl-G6FVTBQZ.js} +9 -9
  250. package/chunks/{send-message-76BKWKFZ.js → send-message-TWOGWCBG.js} +12 -9
  251. package/chunks/{serve-BE3H2P6P.js → serve-KL3G6LQQ.js} +64 -57
  252. package/chunks/{server-FLY5JERG.js → server-LBPYXZ5G.js} +2931 -518
  253. package/chunks/{session-JVN62R5K.js → session-YG6742LO.js} +118 -111
  254. package/chunks/{session-attachments-root-7ACGLHXA.js → session-attachments-root-OUBQDYC4.js} +57 -50
  255. package/chunks/{session-pr-refresh-TQS57SDK.js → session-pr-refresh-EKGMYNAW.js} +64 -57
  256. package/chunks/{settings-D44YMZFT.js → settings-DDNHJX2L.js} +69 -62
  257. package/chunks/{shell-3VE6I4V5.js → shell-KUCXWITU.js} +42 -36
  258. package/chunks/{skill-FHEGRRZU.js → skill-JQLKPNWZ.js} +33 -23
  259. package/chunks/{skill-settings-VHEJMBFL.js → skill-settings-XERQCUXZ.js} +63 -56
  260. package/chunks/{spawnChannel-T6MX2ZDN.js → spawnChannel-GQ45QFGB.js} +60 -53
  261. package/chunks/{standalone-update-QUGHFMCS.js → standalone-update-PRF3ILGZ.js} +59 -52
  262. package/chunks/{start-opentui-ui-IHIIZ2LE.js → start-opentui-ui-JDSOZE3N.js} +174 -157
  263. package/chunks/{startInteractiveUI-LR7K2ARZ.js → startInteractiveUI-RRW3JVHN.js} +533 -1119
  264. package/chunks/{syntheticOutput-D2P5V6RG.js → syntheticOutput-F6F27JMK.js} +2 -2
  265. package/chunks/{task-create-MWXJFRRM.js → task-create-Y623TBHB.js} +8 -8
  266. package/chunks/{task-list-EYO3FE57.js → task-list-FCPEEGWL.js} +1 -1
  267. package/chunks/{task-stop-BFSKRTGV.js → task-stop-QTKZXLPH.js} +1 -1
  268. package/chunks/{task-update-2JJJRHMT.js → task-update-YLSXF25N.js} +8 -8
  269. package/chunks/{team-create-GY3VFY47.js → team-create-5DRLOLOE.js} +44 -38
  270. package/chunks/{team-delete-IQZ6XGFI.js → team-delete-S7TLHZCF.js} +1 -1
  271. package/chunks/{team-plan-approval-BQPGZOT5.js → team-plan-approval-MWSGAL5T.js} +42 -36
  272. package/chunks/{terminal-image-renderer-YNYW5CQG.js → terminal-image-renderer-H7PD4FQW.js} +59 -52
  273. package/chunks/{theme-manager-U6CIK3GM.js → theme-manager-7AV73D6R.js} +57 -50
  274. package/chunks/{todoWrite-5ERKFWAK.js → todoWrite-5QI2H2FW.js} +4 -4
  275. package/chunks/{tool-search-XI3QWD5I.js → tool-search-UGYTBLUV.js} +17 -15
  276. package/chunks/{total-session-admission-3SNSJJ32.js → total-session-admission-JIHSTJ5S.js} +62 -55
  277. package/chunks/{trustedFolders-OVAQKNV5.js → trustedFolders-5VCBXFOP.js} +58 -51
  278. package/chunks/{update-relaunch-XV5O74E3.js → update-relaunch-4LF3APCV.js} +5 -5
  279. package/chunks/{updateCheck-CHUYWD6L.js → updateCheck-4T3WUE5F.js} +59 -52
  280. package/chunks/{useAutoAcceptIndicator-VKSVIXZC.js → useAutoAcceptIndicator-UMGB64Z6.js} +67 -60
  281. package/chunks/{validateNonInterActiveAuth-ZNUTD3E5.js → validateNonInterActiveAuth-GFJ72U2C.js} +107 -100
  282. package/chunks/{version-EK7VAGSI.js → version-EAAZN4T2.js} +1 -1
  283. package/chunks/{web-fetch-24KZO763.js → web-fetch-VRU3A2NI.js} +13 -11
  284. package/chunks/{web-search-CRNXKZ2X.js → web-search-NEGYQNDJ.js} +14 -10
  285. package/chunks/{web-shell-static-BFDESDD4.js → web-shell-static-CCN4JZEE.js} +1 -1
  286. package/chunks/workflow-UHPFALVZ.js +1224 -0
  287. package/chunks/{workspace-providers-status-MAM42IZS.js → workspace-providers-status-AEYISSU2.js} +68 -61
  288. package/chunks/{workspace-registration-store-HKLJEDQX.js → workspace-registration-store-A7RGKW62.js} +3 -1
  289. package/chunks/{workspace-registry-7RDDOBLN.js → workspace-registry-C2NGE6SD.js} +62 -55
  290. package/chunks/{workspace-runtime-coordinator-LEPDPXJO.js → workspace-runtime-coordinator-QKMZ24YF.js} +63 -56
  291. package/chunks/{workspace-service-5IFDCNN3.js → workspace-service-RQTTAGGC.js} +70 -63
  292. package/chunks/{workspace-skills-status-FJ3HNH4H.js → workspace-skills-status-5HWZU3HX.js} +65 -58
  293. package/chunks/{workspace-trust-reconciler-PQFHIWLR.js → workspace-trust-reconciler-KFWATZUU.js} +69 -62
  294. package/chunks/{write-file-ERG67ZFX.js → write-file-DPVB2SBQ.js} +44 -38
  295. package/chunks/{zh-VBFCRQBL.js → zh-S5V3Z5CR.js} +1 -0
  296. package/chunks/{zh-TW-N2TBF2F2.js → zh-TW-2K2WRFPY.js} +1 -0
  297. package/chunks/{zoom-image-WQYEC3SR.js → zoom-image-S7AWLAPC.js} +12 -10
  298. package/cli.js +13 -13
  299. package/export-transcript-document.css +1 -0
  300. package/export-transcript-document.js +164 -165
  301. package/locales/en.js +1 -0
  302. package/locales/zh-TW.js +1 -0
  303. package/locales/zh.js +1 -0
  304. package/package.json +5 -4
  305. package/web-shell/assets/{abnfDiagram-VCTEODGH-BRLgQbnT.js → abnfDiagram-VCTEODGH-nU24rpIE.js} +1 -1
  306. package/web-shell/assets/{arc-qAF9_XsR.js → arc-D1hTu8QI.js} +1 -1
  307. package/web-shell/assets/{architectureDiagram-5GKGNRK7-BorUttEz.js → architectureDiagram-5GKGNRK7-B_fgkKe7.js} +1 -1
  308. package/web-shell/assets/{blockDiagram-NRAW4CY4-Bj0qZVxu.js → blockDiagram-NRAW4CY4-C3pddUNg.js} +1 -1
  309. package/web-shell/assets/{c4Diagram-UCG6FXSJ-BTqJis32.js → c4Diagram-UCG6FXSJ-kEFoC1ei.js} +1 -1
  310. package/web-shell/assets/channel-Blod4z1X.js +1 -0
  311. package/web-shell/assets/{chunk-2Q5K7J3B-RrQ5X8m-.js → chunk-2Q5K7J3B-DbT9wS7j.js} +1 -1
  312. package/web-shell/assets/{chunk-5VM5RSS4-uUjDl8wO.js → chunk-5VM5RSS4-CNbULt6O.js} +1 -1
  313. package/web-shell/assets/{chunk-F27PBJKO-C3JhpyzI.js → chunk-F27PBJKO-CbQRy4Tb.js} +1 -1
  314. package/web-shell/assets/{chunk-G27WJ6UU-C8ZNFs7F.js → chunk-G27WJ6UU-CVbXTxYk.js} +1 -1
  315. package/web-shell/assets/{chunk-JWPE2WC7-DNpXtEOs.js → chunk-JWPE2WC7-D89c_BXy.js} +1 -1
  316. package/web-shell/assets/{chunk-LCL6LL3I-DagA2ZLw.js → chunk-LCL6LL3I-B7-I_9KB.js} +1 -1
  317. package/web-shell/assets/{chunk-POPQ4Y6H-R23uH7Xm.js → chunk-POPQ4Y6H-DcLQFzS4.js} +1 -1
  318. package/web-shell/assets/{chunk-SVP7TREG-Qz9RN_BR.js → chunk-SVP7TREG-DyBb2Axj.js} +1 -1
  319. package/web-shell/assets/{chunk-XXDRQBXY-jYb1_hni.js → chunk-XXDRQBXY-BIA0eb5B.js} +1 -1
  320. package/web-shell/assets/classDiagram-DTDB5LWJ-D6hFDMqb.js +1 -0
  321. package/web-shell/assets/classDiagram-v2-JRS7N3AN-D6hFDMqb.js +1 -0
  322. package/web-shell/assets/{cose-bilkent-JH36ORCC-Cv2OunpE.js → cose-bilkent-JH36ORCC-Db2FYN85.js} +1 -1
  323. package/web-shell/assets/{cynefin-OW5HDTMX-LH42KFJx.js → cynefin-OW5HDTMX-i4GwmBVy.js} +1 -1
  324. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-Dha4_OoR.js → cynefinDiagram-5FMLGOSQ-LENf_IUy.js} +1 -1
  325. package/web-shell/assets/{dagre-3AP2YEHR-Br5lnUKD.js → dagre-3AP2YEHR-CF9XVrD9.js} +1 -1
  326. package/web-shell/assets/{diagram-S7CK7UJ4-dpKq2bBX.js → diagram-S7CK7UJ4-DD5PJfSm.js} +1 -1
  327. package/web-shell/assets/{diagram-UQ7AKVKN-BAgHWpXr.js → diagram-UQ7AKVKN-CjD_sBMj.js} +1 -1
  328. package/web-shell/assets/{diagram-VSXAHHWV-GRRzpyE2.js → diagram-VSXAHHWV-U5WwMqyA.js} +1 -1
  329. package/web-shell/assets/{diagram-VX7I27RA-BNFiaYpG.js → diagram-VX7I27RA-BujpHJJf.js} +1 -1
  330. package/web-shell/assets/{diagram-Z3DM3KII-BisZzB_h.js → diagram-Z3DM3KII-3ZLtKEXo.js} +1 -1
  331. package/web-shell/assets/{ebnfDiagram-PWID7BFC-B1xbwycf.js → ebnfDiagram-PWID7BFC-BGpiquRm.js} +1 -1
  332. package/web-shell/assets/{erDiagram-SSCWMZ5O-CQMzbGE5.js → erDiagram-SSCWMZ5O-D0besu_U.js} +1 -1
  333. package/web-shell/assets/{flowDiagram-A5DVABFB-CZ_Zondl.js → flowDiagram-A5DVABFB-9DwDuIyr.js} +1 -1
  334. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-BTh2ShxS.js → ganttDiagram-EL5Y4UJY-CNlsAeNr.js} +1 -1
  335. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-oHOB-Uxt.js → gitGraphDiagram-WWUBYQGX-C_pPFiTR.js} +1 -1
  336. package/web-shell/assets/{index-DWoFMu5x.js → index-BYWs4JWq.js} +1 -1
  337. package/web-shell/assets/index-D3YS6KuJ.js +2173 -0
  338. package/web-shell/assets/index-eBxK3rs2.css +36 -0
  339. package/web-shell/assets/{infoDiagram-RXCK75RN-C0QpudbG.js → infoDiagram-RXCK75RN-Bpai64Ll.js} +1 -1
  340. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-a6B741uT.js → ishikawaDiagram-5VMMS53U-ktpJFq4r.js} +1 -1
  341. package/web-shell/assets/{journeyDiagram-EYS64GPL-Dbht9ICp.js → journeyDiagram-EYS64GPL-iz_DKgFX.js} +1 -1
  342. package/web-shell/assets/{kanban-definition-3QL26DDD-D4OFR8-h.js → kanban-definition-3QL26DDD-m_gG00Yt.js} +1 -1
  343. package/web-shell/assets/{layout-Dvdh5jRH.js → layout-qEvKgnvU.js} +1 -1
  344. package/web-shell/assets/{linear-Dvc6KIW2.js → linear-C6lklGdq.js} +1 -1
  345. package/web-shell/assets/{mermaid.core-CB36RfIb.js → mermaid.core-DSCYB_2P.js} +6 -6
  346. package/web-shell/assets/{mindmap-definition-FBJOCRG2-Fmqo1CjP.js → mindmap-definition-FBJOCRG2-DRQbT8w-.js} +1 -1
  347. package/web-shell/assets/{pegDiagram-XKGWAZYB-CCxYBoA4.js → pegDiagram-XKGWAZYB-BhD0q0i6.js} +1 -1
  348. package/web-shell/assets/{pieDiagram-E7YTZNPT-BVHKQFzt.js → pieDiagram-E7YTZNPT-BvIGQCSd.js} +1 -1
  349. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-l95IznwR.js → quadrantDiagram-AXDQQJYC-BDQtfpU-.js} +1 -1
  350. package/web-shell/assets/{railroadDiagram-O6MQD6OU-BlLdRdXp.js → railroadDiagram-O6MQD6OU-E1g2KIFK.js} +1 -1
  351. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-BkDLBR5w.js → requirementDiagram-EFPCY7ZU-CuerYJOe.js} +1 -1
  352. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-jAIqRp65.js → sankeyDiagram-P5KCCOFB-CqWyCZGA.js} +1 -1
  353. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-f-soZYPr.js → sequenceDiagram-WJ2MYXX4-B-YWb8x4.js} +1 -1
  354. package/web-shell/assets/{sizeCapture-X5ZJPWSS-BzOuAfB2.js → sizeCapture-X5ZJPWSS-BB7YY4Tl.js} +1 -1
  355. package/web-shell/assets/{stateDiagram-HBIQ2CUA-BPLSs12r.js → stateDiagram-HBIQ2CUA-C8LDpNHS.js} +1 -1
  356. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-C4CbdvGa.js +1 -0
  357. package/web-shell/assets/{swimlanes-XN3QIQJK-D-9E_RIR.js → swimlanes-XN3QIQJK-D94vOoxZ.js} +1 -1
  358. package/web-shell/assets/swimlanesDiagram-VK2B7HYN--QNSIOC8.js +8 -0
  359. package/web-shell/assets/{timeline-definition-24CTP7MA-CT56K-gV.js → timeline-definition-24CTP7MA-C9C8uEYm.js} +1 -1
  360. package/web-shell/assets/{vennDiagram-4TSXK5OY-B-vi4IyO.js → vennDiagram-4TSXK5OY-CYzMHbVW.js} +1 -1
  361. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-C9O7Ju98.js → wardleyDiagram-VM6X3IG4-G9nhtLES.js} +1 -1
  362. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-6d8w3jg2.js → xychartDiagram-S5SC5T6Z-ruD2Wjhg.js} +1 -1
  363. package/web-shell/index.html +29 -5
  364. package/chunks/chunk-V7RNNPGC.js +0 -44
  365. package/chunks/workflow-HD5NYMW5.js +0 -2907
  366. package/web-shell/assets/channel-COIuCrVH.js +0 -1
  367. package/web-shell/assets/classDiagram-DTDB5LWJ-DoX6OYqu.js +0 -1
  368. package/web-shell/assets/classDiagram-v2-JRS7N3AN-DoX6OYqu.js +0 -1
  369. package/web-shell/assets/index-CI1ysIEv.js +0 -2154
  370. package/web-shell/assets/index-CpxXGH-8.css +0 -36
  371. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-IRul-LaT.js +0 -1
  372. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-D6lgKepA.js +0 -8
  373. /package/chunks/{chunk-JA5CBKRP.js → chunk-7NXSVSFB.js} +0 -0
@@ -51,6 +51,7 @@ var KNOWN_RECORD_SUBTYPES = /* @__PURE__ */ new Set([
51
51
  "file_history_snapshot",
52
52
  "session_source",
53
53
  "session_model",
54
+ "session_sources_snapshot",
54
55
  "branch_checkpoint",
55
56
  "goal_state",
56
57
  "goal_runtime",
@@ -132,7 +133,7 @@ function diagnostic(code, message, affectsCompleteness, fields = {}, severity =
132
133
  }
133
134
  __name(diagnostic, "diagnostic");
134
135
  function isTranscriptConversationRecord(record) {
135
- return !isTranscriptArtifactRecord(record);
136
+ return !isTranscriptArtifactRecord(record) && !(record.type === "system" && record.subtype === "session_sources_snapshot");
136
137
  }
137
138
  __name(isTranscriptConversationRecord, "isTranscriptConversationRecord");
138
139
  function isTranscriptArtifactRecord(record) {
@@ -471,7 +472,7 @@ function selectActiveSideArtifactRecordUuids(records, activeRecordUuids) {
471
472
  if (activeUuids.has(record.uuid)) {
472
473
  nextActiveUuid = record.uuid;
473
474
  nextBlockingUuid = void 0;
474
- } else if (!isSessionArtifactRecord(record) && !(record.type === "system" && record.subtype === "custom_title")) {
475
+ } else if (!isSessionArtifactRecord(record) && !(record.type === "system" && (record.subtype === "custom_title" || record.subtype === "session_sources_snapshot"))) {
475
476
  nextBlockingUuid = record.uuid;
476
477
  }
477
478
  }
@@ -16,10 +16,7 @@ import {
16
16
  MODIFIER_SHIFT_BIT,
17
17
  MODIFIER_SUPER_BIT,
18
18
  clipboardHasImage
19
- } from "./chunk-UYDQYDW2.js";
20
- import {
21
- noteInteraction
22
- } from "./chunk-KW7NOTN6.js";
19
+ } from "./chunk-S6Q6Q4P2.js";
23
20
  import {
24
21
  require_jsx_runtime
25
22
  } from "./chunk-SV5PQVQE.js";
@@ -30,10 +27,13 @@ import {
30
27
  import {
31
28
  require_react
32
29
  } from "./chunk-5QWWOFGG.js";
30
+ import {
31
+ noteInteraction
32
+ } from "./chunk-KW7NOTN6.js";
33
33
  import {
34
34
  KittySequenceOverflowEvent,
35
35
  logKittySequenceOverflow
36
- } from "./chunk-F2NYVASI.js";
36
+ } from "./chunk-HBU7EKY4.js";
37
37
  import {
38
38
  createDebugLogger
39
39
  } from "./chunk-ZAFYHRVY.js";
@@ -28,7 +28,10 @@ import {
28
28
  createWorkerDiagnosticRedactor,
29
29
  normalizeWorkerDiagnostic,
30
30
  sanitizeWorkerDiagnostic
31
- } from "./chunk-DARWOZY6.js";
31
+ } from "./chunk-NLNQNBZ2.js";
32
+ import {
33
+ channelSelectionNames
34
+ } from "./chunk-ALMR3E6Q.js";
32
35
  import {
33
36
  CHANNEL_DAEMON_WORKER_SENTINEL,
34
37
  CHANNEL_WORKER_HEARTBEAT_INTERVAL_MS,
@@ -37,9 +40,6 @@ import {
37
40
  QWEN_DAEMON_WORKSPACE_ENV,
38
41
  QWEN_SERVER_TOKEN_ENV
39
42
  } from "./chunk-GYTKQYDB.js";
40
- import {
41
- channelSelectionNames
42
- } from "./chunk-ALMR3E6Q.js";
43
43
  import {
44
44
  CHANNEL_DELIVERY_IPC_TIMEOUT_MS,
45
45
  ChannelDeliveryError,
@@ -47,17 +47,17 @@ import {
47
47
  createChannelDeliveryMessage,
48
48
  isChannelDeliveryResultMessage
49
49
  } from "./chunk-RKFGE7JH.js";
50
- import {
51
- EXTERNAL_TOOL_GUARD_TOKEN_ENV
52
- } from "./chunk-3VUENPWF.js";
53
50
  import {
54
51
  CHANNEL_WORKER_KILL_GRACE_MS,
55
52
  CHANNEL_WORKER_STARTUP_TIMEOUT_MS,
56
53
  CHANNEL_WORKER_STOP_GRACE_MS
57
- } from "./chunk-TGNNLRC3.js";
54
+ } from "./chunk-CJ3DHN5I.js";
55
+ import {
56
+ EXTERNAL_TOOL_GUARD_TOKEN_ENV
57
+ } from "./chunk-3VUENPWF.js";
58
58
  import {
59
59
  sanitizeLogText
60
- } from "./chunk-WDVV3LRM.js";
60
+ } from "./chunk-7QYWGTHB.js";
61
61
  import {
62
62
  init_esbuild_shims
63
63
  } from "./chunk-5O2XNYP6.js";
@@ -0,0 +1,374 @@
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/core/src/services/session-sources.ts
11
+ init_esbuild_shims();
12
+ import { createHash } from "node:crypto";
13
+ import path from "node:path";
14
+ var SessionSourceError = class extends Error {
15
+ constructor(code, message) {
16
+ super(message);
17
+ this.code = code;
18
+ this.name = "SessionSourceError";
19
+ }
20
+ static {
21
+ __name(this, "SessionSourceError");
22
+ }
23
+ };
24
+ var invalid = /* @__PURE__ */ __name((message) => {
25
+ throw new SessionSourceError("invalid_source", message);
26
+ }, "invalid");
27
+ function object(value, fields) {
28
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
29
+ return invalid("Source must be an object");
30
+ }
31
+ if (Object.keys(value).some((key) => !fields.includes(key))) {
32
+ return invalid("Unknown source field");
33
+ }
34
+ return value;
35
+ }
36
+ __name(object, "object");
37
+ function text(value, field, limit, empty = false, trim = true) {
38
+ if (typeof value !== "string" || /[\p{Cc}\p{Cf}]/u.test(value)) {
39
+ return invalid(`Invalid ${field}`);
40
+ }
41
+ const normalized = trim ? value.trim() : value;
42
+ if (!empty && !normalized || normalized.length > limit) {
43
+ return invalid(`Invalid ${field} length (maximum ${limit})`);
44
+ }
45
+ return normalized;
46
+ }
47
+ __name(text, "text");
48
+ function validateSessionSourceInput(value) {
49
+ const input = object(value, ["title", "description", "locator"]);
50
+ const title = text(input["title"], "title", 200);
51
+ const description = input["description"] === void 0 ? void 0 : text(input["description"], "description", 1e3, true);
52
+ const raw = object(input["locator"], [
53
+ "type",
54
+ "workspacePath",
55
+ "attachmentId",
56
+ "url"
57
+ ]);
58
+ let locator;
59
+ switch (raw["type"]) {
60
+ case "workspace_file": {
61
+ object(raw, ["type", "workspacePath"]);
62
+ const sourcePath = text(
63
+ raw["workspacePath"],
64
+ "workspacePath",
65
+ 500,
66
+ false,
67
+ false
68
+ ).replaceAll("\\", "/");
69
+ if (sourcePath.startsWith("/") || /^[a-z]:/iu.test(sourcePath)) {
70
+ return invalid("Workspace path must be relative");
71
+ }
72
+ const segments = [];
73
+ for (const segment of sourcePath.split("/")) {
74
+ if (!segment || segment === ".") continue;
75
+ if (segment === "..") {
76
+ if (!segments.length)
77
+ return invalid("Workspace path escapes its root");
78
+ segments.pop();
79
+ } else {
80
+ segments.push(segment);
81
+ }
82
+ }
83
+ if (!segments.length)
84
+ return invalid("Workspace path must identify a file");
85
+ locator = { type: "workspace_file", workspacePath: segments.join("/") };
86
+ break;
87
+ }
88
+ case "attachment":
89
+ object(raw, ["type", "attachmentId"]);
90
+ locator = {
91
+ type: "attachment",
92
+ attachmentId: text(
93
+ raw["attachmentId"],
94
+ "attachmentId",
95
+ 200,
96
+ false,
97
+ false
98
+ )
99
+ };
100
+ break;
101
+ case "url": {
102
+ object(raw, ["type", "url"]);
103
+ const maxUrlLength = 2048;
104
+ const url = text(raw["url"], "url", maxUrlLength);
105
+ let parsed;
106
+ try {
107
+ parsed = new URL(url);
108
+ } catch {
109
+ return invalid("Invalid source URL");
110
+ }
111
+ if (!["http:", "https:"].includes(parsed.protocol) || !parsed.hostname || parsed.username || parsed.password) {
112
+ return invalid("Source URL must be HTTP(S) without credentials");
113
+ }
114
+ if (parsed.href.length > maxUrlLength) {
115
+ return invalid(
116
+ `Source URL is too long (maximum ${maxUrlLength} characters after normalization)`
117
+ );
118
+ }
119
+ locator = { type: "url", url: parsed.href };
120
+ break;
121
+ }
122
+ default:
123
+ return invalid("Unknown source locator type");
124
+ }
125
+ return {
126
+ title,
127
+ locator,
128
+ ...description !== void 0 ? { description } : {}
129
+ };
130
+ }
131
+ __name(validateSessionSourceInput, "validateSessionSourceInput");
132
+ function sessionSourceId(sessionId, locator, workspaceCwd) {
133
+ return createHash("sha256").update(JSON.stringify([sessionId, locator, workspaceCwd ?? null])).digest("hex");
134
+ }
135
+ __name(sessionSourceId, "sessionSourceId");
136
+ function ordered(sources) {
137
+ return sources.sort(
138
+ (a, b) => b.createdAt.localeCompare(a.createdAt) || a.id.localeCompare(b.id)
139
+ );
140
+ }
141
+ __name(ordered, "ordered");
142
+ function parseSessionSourcesSnapshot(value, sessionId) {
143
+ const raw = object(value, ["version", "revision", "sources"]);
144
+ if (raw["version"] !== 1 || !Number.isSafeInteger(raw["revision"]) || raw["revision"] < 0 || !Array.isArray(raw["sources"]) || raw["sources"].length > 200) {
145
+ return invalid("Unsupported or malformed sources snapshot");
146
+ }
147
+ const ids = /* @__PURE__ */ new Set();
148
+ const sources = raw["sources"].map((value2) => {
149
+ const source = object(value2, [
150
+ "id",
151
+ "kind",
152
+ "workspaceCwd",
153
+ "createdAt",
154
+ "updatedAt",
155
+ "title",
156
+ "description",
157
+ "locator"
158
+ ]);
159
+ const input = validateSessionSourceInput({
160
+ title: source["title"],
161
+ locator: source["locator"],
162
+ ...source["description"] !== void 0 ? { description: source["description"] } : {}
163
+ });
164
+ const workspaceCwd = source["workspaceCwd"];
165
+ if (input.locator.type === "workspace_file" ? typeof workspaceCwd !== "string" || !path.isAbsolute(workspaceCwd) || path.normalize(workspaceCwd) !== workspaceCwd : workspaceCwd !== void 0) {
166
+ return invalid("Invalid source workspace binding");
167
+ }
168
+ const id = sessionSourceId(
169
+ sessionId,
170
+ input.locator,
171
+ workspaceCwd
172
+ );
173
+ const kind = input.locator.type === "url" ? "link" : "file";
174
+ const createdAt = source["createdAt"];
175
+ const updatedAt = source["updatedAt"];
176
+ const isTimestamp = /* @__PURE__ */ __name((value3) => typeof value3 === "string" && Number.isFinite(Date.parse(value3)) && new Date(value3).toISOString() === value3, "isTimestamp");
177
+ if (source["id"] !== id || ids.has(id) || source["kind"] !== kind || !isTimestamp(createdAt) || !isTimestamp(updatedAt) || updatedAt < createdAt || source["title"] !== input.title || source["description"] !== input.description) {
178
+ return invalid("Invalid stored source");
179
+ }
180
+ ids.add(id);
181
+ return {
182
+ ...input,
183
+ id,
184
+ kind,
185
+ ...typeof workspaceCwd === "string" ? { workspaceCwd } : {},
186
+ createdAt,
187
+ updatedAt
188
+ };
189
+ });
190
+ return {
191
+ version: 1,
192
+ revision: raw["revision"],
193
+ sources: ordered(sources)
194
+ };
195
+ }
196
+ __name(parseSessionSourcesSnapshot, "parseSessionSourcesSnapshot");
197
+ function restoreSessionSources(records, sessionId) {
198
+ const latest = records.findLast(
199
+ (record) => record.type === "system" && record.subtype === "session_sources_snapshot"
200
+ );
201
+ if (!latest) return {};
202
+ try {
203
+ return {
204
+ sourcesSnapshot: parseSessionSourcesSnapshot(
205
+ latest.systemPayload,
206
+ sessionId
207
+ )
208
+ };
209
+ } catch {
210
+ return { sourcesUnavailable: true };
211
+ }
212
+ }
213
+ __name(restoreSessionSources, "restoreSessionSources");
214
+ var SessionSourceService = class {
215
+ constructor(options) {
216
+ this.options = options;
217
+ }
218
+ static {
219
+ __name(this, "SessionSourceService");
220
+ }
221
+ snapshot = {
222
+ version: 1,
223
+ revision: 0,
224
+ sources: []
225
+ };
226
+ loaded = false;
227
+ queue = Promise.resolve();
228
+ serial(operation) {
229
+ const result = this.queue.then(async () => {
230
+ if (!this.loaded) {
231
+ let restored;
232
+ try {
233
+ restored = await this.options.load();
234
+ } catch {
235
+ throw new SessionSourceError(
236
+ "source_persistence_unavailable",
237
+ "Stored sources could not be loaded"
238
+ );
239
+ }
240
+ if (restored.sourcesUnavailable)
241
+ throw new SessionSourceError(
242
+ "source_persistence_unavailable",
243
+ "Stored sources are unavailable"
244
+ );
245
+ this.snapshot = restored.sourcesSnapshot ?? {
246
+ version: 1,
247
+ revision: 0,
248
+ sources: []
249
+ };
250
+ this.loaded = true;
251
+ }
252
+ return operation();
253
+ });
254
+ this.queue = result.catch(() => void 0);
255
+ return result;
256
+ }
257
+ async commit(sources) {
258
+ const next = parseSessionSourcesSnapshot(
259
+ { version: 1, revision: this.snapshot.revision + 1, sources },
260
+ this.options.sessionId
261
+ );
262
+ try {
263
+ await this.options.persist(next);
264
+ } catch {
265
+ this.loaded = false;
266
+ throw new SessionSourceError(
267
+ "source_persistence_unavailable",
268
+ "Source metadata could not be persisted"
269
+ );
270
+ }
271
+ this.snapshot = next;
272
+ void Promise.resolve().then(() => this.options.notify?.(next.revision)).catch(() => void 0);
273
+ }
274
+ list() {
275
+ return this.serial(
276
+ async () => structuredClone({
277
+ revision: this.snapshot.revision,
278
+ sources: this.snapshot.sources
279
+ })
280
+ );
281
+ }
282
+ upsert(value) {
283
+ return this.serial(async () => {
284
+ const input = validateSessionSourceInput(value);
285
+ const workspaceCwd = input.locator.type === "workspace_file" ? path.resolve(this.options.workspaceCwd()) : void 0;
286
+ const id = sessionSourceId(
287
+ this.options.sessionId,
288
+ input.locator,
289
+ workspaceCwd
290
+ );
291
+ const previous = this.snapshot.sources.find((source2) => source2.id === id);
292
+ const description = input.description ?? previous?.description;
293
+ if (previous && previous.title === input.title && previous.description === description) {
294
+ return {
295
+ revision: this.snapshot.revision,
296
+ source: structuredClone(previous),
297
+ change: "unchanged"
298
+ };
299
+ }
300
+ if (!previous && this.snapshot.sources.length >= 200)
301
+ throw new SessionSourceError(
302
+ "source_limit_reached",
303
+ "A session can contain at most 200 sources"
304
+ );
305
+ const now = (/* @__PURE__ */ new Date()).toISOString();
306
+ const source = {
307
+ ...input,
308
+ ...description !== void 0 ? { description } : {},
309
+ id,
310
+ kind: input.locator.type === "url" ? "link" : "file",
311
+ ...workspaceCwd ? { workspaceCwd } : {},
312
+ createdAt: previous?.createdAt ?? now,
313
+ updatedAt: now
314
+ };
315
+ await this.commit([
316
+ ...this.snapshot.sources.filter((item) => item.id !== id),
317
+ source
318
+ ]);
319
+ return {
320
+ revision: this.snapshot.revision,
321
+ source: structuredClone(source),
322
+ change: previous ? "updated" : "created"
323
+ };
324
+ });
325
+ }
326
+ remove(sourceId) {
327
+ return this.serial(async () => {
328
+ const sources = this.snapshot.sources.filter(
329
+ (source) => source.id !== sourceId
330
+ );
331
+ const removed = sources.length !== this.snapshot.sources.length;
332
+ if (removed) await this.commit(sources);
333
+ return { revision: this.snapshot.revision, removed };
334
+ });
335
+ }
336
+ copyFrom(sources, attachmentIds) {
337
+ return this.serial(async () => {
338
+ const warnings = [];
339
+ const cwd = path.resolve(this.options.workspaceCwd());
340
+ const copied = sources.flatMap((source) => {
341
+ if (source.locator.type === "attachment" && !attachmentIds.includes(source.locator.attachmentId) || source.locator.type === "workspace_file" && source.workspaceCwd !== cwd) {
342
+ warnings.push(
343
+ `Source ${source.id} was not copied because its resource could not be mapped`
344
+ );
345
+ return [];
346
+ }
347
+ return [
348
+ {
349
+ ...source,
350
+ id: sessionSourceId(
351
+ this.options.sessionId,
352
+ source.locator,
353
+ source.workspaceCwd
354
+ )
355
+ }
356
+ ];
357
+ });
358
+ if (copied.length) await this.commit(copied);
359
+ return { warnings };
360
+ });
361
+ }
362
+ };
363
+
364
+ export {
365
+ SessionSourceError,
366
+ validateSessionSourceInput,
367
+ restoreSessionSources,
368
+ SessionSourceService
369
+ };
370
+ /**
371
+ * @license
372
+ * Copyright 2026 Qwen Team
373
+ * SPDX-License-Identifier: Apache-2.0
374
+ */
@@ -0,0 +1,27 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ init_esbuild_shims
5
+ } from "./chunk-5O2XNYP6.js";
6
+
7
+ // packages/core/src/utils/auth-type.ts
8
+ init_esbuild_shims();
9
+ var AuthType = /* @__PURE__ */ ((AuthType2) => {
10
+ AuthType2["USE_OPENAI"] = "openai";
11
+ AuthType2["USE_OPENAI_RESPONSES"] = "openai-responses";
12
+ AuthType2["QWEN_OAUTH"] = "qwen-oauth";
13
+ AuthType2["USE_GEMINI"] = "gemini";
14
+ AuthType2["USE_VERTEX_AI"] = "vertex-ai";
15
+ AuthType2["USE_ANTHROPIC"] = "anthropic";
16
+ return AuthType2;
17
+ })(AuthType || {});
18
+
19
+ export {
20
+ AuthType
21
+ };
22
+ /**
23
+ * @license
24
+ * Copyright 2025 Google LLC
25
+ * Copyright 2026 Qwen Team
26
+ * SPDX-License-Identifier: Apache-2.0
27
+ */
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-G6UUOCUT.js";
6
6
  import {
7
7
  ToolNames
8
- } from "./chunk-MWIO7MF6.js";
8
+ } from "./chunk-TP6FYVQT.js";
9
9
  import {
10
10
  createDebugLogger
11
11
  } from "./chunk-ZAFYHRVY.js";
@@ -248,7 +248,15 @@ function applySkillHooks(config, skill) {
248
248
  }
249
249
  }
250
250
  __name(applySkillHooks, "applySkillHooks");
251
- function applySkillSideEffects(config, skill) {
251
+ var ReviewWorkflowActivationError = class extends Error {
252
+ static {
253
+ __name(this, "ReviewWorkflowActivationError");
254
+ }
255
+ constructor(cause) {
256
+ super(cause instanceof Error ? cause.message : String(cause), { cause });
257
+ }
258
+ };
259
+ async function applySkillSideEffects(config, skill) {
252
260
  if (!config) {
253
261
  return;
254
262
  }
@@ -264,6 +272,13 @@ function applySkillSideEffects(config, skill) {
264
272
  trustGated: skill.level === "project"
265
273
  });
266
274
  applySkillHooks(config, skill);
275
+ if (skill.level === "bundled" && skill.name === "review") {
276
+ try {
277
+ await config.enableReviewWorkflow();
278
+ } catch (error) {
279
+ throw new ReviewWorkflowActivationError(error);
280
+ }
281
+ }
267
282
  }
268
283
  __name(applySkillSideEffects, "applySkillSideEffects");
269
284
  function clearLoadedSkillTracking(toolRegistry, logTag) {
@@ -282,6 +297,7 @@ export {
282
297
  clearCollectedSkillEntriesCache,
283
298
  collectAvailableSkillEntries,
284
299
  renderAvailableSkillsBlock,
300
+ ReviewWorkflowActivationError,
285
301
  applySkillSideEffects,
286
302
  clearLoadedSkillTracking
287
303
  };
@@ -27,10 +27,10 @@ import {
27
27
  } from "./chunk-3VUENPWF.js";
28
28
  import {
29
29
  loadSettings
30
- } from "./chunk-WBU2PIZ5.js";
30
+ } from "./chunk-7BXXIQG4.js";
31
31
  import {
32
32
  MCP_BUDGET_WARN_FRACTION
33
- } from "./chunk-HJ5UJQQL.js";
33
+ } from "./chunk-N7VWZDWW.js";
34
34
  import {
35
35
  parsePositiveIntegerEnv
36
36
  } from "./chunk-6PVPNMXU.js";
@@ -447,7 +447,7 @@ var serveCommand = {
447
447
  delete process.env[EXTERNAL_TOOL_GUARD_TOKEN_ENV];
448
448
  const openWithAuth = argv["open-with-auth"];
449
449
  const open = argv.open || openWithAuth;
450
- const { runQwenServe } = await import("./run-qwen-serve-WBSWWIRV.js");
450
+ const { runQwenServe } = await import("./run-qwen-serve-26KZDECC.js");
451
451
  try {
452
452
  const serveOptions = {
453
453
  port: argv.port,
@@ -426,17 +426,6 @@ function buildFetchOptionsWithDispatcher(sdkType, proxyUrl) {
426
426
  }
427
427
  __name(buildFetchOptionsWithDispatcher, "buildFetchOptionsWithDispatcher");
428
428
 
429
- // packages/core/src/utils/auth-type.ts
430
- init_esbuild_shims();
431
- var AuthType = /* @__PURE__ */ ((AuthType2) => {
432
- AuthType2["USE_OPENAI"] = "openai";
433
- AuthType2["QWEN_OAUTH"] = "qwen-oauth";
434
- AuthType2["USE_GEMINI"] = "gemini";
435
- AuthType2["USE_VERTEX_AI"] = "vertex-ai";
436
- AuthType2["USE_ANTHROPIC"] = "anthropic";
437
- return AuthType2;
438
- })(AuthType || {});
439
-
440
429
  export {
441
430
  loadUndici,
442
431
  preloadRuntimeFetchModule,
@@ -447,17 +436,10 @@ export {
447
436
  setResolvedProxyUrlForRuntimeFetch,
448
437
  getOrCreateMcpDispatcher,
449
438
  redactProxyCredentials,
450
- redactProxyError,
451
- AuthType
439
+ redactProxyError
452
440
  };
453
441
  /**
454
442
  * @license
455
443
  * Copyright 2025 Qwen Team
456
444
  * SPDX-License-Identifier: Apache-2.0
457
445
  */
458
- /**
459
- * @license
460
- * Copyright 2025 Google LLC
461
- * Copyright 2026 Qwen Team
462
- * SPDX-License-Identifier: Apache-2.0
463
- */
@@ -8,7 +8,7 @@ import {
8
8
  hasUnsafeDisplayPayload,
9
9
  pathHasSkippedDirectoryComponent,
10
10
  toCanonicalWorkspaceArtifactPath
11
- } from "./chunk-OWCFKIFQ.js";
11
+ } from "./chunk-ZKYR7QS4.js";
12
12
  import {
13
13
  checkTeamMemorySecrets
14
14
  } from "./chunk-BUQN5LTI.js";
@@ -20,27 +20,27 @@ import {
20
20
  detectLineEnding,
21
21
  getDiffStat,
22
22
  needsUtf8Bom
23
- } from "./chunk-HJ5UJQQL.js";
23
+ } from "./chunk-N7VWZDWW.js";
24
24
  import {
25
25
  FileOperationEvent,
26
26
  getLanguageFromFilePath,
27
27
  logFileOperation
28
- } from "./chunk-F2NYVASI.js";
29
- import {
30
- fileExists,
31
- getSpecificMimeType
32
- } from "./chunk-J6MB5ZHZ.js";
28
+ } from "./chunk-HBU7EKY4.js";
33
29
  import {
34
30
  isAnyAutoMemPath,
35
31
  isTeamAutoMemPath
36
32
  } from "./chunk-EDIDYZBT.js";
33
+ import {
34
+ fileExists,
35
+ getSpecificMimeType
36
+ } from "./chunk-J6MB5ZHZ.js";
37
37
  import {
38
38
  BaseDeclarativeTool,
39
39
  BaseToolInvocation,
40
40
  StructuredToolError,
41
41
  ToolDisplayNames,
42
42
  ToolNames
43
- } from "./chunk-MWIO7MF6.js";
43
+ } from "./chunk-TP6FYVQT.js";
44
44
  import {
45
45
  createDebugLogger,
46
46
  getErrorMessage,