snow-ai 0.4.16 → 0.4.18

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 (352) hide show
  1. package/bundle/cli.mjs +477445 -0
  2. package/bundle/sql-wasm.wasm +0 -0
  3. package/bundle/tiktoken_bg.wasm +0 -0
  4. package/package.json +31 -26
  5. package/dist/agents/codebaseIndexAgent.d.ts +0 -102
  6. package/dist/agents/codebaseIndexAgent.js +0 -641
  7. package/dist/agents/codebaseReviewAgent.d.ts +0 -61
  8. package/dist/agents/codebaseReviewAgent.js +0 -301
  9. package/dist/agents/compactAgent.d.ts +0 -55
  10. package/dist/agents/compactAgent.js +0 -306
  11. package/dist/agents/promptOptimizeAgent.d.ts +0 -54
  12. package/dist/agents/promptOptimizeAgent.js +0 -268
  13. package/dist/agents/reviewAgent.d.ts +0 -50
  14. package/dist/agents/reviewAgent.js +0 -265
  15. package/dist/agents/summaryAgent.d.ts +0 -57
  16. package/dist/agents/summaryAgent.js +0 -260
  17. package/dist/api/anthropic.d.ts +0 -44
  18. package/dist/api/anthropic.js +0 -598
  19. package/dist/api/chat.d.ts +0 -73
  20. package/dist/api/chat.js +0 -386
  21. package/dist/api/embedding.d.ts +0 -34
  22. package/dist/api/embedding.js +0 -80
  23. package/dist/api/gemini.d.ts +0 -31
  24. package/dist/api/gemini.js +0 -445
  25. package/dist/api/models.d.ts +0 -15
  26. package/dist/api/models.js +0 -139
  27. package/dist/api/responses.d.ts +0 -38
  28. package/dist/api/responses.js +0 -515
  29. package/dist/api/systemPrompt.d.ts +0 -4
  30. package/dist/api/systemPrompt.js +0 -408
  31. package/dist/api/types.d.ts +0 -53
  32. package/dist/api/types.js +0 -4
  33. package/dist/app.d.ts +0 -8
  34. package/dist/app.js +0 -112
  35. package/dist/cli.d.ts +0 -2
  36. package/dist/cli.js +0 -199
  37. package/dist/hooks/useAgentPicker.d.ts +0 -14
  38. package/dist/hooks/useAgentPicker.js +0 -119
  39. package/dist/hooks/useClipboard.d.ts +0 -4
  40. package/dist/hooks/useClipboard.js +0 -175
  41. package/dist/hooks/useCommandHandler.d.ts +0 -35
  42. package/dist/hooks/useCommandHandler.js +0 -346
  43. package/dist/hooks/useCommandPanel.d.ts +0 -17
  44. package/dist/hooks/useCommandPanel.js +0 -114
  45. package/dist/hooks/useConversation.d.ts +0 -49
  46. package/dist/hooks/useConversation.js +0 -1052
  47. package/dist/hooks/useFilePicker.d.ts +0 -18
  48. package/dist/hooks/useFilePicker.js +0 -224
  49. package/dist/hooks/useGlobalExit.d.ts +0 -5
  50. package/dist/hooks/useGlobalExit.js +0 -34
  51. package/dist/hooks/useGlobalNavigation.d.ts +0 -6
  52. package/dist/hooks/useGlobalNavigation.js +0 -17
  53. package/dist/hooks/useHistoryNavigation.d.ts +0 -35
  54. package/dist/hooks/useHistoryNavigation.js +0 -133
  55. package/dist/hooks/useInputBuffer.d.ts +0 -6
  56. package/dist/hooks/useInputBuffer.js +0 -45
  57. package/dist/hooks/useKeyboardInput.d.ts +0 -80
  58. package/dist/hooks/useKeyboardInput.js +0 -608
  59. package/dist/hooks/useSessionManagement.d.ts +0 -10
  60. package/dist/hooks/useSessionManagement.js +0 -43
  61. package/dist/hooks/useSessionSave.d.ts +0 -8
  62. package/dist/hooks/useSessionSave.js +0 -63
  63. package/dist/hooks/useSnapshotState.d.ts +0 -26
  64. package/dist/hooks/useSnapshotState.js +0 -28
  65. package/dist/hooks/useStreamingState.d.ts +0 -33
  66. package/dist/hooks/useStreamingState.js +0 -105
  67. package/dist/hooks/useTerminalFocus.d.ts +0 -28
  68. package/dist/hooks/useTerminalFocus.js +0 -87
  69. package/dist/hooks/useTerminalSize.d.ts +0 -4
  70. package/dist/hooks/useTerminalSize.js +0 -20
  71. package/dist/hooks/useTodoPicker.d.ts +0 -16
  72. package/dist/hooks/useTodoPicker.js +0 -94
  73. package/dist/hooks/useToolConfirmation.d.ts +0 -19
  74. package/dist/hooks/useToolConfirmation.js +0 -61
  75. package/dist/hooks/useVSCodeState.d.ts +0 -8
  76. package/dist/hooks/useVSCodeState.js +0 -81
  77. package/dist/i18n/I18nContext.d.ts +0 -14
  78. package/dist/i18n/I18nContext.js +0 -24
  79. package/dist/i18n/index.d.ts +0 -3
  80. package/dist/i18n/index.js +0 -2
  81. package/dist/i18n/lang/en.d.ts +0 -2
  82. package/dist/i18n/lang/en.js +0 -502
  83. package/dist/i18n/lang/es.d.ts +0 -2
  84. package/dist/i18n/lang/es.js +0 -502
  85. package/dist/i18n/lang/ja.d.ts +0 -2
  86. package/dist/i18n/lang/ja.js +0 -502
  87. package/dist/i18n/lang/ko.d.ts +0 -2
  88. package/dist/i18n/lang/ko.js +0 -502
  89. package/dist/i18n/lang/zh-TW.d.ts +0 -2
  90. package/dist/i18n/lang/zh-TW.js +0 -502
  91. package/dist/i18n/lang/zh.d.ts +0 -2
  92. package/dist/i18n/lang/zh.js +0 -502
  93. package/dist/i18n/translations.d.ts +0 -2
  94. package/dist/i18n/translations.js +0 -14
  95. package/dist/i18n/types.d.ts +0 -478
  96. package/dist/i18n/types.js +0 -1
  97. package/dist/mcp/aceCodeSearch.d.ts +0 -247
  98. package/dist/mcp/aceCodeSearch.js +0 -1058
  99. package/dist/mcp/bash.d.ts +0 -50
  100. package/dist/mcp/bash.js +0 -153
  101. package/dist/mcp/codebaseSearch.d.ts +0 -44
  102. package/dist/mcp/codebaseSearch.js +0 -275
  103. package/dist/mcp/filesystem.d.ts +0 -392
  104. package/dist/mcp/filesystem.js +0 -1445
  105. package/dist/mcp/ideDiagnostics.d.ts +0 -36
  106. package/dist/mcp/ideDiagnostics.js +0 -90
  107. package/dist/mcp/notebook.d.ts +0 -10
  108. package/dist/mcp/notebook.js +0 -367
  109. package/dist/mcp/subagent.d.ts +0 -37
  110. package/dist/mcp/subagent.js +0 -113
  111. package/dist/mcp/todo.d.ts +0 -46
  112. package/dist/mcp/todo.js +0 -511
  113. package/dist/mcp/types/aceCodeSearch.types.d.ts +0 -92
  114. package/dist/mcp/types/aceCodeSearch.types.js +0 -4
  115. package/dist/mcp/types/bash.types.d.ts +0 -13
  116. package/dist/mcp/types/bash.types.js +0 -4
  117. package/dist/mcp/types/filesystem.types.d.ts +0 -210
  118. package/dist/mcp/types/filesystem.types.js +0 -27
  119. package/dist/mcp/types/todo.types.d.ts +0 -27
  120. package/dist/mcp/types/todo.types.js +0 -4
  121. package/dist/mcp/types/websearch.types.d.ts +0 -30
  122. package/dist/mcp/types/websearch.types.js +0 -4
  123. package/dist/mcp/utils/aceCodeSearch/filesystem.utils.d.ts +0 -34
  124. package/dist/mcp/utils/aceCodeSearch/filesystem.utils.js +0 -146
  125. package/dist/mcp/utils/aceCodeSearch/language.utils.d.ts +0 -14
  126. package/dist/mcp/utils/aceCodeSearch/language.utils.js +0 -418
  127. package/dist/mcp/utils/aceCodeSearch/search.utils.d.ts +0 -31
  128. package/dist/mcp/utils/aceCodeSearch/search.utils.js +0 -136
  129. package/dist/mcp/utils/aceCodeSearch/symbol.utils.d.ts +0 -20
  130. package/dist/mcp/utils/aceCodeSearch/symbol.utils.js +0 -141
  131. package/dist/mcp/utils/bash/security.utils.d.ts +0 -20
  132. package/dist/mcp/utils/bash/security.utils.js +0 -34
  133. package/dist/mcp/utils/filesystem/batch-operations.utils.d.ts +0 -39
  134. package/dist/mcp/utils/filesystem/batch-operations.utils.js +0 -182
  135. package/dist/mcp/utils/filesystem/code-analysis.utils.d.ts +0 -18
  136. package/dist/mcp/utils/filesystem/code-analysis.utils.js +0 -165
  137. package/dist/mcp/utils/filesystem/match-finder.utils.d.ts +0 -16
  138. package/dist/mcp/utils/filesystem/match-finder.utils.js +0 -85
  139. package/dist/mcp/utils/filesystem/office-parser.utils.d.ts +0 -43
  140. package/dist/mcp/utils/filesystem/office-parser.utils.js +0 -163
  141. package/dist/mcp/utils/filesystem/path-fixer.utils.d.ts +0 -7
  142. package/dist/mcp/utils/filesystem/path-fixer.utils.js +0 -60
  143. package/dist/mcp/utils/filesystem/similarity.utils.d.ts +0 -22
  144. package/dist/mcp/utils/filesystem/similarity.utils.js +0 -75
  145. package/dist/mcp/utils/todo/date.utils.d.ts +0 -9
  146. package/dist/mcp/utils/todo/date.utils.js +0 -14
  147. package/dist/mcp/utils/websearch/browser.utils.d.ts +0 -8
  148. package/dist/mcp/utils/websearch/browser.utils.js +0 -58
  149. package/dist/mcp/utils/websearch/text.utils.d.ts +0 -16
  150. package/dist/mcp/utils/websearch/text.utils.js +0 -39
  151. package/dist/mcp/websearch.d.ts +0 -88
  152. package/dist/mcp/websearch.js +0 -375
  153. package/dist/test/logger-test.d.ts +0 -1
  154. package/dist/test/logger-test.js +0 -7
  155. package/dist/types/index.d.ts +0 -15
  156. package/dist/types/index.js +0 -1
  157. package/dist/ui/components/AgentPickerPanel.d.ts +0 -10
  158. package/dist/ui/components/AgentPickerPanel.js +0 -74
  159. package/dist/ui/components/ChatInput.d.ts +0 -46
  160. package/dist/ui/components/ChatInput.js +0 -384
  161. package/dist/ui/components/CommandPanel.d.ts +0 -15
  162. package/dist/ui/components/CommandPanel.js +0 -80
  163. package/dist/ui/components/DiffViewer.d.ts +0 -11
  164. package/dist/ui/components/DiffViewer.js +0 -178
  165. package/dist/ui/components/FileList.d.ts +0 -15
  166. package/dist/ui/components/FileList.js +0 -360
  167. package/dist/ui/components/FileRollbackConfirmation.d.ts +0 -8
  168. package/dist/ui/components/FileRollbackConfirmation.js +0 -108
  169. package/dist/ui/components/HelpPanel.d.ts +0 -2
  170. package/dist/ui/components/HelpPanel.js +0 -67
  171. package/dist/ui/components/MCPInfoPanel.d.ts +0 -2
  172. package/dist/ui/components/MCPInfoPanel.js +0 -108
  173. package/dist/ui/components/MCPInfoScreen.d.ts +0 -7
  174. package/dist/ui/components/MCPInfoScreen.js +0 -115
  175. package/dist/ui/components/MarkdownRenderer.d.ts +0 -6
  176. package/dist/ui/components/MarkdownRenderer.js +0 -70
  177. package/dist/ui/components/Menu.d.ts +0 -17
  178. package/dist/ui/components/Menu.js +0 -88
  179. package/dist/ui/components/MessageList.d.ts +0 -56
  180. package/dist/ui/components/MessageList.js +0 -97
  181. package/dist/ui/components/PendingMessages.d.ts +0 -13
  182. package/dist/ui/components/PendingMessages.js +0 -29
  183. package/dist/ui/components/PendingToolCalls.d.ts +0 -11
  184. package/dist/ui/components/PendingToolCalls.js +0 -35
  185. package/dist/ui/components/ScrollableSelectInput.d.ts +0 -29
  186. package/dist/ui/components/ScrollableSelectInput.js +0 -157
  187. package/dist/ui/components/SessionListPanel.d.ts +0 -7
  188. package/dist/ui/components/SessionListPanel.js +0 -175
  189. package/dist/ui/components/SessionListScreen.d.ts +0 -7
  190. package/dist/ui/components/SessionListScreen.js +0 -217
  191. package/dist/ui/components/SessionListScreenWrapper.d.ts +0 -7
  192. package/dist/ui/components/SessionListScreenWrapper.js +0 -14
  193. package/dist/ui/components/ShimmerText.d.ts +0 -9
  194. package/dist/ui/components/ShimmerText.js +0 -30
  195. package/dist/ui/components/TodoPickerPanel.d.ts +0 -14
  196. package/dist/ui/components/TodoPickerPanel.js +0 -119
  197. package/dist/ui/components/TodoTree.d.ts +0 -15
  198. package/dist/ui/components/TodoTree.js +0 -60
  199. package/dist/ui/components/ToolConfirmation.d.ts +0 -21
  200. package/dist/ui/components/ToolConfirmation.js +0 -204
  201. package/dist/ui/components/ToolResultPreview.d.ts +0 -13
  202. package/dist/ui/components/ToolResultPreview.js +0 -337
  203. package/dist/ui/components/UsagePanel.d.ts +0 -2
  204. package/dist/ui/components/UsagePanel.js +0 -394
  205. package/dist/ui/contexts/ThemeContext.d.ts +0 -13
  206. package/dist/ui/contexts/ThemeContext.js +0 -28
  207. package/dist/ui/pages/ChatScreen.d.ts +0 -6
  208. package/dist/ui/pages/ChatScreen.js +0 -1519
  209. package/dist/ui/pages/CodeBaseConfigScreen.d.ts +0 -8
  210. package/dist/ui/pages/CodeBaseConfigScreen.js +0 -350
  211. package/dist/ui/pages/ConfigScreen.d.ts +0 -8
  212. package/dist/ui/pages/ConfigScreen.js +0 -1101
  213. package/dist/ui/pages/CustomHeadersScreen.d.ts +0 -6
  214. package/dist/ui/pages/CustomHeadersScreen.js +0 -502
  215. package/dist/ui/pages/HeadlessModeScreen.d.ts +0 -7
  216. package/dist/ui/pages/HeadlessModeScreen.js +0 -381
  217. package/dist/ui/pages/LanguageSettingsScreen.d.ts +0 -7
  218. package/dist/ui/pages/LanguageSettingsScreen.js +0 -91
  219. package/dist/ui/pages/MCPConfigScreen.d.ts +0 -6
  220. package/dist/ui/pages/MCPConfigScreen.js +0 -55
  221. package/dist/ui/pages/ProxyConfigScreen.d.ts +0 -8
  222. package/dist/ui/pages/ProxyConfigScreen.js +0 -149
  223. package/dist/ui/pages/SensitiveCommandConfigScreen.d.ts +0 -7
  224. package/dist/ui/pages/SensitiveCommandConfigScreen.js +0 -271
  225. package/dist/ui/pages/SubAgentConfigScreen.d.ts +0 -9
  226. package/dist/ui/pages/SubAgentConfigScreen.js +0 -435
  227. package/dist/ui/pages/SubAgentListScreen.d.ts +0 -9
  228. package/dist/ui/pages/SubAgentListScreen.js +0 -131
  229. package/dist/ui/pages/SystemPromptConfigScreen.d.ts +0 -6
  230. package/dist/ui/pages/SystemPromptConfigScreen.js +0 -326
  231. package/dist/ui/pages/ThemeSettingsScreen.d.ts +0 -7
  232. package/dist/ui/pages/ThemeSettingsScreen.js +0 -106
  233. package/dist/ui/pages/WelcomeScreen.d.ts +0 -7
  234. package/dist/ui/pages/WelcomeScreen.js +0 -217
  235. package/dist/ui/themes/index.d.ts +0 -23
  236. package/dist/ui/themes/index.js +0 -140
  237. package/dist/utils/apiConfig.d.ts +0 -126
  238. package/dist/utils/apiConfig.js +0 -423
  239. package/dist/utils/autoCompress.d.ts +0 -15
  240. package/dist/utils/autoCompress.js +0 -24
  241. package/dist/utils/chatExporter.d.ts +0 -9
  242. package/dist/utils/chatExporter.js +0 -118
  243. package/dist/utils/checkpointManager.d.ts +0 -74
  244. package/dist/utils/checkpointManager.js +0 -181
  245. package/dist/utils/codebaseConfig.d.ts +0 -16
  246. package/dist/utils/codebaseConfig.js +0 -67
  247. package/dist/utils/codebaseDatabase.d.ts +0 -102
  248. package/dist/utils/codebaseDatabase.js +0 -333
  249. package/dist/utils/codebaseSearchEvents.d.ts +0 -16
  250. package/dist/utils/codebaseSearchEvents.js +0 -13
  251. package/dist/utils/commandExecutor.d.ts +0 -13
  252. package/dist/utils/commandExecutor.js +0 -26
  253. package/dist/utils/commands/agent.d.ts +0 -2
  254. package/dist/utils/commands/agent.js +0 -12
  255. package/dist/utils/commands/clear.d.ts +0 -2
  256. package/dist/utils/commands/clear.js +0 -12
  257. package/dist/utils/commands/compact.d.ts +0 -2
  258. package/dist/utils/commands/compact.js +0 -12
  259. package/dist/utils/commands/export.d.ts +0 -2
  260. package/dist/utils/commands/export.js +0 -12
  261. package/dist/utils/commands/help.d.ts +0 -2
  262. package/dist/utils/commands/help.js +0 -11
  263. package/dist/utils/commands/home.d.ts +0 -2
  264. package/dist/utils/commands/home.js +0 -34
  265. package/dist/utils/commands/ide.d.ts +0 -2
  266. package/dist/utils/commands/ide.js +0 -32
  267. package/dist/utils/commands/init.d.ts +0 -2
  268. package/dist/utils/commands/init.js +0 -93
  269. package/dist/utils/commands/mcp.d.ts +0 -2
  270. package/dist/utils/commands/mcp.js +0 -12
  271. package/dist/utils/commands/resume.d.ts +0 -2
  272. package/dist/utils/commands/resume.js +0 -12
  273. package/dist/utils/commands/review.d.ts +0 -2
  274. package/dist/utils/commands/review.js +0 -81
  275. package/dist/utils/commands/role.d.ts +0 -2
  276. package/dist/utils/commands/role.js +0 -37
  277. package/dist/utils/commands/todoPicker.d.ts +0 -2
  278. package/dist/utils/commands/todoPicker.js +0 -12
  279. package/dist/utils/commands/usage.d.ts +0 -2
  280. package/dist/utils/commands/usage.js +0 -12
  281. package/dist/utils/commands/yolo.d.ts +0 -2
  282. package/dist/utils/commands/yolo.js +0 -12
  283. package/dist/utils/configManager.d.ts +0 -45
  284. package/dist/utils/configManager.js +0 -303
  285. package/dist/utils/contextCompressor.d.ts +0 -16
  286. package/dist/utils/contextCompressor.js +0 -334
  287. package/dist/utils/devMode.d.ts +0 -13
  288. package/dist/utils/devMode.js +0 -54
  289. package/dist/utils/escapeHandler.d.ts +0 -79
  290. package/dist/utils/escapeHandler.js +0 -153
  291. package/dist/utils/fileDialog.d.ts +0 -9
  292. package/dist/utils/fileDialog.js +0 -74
  293. package/dist/utils/fileUtils.d.ts +0 -40
  294. package/dist/utils/fileUtils.js +0 -185
  295. package/dist/utils/historyManager.d.ts +0 -45
  296. package/dist/utils/historyManager.js +0 -159
  297. package/dist/utils/incrementalSnapshot.d.ts +0 -109
  298. package/dist/utils/incrementalSnapshot.js +0 -383
  299. package/dist/utils/index.d.ts +0 -11
  300. package/dist/utils/index.js +0 -18
  301. package/dist/utils/languageConfig.d.ts +0 -21
  302. package/dist/utils/languageConfig.js +0 -61
  303. package/dist/utils/logger.d.ts +0 -37
  304. package/dist/utils/logger.js +0 -122
  305. package/dist/utils/mcpToolsManager.d.ts +0 -52
  306. package/dist/utils/mcpToolsManager.js +0 -878
  307. package/dist/utils/messageFormatter.d.ts +0 -12
  308. package/dist/utils/messageFormatter.js +0 -115
  309. package/dist/utils/notebookManager.d.ts +0 -59
  310. package/dist/utils/notebookManager.js +0 -213
  311. package/dist/utils/patch-highlight.d.ts +0 -5
  312. package/dist/utils/patch-highlight.js +0 -23
  313. package/dist/utils/processManager.d.ts +0 -27
  314. package/dist/utils/processManager.js +0 -75
  315. package/dist/utils/proxyUtils.d.ts +0 -15
  316. package/dist/utils/proxyUtils.js +0 -50
  317. package/dist/utils/resourceMonitor.d.ts +0 -65
  318. package/dist/utils/resourceMonitor.js +0 -175
  319. package/dist/utils/retryUtils.d.ts +0 -49
  320. package/dist/utils/retryUtils.js +0 -303
  321. package/dist/utils/sensitiveCommandManager.d.ts +0 -53
  322. package/dist/utils/sensitiveCommandManager.js +0 -308
  323. package/dist/utils/sessionConverter.d.ts +0 -7
  324. package/dist/utils/sessionConverter.js +0 -306
  325. package/dist/utils/sessionManager.d.ts +0 -53
  326. package/dist/utils/sessionManager.js +0 -371
  327. package/dist/utils/subAgentConfig.d.ts +0 -50
  328. package/dist/utils/subAgentConfig.js +0 -221
  329. package/dist/utils/subAgentExecutor.d.ts +0 -40
  330. package/dist/utils/subAgentExecutor.js +0 -434
  331. package/dist/utils/terminal.d.ts +0 -5
  332. package/dist/utils/terminal.js +0 -13
  333. package/dist/utils/textBuffer.d.ts +0 -99
  334. package/dist/utils/textBuffer.js +0 -547
  335. package/dist/utils/textUtils.d.ts +0 -37
  336. package/dist/utils/textUtils.js +0 -102
  337. package/dist/utils/themeConfig.d.ts +0 -21
  338. package/dist/utils/themeConfig.js +0 -61
  339. package/dist/utils/todoPreprocessor.d.ts +0 -5
  340. package/dist/utils/todoPreprocessor.js +0 -18
  341. package/dist/utils/todoScanner.d.ts +0 -8
  342. package/dist/utils/todoScanner.js +0 -148
  343. package/dist/utils/toolDisplayConfig.d.ts +0 -16
  344. package/dist/utils/toolDisplayConfig.js +0 -47
  345. package/dist/utils/toolExecutor.d.ts +0 -37
  346. package/dist/utils/toolExecutor.js +0 -224
  347. package/dist/utils/usageLogger.d.ts +0 -11
  348. package/dist/utils/usageLogger.js +0 -114
  349. package/dist/utils/vscodeConnection.d.ts +0 -76
  350. package/dist/utils/vscodeConnection.js +0 -430
  351. package/dist/utils/workspaceSnapshot.d.ts +0 -63
  352. 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;