snow-ai 0.4.16 → 0.4.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (351) hide show
  1. package/bundle/cli.mjs +477445 -0
  2. package/bundle/sql-wasm.wasm +0 -0
  3. package/package.json +31 -26
  4. package/dist/agents/codebaseIndexAgent.d.ts +0 -102
  5. package/dist/agents/codebaseIndexAgent.js +0 -641
  6. package/dist/agents/codebaseReviewAgent.d.ts +0 -61
  7. package/dist/agents/codebaseReviewAgent.js +0 -301
  8. package/dist/agents/compactAgent.d.ts +0 -55
  9. package/dist/agents/compactAgent.js +0 -306
  10. package/dist/agents/promptOptimizeAgent.d.ts +0 -54
  11. package/dist/agents/promptOptimizeAgent.js +0 -268
  12. package/dist/agents/reviewAgent.d.ts +0 -50
  13. package/dist/agents/reviewAgent.js +0 -265
  14. package/dist/agents/summaryAgent.d.ts +0 -57
  15. package/dist/agents/summaryAgent.js +0 -260
  16. package/dist/api/anthropic.d.ts +0 -44
  17. package/dist/api/anthropic.js +0 -598
  18. package/dist/api/chat.d.ts +0 -73
  19. package/dist/api/chat.js +0 -386
  20. package/dist/api/embedding.d.ts +0 -34
  21. package/dist/api/embedding.js +0 -80
  22. package/dist/api/gemini.d.ts +0 -31
  23. package/dist/api/gemini.js +0 -445
  24. package/dist/api/models.d.ts +0 -15
  25. package/dist/api/models.js +0 -139
  26. package/dist/api/responses.d.ts +0 -38
  27. package/dist/api/responses.js +0 -515
  28. package/dist/api/systemPrompt.d.ts +0 -4
  29. package/dist/api/systemPrompt.js +0 -408
  30. package/dist/api/types.d.ts +0 -53
  31. package/dist/api/types.js +0 -4
  32. package/dist/app.d.ts +0 -8
  33. package/dist/app.js +0 -112
  34. package/dist/cli.d.ts +0 -2
  35. package/dist/cli.js +0 -199
  36. package/dist/hooks/useAgentPicker.d.ts +0 -14
  37. package/dist/hooks/useAgentPicker.js +0 -119
  38. package/dist/hooks/useClipboard.d.ts +0 -4
  39. package/dist/hooks/useClipboard.js +0 -175
  40. package/dist/hooks/useCommandHandler.d.ts +0 -35
  41. package/dist/hooks/useCommandHandler.js +0 -346
  42. package/dist/hooks/useCommandPanel.d.ts +0 -17
  43. package/dist/hooks/useCommandPanel.js +0 -114
  44. package/dist/hooks/useConversation.d.ts +0 -49
  45. package/dist/hooks/useConversation.js +0 -1052
  46. package/dist/hooks/useFilePicker.d.ts +0 -18
  47. package/dist/hooks/useFilePicker.js +0 -224
  48. package/dist/hooks/useGlobalExit.d.ts +0 -5
  49. package/dist/hooks/useGlobalExit.js +0 -34
  50. package/dist/hooks/useGlobalNavigation.d.ts +0 -6
  51. package/dist/hooks/useGlobalNavigation.js +0 -17
  52. package/dist/hooks/useHistoryNavigation.d.ts +0 -35
  53. package/dist/hooks/useHistoryNavigation.js +0 -133
  54. package/dist/hooks/useInputBuffer.d.ts +0 -6
  55. package/dist/hooks/useInputBuffer.js +0 -45
  56. package/dist/hooks/useKeyboardInput.d.ts +0 -80
  57. package/dist/hooks/useKeyboardInput.js +0 -608
  58. package/dist/hooks/useSessionManagement.d.ts +0 -10
  59. package/dist/hooks/useSessionManagement.js +0 -43
  60. package/dist/hooks/useSessionSave.d.ts +0 -8
  61. package/dist/hooks/useSessionSave.js +0 -63
  62. package/dist/hooks/useSnapshotState.d.ts +0 -26
  63. package/dist/hooks/useSnapshotState.js +0 -28
  64. package/dist/hooks/useStreamingState.d.ts +0 -33
  65. package/dist/hooks/useStreamingState.js +0 -105
  66. package/dist/hooks/useTerminalFocus.d.ts +0 -28
  67. package/dist/hooks/useTerminalFocus.js +0 -87
  68. package/dist/hooks/useTerminalSize.d.ts +0 -4
  69. package/dist/hooks/useTerminalSize.js +0 -20
  70. package/dist/hooks/useTodoPicker.d.ts +0 -16
  71. package/dist/hooks/useTodoPicker.js +0 -94
  72. package/dist/hooks/useToolConfirmation.d.ts +0 -19
  73. package/dist/hooks/useToolConfirmation.js +0 -61
  74. package/dist/hooks/useVSCodeState.d.ts +0 -8
  75. package/dist/hooks/useVSCodeState.js +0 -81
  76. package/dist/i18n/I18nContext.d.ts +0 -14
  77. package/dist/i18n/I18nContext.js +0 -24
  78. package/dist/i18n/index.d.ts +0 -3
  79. package/dist/i18n/index.js +0 -2
  80. package/dist/i18n/lang/en.d.ts +0 -2
  81. package/dist/i18n/lang/en.js +0 -502
  82. package/dist/i18n/lang/es.d.ts +0 -2
  83. package/dist/i18n/lang/es.js +0 -502
  84. package/dist/i18n/lang/ja.d.ts +0 -2
  85. package/dist/i18n/lang/ja.js +0 -502
  86. package/dist/i18n/lang/ko.d.ts +0 -2
  87. package/dist/i18n/lang/ko.js +0 -502
  88. package/dist/i18n/lang/zh-TW.d.ts +0 -2
  89. package/dist/i18n/lang/zh-TW.js +0 -502
  90. package/dist/i18n/lang/zh.d.ts +0 -2
  91. package/dist/i18n/lang/zh.js +0 -502
  92. package/dist/i18n/translations.d.ts +0 -2
  93. package/dist/i18n/translations.js +0 -14
  94. package/dist/i18n/types.d.ts +0 -478
  95. package/dist/i18n/types.js +0 -1
  96. package/dist/mcp/aceCodeSearch.d.ts +0 -247
  97. package/dist/mcp/aceCodeSearch.js +0 -1058
  98. package/dist/mcp/bash.d.ts +0 -50
  99. package/dist/mcp/bash.js +0 -153
  100. package/dist/mcp/codebaseSearch.d.ts +0 -44
  101. package/dist/mcp/codebaseSearch.js +0 -275
  102. package/dist/mcp/filesystem.d.ts +0 -392
  103. package/dist/mcp/filesystem.js +0 -1445
  104. package/dist/mcp/ideDiagnostics.d.ts +0 -36
  105. package/dist/mcp/ideDiagnostics.js +0 -90
  106. package/dist/mcp/notebook.d.ts +0 -10
  107. package/dist/mcp/notebook.js +0 -367
  108. package/dist/mcp/subagent.d.ts +0 -37
  109. package/dist/mcp/subagent.js +0 -113
  110. package/dist/mcp/todo.d.ts +0 -46
  111. package/dist/mcp/todo.js +0 -511
  112. package/dist/mcp/types/aceCodeSearch.types.d.ts +0 -92
  113. package/dist/mcp/types/aceCodeSearch.types.js +0 -4
  114. package/dist/mcp/types/bash.types.d.ts +0 -13
  115. package/dist/mcp/types/bash.types.js +0 -4
  116. package/dist/mcp/types/filesystem.types.d.ts +0 -210
  117. package/dist/mcp/types/filesystem.types.js +0 -27
  118. package/dist/mcp/types/todo.types.d.ts +0 -27
  119. package/dist/mcp/types/todo.types.js +0 -4
  120. package/dist/mcp/types/websearch.types.d.ts +0 -30
  121. package/dist/mcp/types/websearch.types.js +0 -4
  122. package/dist/mcp/utils/aceCodeSearch/filesystem.utils.d.ts +0 -34
  123. package/dist/mcp/utils/aceCodeSearch/filesystem.utils.js +0 -146
  124. package/dist/mcp/utils/aceCodeSearch/language.utils.d.ts +0 -14
  125. package/dist/mcp/utils/aceCodeSearch/language.utils.js +0 -418
  126. package/dist/mcp/utils/aceCodeSearch/search.utils.d.ts +0 -31
  127. package/dist/mcp/utils/aceCodeSearch/search.utils.js +0 -136
  128. package/dist/mcp/utils/aceCodeSearch/symbol.utils.d.ts +0 -20
  129. package/dist/mcp/utils/aceCodeSearch/symbol.utils.js +0 -141
  130. package/dist/mcp/utils/bash/security.utils.d.ts +0 -20
  131. package/dist/mcp/utils/bash/security.utils.js +0 -34
  132. package/dist/mcp/utils/filesystem/batch-operations.utils.d.ts +0 -39
  133. package/dist/mcp/utils/filesystem/batch-operations.utils.js +0 -182
  134. package/dist/mcp/utils/filesystem/code-analysis.utils.d.ts +0 -18
  135. package/dist/mcp/utils/filesystem/code-analysis.utils.js +0 -165
  136. package/dist/mcp/utils/filesystem/match-finder.utils.d.ts +0 -16
  137. package/dist/mcp/utils/filesystem/match-finder.utils.js +0 -85
  138. package/dist/mcp/utils/filesystem/office-parser.utils.d.ts +0 -43
  139. package/dist/mcp/utils/filesystem/office-parser.utils.js +0 -163
  140. package/dist/mcp/utils/filesystem/path-fixer.utils.d.ts +0 -7
  141. package/dist/mcp/utils/filesystem/path-fixer.utils.js +0 -60
  142. package/dist/mcp/utils/filesystem/similarity.utils.d.ts +0 -22
  143. package/dist/mcp/utils/filesystem/similarity.utils.js +0 -75
  144. package/dist/mcp/utils/todo/date.utils.d.ts +0 -9
  145. package/dist/mcp/utils/todo/date.utils.js +0 -14
  146. package/dist/mcp/utils/websearch/browser.utils.d.ts +0 -8
  147. package/dist/mcp/utils/websearch/browser.utils.js +0 -58
  148. package/dist/mcp/utils/websearch/text.utils.d.ts +0 -16
  149. package/dist/mcp/utils/websearch/text.utils.js +0 -39
  150. package/dist/mcp/websearch.d.ts +0 -88
  151. package/dist/mcp/websearch.js +0 -375
  152. package/dist/test/logger-test.d.ts +0 -1
  153. package/dist/test/logger-test.js +0 -7
  154. package/dist/types/index.d.ts +0 -15
  155. package/dist/types/index.js +0 -1
  156. package/dist/ui/components/AgentPickerPanel.d.ts +0 -10
  157. package/dist/ui/components/AgentPickerPanel.js +0 -74
  158. package/dist/ui/components/ChatInput.d.ts +0 -46
  159. package/dist/ui/components/ChatInput.js +0 -384
  160. package/dist/ui/components/CommandPanel.d.ts +0 -15
  161. package/dist/ui/components/CommandPanel.js +0 -80
  162. package/dist/ui/components/DiffViewer.d.ts +0 -11
  163. package/dist/ui/components/DiffViewer.js +0 -178
  164. package/dist/ui/components/FileList.d.ts +0 -15
  165. package/dist/ui/components/FileList.js +0 -360
  166. package/dist/ui/components/FileRollbackConfirmation.d.ts +0 -8
  167. package/dist/ui/components/FileRollbackConfirmation.js +0 -108
  168. package/dist/ui/components/HelpPanel.d.ts +0 -2
  169. package/dist/ui/components/HelpPanel.js +0 -67
  170. package/dist/ui/components/MCPInfoPanel.d.ts +0 -2
  171. package/dist/ui/components/MCPInfoPanel.js +0 -108
  172. package/dist/ui/components/MCPInfoScreen.d.ts +0 -7
  173. package/dist/ui/components/MCPInfoScreen.js +0 -115
  174. package/dist/ui/components/MarkdownRenderer.d.ts +0 -6
  175. package/dist/ui/components/MarkdownRenderer.js +0 -70
  176. package/dist/ui/components/Menu.d.ts +0 -17
  177. package/dist/ui/components/Menu.js +0 -88
  178. package/dist/ui/components/MessageList.d.ts +0 -56
  179. package/dist/ui/components/MessageList.js +0 -97
  180. package/dist/ui/components/PendingMessages.d.ts +0 -13
  181. package/dist/ui/components/PendingMessages.js +0 -29
  182. package/dist/ui/components/PendingToolCalls.d.ts +0 -11
  183. package/dist/ui/components/PendingToolCalls.js +0 -35
  184. package/dist/ui/components/ScrollableSelectInput.d.ts +0 -29
  185. package/dist/ui/components/ScrollableSelectInput.js +0 -157
  186. package/dist/ui/components/SessionListPanel.d.ts +0 -7
  187. package/dist/ui/components/SessionListPanel.js +0 -175
  188. package/dist/ui/components/SessionListScreen.d.ts +0 -7
  189. package/dist/ui/components/SessionListScreen.js +0 -217
  190. package/dist/ui/components/SessionListScreenWrapper.d.ts +0 -7
  191. package/dist/ui/components/SessionListScreenWrapper.js +0 -14
  192. package/dist/ui/components/ShimmerText.d.ts +0 -9
  193. package/dist/ui/components/ShimmerText.js +0 -30
  194. package/dist/ui/components/TodoPickerPanel.d.ts +0 -14
  195. package/dist/ui/components/TodoPickerPanel.js +0 -119
  196. package/dist/ui/components/TodoTree.d.ts +0 -15
  197. package/dist/ui/components/TodoTree.js +0 -60
  198. package/dist/ui/components/ToolConfirmation.d.ts +0 -21
  199. package/dist/ui/components/ToolConfirmation.js +0 -204
  200. package/dist/ui/components/ToolResultPreview.d.ts +0 -13
  201. package/dist/ui/components/ToolResultPreview.js +0 -337
  202. package/dist/ui/components/UsagePanel.d.ts +0 -2
  203. package/dist/ui/components/UsagePanel.js +0 -394
  204. package/dist/ui/contexts/ThemeContext.d.ts +0 -13
  205. package/dist/ui/contexts/ThemeContext.js +0 -28
  206. package/dist/ui/pages/ChatScreen.d.ts +0 -6
  207. package/dist/ui/pages/ChatScreen.js +0 -1519
  208. package/dist/ui/pages/CodeBaseConfigScreen.d.ts +0 -8
  209. package/dist/ui/pages/CodeBaseConfigScreen.js +0 -350
  210. package/dist/ui/pages/ConfigScreen.d.ts +0 -8
  211. package/dist/ui/pages/ConfigScreen.js +0 -1101
  212. package/dist/ui/pages/CustomHeadersScreen.d.ts +0 -6
  213. package/dist/ui/pages/CustomHeadersScreen.js +0 -502
  214. package/dist/ui/pages/HeadlessModeScreen.d.ts +0 -7
  215. package/dist/ui/pages/HeadlessModeScreen.js +0 -381
  216. package/dist/ui/pages/LanguageSettingsScreen.d.ts +0 -7
  217. package/dist/ui/pages/LanguageSettingsScreen.js +0 -91
  218. package/dist/ui/pages/MCPConfigScreen.d.ts +0 -6
  219. package/dist/ui/pages/MCPConfigScreen.js +0 -55
  220. package/dist/ui/pages/ProxyConfigScreen.d.ts +0 -8
  221. package/dist/ui/pages/ProxyConfigScreen.js +0 -149
  222. package/dist/ui/pages/SensitiveCommandConfigScreen.d.ts +0 -7
  223. package/dist/ui/pages/SensitiveCommandConfigScreen.js +0 -271
  224. package/dist/ui/pages/SubAgentConfigScreen.d.ts +0 -9
  225. package/dist/ui/pages/SubAgentConfigScreen.js +0 -435
  226. package/dist/ui/pages/SubAgentListScreen.d.ts +0 -9
  227. package/dist/ui/pages/SubAgentListScreen.js +0 -131
  228. package/dist/ui/pages/SystemPromptConfigScreen.d.ts +0 -6
  229. package/dist/ui/pages/SystemPromptConfigScreen.js +0 -326
  230. package/dist/ui/pages/ThemeSettingsScreen.d.ts +0 -7
  231. package/dist/ui/pages/ThemeSettingsScreen.js +0 -106
  232. package/dist/ui/pages/WelcomeScreen.d.ts +0 -7
  233. package/dist/ui/pages/WelcomeScreen.js +0 -217
  234. package/dist/ui/themes/index.d.ts +0 -23
  235. package/dist/ui/themes/index.js +0 -140
  236. package/dist/utils/apiConfig.d.ts +0 -126
  237. package/dist/utils/apiConfig.js +0 -423
  238. package/dist/utils/autoCompress.d.ts +0 -15
  239. package/dist/utils/autoCompress.js +0 -24
  240. package/dist/utils/chatExporter.d.ts +0 -9
  241. package/dist/utils/chatExporter.js +0 -118
  242. package/dist/utils/checkpointManager.d.ts +0 -74
  243. package/dist/utils/checkpointManager.js +0 -181
  244. package/dist/utils/codebaseConfig.d.ts +0 -16
  245. package/dist/utils/codebaseConfig.js +0 -67
  246. package/dist/utils/codebaseDatabase.d.ts +0 -102
  247. package/dist/utils/codebaseDatabase.js +0 -333
  248. package/dist/utils/codebaseSearchEvents.d.ts +0 -16
  249. package/dist/utils/codebaseSearchEvents.js +0 -13
  250. package/dist/utils/commandExecutor.d.ts +0 -13
  251. package/dist/utils/commandExecutor.js +0 -26
  252. package/dist/utils/commands/agent.d.ts +0 -2
  253. package/dist/utils/commands/agent.js +0 -12
  254. package/dist/utils/commands/clear.d.ts +0 -2
  255. package/dist/utils/commands/clear.js +0 -12
  256. package/dist/utils/commands/compact.d.ts +0 -2
  257. package/dist/utils/commands/compact.js +0 -12
  258. package/dist/utils/commands/export.d.ts +0 -2
  259. package/dist/utils/commands/export.js +0 -12
  260. package/dist/utils/commands/help.d.ts +0 -2
  261. package/dist/utils/commands/help.js +0 -11
  262. package/dist/utils/commands/home.d.ts +0 -2
  263. package/dist/utils/commands/home.js +0 -34
  264. package/dist/utils/commands/ide.d.ts +0 -2
  265. package/dist/utils/commands/ide.js +0 -32
  266. package/dist/utils/commands/init.d.ts +0 -2
  267. package/dist/utils/commands/init.js +0 -93
  268. package/dist/utils/commands/mcp.d.ts +0 -2
  269. package/dist/utils/commands/mcp.js +0 -12
  270. package/dist/utils/commands/resume.d.ts +0 -2
  271. package/dist/utils/commands/resume.js +0 -12
  272. package/dist/utils/commands/review.d.ts +0 -2
  273. package/dist/utils/commands/review.js +0 -81
  274. package/dist/utils/commands/role.d.ts +0 -2
  275. package/dist/utils/commands/role.js +0 -37
  276. package/dist/utils/commands/todoPicker.d.ts +0 -2
  277. package/dist/utils/commands/todoPicker.js +0 -12
  278. package/dist/utils/commands/usage.d.ts +0 -2
  279. package/dist/utils/commands/usage.js +0 -12
  280. package/dist/utils/commands/yolo.d.ts +0 -2
  281. package/dist/utils/commands/yolo.js +0 -12
  282. package/dist/utils/configManager.d.ts +0 -45
  283. package/dist/utils/configManager.js +0 -303
  284. package/dist/utils/contextCompressor.d.ts +0 -16
  285. package/dist/utils/contextCompressor.js +0 -334
  286. package/dist/utils/devMode.d.ts +0 -13
  287. package/dist/utils/devMode.js +0 -54
  288. package/dist/utils/escapeHandler.d.ts +0 -79
  289. package/dist/utils/escapeHandler.js +0 -153
  290. package/dist/utils/fileDialog.d.ts +0 -9
  291. package/dist/utils/fileDialog.js +0 -74
  292. package/dist/utils/fileUtils.d.ts +0 -40
  293. package/dist/utils/fileUtils.js +0 -185
  294. package/dist/utils/historyManager.d.ts +0 -45
  295. package/dist/utils/historyManager.js +0 -159
  296. package/dist/utils/incrementalSnapshot.d.ts +0 -109
  297. package/dist/utils/incrementalSnapshot.js +0 -383
  298. package/dist/utils/index.d.ts +0 -11
  299. package/dist/utils/index.js +0 -18
  300. package/dist/utils/languageConfig.d.ts +0 -21
  301. package/dist/utils/languageConfig.js +0 -61
  302. package/dist/utils/logger.d.ts +0 -37
  303. package/dist/utils/logger.js +0 -122
  304. package/dist/utils/mcpToolsManager.d.ts +0 -52
  305. package/dist/utils/mcpToolsManager.js +0 -878
  306. package/dist/utils/messageFormatter.d.ts +0 -12
  307. package/dist/utils/messageFormatter.js +0 -115
  308. package/dist/utils/notebookManager.d.ts +0 -59
  309. package/dist/utils/notebookManager.js +0 -213
  310. package/dist/utils/patch-highlight.d.ts +0 -5
  311. package/dist/utils/patch-highlight.js +0 -23
  312. package/dist/utils/processManager.d.ts +0 -27
  313. package/dist/utils/processManager.js +0 -75
  314. package/dist/utils/proxyUtils.d.ts +0 -15
  315. package/dist/utils/proxyUtils.js +0 -50
  316. package/dist/utils/resourceMonitor.d.ts +0 -65
  317. package/dist/utils/resourceMonitor.js +0 -175
  318. package/dist/utils/retryUtils.d.ts +0 -49
  319. package/dist/utils/retryUtils.js +0 -303
  320. package/dist/utils/sensitiveCommandManager.d.ts +0 -53
  321. package/dist/utils/sensitiveCommandManager.js +0 -308
  322. package/dist/utils/sessionConverter.d.ts +0 -7
  323. package/dist/utils/sessionConverter.js +0 -306
  324. package/dist/utils/sessionManager.d.ts +0 -53
  325. package/dist/utils/sessionManager.js +0 -371
  326. package/dist/utils/subAgentConfig.d.ts +0 -50
  327. package/dist/utils/subAgentConfig.js +0 -221
  328. package/dist/utils/subAgentExecutor.d.ts +0 -40
  329. package/dist/utils/subAgentExecutor.js +0 -434
  330. package/dist/utils/terminal.d.ts +0 -5
  331. package/dist/utils/terminal.js +0 -13
  332. package/dist/utils/textBuffer.d.ts +0 -99
  333. package/dist/utils/textBuffer.js +0 -547
  334. package/dist/utils/textUtils.d.ts +0 -37
  335. package/dist/utils/textUtils.js +0 -102
  336. package/dist/utils/themeConfig.d.ts +0 -21
  337. package/dist/utils/themeConfig.js +0 -61
  338. package/dist/utils/todoPreprocessor.d.ts +0 -5
  339. package/dist/utils/todoPreprocessor.js +0 -18
  340. package/dist/utils/todoScanner.d.ts +0 -8
  341. package/dist/utils/todoScanner.js +0 -148
  342. package/dist/utils/toolDisplayConfig.d.ts +0 -16
  343. package/dist/utils/toolDisplayConfig.js +0 -47
  344. package/dist/utils/toolExecutor.d.ts +0 -37
  345. package/dist/utils/toolExecutor.js +0 -224
  346. package/dist/utils/usageLogger.d.ts +0 -11
  347. package/dist/utils/usageLogger.js +0 -114
  348. package/dist/utils/vscodeConnection.d.ts +0 -76
  349. package/dist/utils/vscodeConnection.js +0 -430
  350. package/dist/utils/workspaceSnapshot.d.ts +0 -63
  351. package/dist/utils/workspaceSnapshot.js +0 -300
