@nanocollective/nanocoder 1.17.3 → 1.18.0

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 (224) hide show
  1. package/README.md +2 -5
  2. package/assets/nanocoder-vscode.vsix +0 -0
  3. package/dist/ai-sdk-client-empty-message.spec.d.ts +2 -0
  4. package/dist/ai-sdk-client-empty-message.spec.d.ts.map +1 -0
  5. package/dist/ai-sdk-client-empty-message.spec.js +124 -0
  6. package/dist/ai-sdk-client-empty-message.spec.js.map +1 -0
  7. package/dist/ai-sdk-client.d.ts +18 -2
  8. package/dist/ai-sdk-client.d.ts.map +1 -1
  9. package/dist/ai-sdk-client.js +159 -122
  10. package/dist/ai-sdk-client.js.map +1 -1
  11. package/dist/app/utils/appUtils.js +3 -3
  12. package/dist/app/utils/appUtils.js.map +1 -1
  13. package/dist/app.d.ts.map +1 -1
  14. package/dist/app.js +22 -11
  15. package/dist/app.js.map +1 -1
  16. package/dist/commands/debugging.d.ts +3 -0
  17. package/dist/commands/debugging.d.ts.map +1 -0
  18. package/dist/commands/debugging.js +23 -0
  19. package/dist/commands/debugging.js.map +1 -0
  20. package/dist/commands/index.d.ts +2 -2
  21. package/dist/commands/index.d.ts.map +1 -1
  22. package/dist/commands/index.js +2 -2
  23. package/dist/commands/index.js.map +1 -1
  24. package/dist/commands/model-database.d.ts +8 -0
  25. package/dist/commands/model-database.d.ts.map +1 -0
  26. package/dist/commands/model-database.js +193 -0
  27. package/dist/commands/model-database.js.map +1 -0
  28. package/dist/commands/usage.d.ts.map +1 -1
  29. package/dist/commands/usage.js +1 -1
  30. package/dist/commands/usage.js.map +1 -1
  31. package/dist/components/assistant-message.d.ts.map +1 -1
  32. package/dist/components/assistant-message.js +3 -2
  33. package/dist/components/assistant-message.js.map +1 -1
  34. package/dist/components/status.d.ts +3 -0
  35. package/dist/components/status.d.ts.map +1 -1
  36. package/dist/components/status.js +24 -3
  37. package/dist/components/status.js.map +1 -1
  38. package/dist/components/user-input.d.ts.map +1 -1
  39. package/dist/components/user-input.js +2 -1
  40. package/dist/components/user-input.js.map +1 -1
  41. package/dist/config/preferences.d.ts +2 -2
  42. package/dist/config/preferences.js +5 -5
  43. package/dist/config/preferences.js.map +1 -1
  44. package/dist/context/mode-context.d.ts +12 -0
  45. package/dist/context/mode-context.d.ts.map +1 -0
  46. package/dist/context/mode-context.js +21 -0
  47. package/dist/context/mode-context.js.map +1 -0
  48. package/dist/context/mode-context.spec.d.ts +2 -0
  49. package/dist/context/mode-context.spec.d.ts.map +1 -0
  50. package/dist/context/mode-context.spec.js +61 -0
  51. package/dist/context/mode-context.spec.js.map +1 -0
  52. package/dist/hooks/useAppInitialization.d.ts +4 -2
  53. package/dist/hooks/useAppInitialization.d.ts.map +1 -1
  54. package/dist/hooks/useAppInitialization.js +101 -26
  55. package/dist/hooks/useAppInitialization.js.map +1 -1
  56. package/dist/hooks/useAppState.d.ts +7 -5
  57. package/dist/hooks/useAppState.d.ts.map +1 -1
  58. package/dist/hooks/useAppState.js +11 -7
  59. package/dist/hooks/useAppState.js.map +1 -1
  60. package/dist/hooks/useChatHandler.d.ts +2 -2
  61. package/dist/hooks/useChatHandler.d.ts.map +1 -1
  62. package/dist/hooks/useChatHandler.js +186 -111
  63. package/dist/hooks/useChatHandler.js.map +1 -1
  64. package/dist/hooks/useModeHandlers.d.ts +4 -4
  65. package/dist/hooks/useModeHandlers.d.ts.map +1 -1
  66. package/dist/hooks/useModeHandlers.js +9 -9
  67. package/dist/hooks/useModeHandlers.js.map +1 -1
  68. package/dist/mcp/mcp-client.d.ts.map +1 -1
  69. package/dist/mcp/mcp-client.js +16 -6
  70. package/dist/mcp/mcp-client.js.map +1 -1
  71. package/dist/message-handler.js +1 -1
  72. package/dist/message-handler.js.map +1 -1
  73. package/dist/model-database/database-engine.d.ts +25 -0
  74. package/dist/model-database/database-engine.d.ts.map +1 -0
  75. package/dist/model-database/database-engine.js +37 -0
  76. package/dist/model-database/database-engine.js.map +1 -0
  77. package/dist/model-database/database-engine.spec.d.ts +2 -0
  78. package/dist/model-database/database-engine.spec.d.ts.map +1 -0
  79. package/dist/model-database/database-engine.spec.js +413 -0
  80. package/dist/model-database/database-engine.spec.js.map +1 -0
  81. package/dist/model-database/model-database.d.ts +30 -0
  82. package/dist/model-database/model-database.d.ts.map +1 -0
  83. package/dist/model-database/model-database.js +82 -0
  84. package/dist/model-database/model-database.js.map +1 -0
  85. package/dist/model-database/model-database.spec.d.ts +2 -0
  86. package/dist/model-database/model-database.spec.d.ts.map +1 -0
  87. package/dist/model-database/model-database.spec.js +322 -0
  88. package/dist/model-database/model-database.spec.js.map +1 -0
  89. package/dist/model-database/model-engine.d.ts +25 -0
  90. package/dist/model-database/model-engine.d.ts.map +1 -0
  91. package/dist/model-database/model-engine.js +49 -0
  92. package/dist/model-database/model-engine.js.map +1 -0
  93. package/dist/model-database/model-engine.spec.d.ts +2 -0
  94. package/dist/model-database/model-engine.spec.d.ts.map +1 -0
  95. package/dist/model-database/model-engine.spec.js +381 -0
  96. package/dist/model-database/model-engine.spec.js.map +1 -0
  97. package/dist/model-database/model-fetcher.d.ts +14 -0
  98. package/dist/model-database/model-fetcher.d.ts.map +1 -0
  99. package/dist/model-database/model-fetcher.js +248 -0
  100. package/dist/model-database/model-fetcher.js.map +1 -0
  101. package/dist/model-database/model-fetcher.spec.d.ts +2 -0
  102. package/dist/model-database/model-fetcher.spec.d.ts.map +1 -0
  103. package/dist/model-database/model-fetcher.spec.js +498 -0
  104. package/dist/model-database/model-fetcher.spec.js.map +1 -0
  105. package/dist/models/models-dev-client.d.ts.map +1 -1
  106. package/dist/models/models-dev-client.js +8 -0
  107. package/dist/models/models-dev-client.js.map +1 -1
  108. package/dist/tool-calling/json-parser.d.ts.map +1 -1
  109. package/dist/tool-calling/json-parser.js +10 -4
  110. package/dist/tool-calling/json-parser.js.map +1 -1
  111. package/dist/tool-calling/tool-parser.d.ts.map +1 -1
  112. package/dist/tool-calling/tool-parser.js +37 -9
  113. package/dist/tool-calling/tool-parser.js.map +1 -1
  114. package/dist/tool-calling/tool-parser.spec.js +79 -1
  115. package/dist/tool-calling/tool-parser.spec.js.map +1 -1
  116. package/dist/tool-calling/xml-parser.d.ts.map +1 -1
  117. package/dist/tool-calling/xml-parser.js +21 -23
  118. package/dist/tool-calling/xml-parser.js.map +1 -1
  119. package/dist/tool-calling/xml-parser.spec.js +23 -3
  120. package/dist/tool-calling/xml-parser.spec.js.map +1 -1
  121. package/dist/tools/create-file.d.ts +24 -2
  122. package/dist/tools/create-file.d.ts.map +1 -1
  123. package/dist/tools/create-file.js +14 -10
  124. package/dist/tools/create-file.js.map +1 -1
  125. package/dist/tools/delete-lines.d.ts +18 -2
  126. package/dist/tools/delete-lines.d.ts.map +1 -1
  127. package/dist/tools/delete-lines.js +14 -9
  128. package/dist/tools/delete-lines.js.map +1 -1
  129. package/dist/tools/execute-bash.d.ts +2 -2
  130. package/dist/tools/execute-bash.d.ts.map +1 -1
  131. package/dist/tools/execute-bash.js +10 -9
  132. package/dist/tools/execute-bash.js.map +1 -1
  133. package/dist/tools/execute-function.spec.d.ts +2 -0
  134. package/dist/tools/execute-function.spec.d.ts.map +1 -0
  135. package/dist/tools/execute-function.spec.js +141 -0
  136. package/dist/tools/execute-function.spec.js.map +1 -0
  137. package/dist/tools/fetch-url.d.ts +16 -2
  138. package/dist/tools/fetch-url.d.ts.map +1 -1
  139. package/dist/tools/fetch-url.js +10 -10
  140. package/dist/tools/fetch-url.js.map +1 -1
  141. package/dist/tools/find-files.d.ts +18 -2
  142. package/dist/tools/find-files.d.ts.map +1 -1
  143. package/dist/tools/find-files.js +7 -5
  144. package/dist/tools/find-files.js.map +1 -1
  145. package/dist/tools/index.d.ts +2 -3
  146. package/dist/tools/index.d.ts.map +1 -1
  147. package/dist/tools/index.js +30 -20
  148. package/dist/tools/index.js.map +1 -1
  149. package/dist/tools/insert-lines.d.ts +18 -2
  150. package/dist/tools/insert-lines.d.ts.map +1 -1
  151. package/dist/tools/insert-lines.js +14 -9
  152. package/dist/tools/insert-lines.js.map +1 -1
  153. package/dist/tools/lsp-get-diagnostics.d.ts +10 -2
  154. package/dist/tools/lsp-get-diagnostics.d.ts.map +1 -1
  155. package/dist/tools/lsp-get-diagnostics.js +8 -6
  156. package/dist/tools/lsp-get-diagnostics.js.map +1 -1
  157. package/dist/tools/needs-approval.spec.d.ts +2 -0
  158. package/dist/tools/needs-approval.spec.d.ts.map +1 -0
  159. package/dist/tools/needs-approval.spec.js +308 -0
  160. package/dist/tools/needs-approval.spec.js.map +1 -0
  161. package/dist/tools/read-file.d.ts +2 -2
  162. package/dist/tools/read-file.d.ts.map +1 -1
  163. package/dist/tools/read-file.js +10 -12
  164. package/dist/tools/read-file.js.map +1 -1
  165. package/dist/tools/replace-lines.d.ts +19 -2
  166. package/dist/tools/replace-lines.d.ts.map +1 -1
  167. package/dist/tools/replace-lines.js +14 -9
  168. package/dist/tools/replace-lines.js.map +1 -1
  169. package/dist/tools/search-file-contents.d.ts +20 -2
  170. package/dist/tools/search-file-contents.d.ts.map +1 -1
  171. package/dist/tools/search-file-contents.js +11 -8
  172. package/dist/tools/search-file-contents.js.map +1 -1
  173. package/dist/tools/web-search.d.ts +2 -2
  174. package/dist/tools/web-search.d.ts.map +1 -1
  175. package/dist/tools/web-search.js +10 -10
  176. package/dist/tools/web-search.js.map +1 -1
  177. package/dist/types/app.d.ts +1 -1
  178. package/dist/types/app.d.ts.map +1 -1
  179. package/dist/types/config.d.ts +1 -1
  180. package/dist/types/core-connection-status.spec.d.ts +2 -0
  181. package/dist/types/core-connection-status.spec.d.ts.map +1 -0
  182. package/dist/types/core-connection-status.spec.js +52 -0
  183. package/dist/types/core-connection-status.spec.js.map +1 -0
  184. package/dist/types/core.d.ts +33 -28
  185. package/dist/types/core.d.ts.map +1 -1
  186. package/dist/types/core.js.map +1 -1
  187. package/dist/types/system.d.ts +5 -30
  188. package/dist/types/system.d.ts.map +1 -1
  189. package/dist/utils/prompt-processor.d.ts +2 -3
  190. package/dist/utils/prompt-processor.d.ts.map +1 -1
  191. package/dist/utils/prompt-processor.js +2 -50
  192. package/dist/utils/prompt-processor.js.map +1 -1
  193. package/dist/wizard/templates/provider-templates.js +2 -2
  194. package/dist/wizard/templates/provider-templates.js.map +1 -1
  195. package/package.json +6 -5
  196. package/source/app/prompts/main-prompt.md +29 -96
  197. package/dist/commands/recommendations.d.ts +0 -8
  198. package/dist/commands/recommendations.d.ts.map +0 -1
  199. package/dist/commands/recommendations.js +0 -311
  200. package/dist/commands/recommendations.js.map +0 -1
  201. package/dist/commands/streaming.d.ts +0 -3
  202. package/dist/commands/streaming.d.ts.map +0 -1
  203. package/dist/commands/streaming.js +0 -23
  204. package/dist/commands/streaming.js.map +0 -1
  205. package/dist/components/thinking-indicator.d.ts +0 -3
  206. package/dist/components/thinking-indicator.d.ts.map +0 -1
  207. package/dist/components/thinking-indicator.js +0 -69
  208. package/dist/components/thinking-indicator.js.map +0 -1
  209. package/dist/recommendations/model-database.d.ts +0 -8
  210. package/dist/recommendations/model-database.d.ts.map +0 -1
  211. package/dist/recommendations/model-database.js +0 -514
  212. package/dist/recommendations/model-database.js.map +0 -1
  213. package/dist/recommendations/model-engine.d.ts +0 -16
  214. package/dist/recommendations/model-engine.d.ts.map +0 -1
  215. package/dist/recommendations/model-engine.js +0 -185
  216. package/dist/recommendations/model-engine.js.map +0 -1
  217. package/dist/recommendations/recommendation-engine.d.ts +0 -39
  218. package/dist/recommendations/recommendation-engine.d.ts.map +0 -1
  219. package/dist/recommendations/recommendation-engine.js +0 -144
  220. package/dist/recommendations/recommendation-engine.js.map +0 -1
  221. package/dist/system/detector.d.ts +0 -18
  222. package/dist/system/detector.d.ts.map +0 -1
  223. package/dist/system/detector.js +0 -140
  224. package/dist/system/detector.js.map +0 -1
