@machina.ai/cell-cli-core 1.16.0-rc1 → 1.18.4-rc1

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 (187) hide show
  1. package/dist/package.json +6 -4
  2. package/dist/src/agents/executor.js +12 -21
  3. package/dist/src/agents/executor.js.map +1 -1
  4. package/dist/src/agents/executor.test.js +53 -57
  5. package/dist/src/agents/executor.test.js.map +1 -1
  6. package/dist/src/agents/registry.d.ts +4 -0
  7. package/dist/src/agents/registry.js +23 -0
  8. package/dist/src/agents/registry.js.map +1 -1
  9. package/dist/src/agents/registry.test.js +30 -16
  10. package/dist/src/agents/registry.test.js.map +1 -1
  11. package/dist/src/code_assist/codeAssist.js +1 -1
  12. package/dist/src/code_assist/codeAssist.test.js +3 -3
  13. package/dist/src/code_assist/oauth-credential-storage.test.js +1 -0
  14. package/dist/src/code_assist/oauth-credential-storage.test.js.map +1 -1
  15. package/dist/src/code_assist/oauth2.js +106 -53
  16. package/dist/src/code_assist/oauth2.js.map +1 -1
  17. package/dist/src/code_assist/oauth2.test.js +25 -12
  18. package/dist/src/code_assist/oauth2.test.js.map +1 -1
  19. package/dist/src/config/config.d.ts +8 -0
  20. package/dist/src/config/config.js +20 -1
  21. package/dist/src/config/config.js.map +1 -1
  22. package/dist/src/config/config.test.js +10 -6
  23. package/dist/src/config/config.test.js.map +1 -1
  24. package/dist/src/config/defaultModelConfigs.js +31 -4
  25. package/dist/src/config/defaultModelConfigs.js.map +1 -1
  26. package/dist/src/core/client.d.ts +1 -2
  27. package/dist/src/core/client.js +12 -25
  28. package/dist/src/core/client.js.map +1 -1
  29. package/dist/src/core/client.test.js +25 -38
  30. package/dist/src/core/client.test.js.map +1 -1
  31. package/dist/src/core/contentGenerator.d.ts +2 -1
  32. package/dist/src/core/contentGenerator.js +4 -3
  33. package/dist/src/core/contentGenerator.js.map +1 -1
  34. package/dist/src/core/contentGenerator.test.js +11 -1
  35. package/dist/src/core/contentGenerator.test.js.map +1 -1
  36. package/dist/src/core/coreToolScheduler.d.ts +0 -2
  37. package/dist/src/core/coreToolScheduler.js +1 -3
  38. package/dist/src/core/coreToolScheduler.js.map +1 -1
  39. package/dist/src/core/coreToolScheduler.test.js +1 -17
  40. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  41. package/dist/src/core/geminiChat.d.ts +10 -5
  42. package/dist/src/core/geminiChat.js +56 -21
  43. package/dist/src/core/geminiChat.js.map +1 -1
  44. package/dist/src/core/geminiChat.test.js +188 -55
  45. package/dist/src/core/geminiChat.test.js.map +1 -1
  46. package/dist/src/core/logger.test.js +12 -11
  47. package/dist/src/core/logger.test.js.map +1 -1
  48. package/dist/src/core/nonInteractiveToolExecutor.js +6 -2
  49. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
  50. package/dist/src/core/prompts.test.js +56 -93
  51. package/dist/src/core/prompts.test.js.map +1 -1
  52. package/dist/src/core/turn.d.ts +9 -3
  53. package/dist/src/core/turn.js +3 -7
  54. package/dist/src/core/turn.js.map +1 -1
  55. package/dist/src/core/turn.test.js +73 -139
  56. package/dist/src/core/turn.test.js.map +1 -1
  57. package/dist/src/fallback/handler.js +9 -4
  58. package/dist/src/fallback/handler.js.map +1 -1
  59. package/dist/src/fallback/handler.test.js +79 -17
  60. package/dist/src/fallback/handler.test.js.map +1 -1
  61. package/dist/src/generated/git-commit.d.ts +2 -2
  62. package/dist/src/generated/git-commit.js +2 -2
  63. package/dist/src/ide/ide-client.js +58 -52
  64. package/dist/src/ide/ide-client.js.map +1 -1
  65. package/dist/src/ide/ide-installer.js +8 -3
  66. package/dist/src/ide/ide-installer.js.map +1 -1
  67. package/dist/src/ide/ide-installer.test.js +1 -1
  68. package/dist/src/ide/ide-installer.test.js.map +1 -1
  69. package/dist/src/ide/process-utils.js +16 -0
  70. package/dist/src/ide/process-utils.js.map +1 -1
  71. package/dist/src/ide/process-utils.test.js +3 -3
  72. package/dist/src/ide/process-utils.test.js.map +1 -1
  73. package/dist/src/index.d.ts +3 -0
  74. package/dist/src/index.js +4 -0
  75. package/dist/src/index.js.map +1 -1
  76. package/dist/src/mcp/oauth-provider.test.js +1 -0
  77. package/dist/src/mcp/oauth-provider.test.js.map +1 -1
  78. package/dist/src/prompts/mcp-prompts.test.js +0 -1
  79. package/dist/src/prompts/mcp-prompts.test.js.map +1 -1
  80. package/dist/src/prompts/prompt-registry.test.js +0 -15
  81. package/dist/src/prompts/prompt-registry.test.js.map +1 -1
  82. package/dist/src/routing/modelRouterService.js +1 -1
  83. package/dist/src/routing/modelRouterService.js.map +1 -1
  84. package/dist/src/routing/strategies/classifierStrategy.test.js +4 -3
  85. package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -1
  86. package/dist/src/services/chatCompressionService.d.ts +1 -1
  87. package/dist/src/services/chatCompressionService.js +1 -1
  88. package/dist/src/services/chatRecordingService.d.ts +1 -1
  89. package/dist/src/services/modelConfig.integration.test.js +34 -0
  90. package/dist/src/services/modelConfig.integration.test.js.map +1 -1
  91. package/dist/src/services/modelConfigService.d.ts +2 -0
  92. package/dist/src/services/modelConfigService.js +7 -2
  93. package/dist/src/services/modelConfigService.js.map +1 -1
  94. package/dist/src/services/modelConfigService.test.js +22 -0
  95. package/dist/src/services/modelConfigService.test.js.map +1 -1
  96. package/dist/src/services/shellExecutionService.js +4 -3
  97. package/dist/src/services/shellExecutionService.js.map +1 -1
  98. package/dist/src/services/test-data/resolved-aliases.golden.json +37 -4
  99. package/dist/src/telemetry/activity-monitor.test.js +4 -1
  100. package/dist/src/telemetry/activity-monitor.test.js.map +1 -1
  101. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +33 -21
  102. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  103. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +18 -0
  104. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
  105. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +1 -0
  106. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +3 -1
  107. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  108. package/dist/src/telemetry/loggers.js +2 -2
  109. package/dist/src/telemetry/loggers.js.map +1 -1
  110. package/dist/src/telemetry/loggers.test.js +2 -2
  111. package/dist/src/telemetry/loggers.test.js.map +1 -1
  112. package/dist/src/telemetry/metrics.d.ts +4 -8
  113. package/dist/src/telemetry/metrics.js +5 -11
  114. package/dist/src/telemetry/metrics.js.map +1 -1
  115. package/dist/src/telemetry/metrics.test.js +0 -42
  116. package/dist/src/telemetry/metrics.test.js.map +1 -1
  117. package/dist/src/test-utils/config.d.ts +1 -1
  118. package/dist/src/test-utils/config.js +1 -1
  119. package/dist/src/tools/edit.test.js +203 -200
  120. package/dist/src/tools/edit.test.js.map +1 -1
  121. package/dist/src/tools/mcp-client.d.ts +4 -2
  122. package/dist/src/tools/mcp-client.js +195 -114
  123. package/dist/src/tools/mcp-client.js.map +1 -1
  124. package/dist/src/tools/mcp-client.test.js +128 -54
  125. package/dist/src/tools/mcp-client.test.js.map +1 -1
  126. package/dist/src/tools/mcp-tool.test.js +186 -273
  127. package/dist/src/tools/mcp-tool.test.js.map +1 -1
  128. package/dist/src/tools/modifiable-tool.d.ts +1 -1
  129. package/dist/src/tools/modifiable-tool.js +2 -2
  130. package/dist/src/tools/modifiable-tool.js.map +1 -1
  131. package/dist/src/tools/modifiable-tool.test.js +12 -11
  132. package/dist/src/tools/modifiable-tool.test.js.map +1 -1
  133. package/dist/src/tools/ripGrep.test.js +84 -126
  134. package/dist/src/tools/ripGrep.test.js.map +1 -1
  135. package/dist/src/tools/smart-edit.test.js +92 -111
  136. package/dist/src/tools/smart-edit.test.js.map +1 -1
  137. package/dist/src/tools/tool-registry.test.js +59 -90
  138. package/dist/src/tools/tool-registry.test.js.map +1 -1
  139. package/dist/src/tools/web-fetch.test.js +121 -179
  140. package/dist/src/tools/web-fetch.test.js.map +1 -1
  141. package/dist/src/tools/write-file.test.js +105 -116
  142. package/dist/src/tools/write-file.test.js.map +1 -1
  143. package/dist/src/tools/write-todos.d.ts +1 -1
  144. package/dist/src/tools/write-todos.js +1 -1
  145. package/dist/src/utils/debugLogger.test.js +27 -25
  146. package/dist/src/utils/debugLogger.test.js.map +1 -1
  147. package/dist/src/utils/editor.d.ts +1 -1
  148. package/dist/src/utils/editor.js +3 -2
  149. package/dist/src/utils/editor.js.map +1 -1
  150. package/dist/src/utils/editor.test.js +7 -46
  151. package/dist/src/utils/editor.test.js.map +1 -1
  152. package/dist/src/utils/events.d.ts +33 -3
  153. package/dist/src/utils/events.js +35 -15
  154. package/dist/src/utils/events.js.map +1 -1
  155. package/dist/src/utils/events.test.js +86 -5
  156. package/dist/src/utils/events.test.js.map +1 -1
  157. package/dist/src/utils/filesearch/fileSearch.js +1 -1
  158. package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
  159. package/dist/src/utils/installationManager.test.js +2 -1
  160. package/dist/src/utils/installationManager.test.js.map +1 -1
  161. package/dist/src/utils/llm-edit-fixer.test.js +2 -1
  162. package/dist/src/utils/llm-edit-fixer.test.js.map +1 -1
  163. package/dist/src/utils/memoryDiscovery.test.js +3 -2
  164. package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
  165. package/dist/src/utils/memoryImportProcessor.js +1 -1
  166. package/dist/src/utils/memoryImportProcessor.js.map +1 -1
  167. package/dist/src/utils/memoryImportProcessor.test.js +8 -14
  168. package/dist/src/utils/memoryImportProcessor.test.js.map +1 -1
  169. package/dist/src/utils/nextSpeakerChecker.test.js +3 -1
  170. package/dist/src/utils/nextSpeakerChecker.test.js.map +1 -1
  171. package/dist/src/utils/stdio.d.ts +32 -0
  172. package/dist/src/utils/stdio.js +85 -0
  173. package/dist/src/utils/stdio.js.map +1 -0
  174. package/dist/src/utils/stdio.test.d.ts +6 -0
  175. package/dist/src/utils/stdio.test.js +47 -0
  176. package/dist/src/utils/stdio.test.js.map +1 -0
  177. package/dist/src/utils/systemEncoding.test.js +2 -1
  178. package/dist/src/utils/systemEncoding.test.js.map +1 -1
  179. package/dist/src/utils/terminal.d.ts +14 -0
  180. package/dist/src/utils/terminal.js +38 -0
  181. package/dist/src/utils/terminal.js.map +1 -0
  182. package/dist/src/utils/userAccountManager.test.js +7 -6
  183. package/dist/src/utils/userAccountManager.test.js.map +1 -1
  184. package/dist/src/utils/workspaceContext.test.js +5 -4
  185. package/dist/src/utils/workspaceContext.test.js.map +1 -1
  186. package/dist/tsconfig.tsbuildinfo +1 -1
  187. package/package.json +6 -4
