@google/gemini-cli-core 0.20.0-preview.0 → 0.21.0-nightly.20251204.3da4fd5f7

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 (101) hide show
  1. package/dist/google-gemini-cli-core-0.21.0-nightly.20251202.2d935b379.tgz +0 -0
  2. package/dist/src/code_assist/oauth2.d.ts +2 -0
  3. package/dist/src/code_assist/oauth2.js +30 -14
  4. package/dist/src/code_assist/oauth2.js.map +1 -1
  5. package/dist/src/code_assist/oauth2.test.js +41 -3
  6. package/dist/src/code_assist/oauth2.test.js.map +1 -1
  7. package/dist/src/config/config.d.ts +17 -2
  8. package/dist/src/config/config.js +28 -0
  9. package/dist/src/config/config.js.map +1 -1
  10. package/dist/src/core/client.test.js +4 -0
  11. package/dist/src/core/client.test.js.map +1 -1
  12. package/dist/src/core/geminiChat.test.js +4 -0
  13. package/dist/src/core/geminiChat.test.js.map +1 -1
  14. package/dist/src/core/sessionHookTriggers.d.ts +28 -0
  15. package/dist/src/core/sessionHookTriggers.js +68 -0
  16. package/dist/src/core/sessionHookTriggers.js.map +1 -0
  17. package/dist/src/generated/git-commit.d.ts +2 -2
  18. package/dist/src/generated/git-commit.js +2 -2
  19. package/dist/src/generated/git-commit.js.map +1 -1
  20. package/dist/src/hooks/hookEventHandler.js +51 -0
  21. package/dist/src/hooks/hookEventHandler.js.map +1 -1
  22. package/dist/src/hooks/hookRegistry.js +8 -1
  23. package/dist/src/hooks/hookRegistry.js.map +1 -1
  24. package/dist/src/hooks/hookRegistry.test.js +1 -0
  25. package/dist/src/hooks/hookRegistry.test.js.map +1 -1
  26. package/dist/src/hooks/hookRunner.js +12 -2
  27. package/dist/src/hooks/hookRunner.js.map +1 -1
  28. package/dist/src/hooks/hookSystem.test.js +124 -0
  29. package/dist/src/hooks/hookSystem.test.js.map +1 -1
  30. package/dist/src/hooks/index.d.ts +3 -1
  31. package/dist/src/hooks/index.js +3 -0
  32. package/dist/src/hooks/index.js.map +1 -1
  33. package/dist/src/hooks/types.d.ts +1 -2
  34. package/dist/src/hooks/types.js +0 -1
  35. package/dist/src/hooks/types.js.map +1 -1
  36. package/dist/src/services/chatCompressionService.js +12 -0
  37. package/dist/src/services/chatCompressionService.js.map +1 -1
  38. package/dist/src/services/chatCompressionService.test.js +2 -0
  39. package/dist/src/services/chatCompressionService.test.js.map +1 -1
  40. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +1 -0
  41. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +20 -0
  42. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  43. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +49 -0
  44. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
  45. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +1 -0
  46. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +3 -1
  47. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  48. package/dist/src/telemetry/config.js +2 -0
  49. package/dist/src/telemetry/config.js.map +1 -1
  50. package/dist/src/telemetry/config.test.js +25 -0
  51. package/dist/src/telemetry/config.test.js.map +1 -1
  52. package/dist/src/telemetry/gcp-exporters.d.ts +4 -3
  53. package/dist/src/telemetry/gcp-exporters.js +7 -4
  54. package/dist/src/telemetry/gcp-exporters.js.map +1 -1
  55. package/dist/src/telemetry/index.d.ts +1 -1
  56. package/dist/src/telemetry/index.js +1 -1
  57. package/dist/src/telemetry/index.js.map +1 -1
  58. package/dist/src/telemetry/loggers.js +335 -335
  59. package/dist/src/telemetry/loggers.js.map +1 -1
  60. package/dist/src/telemetry/loggers.test.js +15 -0
  61. package/dist/src/telemetry/loggers.test.js.map +1 -1
  62. package/dist/src/telemetry/sdk.d.ts +9 -2
  63. package/dist/src/telemetry/sdk.js +126 -16
  64. package/dist/src/telemetry/sdk.js.map +1 -1
  65. package/dist/src/telemetry/sdk.test.js +111 -28
  66. package/dist/src/telemetry/sdk.test.js.map +1 -1
  67. package/dist/src/telemetry/startupProfiler.test.js +4 -0
  68. package/dist/src/telemetry/startupProfiler.test.js.map +1 -1
  69. package/dist/src/telemetry/telemetry.test.js +10 -3
  70. package/dist/src/telemetry/telemetry.test.js.map +1 -1
  71. package/dist/src/tools/mcp-client-manager.js +8 -3
  72. package/dist/src/tools/mcp-client-manager.js.map +1 -1
  73. package/dist/src/tools/mcp-client.js +242 -159
  74. package/dist/src/tools/mcp-client.js.map +1 -1
  75. package/dist/src/tools/mcp-client.test.js +213 -18
  76. package/dist/src/tools/mcp-client.test.js.map +1 -1
  77. package/dist/src/tools/modifiable-tool.test.js +22 -13
  78. package/dist/src/tools/modifiable-tool.test.js.map +1 -1
  79. package/dist/src/utils/debugLogger.d.ts +3 -0
  80. package/dist/src/utils/debugLogger.js +27 -0
  81. package/dist/src/utils/debugLogger.js.map +1 -1
  82. package/dist/src/utils/editCorrector.test.js +4 -0
  83. package/dist/src/utils/editCorrector.test.js.map +1 -1
  84. package/dist/src/utils/editor.d.ts +9 -1
  85. package/dist/src/utils/editor.js +23 -14
  86. package/dist/src/utils/editor.js.map +1 -1
  87. package/dist/src/utils/errors.d.ts +8 -0
  88. package/dist/src/utils/errors.js +32 -0
  89. package/dist/src/utils/errors.js.map +1 -1
  90. package/dist/src/utils/errors.test.d.ts +6 -0
  91. package/dist/src/utils/errors.test.js +36 -0
  92. package/dist/src/utils/errors.test.js.map +1 -0
  93. package/dist/src/utils/nextSpeakerChecker.test.js +4 -0
  94. package/dist/src/utils/nextSpeakerChecker.test.js.map +1 -1
  95. package/dist/src/utils/stdio.d.ts +2 -2
  96. package/dist/src/utils/stdio.js +2 -2
  97. package/dist/src/utils/stdio.js.map +1 -1
  98. package/dist/src/utils/stdio.test.js +5 -5
  99. package/dist/src/utils/stdio.test.js.map +1 -1
  100. package/dist/tsconfig.tsbuildinfo +1 -1
  101. package/package.json +1 -1
