@qwen-code/qwen-code 0.21.0 → 0.21.1-nightly.20260731.702932cc7

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 (423) hide show
  1. package/bundled/qc-helper/docs/configuration/model-providers.md +2 -0
  2. package/bundled/qc-helper/docs/configuration/settings.md +39 -28
  3. package/bundled/qc-helper/docs/features/channels/_meta.ts +2 -0
  4. package/bundled/qc-helper/docs/features/channels/github.md +139 -0
  5. package/bundled/qc-helper/docs/features/channels/gitlab.md +171 -0
  6. package/bundled/qc-helper/docs/features/channels/overview.md +61 -6
  7. package/bundled/qc-helper/docs/features/code-review.md +21 -1
  8. package/bundled/qc-helper/docs/features/hooks.md +72 -15
  9. package/bundled/qc-helper/docs/features/mcp.md +9 -1
  10. package/bundled/qc-helper/docs/features/scheduled-tasks.md +3 -1
  11. package/bundled/qc-helper/docs/features/sub-agents.md +42 -8
  12. package/bundled/qc-helper/docs/qwen-serve.md +11 -7
  13. package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +2 -2
  14. package/bundled/qc-helper/docs/support/troubleshooting.md +2 -1
  15. package/bundled/review/DESIGN.md +19 -0
  16. package/bundled/review/SKILL.md +120 -61
  17. package/chunks/MaxSizedBox-LAFHK4VO.js +88 -0
  18. package/chunks/{StandaloneSessionPicker-BIRMPLRD.js → StandaloneSessionPicker-EMNOBN3S.js} +71 -68
  19. package/chunks/{acp-startup-profiler-RV3IV562.js → acp-startup-profiler-2C4A5ZTJ.js} +2 -2
  20. package/chunks/{acpAgent-6J2U72PQ.js → acpAgent-ERFA6HWV.js} +1674 -591
  21. package/chunks/agent-PLKF6JK4.js +84 -0
  22. package/chunks/agent-headless-JAORDQ63.js +78 -0
  23. package/chunks/{anthropicContentGenerator-75BKLTSP.js → anthropicContentGenerator-OFHSZJBF.js} +79 -27
  24. package/chunks/{artifact-tool-Y5T7GG7F.js → artifact-tool-RDN2W7ND.js} +4 -4
  25. package/chunks/{askUserQuestion-2H6747FR.js → askUserQuestion-OZERWH5R.js} +4 -4
  26. package/chunks/bridge-NYOBVRIT.js +94 -0
  27. package/chunks/{build-RV63TIRH.js → build-GDBLPA24.js} +1 -1
  28. package/chunks/{ca-25EDXPFZ.js → ca-6W3SK7OQ.js} +6 -1
  29. package/chunks/channel-management-service-5S7YCWX5.js +418 -0
  30. package/chunks/channel-settings-store-NLOKYO23.js +91 -0
  31. package/chunks/{channel-worker-group-2ZD7TVAT.js → channel-worker-group-OVWGYMZS.js} +11 -6
  32. package/chunks/{channel-worker-manager-4OA4BCGB.js → channel-worker-manager-H55GKOQA.js} +11 -6
  33. package/chunks/{channel-worker-supervisor-V7KCFJTS.js → channel-worker-supervisor-CABBXYHK.js} +7 -5
  34. package/chunks/{chunk-RIBKPMRP.js → chunk-23F4XGWO.js} +19 -6
  35. package/chunks/{chunk-ACY3A37B.js → chunk-25VHI5T7.js} +23 -18
  36. package/chunks/{chunk-MZAXJAUM.js → chunk-26JK4RPD.js} +1 -1
  37. package/chunks/{chunk-6GMVPFB2.js → chunk-2IIJTXYF.js} +45 -16
  38. package/chunks/{chunk-BPJSQIJX.js → chunk-2J3OJGTL.js} +0 -2
  39. package/chunks/{chunk-2X55UKQE.js → chunk-2JZR3B4A.js} +3 -3
  40. package/chunks/{chunk-7JURR4JT.js → chunk-2OQUICDM.js} +167 -81
  41. package/chunks/{chunk-ZJHVAS7M.js → chunk-2YCYFWYZ.js} +4 -5
  42. package/chunks/{chunk-3QMGYBFN.js → chunk-3APUUXRF.js} +1 -80
  43. package/chunks/{chunk-MUP3T3AD.js → chunk-3I6DUGQD.js} +1 -35
  44. package/chunks/{chunk-JVPM2ULZ.js → chunk-3XZ5SSNR.js} +6 -6
  45. package/chunks/chunk-42VPM33K.js +319 -0
  46. package/chunks/{chunk-VAK25FTU.js → chunk-45IOTAUS.js} +1 -1
  47. package/chunks/chunk-45UYUCJ6.js +363 -0
  48. package/chunks/{chunk-JZA3JUDJ.js → chunk-4KP2F2TE.js} +1 -1
  49. package/chunks/{chunk-IO3IX5Q4.js → chunk-4YJQD2IO.js} +1 -1
  50. package/chunks/{chunk-JXJFVC6E.js → chunk-5G6XUGXO.js} +61 -14
  51. package/chunks/{chunk-ZOIFNCKL.js → chunk-5NNHICSA.js} +3 -23
  52. package/chunks/{chunk-A4UCTEB5.js → chunk-5WV5S2GT.js} +0 -1
  53. package/chunks/{chunk-RHLZR4E5.js → chunk-675H6PLP.js} +1 -1
  54. package/chunks/chunk-6FMJLI5M.js +1591 -0
  55. package/chunks/chunk-6MPDY6ZG.js +76 -0
  56. package/chunks/{chunk-PSOO6YXD.js → chunk-6NUWQ3R7.js} +9 -7
  57. package/chunks/{chunk-7MVVZO4N.js → chunk-6ZRWX46I.js} +4 -4
  58. package/chunks/{chunk-TPRQ7RZH.js → chunk-76E5Y3UZ.js} +3117 -993
  59. package/chunks/{chunk-UUUTRMI2.js → chunk-7ULQIS27.js} +1 -1
  60. package/chunks/{chunk-BKHWX6I2.js → chunk-A5BZ722X.js} +11 -3
  61. package/chunks/{chunk-TEHGS6UP.js → chunk-A5T5W7PR.js} +154 -16
  62. package/chunks/{chunk-VIA5XA4U.js → chunk-A5UODYG3.js} +4 -1
  63. package/chunks/{chunk-JLU636DO.js → chunk-ALMR3E6Q.js} +1 -0
  64. package/chunks/{chunk-EBJQ6AXW.js → chunk-ANDVK2JN.js} +358 -14
  65. package/chunks/{chunk-TOFQCPDC.js → chunk-AOHY3QJ3.js} +14 -8
  66. package/chunks/chunk-AQ37AY7B.js +93 -0
  67. package/chunks/{chunk-PJIZUQVC.js → chunk-AZQ3DT76.js} +2 -2
  68. package/chunks/{chunk-LKEJ26GS.js → chunk-B3TA3IF5.js} +16 -11
  69. package/chunks/{chunk-Q4M4MDQ4.js → chunk-B43QHWY6.js} +1 -1
  70. package/chunks/{chunk-UH3WSE5L.js → chunk-B4AJNNOL.js} +1 -6
  71. package/chunks/{chunk-K36B6G2O.js → chunk-B6FOGNGH.js} +5 -5
  72. package/chunks/{chunk-PWVFN2LF.js → chunk-BP2H5K25.js} +1 -1
  73. package/chunks/{chunk-LB6DUZ26.js → chunk-BTWSGZCT.js} +264 -185
  74. package/chunks/{chunk-ZNAUOR2I.js → chunk-BZBPT52P.js} +2 -2
  75. package/chunks/{chunk-L26JL52R.js → chunk-CBBP4BMC.js} +64 -67
  76. package/chunks/{chunk-ZD6UTE4A.js → chunk-CNTR4GR6.js} +1 -1
  77. package/chunks/{chunk-3SJ43L4W.js → chunk-CPZAH673.js} +6 -0
  78. package/chunks/{chunk-EPDRMGT4.js → chunk-D4HTUMGX.js} +4 -28
  79. package/chunks/{chunk-QAF7NMK7.js → chunk-D7CQTWRS.js} +1 -1
  80. package/chunks/{chunk-XVNQMZ2I.js → chunk-DGEIYUC3.js} +0 -1
  81. package/chunks/{chunk-BPZALHVR.js → chunk-DI35ZN7T.js} +1 -1
  82. package/chunks/{chunk-IKCX4CCL.js → chunk-DKPJUF5F.js} +118 -95
  83. package/chunks/{chunk-DLWL3Z7A.js → chunk-DSFHVTWD.js} +3 -3
  84. package/chunks/{chunk-FSITMZJH.js → chunk-DYRYLJ3O.js} +18 -9
  85. package/chunks/{chunk-NL7LTRLR.js → chunk-E2BHWIDT.js} +48 -72
  86. package/chunks/{chunk-UDX5OBWR.js → chunk-E2FN6SM7.js} +94 -4
  87. package/chunks/{chunk-USTWD7QV.js → chunk-E6CJ2SMM.js} +26 -16
  88. package/chunks/{chunk-KMQ33DO4.js → chunk-EDB7A72S.js} +4 -4
  89. package/chunks/{chunk-7ZCNENPP.js → chunk-FANRZEAJ.js} +1 -1
  90. package/chunks/{chunk-WBL3FJEU.js → chunk-FC4KQFCS.js} +1 -1
  91. package/chunks/{chunk-5NBDS5S6.js → chunk-FCYYAB4S.js} +162 -7
  92. package/chunks/{chunk-OKY7HXPG.js → chunk-FJ5WUMUQ.js} +2 -2
  93. package/chunks/{chunk-PHOF65IG.js → chunk-FRXG4ARO.js} +36273 -44436
  94. package/chunks/{chunk-FQK6JAFG.js → chunk-FS674JW4.js} +4 -4
  95. package/chunks/chunk-FYJ7W2PI.js +194 -0
  96. package/chunks/{chunk-BULDBTYC.js → chunk-G7XXKQYS.js} +3 -28
  97. package/chunks/{chunk-LS77BEZP.js → chunk-GLCZKT5V.js} +1 -5
  98. package/chunks/{chunk-VRYUBFMC.js → chunk-GRUAVQQR.js} +1 -1
  99. package/chunks/{chunk-MVSUYZDT.js → chunk-GWV7DI3S.js} +4 -4
  100. package/chunks/{chunk-A5L3JMUA.js → chunk-HC45LTEN.js} +18 -4
  101. package/chunks/{chunk-PC6JANNU.js → chunk-HKRVXYDN.js} +4 -4
  102. package/chunks/{chunk-GZXCZHCT.js → chunk-I3G5JWBV.js} +1 -1
  103. package/chunks/{chunk-4WIZGAH3.js → chunk-I5BT7ADR.js} +6 -58
  104. package/chunks/{chunk-GSN55ZRI.js → chunk-ID3O7PRB.js} +19 -7
  105. package/chunks/{chunk-L5UHQJTJ.js → chunk-IGTHU3T4.js} +1 -1
  106. package/chunks/{chunk-BIQWWWJN.js → chunk-IIUGIWWY.js} +1 -1
  107. package/chunks/{chunk-RWTEFFPU.js → chunk-JCJ7LKNA.js} +6140 -5616
  108. package/chunks/{chunk-S3TWXGKA.js → chunk-JE7KQ2UP.js} +4 -2
  109. package/chunks/{chunk-PWTZEM3C.js → chunk-JXVC2PL3.js} +3 -37
  110. package/chunks/chunk-JYBU6YUE.js +378 -0
  111. package/chunks/{chunk-RF3EXIHJ.js → chunk-K3PFMM5U.js} +49 -26
  112. package/chunks/{chunk-JCW2R7WC.js → chunk-K623ENWT.js} +3 -79
  113. package/chunks/{chunk-T2NCM2ET.js → chunk-K6KS3LTN.js} +2 -749
  114. package/chunks/chunk-KWHKHSIS.js +81 -0
  115. package/chunks/{chunk-DHHOYAPR.js → chunk-L2E5GFAG.js} +7 -7
  116. package/chunks/{chunk-2W3OOD4W.js → chunk-L55JWS76.js} +6 -3
  117. package/chunks/{chunk-E5TUC6CA.js → chunk-LHKCY7DY.js} +3 -3
  118. package/chunks/{chunk-NH6KE4JX.js → chunk-LOY7RWQG.js} +3 -3
  119. package/chunks/{chunk-U7M2DMGW.js → chunk-M4MSAE7U.js} +130 -5
  120. package/chunks/{chunk-IJTOWOD7.js → chunk-MB32MS4U.js} +92 -9
  121. package/chunks/{chunk-PR75REBZ.js → chunk-MM7TH7ZM.js} +12 -82
  122. package/chunks/{chunk-FODK6UMO.js → chunk-MPHPFVKK.js} +0 -2
  123. package/chunks/{chunk-M5JM7OSF.js → chunk-N4ACHWNH.js} +2 -3
  124. package/chunks/{chunk-JESCGQM3.js → chunk-NAVJD2PQ.js} +8 -7
  125. package/chunks/{chunk-J56UI34H.js → chunk-NBD76HUW.js} +4 -2
  126. package/chunks/{chunk-2SCDWPXI.js → chunk-NC4U4I3Y.js} +5 -5
  127. package/chunks/{chunk-H4SBPHSA.js → chunk-NNL7WPPK.js} +3 -3
  128. package/chunks/{chunk-YBL3QUDD.js → chunk-NQCXWP5D.js} +1 -1
  129. package/chunks/{chunk-CIKQ7KKO.js → chunk-NVFSGPIF.js} +954 -444
  130. package/chunks/{chunk-6OUGMXDC.js → chunk-NWNEANAT.js} +7 -7
  131. package/chunks/chunk-O6GEWCJA.js +21 -0
  132. package/chunks/chunk-OCPBI7J5.js +18 -0
  133. package/chunks/{chunk-KIM5GUMA.js → chunk-OE6F6ZWQ.js} +589 -220
  134. package/chunks/{chunk-SQCQ4KO2.js → chunk-P5DEY3NF.js} +380 -317
  135. package/chunks/{chunk-2JZBVYTU.js → chunk-Q3T5KA2V.js} +1 -8
  136. package/chunks/{chunk-MB4MZHMJ.js → chunk-QARJNL2V.js} +211 -522
  137. package/chunks/{chunk-YH6G52F2.js → chunk-QCXGC7QB.js} +4 -4
  138. package/chunks/chunk-QDK4F2N5.js +1252 -0
  139. package/chunks/{chunk-VDDGDZMA.js → chunk-QHWCP53L.js} +14 -7
  140. package/chunks/{chunk-VULLI6WQ.js → chunk-QIERF2GQ.js} +6 -6
  141. package/chunks/{chunk-TGILQ3YH.js → chunk-QQTJK5GB.js} +200 -77
  142. package/chunks/{chunk-H5FFA6TH.js → chunk-QTHQ6Z5X.js} +16 -3
  143. package/chunks/{chunk-5I2IWRSH.js → chunk-R2XWGR75.js} +2 -2
  144. package/chunks/{chunk-YPE6A4GC.js → chunk-RT7FNC2O.js} +2 -2
  145. package/chunks/{chunk-OFDOK3VM.js → chunk-RX7NJOPE.js} +8 -13
  146. package/chunks/{chunk-6AM5D4ME.js → chunk-S6LOFUVP.js} +0 -12
  147. package/chunks/{chunk-K4XWPEWB.js → chunk-SHN4KHDK.js} +4 -33
  148. package/chunks/{chunk-VYPFXUCB.js → chunk-SZ3KHTDR.js} +1 -1
  149. package/chunks/chunk-T26EAKDL.js +13 -0
  150. package/chunks/chunk-T3CHYWJZ.js +758 -0
  151. package/chunks/{chunk-FNQ6T3CV.js → chunk-TEGJSJDF.js} +10 -7
  152. package/chunks/{chunk-RZIX2G32.js → chunk-THPORXSI.js} +1 -1
  153. package/chunks/{chunk-OHNBB4XR.js → chunk-THVU3RNH.js} +1 -1
  154. package/chunks/{record-artifact-RQKFYO5B.js → chunk-TIRRPCFS.js} +22 -7
  155. package/chunks/{chunk-ETSW4KLJ.js → chunk-TUCOXPHJ.js} +2 -2
  156. package/chunks/{chunk-63P4EL5V.js → chunk-TZTAV5RH.js} +1 -1
  157. package/chunks/{chunk-LK7CHLVP.js → chunk-U4VTUMMK.js} +0 -60
  158. package/chunks/{chunk-3RN6GBKS.js → chunk-U5CODIJW.js} +1 -1
  159. package/chunks/chunk-UU2B5YG6.js +2196 -0
  160. package/chunks/{chunk-R5AFZNQW.js → chunk-VAVHTGU4.js} +15 -8
  161. package/chunks/{chunk-2NH6DYI4.js → chunk-VHPFWR2O.js} +12 -12
  162. package/chunks/{chunk-IKYJHJNF.js → chunk-VOMQ2P6B.js} +3 -3
  163. package/chunks/{chunk-ZFDTEDCF.js → chunk-VX22DUW2.js} +6 -6
  164. package/chunks/{chunk-HTR4WV6U.js → chunk-W4RQUHY3.js} +31 -1
  165. package/chunks/{chunk-M4FMGVY4.js → chunk-WQP7BKWA.js} +3 -3
  166. package/chunks/{chunk-LH2BYDQ5.js → chunk-X2E5TFJ5.js} +18 -12
  167. package/chunks/{chunk-COH43MRJ.js → chunk-XCGIMOLN.js} +27 -1
  168. package/chunks/{chunk-YX324OPW.js → chunk-XDS22O52.js} +1 -1
  169. package/chunks/chunk-XP4L6KS3.js +463 -0
  170. package/chunks/{chunk-6FGBXPWM.js → chunk-XQK4XXTN.js} +38 -44
  171. package/chunks/{chunk-55DJUCI2.js → chunk-XWYPFDB5.js} +53 -43
  172. package/chunks/{chunk-Y34KJKDC.js → chunk-Y7BVNVVW.js} +1 -1
  173. package/chunks/{chunk-IPUUTYMV.js → chunk-YDLJGZHL.js} +1 -1
  174. package/chunks/{chunk-HIJQF5B5.js → chunk-YGE3IXJP.js} +1 -1
  175. package/chunks/{chunk-LQIW3YFY.js → chunk-YJFPRUWX.js} +9 -7
  176. package/chunks/{chunk-J24WCGIN.js → chunk-YQIIG4NA.js} +4 -4
  177. package/chunks/{chunk-BJX6ZSUK.js → chunk-YUFIEIWC.js} +2 -2
  178. package/chunks/{chunk-NIBLUX3Y.js → chunk-Z3S5EMOW.js} +148 -21
  179. package/chunks/{chunk-WCXCRJYB.js → chunk-Z3YLHKB7.js} +1 -1
  180. package/chunks/chunk-Z4X5MTRT.js +133 -0
  181. package/chunks/{chunk-UW5EOVUN.js → chunk-ZBVS26BY.js} +4 -4
  182. package/chunks/{chunk-HTO4JFDZ.js → chunk-ZPJWUGCS.js} +0 -1
  183. package/chunks/{chunk-X5XDDSSH.js → chunk-ZPZ7ZJEE.js} +28 -5
  184. package/chunks/{computer-use-SOQ4E3VX.js → computer-use-GOM42LNK.js} +53 -50
  185. package/chunks/{config-utils-7V7GGIW6.js → config-utils-WADIDWGG.js} +4 -3
  186. package/chunks/contextCommand-6LVPTIWD.js +83 -0
  187. package/chunks/core-runtime-253XV2DB.js +137 -0
  188. package/chunks/{create-sub-session-QRJLW5BV.js → create-sub-session-45POYEVP.js} +50 -47
  189. package/chunks/{create-sub-session-IWW2IZ2T.js → create-sub-session-62YZWVAY.js} +3 -3
  190. package/chunks/{cron-create-YIID5XAW.js → cron-create-6E7GIQTG.js} +6 -6
  191. package/chunks/{cron-delete-ZVHYCEP2.js → cron-delete-JD26XY3W.js} +5 -5
  192. package/chunks/{cron-list-XEGS463Q.js → cron-list-CUWFB44G.js} +6 -6
  193. package/chunks/{daemon-YO6433NF.js → daemon-PCNCI5YU.js} +428 -18
  194. package/chunks/daemon-status-provider-AKALDYJJ.js +93 -0
  195. package/chunks/daemon-trust-policy-XB7ZSQFQ.js +88 -0
  196. package/chunks/daemon-trust-policy-monitor-FUTKP42Q.js +175 -0
  197. package/chunks/{de-HGRCYDEJ.js → de-SY6O76BF.js} +6 -1
  198. package/chunks/deferred-core-runtime-RKLCO7V5.js +92 -0
  199. package/chunks/dist-26BIMQT6.js +4487 -0
  200. package/chunks/{dist-F6IBUDR4.js → dist-2PERFI23.js} +12 -9
  201. package/chunks/{dist-46NQKLTW.js → dist-OAOC5OV4.js} +2 -2
  202. package/chunks/{dist-YFNEUWSE.js → dist-PVEAFLHY.js} +5 -4
  203. package/chunks/{dist-AIKFMUKK.js → dist-SL2LUMML.js} +1449 -14
  204. package/chunks/dist-ULIG4M5H.js +13415 -0
  205. package/chunks/{dist-WEAHOXDM.js → dist-WGMNT3JQ.js} +2 -1
  206. package/chunks/{dist-BBLXMS3N.js → dist-ZHXOBXDN.js} +3 -3
  207. package/chunks/earlyInputCapture-FCWU47OB.js +85 -0
  208. package/chunks/{edit-OBDSQURM.js → edit-TTACM3LN.js} +51 -48
  209. package/chunks/{en-MTWBNGDO.js → en-NBK3JKCE.js} +9 -1
  210. package/chunks/{enter-worktree-U6MRPQ2P.js → enter-worktree-R34GFDX6.js} +51 -48
  211. package/chunks/{enterPlanMode-BC5QUZZ2.js → enterPlanMode-KJPBB6G5.js} +51 -48
  212. package/chunks/environment-IJG3N2PR.js +105 -0
  213. package/chunks/errors-MRON5OJD.js +91 -0
  214. package/chunks/esm-K5FARBNI.js +5548 -0
  215. package/chunks/{exit-worktree-DGNYMECB.js → exit-worktree-UBA66Y4I.js} +51 -48
  216. package/chunks/exitPlanMode-SMSPGNSK.js +76 -0
  217. package/chunks/{fast-path-JJZFJANL.js → fast-path-ZBAMZDCP.js} +16 -6
  218. package/chunks/{fr-45RLL55O.js → fr-4KG5V7UT.js} +6 -1
  219. package/chunks/{gemini-QS36EBZV.js → gemini-XFT7HRNL.js} +106 -99
  220. package/chunks/{geminiContentGenerator-AG4KB6CV.js → geminiContentGenerator-XD3MLYQX.js} +40 -11
  221. package/chunks/{getMachineId-bsd-V7W3GODC.js → getMachineId-bsd-FG7IUY6U.js} +1 -1
  222. package/chunks/{getMachineId-darwin-TDO75DQP.js → getMachineId-darwin-GLCJI2RA.js} +1 -1
  223. package/chunks/{getMachineId-linux-TF43WQT2.js → getMachineId-linux-O6OPPAKO.js} +1 -1
  224. package/chunks/{getMachineId-unsupported-ZGUO3TXT.js → getMachineId-unsupported-S6CKYVGC.js} +1 -1
  225. package/chunks/{getMachineId-win-ECFYZZFQ.js → getMachineId-win-X5SRNEH7.js} +1 -1
  226. package/chunks/{glob-V7R3PSK3.js → glob-HFKY7HXZ.js} +51 -48
  227. package/chunks/goal-tools-HGO6VXPB.js +335 -0
  228. package/chunks/{grep-QYPSK7OP.js → grep-EO5Z3PFV.js} +53 -49
  229. package/chunks/handleAutoUpdate-WRENFE6C.js +84 -0
  230. package/chunks/i18n-ZG5OTVSV.js +100 -0
  231. package/chunks/{image-gen-Z3VPGKRC.js → image-gen-CKWZ4MJI.js} +12 -12
  232. package/chunks/initializer-FYPLLRC7.js +89 -0
  233. package/chunks/installationInfo-5RV4HRMC.js +83 -0
  234. package/chunks/{ja-B7DF7DFG.js → ja-F3GSQXMF.js} +6 -1
  235. package/chunks/{keychain-token-storage-MDTG3WRM.js → keychain-token-storage-IKO4G53C.js} +3 -3
  236. package/chunks/lib-RUF3WZA6.js +9 -0
  237. package/chunks/list-ZNWVL3AT.js +92 -0
  238. package/chunks/{list-agents-5KJJHR6I.js → list-agents-PXJ7ZUFB.js} +3 -3
  239. package/chunks/loadedSettingsAdapter-GQGNHP5I.js +86 -0
  240. package/chunks/{loggingContentGenerator-HS3S5H3Q.js → loggingContentGenerator-MS5DFAWH.js} +78 -113
  241. package/chunks/{loop-wakeup-FXKNNYSY.js → loop-wakeup-Y26NQZ5I.js} +15 -8
  242. package/chunks/{ls-NTK6VOQJ.js → ls-ONQTTMQR.js} +5 -5
  243. package/chunks/{lsp-2JI24STP.js → lsp-YGHHRGMD.js} +3 -3
  244. package/chunks/{managed-npm-update-JYEMMXA3.js → managed-npm-update-67AK4GTL.js} +51 -48
  245. package/chunks/mcp-FVQ4VTLM.js +86 -0
  246. package/chunks/{monitor-R3ODH5U6.js → monitor-BXB33EOZ.js} +51 -48
  247. package/chunks/nonInteractiveCli-CN2GYSN3.js +148 -0
  248. package/chunks/{notebook-edit-BNOK452R.js → notebook-edit-FKYRBV4L.js} +51 -48
  249. package/chunks/{openaiContentGenerator-WMCU3O2H.js → openaiContentGenerator-UUXV5DGU.js} +26 -27
  250. package/chunks/pidfile-MV347TTZ.js +89 -0
  251. package/chunks/process-registry-2CHQBXH5.js +157 -0
  252. package/chunks/{processUtils-RT7UNCC2.js → processUtils-LKFG52RV.js} +2 -2
  253. package/chunks/{pt-22Q3FP73.js → pt-EQ33KWEN.js} +6 -1
  254. package/chunks/{qwenContentGenerator-HHCRK4SX.js → qwenContentGenerator-3WYI2HRW.js} +56 -53
  255. package/chunks/{qwenOAuth2-OWLB5AKH.js → qwenOAuth2-B46MW45O.js} +10 -10
  256. package/chunks/read-file-ACSHVWP3.js +29 -0
  257. package/chunks/{read-mcp-resource-4DKQWGHD.js → read-mcp-resource-U2IJN5HM.js} +4 -4
  258. package/chunks/record-artifact-MGPJ7EG4.js +21 -0
  259. package/chunks/resumeHistoryUtils-AMS4767B.js +94 -0
  260. package/chunks/ripGrep-BAPM2UKC.js +76 -0
  261. package/chunks/{ru-FZCNZHDC.js → ru-7OZAUKGG.js} +6 -1
  262. package/chunks/{run-qwen-serve-FU6HEM4J.js → run-qwen-serve-JEN6FO2A.js} +1018 -263
  263. package/chunks/runtime-WVP22ISH.js +122 -0
  264. package/chunks/{scheduler-G2ZS2Z7E.js → scheduler-HTX5ACVR.js} +50 -47
  265. package/chunks/{sdk-exporters-grpc-AK3LGHNO.js → sdk-exporters-grpc-54L4LS5L.js} +4 -4
  266. package/chunks/{sdk-exporters-http-FYBSUCPD.js → sdk-exporters-http-4BQANSJ6.js} +7 -7
  267. package/chunks/{sdk-impl-GMVPB7NB.js → sdk-impl-Z4VXWVFX.js} +14 -14
  268. package/chunks/{send-message-Q6OOR6BR.js → send-message-PMP4ATVM.js} +8 -13
  269. package/chunks/serve-ELQIVNWN.js +92 -0
  270. package/chunks/{server-4UMH7OIZ.js → server-JNW2NOSQ.js} +5288 -1364
  271. package/chunks/{session-K3O3Q2SV.js → session-NC356XNS.js} +102 -95
  272. package/chunks/{settings-CR2EWTBA.js → settings-73RMIOJ6.js} +54 -51
  273. package/chunks/shell-NMHF5TFG.js +86 -0
  274. package/chunks/{skill-I3SDA4MB.js → skill-XPGXHEKO.js} +22 -22
  275. package/chunks/skill-settings-5IGIJDGA.js +94 -0
  276. package/chunks/spawnChannel-T5THBHFN.js +85 -0
  277. package/chunks/standalone-update-ODXEPDLP.js +95 -0
  278. package/chunks/{startInteractiveUI-SLZGHRPH.js → startInteractiveUI-S27DXVAE.js} +1241 -905
  279. package/chunks/{syntheticOutput-I3757IWH.js → syntheticOutput-D7E6ZFKR.js} +4 -4
  280. package/chunks/task-create-NFCYD43L.js +26 -0
  281. package/chunks/{task-list-FOPULZEP.js → task-list-TAVMGEVD.js} +7 -7
  282. package/chunks/{task-stop-H6RHXFVQ.js → task-stop-ZDF2UJRM.js} +3 -3
  283. package/chunks/{task-update-M57TFZJT.js → task-update-6L7LHGEX.js} +12 -11
  284. package/chunks/{team-create-YJALH5D2.js → team-create-CTLQWTJ2.js} +53 -50
  285. package/chunks/{team-delete-QE2UXJL7.js → team-delete-DPGGRQBU.js} +7 -7
  286. package/chunks/{team-plan-approval-34QFYKGN.js → team-plan-approval-WKRUAPJ4.js} +51 -48
  287. package/chunks/theme-manager-XQHXQQX6.js +80 -0
  288. package/chunks/{todoWrite-VQ7FKOHL.js → todoWrite-2UO5G6G6.js} +34 -6
  289. package/chunks/{tool-search-NF7GB6LE.js → tool-search-45YINAJA.js} +21 -22
  290. package/chunks/total-session-admission-QPUKGHKO.js +88 -0
  291. package/chunks/trustedFolders-YMUTRHEQ.js +98 -0
  292. package/chunks/{update-relaunch-WBUZJC5O.js → update-relaunch-PZUXTVHC.js} +5 -5
  293. package/chunks/updateCheck-IZAN4XTB.js +95 -0
  294. package/chunks/useAutoAcceptIndicator-CGL2MAYE.js +96 -0
  295. package/chunks/{validateNonInterActiveAuth-3R223G3R.js → validateNonInterActiveAuth-GBGNJ65K.js} +97 -90
  296. package/chunks/{version-HS7YSFHV.js → version-Z7EX24NZ.js} +1 -1
  297. package/chunks/{web-fetch-NKCSG7ZE.js → web-fetch-ETTT2H3V.js} +19 -21
  298. package/chunks/{web-search-S62WAP4S.js → web-search-Y3ZSVRJ6.js} +13 -13
  299. package/chunks/{workflow-QAGU5RU4.js → workflow-ATRJSAO7.js} +52 -49
  300. package/chunks/workspace-providers-status-YM3WLW3N.js +89 -0
  301. package/chunks/{workspace-registration-store-24JMHDGF.js → workspace-registration-store-4EGNCIPG.js} +1 -1
  302. package/chunks/workspace-registry-NGZOZKQP.js +96 -0
  303. package/chunks/workspace-service-SVWOXX2B.js +103 -0
  304. package/chunks/workspace-skills-status-YZHZ3PT5.js +89 -0
  305. package/chunks/workspace-trust-reconciler-GGBQV2U5.js +349 -0
  306. package/chunks/write-file-HLGCEB72.js +78 -0
  307. package/chunks/xterm-headless-NTYVIBT3.js +3475 -0
  308. package/chunks/{zh-LUIGBD55.js → zh-H3YDK5QW.js} +9 -1
  309. package/chunks/{zh-TW-F5KG2IYD.js → zh-TW-JYCP7XUA.js} +9 -1
  310. package/chunks/zoom-image-LDECT475.js +224 -0
  311. package/cli.js +50 -16
  312. package/locales/ca.js +7 -2
  313. package/locales/de.js +7 -2
  314. package/locales/en.js +10 -2
  315. package/locales/fr.js +7 -2
  316. package/locales/ja.js +7 -2
  317. package/locales/pt.js +7 -2
  318. package/locales/ru.js +7 -2
  319. package/locales/zh-TW.js +10 -2
  320. package/locales/zh.js +10 -2
  321. package/package.json +5 -4
  322. package/web-shell/assets/{arc-DcbWnB9T.js → arc-Dpy_U6Bb.js} +1 -1
  323. package/web-shell/assets/{architectureDiagram-3BPJPVTR-kMMF5sud.js → architectureDiagram-3BPJPVTR-DgDOg-c5.js} +1 -1
  324. package/web-shell/assets/{blockDiagram-GPEHLZMM-Htl9vTJS.js → blockDiagram-GPEHLZMM-tADd9Ja3.js} +1 -1
  325. package/web-shell/assets/{c4Diagram-AAUBKEIU-BnZnm0mQ.js → c4Diagram-AAUBKEIU-68wj9MCU.js} +1 -1
  326. package/web-shell/assets/channel-Do7fFnFl.js +1 -0
  327. package/web-shell/assets/{chunk-2J33WTMH-DziB7kDG.js → chunk-2J33WTMH-DjJLOeVU.js} +1 -1
  328. package/web-shell/assets/{chunk-4BX2VUAB-CmkD8daw.js → chunk-4BX2VUAB-CMbzGeVC.js} +1 -1
  329. package/web-shell/assets/{chunk-55IACEB6-CHAd9A_U.js → chunk-55IACEB6-SlKgejv9.js} +1 -1
  330. package/web-shell/assets/{chunk-727SXJPM-Dqaam3fE.js → chunk-727SXJPM-CijXssHZ.js} +1 -1
  331. package/web-shell/assets/{chunk-AQP2D5EJ-D_-saBYM.js → chunk-AQP2D5EJ-D8w25nvR.js} +1 -1
  332. package/web-shell/assets/{chunk-FMBD7UC4-B9r_veWD.js → chunk-FMBD7UC4-Bv9dcx_e.js} +1 -1
  333. package/web-shell/assets/{chunk-ND2GUHAM-B3EaCSpL.js → chunk-ND2GUHAM-Bzf6sAOd.js} +1 -1
  334. package/web-shell/assets/{chunk-QZHKN3VN-CYq8x9mn.js → chunk-QZHKN3VN-whNoNeW5.js} +1 -1
  335. package/web-shell/assets/classDiagram-4FO5ZUOK-By_XOP3X.js +1 -0
  336. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-By_XOP3X.js +1 -0
  337. package/web-shell/assets/{cose-bilkent-S5V4N54A-D0ng4uiB.js → cose-bilkent-S5V4N54A-rpQS44Lz.js} +1 -1
  338. package/web-shell/assets/{dagre-BM42HDAG-DCZollQv.js → dagre-BM42HDAG-Ck7VE6nT.js} +1 -1
  339. package/web-shell/assets/{diagram-2AECGRRQ-Dfk2pWS0.js → diagram-2AECGRRQ-CgRrsodR.js} +1 -1
  340. package/web-shell/assets/{diagram-5GNKFQAL-kX38ltWR.js → diagram-5GNKFQAL-CsTZtE5A.js} +1 -1
  341. package/web-shell/assets/{diagram-KO2AKTUF-CJz2vsXh.js → diagram-KO2AKTUF-D5EAdVq4.js} +1 -1
  342. package/web-shell/assets/{diagram-LMA3HP47-BvMLZm_7.js → diagram-LMA3HP47-DNrjHC7Z.js} +1 -1
  343. package/web-shell/assets/{diagram-OG6HWLK6-l7kfStkO.js → diagram-OG6HWLK6-ClJSJGgC.js} +1 -1
  344. package/web-shell/assets/{erDiagram-TEJ5UH35-BSVa8GGT.js → erDiagram-TEJ5UH35-DuVnos_y.js} +1 -1
  345. package/web-shell/assets/{flowDiagram-I6XJVG4X-CoawKIXH.js → flowDiagram-I6XJVG4X-DEpIVl1s.js} +1 -1
  346. package/web-shell/assets/{ganttDiagram-6RSMTGT7-DFUDH0zF.js → ganttDiagram-6RSMTGT7-COnQM2-C.js} +1 -1
  347. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-Y2pvpT4e.js → gitGraphDiagram-PVQCEYII-C-lX5H3_.js} +1 -1
  348. package/web-shell/assets/index-C2GE3DAF.js +74 -0
  349. package/web-shell/assets/{index-D0GX0zZf.js → index-DfcyS2E7.js} +1 -1
  350. package/web-shell/assets/index-Qxt6kN7i.js +1700 -0
  351. package/web-shell/assets/index-bo0Z8hfu.css +5 -0
  352. package/web-shell/assets/{infoDiagram-5YYISTIA-CU8_zLiX.js → infoDiagram-5YYISTIA-D0WP-wmU.js} +1 -1
  353. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-AVQiV0DU.js → ishikawaDiagram-YF4QCWOH-DgsI3Clu.js} +1 -1
  354. package/web-shell/assets/{journeyDiagram-JHISSGLW-DQ0VSKa3.js → journeyDiagram-JHISSGLW-4yCoMZO6.js} +1 -1
  355. package/web-shell/assets/{kanban-definition-UN3LZRKU-BqnWqsE_.js → kanban-definition-UN3LZRKU-D_05au1N.js} +1 -1
  356. package/web-shell/assets/{linear-BkoihsaA.js → linear-B38fDz0Q.js} +1 -1
  357. package/web-shell/assets/{mermaid.core-5RJs-31j.js → mermaid.core-aGNwTaHi.js} +5 -5
  358. package/web-shell/assets/{mindmap-definition-RKZ34NQL-D33Bxnpd.js → mindmap-definition-RKZ34NQL-C2yf_5WM.js} +1 -1
  359. package/web-shell/assets/{pieDiagram-4H26LBE5-BuEAw3BH.js → pieDiagram-4H26LBE5-DiHABBT-.js} +1 -1
  360. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-Kox_usEq.js → quadrantDiagram-W4KKPZXB-W9xkeAGe.js} +1 -1
  361. package/web-shell/assets/{requirementDiagram-4Y6WPE33-CNjeUif0.js → requirementDiagram-4Y6WPE33-BGmRXl9k.js} +1 -1
  362. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-BCd2OL_U.js → sankeyDiagram-5OEKKPKP-CvOmT43_.js} +1 -1
  363. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-CF2ZTsz0.js → sequenceDiagram-3UESZ5HK-C8pdd0Z-.js} +1 -1
  364. package/web-shell/assets/{stateDiagram-AJRCARHV-qenSzHtm.js → stateDiagram-AJRCARHV-C-CYdFx2.js} +1 -1
  365. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BieEHeN9.js +1 -0
  366. package/web-shell/assets/{timeline-definition-PNZ67QCA-B5DyWdgs.js → timeline-definition-PNZ67QCA-w2KQn1cI.js} +1 -1
  367. package/web-shell/assets/{vennDiagram-CIIHVFJN-DqP4I_o_.js → vennDiagram-CIIHVFJN-DuorhRku.js} +1 -1
  368. package/web-shell/assets/{wardley-L42UT6IY-CJe2e4mg.js → wardley-L42UT6IY-BAXm2cWy.js} +1 -1
  369. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-BMDSw-Rr.js → wardleyDiagram-YWT4CUSO-8PHaOXn5.js} +1 -1
  370. package/web-shell/assets/{xychartDiagram-2RQKCTM6-BTVZYkxD.js → xychartDiagram-2RQKCTM6-Do84JFSc.js} +1 -1
  371. package/web-shell/index.html +2 -2
  372. package/chunks/MaxSizedBox-5DPPWPGT.js +0 -85
  373. package/chunks/agent-6ODUANDO.js +0 -81
  374. package/chunks/agent-headless-7BYQTMHW.js +0 -75
  375. package/chunks/bridge-ZUB64FAE.js +0 -90
  376. package/chunks/chunk-LEH5C7FV.js +0 -232
  377. package/chunks/chunk-SZRN75WQ.js +0 -29
  378. package/chunks/chunk-UGYMA4EI.js +0 -219
  379. package/chunks/chunk-Z2BC6UJ5.js +0 -8575
  380. package/chunks/contextCommand-JLHYA34Z.js +0 -80
  381. package/chunks/daemon-status-provider-2233Q37D.js +0 -89
  382. package/chunks/earlyInputCapture-A7NDU3PF.js +0 -82
  383. package/chunks/environment-W5UFC2CH.js +0 -102
  384. package/chunks/errors-M7CLORXH.js +0 -88
  385. package/chunks/exitPlanMode-GXTBWQAR.js +0 -403
  386. package/chunks/handleAutoUpdate-6DBEZYPV.js +0 -81
  387. package/chunks/i18n-VUJJZIMU.js +0 -97
  388. package/chunks/initializer-UWAK5U5O.js +0 -86
  389. package/chunks/installationInfo-6O2YAA52.js +0 -80
  390. package/chunks/list-GB4ESM3T.js +0 -89
  391. package/chunks/loadedSettingsAdapter-OT6JVQ7U.js +0 -83
  392. package/chunks/mcp-6DBDJPFU.js +0 -83
  393. package/chunks/nonInteractiveCli-MOYCYBBU.js +0 -141
  394. package/chunks/pidfile-TFRZZZIO.js +0 -86
  395. package/chunks/read-file-APMO3PSX.js +0 -31
  396. package/chunks/resumeHistoryUtils-6KRYEAWZ.js +0 -91
  397. package/chunks/ripGrep-BEJDEDXW.js +0 -73
  398. package/chunks/runtime-XXRRTNP6.js +0 -118
  399. package/chunks/serve-7BSTXJ4T.js +0 -89
  400. package/chunks/shell-HH3PF3A2.js +0 -83
  401. package/chunks/spawnChannel-RWNDBXGA.js +0 -82
  402. package/chunks/src-GE4TTTML.js +0 -3147
  403. package/chunks/standalone-update-Q6WFRZZQ.js +0 -92
  404. package/chunks/task-create-N7WQSGYA.js +0 -25
  405. package/chunks/theme-manager-SWRILQHI.js +0 -77
  406. package/chunks/total-session-admission-DLHHHLD3.js +0 -84
  407. package/chunks/trustedFolders-KHXHY6PY.js +0 -93
  408. package/chunks/updateCheck-RKL6M5XN.js +0 -92
  409. package/chunks/useAutoAcceptIndicator-CFQ5BUJL.js +0 -93
  410. package/chunks/workspace-providers-status-QSVZUETE.js +0 -86
  411. package/chunks/workspace-registry-UT4RBNBM.js +0 -88
  412. package/chunks/workspace-service-JFWRUS4V.js +0 -98
  413. package/chunks/workspace-skills-status-ZBBKJOI2.js +0 -85
  414. package/chunks/write-file-VHIXW5M7.js +0 -73
  415. package/web-shell/assets/channel-Cq7YKtfC.js +0 -1
  416. package/web-shell/assets/classDiagram-4FO5ZUOK-CQ9aC1Tg.js +0 -1
  417. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CQ9aC1Tg.js +0 -1
  418. package/web-shell/assets/index-D9haPt0X.css +0 -5
  419. package/web-shell/assets/index-ckX9Pq5k.js +0 -1230
  420. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-B7W4zlCr.js +0 -1
  421. package/chunks/{chunk-TARRHLLG.js → chunk-QUGAUQGJ.js} +25 -25
  422. package/chunks/{chunk-U7ZFW55U.js → chunk-VOQXFAY5.js} +977 -977
  423. /package/chunks/{chunk-LXXMOYPL.js → chunk-VXZBKKQR.js} +0 -0
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  contextCommand
5
- } from "./chunk-R5AFZNQW.js";
5
+ } from "./chunk-VAVHTGU4.js";
6
6
  import {
7
7
  ExtensionRefreshState,
8
8
  clearSkillArgs,
@@ -12,31 +12,32 @@ import {
12
12
  staleArgsWarning,
13
13
  validateAuthMethod,
14
14
  writeSkillArgs
15
- } from "./chunk-TPRQ7RZH.js";
15
+ } from "./chunk-76E5Y3UZ.js";
16
16
  import {
17
17
  calculateCost,
18
18
  computeSessionStats,
19
19
  diffCommand,
20
20
  filterCommandsForMode,
21
+ findInlineMathExpressions,
21
22
  getSystemInfoFields,
22
23
  levelLabel
23
- } from "./chunk-U7M2DMGW.js";
24
- import {
25
- VSCODE_SHIFT_ENTER_SEQUENCE,
26
- writeOsc52
27
- } from "./chunk-J56UI34H.js";
24
+ } from "./chunk-M4MSAE7U.js";
28
25
  import {
29
26
  isKittyProtocolEnabled
30
27
  } from "./chunk-PQNHRFJC.js";
