@defai.digital/ax-cli 3.12.10 → 3.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/README.md +17 -5
  2. package/dist/agent/loop-detector.d.ts +2 -0
  3. package/dist/agent/loop-detector.js +11 -15
  4. package/dist/agent/loop-detector.js.map +1 -1
  5. package/dist/agent/subagent.js +3 -3
  6. package/dist/agent/subagent.js.map +1 -1
  7. package/dist/analyzers/git/churn-calculator.js +4 -1
  8. package/dist/analyzers/git/churn-calculator.js.map +1 -1
  9. package/dist/constants.js +1 -1
  10. package/dist/hooks/hook-runner.js +1 -1
  11. package/dist/hooks/hook-runner.js.map +1 -1
  12. package/dist/index.js +2 -0
  13. package/dist/index.js.map +1 -1
  14. package/dist/llm/tools.d.ts +39 -0
  15. package/dist/llm/tools.js +55 -0
  16. package/dist/llm/tools.js.map +1 -1
  17. package/dist/mcp/client-v2.d.ts +43 -0
  18. package/dist/mcp/client-v2.js +96 -0
  19. package/dist/mcp/client-v2.js.map +1 -1
  20. package/dist/mcp/client.d.ts +27 -0
  21. package/dist/mcp/client.js +24 -0
  22. package/dist/mcp/client.js.map +1 -1
  23. package/dist/mcp/error-formatter.js +219 -33
  24. package/dist/mcp/error-formatter.js.map +1 -1
  25. package/dist/mcp/index.d.ts +3 -1
  26. package/dist/mcp/index.js +3 -0
  27. package/dist/mcp/index.js.map +1 -1
  28. package/dist/mcp/prompts.d.ts +68 -0
  29. package/dist/mcp/prompts.js +129 -0
  30. package/dist/mcp/prompts.js.map +1 -0
  31. package/dist/mcp/resources.d.ts +1 -0
  32. package/dist/mcp/resources.js +9 -2
  33. package/dist/mcp/resources.js.map +1 -1
  34. package/dist/planner/task-planner.js +2 -2
  35. package/dist/planner/task-planner.js.map +1 -1
  36. package/dist/sdk/index.d.ts +5 -1
  37. package/dist/sdk/index.js +9 -1
  38. package/dist/sdk/index.js.map +1 -1
  39. package/dist/tools/ask-user.js +2 -1
  40. package/dist/tools/ask-user.js.map +1 -1
  41. package/dist/tools/bash.js +4 -5
  42. package/dist/tools/bash.js.map +1 -1
  43. package/dist/ui/components/chat-history.js +2 -63
  44. package/dist/ui/components/chat-history.js.map +1 -1
  45. package/dist/ui/components/chat-interface.js +11 -5
  46. package/dist/ui/components/chat-interface.js.map +1 -1
  47. package/dist/ui/components/collapsible-tool-result.d.ts +12 -0
  48. package/dist/ui/components/collapsible-tool-result.js +56 -50
  49. package/dist/ui/components/collapsible-tool-result.js.map +1 -1
  50. package/dist/ui/components/mcp-dashboard.d.ts +15 -0
  51. package/dist/ui/components/mcp-dashboard.js +520 -0
  52. package/dist/ui/components/mcp-dashboard.js.map +1 -0
  53. package/dist/ui/components/mcp-status.js +37 -15
  54. package/dist/ui/components/mcp-status.js.map +1 -1
  55. package/dist/ui/components/phase-progress.js +26 -69
  56. package/dist/ui/components/phase-progress.js.map +1 -1
  57. package/dist/ui/components/status-bar.d.ts +8 -0
  58. package/dist/ui/components/status-bar.js +53 -19
  59. package/dist/ui/components/status-bar.js.map +1 -1
  60. package/dist/ui/components/subagent-monitor.js +2 -25
  61. package/dist/ui/components/subagent-monitor.js.map +1 -1
  62. package/dist/ui/components/toast-notification.js +9 -14
  63. package/dist/ui/components/toast-notification.js.map +1 -1
  64. package/dist/ui/components/tool-group-display.js +8 -4
  65. package/dist/ui/components/tool-group-display.js.map +1 -1
  66. package/dist/ui/components/virtualized-chat-history.js +1 -44
  67. package/dist/ui/components/virtualized-chat-history.js.map +1 -1
  68. package/dist/ui/hooks/use-enhanced-input.js +10 -11
  69. package/dist/ui/hooks/use-enhanced-input.js.map +1 -1
  70. package/dist/ui/hooks/use-input-handler.d.ts +5 -1
  71. package/dist/ui/hooks/use-input-handler.js +277 -14
  72. package/dist/ui/hooks/use-input-handler.js.map +1 -1
  73. package/dist/ui/utils/change-summarizer.js +25 -11
  74. package/dist/ui/utils/change-summarizer.js.map +1 -1
  75. package/dist/ui/utils/semantic-action-detector.js +33 -30
  76. package/dist/ui/utils/semantic-action-detector.js.map +1 -1
  77. package/dist/ui/utils/tool-grouper.d.ts +4 -0
  78. package/dist/ui/utils/tool-grouper.js +71 -67
  79. package/dist/ui/utils/tool-grouper.js.map +1 -1
  80. package/eslint.config.js +2 -0
  81. package/package.json +2 -2
