@qwen-code/qwen-code 0.23.3 → 0.23.4

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 (462) hide show
  1. package/bundled/computer-use/SKILL.md +46 -198
  2. package/bundled/computer-use/references/macos.md +208 -0
  3. package/bundled/computer-use/references/windows-linux.md +247 -0
  4. package/bundled/goal-draft/SKILL.md +10 -10
  5. package/bundled/qc-helper/docs/configuration/settings.md +81 -71
  6. package/bundled/qc-helper/docs/extension/getting-started-extensions.md +2 -0
  7. package/bundled/qc-helper/docs/extension/introduction.md +9 -3
  8. package/bundled/qc-helper/docs/features/_meta.ts +1 -0
  9. package/bundled/qc-helper/docs/features/agent-board.md +89 -0
  10. package/bundled/qc-helper/docs/features/channels/dingtalk.md +3 -21
  11. package/bundled/qc-helper/docs/features/channels/dws.md +5 -1
  12. package/bundled/qc-helper/docs/features/channels/overview.md +5 -6
  13. package/bundled/qc-helper/docs/features/code-review.md +18 -4
  14. package/bundled/qc-helper/docs/features/commands.md +9 -0
  15. package/bundled/qc-helper/docs/features/computer-use.md +26 -8
  16. package/bundled/qc-helper/docs/features/cross-session-protocol.md +23 -5
  17. package/bundled/qc-helper/docs/features/followup-suggestions.md +17 -5
  18. package/bundled/qc-helper/docs/features/goals.md +22 -18
  19. package/bundled/qc-helper/docs/features/hooks.md +48 -37
  20. package/bundled/qc-helper/docs/features/skills.md +33 -3
  21. package/bundled/qc-helper/docs/features/status-line.md +2 -0
  22. package/bundled/qc-helper/docs/features/sub-agents.md +27 -0
  23. package/bundled/qc-helper/docs/qwen-serve.md +7 -3
  24. package/bundled/review/SKILL.md +20 -10
  25. package/bundled/review/references/persistence.md +2 -0
  26. package/bundled/workflow-authoring/SKILL.md +442 -0
  27. package/bundled/workflow-creator/SKILL.md +1 -1
  28. package/chunks/{MaxSizedBox-D4LW7RZZ.js → MaxSizedBox-Q44AWRWI.js} +59 -55
  29. package/chunks/{StandaloneSessionPicker-ALTTRWUP.js → StandaloneSessionPicker-UKII7M7U.js} +83 -79
  30. package/chunks/{acp-startup-profiler-KEU6VAYR.js → acp-startup-profiler-RUQNTNU5.js} +2 -2
  31. package/chunks/acp-subagent-executor-7RUAOXE7.js +141 -0
  32. package/chunks/{acpAgent-BBSW7XZG.js → acpAgent-5N3LHCO3.js} +1026 -355
  33. package/chunks/{agent-SQ6OY3QD.js → agent-LU5UJALC.js} +43 -39
  34. package/chunks/{agent-headless-RI2THRQ7.js → agent-headless-LTLADUGR.js} +43 -39
  35. package/chunks/{anthropicContentGenerator-JSKMKS6V.js → anthropicContentGenerator-H5YPXIDE.js} +37 -15
  36. package/chunks/{artifact-tool-PMYZCYNH.js → artifact-tool-MFGORTWZ.js} +59 -109
  37. package/chunks/{askUserQuestion-4M4YYIB4.js → askUserQuestion-WS4GUT7C.js} +3 -3
  38. package/chunks/{bridge-DAFMI72L.js → bridge-P34XQP3D.js} +63 -58
  39. package/chunks/{build-63BIOYWK.js → build-5KWQBWEQ.js} +1 -1
  40. package/chunks/{ca-KC2AISNS.js → ca-GZ4FDJU2.js} +3 -3
  41. package/chunks/{channel-management-service-OWDXVL7R.js → channel-management-service-AFVIT4VH.js} +8 -8
  42. package/chunks/{channel-settings-store-4I6JONT7.js → channel-settings-store-VE4ARRSR.js} +68 -64
  43. package/chunks/{channel-worker-group-F2ZZMLNS.js → channel-worker-group-JR6JOELM.js} +8 -8
  44. package/chunks/{channel-worker-manager-2SZLJJSJ.js → channel-worker-manager-AVKJEZFL.js} +8 -8
  45. package/chunks/{channel-worker-supervisor-ZFNWMG6D.js → channel-worker-supervisor-OOYY7BAQ.js} +5 -5
  46. package/chunks/{chunk-DAWWT2ID.js → chunk-2NRKLYID.js} +1374 -2164
  47. package/chunks/{chunk-53GWJOLP.js → chunk-2P2IXKDR.js} +3 -1
  48. package/chunks/{chunk-6JACAGYH.js → chunk-2S2WIGCM.js} +1 -1
  49. package/chunks/{chunk-IUVIBDKU.js → chunk-2YMRRI2C.js} +9 -10
  50. package/chunks/{chunk-MLQNSPRZ.js → chunk-3AYIKQTJ.js} +15 -5
  51. package/chunks/{chunk-F53KKZUD.js → chunk-3LMDSCLU.js} +158 -10
  52. package/chunks/{chunk-WG7BL3FY.js → chunk-473RJLIH.js} +1 -1
  53. package/chunks/{chunk-BWAMMKIS.js → chunk-4XP7WXC4.js} +135 -6
  54. package/chunks/{chunk-W5ZQMAEM.js → chunk-4Y2I3CI3.js} +1 -1
  55. package/chunks/{chunk-HGEUHUEV.js → chunk-54B2LTKP.js} +1 -1
  56. package/chunks/{chunk-IRH27ZC2.js → chunk-5EZRLTLQ.js} +4 -4
  57. package/chunks/{chunk-DLH7YIX6.js → chunk-5FK4MSHB.js} +3 -3
  58. package/chunks/chunk-5JG3DAKS.js +1416 -0
  59. package/chunks/{chunk-CUEXOHQH.js → chunk-5ODRE7E5.js} +9 -15
  60. package/chunks/{chunk-532WHF4F.js → chunk-5VQR2DD7.js} +2 -2
  61. package/chunks/chunk-62MWBTS7.js +191 -0
  62. package/chunks/{chunk-YQHLFCPU.js → chunk-65ANUQSV.js} +32 -24
  63. package/chunks/{chunk-YBUMTY7B.js → chunk-66N6C4EH.js} +1 -1
  64. package/chunks/{chunk-AC6KDLH3.js → chunk-6TFZIA2L.js} +1 -1
  65. package/chunks/{chunk-Y2MYW47X.js → chunk-6WXVEDT2.js} +9 -2
  66. package/chunks/{chunk-NRXWJXJ4.js → chunk-7GKPKIUB.js} +15 -15
  67. package/chunks/chunk-7JGH6IMU.js +2780 -0
  68. package/chunks/{chunk-ZHKTKHMO.js → chunk-7MIBD3LG.js} +1 -1
  69. package/chunks/{chunk-HGAELO7B.js → chunk-7ML2ZLQF.js} +2 -2
  70. package/chunks/{chunk-3UXUOFO6.js → chunk-7W2Y3PZD.js} +9 -10
  71. package/chunks/{chunk-76RGWKLS.js → chunk-ABNX6E6K.js} +1 -1
  72. package/chunks/chunk-ACHCT36C.js +28 -0
  73. package/chunks/{chunk-NE624IVP.js → chunk-ADQUK6WA.js} +1 -1
  74. package/chunks/{chunk-PLLIWEM3.js → chunk-AEWCOE64.js} +2 -2
  75. package/chunks/{chunk-3FPYT6QC.js → chunk-ARDHE6MM.js} +23 -0
  76. package/chunks/{chunk-LILGKQ4B.js → chunk-AXZMWAJV.js} +156 -26
  77. package/chunks/{chunk-SYLECP23.js → chunk-BBMOAZ2E.js} +4 -4
  78. package/chunks/{chunk-RWVD5RRY.js → chunk-BDDE4YNP.js} +3 -3
  79. package/chunks/{chunk-TPKQIA7G.js → chunk-BSIOCNDK.js} +1 -1
  80. package/chunks/{chunk-U7O65WKL.js → chunk-BW2SMO6L.js} +1 -1
  81. package/chunks/{chunk-WBCPROWX.js → chunk-C4HBZQNH.js} +1 -1
  82. package/chunks/{chunk-NOO4QFXM.js → chunk-C75BXMPM.js} +1 -3
  83. package/chunks/chunk-CFMZLE3L.js +75 -0
  84. package/chunks/{chunk-AXTFYDXT.js → chunk-CXXAZ2LZ.js} +1 -1
  85. package/chunks/{chunk-N7VWZDWW.js → chunk-DCRVSIK6.js} +4460 -3838
  86. package/chunks/{chunk-NJQTG2G3.js → chunk-DGTH4BSO.js} +11 -11
  87. package/chunks/{chunk-J3TJH52D.js → chunk-DOTF2PF2.js} +1 -1
  88. package/chunks/{chunk-BWQLXU37.js → chunk-E4XZSQXB.js} +381 -86
  89. package/chunks/{chunk-2ALXPGB4.js → chunk-E6IR653O.js} +1 -1
  90. package/chunks/{chunk-R4Q2PEFV.js → chunk-E7HXORS7.js} +1 -1
  91. package/chunks/{chunk-ZKYR7QS4.js → chunk-EDB556X7.js} +2 -2
  92. package/chunks/{chunk-NUQVB25K.js → chunk-EKMJR7M3.js} +2 -2
  93. package/chunks/{chunk-Q5BD56BW.js → chunk-ELHAQ5H4.js} +7 -7
  94. package/chunks/{chunk-GSILBZLN.js → chunk-EOQXU3ZE.js} +2 -2
  95. package/chunks/{chunk-7QYWGTHB.js → chunk-EPVEPTI3.js} +44 -151
  96. package/chunks/{chunk-POC3YMHG.js → chunk-F2IRY2TD.js} +4 -4
  97. package/chunks/{chunk-S6Q6Q4P2.js → chunk-FBDHP23D.js} +1 -1
  98. package/chunks/{chunk-3I7W2POO.js → chunk-FGROOEKM.js} +5 -40
  99. package/chunks/{chunk-HNLMYDQE.js → chunk-FMLBBXHB.js} +13 -9
  100. package/chunks/{chunk-Z3GF56ME.js → chunk-FRISMWG3.js} +3 -3
  101. package/chunks/{chunk-ALMR3E6Q.js → chunk-GDWE23OR.js} +3 -3
  102. package/chunks/{chunk-IAEXTMED.js → chunk-GNV2SFO7.js} +173 -7
  103. package/chunks/{chunk-CXTPVBFA.js → chunk-GSS4SZNG.js} +100 -17
  104. package/chunks/{chunk-3XLK2QMY.js → chunk-H7L725Z6.js} +59 -16
  105. package/chunks/{chunk-6HUXPLB5.js → chunk-HEOH7JZY.js} +5 -5
  106. package/chunks/{chunk-DTNV6UZY.js → chunk-HFJSQ4GL.js} +10 -24
  107. package/chunks/{chunk-BZM5U74J.js → chunk-I6JRN375.js} +724 -468
  108. package/chunks/{chunk-VZUCTJ2P.js → chunk-I6YJZGHS.js} +10 -10
  109. package/chunks/{chunk-RZHU3K6M.js → chunk-IAS753HG.js} +2 -20
  110. package/chunks/{chunk-EDMXGXAK.js → chunk-IBRQG2MP.js} +10 -13
  111. package/chunks/{chunk-NOAG7N22.js → chunk-IGLX6UXJ.js} +2 -2
  112. package/chunks/chunk-INGBUYL6.js +230 -0
  113. package/chunks/{chunk-IL5M5NYD.js → chunk-IR5CVY5G.js} +11 -9
  114. package/chunks/{chunk-OX7IZ2G5.js → chunk-ITOB3LRT.js} +4 -4
  115. package/chunks/{chunk-LDVNJZGH.js → chunk-IUXWAKVS.js} +17 -8
  116. package/chunks/{chunk-2PJRI3EH.js → chunk-J4DRBDHX.js} +218 -43
  117. package/chunks/{chunk-XGYHNWL3.js → chunk-J7LBAKDH.js} +3 -3
  118. package/chunks/{chunk-W5FIP7FC.js → chunk-JLZ5YCMV.js} +5 -5
  119. package/chunks/{chunk-LG5Y4OWO.js → chunk-JRHKM3YQ.js} +2 -2
  120. package/chunks/{chunk-2ZN3O5FT.js → chunk-JZ3FFPES.js} +6 -6
  121. package/chunks/{chunk-NMCDMLHL.js → chunk-K2DCZ6SZ.js} +50 -35
  122. package/chunks/{chunk-F42YYSCK.js → chunk-KLGCF6G7.js} +8 -8
  123. package/chunks/{chunk-K2OJUPOE.js → chunk-KP2FHIFR.js} +12 -0
  124. package/chunks/{chunk-IV7GDNKC.js → chunk-KZCK5JUN.js} +4 -4
  125. package/chunks/{acp-subagent-executor-LEUN3N7N.js → chunk-L56E7YUM.js} +11 -110
  126. package/chunks/{chunk-NMRCXKQ5.js → chunk-L5BVU4JW.js} +3 -3
  127. package/chunks/{chunk-ZW2EUO2A.js → chunk-L6DIANLD.js} +1 -1
  128. package/chunks/{chunk-GOXQL4YH.js → chunk-LFNK4DGQ.js} +2 -2
  129. package/chunks/{chunk-UKZ45TJL.js → chunk-LMDMYMSS.js} +420 -219
  130. package/chunks/chunk-LMJSPC55.js +260 -0
  131. package/chunks/{chunk-X6K77VHC.js → chunk-LWWRJRCD.js} +1 -1
  132. package/chunks/{chunk-UXEO7E3V.js → chunk-LYD3T3H7.js} +1 -0
  133. package/chunks/{chunk-HBQ2NXOU.js → chunk-M6MID3FA.js} +2 -2
  134. package/chunks/{chunk-E4UEO3XM.js → chunk-ME4JBHSB.js} +324 -2
  135. package/chunks/{chunk-MF6E7FSA.js → chunk-MFPAVOYJ.js} +8 -201
  136. package/chunks/{chunk-BV6Q5HMY.js → chunk-MJHLKWGJ.js} +8 -7
  137. package/chunks/{chunk-NFYEQRLG.js → chunk-MQRLLBMQ.js} +1 -1
  138. package/chunks/{chunk-O4KNCAX4.js → chunk-NCPFOLM2.js} +11 -0
  139. package/chunks/{chunk-2SZH22YO.js → chunk-NJ2OFVUX.js} +115 -97
  140. package/chunks/{chunk-6MBXY6WM.js → chunk-NRQI3PGS.js} +1 -1
  141. package/chunks/{chunk-3CZ2BQV6.js → chunk-NXUZFW3G.js} +49 -19
  142. package/chunks/{chunk-X7UJKOHZ.js → chunk-O75ZXPOX.js} +4 -6
  143. package/chunks/{chunk-5GLDOLNQ.js → chunk-OWUAZXXN.js} +4 -3
  144. package/chunks/{chunk-XBZTAGB7.js → chunk-OXDQETZA.js} +1 -1
  145. package/chunks/{chunk-2UWQX4FP.js → chunk-OZEV3R3S.js} +1 -1
  146. package/chunks/{chunk-SBRX4BDI.js → chunk-P225AM5U.js} +2 -2
  147. package/chunks/{chunk-ZU47FBOC.js → chunk-P6XVYPWA.js} +126 -12
  148. package/chunks/{chunk-MHAADZOZ.js → chunk-PCIYPEYV.js} +3 -3
  149. package/chunks/{chunk-SSGAAWLY.js → chunk-PNACDSCO.js} +95 -73
  150. package/chunks/chunk-PRWRNC64.js +32 -0
  151. package/chunks/{chunk-7BXXIQG4.js → chunk-PVKEYO5D.js} +36 -72
  152. package/chunks/{chunk-FCQJLMA2.js → chunk-Q3TFRP5G.js} +178 -8
  153. package/chunks/{chunk-DYFOSJHU.js → chunk-QM2MRAG4.js} +2756 -1153
  154. package/chunks/{chunk-ZKZHSB5W.js → chunk-QR4Q425T.js} +9 -9
  155. package/chunks/{chunk-J6MB5ZHZ.js → chunk-QZW6WRB7.js} +2 -1
  156. package/chunks/{chunk-3BTSSIJO.js → chunk-RHTNPDGD.js} +99 -14
  157. package/chunks/{chunk-OLTN767L.js → chunk-RJFUPP3F.js} +2 -2
  158. package/chunks/chunk-RKXAOP6F.js +154 -0
  159. package/chunks/{chunk-TP6FYVQT.js → chunk-RSWBT7AZ.js} +33 -1
  160. package/chunks/{chunk-E7LB57MB.js → chunk-RWKR4VNK.js} +6 -6
  161. package/chunks/chunk-S7UQ3V2H.js +87 -0
  162. package/chunks/{chunk-N6VQ37ZZ.js → chunk-SFL6U7U7.js} +1 -1
  163. package/chunks/{chunk-SODMFNAR.js → chunk-SQCZDHBQ.js} +5 -5
  164. package/chunks/{chunk-MOS5OAOG.js → chunk-SROLVJFY.js} +6 -6
  165. package/chunks/{chunk-3KQBQ6FM.js → chunk-SYDMM6IX.js} +190 -28
  166. package/chunks/{chunk-HUXPEUFL.js → chunk-SYROIHU7.js} +1 -1
  167. package/chunks/{chunk-PSPAM24S.js → chunk-TBSCTWKF.js} +6 -0
  168. package/chunks/{chunk-RLLRJJDR.js → chunk-TJDUJSVH.js} +2 -2
  169. package/chunks/{chunk-HBU7EKY4.js → chunk-TRKIKBUW.js} +45 -15
  170. package/chunks/{chunk-GCDXVPFK.js → chunk-TW2RLZPC.js} +31 -7
  171. package/chunks/chunk-U6H3XTFA.js +95 -0
  172. package/chunks/{chunk-NHJKAR6E.js → chunk-UGEDTVL6.js} +972 -18
  173. package/chunks/{chunk-KOKPXIAN.js → chunk-UL4DXZMP.js} +3 -3
  174. package/chunks/{chunk-MSNHNAQZ.js → chunk-UUT7EFX3.js} +3 -3
  175. package/chunks/{chunk-JXNIF2O5.js → chunk-V545KI73.js} +1 -1
  176. package/chunks/{chunk-7ICHPMBQ.js → chunk-VELFTVEO.js} +4 -4
  177. package/chunks/chunk-VGY2RGXL.js +100 -0
  178. package/chunks/{chunk-5KI7ZDTB.js → chunk-VQ3SUPLA.js} +24 -12
  179. package/chunks/{chunk-TBEXLLAO.js → chunk-VRQZESKP.js} +1 -1
  180. package/chunks/{chunk-FN3JNDRU.js → chunk-VVI7MK3V.js} +3 -3
  181. package/chunks/{chunk-EUURTIV6.js → chunk-WBSJ6VPZ.js} +10 -2
  182. package/chunks/{chunk-NLNQNBZ2.js → chunk-WD6YQI5M.js} +1 -1
  183. package/chunks/{chunk-KFZYGSJN.js → chunk-WDB57HEI.js} +3 -3
  184. package/chunks/chunk-WFNEY5G7.js +347 -0
  185. package/chunks/{chunk-XKBFYTCD.js → chunk-WK6DEH3Q.js} +46 -0
  186. package/chunks/{chunk-EVTNACMT.js → chunk-WKQX4FND.js} +12 -12
  187. package/chunks/{chunk-36HCNKDS.js → chunk-WKVZES7O.js} +65 -14
  188. package/chunks/{chunk-NHCZJQE4.js → chunk-WLFILD4T.js} +6 -6
  189. package/chunks/{chunk-JYKWOREU.js → chunk-WMEX6CFP.js} +13 -3
  190. package/chunks/{chunk-6W4HBUA2.js → chunk-WNQRJXKP.js} +1 -1
  191. package/chunks/{chunk-7APZIRH3.js → chunk-X7GOO6VM.js} +5 -5
  192. package/chunks/{chunk-VX63RJXE.js → chunk-XX5HQLCZ.js} +7 -0
  193. package/chunks/{chunk-2Z3T52OC.js → chunk-Y5TM7SBV.js} +7 -2
  194. package/chunks/{chunk-V2P3DOQR.js → chunk-YDFOHRS5.js} +1 -1
  195. package/chunks/{chunk-QMUYLYT5.js → chunk-YGFJ6BRT.js} +1 -1
  196. package/chunks/{chunk-LK2WUCDQ.js → chunk-YM6KUQ2S.js} +1 -1
  197. package/chunks/chunk-Z72PLR74.js +36 -0
  198. package/chunks/{chunk-BHTYRHJF.js → chunk-ZJ7JQUGY.js} +4 -1
  199. package/chunks/{chunk-4ALNJDHL.js → chunk-ZKIAGIGH.js} +87 -4
  200. package/chunks/{chunk-VG3Q2NC4.js → chunk-ZNI3YJHS.js} +32 -12
  201. package/chunks/{chunk-DT75RKNH.js → chunk-ZXUKZHMV.js} +3 -3
  202. package/chunks/{chunk-Q2LVVIKF.js → chunk-ZZUXUBEB.js} +29 -12
  203. package/chunks/codex-subagent-executor-WCRCJMQK.js +586 -0
  204. package/chunks/{config-utils-L6KLDYIV.js → config-utils-73C3RGYN.js} +60 -56
  205. package/chunks/{contextCommand-UYEH7NIU.js → contextCommand-4ZDPQJHD.js} +58 -54
  206. package/chunks/{core-runtime-NVHT3Z3V.js → core-runtime-ZDUA5DYE.js} +58 -55
  207. package/chunks/{create-sub-session-YWASE5VH.js → create-sub-session-JK3SSJKO.js} +169 -89
  208. package/chunks/{create-sub-session-TIGCFGCS.js → create-sub-session-MSGNIM37.js} +5 -2
  209. package/chunks/{cron-create-AKWX67FO.js → cron-create-U2JJ5CCF.js} +3 -3
  210. package/chunks/{cron-delete-XPB6IYZJ.js → cron-delete-7DM4LJWD.js} +2 -2
  211. package/chunks/{cron-list-XBKO4WU5.js → cron-list-VCUSZK2Y.js} +2 -2
  212. package/chunks/{daemon-G5TYKZD6.js → daemon-NJB4PWZ7.js} +3 -1
  213. package/chunks/{daemon-git-worktree-guard-FOW4RQSK.js → daemon-git-worktree-guard-QU2CCJIE.js} +58 -54
  214. package/chunks/{daemon-status-provider-O5KQZYMP.js → daemon-status-provider-2PO7NLDQ.js} +68 -63
  215. package/chunks/{daemon-trust-policy-3ATXEON7.js → daemon-trust-policy-IMDTIUWB.js} +64 -60
  216. package/chunks/{daemon-trust-policy-monitor-7MCNDNEC.js → daemon-trust-policy-monitor-6IVBNUAD.js} +64 -60
  217. package/chunks/{de-UU2YTO37.js → de-VGY3VNBU.js} +3 -3
  218. package/chunks/{deferred-core-runtime-JK5IXL5K.js → deferred-core-runtime-3AZUE7F3.js} +56 -52
  219. package/chunks/{discovery-XP4RMDUM.js → discovery-5KUEPR65.js} +2 -2
  220. package/chunks/{display-image-NAH3AZ63.js → display-image-QTHALY6N.js} +3 -3
  221. package/chunks/{dist-KLZ7XGEQ.js → dist-2QYIVNS6.js} +1 -4
  222. package/chunks/{dist-AHJYPSJL.js → dist-GUB7QRYA.js} +2 -5
  223. package/chunks/{dist-ZXTZTE54.js → dist-MPUZZOG5.js} +4 -17
  224. package/chunks/{dist-F2DVGTL3.js → dist-NIOJXMGY.js} +111 -101
  225. package/chunks/{dist-KJGRVIGJ.js → dist-PA7WPFVE.js} +5 -36
  226. package/chunks/{dist-AIKC5E5P.js → dist-SE4J6Z4O.js} +43 -669
  227. package/chunks/{dist-H6G3K26N.js → dist-T6DDPDLQ.js} +14 -34
  228. package/chunks/{dist-GWNQVPZT.js → dist-TFGETXFN.js} +10 -33
  229. package/chunks/{dist-ZA52JXAS.js → dist-VDLSBCLM.js} +1 -5
  230. package/chunks/{edit-SY35KYIE.js → edit-HXMBABZU.js} +46 -42
  231. package/chunks/{en-CAJHTIQT.js → en-E5ZO5TZW.js} +5 -3
  232. package/chunks/{enter-worktree-54L5QJ3N.js → enter-worktree-CAARFWBI.js} +6 -5
  233. package/chunks/{enterPlanMode-HXX6KQJR.js → enterPlanMode-KAMW2I2C.js} +43 -39
  234. package/chunks/{environment-DKXHG4HB.js → environment-HYMXOTVB.js} +59 -55
  235. package/chunks/{errors-ADY7LQJJ.js → errors-NQRH7NAM.js} +58 -54
  236. package/chunks/exec-RPKEY6HP.js +505 -0
  237. package/chunks/{exit-worktree-EORJDKDS.js → exit-worktree-JXGGUOBP.js} +6 -5
  238. package/chunks/{exitPlanMode-HSK2CQI6.js → exitPlanMode-SMEBS5EF.js} +43 -39
  239. package/chunks/{fast-path-U636VWN2.js → fast-path-CUWUTJUR.js} +10 -10
  240. package/chunks/{fast-path-settings-V7MI7EZJ.js → fast-path-settings-XDYX7X5Z.js} +2 -2
  241. package/chunks/{fr-HKNWVXRJ.js → fr-UAZJJH5N.js} +3 -3
  242. package/chunks/{glob-GUGGTH5L.js → glob-VOM5DVZ3.js} +43 -39
  243. package/chunks/{goal-tools-PXYRSQGX.js → goal-tools-YBYJ5KPM.js} +49 -41
  244. package/chunks/{grep-3PKFKLCA.js → grep-H2I33VAO.js} +8 -3
  245. package/chunks/{handleAutoUpdate-5KHS4HIN.js → handleAutoUpdate-4CEHNJ2F.js} +61 -57
  246. package/chunks/{i18n-KSGKMUPT.js → i18n-G7ODGUGN.js} +57 -53
  247. package/chunks/{image-gen-OCCR2WWU.js → image-gen-5G2TQ3DY.js} +6 -5
  248. package/chunks/{initializer-YYT5XEZF.js → initializer-GZ73HSOA.js} +64 -60
  249. package/chunks/{installationInfo-UNSBPYW2.js → installationInfo-PV472I52.js} +57 -53
  250. package/chunks/{ja-GJS5RZGU.js → ja-2RITCMAJ.js} +3 -3
  251. package/chunks/list-D4A7LFOF.js +133 -0
  252. package/chunks/{list-agents-QLDXS5OD.js → list-agents-EWDCEPIW.js} +3 -3
  253. package/chunks/{llm-XGGLBGPH.js → llm-PJU4VT3K.js} +161 -125
  254. package/chunks/{llm-content-generator-ZHQQT5W7.js → llm-content-generator-ITOMDK65.js} +14 -7
  255. package/chunks/{loadedSettingsAdapter-3DXLASK7.js → loadedSettingsAdapter-NNU4BY5Q.js} +64 -60
  256. package/chunks/{loggingContentGenerator-V72OCCJO.js → loggingContentGenerator-SMI2AJYY.js} +47 -43
  257. package/chunks/{loop-wakeup-HHMYIC7Z.js → loop-wakeup-VG6CGBQA.js} +4 -4
  258. package/chunks/{ls-N7ABR6HI.js → ls-6ZB3BEIR.js} +1 -1
  259. package/chunks/{lsp-LTOFWG5P.js → lsp-M54FQARP.js} +5 -1
  260. package/chunks/{managed-npm-update-HV5LPZH2.js → managed-npm-update-AN5RDI5D.js} +57 -53
  261. package/chunks/mcp-RIIEZ7NJ.js +127 -0
  262. package/chunks/model-configuration-E5M35A3M.js +140 -0
  263. package/chunks/modelConfigUtils-43SY2EDS.js +119 -0
  264. package/chunks/{monitor-TLBNM4MV.js → monitor-5WYDOXLI.js} +43 -39
  265. package/chunks/{nonInteractiveCli-LSJSQ2W4.js → nonInteractiveCli-D3YFYXNB.js} +112 -107
  266. package/chunks/{notebook-edit-OSPOLZP6.js → notebook-edit-GQNFJTIR.js} +45 -41
  267. package/chunks/{openaiContentGenerator-BE4S5TRD.js → openaiContentGenerator-VJAKFZ32.js} +24 -19
  268. package/chunks/{openaiResponsesContentGenerator-RTCAJ5V5.js → openaiResponsesContentGenerator-AWRYZLJU.js} +110 -19
  269. package/chunks/{pidfile-H32FEPWA.js → pidfile-I5SWEJDX.js} +56 -52
  270. package/chunks/{processUtils-SSLIPDEA.js → processUtils-NSYM3SKR.js} +2 -2
  271. package/chunks/{prompt-terminal-ledger-I5SLL6UF.js → prompt-terminal-ledger-KWBANHUE.js} +57 -53
  272. package/chunks/{pt-FXMYXEUV.js → pt-5ZF7ZQUV.js} +3 -3
  273. package/chunks/{qwenContentGenerator-TMQC623Z.js → qwenContentGenerator-LR6HNFBU.js} +47 -43
  274. package/chunks/{qwenOAuth2-3ZRQHHTC.js → qwenOAuth2-WIEUEFEY.js} +5 -4
  275. package/chunks/{read-file-T2QAIZE2.js → read-file-LOSUPKDX.js} +9 -8
  276. package/chunks/{read-mcp-resource-B37WANAQ.js → read-mcp-resource-LPSWXVOD.js} +1 -1
  277. package/chunks/{record-artifact-OAXWXZ5D.js → record-artifact-PXMNP7GZ.js} +3 -3
  278. package/chunks/{record-source-D7R7X3GT.js → record-source-2GSY5JD5.js} +6 -6
  279. package/chunks/{report-findings-AR3VC6EQ.js → report-findings-W6GR7SYZ.js} +4 -4
  280. package/chunks/{request-shutdown-IKNWTX5M.js → request-shutdown-53SNYGVR.js} +5 -5
  281. package/chunks/{resumeHistoryUtils-QLKDH5GY.js → resumeHistoryUtils-6IFK3MQO.js} +63 -59
  282. package/chunks/{ripGrep-YGWL7KCV.js → ripGrep-MBSYRHNP.js} +13 -11
  283. package/chunks/{ru-RMHURE5U.js → ru-7BNZFQKG.js} +3 -3
  284. package/chunks/{run-qwen-serve-26KZDECC.js → run-qwen-serve-WYEEYIHV.js} +314 -127
  285. package/chunks/{runtime-BMEIVDDG.js → runtime-FVTTOB4E.js} +69 -65
  286. package/chunks/{scheduled-tasks-NCFPP6VQ.js → scheduled-tasks-RN6DUY7E.js} +66 -60
  287. package/chunks/{scheduler-47TVMUVN.js → scheduler-T7DDWINW.js} +58 -54
  288. package/chunks/{sdk-exporters-http-VWTF4W6K.js → sdk-exporters-http-3R2TRQHE.js} +2 -1
  289. package/chunks/{sdk-impl-G6FVTBQZ.js → sdk-impl-4WF3VZ2F.js} +3 -3
  290. package/chunks/{send-message-TWOGWCBG.js → send-message-UMJKN27Q.js} +7 -7
  291. package/chunks/{serve-KL3G6LQQ.js → serve-LVMPJBTV.js} +66 -62
  292. package/chunks/{server-LBPYXZ5G.js → server-U7K7EJEP.js} +783 -350
  293. package/chunks/{session-YG6742LO.js → session-BQNC5QUN.js} +117 -112
  294. package/chunks/{session-attachments-root-OUBQDYC4.js → session-attachments-root-LQDHWZST.js} +56 -52
  295. package/chunks/{session-pr-refresh-EKGMYNAW.js → session-pr-refresh-J7DQYX2I.js} +66 -60
  296. package/chunks/{settings-DDNHJX2L.js → settings-WAWJIZHR.js} +67 -63
  297. package/chunks/{shell-KUCXWITU.js → shell-WFJEYGQI.js} +43 -39
  298. package/chunks/{skill-JQLKPNWZ.js → skill-RHQWSDOK.js} +128 -23
  299. package/chunks/{skill-settings-XERQCUXZ.js → skill-settings-ALFUQQD6.js} +72 -60
  300. package/chunks/{spawnChannel-GQ45QFGB.js → spawnChannel-D35CB5JB.js} +60 -55
  301. package/chunks/{standalone-update-PRF3ILGZ.js → standalone-update-NMMY6CAO.js} +58 -54
  302. package/chunks/{start-opentui-ui-JDSOZE3N.js → start-opentui-ui-F6BN46GE.js} +2693 -2160
  303. package/chunks/{startInteractiveUI-RRW3JVHN.js → startInteractiveUI-E6U7L5AD.js} +1610 -1773
  304. package/chunks/{syntheticOutput-F6F27JMK.js → syntheticOutput-EX5L5GYI.js} +2 -2
  305. package/chunks/{task-create-Y623TBHB.js → task-create-75HVPEAH.js} +7 -7
  306. package/chunks/{task-list-FCPEEGWL.js → task-list-ZLJSMRFA.js} +2 -2
  307. package/chunks/{task-stop-QTKZXLPH.js → task-stop-MD7P6QGK.js} +1 -1
  308. package/chunks/{task-update-YLSXF25N.js → task-update-RI7QNVDP.js} +20 -13
  309. package/chunks/{team-create-5DRLOLOE.js → team-create-DKAJ3OUY.js} +43 -39
  310. package/chunks/{team-delete-S7TLHZCF.js → team-delete-RIDINW6I.js} +1 -1
  311. package/chunks/{team-plan-approval-MWSGAL5T.js → team-plan-approval-ZUG32DAK.js} +43 -39
  312. package/chunks/{terminal-image-renderer-H7PD4FQW.js → terminal-image-renderer-U3Z5PMGO.js} +58 -54
  313. package/chunks/{theme-manager-7AV73D6R.js → theme-manager-GA65ZFKB.js} +56 -52
  314. package/chunks/{todoWrite-5QI2H2FW.js → todoWrite-XSTG2VT5.js} +6 -3
  315. package/chunks/{tool-search-UGYTBLUV.js → tool-search-XCEN7VXX.js} +17 -12
  316. package/chunks/{total-session-admission-JIHSTJ5S.js → total-session-admission-FZSHBR32.js} +63 -58
  317. package/chunks/{trustedFolders-5VCBXFOP.js → trustedFolders-SXPNZESV.js} +57 -53
  318. package/chunks/{update-relaunch-4LF3APCV.js → update-relaunch-QOUTZZ7Q.js} +5 -5
  319. package/chunks/{updateCheck-4T3WUE5F.js → updateCheck-DYRX7M34.js} +60 -56
  320. package/chunks/{useAutoAcceptIndicator-UMGB64Z6.js → useAutoAcceptIndicator-QOG7LUT3.js} +68 -64
  321. package/chunks/{validateNonInterActiveAuth-GFJ72U2C.js → validateNonInterActiveAuth-FJPAEMDD.js} +109 -104
  322. package/chunks/{version-EAAZN4T2.js → version-5IC46F2Z.js} +1 -1
  323. package/chunks/{web-fetch-VRU3A2NI.js → web-fetch-WSW4QZBA.js} +15 -13
  324. package/chunks/web-search-5QFKXWUV.js +39 -0
  325. package/chunks/{web-shell-static-CCN4JZEE.js → web-shell-static-T7UGLVE4.js} +2 -7
  326. package/chunks/{workflow-UHPFALVZ.js → workflow-ZF4DLK4V.js} +179 -79
  327. package/chunks/workspace-providers-status-4E4XWBFS.js +133 -0
  328. package/chunks/{workspace-registration-store-A7RGKW62.js → workspace-registration-store-M3QEP27F.js} +2 -2
  329. package/chunks/{workspace-registry-C2NGE6SD.js → workspace-registry-H2ENI5G2.js} +63 -58
  330. package/chunks/{workspace-runtime-coordinator-QKMZ24YF.js → workspace-runtime-coordinator-CRRNB7PC.js} +66 -59
  331. package/chunks/{workspace-service-RQTTAGGC.js → workspace-service-GJ2GOHKU.js} +70 -65
  332. package/chunks/workspace-skills-status-CRWHV35X.js +130 -0
  333. package/chunks/{workspace-trust-reconciler-KFWATZUU.js → workspace-trust-reconciler-GG2JA7KI.js} +73 -68
  334. package/chunks/{write-file-DPVB2SBQ.js → write-file-LZ4EMF36.js} +45 -41
  335. package/chunks/{zh-TW-2K2WRFPY.js → zh-TW-7PRVUGLW.js} +5 -3
  336. package/chunks/{zh-S5V3Z5CR.js → zh-V2EYTYJP.js} +5 -3
  337. package/chunks/{zoom-image-S7AWLAPC.js → zoom-image-J5IMS3WD.js} +11 -10
  338. package/cli.js +18 -17
  339. package/codeModeHost.js +4425 -0
  340. package/export-transcript-document.css +1 -1
  341. package/export-transcript-document.js +151 -151
  342. package/locales/ca.js +5 -6
  343. package/locales/de.js +5 -6
  344. package/locales/en.js +7 -6
  345. package/locales/fr.js +6 -6
  346. package/locales/ja.js +5 -6
  347. package/locales/pt.js +5 -6
  348. package/locales/ru.js +6 -6
  349. package/locales/zh-TW.js +7 -6
  350. package/locales/zh.js +7 -6
  351. package/package.json +4 -3
  352. package/web-shell/assets/{abnfDiagram-VCTEODGH-nU24rpIE.js → abnfDiagram-VCTEODGH-S_JCiANq.js} +1 -1
  353. package/web-shell/assets/{arc-D1hTu8QI.js → arc-DP-839Xn.js} +1 -1
  354. package/web-shell/assets/architectureDiagram-5GKGNRK7-C8rCd2KK.js +36 -0
  355. package/web-shell/assets/blockDiagram-NRAW4CY4-DQR82jwr.js +129 -0
  356. package/web-shell/assets/{c4Diagram-UCG6FXSJ-kEFoC1ei.js → c4Diagram-UCG6FXSJ-D21PNMRP.js} +4 -4
  357. package/web-shell/assets/channel-BgGrpX_z.js +1 -0
  358. package/web-shell/assets/{chunk-2Q5K7J3B-DbT9wS7j.js → chunk-2Q5K7J3B-KdDInGLi.js} +1 -1
  359. package/web-shell/assets/{chunk-5VM5RSS4-CNbULt6O.js → chunk-5VM5RSS4-ltb7zRmH.js} +1 -1
  360. package/web-shell/assets/{chunk-F27PBJKO-CbQRy4Tb.js → chunk-F27PBJKO-DcpQA0Ng.js} +1 -1
  361. package/web-shell/assets/chunk-G27WJ6UU-C8NDZxcy.js +231 -0
  362. package/web-shell/assets/chunk-JWPE2WC7-hXhhHTs1.js +1 -0
  363. package/web-shell/assets/chunk-LCL6LL3I-CLaOR-Hl.js +206 -0
  364. package/web-shell/assets/chunk-POPQ4Y6H-Y5_qlB1N.js +1 -0
  365. package/web-shell/assets/{chunk-SVP7TREG-DyBb2Axj.js → chunk-SVP7TREG-BWX2Voh7.js} +4 -4
  366. package/web-shell/assets/{chunk-XXDRQBXY-BIA0eb5B.js → chunk-XXDRQBXY-1wmj_kXI.js} +1 -1
  367. package/web-shell/assets/classDiagram-DTDB5LWJ-jUH7ADYs.js +1 -0
  368. package/web-shell/assets/classDiagram-v2-JRS7N3AN-jUH7ADYs.js +1 -0
  369. package/web-shell/assets/cose-bilkent-JH36ORCC-DpLc-cdd.js +1 -0
  370. package/web-shell/assets/cynefin-OW5HDTMX-DhxGiPZW.js +178 -0
  371. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-LENf_IUy.js → cynefinDiagram-5FMLGOSQ-Dl3jfBry.js} +1 -1
  372. package/web-shell/assets/{cytoscape.esm-CUqq0XTU.js → cytoscape.esm-DJK6lGiH.js} +3 -3
  373. package/web-shell/assets/dagre-3AP2YEHR-C8FA8vJk.js +4 -0
  374. package/web-shell/assets/diagram-S7CK7UJ4-D-quIUtW.js +30 -0
  375. package/web-shell/assets/diagram-UQ7AKVKN-Bjo09Uts.js +41 -0
  376. package/web-shell/assets/diagram-VSXAHHWV-IoI3ttq4.js +3 -0
  377. package/web-shell/assets/diagram-VX7I27RA-BKyOZ5SO.js +24 -0
  378. package/web-shell/assets/diagram-Z3DM3KII-Cu_OHEhw.js +24 -0
  379. package/web-shell/assets/{ebnfDiagram-PWID7BFC-BGpiquRm.js → ebnfDiagram-PWID7BFC-UVB-bbPg.js} +1 -1
  380. package/web-shell/assets/{erDiagram-SSCWMZ5O-D0besu_U.js → erDiagram-SSCWMZ5O-l8drddto.js} +13 -13
  381. package/web-shell/assets/flowDiagram-A5DVABFB-DU1I_VAI.js +168 -0
  382. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-CNlsAeNr.js → ganttDiagram-EL5Y4UJY-BLRH05uB.js} +1 -1
  383. package/web-shell/assets/gitGraphDiagram-WWUBYQGX-Czg_BkRE.js +106 -0
  384. package/web-shell/assets/index-CmMV8Jla.js +3 -0
  385. package/web-shell/assets/{index-CGT341lL.js → index-DohPy72Z.js} +1 -1
  386. package/web-shell/assets/index-DyMtNYuu.js +2207 -0
  387. package/web-shell/assets/index-n6N-2a3v.css +36 -0
  388. package/web-shell/assets/{infoDiagram-RXCK75RN-Bpai64Ll.js → infoDiagram-RXCK75RN-BpBvjkro.js} +1 -1
  389. package/web-shell/assets/ishikawaDiagram-5VMMS53U-phy1l3jm.js +70 -0
  390. package/web-shell/assets/{journeyDiagram-EYS64GPL-iz_DKgFX.js → journeyDiagram-EYS64GPL-oY-9LgVS.js} +1 -1
  391. package/web-shell/assets/kanban-definition-3QL26DDD-slZoy-sc.js +89 -0
  392. package/web-shell/assets/{layout-qEvKgnvU.js → layout-0hnn_P9l.js} +1 -1
  393. package/web-shell/assets/{linear-C6lklGdq.js → linear-7Wqe8DRy.js} +1 -1
  394. package/web-shell/assets/mermaid.core-BaK8n0bq.js +312 -0
  395. package/web-shell/assets/mindmap-definition-FBJOCRG2-BedUdy_E.js +96 -0
  396. package/web-shell/assets/{pegDiagram-XKGWAZYB-BhD0q0i6.js → pegDiagram-XKGWAZYB-DQLRdmxq.js} +1 -1
  397. package/web-shell/assets/pieDiagram-E7YTZNPT-UC20w9-5.js +39 -0
  398. package/web-shell/assets/quadrantDiagram-AXDQQJYC-CQx2Hmk3.js +7 -0
  399. package/web-shell/assets/qwen-code-notification-BRVagufF.png +0 -0
  400. package/web-shell/assets/{railroadDiagram-O6MQD6OU-E1g2KIFK.js → railroadDiagram-O6MQD6OU-2UEJe_y-.js} +1 -1
  401. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-CuerYJOe.js → requirementDiagram-EFPCY7ZU-DOAJggB4.js} +13 -13
  402. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-CqWyCZGA.js → sankeyDiagram-P5KCCOFB-DnQ_qJo7.js} +7 -7
  403. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-B-YWb8x4.js → sequenceDiagram-WJ2MYXX4-DZrZUoCo.js} +16 -16
  404. package/web-shell/assets/sizeCapture-X5ZJPWSS-B5G4GDQB.js +1 -0
  405. package/web-shell/assets/{stateDiagram-HBIQ2CUA-C8LDpNHS.js → stateDiagram-HBIQ2CUA-Bn1cT0qF.js} +1 -1
  406. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-BF3xtNvJ.js +1 -0
  407. package/web-shell/assets/swimlanes-XN3QIQJK-Bzhcdn87.js +1 -0
  408. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-B753mA3E.js +8 -0
  409. package/web-shell/assets/timeline-definition-24CTP7MA-BqZ_3D10.js +120 -0
  410. package/web-shell/assets/vennDiagram-4TSXK5OY-z9kw1kmm.js +34 -0
  411. package/web-shell/assets/wardleyDiagram-VM6X3IG4-Cydp1zJW.js +78 -0
  412. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-ruD2Wjhg.js → xychartDiagram-S5SC5T6Z-j4X1lQKo.js} +1 -1
  413. package/web-shell/index.html +2 -2
  414. package/chunks/chunk-7Q2AXRDJ.js +0 -114
  415. package/chunks/chunk-AEY27Z35.js +0 -1411
  416. package/chunks/chunk-CFKIH3D3.js +0 -50
  417. package/chunks/chunk-HWVUSYSN.js +0 -126
  418. package/chunks/chunk-QHMLYMMS.js +0 -32
  419. package/chunks/chunk-SAH4BD2J.js +0 -92
  420. package/chunks/chunk-TWUKBNWM.js +0 -86
  421. package/chunks/chunk-ZTTC7T4X.js +0 -126
  422. package/chunks/list-YL6LDQKQ.js +0 -129
  423. package/chunks/mcp-IYVSIW6O.js +0 -123
  424. package/chunks/web-search-NEGYQNDJ.js +0 -912
  425. package/chunks/workspace-providers-status-AEYISSU2.js +0 -127
  426. package/chunks/workspace-skills-status-5HWZU3HX.js +0 -126
  427. package/web-shell/assets/architectureDiagram-5GKGNRK7-B_fgkKe7.js +0 -36
  428. package/web-shell/assets/blockDiagram-NRAW4CY4-C3pddUNg.js +0 -129
  429. package/web-shell/assets/channel-Blod4z1X.js +0 -1
  430. package/web-shell/assets/chunk-G27WJ6UU-CVbXTxYk.js +0 -231
  431. package/web-shell/assets/chunk-JWPE2WC7-D89c_BXy.js +0 -1
  432. package/web-shell/assets/chunk-LCL6LL3I-B7-I_9KB.js +0 -206
  433. package/web-shell/assets/chunk-POPQ4Y6H-DcLQFzS4.js +0 -1
  434. package/web-shell/assets/classDiagram-DTDB5LWJ-D6hFDMqb.js +0 -1
  435. package/web-shell/assets/classDiagram-v2-JRS7N3AN-D6hFDMqb.js +0 -1
  436. package/web-shell/assets/cose-bilkent-JH36ORCC-Db2FYN85.js +0 -1
  437. package/web-shell/assets/cynefin-OW5HDTMX-i4GwmBVy.js +0 -178
  438. package/web-shell/assets/dagre-3AP2YEHR-CF9XVrD9.js +0 -4
  439. package/web-shell/assets/diagram-S7CK7UJ4-DD5PJfSm.js +0 -30
  440. package/web-shell/assets/diagram-UQ7AKVKN-CjD_sBMj.js +0 -41
  441. package/web-shell/assets/diagram-VSXAHHWV-U5WwMqyA.js +0 -3
  442. package/web-shell/assets/diagram-VX7I27RA-BujpHJJf.js +0 -24
  443. package/web-shell/assets/diagram-Z3DM3KII-3ZLtKEXo.js +0 -24
  444. package/web-shell/assets/flowDiagram-A5DVABFB-9DwDuIyr.js +0 -168
  445. package/web-shell/assets/gitGraphDiagram-WWUBYQGX-C_pPFiTR.js +0 -106
  446. package/web-shell/assets/index-BYWs4JWq.js +0 -3
  447. package/web-shell/assets/index-D3YS6KuJ.js +0 -2173
  448. package/web-shell/assets/index-eBxK3rs2.css +0 -36
  449. package/web-shell/assets/ishikawaDiagram-5VMMS53U-ktpJFq4r.js +0 -70
  450. package/web-shell/assets/kanban-definition-3QL26DDD-m_gG00Yt.js +0 -89
  451. package/web-shell/assets/mermaid.core-DSCYB_2P.js +0 -312
  452. package/web-shell/assets/mindmap-definition-FBJOCRG2-DRQbT8w-.js +0 -96
  453. package/web-shell/assets/pieDiagram-E7YTZNPT-BvIGQCSd.js +0 -39
  454. package/web-shell/assets/quadrantDiagram-AXDQQJYC-BDQtfpU-.js +0 -7
  455. package/web-shell/assets/sizeCapture-X5ZJPWSS-BB7YY4Tl.js +0 -1
  456. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-C4CbdvGa.js +0 -1
  457. package/web-shell/assets/swimlanes-XN3QIQJK-D94vOoxZ.js +0 -1
  458. package/web-shell/assets/swimlanesDiagram-VK2B7HYN--QNSIOC8.js +0 -8
  459. package/web-shell/assets/timeline-definition-24CTP7MA-C9C8uEYm.js +0 -120
  460. package/web-shell/assets/vennDiagram-4TSXK5OY-CYzMHbVW.js +0 -34
  461. package/web-shell/assets/wardleyDiagram-VM6X3IG4-G9nhtLES.js +0 -78
  462. package/chunks/{open-with-auth-6MVIHMXB.js → open-with-auth-XFCCJOO6.js} +3 -3
