@nanocollective/nanocoder 1.13.3 → 1.13.5
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 +5 -11
- package/dist/app/hooks/useAppInitialization.d.ts +3 -1
- package/dist/app/hooks/useAppInitialization.d.ts.map +1 -1
- package/dist/app/hooks/useAppInitialization.js +23 -5
- package/dist/app/hooks/useAppInitialization.js.map +1 -1
- package/dist/app/hooks/useAppState.d.ts +3 -2
- package/dist/app/hooks/useAppState.d.ts.map +1 -1
- package/dist/app/hooks/useAppState.js +3 -7
- package/dist/app/hooks/useAppState.js.map +1 -1
- package/dist/app/hooks/useChatHandler.d.ts +1 -3
- package/dist/app/hooks/useChatHandler.d.ts.map +1 -1
- package/dist/app/hooks/useChatHandler.js +10 -318
- package/dist/app/hooks/useChatHandler.js.map +1 -1
- package/dist/app/hooks/useModeHandlers.d.ts +2 -1
- package/dist/app/hooks/useModeHandlers.d.ts.map +1 -1
- package/dist/app/hooks/useModeHandlers.js +5 -2
- package/dist/app/hooks/useModeHandlers.js.map +1 -1
- package/dist/app/utils/appUtils.d.ts.map +1 -1
- package/dist/app/utils/appUtils.js +5 -1
- package/dist/app/utils/appUtils.js.map +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +32 -7
- package/dist/app.js.map +1 -1
- package/dist/client-factory.d.ts +6 -0
- package/dist/client-factory.d.ts.map +1 -1
- package/dist/client-factory.js +21 -4
- package/dist/client-factory.js.map +1 -1
- package/dist/commands/index.d.ts +1 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +1 -0
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/status.d.ts +3 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +11 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/components/assistant-message.d.ts +1 -0
- package/dist/components/assistant-message.d.ts.map +1 -1
- package/dist/components/assistant-message.js +1 -1
- package/dist/components/assistant-message.js.map +1 -1
- package/dist/components/chat-queue.d.ts.map +1 -1
- package/dist/components/chat-queue.js +43 -19
- package/dist/components/chat-queue.js.map +1 -1
- package/dist/components/config-error-message.d.ts +8 -0
- package/dist/components/config-error-message.d.ts.map +1 -0
- package/dist/components/config-error-message.js +36 -0
- package/dist/components/config-error-message.js.map +1 -0
- package/dist/components/status.d.ts +10 -0
- package/dist/components/status.d.ts.map +1 -1
- package/dist/components/status.js +8 -25
- package/dist/components/status.js.map +1 -1
- package/dist/components/theme-selector.d.ts.map +1 -1
- package/dist/components/theme-selector.js +5 -2
- package/dist/components/theme-selector.js.map +1 -1
- package/dist/components/thinking-indicator.d.ts +1 -2
- package/dist/components/thinking-indicator.d.ts.map +1 -1
- package/dist/components/thinking-indicator.js +2 -9
- package/dist/components/thinking-indicator.js.map +1 -1
- package/dist/config/index.d.ts +3 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +91 -18
- package/dist/config/index.js.map +1 -1
- package/dist/config/preferences.d.ts.map +1 -1
- package/dist/config/preferences.js +17 -14
- package/dist/config/preferences.js.map +1 -1
- package/dist/langgraph-client.d.ts +0 -1
- package/dist/langgraph-client.d.ts.map +1 -1
- package/dist/langgraph-client.js +8 -28
- package/dist/langgraph-client.js.map +1 -1
- package/dist/prompt-history.d.ts.map +1 -1
- package/dist/prompt-history.js +2 -3
- package/dist/prompt-history.js.map +1 -1
- package/dist/tools/delete-lines.d.ts.map +1 -1
- package/dist/tools/delete-lines.js +4 -12
- package/dist/tools/delete-lines.js.map +1 -1
- package/dist/tools/insert-lines.d.ts.map +1 -1
- package/dist/tools/insert-lines.js +4 -12
- package/dist/tools/insert-lines.js.map +1 -1
- package/dist/tools/read-file.js +17 -20
- package/dist/tools/read-file.js.map +1 -1
- package/dist/tools/read-many-files.d.ts.map +1 -1
- package/dist/tools/read-many-files.js +27 -29
- package/dist/tools/read-many-files.js.map +1 -1
- package/dist/tools/replace-lines.d.ts.map +1 -1
- package/dist/tools/replace-lines.js +4 -12
- package/dist/tools/replace-lines.js.map +1 -1
- package/dist/types/app.d.ts +3 -0
- package/dist/types/app.d.ts.map +1 -1
- package/dist/types/components.d.ts +1 -6
- package/dist/types/components.d.ts.map +1 -1
- package/dist/types/hooks.d.ts +0 -2
- package/dist/types/hooks.d.ts.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -266,30 +266,23 @@ Popular MCP servers:
|
|
|
266
266
|
- **Memory**: Persistent context storage
|
|
267
267
|
- [View more MCP servers](https://github.com/modelcontextprotocol/servers)
|
|
268
268
|
|
|
269
|
-
> **Note**: The `agents.config.json`
|
|
269
|
+
> **Note**: The default save place for configuration is `~/config/nanocoder/`. You can also place an `agents.config.json` where you run Nanocoder. This will **override** the default for project-by-project configuration with different models or API keys per repository.
|
|
270
270
|
|
|
271
271
|
### User Preferences
|
|
272
272
|
|
|
273
|
-
Nanocoder automatically saves your preferences to remember your choices across sessions. Preferences are stored in
|
|
273
|
+
Nanocoder automatically saves your preferences to remember your choices across sessions. Preferences are stored in `~/config/nanocoder/nanocoder-preferences.json`. You can also place a `nanocoder-preferences.json` where you run Nanocoder. This will **override** the default for project-by-project configuration.
|
|
274
274
|
|
|
275
275
|
**What gets saved automatically:**
|
|
276
276
|
|
|
277
277
|
- **Last provider used**: The AI provider you last selected (by name from your configuration)
|
|
278
278
|
- **Last model per provider**: Your preferred model for each provider
|
|
279
279
|
- **Session continuity**: Automatically switches back to your preferred provider/model when restarting
|
|
280
|
-
|
|
281
|
-
**How it works:**
|
|
282
|
-
|
|
283
|
-
- When you switch providers with `/provider`, your choice is saved
|
|
284
|
-
- When you switch models with `/model`, the selection is saved for that specific provider
|
|
285
|
-
- Next time you start Nanocoder, it will use your last provider and model
|
|
286
|
-
- Each provider remembers its own preferred model independently
|
|
280
|
+
- **Last theme used**: The theme you last selected
|
|
287
281
|
|
|
288
282
|
**Manual management:**
|
|
289
283
|
|
|
290
284
|
- View current preferences: The file is human-readable JSON
|
|
291
|
-
- Reset preferences: Delete
|
|
292
|
-
- No manual editing needed: Use the `/provider` and `/model` commands instead
|
|
285
|
+
- Reset preferences: Delete any `nanocoder-preferences.json` to start fresh
|
|
293
286
|
|
|
294
287
|
### Commands
|
|
295
288
|
|
|
@@ -300,6 +293,7 @@ Nanocoder automatically saves your preferences to remember your choices across s
|
|
|
300
293
|
- `/clear` - Clear chat history
|
|
301
294
|
- `/model` - Switch between available models
|
|
302
295
|
- `/provider` - Switch between configured AI providers
|
|
296
|
+
- `/status` - Display current status (CWD, provider, model, theme, available updates, AGENTS setup)
|
|
303
297
|
- `/recommendations` - Get AI model recommendations based on your system capabilities (RAM, GPU, network)
|
|
304
298
|
- `/mcp` - Show connected MCP servers and their tools
|
|
305
299
|
- `/debug` - Toggle logging levels (silent/normal/verbose)
|
|
@@ -3,6 +3,7 @@ import { LLMClient } from '../../types/core.js';
|
|
|
3
3
|
import { ToolManager } from '../../tools/tool-manager.js';
|
|
4
4
|
import { CustomCommandLoader } from '../../custom-commands/loader.js';
|
|
5
5
|
import { CustomCommandExecutor } from '../../custom-commands/executor.js';
|
|
6
|
+
import type { UpdateInfo } from '../../types/index.js';
|
|
6
7
|
interface UseAppInitializationProps {
|
|
7
8
|
setClient: (client: LLMClient | null) => void;
|
|
8
9
|
setCurrentModel: (model: string) => void;
|
|
@@ -13,11 +14,12 @@ interface UseAppInitializationProps {
|
|
|
13
14
|
setCustomCommandCache: (cache: Map<string, any>) => void;
|
|
14
15
|
setStartChat: (start: boolean) => void;
|
|
15
16
|
setMcpInitialized: (initialized: boolean) => void;
|
|
17
|
+
setUpdateInfo: (info: UpdateInfo | null) => void;
|
|
16
18
|
addToChatQueue: (component: React.ReactNode) => void;
|
|
17
19
|
componentKeyCounter: number;
|
|
18
20
|
customCommandCache: Map<string, any>;
|
|
19
21
|
}
|
|
20
|
-
export declare function useAppInitialization({ setClient, setCurrentModel, setCurrentProvider, setToolManager, setCustomCommandLoader, setCustomCommandExecutor, setCustomCommandCache, setStartChat, setMcpInitialized, addToChatQueue, componentKeyCounter, customCommandCache, }: UseAppInitializationProps): {
|
|
22
|
+
export declare function useAppInitialization({ setClient, setCurrentModel, setCurrentProvider, setToolManager, setCustomCommandLoader, setCustomCommandExecutor, setCustomCommandCache, setStartChat, setMcpInitialized, setUpdateInfo, addToChatQueue, componentKeyCounter, customCommandCache, }: UseAppInitializationProps): {
|
|
21
23
|
initializeClient: (preferredProvider?: string) => Promise<void>;
|
|
22
24
|
loadCustomCommands: (loader: CustomCommandLoader) => Promise<void>;
|
|
23
25
|
initializeMCPServers: (toolManager: ToolManager) => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAppInitialization.d.ts","sourceRoot":"","sources":["../../../source/app/hooks/useAppInitialization.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AACvC,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAC,WAAW,EAAC,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAC,mBAAmB,EAAC,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAC,qBAAqB,EAAC,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"useAppInitialization.d.ts","sourceRoot":"","sources":["../../../source/app/hooks/useAppInitialization.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AACvC,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAC,WAAW,EAAC,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAC,mBAAmB,EAAC,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAC,qBAAqB,EAAC,MAAM,mCAAmC,CAAC;AAoCxE,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAErD,UAAU,yBAAyB;IAClC,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,cAAc,EAAE,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IACtD,sBAAsB,EAAE,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,KAAK,IAAI,CAAC;IACrE,wBAAwB,EAAE,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3E,qBAAqB,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IACzD,YAAY,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,iBAAiB,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,aAAa,EAAE,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,KAAK,IAAI,CAAC;IACjD,cAAc,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;IACrD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACrC;AAED,wBAAgB,oBAAoB,CAAC,EACpC,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,kBAAkB,GAClB,EAAE,yBAAyB;2CAEyB,MAAM;iCA4BhB,mBAAmB;wCA4BZ,WAAW;EA2K5D"}
|
|
@@ -3,17 +3,19 @@ import { useEffect } from 'react';
|
|
|
3
3
|
import { ToolManager } from '../../tools/tool-manager.js';
|
|
4
4
|
import { CustomCommandLoader } from '../../custom-commands/loader.js';
|
|
5
5
|
import { CustomCommandExecutor } from '../../custom-commands/executor.js';
|
|
6
|
-
import { createLLMClient } from '../../client-factory.js';
|
|
6
|
+
import { createLLMClient, ConfigurationError } from '../../client-factory.js';
|
|
7
7
|
import { getLastUsedModel, loadPreferences, updateLastUsed, } from '../../config/preferences.js';
|
|
8
8
|
import { setToolManagerGetter, setToolRegistryGetter, } from '../../message-handler.js';
|
|
9
9
|
import { commandRegistry } from '../../commands.js';
|
|
10
10
|
import { shouldLog } from '../../config/logging.js';
|
|
11
11
|
import { appConfig } from '../../config/index.js';
|
|
12
|
-
import { clearCommand, commandsCommand, debugCommand, exitCommand, exportCommand, helpCommand, initCommand, mcpCommand, modelCommand, providerCommand, recommendationsCommand, themeCommand, updateCommand, } from '../../commands/index.js';
|
|
12
|
+
import { clearCommand, commandsCommand, debugCommand, exitCommand, exportCommand, helpCommand, initCommand, mcpCommand, modelCommand, providerCommand, recommendationsCommand, statusCommand, themeCommand, updateCommand, } from '../../commands/index.js';
|
|
13
13
|
import SuccessMessage from '../../components/success-message.js';
|
|
14
14
|
import ErrorMessage from '../../components/error-message.js';
|
|
15
15
|
import InfoMessage from '../../components/info-message.js';
|
|
16
|
-
|
|
16
|
+
import ConfigErrorMessage from '../../components/config-error-message.js';
|
|
17
|
+
import { checkForUpdates } from '../../utils/update-checker.js';
|
|
18
|
+
export function useAppInitialization({ setClient, setCurrentModel, setCurrentProvider, setToolManager, setCustomCommandLoader, setCustomCommandExecutor, setCustomCommandCache, setStartChat, setMcpInitialized, setUpdateInfo, addToChatQueue, componentKeyCounter, customCommandCache, }) {
|
|
17
19
|
// Initialize LLM client and model
|
|
18
20
|
const initializeClient = async (preferredProvider) => {
|
|
19
21
|
const { client, actualProvider } = await createLLMClient(preferredProvider);
|
|
@@ -91,8 +93,14 @@ export function useAppInitialization({ setClient, setCurrentModel, setCurrentPro
|
|
|
91
93
|
await initializeClient(preferences.lastProvider);
|
|
92
94
|
}
|
|
93
95
|
catch (error) {
|
|
94
|
-
//
|
|
95
|
-
|
|
96
|
+
// Check if it's a ConfigurationError and render the fancy component
|
|
97
|
+
if (error instanceof ConfigurationError) {
|
|
98
|
+
addToChatQueue(_jsx(ConfigErrorMessage, { configPath: error.configPath, cwdPath: error.cwdPath, isEmptyConfig: error.isEmptyConfig }, `config-error-${componentKeyCounter}`));
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
// Regular error - show simple error message
|
|
102
|
+
addToChatQueue(_jsx(ErrorMessage, { message: `No providers available: ${error}`, hideBox: true }, `init-error-${componentKeyCounter}`));
|
|
103
|
+
}
|
|
96
104
|
// Leave client as null - the UI will handle this gracefully
|
|
97
105
|
}
|
|
98
106
|
try {
|
|
@@ -134,9 +142,19 @@ export function useAppInitialization({ setClient, setCurrentModel, setCurrentPro
|
|
|
134
142
|
exportCommand,
|
|
135
143
|
updateCommand,
|
|
136
144
|
recommendationsCommand,
|
|
145
|
+
statusCommand,
|
|
137
146
|
]);
|
|
138
147
|
// Now start with the properly initialized objects (excluding MCP)
|
|
139
148
|
await start(newToolManager, newCustomCommandLoader, preferences);
|
|
149
|
+
// Check for updates before showing UI
|
|
150
|
+
try {
|
|
151
|
+
const info = await checkForUpdates();
|
|
152
|
+
setUpdateInfo(info);
|
|
153
|
+
}
|
|
154
|
+
catch (error) {
|
|
155
|
+
// Silent failure - don't show errors for update checks
|
|
156
|
+
setUpdateInfo(null);
|
|
157
|
+
}
|
|
140
158
|
setStartChat(true);
|
|
141
159
|
// Initialize MCP servers after UI is shown
|
|
142
160
|
await initializeMCPServers(newToolManager);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAppInitialization.js","sourceRoot":"","sources":["../../../source/app/hooks/useAppInitialization.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAC,WAAW,EAAC,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAC,mBAAmB,EAAC,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAC,qBAAqB,EAAC,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"useAppInitialization.js","sourceRoot":"","sources":["../../../source/app/hooks/useAppInitialization.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import { ToolManager } from '../../tools/tool-manager.js';
|
|
|
3
3
|
import { CustomCommandLoader } from '../../custom-commands/loader.js';
|
|
4
4
|
import { CustomCommandExecutor } from '../../custom-commands/executor.js';
|
|
5
5
|
import type { ThemePreset } from '../../types/ui.js';
|
|
6
|
+
import type { UpdateInfo } from '../../types/index.js';
|
|
6
7
|
import React from 'react';
|
|
7
8
|
export interface ThinkingStats {
|
|
8
9
|
tokenCount: number;
|
|
@@ -29,9 +30,9 @@ export declare function useAppState(): {
|
|
|
29
30
|
customCommandCache: Map<string, any>;
|
|
30
31
|
startChat: boolean;
|
|
31
32
|
mcpInitialized: boolean;
|
|
33
|
+
updateInfo: UpdateInfo | null;
|
|
32
34
|
isThinking: boolean;
|
|
33
35
|
isCancelling: boolean;
|
|
34
|
-
thinkingStats: ThinkingStats;
|
|
35
36
|
abortController: AbortController | null;
|
|
36
37
|
isModelSelectionMode: boolean;
|
|
37
38
|
isProviderSelectionMode: boolean;
|
|
@@ -61,9 +62,9 @@ export declare function useAppState(): {
|
|
|
61
62
|
setCustomCommandCache: React.Dispatch<React.SetStateAction<Map<string, any>>>;
|
|
62
63
|
setStartChat: React.Dispatch<React.SetStateAction<boolean>>;
|
|
63
64
|
setMcpInitialized: React.Dispatch<React.SetStateAction<boolean>>;
|
|
65
|
+
setUpdateInfo: React.Dispatch<React.SetStateAction<UpdateInfo | null>>;
|
|
64
66
|
setIsThinking: React.Dispatch<React.SetStateAction<boolean>>;
|
|
65
67
|
setIsCancelling: React.Dispatch<React.SetStateAction<boolean>>;
|
|
66
|
-
setThinkingStats: React.Dispatch<React.SetStateAction<ThinkingStats>>;
|
|
67
68
|
setAbortController: React.Dispatch<React.SetStateAction<AbortController | null>>;
|
|
68
69
|
setIsModelSelectionMode: React.Dispatch<React.SetStateAction<boolean>>;
|
|
69
70
|
setIsProviderSelectionMode: React.Dispatch<React.SetStateAction<boolean>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAppState.d.ts","sourceRoot":"","sources":["../../../source/app/hooks/useAppState.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAE,OAAO,EAAE,eAAe,EAAC,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAC,WAAW,EAAC,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAC,mBAAmB,EAAC,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAC,qBAAqB,EAAC,MAAM,mCAAmC,CAAC;AAGxE,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,aAAa;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IACnC,eAAe,EAAE,OAAO,EAAE,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"useAppState.d.ts","sourceRoot":"","sources":["../../../source/app/hooks/useAppState.tsx"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAE,OAAO,EAAE,eAAe,EAAC,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAC,WAAW,EAAC,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAC,mBAAmB,EAAC,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAC,qBAAqB,EAAC,MAAM,mCAAmC,CAAC;AAGxE,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,aAAa;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IACnC,eAAe,EAAE,OAAO,EAAE,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAmEb,KAAK,CAAC,SAAS;gCAwBjB,OAAO;kCAe+B,OAAO,EAAE;;EAiG1D"}
|
|
@@ -19,14 +19,10 @@ export function useAppState() {
|
|
|
19
19
|
const [customCommandCache, setCustomCommandCache] = useState(new Map());
|
|
20
20
|
const [startChat, setStartChat] = useState(false);
|
|
21
21
|
const [mcpInitialized, setMcpInitialized] = useState(false);
|
|
22
|
+
const [updateInfo, setUpdateInfo] = useState(null);
|
|
22
23
|
// Thinking indicator state
|
|
23
24
|
const [isThinking, setIsThinking] = useState(false);
|
|
24
25
|
const [isCancelling, setIsCancelling] = useState(false);
|
|
25
|
-
const [thinkingStats, setThinkingStats] = useState({
|
|
26
|
-
tokenCount: 0,
|
|
27
|
-
contextSize: 0,
|
|
28
|
-
totalTokensUsed: 0,
|
|
29
|
-
});
|
|
30
26
|
// Cancellation state
|
|
31
27
|
const [abortController, setAbortController] = useState(null);
|
|
32
28
|
// Mode states
|
|
@@ -109,9 +105,9 @@ export function useAppState() {
|
|
|
109
105
|
customCommandCache,
|
|
110
106
|
startChat,
|
|
111
107
|
mcpInitialized,
|
|
108
|
+
updateInfo,
|
|
112
109
|
isThinking,
|
|
113
110
|
isCancelling,
|
|
114
|
-
thinkingStats,
|
|
115
111
|
abortController,
|
|
116
112
|
isModelSelectionMode,
|
|
117
113
|
isProviderSelectionMode,
|
|
@@ -142,9 +138,9 @@ export function useAppState() {
|
|
|
142
138
|
setCustomCommandCache,
|
|
143
139
|
setStartChat,
|
|
144
140
|
setMcpInitialized,
|
|
141
|
+
setUpdateInfo,
|
|
145
142
|
setIsThinking,
|
|
146
143
|
setIsCancelling,
|
|
147
|
-
setThinkingStats,
|
|
148
144
|
setAbortController,
|
|
149
145
|
setIsModelSelectionMode,
|
|
150
146
|
setIsProviderSelectionMode,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAppState.js","sourceRoot":"","sources":["../../../source/app/hooks/useAppState.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,WAAW,EAAC,MAAM,OAAO,CAAC;AAK5C,OAAO,EAAC,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAC,YAAY,EAAC,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"useAppState.js","sourceRoot":"","sources":["../../../source/app/hooks/useAppState.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,WAAW,EAAC,MAAM,OAAO,CAAC;AAK5C,OAAO,EAAC,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAC,YAAY,EAAC,MAAM,wBAAwB,CAAC;AAGpD,OAAO,KAAK,MAAM,OAAO,CAAC;AAe1B,MAAM,UAAU,WAAW;IAC1B,oCAAoC;IACpC,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC;IACtC,MAAM,YAAY,GAAG,WAAW,CAAC,aAAa,IAAI,YAAY,CAAC;IAE/D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAmB,IAAI,CAAC,CAAC;IAC7D,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAY,EAAE,CAAC,CAAC;IACxD,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAY,EAAE,CAAC,CAAC;IACtE,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAExD,IAAI,GAAG,EAAE,CAAC,CAAC;IACb,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;IAC7D,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAC1C,QAAQ,CAAS,mBAAmB,CAAC,CAAC;IACvC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAc,YAAY,CAAC,CAAC;IAC5E,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAqB,IAAI,CAAC,CAAC;IACzE,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAClD,QAAQ,CAA6B,IAAI,CAAC,CAAC;IAC5C,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GACtD,QAAQ,CAA+B,IAAI,CAAC,CAAC;IAC9C,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAE1D,IAAI,GAAG,EAAE,CAAC,CAAC;IACb,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC3D,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IACrE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAoB,IAAI,CAAC,CAAC;IAEtE,2BAA2B;IAC3B,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC7D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAEjE,qBAAqB;IACrB,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAC1C,QAAQ,CAAyB,IAAI,CAAC,CAAC;IAExC,cAAc;IACd,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GACpD,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC1B,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,CAAC,GAC1D,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC1B,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GACpD,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC1B,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GACtD,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC1B,MAAM,CAAC,sBAAsB,EAAE,yBAAyB,CAAC,GACxD,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC1B,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IACvE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IACvE,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;IAEzE,yBAAyB;IACzB,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAC1C,QAAQ,CAAkB,QAAQ,CAAC,CAAC;IAErC,0BAA0B;IAC1B,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAQ,EAAE,CAAC,CAAC;IACpE,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAS,CAAC,CAAC,CAAC;IACpE,MAAM,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,GAAG,QAAQ,CAAQ,EAAE,CAAC,CAAC;IAC5E,MAAM,CAAC,0BAA0B,EAAE,6BAA6B,CAAC,GAChE,QAAQ,CAA6B,IAAI,CAAC,CAAC;IAE5C,4BAA4B;IAC5B,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAoB,EAAE,CAAC,CAAC;IAC5E,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAElE,+FAA+F;IAC/F,MAAM,cAAc,GAAG,WAAW,CACjC,CAAC,SAA0B,EAAE,EAAE;QAC9B,MAAM,UAAU,GAAG,mBAAmB,GAAG,CAAC,CAAC;QAC3C,sBAAsB,CAAC,UAAU,CAAC,CAAC;QAEnC,IAAI,gBAAgB,GAAG,SAAS,CAAC;QACjC,IAAI,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;YACvD,gBAAgB,GAAG,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE;gBAChD,GAAG,EAAE,kBAAkB,UAAU,EAAE;aACnC,CAAC,CAAC;QACJ,CAAC;QAED,iBAAiB,CAAC,cAAc,CAAC,EAAE;YAClC,MAAM,aAAa,GAAG,CAAC,GAAG,cAAc,EAAE,gBAAgB,CAAC,CAAC;YAC5D,kDAAkD;YAClD,OAAO,aAAa,CAAC,MAAM,GAAG,EAAE;gBAC/B,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC1B,CAAC,CAAC,aAAa,CAAC;QAClB,CAAC,CAAC,CAAC;IACJ,CAAC,EACD,CAAC,mBAAmB,CAAC,CACrB,CAAC;IAEF,qDAAqD;IACrD,MAAM,gBAAgB,GAAG,WAAW,CACnC,CAAC,OAAgB,EAAE,EAAE;QACpB,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;QAExD,IAAI,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,OAAO,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;QACzC,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7D,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QAClE,OAAO,MAAM,CAAC;IACf,CAAC,EACD,CAAC,iBAAiB,CAAC,CACnB,CAAC;IAEF,gEAAgE;IAChE,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,WAAsB,EAAE,EAAE;QAC7D,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,0CAA0C;QAEpE,iDAAiD;QACjD,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,kBAAkB,CACjB,WAAW,CAAC,MAAM,GAAG,YAAY;YAChC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC;YAClC,CAAC,CAAC,WAAW,CACd,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,gCAAgC;IAChC,MAAM,0BAA0B,GAAG,GAAG,EAAE;QACvC,yBAAyB,CAAC,KAAK,CAAC,CAAC;QACjC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC1B,mBAAmB,CAAC,EAAE,CAAC,CAAC;QACxB,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACvB,uBAAuB,CAAC,EAAE,CAAC,CAAC;QAC5B,6BAA6B,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,OAAO;QACN,QAAQ;QACR,MAAM;QACN,QAAQ;QACR,eAAe;QACf,iBAAiB;QACjB,YAAY;QACZ,eAAe;QACf,YAAY;QACZ,WAAW;QACX,mBAAmB;QACnB,qBAAqB;QACrB,kBAAkB;QAClB,SAAS;QACT,cAAc;QACd,UAAU;QACV,UAAU;QACV,YAAY;QACZ,eAAe;QACf,oBAAoB;QACpB,uBAAuB;QACvB,oBAAoB;QACpB,qBAAqB;QACrB,sBAAsB;QACtB,eAAe;QACf,eAAe;QACf,kBAAkB;QAClB,eAAe;QACf,gBAAgB;QAChB,gBAAgB;QAChB,oBAAoB;QACpB,0BAA0B;QAC1B,cAAc;QACd,mBAAmB;QAEnB,UAAU;QACV,SAAS;QACT,WAAW;QACX,kBAAkB;QAClB,oBAAoB;QACpB,eAAe;QACf,kBAAkB;QAClB,eAAe;QACf,cAAc;QACd,sBAAsB;QACtB,wBAAwB;QACxB,qBAAqB;QACrB,YAAY;QACZ,iBAAiB;QACjB,aAAa;QACb,aAAa;QACb,eAAe;QACf,kBAAkB;QAClB,uBAAuB;QACvB,0BAA0B;QAC1B,uBAAuB;QACvB,wBAAwB;QACxB,yBAAyB;QACzB,kBAAkB;QAClB,kBAAkB;QAClB,qBAAqB;QACrB,kBAAkB;QAClB,mBAAmB;QACnB,mBAAmB;QACnB,uBAAuB;QACvB,6BAA6B;QAC7B,iBAAiB;QACjB,sBAAsB;QAEtB,YAAY;QACZ,cAAc;QACd,gBAAgB;QAChB,cAAc;QACd,0BAA0B;KAC1B,CAAC;AACH,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { LLMClient, Message } from '../../types/core.js';
|
|
2
2
|
import { ToolManager } from '../../tools/tool-manager.js';
|
|
3
|
-
import { ThinkingStats } from './useAppState.js';
|
|
4
3
|
import React from 'react';
|
|
5
4
|
interface UseChatHandlerProps {
|
|
6
5
|
client: LLMClient | null;
|
|
@@ -11,7 +10,6 @@ interface UseChatHandlerProps {
|
|
|
11
10
|
currentModel: string;
|
|
12
11
|
setIsThinking: (thinking: boolean) => void;
|
|
13
12
|
setIsCancelling: (cancelling: boolean) => void;
|
|
14
|
-
setThinkingStats: (stats: ThinkingStats | ((prev: ThinkingStats) => ThinkingStats)) => void;
|
|
15
13
|
addToChatQueue: (component: React.ReactNode) => void;
|
|
16
14
|
componentKeyCounter: number;
|
|
17
15
|
abortController: AbortController | null;
|
|
@@ -19,7 +17,7 @@ interface UseChatHandlerProps {
|
|
|
19
17
|
developmentMode?: 'normal' | 'auto-accept' | 'plan';
|
|
20
18
|
onStartToolConfirmationFlow: (toolCalls: any[], updatedMessages: Message[], assistantMsg: Message, systemMessage: Message) => void;
|
|
21
19
|
}
|
|
22
|
-
export declare function useChatHandler({ client, toolManager, messages, setMessages, getMessageTokens, currentModel, setIsThinking, setIsCancelling,
|
|
20
|
+
export declare function useChatHandler({ client, toolManager, messages, setMessages, getMessageTokens, currentModel, setIsThinking, setIsCancelling, addToChatQueue, componentKeyCounter, abortController, setAbortController, developmentMode, onStartToolConfirmationFlow, }: UseChatHandlerProps): {
|
|
23
21
|
handleChatMessage: (message: string) => Promise<void>;
|
|
24
22
|
processAssistantResponse: (systemMessage: Message, messages: Message[]) => Promise<void>;
|
|
25
23
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useChatHandler.d.ts","sourceRoot":"","sources":["../../../source/app/hooks/useChatHandler.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,OAAO,EAAuB,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAC,WAAW,EAAC,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"useChatHandler.d.ts","sourceRoot":"","sources":["../../../source/app/hooks/useChatHandler.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,OAAO,EAAuB,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAC,WAAW,EAAC,MAAM,6BAA6B,CAAC;AAaxD,OAAO,KAAK,MAAM,OAAO,CAAC;AAuC1B,UAAU,mBAAmB;IAC5B,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAChC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAC3C,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC;IAChD,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,eAAe,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;IAE/C,cAAc,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;IACrD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,kBAAkB,EAAE,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,KAAK,IAAI,CAAC;IACjE,eAAe,CAAC,EAAE,QAAQ,GAAG,aAAa,GAAG,MAAM,CAAC;IACpD,2BAA2B,EAAE,CAC5B,SAAS,EAAE,GAAG,EAAE,EAChB,eAAe,EAAE,OAAO,EAAE,EAC1B,YAAY,EAAE,OAAO,EACrB,aAAa,EAAE,OAAO,KAClB,IAAI,CAAC;CACV;AAED,wBAAgB,cAAc,CAAC,EAC9B,MAAM,EACN,WAAW,EACX,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,eAAe,EACf,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,eAA0B,EAC1B,2BAA2B,GAC3B,EAAE,mBAAmB;iCAudqB,MAAM;8CA/VhC,OAAO,YACZ,OAAO,EAAE;EAgbpB"}
|