@google/gemini-cli-core 0.1.21 → 0.1.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -28
- package/dist/src/code_assist/converter.d.ts +1 -0
- package/dist/src/code_assist/converter.js +1 -0
- package/dist/src/code_assist/converter.js.map +1 -1
- package/dist/src/code_assist/oauth2.d.ts +1 -0
- package/dist/src/code_assist/oauth2.js +37 -20
- package/dist/src/code_assist/oauth2.js.map +1 -1
- package/dist/src/code_assist/oauth2.test.js +51 -8
- package/dist/src/code_assist/oauth2.test.js.map +1 -1
- package/dist/src/code_assist/server.js +1 -1
- package/dist/src/code_assist/server.js.map +1 -1
- package/dist/src/code_assist/setup.js +1 -1
- package/dist/src/code_assist/setup.js.map +1 -1
- package/dist/src/code_assist/setup.test.js +14 -8
- package/dist/src/code_assist/setup.test.js.map +1 -1
- package/dist/src/config/config.d.ts +2 -0
- package/dist/src/config/config.js +7 -6
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/config.test.js +22 -0
- package/dist/src/config/config.test.js.map +1 -1
- package/dist/src/core/client.d.ts +4 -11
- package/dist/src/core/client.js +46 -28
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/client.test.js +294 -0
- package/dist/src/core/client.test.js.map +1 -1
- package/dist/src/core/contentGenerator.js +19 -9
- package/dist/src/core/contentGenerator.js.map +1 -1
- package/dist/src/core/contentGenerator.test.js +39 -15
- package/dist/src/core/contentGenerator.test.js.map +1 -1
- package/dist/src/core/coreToolScheduler.js +6 -2
- package/dist/src/core/coreToolScheduler.js.map +1 -1
- package/dist/src/core/coreToolScheduler.test.js +46 -63
- package/dist/src/core/coreToolScheduler.test.js.map +1 -1
- package/dist/src/core/logger.d.ts +22 -1
- package/dist/src/core/logger.js +103 -17
- package/dist/src/core/logger.js.map +1 -1
- package/dist/src/core/logger.test.js +86 -20
- package/dist/src/core/logger.test.js.map +1 -1
- package/dist/src/core/nonInteractiveToolExecutor.js +1 -1
- package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
- package/dist/src/core/nonInteractiveToolExecutor.test.js +79 -36
- package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -1
- package/dist/src/core/prompts.js +4 -4
- package/dist/src/core/prompts.js.map +1 -1
- package/dist/src/generated/git-commit.d.ts +7 -0
- package/dist/src/generated/git-commit.js +10 -0
- package/dist/src/generated/git-commit.js.map +1 -0
- package/dist/src/ide/constants.d.ts +6 -0
- package/dist/src/ide/constants.js +7 -0
- package/dist/src/ide/constants.js.map +1 -0
- package/dist/src/ide/detect-ide.js +8 -8
- package/dist/src/ide/detect-ide.js.map +1 -1
- package/dist/src/ide/ide-client.d.ts +5 -1
- package/dist/src/ide/ide-client.js +57 -21
- package/dist/src/ide/ide-client.js.map +1 -1
- package/dist/src/ide/ide-client.test.d.ts +6 -0
- package/dist/src/ide/ide-client.test.js +43 -0
- package/dist/src/ide/ide-client.test.js.map +1 -0
- package/dist/src/ide/ide-installer.js +5 -4
- package/dist/src/ide/ide-installer.js.map +1 -1
- package/dist/src/ide/ideContext.d.ts +6 -6
- package/dist/src/ide/process-utils.d.ts +14 -0
- package/dist/src/ide/process-utils.js +57 -0
- package/dist/src/ide/process-utils.js.map +1 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/oauth-provider.js +176 -58
- package/dist/src/mcp/oauth-provider.js.map +1 -1
- package/dist/src/mcp/oauth-provider.test.js +132 -62
- package/dist/src/mcp/oauth-provider.test.js.map +1 -1
- package/dist/src/mcp/oauth-utils.d.ts +3 -1
- package/dist/src/mcp/oauth-utils.js +50 -12
- package/dist/src/mcp/oauth-utils.js.map +1 -1
- package/dist/src/mcp/oauth-utils.test.js +17 -2
- package/dist/src/mcp/oauth-utils.test.js.map +1 -1
- package/dist/src/services/loopDetectionService.js +5 -5
- package/dist/src/services/loopDetectionService.js.map +1 -1
- package/dist/src/services/shellExecutionService.test.js +13 -3
- package/dist/src/services/shellExecutionService.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +22 -4
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +60 -34
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.d.ts +11 -0
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +91 -39
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +5 -2
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +10 -11
- package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
- package/dist/src/telemetry/constants.d.ts +1 -0
- package/dist/src/telemetry/constants.js +1 -0
- package/dist/src/telemetry/constants.js.map +1 -1
- package/dist/src/telemetry/index.d.ts +2 -2
- package/dist/src/telemetry/index.js +2 -2
- package/dist/src/telemetry/index.js.map +1 -1
- package/dist/src/telemetry/integration.test.circular.js +1 -0
- package/dist/src/telemetry/integration.test.circular.js.map +1 -1
- package/dist/src/telemetry/loggers.d.ts +2 -1
- package/dist/src/telemetry/loggers.js +22 -4
- package/dist/src/telemetry/loggers.js.map +1 -1
- package/dist/src/telemetry/loggers.test.js +27 -2
- package/dist/src/telemetry/loggers.test.js.map +1 -1
- package/dist/src/telemetry/metrics.d.ts +4 -0
- package/dist/src/telemetry/metrics.js +21 -8
- package/dist/src/telemetry/metrics.js.map +1 -1
- package/dist/src/telemetry/metrics.test.js +31 -1
- package/dist/src/telemetry/metrics.test.js.map +1 -1
- package/dist/src/telemetry/sdk.js +64 -36
- package/dist/src/telemetry/sdk.js.map +1 -1
- package/dist/src/telemetry/sdk.test.d.ts +6 -0
- package/dist/src/telemetry/sdk.test.js +82 -0
- package/dist/src/telemetry/sdk.test.js.map +1 -0
- package/dist/src/telemetry/types.d.ts +8 -1
- package/dist/src/telemetry/types.js +8 -0
- package/dist/src/telemetry/types.js.map +1 -1
- package/dist/src/test-utils/tools.d.ts +21 -6
- package/dist/src/test-utils/tools.js +77 -12
- package/dist/src/test-utils/tools.js.map +1 -1
- package/dist/src/tools/mcp-client.js +40 -10
- package/dist/src/tools/mcp-client.js.map +1 -1
- package/dist/src/tools/mcp-client.test.js +31 -1
- package/dist/src/tools/mcp-client.test.js.map +1 -1
- package/dist/src/tools/mcp-tool.js +21 -3
- package/dist/src/tools/mcp-tool.js.map +1 -1
- package/dist/src/tools/mcp-tool.test.js +57 -0
- package/dist/src/tools/mcp-tool.test.js.map +1 -1
- package/dist/src/tools/shell.js +25 -8
- package/dist/src/tools/shell.js.map +1 -1
- package/dist/src/tools/shell.test.js +12 -0
- package/dist/src/tools/shell.test.js.map +1 -1
- package/dist/src/tools/tool-error.d.ts +1 -0
- package/dist/src/tools/tool-error.js +1 -0
- package/dist/src/tools/tool-error.js.map +1 -1
- package/dist/src/tools/tool-registry.d.ts +3 -3
- package/dist/src/tools/tool-registry.js +45 -30
- package/dist/src/tools/tool-registry.js.map +1 -1
- package/dist/src/tools/tools.d.ts +14 -73
- package/dist/src/tools/tools.js +52 -108
- package/dist/src/tools/tools.js.map +1 -1
- package/dist/src/tools/tools.test.js +91 -2
- package/dist/src/tools/tools.test.js.map +1 -1
- package/dist/src/tools/web-search.d.ts +4 -5
- package/dist/src/tools/web-search.js +51 -50
- package/dist/src/tools/web-search.js.map +1 -1
- package/dist/src/tools/web-search.test.d.ts +6 -0
- package/dist/src/tools/web-search.test.js +139 -0
- package/dist/src/tools/web-search.test.js.map +1 -0
- package/dist/src/tools/write-file.d.ts +15 -11
- package/dist/src/tools/write-file.js +133 -144
- package/dist/src/tools/write-file.js.map +1 -1
- package/dist/src/tools/write-file.test.js +57 -88
- package/dist/src/tools/write-file.test.js.map +1 -1
- package/dist/src/utils/browser.js +4 -3
- package/dist/src/utils/browser.js.map +1 -1
- package/dist/src/utils/editCorrector.js +13 -13
- 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/editor.test.js +10 -10
- package/dist/src/utils/editor.test.js.map +1 -1
- package/dist/src/utils/filesearch/crawler.d.ts +15 -0
- package/dist/src/utils/filesearch/crawler.js +50 -0
- package/dist/src/utils/filesearch/crawler.js.map +1 -0
- package/dist/src/utils/filesearch/crawler.test.d.ts +6 -0
- package/dist/src/utils/filesearch/crawler.test.js +468 -0
- package/dist/src/utils/filesearch/crawler.test.js.map +1 -0
- package/dist/src/utils/filesearch/fileSearch.d.ts +9 -53
- package/dist/src/utils/filesearch/fileSearch.js +62 -117
- package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
- package/dist/src/utils/filesearch/fileSearch.test.js +95 -197
- package/dist/src/utils/filesearch/fileSearch.test.js.map +1 -1
- package/dist/src/utils/filesearch/ignore.d.ts +7 -0
- package/dist/src/utils/filesearch/ignore.js +25 -0
- package/dist/src/utils/filesearch/ignore.js.map +1 -1
- package/dist/src/utils/filesearch/ignore.test.js +89 -2
- package/dist/src/utils/filesearch/ignore.test.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.js +3 -3
- package/dist/src/utils/memoryDiscovery.js.map +1 -1
- package/dist/src/utils/memoryDiscovery.test.js +3 -2
- package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
- package/dist/src/utils/memoryImportProcessor.js +2 -6
- package/dist/src/utils/memoryImportProcessor.js.map +1 -1
- package/dist/src/utils/paths.d.ts +7 -0
- package/dist/src/utils/paths.js +15 -0
- package/dist/src/utils/paths.js.map +1 -1
- package/dist/src/utils/paths.test.js +74 -2
- package/dist/src/utils/paths.test.js.map +1 -1
- package/dist/src/utils/secure-browser-launcher.js +4 -3
- package/dist/src/utils/secure-browser-launcher.js.map +1 -1
- package/dist/src/utils/shell-utils.d.ts +39 -0
- package/dist/src/utils/shell-utils.js +72 -2
- package/dist/src/utils/shell-utils.js.map +1 -1
- package/dist/src/utils/shell-utils.test.js +132 -4
- package/dist/src/utils/shell-utils.test.js.map +1 -1
- package/dist/src/utils/systemEncoding.js +1 -1
- package/dist/src/utils/systemEncoding.js.map +1 -1
- package/dist/src/utils/systemEncoding.test.js +23 -23
- package/dist/src/utils/systemEncoding.test.js.map +1 -1
- package/dist/src/utils/workspaceContext.d.ts +22 -7
- package/dist/src/utils/workspaceContext.js +81 -55
- package/dist/src/utils/workspaceContext.js.map +1 -1
- package/dist/src/utils/workspaceContext.test.js +221 -137
- package/dist/src/utils/workspaceContext.test.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ide-client.test.js","sourceRoot":"","sources":["../../../src/ide/ide-client.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ import * as path from 'path';
|
|
|
9
9
|
import * as fs from 'fs';
|
|
10
10
|
import * as os from 'os';
|
|
11
11
|
import { DetectedIde } from './detect-ide.js';
|
|
12
|
+
import { GEMINI_CLI_COMPANION_EXTENSION_NAME } from './constants.js';
|
|
12
13
|
const VSCODE_COMMAND = process.platform === 'win32' ? 'code.cmd' : 'code';
|
|
13
14
|
async function findVsCodeCommand() {
|
|
14
15
|
// 1. Check PATH first.
|
|
@@ -35,7 +36,7 @@ async function findVsCodeCommand() {
|
|
|
35
36
|
}
|
|
36
37
|
else if (platform === 'win32') {
|
|
37
38
|
// Windows
|
|
38
|
-
locations.push(path.join(process.env
|
|
39
|
+
locations.push(path.join(process.env['ProgramFiles'] || 'C:\\Program Files', 'Microsoft VS Code', 'bin', 'code.cmd'), path.join(homeDir, 'AppData', 'Local', 'Programs', 'Microsoft VS Code', 'bin', 'code.cmd'));
|
|
39
40
|
}
|
|
40
41
|
for (const location of locations) {
|
|
41
42
|
if (fs.existsSync(location)) {
|
|
@@ -54,7 +55,7 @@ class VsCodeInstaller {
|
|
|
54
55
|
if (!commandPath) {
|
|
55
56
|
return {
|
|
56
57
|
success: false,
|
|
57
|
-
message: `VS Code CLI not found. Please ensure 'code' is in your system's PATH. For help, see https://code.visualstudio.com/docs/configure/command-line#_code-is-not-recognized-as-an-internal-or-external-command. You can also install the
|
|
58
|
+
message: `VS Code CLI not found. Please ensure 'code' is in your system's PATH. For help, see https://code.visualstudio.com/docs/configure/command-line#_code-is-not-recognized-as-an-internal-or-external-command. You can also install the '${GEMINI_CLI_COMPANION_EXTENSION_NAME}' extension manually from the VS Code marketplace.`,
|
|
58
59
|
};
|
|
59
60
|
}
|
|
60
61
|
const command = `"${commandPath}" --install-extension google.gemini-cli-vscode-ide-companion --force`;
|
|
@@ -62,13 +63,13 @@ class VsCodeInstaller {
|
|
|
62
63
|
child_process.execSync(command, { stdio: 'pipe' });
|
|
63
64
|
return {
|
|
64
65
|
success: true,
|
|
65
|
-
message: 'VS Code companion extension was installed successfully.
|
|
66
|
+
message: 'VS Code companion extension was installed successfully.',
|
|
66
67
|
};
|
|
67
68
|
}
|
|
68
69
|
catch (_error) {
|
|
69
70
|
return {
|
|
70
71
|
success: false,
|
|
71
|
-
message: `Failed to install VS Code companion extension. Please try installing
|
|
72
|
+
message: `Failed to install VS Code companion extension. Please try installing '${GEMINI_CLI_COMPANION_EXTENSION_NAME}' manually from the VS Code extension marketplace.`,
|
|
72
73
|
};
|
|
73
74
|
}
|
|
74
75
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ide-installer.js","sourceRoot":"","sources":["../../../src/ide/ide-installer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,aAAa,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"ide-installer.js","sourceRoot":"","sources":["../../../src/ide/ide-installer.ts"],"names":[],"mappings":"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"}
|
|
@@ -222,6 +222,7 @@ export declare const IdeContextNotificationSchema: z.ZodObject<{
|
|
|
222
222
|
} | undefined;
|
|
223
223
|
}>;
|
|
224
224
|
}, "strip", z.ZodTypeAny, {
|
|
225
|
+
method: "ide/contextUpdate";
|
|
225
226
|
params: {
|
|
226
227
|
workspaceState?: {
|
|
227
228
|
openFiles?: {
|
|
@@ -237,8 +238,8 @@ export declare const IdeContextNotificationSchema: z.ZodObject<{
|
|
|
237
238
|
} | undefined;
|
|
238
239
|
};
|
|
239
240
|
jsonrpc: "2.0";
|
|
240
|
-
method: "ide/contextUpdate";
|
|
241
241
|
}, {
|
|
242
|
+
method: "ide/contextUpdate";
|
|
242
243
|
params: {
|
|
243
244
|
workspaceState?: {
|
|
244
245
|
openFiles?: {
|
|
@@ -254,7 +255,6 @@ export declare const IdeContextNotificationSchema: z.ZodObject<{
|
|
|
254
255
|
} | undefined;
|
|
255
256
|
};
|
|
256
257
|
jsonrpc: "2.0";
|
|
257
|
-
method: "ide/contextUpdate";
|
|
258
258
|
}>;
|
|
259
259
|
export declare const IdeDiffAcceptedNotificationSchema: z.ZodObject<{
|
|
260
260
|
jsonrpc: z.ZodLiteral<"2.0">;
|
|
@@ -270,19 +270,19 @@ export declare const IdeDiffAcceptedNotificationSchema: z.ZodObject<{
|
|
|
270
270
|
content: string;
|
|
271
271
|
}>;
|
|
272
272
|
}, "strip", z.ZodTypeAny, {
|
|
273
|
+
method: "ide/diffAccepted";
|
|
273
274
|
params: {
|
|
274
275
|
filePath: string;
|
|
275
276
|
content: string;
|
|
276
277
|
};
|
|
277
278
|
jsonrpc: "2.0";
|
|
278
|
-
method: "ide/diffAccepted";
|
|
279
279
|
}, {
|
|
280
|
+
method: "ide/diffAccepted";
|
|
280
281
|
params: {
|
|
281
282
|
filePath: string;
|
|
282
283
|
content: string;
|
|
283
284
|
};
|
|
284
285
|
jsonrpc: "2.0";
|
|
285
|
-
method: "ide/diffAccepted";
|
|
286
286
|
}>;
|
|
287
287
|
export declare const IdeDiffClosedNotificationSchema: z.ZodObject<{
|
|
288
288
|
jsonrpc: z.ZodLiteral<"2.0">;
|
|
@@ -298,19 +298,19 @@ export declare const IdeDiffClosedNotificationSchema: z.ZodObject<{
|
|
|
298
298
|
content?: string | undefined;
|
|
299
299
|
}>;
|
|
300
300
|
}, "strip", z.ZodTypeAny, {
|
|
301
|
+
method: "ide/diffClosed";
|
|
301
302
|
params: {
|
|
302
303
|
filePath: string;
|
|
303
304
|
content?: string | undefined;
|
|
304
305
|
};
|
|
305
306
|
jsonrpc: "2.0";
|
|
306
|
-
method: "ide/diffClosed";
|
|
307
307
|
}, {
|
|
308
|
+
method: "ide/diffClosed";
|
|
308
309
|
params: {
|
|
309
310
|
filePath: string;
|
|
310
311
|
content?: string | undefined;
|
|
311
312
|
};
|
|
312
313
|
jsonrpc: "2.0";
|
|
313
|
-
method: "ide/diffClosed";
|
|
314
314
|
}>;
|
|
315
315
|
export declare const CloseDiffResponseSchema: z.ZodEffects<z.ZodObject<{
|
|
316
316
|
content: z.ZodArray<z.ZodObject<{
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Traverses up the process tree from the current process to find the top-level ancestor process ID.
|
|
8
|
+
* This is useful for identifying the main application process that spawned the current script,
|
|
9
|
+
* such as the main VS Code window process.
|
|
10
|
+
*
|
|
11
|
+
* @returns A promise that resolves to the numeric PID of the top-level process.
|
|
12
|
+
* @throws Will throw an error if the underlying shell commands fail unexpectedly.
|
|
13
|
+
*/
|
|
14
|
+
export declare function getIdeProcessId(): Promise<number>;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Google LLC
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { exec } from 'child_process';
|
|
7
|
+
import { promisify } from 'util';
|
|
8
|
+
import os from 'os';
|
|
9
|
+
const execAsync = promisify(exec);
|
|
10
|
+
/**
|
|
11
|
+
* Traverses up the process tree from the current process to find the top-level ancestor process ID.
|
|
12
|
+
* This is useful for identifying the main application process that spawned the current script,
|
|
13
|
+
* such as the main VS Code window process.
|
|
14
|
+
*
|
|
15
|
+
* @returns A promise that resolves to the numeric PID of the top-level process.
|
|
16
|
+
* @throws Will throw an error if the underlying shell commands fail unexpectedly.
|
|
17
|
+
*/
|
|
18
|
+
export async function getIdeProcessId() {
|
|
19
|
+
const platform = os.platform();
|
|
20
|
+
let currentPid = process.pid;
|
|
21
|
+
// Loop upwards through the process tree, with a depth limit to prevent infinite loops.
|
|
22
|
+
const MAX_TRAVERSAL_DEPTH = 32;
|
|
23
|
+
for (let i = 0; i < MAX_TRAVERSAL_DEPTH; i++) {
|
|
24
|
+
let parentPid;
|
|
25
|
+
try {
|
|
26
|
+
// Use wmic for Windows
|
|
27
|
+
if (platform === 'win32') {
|
|
28
|
+
const command = `wmic process where "ProcessId=${currentPid}" get ParentProcessId /value`;
|
|
29
|
+
const { stdout } = await execAsync(command);
|
|
30
|
+
const match = stdout.match(/ParentProcessId=(\d+)/);
|
|
31
|
+
parentPid = match ? parseInt(match[1], 10) : 0; // Top of the tree is 0
|
|
32
|
+
}
|
|
33
|
+
// Use ps for macOS, Linux, and other Unix-like systems
|
|
34
|
+
else {
|
|
35
|
+
const command = `ps -o ppid= -p ${currentPid}`;
|
|
36
|
+
const { stdout } = await execAsync(command);
|
|
37
|
+
const ppid = parseInt(stdout.trim(), 10);
|
|
38
|
+
parentPid = isNaN(ppid) ? 1 : ppid; // Top of the tree is 1
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
catch (_) {
|
|
42
|
+
// This can happen if a process in the chain dies during execution.
|
|
43
|
+
// We'll break the loop and return the last valid PID we found.
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
// Define the root PID for the current OS
|
|
47
|
+
const rootPid = platform === 'win32' ? 0 : 1;
|
|
48
|
+
// If the parent is the root process or invalid, we've found our target.
|
|
49
|
+
if (parentPid === rootPid || parentPid <= 0) {
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
// Move one level up the tree for the next iteration.
|
|
53
|
+
currentPid = parentPid;
|
|
54
|
+
}
|
|
55
|
+
return currentPid;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=process-utils.js.map
|
|
@@ -0,0 +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;AAEpB,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC/B,IAAI,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;IAE7B,uFAAuF;IACvF,MAAM,mBAAmB,GAAG,EAAE,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,mBAAmB,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,IAAI,SAAiB,CAAC;QAEtB,IAAI,CAAC;YACH,uBAAuB;YACvB,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,iCAAiC,UAAU,8BAA8B,CAAC;gBAC1F,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBACpD,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB;YACzE,CAAC;YACD,uDAAuD;iBAClD,CAAC;gBACJ,MAAM,OAAO,GAAG,kBAAkB,UAAU,EAAE,CAAC;gBAC/C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC5C,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBACzC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,uBAAuB;YAC7D,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,mEAAmE;YACnE,+DAA+D;YAC/D,MAAM;QACR,CAAC;QAED,yCAAyC;QACzC,MAAM,OAAO,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7C,wEAAwE;QACxE,IAAI,SAAS,KAAK,OAAO,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YAC5C,MAAM;QACR,CAAC;QACD,qDAAqD;QACrD,UAAU,GAAG,SAAS,CAAC;IACzB,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -41,6 +41,7 @@ export * from './ide/ide-client.js';
|
|
|
41
41
|
export * from './ide/ideContext.js';
|
|
42
42
|
export * from './ide/ide-installer.js';
|
|
43
43
|
export { getIdeInfo, DetectedIde, IdeInfo } from './ide/detect-ide.js';
|
|
44
|
+
export * from './ide/constants.js';
|
|
44
45
|
export * from './services/shellExecutionService.js';
|
|
45
46
|
export * from './tools/tools.js';
|
|
46
47
|
export * from './tools/tool-error.js';
|
package/dist/src/index.js
CHANGED
|
@@ -46,6 +46,7 @@ export * from './ide/ide-client.js';
|
|
|
46
46
|
export * from './ide/ideContext.js';
|
|
47
47
|
export * from './ide/ide-installer.js';
|
|
48
48
|
export { getIdeInfo, DetectedIde } from './ide/detect-ide.js';
|
|
49
|
+
export * from './ide/constants.js';
|
|
49
50
|
// Export Shell Execution Service
|
|
50
51
|
export * from './services/shellExecutionService.js';
|
|
51
52
|
// Export base tool definitions
|
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;AAEnC,oBAAoB;AACpB,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,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,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AAExC,kBAAkB;AAClB,cAAc,oCAAoC,CAAC;AACnD,cAAc,0BAA0B,CAAC;AAEzC,4BAA4B;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAW,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,gBAAgB;AAChB,cAAc,oBAAoB,CAAC;AAEnC,oBAAoB;AACpB,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,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,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AAExC,kBAAkB;AAClB,cAAc,oCAAoC,CAAC;AACnD,cAAc,0BAA0B,CAAC;AAEzC,4BAA4B;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAW,MAAM,qBAAqB,CAAC;AACvE,cAAc,oBAAoB,CAAC;AAEnC,iCAAiC;AACjC,cAAc,qCAAqC,CAAC;AAEpD,+BAA+B;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AAEzC,sBAAsB;AACtB,cAAc,0BAA0B,CAAC;AAEzC,6BAA6B;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AAEpC,YAAY;AACZ,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAGL,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AAMtC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,6BAA6B;AAC7B,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,cAAc,oBAAoB,CAAC"}
|
|
@@ -56,8 +56,8 @@ export class MCPOAuthProvider {
|
|
|
56
56
|
* @returns OAuth configuration if discovered, null otherwise
|
|
57
57
|
*/
|
|
58
58
|
static async discoverOAuthFromMCPServer(mcpServerUrl) {
|
|
59
|
-
|
|
60
|
-
return OAuthUtils.discoverOAuthConfig(
|
|
59
|
+
// Use the full URL with path preserved for OAuth discovery
|
|
60
|
+
return OAuthUtils.discoverOAuthConfig(mcpServerUrl);
|
|
61
61
|
}
|
|
62
62
|
/**
|
|
63
63
|
* Generate PKCE parameters for OAuth flow.
|
|
@@ -179,13 +179,14 @@ export class MCPOAuthProvider {
|
|
|
179
179
|
params.append('audience', config.audiences.join(' '));
|
|
180
180
|
}
|
|
181
181
|
// Add resource parameter for MCP OAuth spec compliance
|
|
182
|
-
//
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
182
|
+
// Only add if we have an MCP server URL (indicates MCP OAuth flow, not standard OAuth)
|
|
183
|
+
if (mcpServerUrl) {
|
|
184
|
+
try {
|
|
185
|
+
params.append('resource', OAuthUtils.buildResourceParameter(mcpServerUrl));
|
|
186
|
+
}
|
|
187
|
+
catch (error) {
|
|
188
|
+
console.warn(`Could not add resource parameter: ${getErrorMessage(error)}`);
|
|
189
|
+
}
|
|
189
190
|
}
|
|
190
191
|
const url = new URL(config.authorizationUrl);
|
|
191
192
|
params.forEach((value, key) => {
|
|
@@ -219,26 +220,76 @@ export class MCPOAuthProvider {
|
|
|
219
220
|
params.append('audience', config.audiences.join(' '));
|
|
220
221
|
}
|
|
221
222
|
// Add resource parameter for MCP OAuth spec compliance
|
|
222
|
-
//
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
223
|
+
// Only add if we have an MCP server URL (indicates MCP OAuth flow, not standard OAuth)
|
|
224
|
+
if (mcpServerUrl) {
|
|
225
|
+
const resourceUrl = mcpServerUrl;
|
|
226
|
+
try {
|
|
227
|
+
params.append('resource', OAuthUtils.buildResourceParameter(resourceUrl));
|
|
228
|
+
}
|
|
229
|
+
catch (error) {
|
|
230
|
+
console.warn(`Could not add resource parameter: ${getErrorMessage(error)}`);
|
|
231
|
+
}
|
|
229
232
|
}
|
|
230
233
|
const response = await fetch(config.tokenUrl, {
|
|
231
234
|
method: 'POST',
|
|
232
235
|
headers: {
|
|
233
236
|
'Content-Type': 'application/x-www-form-urlencoded',
|
|
237
|
+
Accept: 'application/json, application/x-www-form-urlencoded',
|
|
234
238
|
},
|
|
235
239
|
body: params.toString(),
|
|
236
240
|
});
|
|
241
|
+
const responseText = await response.text();
|
|
242
|
+
const contentType = response.headers.get('content-type') || '';
|
|
237
243
|
if (!response.ok) {
|
|
238
|
-
|
|
239
|
-
|
|
244
|
+
// Try to parse error from form-urlencoded response
|
|
245
|
+
let errorMessage = null;
|
|
246
|
+
try {
|
|
247
|
+
const errorParams = new URLSearchParams(responseText);
|
|
248
|
+
const error = errorParams.get('error');
|
|
249
|
+
const errorDescription = errorParams.get('error_description');
|
|
250
|
+
if (error) {
|
|
251
|
+
errorMessage = `Token exchange failed: ${error} - ${errorDescription || 'No description'}`;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
catch {
|
|
255
|
+
// Fall back to raw error
|
|
256
|
+
}
|
|
257
|
+
throw new Error(errorMessage ||
|
|
258
|
+
`Token exchange failed: ${response.status} - ${responseText}`);
|
|
259
|
+
}
|
|
260
|
+
// Log unexpected content types for debugging
|
|
261
|
+
if (!contentType.includes('application/json') &&
|
|
262
|
+
!contentType.includes('application/x-www-form-urlencoded')) {
|
|
263
|
+
console.warn(`Token endpoint returned unexpected content-type: ${contentType}. ` +
|
|
264
|
+
`Expected application/json or application/x-www-form-urlencoded. ` +
|
|
265
|
+
`Will attempt to parse response.`);
|
|
266
|
+
}
|
|
267
|
+
// Try to parse as JSON first, fall back to form-urlencoded
|
|
268
|
+
try {
|
|
269
|
+
return JSON.parse(responseText);
|
|
270
|
+
}
|
|
271
|
+
catch {
|
|
272
|
+
// Parse form-urlencoded response
|
|
273
|
+
const tokenParams = new URLSearchParams(responseText);
|
|
274
|
+
const accessToken = tokenParams.get('access_token');
|
|
275
|
+
const tokenType = tokenParams.get('token_type') || 'Bearer';
|
|
276
|
+
const expiresIn = tokenParams.get('expires_in');
|
|
277
|
+
const refreshToken = tokenParams.get('refresh_token');
|
|
278
|
+
const scope = tokenParams.get('scope');
|
|
279
|
+
if (!accessToken) {
|
|
280
|
+
// Check for error in response
|
|
281
|
+
const error = tokenParams.get('error');
|
|
282
|
+
const errorDescription = tokenParams.get('error_description');
|
|
283
|
+
throw new Error(`Token exchange failed: ${error || 'no_access_token'} - ${errorDescription || responseText}`);
|
|
284
|
+
}
|
|
285
|
+
return {
|
|
286
|
+
access_token: accessToken,
|
|
287
|
+
token_type: tokenType,
|
|
288
|
+
expires_in: expiresIn ? parseInt(expiresIn, 10) : undefined,
|
|
289
|
+
refresh_token: refreshToken || undefined,
|
|
290
|
+
scope: scope || undefined,
|
|
291
|
+
};
|
|
240
292
|
}
|
|
241
|
-
return (await response.json());
|
|
242
293
|
}
|
|
243
294
|
/**
|
|
244
295
|
* Refresh an access token using a refresh token.
|
|
@@ -265,26 +316,75 @@ export class MCPOAuthProvider {
|
|
|
265
316
|
params.append('audience', config.audiences.join(' '));
|
|
266
317
|
}
|
|
267
318
|
// Add resource parameter for MCP OAuth spec compliance
|
|
268
|
-
//
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
319
|
+
// Only add if we have an MCP server URL (indicates MCP OAuth flow, not standard OAuth)
|
|
320
|
+
if (mcpServerUrl) {
|
|
321
|
+
try {
|
|
322
|
+
params.append('resource', OAuthUtils.buildResourceParameter(mcpServerUrl));
|
|
323
|
+
}
|
|
324
|
+
catch (error) {
|
|
325
|
+
console.warn(`Could not add resource parameter: ${getErrorMessage(error)}`);
|
|
326
|
+
}
|
|
275
327
|
}
|
|
276
328
|
const response = await fetch(tokenUrl, {
|
|
277
329
|
method: 'POST',
|
|
278
330
|
headers: {
|
|
279
331
|
'Content-Type': 'application/x-www-form-urlencoded',
|
|
332
|
+
Accept: 'application/json, application/x-www-form-urlencoded',
|
|
280
333
|
},
|
|
281
334
|
body: params.toString(),
|
|
282
335
|
});
|
|
336
|
+
const responseText = await response.text();
|
|
337
|
+
const contentType = response.headers.get('content-type') || '';
|
|
283
338
|
if (!response.ok) {
|
|
284
|
-
|
|
285
|
-
|
|
339
|
+
// Try to parse error from form-urlencoded response
|
|
340
|
+
let errorMessage = null;
|
|
341
|
+
try {
|
|
342
|
+
const errorParams = new URLSearchParams(responseText);
|
|
343
|
+
const error = errorParams.get('error');
|
|
344
|
+
const errorDescription = errorParams.get('error_description');
|
|
345
|
+
if (error) {
|
|
346
|
+
errorMessage = `Token refresh failed: ${error} - ${errorDescription || 'No description'}`;
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
catch {
|
|
350
|
+
// Fall back to raw error
|
|
351
|
+
}
|
|
352
|
+
throw new Error(errorMessage ||
|
|
353
|
+
`Token refresh failed: ${response.status} - ${responseText}`);
|
|
354
|
+
}
|
|
355
|
+
// Log unexpected content types for debugging
|
|
356
|
+
if (!contentType.includes('application/json') &&
|
|
357
|
+
!contentType.includes('application/x-www-form-urlencoded')) {
|
|
358
|
+
console.warn(`Token refresh endpoint returned unexpected content-type: ${contentType}. ` +
|
|
359
|
+
`Expected application/json or application/x-www-form-urlencoded. ` +
|
|
360
|
+
`Will attempt to parse response.`);
|
|
361
|
+
}
|
|
362
|
+
// Try to parse as JSON first, fall back to form-urlencoded
|
|
363
|
+
try {
|
|
364
|
+
return JSON.parse(responseText);
|
|
365
|
+
}
|
|
366
|
+
catch {
|
|
367
|
+
// Parse form-urlencoded response
|
|
368
|
+
const tokenParams = new URLSearchParams(responseText);
|
|
369
|
+
const accessToken = tokenParams.get('access_token');
|
|
370
|
+
const tokenType = tokenParams.get('token_type') || 'Bearer';
|
|
371
|
+
const expiresIn = tokenParams.get('expires_in');
|
|
372
|
+
const refreshToken = tokenParams.get('refresh_token');
|
|
373
|
+
const scope = tokenParams.get('scope');
|
|
374
|
+
if (!accessToken) {
|
|
375
|
+
// Check for error in response
|
|
376
|
+
const error = tokenParams.get('error');
|
|
377
|
+
const errorDescription = tokenParams.get('error_description');
|
|
378
|
+
throw new Error(`Token refresh failed: ${error || 'unknown_error'} - ${errorDescription || responseText}`);
|
|
379
|
+
}
|
|
380
|
+
return {
|
|
381
|
+
access_token: accessToken,
|
|
382
|
+
token_type: tokenType,
|
|
383
|
+
expires_in: expiresIn ? parseInt(expiresIn, 10) : undefined,
|
|
384
|
+
refresh_token: refreshToken || undefined,
|
|
385
|
+
scope: scope || undefined,
|
|
386
|
+
};
|
|
286
387
|
}
|
|
287
|
-
return (await response.json());
|
|
288
388
|
}
|
|
289
389
|
/**
|
|
290
390
|
* Perform the full OAuth authorization code flow with PKCE.
|
|
@@ -298,39 +398,51 @@ export class MCPOAuthProvider {
|
|
|
298
398
|
// If no authorization URL is provided, try to discover OAuth configuration
|
|
299
399
|
if (!config.authorizationUrl && mcpServerUrl) {
|
|
300
400
|
console.log('No authorization URL provided, attempting OAuth discovery...');
|
|
301
|
-
//
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
401
|
+
// First check if the server requires authentication via WWW-Authenticate header
|
|
402
|
+
try {
|
|
403
|
+
const headers = OAuthUtils.isSSEEndpoint(mcpServerUrl)
|
|
404
|
+
? { Accept: 'text/event-stream' }
|
|
405
|
+
: { Accept: 'application/json' };
|
|
406
|
+
const response = await fetch(mcpServerUrl, {
|
|
407
|
+
method: 'HEAD',
|
|
408
|
+
headers,
|
|
409
|
+
});
|
|
410
|
+
if (response.status === 401 || response.status === 307) {
|
|
411
|
+
const wwwAuthenticate = response.headers.get('www-authenticate');
|
|
412
|
+
if (wwwAuthenticate) {
|
|
413
|
+
const discoveredConfig = await OAuthUtils.discoverOAuthFromWWWAuthenticate(wwwAuthenticate);
|
|
414
|
+
if (discoveredConfig) {
|
|
415
|
+
// Merge discovered config with existing config, preserving clientId and clientSecret
|
|
416
|
+
config = {
|
|
417
|
+
...config,
|
|
418
|
+
authorizationUrl: discoveredConfig.authorizationUrl,
|
|
419
|
+
tokenUrl: discoveredConfig.tokenUrl,
|
|
420
|
+
scopes: discoveredConfig.scopes || config.scopes || [],
|
|
421
|
+
// Preserve existing client credentials
|
|
422
|
+
clientId: config.clientId,
|
|
423
|
+
clientSecret: config.clientSecret,
|
|
424
|
+
};
|
|
321
425
|
}
|
|
322
426
|
}
|
|
323
427
|
}
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
}
|
|
428
|
+
}
|
|
429
|
+
catch (error) {
|
|
430
|
+
console.debug(`Failed to check endpoint for authentication requirements: ${getErrorMessage(error)}`);
|
|
327
431
|
}
|
|
328
432
|
// If we still don't have OAuth config, try the standard discovery
|
|
329
433
|
if (!config.authorizationUrl) {
|
|
330
434
|
const discoveredConfig = await this.discoverOAuthFromMCPServer(mcpServerUrl);
|
|
331
435
|
if (discoveredConfig) {
|
|
332
|
-
config
|
|
333
|
-
|
|
436
|
+
// Merge discovered config with existing config, preserving clientId and clientSecret
|
|
437
|
+
config = {
|
|
438
|
+
...config,
|
|
439
|
+
authorizationUrl: discoveredConfig.authorizationUrl,
|
|
440
|
+
tokenUrl: discoveredConfig.tokenUrl,
|
|
441
|
+
scopes: discoveredConfig.scopes || config.scopes || [],
|
|
442
|
+
// Preserve existing client credentials
|
|
443
|
+
clientId: config.clientId,
|
|
444
|
+
clientSecret: config.clientSecret,
|
|
445
|
+
};
|
|
334
446
|
}
|
|
335
447
|
else {
|
|
336
448
|
throw new Error('Failed to discover OAuth configuration from MCP server');
|
|
@@ -404,9 +516,12 @@ export class MCPOAuthProvider {
|
|
|
404
516
|
// Exchange code for tokens
|
|
405
517
|
const tokenResponse = await this.exchangeCodeForToken(config, code, pkceParams.codeVerifier, mcpServerUrl);
|
|
406
518
|
// Convert to our token format
|
|
519
|
+
if (!tokenResponse.access_token) {
|
|
520
|
+
throw new Error('No access token received from token endpoint');
|
|
521
|
+
}
|
|
407
522
|
const token = {
|
|
408
523
|
accessToken: tokenResponse.access_token,
|
|
409
|
-
tokenType: tokenResponse.token_type,
|
|
524
|
+
tokenType: tokenResponse.token_type || 'Bearer',
|
|
410
525
|
refreshToken: tokenResponse.refresh_token,
|
|
411
526
|
scope: tokenResponse.scope,
|
|
412
527
|
};
|
|
@@ -419,11 +534,14 @@ export class MCPOAuthProvider {
|
|
|
419
534
|
console.log('Authentication successful! Token saved.');
|
|
420
535
|
// Verify token was saved
|
|
421
536
|
const savedToken = await MCPOAuthTokenStorage.getToken(serverName);
|
|
422
|
-
if (savedToken) {
|
|
423
|
-
|
|
537
|
+
if (savedToken && savedToken.token && savedToken.token.accessToken) {
|
|
538
|
+
const tokenPreview = savedToken.token.accessToken.length > 20
|
|
539
|
+
? `${savedToken.token.accessToken.substring(0, 20)}...`
|
|
540
|
+
: '[token]';
|
|
541
|
+
console.log(`Token verification successful: ${tokenPreview}`);
|
|
424
542
|
}
|
|
425
543
|
else {
|
|
426
|
-
console.error('Token verification failed: token not found after save');
|
|
544
|
+
console.error('Token verification failed: token not found or invalid after save');
|
|
427
545
|
}
|
|
428
546
|
}
|
|
429
547
|
catch (saveError) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-provider.js","sourceRoot":"","sources":["../../../src/mcp/oauth-provider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"oauth-provider.js","sourceRoot":"","sources":["../../../src/mcp/oauth-provider.ts"],"names":[],"mappings":"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"}
|