{
  "telegram": {
    "connected": true,
    "enabled": true,
    "configured": true,
    "layer": "direct",
    "message": "Connected: @yunpan1990219bot",
    "botName": "yunpan1990219",
    "botUsername": "yunpan1990219bot",
    "apiBase": "https://api.telegram.org"
  },
  "kv": {
    "connected": true,
    "enabled": true,
    "configured": true,
    "layer": "direct",
    "message": "Connected",
    "hasData": true
  },
  "r2": {
    "connected": true,
    "enabled": true,
    "configured": true,
    "layer": "direct",
    "message": "Connected",
    "hasData": false
  },
  "s3": {
    "connected": false,
    "enabled": false,
    "configured": false,
    "layer": "direct",
    "message": "Not configured"
  },
  "discord": {
    "connected": false,
    "enabled": false,
    "configured": false,
    "layer": "direct",
    "message": "Not configured"
  },
  "huggingface": {
    "connected": false,
    "enabled": false,
    "configured": false,
    "layer": "direct",
    "message": "Not configured"
  },
  "webdav": {
    "connected": false,
    "enabled": false,
    "configured": false,
    "layer": "mounted",
    "message": "Not configured"
  },
  "github": {
    "connected": false,
    "enabled": false,
    "configured": false,
    "layer": "direct",
    "message": "Not configured"
  },
  "auth": {
    "enabled": true,
    "message": "Enabled"
  },
  "guestUpload": {
    "enabled": false,
    "maxFileSize": 0,
    "dailyLimit": 0
  },
  "uploadLimits": {
    "telegram": {
      "maxBytes": 20971520,
      "directThreshold": 20971520,
      "supportsChunkUpload": false,
      "message": "Telegram web upload on Cloudflare Pages is limited to 20MB. Use R2/S3/WebDAV/GitHub for larger browser uploads, or send the file to Telegram and use webhook return links."
    },
    "r2": {
      "maxBytes": 104857600,
      "directThreshold": 20971520,
      "supportsChunkUpload": true
    },
    "s3": {
      "maxBytes": 104857600,
      "directThreshold": 20971520,
      "supportsChunkUpload": true
    },
    "discord": {
      "maxBytes": 26214400,
      "directThreshold": 20971520,
      "supportsChunkUpload": true,
      "message": "Discord upload limit depends on server boost level; K-Vault uses a conservative 25MB default."
    },
    "huggingface": {
      "maxBytes": 36700160,
      "directThreshold": 20971520,
      "supportsChunkUpload": true
    },
    "webdav": {
      "maxBytes": 104857600,
      "directThreshold": 20971520,
      "supportsChunkUpload": true
    },
    "github": {
      "maxBytes": 104857600,
      "directThreshold": 20971520,
      "supportsChunkUpload": true
    }
  },
  "capabilities": [
    {
      "type": "telegram",
      "label": "Telegram",
      "layer": "direct",
      "enableHint": "Configure this storage backend first."
    },
    {
      "type": "r2",
      "label": "R2",
      "layer": "direct",
      "enableHint": "Configure this storage backend first."
    },
    {
      "type": "s3",
      "label": "S3",
      "layer": "direct",
      "enableHint": "Configure this storage backend first."
    },
    {
      "type": "discord",
      "label": "Discord",
      "layer": "direct",
      "enableHint": "Configure this storage backend first."
    },
    {
      "type": "huggingface",
      "label": "HuggingFace",
      "layer": "direct",
      "enableHint": "Configure this storage backend first."
    },
    {
      "type": "webdav",
      "label": "WebDAV",
      "layer": "mounted",
      "enableHint": "Configure this storage backend first."
    },
    {
      "type": "github",
      "label": "GitHub",
      "layer": "direct",
      "enableHint": "Configure this storage backend first."
    }
  ]
}