diff options
| author | Kujtim Hoxha <[email protected]> | 2025-04-21 14:29:03 +0200 |
|---|---|---|
| committer | Kujtim Hoxha <[email protected]> | 2025-04-21 14:29:28 +0200 |
| commit | a8d5787e8ef561037f73b669128f46ae1b1e8553 (patch) | |
| tree | b606adbc85069d60cc518c74508a7ecbc87c051b /opencode-schema.json | |
| parent | 9ae6af8856ca6a13d575ec6a8989a5f6ee4297b1 (diff) | |
| download | opencode-a8d5787e8ef561037f73b669128f46ae1b1e8553.tar.gz opencode-a8d5787e8ef561037f73b669128f46ae1b1e8553.zip | |
config validation
Diffstat (limited to 'opencode-schema.json')
| -rw-r--r-- | opencode-schema.json | 269 |
1 files changed, 269 insertions, 0 deletions
diff --git a/opencode-schema.json b/opencode-schema.json new file mode 100644 index 000000000..452790cdf --- /dev/null +++ b/opencode-schema.json @@ -0,0 +1,269 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "definitions": { + "agent": { + "description": "Agent configuration", + "properties": { + "maxTokens": { + "description": "Maximum tokens for the agent", + "minimum": 1, + "type": "integer" + }, + "model": { + "description": "Model ID for the agent", + "enum": [ + "gemini-2.0-flash", + "bedrock.claude-3.7-sonnet", + "claude-3-opus", + "claude-3.5-sonnet", + "gpt-4o-mini", + "o1", + "o3-mini", + "o1-pro", + "o4-mini", + "claude-3-haiku", + "gpt-4o", + "o3", + "gpt-4.1-mini", + "gpt-4.5-preview", + "gemini-2.5-flash", + "claude-3.5-haiku", + "gpt-4.1", + "gemini-2.0-flash-lite", + "claude-3.7-sonnet", + "o1-mini", + "gpt-4.1-nano", + "gemini-2.5" + ], + "type": "string" + }, + "reasoningEffort": { + "description": "Reasoning effort for models that support it (OpenAI, Anthropic)", + "enum": [ + "low", + "medium", + "high" + ], + "type": "string" + } + }, + "required": [ + "model" + ], + "type": "object" + } + }, + "description": "Configuration schema for the OpenCode application", + "properties": { + "agents": { + "additionalProperties": { + "description": "Agent configuration", + "properties": { + "maxTokens": { + "description": "Maximum tokens for the agent", + "minimum": 1, + "type": "integer" + }, + "model": { + "description": "Model ID for the agent", + "enum": [ + "gemini-2.0-flash", + "bedrock.claude-3.7-sonnet", + "claude-3-opus", + "claude-3.5-sonnet", + "gpt-4o-mini", + "o1", + "o3-mini", + "o1-pro", + "o4-mini", + "claude-3-haiku", + "gpt-4o", + "o3", + "gpt-4.1-mini", + "gpt-4.5-preview", + "gemini-2.5-flash", + "claude-3.5-haiku", + "gpt-4.1", + "gemini-2.0-flash-lite", + "claude-3.7-sonnet", + "o1-mini", + "gpt-4.1-nano", + "gemini-2.5" + ], + "type": "string" + }, + "reasoningEffort": { + "description": "Reasoning effort for models that support it (OpenAI, Anthropic)", + "enum": [ + "low", + "medium", + "high" + ], + "type": "string" + } + }, + "required": [ + "model" + ], + "type": "object" + }, + "description": "Agent configurations", + "properties": { + "coder": { + "$ref": "#/definitions/agent" + }, + "task": { + "$ref": "#/definitions/agent" + }, + "title": { + "$ref": "#/definitions/agent" + } + }, + "type": "object" + }, + "data": { + "description": "Storage configuration", + "properties": { + "directory": { + "default": ".opencode", + "description": "Directory where application data is stored", + "type": "string" + } + }, + "required": [ + "directory" + ], + "type": "object" + }, + "debug": { + "default": false, + "description": "Enable debug mode", + "type": "boolean" + }, + "debugLSP": { + "default": false, + "description": "Enable LSP debug mode", + "type": "boolean" + }, + "lsp": { + "additionalProperties": { + "description": "LSP configuration for a language", + "properties": { + "args": { + "description": "Command arguments for the LSP server", + "items": { + "type": "string" + }, + "type": "array" + }, + "command": { + "description": "Command to execute for the LSP server", + "type": "string" + }, + "disabled": { + "default": false, + "description": "Whether the LSP is disabled", + "type": "boolean" + }, + "options": { + "description": "Additional options for the LSP server", + "type": "object" + } + }, + "required": [ + "command" + ], + "type": "object" + }, + "description": "Language Server Protocol configurations", + "type": "object" + }, + "mcpServers": { + "additionalProperties": { + "description": "MCP server configuration", + "properties": { + "args": { + "description": "Command arguments for the MCP server", + "items": { + "type": "string" + }, + "type": "array" + }, + "command": { + "description": "Command to execute for the MCP server", + "type": "string" + }, + "env": { + "description": "Environment variables for the MCP server", + "items": { + "type": "string" + }, + "type": "array" + }, + "headers": { + "additionalProperties": { + "type": "string" + }, + "description": "HTTP headers for SSE type MCP servers", + "type": "object" + }, + "type": { + "default": "stdio", + "description": "Type of MCP server", + "enum": [ + "stdio", + "sse" + ], + "type": "string" + }, + "url": { + "description": "URL for SSE type MCP servers", + "type": "string" + } + }, + "required": [ + "command" + ], + "type": "object" + }, + "description": "Model Control Protocol server configurations", + "type": "object" + }, + "providers": { + "additionalProperties": { + "description": "Provider configuration", + "properties": { + "apiKey": { + "description": "API key for the provider", + "type": "string" + }, + "disabled": { + "default": false, + "description": "Whether the provider is disabled", + "type": "boolean" + }, + "provider": { + "description": "Provider type", + "enum": [ + "anthropic", + "openai", + "gemini", + "groq", + "bedrock" + ], + "type": "string" + } + }, + "type": "object" + }, + "description": "LLM provider configurations", + "type": "object" + }, + "wd": { + "description": "Working directory for the application", + "type": "string" + } + }, + "title": "OpenCode Configuration", + "type": "object" +} |
