@qwen-code/qwen-code 0.0.1-alpha.12 → 0.0.1-alpha.14

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 (424) hide show
  1. package/README.md +169 -52
  2. package/dist/.last_build +0 -0
  3. package/dist/index.d.ts +7 -0
  4. package/dist/index.js +20 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/package.json +79 -0
  7. package/dist/src/config/auth.d.ts +9 -0
  8. package/dist/src/config/auth.js +48 -0
  9. package/dist/src/config/auth.js.map +1 -0
  10. package/dist/src/config/config.d.ts +39 -0
  11. package/dist/src/config/config.js +318 -0
  12. package/dist/src/config/config.js.map +1 -0
  13. package/dist/src/config/extension.d.ts +21 -0
  14. package/dist/src/config/extension.js +109 -0
  15. package/dist/src/config/extension.js.map +1 -0
  16. package/dist/src/config/sandboxConfig.d.ts +13 -0
  17. package/dist/src/config/sandboxConfig.js +75 -0
  18. package/dist/src/config/sandboxConfig.js.map +1 -0
  19. package/dist/src/config/settings.d.ts +95 -0
  20. package/dist/src/config/settings.js +263 -0
  21. package/dist/src/config/settings.js.map +1 -0
  22. package/dist/src/gemini.d.ts +6 -0
  23. package/dist/src/gemini.js +256 -0
  24. package/dist/src/gemini.js.map +1 -0
  25. package/dist/src/generated/git-commit.d.ts +6 -0
  26. package/dist/src/generated/git-commit.js +9 -0
  27. package/dist/src/generated/git-commit.js.map +1 -0
  28. package/dist/src/nonInteractiveCli.d.ts +7 -0
  29. package/dist/src/nonInteractiveCli.js +191 -0
  30. package/dist/src/nonInteractiveCli.js.map +1 -0
  31. package/dist/src/services/CommandService.d.ts +13 -0
  32. package/dist/src/services/CommandService.js +38 -0
  33. package/dist/src/services/CommandService.js.map +1 -0
  34. package/dist/src/ui/App.d.ts +15 -0
  35. package/dist/src/ui/App.js +499 -0
  36. package/dist/src/ui/App.js.map +1 -0
  37. package/dist/src/ui/colors.d.ts +7 -0
  38. package/dist/src/ui/colors.js +48 -0
  39. package/dist/src/ui/colors.js.map +1 -0
  40. package/dist/src/ui/commands/aboutCommand.d.ts +7 -0
  41. package/dist/src/ui/commands/aboutCommand.js +37 -0
  42. package/dist/src/ui/commands/aboutCommand.js.map +1 -0
  43. package/dist/src/ui/commands/authCommand.d.ts +7 -0
  44. package/dist/src/ui/commands/authCommand.js +14 -0
  45. package/dist/src/ui/commands/authCommand.js.map +1 -0
  46. package/dist/src/ui/commands/clearCommand.d.ts +7 -0
  47. package/dist/src/ui/commands/clearCommand.js +16 -0
  48. package/dist/src/ui/commands/clearCommand.js.map +1 -0
  49. package/dist/src/ui/commands/helpCommand.d.ts +7 -0
  50. package/dist/src/ui/commands/helpCommand.js +18 -0
  51. package/dist/src/ui/commands/helpCommand.js.map +1 -0
  52. package/dist/src/ui/commands/memoryCommand.d.ts +7 -0
  53. package/dist/src/ui/commands/memoryCommand.js +81 -0
  54. package/dist/src/ui/commands/memoryCommand.js.map +1 -0
  55. package/dist/src/ui/commands/privacyCommand.d.ts +7 -0
  56. package/dist/src/ui/commands/privacyCommand.js +14 -0
  57. package/dist/src/ui/commands/privacyCommand.js.map +1 -0
  58. package/dist/src/ui/commands/themeCommand.d.ts +7 -0
  59. package/dist/src/ui/commands/themeCommand.js +14 -0
  60. package/dist/src/ui/commands/themeCommand.js.map +1 -0
  61. package/dist/src/ui/commands/types.d.ts +64 -0
  62. package/dist/src/ui/commands/types.js +7 -0
  63. package/dist/src/ui/commands/types.js.map +1 -0
  64. package/dist/src/ui/components/AboutBox.d.ts +16 -0
  65. package/dist/src/ui/components/AboutBox.js +6 -0
  66. package/dist/src/ui/components/AboutBox.js.map +1 -0
  67. package/dist/src/ui/components/AsciiArt.d.ts +7 -0
  68. package/dist/src/ui/components/AsciiArt.js +22 -0
  69. package/dist/src/ui/components/AsciiArt.js.map +1 -0
  70. package/dist/src/ui/components/AuthDialog.d.ts +15 -0
  71. package/dist/src/ui/components/AuthDialog.js +90 -0
  72. package/dist/src/ui/components/AuthDialog.js.map +1 -0
  73. package/dist/src/ui/components/AuthInProgress.d.ts +11 -0
  74. package/dist/src/ui/components/AuthInProgress.js +27 -0
  75. package/dist/src/ui/components/AuthInProgress.js.map +1 -0
  76. package/dist/src/ui/components/AutoAcceptIndicator.d.ts +12 -0
  77. package/dist/src/ui/components/AutoAcceptIndicator.js +26 -0
  78. package/dist/src/ui/components/AutoAcceptIndicator.js.map +1 -0
  79. package/dist/src/ui/components/ConsoleSummaryDisplay.d.ts +11 -0
  80. package/dist/src/ui/components/ConsoleSummaryDisplay.js +11 -0
  81. package/dist/src/ui/components/ConsoleSummaryDisplay.js.map +1 -0
  82. package/dist/src/ui/components/ContextSummaryDisplay.d.ts +15 -0
  83. package/dist/src/ui/components/ContextSummaryDisplay.js +41 -0
  84. package/dist/src/ui/components/ContextSummaryDisplay.js.map +1 -0
  85. package/dist/src/ui/components/DetailedMessagesDisplay.d.ts +14 -0
  86. package/dist/src/ui/components/DetailedMessagesDisplay.js +34 -0
  87. package/dist/src/ui/components/DetailedMessagesDisplay.js.map +1 -0
  88. package/dist/src/ui/components/EditorSettingsDialog.d.ts +15 -0
  89. package/dist/src/ui/components/EditorSettingsDialog.js +73 -0
  90. package/dist/src/ui/components/EditorSettingsDialog.js.map +1 -0
  91. package/dist/src/ui/components/Footer.d.ts +21 -0
  92. package/dist/src/ui/components/Footer.js +14 -0
  93. package/dist/src/ui/components/Footer.js.map +1 -0
  94. package/dist/src/ui/components/GeminiRespondingSpinner.d.ts +17 -0
  95. package/dist/src/ui/components/GeminiRespondingSpinner.js +16 -0
  96. package/dist/src/ui/components/GeminiRespondingSpinner.js.map +1 -0
  97. package/dist/src/ui/components/Header.d.ts +14 -0
  98. package/dist/src/ui/components/Header.js +20 -0
  99. package/dist/src/ui/components/Header.js.map +1 -0
  100. package/dist/src/ui/components/Help.d.ts +12 -0
  101. package/dist/src/ui/components/Help.js +10 -0
  102. package/dist/src/ui/components/Help.js.map +1 -0
  103. package/dist/src/ui/components/HistoryItemDisplay.d.ts +18 -0
  104. package/dist/src/ui/components/HistoryItemDisplay.js +17 -0
  105. package/dist/src/ui/components/HistoryItemDisplay.js.map +1 -0
  106. package/dist/src/ui/components/InputPrompt.d.ts +25 -0
  107. package/dist/src/ui/components/InputPrompt.js +338 -0
  108. package/dist/src/ui/components/InputPrompt.js.map +1 -0
  109. package/dist/src/ui/components/LoadingIndicator.d.ts +15 -0
  110. package/dist/src/ui/components/LoadingIndicator.js +20 -0
  111. package/dist/src/ui/components/LoadingIndicator.js.map +1 -0
  112. package/dist/src/ui/components/MemoryUsageDisplay.d.ts +7 -0
  113. package/dist/src/ui/components/MemoryUsageDisplay.js +27 -0
  114. package/dist/src/ui/components/MemoryUsageDisplay.js.map +1 -0
  115. package/dist/src/ui/components/ModelStatsDisplay.d.ts +7 -0
  116. package/dist/src/ui/components/ModelStatsDisplay.js +33 -0
  117. package/dist/src/ui/components/ModelStatsDisplay.js.map +1 -0
  118. package/dist/src/ui/components/OpenAIKeyPrompt.d.ts +12 -0
  119. package/dist/src/ui/components/OpenAIKeyPrompt.js +118 -0
  120. package/dist/src/ui/components/OpenAIKeyPrompt.js.map +1 -0
  121. package/dist/src/ui/components/SessionSummaryDisplay.d.ts +11 -0
  122. package/dist/src/ui/components/SessionSummaryDisplay.js +4 -0
  123. package/dist/src/ui/components/SessionSummaryDisplay.js.map +1 -0
  124. package/dist/src/ui/components/ShellModeIndicator.d.ts +7 -0
  125. package/dist/src/ui/components/ShellModeIndicator.js +5 -0
  126. package/dist/src/ui/components/ShellModeIndicator.js.map +1 -0
  127. package/dist/src/ui/components/ShowMoreLines.d.ts +10 -0
  128. package/dist/src/ui/components/ShowMoreLines.js +24 -0
  129. package/dist/src/ui/components/ShowMoreLines.js.map +1 -0
  130. package/dist/src/ui/components/StatsDisplay.d.ts +12 -0
  131. package/dist/src/ui/components/StatsDisplay.js +42 -0
  132. package/dist/src/ui/components/StatsDisplay.js.map +1 -0
  133. package/dist/src/ui/components/SuggestionsDisplay.d.ts +21 -0
  134. package/dist/src/ui/components/SuggestionsDisplay.js +32 -0
  135. package/dist/src/ui/components/SuggestionsDisplay.js.map +1 -0
  136. package/dist/src/ui/components/ThemeDialog.d.ts +19 -0
  137. package/dist/src/ui/components/ThemeDialog.js +127 -0
  138. package/dist/src/ui/components/ThemeDialog.js.map +1 -0
  139. package/dist/src/ui/components/Tips.d.ts +12 -0
  140. package/dist/src/ui/components/Tips.js +8 -0
  141. package/dist/src/ui/components/Tips.js.map +1 -0
  142. package/dist/src/ui/components/ToolStatsDisplay.d.ts +7 -0
  143. package/dist/src/ui/components/ToolStatsDisplay.js +41 -0
  144. package/dist/src/ui/components/ToolStatsDisplay.js.map +1 -0
  145. package/dist/src/ui/components/UpdateNotification.d.ts +10 -0
  146. package/dist/src/ui/components/UpdateNotification.js +10 -0
  147. package/dist/src/ui/components/UpdateNotification.js.map +1 -0
  148. package/dist/src/ui/components/messages/CompressionMessage.d.ts +11 -0
  149. package/dist/src/ui/components/messages/CompressionMessage.js +16 -0
  150. package/dist/src/ui/components/messages/CompressionMessage.js.map +1 -0
  151. package/dist/src/ui/components/messages/DiffRenderer.d.ts +15 -0
  152. package/dist/src/ui/components/messages/DiffRenderer.js +212 -0
  153. package/dist/src/ui/components/messages/DiffRenderer.js.map +1 -0
  154. package/dist/src/ui/components/messages/ErrorMessage.d.ts +11 -0
  155. package/dist/src/ui/components/messages/ErrorMessage.js +9 -0
  156. package/dist/src/ui/components/messages/ErrorMessage.js.map +1 -0
  157. package/dist/src/ui/components/messages/GeminiMessage.d.ts +14 -0
  158. package/dist/src/ui/components/messages/GeminiMessage.js +10 -0
  159. package/dist/src/ui/components/messages/GeminiMessage.js.map +1 -0
  160. package/dist/src/ui/components/messages/GeminiMessageContent.d.ts +14 -0
  161. package/dist/src/ui/components/messages/GeminiMessageContent.js +15 -0
  162. package/dist/src/ui/components/messages/GeminiMessageContent.js.map +1 -0
  163. package/dist/src/ui/components/messages/InfoMessage.d.ts +11 -0
  164. package/dist/src/ui/components/messages/InfoMessage.js +9 -0
  165. package/dist/src/ui/components/messages/InfoMessage.js.map +1 -0
  166. package/dist/src/ui/components/messages/ToolConfirmationMessage.d.ts +15 -0
  167. package/dist/src/ui/components/messages/ToolConfirmationMessage.js +111 -0
  168. package/dist/src/ui/components/messages/ToolConfirmationMessage.js.map +1 -0
  169. package/dist/src/ui/components/messages/ToolGroupMessage.d.ts +18 -0
  170. package/dist/src/ui/components/messages/ToolGroupMessage.js +53 -0
  171. package/dist/src/ui/components/messages/ToolGroupMessage.js.map +1 -0
  172. package/dist/src/ui/components/messages/ToolMessage.d.ts +15 -0
  173. package/dist/src/ui/components/messages/ToolMessage.js +61 -0
  174. package/dist/src/ui/components/messages/ToolMessage.js.map +1 -0
  175. package/dist/src/ui/components/messages/UserMessage.d.ts +11 -0
  176. package/dist/src/ui/components/messages/UserMessage.js +9 -0
  177. package/dist/src/ui/components/messages/UserMessage.js.map +1 -0
  178. package/dist/src/ui/components/messages/UserShellMessage.d.ts +11 -0
  179. package/dist/src/ui/components/messages/UserShellMessage.js +9 -0
  180. package/dist/src/ui/components/messages/UserShellMessage.js.map +1 -0
  181. package/dist/src/ui/components/shared/MaxSizedBox.d.ts +61 -0
  182. package/dist/src/ui/components/shared/MaxSizedBox.js +384 -0
  183. package/dist/src/ui/components/shared/MaxSizedBox.js.map +1 -0
  184. package/dist/src/ui/components/shared/RadioButtonSelect.d.ts +44 -0
  185. package/dist/src/ui/components/shared/RadioButtonSelect.js +100 -0
  186. package/dist/src/ui/components/shared/RadioButtonSelect.js.map +1 -0
  187. package/dist/src/ui/components/shared/text-buffer.d.ts +184 -0
  188. package/dist/src/ui/components/shared/text-buffer.js +1010 -0
  189. package/dist/src/ui/components/shared/text-buffer.js.map +1 -0
  190. package/dist/src/ui/constants.d.ts +8 -0
  191. package/dist/src/ui/constants.js +12 -0
  192. package/dist/src/ui/constants.js.map +1 -0
  193. package/dist/src/ui/contexts/OverflowContext.d.ts +19 -0
  194. package/dist/src/ui/contexts/OverflowContext.js +43 -0
  195. package/dist/src/ui/contexts/OverflowContext.js.map +1 -0
  196. package/dist/src/ui/contexts/SessionContext.d.ts +37 -0
  197. package/dist/src/ui/contexts/SessionContext.js +68 -0
  198. package/dist/src/ui/contexts/SessionContext.js.map +1 -0
  199. package/dist/src/ui/contexts/StreamingContext.d.ts +9 -0
  200. package/dist/src/ui/contexts/StreamingContext.js +15 -0
  201. package/dist/src/ui/contexts/StreamingContext.js.map +1 -0
  202. package/dist/src/ui/editors/editorSettingsManager.d.ts +19 -0
  203. package/dist/src/ui/editors/editorSettingsManager.js +54 -0
  204. package/dist/src/ui/editors/editorSettingsManager.js.map +1 -0
  205. package/dist/src/ui/hooks/atCommandProcessor.d.ts +31 -0
  206. package/dist/src/ui/hooks/atCommandProcessor.js +310 -0
  207. package/dist/src/ui/hooks/atCommandProcessor.js.map +1 -0
  208. package/dist/src/ui/hooks/shellCommandProcessor.d.ts +16 -0
  209. package/dist/src/ui/hooks/shellCommandProcessor.js +261 -0
  210. package/dist/src/ui/hooks/shellCommandProcessor.js.map +1 -0
  211. package/dist/src/ui/hooks/slashCommandProcessor.d.ts +27 -0
  212. package/dist/src/ui/hooks/slashCommandProcessor.js +1042 -0
  213. package/dist/src/ui/hooks/slashCommandProcessor.js.map +1 -0
  214. package/dist/src/ui/hooks/useAuthCommand.d.ts +14 -0
  215. package/dist/src/ui/hooks/useAuthCommand.js +64 -0
  216. package/dist/src/ui/hooks/useAuthCommand.js.map +1 -0
  217. package/dist/src/ui/hooks/useAutoAcceptIndicator.d.ts +10 -0
  218. package/dist/src/ui/hooks/useAutoAcceptIndicator.js +37 -0
  219. package/dist/src/ui/hooks/useAutoAcceptIndicator.js.map +1 -0
  220. package/dist/src/ui/hooks/useBracketedPaste.d.ts +12 -0
  221. package/dist/src/ui/hooks/useBracketedPaste.js +32 -0
  222. package/dist/src/ui/hooks/useBracketedPaste.js.map +1 -0
  223. package/dist/src/ui/hooks/useCompletion.d.ts +21 -0
  224. package/dist/src/ui/hooks/useCompletion.js +375 -0
  225. package/dist/src/ui/hooks/useCompletion.js.map +1 -0
  226. package/dist/src/ui/hooks/useConsoleMessages.d.ts +12 -0
  227. package/dist/src/ui/hooks/useConsoleMessages.js +60 -0
  228. package/dist/src/ui/hooks/useConsoleMessages.js.map +1 -0
  229. package/dist/src/ui/hooks/useEditorSettings.d.ts +16 -0
  230. package/dist/src/ui/hooks/useEditorSettings.js +43 -0
  231. package/dist/src/ui/hooks/useEditorSettings.js.map +1 -0
  232. package/dist/src/ui/hooks/useGeminiStream.d.ts +23 -0
  233. package/dist/src/ui/hooks/useGeminiStream.js +579 -0
  234. package/dist/src/ui/hooks/useGeminiStream.js.map +1 -0
  235. package/dist/src/ui/hooks/useGitBranchName.d.ts +6 -0
  236. package/dist/src/ui/hooks/useGitBranchName.js +61 -0
  237. package/dist/src/ui/hooks/useGitBranchName.js.map +1 -0
  238. package/dist/src/ui/hooks/useHistoryManager.d.ts +22 -0
  239. package/dist/src/ui/hooks/useHistoryManager.js +72 -0
  240. package/dist/src/ui/hooks/useHistoryManager.js.map +1 -0
  241. package/dist/src/ui/hooks/useInputHistory.d.ts +19 -0
  242. package/dist/src/ui/hooks/useInputHistory.js +84 -0
  243. package/dist/src/ui/hooks/useInputHistory.js.map +1 -0
  244. package/dist/src/ui/hooks/useKeypress.d.ts +29 -0
  245. package/dist/src/ui/hooks/useKeypress.js +156 -0
  246. package/dist/src/ui/hooks/useKeypress.js.map +1 -0
  247. package/dist/src/ui/hooks/useLoadingIndicator.d.ts +10 -0
  248. package/dist/src/ui/hooks/useLoadingIndicator.js +44 -0
  249. package/dist/src/ui/hooks/useLoadingIndicator.js.map +1 -0
  250. package/dist/src/ui/hooks/useLogger.d.ts +10 -0
  251. package/dist/src/ui/hooks/useLogger.js +29 -0
  252. package/dist/src/ui/hooks/useLogger.js.map +1 -0
  253. package/dist/src/ui/hooks/usePhraseCycler.d.ts +14 -0
  254. package/dist/src/ui/hooks/usePhraseCycler.js +189 -0
  255. package/dist/src/ui/hooks/usePhraseCycler.js.map +1 -0
  256. package/dist/src/ui/hooks/usePrivacySettings.d.ts +16 -0
  257. package/dist/src/ui/hooks/usePrivacySettings.js +115 -0
  258. package/dist/src/ui/hooks/usePrivacySettings.js.map +1 -0
  259. package/dist/src/ui/hooks/useReactToolScheduler.d.ts +33 -0
  260. package/dist/src/ui/hooks/useReactToolScheduler.js +186 -0
  261. package/dist/src/ui/hooks/useReactToolScheduler.js.map +1 -0
  262. package/dist/src/ui/hooks/useRefreshMemoryCommand.d.ts +6 -0
  263. package/dist/src/ui/hooks/useRefreshMemoryCommand.js +7 -0
  264. package/dist/src/ui/hooks/useRefreshMemoryCommand.js.map +1 -0
  265. package/dist/src/ui/hooks/useShellHistory.d.ts +11 -0
  266. package/dist/src/ui/hooks/useShellHistory.js +89 -0
  267. package/dist/src/ui/hooks/useShellHistory.js.map +1 -0
  268. package/dist/src/ui/hooks/useShowMemoryCommand.d.ts +9 -0
  269. package/dist/src/ui/hooks/useShowMemoryCommand.js +58 -0
  270. package/dist/src/ui/hooks/useShowMemoryCommand.js.map +1 -0
  271. package/dist/src/ui/hooks/useStateAndRef.d.ts +7 -0
  272. package/dist/src/ui/hooks/useStateAndRef.js +26 -0
  273. package/dist/src/ui/hooks/useStateAndRef.js.map +1 -0
  274. package/dist/src/ui/hooks/useTerminalSize.d.ts +9 -0
  275. package/dist/src/ui/hooks/useTerminalSize.js +27 -0
  276. package/dist/src/ui/hooks/useTerminalSize.js.map +1 -0
  277. package/dist/src/ui/hooks/useThemeCommand.d.ts +15 -0
  278. package/dist/src/ui/hooks/useThemeCommand.js +78 -0
  279. package/dist/src/ui/hooks/useThemeCommand.js.map +1 -0
  280. package/dist/src/ui/hooks/useTimer.d.ts +12 -0
  281. package/dist/src/ui/hooks/useTimer.js +58 -0
  282. package/dist/src/ui/hooks/useTimer.js.map +1 -0
  283. package/dist/src/ui/privacy/CloudFreePrivacyNotice.d.ts +12 -0
  284. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js +40 -0
  285. package/dist/src/ui/privacy/CloudFreePrivacyNotice.js.map +1 -0
  286. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.d.ts +10 -0
  287. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js +17 -0
  288. package/dist/src/ui/privacy/CloudPaidPrivacyNotice.js.map +1 -0
  289. package/dist/src/ui/privacy/GeminiPrivacyNotice.d.ts +10 -0
  290. package/dist/src/ui/privacy/GeminiPrivacyNotice.js +17 -0
  291. package/dist/src/ui/privacy/GeminiPrivacyNotice.js.map +1 -0
  292. package/dist/src/ui/privacy/PrivacyNotice.d.ts +12 -0
  293. package/dist/src/ui/privacy/PrivacyNotice.js +25 -0
  294. package/dist/src/ui/privacy/PrivacyNotice.js.map +1 -0
  295. package/dist/src/ui/themes/ansi-light.d.ts +7 -0
  296. package/dist/src/ui/themes/ansi-light.js +139 -0
  297. package/dist/src/ui/themes/ansi-light.js.map +1 -0
  298. package/dist/src/ui/themes/ansi.d.ts +7 -0
  299. package/dist/src/ui/themes/ansi.js +149 -0
  300. package/dist/src/ui/themes/ansi.js.map +1 -0
  301. package/dist/src/ui/themes/atom-one-dark.d.ts +7 -0
  302. package/dist/src/ui/themes/atom-one-dark.js +136 -0
  303. package/dist/src/ui/themes/atom-one-dark.js.map +1 -0
  304. package/dist/src/ui/themes/ayu-light.d.ts +7 -0
  305. package/dist/src/ui/themes/ayu-light.js +128 -0
  306. package/dist/src/ui/themes/ayu-light.js.map +1 -0
  307. package/dist/src/ui/themes/ayu.d.ts +7 -0
  308. package/dist/src/ui/themes/ayu.js +102 -0
  309. package/dist/src/ui/themes/ayu.js.map +1 -0
  310. package/dist/src/ui/themes/default-light.d.ts +7 -0
  311. package/dist/src/ui/themes/default-light.js +100 -0
  312. package/dist/src/ui/themes/default-light.js.map +1 -0
  313. package/dist/src/ui/themes/default.d.ts +7 -0
  314. package/dist/src/ui/themes/default.js +143 -0
  315. package/dist/src/ui/themes/default.js.map +1 -0
  316. package/dist/src/ui/themes/dracula.d.ts +7 -0
  317. package/dist/src/ui/themes/dracula.js +113 -0
  318. package/dist/src/ui/themes/dracula.js.map +1 -0
  319. package/dist/src/ui/themes/github-dark.d.ts +7 -0
  320. package/dist/src/ui/themes/github-dark.js +136 -0
  321. package/dist/src/ui/themes/github-dark.js.map +1 -0
  322. package/dist/src/ui/themes/github-light.d.ts +7 -0
  323. package/dist/src/ui/themes/github-light.js +138 -0
  324. package/dist/src/ui/themes/github-light.js.map +1 -0
  325. package/dist/src/ui/themes/googlecode.d.ts +7 -0
  326. package/dist/src/ui/themes/googlecode.js +135 -0
  327. package/dist/src/ui/themes/googlecode.js.map +1 -0
  328. package/dist/src/ui/themes/no-color.d.ts +7 -0
  329. package/dist/src/ui/themes/no-color.js +84 -0
  330. package/dist/src/ui/themes/no-color.js.map +1 -0
  331. package/dist/src/ui/themes/qwen-dark.d.ts +7 -0
  332. package/dist/src/ui/themes/qwen-dark.js +102 -0
  333. package/dist/src/ui/themes/qwen-dark.js.map +1 -0
  334. package/dist/src/ui/themes/qwen-light.d.ts +7 -0
  335. package/dist/src/ui/themes/qwen-light.js +128 -0
  336. package/dist/src/ui/themes/qwen-light.js.map +1 -0
  337. package/dist/src/ui/themes/shades-of-purple.d.ts +11 -0
  338. package/dist/src/ui/themes/shades-of-purple.js +302 -0
  339. package/dist/src/ui/themes/shades-of-purple.js.map +1 -0
  340. package/dist/src/ui/themes/theme-manager.d.ts +33 -0
  341. package/dist/src/ui/themes/theme-manager.js +119 -0
  342. package/dist/src/ui/themes/theme-manager.js.map +1 -0
  343. package/dist/src/ui/themes/theme.d.ts +67 -0
  344. package/dist/src/ui/themes/theme.js +304 -0
  345. package/dist/src/ui/themes/theme.js.map +1 -0
  346. package/dist/src/ui/themes/xcode.d.ts +7 -0
  347. package/dist/src/ui/themes/xcode.js +143 -0
  348. package/dist/src/ui/themes/xcode.js.map +1 -0
  349. package/dist/src/ui/types.d.ts +172 -0
  350. package/dist/src/ui/types.js +43 -0
  351. package/dist/src/ui/types.js.map +1 -0
  352. package/dist/src/ui/utils/CodeColorizer.d.ts +14 -0
  353. package/dist/src/ui/utils/CodeColorizer.js +97 -0
  354. package/dist/src/ui/utils/CodeColorizer.js.map +1 -0
  355. package/dist/src/ui/utils/ConsolePatcher.d.ts +23 -0
  356. package/dist/src/ui/utils/ConsolePatcher.js +42 -0
  357. package/dist/src/ui/utils/ConsolePatcher.js.map +1 -0
  358. package/dist/src/ui/utils/InlineMarkdownRenderer.d.ts +16 -0
  359. package/dist/src/ui/utils/InlineMarkdownRenderer.js +104 -0
  360. package/dist/src/ui/utils/InlineMarkdownRenderer.js.map +1 -0
  361. package/dist/src/ui/utils/MarkdownDisplay.d.ts +14 -0
  362. package/dist/src/ui/utils/MarkdownDisplay.js +205 -0
  363. package/dist/src/ui/utils/MarkdownDisplay.js.map +1 -0
  364. package/dist/src/ui/utils/TableRenderer.d.ts +17 -0
  365. package/dist/src/ui/utils/TableRenderer.js +84 -0
  366. package/dist/src/ui/utils/TableRenderer.js.map +1 -0
  367. package/dist/src/ui/utils/clipboardUtils.d.ts +22 -0
  368. package/dist/src/ui/utils/clipboardUtils.js +127 -0
  369. package/dist/src/ui/utils/clipboardUtils.js.map +1 -0
  370. package/dist/src/ui/utils/commandUtils.d.ts +22 -0
  371. package/dist/src/ui/utils/commandUtils.js +25 -0
  372. package/dist/src/ui/utils/commandUtils.js.map +1 -0
  373. package/dist/src/ui/utils/computeStats.d.ts +10 -0
  374. package/dist/src/ui/utils/computeStats.js +55 -0
  375. package/dist/src/ui/utils/computeStats.js.map +1 -0
  376. package/dist/src/ui/utils/displayUtils.d.ts +17 -0
  377. package/dist/src/ui/utils/displayUtils.js +24 -0
  378. package/dist/src/ui/utils/displayUtils.js.map +1 -0
  379. package/dist/src/ui/utils/errorParsing.d.ts +7 -0
  380. package/dist/src/ui/utils/errorParsing.js +90 -0
  381. package/dist/src/ui/utils/errorParsing.js.map +1 -0
  382. package/dist/src/ui/utils/formatters.d.ts +13 -0
  383. package/dist/src/ui/utils/formatters.js +56 -0
  384. package/dist/src/ui/utils/formatters.js.map +1 -0
  385. package/dist/src/ui/utils/markdownUtilities.d.ts +6 -0
  386. package/dist/src/ui/utils/markdownUtilities.js +110 -0
  387. package/dist/src/ui/utils/markdownUtilities.js.map +1 -0
  388. package/dist/src/ui/utils/textUtils.d.ts +22 -0
  389. package/dist/src/ui/utils/textUtils.js +58 -0
  390. package/dist/src/ui/utils/textUtils.js.map +1 -0
  391. package/dist/src/ui/utils/updateCheck.d.ts +6 -0
  392. package/dist/src/ui/utils/updateCheck.js +36 -0
  393. package/dist/src/ui/utils/updateCheck.js.map +1 -0
  394. package/dist/src/utils/cleanup.d.ts +8 -0
  395. package/dist/src/utils/cleanup.js +34 -0
  396. package/dist/src/utils/cleanup.js.map +1 -0
  397. package/dist/src/utils/package.d.ts +12 -0
  398. package/dist/src/utils/package.js +24 -0
  399. package/dist/src/utils/package.js.map +1 -0
  400. package/dist/src/utils/readStdin.d.ts +6 -0
  401. package/dist/src/utils/readStdin.js +34 -0
  402. package/dist/src/utils/readStdin.js.map +1 -0
  403. package/dist/src/utils/sandbox.d.ts +7 -0
  404. package/dist/src/utils/sandbox.js +690 -0
  405. package/dist/src/utils/sandbox.js.map +1 -0
  406. package/dist/src/utils/startupWarnings.d.ts +6 -0
  407. package/dist/src/utils/startupWarnings.js +40 -0
  408. package/dist/src/utils/startupWarnings.js.map +1 -0
  409. package/dist/src/utils/userStartupWarnings.d.ts +6 -0
  410. package/dist/src/utils/userStartupWarnings.js +48 -0
  411. package/dist/src/utils/userStartupWarnings.js.map +1 -0
  412. package/dist/src/utils/version.d.ts +6 -0
  413. package/dist/src/utils/version.js +11 -0
  414. package/dist/src/utils/version.js.map +1 -0
  415. package/dist/tsconfig.tsbuildinfo +1 -0
  416. package/package.json +61 -70
  417. package/README.gemini.md +0 -162
  418. package/bundle/gemini.js +0 -291612
  419. /package/{bundle → dist/src/utils}/sandbox-macos-permissive-closed.sb +0 -0
  420. /package/{bundle → dist/src/utils}/sandbox-macos-permissive-open.sb +0 -0
  421. /package/{bundle → dist/src/utils}/sandbox-macos-permissive-proxied.sb +0 -0
  422. /package/{bundle → dist/src/utils}/sandbox-macos-restrictive-closed.sb +0 -0
  423. /package/{bundle → dist/src/utils}/sandbox-macos-restrictive-open.sb +0 -0
  424. /package/{bundle → dist/src/utils}/sandbox-macos-restrictive-proxied.sb +0 -0
