@qwen-code/qwen-code 0.21.2 → 0.21.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (351) hide show
  1. package/bundled/qc-helper/docs/configuration/settings.md +41 -38
  2. package/bundled/qc-helper/docs/features/channels/github.md +7 -0
  3. package/bundled/qc-helper/docs/features/channels/gitlab.md +6 -0
  4. package/bundled/qc-helper/docs/features/code-review.md +78 -23
  5. package/bundled/qc-helper/docs/features/commands.md +2 -0
  6. package/bundled/qc-helper/docs/features/hooks.md +115 -18
  7. package/bundled/qc-helper/docs/features/memory.md +27 -0
  8. package/bundled/qc-helper/docs/features/skills.md +46 -1
  9. package/bundled/qc-helper/docs/features/sub-agents.md +42 -9
  10. package/bundled/qc-helper/docs/features/tool-use-summaries.md +7 -7
  11. package/bundled/qc-helper/docs/qwen-serve.md +21 -1
  12. package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +13 -13
  13. package/bundled/qc-helper/docs/support/troubleshooting.md +6 -1
  14. package/bundled/review/DESIGN.md +167 -32
  15. package/bundled/review/SKILL.md +156 -32
  16. package/chunks/{MaxSizedBox-TQBQ247P.js → MaxSizedBox-OJR636GP.js} +40 -38
  17. package/chunks/{StandaloneSessionPicker-2HPTKCLX.js → StandaloneSessionPicker-AMMBF5UY.js} +62 -59
  18. package/chunks/{acp-startup-profiler-2C4A5ZTJ.js → acp-startup-profiler-3RICG2YW.js} +2 -2
  19. package/chunks/{acpAgent-PS6EDGH3.js → acpAgent-M57LVIQA.js} +662 -560
  20. package/chunks/{agent-VDOUB35F.js → agent-PE37ARLM.js} +36 -34
  21. package/chunks/{agent-headless-EO53EFS2.js → agent-headless-45ASME4R.js} +36 -34
  22. package/chunks/{anthropicContentGenerator-OFHSZJBF.js → anthropicContentGenerator-WCBYB6JG.js} +337 -27
  23. package/chunks/{artifact-tool-RDN2W7ND.js → artifact-tool-TBOYEKTY.js} +2 -2
  24. package/chunks/{askUserQuestion-OZERWH5R.js → askUserQuestion-23Y5WZFJ.js} +2 -2
  25. package/chunks/{bridge-W7AZSRZQ.js → bridge-K3ZRPO4D.js} +42 -40
  26. package/chunks/{ca-6W3SK7OQ.js → ca-4OJN75WT.js} +46 -5
  27. package/chunks/{channel-management-service-5S7YCWX5.js → channel-management-service-IXJ2MZTS.js} +7 -7
  28. package/chunks/{channel-settings-store-JFVRSNER.js → channel-settings-store-PEAR3IME.js} +43 -41
  29. package/chunks/{channel-worker-group-OVWGYMZS.js → channel-worker-group-NDG4WOOZ.js} +8 -8
  30. package/chunks/{channel-worker-manager-H55GKOQA.js → channel-worker-manager-ZCW6UW34.js} +8 -8
  31. package/chunks/{channel-worker-supervisor-CABBXYHK.js → channel-worker-supervisor-ATGFTZRN.js} +4 -4
  32. package/chunks/{chunk-W3UKBMSI.js → chunk-22YFMJBW.js} +84 -8
  33. package/chunks/{chunk-6MPDY6ZG.js → chunk-24ER7UV4.js} +1 -1
  34. package/chunks/{chunk-QDK4F2N5.js → chunk-2DNKEBXY.js} +1 -1
  35. package/chunks/{chunk-D6MDRSZ6.js → chunk-2LZCLQIS.js} +22 -11
  36. package/chunks/{chunk-JYBU6YUE.js → chunk-2M5N3DHY.js} +1 -1
  37. package/chunks/{chunk-KR32NIAN.js → chunk-2MI7ZTRT.js} +10 -10
  38. package/chunks/{chunk-LHKCY7DY.js → chunk-2UISUFHQ.js} +3 -3
  39. package/chunks/{chunk-JXVC2PL3.js → chunk-33FNCQSY.js} +2 -2
  40. package/chunks/{chunk-NBD76HUW.js → chunk-3LGZEYOF.js} +2 -2
  41. package/chunks/{chunk-CO2U743O.js → chunk-3MWNROHB.js} +4 -4
  42. package/chunks/{chunk-E2BHWIDT.js → chunk-3RXUYQJI.js} +6 -2
  43. package/chunks/{chunk-E5Z2AVNV.js → chunk-3SH53ANB.js} +0 -11
  44. package/chunks/{chunk-LYI2PZDK.js → chunk-3XF4WT3B.js} +2 -2
  45. package/chunks/{chunk-N4ACHWNH.js → chunk-432XCUHF.js} +1 -1
  46. package/chunks/{chunk-FNDXMN7I.js → chunk-4AGGSHCH.js} +774 -205
  47. package/chunks/{chunk-DUNI4EBW.js → chunk-4K3RV3OA.js} +80 -50
  48. package/chunks/{chunk-L2E5GFAG.js → chunk-4LKVQFHM.js} +2 -2
  49. package/chunks/{chunk-YDLJGZHL.js → chunk-4NFY2S7N.js} +0 -33
  50. package/chunks/{chunk-JLZ3RBQG.js → chunk-5JPVOYWA.js} +144 -11
  51. package/chunks/{chunk-6TAASXWL.js → chunk-5VYFXHY2.js} +3 -3
  52. package/chunks/{chunk-EU5TBFJI.js → chunk-6NE5NTHJ.js} +2 -2
  53. package/chunks/{chunk-XQK4XXTN.js → chunk-6O5DVH27.js} +1 -1
  54. package/chunks/{chunk-2RFKHEXL.js → chunk-6PLDPT2C.js} +1 -1
  55. package/chunks/{chunk-3APUUXRF.js → chunk-A5YZ3FA2.js} +2 -1
  56. package/chunks/{chunk-SHN4KHDK.js → chunk-A6SX5TAH.js} +3 -3
  57. package/chunks/{chunk-SZ3KHTDR.js → chunk-AKA24BGO.js} +1 -1
  58. package/chunks/{chunk-Q3T5KA2V.js → chunk-BFHXDAR7.js} +1 -1
  59. package/chunks/{chunk-L55JWS76.js → chunk-BGXZBI5B.js} +1 -1
  60. package/chunks/{chunk-P5VC5USY.js → chunk-BKGA75MU.js} +1 -1
  61. package/chunks/{chunk-2KKCCLPT.js → chunk-BKXTHMOZ.js} +1 -1
  62. package/chunks/{chunk-V4XNUDPE.js → chunk-BSKUTHLO.js} +15 -7
  63. package/chunks/{chunk-MM7TH7ZM.js → chunk-CFDR3GNL.js} +18 -3
  64. package/chunks/{chunk-E2FN6SM7.js → chunk-CIUUYB23.js} +5 -5
  65. package/chunks/{chunk-A7Y5H4TX.js → chunk-D2GPKXCQ.js} +7 -7
  66. package/chunks/{chunk-JCJ7LKNA.js → chunk-DIEFUBV6.js} +1644 -1570
  67. package/chunks/{chunk-GL4JOZXU.js → chunk-DSGJLHM3.js} +4 -4
  68. package/chunks/{chunk-675H6PLP.js → chunk-DYA25Y7U.js} +1 -1
  69. package/chunks/{chunk-3I6DUGQD.js → chunk-E4WHKETF.js} +32 -4
  70. package/chunks/{chunk-CU47KXB5.js → chunk-EGYJRIDF.js} +6 -6
  71. package/chunks/{chunk-6CQWRWUC.js → chunk-EIMKVOSF.js} +3 -3
  72. package/chunks/{chunk-QTERJVPZ.js → chunk-EKTCKZV5.js} +1 -0
  73. package/chunks/{chunk-NHFEMWAZ.js → chunk-FF75UUB2.js} +1 -1
  74. package/chunks/{chunk-L32VV3ZJ.js → chunk-FG63DZQA.js} +12 -12
  75. package/chunks/{chunk-FCYYAB4S.js → chunk-FHPKHXHT.js} +3 -3
  76. package/chunks/{chunk-GJ2GBPBD.js → chunk-FXVHVCNA.js} +5 -5
  77. package/chunks/{chunk-56Z7QEAQ.js → chunk-GMSBXEH4.js} +16 -16
  78. package/chunks/chunk-GOFAQQZA.js +132 -0
  79. package/chunks/{chunk-YUFIEIWC.js → chunk-GTM6IHBB.js} +2 -2
  80. package/chunks/{chunk-HIVKI6O6.js → chunk-H35Q5CEG.js} +9 -7
  81. package/chunks/{chunk-FJ5WUMUQ.js → chunk-H36SETQS.js} +1 -1
  82. package/chunks/{chunk-AUOULH6Q.js → chunk-H6FIBBXK.js} +1610 -2196
  83. package/chunks/{chunk-VEMNQMHA.js → chunk-H6ZYP74A.js} +5 -13
  84. package/chunks/{chunk-TTJZAIFP.js → chunk-HEBW74ZW.js} +3 -3
  85. package/chunks/{chunk-6FMJLI5M.js → chunk-HFVW54NL.js} +41 -6
  86. package/chunks/{chunk-44F4LBWZ.js → chunk-HIXVWF7I.js} +56 -18
  87. package/chunks/{chunk-EQNUDTL6.js → chunk-HUIQ4FYC.js} +2 -2
  88. package/chunks/{chunk-5NNHICSA.js → chunk-I7JDGNG6.js} +3 -3
  89. package/chunks/{chunk-PVNQRENX.js → chunk-IF6K42YJ.js} +1 -1
  90. package/chunks/{chunk-PJOHNFIY.js → chunk-IWGTGH4G.js} +5 -5
  91. package/chunks/{chunk-B4AJNNOL.js → chunk-J26HHFI5.js} +1 -1
  92. package/chunks/{chunk-CNTR4GR6.js → chunk-JELIWHXD.js} +1 -1
  93. package/chunks/{chunk-V25K5ID7.js → chunk-K2J5JZ6B.js} +1 -1
  94. package/chunks/{chunk-IGTHU3T4.js → chunk-KKN2IE7Q.js} +1 -1
  95. package/chunks/{chunk-TZTAV5RH.js → chunk-KVUBYJDM.js} +2 -2
  96. package/chunks/{chunk-3F2WDAV6.js → chunk-KXWERR6P.js} +14 -14
  97. package/chunks/{chunk-JJPKFJBT.js → chunk-L7FTDKCD.js} +3 -3
  98. package/chunks/chunk-LBOVL47Y.js +29 -0
  99. package/chunks/{chunk-FS674JW4.js → chunk-LBWNSLJK.js} +3 -3
  100. package/chunks/{chunk-I5BT7ADR.js → chunk-LGT3YMLN.js} +4 -4
  101. package/chunks/{chunk-UV6KF7T3.js → chunk-LZV2BZPL.js} +3 -3
  102. package/chunks/{chunk-P755N4CS.js → chunk-M5LIY7Y6.js} +6 -6
  103. package/chunks/{chunk-YGE3IXJP.js → chunk-M744OFVE.js} +1 -1
  104. package/chunks/{chunk-NTDH4IML.js → chunk-MCXMWLFT.js} +7 -7
  105. package/chunks/chunk-MISUEWB4.js +8749 -0
  106. package/chunks/{chunk-TEGJSJDF.js → chunk-MOHAWIAW.js} +2 -2
  107. package/chunks/{chunk-KXDONCPU.js → chunk-MTR4JWQJ.js} +4 -4
  108. package/chunks/{chunk-RSVPYAGK.js → chunk-MUEJ4R3E.js} +5 -5
  109. package/chunks/{chunk-PCK4B6LR.js → chunk-N42C2FU3.js} +1 -1
  110. package/chunks/{chunk-WWCMSZII.js → chunk-NW57GHNL.js} +71 -7
  111. package/chunks/{chunk-PQNHRFJC.js → chunk-NYX53SV4.js} +0 -2
  112. package/chunks/{chunk-QARJNL2V.js → chunk-O2ZYHG33.js} +5 -4
  113. package/chunks/{chunk-V7RNNPGC.js → chunk-P5Y23G2L.js} +18 -1
  114. package/chunks/{chunk-GURGAJTX.js → chunk-PDDYAXL2.js} +4 -1
  115. package/chunks/chunk-PWCQRLM5.js +1170 -0
  116. package/chunks/{chunk-VMX5RZQH.js → chunk-Q3G5L5KF.js} +18 -9
  117. package/chunks/{chunk-DQ2O5QOJ.js → chunk-QDWLUXKP.js} +1 -1
  118. package/chunks/chunk-QL4TN4HS.js +59 -0
  119. package/chunks/{chunk-E6CJ2SMM.js → chunk-QMBEW7EW.js} +2 -2
  120. package/chunks/{chunk-U4VTUMMK.js → chunk-QONSRAEV.js} +1 -1
  121. package/chunks/{chunk-DEEABGH2.js → chunk-QPSYIV2O.js} +3320 -536
  122. package/chunks/{chunk-Q5WZTTWE.js → chunk-QWDVZH24.js} +6 -8
  123. package/chunks/{chunk-2LEOZTBT.js → chunk-QWW6I2UO.js} +111 -26
  124. package/chunks/{chunk-LOY7RWQG.js → chunk-QYPT3QUD.js} +3 -3
  125. package/chunks/{chunk-6PQPKTXP.js → chunk-R7XNRHYD.js} +1 -1
  126. package/chunks/{chunk-7SJN2IWT.js → chunk-RCXCGZG6.js} +5 -5
  127. package/chunks/{chunk-HX6RLYUO.js → chunk-RL6J3BPE.js} +4 -4
  128. package/chunks/{chunk-Z3S5EMOW.js → chunk-RPYYTL7E.js} +60 -12
  129. package/chunks/{chunk-MB32MS4U.js → chunk-RR224BUP.js} +215 -174
  130. package/chunks/{chunk-H6I4PGRV.js → chunk-SKSF3LGQ.js} +4 -4
  131. package/chunks/{chunk-77V3VIKL.js → chunk-SQ3YD5MI.js} +9 -9
  132. package/chunks/{chunk-CBBP4BMC.js → chunk-SRY26X4H.js} +72 -206
  133. package/chunks/{chunk-RDJOB6S3.js → chunk-TXABHVZD.js} +1 -1
  134. package/chunks/{chunk-R2XWGR75.js → chunk-TYERNYH4.js} +2 -2
  135. package/chunks/chunk-TZTBZ25J.js +222 -0
  136. package/chunks/{chunk-45IOTAUS.js → chunk-U25CMJYY.js} +1 -1
  137. package/chunks/{chunk-7ULQIS27.js → chunk-UEJESCS7.js} +1 -1
  138. package/chunks/{chunk-HC45LTEN.js → chunk-UH7Z7Y45.js} +1 -1
  139. package/chunks/{chunk-CPZAH673.js → chunk-UKZEXS6K.js} +2 -0
  140. package/chunks/{chunk-54YCNSK5.js → chunk-UQDFEU47.js} +4113 -10152
  141. package/chunks/{chunk-XP4L6KS3.js → chunk-URN76TKR.js} +2 -2
  142. package/chunks/{chunk-XUGZYLDH.js → chunk-UWSXFI6E.js} +1 -1
  143. package/chunks/{chunk-AOHY3QJ3.js → chunk-VA5NLVPT.js} +3 -3
  144. package/chunks/{chunk-PZEXDV3H.js → chunk-VUNRNRN6.js} +71 -43
  145. package/chunks/{chunk-FANRZEAJ.js → chunk-VWOVHOTT.js} +1 -1
  146. package/chunks/{chunk-QTHQ6Z5X.js → chunk-WK4TJUEA.js} +1 -1
  147. package/chunks/{chunk-ZPZ7ZJEE.js → chunk-WUC6ZFXO.js} +1 -1
  148. package/chunks/{chunk-7KAXXBER.js → chunk-WY2ENRDN.js} +3 -3
  149. package/chunks/{chunk-TIRRPCFS.js → chunk-X6QNZOTC.js} +1 -1
  150. package/chunks/{chunk-KWHKHSIS.js → chunk-X6WUYMOV.js} +8 -8
  151. package/chunks/{chunk-IIUGIWWY.js → chunk-XC2VAFVZ.js} +1 -1
  152. package/chunks/{chunk-D4HTUMGX.js → chunk-XC656O42.js} +3 -3
  153. package/chunks/{chunk-RG64CDT2.js → chunk-XMJO6C44.js} +131 -48
  154. package/chunks/{chunk-ZMOJ7ISP.js → chunk-XUMAD5IT.js} +1 -1
  155. package/chunks/{chunk-THVU3RNH.js → chunk-YAVY33G4.js} +1 -1
  156. package/chunks/{chunk-YANIWTRZ.js → chunk-YPUHMQXV.js} +1 -1
  157. package/chunks/{chunk-QCXGC7QB.js → chunk-YU6TBRTA.js} +3 -3
  158. package/chunks/{chunk-OFZKFPYG.js → chunk-YWMDTMAU.js} +3 -3
  159. package/chunks/{chunk-DSFHVTWD.js → chunk-YXEVDA66.js} +2 -2
  160. package/chunks/{chunk-JE2CEOBO.js → chunk-ZGSUFIL5.js} +4 -4
  161. package/chunks/{chunk-BBIQAX4V.js → chunk-ZJES4C3I.js} +30 -18
  162. package/chunks/{computer-use-5QWCFNKD.js → computer-use-UJMK6JQU.js} +36 -34
  163. package/chunks/{config-utils-WADIDWGG.js → config-utils-7COTJMWK.js} +4 -4
  164. package/chunks/{contextCommand-4Z7T7TUM.js → contextCommand-4YABGF4S.js} +40 -38
  165. package/chunks/{core-runtime-6N4EFC2Q.js → core-runtime-7M4VM3DA.js} +36 -34
  166. package/chunks/{create-sub-session-AEREHZBQ.js → create-sub-session-HOFDW4N7.js} +39 -37
  167. package/chunks/{create-sub-session-62YZWVAY.js → create-sub-session-J32WC64U.js} +2 -2
  168. package/chunks/{cron-create-6E7GIQTG.js → cron-create-HMFSHIAR.js} +4 -4
  169. package/chunks/{cron-delete-JD26XY3W.js → cron-delete-ZJFHOX57.js} +4 -4
  170. package/chunks/{cron-list-CUWFB44G.js → cron-list-ZEX2NBMN.js} +4 -4
  171. package/chunks/{daemon-PCNCI5YU.js → daemon-CCIX4BMG.js} +47 -6
  172. package/chunks/{daemon-status-provider-DDF7C5M7.js → daemon-status-provider-W2U5Q3J5.js} +47 -45
  173. package/chunks/{daemon-trust-policy-Q4KSOJTR.js → daemon-trust-policy-IFICWPXP.js} +42 -40
  174. package/chunks/{daemon-trust-policy-monitor-V6FTE3IY.js → daemon-trust-policy-monitor-GX7EO6FW.js} +42 -40
  175. package/chunks/{de-SY6O76BF.js → de-A6TI4LBB.js} +46 -5
  176. package/chunks/{deferred-core-runtime-GHJ5GQHK.js → deferred-core-runtime-U36OOOKE.js} +36 -34
  177. package/chunks/display-image-VS3TXYQH.js +184 -0
  178. package/chunks/{dist-ZHXOBXDN.js → dist-3BMEUGTG.js} +1 -1
  179. package/chunks/{dist-26BIMQT6.js → dist-4KAX7CCL.js} +289 -27
  180. package/chunks/{dist-OAOC5OV4.js → dist-7JGAAQSC.js} +2 -2
  181. package/chunks/{dist-SL2LUMML.js → dist-A7H2KKUC.js} +1 -1
  182. package/chunks/{dist-2PERFI23.js → dist-DPPHJAVL.js} +3 -3
  183. package/chunks/{dist-PVEAFLHY.js → dist-HVBMEYWK.js} +1 -1
  184. package/chunks/{dist-ULIG4M5H.js → dist-NEBRI7WO.js} +67 -15
  185. package/chunks/{dist-WGMNT3JQ.js → dist-SFQ34F4M.js} +24 -6
  186. package/chunks/{earlyInputCapture-TQXLLISD.js → earlyInputCapture-5ZWDH3SB.js} +37 -35
  187. package/chunks/{edit-FJEUV6KZ.js → edit-J7SW6UP6.js} +36 -34
  188. package/chunks/{en-NBK3JKCE.js → en-L4UQDLWW.js} +57 -6
  189. package/chunks/{enter-worktree-7GE3TZ4P.js → enter-worktree-NRLOHRB6.js} +36 -34
  190. package/chunks/{enterPlanMode-KR5TMPCJ.js → enterPlanMode-GDSTEFSM.js} +36 -34
  191. package/chunks/{environment-SWL3CMB3.js → environment-KHYEKG5W.js} +39 -37
  192. package/chunks/{errors-XQE7BGZV.js → errors-VNLAJV3O.js} +39 -37
  193. package/chunks/{exit-worktree-CHKTYNCV.js → exit-worktree-ARVID7DF.js} +36 -34
  194. package/chunks/{exitPlanMode-QYAG6LWX.js → exitPlanMode-4ZFY7KUH.js} +36 -34
  195. package/chunks/{fast-path-Z2K7W6DC.js → fast-path-KA65VREJ.js} +9 -5
  196. package/chunks/{fr-4KG5V7UT.js → fr-QF7RI5ZE.js} +46 -5
  197. package/chunks/{gemini-YU4XKEDG.js → gemini-5PMCNPF7.js} +149 -90
  198. package/chunks/{geminiContentGenerator-ZZX6NBO4.js → geminiContentGenerator-NFSYJ4HA.js} +6 -6
  199. package/chunks/{glob-VYF5CXSX.js → glob-F3EAUDAX.js} +36 -34
  200. package/chunks/{goal-tools-HGO6VXPB.js → goal-tools-SPQ5M6D3.js} +3 -3
  201. package/chunks/{grep-5DP5ZUTW.js → grep-UJMPVZER.js} +36 -34
  202. package/chunks/{handleAutoUpdate-UVBJ56DL.js → handleAutoUpdate-MG4FRZPN.js} +42 -40
  203. package/chunks/{i18n-UQNYHEUD.js → i18n-EVHV4ZF3.js} +38 -36
  204. package/chunks/{image-gen-WHPIZNWF.js → image-gen-UC7XVHI7.js} +9 -9
  205. package/chunks/{initializer-GMIICF4W.js → initializer-O5B6HUBI.js} +43 -41
  206. package/chunks/{installationInfo-4MGG4WVI.js → installationInfo-2LIKCNVX.js} +37 -35
  207. package/chunks/{ja-F3GSQXMF.js → ja-URQESVGW.js} +46 -5
  208. package/chunks/{keychain-token-storage-IKO4G53C.js → keychain-token-storage-7BT4TQ2A.js} +2 -2
  209. package/chunks/{kittyProtocolDetector-MBRTDRBK.js → kittyProtocolDetector-BFLAKYXH.js} +1 -1
  210. package/chunks/{list-CPN2W334.js → list-BPKIE3Z4.js} +45 -43
  211. package/chunks/{list-agents-PXJ7ZUFB.js → list-agents-TWEGRJWO.js} +2 -2
  212. package/chunks/{loadedSettingsAdapter-ZQAV5NDO.js → loadedSettingsAdapter-NGLFF4V4.js} +42 -40
  213. package/chunks/{loggingContentGenerator-5E7W4IEP.js → loggingContentGenerator-7TFESRG5.js} +52 -37
  214. package/chunks/{loop-wakeup-Y26NQZ5I.js → loop-wakeup-6LLEOQYV.js} +5 -5
  215. package/chunks/{ls-ONQTTMQR.js → ls-H5WX22VK.js} +4 -4
  216. package/chunks/{lsp-YGHHRGMD.js → lsp-G6FXYEIS.js} +2 -2
  217. package/chunks/{managed-npm-update-MKKAXYXA.js → managed-npm-update-CLZGGV7F.js} +39 -37
  218. package/chunks/{mcp-V5NTJF6X.js → mcp-X5OZOOXX.js} +42 -40
  219. package/chunks/{monitor-CO3ASY6E.js → monitor-TGSVSAZZ.js} +36 -34
  220. package/chunks/nonInteractiveCli-GUMJ5JLG.js +150 -0
  221. package/chunks/{notebook-edit-Z7AEE6FM.js → notebook-edit-EZISE7IC.js} +36 -34
  222. package/chunks/{openaiContentGenerator-CA3MQOP3.js → openaiContentGenerator-ZAKS5A6P.js} +18 -18
  223. package/chunks/{pidfile-NL7MKDRU.js → pidfile-PCMBX4LR.js} +37 -35
  224. package/chunks/{processUtils-PB5K2DYH.js → processUtils-2CSVE5BW.js} +2 -2
  225. package/chunks/{pt-EQ33KWEN.js → pt-EEEQXRUI.js} +46 -5
  226. package/chunks/{qwenContentGenerator-JYFNDCOS.js → qwenContentGenerator-S3H6PIC4.js} +42 -40
  227. package/chunks/{qwenOAuth2-W2ALKQDD.js → qwenOAuth2-MNU425VE.js} +8 -8
  228. package/chunks/{read-file-IEOR5H5W.js → read-file-HXJXHBI6.js} +10 -10
  229. package/chunks/{read-mcp-resource-U2IJN5HM.js → read-mcp-resource-DRZSI3HE.js} +2 -2
  230. package/chunks/{record-artifact-MGPJ7EG4.js → record-artifact-IPIRWMFY.js} +3 -3
  231. package/chunks/{resumeHistoryUtils-BNBTP5AS.js → resumeHistoryUtils-4QAMC2S6.js} +44 -42
  232. package/chunks/{ripGrep-UMQODKEB.js → ripGrep-MCETPF2E.js} +36 -34
  233. package/chunks/{ru-7OZAUKGG.js → ru-WGZDYQAB.js} +46 -5
  234. package/chunks/{run-qwen-serve-RN2R6QQW.js → run-qwen-serve-3NMODTXV.js} +219 -55
  235. package/chunks/{runtime-QFJ2MJF5.js → runtime-AQOV7DVP.js} +49 -45
  236. package/chunks/{scheduler-AMYUFOZI.js → scheduler-DN7SZ6ZE.js} +36 -34
  237. package/chunks/{sdk-exporters-http-4BQANSJ6.js → sdk-exporters-http-IKNWQJNV.js} +2 -2
  238. package/chunks/{sdk-impl-Z4VXWVFX.js → sdk-impl-7CUUMQDB.js} +2 -2
  239. package/chunks/{send-message-PMP4ATVM.js → send-message-HGCVVDTZ.js} +5 -4
  240. package/chunks/{serve-EIIYJVX3.js → serve-WZB45HVT.js} +42 -40
  241. package/chunks/{server-EP2LLAPD.js → server-GOTZFEEZ.js} +616 -387
  242. package/chunks/{session-GMPZBLOW.js → session-23LOFLWN.js} +149 -87
  243. package/chunks/{settings-LN7RNKBS.js → settings-LI2ORVXC.js} +41 -39
  244. package/chunks/{shell-EM2OWU5X.js → shell-GLC6OP3C.js} +36 -34
  245. package/chunks/{skill-T5VPSK73.js → skill-C7W6M4GO.js} +27 -14
  246. package/chunks/{skill-settings-GMR3GMNY.js → skill-settings-W25NCK5I.js} +41 -39
  247. package/chunks/{spawnChannel-YPCU62DI.js → spawnChannel-OHJLEBLD.js} +38 -36
  248. package/chunks/{standalone-update-JAKIM2NF.js → standalone-update-E4V5V7WT.js} +39 -37
  249. package/chunks/{startInteractiveUI-YETQWGYF.js → startInteractiveUI-FKILLW7Q.js} +1815 -1034
  250. package/chunks/{syntheticOutput-D7E6ZFKR.js → syntheticOutput-EYL7DWO7.js} +3 -3
  251. package/chunks/{task-create-NFCYD43L.js → task-create-CSCEG4SM.js} +10 -9
  252. package/chunks/{task-list-TAVMGEVD.js → task-list-6CVQPORX.js} +6 -6
  253. package/chunks/{task-stop-ZDF2UJRM.js → task-stop-Y5ZTFVRX.js} +2 -2
  254. package/chunks/{task-update-6L7LHGEX.js → task-update-C52LNFU5.js} +10 -9
  255. package/chunks/{team-create-LFJ6HGNY.js → team-create-HBIJ7NHT.js} +36 -34
  256. package/chunks/{team-delete-DPGGRQBU.js → team-delete-CE7DC53R.js} +6 -6
  257. package/chunks/{team-plan-approval-C2KLSDGO.js → team-plan-approval-IBJOKS4J.js} +36 -34
  258. package/chunks/terminal-image-renderer-BOQJPVLB.js +89 -0
  259. package/chunks/{theme-manager-JQ3ZGBP5.js → theme-manager-NSS7VLUD.js} +37 -35
  260. package/chunks/{todoWrite-2UO5G6G6.js → todoWrite-YKAA57W2.js} +107 -36
  261. package/chunks/{tool-search-FAZBFRJZ.js → tool-search-DEAS54VG.js} +13 -12
  262. package/chunks/{total-session-admission-5CALIVYO.js → total-session-admission-4LWTX3WD.js} +43 -41
  263. package/chunks/{trustedFolders-KOPSP44S.js → trustedFolders-NF3J2TA7.js} +38 -36
  264. package/chunks/{update-relaunch-6QL2TICS.js → update-relaunch-WUHRH5V3.js} +5 -5
  265. package/chunks/{updateCheck-4Q6RIKFW.js → updateCheck-7EG4BLBH.js} +41 -39
  266. package/chunks/{useAutoAcceptIndicator-Q5BMKZV3.js → useAutoAcceptIndicator-ZRV56GVP.js} +46 -44
  267. package/chunks/{validateNonInterActiveAuth-GKOC5F6Z.js → validateNonInterActiveAuth-WC2FPE3I.js} +86 -84
  268. package/chunks/{version-VSATY2LD.js → version-6SS7KCUP.js} +1 -1
  269. package/chunks/{web-fetch-JCLKL6NL.js → web-fetch-Y5QQMPKA.js} +13 -13
  270. package/chunks/{web-search-DSQTFUBX.js → web-search-QKKEU723.js} +8 -8
  271. package/chunks/{workflow-M6QAVKVJ.js → workflow-PWIU6Q2M.js} +418 -304
  272. package/chunks/{workspace-providers-status-YKLTLMJA.js → workspace-providers-status-B2DM6FNK.js} +45 -43
  273. package/chunks/{workspace-registration-store-5DMGKU64.js → workspace-registration-store-7Y33TTHJ.js} +2 -2
  274. package/chunks/{workspace-registry-PTYUSYXX.js → workspace-registry-TSNJKLPC.js} +43 -41
  275. package/chunks/{workspace-service-25ML3T47.js → workspace-service-4I2QHDX4.js} +50 -48
  276. package/chunks/{workspace-skills-status-YKZWOYRX.js → workspace-skills-status-HVXNWVGR.js} +44 -42
  277. package/chunks/{workspace-trust-reconciler-5FI2S3OS.js → workspace-trust-reconciler-RDBBGMWP.js} +49 -47
  278. package/chunks/{write-file-AY7VLP5X.js → write-file-RQ4DG5RY.js} +36 -34
  279. package/chunks/{zh-H3YDK5QW.js → zh-72XPUG5P.js} +54 -6
  280. package/chunks/{zh-TW-JYCP7XUA.js → zh-TW-LTB4SRH3.js} +54 -6
  281. package/chunks/{zoom-image-S4LJZMD5.js → zoom-image-O5YCB7WN.js} +10 -10
  282. package/cli.js +32 -48
  283. package/locales/ca.js +60 -4
  284. package/locales/de.js +62 -4
  285. package/locales/en.js +76 -6
  286. package/locales/fr.js +64 -4
  287. package/locales/ja.js +61 -4
  288. package/locales/pt.js +60 -4
  289. package/locales/ru.js +63 -4
  290. package/locales/zh-TW.js +67 -6
  291. package/locales/zh.js +67 -6
  292. package/package.json +3 -3
  293. package/web-shell/assets/{arc-xjArKHU2.js → arc-Bd7d781i.js} +1 -1
  294. package/web-shell/assets/{architectureDiagram-3BPJPVTR-BgrQDNYG.js → architectureDiagram-3BPJPVTR-CpnOJqNE.js} +1 -1
  295. package/web-shell/assets/{blockDiagram-GPEHLZMM-CXxWC-1_.js → blockDiagram-GPEHLZMM-NxVTiWnk.js} +1 -1
  296. package/web-shell/assets/{c4Diagram-AAUBKEIU-Dx1tLm3v.js → c4Diagram-AAUBKEIU-BWT75l82.js} +1 -1
  297. package/web-shell/assets/channel-A434sWK5.js +1 -0
  298. package/web-shell/assets/{chunk-2J33WTMH-CBxjogVR.js → chunk-2J33WTMH-Dzz03hk6.js} +1 -1
  299. package/web-shell/assets/{chunk-4BX2VUAB-izb-rY5W.js → chunk-4BX2VUAB-DRF-egfm.js} +1 -1
  300. package/web-shell/assets/{chunk-55IACEB6-NzLyvSb8.js → chunk-55IACEB6-Co15vq5x.js} +1 -1
  301. package/web-shell/assets/{chunk-727SXJPM-DVyKb0dl.js → chunk-727SXJPM-DHSUk1J7.js} +1 -1
  302. package/web-shell/assets/{chunk-AQP2D5EJ-BtqL7NzB.js → chunk-AQP2D5EJ-Br8u_E2R.js} +1 -1
  303. package/web-shell/assets/{chunk-FMBD7UC4-iNpdKIO0.js → chunk-FMBD7UC4-DXbPTnqF.js} +1 -1
  304. package/web-shell/assets/{chunk-ND2GUHAM-DI7cbFmX.js → chunk-ND2GUHAM-BleQdi4d.js} +1 -1
  305. package/web-shell/assets/{chunk-QZHKN3VN-3Y_-xFYs.js → chunk-QZHKN3VN-CqgBf-95.js} +1 -1
  306. package/web-shell/assets/classDiagram-4FO5ZUOK-CwPuhldB.js +1 -0
  307. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CwPuhldB.js +1 -0
  308. package/web-shell/assets/{cose-bilkent-S5V4N54A--raRatZn.js → cose-bilkent-S5V4N54A-WS7b13Yg.js} +1 -1
  309. package/web-shell/assets/{dagre-BM42HDAG-B8SU70mO.js → dagre-BM42HDAG-v_55ki8o.js} +1 -1
  310. package/web-shell/assets/{diagram-2AECGRRQ-ewgoakXo.js → diagram-2AECGRRQ-DaYAjbdK.js} +1 -1
  311. package/web-shell/assets/{diagram-5GNKFQAL-Bm_JLTnS.js → diagram-5GNKFQAL-D_Hy-L64.js} +1 -1
  312. package/web-shell/assets/{diagram-KO2AKTUF-DEIUjUy9.js → diagram-KO2AKTUF-dB06cZyD.js} +1 -1
  313. package/web-shell/assets/{diagram-LMA3HP47-C2Wmrpj-.js → diagram-LMA3HP47-DzSluD4F.js} +1 -1
  314. package/web-shell/assets/{diagram-OG6HWLK6-CtYe6bFx.js → diagram-OG6HWLK6-Cvb6CeXQ.js} +1 -1
  315. package/web-shell/assets/{erDiagram-TEJ5UH35-DfpHcWLV.js → erDiagram-TEJ5UH35-7eB2Hmov.js} +1 -1
  316. package/web-shell/assets/{flowDiagram-I6XJVG4X-CAiUhio5.js → flowDiagram-I6XJVG4X-B08iGCw_.js} +1 -1
  317. package/web-shell/assets/{ganttDiagram-6RSMTGT7-CYc7ezr4.js → ganttDiagram-6RSMTGT7-BgsrCHq-.js} +1 -1
  318. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-70lbkcRS.js → gitGraphDiagram-PVQCEYII-DQLurQ2i.js} +1 -1
  319. package/web-shell/assets/{index-Ww86nT9f.js → index-B_1Z0Mgr.js} +1 -1
  320. package/web-shell/assets/index-Bi1dP2mU.css +5 -0
  321. package/web-shell/assets/index-DJ-z1Oba.js +1756 -0
  322. package/web-shell/assets/{infoDiagram-5YYISTIA-C7e8DWPa.js → infoDiagram-5YYISTIA-DXZGO8qB.js} +1 -1
  323. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-BYLr2op-.js → ishikawaDiagram-YF4QCWOH-g7gbuH2w.js} +1 -1
  324. package/web-shell/assets/{journeyDiagram-JHISSGLW-hEibAHKX.js → journeyDiagram-JHISSGLW-euefICGn.js} +1 -1
  325. package/web-shell/assets/{kanban-definition-UN3LZRKU-F2rt8Uhp.js → kanban-definition-UN3LZRKU-Dws8-mjG.js} +1 -1
  326. package/web-shell/assets/{linear-DPhyNezd.js → linear-C63F0tyh.js} +1 -1
  327. package/web-shell/assets/{mermaid.core-ZUtnug0n.js → mermaid.core-fLrhp_4-.js} +5 -5
  328. package/web-shell/assets/{mindmap-definition-RKZ34NQL-DDWcMoi8.js → mindmap-definition-RKZ34NQL-qRkydfT-.js} +1 -1
  329. package/web-shell/assets/{pieDiagram-4H26LBE5-CTRKzw1_.js → pieDiagram-4H26LBE5-BZ0wQaKN.js} +1 -1
  330. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-CAEwYG_z.js → quadrantDiagram-W4KKPZXB-Fjq6GbSZ.js} +1 -1
  331. package/web-shell/assets/{requirementDiagram-4Y6WPE33-CRjnH9D9.js → requirementDiagram-4Y6WPE33-CqWvjLHU.js} +1 -1
  332. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-LPQT_sOd.js → sankeyDiagram-5OEKKPKP-VcXX6PVZ.js} +1 -1
  333. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-Ht2Iqvb0.js → sequenceDiagram-3UESZ5HK-BJSRtxFr.js} +1 -1
  334. package/web-shell/assets/{stateDiagram-AJRCARHV-CIUdqOXu.js → stateDiagram-AJRCARHV-Dt9zUwmZ.js} +1 -1
  335. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CCxQt56w.js +1 -0
  336. package/web-shell/assets/{timeline-definition-PNZ67QCA-BcilneZF.js → timeline-definition-PNZ67QCA-DQwlNRws.js} +1 -1
  337. package/web-shell/assets/{vennDiagram-CIIHVFJN-BljwiiH1.js → vennDiagram-CIIHVFJN-DwxjUEtQ.js} +1 -1
  338. package/web-shell/assets/{wardley-L42UT6IY-DeKjkYjq.js → wardley-L42UT6IY-D3QdMSpJ.js} +1 -1
  339. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-L3U1H7KG.js → wardleyDiagram-YWT4CUSO-BddN8oK8.js} +1 -1
  340. package/web-shell/assets/{xychartDiagram-2RQKCTM6-IJnWsgMT.js → xychartDiagram-2RQKCTM6-BUNuBrRJ.js} +1 -1
  341. package/web-shell/index.html +2 -2
  342. package/chunks/chunk-4KP2F2TE.js +0 -82
  343. package/chunks/chunk-HGT6JR3U.js +0 -177
  344. package/chunks/nonInteractiveCli-ZJYEOO7U.js +0 -148
  345. package/web-shell/assets/channel-B1cyk94G.js +0 -1
  346. package/web-shell/assets/classDiagram-4FO5ZUOK-BpBYZoRE.js +0 -1
  347. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BpBYZoRE.js +0 -1
  348. package/web-shell/assets/index-C1k3PDuU.css +0 -5
  349. package/web-shell/assets/index-DZLIXILO.js +0 -1750
  350. package/web-shell/assets/insert-DmRbh9Rv.svg +0 -1
  351. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BmqqQZ6w.js +0 -1