@@ -1,81 +0,0 @@
1
- import { useState, useEffect, useRef } from 'react';
2
- import { vscodeConnection } from '../utils/vscodeConnection.js';
3
- export function useVSCodeState() {
4
- const [vscodeConnected, setVscodeConnected] = useState(false);
5
- const [vscodeConnectionStatus, setVscodeConnectionStatus] = useState('disconnected');
6
- const [editorContext, setEditorContext] = useState({});
7
- // Use ref to track last status without causing re-renders
8
- const lastStatusRef = useRef('disconnected');
9
- // Use ref to track last editor context to avoid unnecessary updates
10
- const lastEditorContextRef = useRef({});
11
- // Monitor VSCode connection status and editor context
12
- useEffect(() => {
13
- const checkConnectionInterval = setInterval(() => {
14
- const isConnected = vscodeConnection.isConnected();
15
- setVscodeConnected(isConnected);
16
- // Update connection status based on actual connection state
17
- // Use ref to avoid reading from state
18
- if (isConnected && lastStatusRef.current !== 'connected') {
19
- lastStatusRef.current = 'connected';
20
- setVscodeConnectionStatus('connected');
21
- }
22
- else if (!isConnected && lastStatusRef.current === 'connected') {
23
- lastStatusRef.current = 'disconnected';
24
- setVscodeConnectionStatus('disconnected');
25
- }
26
- }, 1000); // Check every second
27
- const unsubscribe = vscodeConnection.onContextUpdate(context => {
28
- // Only update state if context has actually changed
29
- const hasChanged = context.activeFile !== lastEditorContextRef.current.activeFile ||
30
- context.selectedText !== lastEditorContextRef.current.selectedText ||
31
- context.cursorPosition?.line !== lastEditorContextRef.current.cursorPosition?.line ||
32
- context.cursorPosition?.character !== lastEditorContextRef.current.cursorPosition?.character ||
33
- context.workspaceFolder !== lastEditorContextRef.current.workspaceFolder;
34
- if (hasChanged) {
35
- lastEditorContextRef.current = context;
36
- setEditorContext(context);
37
- }
38
- // When we receive context, it means connection is successful
39
- if (lastStatusRef.current !== 'connected') {
40
- lastStatusRef.current = 'connected';
41
- setVscodeConnectionStatus('connected');
42
- }
43
- });
44
- return () => {
45
- clearInterval(checkConnectionInterval);
46
- unsubscribe();
47
- };
48
- }, []); // Remove vscodeConnectionStatus from dependencies
49
- // Separate effect for handling connecting timeout
50
- useEffect(() => {
51
- if (vscodeConnectionStatus !== 'connecting') {
52
- return;
53
- }
54
- // Set timeout for connecting state (15 seconds to allow for port scanning and connection)
55
- const connectingTimeout = setTimeout(() => {
56
- const isConnected = vscodeConnection.isConnected();
57
- const isClientRunning = vscodeConnection.isClientRunning();
58
- // Only set error if still not connected after timeout
59
- if (!isConnected) {
60
- if (isClientRunning) {
61
- // Client is running but no connection - show error with helpful message
62
- setVscodeConnectionStatus('error');
63
- }
64
- else {
65
- // Client not running - go back to disconnected
66
- setVscodeConnectionStatus('disconnected');
67
- }
68
- lastStatusRef.current = isClientRunning ? 'error' : 'disconnected';
69
- }
70
- }, 15000); // 15 seconds: 10s for connection timeout + 5s buffer
71
- return () => {
72
- clearTimeout(connectingTimeout);
73
- };
74
- }, [vscodeConnectionStatus]);
75
- return {
76
- vscodeConnected,
77
- vscodeConnectionStatus,
78
- setVscodeConnectionStatus,
79
- editorContext,
80
- };
81
- }
@@ -1,14 +0,0 @@
1
- import React, { ReactNode } from 'react';
2
- import type { Language, TranslationKeys } from './types.js';
3
- type I18nContextType = {
4
- language: Language;
5
- setLanguage: (lang: Language) => void;
6
- t: TranslationKeys;
7
- };
8
- type Props = {
9
- children: ReactNode;
10
- defaultLanguage?: Language;
11
- };
12
- export declare function I18nProvider({ children, defaultLanguage }: Props): React.JSX.Element;
13
- export declare function useI18n(): I18nContextType;
14
- export {};
@@ -1,24 +0,0 @@
1
- import React, { createContext, useState, useCallback } from 'react';
2
- import { translations } from './translations.js';
3
- import { getCurrentLanguage, setCurrentLanguage, } from '../utils/languageConfig.js';
4
- const I18nContext = createContext(undefined);
5
- export function I18nProvider({ children, defaultLanguage }) {
6
- // Load saved language on mount or use default
7
- const [language, setLanguageState] = useState(() => {
8
- return defaultLanguage || getCurrentLanguage();
9
- });
10
- const setLanguage = useCallback((lang) => {
11
- setLanguageState(lang);
12
- setCurrentLanguage(lang); // Persist to file system
13
- }, []);
14
- // Get translations for current language
15
- const t = translations[language];
16
- return (React.createElement(I18nContext.Provider, { value: { language, setLanguage, t } }, children));
17
- }
18
- export function useI18n() {
19
- const context = React.useContext(I18nContext);
20
- if (!context) {
21
- throw new Error('useI18n must be used within I18nProvider');
22
- }
23
- return context;
24
- }
@@ -1,3 +0,0 @@
1
- export { I18nProvider, useI18n } from './I18nContext.js';
2
- export type { Language, TranslationKeys, Translations } from './types.js';
3
- export { translations } from './translations.js';
@@ -1,2 +0,0 @@
1
- export { I18nProvider, useI18n } from './I18nContext.js';
2
- export { translations } from './translations.js';
@@ -1,2 +0,0 @@
1
- import type { TranslationKeys } from '../types.js';
2
- export declare const en: TranslationKeys;
@@ -1,502 +0,0 @@
1
- export const en = {
2
- welcome: {
3
- title: '❆ SNOW AI CLI',
4
- subtitle: 'Intelligent Command Line Assistant',
5
- startChat: 'Start',
6
- startChatInfo: 'Start a new chat conversation',
7
- apiSettings: 'API & Model Settings',
8
- apiSettingsInfo: 'Configure API settings, AI models, and manage profiles',
9
- proxySettings: 'Proxy & Browser Settings',
10
- proxySettingsInfo: 'Configure system proxy and browser for web search and fetch',
11
- codebaseSettings: 'CodeBase Settings',
12
- codebaseSettingsInfo: 'Configure codebase indexing with embedding models',
13
- systemPromptSettings: 'System Prompt Settings',
14
- systemPromptSettingsInfo: 'Configure custom system prompt (overrides default)',
15
- customHeadersSettings: 'Custom Headers Settings',
16
- customHeadersSettingsInfo: 'Configure custom HTTP headers for API requests',
17
- mcpSettings: 'MCP Settings',
18
- mcpSettingsInfo: 'Configure Model Context Protocol servers',
19
- subAgentSettings: 'Sub-Agent Settings',
20
- subAgentSettingsInfo: 'Configure sub-agents with custom tool permissions',
21
- sensitiveCommands: 'Sensitive Commands',
22
- sensitiveCommandsInfo: 'Configure commands that require confirmation even in YOLO mode',
23
- languageSettings: 'Language Settings',
24
- languageSettingsInfo: 'Switch application language',
25
- themeSettings: 'Theme Settings',
26
- themeSettingsInfo: 'Configure theme and preview DiffViewer',
27
- exit: 'Exit',
28
- exitInfo: 'Exit the application',
29
- },
30
- menu: {
31
- navigate: 'Use ↑↓ keys to navigate, press Enter to select:',
32
- },
33
- proxyConfig: {
34
- title: 'Proxy Configuration',
35
- subtitle: 'Configure system proxy for web search and fetch',
36
- enableProxy: 'Enable Proxy:',
37
- enabled: '[✓] Enabled',
38
- disabled: '[ ] Disabled',
39
- toggleHint: '(Press Enter to toggle)',
40
- proxyPort: 'Proxy Port:',
41
- notSet: 'Not set',
42
- browserPath: 'Browser Path (Optional):',
43
- autoDetect: 'Auto-detect',
44
- errors: 'Errors:',
45
- editingHint: 'Editing mode: Press Enter to save and exit editing (Make your changes and press Enter when done)',
46
- navigationHint: 'Use ↑↓ to navigate between fields, press Enter to edit/toggle, and press Ctrl+S or Esc to save and return',
47
- browserExamplesTitle: 'Browser Path Examples:',
48
- browserExamplesFooter: 'Leave empty to auto-detect system browser (Edge/Chrome)',
49
- portValidationError: 'Port must be a number between 1 and 65535',
50
- portPlaceholder: '7890',
51
- browserPathPlaceholder: 'Leave empty for auto-detect',
52
- windowsExample: '• Windows: C:\\Program Files(x86)\\Microsoft\\Edge\\Application\\msedge.exe',
53
- macosExample: '• macOS: /Applications/Google Chrome.app/Contents/MacOS/Google Chrome',
54
- linuxExample: '• Linux: /usr/bin/chromium-browser',
55
- },
56
- codebaseConfig: {
57
- title: 'CodeBase Configuration',
58
- subtitle: 'Configure codebase indexing and search settings',
59
- settingsPosition: 'Settings',
60
- scrollHint: '· ↑↓ to scroll',
61
- codebaseEnabled: 'CodeBase Enabled:',
62
- agentReview: 'Agent Review:',
63
- enabled: '[✓] Enabled',
64
- disabled: '[ ] Disabled',
65
- toggleHint: '(Press Enter to toggle)',
66
- embeddingModelName: 'Embedding Model Name:',
67
- embeddingBaseUrl: 'Embedding Base URL:',
68
- embeddingApiKey: 'Embedding API Key:',
69
- embeddingApiKeyOptional: 'Embedding API Key (Optional for local):',
70
- embeddingDimensions: 'Embedding Dimensions:',
71
- batchMaxLines: 'Batch Max Lines:',
72
- batchConcurrency: 'Batch Concurrency:',
73
- notSet: 'Not set',
74
- masked: '••••••••',
75
- errors: 'Errors:',
76
- editingHint: 'Editing mode: Type to edit, Enter to save, Esc to cancel',
77
- navigationHint: 'Use ↑↓ to navigate, Enter to edit/toggle, Ctrl+S or Esc to save',
78
- validationModelNameRequired: 'Embedding model name is required when enabled',
79
- validationBaseUrlRequired: 'Embedding base URL is required when enabled',
80
- validationDimensionsPositive: 'Embedding dimensions must be greater than 0',
81
- validationMaxLinesPositive: 'Batch max lines must be greater than 0',
82
- validationConcurrencyPositive: 'Batch concurrency must be greater than 0',
83
- saveError: 'Failed to save configuration',
84
- },
85
- systemPromptConfig: {
86
- title: 'System Prompt Management',
87
- subtitle: 'Manage multiple system prompts and switch between them',
88
- activePrompt: 'Active Prompt:',
89
- none: 'None',
90
- noPromptsConfigured: 'No system prompts configured. Press Enter to add one.',
91
- availablePrompts: 'Available Prompts:',
92
- actions: 'Actions:',
93
- activate: 'Activate',
94
- deactivate: 'Deactivate',
95
- edit: 'Edit',
96
- delete: 'Delete',
97
- addNew: 'Add New',
98
- escBack: '[ESC] Back',
99
- navigationHint: 'Use ↑↓ to select prompt, ←→ to select action, Enter to confirm',
100
- addNewTitle: 'Add New System Prompt',
101
- editTitle: 'Edit System Prompt',
102
- nameLabel: 'Name:',
103
- contentLabel: 'Content:',
104
- enterPromptName: 'Enter prompt name',
105
- enterPromptContent: 'Enter prompt content',
106
- notSet: 'Not set',
107
- editingHint: '↑↓: Navigate fields | Enter: Edit | Ctrl+S: Save | ESC: Cancel',
108
- confirmDelete: 'Confirm Delete',
109
- deleteConfirmMessage: 'Are you sure you want to delete',
110
- confirmHint: 'Press Y to confirm, N or ESC to cancel',
111
- saveError: 'Failed to save',
112
- },
113
- configScreen: {
114
- title: 'API & Model Configuration',
115
- subtitle: 'Configure your API settings and AI models',
116
- activeProfile: 'Active Profile:',
117
- settingsPosition: 'Settings',
118
- scrollHint: '· ↑↓ to scroll',
119
- profile: 'Profile:',
120
- baseUrl: 'Base URL:',
121
- apiKey: 'API Key:',
122
- requestMethod: 'Request Method:',
123
- anthropicBeta: 'Anthropic Beta:',
124
- enablePromptOptimization: 'Enable Prompt Optimization:',
125
- enableAutoCompress: 'Enable Auto Compression:',
126
- thinkingEnabled: 'Thinking Enabled:',
127
- thinkingBudgetTokens: 'Thinking Budget Tokens:',
128
- geminiThinkingEnabled: 'Gemini Thinking Enabled:',
129
- geminiThinkingBudget: 'Gemini Thinking Budget:',
130
- responsesReasoningEnabled: 'Responses Reasoning Enabled:',
131
- responsesReasoningEffort: 'Responses Reasoning Effort:',
132
- advancedModel: 'Advanced Model:',
133
- basicModel: 'Basic Model:',
134
- compactModel: 'Compact Model:',
135
- maxContextTokens: 'Max Context Tokens:',
136
- maxTokens: 'Max Tokens:',
137
- notSet: 'Not set',
138
- enabled: '[✓] Enabled',
139
- disabled: '[ ] Disabled',
140
- toggleHint: '(Press Enter to toggle)',
141
- enterValue: 'Enter value:',
142
- createNewProfile: 'Create New Profile',
143
- enterProfileName: 'Enter a name for the new configuration profile',
144
- profileNamePlaceholder: 'e.g., work, personal, test',
145
- createHint: 'Press Enter to create, Esc to cancel',
146
- deleteProfile: 'Delete Profile',
147
- confirmDelete: 'Confirm profile deletion',
148
- deleteWarning: 'This action cannot be undone. You will be switched to the default profile.',
149
- confirmHint: 'Press Y to confirm, N or Esc to cancel',
150
- loadingModels: 'API & Model Configuration',
151
- loadingMessage: 'Loading available models...',
152
- loadingCancelHint: 'Press Esc to cancel and return to configuration',
153
- manualInputTitle: 'Manual Input Model',
154
- manualInputSubtitle: 'Enter model name manually',
155
- manualInputHint: 'Press Enter to confirm, Esc to cancel',
156
- loadingError: '⚠ Failed to load models from API',
157
- requestMethodChat: 'Chat Completions - Modern chat API (GPT-4, GPT-3.5-turbo)',
158
- requestMethodResponses: 'Responses - New responses API (2025, with built-in tools)',
159
- requestMethodGemini: 'Gemini - Google Gemini API',
160
- requestMethodAnthropic: 'Anthropic - Claude API',
161
- manualInputOption: 'Manual Input (Enter model name)',
162
- errors: 'Errors:',
163
- cannotDeleteDefault: 'Cannot delete the default profile',
164
- profileNameEmpty: 'Profile name cannot be empty',
165
- navigationHint: 'Use ↑↓ to navigate, Enter to edit, M for manual input, Ctrl+S or Esc to save',
166
- editingHintNumeric: 'Type to edit, Enter to save',
167
- editingHintGeneral: 'Press Enter to save and exit editing',
168
- modelFilterHint: 'Type to filter, ↑↓ to select, Enter to confirm, Esc to cancel',
169
- effortSelectHint: '↑↓ to select, Enter to confirm, Esc to cancel',
170
- profileSelectHint: '↑↓ to select profile, N to create new, D to delete, Enter to confirm, Esc to cancel',
171
- requestMethodSelectHint: '↑↓ to select, Enter to confirm, Esc to cancel',
172
- newProfile: '+ New',
173
- deleteProfileShort: '🆇 Delete',
174
- fetchingModels: 'Fetching models from API...',
175
- fetchingHint: 'This may take a few seconds depending on your network connection',
176
- },
177
- customHeaders: {
178
- title: 'Custom Headers Management',
179
- subtitle: 'Manage multiple header schemes and switch between them',
180
- activeScheme: 'Active Scheme:',
181
- none: 'None',
182
- noSchemesConfigured: 'No header schemes configured. Press Enter to add one.',
183
- availableSchemes: 'Available Schemes:',
184
- actions: 'Actions:',
185
- activate: 'Activate',
186
- deactivate: 'Deactivate',
187
- edit: 'Edit',
188
- delete: 'Delete',
189
- addNew: 'Add New',
190
- escBack: '[ESC] Back',
191
- navigationHint: 'Use ↑↓ to select scheme, ←→ to select action, Enter to confirm',
192
- addNewTitle: 'Add New Header Scheme',
193
- editTitle: 'Edit Header Scheme',
194
- nameLabel: 'Name:',
195
- headersLabel: 'Headers',
196
- headersConfigured: 'configured',
197
- enterSchemeName: 'Enter scheme name',
198
- notSet: 'Not set',
199
- pressEnterToEdit: 'Press Enter to edit headers →',
200
- editingHint: '↑↓: Navigate fields | Enter: Edit | Ctrl+S: Save | ESC: Cancel',
201
- confirmDelete: 'Confirm Delete',
202
- deleteConfirmMessage: 'Are you sure you want to delete',
203
- confirmHint: 'Press Y to confirm, N or ESC to cancel',
204
- saveError: 'Failed to save',
205
- editHeadersTitle: 'Edit Headers',
206
- headerList: 'Header List:',
207
- noHeadersConfigured: 'No headers configured. Press Enter to add one.',
208
- addNewHeader: '[+] Add new header',
209
- headerNavigationHint: '↑↓: Navigate | Enter: Edit/Add | D: Delete | ESC: Finish',
210
- keyLabel: 'Key:',
211
- valueLabel: 'Value:',
212
- headerKeyPlaceholder: 'Header key (e.g., X-API-Key)',
213
- headerValuePlaceholder: 'Header value',
214
- headerEditingHint: '↑↓: Navigate fields | Enter: Edit | Ctrl+S: Save | ESC: Cancel',
215
- },
216
- subAgentConfig: {
217
- title: 'Sub-Agent Configuration',
218
- titleEdit: 'Edit',
219
- titleNew: 'New',
220
- subtitle: 'Configure sub-agents with custom tool permissions',
221
- agentName: 'Agent Name:',
222
- description: 'Description:',
223
- role: 'Role:',
224
- roleOptional: 'Role (Optional):',
225
- toolSelection: 'Tool Selection:',
226
- agentNamePlaceholder: 'Enter agent name...',
227
- descriptionPlaceholder: 'Enter agent description...',
228
- rolePlaceholder: 'Specify agent role to guide output and focus...',
229
- selectedTools: 'Selected:',
230
- toolsCount: 'tools',
231
- loadingMCP: 'Loading MCP services...',
232
- mcpLoadError: '⚠',
233
- categoryCount: '({selected}/{total})',
234
- categoryMCP: '(MCP)',
235
- navigationHint: '↑↓: Navigate | ←→: Switch category | Space: Toggle | A: Toggle all | Enter: Save | Esc: Back',
236
- saveSuccess: 'Sub-agent saved successfully!',
237
- saveSuccessEdit: 'updated',
238
- saveSuccessCreate: 'created',
239
- saveError: 'Failed to save sub-agent',
240
- validationFailed: 'Validation failed',
241
- filesystemTools: 'Filesystem Tools',
242
- aceTools: 'ACE Code Search Tools',
243
- codebaseTools: 'Codebase Search Tools',
244
- terminalTools: 'Terminal Tools',
245
- todoTools: 'TODO Management Tools',
246
- webSearchTools: 'Web Search Tools',
247
- ideTools: 'IDE Diagnostics Tools',
248
- },
249
- sensitiveCommandConfig: {
250
- title: 'Sensitive Command Protection',
251
- subtitle: 'Configure commands that require confirmation even in YOLO/Always-Approved mode',
252
- noCommands: 'No commands configured',
253
- custom: 'custom',
254
- enabled: 'Enabled',
255
- disabled: 'Disabled',
256
- customLabel: 'Custom',
257
- // Add view
258
- addTitle: 'Add Custom Sensitive Command',
259
- patternLabel: 'Pattern (supports wildcards, e.g., "rm*"):',
260
- patternPlaceholder: 'e.g., rm -rf, sudo, etc.',
261
- descriptionLabel: 'Description:',
262
- addEditingHint: 'Tab: Switch • Enter: Submit • Esc: Cancel',
263
- // List view actions
264
- addedMessage: 'Added: {pattern}',
265
- enabledMessage: 'Enabled: {pattern}',
266
- disabledMessage: 'Disabled: {pattern}',
267
- deletedMessage: 'Deleted: {pattern}',
268
- resetMessage: 'Reset to default commands',
269
- // Confirmation messages
270
- confirmDeleteMessage: '⚠️ Press D again to confirm deletion of "{pattern}"',
271
- confirmResetMessage: '⚠️ Press R again to confirm reset to default commands',
272
- confirmHint: 'Press the same key again to confirm • Esc: Cancel',
273
- // Navigation hints
274
- listNavigationHint: '↑↓: Navigate • Space: Toggle • A: Add • D: Delete • R: Reset • Esc: Back',
275
- },
276
- themeSettings: {
277
- title: 'Theme Settings',
278
- current: 'Current:',
279
- preview: 'Preview:',
280
- back: '← Back',
281
- backInfo: 'Return to main menu',
282
- darkTheme: 'Dark Theme',
283
- darkThemeInfo: 'Classic dark color scheme',
284
- lightTheme: 'Light Theme',
285
- lightThemeInfo: 'Classic light color scheme',
286
- githubDark: 'GitHub Dark',
287
- githubDarkInfo: 'GitHub inspired dark theme',
288
- rainbow: 'Rainbow',
289
- rainbowInfo: 'Vibrant rainbow colors for a fun experience',
290
- solarizedDark: 'Solarized Dark',
291
- solarizedDarkInfo: 'Solarized dark theme with precision colors',
292
- nord: 'Nord',
293
- nordInfo: 'Arctic, north-bluish color palette',
294
- },
295
- helpPanel: {
296
- title: '🔰 Keyboard Shortcuts & Help',
297
- textEditingTitle: '📝 Text Editing:',
298
- deleteToStart: 'Ctrl+L - Delete from cursor to start',
299
- deleteToEnd: 'Ctrl+R - Delete from cursor to end',
300
- pasteImages: '{pasteKey} - Paste images from clipboard',
301
- quickAccessTitle: '🔍 Quick Access:',
302
- insertFiles: '@ - Insert files from project',
303
- searchContent: '@@ - Search file content',
304
- selectAgent: '# - Select sub-agent for task execution',
305
- showCommands: '/ - Show available commands',
306
- navigationTitle: '📋 Navigation:',
307
- navigateHistory: '↑/↓ - Navigate command/message history',
308
- selectItem: 'Tab/Enter - Select item in pickers',
309
- cancelClose: 'ESC - Cancel/close pickers or interrupt AI response',
310
- toggleYolo: 'Shift+Tab - Toggle YOLO mode (auto-approve tools)',
311
- tipsTitle: '💡 Tips:',
312
- tipUseHelp: 'Use /help anytime to see this information',
313
- tipShowCommands: 'Type / to see all available commands',
314
- tipInterrupt: 'Press ESC during AI response to interrupt',
315
- closeHint: 'Press ESC to close this help panel',
316
- },
317
- commandPanel: {
318
- title: 'Command Panel',
319
- availableCommands: 'Available Commands',
320
- processingMessage: 'Please wait for the conversation to complete before using commands',
321
- scrollHint: '↑↓ to scroll',
322
- moreHidden: '{count} more hidden',
323
- commands: {
324
- help: 'Show keyboard shortcuts and help information',
325
- clear: 'Clear chat context and conversation history',
326
- resume: 'Resume a conversation',
327
- mcp: 'Show Model Context Protocol services and tools',
328
- yolo: 'Toggle unattended mode (auto-approve all tools)',
329
- init: 'Analyze project and generate/update SNOW.md documentation',
330
- ide: 'Connect to VSCode editor and sync context',
331
- compact: 'Compress conversation history using compact model',
332
- home: 'Return to welcome screen to modify settings',
333
- review: 'Review git changes and identify potential issues. Support: /review [optional note]',
334
- role: 'Open or create ROLE.md file to customize AI assistant role',
335
- usage: 'View token usage statistics with interactive charts',
336
- export: 'Export chat conversation to text file with save dialog',
337
- agent: 'Select and use a sub-agent to handle specific tasks',
338
- todo: 'Search and select TODO comments from project files',
339
- },
340
- },
341
- hooks: {
342
- pressCtrlCAgain: 'Press Ctrl+C again to exit',
343
- },
344
- chatScreen: {
345
- // Header
346
- headerTitle: 'Programming efficiency x10!',
347
- headerSubtitle: '❆ SNOW AI CLI',
348
- headerExplanations: 'Ask for code explanations and debugging help',
349
- headerInterrupt: 'Press ESC during response to interrupt',
350
- headerYolo: 'Press Shift+Tab: toggle YOLO',
351
- headerShortcuts: "Shortcuts: Ctrl+L (delete to start) • Ctrl+R (delete to end) • {pasteKey} (paste images) • '@' (files) • '@@' (search content) • '#' (sub-agents) • '/' (commands)",
352
- headerWorkingDirectory: 'Working directory: {directory}',
353
- // Status messages
354
- statusThinking: 'Thinking...',
355
- statusDeepThinking: 'Deep thinking...',
356
- statusWriting: 'Writing...',
357
- statusStreaming: 'Streaming',
358
- statusWorking: 'Working',
359
- statusIndexing: 'Indexing codebase...',
360
- statusWatcherActive: 'File watcher active - monitoring code changes',
361
- statusFileUpdated: 'Updated: {file}',
362
- statusCreating: 'Creating...',
363
- statusSaving: 'Saving...',
364
- statusCompressing: 'Compressing...',
365
- statusConnecting: 'Connecting to IDE...',
366
- statusConnected: 'IDE Connected',
367
- statusConnectionFailed: 'Connection Failed - Make sure Snow CLI plugin is installed and active in your IDE',
368
- // Tool execution
369
- toolCall: 'Tool call',
370
- toolThinking: 'Thinking',
371
- toolReading: 'Reading',
372
- toolWriting: 'Writing',
373
- toolSearching: 'Searching',
374
- toolExecuting: 'Executing',
375
- toolSuccess: '✓ Success',
376
- toolFailed: '✗ Failed',
377
- toolRejected: '✗ Rejected',
378
- // Parallel execution
379
- parallelStart: '┌─ Parallel execution',
380
- parallelEnd: '└─ End parallel execution',
381
- // Messages
382
- userMessage: 'You',
383
- assistantMessage: 'Assistant',
384
- commandMessage: 'Command',
385
- discontinuedMessage: '└─ user discontinue',
386
- // File operations
387
- fileCreated: 'Created',
388
- fileModified: 'Modified',
389
- fileRead: 'Read',
390
- fileDeleted: 'Deleted',
391
- fileCount: '{count} files',
392
- fileNotFound: 'file not found',
393
- fileLine: 'line',
394
- fileLines: 'lines',
395
- // Images
396
- imageAttached: '[image #{index}]',
397
- // Token usage
398
- tokenTotal: 'Total tokens',
399
- tokenInput: 'Input tokens',
400
- tokenOutput: 'Output tokens',
401
- tokenCached: 'Cached tokens',
402
- tokenCacheCreation: 'Cache creation',
403
- tokenCacheRead: 'Cache read',
404
- // Time
405
- timeElapsed: 'Elapsed',
406
- timeSeconds: '{count}s',
407
- timeMinutes: '{count}m',
408
- timeHours: '{count}h',
409
- // Errors
410
- errorGeneric: 'Error: {message}',
411
- errorApi: 'API Error: {message}',
412
- errorNetwork: 'Network Error: {message}',
413
- errorConfig: 'Configuration Error: {message}',
414
- errorCompression: 'Compression Error: {message}',
415
- errorCompressionFailed: 'Auto-compression Failed',
416
- errorLoadSession: 'Failed to load session',
417
- errorRollback: 'Failed to rollback',
418
- // Warnings
419
- terminalTooSmall: '⚠ Terminal Too Small',
420
- terminalResizePrompt: 'Your terminal height is {current} lines, but at least {required} lines are required.',
421
- terminalMinHeight: 'Please resize your terminal window to continue.',
422
- // Compression
423
- compressionAuto: '✵ Auto-compressing context due to token limit...',
424
- compressionInProgress: 'Compressing conversation history...',
425
- compressionSuccess: 'Compression complete',
426
- compressionFailed: '✗ Compression failed: {error}',
427
- // Retry
428
- retryAttempt: 'Retry {current}/{max}',
429
- retryIn: 'in {seconds}s...',
430
- retryResending: '⟳ Resending... (Attempt {current}/{max})',
431
- retryError: '✗ Error: {message}',
432
- // Codebase
433
- codebaseIndexing: 'Indexing codebase... {processed}/{total} files',
434
- codebaseProgress: '{chunks} chunks',
435
- codebaseChunks: 'chunks',
436
- codebaseSearching: '⏏ Codebase Search (Attempt {current}/{max})',
437
- codebaseSearchAttempt: 'Attempt {current}/{max}',
438
- codebaseSearchComplete: 'Codebase search complete',
439
- // IDE
440
- ideConnecting: 'Connecting to IDE...',
441
- ideConnected: 'IDE Connected',
442
- ideDisconnected: 'IDE Disconnected',
443
- ideError: 'Connection Failed - Make sure Snow CLI plugin is installed and active in your IDE',
444
- ideActiveFile: '| {file}',
445
- ideSelectedText: '| {count} chars selected',
446
- // Input
447
- inputPlaceholder: 'Ask me anything about coding...',
448
- inputProcessing: 'Processing...',
449
- inputDisabled: 'Input disabled',
450
- // Shortcuts
451
- shortcutPasteImage: 'Paste images',
452
- shortcutFileReference: 'Reference files',
453
- shortcutSearchContent: 'Search content',
454
- shortcutCommands: 'Commands',
455
- shortcutDeleteToStart: 'Delete to start',
456
- shortcutDeleteToEnd: 'Delete to end',
457
- shortcutCancel: 'Cancel (ESC)',
458
- shortcutRegenerate: 'Regenerate (Ctrl+R)',
459
- shortcutToggleYolo: 'Toggle YOLO (Shift+Tab)',
460
- // Rollback
461
- rollbackConfirm: 'Confirm rollback',
462
- rollbackFiles: 'Rollback files',
463
- rollbackConversation: 'Rollback conversation only',
464
- rollbackWarning: '{count} files will be affected',
465
- // Session
466
- sessionCreating: 'Create the first dialogue record file...',
467
- sessionLoading: 'Loading session...',
468
- sessionSaving: 'Saving session...',
469
- sessionDeleting: 'Deleting session...',
470
- // Rejection
471
- rejectionReason: 'Rejection reason:',
472
- rejectionNoReason: 'No reason provided',
473
- // Batch operations
474
- batchFile: 'File {index}: {path}',
475
- batchEditResults: 'Batch edit results',
476
- // Pending
477
- pendingMessageWaiting: 'Pending message waiting...',
478
- pendingToolConfirmation: 'Tool confirmation required',
479
- // Press keys hints
480
- pressEscToClose: 'Press ESC to close',
481
- pressEnterToToggle: 'Press Enter to toggle',
482
- pressCtrlC: 'Ctrl+C to cancel',
483
- pressCtrlR: 'Ctrl+R to regenerate',
484
- pressCtrlS: 'Ctrl+S to save',
485
- // Context
486
- contextUsage: 'Context usage: {percentage}%',
487
- contextPercentage: '{percentage}%',
488
- contextLimit: 'Token limit reached',
489
- // ChatInput
490
- waitingForResponse: 'Waiting for response...',
491
- moreAbove: '↑ {count} more above...',
492
- moreBelow: '↓ {count} more below...',
493
- historyNavigateHint: '↑↓ navigate · Enter select · ESC close',
494
- typeToFilterCommands: 'Type to filter commands',
495
- contentSearchHint: 'Content search • Tab/Enter to select • ESC to cancel',
496
- fileSearchHint: 'Type to filter files • Tab/Enter to select • ESC to cancel',
497
- yoloModeActive: '❁ YOLO MODE ACTIVE - All tools will be auto-approved without confirmation',
498
- tokens: ' tokens',
499
- cached: 'cached',
500
- newCache: 'new cache',
501
- },
502
- };
@@ -1,2 +0,0 @@
1
- import type { TranslationKeys } from '../types.js';
2
- export declare const es: TranslationKeys;