Showing the changes to plugins/mcp (2 of 21 files). Show all
Unified · Split
| @@ -249,37 +249,12 @@ const normalizeStringArray = ( · 248 unmodified lines | ||
| 249 | 249 | return normalized.length > 0 ? normalized : null; |
| 250 | 250 | }; |
| 251 | 251 | |
| 252 | −const decodeMcpAuthOption = Schema.decodeUnknownOption(McpConnectionAuthSchema); | |
| 253 | 252 | const decodeMcpCurrentLocalConfigOption = Schema.decodeUnknownOption( |
| 254 | 253 | createPluginLocalConfigEntrySchema({ |
| 255 | 254 | kind: "mcp", |
| 256 | 255 | config: McpStoredSourceDataSchema, |
| 257 | 256 | }), |
| 258 | 257 | ); |
| 259 | −const decodeMcpLegacyLocalConfigOption = Schema.decodeUnknownOption( | |
| 260 | − Schema.Struct({ | |
| 261 | − kind: Schema.Literal("mcp"), | |
| 262 | − name: Schema.optional(Schema.String), | |
| 263 | − namespace: Schema.optional(Schema.String), | |
| 264 | − enabled: Schema.optional(Schema.Boolean), | |
| 265 | − connection: Schema.optional( | |
| 266 | − Schema.Struct({ | |
| 267 | − endpoint: Schema.optional(Schema.NullOr(Schema.String)), | |
| 268 | − auth: Schema.optional(Schema.Unknown), | |
| 269 | − }), | |
| 270 | − ), | |
| 271 | − binding: Schema.Struct({ | |
| 272 | − transport: Schema.optional(Schema.NullOr(SourceTransportSchema)), | |
| 273 | − queryParams: Schema.optional(Schema.NullOr(StringMapSchema)), | |
| 274 | − headers: Schema.optional(Schema.NullOr(StringMapSchema)), | |
| 275 | − command: Schema.optional(Schema.NullOr(Schema.String)), | |
| 276 | − args: Schema.optional(Schema.NullOr(StringArraySchema)), | |
| 277 | − env: Schema.optional(Schema.NullOr(StringMapSchema)), | |
| 278 | − cwd: Schema.optional(Schema.NullOr(Schema.String)), | |
| 279 | − }), | |
| 280 | − config: Schema.optional(Schema.Unknown), | |
| 281 | − }), | |
| 282 | −); | |
| 283 | 258 | |
| 284 | 259 | const normalizeStoredSourceData = ( |
| 285 | 260 | input: McpConnectInput | McpSourceConfigPayload, |
| @@ -399,37 +374,6 @@ const mcpStoredSourceDataFromLocalConfig = ( · 113 unmodified lines | ||
| 399 | 374 | return Effect.succeed(current.value.config); |
| 400 | 375 | } |
| 401 | 376 | |
| 402 | − const legacy = decodeMcpLegacyLocalConfigOption(config); | |
| 403 | − if (Option.isSome(legacy)) { | |
| 404 | − const auth = decodeMcpAuthOption(legacy.value.connection?.auth); | |
| 405 | − if ( | |
| 406 | − legacy.value.connection?.auth !== undefined && | |
| 407 | − Option.isNone(auth) | |
| 408 | − ) { | |
| 409 | − return runtimeEffectError( | |
| 410 | − "plugins/mcp/sdk", | |
| 411 | − "Unsupported MCP auth configuration in local source config.", | |
| 412 | − ); | |
| 413 | − } | |
| 414 | − | |
| 415 | − return normalizeStoredSourceData({ | |
| 416 | − name: legacy.value.name ?? "MCP", | |
| 417 | − endpoint: legacy.value.connection?.endpoint ?? null, | |
| 418 | − transport: legacy.value.binding.transport ?? null, | |
| 419 | − queryParams: legacy.value.binding.queryParams ?? null, | |
| 420 | − headers: legacy.value.binding.headers ?? null, | |
| 421 | − command: legacy.value.binding.command ?? null, | |
| 422 | − args: legacy.value.binding.args ?? null, | |
| 423 | − env: legacy.value.binding.env ?? null, | |
| 424 | − cwd: legacy.value.binding.cwd ?? null, | |
| 425 | − auth: Option.isSome(auth) | |
| 426 | − ? auth.value | |
| 427 | − : { | |
| 428 | − kind: "none", | |
| 429 | − }, | |
| 430 | − }); | |
| 431 | − } | |
| 432 | − | |
| 433 | 377 | return runtimeEffectError( |
| 434 | 378 | "plugins/mcp/sdk", |
| 435 | 379 | "Unsupported MCP local source config.", |
| @@ -500,7 +500,7 @@ describe("codemode-mcp", () => { · 499 unmodified lines | ||
| 500 | 500 | action: "accept" as const, |
| 501 | 501 | }; |
| 502 | 502 | }), |
| 503 | − path: "executor.sources.add" as ToolPath, | |
| 503 | + path: "executor.mcp.createSource" as ToolPath, | |
| 504 | 504 | sourceKey: "executor", |
| 505 | 505 | args: { |
| 506 | 506 | endpoint: "https://example.com/mcp", |