@@ -1,17 +1,37 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { toolDefinitions } from '../tools/index.js';
3
2
  import { processPromptTemplate } from '../utils/prompt-processor.js';
4
3
  import { parseToolCalls } from '../tool-calling/index.js';
5
4
  import { ConversationStateManager } from '../app/utils/conversationState.js';
6
5
  import { promptHistory } from '../prompt-history.js';
7
- import { isStreamingEnabled } from '../config/preferences.js';
8
6
  import { displayToolResult } from '../utils/tool-result-display.js';
9
7
  import { parseToolArguments } from '../utils/tool-args-parser.js';
10
8
  import { formatError } from '../utils/error-formatter.js';
11
9
  import UserMessage from '../components/user-message.js';
12
10
  import AssistantMessage from '../components/assistant-message.js';
13
11
  import ErrorMessage from '../components/error-message.js';
12
+ import WarningMessage from '../components/warning-message.js';
14
13
  import React from 'react';
14
+ import { createTokenizer } from '../tokenization/index.js';
15
+ import { calculateTokenBreakdown } from '../usage/calculator.js';
16
+ import { getModelContextLimit } from '../models/index.js';
17
+ // Normalize streaming content to prevent excessive blank lines during output
18
+ const normalizeStreamingContent = (content) => content
19
+ // Strip <think>...</think> tags (some models output thinking that shouldn't be shown)
20
+ .replace(/<think>[\s\S]*?<\/think>/gi, '')
21
+ // Strip orphaned/incomplete think tags (during streaming)
22
+ .replace(/<think>[\s\S]*$/gi, '')
23
+ .replace(/<\/think>/gi, '')
24
+ // Collapse 3+ consecutive newlines to 2 (one blank line max)
25
+ .replace(/\n{3,}/g, '\n\n')
26
+ // Remove leading whitespace (clean start)
27
+ .replace(/^\s+/, '');
28
+ // Helper function to convert tool results to message format
29
+ const toolResultsToMessages = (results) => results.map(result => ({
30
+ role: 'tool',
31
+ content: result.content || '',
32
+ tool_call_id: result.tool_call_id,
33
+ name: result.name,
34
+ }));
15
35
  // Helper function to filter out invalid tool calls and deduplicate by ID and function