@@ -19,7 +19,7 @@ import { pathToFileURL } from 'node:url';
19
19
  import { MCPOAuthProvider } from '../mcp/oauth-provider.js';
20
20
  import { MCPOAuthTokenStorage } from '../mcp/oauth-token-storage.js';
21
21
  import { OAuthUtils } from '../mcp/oauth-utils.js';
22
- import { getErrorMessage } from '../utils/errors.js';
22
+ import { getErrorMessage, isAuthenticationError, UnauthorizedError, } from '../utils/errors.js';
23
23
  import { debugLogger } from '../utils/debugLogger.js';
24
24
  import { coreEvents } from '../utils/events.js';
25
25
  export const MCP_DEFAULT_TIMEOUT_MSEC = 10 * 60 * 1000; // default to 10 minutes
@@ -322,21 +322,6 @@ function createAuthProvider(mcpServerConfig) {
322
322
  }
323
323
  return undefined;
324
324
  }
325
- /**
326
- * Create a transport for URL based servers (remote servers).
327
- *
328
- * @param mcpServerConfig The MCP server configuration
329
- * @param transportOptions The transport options
330
- */
331
- function createUrlTransport(mcpServerConfig, transportOptions) {
332
- if (mcpServerConfig.httpUrl) {
333
- return new StreamableHTTPClientTransport(new URL(mcpServerConfig.httpUrl), transportOptions);
334
- }
335
- if (mcpServerConfig.url) {
336
- return new SSEClientTransport(new URL(mcpServerConfig.url), transportOptions);
337
- }
338
- throw new Error('No URL configured for MCP Server');
339
- }
340
325
  /**
341
326
  * Create a transport with OAuth token for the given server configuration.
342
327
  *
@@ -353,7 +338,7 @@ async function createTransportWithOAuth(mcpServerName, mcpServerConfig, accessTo
353
338
  const transportOptions = {
354
339
  requestInit: createTransportRequestInit(mcpServerConfig, headers),
355
340
  };
356
- return createUrlTransport(mcpServerConfig, transportOptions);
341
+ return createUrlTransport(mcpServerName, mcpServerConfig, transportOptions);
357
342
  }
358
343
  catch (error) {
359
344
  coreEvents.emitFeedback('error', `Failed to create OAuth transport for server '${mcpServerName}': ${getErrorMessage(error)}`, error);
@@ -639,6 +624,116 @@ export async function invokeMcpPrompt(mcpServerName, mcpClient, promptName, prom
639
624
  export function hasNetworkTransport(config) {
640
625
  return !!(config.url || config.httpUrl);
641
626
  }
627
+ /**
628
+ * Helper function to retrieve a stored OAuth token for an MCP server.
629
+ * Handles token validation and refresh automatically.
630
+ *
631
+ * @param serverName The name of the MCP server
632
+ * @returns The valid access token, or null if no token is stored
633
+ */
634
+ async function getStoredOAuthToken(serverName) {
635
+ const tokenStorage = new MCPOAuthTokenStorage();
636
+ const credentials = await tokenStorage.getCredentials(serverName);
637
+ if (!credentials)
638
+ return null;
639
+ const authProvider = new MCPOAuthProvider(tokenStorage);
640
+ return authProvider.getValidToken(serverName, {
641
+ // Pass client ID if available
642
+ clientId: credentials.clientId,
643
+ });
644
+ }
645
+ /**
646
+ * Helper function to create an SSE transport with optional OAuth authentication.
647
+ *
648
+ * @param config The MCP server configuration
649
+ * @param accessToken Optional OAuth access token for authentication
650
+ * @returns A configured SSE transport ready for connection
651
+ */
652
+ function createSSETransportWithAuth(config, accessToken) {
653
+ const headers = {
654
+ ...config.headers,
655
+ ...(accessToken ? { Authorization: `Bearer ${accessToken}` } : {}),
656
+ };
657
+ const options = {};
658
+ if (Object.keys(headers).length > 0) {
659
+ options.requestInit = { headers };
660
+ }
661
+ return new SSEClientTransport(new URL(config.url), options);
662
+ }
663
+ /**
664
+ * Helper function to connect a client using SSE transport with optional OAuth.
665
+ *
666
+ * @param client The MCP client to connect
667
+ * @param config The MCP server configuration
668
+ * @param accessToken Optional OAuth access token for authentication
669
+ */
670
+ async function connectWithSSETransport(client, config, accessToken) {
671
+ const transport = createSSETransportWithAuth(config, accessToken);
672
+ await client.connect(transport, {
673
+ timeout: config.timeout ?? MCP_DEFAULT_TIMEOUT_MSEC,
674
+ });
675
+ }
676
+ /**
677
+ * Helper function to show authentication required message and throw error.
678
+ * Checks if there's a stored token that was rejected (requires re-auth).
679
+ *
680
+ * @param serverName The name of the MCP server
681
+ * @throws Always throws an error with authentication instructions
682
+ */
683
+ async function showAuthRequiredMessage(serverName) {
684
+ const hasRejectedToken = !!(await getStoredOAuthToken(serverName));
685
+ const message = hasRejectedToken
686
+ ? `MCP server '${serverName}' rejected stored OAuth token. Please re-authenticate using: /mcp auth ${serverName}`
687
+ : `MCP server '${serverName}' requires authentication using: /mcp auth ${serverName}`;
688
+ coreEvents.emitFeedback('info', message);
689
+ throw new UnauthorizedError(message);
690
+ }
691
+ /**
692
+ * Helper function to retry connection with OAuth token after authentication.
693
+ * Handles both HTTP and SSE transports based on what previously failed.
694
+ *
695
+ * @param client The MCP client to connect
696
+ * @param serverName The name of the MCP server
697
+ * @param config The MCP server configuration
698
+ * @param accessToken The OAuth access token to use
699
+ * @param httpReturned404 Whether the HTTP transport returned 404 (indicating SSE-only server)
700
+ */
701
+ async function retryWithOAuth(client, serverName, config, accessToken, httpReturned404) {
702
+ if (httpReturned404) {
703
+ // HTTP returned 404, only try SSE
704
+ debugLogger.log(`Retrying SSE connection to '${serverName}' with OAuth token...`);
705
+ await connectWithSSETransport(client, config, accessToken);
706
+ debugLogger.log(`Successfully connected to '${serverName}' using SSE with OAuth.`);
707
+ return;
708
+ }
709
+ // HTTP returned 401, try HTTP with OAuth first
710
+ debugLogger.log(`Retrying connection to '${serverName}' with OAuth token...`);
711
+ const httpTransport = await createTransportWithOAuth(serverName, config, accessToken);
712
+ if (!httpTransport) {
713
+ throw new Error(`Failed to create OAuth transport for server '${serverName}'`);
714
+ }
715
+ try {
716
+ await client.connect(httpTransport, {
717
+ timeout: config.timeout ?? MCP_DEFAULT_TIMEOUT_MSEC,
718
+ });
719
+ debugLogger.log(`Successfully connected to '${serverName}' using HTTP with OAuth.`);
720
+ }
721
+ catch (httpError) {
722
+ await httpTransport.close();
723
+ // If HTTP+OAuth returns 404 and auto-detection enabled, try SSE+OAuth
724
+ if (String(httpError).includes('404') &&
725
+ config.url &&
726
+ !config.type &&
727
+ !config.httpUrl) {
728
+ debugLogger.log(`HTTP with OAuth returned 404, trying SSE with OAuth...`);
729
+ await connectWithSSETransport(client, config, accessToken);
730
+ debugLogger.log(`Successfully connected to '${serverName}' using SSE with OAuth.`);
731
+ }
732
+ else {
733
+ throw httpError;
734
+ }
735
+ }
736
+ }
642
737
  /**
643
738
  * Creates and connects an MCP client to a server based on the provided configuration.
644
739
  * It determines the appropriate transport (Stdio, SSE, or Streamable HTTP) and
@@ -698,6 +793,9 @@ export async function connectToMcpServer(mcpServerName, mcpServerConfig, debugMo
698
793
  unlistenDirectories?.();
699
794
  unlistenDirectories = undefined;
700
795
  };
796
+ let firstAttemptError = null;
797
+ let httpReturned404 = false; // Track if HTTP returned 404 to skip it in OAuth retry
798
+ let sseError = null; // Track SSE fallback error
701
799
  try {
702
800
  const transport = await createTransport(mcpServerName, mcpServerConfig, debugMode);
703
801
  try {
@@ -708,52 +806,92 @@ export async function connectToMcpServer(mcpServerName, mcpServerConfig, debugMo
708
806
  }
709
807
  catch (error) {
710
808
  await transport.close();
809
+ firstAttemptError = error;
711
810
  throw error;
712
811
  }
713
812
  }
714
- catch (error) {
813
+ catch (initialError) {
814
+ let error = initialError;
815
+ // Check if this is a 401 error FIRST (before attempting SSE fallback)
816
+ // This ensures OAuth flow happens before we try SSE
817
+ if (isAuthenticationError(error) && hasNetworkTransport(mcpServerConfig)) {
818
+ // Continue to OAuth handling below (after SSE fallback section)
819
+ }
820
+ else if (
821
+ // If not 401, and HTTP failed with url without explicit type, try SSE fallback
822
+ firstAttemptError &&
823
+ mcpServerConfig.url &&
824
+ !mcpServerConfig.type &&
825
+ !mcpServerConfig.httpUrl) {
826
+ // Check if HTTP returned 404 - if so, we know it's not an HTTP server
827
+ httpReturned404 = String(firstAttemptError).includes('404');
828
+ const logMessage = httpReturned404
829
+ ? `HTTP returned 404, trying SSE transport...`
830
+ : `HTTP connection failed, attempting SSE fallback...`;
831
+ debugLogger.log(`MCP server '${mcpServerName}': ${logMessage}`);
832
+ try {
833
+ // Try SSE with stored OAuth token if available
834
+ // This ensures that SSE fallback works for authenticated servers
835
+ await connectWithSSETransport(mcpClient, mcpServerConfig, await getStoredOAuthToken(mcpServerName));
836
+ debugLogger.log(`MCP server '${mcpServerName}': Successfully connected using SSE transport.`);
837
+ return mcpClient;
838
+ }
839
+ catch (sseFallbackError) {
840
+ sseError = sseFallbackError;
841
+ // If SSE also returned 401, handle OAuth below
842
+ if (isAuthenticationError(sseError)) {
843
+ debugLogger.log(`MCP server '${mcpServerName}': SSE returned 401, OAuth authentication required.`);
844
+ // Update error to be the SSE error for OAuth handling
845
+ error = sseError;
846
+ // Continue to OAuth handling below
847
+ }
848
+ else {
849
+ debugLogger.log(`MCP server '${mcpServerName}': SSE fallback also failed.`);
850
+ // Both failed without 401, throw the original error
851
+ throw firstAttemptError;
852
+ }
853
+ }
854
+ }
715
855
  // Check if this is a 401 error that might indicate OAuth is required
716
- const errorString = String(error);
717
- if (errorString.includes('401') && hasNetworkTransport(mcpServerConfig)) {
856
+ if (isAuthenticationError(error) && hasNetworkTransport(mcpServerConfig)) {
718
857
  mcpServerRequiresOAuth.set(mcpServerName, true);
719
- // Only trigger automatic OAuth discovery for HTTP servers or when OAuth is explicitly configured
720
- // For SSE servers, we should not trigger new OAuth flows automatically
721
- const shouldTriggerOAuth = mcpServerConfig.httpUrl || mcpServerConfig.oauth?.enabled;
858
+ // Only trigger automatic OAuth if explicitly enabled in config
859
+ // Otherwise, show error and tell user to run /mcp auth command
860
+ const shouldTriggerOAuth = mcpServerConfig.oauth?.enabled;
722
861
  if (!shouldTriggerOAuth) {
723
- // For SSE servers without explicit OAuth config, if a token was found but rejected, report it accurately.
724
- const tokenStorage = new MCPOAuthTokenStorage();
725
- const credentials = await tokenStorage.getCredentials(mcpServerName);
726
- if (credentials) {
727
- const authProvider = new MCPOAuthProvider(tokenStorage);
728
- const hasStoredTokens = await authProvider.getValidToken(mcpServerName, {
729
- // Pass client ID if available
730
- clientId: credentials.clientId,
731
- });
732
- if (hasStoredTokens) {
733
- coreEvents.emitFeedback('error', `Stored OAuth token for SSE server '${mcpServerName}' was rejected. ` +
734
- `Please re-authenticate using: /mcp auth ${mcpServerName}`);
735
- }
736
- else {
737
- coreEvents.emitFeedback('error', `401 error received for SSE server '${mcpServerName}' without OAuth configuration. ` +
738
- `Please authenticate using: /mcp auth ${mcpServerName}`);
739
- }
740
- }
741
- throw new Error(`401 error received for SSE server '${mcpServerName}' without OAuth configuration. ` +
742
- `Please authenticate using: /mcp auth ${mcpServerName}`);
862
+ await showAuthRequiredMessage(mcpServerName);
743
863
  }
744
864
  // Try to extract www-authenticate header from the error
865
+ const errorString = String(error);
745
866
  let wwwAuthenticate = extractWWWAuthenticateHeader(errorString);
746
867
  // If we didn't get the header from the error string, try to get it from the server
747
868
  if (!wwwAuthenticate && hasNetworkTransport(mcpServerConfig)) {
748
869
  debugLogger.log(`No www-authenticate header in error, trying to fetch it from server...`);
749
870
  try {
750
871
  const urlToFetch = mcpServerConfig.httpUrl || mcpServerConfig.url;
872
+ // Determine correct Accept header based on what transport failed
873
+ let acceptHeader;
874
+ if (mcpServerConfig.httpUrl) {
875
+ acceptHeader = 'application/json';
876
+ }
877
+ else if (mcpServerConfig.type === 'http') {
878
+ acceptHeader = 'application/json';
879
+ }
880
+ else if (mcpServerConfig.type === 'sse') {
881
+ acceptHeader = 'text/event-stream';
882
+ }
883
+ else if (httpReturned404) {
884
+ // HTTP failed with 404, SSE returned 401 - use SSE header
885
+ acceptHeader = 'text/event-stream';
886
+ }
887
+ else {
888
+ // HTTP returned 401 - use HTTP header
889
+ acceptHeader = 'application/json';
890
+ }
751
891
  const response = await fetch(urlToFetch, {
752
892
  method: 'HEAD',
753
893
  headers: {
754
- Accept: mcpServerConfig.httpUrl
755
- ? 'application/json'
756
- : 'text/event-stream',
894
+ Accept: acceptHeader,
757
895
  },
758
896
  signal: AbortSignal.timeout(5000),
759
897
  });
@@ -774,38 +912,12 @@ export async function connectToMcpServer(mcpServerName, mcpServerConfig, debugMo
774
912
  const oauthSuccess = await handleAutomaticOAuth(mcpServerName, mcpServerConfig, wwwAuthenticate);
775
913
  if (oauthSuccess) {
776
914
  // Retry connection with OAuth token
777
- debugLogger.log(`Retrying connection to '${mcpServerName}' with OAuth token...`);
778
- // Get the valid token - we need to create a proper OAuth config
779
- // The token should already be available from the authentication process
780
- const tokenStorage = new MCPOAuthTokenStorage();
781
- const credentials = await tokenStorage.getCredentials(mcpServerName);
782
- if (credentials) {
783
- const authProvider = new MCPOAuthProvider(tokenStorage);
784
- const accessToken = await authProvider.getValidToken(mcpServerName, {
785
- // Pass client ID if available
786
- clientId: credentials.clientId,
787
- });
788
- if (accessToken) {
789
- // Create transport with OAuth token
790
- const oauthTransport = await createTransportWithOAuth(mcpServerName, mcpServerConfig, accessToken);
791
- if (oauthTransport) {
792
- await mcpClient.connect(oauthTransport, {
793
- timeout: mcpServerConfig.timeout ?? MCP_DEFAULT_TIMEOUT_MSEC,
794
- });
795
- // Connection successful with OAuth
796
- return mcpClient;
797
- }
798
- else {
799
- throw new Error(`Failed to create OAuth transport for server '${mcpServerName}'`);
800
- }
801
- }
802
- else {
803
- throw new Error(`Failed to get OAuth token for server '${mcpServerName}'`);
804
- }
805
- }
806
- else {
807
- throw new Error(`Failed to get credentials for server '${mcpServerName}' after successful OAuth authentication`);
915
+ const accessToken = await getStoredOAuthToken(mcpServerName);
916
+ if (!accessToken) {
917
+ throw new Error(`Failed to get OAuth token for server '${mcpServerName}'`);
808
918
  }
919
+ await retryWithOAuth(mcpClient, mcpServerName, mcpServerConfig, accessToken, httpReturned404);
920
+ return mcpClient;
809
921
  }
810
922
  else {
811
923
  throw new Error(`Failed to handle automatic OAuth for server '${mcpServerName}'`);
@@ -813,29 +925,10 @@ export async function connectToMcpServer(mcpServerName, mcpServerConfig, debugMo
813
925
  }
814
926
  else {
815
927
  // No www-authenticate header found, but we got a 401
816
- // Only try OAuth discovery for HTTP servers or when OAuth is explicitly configured
817
- // For SSE servers, we should not trigger new OAuth flows automatically
818
- const shouldTryDiscovery = mcpServerConfig.httpUrl || mcpServerConfig.oauth?.enabled;
928
+ // Only try OAuth discovery when OAuth is explicitly enabled in config
929
+ const shouldTryDiscovery = mcpServerConfig.oauth?.enabled;
819
930
  if (!shouldTryDiscovery) {
820
- const tokenStorage = new MCPOAuthTokenStorage();
821
- const credentials = await tokenStorage.getCredentials(mcpServerName);
822
- if (credentials) {
823
- const authProvider = new MCPOAuthProvider(tokenStorage);
824
- const hasStoredTokens = await authProvider.getValidToken(mcpServerName, {
825
- // Pass client ID if available
826
- clientId: credentials.clientId,
827
- });
828
- if (hasStoredTokens) {
829
- coreEvents.emitFeedback('error', `Stored OAuth token for SSE server '${mcpServerName}' was rejected. ` +
830
- `Please re-authenticate using: /mcp auth ${mcpServerName}`);
831
- }
832
- else {
833
- coreEvents.emitFeedback('error', `401 error received for SSE server '${mcpServerName}' without OAuth configuration. ` +
834
- `Please authenticate using: /mcp auth ${mcpServerName}`);
835
- }
836
- }
837
- throw new Error(`401 error received for SSE server '${mcpServerName}' without OAuth configuration. ` +
838
- `Please authenticate using: /mcp auth ${mcpServerName}`);
931
+ await showAuthRequiredMessage(mcpServerName);
839
932
  }
840
933
  // For SSE/HTTP servers, try to discover OAuth configuration from the base URL
841
934
  debugLogger.log(`🔍 Attempting OAuth discovery for '${mcpServerName}'...`);
@@ -860,35 +953,20 @@ export async function connectToMcpServer(mcpServerName, mcpServerConfig, debugMo
860
953
  const authProvider = new MCPOAuthProvider(new MCPOAuthTokenStorage());
861
954
  await authProvider.authenticate(mcpServerName, oauthAuthConfig, authServerUrl);
862
955
  // Retry connection with OAuth token
863
- const tokenStorage = new MCPOAuthTokenStorage();
864
- const credentials = await tokenStorage.getCredentials(mcpServerName);
865
- if (credentials) {
866
- const authProvider = new MCPOAuthProvider(tokenStorage);
867
- const accessToken = await authProvider.getValidToken(mcpServerName, {
868
- // Pass client ID if available
869
- clientId: credentials.clientId,
870
- });
871
- if (accessToken) {
872
- // Create transport with OAuth token
873
- const oauthTransport = await createTransportWithOAuth(mcpServerName, mcpServerConfig, accessToken);
874
- if (oauthTransport) {
875
- await mcpClient.connect(oauthTransport, {
876
- timeout: mcpServerConfig.timeout ?? MCP_DEFAULT_TIMEOUT_MSEC,
877
- });
878
- // Connection successful with OAuth
879
- return mcpClient;
880
- }
881
- else {
882
- throw new Error(`Failed to create OAuth transport for server '${mcpServerName}'`);
883
- }
884
- }
885
- else {
886
- throw new Error(`Failed to get OAuth token for server '${mcpServerName}'`);
887
- }
956
+ const accessToken = await getStoredOAuthToken(mcpServerName);
957
+ if (!accessToken) {
958
+ throw new Error(`Failed to get OAuth token for server '${mcpServerName}'`);
888
959
  }
889
- else {
890
- throw new Error(`Failed to get stored credentials for server '${mcpServerName}'`);
960
+ // Create transport with OAuth token
961
+ const oauthTransport = await createTransportWithOAuth(mcpServerName, mcpServerConfig, accessToken);
962
+ if (!oauthTransport) {
963
+ throw new Error(`Failed to create OAuth transport for server '${mcpServerName}'`);
891
964
  }
965
+ await mcpClient.connect(oauthTransport, {
966
+ timeout: mcpServerConfig.timeout ?? MCP_DEFAULT_TIMEOUT_MSEC,
967
+ });
968
+ // Connection successful with OAuth
969
+ return mcpClient;
892
970
  }
893
971
  else {
894
972
  throw new Error(`OAuth configuration failed for '${mcpServerName}'. Please authenticate manually with /mcp auth ${mcpServerName}`);
@@ -901,23 +979,38 @@ export async function connectToMcpServer(mcpServerName, mcpServerConfig, debugMo
901
979
  }
902
980
  else {
903
981
  // Handle other connection errors
904
- // Create a concise error message
905
- const errorMessage = error.message || String(error);
906
- const isNetworkError = errorMessage.includes('ENOTFOUND') ||
907
- errorMessage.includes('ECONNREFUSED');
908
- let conciseError;
909
- if (isNetworkError) {
910
- conciseError = `Cannot connect to '${mcpServerName}' - server may be down or URL incorrect`;
911
- }
912
- else {
913
- conciseError = `Connection failed for '${mcpServerName}': ${errorMessage}`;
914
- }
915
- if (process.env['SANDBOX']) {
916
- conciseError += ` (check sandbox availability)`;
917
- }
918
- throw new Error(conciseError);
982
+ // Re-throw the original error to preserve its structure
983
+ throw error;
984
+ }
985
+ }
986
+ }
987
+ /**
988
+ * Helper function to create the appropriate transport based on config
989
+ * This handles the logic for httpUrl/url/type consistently
990
+ */
991
+ function createUrlTransport(mcpServerName, mcpServerConfig, transportOptions) {
992
+ // Priority 1: httpUrl (deprecated)
993
+ if (mcpServerConfig.httpUrl) {
994
+ if (mcpServerConfig.url) {
995
+ debugLogger.warn(`MCP server '${mcpServerName}': Both 'httpUrl' and 'url' are configured. ` +
996
+ `Using deprecated 'httpUrl'. Please migrate to 'url' with 'type: "http"'.`);
997
+ }
998
+ return new StreamableHTTPClientTransport(new URL(mcpServerConfig.httpUrl), transportOptions);
999
+ }
1000
+ // Priority 2 & 3: url with explicit type
1001
+ if (mcpServerConfig.url && mcpServerConfig.type) {
1002
+ if (mcpServerConfig.type === 'http') {
1003
+ return new StreamableHTTPClientTransport(new URL(mcpServerConfig.url), transportOptions);
919
1004
  }
1005
+ else if (mcpServerConfig.type === 'sse') {
1006
+ return new SSEClientTransport(new URL(mcpServerConfig.url), transportOptions);
1007
+ }
1008
+ }
1009
+ // Priority 4: url without type (default to HTTP)
1010
+ if (mcpServerConfig.url) {
1011
+ return new StreamableHTTPClientTransport(new URL(mcpServerConfig.url), transportOptions);
920
1012
  }
1013
+ throw new Error(`No URL configured for MCP server '${mcpServerName}'`);
921
1014
  }