@@ -148,47 +148,233 @@ export function formatConnectionError(serverName, error, transportType) {
148
148
  lines.push(chalk.red('╰────────────────────────────────────────────────╯'));
149
149
  return lines.join('\n');
150
150
  }
151
+ /**
152
+ * Comprehensive error code to remediation mapping
153
+ * Maps error codes/patterns to specific troubleshooting steps
154
+ */
155
+ const ERROR_REMEDIATION = {
156
+ // Process/Command errors
157
+ 'enoent': {
158
+ title: 'Command not found',
159
+ hints: [
160
+ 'The MCP server command is not installed or not in PATH',
161
+ 'Install the package: npm install -g <package-name>',
162
+ 'Or use npx: npx <package-name>',
163
+ 'Verify installation: which <command> or command -v <command>'
164
+ ],
165
+ command: 'npm list -g --depth=0'
166
+ },
167
+ 'eacces': {
168
+ title: 'Permission denied',
169
+ hints: [
170
+ 'The command or file lacks execute permissions',
171
+ 'Fix permissions: chmod +x <file>',
172
+ 'Or install globally with proper permissions',
173
+ 'Avoid using sudo with npm - fix npm permissions instead'
174
+ ],
175
+ command: 'npm config set prefix ~/.npm-global'
176
+ },
177
+ 'spawn': {
178
+ title: 'Failed to spawn process',
179
+ hints: [
180
+ 'The command could not be started',
181
+ 'Verify the command path is correct',
182
+ 'Check if the binary is compatible with your system',
183
+ 'Try running the command directly in terminal'
184
+ ]
185
+ },
186
+ // Network errors
187
+ 'econnrefused': {
188
+ title: 'Connection refused',
189
+ hints: [
190
+ 'The MCP server is not running or not listening',
191
+ 'Start the server first, then retry',
192
+ 'Check if the port is correct',
193
+ 'Verify no firewall is blocking the connection'
194
+ ],
195
+ command: 'lsof -i :<port> # Check if port is in use'
196
+ },
197
+ 'enotfound': {
198
+ title: 'Host not found',
199
+ hints: [
200
+ 'The hostname could not be resolved',
201
+ 'Check if the URL is spelled correctly',
202
+ 'Verify your internet connection',
203
+ 'Try using IP address instead of hostname'
204
+ ],
205
+ command: 'nslookup <hostname>'
206
+ },
207
+ 'econnreset': {
208
+ title: 'Connection reset',
209
+ hints: [
210
+ 'The server closed the connection unexpectedly',
211
+ 'The server may have crashed or restarted',
212
+ 'Check server logs for errors',
213
+ 'Retry the connection'
214
+ ]
215
+ },
216
+ 'etimedout': {
217
+ title: 'Connection timed out',
218
+ hints: [
219
+ 'The server took too long to respond',
220
+ 'Check if the server is overloaded',
221
+ 'Verify network connectivity',
222
+ 'Increase timeout in configuration if needed'
223
+ ]
224
+ },
225
+ 'esockettimedout': {
226
+ title: 'Socket timed out',
227
+ hints: [
228
+ 'The connection was established but no response received',
229
+ 'The server may be hanging or processing slowly',
230
+ 'For stdio: ensure command has proper args (not a REPL)',
231
+ 'Check if the MCP server is compatible with this client'
232
+ ]
233
+ },
234
+ // SSL/TLS errors
235
+ 'cert_': {
236
+ title: 'SSL Certificate error',
237
+ hints: [
238
+ 'The server\'s SSL certificate is invalid or expired',
239
+ 'For development: you can skip verification (not recommended)',
240
+ 'For production: ensure valid certificate is installed',
241
+ 'Check certificate chain: openssl s_client -connect <host>:443'
242
+ ]
243
+ },
244
+ 'unable_to_verify': {
245
+ title: 'SSL verification failed',
246
+ hints: [
247
+ 'Cannot verify the server\'s SSL certificate',
248
+ 'The certificate may be self-signed',
249
+ 'CA certificates may need to be updated',
250
+ 'Set NODE_TLS_REJECT_UNAUTHORIZED=0 for development only'
251
+ ]
252
+ },
253
+ // Authentication errors
254
+ '401': {
255
+ title: 'Authentication failed',
256
+ hints: [
257
+ 'The API key or token is invalid or expired',
258
+ 'Check environment variable is set: echo $<VAR_NAME>',
259
+ 'Regenerate the API key if expired',
260
+ 'Verify the token has required permissions'
261
+ ]
262
+ },
263
+ '403': {
264
+ title: 'Access forbidden',
265
+ hints: [
266
+ 'You don\'t have permission to access this resource',
267
+ 'Check if your API key has the required scopes',
268
+ 'Verify the account has access to this feature',
269
+ 'Contact the service provider for access'
270
+ ]
271
+ },
272
+ // Server errors
273
+ '500': {
274
+ title: 'Server error',
275
+ hints: [
276
+ 'The MCP server encountered an internal error',
277
+ 'Check server logs for details',
278
+ 'Try again later',
279
+ 'Report the issue to the server maintainer'
280
+ ]
281
+ },
282
+ '502': {
283
+ title: 'Bad gateway',
284
+ hints: [
285
+ 'The server received an invalid response from upstream',
286
+ 'The upstream server may be down',
287
+ 'Try again later',
288
+ 'Check if there are known outages'
289
+ ]
290
+ },
291
+ '503': {
292
+ title: 'Service unavailable',
293
+ hints: [
294
+ 'The server is temporarily unavailable',
295
+ 'It may be overloaded or under maintenance',
296
+ 'Wait a few minutes and retry',
297
+ 'Check service status page'
298
+ ]
299
+ },
300
+ // MCP-specific errors
301
+ 'initialization failed': {
302
+ title: 'MCP initialization failed',
303
+ hints: [
304
+ 'The MCP server failed to initialize properly',
305
+ 'Check if all required environment variables are set',
306
+ 'Verify the server version is compatible',
307
+ 'Try running: ax-cli mcp test <server-name>'
308
+ ]
309
+ },
310
+ 'protocol error': {
311
+ title: 'MCP protocol error',
312
+ hints: [
313
+ 'Invalid message format or unsupported protocol version',
314
+ 'Ensure the server implements MCP protocol correctly',
315
+ 'Check for server updates',
316
+ 'Verify client and server versions are compatible'
317
+ ]
318
+ },
319
+ 'tool not found': {
320
+ title: 'MCP tool not found',
321
+ hints: [
322
+ 'The requested tool is not available on the server',
323
+ 'List available tools: ax-cli mcp tools <server-name>',
324
+ 'The server may need to be restarted',
325
+ 'Check if the tool requires additional configuration'
326
+ ]
327
+ }
328
+ };
151
329
  /**
152
330
  * Get hints for connection errors
331
+ * Enhanced with comprehensive error code mapping
153
332
  */
