@atlasharness/atlascode 0.1.73 → 0.1.74
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/cli.js +149 -236
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -166835,7 +166835,7 @@ var init_addDirPluginSettings = __esm(() => {
|
|
|
166835
166835
|
});
|
|
166836
166836
|
|
|
166837
166837
|
// src/tui/entrypoints/sdk/coreSchemas.ts
|
|
166838
|
-
var ModelUsageSchema, OutputFormatTypeSchema, BaseOutputFormatSchema, JsonSchemaOutputFormatSchema, OutputFormatSchema, ApiKeySourceSchema, ConfigScopeSchema2, SdkBetaSchema, ThinkingAdaptiveSchema, ThinkingEnabledSchema, ThinkingDisabledSchema, ThinkingConfigSchema, McpStdioServerConfigSchema2, McpSSEServerConfigSchema2, McpHttpServerConfigSchema, McpSdkServerConfigSchema, McpServerConfigForProcessTransportSchema,
|
|
166838
|
+
var ModelUsageSchema, OutputFormatTypeSchema, BaseOutputFormatSchema, JsonSchemaOutputFormatSchema, OutputFormatSchema, ApiKeySourceSchema, ConfigScopeSchema2, SdkBetaSchema, ThinkingAdaptiveSchema, ThinkingEnabledSchema, ThinkingDisabledSchema, ThinkingConfigSchema, McpStdioServerConfigSchema2, McpSSEServerConfigSchema2, McpHttpServerConfigSchema, McpSdkServerConfigSchema, McpServerConfigForProcessTransportSchema, McpServerStatusConfigSchema, McpServerStatusSchema, McpSetServersResultSchema, PermissionUpdateDestinationSchema, PermissionBehaviorSchema, PreToolUsePermissionDecisionSchema, PermissionRuleValueSchema, PermissionUpdateSchema, PermissionDecisionClassificationSchema, PermissionResultSchema, PermissionModeSchema2, HOOK_EVENTS2, HookEventSchema, BaseHookInputSchema, PreToolUseHookInputSchema, PermissionRequestHookInputSchema, PostToolUseHookInputSchema, PostToolUseFailureHookInputSchema, PermissionDeniedHookInputSchema, NotificationHookInputSchema, UserPromptSubmitHookInputSchema, SessionStartHookInputSchema, PreModelSwitchHookInputSchema, PostModelSwitchHookInputSchema, SetupHookInputSchema, StopHookInputSchema, StopFailureHookInputSchema, SubagentStartHookInputSchema, SubagentStopHookInputSchema, PreCompactHookInputSchema, PostCompactHookInputSchema, TeammateIdleHookInputSchema, TaskCreatedHookInputSchema, TaskCompletedHookInputSchema, ElicitationHookInputSchema, ElicitationResultHookInputSchema, CONFIG_CHANGE_SOURCES, ConfigChangeHookInputSchema, INSTRUCTIONS_LOAD_REASONS, INSTRUCTIONS_MEMORY_TYPES, InstructionsLoadedHookInputSchema, WorktreeCreateHookInputSchema, WorktreeRemoveHookInputSchema, CwdChangedHookInputSchema, FileChangedHookInputSchema, EXIT_REASONS, ExitReasonSchema, SessionEndHookInputSchema, HookInputSchema, AsyncHookJSONOutputSchema, PreToolUseHookSpecificOutputSchema, UserPromptSubmitHookSpecificOutputSchema, SessionStartHookSpecificOutputSchema, SetupHookSpecificOutputSchema, SubagentStartHookSpecificOutputSchema, PostToolUseHookSpecificOutputSchema, PostToolUseFailureHookSpecificOutputSchema, PermissionDeniedHookSpecificOutputSchema, NotificationHookSpecificOutputSchema, PermissionRequestHookSpecificOutputSchema, CwdChangedHookSpecificOutputSchema, FileChangedHookSpecificOutputSchema, SyncHookJSONOutputSchema, ElicitationHookSpecificOutputSchema, ElicitationResultHookSpecificOutputSchema, WorktreeCreateHookSpecificOutputSchema, HookJSONOutputSchema, PromptRequestOptionSchema, PromptRequestSchema, PromptResponseSchema, SlashCommandSchema, AgentInfoSchema, ModelInfoSchema, AccountInfoSchema, AgentMcpServerSpecSchema, AgentDefinitionSchema, SettingSourceSchema, SdkPluginConfigSchema, RewindFilesResultSchema, APIUserMessagePlaceholder, APIAssistantMessagePlaceholder, RawMessageStreamEventPlaceholder, UUIDPlaceholder, NonNullableUsagePlaceholder, SDKAssistantMessageErrorSchema, SDKStatusSchema, SDKUserMessageContentSchema, SDKUserMessageSchema, SDKUserMessageReplaySchema, SDKRateLimitInfoSchema, SDKAssistantMessageSchema, SDKRateLimitEventSchema, SDKStreamlinedTextMessageSchema, SDKStreamlinedToolUseSummaryMessageSchema, SDKPermissionDenialSchema, SDKResultSuccessSchema, SDKResultErrorSchema, SDKResultMessageSchema, SDKSystemMessageSchema, SDKPartialAssistantMessageSchema, SDKCompactBoundaryMessageSchema, SDKStatusMessageSchema, SDKPostTurnSummaryMessageSchema, SDKAPIRetryMessageSchema, SDKLocalCommandOutputMessageSchema, SDKHookStartedMessageSchema, SDKHookProgressMessageSchema, SDKHookResponseMessageSchema, SDKToolProgressMessageSchema, SDKAuthStatusMessageSchema, SDKFilesPersistedEventSchema, SDKTaskNotificationMessageSchema, SDKTaskStartedMessageSchema, SDKSessionStateChangedMessageSchema, SDKTaskProgressMessageSchema, SDKToolUseSummaryMessageSchema, SDKElicitationCompleteMessageSchema, SDKPromptSuggestionMessageSchema, SDKSessionInfoSchema, SDKMessageSchema, FastModeStateSchema;
|
|
166839
166839
|
var init_coreSchemas = __esm(() => {
|
|
166840
166840
|
init_v4();
|
|
166841
166841
|
ModelUsageSchema = lazySchema2(() => object({
|
|
@@ -166900,15 +166900,7 @@ var init_coreSchemas = __esm(() => {
|
|
|
166900
166900
|
McpHttpServerConfigSchema(),
|
|
166901
166901
|
McpSdkServerConfigSchema()
|
|
166902
166902
|
]));
|
|
166903
|
-
|
|
166904
|
-
type: literal("claudeai-proxy"),
|
|
166905
|
-
url: string2(),
|
|
166906
|
-
id: string2()
|
|
166907
|
-
}));
|
|
166908
|
-
McpServerStatusConfigSchema = lazySchema2(() => union([
|
|
166909
|
-
McpServerConfigForProcessTransportSchema(),
|
|
166910
|
-
McpClaudeAIProxyServerConfigSchema()
|
|
166911
|
-
]));
|
|
166903
|
+
McpServerStatusConfigSchema = lazySchema2(() => McpServerConfigForProcessTransportSchema());
|
|
166912
166904
|
McpServerStatusSchema = lazySchema2(() => object({
|
|
166913
166905
|
name: string2().describe("Server name as configured"),
|
|
166914
166906
|
status: _enum(["connected", "failed", "needs-auth", "pending", "disabled"]).describe("Current connection status"),
|
|
@@ -167965,7 +167957,7 @@ var init_hooks3 = __esm(() => {
|
|
|
167965
167957
|
});
|
|
167966
167958
|
|
|
167967
167959
|
// src/tui/services/mcp/types.ts
|
|
167968
|
-
var ConfigScopeSchema3, TransportSchema2, McpStdioServerConfigSchema3, McpXaaConfigSchema2, McpOAuthConfigSchema2, McpSSEServerConfigSchema3, McpSSEIDEServerConfigSchema, McpWebSocketIDEServerConfigSchema, McpHTTPServerConfigSchema2, McpWebSocketServerConfigSchema2, McpSdkServerConfigSchema2,
|
|
167960
|
+
var ConfigScopeSchema3, TransportSchema2, McpStdioServerConfigSchema3, McpXaaConfigSchema2, McpOAuthConfigSchema2, McpSSEServerConfigSchema3, McpSSEIDEServerConfigSchema, McpWebSocketIDEServerConfigSchema, McpHTTPServerConfigSchema2, McpWebSocketServerConfigSchema2, McpSdkServerConfigSchema2, McpServerConfigSchema2, McpJsonConfigSchema2;
|
|
167969
167961
|
var init_types9 = __esm(() => {
|
|
167970
167962
|
init_v4();
|
|
167971
167963
|
ConfigScopeSchema3 = lazySchema2(() => _enum([
|
|
@@ -167991,6 +167983,9 @@ var init_types9 = __esm(() => {
|
|
|
167991
167983
|
authServerMetadataUrl: string2().url().startsWith("https://", {
|
|
167992
167984
|
message: "authServerMetadataUrl must use https://"
|
|
167993
167985
|
}).optional(),
|
|
167986
|
+
clientMetadataUrl: string2().url().startsWith("https://", {
|
|
167987
|
+
message: "clientMetadataUrl must use https://"
|
|
167988
|
+
}).optional(),
|
|
167994
167989
|
xaa: McpXaaConfigSchema2().optional()
|
|
167995
167990
|
}));
|
|
167996
167991
|
McpSSEServerConfigSchema3 = lazySchema2(() => object({
|
|
@@ -168030,11 +168025,6 @@ var init_types9 = __esm(() => {
|
|
|
168030
168025
|
type: literal("sdk"),
|
|
168031
168026
|
name: string2()
|
|
168032
168027
|
}));
|
|
168033
|
-
McpClaudeAIProxyServerConfigSchema2 = lazySchema2(() => object({
|
|
168034
|
-
type: literal("claudeai-proxy"),
|
|
168035
|
-
url: string2(),
|
|
168036
|
-
id: string2()
|
|
168037
|
-
}));
|
|
168038
168028
|
McpServerConfigSchema2 = lazySchema2(() => union([
|
|
168039
168029
|
McpStdioServerConfigSchema3(),
|
|
168040
168030
|
McpSSEServerConfigSchema3(),
|
|
@@ -168042,8 +168032,7 @@ var init_types9 = __esm(() => {
|
|
|
168042
168032
|
McpWebSocketIDEServerConfigSchema(),
|
|
168043
168033
|
McpHTTPServerConfigSchema2(),
|
|
168044
168034
|
McpWebSocketServerConfigSchema2(),
|
|
168045
|
-
McpSdkServerConfigSchema2()
|
|
168046
|
-
McpClaudeAIProxyServerConfigSchema2()
|
|
168035
|
+
McpSdkServerConfigSchema2()
|
|
168047
168036
|
]));
|
|
168048
168037
|
McpJsonConfigSchema2 = lazySchema2(() => object({
|
|
168049
168038
|
mcpServers: record(string2(), McpServerConfigSchema2())
|
|
@@ -187932,20 +187921,6 @@ var init_p_map = __esm(() => {
|
|
|
187932
187921
|
pMapSkip = Symbol("skip");
|
|
187933
187922
|
});
|
|
187934
187923
|
|
|
187935
|
-
// src/tui/constants/oauth.ts
|
|
187936
|
-
function getOauthConfig() {
|
|
187937
|
-
return PROD_OAUTH_CONFIG;
|
|
187938
|
-
}
|
|
187939
|
-
var PROD_OAUTH_CONFIG, MCP_CLIENT_METADATA_URL = undefined;
|
|
187940
|
-
var init_oauth = __esm(() => {
|
|
187941
|
-
PROD_OAUTH_CONFIG = {
|
|
187942
|
-
BASE_API_URL: undefined,
|
|
187943
|
-
CLAUDE_AI_ORIGIN: undefined,
|
|
187944
|
-
MCP_PROXY_URL: undefined,
|
|
187945
|
-
MCP_PROXY_PATH: "/v1/mcp/{server_id}"
|
|
187946
|
-
};
|
|
187947
|
-
});
|
|
187948
|
-
|
|
187949
187924
|
// src/tui/keybindings/defaultBindings.ts
|
|
187950
187925
|
var IMAGE_PASTE_KEY, SUPPORTS_TERMINAL_VT_MODE, MODE_CYCLE_KEY, DEFAULT_BINDINGS;
|
|
187951
187926
|
var init_defaultBindings = __esm(() => {
|
|
@@ -193435,7 +193410,6 @@ function resolvePluginMcpEnvironment(config, plugin, userConfig, errors, pluginN
|
|
|
193435
193410
|
case "sse-ide":
|
|
193436
193411
|
case "ws-ide":
|
|
193437
193412
|
case "sdk":
|
|
193438
|
-
case "claudeai-proxy":
|
|
193439
193413
|
resolved = config;
|
|
193440
193414
|
break;
|
|
193441
193415
|
}
|
|
@@ -193833,9 +193807,6 @@ function expandEnvVars(config) {
|
|
|
193833
193807
|
case "sdk":
|
|
193834
193808
|
expanded = config;
|
|
193835
193809
|
break;
|
|
193836
|
-
case "claudeai-proxy":
|
|
193837
|
-
expanded = config;
|
|
193838
|
-
break;
|
|
193839
193810
|
}
|
|
193840
193811
|
return {
|
|
193841
193812
|
expanded,
|
|
@@ -195907,12 +195878,34 @@ class ClaudeAuthProvider {
|
|
|
195907
195878
|
return metadata;
|
|
195908
195879
|
}
|
|
195909
195880
|
get clientMetadataUrl() {
|
|
195881
|
+
const describe = (raw) => {
|
|
195882
|
+
try {
|
|
195883
|
+
const u = new URL(raw);
|
|
195884
|
+
return `${u.protocol}//${u.host}${u.pathname}`;
|
|
195885
|
+
} catch {
|
|
195886
|
+
return `<invalid url, ${raw.length} chars>`;
|
|
195887
|
+
}
|
|
195888
|
+
};
|
|
195910
195889
|
const override = process.env.MCP_OAUTH_CLIENT_METADATA_URL;
|
|
195911
195890
|
if (override) {
|
|
195912
|
-
|
|
195913
|
-
|
|
195891
|
+
let valid = false;
|
|
195892
|
+
try {
|
|
195893
|
+
valid = new URL(override).protocol === "https:";
|
|
195894
|
+
} catch {
|
|
195895
|
+
valid = false;
|
|
195896
|
+
}
|
|
195897
|
+
if (valid) {
|
|
195898
|
+
logMCPDebug(this.serverName, `Using CIMD URL from env: ${describe(override)}`);
|
|
195899
|
+
return override;
|
|
195900
|
+
}
|
|
195901
|
+
logMCPDebug(this.serverName, `Ignoring invalid MCP_OAUTH_CLIENT_METADATA_URL env value: ${describe(override)}`);
|
|
195914
195902
|
}
|
|
195915
|
-
|
|
195903
|
+
const perServer = this.serverConfig.oauth?.clientMetadataUrl;
|
|
195904
|
+
if (perServer) {
|
|
195905
|
+
logMCPDebug(this.serverName, `Using CIMD URL from server config: ${describe(perServer)}`);
|
|
195906
|
+
return perServer;
|
|
195907
|
+
}
|
|
195908
|
+
return;
|
|
195916
195909
|
}
|
|
195917
195910
|
setMetadata(metadata) {
|
|
195918
195911
|
this._metadata = metadata;
|
|
@@ -196528,7 +196521,6 @@ var init_auth3 = __esm(() => {
|
|
|
196528
196521
|
init_errors5();
|
|
196529
196522
|
init_auth();
|
|
196530
196523
|
init_axios2();
|
|
196531
|
-
init_oauth();
|
|
196532
196524
|
init_browser();
|
|
196533
196525
|
init_envUtils2();
|
|
196534
196526
|
init_errors4();
|
|
@@ -196597,14 +196589,6 @@ function createMcpAuthTool(serverName, config) {
|
|
|
196597
196589
|
return { behavior: "allow", updatedInput: input };
|
|
196598
196590
|
},
|
|
196599
196591
|
async call(_input, context) {
|
|
196600
|
-
if (config.type === "claudeai-proxy") {
|
|
196601
|
-
return {
|
|
196602
|
-
data: {
|
|
196603
|
-
status: "unsupported",
|
|
196604
|
-
message: `This is a claude.ai MCP connector. Ask the user to run /mcp and select "${serverName}" to authenticate.`
|
|
196605
|
-
}
|
|
196606
|
-
};
|
|
196607
|
-
}
|
|
196608
196592
|
if (config.type !== "sse" && config.type !== "http") {
|
|
196609
196593
|
return {
|
|
196610
196594
|
data: {
|
|
@@ -197312,6 +197296,53 @@ function createChildAbortController2(parent, maxListeners) {
|
|
|
197312
197296
|
var DEFAULT_MAX_LISTENERS2 = 50;
|
|
197313
197297
|
var init_abortController2 = () => {};
|
|
197314
197298
|
|
|
197299
|
+
// src/tui/utils/codeIndexing.ts
|
|
197300
|
+
function detectCodeIndexingFromMcpServerName(serverName) {
|
|
197301
|
+
for (const { pattern, tool } of MCP_SERVER_PATTERNS) {
|
|
197302
|
+
if (pattern.test(serverName)) {
|
|
197303
|
+
return tool;
|
|
197304
|
+
}
|
|
197305
|
+
}
|
|
197306
|
+
return;
|
|
197307
|
+
}
|
|
197308
|
+
var MCP_SERVER_PATTERNS;
|
|
197309
|
+
var init_codeIndexing = __esm(() => {
|
|
197310
|
+
MCP_SERVER_PATTERNS = [
|
|
197311
|
+
{ pattern: /^sourcegraph$/i, tool: "sourcegraph" },
|
|
197312
|
+
{ pattern: /^cody$/i, tool: "cody" },
|
|
197313
|
+
{ pattern: /^openctx$/i, tool: "openctx" },
|
|
197314
|
+
{ pattern: /^aider$/i, tool: "aider" },
|
|
197315
|
+
{ pattern: /^continue$/i, tool: "continue" },
|
|
197316
|
+
{ pattern: /^github[-_]?copilot$/i, tool: "github-copilot" },
|
|
197317
|
+
{ pattern: /^copilot$/i, tool: "github-copilot" },
|
|
197318
|
+
{ pattern: /^cursor$/i, tool: "cursor" },
|
|
197319
|
+
{ pattern: /^tabby$/i, tool: "tabby" },
|
|
197320
|
+
{ pattern: /^codeium$/i, tool: "codeium" },
|
|
197321
|
+
{ pattern: /^tabnine$/i, tool: "tabnine" },
|
|
197322
|
+
{ pattern: /^augment[-_]?code$/i, tool: "augment" },
|
|
197323
|
+
{ pattern: /^augment$/i, tool: "augment" },
|
|
197324
|
+
{ pattern: /^windsurf$/i, tool: "windsurf" },
|
|
197325
|
+
{ pattern: /^aide$/i, tool: "aide" },
|
|
197326
|
+
{ pattern: /^codestory$/i, tool: "aide" },
|
|
197327
|
+
{ pattern: /^pieces$/i, tool: "pieces" },
|
|
197328
|
+
{ pattern: /^qodo$/i, tool: "qodo" },
|
|
197329
|
+
{ pattern: /^amazon[-_]?q$/i, tool: "amazon-q" },
|
|
197330
|
+
{ pattern: /^gemini[-_]?code[-_]?assist$/i, tool: "gemini" },
|
|
197331
|
+
{ pattern: /^gemini$/i, tool: "gemini" },
|
|
197332
|
+
{ pattern: /^hound$/i, tool: "hound" },
|
|
197333
|
+
{ pattern: /^seagoat$/i, tool: "seagoat" },
|
|
197334
|
+
{ pattern: /^bloop$/i, tool: "bloop" },
|
|
197335
|
+
{ pattern: /^gitloop$/i, tool: "gitloop" },
|
|
197336
|
+
{ pattern: /^claude[-_]?context$/i, tool: "claude-context" },
|
|
197337
|
+
{ pattern: /^code[-_]?index[-_]?mcp$/i, tool: "code-index-mcp" },
|
|
197338
|
+
{ pattern: /^code[-_]?index$/i, tool: "code-index-mcp" },
|
|
197339
|
+
{ pattern: /^local[-_]?code[-_]?search$/i, tool: "local-code-search" },
|
|
197340
|
+
{ pattern: /^codebase$/i, tool: "autodev-codebase" },
|
|
197341
|
+
{ pattern: /^autodev[-_]?codebase$/i, tool: "autodev-codebase" },
|
|
197342
|
+
{ pattern: /^code[-_]?context$/i, tool: "claude-context" }
|
|
197343
|
+
];
|
|
197344
|
+
});
|
|
197345
|
+
|
|
197315
197346
|
// src/tui/utils/authFileDescriptor.ts
|
|
197316
197347
|
import { mkdirSync as mkdirSync6, writeFileSync as writeFileSync5 } from "fs";
|
|
197317
197348
|
import { join as join82 } from "path";
|
|
@@ -197764,53 +197795,6 @@ var init_auth4 = __esm(() => {
|
|
|
197764
197795
|
DEFAULT_OTEL_HEADERS_DEBOUNCE_MS = 29 * 60 * 1000;
|
|
197765
197796
|
});
|
|
197766
197797
|
|
|
197767
|
-
// src/tui/utils/codeIndexing.ts
|
|
197768
|
-
function detectCodeIndexingFromMcpServerName(serverName) {
|
|
197769
|
-
for (const { pattern, tool } of MCP_SERVER_PATTERNS) {
|
|
197770
|
-
if (pattern.test(serverName)) {
|
|
197771
|
-
return tool;
|
|
197772
|
-
}
|
|
197773
|
-
}
|
|
197774
|
-
return;
|
|
197775
|
-
}
|
|
197776
|
-
var MCP_SERVER_PATTERNS;
|
|
197777
|
-
var init_codeIndexing = __esm(() => {
|
|
197778
|
-
MCP_SERVER_PATTERNS = [
|
|
197779
|
-
{ pattern: /^sourcegraph$/i, tool: "sourcegraph" },
|
|
197780
|
-
{ pattern: /^cody$/i, tool: "cody" },
|
|
197781
|
-
{ pattern: /^openctx$/i, tool: "openctx" },
|
|
197782
|
-
{ pattern: /^aider$/i, tool: "aider" },
|
|
197783
|
-
{ pattern: /^continue$/i, tool: "continue" },
|
|
197784
|
-
{ pattern: /^github[-_]?copilot$/i, tool: "github-copilot" },
|
|
197785
|
-
{ pattern: /^copilot$/i, tool: "github-copilot" },
|
|
197786
|
-
{ pattern: /^cursor$/i, tool: "cursor" },
|
|
197787
|
-
{ pattern: /^tabby$/i, tool: "tabby" },
|
|
197788
|
-
{ pattern: /^codeium$/i, tool: "codeium" },
|
|
197789
|
-
{ pattern: /^tabnine$/i, tool: "tabnine" },
|
|
197790
|
-
{ pattern: /^augment[-_]?code$/i, tool: "augment" },
|
|
197791
|
-
{ pattern: /^augment$/i, tool: "augment" },
|
|
197792
|
-
{ pattern: /^windsurf$/i, tool: "windsurf" },
|
|
197793
|
-
{ pattern: /^aide$/i, tool: "aide" },
|
|
197794
|
-
{ pattern: /^codestory$/i, tool: "aide" },
|
|
197795
|
-
{ pattern: /^pieces$/i, tool: "pieces" },
|
|
197796
|
-
{ pattern: /^qodo$/i, tool: "qodo" },
|
|
197797
|
-
{ pattern: /^amazon[-_]?q$/i, tool: "amazon-q" },
|
|
197798
|
-
{ pattern: /^gemini[-_]?code[-_]?assist$/i, tool: "gemini" },
|
|
197799
|
-
{ pattern: /^gemini$/i, tool: "gemini" },
|
|
197800
|
-
{ pattern: /^hound$/i, tool: "hound" },
|
|
197801
|
-
{ pattern: /^seagoat$/i, tool: "seagoat" },
|
|
197802
|
-
{ pattern: /^bloop$/i, tool: "bloop" },
|
|
197803
|
-
{ pattern: /^gitloop$/i, tool: "gitloop" },
|
|
197804
|
-
{ pattern: /^claude[-_]?context$/i, tool: "claude-context" },
|
|
197805
|
-
{ pattern: /^code[-_]?index[-_]?mcp$/i, tool: "code-index-mcp" },
|
|
197806
|
-
{ pattern: /^code[-_]?index$/i, tool: "code-index-mcp" },
|
|
197807
|
-
{ pattern: /^local[-_]?code[-_]?search$/i, tool: "local-code-search" },
|
|
197808
|
-
{ pattern: /^codebase$/i, tool: "autodev-codebase" },
|
|
197809
|
-
{ pattern: /^autodev[-_]?codebase$/i, tool: "autodev-codebase" },
|
|
197810
|
-
{ pattern: /^code[-_]?context$/i, tool: "claude-context" }
|
|
197811
|
-
];
|
|
197812
|
-
});
|
|
197813
|
-
|
|
197814
197798
|
// src/tui/utils/workloadContext.ts
|
|
197815
197799
|
import { AsyncLocalStorage as AsyncLocalStorage4 } from "async_hooks";
|
|
197816
197800
|
function getWorkload() {
|
|
@@ -209270,43 +209254,12 @@ function clearMcpAuthCache() {
|
|
|
209270
209254
|
function handleRemoteAuthFailure(name, serverRef, transportType) {
|
|
209271
209255
|
const label = {
|
|
209272
209256
|
sse: "SSE",
|
|
209273
|
-
http: "HTTP"
|
|
209274
|
-
"claudeai-proxy": "claude.ai proxy"
|
|
209257
|
+
http: "HTTP"
|
|
209275
209258
|
};
|
|
209276
209259
|
logMCPDebug(name, `Authentication required for ${label[transportType]} server`);
|
|
209277
209260
|
setMcpAuthCacheEntry(name);
|
|
209278
209261
|
return { name, type: "needs-auth", config: serverRef };
|
|
209279
209262
|
}
|
|
209280
|
-
function createClaudeAiProxyFetch(innerFetch) {
|
|
209281
|
-
return async (url, init) => {
|
|
209282
|
-
const doRequest = async () => {
|
|
209283
|
-
const currentTokens = getOAuthTokens();
|
|
209284
|
-
if (!currentTokens) {
|
|
209285
|
-
throw new Error("No claude.ai OAuth token available");
|
|
209286
|
-
}
|
|
209287
|
-
const headers = new Headers(init?.headers);
|
|
209288
|
-
headers.set("Authorization", `Bearer ${currentTokens.accessToken}`);
|
|
209289
|
-
const response = await innerFetch(url, { ...init, headers });
|
|
209290
|
-
return { response, sentToken: currentTokens.accessToken };
|
|
209291
|
-
};
|
|
209292
|
-
const { response, sentToken } = await doRequest();
|
|
209293
|
-
if (response.status !== 401) {
|
|
209294
|
-
return response;
|
|
209295
|
-
}
|
|
209296
|
-
const tokenChanged = false;
|
|
209297
|
-
if (!tokenChanged) {
|
|
209298
|
-
const now = getOAuthTokens()?.accessToken;
|
|
209299
|
-
if (!now || now === sentToken) {
|
|
209300
|
-
return response;
|
|
209301
|
-
}
|
|
209302
|
-
}
|
|
209303
|
-
try {
|
|
209304
|
-
return (await doRequest()).response;
|
|
209305
|
-
} catch {
|
|
209306
|
-
return response;
|
|
209307
|
-
}
|
|
209308
|
-
};
|
|
209309
|
-
}
|
|
209310
209263
|
async function createNodeWsClient(url, options) {
|
|
209311
209264
|
const wsModule = await Promise.resolve().then(() => (init_wrapper2(), {}));
|
|
209312
209265
|
const WS = wrapper_default;
|
|
@@ -209496,7 +209449,7 @@ async function getMcpToolsCommandsAndResources(onConnectionAttempt, mcpConfigs)
|
|
|
209496
209449
|
});
|
|
209497
209450
|
return;
|
|
209498
209451
|
}
|
|
209499
|
-
if ((config.type === "
|
|
209452
|
+
if ((config.type === "http" || config.type === "sse") && (await isMcpAuthCached(name) || hasMcpDiscoveryButNoToken(name, config))) {
|
|
209500
209453
|
logMCPDebug(name, `Skipping connection (cached needs-auth)`);
|
|
209501
209454
|
onConnectionAttempt({
|
|
209502
209455
|
client: { name, type: "needs-auth", config },
|
|
@@ -209978,7 +209931,7 @@ async function callMCPTool({
|
|
|
209978
209931
|
throw new McpAuthError(name, `MCP server "${name}" requires re-authorization (token expired)`);
|
|
209979
209932
|
}
|
|
209980
209933
|
const isSessionExpired = isMcpSessionExpiredError(e);
|
|
209981
|
-
const isConnectionClosedOnHttp = "code" in e && e.code === -32000 && e.message.includes("Connection closed") &&
|
|
209934
|
+
const isConnectionClosedOnHttp = "code" in e && e.code === -32000 && e.message.includes("Connection closed") && config.type === "http";
|
|
209982
209935
|
if (isSessionExpired || isConnectionClosedOnHttp) {
|
|
209983
209936
|
logMCPDebug(name, `MCP session expired during tool call (${isSessionExpired ? "404/-32001" : "connection closed"}), clearing connection cache for re-initialization`);
|
|
209984
209937
|
await clearServerCache(name, config);
|
|
@@ -210014,14 +209967,12 @@ var init_client4 = __esm(() => {
|
|
|
210014
209967
|
init_zipObject();
|
|
210015
209968
|
init_p_map();
|
|
210016
209969
|
init_bootstrap();
|
|
210017
|
-
init_oauth();
|
|
210018
209970
|
init_Tool();
|
|
210019
209971
|
init_ListMcpResourcesTool();
|
|
210020
209972
|
init_MCPTool();
|
|
210021
209973
|
init_McpAuthTool();
|
|
210022
209974
|
init_ReadMcpResourceTool();
|
|
210023
209975
|
init_abortController2();
|
|
210024
|
-
init_auth4();
|
|
210025
209976
|
init_cleanupRegistry3();
|
|
210026
209977
|
init_codeIndexing();
|
|
210027
209978
|
init_debug();
|
|
@@ -210242,29 +210193,6 @@ var init_client4 = __esm(() => {
|
|
|
210242
210193
|
logMCPDebug(name, `HTTP transport created successfully`);
|
|
210243
210194
|
} else if (serverRef.type === "sdk") {
|
|
210244
210195
|
throw new Error("SDK servers should be handled in print.ts");
|
|
210245
|
-
} else if (serverRef.type === "claudeai-proxy") {
|
|
210246
|
-
logMCPDebug(name, `Initializing claude.ai proxy transport for server ${serverRef.id}`);
|
|
210247
|
-
const tokens = getOAuthTokens();
|
|
210248
|
-
if (!tokens) {
|
|
210249
|
-
throw new Error("No claude.ai OAuth token found");
|
|
210250
|
-
}
|
|
210251
|
-
const oauthConfig = getOauthConfig();
|
|
210252
|
-
const proxyUrl = `${oauthConfig.MCP_PROXY_URL}${oauthConfig.MCP_PROXY_PATH.replace("{server_id}", serverRef.id)}`;
|
|
210253
|
-
logMCPDebug(name, `Using claude.ai proxy at ${proxyUrl}`);
|
|
210254
|
-
const fetchWithAuth = createClaudeAiProxyFetch(globalThis.fetch);
|
|
210255
|
-
const proxyOptions = getProxyFetchOptions();
|
|
210256
|
-
const transportOptions = {
|
|
210257
|
-
fetch: wrapFetchWithTimeout(fetchWithAuth),
|
|
210258
|
-
requestInit: {
|
|
210259
|
-
...proxyOptions,
|
|
210260
|
-
headers: {
|
|
210261
|
-
"User-Agent": getMCPUserAgent(),
|
|
210262
|
-
"X-Mcp-Client-Session-Id": getSessionId()
|
|
210263
|
-
}
|
|
210264
|
-
}
|
|
210265
|
-
};
|
|
210266
|
-
transport = new StreamableHTTPClientTransport(new URL(proxyUrl), transportOptions);
|
|
210267
|
-
logMCPDebug(name, `claude.ai proxy transport created successfully`);
|
|
210268
210196
|
} else if (feature("CHICAGO_MCP") && (serverRef.type === "stdio" || !serverRef.type) && isComputerUseMCPServer2(name)) {
|
|
210269
210197
|
await Promise.resolve().then(() => init_mcpServer());
|
|
210270
210198
|
await Promise.resolve();
|
|
@@ -210386,13 +210314,6 @@ var init_client4 = __esm(() => {
|
|
|
210386
210314
|
if (error instanceof UnauthorizedError) {
|
|
210387
210315
|
return handleRemoteAuthFailure(name, serverRef, "http");
|
|
210388
210316
|
}
|
|
210389
|
-
} else if (serverRef.type === "claudeai-proxy" && error instanceof Error) {
|
|
210390
|
-
logMCPDebug(name, `claude.ai proxy connection failed after ${elapsed}ms: ${error.message}`);
|
|
210391
|
-
logMCPError(name, error);
|
|
210392
|
-
const errorCode = error.code;
|
|
210393
|
-
if (errorCode === 401) {
|
|
210394
|
-
return handleRemoteAuthFailure(name, serverRef, "claudeai-proxy");
|
|
210395
|
-
}
|
|
210396
210317
|
} else if (serverRef.type === "sse-ide" || serverRef.type === "ws-ide") {}
|
|
210397
210318
|
if (inProcessServer) {
|
|
210398
210319
|
inProcessServer.close().catch(() => {});
|
|
@@ -210474,7 +210395,7 @@ var init_client4 = __esm(() => {
|
|
|
210474
210395
|
logMCPDebug(name, `Connection error: ${error.message}`);
|
|
210475
210396
|
}
|
|
210476
210397
|
}
|
|
210477
|
-
if (
|
|
210398
|
+
if (transportType === "http" && isMcpSessionExpiredError(error)) {
|
|
210478
210399
|
logMCPDebug(name, `MCP session expired (server returned 404 with session-not-found), triggering reconnection`);
|
|
210479
210400
|
closeTransportAndRejectPending("session expired");
|
|
210480
210401
|
if (originalOnerror) {
|
|
@@ -210482,7 +210403,7 @@ var init_client4 = __esm(() => {
|
|
|
210482
210403
|
}
|
|
210483
210404
|
return;
|
|
210484
210405
|
}
|
|
210485
|
-
if (transportType === "sse" || transportType === "http"
|
|
210406
|
+
if (transportType === "sse" || transportType === "http") {
|
|
210486
210407
|
if (error.message.includes("Maximum reconnection attempts")) {
|
|
210487
210408
|
closeTransportAndRejectPending("SSE reconnection exhausted");
|
|
210488
210409
|
if (originalOnerror) {
|
|
@@ -347307,6 +347228,18 @@ var init_fileSuggestions = __esm(() => {
|
|
|
347307
347228
|
cachedTrackedDirs = [];
|
|
347308
347229
|
});
|
|
347309
347230
|
|
|
347231
|
+
// src/tui/constants/oauth.ts
|
|
347232
|
+
function getOauthConfig() {
|
|
347233
|
+
return PROD_OAUTH_CONFIG;
|
|
347234
|
+
}
|
|
347235
|
+
var PROD_OAUTH_CONFIG;
|
|
347236
|
+
var init_oauth = __esm(() => {
|
|
347237
|
+
PROD_OAUTH_CONFIG = {
|
|
347238
|
+
BASE_API_URL: undefined,
|
|
347239
|
+
CLAUDE_AI_ORIGIN: undefined
|
|
347240
|
+
};
|
|
347241
|
+
});
|
|
347242
|
+
|
|
347310
347243
|
// src/tui/services/api/sessionIngress.ts
|
|
347311
347244
|
function getOrCreateSequentialAppend(sessionId) {
|
|
347312
347245
|
let sequentialAppend = sequentialAppendBySession.get(sessionId);
|
|
@@ -368996,11 +368929,11 @@ function _temp419(a_0, b_0) {
|
|
|
368996
368929
|
function _temp323(a, b) {
|
|
368997
368930
|
return a.name.localeCompare(b.name);
|
|
368998
368931
|
}
|
|
368999
|
-
function _temp231(
|
|
369000
|
-
return
|
|
368932
|
+
function _temp231(_s_0) {
|
|
368933
|
+
return false;
|
|
369001
368934
|
}
|
|
369002
|
-
function _temp85(
|
|
369003
|
-
return
|
|
368935
|
+
function _temp85(_s) {
|
|
368936
|
+
return true;
|
|
369004
368937
|
}
|
|
369005
368938
|
var import_compiler_runtime154, import_react109, jsx_dev_runtime189, SCOPE_ORDER;
|
|
369006
368939
|
var init_MCPListPanel = __esm(() => {
|
|
@@ -370148,8 +370081,6 @@ function MCPRemoteServerMenu({
|
|
|
370148
370081
|
}
|
|
370149
370082
|
}, [server.client.type, server.name, toggleMcpServer, onCancel, onComplete]);
|
|
370150
370083
|
const handleAuthenticate = import_react113.default.useCallback(async () => {
|
|
370151
|
-
if (server.config.type === "claudeai-proxy")
|
|
370152
|
-
return;
|
|
370153
370084
|
setIsAuthenticating(true);
|
|
370154
370085
|
setError(null);
|
|
370155
370086
|
const controller = new AbortController;
|
|
@@ -370189,8 +370120,6 @@ function MCPRemoteServerMenu({
|
|
|
370189
370120
|
}
|
|
370190
370121
|
}, [server.isAuthenticated, server.config, server.name, onComplete, reconnectMcpServer, isEffectivelyAuthenticated]);
|
|
370191
370122
|
const handleClearAuth = async () => {
|
|
370192
|
-
if (server.config.type === "claudeai-proxy")
|
|
370193
|
-
return;
|
|
370194
370123
|
if (server.config) {
|
|
370195
370124
|
await revokeServerTokens(server.name, server.config);
|
|
370196
370125
|
await clearServerCache(server.name, {
|
|
@@ -370360,23 +370289,21 @@ function MCPRemoteServerMenu({
|
|
|
370360
370289
|
value: "tools"
|
|
370361
370290
|
});
|
|
370362
370291
|
}
|
|
370363
|
-
if (
|
|
370364
|
-
|
|
370365
|
-
|
|
370366
|
-
|
|
370367
|
-
|
|
370368
|
-
|
|
370369
|
-
|
|
370370
|
-
|
|
370371
|
-
|
|
370372
|
-
|
|
370373
|
-
|
|
370374
|
-
|
|
370375
|
-
|
|
370376
|
-
|
|
370377
|
-
|
|
370378
|
-
});
|
|
370379
|
-
}
|
|
370292
|
+
if (isEffectivelyAuthenticated) {
|
|
370293
|
+
menuOptions.push({
|
|
370294
|
+
label: "Re-authenticate",
|
|
370295
|
+
value: "reauth"
|
|
370296
|
+
});
|
|
370297
|
+
menuOptions.push({
|
|
370298
|
+
label: "Clear authentication",
|
|
370299
|
+
value: "clear-auth"
|
|
370300
|
+
});
|
|
370301
|
+
}
|
|
370302
|
+
if (!isEffectivelyAuthenticated) {
|
|
370303
|
+
menuOptions.push({
|
|
370304
|
+
label: "Authenticate",
|
|
370305
|
+
value: "auth"
|
|
370306
|
+
});
|
|
370380
370307
|
}
|
|
370381
370308
|
if (server.client.type !== "disabled") {
|
|
370382
370309
|
if (server.client.type !== "needs-auth") {
|
|
@@ -370457,7 +370384,7 @@ function MCPRemoteServerMenu({
|
|
|
370457
370384
|
}, undefined, true, undefined, this)
|
|
370458
370385
|
]
|
|
370459
370386
|
}, undefined, true, undefined, this),
|
|
370460
|
-
|
|
370387
|
+
/* @__PURE__ */ jsx_dev_runtime193.jsxDEV(ThemedBox_default, {
|
|
370461
370388
|
children: [
|
|
370462
370389
|
/* @__PURE__ */ jsx_dev_runtime193.jsxDEV(ThemedText, {
|
|
370463
370390
|
bold: true,
|
|
@@ -371468,7 +371395,6 @@ function MCPSettings(t0) {
|
|
|
371468
371395
|
const scope = client_0.config.scope;
|
|
371469
371396
|
const isSSE = client_0.config.type === "sse";
|
|
371470
371397
|
const isHTTP = client_0.config.type === "http";
|
|
371471
|
-
const isClaudeAIProxy = client_0.config.type === "claudeai-proxy";
|
|
371472
371398
|
let isAuthenticated = undefined;
|
|
371473
371399
|
if (isSSE || isHTTP) {
|
|
371474
371400
|
const authProvider = new ClaudeAuthProvider(client_0.name, client_0.config);
|
|
@@ -371482,36 +371408,27 @@ function MCPSettings(t0) {
|
|
|
371482
371408
|
client: client_0,
|
|
371483
371409
|
scope
|
|
371484
371410
|
};
|
|
371485
|
-
if (
|
|
371411
|
+
if (isSSE) {
|
|
371486
371412
|
return {
|
|
371487
371413
|
...baseInfo,
|
|
371488
|
-
transport: "
|
|
371489
|
-
isAuthenticated
|
|
371414
|
+
transport: "sse",
|
|
371415
|
+
isAuthenticated,
|
|
371490
371416
|
config: client_0.config
|
|
371491
371417
|
};
|
|
371492
371418
|
} else {
|
|
371493
|
-
if (
|
|
371419
|
+
if (isHTTP) {
|
|
371494
371420
|
return {
|
|
371495
371421
|
...baseInfo,
|
|
371496
|
-
transport: "
|
|
371422
|
+
transport: "http",
|
|
371497
371423
|
isAuthenticated,
|
|
371498
371424
|
config: client_0.config
|
|
371499
371425
|
};
|
|
371500
371426
|
} else {
|
|
371501
|
-
|
|
371502
|
-
|
|
371503
|
-
|
|
371504
|
-
|
|
371505
|
-
|
|
371506
|
-
config: client_0.config
|
|
371507
|
-
};
|
|
371508
|
-
} else {
|
|
371509
|
-
return {
|
|
371510
|
-
...baseInfo,
|
|
371511
|
-
transport: "stdio",
|
|
371512
|
-
config: client_0.config
|
|
371513
|
-
};
|
|
371514
|
-
}
|
|
371427
|
+
return {
|
|
371428
|
+
...baseInfo,
|
|
371429
|
+
transport: "stdio",
|
|
371430
|
+
config: client_0.config
|
|
371431
|
+
};
|
|
371515
371432
|
}
|
|
371516
371433
|
}
|
|
371517
371434
|
}));
|
|
@@ -371608,7 +371525,7 @@ function MCPSettings(t0) {
|
|
|
371608
371525
|
t9 = $[25];
|
|
371609
371526
|
}
|
|
371610
371527
|
const serverTools_0 = t9;
|
|
371611
|
-
const defaultTab =
|
|
371528
|
+
const defaultTab = "Atlas";
|
|
371612
371529
|
if (viewState.server.transport === "stdio") {
|
|
371613
371530
|
let t10;
|
|
371614
371531
|
if ($[26] !== viewState.server) {
|
|
@@ -408873,23 +408790,6 @@ function ManagePlugins({
|
|
|
408873
408790
|
onComplete: handleMcpComplete,
|
|
408874
408791
|
borderless: true
|
|
408875
408792
|
}, undefined, false, undefined, this);
|
|
408876
|
-
} else if (configType === "claudeai-proxy") {
|
|
408877
|
-
const server_2 = {
|
|
408878
|
-
name: client_3.name,
|
|
408879
|
-
client: client_3,
|
|
408880
|
-
scope: scope_5,
|
|
408881
|
-
transport: "claudeai-proxy",
|
|
408882
|
-
isAuthenticated: undefined,
|
|
408883
|
-
config: client_3.config
|
|
408884
|
-
};
|
|
408885
|
-
return /* @__PURE__ */ jsx_dev_runtime291.jsxDEV(MCPRemoteServerMenu, {
|
|
408886
|
-
server: server_2,
|
|
408887
|
-
serverToolsCount,
|
|
408888
|
-
onViewTools: handleMcpViewTools,
|
|
408889
|
-
onCancel: handleMcpCancel,
|
|
408890
|
-
onComplete: handleMcpComplete,
|
|
408891
|
-
borderless: true
|
|
408892
|
-
}, undefined, false, undefined, this);
|
|
408893
408793
|
}
|
|
408894
408794
|
setViewState("plugin-list");
|
|
408895
408795
|
return null;
|
|
@@ -408930,7 +408830,7 @@ function ManagePlugins({
|
|
|
408930
408830
|
name: client_4.name,
|
|
408931
408831
|
client: client_4,
|
|
408932
408832
|
scope: scope_6,
|
|
408933
|
-
transport: "
|
|
408833
|
+
transport: "http",
|
|
408934
408834
|
isAuthenticated: undefined,
|
|
408935
408835
|
config: client_4.config
|
|
408936
408836
|
};
|
|
@@ -408989,7 +408889,7 @@ function ManagePlugins({
|
|
|
408989
408889
|
name: client_5.name,
|
|
408990
408890
|
client: client_5,
|
|
408991
408891
|
scope: scope_7,
|
|
408992
|
-
transport: "
|
|
408892
|
+
transport: "http",
|
|
408993
408893
|
isAuthenticated: undefined,
|
|
408994
408894
|
config: client_5.config
|
|
408995
408895
|
};
|
|
@@ -434804,8 +434704,19 @@ function withoutCcdSpawnEnvKeys(env) {
|
|
|
434804
434704
|
}
|
|
434805
434705
|
return out;
|
|
434806
434706
|
}
|
|
434707
|
+
function withoutMcpOauthCimdVars(env) {
|
|
434708
|
+
if (!env)
|
|
434709
|
+
return {};
|
|
434710
|
+
const out = {};
|
|
434711
|
+
for (const [key, value] of Object.entries(env)) {
|
|
434712
|
+
if (key.toUpperCase() !== "MCP_OAUTH_CLIENT_METADATA_URL") {
|
|
434713
|
+
out[key] = value;
|
|
434714
|
+
}
|
|
434715
|
+
}
|
|
434716
|
+
return out;
|
|
434717
|
+
}
|
|
434807
434718
|
function filterSettingsEnv(env) {
|
|
434808
|
-
return withoutCcdSpawnEnvKeys(withoutHostManagedProviderVars(withoutSSHTunnelVars(env)));
|
|
434719
|
+
return withoutCcdSpawnEnvKeys(withoutMcpOauthCimdVars(withoutHostManagedProviderVars(withoutSSHTunnelVars(env))));
|
|
434809
434720
|
}
|
|
434810
434721
|
function applySafeConfigEnvironmentVariables2() {
|
|
434811
434722
|
if (ccdSpawnEnvKeys === undefined) {
|
|
@@ -473529,13 +473440,13 @@ function _temp436(client_2) {
|
|
|
473529
473440
|
return false;
|
|
473530
473441
|
}
|
|
473531
473442
|
function _temp350(client_1) {
|
|
473532
|
-
return client_1.type === "needs-auth"
|
|
473443
|
+
return client_1.type === "needs-auth";
|
|
473533
473444
|
}
|
|
473534
473445
|
function _temp279(client_0) {
|
|
473535
473446
|
return false;
|
|
473536
473447
|
}
|
|
473537
473448
|
function _temp181(client) {
|
|
473538
|
-
return client.type === "failed" && client.config.type !== "sse-ide" && client.config.type !== "ws-ide"
|
|
473449
|
+
return client.type === "failed" && client.config.type !== "sse-ide" && client.config.type !== "ws-ide";
|
|
473539
473450
|
}
|
|
473540
473451
|
var import_compiler_runtime307, import_react264, jsx_dev_runtime418, EMPTY_MCP_CLIENTS;
|
|
473541
473452
|
var init_useMcpConnectivityStatus = __esm(() => {
|
|
@@ -490411,8 +490322,6 @@ async function mcpListHandler2() {
|
|
|
490411
490322
|
console.log(`${name}: ${server.url} (SSE) - ${status}`);
|
|
490412
490323
|
} else if (server.type === "http") {
|
|
490413
490324
|
console.log(`${name}: ${server.url} (HTTP) - ${status}`);
|
|
490414
|
-
} else if (server.type === "claudeai-proxy") {
|
|
490415
|
-
console.log(`${name}: ${server.url} - ${status}`);
|
|
490416
490325
|
} else if (!server.type || server.type === "stdio") {
|
|
490417
490326
|
const stdioServer = server;
|
|
490418
490327
|
const args = Array.isArray(stdioServer.args) ? stdioServer.args : [];
|
|
@@ -490440,7 +490349,7 @@ async function mcpGetHandler2(name) {
|
|
|
490440
490349
|
console.log(` ${key}: ${value}`);
|
|
490441
490350
|
}
|
|
490442
490351
|
}
|
|
490443
|
-
if (server.oauth?.clientId || server.oauth?.callbackPort) {
|
|
490352
|
+
if (server.oauth?.clientId || server.oauth?.callbackPort || server.oauth?.clientMetadataUrl) {
|
|
490444
490353
|
const parts = [];
|
|
490445
490354
|
if (server.oauth.clientId) {
|
|
490446
490355
|
parts.push("client_id configured");
|
|
@@ -490450,6 +490359,8 @@ async function mcpGetHandler2(name) {
|
|
|
490450
490359
|
}
|
|
490451
490360
|
if (server.oauth.callbackPort)
|
|
490452
490361
|
parts.push(`callback_port ${server.oauth.callbackPort}`);
|
|
490362
|
+
if (server.oauth.clientMetadataUrl)
|
|
490363
|
+
parts.push(`client_metadata_url ${server.oauth.clientMetadataUrl}`);
|
|
490453
490364
|
console.log(` OAuth: ${parts.join(", ")}`);
|
|
490454
490365
|
}
|
|
490455
490366
|
} else if (server.type === "http") {
|
|
@@ -490461,7 +490372,7 @@ async function mcpGetHandler2(name) {
|
|
|
490461
490372
|
console.log(` ${key}: ${value}`);
|
|
490462
490373
|
}
|
|
490463
490374
|
}
|
|
490464
|
-
if (server.oauth?.clientId || server.oauth?.callbackPort) {
|
|
490375
|
+
if (server.oauth?.clientId || server.oauth?.callbackPort || server.oauth?.clientMetadataUrl) {
|
|
490465
490376
|
const parts = [];
|
|
490466
490377
|
if (server.oauth.clientId) {
|
|
490467
490378
|
parts.push("client_id configured");
|
|
@@ -490471,6 +490382,8 @@ async function mcpGetHandler2(name) {
|
|
|
490471
490382
|
}
|
|
490472
490383
|
if (server.oauth.callbackPort)
|
|
490473
490384
|
parts.push(`callback_port ${server.oauth.callbackPort}`);
|
|
490385
|
+
if (server.oauth.clientMetadataUrl)
|
|
490386
|
+
parts.push(`client_metadata_url ${server.oauth.clientMetadataUrl}`);
|
|
490474
490387
|
console.log(` OAuth: ${parts.join(", ")}`);
|
|
490475
490388
|
}
|
|
490476
490389
|
} else if (server.type === "stdio") {
|
package/package.json
CHANGED