@nanocollective/nanocoder 1.16.4 → 1.17.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 +53 -19
- package/assets/nanocoder-vscode.vsix +0 -0
- package/dist/app.d.ts +6 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +54 -18
- package/dist/app.js.map +1 -1
- package/dist/cli.js +13 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +4 -29
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/mcp.d.ts +6 -0
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +25 -3
- package/dist/commands/mcp.js.map +1 -1
- package/dist/components/tool-confirmation.d.ts.map +1 -1
- package/dist/components/tool-confirmation.js +5 -19
- package/dist/components/tool-confirmation.js.map +1 -1
- package/dist/components/vscode-extension-prompt.d.ts +12 -0
- package/dist/components/vscode-extension-prompt.d.ts.map +1 -0
- package/dist/components/vscode-extension-prompt.js +115 -0
- package/dist/components/vscode-extension-prompt.js.map +1 -0
- package/dist/config/themes.js +2 -2
- package/dist/hooks/useAppInitialization.d.ts +2 -0
- package/dist/hooks/useAppInitialization.d.ts.map +1 -1
- package/dist/hooks/useAppInitialization.js +55 -1
- package/dist/hooks/useAppInitialization.js.map +1 -1
- package/dist/hooks/useChatHandler.d.ts.map +1 -1
- package/dist/hooks/useChatHandler.js +10 -71
- package/dist/hooks/useChatHandler.js.map +1 -1
- package/dist/hooks/useDirectoryTrust.d.ts.map +1 -1
- package/dist/hooks/useDirectoryTrust.js +4 -4
- package/dist/hooks/useDirectoryTrust.js.map +1 -1
- package/dist/hooks/useModeHandlers.d.ts +2 -1
- package/dist/hooks/useModeHandlers.d.ts.map +1 -1
- package/dist/hooks/useModeHandlers.js +13 -1
- package/dist/hooks/useModeHandlers.js.map +1 -1
- package/dist/hooks/useToolHandler.d.ts +0 -1
- package/dist/hooks/useToolHandler.d.ts.map +1 -1
- package/dist/hooks/useToolHandler.js +15 -75
- package/dist/hooks/useToolHandler.js.map +1 -1
- package/dist/hooks/useVSCodeServer.d.ts +45 -0
- package/dist/hooks/useVSCodeServer.d.ts.map +1 -0
- package/dist/hooks/useVSCodeServer.js +144 -0
- package/dist/hooks/useVSCodeServer.js.map +1 -0
- package/dist/lsp/index.d.ts +12 -0
- package/dist/lsp/index.d.ts.map +1 -0
- package/dist/lsp/index.js +11 -0
- package/dist/lsp/index.js.map +1 -0
- package/dist/lsp/lsp-client.d.ts +78 -0
- package/dist/lsp/lsp-client.d.ts.map +1 -0
- package/dist/lsp/lsp-client.js +378 -0
- package/dist/lsp/lsp-client.js.map +1 -0
- package/dist/lsp/lsp-client.spec.d.ts +2 -0
- package/dist/lsp/lsp-client.spec.d.ts.map +1 -0
- package/dist/lsp/lsp-client.spec.js +395 -0
- package/dist/lsp/lsp-client.spec.js.map +1 -0
- package/dist/lsp/lsp-manager.d.ts +124 -0
- package/dist/lsp/lsp-manager.d.ts.map +1 -0
- package/dist/lsp/lsp-manager.js +313 -0
- package/dist/lsp/lsp-manager.js.map +1 -0
- package/dist/lsp/lsp-manager.spec.d.ts +2 -0
- package/dist/lsp/lsp-manager.spec.d.ts.map +1 -0
- package/dist/lsp/lsp-manager.spec.js +388 -0
- package/dist/lsp/lsp-manager.spec.js.map +1 -0
- package/dist/lsp/protocol.d.ts +313 -0
- package/dist/lsp/protocol.d.ts.map +1 -0
- package/dist/lsp/protocol.js +70 -0
- package/dist/lsp/protocol.js.map +1 -0
- package/dist/lsp/protocol.spec.d.ts +2 -0
- package/dist/lsp/protocol.spec.d.ts.map +1 -0
- package/dist/lsp/protocol.spec.js +406 -0
- package/dist/lsp/protocol.spec.js.map +1 -0
- package/dist/lsp/server-discovery.d.ts +35 -0
- package/dist/lsp/server-discovery.d.ts.map +1 -0
- package/dist/lsp/server-discovery.js +291 -0
- package/dist/lsp/server-discovery.js.map +1 -0
- package/dist/lsp/server-discovery.spec.d.ts +2 -0
- package/dist/lsp/server-discovery.spec.d.ts.map +1 -0
- package/dist/lsp/server-discovery.spec.js +375 -0
- package/dist/lsp/server-discovery.spec.js.map +1 -0
- package/dist/mcp/mcp-client.d.ts +18 -0
- package/dist/mcp/mcp-client.d.ts.map +1 -1
- package/dist/mcp/mcp-client.js +59 -23
- package/dist/mcp/mcp-client.js.map +1 -1
- package/dist/mcp/mcp-client.spec.d.ts +2 -0
- package/dist/mcp/mcp-client.spec.d.ts.map +1 -0
- package/dist/mcp/mcp-client.spec.js +64 -0
- package/dist/mcp/mcp-client.spec.js.map +1 -0
- package/dist/mcp/transport-factory.d.ts +39 -0
- package/dist/mcp/transport-factory.d.ts.map +1 -0
- package/dist/mcp/transport-factory.js +176 -0
- package/dist/mcp/transport-factory.js.map +1 -0
- package/dist/mcp/transport-factory.spec.d.ts +2 -0
- package/dist/mcp/transport-factory.spec.d.ts.map +1 -0
- package/dist/mcp/transport-factory.spec.js +303 -0
- package/dist/mcp/transport-factory.spec.js.map +1 -0
- package/dist/message-handler.d.ts.map +1 -1
- package/dist/message-handler.js +6 -11
- package/dist/message-handler.js.map +1 -1
- package/dist/models/models-dev-client.spec.js +1 -0
- package/dist/models/models-dev-client.spec.js.map +1 -1
- package/dist/tools/create-file.d.ts.map +1 -1
- package/dist/tools/create-file.js +37 -3
- package/dist/tools/create-file.js.map +1 -1
- package/dist/tools/delete-lines.d.ts.map +1 -1
- package/dist/tools/delete-lines.js +41 -1
- package/dist/tools/delete-lines.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/insert-lines.d.ts.map +1 -1
- package/dist/tools/insert-lines.js +40 -1
- package/dist/tools/insert-lines.js.map +1 -1
- package/dist/tools/lsp-get-diagnostics.d.ts +3 -0
- package/dist/tools/lsp-get-diagnostics.d.ts.map +1 -0
- package/dist/tools/lsp-get-diagnostics.js +182 -0
- package/dist/tools/lsp-get-diagnostics.js.map +1 -0
- package/dist/tools/replace-lines.d.ts.map +1 -1
- package/dist/tools/replace-lines.js +44 -1
- package/dist/tools/replace-lines.js.map +1 -1
- package/dist/tools/tool-manager.d.ts +17 -0
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/tool-manager.js +12 -0
- package/dist/tools/tool-manager.js.map +1 -1
- package/dist/types/config.d.ts +27 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/mcp.d.ts +23 -1
- package/dist/types/mcp.d.ts.map +1 -1
- package/dist/utils/error-formatter.d.ts +22 -0
- package/dist/utils/error-formatter.d.ts.map +1 -0
- package/dist/utils/error-formatter.js +27 -0
- package/dist/utils/error-formatter.js.map +1 -0
- package/dist/utils/error-formatter.spec.d.ts +2 -0
- package/dist/utils/error-formatter.spec.d.ts.map +1 -0
- package/dist/utils/error-formatter.spec.js +147 -0
- package/dist/utils/error-formatter.spec.js.map +1 -0
- package/dist/utils/fuzzy-matching.spec.js +1 -0
- package/dist/utils/fuzzy-matching.spec.js.map +1 -1
- package/dist/utils/tool-args-parser.d.ts +37 -0
- package/dist/utils/tool-args-parser.d.ts.map +1 -0
- package/dist/utils/tool-args-parser.js +50 -0
- package/dist/utils/tool-args-parser.js.map +1 -0
- package/dist/utils/tool-args-parser.spec.d.ts +2 -0
- package/dist/utils/tool-args-parser.spec.d.ts.map +1 -0
- package/dist/utils/tool-args-parser.spec.js +111 -0
- package/dist/utils/tool-args-parser.spec.js.map +1 -0
- package/dist/utils/tool-cancellation.d.ts +21 -0
- package/dist/utils/tool-cancellation.d.ts.map +1 -0
- package/dist/utils/tool-cancellation.js +27 -0
- package/dist/utils/tool-cancellation.js.map +1 -0
- package/dist/utils/tool-cancellation.spec.d.ts +2 -0
- package/dist/utils/tool-cancellation.spec.d.ts.map +1 -0
- package/dist/utils/tool-cancellation.spec.js +186 -0
- package/dist/utils/tool-cancellation.spec.js.map +1 -0
- package/dist/utils/tool-result-display.d.ts +15 -0
- package/dist/utils/tool-result-display.d.ts.map +1 -0
- package/dist/utils/tool-result-display.js +51 -0
- package/dist/utils/tool-result-display.js.map +1 -0
- package/dist/vscode/extension-installer.d.ts +24 -0
- package/dist/vscode/extension-installer.d.ts.map +1 -0
- package/dist/vscode/extension-installer.js +110 -0
- package/dist/vscode/extension-installer.js.map +1 -0
- package/dist/vscode/extension-installer.spec.d.ts +2 -0
- package/dist/vscode/extension-installer.spec.d.ts.map +1 -0
- package/dist/vscode/extension-installer.spec.js +132 -0
- package/dist/vscode/extension-installer.spec.js.map +1 -0
- package/dist/vscode/index.d.ts +14 -0
- package/dist/vscode/index.d.ts.map +1 -0
- package/dist/vscode/index.js +14 -0
- package/dist/vscode/index.js.map +1 -0
- package/dist/vscode/protocol.d.ts +101 -0
- package/dist/vscode/protocol.d.ts.map +1 -0
- package/dist/vscode/protocol.js +7 -0
- package/dist/vscode/protocol.js.map +1 -0
- package/dist/vscode/protocol.spec.d.ts +2 -0
- package/dist/vscode/protocol.spec.d.ts.map +1 -0
- package/dist/vscode/protocol.spec.js +354 -0
- package/dist/vscode/protocol.spec.js.map +1 -0
- package/dist/vscode/vscode-server.d.ts +118 -0
- package/dist/vscode/vscode-server.d.ts.map +1 -0
- package/dist/vscode/vscode-server.js +303 -0
- package/dist/vscode/vscode-server.js.map +1 -0
- package/dist/vscode/vscode-server.spec.d.ts +2 -0
- package/dist/vscode/vscode-server.spec.d.ts.map +1 -0
- package/dist/vscode/vscode-server.spec.js +487 -0
- package/dist/vscode/vscode-server.spec.js.map +1 -0
- package/dist/wizard/steps/mcp-step.d.ts.map +1 -1
- package/dist/wizard/steps/mcp-step.js +139 -72
- package/dist/wizard/steps/mcp-step.js.map +1 -1
- package/dist/wizard/steps/summary-step.d.ts.map +1 -1
- package/dist/wizard/steps/summary-step.js +58 -2
- package/dist/wizard/steps/summary-step.js.map +1 -1
- package/dist/wizard/templates/mcp-templates.d.ts +20 -2
- package/dist/wizard/templates/mcp-templates.d.ts.map +1 -1
- package/dist/wizard/templates/mcp-templates.js +351 -7
- package/dist/wizard/templates/mcp-templates.js.map +1 -1
- package/dist/wizard/templates/mcp-templates.spec.js +257 -0
- package/dist/wizard/templates/mcp-templates.spec.js.map +1 -1
- package/dist/wizard/validation-array.spec.d.ts +2 -0
- package/dist/wizard/validation-array.spec.d.ts.map +1 -0
- package/dist/wizard/validation-array.spec.js +221 -0
- package/dist/wizard/validation-array.spec.js.map +1 -0
- package/dist/wizard/validation.d.ts +26 -1
- package/dist/wizard/validation.d.ts.map +1 -1
- package/dist/wizard/validation.js +15 -2
- package/dist/wizard/validation.js.map +1 -1
- package/dist/wizard/validation.spec.js +13 -5
- package/dist/wizard/validation.spec.js.map +1 -1
- package/package.json +7 -3
- package/source/app/prompts/main-prompt.md +6 -0
package/README.md
CHANGED
|
@@ -24,6 +24,7 @@ A local-first CLI coding agent that brings the power of agentic coding tools lik
|
|
|
24
24
|
- [Custom Command System](#-custom-command-system)
|
|
25
25
|
- [Enhanced User Experience](#-enhanced-user-experience)
|
|
26
26
|
- [Developer Features](#️-developer-features)
|
|
27
|
+
- [VS Code Extension](#vs-code-extension)
|
|
27
28
|
- [Community](#community)
|
|
28
29
|
|
|
29
30
|
## FAQs
|
|
@@ -133,8 +134,8 @@ If you want to contribute or modify Nanocoder:
|
|
|
133
134
|
|
|
134
135
|
**Prerequisites:**
|
|
135
136
|
|
|
136
|
-
- Node.js
|
|
137
|
-
-
|
|
137
|
+
- Node.js 20+
|
|
138
|
+
- pnpm
|
|
138
139
|
|
|
139
140
|
**Setup:**
|
|
140
141
|
|
|
@@ -143,25 +144,25 @@ If you want to contribute or modify Nanocoder:
|
|
|
143
144
|
```bash
|
|
144
145
|
git clone [repo-url]
|
|
145
146
|
cd nanocoder
|
|
146
|
-
|
|
147
|
+
pnpm install
|
|
147
148
|
```
|
|
148
149
|
|
|
149
150
|
2. Build the project:
|
|
150
151
|
|
|
151
152
|
```bash
|
|
152
|
-
|
|
153
|
+
pnpm run build
|
|
153
154
|
```
|
|
154
155
|
|
|
155
156
|
3. Run locally:
|
|
156
157
|
|
|
157
158
|
```bash
|
|
158
|
-
|
|
159
|
+
pnpm run start
|
|
159
160
|
```
|
|
160
161
|
|
|
161
162
|
Or build and run in one command:
|
|
162
163
|
|
|
163
164
|
```bash
|
|
164
|
-
|
|
165
|
+
pnpm run dev
|
|
165
166
|
```
|
|
166
167
|
|
|
167
168
|
## Configuration
|
|
@@ -330,6 +331,7 @@ Nanocoder supports connecting to MCP servers to extend its capabilities with add
|
|
|
330
331
|
"mcpServers": [
|
|
331
332
|
{
|
|
332
333
|
"name": "filesystem",
|
|
334
|
+
"transport": "stdio",
|
|
333
335
|
"command": "npx",
|
|
334
336
|
"args": [
|
|
335
337
|
"@modelcontextprotocol/server-filesystem",
|
|
@@ -338,6 +340,7 @@ Nanocoder supports connecting to MCP servers to extend its capabilities with add
|
|
|
338
340
|
},
|
|
339
341
|
{
|
|
340
342
|
"name": "github",
|
|
343
|
+
"transport": "stdio",
|
|
341
344
|
"command": "npx",
|
|
342
345
|
"args": ["@modelcontextprotocol/server-github"],
|
|
343
346
|
"env": {
|
|
@@ -345,12 +348,16 @@ Nanocoder supports connecting to MCP servers to extend its capabilities with add
|
|
|
345
348
|
}
|
|
346
349
|
},
|
|
347
350
|
{
|
|
348
|
-
"name": "
|
|
349
|
-
"
|
|
350
|
-
"
|
|
351
|
-
"
|
|
352
|
-
|
|
353
|
-
|
|
351
|
+
"name": "remote-search",
|
|
352
|
+
"transport": "http",
|
|
353
|
+
"url": "https://api.example.com/mcp",
|
|
354
|
+
"timeout": 30000
|
|
355
|
+
},
|
|
356
|
+
{
|
|
357
|
+
"name": "websocket-server",
|
|
358
|
+
"transport": "websocket",
|
|
359
|
+
"url": "wss://ws.example.com/mcp",
|
|
360
|
+
"timeout": 60000
|
|
354
361
|
}
|
|
355
362
|
]
|
|
356
363
|
}
|
|
@@ -360,25 +367,40 @@ Nanocoder supports connecting to MCP servers to extend its capabilities with add
|
|
|
360
367
|
**MCP Server Configuration:**
|
|
361
368
|
|
|
362
369
|
- `name`: Display name for the MCP server
|
|
363
|
-
- `
|
|
364
|
-
-
|
|
365
|
-
- `
|
|
370
|
+
- `transport`: Transport type (`stdio`, `http`, `websocket`)
|
|
371
|
+
- **For stdio transport:**
|
|
372
|
+
- `command`: Executable command to start the server
|
|
373
|
+
- `args`: Array of command-line arguments
|
|
374
|
+
- `env`: Environment variables for the server process
|
|
375
|
+
- **For http/websocket transport:**
|
|
376
|
+
- `url`: Server endpoint URL
|
|
377
|
+
- `timeout`: Connection timeout in milliseconds (optional)
|
|
378
|
+
|
|
379
|
+
**Transport Types:**
|
|
380
|
+
|
|
381
|
+
- **stdio**: Local command-line servers (most common)
|
|
382
|
+
- **http**: Remote HTTP API endpoints
|
|
383
|
+
- **websocket**: Real-time WebSocket connections
|
|
366
384
|
|
|
367
385
|
When MCP servers are configured, Nanocoder will:
|
|
368
386
|
|
|
369
387
|
- Automatically connect to all configured servers on startup
|
|
370
388
|
- Make all server tools available to the AI model
|
|
371
389
|
- Show connected servers and their tools with the `/mcp` command
|
|
390
|
+
- Display transport type and connection details in configuration summary
|
|
372
391
|
|
|
373
392
|
Popular MCP servers:
|
|
374
393
|
|
|
375
|
-
- **Filesystem**: Enhanced file operations
|
|
376
|
-
- **GitHub**: Repository management
|
|
377
|
-
- **Brave Search**: Web search capabilities
|
|
394
|
+
- **Filesystem**: Enhanced file operations (stdio)
|
|
395
|
+
- **GitHub**: Repository management (stdio)
|
|
396
|
+
- **Brave Search**: Web search capabilities (http)
|
|
378
397
|
- **Memory**: Persistent context storage
|
|
398
|
+
- **Context7**: Documentation lookup (http)
|
|
399
|
+
- **DeepWiki**: Wikipedia search (http)
|
|
400
|
+
- **Sequential Thinking**: Advanced reasoning (http)
|
|
379
401
|
- [View more MCP servers](https://github.com/modelcontextprotocol/servers)
|
|
380
402
|
|
|
381
|
-
> **Note**: MCP server configuration follows the same location hierarchy as AI provider setup above. Use `/setup-config` for an interactive configuration wizard, or manually edit `agents.config.json` at the project level (current directory) or user level (platform-specific paths listed above).
|
|
403
|
+
> **Note**: MCP server configuration follows the same location hierarchy as AI provider setup above. Use `/setup-config` for an interactive configuration wizard with templates for both local and remote MCP servers, or manually edit `agents.config.json` at the project level (current directory) or user level (platform-specific paths listed above).
|
|
382
404
|
|
|
383
405
|
### User Preferences
|
|
384
406
|
|
|
@@ -528,6 +550,18 @@ Generate comprehensive unit tests for {{component}}. Include:
|
|
|
528
550
|
- **Project-specific config**: Different settings per project via `agents.config.json`
|
|
529
551
|
- **Error resilience**: Graceful handling of provider failures and network issues
|
|
530
552
|
|
|
553
|
+
## VS Code Extension
|
|
554
|
+
|
|
555
|
+
Nanocoder includes a VS Code extension that provides live diff previews of file changes directly in your editor. When the AI suggests file modifications, you can see exactly what will change before approving.
|
|
556
|
+
|
|
557
|
+
To get started, run Nanocoder with the `--vscode` flag:
|
|
558
|
+
|
|
559
|
+
```bash
|
|
560
|
+
nanocoder --vscode
|
|
561
|
+
```
|
|
562
|
+
|
|
563
|
+
For full documentation including installation options, configuration, and troubleshooting, see the [VS Code Extension Guide](docs/vscode-extension.md).
|
|
564
|
+
|
|
531
565
|
## Community
|
|
532
566
|
|
|
533
567
|
We're a small community-led team building Nanocoder and would love your help! Whether you're interested in contributing code, documentation, or just being part of our community, there are several ways to get involved.
|
|
Binary file
|
package/dist/app.d.ts
CHANGED
|
@@ -1,2 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
interface AppProps {
|
|
2
|
+
vscodeMode?: boolean;
|
|
3
|
+
vscodePort?: number;
|
|
4
|
+
}
|
|
5
|
+
export default function App({ vscodeMode, vscodePort }: AppProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export {};
|
|
2
7
|
//# sourceMappingURL=app.d.ts.map
|
package/dist/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../source/app.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../source/app.tsx"],"names":[],"mappings":"AA0CA,UAAU,QAAQ;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,CAAC,OAAO,UAAU,GAAG,CAAC,EAAC,UAAkB,EAAE,UAAU,EAAC,EAAE,QAAQ,2CAmbrE"}
|
package/dist/app.js
CHANGED
|
@@ -20,6 +20,7 @@ import Spinner from 'ink-spinner';
|
|
|
20
20
|
import SecurityDisclaimer from './components/security-disclaimer.js';
|
|
21
21
|
import { RecommendationsDisplay } from './commands/recommendations.js';
|
|
22
22
|
import { ConfigWizard } from './wizard/config-wizard.js';
|
|
23
|
+
import { VSCodeExtensionPrompt, shouldPromptExtensionInstall, } from './components/vscode-extension-prompt.js';
|
|
23
24
|
// Import extracted hooks and utilities
|
|
24
25
|
import { useAppState } from './hooks/useAppState.js';
|
|
25
26
|
import { useChatHandler } from './hooks/useChatHandler.js';
|
|
@@ -27,17 +28,41 @@ import { useToolHandler } from './hooks/useToolHandler.js';
|
|
|
27
28
|
import { useModeHandlers } from './hooks/useModeHandlers.js';
|
|
28
29
|
import { useAppInitialization } from './hooks/useAppInitialization.js';
|
|
29
30
|
import { useDirectoryTrust } from './hooks/useDirectoryTrust.js';
|
|
31
|
+
import { useVSCodeServer } from './hooks/useVSCodeServer.js';
|
|
30
32
|
import { createClearMessagesHandler, handleMessageSubmission, } from './app/utils/appUtils.js';
|
|
31
33
|
// Provide shared UI state to components
|
|
32
34
|
import { UIStateProvider } from './hooks/useUIState.js';
|
|
33
|
-
export default function App() {
|
|
35
|
+
export default function App({ vscodeMode = false, vscodePort }) {
|
|
34
36
|
// Use extracted hooks
|
|
35
37
|
const appState = useAppState();
|
|
36
38
|
const { exit } = useApp();
|
|
37
39
|
const { isTrusted, handleConfirmTrust, isTrustLoading, isTrustedError } = useDirectoryTrust();
|
|
40
|
+
// VS Code extension installation prompt state
|
|
41
|
+
const [showExtensionPrompt, setShowExtensionPrompt] = React.useState(() => vscodeMode && shouldPromptExtensionInstall());
|
|
42
|
+
const [extensionPromptComplete, setExtensionPromptComplete] = React.useState(false);
|
|
38
43
|
const handleExit = () => {
|
|
39
44
|
exit();
|
|
40
45
|
};
|
|
46
|
+
// VS Code server integration - handles prompts from VS Code extension
|
|
47
|
+
const handleVSCodePrompt = React.useCallback((prompt, context) => {
|
|
48
|
+
// Build enhanced prompt with context if available
|
|
49
|
+
let enhancedPrompt = prompt;
|
|
50
|
+
if (context?.filePath) {
|
|
51
|
+
enhancedPrompt = `[Context: ${context.filePath}${context.selection ? ` (selection)` : ''}]\n\n${prompt}`;
|
|
52
|
+
}
|
|
53
|
+
// This will be connected to chat handler after initialization
|
|
54
|
+
// For now, store it for processing
|
|
55
|
+
console.log('VS Code prompt received:', enhancedPrompt);
|
|
56
|
+
}, []);
|
|
57
|
+
// Setup VS Code server (returns connection status and methods)
|
|
58
|
+
// The server handles prompts via callback and exposes methods for sending messages
|
|
59
|
+
const _vsCodeServer = useVSCodeServer({
|
|
60
|
+
enabled: vscodeMode,
|
|
61
|
+
port: vscodePort,
|
|
62
|
+
currentModel: appState.currentModel,
|
|
63
|
+
currentProvider: appState.currentProvider,
|
|
64
|
+
onPrompt: handleVSCodePrompt,
|
|
65
|
+
});
|
|
41
66
|
// Create theme context value
|
|
42
67
|
const themeContextValue = {
|
|
43
68
|
currentTheme: appState.currentTheme,
|
|
@@ -95,6 +120,23 @@ export default function App() {
|
|
|
95
120
|
currentProvider: appState.currentProvider,
|
|
96
121
|
setDevelopmentMode: appState.setDevelopmentMode,
|
|
97
122
|
});
|
|
123
|
+
// Setup initialization
|
|
124
|
+
const appInitialization = useAppInitialization({
|
|
125
|
+
setClient: appState.setClient,
|
|
126
|
+
setCurrentModel: appState.setCurrentModel,
|
|
127
|
+
setCurrentProvider: appState.setCurrentProvider,
|
|
128
|
+
setToolManager: appState.setToolManager,
|
|
129
|
+
setCustomCommandLoader: appState.setCustomCommandLoader,
|
|
130
|
+
setCustomCommandExecutor: appState.setCustomCommandExecutor,
|
|
131
|
+
setCustomCommandCache: appState.setCustomCommandCache,
|
|
132
|
+
setStartChat: appState.setStartChat,
|
|
133
|
+
setMcpInitialized: appState.setMcpInitialized,
|
|
134
|
+
setUpdateInfo: appState.setUpdateInfo,
|
|
135
|
+
addToChatQueue: appState.addToChatQueue,
|
|
136
|
+
componentKeyCounter: appState.componentKeyCounter,
|
|
137
|
+
customCommandCache: appState.customCommandCache,
|
|
138
|
+
setIsConfigWizardMode: appState.setIsConfigWizardMode,
|
|
139
|
+
});
|
|
98
140
|
// Setup mode handlers
|
|
99
141
|
const modeHandlers = useModeHandlers({
|
|
100
142
|
client: appState.client,
|
|
@@ -113,23 +155,7 @@ export default function App() {
|
|
|
113
155
|
setIsConfigWizardMode: appState.setIsConfigWizardMode,
|
|
114
156
|
addToChatQueue: appState.addToChatQueue,
|
|
115
157
|
componentKeyCounter: appState.componentKeyCounter,
|
|
116
|
-
|
|
117
|
-
// Setup initialization
|
|
118
|
-
useAppInitialization({
|
|
119
|
-
setClient: appState.setClient,
|
|
120
|
-
setCurrentModel: appState.setCurrentModel,
|
|
121
|
-
setCurrentProvider: appState.setCurrentProvider,
|
|
122
|
-
setToolManager: appState.setToolManager,
|
|
123
|
-
setCustomCommandLoader: appState.setCustomCommandLoader,
|
|
124
|
-
setCustomCommandExecutor: appState.setCustomCommandExecutor,
|
|
125
|
-
setCustomCommandCache: appState.setCustomCommandCache,
|
|
126
|
-
setStartChat: appState.setStartChat,
|
|
127
|
-
setMcpInitialized: appState.setMcpInitialized,
|
|
128
|
-
setUpdateInfo: appState.setUpdateInfo,
|
|
129
|
-
addToChatQueue: appState.addToChatQueue,
|
|
130
|
-
componentKeyCounter: appState.componentKeyCounter,
|
|
131
|
-
customCommandCache: appState.customCommandCache,
|
|
132
|
-
setIsConfigWizardMode: appState.setIsConfigWizardMode,
|
|
158
|
+
reinitializeMCPServers: appInitialization.reinitializeMCPServers,
|
|
133
159
|
});
|
|
134
160
|
// Memoize handlers to prevent unnecessary re-renders
|
|
135
161
|
const clearMessages = React.useMemo(() => createClearMessagesHandler(appState.updateMessages, appState.client), [appState.updateMessages, appState.client]);
|
|
@@ -225,6 +251,16 @@ export default function App() {
|
|
|
225
251
|
if (!isTrusted) {
|
|
226
252
|
return (_jsx(SecurityDisclaimer, { onConfirm: handleConfirmTrust, onExit: handleExit }));
|
|
227
253
|
}
|
|
254
|
+
// Show VS Code extension installation prompt if needed
|
|
255
|
+
if (showExtensionPrompt && !extensionPromptComplete) {
|
|
256
|
+
return (_jsx(ThemeContext.Provider, { value: themeContextValue, children: _jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsx(WelcomeMessage, {}), _jsx(VSCodeExtensionPrompt, { onComplete: () => {
|
|
257
|
+
setShowExtensionPrompt(false);
|
|
258
|
+
setExtensionPromptComplete(true);
|
|
259
|
+
}, onSkip: () => {
|
|
260
|
+
setShowExtensionPrompt(false);
|
|
261
|
+
setExtensionPromptComplete(true);
|
|
262
|
+
} })] }) }));
|
|
263
|
+
}
|
|
228
264
|
return (_jsx(ThemeContext.Provider, { value: themeContextValue, children: _jsx(UIStateProvider, { children: _jsxs(Box, { flexDirection: "column", padding: 1, width: "100%", children: [_jsx(Box, { flexGrow: 1, flexDirection: "column", minHeight: 0, children: appState.startChat && (_jsx(ChatQueue, { staticComponents: staticComponents, queuedComponents: appState.chatComponents })) }), appState.startChat && (_jsxs(Box, { flexDirection: "column", marginLeft: -1, children: [appState.isCancelling ? (_jsx(CancellingIndicator, {})) : appState.isThinking && !chatHandler.isStreaming ? (_jsx(ThinkingIndicator, {})) : null, chatHandler.isStreaming && chatHandler.streamingContent && (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Box, { marginBottom: 1, children: _jsxs(Text, { color: themeContextValue.colors.primary, bold: true, children: [appState.currentModel, ":"] }) }), _jsx(Text, { children: chatHandler.streamingContent })] })), appState.isModelSelectionMode ? (_jsx(ModelSelector, { client: appState.client, currentModel: appState.currentModel, onModelSelect: model => void modeHandlers.handleModelSelect(model), onCancel: modeHandlers.handleModelSelectionCancel })) : appState.isProviderSelectionMode ? (_jsx(ProviderSelector, { currentProvider: appState.currentProvider, onProviderSelect: provider => void modeHandlers.handleProviderSelect(provider), onCancel: modeHandlers.handleProviderSelectionCancel })) : appState.isThemeSelectionMode ? (_jsx(ThemeSelector, { onThemeSelect: modeHandlers.handleThemeSelect, onCancel: modeHandlers.handleThemeSelectionCancel })) : appState.isRecommendationsMode ? (_jsx(RecommendationsDisplay, { onCancel: modeHandlers.handleRecommendationsCancel })) : appState.isConfigWizardMode ? (_jsx(ConfigWizard, { projectDir: process.cwd(), onComplete: configPath => void modeHandlers.handleConfigWizardComplete(configPath), onCancel: modeHandlers.handleConfigWizardCancel })) : appState.isToolConfirmationMode &&
|
|
229
265
|
appState.pendingToolCalls[appState.currentToolIndex] ? (_jsx(ToolConfirmation, { toolCall: appState.pendingToolCalls[appState.currentToolIndex], onConfirm: toolHandler.handleToolConfirmation, onCancel: toolHandler.handleToolConfirmationCancel })) : appState.isToolExecuting &&
|
|
230
266
|
appState.pendingToolCalls[appState.currentToolIndex] ? (_jsx(ToolExecutionIndicator, { toolName: appState.pendingToolCalls[appState.currentToolIndex]
|
package/dist/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../source/app.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../source/app.tsx"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -2,5 +2,17 @@
|
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import { render } from 'ink';
|
|
4
4
|
import App from './app.js';
|
|
5
|
-
|
|
5
|
+
// Parse CLI arguments
|
|
6
|
+
const args = process.argv.slice(2);
|
|
7
|
+
const vscodeMode = args.includes('--vscode');
|
|
8
|
+
// Extract VS Code port if specified
|
|
9
|
+
let vscodePort;
|
|
10
|
+
const portArgIndex = args.findIndex(arg => arg === '--vscode-port');
|
|
11
|
+
if (portArgIndex !== -1 && args[portArgIndex + 1]) {
|
|
12
|
+
const port = parseInt(args[portArgIndex + 1], 10);
|
|
13
|
+
if (!isNaN(port) && port > 0 && port < 65536) {
|
|
14
|
+
vscodePort = port;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
render(_jsx(App, { vscodeMode: vscodeMode, vscodePort: vscodePort }));
|
|
6
18
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../source/cli.tsx"],"names":[],"mappings":";;AACA,OAAO,EAAC,MAAM,EAAC,MAAM,KAAK,CAAC;AAC3B,OAAO,GAAG,MAAM,OAAO,CAAC;AAExB,MAAM,CAAC,KAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../source/cli.tsx"],"names":[],"mappings":";;AACA,OAAO,EAAC,MAAM,EAAC,MAAM,KAAK,CAAC;AAC3B,OAAO,GAAG,MAAM,OAAO,CAAC;AAExB,sBAAsB;AACtB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAE7C,oCAAoC;AACpC,IAAI,UAA8B,CAAC;AACnC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,eAAe,CAAC,CAAC;AACpE,IAAI,YAAY,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC;IACnD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;QAC9C,UAAU,GAAG,IAAI,CAAC;IACnB,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAC,GAAG,IAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAI,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../source/commands/init.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../source/commands/init.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAkMtC,eAAO,MAAM,WAAW,EAAE,OA6GzB,CAAC"}
|
package/dist/commands/init.js
CHANGED
|
@@ -12,29 +12,11 @@ import { AgentsTemplateGenerator } from '../init/agents-template-generator.js';
|
|
|
12
12
|
import { ExistingRulesExtractor } from '../init/existing-rules-extractor.js';
|
|
13
13
|
function InitSuccess({ created, analysis, }) {
|
|
14
14
|
const boxWidth = useTerminalWidth();
|
|
15
|
-
return (_jsxs(TitledBox, { borderStyle: "round", titles: ['Project Initialized'], titleStyles: titleStyles.pill, width: boxWidth, borderColor: colors.primary, paddingX: 2, paddingY: 1, flexDirection: "column", marginBottom: 1, children: [_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: colors.primary, bold: true, children: "\u2713 Nanocoder project initialized successfully!" }) }), analysis && (_jsxs(_Fragment, { children: [_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: colors.white, bold: true, children: "Project Analysis:" }) }), _jsxs(Text, { color: colors.secondary, children: ["\u2022 Type: ", analysis.projectType] }), _jsxs(Text, { color: colors.secondary, children: ["\u2022 Primary Language: ", analysis.primaryLanguage] }), analysis.frameworks.length > 0 && (_jsxs(Text, { color: colors.secondary, children: ["\u2022 Frameworks: ", analysis.frameworks.slice(0, 3).join(', ')] })), _jsxs(Text, { color: colors.secondary, children: ["\u2022 Files Analyzed: ", analysis.totalFiles] }), _jsx(Box, { marginBottom: 1 })] })), _jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: colors.white, bold: true, children: "Files Created:" }) }), created.map((item, index) => (_jsxs(Text, { color: colors.secondary, children: ["\u2022 ", item] }, index))), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { color: colors.white, children: "Your project is now ready for AI-assisted development!" }), _jsx(Text, { color: colors.secondary, children: "The AGENTS.md file will help AI understand your project context." })] })] }));
|
|
15
|
+
return (_jsxs(TitledBox, { borderStyle: "round", titles: ['Project Initialized'], titleStyles: titleStyles.pill, width: boxWidth, borderColor: colors.primary, paddingX: 2, paddingY: 1, flexDirection: "column", marginBottom: 1, children: [_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: colors.primary, bold: true, children: "\u2713 Nanocoder project initialized successfully!" }) }), analysis && (_jsxs(_Fragment, { children: [_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: colors.white, bold: true, children: "Project Analysis:" }) }), _jsxs(Text, { color: colors.secondary, children: ["\u2022 Type: ", analysis.projectType] }), _jsxs(Text, { color: colors.secondary, children: ["\u2022 Primary Language: ", analysis.primaryLanguage] }), analysis.frameworks.length > 0 && (_jsxs(Text, { color: colors.secondary, children: ["\u2022 Frameworks: ", analysis.frameworks.slice(0, 3).join(', ')] })), _jsxs(Text, { color: colors.secondary, children: ["\u2022 Files Analyzed: ", analysis.totalFiles] }), _jsx(Box, { marginBottom: 1 })] })), _jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: colors.white, bold: true, children: "Files Created:" }) }), created.map((item, index) => (_jsxs(Text, { color: colors.secondary, children: ["\u2022 ", item] }, index))), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: colors.white, children: "Your project is now ready for AI-assisted development!" }) }), _jsx(Text, { color: colors.secondary, children: "The AGENTS.md file will help AI understand your project context." })] })] }));
|
|
16
16
|
}
|
|
17
17
|
function InitError({ message }) {
|
|
18
|
-
return _jsx(ErrorMessage, { message: `✗ ${message}` });
|
|
18
|
+
return _jsx(ErrorMessage, { hideBox: true, message: `✗ ${message}` });
|
|
19
19
|
}
|
|
20
|
-
const DEFAULT_CONFIG = {
|
|
21
|
-
nanocoder: {
|
|
22
|
-
providers: [
|
|
23
|
-
{
|
|
24
|
-
name: 'OpenRouter',
|
|
25
|
-
baseUrl: 'https://openrouter.ai/api/v1',
|
|
26
|
-
apiKey: 'your-openrouter-api-key-here',
|
|
27
|
-
models: ['openai/gpt-4o-mini', 'anthropic/claude-3-haiku'],
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
name: 'Local Ollama',
|
|
31
|
-
baseUrl: 'http://localhost:11434/v1',
|
|
32
|
-
models: ['llama3.2', 'qwen2.5-coder'],
|
|
33
|
-
},
|
|
34
|
-
],
|
|
35
|
-
mcpServers: [],
|
|
36
|
-
},
|
|
37
|
-
};
|
|
38
20
|
// Enhanced example commands based on detected project type
|
|
39
21
|
const getExampleCommands = (projectType, primaryLanguage) => {
|
|
40
22
|
const baseCommands = {
|
|
@@ -133,17 +115,15 @@ export const initCommand = {
|
|
|
133
115
|
const created = [];
|
|
134
116
|
try {
|
|
135
117
|
// Check if already initialized
|
|
136
|
-
const configPath = join(cwd, 'agents.config.json');
|
|
137
118
|
const agentsPath = join(cwd, 'AGENTS.md');
|
|
138
119
|
const nanocoderDir = join(cwd, '.nanocoder');
|
|
139
120
|
// Check for existing initialization
|
|
140
|
-
const hasConfig = existsSync(configPath);
|
|
141
121
|
const hasAgents = existsSync(agentsPath);
|
|
142
122
|
const hasNanocoder = existsSync(nanocoderDir);
|
|
143
|
-
if (
|
|
123
|
+
if (hasAgents && hasNanocoder) {
|
|
144
124
|
return Promise.resolve(React.createElement(InitError, {
|
|
145
125
|
key: `init-error-${Date.now()}`,
|
|
146
|
-
message: 'Project already
|
|
126
|
+
message: 'Project already initialized. Found AGENTS.md and .nanocoder/ directory.',
|
|
147
127
|
}));
|
|
148
128
|
}
|
|
149
129
|
// Show progress indicator for analysis
|
|
@@ -155,11 +135,6 @@ export const initCommand = {
|
|
|
155
135
|
// Extract existing AI configuration files
|
|
156
136
|
const rulesExtractor = new ExistingRulesExtractor(cwd);
|
|
157
137
|
const existingRules = rulesExtractor.extractExistingRules();
|
|
158
|
-
// Create agents.config.json if it doesn't exist
|
|
159
|
-
if (!hasConfig) {
|
|
160
|
-
writeFileSync(configPath, JSON.stringify(DEFAULT_CONFIG, null, 2));
|
|
161
|
-
created.push('agents.config.json');
|
|
162
|
-
}
|
|
163
138
|
// Create AGENTS.md based on analysis and existing rules
|
|
164
139
|
if (!hasAgents) {
|
|
165
140
|
const agentsContent = AgentsTemplateGenerator.generateAgentsMd(analysis, existingRules);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../source/commands/init.tsx"],"names":[],"mappings":";AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,SAAS,EAAE,WAAW,EAAC,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAC,GAAG,EAAE,IAAI,EAAC,MAAM,KAAK,CAAC;AAC9B,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC1D,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,EAAC,UAAU,EAAE,SAAS,EAAE,aAAa,EAAC,MAAM,IAAI,CAAC;AACxD,OAAO,EAAC,IAAI,EAAC,MAAM,MAAM,CAAC;AAC1B,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAC,uBAAuB,EAAC,MAAM,kCAAkC,CAAC;AACzE,OAAO,EAAC,sBAAsB,EAAC,MAAM,iCAAiC,CAAC;AAEvE,SAAS,WAAW,CAAC,EACpB,OAAO,EACP,QAAQ,GASR;IACA,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;IACpC,OAAO,CACN,MAAC,SAAS,IACT,WAAW,EAAC,OAAO,EACnB,MAAM,EAAE,CAAC,qBAAqB,CAAC,EAC/B,WAAW,EAAE,WAAW,CAAC,IAAI,EAC7B,KAAK,EAAE,QAAQ,EACf,WAAW,EAAE,MAAM,CAAC,OAAO,EAC3B,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,CAAC,EACX,aAAa,EAAC,QAAQ,EACtB,YAAY,EAAE,CAAC,aAEf,KAAC,GAAG,IAAC,YAAY,EAAE,CAAC,YACnB,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,yEAE1B,GACF,EAEL,QAAQ,IAAI,CACZ,8BACC,KAAC,GAAG,IAAC,YAAY,EAAE,CAAC,YACnB,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,wCAExB,GACF,EACN,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,8BAAW,QAAQ,CAAC,WAAW,IAAQ,EACpE,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,0CACP,QAAQ,CAAC,eAAe,IACvC,EACN,QAAQ,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAClC,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,oCACb,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IACnD,CACP,EACD,MAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,wCACT,QAAQ,CAAC,UAAU,IAChC,EACP,KAAC,GAAG,IAAC,YAAY,EAAE,CAAC,GAAI,IACtB,CACH,EAED,KAAC,GAAG,IAAC,YAAY,EAAE,CAAC,YACnB,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,qCAExB,GACF,EAEL,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAC7B,MAAC,IAAI,IAAa,KAAK,EAAE,MAAM,CAAC,SAAS,wBACrC,IAAI,KADG,KAAK,CAET,CACP,CAAC,EAEF,MAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,aACxC,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,uEAElB,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../source/commands/init.tsx"],"names":[],"mappings":"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"}
|
package/dist/commands/mcp.d.ts
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
1
|
import type { Command } from '../types/index.js';
|
|
2
|
+
import { ToolManager } from '../tools/tool-manager.js';
|
|
3
|
+
interface MCPProps {
|
|
4
|
+
toolManager: ToolManager | null;
|
|
5
|
+
}
|
|
6
|
+
export declare function MCP({ toolManager }: MCPProps): import("react/jsx-runtime").JSX.Element;
|
|
2
7
|
export declare const mcpCommand: Command;
|
|
8
|
+
export {};
|
|
3
9
|
//# sourceMappingURL=mcp.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../source/commands/mcp.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../source/commands/mcp.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAC,WAAW,EAAC,MAAM,sBAAsB,CAAC;AAsBjD,UAAU,QAAQ;IACjB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;CAChC;AAED,wBAAgB,GAAG,CAAC,EAAC,WAAW,EAAC,EAAE,QAAQ,2CA0H1C;AAED,eAAO,MAAM,UAAU,EAAE,OAaxB,CAAC"}
|
package/dist/commands/mcp.js
CHANGED
|
@@ -5,7 +5,20 @@ import { TitledBox, titleStyles } from '@mishieck/ink-titled-box';
|
|
|
5
5
|
import { Box, Text } from 'ink';
|
|
6
6
|
import { useTerminalWidth } from '../hooks/useTerminalWidth.js';
|
|
7
7
|
import { useTheme } from '../hooks/useTheme.js';
|
|
8
|
-
function
|
|
8
|
+
// Helper function to get transport icons
|
|
9
|
+
function getTransportIcon(transportType) {
|
|
10
|
+
switch (transportType.toLowerCase()) {
|
|
11
|
+
case 'stdio':
|
|
12
|
+
return '💻';
|
|
13
|
+
case 'websocket':
|
|
14
|
+
return '🔄';
|
|
15
|
+
case 'http':
|
|
16
|
+
return '🌐';
|
|
17
|
+
default:
|
|
18
|
+
return '❓';
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export function MCP({ toolManager }) {
|
|
9
22
|
const boxWidth = useTerminalWidth();
|
|
10
23
|
const { colors } = useTheme();
|
|
11
24
|
const connectedServers = toolManager?.getConnectedServers() || [];
|
|
@@ -14,17 +27,26 @@ function MCP({ toolManager }) {
|
|
|
14
27
|
"mcpServers": [
|
|
15
28
|
{
|
|
16
29
|
"name": "example-server",
|
|
30
|
+
"transport": "stdio",
|
|
17
31
|
"command": "node",
|
|
18
32
|
"args": ["path/to/server.js"],
|
|
19
33
|
"env": {
|
|
20
34
|
"API_KEY": "your-key"
|
|
21
35
|
}
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"name": "remote-server",
|
|
39
|
+
"transport": "http",
|
|
40
|
+
"url": "https://example.com/mcp",
|
|
41
|
+
"timeout": 30000
|
|
22
42
|
}
|
|
23
43
|
]
|
|
24
44
|
}
|
|
25
|
-
}` }) })] })) : (_jsxs(_Fragment, { children: [_jsx(Box, { marginBottom: 1, children: _jsxs(Text, { color: colors.primary, children: ["Connected MCP Servers (", connectedServers.length, "):"] }) }), connectedServers.map((serverName, index) => {
|
|
45
|
+
}` }) }), _jsxs(Text, { color: colors.secondary, children: ["Use ", _jsx(Text, { color: colors.primary, children: "/setup-config" }), " to configure servers interactively."] })] })) : (_jsxs(_Fragment, { children: [_jsx(Box, { marginBottom: 1, children: _jsxs(Text, { color: colors.primary, children: ["Connected MCP Servers (", connectedServers.length, "):"] }) }), connectedServers.map((serverName, index) => {
|
|
26
46
|
const serverTools = toolManager?.getServerTools(serverName) || [];
|
|
27
|
-
|
|
47
|
+
const serverInfo = toolManager?.getServerInfo(serverName);
|
|
48
|
+
const transportIcon = getTransportIcon(serverInfo?.transport || 'stdio');
|
|
49
|
+
return (_jsx(Box, { marginBottom: 1, children: _jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: colors.white, children: ["\u2022 ", transportIcon, ' ', _jsx(Text, { color: colors.primary, children: serverName }), ":", ' ', _jsxs(Text, { color: colors.secondary, children: ["(", serverInfo?.transport?.toUpperCase() || 'STDIO', ")"] }), ' ', "\u2022 ", serverTools.length, " tool", serverTools.length !== 1 ? 's' : ''] }), serverInfo?.url && (_jsxs(Text, { color: colors.secondary, children: ["URL: ", serverInfo.url] })), serverInfo?.description && (_jsx(Text, { color: colors.secondary, children: serverInfo.description })), serverInfo?.tags && serverInfo.tags.length > 0 && (_jsxs(Text, { color: colors.secondary, children: ["Tags: ", serverInfo.tags.map(tag => `#${tag}`).join(' ')] })), serverTools.length > 0 && (_jsxs(Text, { color: colors.secondary, children: ["Tools:", ' ', serverTools
|
|
28
50
|
.map((t) => t.name)
|
|
29
51
|
.join(', ')] }))] }) }, index));
|
|
30
52
|
})] })) }, colors.primary));
|
package/dist/commands/mcp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../source/commands/mcp.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAC,cAAc,EAAC,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,SAAS,EAAE,WAAW,EAAC,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAC,GAAG,EAAE,IAAI,EAAC,MAAM,KAAK,CAAC;AAC9B,OAAO,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../source/commands/mcp.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-confirmation.d.ts","sourceRoot":"","sources":["../../source/components/tool-confirmation.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-confirmation.d.ts","sourceRoot":"","sources":["../../source/components/tool-confirmation.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAC;AAO3C,UAAU,qBAAqB;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,QAAQ,EAAE,MAAM,IAAI,CAAC;CACrB;AAOD,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACxC,QAAQ,EACR,SAAS,EACT,QAAQ,GACR,EAAE,qBAAqB,2CA0JvB"}
|
|
@@ -6,6 +6,8 @@ import { useTheme } from '../hooks/useTheme.js';
|
|
|
6
6
|
import { toolFormatters } from '../tools/index.js';
|
|
7
7
|
import { useTerminalWidth } from '../hooks/useTerminalWidth.js';
|
|
8
8
|
import { getToolManager } from '../message-handler.js';
|
|
9
|
+
import { parseToolArguments } from '../utils/tool-args-parser.js';
|
|
10
|
+
import { formatError } from '../utils/error-formatter.js';
|
|
9
11
|
export default function ToolConfirmation({ toolCall, onConfirm, onCancel, }) {
|
|
10
12
|
const boxWidth = useTerminalWidth();
|
|
11
13
|
const { colors } = useTheme();
|
|
@@ -28,15 +30,7 @@ export default function ToolConfirmation({ toolCall, onConfirm, onCancel, }) {
|
|
|
28
30
|
if (validator) {
|
|
29
31
|
try {
|
|
30
32
|
// Parse arguments if they're a JSON string
|
|
31
|
-
|
|
32
|
-
if (typeof parsedArgs === 'string') {
|
|
33
|
-
try {
|
|
34
|
-
parsedArgs = JSON.parse(parsedArgs);
|
|
35
|
-
}
|
|
36
|
-
catch {
|
|
37
|
-
// If parsing fails, use as-is
|
|
38
|
-
}
|
|
39
|
-
}
|
|
33
|
+
const parsedArgs = parseToolArguments(toolCall.function.arguments);
|
|
40
34
|
const validationResult = await validator(parsedArgs);
|
|
41
35
|
if (!validationResult.valid) {
|
|
42
36
|
setValidationError(validationResult.error);
|
|
@@ -47,7 +41,7 @@ export default function ToolConfirmation({ toolCall, onConfirm, onCancel, }) {
|
|
|
47
41
|
}
|
|
48
42
|
catch (error) {
|
|
49
43
|
console.error('Error running validator:', error);
|
|
50
|
-
const errorMsg = `Validation error: ${
|
|
44
|
+
const errorMsg = `Validation error: ${formatError(error)}`;
|
|
51
45
|
setValidationError(errorMsg);
|
|
52
46
|
setHasValidationError(true);
|
|
53
47
|
setFormatterPreview(_jsx(Text, { color: colors.error, children: errorMsg }));
|
|
@@ -60,15 +54,7 @@ export default function ToolConfirmation({ toolCall, onConfirm, onCancel, }) {
|
|
|
60
54
|
setIsLoadingPreview(true);
|
|
61
55
|
try {
|
|
62
56
|
// Parse arguments if they're a JSON string
|
|
63
|
-
|
|
64
|
-
if (typeof parsedArgs === 'string') {
|
|
65
|
-
try {
|
|
66
|
-
parsedArgs = JSON.parse(parsedArgs);
|
|
67
|
-
}
|
|
68
|
-
catch {
|
|
69
|
-
// If parsing fails, use as-is
|
|
70
|
-
}
|
|
71
|
-
}
|
|
57
|
+
const parsedArgs = parseToolArguments(toolCall.function.arguments);
|
|
72
58
|
const preview = await formatter(parsedArgs);
|
|
73
59
|
setFormatterPreview(preview);
|
|
74
60
|
}
|