{
  "service": "gitee",
  "displayName": "Gitee",
  "categories": [
    "Developer Tools"
  ],
  "authTypes": [
    "oauth2",
    "api_key"
  ],
  "auth": [
    {
      "type": "oauth2",
      "authorizationUrl": "https://gitee.com/oauth/authorize",
      "tokenUrl": "https://gitee.com/oauth/token",
      "refreshTokenUrl": "https://gitee.com/oauth/token",
      "scopes": [
        "user_info",
        "projects"
      ],
      "tokenEndpointAuthMethod": "client_secret_post"
    },
    {
      "type": "api_key",
      "label": "Personal access token",
      "placeholder": "Gitee personal access token",
      "description": "Gitee personal access token used with the public API V5."
    }
  ],
  "homepageUrl": "https://gitee.com",
  "actions": [
    {
      "id": "gitee.get_current_user",
      "service": "gitee",
      "name": "get_current_user",
      "description": "Get the current authenticated Gitee user profile.",
      "requiredScopes": [
        "user_info"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "Gitee action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The Gitee user ID."
          },
          "login": {
            "type": "string",
            "description": "The Gitee username."
          },
          "name": {
            "anyOf": [
              {
                "type": "string",
                "description": "The user's display name when set."
              },
              {
                "type": "null"
              }
            ]
          },
          "email": {
            "anyOf": [
              {
                "type": "string",
                "description": "The user's email address when visible."
              },
              {
                "type": "null"
              }
            ]
          },
          "avatar_url": {
            "type": "string",
            "description": "The user's avatar URL."
          },
          "html_url": {
            "type": "string",
            "description": "The user's Gitee profile URL."
          },
          "bio": {
            "anyOf": [
              {
                "type": "string",
                "description": "The user's biography when set."
              },
              {
                "type": "null"
              }
            ]
          },
          "public_repos": {
            "type": "integer",
            "description": "The number of public repositories."
          },
          "followers": {
            "type": "integer",
            "description": "The user's follower count."
          },
          "following": {
            "type": "integer",
            "description": "The number of users followed by this user."
          },
          "created_at": {
            "type": "string",
            "description": "The account creation timestamp."
          },
          "updated_at": {
            "type": "string",
            "description": "The account update timestamp."
          }
        },
        "additionalProperties": true,
        "description": "A Gitee user record."
      }
    },
    {
      "id": "gitee.get_repository",
      "service": "gitee",
      "name": "get_repository",
      "description": "Get a Gitee repository by namespace owner and repository path.",
      "requiredScopes": [
        "projects"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "owner": {
            "type": "string",
            "minLength": 1,
            "description": "The repository namespace path."
          },
          "repo": {
            "type": "string",
            "minLength": 1,
            "description": "The repository path."
          }
        },
        "additionalProperties": false,
        "required": [
          "owner",
          "repo"
        ],
        "description": "Gitee action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "description": "The Gitee repository ID."
          },
          "full_name": {
            "type": "string",
            "description": "The repository name including its namespace."
          },
          "human_name": {
            "type": "string",
            "description": "The human-readable repository name."
          },
          "path": {
            "type": "string",
            "description": "The repository path."
          },
          "name": {
            "type": "string",
            "description": "The repository name."
          },
          "description": {
            "anyOf": [
              {
                "type": "string",
                "description": "The repository description when set."
              },
              {
                "type": "null"
              }
            ]
          },
          "private": {
            "type": "boolean",
            "description": "Whether the repository is private."
          },
          "public": {
            "type": "boolean",
            "description": "Whether the repository is public."
          },
          "internal": {
            "type": "boolean",
            "description": "Whether the repository is internally visible."
          },
          "fork": {
            "type": "boolean",
            "description": "Whether the repository is a fork."
          },
          "html_url": {
            "type": "string",
            "description": "The repository web URL."
          },
          "ssh_url": {
            "type": "string",
            "description": "The repository SSH clone URL."
          },
          "default_branch": {
            "type": "string",
            "description": "The default branch name."
          },
          "language": {
            "anyOf": [
              {
                "type": "string",
                "description": "The primary repository language when detected."
              },
              {
                "type": "null"
              }
            ]
          },
          "forks_count": {
            "type": "integer",
            "description": "The number of forks."
          },
          "stargazers_count": {
            "type": "integer",
            "description": "The number of stars."
          },
          "watchers_count": {
            "type": "integer",
            "description": "The number of watchers."
          },
          "open_issues_count": {
            "type": "integer",
            "description": "The number of open issues."
          },
          "created_at": {
            "type": "string",
            "description": "The repository creation timestamp."
          },
          "updated_at": {
            "type": "string",
            "description": "The repository update timestamp."
          },
          "pushed_at": {
            "anyOf": [
              {
                "type": "string",
                "description": "The most recent push timestamp when the repository has commits."
              },
              {
                "type": "null"
              }
            ]
          },
          "owner": {
            "type": "object",
            "properties": {
              "id": {
                "type": "integer",
                "description": "The Gitee user ID."
              },
              "login": {
                "type": "string",
                "description": "The Gitee username."
              },
              "name": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The user's display name when set."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "email": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The user's email address when visible."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "avatar_url": {
                "type": "string",
                "description": "The user's avatar URL."
              },
              "html_url": {
                "type": "string",
                "description": "The user's Gitee profile URL."
              },
              "bio": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The user's biography when set."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "public_repos": {
                "type": "integer",
                "description": "The number of public repositories."
              },
              "followers": {
                "type": "integer",
                "description": "The user's follower count."
              },
              "following": {
                "type": "integer",
                "description": "The number of users followed by this user."
              },
              "created_at": {
                "type": "string",
                "description": "The account creation timestamp."
              },
              "updated_at": {
                "type": "string",
                "description": "The account update timestamp."
              }
            },
            "additionalProperties": true,
            "description": "A Gitee user record."
          }
        },
        "additionalProperties": true,
        "description": "A Gitee repository record."
      }
    },
    {
      "id": "gitee.list_my_repositories",
      "service": "gitee",
      "name": "list_my_repositories",
      "description": "List repositories visible to the authenticated Gitee user.",
      "requiredScopes": [
        "projects"
      ],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "visibility": {
            "type": "string",
            "enum": [
              "private",
              "public",
              "all"
            ],
            "description": "Filter repositories by visibility."
          },
          "q": {
            "type": "string",
            "minLength": 1,
            "description": "Search repositories by keyword."
          },
          "sort": {
            "type": "string",
            "enum": [
              "created",
              "updated",
              "pushed",
              "full_name"
            ],
            "description": "Sort repositories by a Gitee-supported field."
          },
          "direction": {
            "type": "string",
            "enum": [
              "asc",
              "desc"
            ],
            "description": "Sort direction."
          },
          "page": {
            "type": "integer",
            "minimum": 1,
            "description": "The page number to fetch."
          },
          "perPage": {
            "type": "integer",
            "minimum": 1,
            "maximum": 100,
            "description": "The number of repositories per page."
          }
        },
        "additionalProperties": false,
        "description": "Gitee action input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "repositories": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "integer",
                  "description": "The Gitee repository ID."
                },
                "full_name": {
                  "type": "string",
                  "description": "The repository name including its namespace."
                },
                "human_name": {
                  "type": "string",
                  "description": "The human-readable repository name."
                },
                "path": {
                  "type": "string",
                  "description": "The repository path."
                },
                "name": {
                  "type": "string",
                  "description": "The repository name."
                },
                "description": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The repository description when set."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "private": {
                  "type": "boolean",
                  "description": "Whether the repository is private."
                },
                "public": {
                  "type": "boolean",
                  "description": "Whether the repository is public."
                },
                "internal": {
                  "type": "boolean",
                  "description": "Whether the repository is internally visible."
                },
                "fork": {
                  "type": "boolean",
                  "description": "Whether the repository is a fork."
                },
                "html_url": {
                  "type": "string",
                  "description": "The repository web URL."
                },
                "ssh_url": {
                  "type": "string",
                  "description": "The repository SSH clone URL."
                },
                "default_branch": {
                  "type": "string",
                  "description": "The default branch name."
                },
                "language": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The primary repository language when detected."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "forks_count": {
                  "type": "integer",
                  "description": "The number of forks."
                },
                "stargazers_count": {
                  "type": "integer",
                  "description": "The number of stars."
                },
                "watchers_count": {
                  "type": "integer",
                  "description": "The number of watchers."
                },
                "open_issues_count": {
                  "type": "integer",
                  "description": "The number of open issues."
                },
                "created_at": {
                  "type": "string",
                  "description": "The repository creation timestamp."
                },
                "updated_at": {
                  "type": "string",
                  "description": "The repository update timestamp."
                },
                "pushed_at": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The most recent push timestamp when the repository has commits."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "owner": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "The Gitee user ID."
                    },
                    "login": {
                      "type": "string",
                      "description": "The Gitee username."
                    },
                    "name": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The user's display name when set."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "email": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The user's email address when visible."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "avatar_url": {
                      "type": "string",
                      "description": "The user's avatar URL."
                    },
                    "html_url": {
                      "type": "string",
                      "description": "The user's Gitee profile URL."
                    },
                    "bio": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The user's biography when set."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "public_repos": {
                      "type": "integer",
                      "description": "The number of public repositories."
                    },
                    "followers": {
                      "type": "integer",
                      "description": "The user's follower count."
                    },
                    "following": {
                      "type": "integer",
                      "description": "The number of users followed by this user."
                    },
                    "created_at": {
                      "type": "string",
                      "description": "The account creation timestamp."
                    },
                    "updated_at": {
                      "type": "string",
                      "description": "The account update timestamp."
                    }
                  },
                  "additionalProperties": true,
                  "description": "A Gitee user record."
                }
              },
              "additionalProperties": true,
              "description": "A Gitee repository record."
            },
            "description": "Repositories returned by Gitee."
          }
        },
        "additionalProperties": false,
        "required": [
          "repositories"
        ],
        "description": "A Gitee repository list response."
      }
    }
  ]
}
