/**
 * Generated by orval v8.12.3 🍺
 * Do not edit manually.
 * GitDataAI API
 * GitDataAI platform REST API
 * OpenAPI spec version: 1.0.0
 */
import * as axios from 'axios';
import type {
  AxiosInstance,
  AxiosRequestConfig,
  AxiosResponse
} from 'axios';

import type {
  AccessRequest,
  AddIssueLabel,
  AddPrLabel,
  AddPrReaction,
  AddReaction,
  AddWorkspaceMember,
  AgentListAllConversationsParams,
  AgentListMessagesParams,
  AgentRunRequest,
  AgentRunResponse,
  AgentSessionResponse,
  AiDiscussionResponse,
  AiLikeResponse,
  AiListDiscussionsParams,
  AiListModelsParams,
  AiModelCardResponse,
  AiModelListItem,
  AiModelResponse,
  AiModelVersionResponse,
  AiProviderResponse,
  ApproveWorkspaceJoinApply,
  ArticleCommentCreateRequest,
  ArticleCreateRequest,
  ArticleLikeRequest,
  ArticleUpdateRequest,
  AssignIssueUser,
  AssignPrUser,
  AuthCaptchaParams,
  AvatarUploadResponse,
  BanCreateRequest,
  BindIssuePullRequest,
  BindIssueRepo,
  BlameFileResponseDto,
  BlobInfoResponse,
  BlobUploadBody,
  BlobUploadResponseDto,
  BranchAheadBehindResponseDto,
  BranchInfoResponseDto,
  BranchListResponseDto,
  BranchUpstreamResponseDto,
  CaptchaResponse,
  CategoryCreateRequest,
  CategoryUpdateRequest,
  ChannelArticleCommentListParams,
  ChannelArticleLikedUsersParams,
  ChannelArticleListParams,
  ChannelListMessagesParams,
  ChannelMessagesAroundParams,
  ChannelMissedMessagesParams,
  ChannelSearchParams,
  CherryPickResponseDto,
  CloneRepo,
  CombinedCommitStatus,
  CommitHistoryResponseDto,
  CommitInfoResponseDto,
  CommitStatusResponse,
  CompareResponse,
  ContentResponse,
  ContextMe,
  ContributionHeatmapResponse,
  ContributorDto,
  ConversationResponse,
  ConversationWithSessionResponse,
  CreateAgentSession,
  CreateComment,
  CreateCommitStatus,
  CreateContent,
  CreateConversation,
  CreateFork,
  CreateIssue,
  CreateLabel,
  CreateMessageRequest,
  CreateMilestone,
  CreatePrComment,
  CreatePrReview,
  CreatePrReviewComment,
  CreateProtect,
  CreatePullRequest,
  CreateRelease,
  CreateRepo,
  CreateUserAccessToken,
  CreateUserSshKey,
  CreateWebhook,
  CreateWorkspace,
  CreateWorkspaceGroup,
  CreateWorkspaceJoinApply,
  CreatedUserAccessToken,
  CustomStatusRequest,
  DiffResultDto,
  Disable2FAParams,
  DismissPrReview,
  DndRequest,
  DraftSaveRequest,
  EmailChangeRequest,
  EmailResponse,
  EmailVerifyRequest,
  Enable2FAResponse,
  ForkResponse,
  Get2FAStatusResponse,
  GitAheadBehindParams,
  GitArchiveParams,
  GitBlameFileParams,
  GitBlobInfoParams,
  GitCherryPickBody,
  GitCommitHistoryParams,
  GitCommitWalkBody,
  GitDeleteBranchParams,
  GitDeleteContentsParams,
  GitDiffBranchesParams,
  GitDiffParams,
  GitForkBranchBody,
  GitGetContentsParams,
  GitInitTagBody,
  GitListBranchesParams,
  GitListCommitsParams,
  GitListContributorsParams,
  GitListDeliveriesParams,
  GitListForksParams,
  GitListProtectsParams,
  GitListRefsParams,
  GitListReposParams,
  GitListTagsParams,
  GitListWebhooksParams,
  GitRefResponse,
  GitTreeEntriesParams,
  GitTreeEntryByPathFromCommitParams,
  GitTreeEntryByPathParams,
  GitUpdateTagBody,
  GitWatchRepoBody,
  InviteAcceptRequest,
  InviteCreateRequest,
  IssueAuthor,
  IssueCommentResponse,
  IssueEventResponse,
  IssuePullRequestResponse,
  IssueReactionResponse,
  IssueRepoResponse,
  IssueResponse,
  IssuesListIssuesParams,
  LabelResponse,
  LanguageStatDto,
  LoginParams,
  MergePullRequest,
  MessageResponse,
  MilestoneResponse,
  NotificationMarkAllReadRequest,
  PinRequest,
  PresenceUpdateRequest,
  ProtectResponse,
  PublicUserResponse,
  PullRequestCommentResponse,
  PullRequestListPrsParams,
  PullRequestReactionResponse,
  PullRequestResponse,
  PullRequestReviewCommentResponse,
  PullRequestReviewResponse,
  ReactionRequest,
  ReadReceiptRequest,
  ReadmeDto,
  RegisterParams,
  ReleaseResponse,
  RenameBranchBody,
  RepoResponse,
  ResetPasswordRequest,
  ResetPasswordVerifyParams,
  RoomCreateRequest,
  RoomUpdateRequest,
  RsaResponse,
  ScreenShareRequest,
  SearchParams,
  SearchResponse,
  SetIssueMilestone,
  TagInfoResponseDto,
  TagInitResponseDto,
  TagSummaryResponseDto,
  ThreadCreateRequest,
  TokenRequest,
  TokenResponse,
  TransferRepo,
  TreeEntriesResponseDto,
  TreeEntryByPathResponseDto,
  TypingRequest,
  UpdateAgentSession,
  UpdateComment,
  UpdateContent,
  UpdateConversation,
  UpdateIssue,
  UpdateLabel,
  UpdateMessageRequest,
  UpdateMilestone,
  UpdatePrComment,
  UpdateProtect,
  UpdatePullRequest,
  UpdateRelease,
  UpdateRepo,
  UpdateUserAccessToken,
  UpdateUserAccessibilityConfig,
  UpdateUserAppearanceConfig,
  UpdateUserNotificationConfig,
  UpdateUserPrivacyConfig,
  UpdateUserProfileConfig,
  UpdateUserSshKey,
  UpdateWebhook,
  UpdateWorkspace,
  UpdateWorkspaceGroup,
  UpdateWorkspaceJoinStrategy,
  UpdateWorkspaceMember,
  UserAccessToken,
  UserAccessibilityConfig,
  UserAppearanceConfig,
  UserConfigResponse,
  UserContributionHeatmapParams,
  UserNotificationConfig,
  UserPrivacyConfig,
  UserProfileConfig,
  UserRelationCard,
  UserRelationCounts,
  UserRelationStatus,
  UserSshKey,
  UserSummaryResponse,
  UsersFollowersParams,
  UsersFollowingParams,
  UsersUserChpcParams,
  Verify2FAParams,
  VoiceDeafRequest,
  VoiceMuteRequest,
  WebhookDeliveryResponse,
  WebhookResponse,
  WorkspaceGroupResponse,
  WorkspaceJoinApplyResponse,
  WorkspaceJoinApprovalResponse,
  WorkspaceJoinStrategyResponse,
  WorkspaceListJoinAppliesParams,
  WorkspaceListMembersParams,
  WorkspaceMemberResponse,
  WorkspaceResponse
} from './models';