package/cli.js CHANGED
@@ -1,15 +1,20 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
+ import {
4
+ handleUncaughtException,
5
+ isExpectedPtyRaceError
6
+ } from "./chunks/chunk-QL4TN4HS.js";
3
7
  import {
4
8
  initCpuProfiler
5
- } from "./chunks/chunk-6PQPKTXP.js";
6
- import "./chunks/chunk-DQ2O5QOJ.js";
9
+ } from "./chunks/chunk-R7XNRHYD.js";
10
+ import "./chunks/chunk-QDWLUXKP.js";
7
11
  import {
8
12
  initStartupProfiler
9
13
  } from "./chunks/chunk-QSWDGAIC.js";
10
14
  import {
11
15
  normalizeServeFastPathArgv
12
16
  } from "./chunks/chunk-Q7YDKOGY.js";
17
+ import "./chunks/chunk-OWAK7LMW.js";
13
18
  import {
14
19
  init_esbuild_shims
15
20
  } from "./chunks/chunk-5O2XNYP6.js";
@@ -24,6 +29,7 @@ import {
24
29
  chmodSync,
25
30
  constants,
26
31
  existsSync,
32
+ realpathSync,
27
33
  statSync
28
34
  } from "node:fs";
29
35
  import { fileURLToPath, pathToFileURL } from "node:url";
