@qwen-code/qwen-code 0.0.2 → 0.0.4-nightly.1

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 (262) hide show
  1. package/dist/package.json +6 -4
  2. package/dist/qwen-code-qwen-code-0.0.3.tgz +0 -0
  3. package/dist/src/acp/acp.d.ts +208 -0
  4. package/dist/src/acp/acp.js +193 -0
  5. package/dist/src/acp/acp.js.map +1 -0
  6. package/dist/src/acp/acpPeer.d.ts +8 -0
  7. package/dist/src/acp/acpPeer.js +537 -0
  8. package/dist/src/acp/acpPeer.js.map +1 -0
  9. package/dist/src/config/config.d.ts +5 -2
  10. package/dist/src/config/config.js +70 -28
  11. package/dist/src/config/config.js.map +1 -1
  12. package/dist/src/config/extension.d.ts +2 -2
  13. package/dist/src/config/extension.js +21 -16
  14. package/dist/src/config/extension.js.map +1 -1
  15. package/dist/src/config/settings.d.ts +22 -15
  16. package/dist/src/config/settings.js +25 -10
  17. package/dist/src/config/settings.js.map +1 -1
  18. package/dist/src/gemini.d.ts +1 -0
  19. package/dist/src/gemini.js +31 -49
  20. package/dist/src/gemini.js.map +1 -1
  21. package/dist/src/generated/git-commit.d.ts +1 -1
  22. package/dist/src/generated/git-commit.js +1 -1
  23. package/dist/src/generated/git-commit.js.map +1 -1
  24. package/dist/src/nonInteractiveCli.js +0 -67
  25. package/dist/src/nonInteractiveCli.js.map +1 -1
  26. package/dist/src/patches/is-in-ci.d.ts +7 -0
  27. package/dist/src/patches/is-in-ci.js +15 -0
  28. package/dist/src/patches/is-in-ci.js.map +1 -0
  29. package/dist/src/services/BuiltinCommandLoader.d.ts +24 -0
  30. package/dist/src/services/BuiltinCommandLoader.js +72 -0
  31. package/dist/src/services/BuiltinCommandLoader.js.map +1 -0
  32. package/dist/src/services/CommandService.d.ts +43 -5
  33. package/dist/src/services/CommandService.js +61 -25
  34. package/dist/src/services/CommandService.js.map +1 -1
  35. package/dist/src/services/FileCommandLoader.d.ts +37 -0
  36. package/dist/src/services/FileCommandLoader.js +179 -0
  37. package/dist/src/services/FileCommandLoader.js.map +1 -0
  38. package/dist/src/services/McpPromptLoader.d.ts +25 -0
  39. package/dist/src/services/McpPromptLoader.js +192 -0
  40. package/dist/src/services/McpPromptLoader.js.map +1 -0
  41. package/dist/src/services/prompt-processors/argumentProcessor.d.ts +21 -0
  42. package/dist/src/services/prompt-processors/argumentProcessor.js +28 -0
  43. package/dist/src/services/prompt-processors/argumentProcessor.js.map +1 -0
  44. package/dist/src/services/prompt-processors/shellProcessor.d.ts +32 -0
  45. package/dist/src/services/prompt-processors/shellProcessor.js +77 -0
  46. package/dist/src/services/prompt-processors/shellProcessor.js.map +1 -0
  47. package/dist/src/services/prompt-processors/types.d.ts +38 -0
  48. package/dist/src/services/prompt-processors/types.js +14 -0
  49. package/dist/src/services/prompt-processors/types.js.map +1 -0
  50. package/dist/src/services/types.d.ts +22 -0
  51. package/dist/src/services/types.js +7 -0
  52. package/dist/src/services/types.js.map +1 -0
  53. package/dist/src/ui/App.js +130 -101
  54. package/dist/src/ui/App.js.map +1 -1
  55. package/dist/src/ui/colors.js +6 -0
  56. package/dist/src/ui/colors.js.map +1 -1
  57. package/dist/src/ui/commands/aboutCommand.js +2 -0
  58. package/dist/src/ui/commands/aboutCommand.js.map +1 -1
  59. package/dist/src/ui/commands/authCommand.js +2 -0
  60. package/dist/src/ui/commands/authCommand.js.map +1 -1
  61. package/dist/src/ui/commands/bugCommand.d.ts +7 -0
  62. package/dist/src/ui/commands/bugCommand.js +63 -0
  63. package/dist/src/ui/commands/bugCommand.js.map +1 -0
  64. package/dist/src/ui/commands/chatCommand.d.ts +7 -0
  65. package/dist/src/ui/commands/chatCommand.js +179 -0
  66. package/dist/src/ui/commands/chatCommand.js.map +1 -0
  67. package/dist/src/ui/commands/clearCommand.js +14 -2
  68. package/dist/src/ui/commands/clearCommand.js.map +1 -1
  69. package/dist/src/ui/commands/compressCommand.d.ts +7 -0
  70. package/dist/src/ui/commands/compressCommand.js +64 -0
  71. package/dist/src/ui/commands/compressCommand.js.map +1 -0
  72. package/dist/src/ui/commands/copyCommand.d.ts +7 -0
  73. package/dist/src/ui/commands/copyCommand.js +59 -0
  74. package/dist/src/ui/commands/copyCommand.js.map +1 -0
  75. package/dist/src/ui/commands/corgiCommand.d.ts +7 -0
  76. package/dist/src/ui/commands/corgiCommand.js +15 -0
  77. package/dist/src/ui/commands/corgiCommand.js.map +1 -0
  78. package/dist/src/ui/commands/docsCommand.d.ts +7 -0
  79. package/dist/src/ui/commands/docsCommand.js +31 -0
  80. package/dist/src/ui/commands/docsCommand.js.map +1 -0
  81. package/dist/src/ui/commands/editorCommand.d.ts +7 -0
  82. package/dist/src/ui/commands/editorCommand.js +16 -0
  83. package/dist/src/ui/commands/editorCommand.js.map +1 -0
  84. package/dist/src/ui/commands/extensionsCommand.d.ts +7 -0
  85. package/dist/src/ui/commands/extensionsCommand.js +31 -0
  86. package/dist/src/ui/commands/extensionsCommand.js.map +1 -0
  87. package/dist/src/ui/commands/helpCommand.js +4 -2
  88. package/dist/src/ui/commands/helpCommand.js.map +1 -1
  89. package/dist/src/ui/commands/ideCommand.d.ts +8 -0
  90. package/dist/src/ui/commands/ideCommand.js +121 -0
  91. package/dist/src/ui/commands/ideCommand.js.map +1 -0
  92. package/dist/src/ui/commands/mcpCommand.d.ts +7 -0
  93. package/dist/src/ui/commands/mcpCommand.js +425 -0
  94. package/dist/src/ui/commands/mcpCommand.js.map +1 -0
  95. package/dist/src/ui/commands/memoryCommand.js +11 -4
  96. package/dist/src/ui/commands/memoryCommand.js.map +1 -1
  97. package/dist/src/ui/commands/privacyCommand.js +2 -0
  98. package/dist/src/ui/commands/privacyCommand.js.map +1 -1
  99. package/dist/src/ui/commands/quitCommand.d.ts +7 -0
  100. package/dist/src/ui/commands/quitCommand.js +34 -0
  101. package/dist/src/ui/commands/quitCommand.js.map +1 -0
  102. package/dist/src/ui/commands/restoreCommand.d.ts +8 -0
  103. package/dist/src/ui/commands/restoreCommand.js +128 -0
  104. package/dist/src/ui/commands/restoreCommand.js.map +1 -0
  105. package/dist/src/ui/commands/statsCommand.d.ts +7 -0
  106. package/dist/src/ui/commands/statsCommand.js +54 -0
  107. package/dist/src/ui/commands/statsCommand.js.map +1 -0
  108. package/dist/src/ui/commands/themeCommand.js +2 -0
  109. package/dist/src/ui/commands/themeCommand.js.map +1 -1
  110. package/dist/src/ui/commands/toolsCommand.d.ts +7 -0
  111. package/dist/src/ui/commands/toolsCommand.js +56 -0
  112. package/dist/src/ui/commands/toolsCommand.js.map +1 -0
  113. package/dist/src/ui/commands/types.d.ts +76 -4
  114. package/dist/src/ui/commands/types.js +6 -1
  115. package/dist/src/ui/commands/types.js.map +1 -1
  116. package/dist/src/ui/commands/vimCommand.d.ts +7 -0
  117. package/dist/src/ui/commands/vimCommand.js +23 -0
  118. package/dist/src/ui/commands/vimCommand.js.map +1 -0
  119. package/dist/src/ui/components/AuthDialog.js +0 -1
  120. package/dist/src/ui/components/AuthDialog.js.map +1 -1
  121. package/dist/src/ui/components/ContextSummaryDisplay.d.ts +6 -1
  122. package/dist/src/ui/components/ContextSummaryDisplay.js +46 -19
  123. package/dist/src/ui/components/ContextSummaryDisplay.js.map +1 -1
  124. package/dist/src/ui/components/Footer.d.ts +1 -0
  125. package/dist/src/ui/components/Footer.js +2 -2
  126. package/dist/src/ui/components/Footer.js.map +1 -1
  127. package/dist/src/ui/components/Header.js +1 -1
  128. package/dist/src/ui/components/Header.js.map +1 -1
  129. package/dist/src/ui/components/Help.d.ts +1 -1
  130. package/dist/src/ui/components/IDEContextDetailDisplay.d.ts +11 -0
  131. package/dist/src/ui/components/IDEContextDetailDisplay.js +19 -0
  132. package/dist/src/ui/components/IDEContextDetailDisplay.js.map +1 -0
  133. package/dist/src/ui/components/InputPrompt.d.ts +3 -1
  134. package/dist/src/ui/components/InputPrompt.js +86 -123
  135. package/dist/src/ui/components/InputPrompt.js.map +1 -1
  136. package/dist/src/ui/components/ShellConfirmationDialog.d.ts +15 -0
  137. package/dist/src/ui/components/ShellConfirmationDialog.js +44 -0
  138. package/dist/src/ui/components/ShellConfirmationDialog.js.map +1 -0
  139. package/dist/src/ui/components/ThemeDialog.js +51 -25
  140. package/dist/src/ui/components/ThemeDialog.js.map +1 -1
  141. package/dist/src/ui/components/Tips.js +1 -1
  142. package/dist/src/ui/components/Tips.js.map +1 -1
  143. package/dist/src/ui/components/messages/DiffRenderer.d.ts +1 -0
  144. package/dist/src/ui/components/messages/DiffRenderer.js +12 -11
  145. package/dist/src/ui/components/messages/DiffRenderer.js.map +1 -1
  146. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +5 -4
  147. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -1
  148. package/dist/src/ui/components/messages/ToolGroupMessage.js +3 -1
  149. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -1
  150. package/dist/src/ui/components/shared/MaxSizedBox.js +69 -2
  151. package/dist/src/ui/components/shared/MaxSizedBox.js.map +1 -1
  152. package/dist/src/ui/components/shared/RadioButtonSelect.d.ts +3 -1
  153. package/dist/src/ui/components/shared/RadioButtonSelect.js +69 -50
  154. package/dist/src/ui/components/shared/RadioButtonSelect.js.map +1 -1
  155. package/dist/src/ui/components/shared/text-buffer.d.ts +273 -3
  156. package/dist/src/ui/components/shared/text-buffer.js +426 -80
  157. package/dist/src/ui/components/shared/text-buffer.js.map +1 -1
  158. package/dist/src/ui/components/shared/vim-buffer-actions.d.ts +72 -0
  159. package/dist/src/ui/components/shared/vim-buffer-actions.js +565 -0
  160. package/dist/src/ui/components/shared/vim-buffer-actions.js.map +1 -0
  161. package/dist/src/ui/constants.d.ts +1 -0
  162. package/dist/src/ui/constants.js +1 -0
  163. package/dist/src/ui/constants.js.map +1 -1
  164. package/dist/src/ui/contexts/VimModeContext.d.ts +19 -0
  165. package/dist/src/ui/contexts/VimModeContext.js +48 -0
  166. package/dist/src/ui/contexts/VimModeContext.js.map +1 -0
  167. package/dist/src/ui/hooks/atCommandProcessor.js +54 -15
  168. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -1
  169. package/dist/src/ui/hooks/shellCommandProcessor.d.ts +2 -1
  170. package/dist/src/ui/hooks/shellCommandProcessor.js +154 -177
  171. package/dist/src/ui/hooks/shellCommandProcessor.js.map +1 -1
  172. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +9 -12
  173. package/dist/src/ui/hooks/slashCommandProcessor.js +203 -880
  174. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -1
  175. package/dist/src/ui/hooks/useAuthCommand.js +2 -1
  176. package/dist/src/ui/hooks/useAuthCommand.js.map +1 -1
  177. package/dist/src/ui/hooks/useCompletion.d.ts +4 -1
  178. package/dist/src/ui/hooks/useCompletion.js +137 -24
  179. package/dist/src/ui/hooks/useCompletion.js.map +1 -1
  180. package/dist/src/ui/hooks/useConsoleMessages.js +53 -37
  181. package/dist/src/ui/hooks/useConsoleMessages.js.map +1 -1
  182. package/dist/src/ui/hooks/useFocus.d.ts +6 -0
  183. package/dist/src/ui/hooks/useFocus.js +41 -0
  184. package/dist/src/ui/hooks/useFocus.js.map +1 -0
  185. package/dist/src/ui/hooks/useGeminiStream.js +57 -11
  186. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -1
  187. package/dist/src/ui/hooks/useInputHistory.d.ts +1 -1
  188. package/dist/src/ui/hooks/useKeypress.js +5 -2
  189. package/dist/src/ui/hooks/useKeypress.js.map +1 -1
  190. package/dist/src/ui/hooks/usePrivacySettings.js +5 -5
  191. package/dist/src/ui/hooks/usePrivacySettings.js.map +1 -1
  192. package/dist/src/ui/hooks/useShellHistory.d.ts +3 -2
  193. package/dist/src/ui/hooks/useShellHistory.js.map +1 -1
  194. package/dist/src/ui/hooks/useThemeCommand.js +24 -23
  195. package/dist/src/ui/hooks/useThemeCommand.js.map +1 -1
  196. package/dist/src/ui/hooks/vim.d.ts +28 -0
  197. package/dist/src/ui/hooks/vim.js +630 -0
  198. package/dist/src/ui/hooks/vim.js.map +1 -0
  199. package/dist/src/ui/themes/ansi-light.js +3 -1
  200. package/dist/src/ui/themes/ansi-light.js.map +1 -1
  201. package/dist/src/ui/themes/ansi.js +2 -0
  202. package/dist/src/ui/themes/ansi.js.map +1 -1
  203. package/dist/src/ui/themes/atom-one-dark.js +2 -0
  204. package/dist/src/ui/themes/atom-one-dark.js.map +1 -1
  205. package/dist/src/ui/themes/ayu-light.js +3 -1
  206. package/dist/src/ui/themes/ayu-light.js.map +1 -1
  207. package/dist/src/ui/themes/ayu.js +3 -1
  208. package/dist/src/ui/themes/ayu.js.map +1 -1
  209. package/dist/src/ui/themes/color-utils.d.ts +21 -0
  210. package/dist/src/ui/themes/color-utils.js +221 -0
  211. package/dist/src/ui/themes/color-utils.js.map +1 -0
  212. package/dist/src/ui/themes/dracula.js +2 -0
  213. package/dist/src/ui/themes/dracula.js.map +1 -1
  214. package/dist/src/ui/themes/github-dark.js +2 -0
  215. package/dist/src/ui/themes/github-dark.js.map +1 -1
  216. package/dist/src/ui/themes/github-light.js +2 -0
  217. package/dist/src/ui/themes/github-light.js.map +1 -1
  218. package/dist/src/ui/themes/googlecode.js +3 -1
  219. package/dist/src/ui/themes/googlecode.js.map +1 -1
  220. package/dist/src/ui/themes/no-color.js +3 -1
  221. package/dist/src/ui/themes/no-color.js.map +1 -1
  222. package/dist/src/ui/themes/qwen-dark.js +2 -0
  223. package/dist/src/ui/themes/qwen-dark.js.map +1 -1
  224. package/dist/src/ui/themes/qwen-light.js +2 -0
  225. package/dist/src/ui/themes/qwen-light.js.map +1 -1
  226. package/dist/src/ui/themes/shades-of-purple.d.ts +1 -1
  227. package/dist/src/ui/themes/shades-of-purple.js +3 -1
  228. package/dist/src/ui/themes/shades-of-purple.js.map +1 -1
  229. package/dist/src/ui/themes/theme-manager.d.ts +31 -6
  230. package/dist/src/ui/themes/theme-manager.js +114 -37
  231. package/dist/src/ui/themes/theme-manager.js.map +1 -1
  232. package/dist/src/ui/themes/theme.d.ts +23 -3
  233. package/dist/src/ui/themes/theme.js +244 -182
  234. package/dist/src/ui/themes/theme.js.map +1 -1
  235. package/dist/src/ui/themes/xcode.js +3 -1
  236. package/dist/src/ui/themes/xcode.js.map +1 -1
  237. package/dist/src/ui/types.d.ts +9 -1
  238. package/dist/src/ui/utils/CodeColorizer.d.ts +3 -1
  239. package/dist/src/ui/utils/CodeColorizer.js +23 -11
  240. package/dist/src/ui/utils/CodeColorizer.js.map +1 -1
  241. package/dist/src/ui/utils/commandUtils.d.ts +1 -0
  242. package/dist/src/ui/utils/commandUtils.js +47 -0
  243. package/dist/src/ui/utils/commandUtils.js.map +1 -1
  244. package/dist/src/ui/utils/errorParsing.js.map +1 -1
  245. package/dist/src/ui/utils/markdownUtilities.js +1 -1
  246. package/dist/src/ui/utils/textUtils.d.ts +0 -8
  247. package/dist/src/ui/utils/textUtils.js +0 -22
  248. package/dist/src/ui/utils/textUtils.js.map +1 -1
  249. package/dist/src/ui/utils/updateCheck.js +5 -1
  250. package/dist/src/ui/utils/updateCheck.js.map +1 -1
  251. package/dist/src/utils/events.d.ts +11 -0
  252. package/dist/src/utils/events.js +13 -0
  253. package/dist/src/utils/events.js.map +1 -0
  254. package/dist/src/utils/sandbox.js +7 -3
  255. package/dist/src/utils/sandbox.js.map +1 -1
  256. package/dist/src/utils/userStartupWarnings.js +16 -10
  257. package/dist/src/utils/userStartupWarnings.js.map +1 -1
  258. package/dist/src/validateNonInterActiveAuth.d.ts +7 -0
  259. package/dist/src/validateNonInterActiveAuth.js +38 -0
  260. package/dist/src/validateNonInterActiveAuth.js.map +1 -0
  261. package/dist/tsconfig.tsbuildinfo +1 -1
  262. package/package.json +7 -5
