@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.
- package/README.md +2 -5
- package/assets/nanocoder-vscode.vsix +0 -0
- package/dist/ai-sdk-client-empty-message.spec.d.ts +2 -0
- package/dist/ai-sdk-client-empty-message.spec.d.ts.map +1 -0
- package/dist/ai-sdk-client-empty-message.spec.js +124 -0
- package/dist/ai-sdk-client-empty-message.spec.js.map +1 -0
- package/dist/ai-sdk-client.d.ts +18 -2
- package/dist/ai-sdk-client.d.ts.map +1 -1
- package/dist/ai-sdk-client.js +159 -122
- package/dist/ai-sdk-client.js.map +1 -1
- package/dist/app/utils/appUtils.js +3 -3
- package/dist/app/utils/appUtils.js.map +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +22 -11
- package/dist/app.js.map +1 -1
- package/dist/commands/debugging.d.ts +3 -0
- package/dist/commands/debugging.d.ts.map +1 -0
- package/dist/commands/debugging.js +23 -0
- package/dist/commands/debugging.js.map +1 -0
- package/dist/commands/index.d.ts +2 -2
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +2 -2
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/model-database.d.ts +8 -0
- package/dist/commands/model-database.d.ts.map +1 -0
- package/dist/commands/model-database.js +193 -0
- package/dist/commands/model-database.js.map +1 -0
- package/dist/commands/usage.d.ts.map +1 -1
- package/dist/commands/usage.js +1 -1
- package/dist/commands/usage.js.map +1 -1
- package/dist/components/assistant-message.d.ts.map +1 -1
- package/dist/components/assistant-message.js +3 -2
- package/dist/components/assistant-message.js.map +1 -1
- package/dist/components/status.d.ts +3 -0
- package/dist/components/status.d.ts.map +1 -1
- package/dist/components/status.js +24 -3
- package/dist/components/status.js.map +1 -1
- package/dist/components/user-input.d.ts.map +1 -1
- package/dist/components/user-input.js +2 -1
- package/dist/components/user-input.js.map +1 -1
- package/dist/config/preferences.d.ts +2 -2
- package/dist/config/preferences.js +5 -5
- package/dist/config/preferences.js.map +1 -1
- package/dist/context/mode-context.d.ts +12 -0
- package/dist/context/mode-context.d.ts.map +1 -0
- package/dist/context/mode-context.js +21 -0
- package/dist/context/mode-context.js.map +1 -0
- package/dist/context/mode-context.spec.d.ts +2 -0
- package/dist/context/mode-context.spec.d.ts.map +1 -0
- package/dist/context/mode-context.spec.js +61 -0
- package/dist/context/mode-context.spec.js.map +1 -0
- package/dist/hooks/useAppInitialization.d.ts +4 -2
- package/dist/hooks/useAppInitialization.d.ts.map +1 -1
- package/dist/hooks/useAppInitialization.js +101 -26
- package/dist/hooks/useAppInitialization.js.map +1 -1
- package/dist/hooks/useAppState.d.ts +7 -5
- package/dist/hooks/useAppState.d.ts.map +1 -1
- package/dist/hooks/useAppState.js +11 -7
- package/dist/hooks/useAppState.js.map +1 -1
- package/dist/hooks/useChatHandler.d.ts +2 -2
- package/dist/hooks/useChatHandler.d.ts.map +1 -1
- package/dist/hooks/useChatHandler.js +186 -111
- package/dist/hooks/useChatHandler.js.map +1 -1
- package/dist/hooks/useModeHandlers.d.ts +4 -4
- package/dist/hooks/useModeHandlers.d.ts.map +1 -1
- package/dist/hooks/useModeHandlers.js +9 -9
- package/dist/hooks/useModeHandlers.js.map +1 -1
- package/dist/mcp/mcp-client.d.ts.map +1 -1
- package/dist/mcp/mcp-client.js +16 -6
- package/dist/mcp/mcp-client.js.map +1 -1
- package/dist/message-handler.js +1 -1
- package/dist/message-handler.js.map +1 -1
- package/dist/model-database/database-engine.d.ts +25 -0
- package/dist/model-database/database-engine.d.ts.map +1 -0
- package/dist/model-database/database-engine.js +37 -0
- package/dist/model-database/database-engine.js.map +1 -0
- package/dist/model-database/database-engine.spec.d.ts +2 -0
- package/dist/model-database/database-engine.spec.d.ts.map +1 -0
- package/dist/model-database/database-engine.spec.js +413 -0
- package/dist/model-database/database-engine.spec.js.map +1 -0
- package/dist/model-database/model-database.d.ts +30 -0
- package/dist/model-database/model-database.d.ts.map +1 -0
- package/dist/model-database/model-database.js +82 -0
- package/dist/model-database/model-database.js.map +1 -0
- package/dist/model-database/model-database.spec.d.ts +2 -0
- package/dist/model-database/model-database.spec.d.ts.map +1 -0
- package/dist/model-database/model-database.spec.js +322 -0
- package/dist/model-database/model-database.spec.js.map +1 -0
- package/dist/model-database/model-engine.d.ts +25 -0
- package/dist/model-database/model-engine.d.ts.map +1 -0
- package/dist/model-database/model-engine.js +49 -0
- package/dist/model-database/model-engine.js.map +1 -0
- package/dist/model-database/model-engine.spec.d.ts +2 -0
- package/dist/model-database/model-engine.spec.d.ts.map +1 -0
- package/dist/model-database/model-engine.spec.js +381 -0
- package/dist/model-database/model-engine.spec.js.map +1 -0
- package/dist/model-database/model-fetcher.d.ts +14 -0
- package/dist/model-database/model-fetcher.d.ts.map +1 -0
- package/dist/model-database/model-fetcher.js +248 -0
- package/dist/model-database/model-fetcher.js.map +1 -0
- package/dist/model-database/model-fetcher.spec.d.ts +2 -0
- package/dist/model-database/model-fetcher.spec.d.ts.map +1 -0
- package/dist/model-database/model-fetcher.spec.js +498 -0
- package/dist/model-database/model-fetcher.spec.js.map +1 -0
- package/dist/models/models-dev-client.d.ts.map +1 -1
- package/dist/models/models-dev-client.js +8 -0
- package/dist/models/models-dev-client.js.map +1 -1
- package/dist/tool-calling/json-parser.d.ts.map +1 -1
- package/dist/tool-calling/json-parser.js +10 -4
- package/dist/tool-calling/json-parser.js.map +1 -1
- package/dist/tool-calling/tool-parser.d.ts.map +1 -1
- package/dist/tool-calling/tool-parser.js +37 -9
- package/dist/tool-calling/tool-parser.js.map +1 -1
- package/dist/tool-calling/tool-parser.spec.js +79 -1
- package/dist/tool-calling/tool-parser.spec.js.map +1 -1
- package/dist/tool-calling/xml-parser.d.ts.map +1 -1
- package/dist/tool-calling/xml-parser.js +21 -23
- package/dist/tool-calling/xml-parser.js.map +1 -1
- package/dist/tool-calling/xml-parser.spec.js +23 -3
- package/dist/tool-calling/xml-parser.spec.js.map +1 -1
- package/dist/tools/create-file.d.ts +24 -2
- package/dist/tools/create-file.d.ts.map +1 -1
- package/dist/tools/create-file.js +14 -10
- package/dist/tools/create-file.js.map +1 -1
- package/dist/tools/delete-lines.d.ts +18 -2
- package/dist/tools/delete-lines.d.ts.map +1 -1
- package/dist/tools/delete-lines.js +14 -9
- package/dist/tools/delete-lines.js.map +1 -1
- package/dist/tools/execute-bash.d.ts +2 -2
- package/dist/tools/execute-bash.d.ts.map +1 -1
- package/dist/tools/execute-bash.js +10 -9
- package/dist/tools/execute-bash.js.map +1 -1
- package/dist/tools/execute-function.spec.d.ts +2 -0
- package/dist/tools/execute-function.spec.d.ts.map +1 -0
- package/dist/tools/execute-function.spec.js +141 -0
- package/dist/tools/execute-function.spec.js.map +1 -0
- package/dist/tools/fetch-url.d.ts +16 -2
- package/dist/tools/fetch-url.d.ts.map +1 -1
- package/dist/tools/fetch-url.js +10 -10
- package/dist/tools/fetch-url.js.map +1 -1
- package/dist/tools/find-files.d.ts +18 -2
- package/dist/tools/find-files.d.ts.map +1 -1
- package/dist/tools/find-files.js +7 -5
- package/dist/tools/find-files.js.map +1 -1
- package/dist/tools/index.d.ts +2 -3
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +30 -20
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/insert-lines.d.ts +18 -2
- package/dist/tools/insert-lines.d.ts.map +1 -1
- package/dist/tools/insert-lines.js +14 -9
- package/dist/tools/insert-lines.js.map +1 -1
- package/dist/tools/lsp-get-diagnostics.d.ts +10 -2
- package/dist/tools/lsp-get-diagnostics.d.ts.map +1 -1
- package/dist/tools/lsp-get-diagnostics.js +8 -6
- package/dist/tools/lsp-get-diagnostics.js.map +1 -1
- package/dist/tools/needs-approval.spec.d.ts +2 -0
- package/dist/tools/needs-approval.spec.d.ts.map +1 -0
- package/dist/tools/needs-approval.spec.js +308 -0
- package/dist/tools/needs-approval.spec.js.map +1 -0
- package/dist/tools/read-file.d.ts +2 -2
- package/dist/tools/read-file.d.ts.map +1 -1
- package/dist/tools/read-file.js +10 -12
- package/dist/tools/read-file.js.map +1 -1
- package/dist/tools/replace-lines.d.ts +19 -2
- package/dist/tools/replace-lines.d.ts.map +1 -1
- package/dist/tools/replace-lines.js +14 -9
- package/dist/tools/replace-lines.js.map +1 -1
- package/dist/tools/search-file-contents.d.ts +20 -2
- package/dist/tools/search-file-contents.d.ts.map +1 -1
- package/dist/tools/search-file-contents.js +11 -8
- package/dist/tools/search-file-contents.js.map +1 -1
- package/dist/tools/web-search.d.ts +2 -2
- package/dist/tools/web-search.d.ts.map +1 -1
- package/dist/tools/web-search.js +10 -10
- package/dist/tools/web-search.js.map +1 -1
- package/dist/types/app.d.ts +1 -1
- package/dist/types/app.d.ts.map +1 -1
- package/dist/types/config.d.ts +1 -1
- package/dist/types/core-connection-status.spec.d.ts +2 -0
- package/dist/types/core-connection-status.spec.d.ts.map +1 -0
- package/dist/types/core-connection-status.spec.js +52 -0
- package/dist/types/core-connection-status.spec.js.map +1 -0
- package/dist/types/core.d.ts +33 -28
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/core.js.map +1 -1
- package/dist/types/system.d.ts +5 -30
- package/dist/types/system.d.ts.map +1 -1
- package/dist/utils/prompt-processor.d.ts +2 -3
- package/dist/utils/prompt-processor.d.ts.map +1 -1
- package/dist/utils/prompt-processor.js +2 -50
- package/dist/utils/prompt-processor.js.map +1 -1
- package/dist/wizard/templates/provider-templates.js +2 -2
- package/dist/wizard/templates/provider-templates.js.map +1 -1
- package/package.json +6 -5
- package/source/app/prompts/main-prompt.md +29 -96
- package/dist/commands/recommendations.d.ts +0 -8
- package/dist/commands/recommendations.d.ts.map +0 -1
- package/dist/commands/recommendations.js +0 -311
- package/dist/commands/recommendations.js.map +0 -1
- package/dist/commands/streaming.d.ts +0 -3
- package/dist/commands/streaming.d.ts.map +0 -1
- package/dist/commands/streaming.js +0 -23
- package/dist/commands/streaming.js.map +0 -1
- package/dist/components/thinking-indicator.d.ts +0 -3
- package/dist/components/thinking-indicator.d.ts.map +0 -1
- package/dist/components/thinking-indicator.js +0 -69
- package/dist/components/thinking-indicator.js.map +0 -1
- package/dist/recommendations/model-database.d.ts +0 -8
- package/dist/recommendations/model-database.d.ts.map +0 -1
- package/dist/recommendations/model-database.js +0 -514
- package/dist/recommendations/model-database.js.map +0 -1
- package/dist/recommendations/model-engine.d.ts +0 -16
- package/dist/recommendations/model-engine.d.ts.map +0 -1
- package/dist/recommendations/model-engine.js +0 -185
- package/dist/recommendations/model-engine.js.map +0 -1
- package/dist/recommendations/recommendation-engine.d.ts +0 -39
- package/dist/recommendations/recommendation-engine.d.ts.map +0 -1
- package/dist/recommendations/recommendation-engine.js +0 -144
- package/dist/recommendations/recommendation-engine.js.map +0 -1
- package/dist/system/detector.d.ts +0 -18
- package/dist/system/detector.d.ts.map +0 -1
- package/dist/system/detector.js +0 -140
- 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: `
|
|
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,
|
|
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
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
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
|
|
174
|
+
// Check for malformed tool calls and send error back to model for self-correction
|
|
110
175
|
if (!parseResult.success) {
|
|
111
|
-
|
|
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
|
-
|
|
129
|
-
|
|
130
|
-
|
|
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
|
-
...
|
|
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
|
-
...
|
|
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
|
-
//
|
|
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
|
-
//
|
|
227
|
-
//
|
|
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
|
-
|
|
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
|
-
...
|
|
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
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
386
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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,
|
|
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
|
|
92
|
-
const
|
|
93
|
-
|
|
91
|
+
// Helper function to enter model database mode
|
|
92
|
+
const enterModelDatabaseMode = () => {
|
|
93
|
+
setIsModelDatabaseMode(true);
|
|
94
94
|
};
|
|
95
|
-
// Handle
|
|
96
|
-
const
|
|
97
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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":";AACA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EACN,cAAc,EACd,eAAe,EACf,eAAe,GACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AACjD,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,YAAY,MAAM,4BAA4B,CAAC;AA0BtD,MAAM,UAAU,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,
|
|
1
|
+
{"version":3,"file":"useModeHandlers.js","sourceRoot":"","sources":["../../source/hooks/useModeHandlers.tsx"],"names":[],"mappings":";AACA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EACN,cAAc,EACd,eAAe,EACf,eAAe,GACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AACjD,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,YAAY,MAAM,4BAA4B,CAAC;AA0BtD,MAAM,UAAU,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,GACA;IACtB,gDAAgD;IAChD,MAAM,uBAAuB,GAAG,GAAG,EAAE;QACpC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEF,mDAAmD;IACnD,MAAM,0BAA0B,GAAG,GAAG,EAAE;QACvC,0BAA0B,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC,CAAC;IAEF,yBAAyB;IACzB,MAAM,iBAAiB,GAAG,KAAK,EAAE,aAAqB,EAAE,EAAE;QACzD,IAAI,MAAM,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;YAC9C,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC/B,eAAe,CAAC,aAAa,CAAC,CAAC;YAE/B,8CAA8C;YAC9C,WAAW,CAAC,EAAE,CAAC,CAAC;YAChB,MAAM,MAAM,CAAC,YAAY,EAAE,CAAC;YAE5B,qBAAqB;YACrB,cAAc,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;YAE/C,oCAAoC;YACpC,cAAc,CACb,KAAC,cAAc,IAEd,OAAO,EAAE,qBAAqB,aAAa,yBAAyB,EACpE,OAAO,EAAE,IAAI,IAFR,iBAAiB,mBAAmB,EAAE,CAG1C,CACF,CAAC;QACH,CAAC;QACD,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,gCAAgC;IAChC,MAAM,0BAA0B,GAAG,GAAG,EAAE;QACvC,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,4BAA4B;IAC5B,MAAM,oBAAoB,GAAG,KAAK,EAAE,gBAAwB,EAAE,EAAE;QAC/D,IAAI,gBAAgB,KAAK,eAAe,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACJ,8CAA8C;gBAC9C,MAAM,EAAC,MAAM,EAAE,SAAS,EAAE,cAAc,EAAC,GAAG,MAAM,eAAe,CAChE,gBAAgB,CAChB,CAAC;gBAEF,4CAA4C;gBAC5C,IAAI,cAAc,KAAK,gBAAgB,EAAE,CAAC;oBACzC,wEAAwE;oBACxE,cAAc,CACb,KAAC,YAAY,IAEZ,OAAO,EAAE,GAAG,gBAAgB,kFAAkF,EAC9G,OAAO,EAAE,IAAI,IAFR,mBAAmB,mBAAmB,EAAE,CAG5C,CACF,CAAC;oBACF,OAAO,CAAC,wBAAwB;gBACjC,CAAC;gBAED,SAAS,CAAC,SAAS,CAAC,CAAC;gBACrB,kBAAkB,CAAC,cAAc,CAAC,CAAC;gBAEnC,oCAAoC;gBACpC,MAAM,QAAQ,GAAG,SAAS,CAAC,eAAe,EAAE,CAAC;gBAC7C,eAAe,CAAC,QAAQ,CAAC,CAAC;gBAE1B,iDAAiD;gBACjD,WAAW,CAAC,EAAE,CAAC,CAAC;gBAChB,MAAM,SAAS,CAAC,YAAY,EAAE,CAAC;gBAE/B,uFAAuF;gBACvF,cAAc,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;gBAEzC,oCAAoC;gBACpC,cAAc,CACb,KAAC,cAAc,IAEd,OAAO,EAAE,wBAAwB,cAAc,YAAY,QAAQ,yBAAyB,EAC5F,OAAO,EAAE,IAAI,IAFR,oBAAoB,mBAAmB,EAAE,CAG7C,CACF,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,6CAA6C;gBAC7C,cAAc,CACb,KAAC,YAAY,IAEZ,OAAO,EAAE,gCAAgC,gBAAgB,KAAK,MAAM,CACnE,KAAK,CACL,EAAE,EACH,OAAO,EAAE,IAAI,IAJR,kBAAkB,mBAAmB,EAAE,CAK3C,CACF,CAAC;YACH,CAAC;QACF,CAAC;QACD,0BAA0B,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,mCAAmC;IACnC,MAAM,6BAA6B,GAAG,GAAG,EAAE;QAC1C,0BAA0B,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,gDAAgD;IAChD,MAAM,uBAAuB,GAAG,GAAG,EAAE;QACpC,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEF,yBAAyB;IACzB,MAAM,iBAAiB,GAAG,CAAC,aAA0B,EAAE,EAAE;QACxD,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;QACtC,WAAW,CAAC,aAAa,GAAG,aAAa,CAAC;QAC1C,eAAe,CAAC,WAAW,CAAC,CAAC;QAE7B,6DAA6D;QAC7D,eAAe,CAAC,aAAa,CAAC,CAAC;QAE/B,oCAAoC;QACpC,cAAc,CACb,KAAC,cAAc,IAEd,OAAO,EAAE,qBAAqB,aAAa,GAAG,EAC9C,OAAO,EAAE,IAAI,IAFR,iBAAiB,mBAAmB,EAAE,CAG1C,CACF,CAAC;QAEF,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,gCAAgC;IAChC,MAAM,0BAA0B,GAAG,GAAG,EAAE;QACvC,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,+CAA+C;IAC/C,MAAM,sBAAsB,GAAG,GAAG,EAAE;QACnC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,+BAA+B;IAC/B,MAAM,yBAAyB,GAAG,GAAG,EAAE;QACtC,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC,CAAC;IAEF,8CAA8C;IAC9C,MAAM,qBAAqB,GAAG,GAAG,EAAE;QAClC,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,uCAAuC;IACvC,MAAM,0BAA0B,GAAG,KAAK,EAAE,UAAmB,EAAE,EAAE;QAChE,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,UAAU,EAAE,CAAC;YAChB,cAAc,CACb,KAAC,cAAc,IAEd,OAAO,EAAE,2BAA2B,UAAU,GAAG,EACjD,OAAO,EAAE,IAAI,IAFR,0BAA0B,mBAAmB,EAAE,CAGnD,CACF,CAAC;YAEF,iEAAiE;YACjE,eAAe,EAAE,CAAC;YAElB,6CAA6C;YAC7C,IAAI,CAAC;gBACJ,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;gBACtC,MAAM,EAAC,MAAM,EAAE,SAAS,EAAE,cAAc,EAAC,GAAG,MAAM,eAAe,CAChE,WAAW,CAAC,YAAY,CACxB,CAAC;gBACF,SAAS,CAAC,SAAS,CAAC,CAAC;gBACrB,kBAAkB,CAAC,cAAc,CAAC,CAAC;gBAEnC,MAAM,QAAQ,GAAG,SAAS,CAAC,eAAe,EAAE,CAAC;gBAC7C,eAAe,CAAC,QAAQ,CAAC,CAAC;gBAE1B,iDAAiD;gBACjD,WAAW,CAAC,EAAE,CAAC,CAAC;gBAChB,MAAM,SAAS,CAAC,YAAY,EAAE,CAAC;gBAE/B,sDAAsD;gBACtD,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;gBACrC,IAAI,WAAW,EAAE,CAAC;oBACjB,IAAI,CAAC;wBACJ,MAAM,sBAAsB,CAAC,WAAW,CAAC,CAAC;wBAC1C,cAAc,CACb,KAAC,cAAc,IAEd,OAAO,EAAC,mDAAmD,EAC3D,OAAO,EAAE,IAAI,IAFR,cAAc,mBAAmB,EAAE,CAGvC,CACF,CAAC;oBACH,CAAC;oBAAC,OAAO,QAAQ,EAAE,CAAC;wBACnB,cAAc,CACb,KAAC,YAAY,IAEZ,OAAO,EAAE,uCAAuC,MAAM,CACrD,QAAQ,CACR,EAAE,EACH,OAAO,EAAE,IAAI,IAJR,oBAAoB,mBAAmB,EAAE,CAK7C,CACF,CAAC;oBACH,CAAC;gBACF,CAAC;gBAED,cAAc,CACb,KAAC,cAAc,IAEd,OAAO,EAAE,0BAA0B,cAAc,YAAY,QAAQ,EAAE,EACvE,OAAO,EAAE,IAAI,IAFR,eAAe,mBAAmB,EAAE,CAGxC,CACF,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,cAAc,CACb,KAAC,YAAY,IAEZ,OAAO,EAAE,gDAAgD,MAAM,CAC9D,KAAK,CACL,EAAE,EACH,OAAO,EAAE,IAAI,IAJR,qBAAqB,mBAAmB,EAAE,CAK9C,CACF,CAAC;YACH,CAAC;QACF,CAAC;IACF,CAAC,CAAC;IAEF,MAAM,wBAAwB,GAAG,GAAG,EAAE;QACrC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,OAAO;QACN,uBAAuB;QACvB,0BAA0B;QAC1B,uBAAuB;QACvB,sBAAsB;QACtB,qBAAqB;QACrB,iBAAiB;QACjB,0BAA0B;QAC1B,oBAAoB;QACpB,6BAA6B;QAC7B,iBAAiB;QACjB,0BAA0B;QAC1B,yBAAyB;QACzB,0BAA0B;QAC1B,wBAAwB;KACxB,CAAC;AACH,CAAC"}
|