export const getGitDataAIAPI = (axiosInstance: AxiosInstance = axios.default) => {
const agentListAllConversations = (
    params?: AgentListAllConversationsParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<ConversationWithSessionResponse[]>> => {
    return axiosInstance.get(
      `/api/v1/agent/conversations`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const agentGetConversation = (
    id: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<ConversationResponse>> => {
    return axiosInstance.get(
      `/api/v1/agent/conversations/${id}`,options
    );
  }

const agentDeleteConversation = (
    id: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/agent/conversations/${id}`,options
    );
  }

const agentUpdateConversation = (
    id: string,
    updateConversation: UpdateConversation, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<ConversationResponse>> => {
    return axiosInstance.patch(
      `/api/v1/agent/conversations/${id}`,
      updateConversation,options
    );
  }

const agentListMessages = (
    id: string,
    params?: AgentListMessagesParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<MessageResponse[]>> => {
    return axiosInstance.get(
      `/api/v1/agent/conversations/${id}/messages`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const agentSendMessage = (
    id: string,
    agentRunRequest: AgentRunRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<AgentRunResponse>> => {
    return axiosInstance.post(
      `/api/v1/agent/conversations/${id}/messages`,
      agentRunRequest,options
    );
  }

const agentStreamAgent = (
    id: string,
    agentRunRequest: AgentRunRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/agent/conversations/${id}/stream`,
      agentRunRequest,options
    );
  }

const agentListSessions = (
     options?: AxiosRequestConfig
 ): Promise<AxiosResponse<AgentSessionResponse[]>> => {
    return axiosInstance.get(
      `/api/v1/agent/sessions`,options
    );
  }

const agentCreateSession = (
    createAgentSession: CreateAgentSession, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<AgentSessionResponse>> => {
    return axiosInstance.post(
      `/api/v1/agent/sessions`,
      createAgentSession,options
    );
  }

const agentGetSession = (
    id: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<AgentSessionResponse>> => {
    return axiosInstance.get(
      `/api/v1/agent/sessions/${id}`,options
    );
  }

const agentDeleteSession = (
    id: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/agent/sessions/${id}`,options
    );
  }

const agentUpdateSession = (
    id: string,
    updateAgentSession: UpdateAgentSession, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<AgentSessionResponse>> => {
    return axiosInstance.patch(
      `/api/v1/agent/sessions/${id}`,
      updateAgentSession,options
    );
  }

const agentListConversations = (
    sessionId: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<ConversationResponse[]>> => {
    return axiosInstance.get(
      `/api/v1/agent/sessions/${sessionId}/conversations`,options
    );
  }

const agentCreateConversation = (
    sessionId: string,
    createConversation: CreateConversation, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<ConversationResponse>> => {
    return axiosInstance.post(
      `/api/v1/agent/sessions/${sessionId}/conversations`,
      createConversation,options
    );
  }

const aiListModels = (
    params?: AiListModelsParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<AiModelListItem[]>> => {
    return axiosInstance.get(
      `/api/v1/ai/models`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const aiGetModel = (
    id: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<AiModelResponse>> => {
    return axiosInstance.get(
      `/api/v1/ai/models/${id}`,options
    );
  }

const aiGetCard = (
    id: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<null | AiModelCardResponse>> => {
    return axiosInstance.get(
      `/api/v1/ai/models/${id}/card`,options
    );
  }

const aiListDiscussions = (
    id: string,
    params?: AiListDiscussionsParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<AiDiscussionResponse[]>> => {
    return axiosInstance.get(
      `/api/v1/ai/models/${id}/discussions`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const aiListLikes = (
    id: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<AiLikeResponse[]>> => {
    return axiosInstance.get(
      `/api/v1/ai/models/${id}/likes`,options
    );
  }

const aiListTags = (
    id: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<string[]>> => {
    return axiosInstance.get(
      `/api/v1/ai/models/${id}/tags`,options
    );
  }

const aiListVersions = (
    id: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<AiModelVersionResponse[]>> => {
    return axiosInstance.get(
      `/api/v1/ai/models/${id}/versions`,options
    );
  }

const aiListProviders = (
     options?: AxiosRequestConfig
 ): Promise<AxiosResponse<AiProviderResponse[]>> => {
    return axiosInstance.get(
      `/api/v1/ai/providers`,options
    );
  }

const aiGetProvider = (
    id: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<AiProviderResponse>> => {
    return axiosInstance.get(
      `/api/v1/ai/providers/${id}`,options
    );
  }

const authStatus2fa = (
     options?: AxiosRequestConfig
 ): Promise<AxiosResponse<Get2FAStatusResponse>> => {
    return axiosInstance.get(
      `/api/v1/auth/2fa`,options
    );
  }

const authDisable2fa = (
    disable2FAParams: Disable2FAParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/auth/2fa`,{data: disable2FAParams,...options}
    );
  }

const authRegenerateBackupCodes = (
    authRegenerateBackupCodesBody: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/auth/2fa/backup-codes`,
      authRegenerateBackupCodesBody,options
    );
  }

const authEnable2fa = (
     options?: AxiosRequestConfig
 ): Promise<AxiosResponse<Enable2FAResponse>> => {
    return axiosInstance.post(
      `/api/v1/auth/2fa/enable`,
      undefined,options
    );
  }

const authVerify2fa = (
    verify2FAParams: Verify2FAParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/auth/2fa/verify`,
      verify2FAParams,options
    );
  }

const authCaptcha = (
    params: AuthCaptchaParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<CaptchaResponse>> => {
    return axiosInstance.get(
      `/api/v1/auth/captcha`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const authGetEmail = (
     options?: AxiosRequestConfig
 ): Promise<AxiosResponse<EmailResponse>> => {
    return axiosInstance.get(
      `/api/v1/auth/email`,options
    );
  }

const authEmailChangeRequest = (
    emailChangeRequest: EmailChangeRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/auth/email`,
      emailChangeRequest,options
    );
  }

const authEmailVerify = (
    emailVerifyRequest: EmailVerifyRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/auth/email/verify`,
      emailVerifyRequest,options
    );
  }

const authLogin = (
    loginParams: LoginParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/auth/login`,
      loginParams,options
    );
  }

const authLogout = (
     options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/auth/logout`,
      undefined,options
    );
  }

const authMe = (
     options?: AxiosRequestConfig
 ): Promise<AxiosResponse<ContextMe>> => {
    return axiosInstance.get(
      `/api/v1/auth/me`,options
    );
  }

const authRsa = (
     options?: AxiosRequestConfig
 ): Promise<AxiosResponse<RsaResponse>> => {
    return axiosInstance.get(
      `/api/v1/auth/public-key`,options
    );
  }

const authRegister = (
    registerParams: RegisterParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/auth/register`,
      registerParams,options
    );
  }

const authResetPasswordRequest = (
    resetPasswordRequest: ResetPasswordRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/auth/reset-password/request`,
      resetPasswordRequest,options
    );
  }

const authResetPasswordVerify = (
    resetPasswordVerifyParams: ResetPasswordVerifyParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/auth/reset-password/verify`,
      resetPasswordVerifyParams,options
    );
  }

const search = (
    params?: SearchParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<SearchResponse>> => {
    return axiosInstance.get(
      `/api/v1/search`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const userListAccessTokens = (
     options?: AxiosRequestConfig
 ): Promise<AxiosResponse<UserAccessToken[]>> => {
    return axiosInstance.get(
      `/api/v1/user/access-tokens`,options
    );
  }

const userCreateAccessToken = (
    createUserAccessToken: CreateUserAccessToken, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<CreatedUserAccessToken>> => {
    return axiosInstance.post(
      `/api/v1/user/access-tokens`,
      createUserAccessToken,options
    );
  }

const userUpdateAccessToken = (
    id: number,
    updateUserAccessToken: UpdateUserAccessToken, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<UserAccessToken>> => {
    return axiosInstance.put(
      `/api/v1/user/access-tokens/${id}`,
      updateUserAccessToken,options
    );
  }

const userRevokeAccessToken = (
    id: number, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/user/access-tokens/${id}`,options
    );
  }

const userUploadAvatar = (
    userUploadAvatarBody: Blob, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<AvatarUploadResponse>> => {
    return axiosInstance.post(
      `/api/v1/user/avatar`,
      userUploadAvatarBody,options
    );
  }

const userConfig = (
     options?: AxiosRequestConfig
 ): Promise<AxiosResponse<UserConfigResponse>> => {
    return axiosInstance.get(
      `/api/v1/user/config`,options
    );
  }

const userUpdateAccessibility = (
    updateUserAccessibilityConfig: UpdateUserAccessibilityConfig, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<UserAccessibilityConfig>> => {
    return axiosInstance.put(
      `/api/v1/user/config/accessibility`,
      updateUserAccessibilityConfig,options
    );
  }

const userUpdateAppearance = (
    updateUserAppearanceConfig: UpdateUserAppearanceConfig, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<UserAppearanceConfig>> => {
    return axiosInstance.put(
      `/api/v1/user/config/appearance`,
      updateUserAppearanceConfig,options
    );
  }

const userUpdateNotification = (
    updateUserNotificationConfig: UpdateUserNotificationConfig, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<UserNotificationConfig>> => {
    return axiosInstance.put(
      `/api/v1/user/config/notification`,
      updateUserNotificationConfig,options
    );
  }

const userUpdatePrivacy = (
    updateUserPrivacyConfig: UpdateUserPrivacyConfig, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<UserPrivacyConfig>> => {
    return axiosInstance.put(
      `/api/v1/user/config/privacy`,
      updateUserPrivacyConfig,options
    );
  }

const userUpdateProfile = (
    updateUserProfileConfig: UpdateUserProfileConfig, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<UserProfileConfig>> => {
    return axiosInstance.put(
      `/api/v1/user/config/profile`,
      updateUserProfileConfig,options
    );
  }

const userContributionHeatmap = (
    params?: UserContributionHeatmapParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<ContributionHeatmapResponse>> => {
    return axiosInstance.get(
      `/api/v1/user/contribution-heatmap`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const userInvalidateChpcCache = (
     options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/user/contribution-heatmap/cache`,options
    );
  }

const userListSshKeys = (
     options?: AxiosRequestConfig
 ): Promise<AxiosResponse<UserSshKey[]>> => {
    return axiosInstance.get(
      `/api/v1/user/ssh-keys`,options
    );
  }

const userAddSshKey = (
    createUserSshKey: CreateUserSshKey, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<UserSshKey>> => {
    return axiosInstance.post(
      `/api/v1/user/ssh-keys`,
      createUserSshKey,options
    );
  }

const userUpdateSshKey = (
    id: number,
    updateUserSshKey: UpdateUserSshKey, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<UserSshKey>> => {
    return axiosInstance.put(
      `/api/v1/user/ssh-keys/${id}`,
      updateUserSshKey,options
    );
  }

const userRevokeSshKey = (
    id: number, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/user/ssh-keys/${id}`,options
    );
  }

const usersUserAvatar = (
    username: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<unknown>> => {
    return axiosInstance.get(
      `/api/v1/users/avatar/${username}`,options
    );
  }

const usersBlockedList = (
     options?: AxiosRequestConfig
 ): Promise<AxiosResponse<UserRelationCard[]>> => {
    return axiosInstance.get(
      `/api/v1/users/blocked`,options
    );
  }

const usersBlockUser = (
    username: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<UserRelationStatus>> => {
    return axiosInstance.post(
      `/api/v1/users/${username}/block`,
      undefined,options
    );
  }

const usersUserChpc = (
    username: string,
    params?: UsersUserChpcParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<ContributionHeatmapResponse>> => {
    return axiosInstance.get(
      `/api/v1/users/${username}/contribution-heatmap`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const usersFollowUser = (
    username: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<UserRelationStatus>> => {
    return axiosInstance.post(
      `/api/v1/users/${username}/follow`,
      undefined,options
    );
  }

const usersFollowers = (
    username: string,
    params?: UsersFollowersParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<UserRelationCard[]>> => {
    return axiosInstance.get(
      `/api/v1/users/${username}/followers`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const usersFollowing = (
    username: string,
    params?: UsersFollowingParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<UserRelationCard[]>> => {
    return axiosInstance.get(
      `/api/v1/users/${username}/following`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const usersUserPublic = (
    username: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<PublicUserResponse>> => {
    return axiosInstance.get(
      `/api/v1/users/${username}/public`,options
    );
  }

const usersRelationStatus = (
    username: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<UserRelationStatus>> => {
    return axiosInstance.get(
      `/api/v1/users/${username}/relation`,options
    );
  }

const usersRelationCounts = (
    username: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<UserRelationCounts>> => {
    return axiosInstance.get(
      `/api/v1/users/${username}/relation-counts`,options
    );
  }

const usersUserSummary = (
    username: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<UserSummaryResponse>> => {
    return axiosInstance.get(
      `/api/v1/users/${username}/summary`,options
    );
  }

const usersUnblockUser = (
    username: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<UserRelationStatus>> => {
    return axiosInstance.post(
      `/api/v1/users/${username}/unblock`,
      undefined,options
    );
  }

const usersUnfollowUser = (
    username: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<UserRelationStatus>> => {
    return axiosInstance.post(
      `/api/v1/users/${username}/unfollow`,
      undefined,options
    );
  }

const workspaceCreateWorkspace = (
    createWorkspace: CreateWorkspace, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<WorkspaceResponse>> => {
    return axiosInstance.post(
      `/api/v1/workspace`,
      createWorkspace,options
    );
  }

const workspaceMyJoinApplies = (
     options?: AxiosRequestConfig
 ): Promise<AxiosResponse<WorkspaceJoinApplyResponse[]>> => {
    return axiosInstance.get(
      `/api/v1/workspace/join/my-applies`,options
    );
  }

const workspaceMyWorkspaces = (
     options?: AxiosRequestConfig
 ): Promise<AxiosResponse<WorkspaceResponse[]>> => {
    return axiosInstance.get(
      `/api/v1/workspace/my`,options
    );
  }

const workspaceGetWorkspace = (
    wk: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<WorkspaceResponse>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}`,options
    );
  }

const workspaceUpdateWorkspace = (
    wk: string,
    updateWorkspace: UpdateWorkspace, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<WorkspaceResponse>> => {
    return axiosInstance.put(
      `/api/v1/workspace/${wk}`,
      updateWorkspace,options
    );
  }

const workspaceGetAvatar = (
    wk: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<unknown>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/avatar`,options
    );
  }

const workspaceUploadAvatar = (
    wk: string,
    workspaceUploadAvatarBody: Blob, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<AvatarUploadResponse>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/avatar`,
      workspaceUploadAvatarBody,options
    );
  }

const workspaceListGroups = (
    wk: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<WorkspaceGroupResponse[]>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/groups`,options
    );
  }

const workspaceCreateGroup = (
    wk: string,
    createWorkspaceGroup: CreateWorkspaceGroup, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<WorkspaceGroupResponse>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/groups`,
      createWorkspaceGroup,options
    );
  }

const workspaceUpdateGroup = (
    wk: string,
    groupName: string,
    updateWorkspaceGroup: UpdateWorkspaceGroup, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<WorkspaceGroupResponse>> => {
    return axiosInstance.put(
      `/api/v1/workspace/${wk}/groups/${groupName}`,
      updateWorkspaceGroup,options
    );
  }

const workspaceDeleteGroup = (
    wk: string,
    groupName: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/workspace/${wk}/groups/${groupName}`,options
    );
  }

const workspaceListGroupMembers = (
    wk: string,
    groupName: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<WorkspaceMemberResponse[]>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/groups/${groupName}/members`,options
    );
  }

const workspaceAddGroupMember = (
    wk: string,
    groupName: string,
    username: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/groups/${groupName}/members/${username}`,
      undefined,options
    );
  }

const workspaceRemoveGroupMember = (
    wk: string,
    groupName: string,
    username: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/workspace/${wk}/groups/${groupName}/members/${username}`,options
    );
  }

const issuesListIssues = (
    wk: string,
    params?: IssuesListIssuesParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<IssueResponse[]>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/issues`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const issuesCreateIssue = (
    wk: string,
    createIssue: CreateIssue, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<IssueResponse>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/issues`,
      createIssue,options
    );
  }

const issuesGetIssue = (
    wk: string,
    number: number, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<IssueResponse>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/issues/${number}`,options
    );
  }

const issuesUpdateIssue = (
    wk: string,
    number: number,
    updateIssue: UpdateIssue, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<IssueResponse>> => {
    return axiosInstance.put(
      `/api/v1/workspace/${wk}/issues/${number}`,
      updateIssue,options
    );
  }

const issuesDeleteIssue = (
    wk: string,
    number: number, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/workspace/${wk}/issues/${number}`,options
    );
  }

const issuesAssignUser = (
    wk: string,
    number: number,
    assignIssueUser: AssignIssueUser, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<IssueAuthor[]>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/issues/${number}/assignees`,
      assignIssueUser,options
    );
  }

const issuesUnassignUser = (
    wk: string,
    number: number, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<IssueAuthor[]>> => {
    return axiosInstance.delete(
      `/api/v1/workspace/${wk}/issues/${number}/assignees`,options
    );
  }

const issuesCloseIssue = (
    wk: string,
    number: number, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<IssueResponse>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/issues/${number}/close`,
      undefined,options
    );
  }

const issuesListComments = (
    wk: string,
    number: number, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<IssueCommentResponse[]>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/issues/${number}/comments`,options
    );
  }

const issuesCreateComment = (
    wk: string,
    number: number,
    createComment: CreateComment, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<IssueCommentResponse>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/issues/${number}/comments`,
      createComment,options
    );
  }

const issuesUpdateComment = (
    wk: string,
    number: number,
    commentId: string,
    updateComment: UpdateComment, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<IssueCommentResponse>> => {
    return axiosInstance.put(
      `/api/v1/workspace/${wk}/issues/${number}/comments/${commentId}`,
      updateComment,options
    );
  }

const issuesDeleteComment = (
    wk: string,
    number: number,
    commentId: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/workspace/${wk}/issues/${number}/comments/${commentId}`,options
    );
  }

const issuesAddCommentReaction = (
    wk: string,
    number: number,
    commentId: string,
    addReaction: AddReaction, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<IssueReactionResponse[]>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/issues/${number}/comments/${commentId}/reactions`,
      addReaction,options
    );
  }

const issuesRemoveCommentReaction = (
    wk: string,
    number: number,
    commentId: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<IssueReactionResponse[]>> => {
    return axiosInstance.delete(
      `/api/v1/workspace/${wk}/issues/${number}/comments/${commentId}/reactions`,options
    );
  }

const issuesListEvents = (
    wk: string,
    number: number, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<IssueEventResponse[]>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/issues/${number}/events`,options
    );
  }

const issuesAddIssueLabel = (
    wk: string,
    number: number,
    addIssueLabel: AddIssueLabel, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<LabelResponse[]>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/issues/${number}/labels`,
      addIssueLabel,options
    );
  }

const issuesRemoveIssueLabel = (
    wk: string,
    number: number, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<LabelResponse[]>> => {
    return axiosInstance.delete(
      `/api/v1/workspace/${wk}/issues/${number}/labels`,options
    );
  }

const issuesSetIssueMilestone = (
    wk: string,
    number: number,
    setIssueMilestone: SetIssueMilestone, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<null | MilestoneResponse>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/issues/${number}/milestone`,
      setIssueMilestone,options
    );
  }

const issuesClearIssueMilestone = (
    wk: string,
    number: number, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/workspace/${wk}/issues/${number}/milestone`,options
    );
  }

const issuesBindPullRequest = (
    wk: string,
    number: number,
    bindIssuePullRequest: BindIssuePullRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<IssuePullRequestResponse[]>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/issues/${number}/pull-requests`,
      bindIssuePullRequest,options
    );
  }

const issuesUnbindPullRequest = (
    wk: string,
    number: number, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<IssuePullRequestResponse[]>> => {
    return axiosInstance.delete(
      `/api/v1/workspace/${wk}/issues/${number}/pull-requests`,options
    );
  }

const issuesAddReaction = (
    wk: string,
    number: number,
    addReaction: AddReaction, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<IssueReactionResponse[]>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/issues/${number}/reactions`,
      addReaction,options
    );
  }

const issuesRemoveReaction = (
    wk: string,
    number: number, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<IssueReactionResponse[]>> => {
    return axiosInstance.delete(
      `/api/v1/workspace/${wk}/issues/${number}/reactions`,options
    );
  }

const issuesReopenIssue = (
    wk: string,
    number: number, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<IssueResponse>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/issues/${number}/reopen`,
      undefined,options
    );
  }

const issuesBindRepo = (
    wk: string,
    number: number,
    bindIssueRepo: BindIssueRepo, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<IssueRepoResponse[]>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/issues/${number}/repos`,
      bindIssueRepo,options
    );
  }

const issuesUnbindRepo = (
    wk: string,
    number: number, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<IssueRepoResponse[]>> => {
    return axiosInstance.delete(
      `/api/v1/workspace/${wk}/issues/${number}/repos`,options
    );
  }

const workspaceJoinStrategy = (
    wk: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<WorkspaceJoinStrategyResponse>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/join-strategy`,options
    );
  }

const workspaceUpdateJoinStrategy = (
    wk: string,
    updateWorkspaceJoinStrategy: UpdateWorkspaceJoinStrategy, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<WorkspaceJoinStrategyResponse>> => {
    return axiosInstance.put(
      `/api/v1/workspace/${wk}/join-strategy`,
      updateWorkspaceJoinStrategy,options
    );
  }

const workspaceListJoinApplies = (
    wk: string,
    params?: WorkspaceListJoinAppliesParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<WorkspaceJoinApplyResponse[]>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/join/applies`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const workspaceApproveJoin = (
    wk: string,
    username: string,
    approveWorkspaceJoinApply: ApproveWorkspaceJoinApply, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<WorkspaceJoinApprovalResponse>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/join/applies/${username}/approve`,
      approveWorkspaceJoinApply,options
    );
  }

const workspaceApplyJoin = (
    wk: string,
    createWorkspaceJoinApply: CreateWorkspaceJoinApply, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<WorkspaceJoinApplyResponse>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/join/apply`,
      createWorkspaceJoinApply,options
    );
  }

const workspaceCancelJoin = (
    wk: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<WorkspaceJoinApplyResponse>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/join/cancel`,
      undefined,options
    );
  }

const issuesListLabels = (
    wk: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<LabelResponse[]>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/labels`,options
    );
  }

const issuesCreateLabel = (
    wk: string,
    createLabel: CreateLabel, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<LabelResponse>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/labels`,
      createLabel,options
    );
  }

const issuesUpdateLabel = (
    wk: string,
    labelId: string,
    updateLabel: UpdateLabel, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<LabelResponse>> => {
    return axiosInstance.put(
      `/api/v1/workspace/${wk}/labels/${labelId}`,
      updateLabel,options
    );
  }

const issuesDeleteLabel = (
    wk: string,
    labelId: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/workspace/${wk}/labels/${labelId}`,options
    );
  }

const workspaceListMembers = (
    wk: string,
    params?: WorkspaceListMembersParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<WorkspaceMemberResponse[]>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/members`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const workspaceAddMember = (
    wk: string,
    addWorkspaceMember: AddWorkspaceMember, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<WorkspaceMemberResponse>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/members`,
      addWorkspaceMember,options
    );
  }

const workspaceUpdateMember = (
    wk: string,
    username: string,
    updateWorkspaceMember: UpdateWorkspaceMember, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<WorkspaceMemberResponse>> => {
    return axiosInstance.put(
      `/api/v1/workspace/${wk}/members/${username}`,
      updateWorkspaceMember,options
    );
  }

const workspaceRemoveMember = (
    wk: string,
    username: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/workspace/${wk}/members/${username}`,options
    );
  }

const issuesListMilestones = (
    wk: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<MilestoneResponse[]>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/milestones`,options
    );
  }

const issuesCreateMilestone = (
    wk: string,
    createMilestone: CreateMilestone, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<MilestoneResponse>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/milestones`,
      createMilestone,options
    );
  }

const issuesUpdateMilestone = (
    wk: string,
    milestoneId: string,
    updateMilestone: UpdateMilestone, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<MilestoneResponse>> => {
    return axiosInstance.put(
      `/api/v1/workspace/${wk}/milestones/${milestoneId}`,
      updateMilestone,options
    );
  }

const issuesDeleteMilestone = (
    wk: string,
    milestoneId: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/workspace/${wk}/milestones/${milestoneId}`,options
    );
  }

const gitListRepos = (
    wk: string,
    params?: GitListReposParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<RepoResponse[]>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const gitCreateRepo = (
    wk: string,
    createRepo: CreateRepo, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/repos`,
      createRepo,options
    );
  }

const gitCloneRepo = (
    wk: string,
    cloneRepo: CloneRepo, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/repos/clone`,
      cloneRepo,options
    );
  }

const gitGetRepo = (
    wk: string,
    repo: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<RepoResponse>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}`,options
    );
  }

const gitUpdateRepo = (
    wk: string,
    repo: string,
    updateRepo: UpdateRepo, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<RepoResponse>> => {
    return axiosInstance.put(
      `/api/v1/workspace/${wk}/repos/${repo}`,
      updateRepo,options
    );
  }

const gitDeleteRepo = (
    wk: string,
    repo: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/workspace/${wk}/repos/${repo}`,options
    );
  }

const gitArchiveRepo = (
    wk: string,
    repo: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<RepoResponse>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/repos/${repo}/archive`,
      undefined,options
    );
  }

const gitCombinedStatus = (
    wk: string,
    repo: string,
    sha: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<CombinedCommitStatus>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/commits/${sha}/status`,options
    );
  }

const gitListStatuses = (
    wk: string,
    repo: string,
    sha: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<CommitStatusResponse[]>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/commits/${sha}/statuses`,options
    );
  }

const gitCompare = (
    wk: string,
    repo: string,
    basehead: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<CompareResponse>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/compare/${basehead}`,options
    );
  }

const gitGetContents = (
    wk: string,
    repo: string,
    path: string,
    params?: GitGetContentsParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<ContentResponse>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/contents/${path}`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const gitUpdateContents = (
    wk: string,
    repo: string,
    path: string,
    updateContent: UpdateContent, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<ContentResponse>> => {
    return axiosInstance.put(
      `/api/v1/workspace/${wk}/repos/${repo}/contents/${path}`,
      updateContent,options
    );
  }

const gitCreateContents = (
    wk: string,
    repo: string,
    path: string,
    createContent: CreateContent, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<ContentResponse>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/repos/${repo}/contents/${path}`,
      createContent,options
    );
  }

const gitDeleteContents = (
    wk: string,
    repo: string,
    path: string,
    params: GitDeleteContentsParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/workspace/${wk}/repos/${repo}/contents/${path}`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const gitListForks = (
    wk: string,
    repo: string,
    params?: GitListForksParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<ForkResponse[]>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/forks`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const gitCreateFork = (
    wk: string,
    repo: string,
    createFork: CreateFork, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<ForkResponse>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/repos/${repo}/forks`,
      createFork,options
    );
  }

const gitArchive = (
    wk: string,
    repo: string,
    params?: GitArchiveParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/git/archive`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const gitBlameFile = (
    wk: string,
    repo: string,
    params: GitBlameFileParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<BlameFileResponseDto>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/git/blame`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const gitBlobUpload = (
    wk: string,
    repo: string,
    blobUploadBody: BlobUploadBody, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<BlobUploadResponseDto>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/repos/${repo}/git/blobs`,
      blobUploadBody,options
    );
  }

const gitBlobInfo = (
    wk: string,
    repo: string,
    oid: string,
    params?: GitBlobInfoParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<BlobInfoResponse>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/git/blobs/${oid}`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const gitListBranches = (
    wk: string,
    repo: string,
    params?: GitListBranchesParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<BranchListResponseDto>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/git/branches`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

/**
 * BranchForkParams { name, oid, force }
 */
const gitForkBranch = (
    wk: string,
    repo: string,
    gitForkBranchBody: GitForkBranchBody, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/repos/${repo}/git/branches`,
      gitForkBranchBody,options
    );
  }

const gitBranchInfo = (
    wk: string,
    repo: string,
    name: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<BranchInfoResponseDto>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/git/branches/${name}`,options
    );
  }

const gitDeleteBranch = (
    wk: string,
    repo: string,
    name: string,
    params?: GitDeleteBranchParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/workspace/${wk}/repos/${repo}/git/branches/${name}`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const gitRenameBranch = (
    wk: string,
    repo: string,
    name: string,
    renameBranchBody: RenameBranchBody, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.patch(
      `/api/v1/workspace/${wk}/repos/${repo}/git/branches/${name}`,
      renameBranchBody,options
    );
  }

const gitAheadBehind = (
    wk: string,
    repo: string,
    name: string,
    params: GitAheadBehindParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<BranchAheadBehindResponseDto>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/git/branches/${name}/ahead-behind`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const gitBranchUpstream = (
    wk: string,
    repo: string,
    name: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<BranchUpstreamResponseDto>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/git/branches/${name}/upstream`,options
    );
  }

const gitListCommits = (
    wk: string,
    repo: string,
    params?: GitListCommitsParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<CommitHistoryResponseDto>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/git/commits`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

/**
 * CommitCherryPickParams
 */
const gitCherryPick = (
    wk: string,
    repo: string,
    gitCherryPickBody: GitCherryPickBody, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<CherryPickResponseDto>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/repos/${repo}/git/commits/cherry-pick`,
      gitCherryPickBody,options
    );
  }

const gitCommitHistory = (
    wk: string,
    repo: string,
    params?: GitCommitHistoryParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<CommitHistoryResponseDto>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/git/commits/history`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

/**
 * CommitWalkParams
 */
const gitCommitWalk = (
    wk: string,
    repo: string,
    gitCommitWalkBody: GitCommitWalkBody, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<CommitHistoryResponseDto>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/repos/${repo}/git/commits/walk`,
      gitCommitWalkBody,options
    );
  }

const gitCommitInfo = (
    wk: string,
    repo: string,
    oid: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<CommitInfoResponseDto>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/git/commits/${oid}`,options
    );
  }

const gitTreeEntryByPathFromCommit = (
    wk: string,
    repo: string,
    oid: string,
    params: GitTreeEntryByPathFromCommitParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<TreeEntryByPathResponseDto>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/git/commits/${oid}/tree`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const gitListContributors = (
    wk: string,
    repo: string,
    params?: GitListContributorsParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<ContributorDto[]>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/git/contributors`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const gitDiff = (
    wk: string,
    repo: string,
    params?: GitDiffParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/git/diff`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const gitDiffBranches = (
    wk: string,
    repo: string,
    params: GitDiffBranchesParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<DiffResultDto>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/git/diff/branches`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const gitGetLanguages = (
    wk: string,
    repo: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<LanguageStatDto[]>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/git/languages`,options
    );
  }

const gitGetReadme = (
    wk: string,
    repo: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<null | ReadmeDto>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/git/readme`,options
    );
  }

const gitListRefs = (
    wk: string,
    repo: string,
    params?: GitListRefsParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<GitRefResponse[]>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/git/refs`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const gitStarStatus = (
    wk: string,
    repo: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/git/star`,options
    );
  }

const gitStarRepo = (
    wk: string,
    repo: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/repos/${repo}/git/star`,
      undefined,options
    );
  }

const gitUnstarRepo = (
    wk: string,
    repo: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/workspace/${wk}/repos/${repo}/git/star`,options
    );
  }

const gitListTags = (
    wk: string,
    repo: string,
    params?: GitListTagsParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<TagSummaryResponseDto>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/git/tags`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

/**
 * TagInitParams { name, oid, message, tagger, force }
 */
const gitInitTag = (
    wk: string,
    repo: string,
    gitInitTagBody: GitInitTagBody, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<TagInitResponseDto>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/repos/${repo}/git/tags`,
      gitInitTagBody,options
    );
  }

const gitTagInfo = (
    wk: string,
    repo: string,
    name: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<TagInfoResponseDto>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/git/tags/${name}`,options
    );
  }

const gitDeleteTag = (
    wk: string,
    repo: string,
    name: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/workspace/${wk}/repos/${repo}/git/tags/${name}`,options
    );
  }

const gitUpdateTag = (
    wk: string,
    repo: string,
    name: string,
    gitUpdateTagBody: GitUpdateTagBody, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.patch(
      `/api/v1/workspace/${wk}/repos/${repo}/git/tags/${name}`,
      gitUpdateTagBody,options
    );
  }

const gitTreeEntries = (
    wk: string,
    repo: string,
    oid: string,
    params?: GitTreeEntriesParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<TreeEntriesResponseDto>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/git/trees/${oid}`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const gitTreeEntryByPath = (
    wk: string,
    repo: string,
    treeOid: string,
    params: GitTreeEntryByPathParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<TreeEntryByPathResponseDto>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/git/trees/${treeOid}/entries`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const gitWatchStatus = (
    wk: string,
    repo: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/git/watch`,options
    );
  }

/**
 * WatchLevel {level: String}
 */
const gitWatchRepo = (
    wk: string,
    repo: string,
    gitWatchRepoBody: GitWatchRepoBody, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/repos/${repo}/git/watch`,
      gitWatchRepoBody,options
    );
  }

const gitUnwatchRepo = (
    wk: string,
    repo: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/workspace/${wk}/repos/${repo}/git/watch`,options
    );
  }

const gitListProtects = (
    wk: string,
    repo: string,
    params?: GitListProtectsParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<ProtectResponse[]>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/protect`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const gitCreateProtect = (
    wk: string,
    repo: string,
    createProtect: CreateProtect, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<ProtectResponse>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/repos/${repo}/protect`,
      createProtect,options
    );
  }

const gitUpdateProtect = (
    wk: string,
    repo: string,
    protectId: string,
    updateProtect: UpdateProtect, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<ProtectResponse>> => {
    return axiosInstance.put(
      `/api/v1/workspace/${wk}/repos/${repo}/protect/${protectId}`,
      updateProtect,options
    );
  }

const gitDeleteProtect = (
    wk: string,
    repo: string,
    protectId: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/workspace/${wk}/repos/${repo}/protect/${protectId}`,options
    );
  }

const pullRequestListPrs = (
    wk: string,
    repo: string,
    params?: PullRequestListPrsParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<PullRequestResponse[]>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/pull-requests`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const pullRequestCreatePr = (
    wk: string,
    repo: string,
    createPullRequest: CreatePullRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<PullRequestResponse>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/repos/${repo}/pull-requests`,
      createPullRequest,options
    );
  }

const pullRequestGetPr = (
    wk: string,
    repo: string,
    number: number, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<PullRequestResponse>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/pull-requests/${number}`,options
    );
  }

const pullRequestDeletePr = (
    wk: string,
    repo: string,
    number: number, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/workspace/${wk}/repos/${repo}/pull-requests/${number}`,options
    );
  }

const pullRequestUpdatePr = (
    wk: string,
    repo: string,
    number: number,
    updatePullRequest: UpdatePullRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<PullRequestResponse>> => {
    return axiosInstance.patch(
      `/api/v1/workspace/${wk}/repos/${repo}/pull-requests/${number}`,
      updatePullRequest,options
    );
  }

const pullRequestAssignUser = (
    wk: string,
    repo: string,
    number: number,
    assignPrUser: AssignPrUser, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<IssueAuthor[]>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/repos/${repo}/pull-requests/${number}/assignees`,
      assignPrUser,options
    );
  }

const pullRequestUnassignUser = (
    wk: string,
    repo: string,
    number: number, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<IssueAuthor[]>> => {
    return axiosInstance.delete(
      `/api/v1/workspace/${wk}/repos/${repo}/pull-requests/${number}/assignees`,options
    );
  }

const pullRequestListComments = (
    wk: string,
    repo: string,
    number: number, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<PullRequestCommentResponse[]>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/pull-requests/${number}/comments`,options
    );
  }

const pullRequestCreateComment = (
    wk: string,
    repo: string,
    number: number,
    createPrComment: CreatePrComment, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<PullRequestCommentResponse>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/repos/${repo}/pull-requests/${number}/comments`,
      createPrComment,options
    );
  }

const pullRequestUpdateComment = (
    wk: string,
    repo: string,
    number: number,
    commentId: string,
    updatePrComment: UpdatePrComment, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<PullRequestCommentResponse>> => {
    return axiosInstance.put(
      `/api/v1/workspace/${wk}/repos/${repo}/pull-requests/${number}/comments/${commentId}`,
      updatePrComment,options
    );
  }

const pullRequestDeleteComment = (
    wk: string,
    repo: string,
    number: number,
    commentId: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/workspace/${wk}/repos/${repo}/pull-requests/${number}/comments/${commentId}`,options
    );
  }

const pullRequestAddCommentReaction = (
    wk: string,
    repo: string,
    number: number,
    commentId: string,
    addPrReaction: AddPrReaction, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<PullRequestReactionResponse>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/repos/${repo}/pull-requests/${number}/comments/${commentId}/reactions`,
      addPrReaction,options
    );
  }

const pullRequestRemoveCommentReaction = (
    wk: string,
    repo: string,
    number: number,
    commentId: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/workspace/${wk}/repos/${repo}/pull-requests/${number}/comments/${commentId}/reactions`,options
    );
  }

const pullRequestAddLabel = (
    wk: string,
    repo: string,
    number: number,
    addPrLabel: AddPrLabel, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<LabelResponse[]>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/repos/${repo}/pull-requests/${number}/labels`,
      addPrLabel,options
    );
  }

const pullRequestRemoveLabel = (
    wk: string,
    repo: string,
    number: number, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<LabelResponse[]>> => {
    return axiosInstance.delete(
      `/api/v1/workspace/${wk}/repos/${repo}/pull-requests/${number}/labels`,options
    );
  }

const pullRequestMergeAnalysis = (
    wk: string,
    repo: string,
    number: number, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/pull-requests/${number}/merge`,options
    );
  }

const pullRequestMergePr = (
    wk: string,
    repo: string,
    number: number,
    mergePullRequest: MergePullRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<PullRequestResponse>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/repos/${repo}/pull-requests/${number}/merge`,
      mergePullRequest,options
    );
  }

const pullRequestAddReaction = (
    wk: string,
    repo: string,
    number: number,
    addPrReaction: AddPrReaction, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<PullRequestReactionResponse>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/repos/${repo}/pull-requests/${number}/reactions`,
      addPrReaction,options
    );
  }

const pullRequestRemoveReaction = (
    wk: string,
    repo: string,
    number: number, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/workspace/${wk}/repos/${repo}/pull-requests/${number}/reactions`,options
    );
  }

const pullRequestCreateReviewComment = (
    wk: string,
    repo: string,
    number: number,
    createPrReviewComment: CreatePrReviewComment, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<PullRequestReviewCommentResponse>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/repos/${repo}/pull-requests/${number}/review-comments`,
      createPrReviewComment,options
    );
  }

const pullRequestListReviews = (
    wk: string,
    repo: string,
    number: number, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<PullRequestReviewResponse[]>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/pull-requests/${number}/reviews`,options
    );
  }

const pullRequestCreateReview = (
    wk: string,
    repo: string,
    number: number,
    createPrReview: CreatePrReview, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<PullRequestReviewResponse>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/repos/${repo}/pull-requests/${number}/reviews`,
      createPrReview,options
    );
  }

const pullRequestDismissReview = (
    wk: string,
    repo: string,
    number: number,
    reviewId: string,
    dismissPrReview: DismissPrReview, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/repos/${repo}/pull-requests/${number}/reviews/${reviewId}/dismiss`,
      dismissPrReview,options
    );
  }

const pullRequestUpdateBranch = (
    wk: string,
    repo: string,
    number: number, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<PullRequestResponse>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/repos/${repo}/pull-requests/${number}/update-branch`,
      undefined,options
    );
  }

const gitListReleases = (
    wk: string,
    repo: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<ReleaseResponse[]>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/releases`,options
    );
  }

const gitCreateRelease = (
    wk: string,
    repo: string,
    createRelease: CreateRelease, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<ReleaseResponse>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/repos/${repo}/releases`,
      createRelease,options
    );
  }

const gitGetReleaseByTag = (
    wk: string,
    repo: string,
    tag: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<ReleaseResponse>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/releases/tags/${tag}`,options
    );
  }

const gitDeleteReleaseByTag = (
    wk: string,
    repo: string,
    tag: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/workspace/${wk}/repos/${repo}/releases/tags/${tag}`,options
    );
  }

const gitGetRelease = (
    wk: string,
    repo: string,
    id: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<ReleaseResponse>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/releases/${id}`,options
    );
  }

const gitDeleteRelease = (
    wk: string,
    repo: string,
    id: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/workspace/${wk}/repos/${repo}/releases/${id}`,options
    );
  }

const gitUpdateRelease = (
    wk: string,
    repo: string,
    id: string,
    updateRelease: UpdateRelease, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<ReleaseResponse>> => {
    return axiosInstance.patch(
      `/api/v1/workspace/${wk}/repos/${repo}/releases/${id}`,
      updateRelease,options
    );
  }

const gitCreateStatus = (
    wk: string,
    repo: string,
    sha: string,
    createCommitStatus: CreateCommitStatus, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<CommitStatusResponse>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/repos/${repo}/statuses/${sha}`,
      createCommitStatus,options
    );
  }

const gitGetTopics = (
    wk: string,
    repo: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<string[]>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/topics`,options
    );
  }

const gitUpdateTopics = (
    wk: string,
    repo: string,
    gitUpdateTopicsBody: string[], options?: AxiosRequestConfig
 ): Promise<AxiosResponse<string[]>> => {
    return axiosInstance.put(
      `/api/v1/workspace/${wk}/repos/${repo}/topics`,
      gitUpdateTopicsBody,options
    );
  }

const gitTransferRepo = (
    wk: string,
    repo: string,
    transferRepo: TransferRepo, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<RepoResponse>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/repos/${repo}/transfer`,
      transferRepo,options
    );
  }

const gitListWebhooks = (
    wk: string,
    repo: string,
    params?: GitListWebhooksParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<WebhookResponse[]>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/webhooks`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const gitCreateWebhook = (
    wk: string,
    repo: string,
    createWebhook: CreateWebhook, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<WebhookResponse>> => {
    return axiosInstance.post(
      `/api/v1/workspace/${wk}/repos/${repo}/webhooks`,
      createWebhook,options
    );
  }

const gitUpdateWebhook = (
    wk: string,
    repo: string,
    webhookId: string,
    updateWebhook: UpdateWebhook, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<WebhookResponse>> => {
    return axiosInstance.put(
      `/api/v1/workspace/${wk}/repos/${repo}/webhooks/${webhookId}`,
      updateWebhook,options
    );
  }

const gitDeleteWebhook = (
    wk: string,
    repo: string,
    webhookId: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/workspace/${wk}/repos/${repo}/webhooks/${webhookId}`,options
    );
  }

const gitListDeliveries = (
    wk: string,
    repo: string,
    webhookId: string,
    params?: GitListDeliveriesParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<WebhookDeliveryResponse[]>> => {
    return axiosInstance.get(
      `/api/v1/workspace/${wk}/repos/${repo}/webhooks/${webhookId}/deliveries`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const channelArticleCommentList = (
    articleId: string,
    params?: ChannelArticleCommentListParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.get(
      `/api/v1/ws/articles/${articleId}/comments`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const channelArticleCommentCreate = (
    articleId: string,
    articleCommentCreateRequest: ArticleCommentCreateRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/ws/articles/${articleId}/comments`,
      articleCommentCreateRequest,options
    );
  }

const channelArticleCommentDelete = (
    articleId: string,
    commentId: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/ws/articles/${articleId}/comments/${commentId}`,options
    );
  }

const channelArticleLike = (
    articleId: string,
    articleLikeRequest: ArticleLikeRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/ws/articles/${articleId}/like`,
      articleLikeRequest,options
    );
  }

const channelArticleLikedUsers = (
    articleId: string,
    params?: ChannelArticleLikedUsersParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.get(
      `/api/v1/ws/articles/${articleId}/likes`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const channelCategoryDelete = (
    categoryId: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/ws/categories/${categoryId}`,options
    );
  }

const channelCategoryUpdate = (
    categoryId: string,
    categoryUpdateRequest: CategoryUpdateRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.patch(
      `/api/v1/ws/categories/${categoryId}`,
      categoryUpdateRequest,options
    );
  }

const channelArticleList = (
    channelId: string,
    params?: ChannelArticleListParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.get(
      `/api/v1/ws/channels/${channelId}/articles`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const channelArticleCreate = (
    channelId: string,
    articleCreateRequest: ArticleCreateRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/ws/channels/${channelId}/articles`,
      articleCreateRequest,options
    );
  }

const channelArticleGet = (
    channelId: string,
    articleId: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.get(
      `/api/v1/ws/channels/${channelId}/articles/${articleId}`,options
    );
  }

const channelArticleDelete = (
    channelId: string,
    articleId: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/ws/channels/${channelId}/articles/${articleId}`,options
    );
  }

const channelArticleUpdate = (
    channelId: string,
    articleId: string,
    articleUpdateRequest: ArticleUpdateRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.patch(
      `/api/v1/ws/channels/${channelId}/articles/${articleId}`,
      articleUpdateRequest,options
    );
  }

const channelCsrfToken = (
     options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.get(
      `/api/v1/ws/csrf`,options
    );
  }

const channelCustomStatusUpdate = (
    customStatusRequest: CustomStatusRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/ws/custom-status`,
      customStatusRequest,options
    );
  }

const channelInviteCreate = (
    inviteCreateRequest: InviteCreateRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/ws/invites`,
      inviteCreateRequest,options
    );
  }

const channelInviteAccept = (
    inviteAcceptRequest: InviteAcceptRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/ws/invites/accept`,
      inviteAcceptRequest,options
    );
  }

const channelInviteRevoke = (
    id: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/ws/invites/${id}`,options
    );
  }

const channelRevokeMessage = (
    messageId: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/ws/messages/${messageId}`,options
    );
  }

const channelUpdateMessage = (
    messageId: string,
    updateMessageRequest: UpdateMessageRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.patch(
      `/api/v1/ws/messages/${messageId}`,
      updateMessageRequest,options
    );
  }

const channelNotificationMarkAllRead = (
    notificationMarkAllReadRequest: NotificationMarkAllReadRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/ws/notifications/read-all`,
      notificationMarkAllReadRequest,options
    );
  }

const channelNotificationArchive = (
    id: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/ws/notifications/${id}`,options
    );
  }

const channelNotificationMarkRead = (
    id: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.patch(
      `/api/v1/ws/notifications/${id}/read`,
      undefined,options
    );
  }

const channelPing = (
     options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.get(
      `/api/v1/ws/ping`,options
    );
  }

const channelPresenceUpdate = (
    presenceUpdateRequest: PresenceUpdateRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/ws/presence`,
      presenceUpdateRequest,options
    );
  }

const channelListRooms = (
     options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.get(
      `/api/v1/ws/rooms`,options
    );
  }

const channelRoomCreate = (
    roomCreateRequest: RoomCreateRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/ws/rooms`,
      roomCreateRequest,options
    );
  }

const channelRoomGet = (
    roomId: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.get(
      `/api/v1/ws/rooms/${roomId}`,options
    );
  }

const channelRoomDelete = (
    roomId: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/ws/rooms/${roomId}`,options
    );
  }

const channelRoomUpdate = (
    roomId: string,
    roomUpdateRequest: RoomUpdateRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.patch(
      `/api/v1/ws/rooms/${roomId}`,
      roomUpdateRequest,options
    );
  }

const channelDndUpdate = (
    roomId: string,
    dndRequest: DndRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.patch(
      `/api/v1/ws/rooms/${roomId}/dnd`,
      dndRequest,options
    );
  }

const channelDraftSave = (
    roomId: string,
    draftSaveRequest: DraftSaveRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.put(
      `/api/v1/ws/rooms/${roomId}/drafts`,
      draftSaveRequest,options
    );
  }

const channelDraftClear = (
    roomId: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/ws/rooms/${roomId}/drafts`,options
    );
  }

const channelAccessGrant = (
    roomId: string,
    accessRequest: AccessRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/ws/rooms/${roomId}/members`,
      accessRequest,options
    );
  }

const channelAccessRevoke = (
    roomId: string,
    userId: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/ws/rooms/${roomId}/members/${userId}`,options
    );
  }

const channelListMessages = (
    roomId: string,
    params?: ChannelListMessagesParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.get(
      `/api/v1/ws/rooms/${roomId}/messages`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const channelCreateMessage = (
    roomId: string,
    createMessageRequest: CreateMessageRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/ws/rooms/${roomId}/messages`,
      createMessageRequest,options
    );
  }

const channelMessagesAround = (
    roomId: string,
    params: ChannelMessagesAroundParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.get(
      `/api/v1/ws/rooms/${roomId}/messages/around`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const channelMissedMessages = (
    roomId: string,
    params: ChannelMissedMessagesParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.get(
      `/api/v1/ws/rooms/${roomId}/messages/missed`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const channelPinAdd = (
    roomId: string,
    pinRequest: PinRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/ws/rooms/${roomId}/pins`,
      pinRequest,options
    );
  }

const channelPinRemove = (
    roomId: string,
    pinRequest: PinRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/ws/rooms/${roomId}/pins`,{data: pinRequest,...options}
    );
  }

const channelReactionAdd = (
    roomId: string,
    reactionRequest: ReactionRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/ws/rooms/${roomId}/reactions`,
      reactionRequest,options
    );
  }

const channelReactionRemove = (
    roomId: string,
    reactionRequest: ReactionRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/ws/rooms/${roomId}/reactions`,{data: reactionRequest,...options}
    );
  }

const channelReadReceipt = (
    roomId: string,
    readReceiptRequest: ReadReceiptRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/ws/rooms/${roomId}/read-receipt`,
      readReceiptRequest,options
    );
  }

const channelScreenShare = (
    roomId: string,
    screenShareRequest: ScreenShareRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/ws/rooms/${roomId}/screen-share`,
      screenShareRequest,options
    );
  }

const channelSubscribe = (
    roomId: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/ws/rooms/${roomId}/subscribe`,
      undefined,options
    );
  }

const channelUnsubscribe = (
    roomId: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/ws/rooms/${roomId}/subscribe`,options
    );
  }

const channelThreadCreate = (
    roomId: string,
    threadCreateRequest: ThreadCreateRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/ws/rooms/${roomId}/threads`,
      threadCreateRequest,options
    );
  }

const channelTyping = (
    roomId: string,
    typingRequest: TypingRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/ws/rooms/${roomId}/typing`,
      typingRequest,options
    );
  }

const channelVoiceDeaf = (
    roomId: string,
    voiceDeafRequest: VoiceDeafRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/ws/rooms/${roomId}/voice/deaf`,
      voiceDeafRequest,options
    );
  }

const channelVoiceJoin = (
    roomId: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/ws/rooms/${roomId}/voice/join`,
      undefined,options
    );
  }

const channelVoiceLeave = (
    roomId: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/ws/rooms/${roomId}/voice/leave`,
      undefined,options
    );
  }

const channelVoiceMute = (
    roomId: string,
    voiceMuteRequest: VoiceMuteRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/ws/rooms/${roomId}/voice/mute`,
      voiceMuteRequest,options
    );
  }