922
1015
  /** Visible for Testing */
923
1016
  export async function createTransport(mcpServerName, mcpServerConfig, debugMode) {
@@ -937,33 +1030,23 @@ export async function createTransport(mcpServerName, mcpServerConfig, debugMode)
937
1030
  if (authProvider === undefined) {
938
1031
  // Check if we have OAuth configuration or stored tokens
939
1032
  let accessToken = null;
940
- let hasOAuthConfig = mcpServerConfig.oauth?.enabled;
941
- if (hasOAuthConfig && mcpServerConfig.oauth) {
1033
+ if (mcpServerConfig.oauth?.enabled && mcpServerConfig.oauth) {
942
1034
  const tokenStorage = new MCPOAuthTokenStorage();
943
1035
  const mcpAuthProvider = new MCPOAuthProvider(tokenStorage);
944
1036
  accessToken = await mcpAuthProvider.getValidToken(mcpServerName, mcpServerConfig.oauth);
945
1037
  if (!accessToken) {
946
- throw new Error(`MCP server '${mcpServerName}' requires OAuth authentication. ` +
947
- `Please authenticate using the /mcp auth command.`);
1038
+ // Emit info message (not error) since this is expected behavior
1039
+ coreEvents.emitFeedback('info', `MCP server '${mcpServerName}' requires authentication using: /mcp auth ${mcpServerName}`);
948
1040
  }
949
1041
  }
950
1042
  else {
951
1043
  // Check if we have stored OAuth tokens for this server (from previous authentication)
952
- const tokenStorage = new MCPOAuthTokenStorage();
953
- const credentials = await tokenStorage.getCredentials(mcpServerName);
954
- if (credentials) {
955
- const mcpAuthProvider = new MCPOAuthProvider(tokenStorage);
956
- accessToken = await mcpAuthProvider.getValidToken(mcpServerName, {
957
- // Pass client ID if available
958
- clientId: credentials.clientId,
959
- });
960
- if (accessToken) {
961
- hasOAuthConfig = true;
962
- debugLogger.log(`Found stored OAuth token for server '${mcpServerName}'`);
963
- }
1044
+ accessToken = await getStoredOAuthToken(mcpServerName);
1045
+ if (accessToken) {
1046
+ debugLogger.log(`Found stored OAuth token for server '${mcpServerName}'`);
964
1047
  }
965
1048
  }
966
- if (hasOAuthConfig && accessToken) {
1049
+ if (accessToken) {
967
1050
  headers['Authorization'] = `Bearer ${accessToken}`;
968
1051
  }
969
1052
  }
@@ -971,7 +1054,7 @@ export async function createTransport(mcpServerName, mcpServerConfig, debugMode)
971
1054
  requestInit: createTransportRequestInit(mcpServerConfig, headers),
972
1055
  authProvider,
973
1056
  };
974
- return createUrlTransport(mcpServerConfig, transportOptions);
1057
+ return createUrlTransport(mcpServerName, mcpServerConfig, transportOptions);
975
1058
  }
976
1059
  if (mcpServerConfig.command) {
977
1060
  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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"}