@@ -0,0 +1,59 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { copyToClipboard } from '../utils/commandUtils.js';
7
+ import { CommandKind, } from './types.js';
8
+ export const copyCommand = {
9
+ name: 'copy',
10
+ description: 'Copy the last result or code snippet to clipboard',
11
+ kind: CommandKind.BUILT_IN,
12
+ action: async (context, _args) => {
13
+ const chat = await context.services.config?.getGeminiClient()?.getChat();
14
+ const history = chat?.getHistory();
15
+ // Get the last message from the AI (model role)
16
+ const lastAiMessage = history
17
+ ? history.filter((item) => item.role === 'model').pop()
18
+ : undefined;
19
+ if (!lastAiMessage) {
20
+ return {
21
+ type: 'message',
22
+ messageType: 'info',
23
+ content: 'No output in history',
24
+ };
25
+ }
26
+ // Extract text from the parts
27
+ const lastAiOutput = lastAiMessage.parts
28
+ ?.filter((part) => part.text)
29
+ .map((part) => part.text)
30
+ .join('');
31
+ if (lastAiOutput) {
32
+ try {
33
+ await copyToClipboard(lastAiOutput);
34
+ return {
35
+ type: 'message',
36
+ messageType: 'info',
37
+ content: 'Last output copied to the clipboard',
38
+ };
39
+ }
40
+ catch (error) {
41
+ const message = error instanceof Error ? error.message : String(error);
42
+ console.debug(message);
43
+ return {
44
+ type: 'message',
45
+ messageType: 'error',
46
+ content: 'Failed to copy to the clipboard.',
47
+ };
48
+ }
49
+ }
50
+ else {
51
+ return {
52
+ type: 'message',
53
+ messageType: 'info',
54
+ content: 'Last AI output contains no text to copy.',
55
+ };
56
+ }
57
+ },
58
+ };
59
+ //# sourceMappingURL=copyCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copyCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/copyCommand.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EACL,WAAW,GAGZ,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,MAAM,WAAW,GAAiB;IACvC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,mDAAmD;IAChE,IAAI,EAAE,WAAW,CAAC,QAAQ;IAC1B,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAA4C,EAAE;QACzE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,eAAe,EAAE,EAAE,OAAO,EAAE,CAAC;QACzE,MAAM,OAAO,GAAG,IAAI,EAAE,UAAU,EAAE,CAAC;QAEnC,gDAAgD;QAChD,MAAM,aAAa,GAAG,OAAO;YAC3B,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,GAAG,EAAE;YACvD,CAAC,CAAC,SAAS,CAAC;QAEd,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,MAAM;gBACnB,OAAO,EAAE,sBAAsB;aAChC,CAAC;QACJ,CAAC;QACD,8BAA8B;QAC9B,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK;YACtC,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;aAC5B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;aACxB,IAAI,CAAC,EAAE,CAAC,CAAC;QAEZ,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,MAAM,eAAe,CAAC,YAAY,CAAC,CAAC;gBAEpC,OAAO;oBACL,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,MAAM;oBACnB,OAAO,EAAE,qCAAqC;iBAC/C,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAEvB,OAAO;oBACL,IAAI,EAAE,SAAS;oBACf,WAAW,EAAE,OAAO;oBACpB,OAAO,EAAE,kCAAkC;iBAC5C,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,MAAM;gBACnB,OAAO,EAAE,0CAA0C;aACpD,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { type SlashCommand } from './types.js';
7
+ export declare const corgiCommand: SlashCommand;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { CommandKind } from './types.js';
7
+ export const corgiCommand = {
8
+ name: 'corgi',
9
+ description: 'Toggles corgi mode.',
10
+ kind: CommandKind.BUILT_IN,
11
+ action: (context, _args) => {
12
+ context.ui.toggleCorgiMode();
13
+ },
14
+ };
15
+ //# sourceMappingURL=corgiCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"corgiCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/corgiCommand.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAqB,MAAM,YAAY,CAAC;AAE5D,MAAM,CAAC,MAAM,YAAY,GAAiB;IACxC,IAAI,EAAE,OAAO;IACb,WAAW,EAAE,qBAAqB;IAClC,IAAI,EAAE,WAAW,CAAC,QAAQ;IAC1B,MAAM,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QACzB,OAAO,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC;IAC/B,CAAC;CACF,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { type SlashCommand } from './types.js';
7
+ export declare const docsCommand: SlashCommand;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import open from 'open';
7
+ import process from 'node:process';
8
+ import { CommandKind, } from './types.js';
9
+ import { MessageType } from '../types.js';
10
+ export const docsCommand = {
11
+ name: 'docs',
12
+ description: 'open full Qwen Code documentation in your browser',
13
+ kind: CommandKind.BUILT_IN,
14
+ action: async (context) => {
15
+ const docsUrl = 'https://github.com/QwenLM/qwen-code';
16
+ if (process.env.SANDBOX && process.env.SANDBOX !== 'sandbox-exec') {
17
+ context.ui.addItem({
18
+ type: MessageType.INFO,
19
+ text: `Please open the following URL in your browser to view the documentation:\n${docsUrl}`,
20
+ }, Date.now());
21
+ }
22
+ else {
23
+ context.ui.addItem({
24
+ type: MessageType.INFO,
25
+ text: `Opening documentation in your browser: ${docsUrl}`,
26
+ }, Date.now());
27
+ await open(docsUrl);
28
+ }
29
+ },
30
+ };
31
+ //# sourceMappingURL=docsCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docsCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/docsCommand.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAGL,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,CAAC,MAAM,WAAW,GAAiB;IACvC,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,mDAAmD;IAChE,IAAI,EAAE,WAAW,CAAC,QAAQ;IAC1B,MAAM,EAAE,KAAK,EAAE,OAAuB,EAAiB,EAAE;QACvD,MAAM,OAAO,GAAG,qCAAqC,CAAC;QAEtD,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;YAClE,OAAO,CAAC,EAAE,CAAC,OAAO,CAChB;gBACE,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,IAAI,EAAE,6EAA6E,OAAO,EAAE;aAC7F,EACD,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,EAAE,CAAC,OAAO,CAChB;gBACE,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,IAAI,EAAE,0CAA0C,OAAO,EAAE;aAC1D,EACD,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;YACF,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;CACF,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { type SlashCommand } from './types.js';
7
+ export declare const editorCommand: SlashCommand;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { CommandKind, } from './types.js';
7
+ export const editorCommand = {
8
+ name: 'editor',
9
+ description: 'set external editor preference',
10
+ kind: CommandKind.BUILT_IN,
11
+ action: () => ({
12
+ type: 'dialog',
13
+ dialog: 'editor',
14
+ }),
15
+ };
16
+ //# sourceMappingURL=editorCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editorCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/editorCommand.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,WAAW,GAGZ,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,MAAM,aAAa,GAAiB;IACzC,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,gCAAgC;IAC7C,IAAI,EAAE,WAAW,CAAC,QAAQ;IAC1B,MAAM,EAAE,GAA2B,EAAE,CAAC,CAAC;QACrC,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,QAAQ;KACjB,CAAC;CACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { type SlashCommand } from './types.js';
7
+ export declare const extensionsCommand: SlashCommand;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { CommandKind, } from './types.js';
7
+ import { MessageType } from '../types.js';
8
+ export const extensionsCommand = {
9
+ name: 'extensions',
10
+ description: 'list active extensions',
11
+ kind: CommandKind.BUILT_IN,
12
+ action: async (context) => {
13
+ const activeExtensions = context.services.config
14
+ ?.getExtensions()
15
+ .filter((ext) => ext.isActive);
16
+ if (!activeExtensions || activeExtensions.length === 0) {
17
+ context.ui.addItem({
18
+ type: MessageType.INFO,
19
+ text: 'No active extensions.',
20
+ }, Date.now());
21
+ return;
22
+ }
23
+ const extensionLines = activeExtensions.map((ext) => ` - \u001b[36m${ext.name} (v${ext.version})\u001b[0m`);
24
+ const message = `Active extensions:\n\n${extensionLines.join('\n')}\n`;
25
+ context.ui.addItem({
26
+ type: MessageType.INFO,
27
+ text: message,
28
+ }, Date.now());
29
+ },
30
+ };
31
+ //# sourceMappingURL=extensionsCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extensionsCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/extensionsCommand.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAGL,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,CAAC,MAAM,iBAAiB,GAAiB;IAC7C,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,wBAAwB;IACrC,IAAI,EAAE,WAAW,CAAC,QAAQ;IAC1B,MAAM,EAAE,KAAK,EAAE,OAAuB,EAAiB,EAAE;QACvD,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM;YAC9C,EAAE,aAAa,EAAE;aAChB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvD,OAAO,CAAC,EAAE,CAAC,OAAO,CAChB;gBACE,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,IAAI,EAAE,uBAAuB;aAC9B,EACD,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;YACF,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAG,gBAAgB,CAAC,GAAG,CACzC,CAAC,GAAG,EAAE,EAAE,CAAC,iBAAiB,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,OAAO,YAAY,CAChE,CAAC;QACF,MAAM,OAAO,GAAG,yBAAyB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAEvE,OAAO,CAAC,EAAE,CAAC,OAAO,CAChB;YACE,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,IAAI,EAAE,OAAO;SACd,EACD,IAAI,CAAC,GAAG,EAAE,CACX,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -3,10 +3,12 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { CommandKind } from './types.js';
6
7
  export const helpCommand = {
7
8
  name: 'help',
8
- altName: '?',
9
- description: 'for help on qwen code',
9
+ altNames: ['?'],
10
+ description: 'for help on Qwen Code',
11
+ kind: CommandKind.BUILT_IN,
10
12
  action: (_context, _args) => {
11
13
  console.debug('Opening help UI ...');
12
14
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"helpCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/helpCommand.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,CAAC,MAAM,WAAW,GAAiB;IACvC,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,GAAG;IACZ,WAAW,EAAE,uBAAuB;IACpC,MAAM,EAAE,CAAC,QAAQ,EAAE,KAAK,EAA0B,EAAE;QAClD,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACrC,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,MAAM;SACf,CAAC;IACJ,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"helpCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/helpCommand.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAwC,MAAM,YAAY,CAAC;AAE/E,MAAM,CAAC,MAAM,WAAW,GAAiB;IACvC,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,CAAC,GAAG,CAAC;IACf,WAAW,EAAE,uBAAuB;IACpC,IAAI,EAAE,WAAW,CAAC,QAAQ;IAC1B,MAAM,EAAE,CAAC,QAAQ,EAAE,KAAK,EAA0B,EAAE;QAClD,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QACrC,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,MAAM;SACf,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Config } from '@qwen-code/qwen-code-core';
7
+ import { SlashCommand } from './types.js';
8
+ export declare const ideCommand: (config: Config | null) => SlashCommand | null;
@@ -0,0 +1,121 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { fileURLToPath } from 'url';
7
+ import { IDEConnectionStatus } from '@qwen-code/qwen-code-core';
8
+ import { CommandKind, } from './types.js';
9
+ import * as child_process from 'child_process';
10
+ import * as process from 'process';
11
+ import { glob } from 'glob';
12
+ import * as path from 'path';
13
+ const VSCODE_COMMAND = process.platform === 'win32' ? 'code.cmd' : 'code';
14
+ const VSCODE_COMPANION_EXTENSION_FOLDER = 'vscode-ide-companion';
15
+ function isVSCodeInstalled() {
16
+ try {
17
+ child_process.execSync(process.platform === 'win32'
18
+ ? `where.exe ${VSCODE_COMMAND}`
19
+ : `command -v ${VSCODE_COMMAND}`, { stdio: 'ignore' });
20
+ return true;
21
+ }
22
+ catch {
23
+ return false;
24
+ }
25
+ }
26
+ export const ideCommand = (config) => {
27
+ if (!config?.getIdeMode()) {
28
+ return null;
29
+ }
30
+ return {
31
+ name: 'ide',
32
+ description: 'manage IDE integration',
33
+ kind: CommandKind.BUILT_IN,
34
+ subCommands: [
35
+ {
36
+ name: 'status',
37
+ description: 'check status of IDE integration',
38
+ kind: CommandKind.BUILT_IN,
39
+ action: (_context) => {
40
+ const connection = config.getIdeClient()?.getConnectionStatus();
41
+ switch (connection?.status) {
42
+ case IDEConnectionStatus.Connected:
43
+ return {
44
+ type: 'message',
45
+ messageType: 'info',
46
+ content: `🟢 Connected`,
47
+ };
48
+ case IDEConnectionStatus.Connecting:
49
+ return {
50
+ type: 'message',
51
+ messageType: 'info',
52
+ content: `🟡 Connecting...`,
53
+ };
54
+ default: {
55
+ let content = `🔴 Disconnected`;
56
+ if (connection?.details) {
57
+ content += `: ${connection.details}`;
58
+ }
59
+ return {
60
+ type: 'message',
61
+ messageType: 'error',
62
+ content,
63
+ };
64
+ }
65
+ }
66
+ },
67
+ },
68
+ {
69
+ name: 'install',
70
+ description: 'install required VS Code companion extension',
71
+ kind: CommandKind.BUILT_IN,
72
+ action: async (context) => {
73
+ if (!isVSCodeInstalled()) {
74
+ context.ui.addItem({
75
+ type: 'error',
76
+ text: `VS Code command-line tool "${VSCODE_COMMAND}" not found in your PATH.`,
77
+ }, Date.now());
78
+ return;
79
+ }
80
+ const bundleDir = path.dirname(fileURLToPath(import.meta.url));
81
+ // The VSIX file is copied to the bundle directory as part of the build.
82
+ let vsixFiles = glob.sync(path.join(bundleDir, '*.vsix'));
83
+ if (vsixFiles.length === 0) {
84
+ // If the VSIX file is not in the bundle, it might be a dev
85
+ // environment running with `npm start`. Look for it in the original
86
+ // package location, relative to the bundle dir.
87
+ const devPath = path.join(bundleDir, '..', '..', '..', '..', '..', VSCODE_COMPANION_EXTENSION_FOLDER, '*.vsix');
88
+ vsixFiles = glob.sync(devPath);
89
+ }
90
+ if (vsixFiles.length === 0) {
91
+ context.ui.addItem({
92
+ type: 'error',
93
+ text: 'Could not find the required VS Code companion extension. Please file a bug via /bug.',
94
+ }, Date.now());
95
+ return;
96
+ }
97
+ const vsixPath = vsixFiles[0];
98
+ const command = `${VSCODE_COMMAND} --install-extension ${vsixPath} --force`;
99
+ context.ui.addItem({
100
+ type: 'info',
101
+ text: `Installing VS Code companion extension...`,
102
+ }, Date.now());
103
+ try {
104
+ child_process.execSync(command, { stdio: 'pipe' });
105
+ context.ui.addItem({
106
+ type: 'info',
107
+ text: 'VS Code companion extension installed successfully. Restart gemini-cli in a fresh terminal window.',
108
+ }, Date.now());
109
+ }
110
+ catch (_error) {
111
+ context.ui.addItem({
112
+ type: 'error',
113
+ text: `Failed to install VS Code companion extension.`,
114
+ }, Date.now());
115
+ }
116
+ },
117
+ },
118
+ ],
119
+ };
120
+ };
121
+ //# sourceMappingURL=ideCommand.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ideCommand.js","sourceRoot":"","sources":["../../../../src/ui/commands/ideCommand.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { SlashCommand } from './types.js';
7
+ export declare const mcpCommand: SlashCommand;