@umsai/ums-code 0.3.0-v2 → 0.6.0-v1

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 (397) hide show
  1. package/dist/package.json +6 -6
  2. package/dist/src/{zed-integration → acp-integration}/acp.d.ts +13 -0
  3. package/dist/src/{zed-integration → acp-integration}/acp.js +32 -0
  4. package/dist/src/acp-integration/acp.js.map +1 -0
  5. package/dist/src/acp-integration/acpAgent.d.ts +10 -0
  6. package/dist/src/acp-integration/acpAgent.js +264 -0
  7. package/dist/src/acp-integration/acpAgent.js.map +1 -0
  8. package/dist/src/{zed-integration → acp-integration}/schema.d.ts +2235 -905
  9. package/dist/src/{zed-integration → acp-integration}/schema.js +100 -2
  10. package/dist/src/acp-integration/schema.js.map +1 -0
  11. package/dist/src/{zed-integration/fileSystemService.d.ts → acp-integration/service/filesystem.d.ts} +1 -1
  12. package/dist/src/{zed-integration/fileSystemService.js → acp-integration/service/filesystem.js} +14 -1
  13. package/dist/src/acp-integration/service/filesystem.js.map +1 -0
  14. package/dist/src/{ui/hooks/useQuotaAndFallback.test.d.ts → acp-integration/service/filesystem.test.d.ts} +1 -1
  15. package/dist/src/acp-integration/service/filesystem.test.js +39 -0
  16. package/dist/src/acp-integration/service/filesystem.test.js.map +1 -0
  17. package/dist/src/acp-integration/session/HistoryReplayer.d.ts +51 -0
  18. package/dist/src/acp-integration/session/HistoryReplayer.js +164 -0
  19. package/dist/src/acp-integration/session/HistoryReplayer.js.map +1 -0
  20. package/dist/src/acp-integration/session/HistoryReplayer.test.d.ts +6 -0
  21. package/dist/src/acp-integration/session/HistoryReplayer.test.js +374 -0
  22. package/dist/src/acp-integration/session/HistoryReplayer.test.js.map +1 -0
  23. package/dist/src/acp-integration/session/Session.d.ts +61 -0
  24. package/dist/src/acp-integration/session/Session.js +839 -0
  25. package/dist/src/acp-integration/session/Session.js.map +1 -0
  26. package/dist/src/acp-integration/session/SubAgentTracker.d.ts +51 -0
  27. package/dist/src/acp-integration/session/SubAgentTracker.js +257 -0
  28. package/dist/src/acp-integration/session/SubAgentTracker.js.map +1 -0
  29. package/dist/src/acp-integration/session/SubAgentTracker.test.d.ts +6 -0
  30. package/dist/src/acp-integration/session/SubAgentTracker.test.js +369 -0
  31. package/dist/src/acp-integration/session/SubAgentTracker.test.js.map +1 -0
  32. package/dist/src/acp-integration/session/emitters/BaseEmitter.d.ts +27 -0
  33. package/dist/src/acp-integration/session/emitters/BaseEmitter.js +34 -0
  34. package/dist/src/acp-integration/session/emitters/BaseEmitter.js.map +1 -0
  35. package/dist/src/acp-integration/session/emitters/MessageEmitter.d.ts +41 -0
  36. package/dist/src/acp-integration/session/emitters/MessageEmitter.js +77 -0
  37. package/dist/src/acp-integration/session/emitters/MessageEmitter.js.map +1 -0
  38. package/dist/src/acp-integration/session/emitters/MessageEmitter.test.d.ts +6 -0
  39. package/dist/src/acp-integration/session/emitters/MessageEmitter.test.js +174 -0
  40. package/dist/src/acp-integration/session/emitters/MessageEmitter.test.js.map +1 -0
  41. package/dist/src/acp-integration/session/emitters/PlanEmitter.d.ts +39 -0
  42. package/dist/src/acp-integration/session/emitters/PlanEmitter.js +83 -0
  43. package/dist/src/acp-integration/session/emitters/PlanEmitter.js.map +1 -0
  44. package/dist/src/acp-integration/session/emitters/PlanEmitter.test.d.ts +6 -0
  45. package/dist/src/acp-integration/session/emitters/PlanEmitter.test.js +176 -0
  46. package/dist/src/acp-integration/session/emitters/PlanEmitter.test.js.map +1 -0
  47. package/dist/src/acp-integration/session/emitters/ToolCallEmitter.d.ts +80 -0
  48. package/dist/src/acp-integration/session/emitters/ToolCallEmitter.js +248 -0
  49. package/dist/src/acp-integration/session/emitters/ToolCallEmitter.js.map +1 -0
  50. package/dist/src/acp-integration/session/emitters/ToolCallEmitter.test.d.ts +6 -0
  51. package/dist/src/acp-integration/session/emitters/ToolCallEmitter.test.js +561 -0
  52. package/dist/src/acp-integration/session/emitters/ToolCallEmitter.test.js.map +1 -0
  53. package/dist/src/acp-integration/session/emitters/index.d.ts +9 -0
  54. package/dist/src/acp-integration/session/emitters/index.js +10 -0
  55. package/dist/src/acp-integration/session/emitters/index.js.map +1 -0
  56. package/dist/src/acp-integration/session/index.d.ts +24 -0
  57. package/dist/src/acp-integration/session/index.js +16 -0
  58. package/dist/src/acp-integration/session/index.js.map +1 -0
  59. package/dist/src/acp-integration/session/types.d.ts +71 -0
  60. package/dist/src/acp-integration/session/types.js +7 -0
  61. package/dist/src/acp-integration/session/types.js.map +1 -0
  62. package/dist/src/commandMode.d.ts +11 -0
  63. package/dist/src/commandMode.js +238 -0
  64. package/dist/src/commandMode.js.map +1 -0
  65. package/dist/src/config/auth.d.ts +1 -0
  66. package/dist/src/config/auth.js +29 -0
  67. package/dist/src/config/auth.js.map +1 -1
  68. package/dist/src/config/config.d.ts +19 -3
  69. package/dist/src/config/config.js +175 -24
  70. package/dist/src/config/config.js.map +1 -1
  71. package/dist/src/config/extension.js +0 -2
  72. package/dist/src/config/extension.js.map +1 -1
  73. package/dist/src/config/extensions/update.test.js +9 -0
  74. package/dist/src/config/extensions/update.test.js.map +1 -1
  75. package/dist/src/config/settingsSchema.d.ts +53 -2
  76. package/dist/src/config/settingsSchema.js +46 -2
  77. package/dist/src/config/settingsSchema.js.map +1 -1
  78. package/dist/src/core/auth.d.ts +1 -1
  79. package/dist/src/core/auth.js +3 -2
  80. package/dist/src/core/auth.js.map +1 -1
  81. package/dist/src/core/initializer.js +3 -0
  82. package/dist/src/core/initializer.js.map +1 -1
  83. package/dist/src/gemini.js +75 -35
  84. package/dist/src/gemini.js.map +1 -1
  85. package/dist/src/gemini.test.js +37 -4
  86. package/dist/src/gemini.test.js.map +1 -1
  87. package/dist/src/generated/git-commit.d.ts +3 -3
  88. package/dist/src/generated/git-commit.js +3 -3
  89. package/dist/src/i18n/index.d.ts +10 -2
  90. package/dist/src/i18n/index.js +26 -1
  91. package/dist/src/i18n/index.js.map +1 -1
  92. package/dist/src/i18n/languages.d.ts +20 -0
  93. package/dist/src/i18n/languages.js +36 -0
  94. package/dist/src/i18n/languages.js.map +1 -0
  95. package/dist/src/i18n/locales/de.js +1073 -0
  96. package/dist/src/i18n/locales/en.js +121 -175
  97. package/dist/src/i18n/locales/ru.js +1095 -0
  98. package/dist/src/i18n/locales/zh.js +52 -174
  99. package/dist/src/nonInteractive/control/ControlDispatcher.d.ts +24 -1
  100. package/dist/src/nonInteractive/control/ControlDispatcher.js +46 -17
  101. package/dist/src/nonInteractive/control/ControlDispatcher.js.map +1 -1
  102. package/dist/src/nonInteractive/control/ControlService.d.ts +2 -1
  103. package/dist/src/nonInteractive/control/ControlService.js +22 -37
  104. package/dist/src/nonInteractive/control/ControlService.js.map +1 -1
  105. package/dist/src/nonInteractive/control/controllers/baseController.d.ts +2 -1
  106. package/dist/src/nonInteractive/control/controllers/baseController.js +38 -5
  107. package/dist/src/nonInteractive/control/controllers/baseController.js.map +1 -1
  108. package/dist/src/nonInteractive/control/controllers/permissionController.d.ts +1 -22
  109. package/dist/src/nonInteractive/control/controllers/permissionController.js +38 -38
  110. package/dist/src/nonInteractive/control/controllers/permissionController.js.map +1 -1
  111. package/dist/src/nonInteractive/control/controllers/sdkMcpController.d.ts +54 -0
  112. package/dist/src/nonInteractive/control/controllers/sdkMcpController.js +84 -0
  113. package/dist/src/nonInteractive/control/controllers/sdkMcpController.js.map +1 -0
  114. package/dist/src/nonInteractive/control/controllers/systemController.d.ts +16 -6
  115. package/dist/src/nonInteractive/control/controllers/systemController.js +184 -44
  116. package/dist/src/nonInteractive/control/controllers/systemController.js.map +1 -1
  117. package/dist/src/nonInteractive/control/types/serviceAPIs.d.ts +1 -16
  118. package/dist/src/nonInteractive/io/BaseJsonOutputAdapter.d.ts +11 -0
  119. package/dist/src/nonInteractive/io/BaseJsonOutputAdapter.js +64 -5
  120. package/dist/src/nonInteractive/io/BaseJsonOutputAdapter.js.map +1 -1
  121. package/dist/src/nonInteractive/io/BaseJsonOutputAdapter.test.js +40 -0
  122. package/dist/src/nonInteractive/io/BaseJsonOutputAdapter.test.js.map +1 -1
  123. package/dist/src/nonInteractive/io/StreamJsonOutputAdapter.test.js +50 -0
  124. package/dist/src/nonInteractive/io/StreamJsonOutputAdapter.test.js.map +1 -1
  125. package/dist/src/nonInteractive/session.d.ts +0 -16
  126. package/dist/src/nonInteractive/session.js +317 -321
  127. package/dist/src/nonInteractive/session.js.map +1 -1
  128. package/dist/src/nonInteractive/session.test.js +6 -0
  129. package/dist/src/nonInteractive/session.test.js.map +1 -1
  130. package/dist/src/nonInteractive/types.d.ts +57 -3
  131. package/dist/src/nonInteractive/types.js +0 -1
  132. package/dist/src/nonInteractive/types.js.map +1 -1
  133. package/dist/src/nonInteractiveCli.js +121 -56
  134. package/dist/src/nonInteractiveCli.js.map +1 -1
  135. package/dist/src/nonInteractiveCliCommands.d.ts +48 -9
  136. package/dist/src/nonInteractiveCliCommands.js +180 -64
  137. package/dist/src/nonInteractiveCliCommands.js.map +1 -1
  138. package/dist/src/nonInteractiveCliCommands.test.d.ts +6 -0
  139. package/dist/src/nonInteractiveCliCommands.test.js +157 -0
  140. package/dist/src/nonInteractiveCliCommands.test.js.map +1 -0
  141. package/dist/src/services/BuiltinCommandLoader.js +7 -6
  142. package/dist/src/services/BuiltinCommandLoader.js.map +1 -1
  143. package/dist/src/services/BuiltinCommandLoader.test.js +0 -3
  144. package/dist/src/services/BuiltinCommandLoader.test.js.map +1 -1
  145. package/dist/src/services/McpPromptLoader.js +4 -2
  146. package/dist/src/services/McpPromptLoader.js.map +1 -1
  147. package/dist/src/services/McpPromptLoader.test.js +1 -1
  148. package/dist/src/services/McpPromptLoader.test.js.map +1 -1
  149. package/dist/src/test-utils/mockCommandContext.js +11 -2
  150. package/dist/src/test-utils/mockCommandContext.js.map +1 -1
  151. package/dist/src/ui/AppContainer.js +62 -56
  152. package/dist/src/ui/AppContainer.js.map +1 -1
  153. package/dist/src/ui/AppContainer.test.js +0 -46
  154. package/dist/src/ui/AppContainer.test.js.map +1 -1
  155. package/dist/src/ui/auth/AuthDialog.test.js +4 -4
  156. package/dist/src/ui/auth/AuthDialog.test.js.map +1 -1
  157. package/dist/src/ui/auth/useAuth.js +31 -4
  158. package/dist/src/ui/auth/useAuth.js.map +1 -1
  159. package/dist/src/ui/commands/approvalModeCommand.js +53 -4
  160. package/dist/src/ui/commands/approvalModeCommand.js.map +1 -1
  161. package/dist/src/ui/commands/approvalModeCommand.test.js +72 -10
  162. package/dist/src/ui/commands/approvalModeCommand.test.js.map +1 -1
  163. package/dist/src/ui/commands/clearCommand.js +22 -10
  164. package/dist/src/ui/commands/clearCommand.js.map +1 -1
  165. package/dist/src/ui/commands/compressCommand.js +86 -16
  166. package/dist/src/ui/commands/compressCommand.js.map +1 -1
  167. package/dist/src/ui/commands/languageCommand.d.ts +6 -1
  168. package/dist/src/ui/commands/languageCommand.js +162 -183
  169. package/dist/src/ui/commands/languageCommand.js.map +1 -1
  170. package/dist/src/ui/commands/languageCommand.test.d.ts +6 -0
  171. package/dist/src/ui/commands/languageCommand.test.js +558 -0
  172. package/dist/src/ui/commands/languageCommand.test.js.map +1 -0
  173. package/dist/src/ui/commands/modelCommand.js +4 -2
  174. package/dist/src/ui/commands/modelCommand.js.map +1 -1
  175. package/dist/src/ui/commands/quitCommand.d.ts +0 -1
  176. package/dist/src/ui/commands/quitCommand.js +0 -27
  177. package/dist/src/ui/commands/quitCommand.js.map +1 -1
  178. package/dist/src/ui/commands/restoreCommand.js +1 -1
  179. package/dist/src/ui/commands/restoreCommand.js.map +1 -1
  180. package/dist/src/ui/commands/resumeCommand.d.ts +7 -0
  181. package/dist/src/ui/commands/resumeCommand.js +19 -0
  182. package/dist/src/ui/commands/resumeCommand.js.map +1 -0
  183. package/dist/src/ui/commands/resumeCommand.test.d.ts +6 -0
  184. package/dist/src/ui/commands/resumeCommand.test.js +32 -0
  185. package/dist/src/ui/commands/resumeCommand.test.js.map +1 -0
  186. package/dist/src/ui/commands/reviewCommand.d.ts +9 -0
  187. package/dist/src/ui/commands/reviewCommand.js +2046 -0
  188. package/dist/src/ui/commands/reviewCommand.js.map +1 -0
  189. package/dist/src/ui/commands/reviewCommand.test.js +600 -0
  190. package/dist/src/ui/commands/reviewCommand.test.js.map +1 -0
  191. package/dist/src/ui/commands/setupGithubCommand.js +11 -10
  192. package/dist/src/ui/commands/setupGithubCommand.js.map +1 -1
  193. package/dist/src/ui/commands/setupGithubCommand.test.js +14 -14
  194. package/dist/src/ui/commands/setupGithubCommand.test.js.map +1 -1
  195. package/dist/src/ui/commands/summaryCommand.js +129 -42
  196. package/dist/src/ui/commands/summaryCommand.js.map +1 -1
  197. package/dist/src/ui/commands/types.d.ts +24 -10
  198. package/dist/src/ui/commands/types.js.map +1 -1
  199. package/dist/src/ui/commands/ums/unittestCommand.d.ts +9 -0
  200. package/dist/src/ui/commands/ums/unittestCommand.js +387 -0
  201. package/dist/src/ui/commands/ums/unittestCommand.js.map +1 -0
  202. package/dist/src/ui/components/Composer.test.js +1 -2
  203. package/dist/src/ui/components/Composer.test.js.map +1 -1
  204. package/dist/src/ui/components/ContextUsageDisplay.d.ts +3 -2
  205. package/dist/src/ui/components/ContextUsageDisplay.js +8 -2
  206. package/dist/src/ui/components/ContextUsageDisplay.js.map +1 -1
  207. package/dist/src/ui/components/DialogManager.js +7 -23
  208. package/dist/src/ui/components/DialogManager.js.map +1 -1
  209. package/dist/src/ui/components/Footer.js +2 -3
  210. package/dist/src/ui/components/Footer.js.map +1 -1
  211. package/dist/src/ui/components/Help.js +13 -2
  212. package/dist/src/ui/components/Help.js.map +1 -1
  213. package/dist/src/ui/components/Help.test.js +6 -0
  214. package/dist/src/ui/components/Help.test.js.map +1 -1
  215. package/dist/src/ui/components/HistoryItemDisplay.js +3 -1
  216. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -1
  217. package/dist/src/ui/components/HistoryItemDisplay.test.js +5 -2
  218. package/dist/src/ui/components/HistoryItemDisplay.test.js.map +1 -1
  219. package/dist/src/ui/components/InputPrompt.js +6 -4
  220. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  221. package/dist/src/ui/components/ModelDialog.d.ts +3 -1
  222. package/dist/src/ui/components/ModelDialog.js +25 -5
  223. package/dist/src/ui/components/ModelDialog.js.map +1 -1
  224. package/dist/src/ui/components/OpenAIKeyPrompt.d.ts +3 -0
  225. package/dist/src/ui/components/OpenAIKeyPrompt.js +1 -0
  226. package/dist/src/ui/components/OpenAIKeyPrompt.js.map +1 -1
  227. package/dist/src/ui/components/PermissionsModifyTrustDialog.js +1 -1
  228. package/dist/src/ui/components/PermissionsModifyTrustDialog.js.map +1 -1
  229. package/dist/src/ui/components/SessionPicker.d.ts +18 -0
  230. package/dist/src/ui/components/SessionPicker.js +69 -0
  231. package/dist/src/ui/components/SessionPicker.js.map +1 -0
  232. package/dist/src/ui/components/SessionSummaryDisplay.js +14 -2
  233. package/dist/src/ui/components/SessionSummaryDisplay.js.map +1 -1
  234. package/dist/src/ui/components/SettingsDialog.test.js +2 -2
  235. package/dist/src/ui/components/StandaloneSessionPicker.d.ts +10 -0
  236. package/dist/src/ui/components/StandaloneSessionPicker.js +78 -0
  237. package/dist/src/ui/components/StandaloneSessionPicker.js.map +1 -0
  238. package/dist/src/ui/components/StandaloneSessionPicker.test.d.ts +6 -0
  239. package/dist/src/ui/components/StandaloneSessionPicker.test.js +410 -0
  240. package/dist/src/ui/components/StandaloneSessionPicker.test.js.map +1 -0
  241. package/dist/src/ui/components/SuggestionsDisplay.js +3 -2
  242. package/dist/src/ui/components/SuggestionsDisplay.js.map +1 -1
  243. package/dist/src/ui/components/messages/GeminiThoughtMessage.d.ts +18 -0
  244. package/dist/src/ui/components/messages/GeminiThoughtMessage.js +14 -0
  245. package/dist/src/ui/components/messages/GeminiThoughtMessage.js.map +1 -0
  246. package/dist/src/ui/components/messages/GeminiThoughtMessageContent.d.ts +18 -0
  247. package/dist/src/ui/components/messages/GeminiThoughtMessageContent.js +14 -0
  248. package/dist/src/ui/components/messages/GeminiThoughtMessageContent.js.map +1 -0
  249. package/dist/src/ui/components/subagents/manage/AgentEditStep.js +4 -1
  250. package/dist/src/ui/components/subagents/manage/AgentEditStep.js.map +1 -1
  251. package/dist/src/ui/components/subagents/manage/AgentSelectionStep.js +2 -2
  252. package/dist/src/ui/components/subagents/manage/AgentSelectionStep.js.map +1 -1
  253. package/dist/src/ui/components/ums/UMSKeyPrompt.d.ts +1 -1
  254. package/dist/src/ui/components/ums/UMSKeyPrompt.js +24 -4
  255. package/dist/src/ui/components/ums/UMSKeyPrompt.js.map +1 -1
  256. package/dist/src/ui/components/ums/umsStartupWarnings.d.ts +6 -0
  257. package/dist/src/ui/components/ums/umsStartupWarnings.js +47 -0
  258. package/dist/src/ui/components/ums/umsStartupWarnings.js.map +1 -0
  259. package/dist/src/ui/contexts/SessionContext.d.ts +2 -0
  260. package/dist/src/ui/contexts/SessionContext.js +18 -10
  261. package/dist/src/ui/contexts/SessionContext.js.map +1 -1
  262. package/dist/src/ui/contexts/UIActionsContext.d.ts +3 -1
  263. package/dist/src/ui/contexts/UIActionsContext.js.map +1 -1
  264. package/dist/src/ui/contexts/UIStateContext.d.ts +3 -11
  265. package/dist/src/ui/contexts/UIStateContext.js.map +1 -1
  266. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +3 -8
  267. package/dist/src/ui/hooks/slashCommandProcessor.js +77 -101
  268. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  269. package/dist/src/ui/hooks/useAttentionNotifications.d.ts +3 -1
  270. package/dist/src/ui/hooks/useAttentionNotifications.js +10 -5
  271. package/dist/src/ui/hooks/useAttentionNotifications.js.map +1 -1
  272. package/dist/src/ui/hooks/useAttentionNotifications.test.js +39 -2
  273. package/dist/src/ui/hooks/useAttentionNotifications.test.js.map +1 -1
  274. package/dist/src/ui/hooks/useDialogClose.d.ts +0 -3
  275. package/dist/src/ui/hooks/useDialogClose.js +0 -2
  276. package/dist/src/ui/hooks/useDialogClose.js.map +1 -1
  277. package/dist/src/ui/hooks/useGeminiStream.js +87 -12
  278. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  279. package/dist/src/ui/hooks/useLoadingIndicator.test.js +11 -6
  280. package/dist/src/ui/hooks/useLoadingIndicator.test.js.map +1 -1
  281. package/dist/src/ui/hooks/useLogger.d.ts +1 -1
  282. package/dist/src/ui/hooks/useLogger.js +6 -3
  283. package/dist/src/ui/hooks/useLogger.js.map +1 -1
  284. package/dist/src/ui/hooks/usePhraseCycler.js +12 -136
  285. package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -1
  286. package/dist/src/ui/hooks/useQwenAuth.test.js +1 -1
  287. package/dist/src/ui/hooks/useQwenAuth.test.js.map +1 -1
  288. package/dist/src/ui/hooks/useReactToolScheduler.js +2 -2
  289. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -1
  290. package/dist/src/ui/hooks/useResumeCommand.d.ts +20 -0
  291. package/dist/src/ui/hooks/useResumeCommand.js +49 -0
  292. package/dist/src/ui/hooks/useResumeCommand.js.map +1 -0
  293. package/dist/src/ui/hooks/useResumeCommand.test.d.ts +6 -0
  294. package/dist/src/ui/hooks/useResumeCommand.test.js +144 -0
  295. package/dist/src/ui/hooks/useResumeCommand.test.js.map +1 -0
  296. package/dist/src/ui/hooks/useSessionPicker.d.ts +36 -0
  297. package/dist/src/ui/hooks/useSessionPicker.js +189 -0
  298. package/dist/src/ui/hooks/useSessionPicker.js.map +1 -0
  299. package/dist/src/ui/hooks/useSlashCompletion.js +9 -1
  300. package/dist/src/ui/hooks/useSlashCompletion.js.map +1 -1
  301. package/dist/src/ui/hooks/useSlashCompletion.test.js +36 -31
  302. package/dist/src/ui/hooks/useSlashCompletion.test.js.map +1 -1
  303. package/dist/src/ui/hooks/useToolScheduler.test.js +2 -1
  304. package/dist/src/ui/hooks/useToolScheduler.test.js.map +1 -1
  305. package/dist/src/ui/models/availableModels.d.ts +9 -2
  306. package/dist/src/ui/models/availableModels.js +32 -35
  307. package/dist/src/ui/models/availableModels.js.map +1 -1
  308. package/dist/src/ui/noninteractive/nonInteractiveUi.js +0 -1
  309. package/dist/src/ui/noninteractive/nonInteractiveUi.js.map +1 -1
  310. package/dist/src/ui/types.d.ts +9 -14
  311. package/dist/src/ui/types.js +0 -1
  312. package/dist/src/ui/types.js.map +1 -1
  313. package/dist/src/ui/utils/InlineMarkdownRenderer.d.ts +1 -0
  314. package/dist/src/ui/utils/InlineMarkdownRenderer.js +2 -2
  315. package/dist/src/ui/utils/InlineMarkdownRenderer.js.map +1 -1
  316. package/dist/src/ui/utils/MarkdownDisplay.d.ts +1 -0
  317. package/dist/src/ui/utils/MarkdownDisplay.js +13 -13
  318. package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -1
  319. package/dist/src/ui/utils/formatters.d.ts +6 -0
  320. package/dist/src/ui/utils/formatters.js +31 -0
  321. package/dist/src/ui/utils/formatters.js.map +1 -1
  322. package/dist/src/ui/utils/formatters.test.js +51 -2
  323. package/dist/src/ui/utils/formatters.test.js.map +1 -1
  324. package/dist/src/ui/utils/resumeHistoryUtils.d.ts +19 -0
  325. package/dist/src/ui/utils/resumeHistoryUtils.js +267 -0
  326. package/dist/src/ui/utils/resumeHistoryUtils.js.map +1 -0
  327. package/dist/src/ui/utils/resumeHistoryUtils.test.d.ts +6 -0
  328. package/dist/src/ui/utils/resumeHistoryUtils.test.js +253 -0
  329. package/dist/src/ui/utils/resumeHistoryUtils.test.js.map +1 -0
  330. package/dist/src/ui/utils/sessionPickerUtils.d.ts +30 -0
  331. package/dist/src/ui/utils/sessionPickerUtils.js +41 -0
  332. package/dist/src/ui/utils/sessionPickerUtils.js.map +1 -0
  333. package/dist/src/ui/utils/sessionPickerUtils.test.d.ts +6 -0
  334. package/dist/src/ui/utils/sessionPickerUtils.test.js +38 -0
  335. package/dist/src/ui/utils/sessionPickerUtils.test.js.map +1 -0
  336. package/dist/src/utils/attentionNotification.d.ts +1 -0
  337. package/dist/src/utils/attentionNotification.js +4 -0
  338. package/dist/src/utils/attentionNotification.js.map +1 -1
  339. package/dist/src/utils/errors.d.ts +1 -1
  340. package/dist/src/utils/errors.js +14 -3
  341. package/dist/src/utils/errors.js.map +1 -1
  342. package/dist/src/utils/errors.test.js +43 -1
  343. package/dist/src/utils/errors.test.js.map +1 -1
  344. package/dist/src/utils/gitUtils.js +25 -8
  345. package/dist/src/utils/gitUtils.js.map +1 -1
  346. package/dist/src/utils/gitUtils.test.js +59 -0
  347. package/dist/src/utils/gitUtils.test.js.map +1 -1
  348. package/dist/src/utils/nonInteractiveHelpers.d.ts +3 -1
  349. package/dist/src/utils/nonInteractiveHelpers.js +14 -15
  350. package/dist/src/utils/nonInteractiveHelpers.js.map +1 -1
  351. package/dist/src/utils/nonInteractiveHelpers.test.js +36 -21
  352. package/dist/src/utils/nonInteractiveHelpers.test.js.map +1 -1
  353. package/dist/src/utils/relaunch.js +2 -2
  354. package/dist/src/utils/relaunch.js.map +1 -1
  355. package/dist/src/utils/relaunch.test.js +5 -5
  356. package/dist/src/utils/relaunch.test.js.map +1 -1
  357. package/dist/src/utils/systemInfo.js +2 -1
  358. package/dist/src/utils/systemInfo.js.map +1 -1
  359. package/dist/src/validateNonInterActiveAuth.js +10 -1
  360. package/dist/src/validateNonInterActiveAuth.js.map +1 -1
  361. package/dist/tsconfig.tsbuildinfo +1 -1
  362. package/package.json +7 -7
  363. package/dist/src/nonInteractive/control/controllers/mcpController.d.ts +0 -42
  364. package/dist/src/nonInteractive/control/controllers/mcpController.js +0 -205
  365. package/dist/src/nonInteractive/control/controllers/mcpController.js.map +0 -1
  366. package/dist/src/ui/commands/chatCommand.d.ts +0 -9
  367. package/dist/src/ui/commands/chatCommand.js +0 -351
  368. package/dist/src/ui/commands/chatCommand.js.map +0 -1
  369. package/dist/src/ui/commands/corgiCommand.d.ts +0 -7
  370. package/dist/src/ui/commands/corgiCommand.js +0 -16
  371. package/dist/src/ui/commands/corgiCommand.js.map +0 -1
  372. package/dist/src/ui/components/ProQuotaDialog.d.ts +0 -13
  373. package/dist/src/ui/components/ProQuotaDialog.js +0 -24
  374. package/dist/src/ui/components/ProQuotaDialog.js.map +0 -1
  375. package/dist/src/ui/components/ProQuotaDialog.test.js +0 -58
  376. package/dist/src/ui/components/ProQuotaDialog.test.js.map +0 -1
  377. package/dist/src/ui/components/QuitConfirmationDialog.d.ts +0 -17
  378. package/dist/src/ui/components/QuitConfirmationDialog.js +0 -49
  379. package/dist/src/ui/components/QuitConfirmationDialog.js.map +0 -1
  380. package/dist/src/ui/hooks/usePromptCompletion.d.ts +0 -23
  381. package/dist/src/ui/hooks/usePromptCompletion.js +0 -177
  382. package/dist/src/ui/hooks/usePromptCompletion.js.map +0 -1
  383. package/dist/src/ui/hooks/useQuitConfirmation.d.ts +0 -14
  384. package/dist/src/ui/hooks/useQuitConfirmation.js +0 -36
  385. package/dist/src/ui/hooks/useQuitConfirmation.js.map +0 -1
  386. package/dist/src/ui/hooks/useQuotaAndFallback.d.ts +0 -21
  387. package/dist/src/ui/hooks/useQuotaAndFallback.js +0 -122
  388. package/dist/src/ui/hooks/useQuotaAndFallback.js.map +0 -1
  389. package/dist/src/ui/hooks/useQuotaAndFallback.test.js +0 -269
  390. package/dist/src/ui/hooks/useQuotaAndFallback.test.js.map +0 -1
  391. package/dist/src/zed-integration/acp.js.map +0 -1
  392. package/dist/src/zed-integration/fileSystemService.js.map +0 -1
  393. package/dist/src/zed-integration/schema.js.map +0 -1
  394. package/dist/src/zed-integration/zedIntegration.d.ts +0 -17
  395. package/dist/src/zed-integration/zedIntegration.js +0 -1135
  396. package/dist/src/zed-integration/zedIntegration.js.map +0 -1
  397. /package/dist/src/ui/{components/ProQuotaDialog.test.d.ts → commands/reviewCommand.test.d.ts} +0 -0