31
28
  import {
32
- rollbackStandaloneUpdate
33
- } from "./chunk-M4FMGVY4.js";
29
+ VSCODE_SHIFT_ENTER_SEQUENCE,
30
+ writeOsc52
31
+ } from "./chunk-NBD76HUW.js";
34
32
  import {
35
33
  themeManager
36
- } from "./chunk-L5UHQJTJ.js";
34
+ } from "./chunk-IGTHU3T4.js";
37
35
  import {
38
36
  getErrorMessage as getErrorMessage2
39
- } from "./chunk-IKYJHJNF.js";
37
+ } from "./chunk-VOMQ2P6B.js";
38
+ import {
39
+ rollbackStandaloneUpdate
40
+ } from "./chunk-WQP7BKWA.js";
40
41
  import {
41
42
  GITHUB_WORKFLOW_PATHS,
42
43
  INSIGHT_CSS,
@@ -50,11 +51,11 @@ import {
50
51
  toJson,
51
52
  toJsonl,
52
53
  toMarkdown
53
- } from "./chunk-EBJQ6AXW.js";
54
+ } from "./chunk-ANDVK2JN.js";
54
55
  import {
55
56
  stripUnsafeCharacters,
56
57
  toCodePoints
57
- } from "./chunk-IPUUTYMV.js";
58
+ } from "./chunk-YDLJGZHL.js";
58
59
  import {
59
60
  formatUnsupportedVoiceModelMessage,
60
61
  getVoiceSettingsScope,
@@ -62,12 +63,12 @@ import {
62
63
  isVoiceEnabled,
63
64
  readVoiceMode,
64
65
  readVoiceModel
65
- } from "./chunk-YBL3QUDD.js";
66
+ } from "./chunk-NQCXWP5D.js";
66
67
  import {
67
68
  getExtendedSystemInfo,
68
69
  getGitVersion,
69
70
  getNpmVersion
70
- } from "./chunk-MVSUYZDT.js";
71
+ } from "./chunk-GWV7DI3S.js";
71
72
  import {
72
73
  formatDuration,
73
74
  formatMemoryUsage,
@@ -76,10 +77,7 @@ import {
76
77
  import {
77
78
  isInlineModelOverrideAllowed,
78
79
  parseAcpModelOption
79
- } from "./chunk-KMQ33DO4.js";
80
- import {
81
- getInstallationInfo
82
- } from "./chunk-ZNAUOR2I.js";
80
+ } from "./chunk-EDB7A72S.js";
83
81
  import {
84
82
  OUTPUT_LANGUAGE_AUTO,
85
83
  getAllSettingKeys,
@@ -91,7 +89,7 @@ import {
91
89
  resolveOutputLanguageOrPreserveAuto,
92
90
  validateSettingValue,
93
91
  writeOutputLanguageAndRegisterPath
94
- } from "./chunk-TEHGS6UP.js";
92
+ } from "./chunk-A5T5W7PR.js";
95
93
  import {
96
94
  SUPPORTED_LANGUAGES,
97
95
  getCurrentLanguage,
@@ -99,11 +97,14 @@ import {
99
97
  resolveSupportedLanguage,
100
98
  setLanguageAsync,
101
99
  t
102
- } from "./chunk-LKEJ26GS.js";
100
+ } from "./chunk-B3TA3IF5.js";
101
+ import {
102
+ getInstallationInfo
103
+ } from "./chunk-BZBPT52P.js";
103
104
  import {
104
105
  isFolderTrustEnabled,
105
106
  loadTrustedFolders
106
- } from "./chunk-Z2BC6UJ5.js";
107
+ } from "./chunk-UU2B5YG6.js";
107
108
  import {
108
109
  require_strip_json_comments
109
110
  } from "./chunk-ALGGS7UH.js";
