{ "$ref": "#/definitions/PaseoConfigV1", "definitions": { "PaseoConfigV1": { "type": "object", "properties": { "$schema": { "type": "string" }, "version": { "type": "number", "const": 1 }, "daemon": { "type": "object", "properties": { "listen": { "type": "string" }, "hostnames": { "anyOf": [ { "type": "boolean", "const": true }, { "type": "array", "items": { "type": "string" } } ] }, "allowedHosts": { "anyOf": [ { "type": "boolean", "const": true }, { "type": "array", "items": { "type": "string" } } ] }, "trustedProxies": { "description": "Express trusted proxy setting for X-Forwarded-* headers. Defaults to [\"loopback\"]. Use true only when the final trusted proxy overwrites client-supplied forwarded headers.", "anyOf": [ { "type": "boolean", "const": true }, { "type": "array", "items": { "type": "string" } } ] }, "mcp": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "injectIntoAgents": { "type": "boolean" } }, "additionalProperties": true }, "autoArchiveAfterMerge": { "type": "boolean" }, "enableTerminalAgentHooks": { "type": "boolean" }, "appendSystemPrompt": { "type": "string" }, "cors": { "type": "object", "properties": { "allowedOrigins": { "type": "array", "items": { "type": "string" } } }, "additionalProperties": false }, "relay": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "endpoint": { "type": "string" }, "publicEndpoint": { "type": "string" }, "useTls": { "type": "boolean" }, "publicUseTls": { "type": "boolean" } }, "additionalProperties": false }, "serviceProxy": { "type": "object", "properties": { "enabled": { "description": "Compatibility shim. false suppresses optional service proxy listen/public layers only; localhost proxying remains enabled.", "type": "boolean" }, "listen": { "description": "Optional service-only listener address. Presence enables the standalone service proxy listener.", "type": "string" }, "publicBaseUrl": { "description": "Optional public base URL for service host aliases.", "type": "string", "format": "uri" } }, "additionalProperties": false }, "auth": { "type": "object", "properties": { "password": { "type": "string", "pattern": "^\\$2[aby]\\$\\d{2}\\$[./A-Za-z0-9]{53}$" } }, "additionalProperties": false } }, "additionalProperties": false }, "app": { "type": "object", "properties": { "baseUrl": { "type": "string" } }, "additionalProperties": false }, "worktrees": { "type": "object", "properties": { "root": { "type": "string", "minLength": 1 } }, "additionalProperties": false }, "providers": { "type": "object", "properties": { "openai": { "type": "object", "properties": { "apiKey": { "type": "string", "minLength": 1 }, "baseUrl": { "type": "string", "minLength": 1 }, "stt": { "type": "object", "properties": { "apiKey": { "type": "string", "minLength": 1 }, "baseUrl": { "type": "string", "minLength": 1 } }, "additionalProperties": false }, "tts": { "type": "object", "properties": { "apiKey": { "type": "string", "minLength": 1 }, "baseUrl": { "type": "string", "minLength": 1 } }, "additionalProperties": false } }, "additionalProperties": false }, "local": { "type": "object", "properties": { "modelsDir": { "type": "string", "minLength": 1 } }, "additionalProperties": false } }, "additionalProperties": false }, "agents": { "type": "object", "properties": { "providers": { "type": "object", "additionalProperties": { "type": "object", "properties": { "extends": { "type": "string" }, "label": { "type": "string" }, "description": { "type": "string" }, "command": { "type": "array", "items": { "type": "string", "minLength": 1 }, "minItems": 1 }, "env": { "type": "object", "additionalProperties": { "type": "string" } }, "models": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string", "minLength": 1 }, "label": { "type": "string", "minLength": 1 }, "description": { "type": "string" }, "isDefault": { "type": "boolean" }, "thinkingOptions": { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" }, "label": { "type": "string" }, "description": { "type": "string" }, "isDefault": { "type": "boolean" } }, "required": ["id", "label"], "additionalProperties": false } } }, "required": ["id", "label"], "additionalProperties": false } }, "additionalModels": { "type": "array", "items": { "$ref": "#/definitions/PaseoConfigV1/properties/agents/properties/providers/additionalProperties/properties/models/items" } }, "disallowedTools": { "type": "array", "items": { "type": "string" } }, "enabled": { "type": "boolean" }, "order": { "type": "number" } }, "additionalProperties": false } } }, "additionalProperties": false }, "features": { "type": "object", "properties": { "dictation": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "stt": { "type": "object", "properties": { "provider": { "allOf": [ { "type": "string" }, { "type": "string", "enum": ["openai", "local"] } ] }, "model": { "type": "string", "minLength": 1 }, "language": { "type": "string", "minLength": 1 }, "confidenceThreshold": { "type": "number" } }, "additionalProperties": false } }, "additionalProperties": false }, "voiceMode": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "llm": { "type": "object", "properties": { "provider": { "type": "string" }, "model": { "type": "string", "minLength": 1 } }, "additionalProperties": false }, "stt": { "type": "object", "properties": { "provider": { "$ref": "#/definitions/PaseoConfigV1/properties/features/properties/dictation/properties/stt/properties/provider" }, "model": { "type": "string", "minLength": 1 }, "language": { "type": "string", "minLength": 1 } }, "additionalProperties": false }, "turnDetection": { "type": "object", "properties": { "provider": { "$ref": "#/definitions/PaseoConfigV1/properties/features/properties/dictation/properties/stt/properties/provider" } }, "additionalProperties": false }, "tts": { "type": "object", "properties": { "provider": { "$ref": "#/definitions/PaseoConfigV1/properties/features/properties/dictation/properties/stt/properties/provider" }, "model": { "type": "string", "minLength": 1 }, "voice": { "type": "string", "enum": ["alloy", "echo", "fable", "onyx", "nova", "shimmer"] }, "speakerId": { "type": "integer" }, "speed": { "type": "number" } }, "additionalProperties": false } }, "additionalProperties": false }, "webUi": { "type": "object", "properties": { "enabled": { "type": "boolean" }, "distDir": { "type": "string", "minLength": 1 } }, "additionalProperties": false } }, "additionalProperties": false }, "log": { "type": "object", "properties": { "level": { "type": "string", "enum": ["trace", "debug", "info", "warn", "error", "fatal"] }, "format": { "type": "string", "enum": ["pretty", "json"] }, "console": { "type": "object", "properties": { "level": { "$ref": "#/definitions/PaseoConfigV1/properties/log/properties/level" }, "format": { "$ref": "#/definitions/PaseoConfigV1/properties/log/properties/format" } }, "additionalProperties": false }, "file": { "type": "object", "properties": { "level": { "$ref": "#/definitions/PaseoConfigV1/properties/log/properties/level" }, "path": { "type": "string", "minLength": 1 }, "rotate": { "type": "object", "properties": { "maxSize": { "type": "string", "minLength": 1 }, "maxFiles": { "type": "integer", "exclusiveMinimum": 0 } }, "additionalProperties": false } }, "additionalProperties": false } }, "additionalProperties": false } }, "additionalProperties": false } }, "$schema": "http://json-schema.org/draft-07/schema#" }