@@ -1,51 +1,63 @@
1
1
  /**
2
2
  * @license
3
- * Copyright 2025 Google LLC
3
+ * Copyright 2025 Qwen team
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { CommandKind } from './types.js';
7
7
  import { SettingScope } from '../../config/settings.js';
8
- import { setLanguageAsync, getCurrentLanguage, t, } from '../../i18n/index.js';
8
+ import { setLanguageAsync, getCurrentLanguage, detectSystemLanguage, getLanguageNameFromLocale, t, } from '../../i18n/index.js';
9
+ import { SUPPORTED_LANGUAGES, } from '../../i18n/languages.js';
9
10
  import * as fs from 'node:fs';
10
11
  import * as path from 'node:path';
11
12
  import { Storage } from '@umsai/ums-code-core';
12
13
  const LLM_OUTPUT_LANGUAGE_RULE_FILENAME = 'output-language.md';
14
+ const LLM_OUTPUT_LANGUAGE_MARKER_PREFIX = 'qwen-code:llm-output-language:';
15
+ function parseUiLanguageArg(input) {
16
+ const lowered = input.trim().toLowerCase();
17
+ if (!lowered)
18
+ return null;
19
+ for (const lang of SUPPORTED_LANGUAGES) {
20
+ if (lowered === lang.code ||
21
+ lowered === lang.id.toLowerCase() ||
22
+ lowered === lang.fullName.toLowerCase()) {
23
+ return lang.code;
24
+ }
25
+ }
26
+ return null;
27
+ }
28
+ function formatUiLanguageDisplay(lang) {
29
+ const option = SUPPORTED_LANGUAGES.find((o) => o.code === lang);
30
+ return option ? `${option.fullName}(${option.id})` : lang;
31
+ }
32
+ function sanitizeLanguageForMarker(language) {
33
+ // HTML comments cannot contain "--" or end markers like "-->" or "--!>" safely.
34
+ // Also avoid newlines to keep the marker single-line and robust to parsing.
35
+ return language
36
+ .replace(/[\r\n]/g, ' ')
37
+ .replace(/--!?>/g, '')
38
+ .replace(/--/g, '');
39
+ }
13
40
  /**
14
41
  * Generates the LLM output language rule template based on the language name.
15
42
  */