const channelSearch = (
    params: ChannelSearchParams, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.get(
      `/api/v1/ws/search`,{
    ...options,
        params: {...params, ...options?.params},}
    );
  }

const channelThreadArchive = (
    threadId: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.patch(
      `/api/v1/ws/threads/${threadId}/archive`,
      undefined,options
    );
  }

const channelThreadResolve = (
    threadId: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.patch(
      `/api/v1/ws/threads/${threadId}/resolve`,
      undefined,options
    );
  }

const channelGenerateToken = (
    tokenRequest: TokenRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<TokenResponse>> => {
    return axiosInstance.post(
      `/api/v1/ws/token`,
      tokenRequest,options
    );
  }

const channelUserSummary = (
    username: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.get(
      `/api/v1/ws/users/summary/${username}`,options
    );
  }

const channelBanCreate = (
    workspaceId: string,
    banCreateRequest: BanCreateRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/ws/workspaces/${workspaceId}/bans`,
      banCreateRequest,options
    );
  }

const channelBanRemove = (
    workspaceId: string,
    userId: string, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.delete(
      `/api/v1/ws/workspaces/${workspaceId}/bans/${userId}`,options
    );
  }

const channelCategoryCreate = (
    workspaceId: string,
    categoryCreateRequest: CategoryCreateRequest, options?: AxiosRequestConfig
 ): Promise<AxiosResponse<void>> => {
    return axiosInstance.post(
      `/api/v1/ws/workspaces/${workspaceId}/categories`,
      categoryCreateRequest,options
    );
  }

return {agentListAllConversations,agentGetConversation,agentDeleteConversation,agentUpdateConversation,agentListMessages,agentSendMessage,agentStreamAgent,agentListSessions,agentCreateSession,agentGetSession,agentDeleteSession,agentUpdateSession,agentListConversations,agentCreateConversation,aiListModels,aiGetModel,aiGetCard,aiListDiscussions,aiListLikes,aiListTags,aiListVersions,aiListProviders,aiGetProvider,authStatus2fa,authDisable2fa,authRegenerateBackupCodes,authEnable2fa,authVerify2fa,authCaptcha,authGetEmail,authEmailChangeRequest,authEmailVerify,authLogin,authLogout,authMe,authRsa,authRegister,authResetPasswordRequest,authResetPasswordVerify,search,userListAccessTokens,userCreateAccessToken,userUpdateAccessToken,userRevokeAccessToken,userUploadAvatar,userConfig,userUpdateAccessibility,userUpdateAppearance,userUpdateNotification,userUpdatePrivacy,userUpdateProfile,userContributionHeatmap,userInvalidateChpcCache,userListSshKeys,userAddSshKey,userUpdateSshKey,userRevokeSshKey,usersUserAvatar,usersBlockedList,usersBlockUser,usersUserChpc,usersFollowUser,usersFollowers,usersFollowing,usersUserPublic,usersRelationStatus,usersRelationCounts,usersUserSummary,usersUnblockUser,usersUnfollowUser,workspaceCreateWorkspace,workspaceMyJoinApplies,workspaceMyWorkspaces,workspaceGetWorkspace,workspaceUpdateWorkspace,workspaceGetAvatar,workspaceUploadAvatar,workspaceListGroups,workspaceCreateGroup,workspaceUpdateGroup,workspaceDeleteGroup,workspaceListGroupMembers,workspaceAddGroupMember,workspaceRemoveGroupMember,issuesListIssues,issuesCreateIssue,issuesGetIssue,issuesUpdateIssue,issuesDeleteIssue,issuesAssignUser,issuesUnassignUser,issuesCloseIssue,issuesListComments,issuesCreateComment,issuesUpdateComment,issuesDeleteComment,issuesAddCommentReaction,issuesRemoveCommentReaction,issuesListEvents,issuesAddIssueLabel,issuesRemoveIssueLabel,issuesSetIssueMilestone,issuesClearIssueMilestone,issuesBindPullRequest,issuesUnbindPullRequest,issuesAddReaction,issuesRemoveReaction,issuesReopenIssue,issuesBindRepo,issuesUnbindRepo,workspaceJoinStrategy,workspaceUpdateJoinStrategy,workspaceListJoinApplies,workspaceApproveJoin,workspaceApplyJoin,workspaceCancelJoin,issuesListLabels,issuesCreateLabel,issuesUpdateLabel,issuesDeleteLabel,workspaceListMembers,workspaceAddMember,workspaceUpdateMember,workspaceRemoveMember,issuesListMilestones,issuesCreateMilestone,issuesUpdateMilestone,issuesDeleteMilestone,gitListRepos,gitCreateRepo,gitCloneRepo,gitGetRepo,gitUpdateRepo,gitDeleteRepo,gitArchiveRepo,gitCombinedStatus,gitListStatuses,gitCompare,gitGetContents,gitUpdateContents,gitCreateContents,gitDeleteContents,gitListForks,gitCreateFork,gitArchive,gitBlameFile,gitBlobUpload,gitBlobInfo,gitListBranches,gitForkBranch,gitBranchInfo,gitDeleteBranch,gitRenameBranch,gitAheadBehind,gitBranchUpstream,gitListCommits,gitCherryPick,gitCommitHistory,gitCommitWalk,gitCommitInfo,gitTreeEntryByPathFromCommit,gitListContributors,gitDiff,gitDiffBranches,gitGetLanguages,gitGetReadme,gitListRefs,gitStarStatus,gitStarRepo,gitUnstarRepo,gitListTags,gitInitTag,gitTagInfo,gitDeleteTag,gitUpdateTag,gitTreeEntries,gitTreeEntryByPath,gitWatchStatus,gitWatchRepo,gitUnwatchRepo,gitListProtects,gitCreateProtect,gitUpdateProtect,gitDeleteProtect,pullRequestListPrs,pullRequestCreatePr,pullRequestGetPr,pullRequestDeletePr,pullRequestUpdatePr,pullRequestAssignUser,pullRequestUnassignUser,pullRequestListComments,pullRequestCreateComment,pullRequestUpdateComment,pullRequestDeleteComment,pullRequestAddCommentReaction,pullRequestRemoveCommentReaction,pullRequestAddLabel,pullRequestRemoveLabel,pullRequestMergeAnalysis,pullRequestMergePr,pullRequestAddReaction,pullRequestRemoveReaction,pullRequestCreateReviewComment,pullRequestListReviews,pullRequestCreateReview,pullRequestDismissReview,pullRequestUpdateBranch,gitListReleases,gitCreateRelease,gitGetReleaseByTag,gitDeleteReleaseByTag,gitGetRelease,gitDeleteRelease,gitUpdateRelease,gitCreateStatus,gitGetTopics,gitUpdateTopics,gitTransferRepo,gitListWebhooks,gitCreateWebhook,gitUpdateWebhook,gitDeleteWebhook,gitListDeliveries,channelArticleCommentList,channelArticleCommentCreate,channelArticleCommentDelete,channelArticleLike,channelArticleLikedUsers,channelCategoryDelete,channelCategoryUpdate,channelArticleList,channelArticleCreate,channelArticleGet,channelArticleDelete,channelArticleUpdate,channelCsrfToken,channelCustomStatusUpdate,channelInviteCreate,channelInviteAccept,channelInviteRevoke,channelRevokeMessage,channelUpdateMessage,channelNotificationMarkAllRead,channelNotificationArchive,channelNotificationMarkRead,channelPing,channelPresenceUpdate,channelListRooms,channelRoomCreate,channelRoomGet,channelRoomDelete,channelRoomUpdate,channelDndUpdate,channelDraftSave,channelDraftClear,channelAccessGrant,channelAccessRevoke,channelListMessages,channelCreateMessage,channelMessagesAround,channelMissedMessages,channelPinAdd,channelPinRemove,channelReactionAdd,channelReactionRemove,channelReadReceipt,channelScreenShare,channelSubscribe,channelUnsubscribe,channelThreadCreate,channelTyping,channelVoiceDeaf,channelVoiceJoin,channelVoiceLeave,channelVoiceMute,channelSearch,channelThreadArchive,channelThreadResolve,channelGenerateToken,channelUserSummary,channelBanCreate,channelBanRemove,channelCategoryCreate}};
export type AgentListAllConversationsResult = AxiosResponse<ConversationWithSessionResponse[]>
export type AgentGetConversationResult = AxiosResponse<ConversationResponse>
export type AgentDeleteConversationResult = AxiosResponse<void>
export type AgentUpdateConversationResult = AxiosResponse<ConversationResponse>
export type AgentListMessagesResult = AxiosResponse<MessageResponse[]>
export type AgentSendMessageResult = AxiosResponse<AgentRunResponse>
export type AgentStreamAgentResult = AxiosResponse<void>
export type AgentListSessionsResult = AxiosResponse<AgentSessionResponse[]>
export type AgentCreateSessionResult = AxiosResponse<AgentSessionResponse>
export type AgentGetSessionResult = AxiosResponse<AgentSessionResponse>
export type AgentDeleteSessionResult = AxiosResponse<void>
export type AgentUpdateSessionResult = AxiosResponse<AgentSessionResponse>
export type AgentListConversationsResult = AxiosResponse<ConversationResponse[]>
export type AgentCreateConversationResult = AxiosResponse<ConversationResponse>
export type AiListModelsResult = AxiosResponse<AiModelListItem[]>
export type AiGetModelResult = AxiosResponse<AiModelResponse>
export type AiGetCardResult = AxiosResponse<null | AiModelCardResponse>
export type AiListDiscussionsResult = AxiosResponse<AiDiscussionResponse[]>
export type AiListLikesResult = AxiosResponse<AiLikeResponse[]>
export type AiListTagsResult = AxiosResponse<string[]>
export type AiListVersionsResult = AxiosResponse<AiModelVersionResponse[]>
export type AiListProvidersResult = AxiosResponse<AiProviderResponse[]>
export type AiGetProviderResult = AxiosResponse<AiProviderResponse>
export type AuthStatus2faResult = AxiosResponse<Get2FAStatusResponse>
export type AuthDisable2faResult = AxiosResponse<void>
export type AuthRegenerateBackupCodesResult = AxiosResponse<void>
export type AuthEnable2faResult = AxiosResponse<Enable2FAResponse>
export type AuthVerify2faResult = AxiosResponse<void>
export type AuthCaptchaResult = AxiosResponse<CaptchaResponse>
export type AuthGetEmailResult = AxiosResponse<EmailResponse>
export type AuthEmailChangeRequestResult = AxiosResponse<void>
export type AuthEmailVerifyResult = AxiosResponse<void>
export type AuthLoginResult = AxiosResponse<void>
export type AuthLogoutResult = AxiosResponse<void>
export type AuthMeResult = AxiosResponse<ContextMe>
export type AuthRsaResult = AxiosResponse<RsaResponse>
export type AuthRegisterResult = AxiosResponse<void>
export type AuthResetPasswordRequestResult = AxiosResponse<void>
export type AuthResetPasswordVerifyResult = AxiosResponse<void>
export type SearchResult = AxiosResponse<SearchResponse>
export type UserListAccessTokensResult = AxiosResponse<UserAccessToken[]>
export type UserCreateAccessTokenResult = AxiosResponse<CreatedUserAccessToken>
export type UserUpdateAccessTokenResult = AxiosResponse<UserAccessToken>
export type UserRevokeAccessTokenResult = AxiosResponse<void>
export type UserUploadAvatarResult = AxiosResponse<AvatarUploadResponse>
export type UserConfigResult = AxiosResponse<UserConfigResponse>
export type UserUpdateAccessibilityResult = AxiosResponse<UserAccessibilityConfig>
export type UserUpdateAppearanceResult = AxiosResponse<UserAppearanceConfig>
export type UserUpdateNotificationResult = AxiosResponse<UserNotificationConfig>
export type UserUpdatePrivacyResult = AxiosResponse<UserPrivacyConfig>
export type UserUpdateProfileResult = AxiosResponse<UserProfileConfig>
export type UserContributionHeatmapResult = AxiosResponse<ContributionHeatmapResponse>
export type UserInvalidateChpcCacheResult = AxiosResponse<void>
export type UserListSshKeysResult = AxiosResponse<UserSshKey[]>
export type UserAddSshKeyResult = AxiosResponse<UserSshKey>
export type UserUpdateSshKeyResult = AxiosResponse<UserSshKey>
export type UserRevokeSshKeyResult = AxiosResponse<void>
export type UsersUserAvatarResult = AxiosResponse<unknown>
export type UsersBlockedListResult = AxiosResponse<UserRelationCard[]>
export type UsersBlockUserResult = AxiosResponse<UserRelationStatus>
export type UsersUserChpcResult = AxiosResponse<ContributionHeatmapResponse>
export type UsersFollowUserResult = AxiosResponse<UserRelationStatus>
export type UsersFollowersResult = AxiosResponse<UserRelationCard[]>
export type UsersFollowingResult = AxiosResponse<UserRelationCard[]>
export type UsersUserPublicResult = AxiosResponse<PublicUserResponse>
export type UsersRelationStatusResult = AxiosResponse<UserRelationStatus>
export type UsersRelationCountsResult = AxiosResponse<UserRelationCounts>
export type UsersUserSummaryResult = AxiosResponse<UserSummaryResponse>
export type UsersUnblockUserResult = AxiosResponse<UserRelationStatus>
export type UsersUnfollowUserResult = AxiosResponse<UserRelationStatus>
export type WorkspaceCreateWorkspaceResult = AxiosResponse<WorkspaceResponse>
export type WorkspaceMyJoinAppliesResult = AxiosResponse<WorkspaceJoinApplyResponse[]>
export type WorkspaceMyWorkspacesResult = AxiosResponse<WorkspaceResponse[]>
export type WorkspaceGetWorkspaceResult = AxiosResponse<WorkspaceResponse>
export type WorkspaceUpdateWorkspaceResult = AxiosResponse<WorkspaceResponse>
export type WorkspaceGetAvatarResult = AxiosResponse<unknown>
export type WorkspaceUploadAvatarResult = AxiosResponse<AvatarUploadResponse>
export type WorkspaceListGroupsResult = AxiosResponse<WorkspaceGroupResponse[]>
export type WorkspaceCreateGroupResult = AxiosResponse<WorkspaceGroupResponse>
export type WorkspaceUpdateGroupResult = AxiosResponse<WorkspaceGroupResponse>
export type WorkspaceDeleteGroupResult = AxiosResponse<void>
export type WorkspaceListGroupMembersResult = AxiosResponse<WorkspaceMemberResponse[]>
export type WorkspaceAddGroupMemberResult = AxiosResponse<void>
export type WorkspaceRemoveGroupMemberResult = AxiosResponse<void>
export type IssuesListIssuesResult = AxiosResponse<IssueResponse[]>
export type IssuesCreateIssueResult = AxiosResponse<IssueResponse>
export type IssuesGetIssueResult = AxiosResponse<IssueResponse>
export type IssuesUpdateIssueResult = AxiosResponse<IssueResponse>
export type IssuesDeleteIssueResult = AxiosResponse<void>
export type IssuesAssignUserResult = AxiosResponse<IssueAuthor[]>
export type IssuesUnassignUserResult = AxiosResponse<IssueAuthor[]>
export type IssuesCloseIssueResult = AxiosResponse<IssueResponse>
export type IssuesListCommentsResult = AxiosResponse<IssueCommentResponse[]>
export type IssuesCreateCommentResult = AxiosResponse<IssueCommentResponse>
export type IssuesUpdateCommentResult = AxiosResponse<IssueCommentResponse>
export type IssuesDeleteCommentResult = AxiosResponse<void>
export type IssuesAddCommentReactionResult = AxiosResponse<IssueReactionResponse[]>
export type IssuesRemoveCommentReactionResult = AxiosResponse<IssueReactionResponse[]>
export type IssuesListEventsResult = AxiosResponse<IssueEventResponse[]>
export type IssuesAddIssueLabelResult = AxiosResponse<LabelResponse[]>
export type IssuesRemoveIssueLabelResult = AxiosResponse<LabelResponse[]>
export type IssuesSetIssueMilestoneResult = AxiosResponse<null | MilestoneResponse>
export type IssuesClearIssueMilestoneResult = AxiosResponse<void>
export type IssuesBindPullRequestResult = AxiosResponse<IssuePullRequestResponse[]>
export type IssuesUnbindPullRequestResult = AxiosResponse<IssuePullRequestResponse[]>
export type IssuesAddReactionResult = AxiosResponse<IssueReactionResponse[]>
export type IssuesRemoveReactionResult = AxiosResponse<IssueReactionResponse[]>
export type IssuesReopenIssueResult = AxiosResponse<IssueResponse>
export type IssuesBindRepoResult = AxiosResponse<IssueRepoResponse[]>
export type IssuesUnbindRepoResult = AxiosResponse<IssueRepoResponse[]>
export type WorkspaceJoinStrategyResult = AxiosResponse<WorkspaceJoinStrategyResponse>
export type WorkspaceUpdateJoinStrategyResult = AxiosResponse<WorkspaceJoinStrategyResponse>
export type WorkspaceListJoinAppliesResult = AxiosResponse<WorkspaceJoinApplyResponse[]>
export type WorkspaceApproveJoinResult = AxiosResponse<WorkspaceJoinApprovalResponse>
export type WorkspaceApplyJoinResult = AxiosResponse<WorkspaceJoinApplyResponse>
export type WorkspaceCancelJoinResult = AxiosResponse<WorkspaceJoinApplyResponse>
export type IssuesListLabelsResult = AxiosResponse<LabelResponse[]>
export type IssuesCreateLabelResult = AxiosResponse<LabelResponse>
export type IssuesUpdateLabelResult = AxiosResponse<LabelResponse>
export type IssuesDeleteLabelResult = AxiosResponse<void>
export type WorkspaceListMembersResult = AxiosResponse<WorkspaceMemberResponse[]>
export type WorkspaceAddMemberResult = AxiosResponse<WorkspaceMemberResponse>
export type WorkspaceUpdateMemberResult = AxiosResponse<WorkspaceMemberResponse>
export type WorkspaceRemoveMemberResult = AxiosResponse<void>
export type IssuesListMilestonesResult = AxiosResponse<MilestoneResponse[]>
export type IssuesCreateMilestoneResult = AxiosResponse<MilestoneResponse>
export type IssuesUpdateMilestoneResult = AxiosResponse<MilestoneResponse>
export type IssuesDeleteMilestoneResult = AxiosResponse<void>
export type GitListReposResult = AxiosResponse<RepoResponse[]>
export type GitCreateRepoResult = AxiosResponse<void>
export type GitCloneRepoResult = AxiosResponse<void>
export type GitGetRepoResult = AxiosResponse<RepoResponse>
export type GitUpdateRepoResult = AxiosResponse<RepoResponse>
export type GitDeleteRepoResult = AxiosResponse<void>
export type GitArchiveRepoResult = AxiosResponse<RepoResponse>
export type GitCombinedStatusResult = AxiosResponse<CombinedCommitStatus>
export type GitListStatusesResult = AxiosResponse<CommitStatusResponse[]>
export type GitCompareResult = AxiosResponse<CompareResponse>
export type GitGetContentsResult = AxiosResponse<ContentResponse>
export type GitUpdateContentsResult = AxiosResponse<ContentResponse>
export type GitCreateContentsResult = AxiosResponse<ContentResponse>
export type GitDeleteContentsResult = AxiosResponse<void>
export type GitListForksResult = AxiosResponse<ForkResponse[]>
export type GitCreateForkResult = AxiosResponse<ForkResponse>
export type GitArchiveResult = AxiosResponse<void>
export type GitBlameFileResult = AxiosResponse<BlameFileResponseDto>
export type GitBlobUploadResult = AxiosResponse<BlobUploadResponseDto>
export type GitBlobInfoResult = AxiosResponse<BlobInfoResponse>
export type GitListBranchesResult = AxiosResponse<BranchListResponseDto>
export type GitForkBranchResult = AxiosResponse<void>
export type GitBranchInfoResult = AxiosResponse<BranchInfoResponseDto>
export type GitDeleteBranchResult = AxiosResponse<void>
export type GitRenameBranchResult = AxiosResponse<void>
export type GitAheadBehindResult = AxiosResponse<BranchAheadBehindResponseDto>
export type GitBranchUpstreamResult = AxiosResponse<BranchUpstreamResponseDto>
export type GitListCommitsResult = AxiosResponse<CommitHistoryResponseDto>
export type GitCherryPickResult = AxiosResponse<CherryPickResponseDto>
export type GitCommitHistoryResult = AxiosResponse<CommitHistoryResponseDto>
export type GitCommitWalkResult = AxiosResponse<CommitHistoryResponseDto>
export type GitCommitInfoResult = AxiosResponse<CommitInfoResponseDto>
export type GitTreeEntryByPathFromCommitResult = AxiosResponse<TreeEntryByPathResponseDto>
export type GitListContributorsResult = AxiosResponse<ContributorDto[]>
export type GitDiffResult = AxiosResponse<void>
export type GitDiffBranchesResult = AxiosResponse<DiffResultDto>
export type GitGetLanguagesResult = AxiosResponse<LanguageStatDto[]>
export type GitGetReadmeResult = AxiosResponse<null | ReadmeDto>
export type GitListRefsResult = AxiosResponse<GitRefResponse[]>
export type GitStarStatusResult = AxiosResponse<void>
export type GitStarRepoResult = AxiosResponse<void>
export type GitUnstarRepoResult = AxiosResponse<void>
export type GitListTagsResult = AxiosResponse<TagSummaryResponseDto>
export type GitInitTagResult = AxiosResponse<TagInitResponseDto>
export type GitTagInfoResult = AxiosResponse<TagInfoResponseDto>
export type GitDeleteTagResult = AxiosResponse<void>
export type GitUpdateTagResult = AxiosResponse<void>
export type GitTreeEntriesResult = AxiosResponse<TreeEntriesResponseDto>
export type GitTreeEntryByPathResult = AxiosResponse<TreeEntryByPathResponseDto>
export type GitWatchStatusResult = AxiosResponse<void>
export type GitWatchRepoResult = AxiosResponse<void>
export type GitUnwatchRepoResult = AxiosResponse<void>
export type GitListProtectsResult = AxiosResponse<ProtectResponse[]>
export type GitCreateProtectResult = AxiosResponse<ProtectResponse>
export type GitUpdateProtectResult = AxiosResponse<ProtectResponse>
export type GitDeleteProtectResult = AxiosResponse<void>
export type PullRequestListPrsResult = AxiosResponse<PullRequestResponse[]>
export type PullRequestCreatePrResult = AxiosResponse<PullRequestResponse>
export type PullRequestGetPrResult = AxiosResponse<PullRequestResponse>
export type PullRequestDeletePrResult = AxiosResponse<void>
export type PullRequestUpdatePrResult = AxiosResponse<PullRequestResponse>
export type PullRequestAssignUserResult = AxiosResponse<IssueAuthor[]>
export type PullRequestUnassignUserResult = AxiosResponse<IssueAuthor[]>
export type PullRequestListCommentsResult = AxiosResponse<PullRequestCommentResponse[]>
export type PullRequestCreateCommentResult = AxiosResponse<PullRequestCommentResponse>
export type PullRequestUpdateCommentResult = AxiosResponse<PullRequestCommentResponse>
export type PullRequestDeleteCommentResult = AxiosResponse<void>
export type PullRequestAddCommentReactionResult = AxiosResponse<PullRequestReactionResponse>
export type PullRequestRemoveCommentReactionResult = AxiosResponse<void>
export type PullRequestAddLabelResult = AxiosResponse<LabelResponse[]>
export type PullRequestRemoveLabelResult = AxiosResponse<LabelResponse[]>
export type PullRequestMergeAnalysisResult = AxiosResponse<void>
export type PullRequestMergePrResult = AxiosResponse<PullRequestResponse>
export type PullRequestAddReactionResult = AxiosResponse<PullRequestReactionResponse>
export type PullRequestRemoveReactionResult = AxiosResponse<void>
export type PullRequestCreateReviewCommentResult = AxiosResponse<PullRequestReviewCommentResponse>
export type PullRequestListReviewsResult = AxiosResponse<PullRequestReviewResponse[]>
export type PullRequestCreateReviewResult = AxiosResponse<PullRequestReviewResponse>
export type PullRequestDismissReviewResult = AxiosResponse<void>
export type PullRequestUpdateBranchResult = AxiosResponse<PullRequestResponse>
export type GitListReleasesResult = AxiosResponse<ReleaseResponse[]>
export type GitCreateReleaseResult = AxiosResponse<ReleaseResponse>
export type GitGetReleaseByTagResult = AxiosResponse<ReleaseResponse>
export type GitDeleteReleaseByTagResult = AxiosResponse<void>
export type GitGetReleaseResult = AxiosResponse<ReleaseResponse>
export type GitDeleteReleaseResult = AxiosResponse<void>
export type GitUpdateReleaseResult = AxiosResponse<ReleaseResponse>
export type GitCreateStatusResult = AxiosResponse<CommitStatusResponse>
export type GitGetTopicsResult = AxiosResponse<string[]>
export type GitUpdateTopicsResult = AxiosResponse<string[]>
export type GitTransferRepoResult = AxiosResponse<RepoResponse>
export type GitListWebhooksResult = AxiosResponse<WebhookResponse[]>
export type GitCreateWebhookResult = AxiosResponse<WebhookResponse>
export type GitUpdateWebhookResult = AxiosResponse<WebhookResponse>
export type GitDeleteWebhookResult = AxiosResponse<void>
export type GitListDeliveriesResult = AxiosResponse<WebhookDeliveryResponse[]>
export type ChannelArticleCommentListResult = AxiosResponse<void>
export type ChannelArticleCommentCreateResult = AxiosResponse<void>
export type ChannelArticleCommentDeleteResult = AxiosResponse<void>
export type ChannelArticleLikeResult = AxiosResponse<void>
export type ChannelArticleLikedUsersResult = AxiosResponse<void>
export type ChannelCategoryDeleteResult = AxiosResponse<void>
export type ChannelCategoryUpdateResult = AxiosResponse<void>
export type ChannelArticleListResult = AxiosResponse<void>
export type ChannelArticleCreateResult = AxiosResponse<void>
export type ChannelArticleGetResult = AxiosResponse<void>
export type ChannelArticleDeleteResult = AxiosResponse<void>
export type ChannelArticleUpdateResult = AxiosResponse<void>
export type ChannelCsrfTokenResult = AxiosResponse<void>
export type ChannelCustomStatusUpdateResult = AxiosResponse<void>
export type ChannelInviteCreateResult = AxiosResponse<void>
export type ChannelInviteAcceptResult = AxiosResponse<void>
export type ChannelInviteRevokeResult = AxiosResponse<void>
export type ChannelRevokeMessageResult = AxiosResponse<void>
export type ChannelUpdateMessageResult = AxiosResponse<void>
export type ChannelNotificationMarkAllReadResult = AxiosResponse<void>
export type ChannelNotificationArchiveResult = AxiosResponse<void>
export type ChannelNotificationMarkReadResult = AxiosResponse<void>
export type ChannelPingResult = AxiosResponse<void>
export type ChannelPresenceUpdateResult = AxiosResponse<void>
export type ChannelListRoomsResult = AxiosResponse<void>
export type ChannelRoomCreateResult = AxiosResponse<void>
export type ChannelRoomGetResult = AxiosResponse<void>
export type ChannelRoomDeleteResult = AxiosResponse<void>
export type ChannelRoomUpdateResult = AxiosResponse<void>
export type ChannelDndUpdateResult = AxiosResponse<void>
export type ChannelDraftSaveResult = AxiosResponse<void>
export type ChannelDraftClearResult = AxiosResponse<void>
export type ChannelAccessGrantResult = AxiosResponse<void>
export type ChannelAccessRevokeResult = AxiosResponse<void>
export type ChannelListMessagesResult = AxiosResponse<void>
export type ChannelCreateMessageResult = AxiosResponse<void>
export type ChannelMessagesAroundResult = AxiosResponse<void>
export type ChannelMissedMessagesResult = AxiosResponse<void>
export type ChannelPinAddResult = AxiosResponse<void>
export type ChannelPinRemoveResult = AxiosResponse<void>
export type ChannelReactionAddResult = AxiosResponse<void>
export type ChannelReactionRemoveResult = AxiosResponse<void>
export type ChannelReadReceiptResult = AxiosResponse<void>
export type ChannelScreenShareResult = AxiosResponse<void>
export type ChannelSubscribeResult = AxiosResponse<void>
export type ChannelUnsubscribeResult = AxiosResponse<void>
export type ChannelThreadCreateResult = AxiosResponse<void>
export type ChannelTypingResult = AxiosResponse<void>
export type ChannelVoiceDeafResult = AxiosResponse<void>
export type ChannelVoiceJoinResult = AxiosResponse<void>
export type ChannelVoiceLeaveResult = AxiosResponse<void>
export type ChannelVoiceMuteResult = AxiosResponse<void>
export type ChannelSearchResult = AxiosResponse<void>
export type ChannelThreadArchiveResult = AxiosResponse<void>
export type ChannelThreadResolveResult = AxiosResponse<void>
export type ChannelGenerateTokenResult = AxiosResponse<TokenResponse>
export type ChannelUserSummaryResult = AxiosResponse<void>
export type ChannelBanCreateResult = AxiosResponse<void>
export type ChannelBanRemoveResult = AxiosResponse<void>
export type ChannelCategoryCreateResult = AxiosResponse<void>
