import type { UnifapiOperationDefinition } from "../operations.ts";

export const xOperations: readonly UnifapiOperationDefinition[] = [
  {
    name: "get_x_autocomplete",
    operationId: "getXAutocomplete",
    description: "Autocomplete X users, topics, hashtags, and cashtags.",
    method: "GET",
    path: "/x/autocomplete",
    pathFields: [],
    queryFields: ["query"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        query: {
          type: "string",
          minLength: 1,
          description: "The query value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Autocomplete X users, topics, hashtags, and cashtags.",
      required: ["query"],
    },
    paginated: false,
  },
  {
    name: "get_x_community_about",
    operationId: "getXCommunitiesByIdAbout",
    description: "Get an X Community about timeline.",
    method: "GET",
    path: "/x/communities/{id}/about",
    pathFields: ["id"],
    queryFields: [
      "expansions",
      "tweet.fields",
      "user.fields",
      "media.fields",
      "place.fields",
      "poll.fields",
      "pagination_token",
      "next_token",
      "max_results",
    ],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        id: {
          type: "string",
          minLength: 1,
          description: "X resource id.",
        },
        expansions: {
          type: "string",
          description: "The expansions value.",
        },
        "tweet.fields": {
          type: "string",
          description: "The tweet.fields value.",
        },
        "user.fields": {
          type: "string",
          description: "The user.fields value.",
        },
        "media.fields": {
          type: "string",
          description: "The media.fields value.",
        },
        "place.fields": {
          type: "string",
          description: "The place.fields value.",
        },
        "poll.fields": {
          type: "string",
          description: "The poll.fields value.",
        },
        pagination_token: {
          type: "string",
          description: "The pagination_token value.",
        },
        next_token: {
          type: "string",
          description: "The next_token value.",
        },
        max_results: {
          type: "integer",
          minimum: 1,
          maximum: 100,
          description: "The max_results value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get an X Community about timeline.",
      required: ["id"],
    },
    paginated: true,
  },
  {
    name: "list_x_community_media",
    operationId: "getXCommunitiesByIdMedia",
    description: "Get media Posts from an X Community.",
    method: "GET",
    path: "/x/communities/{id}/media",
    pathFields: ["id"],
    queryFields: [
      "expansions",
      "tweet.fields",
      "user.fields",
      "media.fields",
      "place.fields",
      "poll.fields",
      "pagination_token",
      "next_token",
      "max_results",
    ],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        id: {
          type: "string",
          minLength: 1,
          description: "X resource id.",
        },
        expansions: {
          type: "string",
          description: "The expansions value.",
        },
        "tweet.fields": {
          type: "string",
          description: "The tweet.fields value.",
        },
        "user.fields": {
          type: "string",
          description: "The user.fields value.",
        },
        "media.fields": {
          type: "string",
          description: "The media.fields value.",
        },
        "place.fields": {
          type: "string",
          description: "The place.fields value.",
        },
        "poll.fields": {
          type: "string",
          description: "The poll.fields value.",
        },
        pagination_token: {
          type: "string",
          description: "The pagination_token value.",
        },
        next_token: {
          type: "string",
          description: "The next_token value.",
        },
        max_results: {
          type: "integer",
          minimum: 1,
          maximum: 100,
          description: "The max_results value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get media Posts from an X Community.",
      required: ["id"],
    },
    paginated: true,
  },
  {
    name: "search_x_community_member",
    operationId: "getXCommunitiesByIdMemberSearch",
    description: "Search members in an X Community.",
    method: "GET",
    path: "/x/communities/{id}/member_search",
    pathFields: ["id"],
    queryFields: [
      "expansions",
      "tweet.fields",
      "user.fields",
      "media.fields",
      "place.fields",
      "poll.fields",
      "pagination_token",
      "next_token",
      "max_results",
      "query",
    ],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        id: {
          type: "string",
          minLength: 1,
          description: "X resource id.",
        },
        expansions: {
          type: "string",
          description: "The expansions value.",
        },
        "tweet.fields": {
          type: "string",
          description: "The tweet.fields value.",
        },
        "user.fields": {
          type: "string",
          description: "The user.fields value.",
        },
        "media.fields": {
          type: "string",
          description: "The media.fields value.",
        },
        "place.fields": {
          type: "string",
          description: "The place.fields value.",
        },
        "poll.fields": {
          type: "string",
          description: "The poll.fields value.",
        },
        pagination_token: {
          type: "string",
          description: "The pagination_token value.",
        },
        next_token: {
          type: "string",
          description: "The next_token value.",
        },
        max_results: {
          type: "integer",
          minimum: 1,
          maximum: 100,
          description: "The max_results value.",
        },
        query: {
          type: "string",
          minLength: 1,
          description: "The query value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Search members in an X Community.",
      required: ["id", "query"],
    },
    paginated: true,
  },
  {
    name: "list_x_community_members",
    operationId: "getXCommunitiesByIdMembers",
    description: "Get members of an X Community.",
    method: "GET",
    path: "/x/communities/{id}/members",
    pathFields: ["id"],
    queryFields: [
      "expansions",
      "tweet.fields",
      "user.fields",
      "media.fields",
      "place.fields",
      "poll.fields",
      "pagination_token",
      "next_token",
      "max_results",
    ],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        id: {
          type: "string",
          minLength: 1,
          description: "X resource id.",
        },
        expansions: {
          type: "string",
          description: "The expansions value.",
        },
        "tweet.fields": {
          type: "string",
          description: "The tweet.fields value.",
        },
        "user.fields": {
          type: "string",
          description: "The user.fields value.",
        },
        "media.fields": {
          type: "string",
          description: "The media.fields value.",
        },
        "place.fields": {
          type: "string",
          description: "The place.fields value.",
        },
        "poll.fields": {
          type: "string",
          description: "The poll.fields value.",
        },
        pagination_token: {
          type: "string",
          description: "The pagination_token value.",
        },
        next_token: {
          type: "string",
          description: "The next_token value.",
        },
        max_results: {
          type: "integer",
          minimum: 1,
          maximum: 100,
          description: "The max_results value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get members of an X Community.",
      required: ["id"],
    },
    paginated: true,
  },
  {
    name: "list_x_community_moderators",
    operationId: "getXCommunitiesByIdModerators",
    description: "Get moderators of an X Community.",
    method: "GET",
    path: "/x/communities/{id}/moderators",
    pathFields: ["id"],
    queryFields: [
      "expansions",
      "tweet.fields",
      "user.fields",
      "media.fields",
      "place.fields",
      "poll.fields",
      "pagination_token",
      "next_token",
      "max_results",
    ],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        id: {
          type: "string",
          minLength: 1,
          description: "X resource id.",
        },
        expansions: {
          type: "string",
          description: "The expansions value.",
        },
        "tweet.fields": {
          type: "string",
          description: "The tweet.fields value.",
        },
        "user.fields": {
          type: "string",
          description: "The user.fields value.",
        },
        "media.fields": {
          type: "string",
          description: "The media.fields value.",
        },
        "place.fields": {
          type: "string",
          description: "The place.fields value.",
        },
        "poll.fields": {
          type: "string",
          description: "The poll.fields value.",
        },
        pagination_token: {
          type: "string",
          description: "The pagination_token value.",
        },
        next_token: {
          type: "string",
          description: "The next_token value.",
        },
        max_results: {
          type: "integer",
          minimum: 1,
          maximum: 100,
          description: "The max_results value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get moderators of an X Community.",
      required: ["id"],
    },
    paginated: true,
  },
  {
    name: "get_x_community",
    operationId: "getXCommunitiesById",
    description: "Get X Community by ID.",
    method: "GET",
    path: "/x/communities/{id}",
    pathFields: ["id"],
    queryFields: ["community.fields"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        id: {
          type: "string",
          minLength: 1,
          description: "X resource id.",
        },
        "community.fields": {
          type: "string",
          description: "The community.fields value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get X Community by ID.",
      required: ["id"],
    },
    paginated: false,
  },
  {
    name: "list_x_community_tweets",
    operationId: "getXCommunitiesByIdTweets",
    description: "Get Posts from an X Community.",
    method: "GET",
    path: "/x/communities/{id}/tweets",
    pathFields: ["id"],
    queryFields: [
      "expansions",
      "tweet.fields",
      "user.fields",
      "media.fields",
      "place.fields",
      "poll.fields",
      "pagination_token",
      "next_token",
      "max_results",
    ],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        id: {
          type: "string",
          minLength: 1,
          description: "X resource id.",
        },
        expansions: {
          type: "string",
          description: "The expansions value.",
        },
        "tweet.fields": {
          type: "string",
          description: "The tweet.fields value.",
        },
        "user.fields": {
          type: "string",
          description: "The user.fields value.",
        },
        "media.fields": {
          type: "string",
          description: "The media.fields value.",
        },
        "place.fields": {
          type: "string",
          description: "The place.fields value.",
        },
        "poll.fields": {
          type: "string",
          description: "The poll.fields value.",
        },
        pagination_token: {
          type: "string",
          description: "The pagination_token value.",
        },
        next_token: {
          type: "string",
          description: "The next_token value.",
        },
        max_results: {
          type: "integer",
          minimum: 1,
          maximum: 100,
          description: "The max_results value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get Posts from an X Community.",
      required: ["id"],
    },
    paginated: true,
  },
  {
    name: "search_x_communities",
    operationId: "getXCommunitiesSearch",
    description: "Search X Communities.",
    method: "GET",
    path: "/x/communities/search",
    pathFields: [],
    queryFields: [
      "expansions",
      "tweet.fields",
      "user.fields",
      "media.fields",
      "place.fields",
      "poll.fields",
      "pagination_token",
      "next_token",
      "max_results",
      "query",
      "community.fields",
    ],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        expansions: {
          type: "string",
          description: "The expansions value.",
        },
        "tweet.fields": {
          type: "string",
          description: "The tweet.fields value.",
        },
        "user.fields": {
          type: "string",
          description: "The user.fields value.",
        },
        "media.fields": {
          type: "string",
          description: "The media.fields value.",
        },
        "place.fields": {
          type: "string",
          description: "The place.fields value.",
        },
        "poll.fields": {
          type: "string",
          description: "The poll.fields value.",
        },
        pagination_token: {
          type: "string",
          description: "The pagination_token value.",
        },
        next_token: {
          type: "string",
          description: "The next_token value.",
        },
        max_results: {
          type: "integer",
          minimum: 1,
          maximum: 100,
          description: "The max_results value.",
        },
        query: {
          type: "string",
          minLength: 1,
          description: "The query value.",
        },
        "community.fields": {
          type: "string",
          description: "The community.fields value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Search X Communities.",
      required: ["query"],
    },
    paginated: true,
  },
  {
    name: "check_x_friendship",
    operationId: "getXFriendshipsShow",
    description: "Check whether one X user follows another.",
    method: "GET",
    path: "/x/friendships/show",
    pathFields: [],
    queryFields: ["source_id", "target_id", "source_screen_name", "target_screen_name"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        source_id: {
          type: "string",
          description: "The source_id value.",
        },
        target_id: {
          type: "string",
          description: "The target_id value.",
        },
        source_screen_name: {
          type: "string",
          description: "The source_screen_name value.",
        },
        target_screen_name: {
          type: "string",
          description: "The target_screen_name value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Check whether one X user follows another.",
    },
    paginated: false,
  },
  {
    name: "list_x_list_followers",
    operationId: "getXListsByIdFollowers",
    description: "Get followers/subscribers of an X List.",
    method: "GET",
    path: "/x/lists/{id}/followers",
    pathFields: ["id"],
    queryFields: [
      "expansions",
      "tweet.fields",
      "user.fields",
      "media.fields",
      "place.fields",
      "poll.fields",
      "pagination_token",
      "next_token",
      "max_results",
    ],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        id: {
          type: "string",
          minLength: 1,
          description: "X resource id.",
        },
        expansions: {
          type: "string",
          description: "The expansions value.",
        },
        "tweet.fields": {
          type: "string",
          description: "The tweet.fields value.",
        },
        "user.fields": {
          type: "string",
          description: "The user.fields value.",
        },
        "media.fields": {
          type: "string",
          description: "The media.fields value.",
        },
        "place.fields": {
          type: "string",
          description: "The place.fields value.",
        },
        "poll.fields": {
          type: "string",
          description: "The poll.fields value.",
        },
        pagination_token: {
          type: "string",
          description: "The pagination_token value.",
        },
        next_token: {
          type: "string",
          description: "The next_token value.",
        },
        max_results: {
          type: "integer",
          minimum: 1,
          maximum: 100,
          description: "The max_results value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get followers/subscribers of an X List.",
      required: ["id"],
    },
    paginated: true,
  },
  {
    name: "list_x_list_members",
    operationId: "getXListsByIdMembers",
    description: "Get members of an X List.",
    method: "GET",
    path: "/x/lists/{id}/members",
    pathFields: ["id"],
    queryFields: [
      "expansions",
      "tweet.fields",
      "user.fields",
      "media.fields",
      "place.fields",
      "poll.fields",
      "pagination_token",
      "next_token",
      "max_results",
    ],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        id: {
          type: "string",
          minLength: 1,
          description: "X resource id.",
        },
        expansions: {
          type: "string",
          description: "The expansions value.",
        },
        "tweet.fields": {
          type: "string",
          description: "The tweet.fields value.",
        },
        "user.fields": {
          type: "string",
          description: "The user.fields value.",
        },
        "media.fields": {
          type: "string",
          description: "The media.fields value.",
        },
        "place.fields": {
          type: "string",
          description: "The place.fields value.",
        },
        "poll.fields": {
          type: "string",
          description: "The poll.fields value.",
        },
        pagination_token: {
          type: "string",
          description: "The pagination_token value.",
        },
        next_token: {
          type: "string",
          description: "The next_token value.",
        },
        max_results: {
          type: "integer",
          minimum: 1,
          maximum: 100,
          description: "The max_results value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get members of an X List.",
      required: ["id"],
    },
    paginated: true,
  },
  {
    name: "list_x_list_tweets",
    operationId: "getXListsByIdTweets",
    description: "Get Posts from an X List.",
    method: "GET",
    path: "/x/lists/{id}/tweets",
    pathFields: ["id"],
    queryFields: [
      "expansions",
      "tweet.fields",
      "user.fields",
      "media.fields",
      "place.fields",
      "poll.fields",
      "pagination_token",
      "next_token",
      "max_results",
    ],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        id: {
          type: "string",
          minLength: 1,
          description: "X resource id.",
        },
        expansions: {
          type: "string",
          description: "The expansions value.",
        },
        "tweet.fields": {
          type: "string",
          description: "The tweet.fields value.",
        },
        "user.fields": {
          type: "string",
          description: "The user.fields value.",
        },
        "media.fields": {
          type: "string",
          description: "The media.fields value.",
        },
        "place.fields": {
          type: "string",
          description: "The place.fields value.",
        },
        "poll.fields": {
          type: "string",
          description: "The poll.fields value.",
        },
        pagination_token: {
          type: "string",
          description: "The pagination_token value.",
        },
        next_token: {
          type: "string",
          description: "The next_token value.",
        },
        max_results: {
          type: "integer",
          minimum: 1,
          maximum: 100,
          description: "The max_results value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get Posts from an X List.",
      required: ["id"],
    },
    paginated: true,
  },
  {
    name: "search_x_lists",
    operationId: "getXListsSearch",
    description: "Search X Lists.",
    method: "GET",
    path: "/x/lists/search",
    pathFields: [],
    queryFields: [
      "expansions",
      "tweet.fields",
      "user.fields",
      "media.fields",
      "place.fields",
      "poll.fields",
      "pagination_token",
      "next_token",
      "max_results",
      "query",
    ],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        expansions: {
          type: "string",
          description: "The expansions value.",
        },
        "tweet.fields": {
          type: "string",
          description: "The tweet.fields value.",
        },
        "user.fields": {
          type: "string",
          description: "The user.fields value.",
        },
        "media.fields": {
          type: "string",
          description: "The media.fields value.",
        },
        "place.fields": {
          type: "string",
          description: "The place.fields value.",
        },
        "poll.fields": {
          type: "string",
          description: "The poll.fields value.",
        },
        pagination_token: {
          type: "string",
          description: "The pagination_token value.",
        },
        next_token: {
          type: "string",
          description: "The next_token value.",
        },
        max_results: {
          type: "integer",
          minimum: 1,
          maximum: 100,
          description: "The max_results value.",
        },
        query: {
          type: "string",
          minLength: 1,
          description: "The query value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Search X Lists.",
      required: ["query"],
    },
    paginated: true,
  },
  {
    name: "get_x_trends_by_woeid",
    operationId: "getXTrendsByWoeidByWoeid",
    description: "Get X trends by WOEID.",
    method: "GET",
    path: "/x/trends/by/woeid/{woeid}",
    pathFields: ["woeid"],
    queryFields: ["max_trends", "trend.fields"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        woeid: {
          type: "string",
          pattern: "^\\d+$",
          description: "The woeid value.",
        },
        max_trends: {
          type: "integer",
          minimum: 1,
          maximum: 50,
          description: "The max_trends value.",
        },
        "trend.fields": {
          type: "string",
          description: "The trend.fields value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get X trends by WOEID.",
      required: ["woeid"],
    },
    paginated: true,
  },
  {
    name: "get_x_tweet_article",
    operationId: "getXTweetsByIdArticle",
    description: "Get the article-style payload for an X Post.",
    method: "GET",
    path: "/x/tweets/{id}/article",
    pathFields: ["id"],
    queryFields: ["expansions", "tweet.fields", "user.fields", "media.fields", "place.fields", "poll.fields"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        id: {
          type: "string",
          minLength: 1,
          description: "X resource id.",
        },
        expansions: {
          type: "string",
          description: "The expansions value.",
        },
        "tweet.fields": {
          type: "string",
          description: "The tweet.fields value.",
        },
        "user.fields": {
          type: "string",
          description: "The user.fields value.",
        },
        "media.fields": {
          type: "string",
          description: "The media.fields value.",
        },
        "place.fields": {
          type: "string",
          description: "The place.fields value.",
        },
        "poll.fields": {
          type: "string",
          description: "The poll.fields value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get the article-style payload for an X Post.",
      required: ["id"],
    },
    paginated: false,
  },
  {
    name: "list_x_tweet_liking_users",
    operationId: "getXTweetsByIdLikingUsers",
    description: "Get users who liked an X Post.",
    method: "GET",
    path: "/x/tweets/{id}/liking_users",
    pathFields: ["id"],
    queryFields: [
      "expansions",
      "tweet.fields",
      "user.fields",
      "media.fields",
      "place.fields",
      "poll.fields",
      "pagination_token",
      "next_token",
      "max_results",
    ],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        id: {
          type: "string",
          minLength: 1,
          description: "X resource id.",
        },
        expansions: {
          type: "string",
          description: "The expansions value.",
        },
        "tweet.fields": {
          type: "string",
          description: "The tweet.fields value.",
        },
        "user.fields": {
          type: "string",
          description: "The user.fields value.",
        },
        "media.fields": {
          type: "string",
          description: "The media.fields value.",
        },
        "place.fields": {
          type: "string",
          description: "The place.fields value.",
        },
        "poll.fields": {
          type: "string",
          description: "The poll.fields value.",
        },
        pagination_token: {
          type: "string",
          description: "The pagination_token value.",
        },
        next_token: {
          type: "string",
          description: "The next_token value.",
        },
        max_results: {
          type: "integer",
          minimum: 1,
          maximum: 100,
          description: "The max_results value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get users who liked an X Post.",
      required: ["id"],
    },
    paginated: true,
  },
  {
    name: "list_x_tweet_quotes",
    operationId: "getXTweetsByIdQuoteTweets",
    description: "Get quote Posts for an X Post.",
    method: "GET",
    path: "/x/tweets/{id}/quote_tweets",
    pathFields: ["id"],
    queryFields: [
      "expansions",
      "tweet.fields",
      "user.fields",
      "media.fields",
      "place.fields",
      "poll.fields",
      "pagination_token",
      "next_token",
      "max_results",
    ],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        id: {
          type: "string",
          minLength: 1,
          description: "X resource id.",
        },
        expansions: {
          type: "string",
          description: "The expansions value.",
        },
        "tweet.fields": {
          type: "string",
          description: "The tweet.fields value.",
        },
        "user.fields": {
          type: "string",
          description: "The user.fields value.",
        },
        "media.fields": {
          type: "string",
          description: "The media.fields value.",
        },
        "place.fields": {
          type: "string",
          description: "The place.fields value.",
        },
        "poll.fields": {
          type: "string",
          description: "The poll.fields value.",
        },
        pagination_token: {
          type: "string",
          description: "The pagination_token value.",
        },
        next_token: {
          type: "string",
          description: "The next_token value.",
        },
        max_results: {
          type: "integer",
          minimum: 1,
          maximum: 100,
          description: "The max_results value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get quote Posts for an X Post.",
      required: ["id"],
    },
    paginated: true,
  },
  {
    name: "list_x_tweet_repost_users",
    operationId: "getXTweetsByIdRetweetedBy",
    description: "Get users who reposted an X Post.",
    method: "GET",
    path: "/x/tweets/{id}/retweeted_by",
    pathFields: ["id"],
    queryFields: [
      "expansions",
      "tweet.fields",
      "user.fields",
      "media.fields",
      "place.fields",
      "poll.fields",
      "pagination_token",
      "next_token",
      "max_results",
    ],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        id: {
          type: "string",
          minLength: 1,
          description: "X resource id.",
        },
        expansions: {
          type: "string",
          description: "The expansions value.",
        },
        "tweet.fields": {
          type: "string",
          description: "The tweet.fields value.",
        },
        "user.fields": {
          type: "string",
          description: "The user.fields value.",
        },
        "media.fields": {
          type: "string",
          description: "The media.fields value.",
        },
        "place.fields": {
          type: "string",
          description: "The place.fields value.",
        },
        "poll.fields": {
          type: "string",
          description: "The poll.fields value.",
        },
        pagination_token: {
          type: "string",
          description: "The pagination_token value.",
        },
        next_token: {
          type: "string",
          description: "The next_token value.",
        },
        max_results: {
          type: "integer",
          minimum: 1,
          maximum: 100,
          description: "The max_results value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get users who reposted an X Post.",
      required: ["id"],
    },
    paginated: true,
  },
  {
    name: "get_x_tweet",
    operationId: "getXTweetsById",
    description: "Get X Post by ID.",
    method: "GET",
    path: "/x/tweets/{id}",
    pathFields: ["id"],
    queryFields: ["expansions", "tweet.fields", "user.fields", "media.fields", "place.fields", "poll.fields"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        id: {
          type: "string",
          minLength: 1,
          description: "X resource id.",
        },
        expansions: {
          type: "string",
          description: "The expansions value.",
        },
        "tweet.fields": {
          type: "string",
          description: "The tweet.fields value.",
        },
        "user.fields": {
          type: "string",
          description: "The user.fields value.",
        },
        "media.fields": {
          type: "string",
          description: "The media.fields value.",
        },
        "place.fields": {
          type: "string",
          description: "The place.fields value.",
        },
        "poll.fields": {
          type: "string",
          description: "The poll.fields value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get X Post by ID.",
      required: ["id"],
    },
    paginated: false,
  },
  {
    name: "translate_x_tweet",
    operationId: "getXTweetsByIdTranslation",
    description: "Translate an X Post.",
    method: "GET",
    path: "/x/tweets/{id}/translation",
    pathFields: ["id"],
    queryFields: ["language"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        id: {
          type: "string",
          minLength: 1,
          description: "X resource id.",
        },
        language: {
          type: "string",
          minLength: 1,
          description: "The language value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Translate an X Post.",
      required: ["id", "language"],
    },
    paginated: false,
  },
  {
    name: "get_x_tweets",
    operationId: "getXTweets",
    description: "Get X Posts by IDs.",
    method: "GET",
    path: "/x/tweets",
    pathFields: [],
    queryFields: ["expansions", "tweet.fields", "user.fields", "media.fields", "place.fields", "poll.fields", "ids"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        expansions: {
          type: "string",
          description: "The expansions value.",
        },
        "tweet.fields": {
          type: "string",
          description: "The tweet.fields value.",
        },
        "user.fields": {
          type: "string",
          description: "The user.fields value.",
        },
        "media.fields": {
          type: "string",
          description: "The media.fields value.",
        },
        "place.fields": {
          type: "string",
          description: "The place.fields value.",
        },
        "poll.fields": {
          type: "string",
          description: "The poll.fields value.",
        },
        ids: {
          type: "string",
          minLength: 1,
          description: "Comma-separated resource ids.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get X Posts by IDs.",
      required: ["ids"],
    },
    paginated: false,
  },
  {
    name: "search_x_recent_tweets",
    operationId: "getXTweetsSearchRecent",
    description: "Search recent X Posts.",
    method: "GET",
    path: "/x/tweets/search/recent",
    pathFields: [],
    queryFields: [
      "expansions",
      "tweet.fields",
      "user.fields",
      "media.fields",
      "place.fields",
      "poll.fields",
      "pagination_token",
      "next_token",
      "max_results",
      "query",
    ],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        expansions: {
          type: "string",
          description: "The expansions value.",
        },
        "tweet.fields": {
          type: "string",
          description: "The tweet.fields value.",
        },
        "user.fields": {
          type: "string",
          description: "The user.fields value.",
        },
        "media.fields": {
          type: "string",
          description: "The media.fields value.",
        },
        "place.fields": {
          type: "string",
          description: "The place.fields value.",
        },
        "poll.fields": {
          type: "string",
          description: "The poll.fields value.",
        },
        pagination_token: {
          type: "string",
          description: "The pagination_token value.",
        },
        next_token: {
          type: "string",
          description: "The next_token value.",
        },
        max_results: {
          type: "integer",
          minimum: 1,
          maximum: 100,
          description: "The max_results value.",
        },
        query: {
          type: "string",
          minLength: 1,
          description: "Recent search query.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Search recent X Posts.",
      required: ["query"],
    },
    paginated: true,
  },
  {
    name: "list_x_user_follower_ids",
    operationId: "getXUsersByIdFollowersIds",
    description: "Get follower IDs for an X user.",
    method: "GET",
    path: "/x/users/{id}/followers/ids",
    pathFields: ["id"],
    queryFields: [
      "expansions",
      "tweet.fields",
      "user.fields",
      "media.fields",
      "place.fields",
      "poll.fields",
      "pagination_token",
      "next_token",
      "max_results",
    ],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        id: {
          type: "string",
          minLength: 1,
          description: "X resource id.",
        },
        expansions: {
          type: "string",
          description: "The expansions value.",
        },
        "tweet.fields": {
          type: "string",
          description: "The tweet.fields value.",
        },
        "user.fields": {
          type: "string",
          description: "The user.fields value.",
        },
        "media.fields": {
          type: "string",
          description: "The media.fields value.",
        },
        "place.fields": {
          type: "string",
          description: "The place.fields value.",
        },
        "poll.fields": {
          type: "string",
          description: "The poll.fields value.",
        },
        pagination_token: {
          type: "string",
          description: "The pagination_token value.",
        },
        next_token: {
          type: "string",
          description: "The next_token value.",
        },
        max_results: {
          type: "integer",
          minimum: 1,
          maximum: 100,
          description: "The max_results value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get follower IDs for an X user.",
      required: ["id"],
    },
    paginated: true,
  },
  {
    name: "list_x_user_followers",
    operationId: "getXUsersByIdFollowers",
    description: "Get an X user's followers.",
    method: "GET",
    path: "/x/users/{id}/followers",
    pathFields: ["id"],
    queryFields: [
      "expansions",
      "tweet.fields",
      "user.fields",
      "media.fields",
      "place.fields",
      "poll.fields",
      "pagination_token",
      "next_token",
      "max_results",
    ],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        id: {
          type: "string",
          minLength: 1,
          description: "X resource id.",
        },
        expansions: {
          type: "string",
          description: "The expansions value.",
        },
        "tweet.fields": {
          type: "string",
          description: "The tweet.fields value.",
        },
        "user.fields": {
          type: "string",
          description: "The user.fields value.",
        },
        "media.fields": {
          type: "string",
          description: "The media.fields value.",
        },
        "place.fields": {
          type: "string",
          description: "The place.fields value.",
        },
        "poll.fields": {
          type: "string",
          description: "The poll.fields value.",
        },
        pagination_token: {
          type: "string",
          description: "The pagination_token value.",
        },
        next_token: {
          type: "string",
          description: "The next_token value.",
        },
        max_results: {
          type: "integer",
          minimum: 1,
          maximum: 100,
          description: "The max_results value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get an X user's followers.",
      required: ["id"],
    },
    paginated: true,
  },
  {
    name: "list_x_user_following_ids",
    operationId: "getXUsersByIdFollowingIds",
    description: "Get following IDs for an X user.",
    method: "GET",
    path: "/x/users/{id}/following/ids",
    pathFields: ["id"],
    queryFields: [
      "expansions",
      "tweet.fields",
      "user.fields",
      "media.fields",
      "place.fields",
      "poll.fields",
      "pagination_token",
      "next_token",
      "max_results",
    ],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        id: {
          type: "string",
          minLength: 1,
          description: "X resource id.",
        },
        expansions: {
          type: "string",
          description: "The expansions value.",
        },
        "tweet.fields": {
          type: "string",
          description: "The tweet.fields value.",
        },
        "user.fields": {
          type: "string",
          description: "The user.fields value.",
        },
        "media.fields": {
          type: "string",
          description: "The media.fields value.",
        },
        "place.fields": {
          type: "string",
          description: "The place.fields value.",
        },
        "poll.fields": {
          type: "string",
          description: "The poll.fields value.",
        },
        pagination_token: {
          type: "string",
          description: "The pagination_token value.",
        },
        next_token: {
          type: "string",
          description: "The next_token value.",
        },
        max_results: {
          type: "integer",
          minimum: 1,
          maximum: 100,
          description: "The max_results value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get following IDs for an X user.",
      required: ["id"],
    },
    paginated: true,
  },
  {
    name: "list_x_user_following",
    operationId: "getXUsersByIdFollowing",
    description: "Get users followed by an X user.",
    method: "GET",
    path: "/x/users/{id}/following",
    pathFields: ["id"],
    queryFields: [
      "expansions",
      "tweet.fields",
      "user.fields",
      "media.fields",
      "place.fields",
      "poll.fields",
      "pagination_token",
      "next_token",
      "max_results",
    ],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        id: {
          type: "string",
          minLength: 1,
          description: "X resource id.",
        },
        expansions: {
          type: "string",
          description: "The expansions value.",
        },
        "tweet.fields": {
          type: "string",
          description: "The tweet.fields value.",
        },
        "user.fields": {
          type: "string",
          description: "The user.fields value.",
        },
        "media.fields": {
          type: "string",
          description: "The media.fields value.",
        },
        "place.fields": {
          type: "string",
          description: "The place.fields value.",
        },
        "poll.fields": {
          type: "string",
          description: "The poll.fields value.",
        },
        pagination_token: {
          type: "string",
          description: "The pagination_token value.",
        },
        next_token: {
          type: "string",
          description: "The next_token value.",
        },
        max_results: {
          type: "integer",
          minimum: 1,
          maximum: 100,
          description: "The max_results value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get users followed by an X user.",
      required: ["id"],
    },
    paginated: true,
  },
  {
    name: "list_x_user_liked_tweets",
    operationId: "getXUsersByIdLikedTweets",
    description: "Get Posts liked by an X user.",
    method: "GET",
    path: "/x/users/{id}/liked_tweets",
    pathFields: ["id"],
    queryFields: [
      "expansions",
      "tweet.fields",
      "user.fields",
      "media.fields",
      "place.fields",
      "poll.fields",
      "pagination_token",
      "next_token",
      "max_results",
    ],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        id: {
          type: "string",
          minLength: 1,
          description: "X resource id.",
        },
        expansions: {
          type: "string",
          description: "The expansions value.",
        },
        "tweet.fields": {
          type: "string",
          description: "The tweet.fields value.",
        },
        "user.fields": {
          type: "string",
          description: "The user.fields value.",
        },
        "media.fields": {
          type: "string",
          description: "The media.fields value.",
        },
        "place.fields": {
          type: "string",
          description: "The place.fields value.",
        },
        "poll.fields": {
          type: "string",
          description: "The poll.fields value.",
        },
        pagination_token: {
          type: "string",
          description: "The pagination_token value.",
        },
        next_token: {
          type: "string",
          description: "The next_token value.",
        },
        max_results: {
          type: "integer",
          minimum: 1,
          maximum: 100,
          description: "The max_results value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get Posts liked by an X user.",
      required: ["id"],
    },
    paginated: true,
  },
  {
    name: "translate_x_user_profile",
    operationId: "getXUsersByIdProfileTranslation",
    description: "Translate an X user profile.",
    method: "GET",
    path: "/x/users/{id}/profile_translation",
    pathFields: ["id"],
    queryFields: ["language"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        id: {
          type: "string",
          minLength: 1,
          description: "X resource id.",
        },
        language: {
          type: "string",
          minLength: 1,
          description: "The language value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Translate an X user profile.",
      required: ["id", "language"],
    },
    paginated: false,
  },
  {
    name: "get_x_user",
    operationId: "getXUsersById",
    description: "Get X user by ID.",
    method: "GET",
    path: "/x/users/{id}",
    pathFields: ["id"],
    queryFields: ["expansions", "tweet.fields", "user.fields", "media.fields", "place.fields", "poll.fields"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        id: {
          type: "string",
          minLength: 1,
          description: "X resource id.",
        },
        expansions: {
          type: "string",
          description: "The expansions value.",
        },
        "tweet.fields": {
          type: "string",
          description: "The tweet.fields value.",
        },
        "user.fields": {
          type: "string",
          description: "The user.fields value.",
        },
        "media.fields": {
          type: "string",
          description: "The media.fields value.",
        },
        "place.fields": {
          type: "string",
          description: "The place.fields value.",
        },
        "poll.fields": {
          type: "string",
          description: "The poll.fields value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get X user by ID.",
      required: ["id"],
    },
    paginated: false,
  },
  {
    name: "list_x_user_tweets",
    operationId: "getXUsersByIdTweets",
    description: "Get Posts authored by an X user.",
    method: "GET",
    path: "/x/users/{id}/tweets",
    pathFields: ["id"],
    queryFields: [
      "expansions",
      "tweet.fields",
      "user.fields",
      "media.fields",
      "place.fields",
      "poll.fields",
      "pagination_token",
      "next_token",
      "max_results",
      "exclude",
    ],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        id: {
          type: "string",
          minLength: 1,
          description: "X resource id.",
        },
        expansions: {
          type: "string",
          description: "The expansions value.",
        },
        "tweet.fields": {
          type: "string",
          description: "The tweet.fields value.",
        },
        "user.fields": {
          type: "string",
          description: "The user.fields value.",
        },
        "media.fields": {
          type: "string",
          description: "The media.fields value.",
        },
        "place.fields": {
          type: "string",
          description: "The place.fields value.",
        },
        "poll.fields": {
          type: "string",
          description: "The poll.fields value.",
        },
        pagination_token: {
          type: "string",
          description: "The pagination_token value.",
        },
        next_token: {
          type: "string",
          description: "The next_token value.",
        },
        max_results: {
          type: "integer",
          minimum: 1,
          maximum: 100,
          description: "The max_results value.",
        },
        exclude: {
          type: "string",
          description: "Comma-separated X timeline exclusions, e.g. `replies`.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get Posts authored by an X user.",
      required: ["id"],
    },
    paginated: true,
  },
  {
    name: "list_x_user_verified_followers",
    operationId: "getXUsersByIdVerifiedFollowers",
    description: "Get verified followers for an X user.",
    method: "GET",
    path: "/x/users/{id}/verified_followers",
    pathFields: ["id"],
    queryFields: [
      "expansions",
      "tweet.fields",
      "user.fields",
      "media.fields",
      "place.fields",
      "poll.fields",
      "pagination_token",
      "next_token",
      "max_results",
    ],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        id: {
          type: "string",
          minLength: 1,
          description: "X resource id.",
        },
        expansions: {
          type: "string",
          description: "The expansions value.",
        },
        "tweet.fields": {
          type: "string",
          description: "The tweet.fields value.",
        },
        "user.fields": {
          type: "string",
          description: "The user.fields value.",
        },
        "media.fields": {
          type: "string",
          description: "The media.fields value.",
        },
        "place.fields": {
          type: "string",
          description: "The place.fields value.",
        },
        "poll.fields": {
          type: "string",
          description: "The poll.fields value.",
        },
        pagination_token: {
          type: "string",
          description: "The pagination_token value.",
        },
        next_token: {
          type: "string",
          description: "The next_token value.",
        },
        max_results: {
          type: "integer",
          minimum: 1,
          maximum: 100,
          description: "The max_results value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get verified followers for an X user.",
      required: ["id"],
    },
    paginated: true,
  },
  {
    name: "get_x_users_by_usernames",
    operationId: "getXUsersBy",
    description: "Get X users by usernames.",
    method: "GET",
    path: "/x/users/by",
    pathFields: [],
    queryFields: [
      "expansions",
      "tweet.fields",
      "user.fields",
      "media.fields",
      "place.fields",
      "poll.fields",
      "usernames",
    ],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        expansions: {
          type: "string",
          description: "The expansions value.",
        },
        "tweet.fields": {
          type: "string",
          description: "The tweet.fields value.",
        },
        "user.fields": {
          type: "string",
          description: "The user.fields value.",
        },
        "media.fields": {
          type: "string",
          description: "The media.fields value.",
        },
        "place.fields": {
          type: "string",
          description: "The place.fields value.",
        },
        "poll.fields": {
          type: "string",
          description: "The poll.fields value.",
        },
        usernames: {
          type: "string",
          minLength: 1,
          description: "Comma-separated usernames.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get X users by usernames.",
      required: ["usernames"],
    },
    paginated: false,
  },
  {
    name: "get_x_user_by_username",
    operationId: "getXUsersByUsernameByUsername",
    description: "Get X user by username.",
    method: "GET",
    path: "/x/users/by/username/{username}",
    pathFields: ["username"],
    queryFields: ["expansions", "tweet.fields", "user.fields", "media.fields", "place.fields", "poll.fields"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        username: {
          type: "string",
          minLength: 1,
          description: "X handle without the leading `@`.",
        },
        expansions: {
          type: "string",
          description: "The expansions value.",
        },
        "tweet.fields": {
          type: "string",
          description: "The tweet.fields value.",
        },
        "user.fields": {
          type: "string",
          description: "The user.fields value.",
        },
        "media.fields": {
          type: "string",
          description: "The media.fields value.",
        },
        "place.fields": {
          type: "string",
          description: "The place.fields value.",
        },
        "poll.fields": {
          type: "string",
          description: "The poll.fields value.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get X user by username.",
      required: ["username"],
    },
    paginated: false,
  },
  {
    name: "get_x_users",
    operationId: "getXUsers",
    description: "Get X users by IDs.",
    method: "GET",
    path: "/x/users",
    pathFields: [],
    queryFields: ["expansions", "tweet.fields", "user.fields", "media.fields", "place.fields", "poll.fields", "ids"],
    bodyFields: [],
    inputSchema: {
      type: "object",
      properties: {
        expansions: {
          type: "string",
          description: "The expansions value.",
        },
        "tweet.fields": {
          type: "string",
          description: "The tweet.fields value.",
        },
        "user.fields": {
          type: "string",
          description: "The user.fields value.",
        },
        "media.fields": {
          type: "string",
          description: "The media.fields value.",
        },
        "place.fields": {
          type: "string",
          description: "The place.fields value.",
        },
        "poll.fields": {
          type: "string",
          description: "The poll.fields value.",
        },
        ids: {
          type: "string",
          minLength: 1,
          description: "Comma-separated resource ids.",
        },
      },
      additionalProperties: false,
      description: "The input payload for Get X users by IDs.",
      required: ["ids"],
    },
    paginated: false,
  },
];
