{ "type": "object", "properties": { "model": { "anyOf": [ { "type": "object", "properties": { "type": { "type": "string", "const": "anthropic", "description": "Use Anthropic model" }, "modelName": { "type": "string", "description": "The name of the model" }, "secrets": { "type": "object", "properties": { "basePath": { "type": "string", "default": "https://api.anthropic.com", "description": "The Anthropic base API url" }, "apiKey": { "type": "string", "description": "The Anthropic API key" } }, "additionalProperties": false, "description": "The Anthropic API secrets config" }, "temperature": { "type": "number", "description": "The temperature for the Anthropic model" }, "maxTokens": { "type": "number", "description": "The maximum number of tokens for the Anthropic model" }, "topP": { "type": "number", "description": "The top P value for the Anthropic model" }, "topK": { "type": "number", "description": "The top K value for the Anthropic model" } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "type": { "type": "string", "const": "huggingFace", "description": "Use Open AI model" }, "modelName": { "$ref": "#/properties/model/anyOf/0/properties/modelName" }, "secrets": { "type": "object", "properties": { "basePath": { "type": "string", "description": "The base API url" }, "apiKey": { "type": "string", "description": "The HuggingFace API key" } }, "additionalProperties": false, "description": "The HuggingFace API secrets config" }, "temperature": { "type": "number", "description": "The temperature for the HuggingFace model" }, "maxTokens": { "type": "number", "description": "The maximum number of tokens for the HuggingFace model" }, "topP": { "type": "number", "description": "The top P value for the HuggingFace model" }, "topK": { "type": "number", "description": "The top K value for the HuggingFace model" }, "frequencyPenalty": { "type": "number", "description": "The frequency penalty for the HuggingFace model" } }, "required": [ "type" ], "additionalProperties": false }, { "type": "object", "properties": { "type": { "type": "string", "const": "openai", "description": "Use OpenAI model" }, "modelName": { "$ref": "#/properties/model/anyOf/0/properties/modelName" }, "secrets": { "type": "object", "properties": { "basePath": { "type": "string", "default": "https://api.openai.com/v1", "description": "The OpenAI base API path" }, "apiKey": { "type": "string", "description": "The OpenAI API key" }, "organization": { "type": "string", "description": "The OpenAI organization" }, "accessToken": { "type": "string", "description": "The OpenAI access token" } }, "additionalProperties": false, "description": "The OpenAI API secrets config" }, "temperature": { "type": "number", "description": "The temperature for the OpenAI model" }, "maxTokens": { "type": "number", "description": "The maximum number of tokens for the OpenAI model" }, "topP": { "type": "number", "description": "The top P value for the OpenAI model" }, "frequencyPenalty": { "type": "number", "description": "The frequency penalty for the OpenAI model" }, "presencePenalty": { "type": "number", "description": "The presence penalty for the OpenAI model" } }, "required": [ "type" ], "additionalProperties": false } ], "description": "The LLM model configuration" }, "includes": { "anyOf": [ { "type": "array", "items": { "anyOf": [ { "type": "string" }, {} ] } }, { "type": "string" }, {}, {}, { "type": "null" }, { "not": {} } ], "default": null, "description": "The include patterns for filtering files" }, "excludes": { "$ref": "#/properties/includes", "default": null, "description": "The exclude patterns for filtering files" }, "respectGitIgnore": { "type": "boolean", "default": true, "description": "Whether to respect .gitignore rules" }, "urlConfig": { "type": "object", "additionalProperties": { "type": "object", "properties": { "modelNames": { "type": "array", "items": { "type": "string" }, "description": "The model name that will be displayed in the model selector" }, "httpRequestHeader": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Additional request headers are required" } }, "additionalProperties": false }, "default": {}, "description": "Custom http request headers and models names for specific urls" } }, "additionalProperties": false, "$schema": "http://json-schema.org/draft-07/schema#" }