@vybestack/llxprt-code-core 0.2.25 → 0.3.4-nightly.250912.86a20bc3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/src/code_assist/converter.js +35 -3
- package/dist/src/code_assist/converter.js.map +1 -1
- package/dist/src/code_assist/oauth2.d.ts +1 -1
- package/dist/src/code_assist/oauth2.js +18 -25
- package/dist/src/code_assist/oauth2.js.map +1 -1
- package/dist/src/config/config.d.ts +33 -2
- package/dist/src/config/config.js +73 -13
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/storage.d.ts +33 -0
- package/dist/src/config/storage.js +93 -0
- package/dist/src/config/storage.js.map +1 -0
- package/dist/src/core/client.d.ts +8 -5
- package/dist/src/core/client.js +119 -20
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/contentGenerator.js +11 -0
- package/dist/src/core/contentGenerator.js.map +1 -1
- package/dist/src/core/coreToolScheduler.d.ts +18 -12
- package/dist/src/core/coreToolScheduler.js +235 -241
- package/dist/src/core/coreToolScheduler.js.map +1 -1
- package/dist/src/core/logger.d.ts +3 -1
- package/dist/src/core/logger.js +5 -3
- package/dist/src/core/logger.js.map +1 -1
- package/dist/src/core/nonInteractiveToolExecutor.js +2 -2
- package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
- package/dist/src/core/subagent.js +2 -12
- package/dist/src/core/subagent.js.map +1 -1
- package/dist/src/core/turn.d.ts +13 -2
- package/dist/src/core/turn.js +15 -4
- package/dist/src/core/turn.js.map +1 -1
- package/dist/src/filters/EmojiFilter.d.ts +5 -0
- package/dist/src/filters/EmojiFilter.js +14 -2
- package/dist/src/filters/EmojiFilter.js.map +1 -1
- package/dist/src/ide/detect-ide.d.ts +8 -3
- package/dist/src/ide/detect-ide.js +29 -11
- package/dist/src/ide/detect-ide.js.map +1 -1
- package/dist/src/ide/ide-client.d.ts +5 -4
- package/dist/src/ide/ide-client.js +21 -17
- package/dist/src/ide/ide-client.js.map +1 -1
- package/dist/src/ide/ide-installer.d.ts +1 -1
- package/dist/src/ide/ide-installer.js +29 -20
- package/dist/src/ide/ide-installer.js.map +1 -1
- package/dist/src/ide/process-utils.d.ts +7 -5
- package/dist/src/ide/process-utils.js +80 -47
- package/dist/src/ide/process-utils.js.map +1 -1
- package/dist/src/index.d.ts +6 -0
- package/dist/src/index.js +7 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/file-token-store.d.ts +58 -0
- package/dist/src/mcp/file-token-store.js +181 -0
- package/dist/src/mcp/file-token-store.js.map +1 -0
- package/dist/src/mcp/oauth-token-storage.d.ts +13 -28
- package/dist/src/mcp/oauth-token-storage.js +21 -87
- package/dist/src/mcp/oauth-token-storage.js.map +1 -1
- package/dist/src/mcp/oauth-utils.d.ts +8 -0
- package/dist/src/mcp/oauth-utils.js +41 -27
- package/dist/src/mcp/oauth-utils.js.map +1 -1
- package/dist/src/mcp/token-store.d.ts +99 -0
- package/dist/src/mcp/token-store.js +77 -0
- package/dist/src/mcp/token-store.js.map +1 -0
- package/dist/src/parsers/TextToolCallParser.d.ts +5 -0
- package/dist/src/parsers/TextToolCallParser.js +3 -13
- package/dist/src/parsers/TextToolCallParser.js.map +1 -1
- package/dist/src/providers/anthropic/AnthropicProvider.js +8 -9
- package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -1
- package/dist/src/providers/gemini/GeminiProvider.js +19 -1
- package/dist/src/providers/gemini/GeminiProvider.js.map +1 -1
- package/dist/src/providers/openai/OpenAIProvider.d.ts +14 -0
- package/dist/src/providers/openai/OpenAIProvider.js +36 -38
- package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
- package/dist/src/services/gitService.d.ts +3 -1
- package/dist/src/services/gitService.js +20 -10
- package/dist/src/services/gitService.js.map +1 -1
- package/dist/src/services/history/ContentConverters.js +40 -1
- package/dist/src/services/history/ContentConverters.js.map +1 -1
- package/dist/src/services/loopDetectionService.js +8 -2
- package/dist/src/services/loopDetectionService.js.map +1 -1
- package/dist/src/services/shellExecutionService.js +2 -1
- package/dist/src/services/shellExecutionService.js.map +1 -1
- package/dist/src/settings/SettingsService.d.ts +5 -0
- package/dist/src/settings/SettingsService.js +5 -0
- package/dist/src/settings/SettingsService.js.map +1 -1
- package/dist/src/settings/settingsServiceInstance.d.ts +5 -0
- package/dist/src/settings/settingsServiceInstance.js +5 -0
- package/dist/src/settings/settingsServiceInstance.js.map +1 -1
- package/dist/src/settings/types.d.ts +5 -0
- package/dist/src/settings/types.js +3 -1
- package/dist/src/settings/types.js.map +1 -1
- package/dist/src/tools/IToolFormatter.d.ts +5 -0
- package/dist/src/tools/IToolFormatter.js +3 -13
- package/dist/src/tools/IToolFormatter.js.map +1 -1
- package/dist/src/tools/ToolFormatter.d.ts +5 -0
- package/dist/src/tools/ToolFormatter.js +3 -13
- package/dist/src/tools/ToolFormatter.js.map +1 -1
- package/dist/src/tools/doubleEscapeUtils.d.ts +3 -13
- package/dist/src/tools/doubleEscapeUtils.js +5 -0
- package/dist/src/tools/doubleEscapeUtils.js.map +1 -1
- package/dist/src/tools/edit.js +10 -1
- package/dist/src/tools/edit.js.map +1 -1
- package/dist/src/tools/glob.d.ts +0 -4
- package/dist/src/tools/glob.js +18 -42
- package/dist/src/tools/glob.js.map +1 -1
- package/dist/src/tools/grep.d.ts +0 -4
- package/dist/src/tools/grep.js +41 -77
- package/dist/src/tools/grep.js.map +1 -1
- package/dist/src/tools/ls.d.ts +2 -6
- package/dist/src/tools/ls.js +18 -13
- package/dist/src/tools/ls.js.map +1 -1
- package/dist/src/tools/mcp-client.d.ts +7 -0
- package/dist/src/tools/mcp-client.js +38 -21
- package/dist/src/tools/mcp-client.js.map +1 -1
- package/dist/src/tools/mcp-tool.js +12 -2
- package/dist/src/tools/mcp-tool.js.map +1 -1
- package/dist/src/tools/memoryTool.js +7 -2
- package/dist/src/tools/memoryTool.js.map +1 -1
- package/dist/src/tools/read-file.js +2 -30
- package/dist/src/tools/read-file.js.map +1 -1
- package/dist/src/tools/read-many-files.js +29 -52
- package/dist/src/tools/read-many-files.js.map +1 -1
- package/dist/src/tools/ripGrep.d.ts +46 -0
- package/dist/src/tools/ripGrep.js +368 -0
- package/dist/src/tools/ripGrep.js.map +1 -0
- package/dist/src/tools/shell.js +13 -2
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/todo-pause.js +0 -1
- package/dist/src/tools/todo-pause.js.map +1 -1
- package/dist/src/tools/tool-error.d.ts +18 -2
- package/dist/src/tools/tool-error.js +27 -1
- package/dist/src/tools/tool-error.js.map +1 -1
- package/dist/src/tools/tool-registry.d.ts +13 -2
- package/dist/src/tools/tool-registry.js +36 -6
- package/dist/src/tools/tool-registry.js.map +1 -1
- package/dist/src/tools/tools.d.ts +7 -5
- package/dist/src/tools/tools.js +12 -0
- package/dist/src/tools/tools.js.map +1 -1
- package/dist/src/tools/web-fetch.js +101 -76
- package/dist/src/tools/web-fetch.js.map +1 -1
- package/dist/src/tools/web-search-invocation.js +13 -1
- package/dist/src/tools/web-search-invocation.js.map +1 -1
- package/dist/src/utils/deterministicEditCorrector.d.ts +28 -0
- package/dist/src/utils/deterministicEditCorrector.js +295 -0
- package/dist/src/utils/deterministicEditCorrector.js.map +1 -0
- package/dist/src/utils/editCorrector.d.ts +4 -4
- package/dist/src/utils/editCorrector.js +15 -213
- package/dist/src/utils/editCorrector.js.map +1 -1
- package/dist/src/utils/editor.js +1 -1
- package/dist/src/utils/editor.js.map +1 -1
- package/dist/src/utils/errors.d.ts +19 -0
- package/dist/src/utils/errors.js +32 -0
- package/dist/src/utils/errors.js.map +1 -1
- package/dist/src/utils/fileUtils.d.ts +2 -7
- package/dist/src/utils/fileUtils.js +16 -47
- package/dist/src/utils/fileUtils.js.map +1 -1
- package/dist/src/utils/filesearch/fileSearch.d.ts +1 -0
- package/dist/src/utils/filesearch/fileSearch.js +14 -9
- package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
- package/dist/src/utils/ignorePatterns.d.ts +103 -0
- package/dist/src/utils/ignorePatterns.js +220 -0
- package/dist/src/utils/ignorePatterns.js.map +1 -0
- package/dist/src/utils/installationManager.d.ts +16 -0
- package/dist/src/utils/installationManager.js +50 -0
- package/dist/src/utils/installationManager.js.map +1 -0
- package/dist/src/utils/memoryDiscovery.d.ts +1 -1
- package/dist/src/utils/memoryDiscovery.js +64 -43
- package/dist/src/utils/memoryDiscovery.js.map +1 -1
- package/dist/src/utils/paths.d.ts +0 -17
- package/dist/src/utils/paths.js +0 -26
- package/dist/src/utils/paths.js.map +1 -1
- package/dist/src/utils/schemaValidator.js +4 -0
- package/dist/src/utils/schemaValidator.js.map +1 -1
- package/dist/src/utils/shell-utils.d.ts +1 -1
- package/dist/src/utils/shell-utils.js +23 -29
- package/dist/src/utils/shell-utils.js.map +1 -1
- package/dist/src/utils/tool-utils.d.ts +19 -0
- package/dist/src/utils/tool-utils.js +58 -0
- package/dist/src/utils/tool-utils.js.map +1 -0
- package/dist/src/utils/userAccountManager.d.ts +20 -0
- package/dist/src/utils/userAccountManager.js +122 -0
- package/dist/src/utils/userAccountManager.js.map +1 -0
- package/dist/src/utils/workspaceContext.js +11 -5
- package/dist/src/utils/workspaceContext.js.map +1 -1
- package/package.json +7 -3
- package/dist/src/utils/nextSpeakerChecker.d.ts +0 -12
- package/dist/src/utils/nextSpeakerChecker.js +0 -97
- package/dist/src/utils/nextSpeakerChecker.js.map +0 -1
- package/dist/src/utils/user_account.d.ts +0 -9
- package/dist/src/utils/user_account.js +0 -109
- package/dist/src/utils/user_account.js.map +0 -1
- package/dist/src/utils/user_id.d.ts +0 -11
- package/dist/src/utils/user_id.js +0 -49
- package/dist/src/utils/user_id.js.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"process-utils.js","sourceRoot":"","sources":["../../../src/ide/process-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAE/B;;;;;GAKG;AACH,KAAK,UAAU,
|
1
|
+
{"version":3,"file":"process-utils.js","sourceRoot":"","sources":["../../../src/ide/process-utils.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
@@ -39,9 +39,11 @@ export * from './utils/textUtils.js';
|
|
39
39
|
export * from './utils/formatters.js';
|
40
40
|
export * from './utils/sanitization.js';
|
41
41
|
export * from './utils/unicodeUtils.js';
|
42
|
+
export * from './utils/generateContentResponseUtilities.js';
|
42
43
|
export * from './utils/filesearch/fileSearch.js';
|
43
44
|
export * from './utils/secure-browser-launcher.js';
|
44
45
|
export * from './utils/errorParsing.js';
|
46
|
+
export * from './utils/ignorePatterns.js';
|
45
47
|
export * from './auth/token-store.js';
|
46
48
|
export * from './auth/types.js';
|
47
49
|
export * from './auth/qwen-device-flow.js';
|
@@ -68,6 +70,7 @@ export * from './prompt-config/types.js';
|
|
68
70
|
export * from './tools/read-file.js';
|
69
71
|
export * from './tools/ls.js';
|
70
72
|
export * from './tools/grep.js';
|
73
|
+
export * from './tools/ripGrep.js';
|
71
74
|
export * from './tools/glob.js';
|
72
75
|
export * from './tools/edit.js';
|
73
76
|
export * from './tools/write-file.js';
|
@@ -86,6 +89,8 @@ export * from './tools/todo-store.js';
|
|
86
89
|
export * from './tools/todo-events.js';
|
87
90
|
export { MCPOAuthProvider } from './mcp/oauth-provider.js';
|
88
91
|
export { MCPOAuthToken, MCPOAuthCredentials, MCPOAuthTokenStorage, } from './mcp/oauth-token-storage.js';
|
92
|
+
export { BaseTokenStore, MCPOAuthToken as MCPOAuthTokenInterface, MCPOAuthCredentials as MCPOAuthCredentialsInterface, } from './mcp/token-store.js';
|
93
|
+
export { FileTokenStore } from './mcp/file-token-store.js';
|
89
94
|
export type { MCPOAuthConfig } from './mcp/oauth-provider.js';
|
90
95
|
export type { OAuthAuthorizationServerMetadata, OAuthProtectedResourceMetadata, } from './mcp/oauth-utils.js';
|
91
96
|
export { OAuthUtils } from './mcp/oauth-utils.js';
|
@@ -127,3 +132,4 @@ export type { FilterConfiguration, FilterResult, EmojiFilterMode, } from './filt
|
|
127
132
|
export { ConfigurationManager, DebugLogger, FileOutput, } from './debug/index.js';
|
128
133
|
export type { DebugSettings, DebugOutputConfig } from './debug/index.js';
|
129
134
|
export type { LogEntry as DebugLogEntry } from './debug/index.js';
|
135
|
+
export { Storage } from './config/storage.js';
|
package/dist/src/index.js
CHANGED
@@ -44,9 +44,11 @@ export * from './utils/textUtils.js';
|
|
44
44
|
export * from './utils/formatters.js';
|
45
45
|
export * from './utils/sanitization.js';
|
46
46
|
export * from './utils/unicodeUtils.js';
|
47
|
+
export * from './utils/generateContentResponseUtilities.js';
|
47
48
|
export * from './utils/filesearch/fileSearch.js';
|
48
49
|
export * from './utils/secure-browser-launcher.js';
|
49
50
|
export * from './utils/errorParsing.js';
|
51
|
+
export * from './utils/ignorePatterns.js';
|
50
52
|
// Export auth system
|
51
53
|
export * from './auth/token-store.js';
|
52
54
|
export * from './auth/types.js';
|
@@ -81,6 +83,7 @@ export * from './prompt-config/types.js';
|
|
81
83
|
export * from './tools/read-file.js';
|
82
84
|
export * from './tools/ls.js';
|
83
85
|
export * from './tools/grep.js';
|
86
|
+
export * from './tools/ripGrep.js';
|
84
87
|
export * from './tools/glob.js';
|
85
88
|
export * from './tools/edit.js';
|
86
89
|
export * from './tools/write-file.js';
|
@@ -100,6 +103,8 @@ export * from './tools/todo-events.js';
|
|
100
103
|
// MCP OAuth
|
101
104
|
export { MCPOAuthProvider } from './mcp/oauth-provider.js';
|
102
105
|
export { MCPOAuthTokenStorage, } from './mcp/oauth-token-storage.js';
|
106
|
+
export { BaseTokenStore, } from './mcp/token-store.js';
|
107
|
+
export { FileTokenStore } from './mcp/file-token-store.js';
|
103
108
|
export { OAuthUtils } from './mcp/oauth-utils.js';
|
104
109
|
// Export telemetry functions
|
105
110
|
export * from './telemetry/index.js';
|
@@ -144,4 +149,6 @@ export { getSettingsService, resetSettingsService, } from './settings/settingsSe
|
|
144
149
|
export { EmojiFilter } from './filters/EmojiFilter.js';
|
145
150
|
// Export debug system
|
146
151
|
export { ConfigurationManager, DebugLogger, FileOutput, } from './debug/index.js';
|
152
|
+
// Export Storage
|
153
|
+
export { Storage } from './config/storage.js';
|
147
154
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,gBAAgB;AAChB,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAE3C,kBAAkB;AAClB,cAAc,iCAAiC,CAAC;AAEhD,eAAe;AACf,cAAc,wBAAwB,CAAC;AAEvC,oBAAoB;AACpB,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sCAAsC,CAAC;AAErD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AAEvC,mBAAmB;AACnB,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,yBAAyB,CAAC;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,58 @@
|
|
1
|
+
/**
|
2
|
+
* @license
|
3
|
+
* Copyright 2025 Google LLC
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
5
|
+
*/
|
6
|
+
import { BaseTokenStore, MCPOAuthToken, MCPOAuthCredentials } from './token-store.js';
|
7
|
+
/**
|
8
|
+
* File-based implementation of the BaseTokenStore.
|
9
|
+
* Stores MCP OAuth tokens in a JSON file in the user's configuration directory.
|
10
|
+
*/
|
11
|
+
export declare class FileTokenStore extends BaseTokenStore {
|
12
|
+
private readonly tokenFilePath;
|
13
|
+
constructor(tokenFilePath?: string);
|
14
|
+
/**
|
15
|
+
* Ensure the config directory exists.
|
16
|
+
*/
|
17
|
+
private ensureConfigDir;
|
18
|
+
/**
|
19
|
+
* Load all stored MCP OAuth tokens.
|
20
|
+
*
|
21
|
+
* @returns A map of server names to credentials
|
22
|
+
*/
|
23
|
+
loadTokens(): Promise<Map<string, MCPOAuthCredentials>>;
|
24
|
+
/**
|
25
|
+
* Save a token for a specific MCP server.
|
26
|
+
*
|
27
|
+
* @param serverName The name of the MCP server
|
28
|
+
* @param token The OAuth token to save
|
29
|
+
* @param clientId Optional client ID used for this token
|
30
|
+
* @param tokenUrl Optional token URL used for this token
|
31
|
+
* @param mcpServerUrl Optional MCP server URL
|
32
|
+
*/
|
33
|
+
saveToken(serverName: string, token: MCPOAuthToken, clientId?: string, tokenUrl?: string, mcpServerUrl?: string): Promise<void>;
|
34
|
+
/**
|
35
|
+
* Get a token for a specific MCP server.
|
36
|
+
*
|
37
|
+
* @param serverName The name of the MCP server
|
38
|
+
* @returns The stored credentials or null if not found
|
39
|
+
*/
|
40
|
+
getToken(serverName: string): Promise<MCPOAuthCredentials | null>;
|
41
|
+
/**
|
42
|
+
* Remove a token for a specific MCP server.
|
43
|
+
*
|
44
|
+
* @param serverName The name of the MCP server
|
45
|
+
*/
|
46
|
+
removeToken(serverName: string): Promise<void>;
|
47
|
+
/**
|
48
|
+
* Clear all stored MCP OAuth tokens.
|
49
|
+
*/
|
50
|
+
clearAllTokens(): Promise<void>;
|
51
|
+
/**
|
52
|
+
* Validate that credentials object has the required structure.
|
53
|
+
*
|
54
|
+
* @param credentials The credentials to validate
|
55
|
+
* @returns True if valid, false otherwise
|
56
|
+
*/
|
57
|
+
private isValidCredentials;
|
58
|
+
}
|
@@ -0,0 +1,181 @@
|
|
1
|
+
/**
|
2
|
+
* @license
|
3
|
+
* Copyright 2025 Google LLC
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
5
|
+
*/
|
6
|
+
import { promises as fs } from 'node:fs';
|
7
|
+
import * as path from 'node:path';
|
8
|
+
import { Storage } from '../config/storage.js';
|
9
|
+
import { getErrorMessage } from '../utils/errors.js';
|
10
|
+
import { BaseTokenStore, } from './token-store.js';
|
11
|
+
/**
|
12
|
+
* File-based implementation of the BaseTokenStore.
|
13
|
+
* Stores MCP OAuth tokens in a JSON file in the user's configuration directory.
|
14
|
+
*/
|
15
|
+
export class FileTokenStore extends BaseTokenStore {
|
16
|
+
tokenFilePath;
|
17
|
+
constructor(tokenFilePath) {
|
18
|
+
super();
|
19
|
+
this.tokenFilePath = tokenFilePath || Storage.getMcpOAuthTokensPath();
|
20
|
+
}
|
21
|
+
/**
|
22
|
+
* Ensure the config directory exists.
|
23
|
+
*/
|
24
|
+
async ensureConfigDir() {
|
25
|
+
const configDir = path.dirname(this.tokenFilePath);
|
26
|
+
try {
|
27
|
+
await fs.mkdir(configDir, { recursive: true });
|
28
|
+
}
|
29
|
+
catch (error) {
|
30
|
+
console.error(`Failed to create config directory ${configDir}: ${getErrorMessage(error)}`);
|
31
|
+
throw error;
|
32
|
+
}
|
33
|
+
}
|
34
|
+
/**
|
35
|
+
* Load all stored MCP OAuth tokens.
|
36
|
+
*
|
37
|
+
* @returns A map of server names to credentials
|
38
|
+
*/
|
39
|
+
async loadTokens() {
|
40
|
+
const tokenMap = new Map();
|
41
|
+
try {
|
42
|
+
const data = await fs.readFile(this.tokenFilePath, 'utf-8');
|
43
|
+
const tokens = JSON.parse(data);
|
44
|
+
// Validate the loaded data structure
|
45
|
+
if (!Array.isArray(tokens)) {
|
46
|
+
console.warn('Token file contains invalid data structure, ignoring');
|
47
|
+
return tokenMap;
|
48
|
+
}
|
49
|
+
for (const credential of tokens) {
|
50
|
+
if (this.isValidCredentials(credential)) {
|
51
|
+
tokenMap.set(credential.serverName, credential);
|
52
|
+
}
|
53
|
+
else {
|
54
|
+
console.warn(`Skipping invalid credential entry for server: ${credential?.serverName || 'unknown'}`);
|
55
|
+
}
|
56
|
+
}
|
57
|
+
}
|
58
|
+
catch (error) {
|
59
|
+
// File doesn't exist or is invalid, return empty map
|
60
|
+
if (error.code !== 'ENOENT') {
|
61
|
+
console.error(`Failed to load MCP OAuth tokens from ${this.tokenFilePath}: ${getErrorMessage(error)}`);
|
62
|
+
}
|
63
|
+
}
|
64
|
+
return tokenMap;
|
65
|
+
}
|
66
|
+
/**
|
67
|
+
* Save a token for a specific MCP server.
|
68
|
+
*
|
69
|
+
* @param serverName The name of the MCP server
|
70
|
+
* @param token The OAuth token to save
|
71
|
+
* @param clientId Optional client ID used for this token
|
72
|
+
* @param tokenUrl Optional token URL used for this token
|
73
|
+
* @param mcpServerUrl Optional MCP server URL
|
74
|
+
*/
|
75
|
+
async saveToken(serverName, token, clientId, tokenUrl, mcpServerUrl) {
|
76
|
+
await this.ensureConfigDir();
|
77
|
+
const tokens = await this.loadTokens();
|
78
|
+
const credential = this.createCredentials(serverName, token, clientId, tokenUrl, mcpServerUrl);
|
79
|
+
tokens.set(serverName, credential);
|
80
|
+
const tokenArray = Array.from(tokens.values());
|
81
|
+
try {
|
82
|
+
await fs.writeFile(this.tokenFilePath, JSON.stringify(tokenArray, null, 2), { mode: 0o600 });
|
83
|
+
// Token saved successfully
|
84
|
+
}
|
85
|
+
catch (error) {
|
86
|
+
console.error(`Failed to save MCP OAuth token for ${serverName}: ${getErrorMessage(error)}`);
|
87
|
+
throw error;
|
88
|
+
}
|
89
|
+
}
|
90
|
+
/**
|
91
|
+
* Get a token for a specific MCP server.
|
92
|
+
*
|
93
|
+
* @param serverName The name of the MCP server
|
94
|
+
* @returns The stored credentials or null if not found
|
95
|
+
*/
|
96
|
+
async getToken(serverName) {
|
97
|
+
this.validateServerName(serverName);
|
98
|
+
const tokens = await this.loadTokens();
|
99
|
+
const credential = tokens.get(serverName) || null;
|
100
|
+
// Return credential if found
|
101
|
+
return credential;
|
102
|
+
}
|
103
|
+
/**
|
104
|
+
* Remove a token for a specific MCP server.
|
105
|
+
*
|
106
|
+
* @param serverName The name of the MCP server
|
107
|
+
*/
|
108
|
+
async removeToken(serverName) {
|
109
|
+
this.validateServerName(serverName);
|
110
|
+
const tokens = await this.loadTokens();
|
111
|
+
if (tokens.delete(serverName)) {
|
112
|
+
const tokenArray = Array.from(tokens.values());
|
113
|
+
try {
|
114
|
+
if (tokenArray.length === 0) {
|
115
|
+
// Remove file if no tokens left
|
116
|
+
await fs.unlink(this.tokenFilePath);
|
117
|
+
// Token file removed successfully
|
118
|
+
}
|
119
|
+
else {
|
120
|
+
await fs.writeFile(this.tokenFilePath, JSON.stringify(tokenArray, null, 2), { mode: 0o600 });
|
121
|
+
// Token removed successfully
|
122
|
+
}
|
123
|
+
}
|
124
|
+
catch (error) {
|
125
|
+
console.error(`Failed to remove MCP OAuth token for ${serverName}: ${getErrorMessage(error)}`);
|
126
|
+
// Don't throw - removal from memory map succeeded
|
127
|
+
}
|
128
|
+
}
|
129
|
+
else {
|
130
|
+
// No token found to remove
|
131
|
+
}
|
132
|
+
}
|
133
|
+
/**
|
134
|
+
* Clear all stored MCP OAuth tokens.
|
135
|
+
*/
|
136
|
+
async clearAllTokens() {
|
137
|
+
try {
|
138
|
+
await fs.unlink(this.tokenFilePath);
|
139
|
+
// All tokens cleared successfully
|
140
|
+
}
|
141
|
+
catch (error) {
|
142
|
+
if (error.code === 'ENOENT') {
|
143
|
+
// No token file to clear
|
144
|
+
}
|
145
|
+
else {
|
146
|
+
console.error(`Failed to clear MCP OAuth tokens: ${getErrorMessage(error)}`);
|
147
|
+
}
|
148
|
+
}
|
149
|
+
}
|
150
|
+
/**
|
151
|
+
* Validate that credentials object has the required structure.
|
152
|
+
*
|
153
|
+
* @param credentials The credentials to validate
|
154
|
+
* @returns True if valid, false otherwise
|
155
|
+
*/
|
156
|
+
isValidCredentials(credentials) {
|
157
|
+
if (!credentials || typeof credentials !== 'object') {
|
158
|
+
return false;
|
159
|
+
}
|
160
|
+
const cred = credentials;
|
161
|
+
// Check required fields
|
162
|
+
if (!cred.serverName || typeof cred.serverName !== 'string') {
|
163
|
+
return false;
|
164
|
+
}
|
165
|
+
if (!cred.token || typeof cred.token !== 'object') {
|
166
|
+
return false;
|
167
|
+
}
|
168
|
+
const token = cred.token;
|
169
|
+
if (!token.accessToken || typeof token.accessToken !== 'string') {
|
170
|
+
return false;
|
171
|
+
}
|
172
|
+
if (!token.tokenType || typeof token.tokenType !== 'string') {
|
173
|
+
return false;
|
174
|
+
}
|
175
|
+
if (typeof cred.updatedAt !== 'number') {
|
176
|
+
return false;
|
177
|
+
}
|
178
|
+
return true;
|
179
|
+
}
|
180
|
+
}
|
181
|
+
//# sourceMappingURL=file-token-store.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"file-token-store.js","sourceRoot":"","sources":["../../../src/mcp/file-token-store.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,cAAc,GAGf,MAAM,kBAAkB,CAAC;AAE1B;;;GAGG;AACH,MAAM,OAAO,cAAe,SAAQ,cAAc;IAC/B,aAAa,CAAS;IAEvC,YAAY,aAAsB;QAChC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,aAAa,GAAG,aAAa,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;IACxE,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACnD,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CACX,qCAAqC,SAAS,KAAK,eAAe,CAAC,KAAK,CAAC,EAAE,CAC5E,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,UAAU;QACd,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA+B,CAAC;QAExD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA0B,CAAC;YAEzD,qCAAqC;YACrC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC3B,OAAO,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;gBACrE,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,KAAK,MAAM,UAAU,IAAI,MAAM,EAAE,CAAC;gBAChC,IAAI,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;oBACxC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBAClD,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,IAAI,CACV,iDAAkD,UAAsC,EAAE,UAAU,IAAI,SAAS,EAAE,CACpH,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,qDAAqD;YACrD,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvD,OAAO,CAAC,KAAK,CACX,wCAAwC,IAAI,CAAC,aAAa,KAAK,eAAe,CAAC,KAAK,CAAC,EAAE,CACxF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,SAAS,CACb,UAAkB,EAClB,KAAoB,EACpB,QAAiB,EACjB,QAAiB,EACjB,YAAqB;QAErB,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAE7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CACvC,UAAU,EACV,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,YAAY,CACb,CAAC;QAEF,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAEnC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAE/C,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EACnC,EAAE,IAAI,EAAE,KAAK,EAAE,CAChB,CAAC;YAEF,2BAA2B;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CACX,sCAAsC,UAAU,KAAK,eAAe,CAAC,KAAK,CAAC,EAAE,CAC9E,CAAC;YACF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,UAAkB;QAC/B,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAEpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACvC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;QAElD,6BAA6B;QAE7B,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,UAAkB;QAClC,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAEpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QAEvC,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAE/C,IAAI,CAAC;gBACH,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5B,gCAAgC;oBAChC,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;oBACpC,kCAAkC;gBACpC,CAAC;qBAAM,CAAC;oBACN,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EACnC,EAAE,IAAI,EAAE,KAAK,EAAE,CAChB,CAAC;oBACF,6BAA6B;gBAC/B,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CACX,wCAAwC,UAAU,KAAK,eAAe,CAAC,KAAK,CAAC,EAAE,CAChF,CAAC;gBACF,kDAAkD;YACpD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,2BAA2B;QAC7B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc;QAClB,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACpC,kCAAkC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACvD,yBAAyB;YAC3B,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CACX,qCAAqC,eAAe,CAAC,KAAK,CAAC,EAAE,CAC9D,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,kBAAkB,CACxB,WAAoB;QAEpB,IAAI,CAAC,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YACpD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,IAAI,GAAG,WAAsC,CAAC;QAEpD,wBAAwB;QACxB,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC5D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAClD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAgC,CAAC;QACpD,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YAChE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC5D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
@@ -3,43 +3,28 @@
|
|
3
3
|
* Copyright 2025 Google LLC
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
5
5
|
*/
|
6
|
-
|
7
|
-
|
8
|
-
*/
|
9
|
-
export interface MCPOAuthToken {
|
10
|
-
accessToken: string;
|
11
|
-
refreshToken?: string;
|
12
|
-
expiresAt?: number;
|
13
|
-
tokenType: string;
|
14
|
-
scope?: string;
|
15
|
-
}
|
16
|
-
/**
|
17
|
-
* Interface for stored MCP OAuth credentials.
|
18
|
-
*/
|
19
|
-
export interface MCPOAuthCredentials {
|
20
|
-
serverName: string;
|
21
|
-
token: MCPOAuthToken;
|
22
|
-
clientId?: string;
|
23
|
-
tokenUrl?: string;
|
24
|
-
mcpServerUrl?: string;
|
25
|
-
updatedAt: number;
|
26
|
-
}
|
6
|
+
import { BaseTokenStore, MCPOAuthToken, MCPOAuthCredentials } from './token-store.js';
|
7
|
+
export type { MCPOAuthToken, MCPOAuthCredentials };
|
27
8
|
/**
|
28
9
|
* Class for managing MCP OAuth token storage and retrieval.
|
10
|
+
* This class provides backward compatibility with the existing API while
|
11
|
+
* delegating to the new BaseTokenStore architecture.
|
29
12
|
*/
|
30
13
|
export declare class MCPOAuthTokenStorage {
|
31
|
-
private static
|
32
|
-
private static readonly CONFIG_DIR;
|
14
|
+
private static tokenStore;
|
33
15
|
/**
|
34
|
-
*
|
16
|
+
* Set a custom token store implementation.
|
17
|
+
* This allows for dependency injection and testing with mock implementations.
|
35
18
|
*
|
36
|
-
* @
|
19
|
+
* @param store The token store to use
|
37
20
|
*/
|
38
|
-
|
21
|
+
static setTokenStore(store: BaseTokenStore): void;
|
39
22
|
/**
|
40
|
-
*
|
23
|
+
* Get the current token store implementation.
|
24
|
+
*
|
25
|
+
* @returns The current token store
|
41
26
|
*/
|
42
|
-
|
27
|
+
static getTokenStore(): BaseTokenStore;
|
43
28
|
/**
|
44
29
|
* Load all stored MCP OAuth tokens.
|
45
30
|
*
|
@@ -3,31 +3,31 @@
|
|
3
3
|
* Copyright 2025 Google LLC
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
5
5
|
*/
|
6
|
-
import {
|
7
|
-
import
|
8
|
-
import * as os from 'node:os';
|
9
|
-
import { getErrorMessage } from '../utils/errors.js';
|
6
|
+
import { FileTokenStore } from './file-token-store.js';
|
7
|
+
import { BaseTokenStore, } from './token-store.js';
|
10
8
|
/**
|
11
9
|
* Class for managing MCP OAuth token storage and retrieval.
|
10
|
+
* This class provides backward compatibility with the existing API while
|
11
|
+
* delegating to the new BaseTokenStore architecture.
|
12
12
|
*/
|
13
13
|
export class MCPOAuthTokenStorage {
|
14
|
-
static
|
15
|
-
static CONFIG_DIR = '.gemini';
|
14
|
+
static tokenStore = new FileTokenStore();
|
16
15
|
/**
|
17
|
-
*
|
16
|
+
* Set a custom token store implementation.
|
17
|
+
* This allows for dependency injection and testing with mock implementations.
|
18
18
|
*
|
19
|
-
* @
|
19
|
+
* @param store The token store to use
|
20
20
|
*/
|
21
|
-
static
|
22
|
-
|
23
|
-
return path.join(homeDir, this.CONFIG_DIR, this.TOKEN_FILE);
|
21
|
+
static setTokenStore(store) {
|
22
|
+
this.tokenStore = store;
|
24
23
|
}
|
25
24
|
/**
|
26
|
-
*
|
25
|
+
* Get the current token store implementation.
|
26
|
+
*
|
27
|
+
* @returns The current token store
|
27
28
|
*/
|
28
|
-
static
|
29
|
-
|
30
|
-
await fs.mkdir(configDir, { recursive: true });
|
29
|
+
static getTokenStore() {
|
30
|
+
return this.tokenStore;
|
31
31
|
}
|
32
32
|
/**
|
33
33
|
* Load all stored MCP OAuth tokens.
|
@@ -35,22 +35,7 @@ export class MCPOAuthTokenStorage {
|
|
35
35
|
* @returns A map of server names to credentials
|
36
36
|
*/
|
37
37
|
static async loadTokens() {
|
38
|
-
|
39
|
-
try {
|
40
|
-
const tokenFile = this.getTokenFilePath();
|
41
|
-
const data = await fs.readFile(tokenFile, 'utf-8');
|
42
|
-
const tokens = JSON.parse(data);
|
43
|
-
for (const credential of tokens) {
|
44
|
-
tokenMap.set(credential.serverName, credential);
|
45
|
-
}
|
46
|
-
}
|
47
|
-
catch (error) {
|
48
|
-
// File doesn't exist or is invalid, return empty map
|
49
|
-
if (error.code !== 'ENOENT') {
|
50
|
-
console.error(`Failed to load MCP OAuth tokens: ${getErrorMessage(error)}`);
|
51
|
-
}
|
52
|
-
}
|
53
|
-
return tokenMap;
|
38
|
+
return this.tokenStore.loadTokens();
|
54
39
|
}
|
55
40
|
/**
|
56
41
|
* Save a token for a specific MCP server.
|
@@ -62,26 +47,7 @@ export class MCPOAuthTokenStorage {
|
|
62
47
|
* @param mcpServerUrl Optional MCP server URL
|
63
48
|
*/
|
64
49
|
static async saveToken(serverName, token, clientId, tokenUrl, mcpServerUrl) {
|
65
|
-
|
66
|
-
const tokens = await this.loadTokens();
|
67
|
-
const credential = {
|
68
|
-
serverName,
|
69
|
-
token,
|
70
|
-
clientId,
|
71
|
-
tokenUrl,
|
72
|
-
mcpServerUrl,
|
73
|
-
updatedAt: Date.now(),
|
74
|
-
};
|
75
|
-
tokens.set(serverName, credential);
|
76
|
-
const tokenArray = Array.from(tokens.values());
|
77
|
-
const tokenFile = this.getTokenFilePath();
|
78
|
-
try {
|
79
|
-
await fs.writeFile(tokenFile, JSON.stringify(tokenArray, null, 2), { mode: 0o600 });
|
80
|
-
}
|
81
|
-
catch (error) {
|
82
|
-
console.error(`Failed to save MCP OAuth token: ${getErrorMessage(error)}`);
|
83
|
-
throw error;
|
84
|
-
}
|
50
|
+
return this.tokenStore.saveToken(serverName, token, clientId, tokenUrl, mcpServerUrl);
|
85
51
|
}
|
86
52
|
/**
|
87
53
|
* Get a token for a specific MCP server.
|
@@ -90,8 +56,7 @@ export class MCPOAuthTokenStorage {
|
|
90
56
|
* @returns The stored credentials or null if not found
|
91
57
|
*/
|
92
58
|
static async getToken(serverName) {
|
93
|
-
|
94
|
-
return tokens.get(serverName) || null;
|
59
|
+
return this.tokenStore.getToken(serverName);
|
95
60
|
}
|
96
61
|
/**
|
97
62
|
* Remove a token for a specific MCP server.
|
@@ -99,25 +64,7 @@ export class MCPOAuthTokenStorage {
|
|
99
64
|
* @param serverName The name of the MCP server
|
100
65
|
*/
|
101
66
|
static async removeToken(serverName) {
|
102
|
-
|
103
|
-
if (tokens.delete(serverName)) {
|
104
|
-
const tokenArray = Array.from(tokens.values());
|
105
|
-
const tokenFile = this.getTokenFilePath();
|
106
|
-
try {
|
107
|
-
if (tokenArray.length === 0) {
|
108
|
-
// Remove file if no tokens left
|
109
|
-
await fs.unlink(tokenFile);
|
110
|
-
}
|
111
|
-
else {
|
112
|
-
await fs.writeFile(tokenFile, JSON.stringify(tokenArray, null, 2), {
|
113
|
-
mode: 0o600,
|
114
|
-
});
|
115
|
-
}
|
116
|
-
}
|
117
|
-
catch (error) {
|
118
|
-
console.error(`Failed to remove MCP OAuth token: ${getErrorMessage(error)}`);
|
119
|
-
}
|
120
|
-
}
|
67
|
+
return this.tokenStore.removeToken(serverName);
|
121
68
|
}
|
122
69
|
/**
|
123
70
|
* Check if a token is expired.
|
@@ -126,26 +73,13 @@ export class MCPOAuthTokenStorage {
|
|
126
73
|
* @returns True if the token is expired
|
127
74
|
*/
|
128
75
|
static isTokenExpired(token) {
|
129
|
-
|
130
|
-
return false; // No expiry, assume valid
|
131
|
-
}
|
132
|
-
// Add a 5-minute buffer to account for clock skew
|
133
|
-
const bufferMs = 5 * 60 * 1000;
|
134
|
-
return Date.now() + bufferMs >= token.expiresAt;
|
76
|
+
return BaseTokenStore.isTokenExpired(token);
|
135
77
|
}
|
136
78
|
/**
|
137
79
|
* Clear all stored MCP OAuth tokens.
|
138
80
|
*/
|
139
81
|
static async clearAllTokens() {
|
140
|
-
|
141
|
-
const tokenFile = this.getTokenFilePath();
|
142
|
-
await fs.unlink(tokenFile);
|
143
|
-
}
|
144
|
-
catch (error) {
|
145
|
-
if (error.code !== 'ENOENT') {
|
146
|
-
console.error(`Failed to clear MCP OAuth tokens: ${getErrorMessage(error)}`);
|
147
|
-
}
|
148
|
-
}
|
82
|
+
return this.tokenStore.clearAllTokens();
|
149
83
|
}
|
150
84
|
}
|
151
85
|
//# sourceMappingURL=oauth-token-storage.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"oauth-token-storage.js","sourceRoot":"","sources":["../../../src/mcp/oauth-token-storage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"oauth-token-storage.js","sourceRoot":"","sources":["../../../src/mcp/oauth-token-storage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EACL,cAAc,GAGf,MAAM,kBAAkB,CAAC;AAK1B;;;;GAIG;AACH,MAAM,OAAO,oBAAoB;IACvB,MAAM,CAAC,UAAU,GAAmB,IAAI,cAAc,EAAE,CAAC;IAEjE;;;;;OAKG;IACH,MAAM,CAAC,aAAa,CAAC,KAAqB;QACxC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,aAAa;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,UAAU;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;IACtC,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAK,CAAC,SAAS,CACpB,UAAkB,EAClB,KAAoB,EACpB,QAAiB,EACjB,QAAiB,EACjB,YAAqB;QAErB,OAAO,IAAI,CAAC,UAAU,CAAC,SAAS,CAC9B,UAAU,EACV,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,YAAY,CACb,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,QAAQ,CACnB,UAAkB;QAElB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,UAAkB;QACzC,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,KAAoB;QACxC,OAAO,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,cAAc;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;IAC1C,CAAC"}
|
@@ -66,6 +66,14 @@ export declare class OAuthUtils {
|
|
66
66
|
* @returns The OAuth configuration
|
67
67
|
*/
|
68
68
|
static metadataToOAuthConfig(metadata: OAuthAuthorizationServerMetadata): MCPOAuthConfig;
|
69
|
+
/**
|
70
|
+
* Discover Oauth Authorization server metadata given an Auth server URL, by
|
71
|
+
* trying the standard well-known endpoints.
|
72
|
+
*
|
73
|
+
* @param authServerUrl The authorization server URL
|
74
|
+
* @returns The authorization server metadata or null if not found
|
75
|
+
*/
|
76
|
+
static discoverAuthorizationServerMetadata(authServerUrl: string): Promise<OAuthAuthorizationServerMetadata | null>;
|
69
77
|
/**
|
70
78
|
* Discover OAuth configuration using the standard well-known endpoints.
|
71
79
|
*
|