16
36
  // Returns valid tool calls and error results for invalid ones
17
37
  const filterValidToolCalls = (toolCalls, toolManager) => {
@@ -34,7 +54,7 @@ const filterValidToolCalls = (toolCalls, toolManager) => {
34
54
  tool_call_id: toolCall.id,
35
55
  role: 'tool',
36
56
  name: toolCall.function.name,
37
- content: `Error: Unknown tool: ${toolCall.function.name}. This tool does not exist. Please use only the tools that are available in the system.`,
57
+ content: `This tool does not exist. Please use only the tools that are available in the system.`,
38
58
  });
39
59
  continue;
40
60
  }
@@ -53,18 +73,60 @@ const filterValidToolCalls = (toolCalls, toolManager) => {
53
73
  }
54
74
  return { validToolCalls, errorResults };
55
75
  };
56
- export function useChatHandler({ client, toolManager, messages, setMessages, currentModel, setIsThinking, setIsCancelling, addToChatQueue, componentKeyCounter, abortController, setAbortController, developmentMode = 'normal', onStartToolConfirmationFlow, }) {
76
+ export function useChatHandler({ client, toolManager, messages, setMessages, currentProvider, currentModel, setIsCancelling, addToChatQueue, componentKeyCounter, abortController, setAbortController, developmentMode = 'normal', onStartToolConfirmationFlow, }) {
57
77
  // Conversation state manager for enhanced context
58
78
  const conversationStateManager = React.useRef(new ConversationStateManager());
59
79
  // State for streaming message content
60
80
  const [streamingContent, setStreamingContent] = React.useState('');
61
81
  const [isStreaming, setIsStreaming] = React.useState(false);
82
+ // Helper to reset all streaming state
83
+ const resetStreamingState = React.useCallback(() => {
84
+ setIsCancelling(false);
85
+ setAbortController(null);
86
+ setIsStreaming(false);
87
+ setStreamingContent('');
88
+ }, [setIsCancelling, setAbortController]);
89
+ // Helper to display errors in chat queue
90
+ const displayError = React.useCallback((error, keyPrefix) => {
91
+ if (error instanceof Error &&
92
+ error.message === 'Operation was cancelled') {
93
+ addToChatQueue(_jsx(ErrorMessage, { message: "Interrupted by user.", hideBox: true }, `${keyPrefix}-${componentKeyCounter}`));
94
+ }
95
+ else {
96
+ addToChatQueue(_jsx(ErrorMessage, { message: formatError(error), hideBox: true }, `${keyPrefix}-${componentKeyCounter}`));
97
+ }
98
+ }, [addToChatQueue, componentKeyCounter]);
62
99
  // Reset conversation state when messages are cleared
63
100
  React.useEffect(() => {
64
101
  if (messages.length === 0) {
65
102
  conversationStateManager.current.reset();
66
103
  }
67
104
  }, [messages.length]);
105
+ // Helper to check context usage and display warning if needed
106
+ const checkContextUsage = React.useCallback(async (allMessages, systemMessage) => {
107
+ try {
108
+ const contextLimit = await getModelContextLimit(currentModel);
109
+ if (!contextLimit)
110
+ return; // Unknown limit, skip check
111
+ const tokenizer = createTokenizer(currentProvider, currentModel);
112
+ const breakdown = calculateTokenBreakdown([systemMessage, ...allMessages], tokenizer);
113
+ // Clean up tokenizer if needed
114
+ if (tokenizer.free) {
115
+ tokenizer.free();
116
+ }
117
+ const percentUsed = (breakdown.total / contextLimit) * 100;
118
+ // Show warning on every message once past 80%
119
+ if (percentUsed >= 95) {
120
+ addToChatQueue(_jsx(WarningMessage, { message: `Context ${Math.round(percentUsed)}% full (${breakdown.total.toLocaleString()}/${contextLimit.toLocaleString()} tokens). Consider using /clear to start fresh.`, hideBox: true }, `context-warning-${componentKeyCounter}`));
121
+ }
122
+ else if (percentUsed >= 80) {
123
+ addToChatQueue(_jsx(WarningMessage, { message: `Context ${Math.round(percentUsed)}% full (${breakdown.total.toLocaleString()}/${contextLimit.toLocaleString()} tokens).`, hideBox: true }, `context-warning-${componentKeyCounter}`));
124
+ }
125
+ }
126
+ catch {
127
+ // Silently ignore errors in context checking - it's not critical
128
+ }
129
+ }, [currentProvider, currentModel, addToChatQueue, componentKeyCounter]);
68
130
  // Process assistant response - handles the conversation loop with potential tool calls (for follow-ups)
69
131
  const processAssistantResponse = async (systemMessage, messages) => {
70
132
  if (!client)
@@ -76,28 +138,31 @@ export function useChatHandler({ client, toolManager, messages, setMessages, cur
76
138
  setAbortController(controller);
77
139
  }
78
140
  try {
79
- setIsThinking(true);
80
- // Try to use streaming if available and enabled, otherwise fallback to non-streaming
81
- let result;
82
- if (client.chatStream && isStreamingEnabled()) {
83
- // Use streaming with callbacks
84
- let accumulatedContent = '';
85
- setIsStreaming(true);
86
- setStreamingContent('');
87
- result = await client.chatStream([systemMessage, ...messages], toolManager?.getAllTools() || {}, {
88
- onToken: (token) => {
89
- accumulatedContent += token;
90
- setStreamingContent(accumulatedContent);
91
- },
92
- onFinish: () => {
93
- setIsStreaming(false);
94
- },
95
- }, controller.signal);
96
- }
97
- else {
98
- // Fallback to non-streaming (either client doesn't support it or user disabled it)
99
- result = await client.chat([systemMessage, ...messages], toolManager?.getAllTools() || {}, controller.signal);
100
- }
141
+ // Use streaming with callbacks
142
+ let accumulatedContent = '';
143
+ setIsStreaming(true);
144
+ setStreamingContent('');
145
+ const result = await client.chat([systemMessage, ...messages], toolManager?.getAllTools() || {}, {
146
+ onToken: (token) => {
147
+ accumulatedContent += token;
148
+ setStreamingContent(normalizeStreamingContent(accumulatedContent));
149
+ },
150
+ onToolExecuted: (toolCall, result) => {
151
+ // Display formatter for auto-executed tools (after execution with results)
152
+ void (async () => {
153
+ const toolResult = {
154
+ tool_call_id: toolCall.id,
155
+ role: 'tool',
156
+ name: toolCall.function.name,
157
+ content: result,
158
+ };
159
+ await displayToolResult(toolCall, toolResult, toolManager, addToChatQueue, componentKeyCounter);
160
+ })();
161
+ },
162
+ onFinish: () => {
163
+ setIsStreaming(false);
164
+ },
165
+ }, controller.signal);
101
166
  if (!result || !result.choices || result.choices.length === 0) {
102
167
  throw new Error('No response received from model');
103
168
  }
@@ -106,9 +171,34 @@ export function useChatHandler({ client, toolManager, messages, setMessages, cur
106
171
  const fullContent = message.content || '';
107
172
  // Parse any tool calls from content for non-tool-calling models
108
173
  const parseResult = parseToolCalls(fullContent);
109
- // Check for malformed tool calls and throw error to let model retry
174
+ // Check for malformed tool calls and send error back to model for self-correction
110
175
  if (!parseResult.success) {
111
- throw new Error(`${parseResult.error}\n\n${parseResult.examples}`);
176
+ const errorContent = `${parseResult.error}\n\n${parseResult.examples}`;
177
+ // Display error to user
178
+ addToChatQueue(_jsx(ErrorMessage, { message: errorContent, hideBox: true }, `malformed-tool-${Date.now()}`));
179
+ // Create assistant message with the malformed content (so model knows what it said)
180
+ const assistantMsgWithError = {
181
+ role: 'assistant',
182
+ content: fullContent,
183
+ };
184
+ // Create a user message with the error feedback for the model
185
+ const errorFeedbackMessage = {
186
+ role: 'user',
187
+ content: `Your previous response contained a malformed tool call. ${errorContent}\n\nPlease try again using the correct format.`,
188
+ };
189
+ // Update messages and continue conversation loop for self-correction
190
+ const updatedMessagesWithError = [
191
+ ...messages,
192
+ assistantMsgWithError,
193
+ errorFeedbackMessage,
194
+ ];
195
+ setMessages(updatedMessagesWithError);
196
+ // Clear streaming state before recursing
197
+ setIsStreaming(false);
198
+ setStreamingContent('');
199
+ // Continue the main conversation loop with error message as context
200
+ await processAssistantResponse(systemMessage, updatedMessagesWithError);
201
+ return;
112
202
  }
113
203
  const parsedToolCalls = parseResult.toolCalls;
114
204
  const cleanedContent = parseResult.cleanedContent;
@@ -119,15 +209,19 @@ export function useChatHandler({ client, toolManager, messages, setMessages, cur
119
209
  // Merge structured tool calls from AI SDK with content-parsed tool calls
120
210
  const allToolCalls = [...(toolCalls || []), ...parsedToolCalls];
121
211
  const { validToolCalls, errorResults } = filterValidToolCalls(allToolCalls, toolManager);
122
- // Add assistant message to conversation history
212
+ // Add assistant message to conversation history only if it has content or tool_calls
213
+ // Empty assistant messages cause API errors: "Assistant message must have either content or tool_calls"
123
214
  const assistantMsg = {
124
215
  role: 'assistant',
125
216
  content: cleanedContent,
126
217
  tool_calls: validToolCalls.length > 0 ? validToolCalls : undefined,
127
218
  };
128
- setMessages([...messages, assistantMsg]);
129
- // Update conversation state with assistant message
130
- conversationStateManager.current.updateAssistantMessage(assistantMsg);
219
+ const hasValidAssistantMessage = cleanedContent.trim() || validToolCalls.length > 0;
220
+ if (hasValidAssistantMessage) {
221
+ setMessages([...messages, assistantMsg]);
222
+ // Update conversation state with assistant message
223
+ conversationStateManager.current.updateAssistantMessage(assistantMsg);
224
+ }
131
225
  // Clear streaming state after response is complete
132
226
  setIsStreaming(false);
133
227
  setStreamingContent('');
@@ -138,16 +232,10 @@ export function useChatHandler({ client, toolManager, messages, setMessages, cur
138
232
  addToChatQueue(_jsx(ErrorMessage, { message: error.content, hideBox: true }, `unknown-tool-${error.tool_call_id}-${Date.now()}`));
139
233
  }
140
234
  // Send error results back to model for self-correction
141
- const toolMessages = errorResults.map(result => ({
142
- role: 'tool',
143
- content: result.content || '',
144
- tool_call_id: result.tool_call_id,
145
- name: result.name,
146
- }));
147
235
  const updatedMessagesWithError = [
148
236
  ...messages,
149
237
  assistantMsg,
150
- ...toolMessages,
238
+ ...toolResultsToMessages(errorResults),
151
239
  ];
152
240
  setMessages(updatedMessagesWithError);
153
241
  // Continue the main conversation loop with error messages as context
@@ -178,16 +266,10 @@ export function useChatHandler({ client, toolManager, messages, setMessages, cur
178
266
  addToChatQueue(_jsx(ErrorMessage, { message: error.content, hideBox: true }, `plan-mode-blocked-${error.tool_call_id}-${Date.now()}`));
179
267
  }
180
268
  // Continue conversation with error messages
181
- const toolMessages = blockedToolErrors.map(result => ({
182
- role: 'tool',
183
- content: result.content || '',
184
- tool_call_id: result.tool_call_id,
185
- name: result.name,
186
- }));
187
269
  const updatedMessagesWithError = [
188
270
  ...messages,
189
271
  assistantMsg,
190
- ...toolMessages,
272
+ ...toolResultsToMessages(blockedToolErrors),
191
273
  ];
192
274
  setMessages(updatedMessagesWithError);
193
275
  // Continue the main conversation loop with error messages as context
@@ -196,11 +278,10 @@ export function useChatHandler({ client, toolManager, messages, setMessages, cur
196
278
  }
197
279
  }
198
280
  // Separate tools that need confirmation vs those that don't
199
- // BUT: if a tool fails validation, execute directly (skip confirmation)
281
+ // Check tool's needsApproval property to determine if confirmation is needed
200
282
  const toolsNeedingConfirmation = [];
201
283
  const toolsToExecuteDirectly = [];
202
284
  for (const toolCall of validToolCalls) {
203
- const toolDef = toolDefinitions.find(def => def.name === toolCall.function.name);
204
285
  // Check if tool has a validator
205
286
  let validationFailed = false;
206
287
  // XML validation errors are treated as validation failures
@@ -223,11 +304,38 @@ export function useChatHandler({ client, toolManager, messages, setMessages, cur
223
304
  }
224
305
  }
225
306
  }
226
- // If validation failed OR tool doesn't require confirmation OR in auto-accept mode, execute directly
227
- // EXCEPT: execute_bash always requires confirmation for security
307
+ // Check tool's needsApproval property from the tool definition
308
+ let toolNeedsApproval = true; // Default to requiring approval for safety
309
+ if (toolManager) {
310
+ const toolEntry = toolManager.getToolEntry(toolCall.function.name);
311
+ if (toolEntry?.tool) {
312
+ const needsApprovalProp = toolEntry.tool.needsApproval;
313
+ if (typeof needsApprovalProp === 'boolean') {
314
+ toolNeedsApproval = needsApprovalProp;
315
+ }
316
+ else if (typeof needsApprovalProp === 'function') {
317
+ // Evaluate function - our tools use getCurrentMode() internally
318
+ // and don't actually need the args parameter
319
+ try {
320
+ const parsedArgs = parseToolArguments(toolCall.function.arguments);
321
+ // Cast to any to handle AI SDK type signature mismatch
322
+ // Our tool implementations don't use the second parameter
323
+ toolNeedsApproval = await needsApprovalProp(parsedArgs);
324
+ }
325
+ catch {
326
+ // If evaluation fails, require approval for safety
327
+ toolNeedsApproval = true;
328
+ }
329
+ }
330
+ }
331
+ }
332
+ // Execute directly if:
333
+ // 1. Validation failed (need to send error back to model)
334
+ // 2. Tool has needsApproval: false
335
+ // 3. In auto-accept mode (except bash which always needs approval)
228
336
  const isBashTool = toolCall.function.name === 'execute_bash';
229
337
  if (validationFailed ||
230
- (toolDef && toolDef.requiresConfirmation === false) ||
338
+ !toolNeedsApproval ||
231
339
  (developmentMode === 'auto-accept' && !isBashTool)) {
232
340
  toolsToExecuteDirectly.push(toolCall);
233
341
  }
@@ -287,17 +395,10 @@ export function useChatHandler({ client, toolManager, messages, setMessages, cur
287
395
  }
288
396
  // If we have results, continue the conversation with them
289
397
  if (directResults.length > 0) {
290
- // Format tool results as standard tool messages
291
- const toolMessages = directResults.map(result => ({
292
- role: 'tool',
293
- content: result.content || '',
294
- tool_call_id: result.tool_call_id,
295
- name: result.name,
296
- }));
297
398
  const updatedMessagesWithTools = [
298
399
  ...messages,
299
400
  assistantMsg,
300
- ...toolMessages,
401
+ ...toolResultsToMessages(directResults),
301
402
  ];
302
403
  setMessages(updatedMessagesWithTools);
303
404
  // Continue the main conversation loop with tool results as context
@@ -317,44 +418,31 @@ export function useChatHandler({ client, toolManager, messages, setMessages, cur
317
418
  // Check if we just executed tools (messages should have tool results)
318
419
  const lastMessage = messages[messages.length - 1];
319
420
  const hasRecentToolResults = lastMessage?.role === 'tool';
320
- if (hasRecentToolResults) {
321
- // Add a system-like nudge message to help model continue
322
- const nudgeMessage = {
323
- role: 'user',
324
- content: 'Please provide a summary or response based on the tool results above.',
325
- };
326
- const updatedMessagesWithNudge = [
327
- ...messages,
328
- assistantMsg,
329
- nudgeMessage,
330
- ];
331
- setMessages(updatedMessagesWithNudge);
332
- // Continue the conversation loop with the nudge
333
- await processAssistantResponse(systemMessage, updatedMessagesWithNudge);
334
- return;
335
- }
336
- else {
337
- addToChatQueue(_jsx(ErrorMessage, { message: "The model returned an empty response. This may happen if the model is having issues or has finished processing. Try asking a follow-up question or saying 'continue' if you expected more output.", hideBox: true }, `empty-response-${componentKeyCounter}`));
338
- }
421
+ // Add a continuation message to help the model respond
422
+ // For recent tool results, ask for a summary; otherwise, ask to continue
423
+ const nudgeContent = hasRecentToolResults
424
+ ? 'Please provide a summary or response based on the tool results above.'
425
+ : 'Please continue with the task.';
426
+ const nudgeMessage = {
427
+ role: 'user',
428
+ content: nudgeContent,
429
+ };
430
+ // Display a "continue" message in chat so user knows what happened
431
+ addToChatQueue(_jsx(UserMessage, { message: "continue" }, `auto-continue-${componentKeyCounter}`));
432
+ // Don't include the empty assistantMsg - it would cause API error
433
+ // "Assistant message must have either content or tool_calls"
434
+ const updatedMessagesWithNudge = [...messages, nudgeMessage];
435
+ setMessages(updatedMessagesWithNudge);
436
+ // Continue the conversation loop with the nudge
437
+ await processAssistantResponse(systemMessage, updatedMessagesWithNudge);
438
+ return;
339
439
  }
340
440
  }
341
441
  catch (error) {
342
- if (error instanceof Error &&
343
- error.message === 'Operation was cancelled') {
344
- addToChatQueue(_jsx(ErrorMessage, { message: "Interrupted by user.", hideBox: true }, `cancelled-${componentKeyCounter}`));
345
- }
346
- else {
347
- // Extract clean error message
348
- const errorMsg = formatError(error);
349
- addToChatQueue(_jsx(ErrorMessage, { hideBox: true, message: errorMsg }, `error-${componentKeyCounter}`));
350
- }
442
+ displayError(error, 'chat-error');
351
443
  }
352
444
  finally {
353
- setIsThinking(false);
354
- setIsCancelling(false);
355
- setAbortController(null);
356
- setIsStreaming(false);
357
- setStreamingContent('');
445
+ resetStreamingState();
358
446
  }
359
447
  };
360
448
  // Handle chat message processing
@@ -379,37 +467,24 @@ export function useChatHandler({ client, toolManager, messages, setMessages, cur
379
467
  // Create abort controller for cancellation
380
468
  const controller = new AbortController();
381
469
  setAbortController(controller);
382
- // Start thinking indicator and streaming
383
- setIsThinking(true);
384
470
  try {
385
- // Load and process system prompt with dynamic tool documentation
386
- // Note: We still need tool definitions (not just native tools) for documentation
387
- const systemPrompt = processPromptTemplate(toolManager ? toolManager.getAllTools() : {});
471
+ // Load and process system prompt
472
+ const systemPrompt = processPromptTemplate();
388
473
  // Create stream request
389
474
  const systemMessage = {
390
475
  role: 'system',
391
476
  content: systemPrompt,
392
477
  };
478
+ // Check context usage and warn if approaching limit
479
+ await checkContextUsage(updatedMessages, systemMessage);
393
480
  // Use the new conversation loop
394
481
  await processAssistantResponse(systemMessage, updatedMessages);
395
482
  }
396
483
  catch (error) {
397
- if (error instanceof Error &&
398
- error.message === 'Operation was cancelled') {
399
- addToChatQueue(_jsx(ErrorMessage, { message: "Operation was cancelled by user", hideBox: true }, `cancelled-${componentKeyCounter}`));
400
- }
401
- else {
402
- // Extract clean error message
403
- const errorMsg = formatError(error);
404
- addToChatQueue(_jsx(ErrorMessage, { message: errorMsg }, `error-${componentKeyCounter}`));
405
- }
484
+ displayError(error, 'chat-error');
406
485
  }
407
486
  finally {
408
- setIsThinking(false);
409
- setIsCancelling(false);
410
- setAbortController(null);
411
- setIsStreaming(false);
412
- setStreamingContent('');
487
+ resetStreamingState();
413
488
  }
414
489
  };
415
490
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"useChatHandler.js","sourceRoot":"","sources":["../../source/hooks/useChatHandler.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useChatHandler.js","sourceRoot":"","sources":["../../source/hooks/useChatHandler.tsx"],"names":[],"mappings":"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"}
@@ -14,17 +14,17 @@ interface UseModeHandlersProps {
14
14
  setIsModelSelectionMode: (mode: boolean) => void;
15
15
  setIsProviderSelectionMode: (mode: boolean) => void;
16
16
  setIsThemeSelectionMode: (mode: boolean) => void;
17
- setIsRecommendationsMode: (mode: boolean) => void;
17
+ setIsModelDatabaseMode: (mode: boolean) => void;
18
18
  setIsConfigWizardMode: (mode: boolean) => void;
19
19
  addToChatQueue: (component: React.ReactNode) => void;
20
20
  componentKeyCounter: number;
21
21
  reinitializeMCPServers: (toolManager: import('../tools/tool-manager.js').ToolManager) => Promise<void>;
22
22
  }
23
- export declare function useModeHandlers({ client, currentModel, currentProvider, currentTheme: _currentTheme, setClient, setCurrentModel, setCurrentProvider, setCurrentTheme, setMessages, setIsModelSelectionMode, setIsProviderSelectionMode, setIsThemeSelectionMode, setIsRecommendationsMode, setIsConfigWizardMode, addToChatQueue, componentKeyCounter, reinitializeMCPServers, }: UseModeHandlersProps): {
23
+ export declare function useModeHandlers({ client, currentModel, currentProvider, currentTheme: _currentTheme, setClient, setCurrentModel, setCurrentProvider, setCurrentTheme, setMessages, setIsModelSelectionMode, setIsProviderSelectionMode, setIsThemeSelectionMode, setIsModelDatabaseMode, setIsConfigWizardMode, addToChatQueue, componentKeyCounter, reinitializeMCPServers, }: UseModeHandlersProps): {
24
24
  enterModelSelectionMode: () => void;
25
25
  enterProviderSelectionMode: () => void;
26
26
  enterThemeSelectionMode: () => void;
27
- enterRecommendationsMode: () => void;
27
+ enterModelDatabaseMode: () => void;
28
28
  enterConfigWizardMode: () => void;
29
29
  handleModelSelect: (selectedModel: string) => Promise<void>;
30
30
  handleModelSelectionCancel: () => void;
@@ -32,7 +32,7 @@ export declare function useModeHandlers({ client, currentModel, currentProvider,
32
32
  handleProviderSelectionCancel: () => void;
33
33
  handleThemeSelect: (selectedTheme: ThemePreset) => void;
34
34
  handleThemeSelectionCancel: () => void;
35
- handleRecommendationsCancel: () => void;
35
+ handleModelDatabaseCancel: () => void;
36
36
  handleConfigWizardComplete: (configPath?: string) => Promise<void>;
37
37
  handleConfigWizardCancel: () => void;
38
38
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useModeHandlers.d.ts","sourceRoot":"","sources":["../../source/hooks/useModeHandlers.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,OAAO,EAAC,MAAM,cAAc,CAAC;AAWhD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AAE5C,UAAU,oBAAoB;IAC7B,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,WAAW,CAAC;IAC1B,SAAS,EAAE,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9C,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,eAAe,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC9C,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAC3C,uBAAuB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,0BAA0B,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACpD,uBAAuB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,wBAAwB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,qBAAqB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,cAAc,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;IACrD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,sBAAsB,EAAE,CACvB,WAAW,EAAE,OAAO,sBAAsB,EAAE,WAAW,KACnD,OAAO,CAAC,IAAI,CAAC,CAAC;CACnB;AAED,wBAAgB,eAAe,CAAC,EAC/B,MAAM,EACN,YAAY,EACZ,eAAe,EACf,YAAY,EAAE,aAAa,EAC3B,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,cAAc,EACd,mBAAmB,EACnB,sBAAsB,GACtB,EAAE,oBAAoB;;;;;;uCAY0B,MAAM;;6CA8BA,MAAM;;uCAsElB,WAAW;;;8CAyCE,MAAM;;EAgG7D"}
1
+ {"version":3,"file":"useModeHandlers.d.ts","sourceRoot":"","sources":["../../source/hooks/useModeHandlers.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,OAAO,EAAC,MAAM,cAAc,CAAC;AAWhD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AAE5C,UAAU,oBAAoB;IAC7B,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,WAAW,CAAC;IAC1B,SAAS,EAAE,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9C,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,kBAAkB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C,eAAe,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC9C,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAC3C,uBAAuB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,0BAA0B,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACpD,uBAAuB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,sBAAsB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,qBAAqB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,cAAc,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;IACrD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,sBAAsB,EAAE,CACvB,WAAW,EAAE,OAAO,sBAAsB,EAAE,WAAW,KACnD,OAAO,CAAC,IAAI,CAAC,CAAC;CACnB;AAED,wBAAgB,eAAe,CAAC,EAC/B,MAAM,EACN,YAAY,EACZ,eAAe,EACf,YAAY,EAAE,aAAa,EAC3B,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,mBAAmB,EACnB,sBAAsB,GACtB,EAAE,oBAAoB;;;;;;uCAY0B,MAAM;;6CA8BA,MAAM;;uCAsElB,WAAW;;;8CAyCE,MAAM;;EAgG7D"}
@@ -5,7 +5,7 @@ import { reloadAppConfig } from '../config/index.js';
5
5
  import { getToolManager } from '../message-handler.js';
6
6
  import SuccessMessage from '../components/success-message.js';
7
7
  import ErrorMessage from '../components/error-message.js';
8
- export function useModeHandlers({ client, currentModel, currentProvider, currentTheme: _currentTheme, setClient, setCurrentModel, setCurrentProvider, setCurrentTheme, setMessages, setIsModelSelectionMode, setIsProviderSelectionMode, setIsThemeSelectionMode, setIsRecommendationsMode, setIsConfigWizardMode, addToChatQueue, componentKeyCounter, reinitializeMCPServers, }) {
8
+ export function useModeHandlers({ client, currentModel, currentProvider, currentTheme: _currentTheme, setClient, setCurrentModel, setCurrentProvider, setCurrentTheme, setMessages, setIsModelSelectionMode, setIsProviderSelectionMode, setIsThemeSelectionMode, setIsModelDatabaseMode, setIsConfigWizardMode, addToChatQueue, componentKeyCounter, reinitializeMCPServers, }) {
9
9
  // Helper function to enter model selection mode
10
10
  const enterModelSelectionMode = () => {
11
11
  setIsModelSelectionMode(true);
@@ -88,13 +88,13 @@ export function useModeHandlers({ client, currentModel, currentProvider, current
88
88
  const handleThemeSelectionCancel = () => {
89
89
  setIsThemeSelectionMode(false);
90
90
  };
91
- // Helper function to enter recommendations mode
92
- const enterRecommendationsMode = () => {
93
- setIsRecommendationsMode(true);
91
+ // Helper function to enter model database mode
92
+ const enterModelDatabaseMode = () => {
93
+ setIsModelDatabaseMode(true);
94
94
  };
95
- // Handle recommendations cancel
96
- const handleRecommendationsCancel = () => {
97
- setIsRecommendationsMode(false);
95
+ // Handle model database cancel
96
+ const handleModelDatabaseCancel = () => {
97
+ setIsModelDatabaseMode(false);
98
98
  };
99
99
  // Helper function to enter config wizard mode
100
100
  const enterConfigWizardMode = () => {
@@ -143,7 +143,7 @@ export function useModeHandlers({ client, currentModel, currentProvider, current
143
143
  enterModelSelectionMode,
144
144
  enterProviderSelectionMode,
145
145
  enterThemeSelectionMode,
146
- enterRecommendationsMode,
146
+ enterModelDatabaseMode,
147
147
  enterConfigWizardMode,
148
148
  handleModelSelect,
149
149
  handleModelSelectionCancel,
@@ -151,7 +151,7 @@ export function useModeHandlers({ client, currentModel, currentProvider, current
151
151
  handleProviderSelectionCancel,
152
152
  handleThemeSelect,
153
153
  handleThemeSelectionCancel,
154
- handleRecommendationsCancel,
154
+ handleModelDatabaseCancel,
155
155
  handleConfigWizardComplete,
156
156
  handleConfigWizardCancel,
157
157
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useModeHandlers.js","sourceRoot":"","sources":["../../source/hooks/useModeHandlers.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useModeHandlers.js","sourceRoot":"","sources":["../../source/hooks/useModeHandlers.tsx"],"names":[],"mappings":"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"}