16
43
  function generateLlmOutputLanguageRule(language) {
17
- return `# ⚠️ CRITICAL: ${language} Output Language Rule - HIGHEST PRIORITY ⚠️
18
-
19
- ## 🚨 MANDATORY RULE - NO EXCEPTIONS 🚨
20
-
21
- **YOU MUST RESPOND IN ${language.toUpperCase()} FOR EVERY SINGLE OUTPUT, REGARDLESS OF THE USER'S INPUT LANGUAGE.**
22
-
23
- This is a **NON-NEGOTIABLE** requirement. Even if the user writes in English, says "hi", asks a simple question, or explicitly requests another language, **YOU MUST ALWAYS RESPOND IN ${language.toUpperCase()}.**
24
-
25
- ## What Must Be in ${language}
44
+ const markerLanguage = sanitizeLanguageForMarker(language);
45
+ return `# Output language preference: ${language}
46
+ <!-- ${LLM_OUTPUT_LANGUAGE_MARKER_PREFIX} ${markerLanguage} -->
26
47
 
27
- **EVERYTHING** you output: conversation replies, tool call descriptions, success/error messages, generated file content (comments, documentation), and all explanatory text.
48
+ ## Goal
49
+ Prefer responding in **${language}** for normal assistant messages and explanations.
28
50
 
29
- **Tool outputs**: All descriptive text from \`read_file\`, \`write_file\`, \`codebase_search\`, \`run_terminal_cmd\`, \`todo_write\`, \`web_search\`, etc. MUST be in ${language}.
51
+ ## Keep technical artifacts unchanged
52
+ Do **not** translate or rewrite:
53
+ - Code blocks, CLI commands, file paths, stack traces, logs, JSON keys, identifiers
54
+ - Exact quoted text from the user (keep quotes verbatim)
30
55
 
31
- ## Examples
56
+ ## When a conflict exists
57
+ If higher-priority instructions (system/developer) require a different behavior, follow them.
32
58
 
33
- ### CORRECT:
34
- - User says "hi" Respond in ${language} (e.g., "Bonjour" if ${language} is French)
35
- - Tool result → "已成功读取文件 config.json" (if ${language} is Chinese)
36
- - Error → "无法找到指定的文件" (if ${language} is Chinese)
37
-
38
- ### ❌ WRONG:
39
- - User says "hi" → "Hello" in English
40
- - Tool result → "Successfully read file" in English
41
- - Error → "File not found" in English
42
-
43
- ## Notes
44
-
45
- - Code elements (variable/function names, syntax) can remain in English
46
- - Comments, documentation, and all other text MUST be in ${language}
47
-
48
- **THIS RULE IS ACTIVE NOW. ALL OUTPUTS MUST BE IN ${language.toUpperCase()}. NO EXCEPTIONS.**
59
+ ## Tool / system outputs
60
+ Raw tool/system outputs may contain fixed-format English. Preserve them verbatim, and if needed, add a short **${language}** explanation below.
49
61
  `;
50
62
  }
