{
  "version": "0.1.0",
  "wit_version": "0.3.0",
  "type": "channel",
  "name": "feishu",
  "description": "Feishu/Lark Bot channel for receiving and responding to Feishu messages",
  "auth": {
    "secret_name": "feishu_app_id",
    "display_name": "Feishu / Lark",
    "instructions": "Create a bot at https://open.feishu.cn/app (Feishu) or https://open.larksuite.com/app (Lark). You need the App ID and App Secret.",
    "setup_url": "https://open.feishu.cn/app",
    "token_hint": "App ID looks like cli_XXXX, App Secret is a long alphanumeric string",
    "env_var": "FEISHU_APP_ID"
  },
  "setup": {
    "required_secrets": [
      {
        "name": "feishu_app_id",
        "prompt": "Enter your Feishu/Lark App ID (from https://open.feishu.cn/app)",
        "optional": false
      },
      {
        "name": "feishu_app_secret",
        "prompt": "Enter your Feishu/Lark App Secret",
        "optional": false
      },
      {
        "name": "feishu_verification_token",
        "prompt": "Enter your Feishu/Lark Verification Token (from Event Subscription settings)",
        "optional": true
      }
    ],
    "setup_url": "https://open.feishu.cn/app"
  },
  "capabilities": {
    "http": {
      "allowlist": [
        { "host": "open.feishu.cn", "path_prefix": "/open-apis/" },
        { "host": "open.larksuite.com", "path_prefix": "/open-apis/" }
      ],
      "credentials": {
        "feishu_bearer": {
          "secret_name": "feishu_tenant_access_token",
          "location": { "type": "bearer" },
          "host_patterns": ["open.feishu.cn", "open.larksuite.com"]
        }
      },
      "rate_limit": {
        "requests_per_minute": 60,
        "requests_per_hour": 2000
      }
    },
    "secrets": {
      "allowed_names": ["feishu_*"]
    },
    "channel": {
      "allowed_paths": ["/webhook/feishu"],
      "allow_polling": false,
      "workspace_prefix": "channels/feishu/",
      "emit_rate_limit": {
        "messages_per_minute": 100,
        "messages_per_hour": 5000
      },
      "webhook": {
        "secret_header": "X-Feishu-Verification-Token",
        "secret_name": "feishu_verification_token"
      }
    }
  },
  "config": {
    "app_id": null,
    "app_secret": null,
    "api_base": "https://open.feishu.cn",
    "owner_id": null,
    "dm_policy": "pairing",
    "allow_from": []
  }
}