@@ -159,7 +165,7 @@ async function buildTopLevelHelpParser() {
159
165
  const { default: yargs } = await import("./chunks/yargs-6H2AUULL.js");
160
166
  const parser = yargs([]).scriptName("qwen").usage(
161
167
  "Usage: qwen [options] [command]\n\nQwen Code - Launch an interactive CLI, use -p/--prompt for non-interactive mode"
162
- ).version("0.21.2").alias("v", "version").help().alias("h", "help").strict().demandCommand(0, 0);
168
+ ).version("0.21.3").alias("v", "version").help().alias("h", "help").strict().demandCommand(0, 0);
163
169
  for (const [option, config] of TOP_LEVEL_HELP_OPTIONS) {
164
170
  parser.option(option, config);
165
171
  }
@@ -232,11 +238,11 @@ function printMcpHelp() {
232
238
  }
233
239
  __name(printMcpHelp, "printMcpHelp");
234
240
  async function printBootstrapVersion() {
235
- if ("0.21.2") {
236
- writeStdoutLine("0.21.2");
241
+ if ("0.21.3") {
242
+ writeStdoutLine("0.21.3");
237
243
  return;
238
244
  }
239
- const { getCliVersion } = await import("./chunks/version-VSATY2LD.js");
245
+ const { getCliVersion } = await import("./chunks/version-6SS7KCUP.js");
240
246
  writeStdoutLine(await getCliVersion());
241
247
  }
242
248
  __name(printBootstrapVersion, "printBootstrapVersion");
@@ -249,7 +255,7 @@ async function runMcpFastPath(rawArgv) {
249
255
  }
250
256
  const [{ default: yargsInstance }, { mcpCommand }] = await Promise.all([
251
257
  import("./chunks/yargs-6H2AUULL.js"),
252
- import("./chunks/mcp-V5NTJF6X.js")
258
+ import("./chunks/mcp-X5OZOOXX.js")
253
259
  ]);
254
260
  const parser = yargsInstance([]).scriptName("qwen").command(mcpCommand).version(false).help().alias("h", "help").strict().strictCommands().demandCommand(1, "You need at least one command before continuing.").fail((message, error, yargs) => {
255
261
  writeStderrLine(message || error?.message || "Unknown argument error");
@@ -303,7 +309,7 @@ async function runCliEntry(rawArgv = process.argv.slice(2)) {
303
309
  const managedUpdateVersion = process.env["QWEN_CODE_MANAGED_NPM_UPDATE_VERSION"];
304
310
  if (managedUpdateVersion) {
305
311
  delete process.env["QWEN_CODE_MANAGED_NPM_UPDATE_VERSION"];
306
- const { installManagedNpmUpdate } = await import("./chunks/managed-npm-update-MKKAXYXA.js");
312
+ const { installManagedNpmUpdate } = await import("./chunks/managed-npm-update-CLZGGV7F.js");
307
313
  await installManagedNpmUpdate(managedUpdateVersion);
308
314
  return;
309
315
  }
@@ -314,7 +320,7 @@ async function runCliEntry(rawArgv = process.argv.slice(2)) {
314
320
  return;
315
321
  }
316
322
  if (route === "serve") {
317
- const { tryRunServeFastPath } = await import("./chunks/fast-path-Z2K7W6DC.js");
323
+ const { tryRunServeFastPath } = await import("./chunks/fast-path-KA65VREJ.js");
318
324
  if (await tryRunServeFastPath(argv)) {
319
325
  return;
320
326
  }
@@ -327,41 +333,18 @@ async function runCliEntry(rawArgv = process.argv.slice(2)) {
327
333
  }
328
334
  const acpStartupProfiler = rawArgv.some(
329
335
  (arg) => arg === "--acp" || arg === "--experimental-acp"
330
- ) ? await import("./chunks/acp-startup-profiler-2C4A5ZTJ.js") : void 0;
336
+ ) ? await import("./chunks/acp-startup-profiler-3RICG2YW.js") : void 0;
331
337
  acpStartupProfiler?.initializeAcpStartupProfiler();
332
338
  acpStartupProfiler?.markAcpStartup("geminiImportStart");
333
- const { main } = await import("./chunks/gemini-YU4XKEDG.js");
339
+ const { main } = await import("./chunks/gemini-5PMCNPF7.js");
334
340
  acpStartupProfiler?.markAcpStartup("geminiImportEnd");
335
341
  await main();
336
342
  }
337
343
  __name(runCliEntry, "runCliEntry");
338
- function getErrnoCode(error) {
339
- if (!error || typeof error !== "object") {
340
- return void 0;
341
- }
342
- const code = error.code;
343
- return typeof code === "string" ? code : void 0;
344
- }
345
- __name(getErrnoCode, "getErrnoCode");
346
- function isExpectedPtyRaceError(error) {
347
- if (!(error instanceof Error)) {
348
- return false;
349
- }
350
- const message = error.message;
351
- const code = getErrnoCode(error);
352
- if (code === "EIO" && message.includes("read") || message.includes("read EIO")) {
353
- return true;
354
- }
355
- if (code === "EAGAIN" && message.includes("read") || message.includes("read EAGAIN")) {
356
- return true;
357
- }
358
- return message.includes("ioctl(2) failed, EBADF") || message.includes("Cannot resize a pty that has already exited");
359
- }
360
- __name(isExpectedPtyRaceError, "isExpectedPtyRaceError");
361
344
  async function handleCriticalError(error) {
362
345
  const [{ FatalError }, { AlreadyReportedError }] = await Promise.all([
363
- import("./chunks/deferred-core-runtime-GHJ5GQHK.js"),
364
- import("./chunks/errors-XQE7BGZV.js")
346
+ import("./chunks/deferred-core-runtime-U36OOOKE.js"),
347
+ import("./chunks/errors-VNLAJV3O.js")
365
348
  ]);
366
349
  if (error instanceof FatalError) {
367
350
  let errorMessage = error.message;
@@ -415,17 +398,7 @@ function stampCliEntryEnv(entryPath) {
415
398
  __name(stampCliEntryEnv, "stampCliEntryEnv");
416
399
  async function runCliEntryPoint(run = runCliEntry, handleError = handleCriticalError) {
417
400
  stampCliEntryEnv();
418
- process.on("uncaughtException", (error) => {
419
- if (isExpectedPtyRaceError(error)) {
420
- return;
421
- }
422
- if (error instanceof Error) {
423
- writeStderrLine(error.stack ?? error.message);
424
- } else {
425
- writeStderrLine(String(error));
426
- }
427
- process.exit(1);
428
- });
401
+ process.on("uncaughtException", handleUncaughtException);
429
402
  try {
430
403
  await run();
431
404
  } catch (error) {
@@ -450,13 +423,24 @@ async function runCliEntryPoint(run = runCliEntry, handleError = handleCriticalE
450
423
  }
451
424
  }
452
425
  __name(runCliEntryPoint, "runCliEntryPoint");
453
- if (process.argv[1] !== void 0 && import.meta.url === pathToFileURL(process.argv[1]).href) {
426
+ var isMain = false;
427
+ if (process.argv[1] !== void 0) {
428
+ try {
429
+ const argvRealHref = pathToFileURL(realpathSync(process.argv[1])).href;
430
+ const argvHref = pathToFileURL(process.argv[1]).href;
431
+ isMain = import.meta.url === argvHref || import.meta.url === argvRealHref;
432
+ } catch {
433
+ isMain = import.meta.url === pathToFileURL(process.argv[1]).href;
434
+ }
435
+ }
436
+ if (isMain) {
454
437
  void runCliEntryPoint();
455
438
  }
456
439
  export {
457
440
  MCP_COMMANDS,
458
441
  TOP_LEVEL_COMMANDS,
459
442
  handleCriticalError,
443
+ handleUncaughtException,
460
444
  isExpectedPtyRaceError,
461
445
  resolveBootstrapRoute,
462
446
  runCliEntry,
package/locales/ca.js CHANGED
@@ -58,7 +58,7 @@ export default {
58
58
  'to search history': "per cercar a l'historial",
59
59
  'to paste images': 'per enganxar imatges',
60
60
  'for external editor': 'per a editor extern',
61
- 'to view transcript': 'per veure la transcripció',
61
+ 'to expand details': 'per expandir els detalls',
62
62
  'Jump through words in the input': "Salta entre paraules a l'entrada",
63
63
  'Close dialogs, cancel requests, or quit application':
64
64
  "Tanca els diàlegs, cancel·la les peticions o surt de l'aplicació",
@@ -252,9 +252,6 @@ export default {
252
252
  'Unknown Step': 'Pas desconegut',
253
253
  'Esc to close': 'Esc per tancar',
254
254
  Transcript: 'Transcripció',
255
- 'to close': 'per tancar',
256
- 'to scroll': 'per desplaçar',
257
- 'Failed to render transcript.': 'Error en renderitzar la transcripció.',
258
255
  'Read {{count}} file': 'Ha llegit {{count}} fitxer',
259
256
  'Read {{count}} files': 'Ha llegit {{count}} fitxers',
260
257
  'Reading {{count}} file': 'Llegint {{count}} fitxer',
@@ -2761,4 +2758,63 @@ export default {
2761
2758
  'Executant aquesta tasca programada en una sessió nova: {{link}}',
2762
2759
  'This scheduled run could not be started: {{error}}':
2763
2760
  "Aquesta execució programada no s'ha pogut iniciar: {{error}}",
2761
+
2762
+ // ==========================================================================
2763
+ // Auto-skill curator (/curator command)
2764
+ // ==========================================================================
2765
+ 'Maintain project auto-skills based on recent use.':
2766
+ "Gestiona les habilitats automàtiques del projecte segons l'ús recent.",
2767
+ 'Show project auto-skill lifecycle status.':
2768
+ 'Mostra l’estat del cicle de vida de les habilitats automàtiques del projecte.',
2769
+ 'Run project auto-skill lifecycle maintenance.':
2770
+ 'Executa el manteniment del cicle de vida de les habilitats automàtiques del projecte.',
2771
+ 'Restore an archived project auto-skill.':
2772
+ 'Restaura una habilitat automàtica del projecte arxivada.',
2773
+ 'Auto-skill curator': "Gestor d'habilitats automàtiques",
2774
+ 'Last run: {{time}}': 'Última execució: {{time}}',
2775
+ 'Active: {{count}}': 'Actives: {{count}}',
2776
+ 'Stale: {{count}}': 'Obsoletes: {{count}}',
2777
+ 'Archived: {{count}}': 'Arxivades: {{count}}',
2778
+ 'Stale skills:': 'Habilitats obsoletes:',
2779
+ 'Pinned skills:': 'Habilitats fixades:',
2780
+ 'Archived skills:': 'Habilitats arxivades:',
2781
+ 'Dry run complete.': 'Simulació completada.',
2782
+ 'Curator run complete.': 'Execució del gestor completada.',
2783
+ 'Checked: {{count}}': 'Comprovades: {{count}}',
2784
+ 'First observed: {{count}}': 'Observades per primera vegada: {{count}}',
2785
+ 'Marked stale: {{count}}': 'Marcades com a obsoletes: {{count}}',
2786
+ 'Reactivated: {{count}}': 'Reactivades: {{count}}',
2787
+ 'Skipped archive collisions: {{count}}':
2788
+ "Col·lisions d'arxivament omeses: {{count}}",
2789
+ 'Archive candidates:': "Candidates a l'arxivament:",
2790
+ 'Skipped archive collisions:': "Col·lisions d'arxivament omeses:",
2791
+ 'Skipped rename errors: {{count}}':
2792
+ 'Errors de canvi de nom omesos: {{count}}',
2793
+ 'Skipped rename errors:': 'Errors de canvi de nom omesos:',
2794
+ '{{verb}}: {{count}}': '{{verb}}: {{count}}',
2795
+ 'Would archive': "S'arxivarien",
2796
+ Archived: 'Arxivades',
2797
+ 'Failed to read auto-skill curator status: {{message}}':
2798
+ "No s'ha pogut llegir l'estat del gestor d'habilitats automàtiques: {{message}}",
2799
+ 'Usage: /curator run [--dry-run]': 'Ús: /curator run [--dry-run]',
2800
+ 'Failed to run auto-skill curator: {{message}}':
2801
+ "No s'ha pogut executar el gestor d'habilitats automàtiques: {{message}}",
2802
+ 'Usage: /curator restore <directory>': 'Ús: /curator restore <directori>',
2803
+ 'Restored auto-skill: {{name}}': 'Habilitat automàtica restaurada: {{name}}',
2804
+ 'Failed to restore auto-skill: {{message}}':
2805
+ "No s'ha pogut restaurar l'habilitat automàtica: {{message}}",
2806
+ 'Exclude an auto-skill from automatic maintenance.':
2807
+ 'Exclou una habilitat automàtica del manteniment automàtic.',
2808
+ 'Return a pinned auto-skill to automatic maintenance.':
2809
+ 'Retorna una habilitat automàtica fixada al manteniment automàtic.',
2810
+ 'Usage: /curator pin <directory>': 'Ús: /curator pin <directori>',
2811
+ 'Usage: /curator unpin <directory>': 'Ús: /curator unpin <directori>',
2812
+ 'Pinned auto-skill: {{name}}': 'Habilitat automàtica fixada: {{name}}',
2813
+ 'Unpinned auto-skill: {{name}}': 'Habilitat automàtica desfixada: {{name}}',
2814
+ 'Failed to update auto-skill pin: {{message}}':
2815
+ "No s'ha pogut actualitzar la fixació de l'habilitat automàtica: {{message}}",
2816
+ 'Auto-skill curator changes are disabled in safe mode.':
2817
+ "Els canvis del gestor d'habilitats automàtiques estan desactivats en mode segur.",
2818
+ 'Auto-skill curator changes are only available in trusted workspaces. Trust this folder via `/trust` and try again.':
2819
+ "Els canvis del gestor d'habilitats automàtiques només estan disponibles en espais de treball de confiança. Marca aquesta carpeta com a fiable amb `/trust` i torna-ho a provar.",
2764
2820
  };
package/locales/de.js CHANGED
@@ -232,9 +232,6 @@ export default {
232
232
  'Unknown Step': 'Unbekannter Schritt',
233
233
  'Esc to close': 'Esc zum Schließen',
234
234
  Transcript: 'Transkript',
235
- 'to close': 'zum Schließen',
236
- 'to scroll': 'zum Scrollen',
237
- 'Failed to render transcript.': 'Transkript konnte nicht gerendert werden.',
238
235
  'Read {{count}} file': '{{count}} Datei gelesen',
239
236
  'Read {{count}} files': '{{count}} Dateien gelesen',
240
237
  'Reading {{count}} file': 'Lese {{count}} Datei',
@@ -1911,7 +1908,7 @@ export default {
1911
1908
  'Raw-Modus nicht verfügbar. Bitte in einem interaktiven Terminal ausführen.',
1912
1909
  '(Use ↑ ↓ arrows to navigate, Enter to select, Ctrl+C to exit)\n':
1913
1910
  '(↑ ↓ Pfeiltasten zum Navigieren, Enter zum Auswählen, Ctrl+C zum Beenden)\n',
1914
- 'to view transcript': 'zum Anzeigen des Transkripts',
1911
+ 'to expand details': 'zum Erweitern der Details',
1915
1912
  'Switch to plan mode or exit plan mode':
1916
1913
  'In den Plan-Modus wechseln oder den Plan-Modus verlassen',
1917
1914
  'Set how hard reasoning-capable models think ({{tiers}}); mapped and clamped per provider.':
@@ -2241,4 +2238,65 @@ export default {
2241
2238
  'Die Sitzungsaufzeichnung wurde nach einem Schreibfehler beendet. Neue Nachrichten der betroffenen Sitzung werden nicht gespeichert. Prüfen Sie Speicherplatz und Berechtigungen und starten Sie anschließend eine neue Sitzung, um die Aufzeichnung fortzusetzen. Weitere Details finden Sie im Debug-Protokoll.',
2242
2239
  'Session recording stopped after a write failure. New messages for the affected session will not be saved. Check disk space and permissions, then run `/clear` to start a new recorded session. See the debug log for details.':
2243
2240
  'Die Sitzungsaufzeichnung wurde nach einem Schreibfehler beendet. Neue Nachrichten der betroffenen Sitzung werden nicht gespeichert. Prüfen Sie Speicherplatz und Berechtigungen und führen Sie anschließend `/clear` aus, um eine neue aufgezeichnete Sitzung zu starten. Weitere Details finden Sie im Debug-Protokoll.',
2241
+
2242
+ // ==========================================================================
2243
+ // Auto-skill curator (/curator command)
2244
+ // ==========================================================================
2245
+ 'Maintain project auto-skills based on recent use.':
2246
+ 'Projekt-Auto-Skills anhand der letzten Nutzung verwalten.',
2247
+ 'Show project auto-skill lifecycle status.':
2248
+ 'Lebenszyklusstatus der Projekt-Auto-Skills anzeigen.',
2249
+ 'Run project auto-skill lifecycle maintenance.':
2250
+ 'Lebenszykluswartung der Projekt-Auto-Skills ausführen.',
2251
+ 'Restore an archived project auto-skill.':
2252
+ 'Einen archivierten Projekt-Auto-Skill wiederherstellen.',
2253
+ 'Auto-skill curator': 'Auto-Skill-Kurator',
2254
+ 'Last run: {{time}}': 'Letzter Durchlauf: {{time}}',
2255
+ 'Active: {{count}}': 'Aktiv: {{count}}',
2256
+ 'Stale: {{count}}': 'Veraltet: {{count}}',
2257
+ 'Archived: {{count}}': 'Archiviert: {{count}}',
2258
+ 'Stale skills:': 'Veraltete Skills:',
2259
+ 'Pinned skills:': 'Fixierte Skills:',
2260
+ 'Archived skills:': 'Archivierte Skills:',
2261
+ 'Dry run complete.': 'Testlauf abgeschlossen.',
2262
+ 'Curator run complete.': 'Kurator-Durchlauf abgeschlossen.',
2263
+ 'Checked: {{count}}': 'Geprüft: {{count}}',
2264
+ 'First observed: {{count}}': 'Erstmals erfasst: {{count}}',
2265
+ 'Marked stale: {{count}}': 'Als veraltet markiert: {{count}}',
2266
+ 'Reactivated: {{count}}': 'Reaktiviert: {{count}}',
2267
+ 'Skipped archive collisions: {{count}}':
2268
+ 'Übersprungene Archivierungskonflikte: {{count}}',
2269
+ 'Archive candidates:': 'Archivierungskandidaten:',
2270
+ 'Skipped archive collisions:': 'Übersprungene Archivierungskonflikte:',
2271
+ 'Skipped rename errors: {{count}}':
2272
+ 'Übersprungene Umbenennungsfehler: {{count}}',
2273
+ 'Skipped rename errors:': 'Übersprungene Umbenennungsfehler:',
2274
+ '{{verb}}: {{count}}': '{{verb}}: {{count}}',
2275
+ 'Would archive': 'Würde archivieren',
2276
+ Archived: 'Archiviert',
2277
+ 'Failed to read auto-skill curator status: {{message}}':
2278
+ 'Status des Auto-Skill-Kurators konnte nicht gelesen werden: {{message}}',
2279
+ 'Usage: /curator run [--dry-run]': 'Verwendung: /curator run [--dry-run]',
2280
+ 'Failed to run auto-skill curator: {{message}}':
2281
+ 'Auto-Skill-Kurator konnte nicht ausgeführt werden: {{message}}',
2282
+ 'Usage: /curator restore <directory>':
2283
+ 'Verwendung: /curator restore <Verzeichnis>',
2284
+ 'Restored auto-skill: {{name}}': 'Auto-Skill wiederhergestellt: {{name}}',
2285
+ 'Failed to restore auto-skill: {{message}}':
2286
+ 'Auto-Skill konnte nicht wiederhergestellt werden: {{message}}',
2287
+ 'Exclude an auto-skill from automatic maintenance.':
2288
+ 'Einen Auto-Skill von der automatischen Wartung ausschließen.',
2289
+ 'Return a pinned auto-skill to automatic maintenance.':
2290
+ 'Einen fixierten Auto-Skill wieder automatisch warten.',
2291
+ 'Usage: /curator pin <directory>': 'Verwendung: /curator pin <Verzeichnis>',
2292
+ 'Usage: /curator unpin <directory>':
2293
+ 'Verwendung: /curator unpin <Verzeichnis>',
2294
+ 'Pinned auto-skill: {{name}}': 'Auto-Skill fixiert: {{name}}',
2295
+ 'Unpinned auto-skill: {{name}}': 'Fixierung aufgehoben: {{name}}',
2296
+ 'Failed to update auto-skill pin: {{message}}':
2297
+ 'Fixierung des Auto-Skills konnte nicht aktualisiert werden: {{message}}',
2298
+ 'Auto-skill curator changes are disabled in safe mode.':
2299
+ 'Änderungen durch den Auto-Skill-Kurator sind im Sicherheitsmodus deaktiviert.',
2300
+ 'Auto-skill curator changes are only available in trusted workspaces. Trust this folder via `/trust` and try again.':
2301
+ 'Änderungen durch den Auto-Skill-Kurator sind nur in vertrauenswürdigen Arbeitsbereichen verfügbar. Stufen Sie diesen Ordner mit `/trust` als vertrauenswürdig ein und versuchen Sie es erneut.',
2244
2302
  };
package/locales/en.js CHANGED
@@ -192,6 +192,7 @@ export default {
192
192
  'toolDisplayName.Agent': 'toolDisplayName.Agent',
193
193
  'toolDisplayName.Artifact': 'toolDisplayName.Artifact',
194
194
  'toolDisplayName.RecordArtifact': 'toolDisplayName.RecordArtifact',
195
+ 'toolDisplayName.DisplayImage': 'toolDisplayName.DisplayImage',
195
196
  'toolDisplayName.Skill': 'toolDisplayName.Skill',
196
197
  'toolDisplayName.EnterPlanMode': 'toolDisplayName.EnterPlanMode',
197
198
  'toolDisplayName.ExitPlanMode': 'toolDisplayName.ExitPlanMode',
@@ -276,7 +277,7 @@ export default {
276
277
  'to search history': 'to search history',
277
278
  'to paste images': 'to paste images',
278
279
  'for external editor': 'for external editor',
279
- 'to view transcript': 'to view transcript',
280
+ 'to expand details': 'to expand details',
280
281
  'Jump through words in the input': 'Jump through words in the input',
281
282
  'Close dialogs, cancel requests, or quit application':
282
283
  'Close dialogs, cancel requests, or quit application',
@@ -506,9 +507,6 @@ export default {
506
507
  'Unknown Step': 'Unknown Step',
507
508
  'Esc to close': 'Esc to close',
508
509
  Transcript: 'Transcript',
509
- 'to close': 'to close',
510
- 'to scroll': 'to scroll',
511
- 'Failed to render transcript.': 'Failed to render transcript.',
512
510
  'Read {{count}} file': 'Read {{count}} file',
513
511
  'Read {{count}} files': 'Read {{count}} files',
514
512
  'Reading {{count}} file': 'Reading {{count}} file',
@@ -1494,8 +1492,8 @@ export default {
1494
1492
  'Switch the model for this session (--fast for suggestion model, --voice for voice transcription model, [model-id] to switch immediately).',
1495
1493
  'Switch the model for this session (--fast for suggestion model, --voice for voice transcription model, --vision for the vision bridge model, --project to persist to project settings, --global to persist to user settings, [model-id] to switch immediately, or [model-id] [prompt] to run a one-off prompt on another model; the inline prompt is sent verbatim without @file expansion).':
1496
1494
  'Switch the model for this session (--fast for suggestion model, --voice for voice transcription model, --vision for the vision bridge model, --project to persist to project settings, --global to persist to user settings, [model-id] to switch immediately, or [model-id] [prompt] to run a one-off prompt on another model; the inline prompt is sent verbatim without @file expansion).',
1497
- 'Switch the model for this session (--fast for suggestion model, --voice for voice transcription model, --vision for the vision bridge model, --image for the image generation model, --project to persist to project settings, --global to persist to user settings, [model-id] to switch immediately, or [model-id] [prompt] to run a one-off prompt on another model; the inline prompt is sent verbatim without @file expansion).':
1498
- 'Switch the model for this session (--fast for suggestion model, --voice for voice transcription model, --vision for the vision bridge model, --image for the image generation model, --project to persist to project settings, --global to persist to user settings, [model-id] to switch immediately, or [model-id] [prompt] to run a one-off prompt on another model; the inline prompt is sent verbatim without @file expansion).',
1495
+ 'Switch the model for this session (--fast for suggestion model, --voice for voice transcription model, --vision for the vision bridge model, --compaction for chat compression model, --image for the image generation model, --project to persist to project settings, --global to persist to user settings, [model-id] to switch immediately, or [model-id] [prompt] to run a one-off prompt on another model; the inline prompt is sent verbatim without @file expansion).':
1496
+ 'Switch the model for this session (--fast for suggestion model, --voice for voice transcription model, --vision for the vision bridge model, --compaction for chat compression model, --image for the image generation model, --project to persist to project settings, --global to persist to user settings, [model-id] to switch immediately, or [model-id] [prompt] to run a one-off prompt on another model; the inline prompt is sent verbatim without @file expansion).',
1499
1497
  "Inline one-shot override isn't supported in this mode — run '/model {{model}}' first, then send your prompt.":
1500
1498
  "Inline one-shot override isn't supported in this mode — run '/model {{model}}' first, then send your prompt.",
1501
1499
  "Inline one-shot override can't switch providers. '{{model}}' belongs to a different provider — run '/model {{model}}' first, then send your prompt.":
@@ -1511,6 +1509,8 @@ export default {
1511
1509
  'Set the image-capable model used to transcribe images for a text-only main model',
1512
1510
  'Set the model used to generate images':
1513
1511
  'Set the model used to generate images',
1512
+ 'Set the model used for chat compression (auto-compaction)':
1513
+ 'Set the model used for chat compression (auto-compaction)',
1514
1514
  'Persist the model selection to the project settings (workspace scope)':
1515
1515
  'Persist the model selection to the project settings (workspace scope)',
1516
1516
  'Persist the model selection to the user settings (global scope)':
@@ -1518,10 +1518,21 @@ export default {
1518
1518
  'Select Fast Model': 'Select Fast Model',
1519
1519
  'Select Vision Model': 'Select Vision Model',
1520
1520
  'Select Image Model': 'Select Image Model',
1521
+ 'Select Compaction Model': 'Select Compaction Model',
1521
1522
  'Select Voice Model': 'Select Voice Model',
1522
1523
  'Vision Model': 'Vision Model',
1523
1524
  'Image Model': 'Image Model',
1525
+ 'Compaction Model': 'Compaction Model',
1526
+ 'Compaction model override cleared': 'Compaction model override cleared',
1527
+ 'Current compaction model: {{compactionModel}}\nUse "/model --compaction <model-id>" to set compaction model, or "/model --compaction clear" to clear the override.':
1528
+ 'Current compaction model: {{compactionModel}}\nUse "/model --compaction <model-id>" to set compaction model, or "/model --compaction clear" to clear the override.',
1529
+ 'not set (falls back to the main model)':
1530
+ 'not set (falls back to the main model)',
1531
+ 'Configure models in settings.modelProviders and ensure the required environment variables are set. In interactive mode, run /auth to configure or switch providers, or run /model --compaction without a model to choose from configured models.':
1532
+ 'Configure models in settings.modelProviders and ensure the required environment variables are set. In interactive mode, run /auth to configure or switch providers, or run /model --compaction without a model to choose from configured models.',
1524
1533
  'Voice Model': 'Voice Model',
1534
+ 'Selected compaction model is unavailable.':
1535
+ 'Selected compaction model is unavailable.',
1525
1536
  'Selected voice model is unavailable.':
1526
1537
  'Selected voice model is unavailable.',
1527
1538
  'Selected image model is unavailable.':
@@ -2463,6 +2474,7 @@ export default {
2463
2474
  'Set how hard reasoning-capable models think ({{tiers}}); mapped and clamped per provider.',
2464
2475
  'Set a goal — keep working until the condition is met':
2465
2476
  'Set a goal — keep working until the condition is met',
2477
+ 'Set or control a session goal': 'Set or control a session goal',
2466
2478
  'Exited plan mode. Previous approval mode restored.':
2467
2479
  'Exited plan mode. Previous approval mode restored.',
2468
2480
  'Enabled plan mode. The agent will analyze and plan without executing tools.':
@@ -2739,4 +2751,62 @@ export default {
2739
2751
  'Session recording stopped after a write failure. New messages for the affected session will not be saved. Check disk space and permissions, then start a new session to resume recording. See the debug log for details.',
2740
2752
  'Session recording stopped after a write failure. New messages for the affected session will not be saved. Check disk space and permissions, then run `/clear` to start a new recorded session. See the debug log for details.':
2741
2753
  'Session recording stopped after a write failure. New messages for the affected session will not be saved. Check disk space and permissions, then run `/clear` to start a new recorded session. See the debug log for details.',
2754
+
2755
+ // ==========================================================================
2756
+ // Auto-skill curator (/curator command)
2757
+ // ==========================================================================
2758
+ 'Maintain project auto-skills based on recent use.':
2759
+ 'Maintain project auto-skills based on recent use.',
2760
+ 'Show project auto-skill lifecycle status.':
2761
+ 'Show project auto-skill lifecycle status.',
2762
+ 'Run project auto-skill lifecycle maintenance.':
2763
+ 'Run project auto-skill lifecycle maintenance.',
2764
+ 'Restore an archived project auto-skill.':
2765
+ 'Restore an archived project auto-skill.',
2766
+ 'Auto-skill curator': 'Auto-skill curator',
2767
+ 'Last run: {{time}}': 'Last run: {{time}}',
2768
+ 'Active: {{count}}': 'Active: {{count}}',
2769
+ 'Stale: {{count}}': 'Stale: {{count}}',
2770
+ 'Archived: {{count}}': 'Archived: {{count}}',
2771
+ 'Stale skills:': 'Stale skills:',
2772
+ 'Pinned skills:': 'Pinned skills:',
2773
+ 'Archived skills:': 'Archived skills:',
2774
+ 'Dry run complete.': 'Dry run complete.',
2775
+ 'Curator run complete.': 'Curator run complete.',
2776
+ 'Checked: {{count}}': 'Checked: {{count}}',
2777
+ 'First observed: {{count}}': 'First observed: {{count}}',
2778
+ 'Marked stale: {{count}}': 'Marked stale: {{count}}',
2779
+ 'Reactivated: {{count}}': 'Reactivated: {{count}}',
2780
+ 'Skipped archive collisions: {{count}}':
2781
+ 'Skipped archive collisions: {{count}}',
2782
+ 'Archive candidates:': 'Archive candidates:',
2783
+ 'Skipped archive collisions:': 'Skipped archive collisions:',
2784
+ 'Skipped rename errors: {{count}}': 'Skipped rename errors: {{count}}',
2785
+ 'Skipped rename errors:': 'Skipped rename errors:',
2786
+ '{{verb}}: {{count}}': '{{verb}}: {{count}}',
2787
+ 'Would archive': 'Would archive',
2788
+ Archived: 'Archived',
2789
+ 'Failed to read auto-skill curator status: {{message}}':
2790
+ 'Failed to read auto-skill curator status: {{message}}',
2791
+ 'Usage: /curator run [--dry-run]': 'Usage: /curator run [--dry-run]',
2792
+ 'Failed to run auto-skill curator: {{message}}':
2793
+ 'Failed to run auto-skill curator: {{message}}',
2794
+ 'Usage: /curator restore <directory>': 'Usage: /curator restore <directory>',
2795
+ 'Restored auto-skill: {{name}}': 'Restored auto-skill: {{name}}',
2796
+ 'Failed to restore auto-skill: {{message}}':
2797
+ 'Failed to restore auto-skill: {{message}}',
2798
+ 'Exclude an auto-skill from automatic maintenance.':
2799
+ 'Exclude an auto-skill from automatic maintenance.',
2800
+ 'Return a pinned auto-skill to automatic maintenance.':
2801
+ 'Return a pinned auto-skill to automatic maintenance.',
2802
+ 'Usage: /curator pin <directory>': 'Usage: /curator pin <directory>',
2803
+ 'Usage: /curator unpin <directory>': 'Usage: /curator unpin <directory>',
2804
+ 'Pinned auto-skill: {{name}}': 'Pinned auto-skill: {{name}}',
2805
+ 'Unpinned auto-skill: {{name}}': 'Unpinned auto-skill: {{name}}',
2806
+ 'Failed to update auto-skill pin: {{message}}':
2807
+ 'Failed to update auto-skill pin: {{message}}',
2808
+ 'Auto-skill curator changes are disabled in safe mode.':
2809
+ 'Auto-skill curator changes are disabled in safe mode.',
2810
+ 'Auto-skill curator changes are only available in trusted workspaces. Trust this folder via `/trust` and try again.':
2811
+ 'Auto-skill curator changes are only available in trusted workspaces. Trust this folder via `/trust` and try again.',
2742
2812
  };
package/locales/fr.js CHANGED
@@ -256,9 +256,6 @@ export default {
256
256
  'Unknown Step': 'Étape inconnue',
257
257
  'Esc to close': 'Esc pour fermer',
258
258
  Transcript: 'Transcription',
259
- 'to close': 'pour fermer',
260
- 'to scroll': 'pour défiler',
261
- 'Failed to render transcript.': 'Échec du rendu de la transcription.',
262
259
  'Read {{count}} file': 'Lu {{count}} fichier',
263
260
  'Read {{count}} files': 'Lu {{count}} fichiers',
264
261
  'Reading {{count}} file': 'Lecture de {{count}} fichier',
@@ -2045,7 +2042,7 @@ export default {
2045
2042
  'Afficher le détail de l’utilisation du contexte par élément.',
2046
2043
 
2047
2044
  // === Missing key backfill ===
2048
- 'to view transcript': 'pour voir la transcription',
2045
+ 'to expand details': 'pour développer les détails',
2049
2046
  'The name of the extension to update.':
2050
2047
  "Le nom de l'extension à mettre à jour.",
2051
2048
  'Session (temporary)': 'Session (temporaire)',
@@ -2244,4 +2241,67 @@ export default {
2244
2241
  "L'enregistrement de la session s'est arrêté après un échec d'écriture. Les nouveaux messages de la session concernée ne seront pas enregistrés. Vérifiez l'espace disque et les autorisations, puis démarrez une nouvelle session pour reprendre l'enregistrement. Consultez le journal de débogage pour plus de détails.",
2245
2242
  'Session recording stopped after a write failure. New messages for the affected session will not be saved. Check disk space and permissions, then run `/clear` to start a new recorded session. See the debug log for details.':
2246
2243
  "L'enregistrement de la session s'est arrêté après un échec d'écriture. Les nouveaux messages de la session concernée ne seront pas enregistrés. Vérifiez l'espace disque et les autorisations, puis exécutez `/clear` pour démarrer une nouvelle session enregistrée. Consultez le journal de débogage pour plus de détails.",
2244
+
2245
+ // ==========================================================================
2246
+ // Auto-skill curator (/curator command)
2247
+ // ==========================================================================
2248
+ 'Maintain project auto-skills based on recent use.':
2249
+ 'Gérer les compétences automatiques du projet selon leur utilisation récente.',
2250
+ 'Show project auto-skill lifecycle status.':
2251
+ 'Afficher l’état du cycle de vie des compétences automatiques du projet.',
2252
+ 'Run project auto-skill lifecycle maintenance.':
2253
+ 'Exécuter la maintenance du cycle de vie des compétences automatiques du projet.',
2254
+ 'Restore an archived project auto-skill.':
2255
+ 'Restaurer une compétence automatique du projet archivée.',
2256
+ 'Auto-skill curator': 'Gestionnaire de compétences automatiques',
2257
+ 'Last run: {{time}}': 'Dernière exécution : {{time}}',
2258
+ 'Active: {{count}}': 'Actives : {{count}}',
2259
+ 'Stale: {{count}}': 'Obsolètes : {{count}}',
2260
+ 'Archived: {{count}}': 'Archivées : {{count}}',
2261
+ 'Stale skills:': 'Compétences obsolètes :',
2262
+ 'Pinned skills:': 'Compétences épinglées :',
2263
+ 'Archived skills:': 'Compétences archivées :',
2264
+ 'Dry run complete.': 'Simulation terminée.',
2265
+ 'Curator run complete.': 'Exécution du gestionnaire terminée.',
2266
+ 'Checked: {{count}}': 'Vérifiées : {{count}}',
2267
+ 'First observed: {{count}}': 'Observées pour la première fois : {{count}}',
2268
+ 'Marked stale: {{count}}': 'Marquées comme obsolètes : {{count}}',
2269
+ 'Reactivated: {{count}}': 'Réactivées : {{count}}',
2270
+ 'Skipped archive collisions: {{count}}':
2271
+ "Collisions d'archivage ignorées : {{count}}",
2272
+ 'Archive candidates:': "Candidates à l'archivage :",
2273
+ 'Skipped archive collisions:': "Collisions d'archivage ignorées :",
2274
+ 'Skipped rename errors: {{count}}':
2275
+ 'Erreurs de renommage ignorées : {{count}}',
2276
+ 'Skipped rename errors:': 'Erreurs de renommage ignorées :',
2277
+ '{{verb}}: {{count}}': '{{verb}} : {{count}}',
2278
+ 'Would archive': 'Seraient archivées',
2279
+ Archived: 'Archivées',
2280
+ 'Failed to read auto-skill curator status: {{message}}':
2281
+ "Impossible de lire l'état du gestionnaire de compétences automatiques : {{message}}",
2282
+ 'Usage: /curator run [--dry-run]': 'Utilisation : /curator run [--dry-run]',
2283
+ 'Failed to run auto-skill curator: {{message}}':
2284
+ "Impossible d'exécuter le gestionnaire de compétences automatiques : {{message}}",
2285
+ 'Usage: /curator restore <directory>':
2286
+ 'Utilisation : /curator restore <répertoire>',
2287
+ 'Restored auto-skill: {{name}}':
2288
+ 'Compétence automatique restaurée : {{name}}',
2289
+ 'Failed to restore auto-skill: {{message}}':
2290
+ 'Échec de la restauration de la compétence automatique : {{message}}',
2291
+ 'Exclude an auto-skill from automatic maintenance.':
2292
+ 'Exclure une compétence automatique de la maintenance automatique.',
2293
+ 'Return a pinned auto-skill to automatic maintenance.':
2294
+ 'Réintégrer une compétence automatique épinglée à la maintenance automatique.',
2295
+ 'Usage: /curator pin <directory>': 'Utilisation : /curator pin <répertoire>',
2296
+ 'Usage: /curator unpin <directory>':
2297
+ 'Utilisation : /curator unpin <répertoire>',
2298
+ 'Pinned auto-skill: {{name}}': 'Compétence automatique épinglée : {{name}}',
2299
+ 'Unpinned auto-skill: {{name}}':
2300
+ 'Compétence automatique désépinglée : {{name}}',
2301
+ 'Failed to update auto-skill pin: {{message}}':
2302
+ "Impossible de modifier l'épinglage de la compétence automatique : {{message}}",
2303
+ 'Auto-skill curator changes are disabled in safe mode.':
2304
+ 'Les modifications du gestionnaire de compétences automatiques sont désactivées en mode sécurisé.',
2305
+ 'Auto-skill curator changes are only available in trusted workspaces. Trust this folder via `/trust` and try again.':
2306
+ 'Les modifications du gestionnaire de compétences automatiques ne sont disponibles que dans les espaces de travail approuvés. Marquez ce dossier comme approuvé avec `/trust`, puis réessayez.',
2247
2307
  };