@@ -174,36 +175,36 @@ import {
174
175
  runForkedAgent,
175
176
  tryGenerateSessionTitle,
176
177
  unregisterGoalHook
177
- } from "./chunk-PHOF65IG.js";
178
+ } from "./chunk-FRXG4ARO.js";
178
179
  import {
179
180
  external_exports
180
181
  } from "./chunk-H6XPXXMH.js";
181
182
  import {
182
183
  resolveModelId
183
- } from "./chunk-MZAXJAUM.js";
184
+ } from "./chunk-26JK4RPD.js";
185
+ import {
186
+ HookEventName,
187
+ sanitizeUserPromptExpansionAdditionalContext
188
+ } from "./chunk-3APUUXRF.js";
184
189
  import {
185
190
  APPROVAL_MODES,
186
191
  FORK_SUBAGENT_TYPE,
187
192
  stripStartupContext
188
- } from "./chunk-L26JL52R.js";
189
- import {
190
- HookEventName,
191
- sanitizeUserPromptExpansionAdditionalContext
192
- } from "./chunk-3QMGYBFN.js";
193
+ } from "./chunk-CBBP4BMC.js";
193
194
  import {
194
195
  applySkillAllowedTools,
195
196
  buildSkillLlmContent
196
- } from "./chunk-JCW2R7WC.js";
197
+ } from "./chunk-K623ENWT.js";
197
198
  import {
198
199
  openBrowserSecurely
199
- } from "./chunk-JESCGQM3.js";
200
+ } from "./chunk-NAVJD2PQ.js";
200
201
  import {
201
202
  REASONING_EFFORT_TIERS,
202
203
  normalizeReasoningEffort
203
- } from "./chunk-XVNQMZ2I.js";
204
+ } from "./chunk-DGEIYUC3.js";
204
205
  import {
205
206
  resolveOpenAILogDir
206
- } from "./chunk-ZJHVAS7M.js";
207
+ } from "./chunk-2YCYFWYZ.js";
207
208
  import {
208
209
  IdeConnectionEvent,
209
210
  formatTokenUsageSummaryAsCsv,
@@ -217,14 +218,14 @@ import {
217
218
  recordSkillInvocation,
218
219
  runSideQuery,
219
220
  uiTelemetryService
220
- } from "./chunk-CIKQ7KKO.js";
221
+ } from "./chunk-NVFSGPIF.js";
221
222
  import {
222
223
  getAutoMemoryRoot
223
- } from "./chunk-MUP3T3AD.js";
224
+ } from "./chunk-3I6DUGQD.js";
224
225
  import {
225
226
  ToolNames,
226
227
  isShellProgressData
227
- } from "./chunk-PR75REBZ.js";
228
+ } from "./chunk-MM7TH7ZM.js";
228
229
  import {
229
230
  Storage,
230
231
  createDebugLogger,
@@ -233,12 +234,12 @@ import {
233
234
  isSubpath,
234
235
  resolvePath,
235
236
  updateSymlink
236
- } from "./chunk-NL7LTRLR.js";
237
+ } from "./chunk-E2BHWIDT.js";
237
238
  import {
238
239
  isCpuProfileRecording,
239
240
  startCpuProfile,
240
241
  stopCpuProfile
241
- } from "./chunk-QAF7NMK7.js";
242
+ } from "./chunk-D7CQTWRS.js";
242
243
  import {
243
244
  init_esbuild_shims
244
245
  } from "./chunk-5O2XNYP6.js";