154
333
  function getConnectionErrorHints(error, transportType) {
155
334
  const hints = [];
156
335
  const message = error.message.toLowerCase();
157
- if (message.includes('command not found') || message.includes('enoent')) {
158
- hints.push('Command not found. Check if the command is installed and in PATH.');
159
- hints.push('Try running the command manually to verify it works.');
160
- }
161
- else if (message.includes('timeout') || message.includes('timed out')) {
162
- hints.push('Connection timed out. The server may have hung or failed to respond.');
163
- hints.push('For stdio commands (node, python, etc.), ensure args are provided.');
164
- hints.push('Commands without args start a REPL and wait for input, causing timeout.');
165
- hints.push('Verify the URL/command is correct and accessible.');
166
- }
167
- else if (message.includes('econnrefused') || message.includes('connection refused')) {
168
- hints.push('Connection refused. Server may not be running.');
169
- hints.push('Check if the server is listening on the correct port.');
170
- }
171
- else if (message.includes('unauthorized') || message.includes('401')) {
172
- hints.push('Authentication failed. Check your API keys/tokens.');
173
- hints.push('Verify credentials in environment variables or config.');
174
- }
175
- else if (message.includes('not found') || message.includes('404')) {
176
- hints.push('Endpoint not found. Check the URL path.');
177
- hints.push('Verify the server supports MCP protocol.');
178
- }
179
- else if (message.includes('permission denied') || message.includes('eacces')) {
180
- hints.push('Permission denied. Check file/command permissions.');
181
- hints.push('You may need to run with sudo or adjust permissions.');
336
+ const errorCode = error.code?.toLowerCase() || '';
337
+ // Check for specific error codes first
338
+ for (const [pattern, remediation] of Object.entries(ERROR_REMEDIATION)) {
339
+ if (message.includes(pattern) || errorCode.includes(pattern)) {
340
+ hints.push(`${chalk.bold(remediation.title)}`);
341
+ hints.push(...remediation.hints);
342
+ if (remediation.command) {
343
+ hints.push(`Debug command: ${chalk.cyan(remediation.command)}`);
344
+ }
345
+ break;
346
+ }
182
347
  }
183
- // Transport-specific hints
184
- if (transportType === 'stdio' && hints.length === 0) {
185
- hints.push('Check if the command is installed: which <command>');
186
- hints.push('Verify the args are correct for your command.');
187
- hints.push('Node/Python/Deno/Bun require a script path in args.');
348
+ // If no specific match, provide transport-specific hints
349
+ if (hints.length === 0) {
350
+ if (transportType === 'stdio') {
351
+ hints.push('For stdio transport:');
352
+ hints.push(' Verify command is installed: which <command>');
353
+ hints.push('• Ensure args include a script path (not just the runtime)');
354
+ hints.push('• Example: ["@modelcontextprotocol/server-github"]');
355
+ hints.push('• Commands like "node" without args start a REPL and hang');
356
+ }
357
+ else if (transportType === 'http' || transportType === 'sse') {
358
+ hints.push('For HTTP/SSE transport:');
359
+ hints.push('• Verify server is running: curl <url>/health');
360
+ hints.push('• Check URL is accessible from your network');
361
+ hints.push('• Verify SSL certificate if using HTTPS');
362
+ hints.push('• Check authentication headers are correct');
363
+ }
364
+ else {
365
+ hints.push('General troubleshooting:');
366
+ hints.push('• Check the server logs for more details');
367
+ hints.push('• Verify all required environment variables are set');
368
+ hints.push('• Try running ax-cli mcp test <server-name>');
369
+ }
188
370
  }
189
- else if ((transportType === 'http' || transportType === 'sse') && hints.length === 0) {
190
- hints.push('Verify the server is running: curl <url>');
191
- hints.push('Check if the URL is accessible from your network.');
371
+ // Add environment variable hints if relevant
372
+ if (message.includes('api_key') || message.includes('token') || message.includes('secret')) {
373
+ hints.push('');
374
+ hints.push('Environment variable tips:');
375
+ hints.push('• Set in shell: export VAR_NAME=value');
376
+ hints.push('• Or in .env file in project root');
377
+ hints.push('• Verify: echo $VAR_NAME');
192
378
  }
193
379
  return hints;
194
380
  }
@@ -1 +1 @@
1
- {"version":3,"file":"error-formatter.js","sourceRoot":"","sources":["../../src/mcp/error-formatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error-formatter.js","sourceRoot":"","sources":["../../src/mcp/error-formatter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,MAAM,OAAO,CAAC;AAe1B;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAAkB,EAClB,KAAiB,EACjB,cAAoB;IAEpB,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC,CAAC;IAC3E,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAE3B,wBAAwB;IACxB,MAAM,aAAa,GAAG,IAAI,GAAG,EAAoB,CAAC;IAElD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACtE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAE9B,IAAI,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,WAAW,GAAG,EAAE,CAAC;YACjB,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACxC,CAAC;QAED,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,iBAAiB;IACjB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IACnC,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,aAAa,CAAC,OAAO,EAAE,EAAE,CAAC;QACxD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACrB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,mCAAmC;QACnC,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;QACtD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAE3B,cAAc;IACd,MAAM,OAAO,GAAG,gBAAgB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;IAChE,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACnD,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACjC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,yBAAyB;IACzB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,4CAA4C,CAAC,CAAC,CAAC;IACxG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC,CAAC;IAE5E,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,KAAa,EAAE,cAAoB;IAC3D,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,WAAW;YACd,KAAK,CAAC,IAAI,CAAC,uEAAuE,CAAC,CAAC;YACpF,IAAI,cAAc,EAAE,OAAO,EAAE,CAAC;gBAC5B,KAAK,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;YAC3F,CAAC;YACD,MAAM;QAER,KAAK,gBAAgB;YACnB,KAAK,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;YACrE,MAAM;QAER,KAAK,mBAAmB;YACtB,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YACrD,MAAM;QAER,KAAK,eAAe;YAClB,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;YAC5E,MAAM;QAER,KAAK,gBAAgB;YACnB,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;YACjD,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YAC/D,MAAM;QAER,KAAK,MAAM;YACT,KAAK,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;YAC1F,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YACvD,MAAM;QAER;YACE,IAAI,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBACnC,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC;YACvF,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CACvB,aAAoC,EACpC,cAAoB;IAEpB,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAClE,CAAC,KAAK,WAAW,IAAI,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAChD,CAAC;IAEF,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sCAAsC;IACtC,MAAM,OAAO,GAAG,cAAc,EAAE,OAAO,IAAI,aAAa,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAElF,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO;;;;;;;;EAQT,CAAC;IACD,CAAC;IAED,0BAA0B;IAC1B,OAAO;;;;;;;EAOP,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,UAAkB,EAClB,KAAY,EACZ,aAAsB;IAEtB,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC,CAAC;IAC3E,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7D,IAAI,aAAa,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,aAAa,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IACnD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAE3B,mCAAmC;IACnC,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC5D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC5C,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,UAAU,EAAE,CAAC,CAAC,CAAC;IAC1F,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC,CAAC;IAE5E,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,iBAAiB,GAAyE;IAC9F,yBAAyB;IACzB,QAAQ,EAAE;QACR,KAAK,EAAE,mBAAmB;QAC1B,KAAK,EAAE;YACL,wDAAwD;YACxD,oDAAoD;YACpD,gCAAgC;YAChC,8DAA8D;SAC/D;QACD,OAAO,EAAE,uBAAuB;KACjC;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,mBAAmB;QAC1B,KAAK,EAAE;YACL,+CAA+C;YAC/C,kCAAkC;YAClC,6CAA6C;YAC7C,yDAAyD;SAC1D;QACD,OAAO,EAAE,qCAAqC;KAC/C;IACD,OAAO,EAAE;QACP,KAAK,EAAE,yBAAyB;QAChC,KAAK,EAAE;YACL,kCAAkC;YAClC,oCAAoC;YACpC,oDAAoD;YACpD,8CAA8C;SAC/C;KACF;IAED,iBAAiB;IACjB,cAAc,EAAE;QACd,KAAK,EAAE,oBAAoB;QAC3B,KAAK,EAAE;YACL,gDAAgD;YAChD,oCAAoC;YACpC,8BAA8B;YAC9B,+CAA+C;SAChD;QACD,OAAO,EAAE,2CAA2C;KACrD;IACD,WAAW,EAAE;QACX,KAAK,EAAE,gBAAgB;QACvB,KAAK,EAAE;YACL,oCAAoC;YACpC,uCAAuC;YACvC,iCAAiC;YACjC,0CAA0C;SAC3C;QACD,OAAO,EAAE,qBAAqB;KAC/B;IACD,YAAY,EAAE;QACZ,KAAK,EAAE,kBAAkB;QACzB,KAAK,EAAE;YACL,+CAA+C;YAC/C,0CAA0C;YAC1C,8BAA8B;YAC9B,sBAAsB;SACvB;KACF;IACD,WAAW,EAAE;QACX,KAAK,EAAE,sBAAsB;QAC7B,KAAK,EAAE;YACL,qCAAqC;YACrC,mCAAmC;YACnC,6BAA6B;YAC7B,6CAA6C;SAC9C;KACF;IACD,iBAAiB,EAAE;QACjB,KAAK,EAAE,kBAAkB;QACzB,KAAK,EAAE;YACL,yDAAyD;YACzD,gDAAgD;YAChD,wDAAwD;YACxD,wDAAwD;SACzD;KACF;IAED,iBAAiB;IACjB,OAAO,EAAE;QACP,KAAK,EAAE,uBAAuB;QAC9B,KAAK,EAAE;YACL,qDAAqD;YACrD,8DAA8D;YAC9D,uDAAuD;YACvD,+DAA+D;SAChE;KACF;IACD,kBAAkB,EAAE;QAClB,KAAK,EAAE,yBAAyB;QAChC,KAAK,EAAE;YACL,6CAA6C;YAC7C,oCAAoC;YACpC,wCAAwC;YACxC,yDAAyD;SAC1D;KACF;IAED,wBAAwB;IACxB,KAAK,EAAE;QACL,KAAK,EAAE,uBAAuB;QAC9B,KAAK,EAAE;YACL,4CAA4C;YAC5C,qDAAqD;YACrD,mCAAmC;YACnC,2CAA2C;SAC5C;KACF;IACD,KAAK,EAAE;QACL,KAAK,EAAE,kBAAkB;QACzB,KAAK,EAAE;YACL,oDAAoD;YACpD,+CAA+C;YAC/C,+CAA+C;YAC/C,yCAAyC;SAC1C;KACF;IAED,gBAAgB;IAChB,KAAK,EAAE;QACL,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE;YACL,8CAA8C;YAC9C,+BAA+B;YAC/B,iBAAiB;YACjB,2CAA2C;SAC5C;KACF;IACD,KAAK,EAAE;QACL,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE;YACL,uDAAuD;YACvD,iCAAiC;YACjC,iBAAiB;YACjB,kCAAkC;SACnC;KACF;IACD,KAAK,EAAE;QACL,KAAK,EAAE,qBAAqB;QAC5B,KAAK,EAAE;YACL,uCAAuC;YACvC,2CAA2C;YAC3C,8BAA8B;YAC9B,2BAA2B;SAC5B;KACF;IAED,sBAAsB;IACtB,uBAAuB,EAAE;QACvB,KAAK,EAAE,2BAA2B;QAClC,KAAK,EAAE;YACL,8CAA8C;YAC9C,qDAAqD;YACrD,yCAAyC;YACzC,4CAA4C;SAC7C;KACF;IACD,gBAAgB,EAAE;QAChB,KAAK,EAAE,oBAAoB;QAC3B,KAAK,EAAE;YACL,wDAAwD;YACxD,qDAAqD;YACrD,0BAA0B;YAC1B,kDAAkD;SACnD;KACF;IACD,gBAAgB,EAAE;QAChB,KAAK,EAAE,oBAAoB;QAC3B,KAAK,EAAE;YACL,mDAAmD;YACnD,sDAAsD;YACtD,qCAAqC;YACrC,qDAAqD;SACtD;KACF;CACF,CAAC;AAEF;;;GAGG;AACH,SAAS,uBAAuB,CAAC,KAAY,EAAE,aAAsB;IACnE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAC5C,MAAM,SAAS,GAAI,KAAa,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAE3D,uCAAuC;IACvC,KAAK,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACvE,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7D,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;gBACxB,KAAK,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAClE,CAAC;YACD,MAAM;QACR,CAAC;IACH,CAAC;IAED,yDAAyD;IACzD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACnC,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YAC7D,KAAK,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAC;YACzE,KAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YACjE,KAAK,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QAC1E,CAAC;aAAM,IAAI,aAAa,KAAK,MAAM,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;YAC/D,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;YAC5D,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;YAC1D,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;YACvD,KAAK,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;YAClE,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3F,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAe,EACf,MAAiD;IAEjD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,mDAAmD,CAAC,CAAC,CAAC;IAC9E,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC,CAAC;IAClD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;IAEtC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE;QACpC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,KAAK,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,oDAAoD,CAAC,CAAC,CAAC;IAE/E,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CACpB,IAAY,EACZ,OAAiC,EACjC,OAAe,EACf,OAAkB;IAElB,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC;IAC9C,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAClE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,+BAA+B;AAC/B,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAe,EAAE,OAAkB,EAAE,EAAE,CACnE,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAEvD,+BAA+B;AAC/B,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAe,EAAE,OAAkB,EAAE,EAAE,CACnE,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAEpD,0BAA0B;AAC1B,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,OAAkB,EAAE,EAAE,CAChE,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC"}
@@ -20,8 +20,10 @@
20
20
  */
21
21
  export { MCPManager } from "./client.js";
22
22
  export type { MCPTool, MCPServerConfig, MCPTransportConfig } from "./client.js";
23
- export { MCPManagerV2, createServerName, createToolName, type ConnectionState, type ReconnectionConfig, } from "./client-v2.js";
23
+ export { MCPManagerV2, createServerName, createToolName, type ConnectionState, type ReconnectionConfig, type MCPPrompt, } from "./client-v2.js";
24
24
  export type { ServerName, ToolName } from "./client-v2.js";
25
+ export { parseMCPIdentifier, // Shared utility for parsing MCP identifiers
26
+ promptToSlashCommand, parsePromptCommand, formatPromptResult, getPromptDescription, } from "./prompts.js";
25
27
  export { loadMCPConfig, addMCPServer, removeMCPServer, PREDEFINED_SERVERS, getTemplate, generateConfigFromTemplate, } from "./config.js";
26
28
  export type { MCPConfig } from "./config.js";
27
29
  export { createTransport, type MCPTransport, type TransportType, type TransportConfig, type StdioFraming, } from "./transports.js";
package/dist/mcp/index.js CHANGED
@@ -22,6 +22,9 @@
22
22
  export { MCPManager } from "./client.js";
23
23
  // Type-safe client (v2 API) - recommended for new code
24
24
  export { MCPManagerV2, createServerName, createToolName, } from "./client-v2.js";
25
+ // Prompt utilities
26
+ export { parseMCPIdentifier, // Shared utility for parsing MCP identifiers
27
+ promptToSlashCommand, parsePromptCommand, formatPromptResult, getPromptDescription, } from "./prompts.js";
25
28
  // Configuration
26
29
  export { loadMCPConfig, addMCPServer, removeMCPServer, PREDEFINED_SERVERS, getTemplate, generateConfigFromTemplate, } from "./config.js";
27
30
  // Transports
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,qDAAqD;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,uDAAuD;AACvD,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,cAAc,GAGf,MAAM,gBAAgB,CAAC;AAGxB,gBAAgB;AAChB,OAAO,EACL,aAAa,EACb,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,0BAA0B,GAC3B,MAAM,aAAa,CAAC;AAGrB,aAAa;AACb,OAAO,EACL,eAAe,GAKhB,MAAM,iBAAiB,CAAC;AAEzB,iCAAiC;AACjC,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAEtG,wBAAwB;AACxB,OAAO,EAAU,EAAE,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAEnD,oBAAoB;AACpB,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,qDAAqD;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,uDAAuD;AACvD,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,cAAc,GAIf,MAAM,gBAAgB,CAAC;AAGxB,mBAAmB;AACnB,OAAO,EACL,kBAAkB,EAAE,6CAA6C;AACjE,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAEtB,gBAAgB;AAChB,OAAO,EACL,aAAa,EACb,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,WAAW,EACX,0BAA0B,GAC3B,MAAM,aAAa,CAAC;AAGrB,aAAa;AACb,OAAO,EACL,eAAe,GAKhB,MAAM,iBAAiB,CAAC;AAEzB,iCAAiC;AACjC,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACtG,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAEtG,wBAAwB;AACxB,OAAO,EAAU,EAAE,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAEnD,oBAAoB;AACpB,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * MCP Prompts Module
3
+ *
4
+ * Handles discovering and executing MCP server prompts.
5
+ * Prompts are exposed as slash commands with the format:
6
+ * /mcp__<servername>__<promptname>
7
+ */
8
+ import { Client } from "@modelcontextprotocol/sdk/client/index.js";
9
+ import type { GetPromptResult } from "@modelcontextprotocol/sdk/types.js";
10
+ /**
11
+ * Parse MCP identifier with double-underscore separator
12
+ * Handles formats like "mcp__server__name" or "/mcp__server__name"
13
+ *
14
+ * @param identifier - The MCP identifier string
15
+ * @param prefix - Optional prefix to strip (e.g., "/mcp__" or "mcp__")
16
+ * @returns Parsed server and name, or null if invalid
17
+ */
18
+ export declare function parseMCPIdentifier(identifier: string, prefix: string): {
19
+ serverName: string;
20
+ name: string;
21
+ } | null;
22
+ /**
23
+ * MCP Prompt with server context
24
+ */
25
+ export interface MCPPrompt {
26
+ /** Server this prompt belongs to */
27
+ serverName: string;
28
+ /** Prompt name from server */
29
+ name: string;
30
+ /** Human-readable description */
31
+ description?: string;
32
+ /** Required arguments for templating */
33
+ arguments?: Array<{
34
+ name: string;
35
+ description?: string;
36
+ required?: boolean;
37
+ }>;
38
+ }
39
+ /**
40
+ * List prompts from an MCP server
41
+ */
42
+ export declare function listServerPrompts(client: Client, serverName: string): Promise<MCPPrompt[]>;
43
+ /**
44
+ * Get a specific prompt from an MCP server
45
+ */
46
+ export declare function getServerPrompt(client: Client, _serverName: string, promptName: string, args?: Record<string, string>): Promise<GetPromptResult | null>;
47
+ /**
48
+ * Convert MCP prompt to slash command name
49
+ * Format: /mcp__servername__promptname
50
+ */
51
+ export declare function promptToSlashCommand(prompt: MCPPrompt): string;
52
+ /**
53
+ * Parse slash command to extract server and prompt names
54
+ * Uses shared parseMCPIdentifier for consistency
55
+ */
56
+ export declare function parsePromptCommand(command: string): {
57
+ serverName: string;
58
+ promptName: string;
59
+ } | null;
60
+ /**
61
+ * Format prompt result for chat display
62
+ * BUG FIX: Handle array content which is valid per MCP protocol
63
+ */
64
+ export declare function formatPromptResult(result: GetPromptResult): string;
65
+ /**
66
+ * Generate command description for auto-complete
67
+ */
68
+ export declare function getPromptDescription(prompt: MCPPrompt): string;
@@ -0,0 +1,129 @@
1
+ /**
2
+ * MCP Prompts Module
3
+ *
4
+ * Handles discovering and executing MCP server prompts.
5
+ * Prompts are exposed as slash commands with the format:
6
+ * /mcp__<servername>__<promptname>
7
+ */
8
+ // ============================================================================
9
+ // Shared MCP Identifier Parsing (used by prompts.ts and collapsible-tool-result.tsx)
10
+ // ============================================================================
11
+ /**
12
+ * Parse MCP identifier with double-underscore separator
13
+ * Handles formats like "mcp__server__name" or "/mcp__server__name"
14
+ *
15
+ * @param identifier - The MCP identifier string
16
+ * @param prefix - Optional prefix to strip (e.g., "/mcp__" or "mcp__")
17
+ * @returns Parsed server and name, or null if invalid
18
+ */
19
+ export function parseMCPIdentifier(identifier, prefix) {
20
+ if (!identifier.startsWith(prefix)) {
21
+ return null;
22
+ }
23
+ const withoutPrefix = identifier.slice(prefix.length);
24
+ const parts = withoutPrefix.split("__");
25
+ if (parts.length < 2) {
26
+ return null;
27
+ }
28
+ const serverName = parts[0];
29
+ const name = parts.slice(1).join("__");
30
+ // Validate non-empty parts
31
+ if (!serverName || !name) {
32
+ return null;
33
+ }
34
+ return { serverName, name };
35
+ }
36
+ /**
37
+ * List prompts from an MCP server
38
+ */
39
+ export async function listServerPrompts(client, serverName) {
40
+ try {
41
+ const result = await client.listPrompts();
42
+ return result.prompts.map((prompt) => ({
43
+ serverName,
44
+ name: prompt.name,
45
+ description: prompt.description,
46
+ arguments: prompt.arguments,
47
+ }));
48
+ }
49
+ catch {
50
+ // Server may not support prompts - this is not an error
51
+ return [];
52
+ }
53
+ }
54
+ /**
55
+ * Get a specific prompt from an MCP server
56
+ */
57
+ export async function getServerPrompt(client, _serverName, promptName, args) {
58
+ try {
59
+ const result = await client.getPrompt({
60
+ name: promptName,
61
+ arguments: args,
62
+ });
63
+ return result;
64
+ }
65
+ catch {
66
+ return null;
67
+ }
68
+ }
69
+ /**
70
+ * Convert MCP prompt to slash command name
71
+ * Format: /mcp__servername__promptname
72
+ */
73
+ export function promptToSlashCommand(prompt) {
74
+ return `/mcp__${prompt.serverName}__${prompt.name}`;
75
+ }
76
+ /**
77
+ * Parse slash command to extract server and prompt names
78
+ * Uses shared parseMCPIdentifier for consistency
79
+ */
80
+ export function parsePromptCommand(command) {
81
+ const parsed = parseMCPIdentifier(command, "/mcp__");
82
+ if (!parsed)
83
+ return null;
84
+ return { serverName: parsed.serverName, promptName: parsed.name };
85
+ }
86
+ /**
87
+ * Format prompt result for chat display
88
+ * BUG FIX: Handle array content which is valid per MCP protocol
89
+ */
90
+ export function formatPromptResult(result) {
91
+ const messages = result.messages || [];
92
+ if (messages.length === 0) {
93
+ return result.description || "No prompt content available";
94
+ }
95
+ // Helper to extract text from a single content item
96
+ const extractText = (content) => {
97
+ if (typeof content === "string") {
98
+ return content;
99
+ }
100
+ if (content && typeof content === "object" && "text" in content) {
101
+ const textValue = content.text;
102
+ // BUG FIX: Ensure text is actually a string before returning
103
+ return typeof textValue === "string" ? textValue : JSON.stringify(content);
104
+ }
105
+ return JSON.stringify(content);
106
+ };
107
+ // Combine all message contents
108
+ return messages
109
+ .map((msg) => {
110
+ // Handle array content (valid per MCP protocol)
111
+ if (Array.isArray(msg.content)) {
112
+ return msg.content.map(extractText).join("\n");
113
+ }
114
+ return extractText(msg.content);
115
+ })
116
+ .join("\n\n");
117
+ }
118
+ /**
119
+ * Generate command description for auto-complete
120
+ */
121
+ export function getPromptDescription(prompt) {
122
+ let desc = prompt.description || `MCP prompt from ${prompt.serverName}`;
123
+ if (prompt.arguments && prompt.arguments.length > 0) {
124
+ const argNames = prompt.arguments.map((a) => (a.required ? a.name : `[${a.name}]`));
125
+ desc += ` (${argNames.join(", ")})`;
126
+ }
127
+ return desc;
128
+ }
129
+ //# sourceMappingURL=prompts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/mcp/prompts.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,7 @@ export declare function parseMCPReference(reference: string): {
41
41
  } | null;
42
42
  /**
43
43
  * Extract all MCP references from text
44
+ * BUG FIX: Exclude trailing punctuation that could be captured accidentally
44
45
  */
45
46
  export declare function extractMCPReferences(text: string): string[];
46
47
  /**
@@ -16,7 +16,7 @@ export async function listAllResources(mcpManager) {
16
16
  const serverResources = await listServerResources(mcpManager, serverName);
17
17
  resources.push(...serverResources);
18
18
  }
19
- catch (error) {
19
+ catch {
20
20
  // Silently skip servers that don't support resources
21
21
  console.warn(`Server "${serverName}" does not support resources or failed to list them`);
22
22
  }
@@ -92,13 +92,20 @@ export function parseMCPReference(reference) {
92
92
  }
93
93
  const serverName = withoutPrefix.substring(0, slashIndex);
94
94
  const uri = withoutPrefix.substring(slashIndex + 1);
95
+ // BUG FIX: Validate that both serverName and uri are non-empty
96
+ if (!serverName || !uri) {
97
+ return null;
98
+ }
95
99
  return { serverName, uri };
96
100
  }
97
101
  /**
98
102
  * Extract all MCP references from text
103
+ * BUG FIX: Exclude trailing punctuation that could be captured accidentally
99
104
  */
100
105
  export function extractMCPReferences(text) {
101
- const pattern = /@mcp:[a-z0-9_-]+\/[^\s]+/gi;
106
+ // Pattern captures @mcp:server/uri but excludes trailing punctuation
107
+ // [^\s.,;:!?)\]}>] ensures we don't capture sentence-ending punctuation
108
+ const pattern = /@mcp:[a-z0-9_-]+\/[^\s.,;:!?)\]}>]+/gi;
102
109
  const matches = text.match(pattern);
103
110
  return matches || [];
104
111
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/mcp/resources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/mcp/resources.ts"],"names":[],"mappings":"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"}
@@ -6,11 +6,11 @@
6
6
  */
7
7
  import { EventEmitter } from "events";
8
8
  import { PhaseStatus, PlanStatus, createDefaultExecutionOptions, createDefaultPlannerOptions, } from "./types.js";
9
+ import { extractErrorMessage } from "../utils/error-handler.js";
9
10
  import { getPlanStorage } from "./plan-storage.js";
10
11
  import { getPlanGenerator } from "./plan-generator.js";
11
12
  import { getDependencyResolver, } from "./dependency-resolver.js";
12
13
  import { getTokenEstimator } from "./token-estimator.js";
13
- import { extractErrorMessage } from "../utils/error-handler.js";
14
14
  import { TIMEOUT_CONFIG, MCP_CONFIG } from "../constants.js";
15
15
  import { sleep, calculateExponentialBackoff } from "../utils/retry-helper.js";
16
16
  // ============================================================================
@@ -226,7 +226,7 @@ export class TaskPlanner extends EventEmitter {
226
226
  return {
227
227
  phaseId: phase.id,
228
228
  success: false,
229
- error: result.reason instanceof Error ? result.reason.message : String(result.reason),
229
+ error: extractErrorMessage(result.reason),
230
230
  duration: 0,
231
231
  tokensUsed: 0,
232
232
  filesModified: [],