@@ -4,9 +4,6 @@ import {
4
4
  isDocumentNavigation,
5
5
  require_express
6
6
  } from "./chunk-SVWWF5TZ.js";
7
- import {
8
- isLoopbackAddress
9
- } from "./chunk-DMEUXLSS.js";
10
7
  import {
11
8
  writeStderrLine
12
9
  } from "./chunk-7FA2II6K.js";
@@ -39,6 +36,7 @@ var WEB_SHELL_CSP_DIRECTIVES = [
39
36
  "style-src 'self' 'unsafe-inline'",
40
37
  "font-src 'self' data:",
41
38
  "img-src 'self' data: blob:",
39
+ "media-src 'self' data:",
42
40
  "connect-src 'self'",
43
41
  "worker-src 'self' blob:",
44
42
  // base-uri does NOT fall back to default-src; lock it so an injected <base>
@@ -46,36 +44,6 @@ var WEB_SHELL_CSP_DIRECTIVES = [
46
44
  // attacker origin.
47
45
  "base-uri 'none'"
48
46
  ];
49
- function loopbackSandboxOrigins(hostHeader) {
50
- const port = portFromHostHeader(hostHeader);
51
- const suffix = port ? `:${port}` : "";
52
- const hosts = ["localhost", "127.0.0.1"];
53
- try {
54
- const requestHostname = new URL(`http://${hostHeader}`).hostname;
55
- if (isLoopbackAddress(requestHostname) && !requestHostname.includes(":") && !hosts.includes(requestHostname)) {
56
- hosts.push(requestHostname);
57
- }
58
- } catch {
59
- }
60
- return ["http", "https"].flatMap(
61
- (scheme) => hosts.map((host) => `${scheme}://${host}${suffix}`)
62
- );
63
- }
64
- __name(loopbackSandboxOrigins, "loopbackSandboxOrigins");
65
- function portFromHostHeader(hostHeader) {
66
- if (!hostHeader) return void 0;
67
- if (hostHeader.startsWith("[")) {
68
- const end = hostHeader.indexOf("]");
69
- if (end === -1) return void 0;
70
- const rest = hostHeader.slice(end + 1);
71
- return rest.startsWith(":") && /^\d+$/u.test(rest.slice(1)) ? rest.slice(1) : void 0;
72
- }
73
- const colon = hostHeader.lastIndexOf(":");
74
- if (colon === -1) return void 0;
75
- const port = hostHeader.slice(colon + 1);
76
- return /^\d+$/u.test(port) ? port : void 0;
77
- }
78
- __name(portFromHostHeader, "portFromHostHeader");
79
47
  function buildWebShellPermissionsPolicy() {
80
48
  return [
81
49
  "camera=()",
@@ -86,18 +54,17 @@ function buildWebShellPermissionsPolicy() {
86
54
  ].join(", ");
87
55
  }
88
56
  __name(buildWebShellPermissionsPolicy, "buildWebShellPermissionsPolicy");
89
- function buildWebShellCsp(frameAncestors = [], frameSrcOrigins = loopbackSandboxOrigins(void 0)) {
57
+ function buildWebShellCsp(frameAncestors = []) {
90
58
  const fa = frameAncestors.length ? `frame-ancestors ${frameAncestors.join(" ")}` : "frame-ancestors 'none'";
91
- const frameSrc = `frame-src blob: ${frameSrcOrigins.join(" ")}`;
59
+ const frameSrc = "frame-src http: https: blob:";
92
60
  return [...WEB_SHELL_CSP_DIRECTIVES, frameSrc, fa].join("; ");
93
61
  }
94
62
  __name(buildWebShellCsp, "buildWebShellCsp");
95
63
  var WEB_SHELL_CSP = buildWebShellCsp();
96
64
  function createSendIndex(webShellDir, frameAncestors = []) {
97
65
  const indexPath = path.join(webShellDir, "index.html");
98
- return (req, res) => {
99
- const sandboxOrigins = loopbackSandboxOrigins(req.get("host"));
100
- const csp = buildWebShellCsp(frameAncestors, sandboxOrigins);
66
+ return (_req, res) => {
67
+ const csp = buildWebShellCsp(frameAncestors);
101
68
  res.status(200).set("Content-Security-Policy", csp).set("X-Content-Type-Options", "nosniff").set("Referrer-Policy", "no-referrer").set(
102
69
  // `microphone=(self)` lets the same-origin Web Shell document request
103
70
  // the mic for voice dictation (the prompt won't even appear under an
@@ -171,8 +138,6 @@ __name(mountWebShellSpaFallback, "mountWebShellSpaFallback");
171
138
 
172
139
  export {
173
140
  isServeDebugMode,
174
- loopbackSandboxOrigins,
175
- portFromHostHeader,
176
141
  buildWebShellPermissionsPolicy,
177
142
  buildWebShellCsp,
178
143
  WEB_SHELL_CSP,
@@ -7,8 +7,11 @@ import {
7
7
  getRetryDelayMs,
8
8
  isQuotaExhaustedError,
9
9
  isQwenQuotaExceededError,
10
- isRateLimitError
11
- } from "./chunk-4ALNJDHL.js";
10
+ isRetryableUpstreamError
11
+ } from "./chunk-ZKIAGIGH.js";
12
+ import {
13
+ ResponsesHttpError
14
+ } from "./chunk-VGY2RGXL.js";
12
15
  import {
13
16
  createDebugLogger,
14
17
  getErrorStatus
@@ -20,15 +23,13 @@ import {
20
23
  __name
21
24
  } from "./chunk-J2S4EL5Y.js";
22
25
 
23
- // packages/core/src/utils/retry.ts
24
- init_esbuild_shims();
25
-
26
26
  // packages/core/src/utils/retryContext.ts
27
27
  init_esbuild_shims();
28
28
  import { AsyncLocalStorage } from "node:async_hooks";
29
29
  var retryContext = new AsyncLocalStorage();
30
30
 
31
31
  // packages/core/src/utils/retry.ts
32
+ init_esbuild_shims();
32
33
  var debugLogger = createDebugLogger("RETRY");
33
34
  var PERSISTENT_MAX_BACKOFF_MS = 5 * 60 * 1e3;
34
35
  var PERSISTENT_CAP_MS = 6 * 60 * 60 * 1e3;
@@ -41,11 +42,14 @@ var DEFAULT_RETRY_OPTIONS = {
41
42
  shouldRetryOnError: defaultShouldRetry
42
43
  };
43
44
  function defaultShouldRetry(error, extraRetryErrorCodes) {
45
+ if (error instanceof ResponsesHttpError) {
46
+ return error.shouldRetry(extraRetryErrorCodes);
47
+ }
44
48
  const status = getErrorStatus(error);
45
- if (isRateLimitError(error, extraRetryErrorCodes) || status !== void 0 && status >= 500 && status < 600) {
49
+ if (status !== void 0 && status >= 500 && status < 600) {
46
50
  return true;
47
51
  }
48
- return classifyRetryError(error, { extraRetryErrorCodes }).kind === "transport";
52
+ return isRetryableUpstreamError(error, extraRetryErrorCodes);
49
53
  }
50
54
  __name(defaultShouldRetry, "defaultShouldRetry");
51
55
  function hasRetryAfterStatus(status) {
@@ -220,7 +224,7 @@ After setting up your API key, run /auth to configure your provider.`
220
224
  let delayMs;
221
225
  if (shouldPersist) {
222
226
  persistentAttempt++;
223
- const retryAfterMs = hasRetryAfterStatus(errorStatus) ? getRetryAfterDelayMs(error) : null;
227
+ const retryAfterMs = hasRetryAfterStatus(errorStatus) || error instanceof ResponsesHttpError ? getRetryAfterDelayMs(error) : null;
224
228
  if (retryAfterMs !== null && retryAfterMs > 0) {
225
229
  delayMs = Math.min(retryAfterMs, capMs);
226
230
  } else {
@@ -263,7 +267,7 @@ After setting up your API key, run /auth to configure your provider.`
263
267
  attempt = maxAttempts - 1;
264
268
  }
265
269
  } else {
266
- const retryAfterMs = hasRetryAfterStatus(errorStatus) ? getRetryAfterDelayMs(error) : null;
270
+ const retryAfterMs = hasRetryAfterStatus(errorStatus) || error instanceof ResponsesHttpError ? getRetryAfterDelayMs(error) : null;
267
271
  let actualDelayMs;
268
272
  if (retryAfterMs !== null && retryAfterMs > 0) {
269
273
  actualDelayMs = retryAfterMs;
@@ -2,18 +2,18 @@
2
2
  "use strict";
3
3
  import {
4
4
  SCHEDULED_TASK_RUN_SOURCE_ID_PREFIX
5
- } from "./chunk-3KQBQ6FM.js";
5
+ } from "./chunk-SYDMM6IX.js";
6
6
  import {
7
7
  ChannelDeliveryError,
8
8
  MAX_CHANNEL_DELIVERY_TEXT_LENGTH
9
9
  } from "./chunk-RKFGE7JH.js";
10
10
  import {
11
11
  stripTerminalControlSequences
12
- } from "./chunk-N7VWZDWW.js";
12
+ } from "./chunk-DCRVSIK6.js";
13
13
  import {
14
14
  MAX_CHANNEL_DELIVERY_NAME_LENGTH,
15
15
  MAX_CHANNEL_DELIVERY_TARGET_ID_LENGTH
16
- } from "./chunk-F53KKZUD.js";
16
+ } from "./chunk-3LMDSCLU.js";
17
17
  import {
18
18
  init_esbuild_shims
19
19
  } from "./chunk-5O2XNYP6.js";
@@ -13,7 +13,7 @@ function isAllChannelSelectionName(name) {
13
13
  return name.trim() === "all";
14
14
  }
15
15
  __name(isAllChannelSelectionName, "isAllChannelSelectionName");
16
- function normalizeServeChannelSelection(rawChannels) {
16
+ function normalizeServeChannelSelection(rawChannels, label = "--channel") {
17
17
  if (rawChannels === void 0 || rawChannels.length === 0) {
18
18
  return void 0;
19
19
  }
@@ -22,7 +22,7 @@ function normalizeServeChannelSelection(rawChannels) {
22
22
  for (const raw of rawChannels) {
23
23
  const name = raw.trim();
24
24
  if (!name) {
25
- throw new Error("--channel requires a non-empty channel name.");
25
+ throw new Error(`${label} requires a non-empty channel name.`);
26
26
  }
27
27
  if (seen.has(name)) continue;
28
28
  seen.add(name);
@@ -30,7 +30,7 @@ function normalizeServeChannelSelection(rawChannels) {
30
30
  }
31
31
  if (names.some(isAllChannelSelectionName)) {
32
32
  if (names.length > 1) {
33
- throw new Error("--channel all cannot be combined with channel names.");
33
+ throw new Error(`${label} all cannot be combined with channel names.`);
34
34
  }
35
35
  return { mode: "all" };
36
36
  }
@@ -4,7 +4,7 @@ import {
4
4
  matches,
5
5
  nextFireTime,
6
6
  parseCron
7
- } from "./chunk-IRH27ZC2.js";
7
+ } from "./chunk-5EZRLTLQ.js";
8
8
  import {
9
9
  humanReadableCron
10
10
  } from "./chunk-QHWCP53L.js";
@@ -13,6 +13,7 @@ import {
13
13
  addCronTask,
14
14
  annotateCronRunSession,
15
15
  appendCronRun,
16
+ cronTaskSessionDeletionId,
16
17
  generateCronTaskId,
17
18
  getCronFilePath,
18
19
  readCronTasks,
@@ -20,10 +21,10 @@ import {
20
21
  taskHasLegacyCondition,
21
22
  taskHasLegacyRunMode,
22
23
  updateCronTasks
23
- } from "./chunk-F53KKZUD.js";
24
+ } from "./chunk-3LMDSCLU.js";
24
25
  import {
25
26
  ToolNames
26
- } from "./chunk-TP6FYVQT.js";
27
+ } from "./chunk-RSWBT7AZ.js";
27
28
  import {
28
29
  Storage,
29
30
  createDebugLogger,
@@ -301,6 +302,15 @@ var CronScheduler = class {
301
302
  // eligible to fire them. Cleared on stop so a later enable still treats
302
303
  // genuinely overdue work as missed.
303
304
  armedDurableOneShots = /* @__PURE__ */ new Set();
305
+ // Exact persisted snapshots for active per-run one-shots. The tick removes
306
+ // such a task before its async fresh-session dispatch finishes; retain the
307
+ // original so a rejected dispatch can put the unexecuted task back without
308
+ // dropping route-only fields such as session ownership.
309
+ restorablePerRunOneShots = /* @__PURE__ */ new Map();
310
+ consumedPerRunOneShots = /* @__PURE__ */ new Set();
311
+ // The durable deletion generation observed by the task-file mutation that
312
+ // removed each consumed one-shot.
313
+ consumedPerRunRemovalGenerations = /* @__PURE__ */ new Map();
304
314
  // Ids of legacy tasks (a pre-removal `isolated` task with a `condition`
305
315
  // precondition) already reported as skipped, so the fail-closed remediation
306
316
  // breadcrumb is logged once per task rather than on every file reload.
@@ -504,7 +514,12 @@ var CronScheduler = class {
504
514
  */
505
515
  async delete(id) {
506
516
  const job = this.jobs.get(id);
507
- if (!job) return this.cancelWakeup(id);
517
+ if (!job) {
518
+ this.restorablePerRunOneShots.delete(id);
519
+ this.consumedPerRunOneShots.delete(id);
520
+ this.consumedPerRunRemovalGenerations.delete(id);
521
+ return this.cancelWakeup(id);
522
+ }
508
523
  this.jobs.delete(id);
509
524
  if (job.durable && this.projectRoot) {
510
525
  this.pendingRemoval.add(id);
@@ -516,6 +531,9 @@ var CronScheduler = class {
516
531
  throw error;
517
532
  }
518
533
  }
534
+ this.restorablePerRunOneShots.delete(id);
535
+ this.consumedPerRunOneShots.delete(id);
536
+ this.consumedPerRunRemovalGenerations.delete(id);
519
537
  this.armedDurableOneShots.delete(id);
520
538
  return true;
521
539
  }
@@ -705,6 +723,11 @@ var CronScheduler = class {
705
723
  }
706
724
  const diskIds = new Set(tasks.map((t) => t.id));
707
725
  for (const id of this.pendingAdd) diskIds.add(id);
726
+ for (const id of this.restorablePerRunOneShots.keys()) {
727
+ if (!diskIds.has(id) && !this.consumedPerRunOneShots.has(id)) {
728
+ this.restorablePerRunOneShots.delete(id);
729
+ }
730
+ }
708
731
  for (const job of this.jobs.values()) {
709
732
  if (job.durable && !diskIds.has(job.id)) {
710
733
  this.jobs.delete(job.id);
@@ -730,6 +753,15 @@ var CronScheduler = class {
730
753
  job.lastFiredAt = Math.max(existing.lastFiredAt, job.lastFiredAt ?? 0);
731
754
  }
732
755
  this.jobs.set(task.id, job);
756
+ if (!task.recurring && task.sessionMode === "per_run") {
757
+ this.restorablePerRunOneShots.set(task.id, {
758
+ task,
759
+ index: read.findIndex((candidate) => candidate.id === task.id)
760
+ });
761
+ } else {
762
+ this.restorablePerRunOneShots.delete(task.id);
763
+ this.consumedPerRunOneShots.delete(task.id);
764
+ }
733
765
  if (!task.recurring && this.#shouldFireDurable(job)) {
734
766
  this.armedDurableOneShots.add(task.id);
735
767
  } else {
@@ -958,6 +990,10 @@ var CronScheduler = class {
958
990
  /** Attributes an already-persisted per-run fire to the session it ran in,
959
991
  * and/or marks its fresh-session creation as failed. */
960
992
  async annotateRunSession(taskId, firedAt, outcome) {
993
+ if (outcome.sessionId && this.consumedPerRunOneShots.delete(taskId)) {
994
+ this.restorablePerRunOneShots.delete(taskId);
995
+ this.consumedPerRunRemovalGenerations.delete(taskId);
996
+ }
961
997
  if (!this.projectRoot) return;
962
998
  await Promise.resolve();
963
999
  await this.pendingPersist;
@@ -968,6 +1004,84 @@ var CronScheduler = class {
968
1004
  )
969
1005
  );
970
1006
  }
1007
+ /** Pauses and records a durable per-run one-shot that never dispatched. */
1008
+ async restoreConsumedOneShot(taskId) {
1009
+ const projectRoot = this.projectRoot;
1010
+ const snapshot = this.restorablePerRunOneShots.get(taskId);
1011
+ const firedAt = snapshot?.task.lastFiredAt;
1012
+ if (!projectRoot || !snapshot || firedAt == null || !this.consumedPerRunOneShots.has(taskId)) {
1013
+ return false;
1014
+ }
1015
+ await Promise.resolve();
1016
+ await this.pendingPersist;
1017
+ const removalGeneration = this.consumedPerRunRemovalGenerations.get(taskId);
1018
+ if (!this.consumedPerRunOneShots.has(taskId) || removalGeneration === void 0) {
1019
+ this.restorablePerRunOneShots.delete(taskId);
1020
+ this.consumedPerRunOneShots.delete(taskId);
1021
+ this.consumedPerRunRemovalGenerations.delete(taskId);
1022
+ return false;
1023
+ }
1024
+ this.armedDurableOneShots.delete(taskId);
1025
+ let restoreGenerations = /* @__PURE__ */ new Map();
1026
+ let restored = false;
1027
+ try {
1028
+ await updateCronTasks(
1029
+ projectRoot,
1030
+ (tasks) => {
1031
+ if ([...removalGeneration].some(
1032
+ ([id, generation]) => restoreGenerations.get(id) !== generation
1033
+ ))
1034
+ return tasks;
1035
+ const existing = tasks.findIndex((task) => task.id === taskId);
1036
+ const current = tasks[existing] ?? snapshot.task;
1037
+ const failed = {
1038
+ ...current,
1039
+ enabled: false,
1040
+ lastFiredAt: firedAt,
1041
+ runs: appendCronRun(current.runs, {
1042
+ at: firedAt,
1043
+ kind: "scheduled",
1044
+ sessionDispatchFailed: true
1045
+ })
1046
+ };
1047
+ restored = true;
1048
+ if (existing !== -1) {
1049
+ return tasks.map(
1050
+ (task, index) => index === existing ? failed : task
1051
+ );
1052
+ }
1053
+ const next = [...tasks];
1054
+ next.splice(Math.min(snapshot.index, next.length), 0, failed);
1055
+ return next;
1056
+ },
1057
+ {
1058
+ observeDeletionIds: [...removalGeneration.keys()],
1059
+ onDeletionGenerations: /* @__PURE__ */ __name((generations) => {
1060
+ restoreGenerations = generations;
1061
+ }, "onDeletionGenerations")
1062
+ }
1063
+ );
1064
+ } catch (error) {
1065
+ this.restorablePerRunOneShots.delete(taskId);
1066
+ this.consumedPerRunOneShots.delete(taskId);
1067
+ this.consumedPerRunRemovalGenerations.delete(taskId);
1068
+ console.warn(
1069
+ `CronScheduler: could not restore scheduled one-shot task ${taskId} after its run failed to dispatch \u2014 the task may be gone from disk with no recorded run.`
1070
+ );
1071
+ throw error;
1072
+ }
1073
+ if (!restored) {
1074
+ this.restorablePerRunOneShots.delete(taskId);
1075
+ this.consumedPerRunOneShots.delete(taskId);
1076
+ this.consumedPerRunRemovalGenerations.delete(taskId);
1077
+ return false;
1078
+ }
1079
+ this.pendingRemoval.delete(taskId);
1080
+ this.jobs.delete(taskId);
1081
+ this.consumedPerRunOneShots.delete(taskId);
1082
+ this.consumedPerRunRemovalGenerations.delete(taskId);
1083
+ return true;
1084
+ }
971
1085
  /**
972
1086
  * Starts the scheduler tick. Calls `onFire` when a job is due.
973
1087
  * Only fires when called — does not auto-fire missed intervals.
@@ -1122,12 +1236,41 @@ var CronScheduler = class {
1122
1236
  this.armedDurableOneShots.delete(id);
1123
1237
  }
1124
1238
  const removed = new Set(removedIds);
1239
+ const removedByFire = /* @__PURE__ */ new Set();
1240
+ let removalGenerations = /* @__PURE__ */ new Map();
1125
1241
  const guarded = [...firedAt.keys()];
1126
1242
  this.markFirePersistPending(guarded);
1243
+ const recordRemovalGenerations = /* @__PURE__ */ __name(() => {
1244
+ for (const id of removedByFire) {
1245
+ const generation = removalGenerations.get(id);
1246
+ if (generation !== void 0 && this.consumedPerRunOneShots.has(id)) {
1247
+ const observed = /* @__PURE__ */ new Map([[id, generation]]);
1248
+ const sessionId = this.restorablePerRunOneShots.get(id)?.task.sessionId;
1249
+ if (sessionId) {
1250
+ const key = cronTaskSessionDeletionId(sessionId);
1251
+ const sessionGeneration = removalGenerations.get(key);
1252
+ if (sessionGeneration === void 0) continue;
1253
+ observed.set(key, sessionGeneration);
1254
+ }
1255
+ this.consumedPerRunRemovalGenerations.set(id, observed);
1256
+ }
1257
+ }
1258
+ }, "recordRemovalGenerations");
1127
1259
  this.trackPersist(
1128
1260
  updateCronTasks(
1129
1261
  this.projectRoot,
1130
- (tasks) => tasks.filter((t) => !removed.has(t.id)).map((t) => {
1262
+ (tasks) => tasks.filter((t) => {
1263
+ if (!removed.has(t.id)) return true;
1264
+ removedByFire.add(t.id);
1265
+ const snapshot = this.restorablePerRunOneShots.get(t.id);
1266
+ if (snapshot) {
1267
+ snapshot.task = {
1268
+ ...t,
1269
+ lastFiredAt: snapshot.task.lastFiredAt
1270
+ };
1271
+ }
1272
+ return false;
1273
+ }).map((t) => {
1131
1274
  const stamp = firedAt.get(t.id);
1132
1275
  if (stamp === void 0 || (t.lastFiredAt ?? 0) >= stamp)
1133
1276
  return t;
@@ -1142,8 +1285,22 @@ var CronScheduler = class {
1142
1285
  ...t.sessionMode !== "per_run" && this.sessionId ? { sessionId: this.sessionId } : {}
1143
1286
  })
1144
1287
  };
1145
- })
1146
- ).finally(() => {
1288
+ }),
1289
+ {
1290
+ observeDeletionIds: /* @__PURE__ */ __name((tasks) => [
1291
+ ...removedIds,
1292
+ ...tasks.flatMap(
1293
+ (task) => removed.has(task.id) && task.sessionId ? [cronTaskSessionDeletionId(task.sessionId)] : []
1294
+ )
1295
+ ], "observeDeletionIds"),
1296
+ onDeletionGenerations: /* @__PURE__ */ __name((generations) => {
1297
+ removalGenerations = generations;
1298
+ }, "onDeletionGenerations")
1299
+ }
1300
+ ).then(recordRemovalGenerations, (error) => {
1301
+ recordRemovalGenerations();
1302
+ throw error;
1303
+ }).finally(() => {
1147
1304
  this.clearFirePersistPending(guarded);
1148
1305
  })
1149
1306
  );
@@ -1186,6 +1343,13 @@ var CronScheduler = class {
1186
1343
  if (!job.recurring || expired) {
1187
1344
  this.jobs.delete(job.id);
1188
1345
  }
1346
+ if (!job.recurring && job.durable && job.sessionMode === "per_run") {
1347
+ this.consumedPerRunOneShots.add(job.id);
1348
+ const snapshot = this.restorablePerRunOneShots.get(job.id);
1349
+ if (snapshot) {
1350
+ snapshot.task = { ...snapshot.task, lastFiredAt: matchedMinuteMs };
1351
+ }
1352
+ }
1189
1353
  if (this.onFire) {
1190
1354
  this.onFire(job);
1191
1355
  }
@@ -1274,6 +1438,8 @@ function durableTaskToJob(task, recurringMaxAgeMs, existing) {
1274
1438
  durable: true,
1275
1439
  ...task.sessionId ? { boundSessionId: task.sessionId } : {},
1276
1440
  ...task.sessionMode ? { sessionMode: task.sessionMode } : {},
1441
+ ...task.modelServiceId ? { modelServiceId: task.modelServiceId } : {},
1442
+ ...task.groupId ? { groupId: task.groupId } : {},
1277
1443
  ...task.name ? { name: task.name } : {},
1278
1444
  ...task.delivery && task.sessionId ? { delivery: task.delivery } : {}
1279
1445
  };