{
  "id": "feishu",
  "channels": [
    "feishu"
  ],
  "channelEnvVars": {
    "feishu": [
      "FEISHU_APP_ID",
      "FEISHU_APP_SECRET",
      "FEISHU_VERIFICATION_TOKEN",
      "FEISHU_ENCRYPT_KEY"
    ]
  },
  "skills": [
    "./skills"
  ],
  "configSchema": {
    "type": "object",
    "additionalProperties": true,
    "$defs": {
      "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": true,
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "name": {
            "type": "string"
          },
          "appId": {
            "type": "string"
          },
          "appSecret": {
            "$ref": "#/$defs/secretInput"
          },
          "encryptKey": {
            "$ref": "#/$defs/secretInput"
          },
          "verificationToken": {
            "$ref": "#/$defs/secretInput"
          },
          "domain": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "feishu",
                  "lark"
                ]
              },
              {
                "type": "string",
                "format": "uri"
              }
            ]
          },
          "connectionMode": {
            "type": "string",
            "enum": [
              "websocket",
              "webhook"
            ]
          },
          "renderMode": {
            "type": "string",
            "enum": [
              "auto",
              "raw",
              "card"
            ]
          },
          "streaming": {
            "type": "boolean"
          },
          "replyInThread": {
            "type": "string",
            "enum": [
              "disabled",
              "enabled"
            ]
          },
          "typingIndicator": {
            "type": "boolean"
          }
        }
      }
    },
    "properties": {
      "enabled": {
        "type": "boolean"
      },
      "defaultAccount": {
        "type": "string"
      },
      "appId": {
        "type": "string"
      },
      "appSecret": {
        "$ref": "#/$defs/secretInput"
      },
      "encryptKey": {
        "$ref": "#/$defs/secretInput"
      },
      "verificationToken": {
        "$ref": "#/$defs/secretInput"
      },
      "domain": {
        "anyOf": [
          {
            "type": "string",
            "enum": [
              "feishu",
              "lark"
            ]
          },
          {
            "type": "string",
            "format": "uri"
          }
        ]
      },
      "connectionMode": {
        "type": "string",
        "enum": [
          "websocket",
          "webhook"
        ]
      },
      "renderMode": {
        "type": "string",
        "enum": [
          "auto",
          "raw",
          "card"
        ]
      },
      "streaming": {
        "type": "boolean"
      },
      "replyInThread": {
        "type": "string",
        "enum": [
          "disabled",
          "enabled"
        ]
      },
      "typingIndicator": {
        "type": "boolean"
      },
      "accounts": {
        "type": "object",
        "additionalProperties": {
          "$ref": "#/$defs/account"
        }
      }
    }
  },
  "channelConfigs": {
    "feishu": {
      "schema": {
        "$schema": "http://json-schema.org/draft-07/schema#",
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean"
          },
          "defaultAccount": {
            "type": "string"
          },
          "appId": {
            "type": "string"
          },
          "appSecret": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "source": {
                        "type": "string",
                        "const": "env"
                      },
                      "provider": {
                        "type": "string",
                        "pattern": "^[a-z][a-z0-9_-]{0,63}$"
                      },
                      "id": {
                        "type": "string",
                        "pattern": "^[A-Z][A-Z0-9_]{0,127}$"
                      }
                    },
                    "required": [
                      "source",
                      "provider",
                      "id"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "source": {
                        "type": "string",
                        "const": "file"
                      },
                      "provider": {
                        "type": "string",
                        "pattern": "^[a-z][a-z0-9_-]{0,63}$"
                      },
                      "id": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "source",
                      "provider",
                      "id"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "source": {
                        "type": "string",
                        "const": "exec"
                      },
                      "provider": {
                        "type": "string",
                        "pattern": "^[a-z][a-z0-9_-]{0,63}$"
                      },
                      "id": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "source",
                      "provider",
                      "id"
                    ],
                    "additionalProperties": false
                  }
                ]
              }
            ]
          },
          "encryptKey": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "source": {
                        "type": "string",
                        "const": "env"
                      },
                      "provider": {
                        "type": "string",
                        "pattern": "^[a-z][a-z0-9_-]{0,63}$"
                      },
                      "id": {
                        "type": "string",
                        "pattern": "^[A-Z][A-Z0-9_]{0,127}$"
                      }
                    },
                    "required": [
                      "source",
                      "provider",
                      "id"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "source": {
                        "type": "string",
                        "const": "file"
                      },
                      "provider": {
                        "type": "string",
                        "pattern": "^[a-z][a-z0-9_-]{0,63}$"
                      },
                      "id": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "source",
                      "provider",
                      "id"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "source": {
                        "type": "string",
                        "const": "exec"
                      },
                      "provider": {
                        "type": "string",
                        "pattern": "^[a-z][a-z0-9_-]{0,63}$"
                      },
                      "id": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "source",
                      "provider",
                      "id"
                    ],
                    "additionalProperties": false
                  }
                ]
              }
            ]
          },
          "verificationToken": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "oneOf": [
                  {
                    "type": "object",
                    "properties": {
                      "source": {
                        "type": "string",
                        "const": "env"
                      },
                      "provider": {
                        "type": "string",
                        "pattern": "^[a-z][a-z0-9_-]{0,63}$"
                      },
                      "id": {
                        "type": "string",
                        "pattern": "^[A-Z][A-Z0-9_]{0,127}$"
                      }
                    },
                    "required": [
                      "source",
                      "provider",
                      "id"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "source": {
                        "type": "string",
                        "const": "file"
                      },
                      "provider": {
                        "type": "string",
                        "pattern": "^[a-z][a-z0-9_-]{0,63}$"
                      },
                      "id": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "source",
                      "provider",
                      "id"
                    ],
                    "additionalProperties": false
                  },
                  {
                    "type": "object",
                    "properties": {
                      "source": {
                        "type": "string",
                        "const": "exec"
                      },
                      "provider": {
                        "type": "string",
                        "pattern": "^[a-z][a-z0-9_-]{0,63}$"
                      },
                      "id": {
                        "type": "string"
                      }
                    },
                    "required": [
                      "source",
                      "provider",
                      "id"
                    ],
                    "additionalProperties": false
                  }
                ]
              }
            ]
          },
          "domain": {
            "default": "feishu",
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "feishu",
                  "lark"
                ]
              },
              {
                "type": "string",
                "format": "uri",
                "pattern": "^https:\\/\\/.*"
              }
            ]
          },
          "connectionMode": {
            "default": "websocket",
            "type": "string",
            "enum": [
              "websocket",
              "webhook"
            ]
          },
          "webhookPath": {
            "default": "/feishu/events",
            "type": "string"
          },
          "webhookHost": {
            "type": "string"
          },
          "webhookPort": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "capabilities": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "markdown": {
            "type": "object",
            "properties": {
              "mode": {
                "type": "string",
                "enum": [
                  "native",
                  "escape",
                  "strip"
                ]
              },
              "tableMode": {
                "type": "string",
                "enum": [
                  "native",
                  "ascii",
                  "simple"
                ]
              }
            },
            "additionalProperties": false
          },
          "configWrites": {
            "type": "boolean"
          },
          "dmPolicy": {
            "default": "pairing",
            "type": "string",
            "enum": [
              "open",
              "pairing",
              "allowlist"
            ]
          },
          "allowFrom": {
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "groupPolicy": {
            "default": "allowlist",
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "open",
                  "allowlist",
                  "disabled"
                ]
              },
              {}
            ]
          },
          "groupAllowFrom": {
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "groupSenderAllowFrom": {
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "number"
                }
              ]
            }
          },
          "requireMention": {
            "type": "boolean"
          },
          "groups": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "object",
              "properties": {
                "requireMention": {
                  "type": "boolean"
                },
                "tools": {
                  "type": "object",
                  "properties": {
                    "allow": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "deny": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  },
                  "additionalProperties": false
                },
                "skills": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "enabled": {
                  "type": "boolean"
                },
                "allowFrom": {
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  }
                },
                "systemPrompt": {
                  "type": "string"
                },
                "groupSessionScope": {
                  "type": "string",
                  "enum": [
                    "group",
                    "group_sender",
                    "group_topic",
                    "group_topic_sender"
                  ]
                },
                "topicSessionMode": {
                  "type": "string",
                  "enum": [
                    "disabled",
                    "enabled"
                  ]
                },
                "replyInThread": {
                  "type": "string",
                  "enum": [
                    "disabled",
                    "enabled"
                  ]
                }
              },
              "additionalProperties": false
            }
          },
          "historyLimit": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "dmHistoryLimit": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "dms": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "object",
              "properties": {
                "enabled": {
                  "type": "boolean"
                },
                "systemPrompt": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "textChunkLimit": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 9007199254740991
          },
          "chunkMode": {
            "type": "string",
            "enum": [
              "length",
              "newline"
            ]
          },
          "blockStreamingCoalesce": {
            "type": "object",
            "properties": {
              "enabled": {
                "type": "boolean"
              },
              "minDelayMs": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              },
              "maxDelayMs": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              }
            },
            "additionalProperties": false
          },
          "mediaMaxMb": {
            "type": "number",
            "exclusiveMinimum": 0
          },
          "httpTimeoutMs": {
            "type": "integer",
            "exclusiveMinimum": 0,
            "maximum": 300000
          },
          "heartbeat": {
            "type": "object",
            "properties": {
              "visibility": {
                "type": "string",
                "enum": [
                  "visible",
                  "hidden"
                ]
              },
              "intervalMs": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              }
            },
            "additionalProperties": false
          },
          "renderMode": {
            "type": "string",
            "enum": [
              "auto",
              "raw",
              "card"
            ]
          },
          "streaming": {
            "type": "boolean"
          },
          "tools": {
            "type": "object",
            "properties": {
              "doc": {
                "type": "boolean"
              },
              "chat": {
                "type": "boolean"
              },
              "wiki": {
                "type": "boolean"
              },
              "drive": {
                "type": "boolean"
              },
              "perm": {
                "type": "boolean"
              },
              "scopes": {
                "type": "boolean"
              }
            },
            "additionalProperties": false
          },
          "actions": {
            "type": "object",
            "properties": {
              "reactions": {
                "type": "boolean"
              }
            },
            "additionalProperties": false
          },
          "replyInThread": {
            "type": "string",
            "enum": [
              "disabled",
              "enabled"
            ]
          },
          "reactionNotifications": {
            "default": "own",
            "type": "string",
            "enum": [
              "off",
              "own",
              "all"
            ]
          },
          "typingIndicator": {
            "default": true,
            "type": "boolean"
          },
          "resolveSenderNames": {
            "default": true,
            "type": "boolean"
          },
          "tts": {
            "type": "object",
            "properties": {
              "auto": {
                "type": "string",
                "enum": [
                  "off",
                  "always",
                  "inbound",
                  "tagged"
                ]
              },
              "enabled": {
                "type": "boolean"
              },
              "mode": {
                "type": "string",
                "enum": [
                  "final",
                  "all"
                ]
              },
              "provider": {
                "type": "string"
              },
              "persona": {
                "type": "string"
              },
              "personas": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {}
                }
              },
              "summaryModel": {
                "type": "string"
              },
              "modelOverrides": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {}
              },
              "providers": {
                "type": "object",
                "propertyNames": {
                  "type": "string"
                },
                "additionalProperties": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {}
                }
              },
              "prefsPath": {
                "type": "string"
              },
              "maxTextLength": {
                "type": "integer",
                "minimum": 1,
                "maximum": 9007199254740991
              },
              "timeoutMs": {
                "type": "integer",
                "minimum": 1000,
                "maximum": 120000
              }
            },
            "additionalProperties": false
          },
          "groupSessionScope": {
            "type": "string",
            "enum": [
              "group",
              "group_sender",
              "group_topic",
              "group_topic_sender"
            ]
          },
          "topicSessionMode": {
            "type": "string",
            "enum": [
              "disabled",
              "enabled"
            ]
          },
          "dynamicAgentCreation": {
            "type": "object",
            "properties": {
              "enabled": {
                "type": "boolean"
              },
              "workspaceTemplate": {
                "type": "string"
              },
              "agentDirTemplate": {
                "type": "string"
              },
              "maxAgents": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991
              }
            },
            "additionalProperties": false
          },
          "accounts": {
            "type": "object",
            "propertyNames": {
              "type": "string"
            },
            "additionalProperties": {
              "type": "object",
              "properties": {
                "enabled": {
                  "type": "boolean"
                },
                "name": {
                  "type": "string"
                },
                "appId": {
                  "type": "string"
                },
                "appSecret": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "properties": {
                            "source": {
                              "type": "string",
                              "const": "env"
                            },
                            "provider": {
                              "type": "string",
                              "pattern": "^[a-z][a-z0-9_-]{0,63}$"
                            },
                            "id": {
                              "type": "string",
                              "pattern": "^[A-Z][A-Z0-9_]{0,127}$"
                            }
                          },
                          "required": [
                            "source",
                            "provider",
                            "id"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "source": {
                              "type": "string",
                              "const": "file"
                            },
                            "provider": {
                              "type": "string",
                              "pattern": "^[a-z][a-z0-9_-]{0,63}$"
                            },
                            "id": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "source",
                            "provider",
                            "id"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "source": {
                              "type": "string",
                              "const": "exec"
                            },
                            "provider": {
                              "type": "string",
                              "pattern": "^[a-z][a-z0-9_-]{0,63}$"
                            },
                            "id": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "source",
                            "provider",
                            "id"
                          ],
                          "additionalProperties": false
                        }
                      ]
                    }
                  ]
                },
                "encryptKey": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "properties": {
                            "source": {
                              "type": "string",
                              "const": "env"
                            },
                            "provider": {
                              "type": "string",
                              "pattern": "^[a-z][a-z0-9_-]{0,63}$"
                            },
                            "id": {
                              "type": "string",
                              "pattern": "^[A-Z][A-Z0-9_]{0,127}$"
                            }
                          },
                          "required": [
                            "source",
                            "provider",
                            "id"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "source": {
                              "type": "string",
                              "const": "file"
                            },
                            "provider": {
                              "type": "string",
                              "pattern": "^[a-z][a-z0-9_-]{0,63}$"
                            },
                            "id": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "source",
                            "provider",
                            "id"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "source": {
                              "type": "string",
                              "const": "exec"
                            },
                            "provider": {
                              "type": "string",
                              "pattern": "^[a-z][a-z0-9_-]{0,63}$"
                            },
                            "id": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "source",
                            "provider",
                            "id"
                          ],
                          "additionalProperties": false
                        }
                      ]
                    }
                  ]
                },
                "verificationToken": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "oneOf": [
                        {
                          "type": "object",
                          "properties": {
                            "source": {
                              "type": "string",
                              "const": "env"
                            },
                            "provider": {
                              "type": "string",
                              "pattern": "^[a-z][a-z0-9_-]{0,63}$"
                            },
                            "id": {
                              "type": "string",
                              "pattern": "^[A-Z][A-Z0-9_]{0,127}$"
                            }
                          },
                          "required": [
                            "source",
                            "provider",
                            "id"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "source": {
                              "type": "string",
                              "const": "file"
                            },
                            "provider": {
                              "type": "string",
                              "pattern": "^[a-z][a-z0-9_-]{0,63}$"
                            },
                            "id": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "source",
                            "provider",
                            "id"
                          ],
                          "additionalProperties": false
                        },
                        {
                          "type": "object",
                          "properties": {
                            "source": {
                              "type": "string",
                              "const": "exec"
                            },
                            "provider": {
                              "type": "string",
                              "pattern": "^[a-z][a-z0-9_-]{0,63}$"
                            },
                            "id": {
                              "type": "string"
                            }
                          },
                          "required": [
                            "source",
                            "provider",
                            "id"
                          ],
                          "additionalProperties": false
                        }
                      ]
                    }
                  ]
                },
                "domain": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "feishu",
                        "lark"
                      ]
                    },
                    {
                      "type": "string",
                      "format": "uri",
                      "pattern": "^https:\\/\\/.*"
                    }
                  ]
                },
                "connectionMode": {
                  "type": "string",
                  "enum": [
                    "websocket",
                    "webhook"
                  ]
                },
                "webhookPath": {
                  "type": "string"
                },
                "webhookHost": {
                  "type": "string"
                },
                "webhookPort": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                "capabilities": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                },
                "markdown": {
                  "type": "object",
                  "properties": {
                    "mode": {
                      "type": "string",
                      "enum": [
                        "native",
                        "escape",
                        "strip"
                      ]
                    },
                    "tableMode": {
                      "type": "string",
                      "enum": [
                        "native",
                        "ascii",
                        "simple"
                      ]
                    }
                  },
                  "additionalProperties": false
                },
                "configWrites": {
                  "type": "boolean"
                },
                "dmPolicy": {
                  "type": "string",
                  "enum": [
                    "open",
                    "pairing",
                    "allowlist"
                  ]
                },
                "allowFrom": {
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  }
                },
                "groupPolicy": {
                  "anyOf": [
                    {
                      "type": "string",
                      "enum": [
                        "open",
                        "allowlist",
                        "disabled"
                      ]
                    },
                    {}
                  ]
                },
                "groupAllowFrom": {
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  }
                },
                "groupSenderAllowFrom": {
                  "type": "array",
                  "items": {
                    "anyOf": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "number"
                      }
                    ]
                  }
                },
                "requireMention": {
                  "type": "boolean"
                },
                "groups": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "requireMention": {
                        "type": "boolean"
                      },
                      "tools": {
                        "type": "object",
                        "properties": {
                          "allow": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          },
                          "deny": {
                            "type": "array",
                            "items": {
                              "type": "string"
                            }
                          }
                        },
                        "additionalProperties": false
                      },
                      "skills": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "enabled": {
                        "type": "boolean"
                      },
                      "allowFrom": {
                        "type": "array",
                        "items": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "number"
                            }
                          ]
                        }
                      },
                      "systemPrompt": {
                        "type": "string"
                      },
                      "groupSessionScope": {
                        "type": "string",
                        "enum": [
                          "group",
                          "group_sender",
                          "group_topic",
                          "group_topic_sender"
                        ]
                      },
                      "topicSessionMode": {
                        "type": "string",
                        "enum": [
                          "disabled",
                          "enabled"
                        ]
                      },
                      "replyInThread": {
                        "type": "string",
                        "enum": [
                          "disabled",
                          "enabled"
                        ]
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "historyLimit": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "dmHistoryLimit": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 9007199254740991
                },
                "dms": {
                  "type": "object",
                  "propertyNames": {
                    "type": "string"
                  },
                  "additionalProperties": {
                    "type": "object",
                    "properties": {
                      "enabled": {
                        "type": "boolean"
                      },
                      "systemPrompt": {
                        "type": "string"
                      }
                    },
                    "additionalProperties": false
                  }
                },
                "textChunkLimit": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 9007199254740991
                },
                "chunkMode": {
                  "type": "string",
                  "enum": [
                    "length",
                    "newline"
                  ]
                },
                "blockStreamingCoalesce": {
                  "type": "object",
                  "properties": {
                    "enabled": {
                      "type": "boolean"
                    },
                    "minDelayMs": {
                      "type": "integer",
                      "exclusiveMinimum": 0,
                      "maximum": 9007199254740991
                    },
                    "maxDelayMs": {
                      "type": "integer",
                      "exclusiveMinimum": 0,
                      "maximum": 9007199254740991
                    }
                  },
                  "additionalProperties": false
                },
                "mediaMaxMb": {
                  "type": "number",
                  "exclusiveMinimum": 0
                },
                "httpTimeoutMs": {
                  "type": "integer",
                  "exclusiveMinimum": 0,
                  "maximum": 300000
                },
                "heartbeat": {
                  "type": "object",
                  "properties": {
                    "visibility": {
                      "type": "string",
                      "enum": [
                        "visible",
                        "hidden"
                      ]
                    },
                    "intervalMs": {
                      "type": "integer",
                      "exclusiveMinimum": 0,
                      "maximum": 9007199254740991
                    }
                  },
                  "additionalProperties": false
                },
                "renderMode": {
                  "type": "string",
                  "enum": [
                    "auto",
                    "raw",
                    "card"
                  ]
                },
                "streaming": {
                  "type": "boolean"
                },
                "tools": {
                  "type": "object",
                  "properties": {
                    "doc": {
                      "type": "boolean"
                    },
                    "chat": {
                      "type": "boolean"
                    },
                    "wiki": {
                      "type": "boolean"
                    },
                    "drive": {
                      "type": "boolean"
                    },
                    "perm": {
                      "type": "boolean"
                    },
                    "scopes": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false
                },
                "actions": {
                  "type": "object",
                  "properties": {
                    "reactions": {
                      "type": "boolean"
                    }
                  },
                  "additionalProperties": false
                },
                "replyInThread": {
                  "type": "string",
                  "enum": [
                    "disabled",
                    "enabled"
                  ]
                },
                "reactionNotifications": {
                  "type": "string",
                  "enum": [
                    "off",
                    "own",
                    "all"
                  ]
                },
                "typingIndicator": {
                  "type": "boolean"
                },
                "resolveSenderNames": {
                  "type": "boolean"
                },
                "tts": {
                  "type": "object",
                  "properties": {
                    "auto": {
                      "type": "string",
                      "enum": [
                        "off",
                        "always",
                        "inbound",
                        "tagged"
                      ]
                    },
                    "enabled": {
                      "type": "boolean"
                    },
                    "mode": {
                      "type": "string",
                      "enum": [
                        "final",
                        "all"
                      ]
                    },
                    "provider": {
                      "type": "string"
                    },
                    "persona": {
                      "type": "string"
                    },
                    "personas": {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {
                        "type": "object",
                        "propertyNames": {
                          "type": "string"
                        },
                        "additionalProperties": {}
                      }
                    },
                    "summaryModel": {
                      "type": "string"
                    },
                    "modelOverrides": {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {}
                    },
                    "providers": {
                      "type": "object",
                      "propertyNames": {
                        "type": "string"
                      },
                      "additionalProperties": {
                        "type": "object",
                        "propertyNames": {
                          "type": "string"
                        },
                        "additionalProperties": {}
                      }
                    },
                    "prefsPath": {
                      "type": "string"
                    },
                    "maxTextLength": {
                      "type": "integer",
                      "minimum": 1,
                      "maximum": 9007199254740991
                    },
                    "timeoutMs": {
                      "type": "integer",
                      "minimum": 1000,
                      "maximum": 120000
                    }
                  },
                  "additionalProperties": false
                },
                "groupSessionScope": {
                  "type": "string",
                  "enum": [
                    "group",
                    "group_sender",
                    "group_topic",
                    "group_topic_sender"
                  ]
                },
                "topicSessionMode": {
                  "type": "string",
                  "enum": [
                    "disabled",
                    "enabled"
                  ]
                }
              },
              "additionalProperties": false
            }
          }
        },
        "required": [
          "domain",
          "connectionMode",
          "webhookPath",
          "dmPolicy",
          "groupPolicy",
          "reactionNotifications",
          "typingIndicator",
          "resolveSenderNames"
        ],
        "additionalProperties": false
      },
      "label": "Feishu",
      "description": "飞书/Lark enterprise messaging with doc/wiki/drive tools."
    }
  }
}
