{
  "id": "qqbot",
  "channels": [
    "qqbot"
  ],
  "skills": [
    "./skills"
  ],
  "configSchema": {
    "type": "object",
    "additionalProperties": false,
    "$defs": {
      "audioFormatPolicy": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "sttDirectFormats": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "uploadDirectFormats": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "transcodeEnabled": {
            "type": "boolean"
          }
        }
      },
      "speechQueryParams": {
        "type": "object",
        "additionalProperties": {
          "type": "string"
        }
      },
      "tts": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "provider": {
            "type": "string"
          },
          "baseUrl": {
            "type": "string"
          },
          "apiKey": {
            "type": "string"
          },
          "model": {
            "type": "string"
          },
          "voice": {
            "type": "string"
          },
          "authStyle": {
            "type": "string",
            "enum": [
              "bearer",
              "api-key"
            ]
          },
          "queryParams": {
            "$ref": "#/$defs/speechQueryParams"
          },
          "speed": {
            "type": "number"
          }
        }
      },
      "stt": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "provider": {
            "type": "string"
          },
          "baseUrl": {
            "type": "string"
          },
          "apiKey": {
            "type": "string"
          },
          "model": {
            "type": "string"
          }
        }
      },
      "secretRef": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "source": {
            "type": "string",
            "enum": [
              "env",
              "file",
              "exec"
            ]
          },
          "provider": {
            "type": "string"
          },
          "id": {
            "type": "string"
          }
        },
        "required": [
          "source",
          "provider",
          "id"
        ]
      },
      "secretInput": {
        "anyOf": [
          {
            "type": "string",
            "minLength": 1
          },
          {
            "$ref": "#/$defs/secretRef"
          }
        ]
      },
      "account": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "appId": {
            "type": "string"
          },
          "clientSecret": {
            "$ref": "#/$defs/secretInput"
          },
          "clientSecretFile": {
            "type": "string"
          },
          "allowFrom": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "systemPrompt": {
            "type": "string"
          },
          "markdownSupport": {
            "type": "boolean"
          },
          "voiceDirectUploadFormats": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "audioFormatPolicy": {
            "$ref": "#/$defs/audioFormatPolicy"
          },
          "urlDirectUpload": {
            "type": "boolean"
          },
          "upgradeUrl": {
            "type": "string"
          },
          "upgradeMode": {
            "type": "string",
            "enum": [
              "doc",
              "hot-reload"
            ]
          }
        }
      }
    },
    "properties": {
      "enabled": {
        "type": "boolean"
      },
      "name": {
        "type": "string"
      },
      "appId": {
        "type": "string"
      },
      "clientSecret": {
        "$ref": "#/$defs/secretInput"
      },
      "clientSecretFile": {
        "type": "string"
      },
      "allowFrom": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "systemPrompt": {
        "type": "string"
      },
      "markdownSupport": {
        "type": "boolean"
      },
      "voiceDirectUploadFormats": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "audioFormatPolicy": {
        "$ref": "#/$defs/audioFormatPolicy"
      },
      "tts": {
        "$ref": "#/$defs/tts"
      },
      "stt": {
        "$ref": "#/$defs/stt"
      },
      "urlDirectUpload": {
        "type": "boolean"
      },
      "upgradeUrl": {
        "type": "string"
      },
      "upgradeMode": {
        "type": "string",
        "enum": [
          "doc",
          "hot-reload"
        ]
      },
      "accounts": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/$defs/account"
        }
      },
      "defaultAccount": {
        "type": "string"
      }
    }
  }
}