@@ -250,6 +251,108 @@ import {
250
251
  // packages/cli/src/ui/utils/commandUtils.ts
251
252
  init_esbuild_shims();
252
253
  import { spawn } from "node:child_process";
254
+
255
+ // packages/cli/src/utils/commands.ts
256
+ init_esbuild_shims();
257
+ var MAX_STACKED_SKILLS = 5;
258
+ var isStackedSkillCompletableCommand = /* @__PURE__ */ __name((command) => command.kind === "skill" /* SKILL */ && command.userInvocable !== false && !command.hidden, "isStackedSkillCompletableCommand");
259
+ var isValidStackedSkillPrefix = /* @__PURE__ */ __name((prefix, commands) => {
260
+ const trimmed = prefix.trim();
261
+ if (!trimmed) return false;
262
+ const tokens = trimmed.split(/\s+/);
263
+ if (tokens.length >= MAX_STACKED_SKILLS) return false;
264
+ return tokens.every((token) => {
265
+ if (!token.startsWith("/")) return false;
266
+ const command = findCommandByName(token.slice(1), commands);
267
+ return command !== void 0 && isStackedSkillCompletableCommand(command);
268
+ });
269
+ }, "isValidStackedSkillPrefix");
270
+ var parseSlashCommand = /* @__PURE__ */ __name((query, commands) => {
271
+ const trimmed = query.trim();
272
+ const commandText = trimmed.substring(1).trim();
273
+ const parts = commandText.split(/\s+/);
274
+ const commandPath = parts.filter((p) => p);
275
+ let currentCommands = commands;
276
+ let commandToExecute;
277
+ let pathIndex = 0;
278
+ const canonicalPath = [];
279
+ let argsStart = 0;
280
+ for (const part of commandPath) {
281
+ let foundCommand = currentCommands.find((cmd) => cmd.name === part);
282
+ if (!foundCommand) {
283
+ foundCommand = currentCommands.find(
284
+ (cmd) => cmd.altNames?.includes(part)
285
+ );
286
+ }
287
+ if (foundCommand) {
288
+ commandToExecute = foundCommand;
289
+ canonicalPath.push(foundCommand.name);
290
+ pathIndex++;
291
+ const partIndex = commandText.indexOf(part, argsStart);
292
+ argsStart = partIndex + part.length;
293
+ if (foundCommand.subCommands) {
294
+ currentCommands = foundCommand.subCommands;
295
+ } else {
296
+ break;
297
+ }
298
+ } else {
299
+ break;
300
+ }
301
+ }
302
+ const args = commandToExecute ? commandText.slice(argsStart).trim() : parts.slice(pathIndex).join(" ");
303
+ return { commandToExecute, args, canonicalPath };
304
+ }, "parseSlashCommand");
305
+ var parseStackedSlashCommands = /* @__PURE__ */ __name((query, commands) => {
306
+ const trimmed = query.trim();
307
+ if (!trimmed.startsWith("/")) {
308
+ return { skills: [], remainingText: trimmed, exceededMax: false };
309
+ }
310
+ const commandText = trimmed.substring(1);
311
+ const skills = [];
312
+ let pos = 0;
313
+ let restPos = 0;
314
+ let exceededMax = false;
315
+ while (pos < commandText.length) {
316
+ while (pos < commandText.length && /\s/.test(commandText[pos])) pos++;
317
+ if (pos >= commandText.length) {
318
+ restPos = pos;
319
+ break;
320
+ }
321
+ const tokenStart = pos;
322
+ while (pos < commandText.length && !/\s/.test(commandText[pos])) pos++;
323
+ const token = commandText.slice(tokenStart, pos);
324
+ if (skills.length === 0) {
325
+ if (token.startsWith("/")) break;
326
+ const cmd2 = findCommandByName(token, commands);
327
+ if (!cmd2 || cmd2.kind !== "skill" /* SKILL */) break;
328
+ skills.push(cmd2);
329
+ restPos = pos;
330
+ continue;
331
+ }
332
+ if (!token.startsWith("/")) break;
333
+ const name = token.substring(1);
334
+ if (!name) break;
335
+ const cmd = findCommandByName(name, commands);
336
+ if (!cmd || cmd.kind !== "skill" /* SKILL */) break;
337
+ if (skills.length >= MAX_STACKED_SKILLS) {
338
+ exceededMax = true;
339
+ break;
340
+ }
341
+ skills.push(cmd);
342
+ restPos = pos;
343
+ }
344
+ if (skills.length < 2) {
345
+ return { skills: [], remainingText: trimmed, exceededMax: false };
346
+ }
347
+ const afterSkills = commandText.slice(restPos).trim();
348
+ return { skills, remainingText: afterSkills, exceededMax };
349
+ }, "parseStackedSlashCommands");
350
+ function findCommandByName(name, commands) {
351
+ return commands.find((cmd) => cmd.name === name) ?? commands.find((cmd) => cmd.altNames?.includes(name));
352
+ }
353
+ __name(findCommandByName, "findCommandByName");
354
+
355
+ // packages/cli/src/ui/utils/commandUtils.ts
253
356
  var CodePage = {
254
357
  UTF8: 65001,
255
358
  GBK: 936,
@@ -377,7 +480,6 @@ function isMidInputCompletableCommand(cmd) {
377
480
  }
378
481
  __name(isMidInputCompletableCommand, "isMidInputCompletableCommand");
379
482
  function findMidInputSlashCommand(input, cursorOffset) {
380
- if (input.startsWith("/")) return null;
381
483
  const codePoints = toCodePoints(input);
382
484
  const beforeCursor = codePoints.slice(0, cursorOffset).join("");
383
485
  const match = beforeCursor.match(/\s\/([a-zA-Z0-9_:-]*)$/);
@@ -445,7 +547,8 @@ function findSlashCommandTokens(text, commands) {
445
547
  if (isLineStart) {
446
548
  valid = cmd.userInvocable !== false && !cmd.hidden;
447
549
  } else {
448
- valid = cmd.modelInvocable === true;
550
+ const prefix = text.slice(0, start);
551
+ valid = cmd.modelInvocable === true || isStackedSkillCompletableCommand(cmd) && isValidStackedSkillPrefix(prefix, commands);
449
552
  }
450
553
  }
451
554
  tokens.push({ start, end, commandName, valid });
@@ -457,94 +560,6 @@ __name(findSlashCommandTokens, "findSlashCommandTokens");
457
560
  // packages/cli/src/nonInteractiveCliCommands.ts
458
561
  init_esbuild_shims();
459
562
 
460
- // packages/cli/src/utils/commands.ts
461
- init_esbuild_shims();
462
- var MAX_STACKED_SKILLS = 5;
463
- var parseSlashCommand = /* @__PURE__ */ __name((query, commands) => {
464
- const trimmed = query.trim();
465
- const commandText = trimmed.substring(1).trim();
466
- const parts = commandText.split(/\s+/);
467
- const commandPath = parts.filter((p) => p);
468
- let currentCommands = commands;
469
- let commandToExecute;
470
- let pathIndex = 0;
471
- const canonicalPath = [];
472
- let argsStart = 0;
473
- for (const part of commandPath) {
474
- let foundCommand = currentCommands.find((cmd) => cmd.name === part);
475
- if (!foundCommand) {
476
- foundCommand = currentCommands.find(
477
- (cmd) => cmd.altNames?.includes(part)
478
- );
479
- }
480
- if (foundCommand) {
481
- commandToExecute = foundCommand;
482
- canonicalPath.push(foundCommand.name);
483
- pathIndex++;
484
- const partIndex = commandText.indexOf(part, argsStart);
485
- argsStart = partIndex + part.length;
486
- if (foundCommand.subCommands) {
487
- currentCommands = foundCommand.subCommands;
488
- } else {
489
- break;
490
- }
491
- } else {
492
- break;
493
- }
494
- }
495
- const args = commandToExecute ? commandText.slice(argsStart).trim() : parts.slice(pathIndex).join(" ");
496
- return { commandToExecute, args, canonicalPath };
497
- }, "parseSlashCommand");
498
- var parseStackedSlashCommands = /* @__PURE__ */ __name((query, commands) => {
499
- const trimmed = query.trim();
500
- if (!trimmed.startsWith("/")) {
501
- return { skills: [], remainingText: trimmed, exceededMax: false };
502
- }
503
- const commandText = trimmed.substring(1);
504
- const skills = [];
505
- let pos = 0;
506
- let restPos = 0;
507
- let exceededMax = false;
508
- while (pos < commandText.length) {
509
- while (pos < commandText.length && /\s/.test(commandText[pos])) pos++;
510
- if (pos >= commandText.length) {
511
- restPos = pos;
512
- break;
513
- }
514
- const tokenStart = pos;
515
- while (pos < commandText.length && !/\s/.test(commandText[pos])) pos++;
516
- const token = commandText.slice(tokenStart, pos);
517
- if (skills.length === 0) {
518
- if (token.startsWith("/")) break;
519
- const cmd2 = findCommandByName(token, commands);
520
- if (!cmd2 || cmd2.kind !== "skill" /* SKILL */) break;
521
- skills.push(cmd2);
522
- restPos = pos;
523
- continue;
524
- }
525
- if (!token.startsWith("/")) break;
526
- const name = token.substring(1);
527
- if (!name) break;
528
- const cmd = findCommandByName(name, commands);
529
- if (!cmd || cmd.kind !== "skill" /* SKILL */) break;
530
- if (skills.length >= MAX_STACKED_SKILLS) {
531
- exceededMax = true;
532
- break;
533
- }
534
- skills.push(cmd);
535
- restPos = pos;
536
- }
537
- if (skills.length < 2) {
538
- return { skills: [], remainingText: trimmed, exceededMax: false };
539
- }
540
- const afterSkills = commandText.slice(restPos).trim();
541
- return { skills, remainingText: afterSkills, exceededMax };
542
- }, "parseStackedSlashCommands");
543
- function findCommandByName(name, commands) {
544
- return commands.find((cmd) => cmd.name === name) ?? commands.find((cmd) => cmd.altNames?.includes(name));
545
- }
546
- __name(findCommandByName, "findCommandByName");
547
-
548
563
  // packages/cli/src/services/CommandService.ts
549
564
  init_esbuild_shims();
550
565
  var debugLogger2 = createDebugLogger("CLI_COMMANDS");
@@ -1918,7 +1933,7 @@ var approvalModeCommand = {
1918
1933
  };
1919
1934
  }
1920
1935
  }
1921
- const autoModeNotices = mode === "auto" /* AUTO */ && priorMode !== "auto" /* AUTO */ && config ? await import("./useAutoAcceptIndicator-CFQ5BUJL.js") : void 0;
1936
+ const autoModeNotices = mode === "auto" /* AUTO */ && priorMode !== "auto" /* AUTO */ && config ? await import("./useAutoAcceptIndicator-CGL2MAYE.js") : void 0;
1922
1937
  if (config) {
1923
1938
  try {
1924
1939
  config.setApprovalMode(mode);
@@ -2617,6 +2632,11 @@ var cdCommand = {
2617
2632
  `Memory refresh failed: ${relocation.memoryRefreshError instanceof Error ? relocation.memoryRefreshError.message : String(relocation.memoryRefreshError)}`
2618
2633
  );
2619
2634
  }
2635
+ if (relocation.mcpRefreshError) {
2636
+ warnings.push(
2637
+ `MCP refresh failed: ${relocation.mcpRefreshError instanceof Error ? relocation.mcpRefreshError.message : String(relocation.mcpRefreshError)}`
2638
+ );
2639
+ }
2620
2640
  } catch (error) {
2621
2641
  return {
2622
2642
  type: "message",
@@ -2625,7 +2645,16 @@ var cdCommand = {
2625
2645
  };
2626
2646
  }
2627
2647
  if (trustedTargetPath) {
2628
- loadTrustedFolders().setValue(trustedTargetPath, "TRUST_FOLDER" /* TRUST_FOLDER */);
2648
+ try {
2649
+ loadTrustedFolders().setValue(
2650
+ trustedTargetPath,
2651
+ "TRUST_FOLDER" /* TRUST_FOLDER */
2652
+ );
2653
+ } catch (error) {
2654
+ warnings.push(
2655
+ `Trust setting update failed: ${error instanceof Error ? error.message : String(error)}`
2656
+ );
2657
+ }
2629
2658
  }
2630
2659
  try {
2631
2660
  await config.getGeminiClient()?.addWorkingDirectoryChangedContext(realOldDir, realTargetPath);
@@ -3436,11 +3465,6 @@ var compressFastCommand = {
3436
3465
 
3437
3466
  // packages/cli/src/ui/commands/copyCommand.ts
3438
3467
  init_esbuild_shims();
3439
- var INLINE_MATH_MAX_CHARS = 1024;
3440
- var INLINE_MATH_REGEX = new RegExp(
3441
- String.raw`(?<![\w$])\$(?![\s\d$])(?=[^$\n]{1,${INLINE_MATH_MAX_CHARS}}\S\$)([^$\n]{1,${INLINE_MATH_MAX_CHARS}})\$(?![\w$])`,
3442
- "g"
3443
- );
3444
3468
  function parseFencedCodeBlocks(markdown) {
3445
3469
  const blocks = [];
3446
3470
  const lines = markdown.split(/\r?\n/);
@@ -3514,14 +3538,11 @@ function parseInlineLatexExpressions(markdown) {
3514
3538
  inLatexBlock = true;
3515
3539
  continue;
3516
3540
  }
3517
- for (const match of line.matchAll(INLINE_MATH_REGEX)) {
3518
- const content = match[1];
3519
- if (content) {
3520
- expressions.push({
3521
- content,
3522
- index: expressions.length + 1
3523
- });
3524
- }
3541
+ for (const content of findInlineMathExpressions(line)) {
3542
+ expressions.push({
3543
+ content,
3544
+ index: expressions.length + 1
3545
+ });
3525
3546
  }
3526
3547
  }
3527
3548
  return expressions;
@@ -3623,10 +3644,7 @@ function selectCodeBlock(markdown, args) {
3623
3644
  if (blocks.length === 0) return null;
3624
3645
  let lang = null;
3625
3646
  let requestedIndex = null;
3626
- const selectorTokens = firstToken === "code" ? tokens.slice(1) : tokens.map((token) => token);
3627
- if (firstToken !== "code") {
3628
- lang = firstToken;
3629
- }
3647
+ const selectorTokens = firstToken === "code" ? tokens.slice(1) : tokens;
3630
3648
  for (const token of selectorTokens) {
3631
3649
  if (/^\d+$/.test(token)) {
3632
3650
  requestedIndex = Number(token);
@@ -6250,7 +6268,7 @@ var expandNowCommand = {
6250
6268
  content: t("History is already expanded in this session.")
6251
6269
  };
6252
6270
  }
6253
- const { expandCollapsedHistory } = await import("./resumeHistoryUtils-6KRYEAWZ.js");
6271
+ const { expandCollapsedHistory } = await import("./resumeHistoryUtils-AMS4767B.js");
6254
6272
  const updated = expandCollapsedHistory(history);
6255
6273
  loadHistory(updated);
6256
6274
  refreshStatic();
@@ -6496,7 +6514,7 @@ function getHookDescription(eventName) {
6496
6514
  "Input to command is JSON with file_path, memory_type, load_reason, and optional trigger_file_path and parent_file_path."
6497
6515
  ),
6498
6516
  ["UserPromptSubmit" /* UserPromptSubmit */]: t(
6499
- "Input to command is JSON with original user prompt text."
6517
+ 'Input to command is JSON with "prompt" (the current model-bound prompt) and optional "submitted_prompt" (the supported interactive TUI text projection).'
6500
6518
  ),
6501
6519
  ["UserPromptExpansion" /* UserPromptExpansion */]: t(
6502
6520
  "Input to command is JSON with command_name, command_args, and expanded prompt text."
@@ -7687,7 +7705,7 @@ var initCommand = {
7687
7705
  if (existing && existing.trim().length > 0) {
7688
7706
  if (!context.overwriteConfirmed) {
7689
7707
  const [{ Text }, { default: React }] = await Promise.all([
7690
- import("./build-RV63TIRH.js"),
7708
+ import("./build-GDBLPA24.js"),
7691
7709
  import("./react-SG7JAQSZ.js")
7692
7710
  ]);
7693
7711
  return {
@@ -9858,6 +9876,28 @@ var EMPTY_SKILL_METRICS = {
9858
9876
  totalFail: 0,
9859
9877
  byName: {}
9860
9878
  };
9879
+ function formatGenerationMetrics(metrics) {
9880
+ const last = metrics?.last;
9881
+ if (!metrics || !last) {
9882
+ return [];
9883
+ }
9884
+ const lastTps = last.generationDurationMs > 0 ? last.outputTokens / (last.generationDurationMs / 1e3) : void 0;
9885
+ const averageTtft = metrics.timedRequests > 0 ? metrics.totalTtftMs / metrics.timedRequests : void 0;
9886
+ const sessionTps = metrics.totalGenerationDurationMs > 0 ? metrics.totalThroughputOutputTokens / (metrics.totalGenerationDurationMs / 1e3) : void 0;
9887
+ return [
9888
+ "",
9889
+ `${t("Generation Metrics")} (${t("Latest Request")})`,
9890
+ `${t("Model")}: ${last.model}`,
9891
+ `TTFT: ${formatDuration(last.ttftMs)}`,
9892
+ `${t("Generation Time")}: ${formatDuration(last.generationDurationMs)}`,
9893
+ `${t("Output Tokens")}: ${formatInteger(last.outputTokens)}`,
9894
+ `TPS: ${lastTps === void 0 ? "\u2014" : `${lastTps.toFixed(1)} tok/s`}`,
9895
+ `${t("Requests")}: ${formatInteger(metrics.timedRequests)}`,
9896
+ `${t("Average TTFT")}: ${averageTtft === void 0 ? "\u2014" : formatDuration(averageTtft)}`,
9897
+ `${t("Session TPS")}: ${sessionTps === void 0 ? "\u2014" : `${sessionTps.toFixed(1)} tok/s`}`
9898
+ ];
9899
+ }
9900
+ __name(formatGenerationMetrics, "formatGenerationMetrics");
9861
9901
  function formatInteger(value) {
9862
9902
  return new Intl.NumberFormat(getCurrentLanguage()).format(value);
9863
9903
  }
@@ -10407,6 +10447,7 @@ var statsCommand = {
10407
10447
  prompt: String(totalPromptTokens),
10408
10448
  output: String(totalCandidateTokens)
10409
10449
  }),
10450
+ ...formatGenerationMetrics(metrics.generation),
10410
10451
  t("Tool calls: {{total}} ({{success}} ok, {{fail}} fail)", {
10411
10452
  total: String(metrics.tools.totalCalls),
10412
10453
  success: String(metrics.tools.totalSuccess),
@@ -11543,6 +11584,29 @@ function validateConcurrency(concurrency) {
11543
11584
  }
11544
11585
  __name(validateConcurrency, "validateConcurrency");
11545
11586
 
11587
+ // packages/cli/src/services/insight/dates.ts
11588
+ init_esbuild_shims();
11589
+ function dayKey(date) {
11590
+ const y = date.getFullYear();
11591
+ const m = String(date.getMonth() + 1).padStart(2, "0");
11592
+ const d = String(date.getDate()).padStart(2, "0");
11593
+ return `${y}-${m}-${d}`;
11594
+ }
11595
+ __name(dayKey, "dayKey");
11596
+ function parseDayKey(key) {
11597
+ const [y, m, d] = key.split("-").map(Number);
11598
+ return new Date(y, m - 1, d);
11599
+ }
11600
+ __name(parseDayKey, "parseDayKey");
11601
+ function todayKey(now = /* @__PURE__ */ new Date()) {
11602
+ return dayKey(now);
11603
+ }
11604
+ __name(todayKey, "todayKey");
11605
+ function hourOfDay(date) {
11606
+ return date.getHours();
11607
+ }
11608
+ __name(hourOfDay, "hourOfDay");
11609
+
11546
11610
  // packages/cli/src/services/insight/generators/DataProcessor.ts
11547
11611
  var logger = createDebugLogger("DataProcessor");
11548
11612
  var CONCURRENCY_LIMIT = 4;
@@ -11690,10 +11754,6 @@ var DataProcessor = class {
11690
11754
  static {
11691
11755
  __name(this, "DataProcessor");
11692
11756
  }
11693
- // Helper function to format date as YYYY-MM-DD
11694
- formatDate(date) {
11695
- return date.toISOString().split("T")[0];
11696
- }
11697
11757
  // Format chat records for LLM analysis
11698
11758
  formatRecordsForAnalysis(records) {
11699
11759
  let output = "";
@@ -11874,16 +11934,14 @@ ${sessionText}`;
11874
11934
  if (dates.length === 0) {
11875
11935
  return { currentStreak: 0, longestStreak: 0, dates: [] };
11876
11936
  }
11877
- const dateObjects = dates.map((dateStr) => new Date(dateStr));
11937
+ const dateObjects = dates.map((dateStr) => parseDayKey(dateStr));
11878
11938
  dateObjects.sort((a, b) => a.getTime() - b.getTime());
11879
11939
  let currentStreak = 1;
11880
11940
  let maxStreak = 1;
11881
- let currentDate = new Date(dateObjects[0]);
11882
- currentDate.setHours(0, 0, 0, 0);
11941
+ let currentDate = dateObjects[0];
11883
11942
  for (let i = 1; i < dateObjects.length; i++) {
11884
- const nextDate = new Date(dateObjects[i]);
11885
- nextDate.setHours(0, 0, 0, 0);
11886
- const diffDays = Math.floor(
11943
+ const nextDate = dateObjects[i];
11944
+ const diffDays = Math.round(
11887
11945
  (nextDate.getTime() - currentDate.getTime()) / (1e3 * 60 * 60 * 24)
11888
11946
  );
11889
11947
  if (diffDays === 1) {
@@ -11894,11 +11952,11 @@ ${sessionText}`;
11894
11952
  }
11895
11953
  currentDate = nextDate;
11896
11954
  }
11897
- const today = /* @__PURE__ */ new Date();
11898
- today.setHours(0, 0, 0, 0);
11955
+ const today = parseDayKey(todayKey());
11899
11956
  const yesterday = new Date(today);
11900
11957
  yesterday.setDate(yesterday.getDate() - 1);
11901
- if (currentDate.getTime() === today.getTime() || currentDate.getTime() === yesterday.getTime()) {
11958
+ if (currentDate.getTime() !== today.getTime() && currentDate.getTime() !== yesterday.getTime()) {
11959
+ currentStreak = 0;
11902
11960
  }
11903
11961
  return {
11904
11962
  currentStreak,
@@ -12385,8 +12443,8 @@ None captured`;
12385
12443
  const records = await read(fileInfo.path);
12386
12444
  for (const record of records) {
12387
12445
  const timestamp = new Date(record.timestamp);
12388
- const dateKey = this.formatDate(timestamp);
12389
- const hour = timestamp.getHours();
12446
+ const dateKey = dayKey(timestamp);
12447
+ const hour = hourOfDay(timestamp);
12390
12448
  const isUserMessage = record.type === "user";
12391
12449
  const isSlashCommand2 = record.type === "system" && record.subtype === "slash_command";
12392
12450
  if (isUserMessage || isSlashCommand2) {
@@ -12454,7 +12512,7 @@ None captured`;
12454
12512
  totalDurationMs += durationMs;
12455
12513
  if (durationMinutes > longestWorkDuration) {
12456
12514
  longestWorkDuration = durationMinutes;
12457
- longestWorkDate = this.formatDate(start);
12515
+ longestWorkDate = dayKey(start);
12458
12516
  }
12459
12517
  }
12460
12518
  const totalHours = Math.round(totalDurationMs / (1e3 * 60 * 60));
@@ -12681,7 +12739,7 @@ var StaticInsightGenerator = class {
12681
12739
  // Generate timestamped filename with collision detection
12682
12740
  async generateOutputPath(outputDir) {
12683
12741
  const now = /* @__PURE__ */ new Date();
12684
- const date = now.toISOString().split("T")[0];
12742
+ const date = dayKey(now);
12685
12743
  const time = now.toTimeString().slice(0, 8).replace(/:/g, "");
12686
12744
  let outputPath = path15.join(outputDir, `insight-${date}.html`);
12687
12745
  try {
@@ -13161,10 +13219,10 @@ var updateCommand = {
13161
13219
  { performStandaloneUpdate },
13162
13220
  installationInfo
13163
13221
  ] = await Promise.all([
13164
- import("./updateCheck-RKL6M5XN.js"),
13165
- import("./processUtils-RT7UNCC2.js"),
13166
- import("./standalone-update-Q6WFRZZQ.js"),
13167
- import("./installationInfo-6O2YAA52.js")
13222
+ import("./updateCheck-IZAN4XTB.js"),
13223
+ import("./processUtils-LKFG52RV.js"),
13224
+ import("./standalone-update-ODXEPDLP.js"),
13225
+ import("./installationInfo-5RV4HRMC.js")
13168
13226
  ]);
13169
13227
  const { formatUpdateInstructions, getInstallationInfo: getInstallationInfo2 } = installationInfo;
13170
13228
  const settings = context.services.settings;
@@ -14244,6 +14302,7 @@ __name(tryParseJson, "tryParseJson");
14244
14302
 
14245
14303
  // packages/cli/src/services/McpPromptLoader.ts
14246
14304
  init_esbuild_shims();
14305
+ var NAMED_ARG_REGEX = /--([^=]+)=(?:"((?:\\.|[^"\\])*)"|([^ ]+))/;
14247
14306
  var McpPromptLoader = class {
14248
14307
  constructor(config) {
14249
14308
  this.config = config;
@@ -14382,21 +14441,37 @@ var McpPromptLoader = class {
14382
14441
  return [];
14383
14442
  }
14384
14443
  const indexOfFirstSpace = invocation.raw.indexOf(" ") + 1;
14385
- let promptInputs = indexOfFirstSpace === 0 ? {} : this.parseArgs(
14386
- invocation.raw.substring(indexOfFirstSpace),
14387
- prompt.arguments
14388
- );
14389
- if (promptInputs instanceof Error) {
14390
- promptInputs = {};
14444
+ const argsString = indexOfFirstSpace === 0 ? "" : invocation.raw.substring(indexOfFirstSpace);
14445
+ const namedArgRegex = new RegExp(NAMED_ARG_REGEX.source, "g");
14446
+ const providedArgNames = /* @__PURE__ */ new Set();
14447
+ let m;
14448
+ while ((m = namedArgRegex.exec(argsString)) !== null) {
14449
+ providedArgNames.add(m[1]);
14391
14450
  }
14392
- const providedArgNames = Object.keys(promptInputs);
14393
- const unusedArguments = prompt.arguments.filter((arg) => {
14394
- if (!providedArgNames.includes(arg.name)) {
14395
- return true;
14451
+ const positionalTokens = argsString.replace(namedArgRegex, " ").match(/(?:"(?:\\.|[^"\\])*"|[^ ]+)/g) || [];
14452
+ const positionalCount = positionalTokens.filter(
14453
+ (token) => !token.startsWith("--")
14454
+ ).length;
14455
+ if (positionalCount > 0) {
14456
+ const unfilled = prompt.arguments.filter((arg) => !providedArgNames.has(arg.name)).sort(
14457
+ (a, b) => a.required === b.required ? 0 : a.required ? -1 : 1
14458
+ );
14459
+ for (let i = 0; i < positionalCount && i < unfilled.length; i++) {
14460
+ providedArgNames.add(unfilled[i].name);
14396
14461
  }
14397
- const argValue = promptInputs[arg.name];
14398
- return argValue === partialArg;
14399
- }).map((argument) => `--${argument.name}="`) || [];
14462
+ }
14463
+ const unusedRequired = [];
14464
+ const unusedOptional = [];
14465
+ for (const arg of prompt.arguments) {
14466
+ if (providedArgNames.has(arg.name)) continue;
14467
+ const flag = `--${arg.name}="`;
14468
+ if (arg.required) {
14469
+ unusedRequired.push(flag);
14470
+ } else {
14471
+ unusedOptional.push(flag);
14472
+ }
14473
+ }
14474
+ const unusedArguments = unusedRequired.length > 0 ? partialArg.length > 0 ? [...unusedRequired, ...unusedOptional] : unusedRequired : partialArg.length > 0 ? unusedOptional : [];
14400
14475
  const exactlyMatchingArgumentAtTheEnd = prompt.arguments.map((argument) => `--${argument.name}="`).filter((flagArgument) => {
14401
14476
  const regex = new RegExp(`${flagArgument}[^"]*$`);
14402
14477
  return regex.test(invocation.raw);
@@ -14433,7 +14508,7 @@ var McpPromptLoader = class {
14433
14508
  parseArgs(userArgs, promptArgs) {
14434
14509
  const argValues = {};
14435
14510
  const promptInputs = {};
14436
- const namedArgRegex = /--([^=]+)=(?:"((?:\\.|[^"\\])*)"|([^ ]+))/g;
14511
+ const namedArgRegex = new RegExp(NAMED_ARG_REGEX.source, "g");
14437
14512
  let match;
14438
14513
  let lastIndex = 0;
14439
14514
  const positionalParts = [];
@@ -15349,6 +15424,8 @@ __name(functionResponsePartsToString, "functionResponsePartsToString");
15349
15424
 
15350
15425
  export {
15351
15426
  MAX_STACKED_SKILLS,
15427
+ isStackedSkillCompletableCommand,
15428
+ isValidStackedSkillPrefix,
15352
15429
  parseSlashCommand,
15353
15430
  parseStackedSlashCommands,
15354
15431
  CommandService,
@@ -15372,6 +15449,8 @@ export {
15372
15449
  addConfigToMatcherGroup,
15373
15450
  getAllConfigs,
15374
15451
  refreshExtensionContentRuntime,
15452
+ dayKey,
15453
+ parseDayKey,
15375
15454
  BuiltinCommandLoader,
15376
15455
  BundledSkillLoader,
15377
15456
  FileCommandLoader,