Download packages/core/src/config/mcp.ts from SaylorTwift/opencode: direct link, hf CLI and curl.
- Browser
- Download file 2.06 kB
-
https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/core/src/config/mcp.ts
- Command line
-
hf download hf://SaylorTwift/opencode/packages/core/src/config/mcp.ts
-
curl -L -o mcp.ts https://huggingface.co/SaylorTwift/opencode/resolve/main/packages/core/src/config/mcp.ts
2.06 kB
| export * as ConfigMCP from "./mcp" | |
| import { Schema } from "effect" | |
| import { PositiveInt } from "../schema" | |
| export class Timeout extends Schema.Class<Timeout>("ConfigV2.MCP.Timeout")({ | |
| startup: PositiveInt.pipe(Schema.optional).annotate({ | |
| description: "Maximum time in milliseconds to establish and initialize the MCP server.", | |
| }), | |
| request: PositiveInt.pipe(Schema.optional).annotate({ | |
| description: "Maximum time in milliseconds to wait for each MCP request after initialization.", | |
| }), | |
| }) {} | |
| export class Local extends Schema.Class<Local>("ConfigV2.MCP.Local")({ | |
| type: Schema.Literal("local"), | |
| command: Schema.String.pipe(Schema.Array), | |
| cwd: Schema.String.pipe(Schema.optional).annotate({ | |
| description: "Working directory for the MCP server process. Relative paths resolve from the workspace directory.", | |
| }), | |
| environment: Schema.Record(Schema.String, Schema.String).pipe(Schema.optional), | |
| disabled: Schema.Boolean.pipe(Schema.optional), | |
| timeout: Timeout.pipe(Schema.optional), | |
| }) {} | |
| export class OAuth extends Schema.Class<OAuth>("ConfigV2.MCP.OAuth")({ | |
| client_id: Schema.String.pipe(Schema.optional), | |
| client_secret: Schema.String.pipe(Schema.optional), | |
| scope: Schema.String.pipe(Schema.optional), | |
| callback_port: Schema.Int.check(Schema.isBetween({ minimum: 1, maximum: 65535 })).pipe(Schema.optional), | |
| redirect_uri: Schema.String.pipe(Schema.optional), | |
| }) {} | |
| export class Remote extends Schema.Class<Remote>("ConfigV2.MCP.Remote")({ | |
| type: Schema.Literal("remote"), | |
| url: Schema.String, | |
| headers: Schema.Record(Schema.String, Schema.String).pipe(Schema.optional), | |
| oauth: Schema.Union([OAuth, Schema.Literal(false)]).pipe(Schema.optional), | |
| disabled: Schema.Boolean.pipe(Schema.optional), | |
| timeout: Timeout.pipe(Schema.optional), | |
| }) {} | |
| export const Server = Schema.Union([Local, Remote]).pipe(Schema.toTaggedUnion("type")) | |
| export class Info extends Schema.Class<Info>("ConfigV2.MCP")({ | |
| timeout: Timeout.pipe(Schema.optional), | |
| servers: Schema.Record(Schema.String, Server).pipe(Schema.optional), | |
| }) {} | |