@@ -7,13 +7,12 @@ import { Client } from '@modelcontextprotocol/sdk/client/index.js';
7
7
  import { SSEClientTransport } from '@modelcontextprotocol/sdk/client/sse.js';
8
8
  import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
9
9
  import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
10
- import { GetPromptResultSchema, ListPromptsResultSchema, ListRootsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
10
+ import { ListRootsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
11
11
  import { parse } from 'shell-quote';
12
12
  import { AuthProviderType } from '../config/config.js';
13
13
  import { GoogleCredentialProvider } from '../mcp/google-auth-provider.js';
14
14
  import { ServiceAccountImpersonationProvider } from '../mcp/sa-impersonation-provider.js';
15
15
  import { DiscoveredMCPTool } from './mcp-tool.js';
16
- import { mcpToTool } from '@google/genai';
17
16
  import { basename } from 'node:path';
18
17
  import { pathToFileURL } from 'node:url';
19
18
  import { MCPOAuthProvider } from '../mcp/oauth-provider.js';
@@ -22,6 +21,41 @@ import { OAuthUtils } from '../mcp/oauth-utils.js';
22
21
  import { getErrorMessage } from '../utils/errors.js';
23
22
  import { debugLogger } from '../utils/debugLogger.js';
24
23
  import { coreEvents } from '../utils/events.js';
24
+ import { loadYamlConfig } from '@machina.ai/config-yaml';
25
+ import { sessionId } from '../utils/session.js';
26
+ async function applyAgentAuthHeaderIfNeeded(mcpServerConfig, transportOptions) {
27
+ const cfg = loadYamlConfig();
28
+ const agentApiHostname = cfg.agentApiUrl
29
+ ? new URL(cfg.agentApiUrl).hostname
30
+ : null;
31
+ const mcpUrl = mcpServerConfig.httpUrl || mcpServerConfig.url;
32
+ if (agentApiHostname && mcpUrl) {
33
+ const mcpHostname = new URL(mcpUrl).hostname;
34
+ if (mcpHostname === agentApiHostname) {
35
+ if (!transportOptions.requestInit) {
36
+ transportOptions.requestInit = {};
37
+ }
38
+ transportOptions.requestInit.headers = {
39
+ ...(transportOptions.requestInit.headers ?? {}),
40
+ Sessionid: sessionId,
41
+ };
42
+ try {
43
+ const { AuthProviderKeycloak } = await import('@machina.ai/auth-keycloak');
44
+ const agentTokenProvider = new AuthProviderKeycloak();
45
+ const agentToken = await agentTokenProvider.getToken();
46
+ if (agentToken) {
47
+ transportOptions.requestInit.headers = {
48
+ ...(transportOptions.requestInit.headers ?? {}),
49
+ Authorization: `Bearer ${agentToken}`,
50
+ };
51
+ }
52
+ }
53
+ catch (e) {
54
+ console.error('Failed to get agent token for MCP server:', e);
55
+ }
56
+ }
57
+ }
58
+ }
25
59
  export const MCP_DEFAULT_TIMEOUT_MSEC = 10 * 60 * 1000; // default to 10 minutes
26
60
  /**
27
61
  * Enum representing the connection status of an MCP server
@@ -304,6 +338,36 @@ function createTransportRequestInit(mcpServerConfig, headers) {
304
338
  },
305
339
  };
306
340
  }
341
+ /**
342
+ * Create an AuthProvider for the MCP Transport.
343
+ *
344
+ * @param mcpServerConfig The MCP server configuration
345
+ */
346
+ function createAuthProvider(mcpServerConfig) {
347
+ if (mcpServerConfig.authProviderType ===
348
+ AuthProviderType.SERVICE_ACCOUNT_IMPERSONATION) {
349
+ return new ServiceAccountImpersonationProvider(mcpServerConfig);
350
+ }
351
+ if (mcpServerConfig.authProviderType === AuthProviderType.GOOGLE_CREDENTIALS) {
352
+ return new GoogleCredentialProvider(mcpServerConfig);
353
+ }
354
+ return undefined;
355
+ }
356
+ /**
357
+ * Create a transport for URL based servers (remote servers).
358
+ *
359
+ * @param mcpServerConfig The MCP server configuration
360
+ * @param transportOptions The transport options
361
+ */
362
+ function createUrlTransport(mcpServerConfig, transportOptions) {
363
+ if (mcpServerConfig.httpUrl) {
364
+ return new StreamableHTTPClientTransport(new URL(mcpServerConfig.httpUrl), transportOptions);
365
+ }
366
+ if (mcpServerConfig.url) {
367
+ return new SSEClientTransport(new URL(mcpServerConfig.url), transportOptions);
368
+ }
369
+ throw new Error('No URL configured for MCP Server');
370
+ }
307
371
  /**
308
372
  * Create a transport with OAuth token for the given server configuration.
309
373
  *
@@ -314,24 +378,13 @@ function createTransportRequestInit(mcpServerConfig, headers) {
314
378
  */
315
379
  async function createTransportWithOAuth(mcpServerName, mcpServerConfig, accessToken) {
316
380
  try {
317
- if (mcpServerConfig.httpUrl) {
318
- // Create HTTP transport with OAuth token
319
- const oauthTransportOptions = {
320
- requestInit: createTransportRequestInit(mcpServerConfig, {
321
- Authorization: `Bearer ${accessToken}`,
322
- }),
323
- };
324
- return new StreamableHTTPClientTransport(new URL(mcpServerConfig.httpUrl), oauthTransportOptions);
325
- }
326
- else if (mcpServerConfig.url) {
327
- // Create SSE transport with OAuth token in Authorization header
328
- return new SSEClientTransport(new URL(mcpServerConfig.url), {
329
- requestInit: createTransportRequestInit(mcpServerConfig, {
330
- Authorization: `Bearer ${accessToken}`,
331
- }),
332
- });
333
- }
334
- return null;
381
+ const headers = {
382
+ Authorization: `Bearer ${accessToken}`,
383
+ };
384
+ const transportOptions = {
385
+ requestInit: createTransportRequestInit(mcpServerConfig, headers),
386
+ };
387
+ return createUrlTransport(mcpServerConfig, transportOptions);
335
388
  }
336
389
  catch (error) {
337
390
  coreEvents.emitFeedback('error', `Failed to create OAuth transport for server '${mcpServerName}': ${getErrorMessage(error)}`, error);
@@ -435,25 +488,19 @@ export async function discoverTools(mcpServerName, mcpServerConfig, mcpClient, c
435
488
  // Only request tools if the server supports them.
436
489
  if (mcpClient.getServerCapabilities()?.tools == null)
437
490
  return [];
438
- const mcpCallableTool = mcpToTool(mcpClient, {
439
- timeout: mcpServerConfig.timeout ?? MCP_DEFAULT_TIMEOUT_MSEC,
440
- });
441
- const tool = await mcpCallableTool.tool();
442
- if (!Array.isArray(tool.functionDeclarations)) {
443
- // This is a valid case for a prompt-only server
444
- return [];
445
- }
491
+ const response = await mcpClient.listTools({});
446
492
  const discoveredTools = [];
447
- for (const funcDecl of tool.functionDeclarations) {
493
+ for (const toolDef of response.tools) {
448
494
  try {
449
- if (!isEnabled(funcDecl, mcpServerName, mcpServerConfig)) {
495
+ if (!isEnabled(toolDef, mcpServerName, mcpServerConfig)) {
450
496
  continue;
451
497
  }
452
- const tool = new DiscoveredMCPTool(mcpCallableTool, mcpServerName, funcDecl.name, funcDecl.description ?? '', funcDecl.parametersJsonSchema ?? { type: 'object', properties: {} }, mcpServerConfig.trust, undefined, cliConfig, mcpServerConfig.extension?.name, mcpServerConfig.extension?.id, messageBus);
498
+ const mcpCallableTool = new McpCallableTool(mcpClient, toolDef, mcpServerConfig.timeout ?? MCP_DEFAULT_TIMEOUT_MSEC);
499
+ const tool = new DiscoveredMCPTool(mcpCallableTool, mcpServerName, toolDef.name, toolDef.description ?? '', toolDef.inputSchema ?? { type: 'object', properties: {} }, mcpServerConfig.trust, undefined, cliConfig, mcpServerConfig.extension?.name, mcpServerConfig.extension?.id, messageBus);
453
500
  discoveredTools.push(tool);
454
501
  }
455
502
  catch (error) {
456
- coreEvents.emitFeedback('error', `Error discovering tool: '${funcDecl.name}' from MCP server '${mcpServerName}': ${error.message}`, error);
503
+ coreEvents.emitFeedback('error', `Error discovering tool: '${toolDef.name}' from MCP server '${mcpServerName}': ${error.message}`, error);
457
504
  }
458
505
  }
459
506
  return discoveredTools;
@@ -466,6 +513,64 @@ export async function discoverTools(mcpServerName, mcpServerConfig, mcpClient, c
466
513
  return [];
467
514
  }
468
515
  }
516
+ class McpCallableTool {
517
+ client;
518
+ toolDef;
519
+ timeout;
520
+ constructor(client, toolDef, timeout) {
521
+ this.client = client;
522
+ this.toolDef = toolDef;
523
+ this.timeout = timeout;
524
+ }
525
+ async tool() {
526
+ return {
527
+ functionDeclarations: [
528
+ {
529
+ name: this.toolDef.name,
530
+ description: this.toolDef.description,
531
+ parametersJsonSchema: this.toolDef.inputSchema,
532
+ },
533
+ ],
534
+ };
535
+ }
536
+ async callTool(functionCalls) {
537
+ // We only expect one function call at a time for MCP tools in this context
538
+ if (functionCalls.length !== 1) {
539
+ throw new Error('McpCallableTool only supports single function call');
540
+ }
541
+ const call = functionCalls[0];
542
+ try {
543
+ const result = await this.client.callTool({
544
+ name: call.name,
545
+ arguments: call.args,
546
+ }, undefined, { timeout: this.timeout });
547
+ return [
548
+ {
549
+ functionResponse: {
550
+ name: call.name,
551
+ response: result,
552
+ },
553
+ },
554
+ ];
555
+ }
556
+ catch (error) {
557
+ // Return error in the format expected by DiscoveredMCPTool
558
+ return [
559
+ {
560
+ functionResponse: {
561
+ name: call.name,
562
+ response: {
563
+ error: {
564
+ message: error instanceof Error ? error.message : String(error),
565
+ isError: true,
566
+ },
567
+ },
568
+ },
569
+ },
570
+ ];
571
+ }
572
+ }
573
+ }
469
574
  /**
470
575
  * Discovers and logs prompts from a connected MCP client.
471
576
  * It retrieves prompt declarations from the client and logs their names.
@@ -478,7 +583,7 @@ export async function discoverPrompts(mcpServerName, mcpClient, promptRegistry)
478
583
  // Only request prompts if the server supports them.
479
584
  if (mcpClient.getServerCapabilities()?.prompts == null)
480
585
  return [];
481
- const response = await mcpClient.request({ method: 'prompts/list', params: {} }, ListPromptsResultSchema);
586
+ const response = await mcpClient.listPrompts({});
482
587
  for (const prompt of response.prompts) {
483
588
  promptRegistry.registerPrompt({
484
589
  ...prompt,
@@ -509,13 +614,16 @@ export async function discoverPrompts(mcpServerName, mcpClient, promptRegistry)
509
614
  */
510
615
  export async function invokeMcpPrompt(mcpServerName, mcpClient, promptName, promptParams) {
511
616
  try {
512
- const response = await mcpClient.request({
513
- method: 'prompts/get',
514
- params: {
515
- name: promptName,
516
- arguments: promptParams,
517
- },
518
- }, GetPromptResultSchema);
617
+ const sanitizedParams = {};
618
+ for (const [key, value] of Object.entries(promptParams)) {
619
+ if (value !== undefined && value !== null) {
620
+ sanitizedParams[key] = String(value);
621
+ }
622
+ }
623
+ const response = await mcpClient.getPrompt({
624
+ name: promptName,
625
+ arguments: sanitizedParams,
626
+ });
519
627
  return response;
520
628
  }
521
629
  catch (error) {
@@ -814,84 +922,56 @@ export async function connectToMcpServer(mcpServerName, mcpServerConfig, debugMo
814
922
  }
815
923
  /** Visible for Testing */
816
924
  export async function createTransport(mcpServerName, mcpServerConfig, debugMode) {
817
- if (mcpServerConfig.authProviderType ===
818
- AuthProviderType.SERVICE_ACCOUNT_IMPERSONATION) {
819
- const provider = new ServiceAccountImpersonationProvider(mcpServerConfig);
820
- const transportOptions = {
821
- requestInit: createTransportRequestInit(mcpServerConfig, {}),
822
- authProvider: provider,
823
- };
824
- if (mcpServerConfig.httpUrl) {
825
- return new StreamableHTTPClientTransport(new URL(mcpServerConfig.httpUrl), transportOptions);
925
+ const noUrl = !mcpServerConfig.url && !mcpServerConfig.httpUrl;
926
+ if (noUrl) {
927
+ if (mcpServerConfig.authProviderType === AuthProviderType.GOOGLE_CREDENTIALS) {
928
+ throw new Error(`URL must be provided in the config for Google Credentials provider`);
826
929
  }
827
- else if (mcpServerConfig.url) {
828
- // Default to SSE if only url is provided
829
- return new SSEClientTransport(new URL(mcpServerConfig.url), transportOptions);
930
+ if (mcpServerConfig.authProviderType ===
931
+ AuthProviderType.SERVICE_ACCOUNT_IMPERSONATION) {
932
+ throw new Error(`No URL configured for ServiceAccountImpersonation MCP Server`);
830
933
  }
831
- throw new Error('No URL configured for ServiceAccountImpersonation MCP Server');
832
934
  }
833
- if (mcpServerConfig.authProviderType === AuthProviderType.GOOGLE_CREDENTIALS) {
834
- const provider = new GoogleCredentialProvider(mcpServerConfig);
835
- const transportOptions = {
836
- requestInit: createTransportRequestInit(mcpServerConfig, {}),
837
- authProvider: provider,
838
- };
839
- if (mcpServerConfig.httpUrl) {
840
- return new StreamableHTTPClientTransport(new URL(mcpServerConfig.httpUrl), transportOptions);
841
- }
842
- else if (mcpServerConfig.url) {
843
- return new SSEClientTransport(new URL(mcpServerConfig.url), transportOptions);
844
- }
845
- throw new Error('No URL configured for Google Credentials MCP server');
846
- }
847
- // Check if we have OAuth configuration or stored tokens
848
- let accessToken = null;
849
- let hasOAuthConfig = mcpServerConfig.oauth?.enabled;
850
- if (hasOAuthConfig && mcpServerConfig.oauth) {
851
- const tokenStorage = new MCPOAuthTokenStorage();
852
- const authProvider = new MCPOAuthProvider(tokenStorage);
853
- accessToken = await authProvider.getValidToken(mcpServerName, mcpServerConfig.oauth);
854
- if (!accessToken) {
855
- throw new Error(`MCP server '${mcpServerName}' requires OAuth authentication. ` +
856
- `Please authenticate using the /mcp auth command.`);
857
- }
858
- }
859
- else {
860
- // Check if we have stored OAuth tokens for this server (from previous authentication)
861
- const tokenStorage = new MCPOAuthTokenStorage();
862
- const credentials = await tokenStorage.getCredentials(mcpServerName);
863
- if (credentials) {
864
- const authProvider = new MCPOAuthProvider(tokenStorage);
865
- accessToken = await authProvider.getValidToken(mcpServerName, {
866
- // Pass client ID if available
867
- clientId: credentials.clientId,
868
- });
869
- if (accessToken) {
870
- hasOAuthConfig = true;
871
- debugLogger.log(`Found stored OAuth token for server '${mcpServerName}'`);
935
+ if (mcpServerConfig.httpUrl || mcpServerConfig.url) {
936
+ const authProvider = createAuthProvider(mcpServerConfig);
937
+ const headers = {};
938
+ let accessToken = null;
939
+ let hasOAuthConfig = mcpServerConfig.oauth?.enabled;
940
+ if (authProvider === undefined) {
941
+ // Check if we have OAuth configuration or stored tokens
942
+ if (hasOAuthConfig && mcpServerConfig.oauth) {
943
+ const tokenStorage = new MCPOAuthTokenStorage();
944
+ const mcpAuthProvider = new MCPOAuthProvider(tokenStorage);
945
+ accessToken = await mcpAuthProvider.getValidToken(mcpServerName, mcpServerConfig.oauth);
946
+ if (!accessToken) {
947
+ throw new Error(`MCP server '${mcpServerName}' requires OAuth authentication. ` +
948
+ `Please authenticate using the /mcp auth command.`);
949
+ }
950
+ }
951
+ else {
952
+ // Check if we have stored OAuth tokens for this server (from previous authentication)
953
+ const tokenStorage = new MCPOAuthTokenStorage();
954
+ const credentials = await tokenStorage.getCredentials(mcpServerName);
955
+ if (credentials) {
956
+ const mcpAuthProvider = new MCPOAuthProvider(tokenStorage);
957
+ accessToken = await mcpAuthProvider.getValidToken(mcpServerName, {
958
+ // Pass client ID if available
959
+ clientId: credentials.clientId,
960
+ });
961
+ if (accessToken) {
962
+ hasOAuthConfig = true;
963
+ debugLogger.log(`Found stored OAuth token for server '${mcpServerName}'`);
964
+ }
965
+ }
966
+ }
967
+ if (hasOAuthConfig && accessToken) {
968
+ headers['Authorization'] = `Bearer ${accessToken}`;
872
969
  }
873
970
  }
874
- }
875
- if (mcpServerConfig.httpUrl) {
876
- const transportOptions = {};
877
- // Set up headers with OAuth token if available
878
- if (hasOAuthConfig && accessToken) {
879
- transportOptions.requestInit = {
880
- headers: {
881
- ...mcpServerConfig.headers,
882
- Authorization: `Bearer ${accessToken}`,
883
- },
884
- };
885
- }
886
- else if (mcpServerConfig.headers) {
887
- transportOptions.requestInit = {
888
- headers: mcpServerConfig.headers,
889
- };
890
- }
891
- return new StreamableHTTPClientTransport(new URL(mcpServerConfig.httpUrl), transportOptions);
892
- }
893
- if (mcpServerConfig.url) {
894
- const transportOptions = {};
971
+ const transportOptions = {
972
+ requestInit: createTransportRequestInit(mcpServerConfig, headers),
973
+ authProvider,
974
+ };
895
975
  // Set up headers with OAuth token if available
896
976
  if (hasOAuthConfig && accessToken) {
897
977
  transportOptions.requestInit = {
@@ -906,7 +986,8 @@ export async function createTransport(mcpServerName, mcpServerConfig, debugMode)
906
986
  headers: mcpServerConfig.headers,
907
987
  };
908
988
  }
909
- return new SSEClientTransport(new URL(mcpServerConfig.url), transportOptions);
989
+ await applyAgentAuthHeaderIfNeeded(mcpServerConfig, transportOptions);
990
+ return createUrlTransport(mcpServerConfig, transportOptions);
910
991
  }
911
992
  if (mcpServerConfig.command) {
912
993
  const transport = new StdioClientTransport({
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../../../src/tools/mcp-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../../../src/tools/mcp-client.ts"],"names":[],"mappings":"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"}