51
63
  /**
@@ -54,6 +66,63 @@ This is a **NON-NEGOTIABLE** requirement. Even if the user writes in English, sa
54
66
  function getLlmOutputLanguageRulePath() {
55
67
  return path.join(Storage.getGlobalQwenDir(), LLM_OUTPUT_LANGUAGE_RULE_FILENAME);
56
68
  }
69
+ /**
70
+ * Normalizes a language input to its full English name.
71
+ * If the input is a known locale code (e.g., "ru", "zh"), converts it to the full name.
72
+ * Otherwise, returns the input as-is (e.g., "Japanese" stays "Japanese").
73
+ */
74
+ function normalizeLanguageName(language) {
75
+ const lowered = language.toLowerCase();
76
+ // Check if it's a known locale code and convert to full name
77
+ const fullName = getLanguageNameFromLocale(lowered);
78
+ // If getLanguageNameFromLocale returned a different value, use it
79
+ // Otherwise, use the original input (preserves case for unknown languages)
80
+ if (fullName !== 'English' || lowered === 'en') {
81
+ return fullName;
82
+ }
83
+ return language;
84
+ }
85
+ function extractLlmOutputLanguageFromRuleFileContent(content) {
86
+ // Preferred: machine-readable marker that supports Unicode and spaces.
87
+ // Example: <!-- qwen-code:llm-output-language: 中文 -->
88
+ const markerMatch = content.match(new RegExp(String.raw `<!--\s*${LLM_OUTPUT_LANGUAGE_MARKER_PREFIX}\s*(.*?)\s*-->`, 'i'));
89
+ if (markerMatch?.[1]) {
90
+ const lang = markerMatch[1].trim();
91
+ if (lang)
92
+ return lang;
93
+ }
94
+ // Backward compatibility: parse the heading line.
95
+ // Example: "# CRITICAL: Chinese Output Language Rule - HIGHEST PRIORITY"
96
+ // Example: "# ⚠️ CRITICAL: 日本語 Output Language Rule - HIGHEST PRIORITY ⚠️"
97
+ const headingMatch = content.match(/^#.*?CRITICAL:\s*(.*?)\s+Output Language Rule\b/im);
98
+ if (headingMatch?.[1]) {
99
+ const lang = headingMatch[1].trim();
100
+ if (lang)
101
+ return lang;
102
+ }
103
+ return null;
104
+ }
105
+ /**
106
+ * Initializes the LLM output language rule file on first startup.
107
+ * If the file already exists, it is not overwritten (respects user preference).
108
+ */
109
+ export function initializeLlmOutputLanguage() {
110
+ const filePath = getLlmOutputLanguageRulePath();
111
+ // Skip if file already exists (user preference)
112
+ if (fs.existsSync(filePath)) {
113
+ return;
114
+ }
115
+ // Detect system language and map to language name
116
+ const detectedLocale = detectSystemLanguage();
117
+ const languageName = getLanguageNameFromLocale(detectedLocale);
118
+ // Generate the rule file
119
+ const content = generateLlmOutputLanguageRule(languageName);
120
+ // Ensure directory exists
121
+ const dir = path.dirname(filePath);
122
+ fs.mkdirSync(dir, { recursive: true });
123
+ // Write file
124
+ fs.writeFileSync(filePath, content, 'utf-8');
125
+ }
57
126
  /**
58
127
  * Gets the current LLM output language from the rule file if it exists.
59
128
  */
@@ -62,11 +131,7 @@ function getCurrentLlmOutputLanguage() {
62
131
  if (fs.existsSync(filePath)) {
63
132
  try {
64
133
  const content = fs.readFileSync(filePath, 'utf-8');
65
- // Extract language name from the first line (e.g., "# Chinese Response Rules" -> "Chinese")
66
- const match = content.match(/^#\s+(.+?)\s+Response Rules/i);
67
- if (match) {
68
- return match[1];
69
- }
134
+ return extractLlmOutputLanguageFromRuleFileContent(content);
70
135
  }
71
136
  catch {
72
137
  // Ignore errors
@@ -100,16 +165,11 @@ async function setUiLanguage(context, lang) {
100
165
  }
101
166
  // Reload commands to update their descriptions with the new language
102
167
  context.ui.reloadCommands();
103
- // Map language codes to friendly display names
104
- const langDisplayNames = {
105
- zh: '中文(zh-CN)',
106
- en: 'English(en-US)',
107
- };
108
168
  return {
109
169
  type: 'message',
110
170
  messageType: 'info',
111
171
  content: t('UI language changed to {{lang}}', {
112
- lang: langDisplayNames[lang],
172
+ lang: formatUiLanguageDisplay(lang),
113
173
  }),
114
174
  };
115
175
  }
@@ -119,7 +179,9 @@ async function setUiLanguage(context, lang) {
119
179
  function generateLlmOutputLanguageRuleFile(language) {
120
180
  try {
121
181
  const filePath = getLlmOutputLanguageRulePath();
122
- const content = generateLlmOutputLanguageRule(language);
182
+ // Normalize locale codes (e.g., "ru" -> "Russian") to full language names
183
+ const normalizedLanguage = normalizeLanguageName(language);
184
+ const content = generateLlmOutputLanguageRule(normalizedLanguage);
123
185
  // Ensure directory exists
124
186
  const dir = path.dirname(filePath);
125
187
  fs.mkdirSync(dir, { recursive: true });
@@ -163,18 +225,30 @@ export const languageCommand = {
163
225
  };
164
226
  }
165
227
  const trimmedArgs = args.trim();
228
+ // Handle subcommands if called directly via action (for tests/backward compatibility)
229
+ const parts = trimmedArgs.split(/\s+/);
230
+ const firstArg = parts[0].toLowerCase();
231
+ const subArgs = parts.slice(1).join(' ');
232
+ if (firstArg === 'ui' || firstArg === 'output') {
233
+ const subCommand = languageCommand.subCommands?.find((s) => s.name === firstArg);
234
+ if (subCommand?.action) {
235
+ return subCommand.action(context, subArgs);
236
+ }
237
+ }
166
238
  // If no arguments, show current language settings and usage
167
239
  if (!trimmedArgs) {
168
240
  const currentUiLang = getCurrentLanguage();
169
241
  const currentLlmLang = getCurrentLlmOutputLanguage();
170
242
  const message = [
171
- t('Current UI language: {{lang}}', { lang: currentUiLang }),
243
+ t('Current UI language: {{lang}}', {
244
+ lang: formatUiLanguageDisplay(currentUiLang),
245
+ }),
172
246
  currentLlmLang
173
247
  ? t('Current LLM output language: {{lang}}', { lang: currentLlmLang })
174
248
  : t('LLM output language not set'),
175
249
  '',
176
250
  t('Available subcommands:'),
177
- ` /language ui [zh-CN|en-US] - ${t('Set UI language')}`,
251
+ ` /language ui [${SUPPORTED_LANGUAGES.map((o) => o.id).join('|')}] - ${t('Set UI language')}`,
178
252
  ` /language output <language> - ${t('Set LLM output language')}`,
179
253
  ].join('\n');
180
254
  return {
@@ -183,93 +257,20 @@ export const languageCommand = {
183
257
  content: message,
184
258
  };
185
259
  }
186
- // Parse subcommand
187
- const parts = trimmedArgs.split(/\s+/);
188
- const subcommand = parts[0].toLowerCase();
189
- if (subcommand === 'ui') {
190
- // Handle /language ui [zh-CN|en-US]
191
- if (parts.length === 1) {
192
- // Show UI language subcommand help
193
- return {
194
- type: 'message',
195
- messageType: 'info',
196
- content: [
197
- t('Set UI language'),
198
- '',
199
- t('Usage: /language ui [zh-CN|en-US]'),
200
- '',
201
- t('Available options:'),
202
- t(' - zh-CN: Simplified Chinese'),
203
- t(' - en-US: English'),
204
- '',
205
- t('To request additional UI language packs, please open an issue on GitHub.'),
206
- ].join('\n'),
207
- };
208
- }
209
- const langArg = parts[1].toLowerCase();
210
- let targetLang = null;
211
- if (langArg === 'en' || langArg === 'english' || langArg === 'en-us') {
212
- targetLang = 'en';
213
- }
214
- else if (langArg === 'zh' ||
215
- langArg === 'chinese' ||
216
- langArg === '中文' ||
217
- langArg === 'zh-cn') {
218
- targetLang = 'zh';
219
- }
220
- else {
221
- return {
222
- type: 'message',
223
- messageType: 'error',
224
- content: t('Invalid language. Available: en-US, zh-CN'),
225
- };
226
- }
227
- return setUiLanguage(context, targetLang);
228
- }
229
- else if (subcommand === 'output') {
230
- // Handle /language output <language>
231
- if (parts.length === 1) {
232
- return {
233
- type: 'message',
234
- messageType: 'info',
235
- content: [
236
- t('Set LLM output language'),
237
- '',
238
- t('Usage: /language output <language>'),
239
- ` ${t('Example: /language output 中文')}`,
240
- ].join('\n'),
241
- };
242
- }
243
- // Join all parts after "output" as the language name
244
- const language = parts.slice(1).join(' ');
245
- return generateLlmOutputLanguageRuleFile(language);
246
- }
247
- else {
248
- // Backward compatibility: treat as UI language
249
- const langArg = trimmedArgs.toLowerCase();
250
- let targetLang = null;
251
- if (langArg === 'en' || langArg === 'english' || langArg === 'en-us') {
252
- targetLang = 'en';
253
- }
254
- else if (langArg === 'zh' ||
255
- langArg === 'chinese' ||
256
- langArg === '中文' ||
257
- langArg === 'zh-cn') {
258
- targetLang = 'zh';
259
- }
260
- else {
261
- return {
262
- type: 'message',
263
- messageType: 'error',
264
- content: [
265
- t('Invalid command. Available subcommands:'),
266
- ' - /language ui [zh-CN|en-US] - ' + t('Set UI language'),
267
- ' - /language output <language> - ' + t('Set LLM output language'),
268
- ].join('\n'),
269
- };
270
- }
260
+ // Handle backward compatibility for /language [lang]
261
+ const targetLang = parseUiLanguageArg(trimmedArgs);
262
+ if (targetLang) {
271
263
  return setUiLanguage(context, targetLang);
272
264
  }
265
+ return {
266
+ type: 'message',
267
+ messageType: 'error',
268
+ content: [
269
+ t('Invalid command. Available subcommands:'),
270
+ ` - /language ui [${SUPPORTED_LANGUAGES.map((o) => o.id).join('|')}] - ${t('Set UI language')}`,
271
+ ' - /language output <language> - ' + t('Set LLM output language'),
272
+ ].join('\n'),
273
+ };
273
274
  },
274
275
  subCommands: [
275
276
  {
@@ -287,74 +288,30 @@ export const languageCommand = {
287
288
  content: [
288
289
  t('Set UI language'),
289
290
  '',
290
- t('Usage: /language ui [zh-CN|en-US]'),
291
+ t('Usage: /language ui [{{options}}]', {
292
+ options: SUPPORTED_LANGUAGES.map((o) => o.id).join('|'),
293
+ }),
291
294
  '',
292
295
  t('Available options:'),
293
- t(' - zh-CN: Simplified Chinese'),
294
- t(' - en-US: English'),
296
+ ...SUPPORTED_LANGUAGES.map((o) => ` - ${o.id}: ${t(o.fullName)}`),
295
297
  '',
296
298
  t('To request additional UI language packs, please open an issue on GitHub.'),
297
299
  ].join('\n'),
298
300
  };
299
301
  }
300
- const langArg = trimmedArgs.toLowerCase();
301
- let targetLang = null;
302
- if (langArg === 'en' || langArg === 'english' || langArg === 'en-us') {
303
- targetLang = 'en';
304
- }
305
- else if (langArg === 'zh' ||
306
- langArg === 'chinese' ||
307
- langArg === '中文' ||
308
- langArg === 'zh-cn') {
309
- targetLang = 'zh';
310
- }
311
- else {
302
+ const targetLang = parseUiLanguageArg(trimmedArgs);
303
+ if (!targetLang) {
312
304
  return {
313
305
  type: 'message',
314
306
  messageType: 'error',
315
- content: t('Invalid language. Available: en-US, zh-CN'),
307
+ content: t('Invalid language. Available: {{options}}', {
308
+ options: SUPPORTED_LANGUAGES.map((o) => o.id).join(','),
309
+ }),
316
310
  };
317
311
  }
318
312
  return setUiLanguage(context, targetLang);
319
313
  },
320
- subCommands: [
321
- {
322
- name: 'zh-CN',
323
- altNames: ['zh', 'chinese', '中文'],
324
- get description() {
325
- return t('Set UI language to Simplified Chinese (zh-CN)');
326
- },
327
- kind: CommandKind.BUILT_IN,
328
- action: async (context, args) => {
329
- if (args.trim().length > 0) {
330
- return {
331
- type: 'message',
332
- messageType: 'error',
333
- content: t('Language subcommands do not accept additional arguments.'),
334
- };
335
- }
336
- return setUiLanguage(context, 'zh');
337
- },
338
- },
339
- {
340
- name: 'en-US',
341
- altNames: ['en', 'english'],
342
- get description() {
343
- return t('Set UI language to English (en-US)');
344
- },
345
- kind: CommandKind.BUILT_IN,
346
- action: async (context, args) => {
347
- if (args.trim().length > 0) {
348
- return {
349
- type: 'message',
350
- messageType: 'error',
351
- content: t('Language subcommands do not accept additional arguments.'),
352
- };
353
- }
354
- return setUiLanguage(context, 'en');
355
- },
356
- },
357
- ],
314
+ subCommands: SUPPORTED_LANGUAGES.map(createUiLanguageSubCommand),
358
315
  },
359
316
  {
360
317
  name: 'output',
@@ -383,4 +340,26 @@ export const languageCommand = {
383
340
  },
384
341
  ],
385
342
  };
343
+ /**
344
+ * Helper to create a UI language subcommand.
345
+ */
346
+ function createUiLanguageSubCommand(option) {
347
+ return {
348
+ name: option.id,
349
+ get description() {
350
+ return t('Set UI language to {{name}}', { name: option.fullName });
351
+ },
352
+ kind: CommandKind.BUILT_IN,
353
+ action: async (context, args) => {
354
+ if (args.trim().length > 0) {
355
+ return {
356
+ type: 'message',
357
+ messageType: 'error',
358
+ content: t('Language subcommands do not accept additional arguments.'),
359
+ };
360
+ }
361
+ return setUiLanguage(context, option.code);
362
+ },
363
+ };
364
+ }
386
365
  //# sourceMappingURL=languageCommand.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"languageCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/languageCommand.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"languageCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/languageCommand.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Qwen
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export {};