package/README.md CHANGED
@@ -1,11 +1,26 @@
1
1
  # Qwen Code
2
2
 
3
+ <div align="center">
4
+
3
5
  ![Qwen Code Screenshot](./docs/assets/qwen-screenshot.png)
4
6
 
5
- Qwen Code is a command-line AI workflow tool adapted from [**Gemini CLI**](https://github.com/google-gemini/gemini-cli) (Please refer to [this document](./README.gemini.md) for more details), optimized for [Qwen3-Coder](https://github.com/QwenLM/Qwen3-Coder) models with enhanced parser support & tool support.
7
+ [![npm version](https://img.shields.io/npm/v/@qwen-code/qwen-code.svg)](https://www.npmjs.com/package/@qwen-code/qwen-code)
8
+ [![License](https://img.shields.io/github/license/QwenLM/qwen-code.svg)](./LICENSE)
9
+ [![Node.js Version](https://img.shields.io/badge/node-%3E%3D20.0.0-brightgreen.svg)](https://nodejs.org/)
10
+ [![Downloads](https://img.shields.io/npm/dm/@qwen-code/qwen-code.svg)](https://www.npmjs.com/package/@qwen-code/qwen-code)
11
+
12
+ **AI-powered command-line workflow tool for developers**
13
+
14
+ [Installation](#installation) • [Quick Start](#quick-start) • [Features](#key-features) • [Documentation](./docs/) • [Contributing](./CONTRIBUTING.md)
15
+
16
+ </div>
17
+
18
+ Qwen Code is a powerful command-line AI workflow tool adapted from [**Gemini CLI**](https://github.com/google-gemini/gemini-cli) ([details](./README.gemini.md)), specifically optimized for [Qwen3-Coder](https://github.com/QwenLM/Qwen3-Coder) models. It enhances your development workflow with advanced code understanding, automated tasks, and intelligent assistance.
6
19
 
7
20
  > [!WARNING]
8
- > Qwen Code may issue multiple API calls per cycle, resulting in higher token usage, similar to Claude Code. Were actively working to enhance API efficiency and improve the overall developer experience. ModelScope offers 2,000 free API calls if you are in China mainland. Please check [API config section](#api-configuration) for more details.
21
+ > **Token Usage Notice**: Qwen Code may issue multiple API calls per cycle, resulting in higher token usage (similar to Claude Code). We're actively optimizing API efficiency.
22
+ >
23
+ > 💡 **Free Option**: ModelScope provides **2,000 free API calls per day** for users in mainland China. OpenRouter offers up to **1,000 free API calls per day** worldwide. For setup instructions, see [API Configuration](#api-configuration).
9
24
 
10
25
  ## Key Features
11
26
 
@@ -13,7 +28,7 @@ Qwen Code is a command-line AI workflow tool adapted from [**Gemini CLI**](https
13
28
  - **Workflow Automation** - Automate operational tasks like handling pull requests and complex rebases
14
29
  - **Enhanced Parser** - Adapted parser specifically optimized for Qwen-Coder models
15
30
 
16
- ## Quick Start
31
+ ## Installation
17
32
 
18
33
  ### Prerequisites
19
34
 
@@ -23,20 +38,14 @@ Ensure you have [Node.js version 20](https://nodejs.org/en/download) or higher i
23
38
  curl -qL https://www.npmjs.com/install.sh | sh
24
39
  ```
25
40
 
26
- ### Installation
41
+ ### Install from npm
27
42
 
28
43
  ```bash
29
44
  npm install -g @qwen-code/qwen-code@latest
30
45
  qwen --version
31
46
  ```
32
47
 
33
- Then run from anywhere:
34
-
35
- ```bash
36
- qwen
37
- ```
38
-
39
- Or you can install it from source:
48
+ ### Install from source
40
49
 
41
50
  ```bash
42
51
  git clone https://github.com/QwenLM/qwen-code.git
@@ -45,8 +54,25 @@ npm install
45
54
  npm install -g .
46
55
  ```
47
56
 
48
- We now support max session token limit, you can set it in your `.qwen/settings.json` file to save the token usage.
49
- For example, if you want to set the max session token limit to 32000, you can set it like this:
57
+ ## Quick Start
58
+
59
+ ```bash
60
+ # Start Qwen Code
61
+ qwen
62
+
63
+ # Example commands
64
+ > Explain this codebase structure
65
+ > Help me refactor this function
66
+ > Generate unit tests for this module
67
+ ```
68
+
69
+ ### Session Management
70
+
71
+ Control your token usage with configurable session limits to optimize costs and performance.
72
+
73
+ #### Configure Session Token Limit
74
+
75
+ Create or edit `.qwen/settings.json` in your home directory:
50
76
 
51
77
  ```json
52
78
  {
@@ -54,17 +80,47 @@ For example, if you want to set the max session token limit to 32000, you can se
54
80
  }
55
81
  ```
56
82
 
57
- The max session means the maximum number of tokens that can be used in one chat (not the total usage during multiple tool call shoots); if you reach the limit, you can use the `/compress` command to compress the history and go on, or use `/clear` command to clear the history.
83
+ #### Session Commands
84
+
85
+ - **`/compress`** - Compress conversation history to continue within token limits
86
+ - **`/clear`** - Clear all conversation history and start fresh
87
+ - **`/status`** - Check current token usage and limits
88
+
89
+ > 📝 **Note**: Session token limit applies to a single conversation, not cumulative API calls.
58
90
 
59
91
  ### API Configuration
60
92
 
61
- Set your Qwen API key (In Qwen Code project, you can also set your API key in `.env` file). the `.env` file should be placed in the root directory of your current project.
93
+ Qwen Code supports multiple API providers. You can configure your API key through environment variables or a `.env` file in your project root.
94
+
95
+ #### Configuration Methods
96
+
97
+ 1. **Environment Variables**
98
+
99
+ ```bash
100
+ export OPENAI_API_KEY="your_api_key_here"
101
+ export OPENAI_BASE_URL="your_api_endpoint"
102
+ export OPENAI_MODEL="your_model_choice"
103
+ ```
104
+
105
+ 2. **Project `.env` File**
106
+ Create a `.env` file in your project root:
107
+ ```env
108
+ OPENAI_API_KEY=your_api_key_here
109
+ OPENAI_BASE_URL=your_api_endpoint
110
+ OPENAI_MODEL=your_model_choice
111
+ ```
112
+
113
+ #### API Provider Options
114
+
115
+ > ⚠️ **Regional Notice:**
116
+ >
117
+ > - **Mainland China**: Use Alibaba Cloud Bailian or ModelScope
118
+ > - **International**: Use Alibaba Cloud ModelStudio or OpenRouter
62
119
 
63
- > ⚠️ **Notice:** <br>
64
- > **If you are in mainland China, please go to https://bailian.console.aliyun.com/ or https://modelscope.cn/docs/model-service/API-Inference/intro to apply for your API key** <br>
65
- > **If you are not in mainland China, please go to https://modelstudio.console.alibabacloud.com/ to apply for your API key**
120
+ <details>
121
+ <summary><b>🇨🇳 For Users in Mainland China</b></summary>
66
122
 
67
- If you are in mainland China, you can use Qwen3-Coder through the Alibaba Cloud bailian platform.
123
+ **Option 1: Alibaba Cloud Bailian** ([Apply for API Key](https://bailian.console.aliyun.com/))
68
124
 
69
125
  ```bash
70
126
  export OPENAI_API_KEY="your_api_key_here"
@@ -72,7 +128,10 @@ export OPENAI_BASE_URL="https://dashscope.aliyuncs.com/compatible-mode/v1"
72
128
  export OPENAI_MODEL="qwen3-coder-plus"
73
129
  ```
74
130
 
75
- If you are in mainland China, ModelScope offers 2,000 free model inference API calls per day. Please make sure you connect your aliyun account to ModelScope so that you won't receive the API error like `API Error: OpenAI API error`.
131
+ **Option 2: ModelScope (Free Tier)** ([Apply for API Key](https://modelscope.cn/docs/model-service/API-Inference/intro))
132
+
133
+ - ✅ **2,000 free API calls per day**
134
+ - ⚠️ Connect your Aliyun account to avoid authentication errors
76
135
 
77
136
  ```bash
78
137
  export OPENAI_API_KEY="your_api_key_here"
@@ -80,7 +139,12 @@ export OPENAI_BASE_URL="https://api-inference.modelscope.cn/v1"
80
139
  export OPENAI_MODEL="Qwen/Qwen3-Coder-480B-A35B-Instruct"
81
140
  ```
82
141
 
83
- If you are not in mainland China, you can use Qwen3-Coder through the Alibaba Cloud modelstuido platform.
142
+ </details>
143
+
144
+ <details>
145
+ <summary><b>🌍 For International Users</b></summary>
146
+
147
+ **Option 1: Alibaba Cloud ModelStudio** ([Apply for API Key](https://modelstudio.console.alibabacloud.com/))
84
148
 
85
149
  ```bash
86
150
  export OPENAI_API_KEY="your_api_key_here"
@@ -88,83 +152,136 @@ export OPENAI_BASE_URL="https://dashscope-intl.aliyuncs.com/compatible-mode/v1"
88
152
  export OPENAI_MODEL="qwen3-coder-plus"
89
153
  ```
90
154
 
91
- OpenRouter also provides free Qwen3-Coder model access:
155
+ **Option 2: OpenRouter (Free Tier Available)** ([Apply for API Key](https://openrouter.ai/))
92
156
 
93
157
  ```bash
94
158
  export OPENAI_API_KEY="your_api_key_here"
95
- export OPENAI_BASE_URL=https://openrouter.ai/api/v1
159
+ export OPENAI_BASE_URL="https://openrouter.ai/api/v1"
96
160
  export OPENAI_MODEL="qwen/qwen3-coder:free"
97
161
  ```
98
162
 
163
+ </details>
164
+
99
165
  ## Usage Examples
100
166
 
101
- ### Explore Codebases
167
+ ### 🔍 Explore Codebases
102
168
 
103
- ```sh
169
+ ```bash
104
170
  cd your-project/
105
171
  qwen
172
+
173
+ # Architecture analysis
106
174
  > Describe the main pieces of this system's architecture
175
+ > What are the key dependencies and how do they interact?
176
+ > Find all API endpoints and their authentication methods
107
177
  ```
108
178
 
109
- ### Code Development
179
+ ### 💻 Code Development
110
180
 
111
- ```sh
181
+ ```bash
182
+ # Refactoring
112
183
  > Refactor this function to improve readability and performance
184
+ > Convert this class to use dependency injection
185
+ > Split this large module into smaller, focused components
186
+
187
+ # Code generation
188
+ > Create a REST API endpoint for user management
189
+ > Generate unit tests for the authentication module
190
+ > Add error handling to all database operations
113
191
  ```
114
192
 
115
- ### Automate Workflows
193
+ ### 🔄 Automate Workflows
116
194
 
117
- ```sh
118
- > Analyze git commits from the last 7 days, grouped by feature and team member
119
- ```
195
+ ```bash
196
+ # Git automation
197
+ > Analyze git commits from the last 7 days, grouped by feature
198
+ > Create a changelog from recent commits
199
+ > Find all TODO comments and create GitHub issues
120
200
 
121
- ```sh
201
+ # File operations
122
202
  > Convert all images in this directory to PNG format
203
+ > Rename all test files to follow the *.test.ts pattern
204
+ > Find and remove all console.log statements
205
+ ```
206
+
207
+ ### 🐛 Debugging & Analysis
208
+
209
+ ```bash
210
+ # Performance analysis
211
+ > Identify performance bottlenecks in this React component
212
+ > Find all N+1 query problems in the codebase
213
+
214
+ # Security audit
215
+ > Check for potential SQL injection vulnerabilities
216
+ > Find all hardcoded credentials or API keys
123
217
  ```
124
218
 
125
219
  ## Popular Tasks
126
220
 
127
- ### Understand New Codebases
221
+ ### 📚 Understand New Codebases
128
222
 
129
223
  ```text
130
224
  > What are the core business logic components?
131
225
  > What security mechanisms are in place?
132
- > How does the data flow work?
226
+ > How does the data flow through the system?
227
+ > What are the main design patterns used?
228
+ > Generate a dependency graph for this module
133
229
  ```
134
230
 
135
- ### Code Refactoring & Optimization
231
+ ### 🔨 Code Refactoring & Optimization
136
232
 
137
233
  ```text
138
234
  > What parts of this module can be optimized?
139
- > Help me refactor this class to follow better design patterns
235
+ > Help me refactor this class to follow SOLID principles
140
236
  > Add proper error handling and logging
237
+ > Convert callbacks to async/await pattern
238
+ > Implement caching for expensive operations
141
239
  ```
142
240
 
143
- ### Documentation & Testing
241
+ ### 📝 Documentation & Testing
144
242
 
145
243
  ```text
146
- > Generate comprehensive JSDoc comments for this function
147
- > Write unit tests for this component
148
- > Create API documentation
244
+ > Generate comprehensive JSDoc comments for all public APIs
245
+ > Write unit tests with edge cases for this component
246
+ > Create API documentation in OpenAPI format
247
+ > Add inline comments explaining complex algorithms
248
+ > Generate a README for this module
149
249
  ```
150
250
 
251
+ ### 🚀 Development Acceleration
252
+
253
+ ```text
254
+ > Set up a new Express server with authentication
255
+ > Create a React component with TypeScript and tests
256
+ > Implement a rate limiter middleware
257
+ > Add database migrations for new schema
258
+ > Configure CI/CD pipeline for this project
259
+ ```
260
+
261
+ ## Commands & Shortcuts
262
+
263
+ ### Session Commands
264
+
265
+ - `/help` - Display available commands
266
+ - `/clear` - Clear conversation history
267
+ - `/compress` - Compress history to save tokens
268
+ - `/status` - Show current session information
269
+ - `/exit` or `/quit` - Exit Qwen Code
270
+
271
+ ### Keyboard Shortcuts
272
+
273
+ - `Ctrl+C` - Cancel current operation
274
+ - `Ctrl+D` - Exit (on empty line)
275
+ - `Up/Down` - Navigate command history
276
+
151
277
  ## Benchmark Results
152
278
 
153
- ### Terminal-Bench
279
+ ### Terminal-Bench Performance
154
280
 
155
281
  | Agent | Model | Accuracy |
156
282
  | --------- | ------------------ | -------- |
157
- | Qwen Code | Qwen3-Coder-480A35 | 37.5 |
158
-
159
- ## Project Structure
160
-
161
- ```
162
- qwen-code/
163
- ├── packages/ # Core packages
164
- ├── docs/ # Documentation
165
- ├── examples/ # Example code
166
- └── tests/ # Test files
167
- ```
283
+ | Qwen Code | Qwen3-Coder-480A35 | 37.5% |
284
+ | Qwen Code | Qwen3-Coder-30BA3B | 31.3% |
168
285
 
169
286
  ## Development & Contributing
170
287
 
File without changes
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * @license
4
+ * Copyright 2025 Google LLC
5
+ * SPDX-License-Identifier: Apache-2.0
6
+ */
7
+ import './src/gemini.js';
package/dist/index.js ADDED
@@ -0,0 +1,20 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * @license
4
+ * Copyright 2025 Google LLC
5
+ * SPDX-License-Identifier: Apache-2.0
6
+ */
7
+ import './src/gemini.js';
8
+ import { main } from './src/gemini.js';
9
+ // --- Global Entry Point ---
10
+ main().catch((error) => {
11
+ console.error('An unexpected critical error occurred:');
12
+ if (error instanceof Error) {
13
+ console.error(error.stack);
14
+ }
15
+ else {
16
+ console.error(String(error));
17
+ }
18
+ process.exit(1);
19
+ });
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAEA;;;;GAIG;AAEH,OAAO,iBAAiB,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,6BAA6B;AAC7B,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;IACxD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,79 @@
1
+ {
2
+ "name": "@qwen-code/qwen-code",
3
+ "version": "0.0.1-alpha.14",
4
+ "description": "Gemini CLI",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+http://gitlab.alibaba-inc.com/Qwen-Coder/qwen-code.git"
8
+ },
9
+ "type": "module",
10
+ "main": "dist/index.js",
11
+ "bin": {
12
+ "qwen": "dist/index.js"
13
+ },
14
+ "scripts": {
15
+ "build": "node ../../scripts/build_package.js",
16
+ "start": "node dist/index.js",
17
+ "debug": "node --inspect-brk dist/index.js",
18
+ "lint": "eslint . --ext .ts,.tsx",
19
+ "format": "prettier --write .",
20
+ "test": "vitest run",
21
+ "test:ci": "vitest run --coverage",
22
+ "typecheck": "tsc --noEmit"
23
+ },
24
+ "files": [
25
+ "dist"
26
+ ],
27
+ "config": {
28
+ "sandboxImageUri": "ghcr.io/qwenlm/qwen-code:0.0.1-alpha.14"
29
+ },
30
+ "dependencies": {
31
+ "@qwen-code/qwen-code-core": "file:../core",
32
+ "@types/update-notifier": "^6.0.8",
33
+ "command-exists": "^1.2.9",
34
+ "diff": "^7.0.0",
35
+ "dotenv": "^17.1.0",
36
+ "gaxios": "^7.1.1",
37
+ "glob": "^10.4.1",
38
+ "highlight.js": "^11.11.1",
39
+ "ink": "^6.0.1",
40
+ "ink-big-text": "^2.0.0",
41
+ "ink-gradient": "^3.0.0",
42
+ "ink-link": "^4.1.0",
43
+ "ink-select-input": "^6.2.0",
44
+ "ink-spinner": "^5.0.0",
45
+ "lowlight": "^3.3.0",
46
+ "mime-types": "^3.0.1",
47
+ "open": "^10.1.2",
48
+ "react": "^19.1.0",
49
+ "read-package-up": "^11.0.0",
50
+ "shell-quote": "^1.8.3",
51
+ "string-width": "^7.1.0",
52
+ "strip-ansi": "^7.1.0",
53
+ "strip-json-comments": "^3.1.1",
54
+ "update-notifier": "^7.3.1",
55
+ "yargs": "^18.0.0"
56
+ },
57
+ "devDependencies": {
58
+ "@babel/runtime": "^7.27.6",
59
+ "@testing-library/react": "^16.3.0",
60
+ "@types/command-exists": "^1.2.3",
61
+ "@types/diff": "^7.0.2",
62
+ "@types/dotenv": "^6.1.1",
63
+ "@types/node": "^20.11.24",
64
+ "@types/react": "^19.1.8",
65
+ "@types/react-dom": "^19.1.6",
66
+ "@types/semver": "^7.7.0",
67
+ "@types/shell-quote": "^1.7.5",
68
+ "@types/yargs": "^17.0.32",
69
+ "ink-testing-library": "^4.0.0",
70
+ "jsdom": "^26.1.0",
71
+ "pretty-format": "^30.0.2",
72
+ "react-dom": "^19.1.0",
73
+ "typescript": "^5.3.3",
74
+ "vitest": "^3.1.1"
75
+ },
76
+ "engines": {
77
+ "node": ">=20"
78
+ }
79
+ }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export declare const validateAuthMethod: (authMethod: string) => string | null;
7
+ export declare const setOpenAIApiKey: (apiKey: string) => void;
8
+ export declare const setOpenAIBaseUrl: (baseUrl: string) => void;
9
+ export declare const setOpenAIModel: (model: string) => void;
@@ -0,0 +1,48 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { AuthType } from '@qwen-code/qwen-code-core';
7
+ import { loadEnvironment } from './settings.js';
8
+ export const validateAuthMethod = (authMethod) => {
9
+ loadEnvironment();
10
+ if (authMethod === AuthType.LOGIN_WITH_GOOGLE ||
11
+ authMethod === AuthType.CLOUD_SHELL) {
12
+ return null;
13
+ }
14
+ if (authMethod === AuthType.USE_GEMINI) {
15
+ if (!process.env.GEMINI_API_KEY) {
16
+ return 'GEMINI_API_KEY environment variable not found. Add that to your environment and try again (no reload needed if using .env)!';
17
+ }
18
+ return null;
19
+ }
20
+ if (authMethod === AuthType.USE_VERTEX_AI) {
21
+ const hasVertexProjectLocationConfig = !!process.env.GOOGLE_CLOUD_PROJECT && !!process.env.GOOGLE_CLOUD_LOCATION;
22
+ const hasGoogleApiKey = !!process.env.GOOGLE_API_KEY;
23
+ if (!hasVertexProjectLocationConfig && !hasGoogleApiKey) {
24
+ return ('When using Vertex AI, you must specify either:\n' +
25
+ '• GOOGLE_CLOUD_PROJECT and GOOGLE_CLOUD_LOCATION environment variables.\n' +
26
+ '• GOOGLE_API_KEY environment variable (if using express mode).\n' +
27
+ 'Update your environment and try again (no reload needed if using .env)!');
28
+ }
29
+ return null;
30
+ }
31
+ if (authMethod === AuthType.USE_OPENAI) {
32
+ if (!process.env.OPENAI_API_KEY) {
33
+ return 'OPENAI_API_KEY environment variable not found. You can enter it interactively or add it to your .env file.';
34
+ }
35
+ return null;
36
+ }
37
+ return 'Invalid auth method selected.';
38
+ };
39
+ export const setOpenAIApiKey = (apiKey) => {
40
+ process.env.OPENAI_API_KEY = apiKey;
41
+ };
42
+ export const setOpenAIBaseUrl = (baseUrl) => {
43
+ process.env.OPENAI_BASE_URL = baseUrl;
44
+ };
45
+ export const setOpenAIModel = (model) => {
46
+ process.env.OPENAI_MODEL = model;
47
+ };
48
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/config/auth.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,UAAkB,EAAiB,EAAE;IACtE,eAAe,EAAE,CAAC;IAClB,IACE,UAAU,KAAK,QAAQ,CAAC,iBAAiB;QACzC,UAAU,KAAK,QAAQ,CAAC,WAAW,EACnC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,UAAU,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;YAChC,OAAO,6HAA6H,CAAC;QACvI,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,UAAU,KAAK,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC1C,MAAM,8BAA8B,GAClC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;QAC5E,MAAM,eAAe,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QACrD,IAAI,CAAC,8BAA8B,IAAI,CAAC,eAAe,EAAE,CAAC;YACxD,OAAO,CACL,kDAAkD;gBAClD,2EAA2E;gBAC3E,kEAAkE;gBAClE,yEAAyE,CAC1E,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,UAAU,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;QACvC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;YAChC,OAAO,4GAA4G,CAAC;QACtH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,+BAA+B,CAAC;AACzC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAc,EAAQ,EAAE;IACtD,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,MAAM,CAAC;AACtC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAQ,EAAE;IACxD,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,OAAO,CAAC;AACxC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAa,EAAQ,EAAE;IACpD,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC;AACnC,CAAC,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { Config, FileDiscoveryService } from '@qwen-code/qwen-code-core';
7
+ import { Settings } from './settings.js';
8
+ import { Extension } from './extension.js';
9
+ export interface CliArgs {
10
+ model: string | undefined;
11
+ sandbox: boolean | string | undefined;
12
+ sandboxImage: string | undefined;
13
+ debug: boolean | undefined;
14
+ prompt: string | undefined;
15
+ promptInteractive: string | undefined;
16
+ allFiles: boolean | undefined;
17
+ all_files: boolean | undefined;
18
+ showMemoryUsage: boolean | undefined;
19
+ show_memory_usage: boolean | undefined;
20
+ yolo: boolean | undefined;
21
+ telemetry: boolean | undefined;
22
+ checkpointing: boolean | undefined;
23
+ telemetryTarget: string | undefined;
24
+ telemetryOtlpEndpoint: string | undefined;
25
+ telemetryLogPrompts: boolean | undefined;
26
+ allowedMcpServerNames: string[] | undefined;
27
+ extensions: string[] | undefined;
28
+ listExtensions: boolean | undefined;
29
+ ideMode: boolean | undefined;
30
+ openaiLogging: boolean | undefined;
31
+ openaiApiKey: string | undefined;
32
+ openaiBaseUrl: string | undefined;
33
+ }
34
+ export declare function parseArguments(): Promise<CliArgs>;
35
+ export declare function loadHierarchicalGeminiMemory(currentWorkingDirectory: string, debugMode: boolean, fileService: FileDiscoveryService, extensionContextFilePaths?: string[]): Promise<{
36
+ memoryContent: string;
37
+ fileCount: number;
38
+ }>;
39
+ export declare function loadCliConfig(settings: Settings, extensions: Extension[], sessionId: string, argv: CliArgs): Promise<Config>;