/
Alex_Ural
/
opencode
Обзор
Документация
Войти
/
Alex_Ural
/
opencode
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
packages/core/src/config/mcp.ts
48 строк
2 KB
opencode-agent[bot]
feat(core): split MCP timeout configuration (#33977)
26 июн 2026, 04:31
Не верифицирован
26 июн 2026, 04:31
f428755
Код
Авторство
О чём код?
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), }) {}