// This file is auto-generated by @hey-api/openapi-ts export type ClientOptions = { baseURL: `${string}://${string}` | (string & {}); }; export type AccessKeyListResponse = { access_keys: Array; total: number; }; export type AccessKeyResponse = { id: number; name: string; access_key?: string | null; scopes: Array; expires_at?: string | null; is_revoked: boolean; created_at: string; }; export type ActivityLogListResponse = { logs: Array; total: number; page: number; per_page: number; user_role?: null | MemberRole; }; export type ActivityLogParams = { event_type: string; title: string; repo_id?: string | null; content?: string | null; event_id?: string | null; event_sub_id?: number | null; metadata?: unknown; is_private: boolean; }; export type ActivityLogResponse = { id: number; project_uid: string; repo_uid?: string; actor_uid: string; event_type: string; title: string; content?: string; is_private: boolean; visibility: string; created_at: string; }; export type AddSshKeyParams = { title: string; public_key: string; }; export type AnswerRequest = { question: string; answer: string; }; export type ApiError = { /** * Error numeric code */ code: number; /** * Error slug identifier */ error: string; /** * Human-readable error message */ message: string; }; export type ApiResponseAccessKeyListResponse = { code: number; message: string; data?: { access_keys: Array; total: number; }; }; export type ApiResponseAccessKeyResponse = { code: number; message: string; data?: { id: number; name: string; access_key?: string | null; scopes: Array; expires_at?: string | null; is_revoked: boolean; created_at: string; }; }; export type ApiResponseActivityLogListResponse = { code: number; message: string; data?: { logs: Array; total: number; page: number; per_page: number; user_role?: null | MemberRole; }; }; export type ApiResponseActivityLogResponse = { code: number; message: string; data?: { id: number; project_uid: string; repo_uid?: string; actor_uid: string; event_type: string; title: string; content?: string; is_private: boolean; visibility: string; created_at: string; }; }; export type ApiResponseApiError = { code: number; message: string; data?: { /** * Error numeric code */ code: number; /** * Error slug identifier */ error: string; /** * Human-readable error message */ message: string; }; }; export type ApiResponseApprovalCheckResult = { code: number; message: string; data?: { enough_approvals: boolean; approvals: number; required: number; reviewers: Array; }; }; export type ApiResponseArchiveCachedResponse = { code: number; message: string; data?: { commit_oid: string; format: string; cached: boolean; }; }; export type ApiResponseArchiveInvalidateAllResponse = { code: number; message: string; data?: { commit_oid: string; count: number; }; }; export type ApiResponseArchiveInvalidateResponse = { code: number; message: string; data?: { commit_oid: string; format: string; invalidated: boolean; }; }; export type ApiResponseArchiveListResponse = { code: number; message: string; data?: { commit_oid: string; entries: Array; total_entries: number; }; }; export type ApiResponseArchiveResponse = { code: number; message: string; data?: { commit_oid: string; format: string; size: number; data: string; }; }; export type ApiResponseArchiveSummaryResponse = { code: number; message: string; data?: { commit_oid: string; format: string; total_entries: number; total_size: number; }; }; export type ApiResponseAuditLogResponse = { code: number; message: string; data?: { id: number; project_uid: string; actor_uid: string; action: string; details?: { [key: string]: unknown; }; }; }; export type ApiResponseBlobContentResponse = { code: number; message: string; data?: { oid: string; size: number; is_binary: boolean; content: string; }; }; export type ApiResponseBlobCreateResponse = { code: number; message: string; data?: { oid: string; size: number; }; }; export type ApiResponseBlobExistsResponse = { code: number; message: string; data?: { oid: string; exists: boolean; }; }; export type ApiResponseBlobInfoResponse = { code: number; message: string; data?: { oid: string; size: number; is_binary: boolean; }; }; export type ApiResponseBlobIsBinaryResponse = { code: number; message: string; data?: { oid: string; is_binary: boolean; }; }; export type ApiResponseBlobSizeResponse = { code: number; message: string; data?: { oid: string; size: number; }; }; export type ApiResponseBoardResponse = { code: number; message: string; data?: { id: string; project: string; name: string; description?: string | null; created_by: string; created_at: string; updated_at: string; }; }; export type ApiResponseBoardWithColumnsResponse = { code: number; message: string; data?: { board: BoardResponse; columns: Array; }; }; export type ApiResponseBranchDiffResponse = { code: number; message: string; data?: { ahead: number; behind: number; diverged: boolean; }; }; export type ApiResponseBranchExistsResponse = { code: number; message: string; data?: { name: string; exists: boolean; }; }; export type ApiResponseBranchFastForwardResponse = { code: number; message: string; data?: { oid: string; }; }; export type ApiResponseBranchInfoResponse = { code: number; message: string; data?: { name: string; oid: string; is_head: boolean; is_remote: boolean; is_current: boolean; upstream?: string | null; }; }; export type ApiResponseBranchIsAncestorResponse = { code: number; message: string; data?: { child: string; ancestor: string; is_ancestor: boolean; }; }; export type ApiResponseBranchIsConflictedResponse = { code: number; message: string; data?: { is_conflicted: boolean; }; }; export type ApiResponseBranchIsDetachedResponse = { code: number; message: string; data?: { is_detached: boolean; }; }; export type ApiResponseBranchIsHeadResponse = { code: number; message: string; data?: { name: string; is_head: boolean; }; }; export type ApiResponseBranchIsMergedResponse = { code: number; message: string; data?: { branch: string; into: string; is_merged: boolean; }; }; export type ApiResponseBranchMergeBaseResponse = { code: number; message: string; data?: { branch1: string; branch2: string; base: string; }; }; export type ApiResponseBranchProtectionResponse = { code: number; message: string; data?: { id: number; repo: string; branch: string; forbid_push: boolean; forbid_pull: boolean; forbid_merge: boolean; forbid_deletion: boolean; forbid_force_push: boolean; forbid_tag_push: boolean; required_approvals: number; dismiss_stale_reviews: boolean; require_linear_history: boolean; allow_fork_syncing: boolean; }; }; export type ApiResponseBranchSummaryResponse = { code: number; message: string; data?: { local_count: number; remote_count: number; all_count: number; }; }; export type ApiResponseBranchTrackingDiffResponse = { code: number; message: string; data?: { name: string; ahead: number; behind: number; }; }; export type ApiResponseCaptchaResponse = { code: number; message: string; data?: { base64: string; rsa?: null | RsaResponse; req: CaptchaQuery; }; }; export type ApiResponseCardResponse = { code: number; message: string; data?: { id: string; column: string; issue_id?: number | null; project?: string | null; title: string; description?: string | null; position: number; assignee_id?: string | null; due_date?: string | null; priority?: string | null; created_by: string; created_at: string; updated_at: string; }; }; export type ApiResponseColumnResponse = { code: number; message: string; data?: { id: string; board: string; name: string; position: number; wip_limit?: number | null; color?: string | null; }; }; export type ApiResponseCommitAuthorResponse = { code: number; message: string; data?: { oid: string; author: CommitSignatureResponse; }; }; export type ApiResponseCommitBranchesResponse = { code: number; message: string; data?: { data?: { [key: string]: Array; }; }; }; export type ApiResponseCommitCountResponse = { code: number; message: string; data?: { count: number; }; }; export type ApiResponseCommitCreateResponse = { code: number; message: string; data?: { oid: string; }; }; export type ApiResponseCommitExistsResponse = { code: number; message: string; data?: { oid: string; exists: boolean; }; }; export type ApiResponseCommitGraphReactResponse = { code: number; message: string; data?: { commits: Array; lanes: Array; max_parents: number; }; }; export type ApiResponseCommitGraphResponse = { code: number; message: string; data?: { lines: Array; max_parents: number; }; }; export type ApiResponseCommitIsCommitResponse = { code: number; message: string; data?: { oid: string; is_commit: boolean; }; }; export type ApiResponseCommitIsMergeResponse = { code: number; message: string; data?: { oid: string; is_merge: boolean; }; }; export type ApiResponseCommitIsTipResponse = { code: number; message: string; data?: { oid: string; is_tip: boolean; }; }; export type ApiResponseCommitLogResponse = { code: number; message: string; data?: { data: Array; total: number; page: number; per_page: number; total_pages: number; }; }; export type ApiResponseCommitMessageResponse = { code: number; message: string; data?: { oid: string; message: string; }; }; export type ApiResponseCommitMetaResponse = { code: number; message: string; data?: { oid: string; message: string; summary: string; author: CommitSignatureResponse; committer: CommitSignatureResponse; tree_id: string; parent_ids: Array; encoding?: string | null; }; }; export type ApiResponseCommitParentCountResponse = { code: number; message: string; data?: { oid: string; parent_count: number; }; }; export type ApiResponseCommitParentIdsResponse = { code: number; message: string; data?: { oid: string; parent_ids: Array; }; }; export type ApiResponseCommitRefCountResponse = { code: number; message: string; data?: { oid: string; ref_count: number; }; }; export type ApiResponseCommitShortIdResponse = { code: number; message: string; data?: { oid: string; short_id: string; }; }; export type ApiResponseCommitSummaryResponse = { code: number; message: string; data?: { oid: string; summary: string; }; }; export type ApiResponseCommitTagsResponse = { code: number; message: string; data?: { data?: { [key: string]: Array; }; }; }; export type ApiResponseCommitTreeIdResponse = { code: number; message: string; data?: { oid: string; tree_id: string; }; }; export type ApiResponseConfigBoolResponse = { code: number; message: string; data?: { key: string; value: boolean; }; }; export type ApiResponseConfigSnapshotResponse = { code: number; message: string; data?: { entries: Array; }; }; export type ApiResponseContextMe = { code: number; message: string; data?: { uid: string; username: string; display_name?: string | null; avatar_url?: string | null; has_unread_notifications: number; }; }; export type ApiResponseContributionHeatmapResponse = { code: number; message: string; data?: { username: string; total_contributions: number; heatmap: Array; start_date: string; end_date: string; }; }; export type ApiResponseContributorsResponse = { code: number; message: string; data?: { total: number; contributors: Array; }; }; export type ApiResponseDeleteSkillResponse = { code: number; message: string; data?: { deleted: boolean; slug: string; }; }; export type ApiResponseDescriptionResponse = { code: number; message: string; data?: { description: string; }; }; export type ApiResponseDiffPatchIdResponse = { code: number; message: string; data?: { old_tree: string; new_tree: string; patch_id: string; }; }; export type ApiResponseDiffResultResponse = { code: number; message: string; data?: { stats: DiffStatsResponse; deltas: Array; }; }; export type ApiResponseDiffStatsResponse = { code: number; message: string; data?: { files_changed: number; insertions: number; deletions: number; }; }; export type ApiResponseEmailResponse = { code: number; message: string; data?: { email?: string | null; }; }; export type ApiResponseGitInitResponse = { code: number; message: string; data?: { path: string; is_bare: boolean; }; }; export type ApiResponseGitReadmeResponse = { code: number; message: string; data?: { path?: string | null; content?: string | null; size?: number | null; encoding?: string | null; truncated?: boolean; is_binary?: boolean; }; }; export type ApiResponseInvitationListResponse = { code: number; message: string; data?: { invitations: Array; total: number; page: number; per_page: number; }; }; export type ApiResponseIsLikeResponse = { code: number; message: string; data?: { is_like: boolean; }; }; export type ApiResponseIsWatchResponse = { code: number; message: string; data?: { is_watching: boolean; }; }; export type ApiResponseIssueAssigneeResponse = { code: number; message: string; data?: { issue: string; user_id: string; username: string; assigned_at: string; }; }; export type ApiResponseIssueCommentListResponse = { code: number; message: string; data?: { comments: Array; total: number; page: number; per_page: number; }; }; export type ApiResponseIssueCommentResponse = { code: number; message: string; data?: { id: number; issue: string; author: string; author_username: string; body: string; created_at: string; updated_at: string; }; }; export type ApiResponseIssueLabelResponse = { code: number; message: string; data?: { issue: string; label_id: number; label_name?: string | null; label_color?: string | null; relation_at: string; }; }; export type ApiResponseIssueListResponse = { code: number; message: string; data?: { issues: Array; total: number; page: number; per_page: number; }; }; export type ApiResponseIssuePullRequestResponse = { code: number; message: string; data?: { issue: string; repo: string; number: number; relation_at: string; }; }; export type ApiResponseIssueRepoResponse = { code: number; message: string; data?: { issue: string; repo: string; relation_at: string; }; }; export type ApiResponseIssueResponse = { code: number; message: string; data?: { id: string; project: string; number: number; title: string; body?: string | null; state: string; author: string; author_username?: string | null; milestone?: string | null; created_at: string; updated_at: string; closed_at?: string | null; created_by_ai: boolean; }; }; export type ApiResponseIssueSubscriberResponse = { code: number; message: string; data?: { issue: string; user_id: string; username: string; subscribed: boolean; created_at: string; }; }; export type ApiResponseIssueSummaryResponse = { code: number; message: string; data?: { total: number; open: number; closed: number; }; }; export type ApiResponseJoinAnswersListResponse = { code: number; message: string; data?: { request_id: number; project_uid: string; answers: Array; }; }; export type ApiResponseJoinRequestListResponse = { code: number; message: string; data?: { requests: Array; total: number; page: number; per_page: number; }; }; export type ApiResponseJoinSettingsResponse = { code: number; message: string; data?: { project_uid: string; require_approval: boolean; require_questions: boolean; questions: unknown; }; }; export type ApiResponseLabelListResponse = { code: number; message: string; data?: { labels: Array; total: number; }; }; export type ApiResponseLabelResponse = { code: number; message: string; data?: { id: number; project_uid: string; name: string; color: string; description?: string | null; created_at: string; }; }; export type ApiResponseMemberListResponse = { code: number; message: string; data?: { members: Array; total: number; page: number; per_page: number; }; }; export type ApiResponseMergeAnalysisResponse = { code: number; message: string; data?: { can_fast_forward: boolean; is_up_to_date: boolean; is_normal: boolean; analysis_flags: Array; /** * Strategies supported given the current state of the PR. */ supported_strategies: Array; }; }; export type ApiResponseMergeConflictResponse = { code: number; message: string; data?: { has_conflicts: boolean; conflicted_files: Array; }; }; export type ApiResponseMergeResponse = { code: number; message: string; data?: { repo: string; number: number; status: string; merged_by: string; merged_at: string; }; }; export type ApiResponseMessageEditHistoryResponse = { code: number; message: string; data?: { message_id: string; history: Array; total_edits: number; }; }; export type ApiResponseMessageSearchResponse = { code: number; message: string; data?: { messages: Array; total: number; }; }; export type ApiResponseNotificationListResponse = { code: number; message: string; data?: { notifications: Array; total: number; unread_count: number; }; }; export type ApiResponseNotificationPreferencesResponse = { code: number; message: string; data?: { user_id: string; email_enabled: boolean; in_app_enabled: boolean; push_enabled: boolean; digest_mode: string; dnd_enabled: boolean; dnd_start_minute?: number | null; dnd_end_minute?: number | null; marketing_enabled: boolean; security_enabled: boolean; product_enabled: boolean; created_at: string; updated_at: string; }; }; export type ApiResponseOptionCommitMetaResponse = { code: number; message: string; data?: null | { oid: string; message: string; summary: string; author: CommitSignatureResponse; committer: CommitSignatureResponse; tree_id: string; parent_ids: Array; encoding?: string | null; }; }; export type ApiResponsePrCommitsListResponse = { code: number; message: string; data?: { commits: Array; }; }; export type ApiResponsePreferencesResponse = { code: number; message: string; data?: { language: string; theme: string; timezone: string; email_notifications: boolean; in_app_notifications: boolean; created_at: string; updated_at: string; }; }; export type ApiResponseProfileResponse = { code: number; message: string; data?: { uid: string; username: string; display_name?: string | null; avatar_url?: string | null; website_url?: string | null; organization?: string | null; created_at: string; updated_at: string; last_sign_in_at?: string | null; }; }; export type ApiResponseProjectBillingCurrentResponse = { code: number; message: string; data?: { project_uid: string; currency: string; monthly_quota: number; balance: number; month_used: number; cycle_start_utc: string; cycle_end_utc: string; updated_at: string; created_at: string; }; }; export type ApiResponseProjectBillingHistoryResponse = { code: number; message: string; data?: { page: number; per_page: number; total: number; list: Array; }; }; export type ApiResponseProjectInfoRelational = { code: number; message: string; data?: { uid: string; name: string; display_name: string; avatar_url?: string | null; description?: string | null; is_public: boolean; created_at: string; updated_at: string; created_by: string; created_username_name: string; created_display_name?: string | null; created_avatar_url?: string | null; member_count: number; like_count: number; watch_count: number; keys: Array; labels: Array; role?: null | MemberRole; is_like: boolean; is_watch: boolean; }; }; export type ApiResponseProjectInitResponse = { code: number; message: string; data?: { params: ProjectInitParams; project: ProjectModel; }; }; export type ApiResponseProjectRepoCreateResponse = { code: number; message: string; data?: { uid: string; repo_name: string; description?: string | null; default_branch: string; project_name: string; is_private: boolean; storage_path: string; created_at: string; }; }; export type ApiResponseProjectRepositoryPagination = { code: number; message: string; data?: { items: Array; cursor?: string | null; total: number; }; }; export type ApiResponsePullRequestListResponse = { code: number; message: string; data?: { pull_requests: Array; total: number; page: number; per_page: number; }; }; export type ApiResponsePullRequestResponse = { code: number; message: string; data?: { repo: string; number: number; issue?: string | null; title: string; body?: string | null; author: string; author_username?: string | null; base: string; head: string; status: string; merged_by?: string | null; created_at: string; updated_at: string; merged_at?: string | null; created_by_ai: boolean; }; }; export type ApiResponsePullRequestSummaryResponse = { code: number; message: string; data?: { total: number; open: number; merged: number; closed: number; }; }; export type ApiResponseReactionListResponse = { code: number; message: string; data?: { reactions: Array; }; }; export type ApiResponseReactionResponse = { code: number; message: string; data?: { user: string; reaction: string; created_at: string; }; }; export type ApiResponseRefDeleteResponse = { code: number; message: string; data?: { name: string; oid: string; }; }; export type ApiResponseRefExistsResponse = { code: number; message: string; data?: { name: string; exists: boolean; }; }; export type ApiResponseRefInfoResponse = { code: number; message: string; data?: { name: string; oid?: string | null; target?: string | null; is_symbolic: boolean; is_branch: boolean; is_remote: boolean; is_tag: boolean; is_note: boolean; }; }; export type ApiResponseRefTargetResponse = { code: number; message: string; data?: { name: string; oid?: string | null; }; }; export type ApiResponseRefUpdateResponse = { code: number; message: string; data?: { name: string; old_oid?: string | null; new_oid?: string | null; }; }; export type ApiResponseReviewCommentListResponse = { code: number; message: string; data?: { /** * Flat list of all comments (kept for backward compatibility). */ comments: Array; /** * Comments grouped into threads (root comments with their replies). */ threads: Array; total: number; }; }; export type ApiResponseReviewCommentResponse = { code: number; message: string; data?: { repo: string; number: number; id: number; review?: string | null; path?: string | null; side?: string | null; line?: number | null; old_line?: number | null; body: string; author: string; author_username?: string | null; resolved: boolean; in_reply_to?: number | null; created_at: string; updated_at: string; }; }; export type ApiResponseReviewListResponse = { code: number; message: string; data?: { reviews: Array; }; }; export type ApiResponseReviewRequestListResponse = { code: number; message: string; data?: { requests: Array; total: number; }; }; export type ApiResponseReviewRequestResponse = { code: number; message: string; data?: { repo: string; number: number; reviewer: string; reviewer_username?: string | null; requested_by: string; requested_by_username?: string | null; requested_at: string; dismissed_at?: string | null; dismissed_by?: string | null; dismissed_by_username?: string | null; }; }; export type ApiResponseReviewResponse = { code: number; message: string; data?: { repo: string; number: number; reviewer: string; reviewer_username?: string | null; state: string; body?: string | null; submitted_at?: string | null; created_at: string; updated_at: string; }; }; export type ApiResponseRoomAiResponse = { code: number; message: string; data?: { room: string; model: string; model_name?: string | null; version?: string | null; call_count: number; last_call_at?: string | null; history_limit?: number | null; system_prompt?: string | null; temperature?: number | null; max_tokens?: number | null; use_exact: boolean; think: boolean; stream: boolean; min_score?: number | null; created_at: string; updated_at: string; }; }; export type ApiResponseRoomCategoryResponse = { code: number; message: string; data?: { id: string; project: string; name: string; position: number; created_by: string; created_at: string; }; }; export type ApiResponseRoomMemberResponse = { code: number; message: string; data?: { room: string; user: string; user_info?: null | UserInfo; role: string; first_msg_in?: string | null; joined_at?: string | null; last_read_seq?: number | null; do_not_disturb: boolean; dnd_start_hour?: number | null; dnd_end_hour?: number | null; }; }; export type ApiResponseRoomMessageListResponse = { code: number; message: string; data?: { messages: Array; total: number; }; }; export type ApiResponseRoomMessageResponse = { code: number; message: string; data?: { id: string; seq: number; room: string; sender_type: string; sender_id?: string | null; display_name?: string | null; thread?: string | null; in_reply_to?: string | null; content: string; content_type: string; edited_at?: string | null; send_at: string; revoked?: string | null; revoked_by?: string | null; }; }; export type ApiResponseRoomPinResponse = { code: number; message: string; data?: { room: string; message: string; pinned_by: string; pinned_at: string; }; }; export type ApiResponseRoomResponse = { code: number; message: string; data?: { id: string; project: string; room_name: string; public: boolean; category?: string | null; created_by: string; created_at: string; last_msg_at: string; unread_count?: number; }; }; export type ApiResponseRoomThreadResponse = { code: number; message: string; data?: { id: string; room: string; parent: number; created_by: string; participants: unknown; last_message_at: string; last_message_preview?: string | null; created_at: string; updated_at: string; }; }; export type ApiResponseScanResponse = { code: number; message: string; data?: { discovered: number; created: number; updated: number; removed: number; }; }; export type ApiResponseSearchResponse = { code: number; message: string; data?: { query: string; projects?: null | SearchResultSetProjectSearchItem; repos?: null | SearchResultSetRepoSearchItem; issues?: null | SearchResultSetIssueSearchItem; users?: null | SearchResultSetUserSearchItem; }; }; export type ApiResponseSideBySideDiffResponse = { code: number; message: string; data?: { files: Array; total_additions: number; total_deletions: number; }; }; export type ApiResponseSkillResponse = { code: number; message: string; data?: { id: number; project_uuid: string; slug: string; name: string; description?: string | null; source: string; repo_id?: string | null; commit_sha?: string | null; blob_hash?: string | null; content: string; metadata: unknown; enabled: boolean; created_by?: string | null; created_at: string; updated_at: string; }; }; export type ApiResponseSshKeyListResponse = { code: number; message: string; data?: { keys: Array; total: number; }; }; export type ApiResponseSshKeyResponse = { code: number; message: string; data?: { id: number; user_uid: string; title: string; fingerprint: string; key_type: string; key_bits?: number | null; is_verified: boolean; last_used_at?: string | null; expires_at?: string | null; is_revoked: boolean; created_at: string; updated_at: string; }; }; export type ApiResponseStarCountResponse = { code: number; message: string; data?: { count: number; }; }; export type ApiResponseStarUserListResponse = { code: number; message: string; data?: { users: Array; }; }; export type ApiResponseString = { code: number; message: string; data?: string; }; export type ApiResponseTagCountResponse = { code: number; message: string; data?: { count: number; }; }; export type ApiResponseTagExistsResponse = { code: number; message: string; data?: { name: string; exists: boolean; }; }; export type ApiResponseTagInfoResponse = { code: number; message: string; data?: { name: string; oid: string; target: string; is_annotated: boolean; message?: string | null; tagger?: string | null; tagger_email?: string | null; }; }; export type ApiResponseTagIsAnnotatedResponse = { code: number; message: string; data?: { name: string; is_annotated: boolean; }; }; export type ApiResponseTagMessageResponse = { code: number; message: string; data?: { name: string; message?: string | null; }; }; export type ApiResponseTagSummaryResponse = { code: number; message: string; data?: { total_count: number; }; }; export type ApiResponseTagTaggerResponse = { code: number; message: string; data?: { name: string; tagger?: string | null; tagger_email?: string | null; }; }; export type ApiResponseTagTargetResponse = { code: number; message: string; data?: { name: string; target?: string | null; }; }; export type ApiResponseTransferRepoResponse = { code: number; message: string; data?: { repo_id: string; old_project_name: string; new_project_name: string; repo_name: string; }; }; export type ApiResponseTreeDiffStatsResponse = { code: number; message: string; data?: { old_tree: string; new_tree: string; files_changed: number; insertions: number; deletions: number; }; }; export type ApiResponseTreeEntryCountResponse = { code: number; message: string; data?: { oid: string; count: number; }; }; export type ApiResponseTreeEntryResponse = { code: number; message: string; data?: { name: string; oid: string; kind: string; filemode: number; is_binary: boolean; }; }; export type ApiResponseTreeExistsResponse = { code: number; message: string; data?: { oid: string; exists: boolean; }; }; export type ApiResponseTreeInfoResponse = { code: number; message: string; data?: { oid: string; entry_count: number; is_empty: boolean; }; }; export type ApiResponseTreeIsEmptyResponse = { code: number; message: string; data?: { oid: string; is_empty: boolean; }; }; export type ApiResponseUserInfoExternal = { code: number; message: string; data?: { user_uid: string; username: string; display_name: string; avatar_url?: string | null; master_email?: string | null; timezone: string; language: string; website_url?: string | null; organization?: string | null; last_sign_in_at?: string | null; is_owner: boolean; is_subscribe: boolean; total_projects: number; total_repos: number; }; }; export type ApiResponseUserProjectsResponse = { code: number; message: string; data?: { username: string; projects: Array; total_count: number; }; }; export type ApiResponseUserReposResponse = { code: number; message: string; data?: { username: string; repos: Array; total_count: number; }; }; export type ApiResponseValue = { code: number; message: string; data?: unknown; }; export type ApiResponseVecAuditLogResponse = { code: number; message: string; data?: Array<{ id: number; project_uid: string; actor_uid: string; action: string; details?: { [key: string]: unknown; }; }>; }; export type ApiResponseVecBoardResponse = { code: number; message: string; data?: Array<{ id: string; project: string; name: string; description?: string | null; created_by: string; created_at: string; updated_at: string; }>; }; export type ApiResponseVecBranchInfoResponse = { code: number; message: string; data?: Array<{ name: string; oid: string; is_head: boolean; is_remote: boolean; is_current: boolean; upstream?: string | null; }>; }; export type ApiResponseVecBranchProtectionResponse = { code: number; message: string; data?: Array<{ id: number; repo: string; branch: string; forbid_push: boolean; forbid_pull: boolean; forbid_merge: boolean; forbid_deletion: boolean; forbid_force_push: boolean; forbid_tag_push: boolean; required_approvals: number; dismiss_stale_reviews: boolean; require_linear_history: boolean; allow_fork_syncing: boolean; }>; }; export type ApiResponseVecCommitMetaResponse = { code: number; message: string; data?: Array<{ oid: string; message: string; summary: string; author: CommitSignatureResponse; committer: CommitSignatureResponse; tree_id: string; parent_ids: Array; encoding?: string | null; }>; }; export type ApiResponseVecCommitRefInfoResponse = { code: number; message: string; data?: Array<{ name: string; target: string; is_remote: boolean; is_tag: boolean; }>; }; export type ApiResponseVecCommitReflogEntryResponse = { code: number; message: string; data?: Array<{ new_sha: string; old_sha: string; committer_name: string; committer_email: string; time_secs: number; message?: string | null; ref_name: string; }>; }; export type ApiResponseVecIssueAssigneeResponse = { code: number; message: string; data?: Array<{ issue: string; user_id: string; username: string; assigned_at: string; }>; }; export type ApiResponseVecIssueLabelResponse = { code: number; message: string; data?: Array<{ issue: string; label_id: number; label_name?: string | null; label_color?: string | null; relation_at: string; }>; }; export type ApiResponseVecIssuePullRequestResponse = { code: number; message: string; data?: Array<{ issue: string; repo: string; number: number; relation_at: string; }>; }; export type ApiResponseVecIssueRepoResponse = { code: number; message: string; data?: Array<{ issue: string; repo: string; relation_at: string; }>; }; export type ApiResponseVecIssueSubscriberResponse = { code: number; message: string; data?: Array<{ issue: string; user_id: string; username: string; subscribed: boolean; created_at: string; }>; }; export type ApiResponseVecLabelResponse = { code: number; message: string; data?: Array<{ id: number; project: string; name: string; color: string; }>; }; export type ApiResponseVecLikeUserInfo = { code: number; message: string; data?: Array<{ uid: string; username: string; avatar_url: string; }>; }; export type ApiResponseVecMentionNotificationResponse = { code: number; message: string; data?: Array<{ message_id: string; mentioned_by: string; mentioned_by_name: string; content_preview: string; room_id: string; room_name: string; created_at: string; }>; }; export type ApiResponseVecMergeheadInfoResponse = { code: number; message: string; data?: Array<{ oid: string; }>; }; export type ApiResponseVecPendingInvitationInfo = { code: number; message: string; data?: Array<{ user_id: string; username: string; display_name?: string | null; avatar_url?: string | null; email?: string | null; role: string; invited_by_username?: string | null; invited_at: string; expires_at?: string | null; }>; }; export type ApiResponseVecRefInfoResponse = { code: number; message: string; data?: Array<{ name: string; oid?: string | null; target?: string | null; is_symbolic: boolean; is_branch: boolean; is_remote: boolean; is_tag: boolean; is_note: boolean; }>; }; export type ApiResponseVecRoomAiResponse = { code: number; message: string; data?: Array<{ room: string; model: string; model_name?: string | null; version?: string | null; call_count: number; last_call_at?: string | null; history_limit?: number | null; system_prompt?: string | null; temperature?: number | null; max_tokens?: number | null; use_exact: boolean; think: boolean; stream: boolean; min_score?: number | null; created_at: string; updated_at: string; }>; }; export type ApiResponseVecRoomCategoryResponse = { code: number; message: string; data?: Array<{ id: string; project: string; name: string; position: number; created_by: string; created_at: string; }>; }; export type ApiResponseVecRoomMemberResponse = { code: number; message: string; data?: Array<{ room: string; user: string; user_info?: null | UserInfo; role: string; first_msg_in?: string | null; joined_at?: string | null; last_read_seq?: number | null; do_not_disturb: boolean; dnd_start_hour?: number | null; dnd_end_hour?: number | null; }>; }; export type ApiResponseVecRoomPinResponse = { code: number; message: string; data?: Array<{ room: string; message: string; pinned_by: string; pinned_at: string; }>; }; export type ApiResponseVecRoomResponse = { code: number; message: string; data?: Array<{ id: string; project: string; room_name: string; public: boolean; category?: string | null; created_by: string; created_at: string; last_msg_at: string; unread_count?: number; }>; }; export type ApiResponseVecRoomThreadResponse = { code: number; message: string; data?: Array<{ id: string; room: string; parent: number; created_by: string; participants: unknown; last_message_at: string; last_message_preview?: string | null; created_at: string; updated_at: string; }>; }; export type ApiResponseVecSkillResponse = { code: number; message: string; data?: Array<{ id: number; project_uuid: string; slug: string; name: string; description?: string | null; source: string; repo_id?: string | null; commit_sha?: string | null; blob_hash?: string | null; content: string; metadata: unknown; enabled: boolean; created_by?: string | null; created_at: string; updated_at: string; }>; }; export type ApiResponseVecString = { code: number; message: string; data?: Array; }; export type ApiResponseVecSubscriptionInfo = { code: number; message: string; data?: Array<{ id: number; user_uid: string; target_uid: string; subscribed_at: string; is_active: boolean; }>; }; export type ApiResponseVecTagInfoResponse = { code: number; message: string; data?: Array<{ name: string; oid: string; target: string; is_annotated: boolean; message?: string | null; tagger?: string | null; tagger_email?: string | null; }>; }; export type ApiResponseVecTreeEntryResponse = { code: number; message: string; data?: Array<{ name: string; oid: string; kind: string; filemode: number; is_binary: boolean; }>; }; export type ApiResponseVecWatchUserInfo = { code: number; message: string; data?: Array<{ uid: string; username: string; avatar_url: string; }>; }; export type ApiResponseWatchCountResponse = { code: number; message: string; data?: { count: number; }; }; export type ApiResponseWatchUserListResponse = { code: number; message: string; data?: { users: Array; }; }; export type ApiResponseWebhookListResponse = { code: number; message: string; data?: { webhooks: Array; total: number; }; }; export type ApiResponseWebhookResponse = { code: number; message: string; data?: { id: number; repo_uuid: string; url: string; content_type: string; secret?: string | null; events: WebhookEvent; active: boolean; created_at: string; last_delivered_at?: string | null; touch_count: number; }; }; export type ApiResponseWorkspaceBillingCurrentResponse = { code: number; message: string; data?: { workspace_id: string; currency: string; monthly_quota: number; balance: number; total_spent: number; month_used: number; cycle_start_utc: string; cycle_end_utc: string; updated_at: string; created_at: string; }; }; export type ApiResponseWorkspaceBillingHistoryResponse = { code: number; message: string; data?: { page: number; per_page: number; total: number; list: Array; }; }; export type ApiResponseWorkspaceInfoResponse = { code: number; message: string; data?: { id: string; slug: string; name: string; description?: string | null; avatar_url?: string | null; plan: string; billing_email?: string | null; member_count: number; my_role?: string | null; created_at: string; updated_at: string; }; }; export type ApiResponseWorkspaceListResponse = { code: number; message: string; data?: { workspaces: Array; total: number; }; }; export type ApiResponseWorkspaceMembersResponse = { code: number; message: string; data?: { members: Array; total: number; page: number; per_page: number; }; }; export type ApiResponseWorkspaceProjectsResponse = { code: number; message: string; data?: { projects: Array; total: number; page: number; per_page: number; }; }; export type ApiResponseWorkspaceStatsResponse = { code: number; message: string; data?: { project_count: number; member_count: number; my_role?: string | null; recent_activities: Array; }; }; export type ApiResponseBool = { code: number; message: string; data?: boolean; }; export type ApprovalCheckResult = { enough_approvals: boolean; approvals: number; required: number; reviewers: Array; }; export type ArchiveCachedResponse = { commit_oid: string; format: string; cached: boolean; }; export type ArchiveEntryResponse = { path: string; oid: string; size: number; mode: number; }; export type ArchiveInvalidateAllResponse = { commit_oid: string; count: number; }; export type ArchiveInvalidateResponse = { commit_oid: string; format: string; invalidated: boolean; }; export type ArchiveListResponse = { commit_oid: string; entries: Array; total_entries: number; }; export type ArchiveResponse = { commit_oid: string; format: string; size: number; data: string; }; export type ArchiveSummaryResponse = { commit_oid: string; format: string; total_entries: number; total_size: number; }; export type AuditLogParams = { action: string; details?: unknown; }; export type AuditLogResponse = { id: number; project_uid: string; actor_uid: string; action: string; details?: { [key: string]: unknown; }; }; /** * Breakdown of a billing record. */ export type BillingRecord = { /** * Total cost in the billing currency. */ cost: number; currency: string; input_tokens: number; output_tokens: number; }; export type BlameHunkResponse = { commit_oid: string; final_start_line: number; final_lines: number; orig_start_line: number; orig_lines: number; boundary: boolean; orig_path?: string | null; }; export type BlobContentResponse = { oid: string; size: number; is_binary: boolean; content: string; }; export type BlobCreateRequest = { data: string; }; export type BlobCreateResponse = { oid: string; size: number; }; export type BlobExistsResponse = { oid: string; exists: boolean; }; export type BlobInfoResponse = { oid: string; size: number; is_binary: boolean; }; export type BlobIsBinaryResponse = { oid: string; is_binary: boolean; }; export type BlobSizeResponse = { oid: string; size: number; }; export type BoardResponse = { id: string; project: string; name: string; description?: string | null; created_by: string; created_at: string; updated_at: string; }; export type BoardWithColumnsResponse = { board: BoardResponse; columns: Array; }; export type BranchCreateRequest = { name: string; oid?: string | null; force?: boolean; }; export type BranchDiffResponse = { ahead: number; behind: number; diverged: boolean; }; export type BranchExistsResponse = { name: string; exists: boolean; }; export type BranchFastForwardResponse = { oid: string; }; export type BranchInfoResponse = { name: string; oid: string; is_head: boolean; is_remote: boolean; is_current: boolean; upstream?: string | null; }; export type BranchIsAncestorResponse = { child: string; ancestor: string; is_ancestor: boolean; }; export type BranchIsConflictedResponse = { is_conflicted: boolean; }; export type BranchIsDetachedResponse = { is_detached: boolean; }; export type BranchIsHeadResponse = { name: string; is_head: boolean; }; export type BranchIsMergedResponse = { branch: string; into: string; is_merged: boolean; }; export type BranchMergeBaseResponse = { branch1: string; branch2: string; base: string; }; export type BranchMoveRequest = { name: string; new_name: string; force?: boolean; }; export type BranchProtectionCreateRequest = { branch: string; forbid_push?: boolean; forbid_pull?: boolean; forbid_merge?: boolean; forbid_deletion?: boolean; forbid_force_push?: boolean; forbid_tag_push?: boolean; required_approvals?: number; dismiss_stale_reviews?: boolean; require_linear_history?: boolean; allow_fork_syncing?: boolean; }; export type BranchProtectionResponse = { id: number; repo: string; branch: string; forbid_push: boolean; forbid_pull: boolean; forbid_merge: boolean; forbid_deletion: boolean; forbid_force_push: boolean; forbid_tag_push: boolean; required_approvals: number; dismiss_stale_reviews: boolean; require_linear_history: boolean; allow_fork_syncing: boolean; }; export type BranchProtectionUpdateRequest = { branch?: string | null; forbid_push?: boolean | null; forbid_pull?: boolean | null; forbid_merge?: boolean | null; forbid_deletion?: boolean | null; forbid_force_push?: boolean | null; forbid_tag_push?: boolean | null; required_approvals?: number | null; dismiss_stale_reviews?: boolean | null; require_linear_history?: boolean | null; allow_fork_syncing?: boolean | null; }; export type BranchRenameRequest = { old_name: string; new_name: string; }; export type BranchSetUpstreamRequest = { name: string; upstream?: string | null; }; export type BranchSummaryResponse = { local_count: number; remote_count: number; all_count: number; }; export type BranchTrackingDiffResponse = { name: string; ahead: number; behind: number; }; export type CaptchaQuery = { w: number; h: number; dark: boolean; rsa: boolean; }; export type CaptchaResponse = { base64: string; rsa?: null | RsaResponse; req: CaptchaQuery; }; export type CardResponse = { id: string; column: string; issue_id?: number | null; project?: string | null; title: string; description?: string | null; position: number; assignee_id?: string | null; due_date?: string | null; priority?: string | null; created_by: string; created_at: string; updated_at: string; }; export type ChangePasswordParams = { old_password: string; new_password: string; }; export type ColumnResponse = { id: string; board: string; name: string; position: number; wip_limit?: number | null; color?: string | null; }; export type ColumnWithCardsResponse = { column: ColumnResponse; cards: Array; }; export type CommentCreated = { path: string; line?: number | null; severity: string; }; export type CommitAmendRequest = { oid: string; author_name?: string | null; author_email?: string | null; committer_name?: string | null; committer_email?: string | null; message?: string | null; message_encoding?: string | null; tree_id?: string | null; update_ref?: string | null; }; export type CommitAuthorResponse = { oid: string; author: CommitSignatureResponse; }; export type CommitBranchesResponse = { data?: { [key: string]: Array; }; }; export type CommitCherryPickAbortRequest = { reset_type?: string | null; }; export type CommitCherryPickRequest = { cherrypick_oid: string; author_name: string; author_email: string; committer_name: string; committer_email: string; message?: string | null; mainline?: number | null; update_ref?: string | null; }; export type CommitCountResponse = { count: number; }; export type CommitCreateRequest = { author_name: string; author_email: string; committer_name: string; committer_email: string; message: string; tree_id: string; parent_ids: Array; update_ref?: string | null; }; export type CommitCreateResponse = { oid: string; }; export type CommitExistsResponse = { oid: string; exists: boolean; }; export type CommitGraphLineResponse = { oid: string; graph_chars: string; refs: string; short_message: string; }; export type CommitGraphReactCommit = { oid: string; hash_abbrev: string; subject: string; body?: string | null; author_name: string; author_email: string; author_timestamp: number; author_time_offset: number; committer_name: string; committer_email: string; committer_timestamp: number; committer_time_offset: number; parent_hashes: Array; encoding?: string | null; /** * 0-based lane index used to assign branch color. */ lane_index: number; /** * Raw ASCII graph characters for supplementary rendering. */ graph_chars: string; /** * Parsed refs string (e.g. "main, v1.0.0"). */ refs: string; /** * Tag names present on this commit. */ tags: Array; /** * Branch names this commit is the tip of. */ branches: Array; }; export type CommitGraphReactResponse = { commits: Array; lanes: Array; max_parents: number; }; export type CommitGraphResponse = { lines: Array; max_parents: number; }; export type CommitIsCommitResponse = { oid: string; is_commit: boolean; }; export type CommitIsMergeResponse = { oid: string; is_merge: boolean; }; export type CommitIsTipResponse = { oid: string; is_tip: boolean; }; export type CommitLogResponse = { data: Array; total: number; page: number; per_page: number; total_pages: number; }; export type CommitMessageResponse = { oid: string; message: string; }; export type CommitMetaResponse = { oid: string; message: string; summary: string; author: CommitSignatureResponse; committer: CommitSignatureResponse; tree_id: string; parent_ids: Array; encoding?: string | null; }; export type CommitParentCountResponse = { oid: string; parent_count: number; }; export type CommitParentIdsResponse = { oid: string; parent_ids: Array; }; export type CommitRefCountResponse = { oid: string; ref_count: number; }; export type CommitRefInfoResponse = { name: string; target: string; is_remote: boolean; is_tag: boolean; }; export type CommitReflogEntryResponse = { new_sha: string; old_sha: string; committer_name: string; committer_email: string; time_secs: number; message?: string | null; ref_name: string; }; export type CommitRevertAbortRequest = { reset_type?: string | null; }; export type CommitRevertRequest = { revert_oid: string; author_name: string; author_email: string; committer_name: string; committer_email: string; message?: string | null; mainline?: number | null; update_ref?: string | null; }; export type CommitShortIdResponse = { oid: string; short_id: string; }; export type CommitSignatureResponse = { name: string; email: string; time_secs: number; offset_minutes: number; }; export type CommitSummaryResponse = { oid: string; summary: string; }; export type CommitTagsResponse = { data?: { [key: string]: Array; }; }; export type CommitTreeIdResponse = { oid: string; tree_id: string; }; export type ConfigBoolResponse = { key: string; value: boolean; }; export type ConfigEntryResponse = { name: string; value: string; }; export type ConfigSetRequest = { key: string; value: string; }; export type ConfigSnapshotResponse = { entries: Array; }; export type ContextMe = { uid: string; username: string; display_name?: string | null; avatar_url?: string | null; has_unread_notifications: number; }; export type ContributionHeatmapItem = { date: string; count: number; }; export type ContributionHeatmapQuery = { start_date?: string | null; end_date?: string | null; }; export type ContributionHeatmapResponse = { username: string; total_contributions: number; heatmap: Array; start_date: string; end_date: string; }; export type ContributorStats = { name: string; email: string; commits: number; first_commit_at?: number | null; last_commit_at?: number | null; }; export type ContributorsResponse = { total: number; contributors: Array; }; export type CreateAccessKeyParams = { name: string; scopes: Array; expires_at?: string | null; }; export type CreateBoardParams = { name: string; description?: string | null; }; export type CreateCardParams = { column_id: string; title: string; description?: string | null; issue_id?: number | null; assignee_id?: string | null; due_date?: string | null; priority?: string | null; }; export type CreateColumnParams = { name: string; position?: number; wip_limit?: number | null; color?: string | null; }; export type CreateLabelParams = { name: string; color: string; description?: string | null; }; export type CreateLabelRequest = { name: string; color: string; }; export type CreateModelCapabilityRequest = { model_version_id: number; capability: string; is_supported?: boolean; }; export type CreateModelParameterProfileRequest = { model_version_id: string; temperature_min: number; temperature_max: number; top_p_min: number; top_p_max: number; frequency_penalty_supported?: boolean; presence_penalty_supported?: boolean; }; export type CreateModelPricingRequest = { model_version_id: string; input_price_per_1k_tokens: string; output_price_per_1k_tokens: string; currency: string; effective_from: string; }; export type CreateModelRequest = { provider_id: string; name: string; modality: string; capability: string; context_length: number; max_output_tokens?: number | null; training_cutoff?: string | null; is_open_source?: boolean; }; export type CreateModelVersionRequest = { model_id: string; version: string; release_date?: string | null; change_log?: string | null; is_default?: boolean; }; export type CreateProviderRequest = { name: string; display_name: string; website?: string | null; }; export type CreateSkillRequest = { slug: string; name?: string | null; description?: string | null; content: string; metadata?: unknown; }; export type CreateWebhookParams = { url: string; content_type?: string | null; secret?: string | null; insecure_ssl?: boolean | null; events?: WebhookEvent; active?: boolean; }; export type DeleteSkillResponse = { deleted: boolean; slug: string; }; export type DescriptionQuery = { description: string; }; export type DescriptionResponse = { description: string; }; export type DiffDeltaResponse = { status: string; old_file: DiffFileResponse; new_file: DiffFileResponse; nfiles: number; hunks: Array; lines: Array; }; export type DiffFileResponse = { oid?: string | null; path?: string | null; size: number; is_binary: boolean; }; export type DiffHunkResponse = { old_start: number; old_lines: number; new_start: number; new_lines: number; header: string; }; export type DiffLineResponse = { content: string; origin: string; old_lineno?: number | null; new_lineno?: number | null; num_lines: number; content_offset: number; }; export type DiffPatchIdResponse = { old_tree: string; new_tree: string; patch_id: string; }; export type DiffResultResponse = { stats: DiffStatsResponse; deltas: Array; }; export type DiffStatsResponse = { files_changed: number; insertions: number; deletions: number; }; export type Disable2FaParams = { code: string; password: string; }; export type EmailChangeRequest = { new_email: string; password: string; }; export type EmailResponse = { email?: string | null; }; export type EmailVerifyRequest = { token: string; }; export type Enable2FaResponse = { secret: string; qr_code: string; backup_codes: Array; }; export type ExchangeProjectName = { name: string; }; export type ExchangeProjectTitle = { display_name?: string | null; description?: string | null; }; export type ExchangeProjectVisibility = { is_public: boolean; }; /** * Request body for generating a PR description. */ export type GeneratePrDescriptionRequest = { /** * PR number to generate description for. */ pr_number?: number | null; /** * Override the default AI model for this generation. */ model_id?: string | null; }; /** * Response from the AI description generation endpoint. */ export type GeneratePrDescriptionResponse = { description: PrDescription; /** * Markdown-formatted description ready to paste into the PR body. */ markdown_body: string; billing?: null | BillingRecord; }; export type Get2FaStatusResponse = { is_enabled: boolean; method?: string | null; has_backup_codes: boolean; }; export type GitInitRequest = { path: string; bare?: boolean; initial_branch?: string | null; }; export type GitInitResponse = { path: string; is_bare: boolean; }; export type GitReadmeQuery = { ref?: string | null; }; export type GitReadmeResponse = { path?: string | null; content?: string | null; size?: number | null; encoding?: string | null; truncated?: boolean; is_binary?: boolean; }; export type GitUpdateRepoRequest = { default_branch?: string | null; }; export type GitWatchRequest = { show_dashboard?: boolean; notify_email?: boolean; }; export type InvitationListResponse = { invitations: Array; total: number; page: number; per_page: number; }; export type InvitationResponse = { project_uid: string; project_name: string; user_uid: string; invited_by: string; invited_by_username?: string | null; scope: string; accepted: boolean; accepted_at?: string | null; rejected: boolean; rejected_at?: string | null; created_at: string; }; export type InviteUserRequest = { email: string; scope: MemberRole; }; export type IsLikeResponse = { is_like: boolean; }; export type IsWatchResponse = { is_watching: boolean; }; export type IssueAddLabelRequest = { label_id: number; }; export type IssueAssignUserRequest = { user_id: string; }; export type IssueAssigneeResponse = { issue: string; user_id: string; username: string; assigned_at: string; }; export type IssueCommentCreateRequest = { body: string; }; export type IssueCommentListResponse = { comments: Array; total: number; page: number; per_page: number; }; export type IssueCommentResponse = { id: number; issue: string; author: string; author_username: string; body: string; created_at: string; updated_at: string; }; export type IssueCommentUpdateRequest = { body: string; }; export type IssueCreateRequest = { title: string; body?: string | null; milestone?: string | null; }; export type IssueLabelResponse = { issue: string; label_id: number; label_name?: string | null; label_color?: string | null; relation_at: string; }; export type IssueLinkPullRequestRequest = { repo: string; number: number; }; export type IssueLinkRepoRequest = { repo: string; }; export type IssueListResponse = { issues: Array; total: number; page: number; per_page: number; }; export type IssuePullRequestResponse = { issue: string; repo: string; number: number; relation_at: string; }; export type IssueRepoResponse = { issue: string; repo: string; relation_at: string; }; export type IssueResponse = { id: string; project: string; number: number; title: string; body?: string | null; state: string; author: string; author_username?: string | null; milestone?: string | null; created_at: string; updated_at: string; closed_at?: string | null; created_by_ai: boolean; }; export type IssueSearchItem = { uid: string; number: number; title: string; body?: string | null; state: string; project_uid: string; project_name: string; created_at: string; updated_at: string; }; export type IssueSubscriberResponse = { issue: string; user_id: string; username: string; subscribed: boolean; created_at: string; }; export type IssueSummaryResponse = { total: number; open: number; closed: number; }; export type IssueUpdateRequest = { title?: string | null; body?: string | null; milestone?: string | null; state?: string | null; }; export type JoinAnswerResponse = { question: string; answer: string; created_at: string; }; export type JoinAnswersListResponse = { request_id: number; project_uid: string; answers: Array; }; export type JoinRequestListResponse = { requests: Array; total: number; page: number; per_page: number; }; export type JoinRequestResponse = { id: number; project_uid: string; user_uid: string; username: string; status: string; message?: string | null; processed_by?: string | null; processed_at?: string | null; reject_reason?: string | null; created_at: string; }; export type JoinSettingsResponse = { project_uid: string; require_approval: boolean; require_questions: boolean; questions: unknown; }; export type LabelListResponse = { labels: Array; total: number; }; export type LabelResponse = { id: number; project_uid: string; name: string; color: string; description?: string | null; created_at: string; }; /** * Response for the gitgraph-react compatible API endpoint. */ export type LaneInfo = { /** * 0-based lane index. */ lane_index: number; /** * Branch name if this lane has a branch tip (None for unnamed lanes). */ branch_name?: string | null; /** * SHA of the commit where this lane/branch starts. */ start_oid: string; /** * SHA of the commit where this lane ends (None if lane continues to last commit). */ end_oid?: string | null; }; export type LikeUserInfo = { uid: string; username: string; avatar_url: string; }; export type LoginParams = { username: string; password: string; captcha: string; totp_code?: string | null; }; export type MemberInfo = { user_id: string; username: string; display_name?: string | null; avatar_url?: string | null; scope: MemberRole; joined_at: string; }; export type MemberListResponse = { members: Array; total: number; page: number; per_page: number; }; /** * Project member role. Stored as `"owner"`, `"admin"`, or `"member"` in the database. */ export type MemberRole = 'Owner' | 'Admin' | 'Member'; export type MentionNotificationResponse = { message_id: string; mentioned_by: string; mentioned_by_name: string; content_preview: string; room_id: string; room_name: string; created_at: string; }; export type MergeAnalysisResponse = { can_fast_forward: boolean; is_up_to_date: boolean; is_normal: boolean; analysis_flags: Array; /** * Strategies supported given the current state of the PR. */ supported_strategies: Array; }; export type MergeAnalysisResultInner = { is_none: boolean; is_normal: boolean; is_up_to_date: boolean; is_fast_forward: boolean; is_unborn: boolean; }; export type MergeCommitsRequest = { local_oid: string; remote_oid: string; find_renames?: boolean; fail_on_conflict?: boolean; skip_reuc?: boolean; no_recursive?: boolean; rename_threshold?: number; target_limit?: number; recursion_limit?: number; }; export type MergeConflictFile = { path: string; status: string; }; export type MergeConflictResponse = { has_conflicts: boolean; conflicted_files: Array; }; export type MergePreferenceResultInner = { is_none: boolean; is_no_fast_forward: boolean; is_fastforward_only: boolean; }; export type MergeRequest = { fast_forward?: boolean; strategy?: MergeStrategy; message?: string; }; export type MergeResponse = { repo: string; number: number; status: string; merged_by: string; merged_at: string; }; export type MergeStrategy = 'mergecommit' | 'squash' | 'rebase'; export type MergeTreesRequest = { ancestor_oid: string; our_oid: string; their_oid: string; find_renames?: boolean; fail_on_conflict?: boolean; skip_reuc?: boolean; no_recursive?: boolean; rename_threshold?: number; target_limit?: number; recursion_limit?: number; }; export type MergeheadInfoResponse = { oid: string; }; export type MessageEditHistoryEntry = { old_content: string; new_content: string; edited_at: string; }; export type MessageEditHistoryResponse = { message_id: string; history: Array; total_edits: number; }; export type MessageSearchResponse = { messages: Array; total: number; }; export type ModelCapabilityResponse = { id: number; model_version_id: number; capability: string; is_supported: boolean; created_at: string; }; export type ModelParameterProfileResponse = { id: number; model_version_id: string; temperature_min: number; temperature_max: number; top_p_min: number; top_p_max: number; frequency_penalty_supported: boolean; presence_penalty_supported: boolean; }; export type ModelPricingResponse = { id: number; model_version_id: string; input_price_per_1k_tokens: string; output_price_per_1k_tokens: string; currency: string; effective_from: string; }; export type ModelResponse = { id: string; provider_id: string; name: string; modality: string; capability: string; context_length: number; max_output_tokens?: number | null; training_cutoff?: string | null; is_open_source: boolean; status: string; created_at: string; updated_at: string; }; export type ModelVersionResponse = { id: string; model_id: string; version: string; release_date?: string | null; change_log?: string | null; is_default: boolean; status: string; created_at: string; }; export type MoveCardParams = { target_column_id: string; position: number; }; export type NotificationListResponse = { notifications: Array; total: number; unread_count: number; }; export type NotificationPreferencesParams = { email_enabled?: boolean | null; in_app_enabled?: boolean | null; push_enabled?: boolean | null; digest_mode?: string | null; dnd_enabled?: boolean | null; dnd_start_minute?: number | null; dnd_end_minute?: number | null; marketing_enabled?: boolean | null; security_enabled?: boolean | null; product_enabled?: boolean | null; }; export type NotificationPreferencesResponse = { user_id: string; email_enabled: boolean; in_app_enabled: boolean; push_enabled: boolean; digest_mode: string; dnd_enabled: boolean; dnd_start_minute?: number | null; dnd_end_minute?: number | null; marketing_enabled: boolean; security_enabled: boolean; product_enabled: boolean; created_at: string; updated_at: string; }; export type NotificationResponse = { id: string; room?: string | null; project?: string | null; user_id?: string | null; user_info?: null | UserInfo; notification_type: string; title: string; content?: string | null; related_message_id?: string | null; related_user_id?: string | null; related_room_id?: string | null; metadata: unknown; is_read: boolean; is_archived: boolean; created_at: string; read_at?: string | null; expires_at?: string | null; }; export type NotificationType = 'mention' | 'invitation' | 'role_change' | 'room_created' | 'room_deleted' | 'system_announcement'; export type Pager = { page: number; par_page: number; }; export type PendingInvitationInfo = { user_id: string; username: string; display_name?: string | null; avatar_url?: string | null; email?: string | null; role: string; invited_by_username?: string | null; invited_at: string; expires_at?: string | null; }; export type MyWorkspaceInvitation = { workspace_id: string; workspace_slug: string; workspace_name: string; role: string; invited_by_username?: string | null; invited_at: string; expires_at?: string | null; }; export type PrCommitResponse = { oid: string; short_oid: string; message: string; summary: string; author_name: string; author_email: string; authored_at: string; committer_name: string; committer_email: string; committed_at: string; }; export type PrCommitsListResponse = { commits: Array; }; /** * Structured PR description generated by AI. */ export type PrDescription = { /** * 3-5 line summary of what this PR does. */ summary: string; /** * Key changes made in this PR. */ changes: Array; /** * Potential risks or things to watch out for. */ risks?: Array; /** * Suggested test scenarios. */ tests?: Array; }; export type PreferencesParams = { language?: string | null; theme?: string | null; timezone?: string | null; email_notifications?: boolean | null; in_app_notifications?: boolean | null; }; export type PreferencesResponse = { language: string; theme: string; timezone: string; email_notifications: boolean; in_app_notifications: boolean; created_at: string; updated_at: string; }; export type ProcessJoinRequest = { approve: boolean; scope: MemberRole; reject_reason?: string | null; }; export type ProfileResponse = { uid: string; username: string; display_name?: string | null; avatar_url?: string | null; website_url?: string | null; organization?: string | null; created_at: string; updated_at: string; last_sign_in_at?: string | null; }; export type ProjectBillingCurrentResponse = { project_uid: string; currency: string; monthly_quota: number; balance: number; month_used: number; cycle_start_utc: string; cycle_end_utc: string; updated_at: string; created_at: string; }; export type ProjectBillingHistoryItem = { uid: string; project_uid: string; user_uid?: string | null; amount: number; currency: string; reason: string; extra?: unknown; created_at: string; }; export type ProjectBillingHistoryQuery = { page?: number | null; per_page?: number | null; }; export type ProjectBillingHistoryResponse = { page: number; per_page: number; total: number; list: Array; }; export type ProjectInfoKeyValue = { key: string; value: string; }; export type ProjectInfoLabel = { name: string; color: string; }; export type ProjectInfoRelational = { uid: string; name: string; display_name: string; avatar_url?: string | null; description?: string | null; is_public: boolean; created_at: string; updated_at: string; created_by: string; created_username_name: string; created_display_name?: string | null; created_avatar_url?: string | null; member_count: number; like_count: number; watch_count: number; keys: Array; labels: Array; role?: null | MemberRole; is_like: boolean; is_watch: boolean; }; export type ProjectInitParams = { name: string; description?: string | null; is_public: boolean; /** * Optional workspace slug to associate this project with. */ workspace_slug?: string | null; }; export type ProjectInitResponse = { params: ProjectInitParams; project: ProjectModel; }; export type ProjectModel = { uid: string; name: string; display_name: string; avatar_url?: string | null; description?: string | null; is_public: boolean; workspace_id?: string | null; created_by: string; created_at: string; updated_at: string; }; export type ProjectRepoCreateParams = { repo_name: string; description?: string | null; /** * Default: true. When false, skips bare git init and leaves default_branch empty; * the branch will be auto-detected and set on first push. */ init_repo?: boolean; /** * Only used when init_repo is true. */ default_branch?: string; is_private?: boolean; }; export type ProjectRepoCreateResponse = { uid: string; repo_name: string; description?: string | null; default_branch: string; project_name: string; is_private: boolean; storage_path: string; created_at: string; }; export type ProjectRepositoryItem = { uid: string; repo_name: string; description?: string | null; default_branch: string; project_name: string; is_private: boolean; commit_count: number; branch_count: number; tag_count: number; star_count: number; watch_count: number; last_commit_at?: string | null; ssh_clone_url: string; https_clone_url: string; }; export type ProjectRepositoryPagination = { items: Array; cursor?: string | null; total: number; }; export type ProjectSearchItem = { uid: string; name: string; display_name: string; description?: string | null; avatar_url?: string | null; is_public: boolean; created_at: string; updated_at: string; }; export type ProviderResponse = { id: string; name: string; display_name: string; website?: string | null; status: string; created_at: string; updated_at: string; }; export type PullRequestCreateRequest = { title: string; body?: string | null; base: string; head: string; draft?: boolean; }; export type PullRequestListResponse = { pull_requests: Array; total: number; page: number; per_page: number; }; export type PullRequestResponse = { repo: string; number: number; issue?: string | null; title: string; body?: string | null; author: string; author_username?: string | null; base: string; head: string; status: string; merged_by?: string | null; created_at: string; updated_at: string; merged_at?: string | null; created_by_ai: boolean; }; export type PullRequestSummaryResponse = { total: number; open: number; merged: number; closed: number; }; export type PullRequestUpdateRequest = { title?: string | null; body?: string | null; base?: string | null; draft?: boolean | null; }; export type QuestionSchema = { question: string; }; export type ReactionAddRequest = { reaction: string; }; export type ReactionListResponse = { reactions: Array; }; export type ReactionResponse = { user: string; reaction: string; created_at: string; }; export type ReactionSummary = { reaction: string; count: number; users: Array; }; export type RefCreateRequest = { name: string; oid: string; force?: boolean; message?: string | null; }; export type RefDeleteResponse = { name: string; oid: string; }; export type RefExistsResponse = { name: string; exists: boolean; }; export type RefInfoResponse = { name: string; oid?: string | null; target?: string | null; is_symbolic: boolean; is_branch: boolean; is_remote: boolean; is_tag: boolean; is_note: boolean; }; export type RefTargetResponse = { name: string; oid?: string | null; }; export type RefUpdateRequest = { name: string; new_oid: string; expected_oid?: string | null; message?: string | null; }; export type RefUpdateResponse = { name: string; old_oid?: string | null; new_oid?: string | null; }; export type RegisterParams = { username: string; email: string; password: string; captcha: string; }; export type RepoSearchItem = { uid: string; name: string; description?: string | null; project_uid: string; project_name: string; is_private: boolean; created_at: string; }; export type ResetPasswordParams = { email: string; }; export type ConfirmResetPasswordParams = { token: string; new_password: string; }; export type ReviewCommentCreateRequest = { body: string; review?: string | null; path?: string | null; side?: string | null; line?: number | null; old_line?: number | null; /** * ID of the parent comment to reply to (null = root comment). */ in_reply_to?: number | null; }; export type ReviewCommentListQuery = { /** * Filter comments by file path (e.g. "src/main.rs"). */ path?: string | null; /** * Filter by resolved status. Omit to return all comments. */ resolved?: boolean | null; /** * If true, only return inline comments (those with a `path` set). * If false, only return general comments (no path). * Omit to return all comments. */ file_only?: boolean | null; }; export type ReviewCommentListResponse = { /** * Flat list of all comments (kept for backward compatibility). */ comments: Array; /** * Comments grouped into threads (root comments with their replies). */ threads: Array; total: number; }; /** * Body for replying to an existing review comment thread. */ export type ReviewCommentReplyRequest = { body: string; }; export type ReviewCommentResponse = { repo: string; number: number; id: number; review?: string | null; path?: string | null; side?: string | null; line?: number | null; old_line?: number | null; body: string; author: string; author_username?: string | null; resolved: boolean; in_reply_to?: number | null; created_at: string; updated_at: string; }; /** * A review comment thread: one root comment plus all its replies. */ export type ReviewCommentThread = { root: ReviewCommentResponse; replies: Array; }; export type ReviewCommentUpdateRequest = { body: string; }; export type ReviewListResponse = { reviews: Array; }; export type ReviewRequestCreateRequest = { /** * User ID of the reviewer to request. */ reviewer: string; }; export type ReviewRequestListResponse = { requests: Array; total: number; }; export type ReviewRequestResponse = { repo: string; number: number; reviewer: string; reviewer_username?: string | null; requested_by: string; requested_by_username?: string | null; requested_at: string; dismissed_at?: string | null; dismissed_by?: string | null; dismissed_by_username?: string | null; }; export type ReviewResponse = { repo: string; number: number; reviewer: string; reviewer_username?: string | null; state: string; body?: string | null; submitted_at?: string | null; created_at: string; updated_at: string; }; export type ReviewSubmitRequest = { body?: string | null; state: string; }; export type ReviewUpdateRequest = { body?: string | null; }; export type ReviewerInfo = { reviewer: string; state: string; submitted_at?: string | null; }; export type RoomAiResponse = { room: string; model: string; model_name?: string; version?: string | null; call_count: number; last_call_at?: string | null; history_limit?: number | null; system_prompt?: string | null; temperature?: number | null; max_tokens?: number | null; use_exact: boolean; think: boolean; stream: boolean; min_score?: number | null; created_at: string; updated_at: string; }; export type RoomAiUpsertRequest = { model: string; version?: string | null; history_limit?: number | null; system_prompt?: string | null; temperature?: number | null; max_tokens?: number | null; use_exact?: boolean | null; think?: boolean | null; stream?: boolean | null; min_score?: number | null; }; export type RoomCategoryCreateRequest = { name: string; position?: number | null; }; export type RoomCategoryResponse = { id: string; project: string; name: string; position: number; created_by: string; created_at: string; }; export type RoomCategoryUpdateRequest = { name?: string | null; position?: number | null; }; export type RoomCreateRequest = { room_name: string; room_public: boolean; category?: string | null; }; export type RoomMemberAddRequest = { user_id: string; role?: string | null; }; export type RoomMemberReadSeqRequest = { last_read_seq: number; }; export type RoomMemberResponse = { room: string; user: string; user_info?: null | UserInfo; role: string; first_msg_in?: string | null; joined_at?: string | null; last_read_seq?: number | null; do_not_disturb: boolean; dnd_start_hour?: number | null; dnd_end_hour?: number | null; }; export type RoomMemberRoleUpdateRequest = { user_id: string; role: string; }; export type RoomMessageCreateRequest = { content: string; content_type?: string | null; thread_id?: string | null; in_reply_to?: string | null; attachment_ids?: string[]; }; export type RoomMessageListResponse = { messages: Array; total: number; }; export type RoomMessageResponse = { id: string; seq: number; room: string; sender_type: string; sender_id?: string | null; display_name?: string | null; thread?: string | null; in_reply_to?: string | null; content: string; content_type: string; edited_at?: string | null; send_at: string; revoked?: string | null; revoked_by?: string | null; attachment_ids?: string[]; }; export type RoomMessageUpdateRequest = { content: string; }; export type RoomPinResponse = { room: string; message: string; pinned_by: string; pinned_at: string; }; export type RoomResponse = { id: string; project: string; room_name: string; public: boolean; category?: string | null; created_by: string; created_at: string; last_msg_at: string; unread_count?: number; }; export type RoomThreadCreateRequest = { parent_seq: number; }; export type RoomThreadResponse = { id: string; room: string; parent: number; created_by: string; participants: unknown; last_message_at: string; last_message_preview?: string | null; created_at: string; updated_at: string; }; export type RoomUpdateRequest = { room_name?: string | null; room_public?: boolean | null; category?: string | null; }; export type RsaResponse = { public_key: string; }; export type ScanResponse = { discovered: number; created: number; updated: number; removed: number; }; export type SearchResponse = { query: string; projects?: null | SearchResultSetProjectSearchItem; repos?: null | SearchResultSetRepoSearchItem; issues?: null | SearchResultSetIssueSearchItem; users?: null | SearchResultSetUserSearchItem; }; export type SearchResultSetIssueSearchItem = { items: Array<{ uid: string; number: number; title: string; body?: string | null; state: string; project_uid: string; project_name: string; created_at: string; updated_at: string; }>; total: number; page: number; per_page: number; }; export type SearchResultSetProjectSearchItem = { items: Array<{ uid: string; name: string; display_name: string; description?: string | null; avatar_url?: string | null; is_public: boolean; created_at: string; updated_at: string; }>; total: number; page: number; per_page: number; }; export type SearchResultSetRepoSearchItem = { items: Array<{ uid: string; name: string; description?: string | null; project_uid: string; project_name: string; is_private: boolean; created_at: string; }>; total: number; page: number; per_page: number; }; export type SearchResultSetUserSearchItem = { items: Array<{ uid: string; username: string; display_name?: string | null; avatar_url?: string | null; organization?: string | null; created_at: string; }>; total: number; page: number; per_page: number; }; export type SideBySideChangeTypeResponse = 'unchanged' | 'added' | 'removed' | 'modified' | 'empty'; /** * Query parameters for side-by-side diff. */ export type SideBySideDiffQuery = { /** * OID (SHA) of the base / old commit or tree. */ base: string; /** * OID (SHA) of the head / new commit or tree. */ head: string; /** * Optional path filter — only include files matching this prefix. */ pathspec?: Array | null; /** * Number of context lines around changes (default 3). */ context_lines?: number | null; }; export type SideBySideDiffResponse = { files: Array; total_additions: number; total_deletions: number; }; export type SideBySideFileResponse = { path: string; additions: number; deletions: number; is_binary: boolean; is_rename: boolean; lines: Array; }; export type SideBySideLineResponse = { left_line_no?: number | null; right_line_no?: number | null; left_content: string; right_content: string; change_type: SideBySideChangeTypeResponse; }; export type SkillResponse = { id: number; project_uuid: string; slug: string; name: string; description?: string | null; source: string; repo_id?: string | null; commit_sha?: string | null; blob_hash?: string | null; content: string; metadata: unknown; enabled: boolean; created_by?: string | null; created_at: string; updated_at: string; }; export type SshKeyListResponse = { keys: Array; total: number; }; export type SshKeyResponse = { id: number; user_uid: string; title: string; fingerprint: string; key_type: string; key_bits?: number | null; is_verified: boolean; last_used_at?: string | null; expires_at?: string | null; is_revoked: boolean; created_at: string; updated_at: string; }; export type StarCountResponse = { count: number; }; export type StarUserInfo = { uid: string; username: string; avatar_url: string; }; export type StarUserListResponse = { users: Array; }; export type SubmitJoinRequest = { message?: string | null; answers: Array; }; export type SubscriptionInfo = { id: number; user_uid: string; target_uid: string; subscribed_at: string; is_active: boolean; }; export type TagCountResponse = { count: number; }; export type TagCreateLightweightRequest = { name: string; target: string; force?: boolean; }; export type TagCreateRequest = { name: string; target: string; message?: string | null; tagger_name?: string | null; tagger_email?: string | null; force?: boolean; }; export type TagExistsResponse = { name: string; exists: boolean; }; export type TagInfoResponse = { name: string; oid: string; target: string; is_annotated: boolean; message?: string | null; tagger?: string | null; tagger_email?: string | null; }; export type TagIsAnnotatedResponse = { name: string; is_annotated: boolean; }; export type TagMessageResponse = { name: string; message?: string | null; }; export type TagRenameQuery = { old_name: string; new_name: string; }; export type TagSummaryResponse = { total_count: number; }; export type TagTaggerResponse = { name: string; tagger?: string | null; tagger_email?: string | null; }; export type TagTargetResponse = { name: string; target?: string | null; }; export type TagUpdateMessageRequest = { name: string; message: string; tagger_name: string; tagger_email: string; }; export type TransferRepoParams = { target_project_name: string; }; export type TransferRepoResponse = { repo_id: string; old_project_name: string; new_project_name: string; repo_name: string; }; export type TreeDiffStatsResponse = { old_tree: string; new_tree: string; files_changed: number; insertions: number; deletions: number; }; export type TreeEntryCountResponse = { oid: string; count: number; }; export type TreeEntryResponse = { name: string; oid: string; kind: string; filemode: number; is_binary: boolean; }; export type TreeExistsResponse = { oid: string; exists: boolean; }; export type TreeInfoResponse = { oid: string; entry_count: number; is_empty: boolean; }; export type TreeIsEmptyResponse = { oid: string; is_empty: boolean; }; export type TriggerCodeReviewRequest = { pr_number?: number | null; model_id?: string | null; }; export type TriggerCodeReviewResponse = { comments_posted: number; comments: Array; billing?: null | BillingRecord; }; export type UpdateBoardParams = { name?: string | null; description?: string | null; }; export type UpdateCardParams = { title?: string | null; description?: string | null; assignee_id?: string | null; due_date?: string | null; priority?: string | null; }; export type UpdateColumnParams = { name?: string | null; position?: number | null; wip_limit?: number | null; color?: string | null; }; export type UpdateJoinSettingsRequest = { require_approval: boolean; require_questions: boolean; questions: Array; }; export type UpdateLabelParams = { name?: string | null; color?: string | null; description?: string | null; }; export type UpdateMemberRoleRequest = { user_id: string; scope: MemberRole; }; export type UpdateModelCapabilityRequest = { is_supported?: boolean | null; }; export type UpdateModelParameterProfileRequest = { temperature_min?: number | null; temperature_max?: number | null; top_p_min?: number | null; top_p_max?: number | null; frequency_penalty_supported?: boolean | null; presence_penalty_supported?: boolean | null; }; export type UpdateModelPricingRequest = { input_price_per_1k_tokens?: string | null; output_price_per_1k_tokens?: string | null; currency?: string | null; effective_from?: string | null; }; export type UpdateModelRequest = { display_name?: string | null; modality?: string | null; capability?: string | null; context_length?: number | null; max_output_tokens?: number | null; training_cutoff?: string | null; is_open_source?: boolean | null; status?: string | null; }; export type UpdateModelVersionRequest = { version?: string | null; release_date?: string | null; change_log?: string | null; is_default?: boolean | null; status?: string | null; }; export type UpdateProfileParams = { avatar_url?: string | null; website_url?: string | null; organization?: string | null; }; export type UpdateProviderRequest = { display_name?: string | null; website?: string | null; status?: string | null; }; export type UpdateRoleParams = { user_id: string; role: string; }; export type UpdateSkillRequest = { name?: string | null; description?: string | null; content?: string | null; metadata?: unknown; enabled?: boolean | null; }; export type UpdateSshKeyParams = { title?: string | null; expires_at?: string | null; }; export type UpdateWebhookParams = { url?: string | null; content_type?: string | null; secret?: string | null; insecure_ssl?: boolean | null; events?: null | WebhookEvent; active?: boolean | null; }; export type UserInfo = { uid: string; username: string; avatar_url?: string | null; }; export type UserInfoExternal = { user_uid: string; username: string; display_name: string; avatar_url?: string | null; master_email?: string | null; timezone: string; language: string; website_url?: string | null; organization?: string | null; last_sign_in_at?: string | null; is_owner: boolean; is_subscribe: boolean; total_projects: number; total_repos: number; }; export type UserProjectInfo = { uid: string; name: string; display_name: string; avatar_url?: string | null; description?: string | null; is_public: boolean; created_at: string; updated_at: string; member_count: number; is_member: boolean; }; export type UserProjectsQuery = { page?: number | null; per_page?: number | null; }; export type UserProjectsResponse = { username: string; projects: Array; total_count: number; }; export type UserRepoInfo = { uid: string; repo_name: string; description?: string | null; default_branch: string; is_private: boolean; storage_path: string; created_at: string; updated_at: string; }; export type UserReposQuery = { page?: number | null; per_page?: number | null; }; export type UserReposResponse = { username: string; repos: Array; total_count: number; }; export type UserSearchItem = { uid: string; username: string; display_name?: string | null; avatar_url?: string | null; organization?: string | null; created_at: string; }; export type Verify2FaParams = { code: string; }; export type WatchCountResponse = { count: number; }; export type WatchUserInfo = { uid: string; username: string; avatar_url: string; }; export type WatchUserListResponse = { users: Array; }; export type WebhookEvent = { push?: boolean; tag_push?: boolean; pull_request?: boolean; issue_comment?: boolean; release?: boolean; }; export type WebhookListResponse = { webhooks: Array; total: number; }; export type WebhookResponse = { id: number; repo_uuid: string; url: string; content_type: string; secret?: string | null; events: WebhookEvent; active: boolean; created_at: string; last_delivered_at?: string | null; touch_count: number; }; export type WorkspaceActivityItem = { id: number; project_name: string; event_type: string; title: string; content?: string | null; actor_name: string; actor_avatar?: string | null; created_at: string; }; export type WorkspaceBillingAddCreditParams = { amount: number; reason?: string | null; }; export type WorkspaceBillingCurrentResponse = { workspace_id: string; currency: string; monthly_quota: number; balance: number; total_spent: number; month_used: number; cycle_start_utc: string; cycle_end_utc: string; updated_at: string; created_at: string; }; export type WorkspaceBillingHistoryItem = { uid: string; workspace_id: string; user_id?: string | null; amount: number; currency: string; reason: string; extra?: unknown; created_at: string; }; export type WorkspaceBillingHistoryQuery = { page?: number | null; per_page?: number | null; }; export type WorkspaceBillingHistoryResponse = { page: number; per_page: number; total: number; list: Array; }; export type WorkspaceInfoResponse = { id: string; slug: string; name: string; description?: string | null; avatar_url?: string | null; plan: string; billing_email?: string | null; member_count: number; my_role?: string | null; created_at: string; updated_at: string; }; export type WorkspaceInitParams = { slug: string; name: string; description?: string | null; }; export type WorkspaceInviteAcceptParams = { token: string; }; export type WorkspaceInviteParams = { email: string; role?: string | null; }; export type WorkspaceAcceptBySlugParams = { slug: string; }; export type WorkspaceListItem = { id: string; slug: string; name: string; description?: string | null; avatar_url?: string | null; plan: string; my_role: string; created_at: string; }; export type WorkspaceListResponse = { workspaces: Array; total: number; }; export type WorkspaceMemberInfo = { user_id: string; username: string; display_name?: string | null; avatar_url?: string | null; role: string; joined_at: string; /** * Username of the person who invited this member. */ invited_by_username?: string | null; }; export type WorkspaceMembersResponse = { members: Array; total: number; page: number; per_page: number; }; export type WorkspaceProjectItem = { uid: string; name: string; display_name: string; avatar_url?: string | null; description?: string | null; is_public: boolean; created_at: string; updated_at: string; }; export type WorkspaceProjectsQuery = { page?: number | null; per_page?: number | null; }; export type WorkspaceProjectsResponse = { projects: Array; total: number; page: number; per_page: number; }; export type WorkspaceStatsResponse = { project_count: number; member_count: number; my_role?: string | null; recent_activities: Array; }; export type WorkspaceUpdateParams = { name?: string | null; description?: string | null; avatar_url?: string | null; billing_email?: string | null; }; export type ModelCapabilityCreateData = { body: CreateModelCapabilityRequest; path?: never; query?: never; url: '/api/agents/capabilities'; }; export type ModelCapabilityCreateErrors = { 401: unknown; 403: unknown; }; export type ModelCapabilityCreateResponses = { 200: ModelCapabilityResponse; }; export type ModelCapabilityCreateResponse = ModelCapabilityCreateResponses[keyof ModelCapabilityCreateResponses]; export type ModelCapabilityDeleteData = { body?: never; path: { id: number; }; query?: never; url: '/api/agents/capabilities/{id}'; }; export type ModelCapabilityDeleteErrors = { 401: unknown; 403: unknown; 404: unknown; }; export type ModelCapabilityDeleteResponses = { 200: unknown; }; export type ModelCapabilityGetData = { body?: never; path: { id: number; }; query?: never; url: '/api/agents/capabilities/{id}'; }; export type ModelCapabilityGetErrors = { /** * Unauthorized */ 401: unknown; 404: unknown; }; export type ModelCapabilityGetResponses = { 200: ModelCapabilityResponse; }; export type ModelCapabilityGetResponse = ModelCapabilityGetResponses[keyof ModelCapabilityGetResponses]; export type ModelCapabilityUpdateData = { body: UpdateModelCapabilityRequest; path: { id: number; }; query?: never; url: '/api/agents/capabilities/{id}'; }; export type ModelCapabilityUpdateErrors = { 401: unknown; 403: unknown; 404: unknown; }; export type ModelCapabilityUpdateResponses = { 200: ModelCapabilityResponse; }; export type ModelCapabilityUpdateResponse = ModelCapabilityUpdateResponses[keyof ModelCapabilityUpdateResponses]; export type TriggerCodeReviewData = { body: TriggerCodeReviewRequest; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/agents/code-review/{namespace}/{repo}'; }; export type TriggerCodeReviewErrors = { /** * Unauthorized */ 401: unknown; /** * Repository or PR not found */ 404: unknown; }; export type TriggerCodeReviewResponses = { /** * AI code review triggered */ 200: TriggerCodeReviewResponse; }; export type TriggerCodeReviewResponse2 = TriggerCodeReviewResponses[keyof TriggerCodeReviewResponses]; export type ModelListData = { body?: never; path?: never; query?: { provider_id?: string | null; }; url: '/api/agents/models'; }; export type ModelListErrors = { /** * Unauthorized */ 401: unknown; }; export type ModelListResponses = { 200: Array; }; export type ModelListResponse = ModelListResponses[keyof ModelListResponses]; export type ModelCreateData = { body: CreateModelRequest; path?: never; query?: never; url: '/api/agents/models'; }; export type ModelCreateErrors = { 401: unknown; 403: unknown; 404: unknown; }; export type ModelCreateResponses = { 200: ModelResponse; }; export type ModelCreateResponse = ModelCreateResponses[keyof ModelCreateResponses]; export type ModelDeleteData = { body?: never; path: { id: string; }; query?: never; url: '/api/agents/models/{id}'; }; export type ModelDeleteErrors = { 401: unknown; 403: unknown; 404: unknown; }; export type ModelDeleteResponses = { 200: unknown; }; export type ModelGetData = { body?: never; path: { id: string; }; query?: never; url: '/api/agents/models/{id}'; }; export type ModelGetErrors = { /** * Unauthorized */ 401: unknown; 404: unknown; }; export type ModelGetResponses = { 200: ModelResponse; }; export type ModelGetResponse = ModelGetResponses[keyof ModelGetResponses]; export type ModelUpdateData = { body: UpdateModelRequest; path: { id: string; }; query?: never; url: '/api/agents/models/{id}'; }; export type ModelUpdateErrors = { 401: unknown; 403: unknown; 404: unknown; }; export type ModelUpdateResponses = { 200: ModelResponse; }; export type ModelUpdateResponse = ModelUpdateResponses[keyof ModelUpdateResponses]; export type ModelParameterProfileCreateData = { body: CreateModelParameterProfileRequest; path?: never; query?: never; url: '/api/agents/parameters'; }; export type ModelParameterProfileCreateErrors = { 401: unknown; 403: unknown; }; export type ModelParameterProfileCreateResponses = { 200: ModelParameterProfileResponse; }; export type ModelParameterProfileCreateResponse = ModelParameterProfileCreateResponses[keyof ModelParameterProfileCreateResponses]; export type ModelParameterProfileDeleteData = { body?: never; path: { id: number; }; query?: never; url: '/api/agents/parameters/{id}'; }; export type ModelParameterProfileDeleteErrors = { 401: unknown; 403: unknown; 404: unknown; }; export type ModelParameterProfileDeleteResponses = { 200: unknown; }; export type ModelParameterProfileGetData = { body?: never; path: { id: number; }; query?: never; url: '/api/agents/parameters/{id}'; }; export type ModelParameterProfileGetErrors = { /** * Unauthorized */ 401: unknown; 404: unknown; }; export type ModelParameterProfileGetResponses = { 200: ModelParameterProfileResponse; }; export type ModelParameterProfileGetResponse = ModelParameterProfileGetResponses[keyof ModelParameterProfileGetResponses]; export type ModelParameterProfileUpdateData = { body: UpdateModelParameterProfileRequest; path: { id: number; }; query?: never; url: '/api/agents/parameters/{id}'; }; export type ModelParameterProfileUpdateErrors = { 401: unknown; 403: unknown; 404: unknown; }; export type ModelParameterProfileUpdateResponses = { 200: ModelParameterProfileResponse; }; export type ModelParameterProfileUpdateResponse = ModelParameterProfileUpdateResponses[keyof ModelParameterProfileUpdateResponses]; export type GeneratePrDescriptionData = { body: GeneratePrDescriptionRequest; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/agents/pr-description/{namespace}/{repo}'; }; export type GeneratePrDescriptionErrors = { /** * Unauthorized */ 401: unknown; /** * Repository or PR not found */ 404: unknown; }; export type GeneratePrDescriptionResponses = { /** * AI-generated PR description */ 200: GeneratePrDescriptionResponse; }; export type GeneratePrDescriptionResponse2 = GeneratePrDescriptionResponses[keyof GeneratePrDescriptionResponses]; export type ModelPricingCreateData = { body: CreateModelPricingRequest; path?: never; query?: never; url: '/api/agents/pricing'; }; export type ModelPricingCreateErrors = { 401: unknown; 403: unknown; }; export type ModelPricingCreateResponses = { 200: ModelPricingResponse; }; export type ModelPricingCreateResponse = ModelPricingCreateResponses[keyof ModelPricingCreateResponses]; export type ModelPricingDeleteData = { body?: never; path: { id: number; }; query?: never; url: '/api/agents/pricing/{id}'; }; export type ModelPricingDeleteErrors = { 401: unknown; 403: unknown; 404: unknown; }; export type ModelPricingDeleteResponses = { 200: unknown; }; export type ModelPricingGetData = { body?: never; path: { id: number; }; query?: never; url: '/api/agents/pricing/{id}'; }; export type ModelPricingGetErrors = { /** * Unauthorized */ 401: unknown; 404: unknown; }; export type ModelPricingGetResponses = { 200: ModelPricingResponse; }; export type ModelPricingGetResponse = ModelPricingGetResponses[keyof ModelPricingGetResponses]; export type ModelPricingUpdateData = { body: UpdateModelPricingRequest; path: { id: number; }; query?: never; url: '/api/agents/pricing/{id}'; }; export type ModelPricingUpdateErrors = { 401: unknown; 403: unknown; 404: unknown; }; export type ModelPricingUpdateResponses = { 200: ModelPricingResponse; }; export type ModelPricingUpdateResponse = ModelPricingUpdateResponses[keyof ModelPricingUpdateResponses]; export type ProviderListData = { body?: never; path?: never; query?: never; url: '/api/agents/providers'; }; export type ProviderListErrors = { /** * Unauthorized */ 401: unknown; }; export type ProviderListResponses = { 200: Array; }; export type ProviderListResponse = ProviderListResponses[keyof ProviderListResponses]; export type ProviderCreateData = { body: CreateProviderRequest; path?: never; query?: never; url: '/api/agents/providers'; }; export type ProviderCreateErrors = { 401: unknown; 403: unknown; }; export type ProviderCreateResponses = { 200: ProviderResponse; }; export type ProviderCreateResponse = ProviderCreateResponses[keyof ProviderCreateResponses]; export type ProviderDeleteData = { body?: never; path: { id: string; }; query?: never; url: '/api/agents/providers/{id}'; }; export type ProviderDeleteErrors = { 401: unknown; 403: unknown; 404: unknown; }; export type ProviderDeleteResponses = { 200: unknown; }; export type ProviderGetData = { body?: never; path: { /** * Provider UUID */ id: string; }; query?: never; url: '/api/agents/providers/{id}'; }; export type ProviderGetErrors = { /** * Unauthorized */ 401: unknown; 404: unknown; }; export type ProviderGetResponses = { 200: ProviderResponse; }; export type ProviderGetResponse = ProviderGetResponses[keyof ProviderGetResponses]; export type ProviderUpdateData = { body: UpdateProviderRequest; path: { id: string; }; query?: never; url: '/api/agents/providers/{id}'; }; export type ProviderUpdateErrors = { 401: unknown; 403: unknown; 404: unknown; }; export type ProviderUpdateResponses = { 200: ProviderResponse; }; export type ProviderUpdateResponse = ProviderUpdateResponses[keyof ProviderUpdateResponses]; export type ModelVersionListData = { body?: never; path?: never; query?: { model_id?: string | null; }; url: '/api/agents/versions'; }; export type ModelVersionListErrors = { /** * Unauthorized */ 401: unknown; }; export type ModelVersionListResponses = { 200: Array; }; export type ModelVersionListResponse = ModelVersionListResponses[keyof ModelVersionListResponses]; export type ModelVersionCreateData = { body: CreateModelVersionRequest; path?: never; query?: never; url: '/api/agents/versions'; }; export type ModelVersionCreateErrors = { 401: unknown; 403: unknown; }; export type ModelVersionCreateResponses = { 200: ModelVersionResponse; }; export type ModelVersionCreateResponse = ModelVersionCreateResponses[keyof ModelVersionCreateResponses]; export type ModelVersionDeleteData = { body?: never; path: { id: string; }; query?: never; url: '/api/agents/versions/{id}'; }; export type ModelVersionDeleteErrors = { 401: unknown; 403: unknown; 404: unknown; }; export type ModelVersionDeleteResponses = { 200: unknown; }; export type ModelVersionGetData = { body?: never; path: { id: string; }; query?: never; url: '/api/agents/versions/{id}'; }; export type ModelVersionGetErrors = { /** * Unauthorized */ 401: unknown; 404: unknown; }; export type ModelVersionGetResponses = { 200: ModelVersionResponse; }; export type ModelVersionGetResponse = ModelVersionGetResponses[keyof ModelVersionGetResponses]; export type ModelVersionUpdateData = { body: UpdateModelVersionRequest; path: { id: string; }; query?: never; url: '/api/agents/versions/{id}'; }; export type ModelVersionUpdateErrors = { 401: unknown; 403: unknown; 404: unknown; }; export type ModelVersionUpdateResponses = { 200: ModelVersionResponse; }; export type ModelVersionUpdateResponse = ModelVersionUpdateResponses[keyof ModelVersionUpdateResponses]; export type ModelCapabilityListData = { body?: never; path: { model_version_id: number; }; query?: never; url: '/api/agents/versions/{model_version_id}/capabilities'; }; export type ModelCapabilityListErrors = { /** * Unauthorized */ 401: unknown; }; export type ModelCapabilityListResponses = { 200: Array; }; export type ModelCapabilityListResponse = ModelCapabilityListResponses[keyof ModelCapabilityListResponses]; export type ModelParameterProfileListData = { body?: never; path: { model_version_id: string; }; query?: never; url: '/api/agents/versions/{model_version_id}/parameters'; }; export type ModelParameterProfileListErrors = { /** * Unauthorized */ 401: unknown; }; export type ModelParameterProfileListResponses = { 200: Array; }; export type ModelParameterProfileListResponse = ModelParameterProfileListResponses[keyof ModelParameterProfileListResponses]; export type ModelPricingListData = { body?: never; path: { model_version_id: string; }; query?: never; url: '/api/agents/versions/{model_version_id}/pricing'; }; export type ModelPricingListErrors = { /** * Unauthorized */ 401: unknown; }; export type ModelPricingListResponses = { 200: Array; }; export type ModelPricingListResponse = ModelPricingListResponses[keyof ModelPricingListResponses]; export type Api2FaDisableData = { body: Disable2FaParams; path?: never; query?: never; url: '/api/auth/2fa/disable'; }; export type Api2FaDisableErrors = { /** * 2FA not enabled or invalid code/password */ 400: unknown; /** * Unauthorized */ 401: unknown; /** * Not found */ 404: ApiResponseApiError; /** * Internal server error */ 500: unknown; }; export type Api2FaDisableError = Api2FaDisableErrors[keyof Api2FaDisableErrors]; export type Api2FaDisableResponses = { /** * 2FA disabled */ 200: unknown; }; export type Api2FaEnableData = { body?: never; path?: never; query?: never; url: '/api/auth/2fa/enable'; }; export type Api2FaEnableErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: ApiResponseApiError; /** * 2FA already enabled */ 409: unknown; /** * Internal server error */ 500: unknown; }; export type Api2FaEnableError = Api2FaEnableErrors[keyof Api2FaEnableErrors]; export type Api2FaEnableResponses = { /** * 2FA setup initiated */ 200: Enable2FaResponse; }; export type Api2FaEnableResponse = Api2FaEnableResponses[keyof Api2FaEnableResponses]; export type Api2FaStatusData = { body?: never; path?: never; query?: never; url: '/api/auth/2fa/status'; }; export type Api2FaStatusErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: ApiResponseApiError; /** * Internal server error */ 500: unknown; }; export type Api2FaStatusError = Api2FaStatusErrors[keyof Api2FaStatusErrors]; export type Api2FaStatusResponses = { /** * 2FA status */ 200: Get2FaStatusResponse; }; export type Api2FaStatusResponse = Api2FaStatusResponses[keyof Api2FaStatusResponses]; export type Api2FaVerifyData = { body: Verify2FaParams; path?: never; query?: never; url: '/api/auth/2fa/verify'; }; export type Api2FaVerifyErrors = { /** * 2FA not set up */ 400: unknown; /** * Unauthorized or invalid code */ 401: unknown; /** * Not found */ 404: ApiResponseApiError; /** * Internal server error */ 500: unknown; }; export type Api2FaVerifyError = Api2FaVerifyErrors[keyof Api2FaVerifyErrors]; export type Api2FaVerifyResponses = { /** * 2FA verified and enabled */ 200: unknown; }; export type ApiAuthCaptchaData = { body: CaptchaQuery; path?: never; query?: never; url: '/api/auth/captcha'; }; export type ApiAuthCaptchaErrors = { /** * Not found */ 404: ApiResponseApiError; /** * Internal server error */ 500: ApiResponseApiError; }; export type ApiAuthCaptchaError = ApiAuthCaptchaErrors[keyof ApiAuthCaptchaErrors]; export type ApiAuthCaptchaResponses = { /** * Captcha generated */ 200: ApiResponseCaptchaResponse; }; export type ApiAuthCaptchaResponse = ApiAuthCaptchaResponses[keyof ApiAuthCaptchaResponses]; export type ApiEmailGetData = { body?: never; path?: never; query?: never; url: '/api/auth/email'; }; export type ApiEmailGetErrors = { /** * Unauthorized */ 401: unknown; }; export type ApiEmailGetResponses = { /** * Current email address */ 200: ApiResponseEmailResponse; }; export type ApiEmailGetResponse = ApiEmailGetResponses[keyof ApiEmailGetResponses]; export type ApiEmailChangeData = { body: EmailChangeRequest; path?: never; query?: never; url: '/api/auth/email/change'; }; export type ApiEmailChangeErrors = { /** * Unauthorized or invalid password */ 401: unknown; /** * Email already in use */ 409: unknown; }; export type ApiEmailChangeResponses = { /** * Verification email sent */ 200: ApiResponseString; }; export type ApiEmailChangeResponse = ApiEmailChangeResponses[keyof ApiEmailChangeResponses]; export type ApiEmailVerifyData = { body: EmailVerifyRequest; path?: never; query?: never; url: '/api/auth/email/verify'; }; export type ApiEmailVerifyErrors = { /** * Invalid or expired token */ 400: unknown; }; export type ApiEmailVerifyResponses = { /** * Email updated successfully */ 200: ApiResponseString; }; export type ApiEmailVerifyResponse = ApiEmailVerifyResponses[keyof ApiEmailVerifyResponses]; export type ApiAuthLoginData = { body: LoginParams; path?: never; query?: never; url: '/api/auth/login'; }; export type ApiAuthLoginErrors = { /** * Bad request */ 400: ApiResponseApiError; /** * Invalid credentials */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; /** * Two-factor authentication required */ 428: ApiResponseApiError; }; export type ApiAuthLoginError = ApiAuthLoginErrors[keyof ApiAuthLoginErrors]; export type ApiAuthLoginResponses = { /** * Login successful */ 200: ApiResponseString; }; export type ApiAuthLoginResponse = ApiAuthLoginResponses[keyof ApiAuthLoginResponses]; export type ApiAuthLogoutData = { body?: never; path?: never; query?: never; url: '/api/auth/logout'; }; export type ApiAuthLogoutErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; /** * Internal server error */ 500: ApiResponseApiError; }; export type ApiAuthLogoutError = ApiAuthLogoutErrors[keyof ApiAuthLogoutErrors]; export type ApiAuthLogoutResponses = { /** * Logout successful */ 200: ApiResponseString; }; export type ApiAuthLogoutResponse = ApiAuthLogoutResponses[keyof ApiAuthLogoutResponses]; export type ApiAuthMeData = { body?: never; path?: never; query?: never; url: '/api/auth/me'; }; export type ApiAuthMeErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; /** * Internal server error */ 500: ApiResponseApiError; }; export type ApiAuthMeError = ApiAuthMeErrors[keyof ApiAuthMeErrors]; export type ApiAuthMeResponses = { /** * Current user info */ 200: ApiResponseContextMe; }; export type ApiAuthMeResponse = ApiAuthMeResponses[keyof ApiAuthMeResponses]; export type ApiUserChangePasswordData = { body: ChangePasswordParams; path?: never; query?: never; url: '/api/auth/password/change'; }; export type ApiUserChangePasswordErrors = { /** * Bad request */ 400: ApiResponseApiError; /** * Unauthorized or invalid password */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; /** * Internal server error */ 500: ApiResponseApiError; }; export type ApiUserChangePasswordError = ApiUserChangePasswordErrors[keyof ApiUserChangePasswordErrors]; export type ApiUserChangePasswordResponses = { /** * Password changed successfully */ 200: ApiResponseString; }; export type ApiUserChangePasswordResponse = ApiUserChangePasswordResponses[keyof ApiUserChangePasswordResponses]; export type ApiUserRequestPasswordResetData = { body: ResetPasswordParams; path?: never; query?: never; url: '/api/auth/password/reset'; }; export type ApiUserRequestPasswordResetErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * User not found */ 404: ApiResponseApiError; /** * Internal server error */ 500: ApiResponseApiError; }; export type ApiUserRequestPasswordResetError = ApiUserRequestPasswordResetErrors[keyof ApiUserRequestPasswordResetErrors]; export type ApiUserRequestPasswordResetResponses = { /** * Password reset email sent */ 200: ApiResponseString; }; export type ApiUserRequestPasswordResetResponse = ApiUserRequestPasswordResetResponses[keyof ApiUserRequestPasswordResetResponses]; export type ApiUserConfirmPasswordResetData = { body: ConfirmResetPasswordParams; path?: never; query?: never; url: '/api/auth/password/confirm'; }; export type ApiUserConfirmPasswordResetErrors = { /** * Invalid or expired token */ 400: ApiResponseApiError; /** * User not found */ 404: ApiResponseApiError; /** * Internal server error */ 500: ApiResponseApiError; }; export type ApiUserConfirmPasswordResetError = ApiUserConfirmPasswordResetErrors[keyof ApiUserConfirmPasswordResetErrors]; export type ApiUserConfirmPasswordResetResponses = { /** * Password reset confirmed */ 200: ApiResponseString; }; export type ApiUserConfirmPasswordResetResponse = ApiUserConfirmPasswordResetResponses[keyof ApiUserConfirmPasswordResetResponses]; export type ApiAuthRegisterData = { body: RegisterParams; path?: never; query?: never; url: '/api/auth/register'; }; export type ApiAuthRegisterErrors = { /** * Bad request */ 400: ApiResponseApiError; /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; /** * Username or email already exists */ 409: ApiResponseApiError; /** * Internal server error */ 500: ApiResponseApiError; }; export type ApiAuthRegisterError = ApiAuthRegisterErrors[keyof ApiAuthRegisterErrors]; export type ApiAuthRegisterResponses = { /** * Registration successful */ 200: ApiResponseApiError; }; export type ApiAuthRegisterResponse = ApiAuthRegisterResponses[keyof ApiAuthRegisterResponses]; export type GitInitBareData = { body: GitInitRequest; path?: never; query?: never; url: '/api/git/init'; }; export type GitInitBareErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitInitBareError = GitInitBareErrors[keyof GitInitBareErrors]; export type GitInitBareResponses = { /** * Bare repository initialized */ 200: ApiResponseGitInitResponse; }; export type GitInitBareResponse = GitInitBareResponses[keyof GitInitBareResponses]; export type GitIsRepoData = { body?: never; path: { /** * Repository path */ path: string; }; query?: never; url: '/api/git/is-repo/{path}'; }; export type GitIsRepoErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitIsRepoError = GitIsRepoErrors[keyof GitIsRepoErrors]; export type GitIsRepoResponses = { /** * Check if path is a repository */ 200: ApiResponseBool; }; export type GitIsRepoResponse = GitIsRepoResponses[keyof GitIsRepoResponses]; export type GitOpenData = { body?: never; path: { /** * Repository path */ path: string; }; query?: never; url: '/api/git/open/{path}'; }; export type GitOpenErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitOpenError = GitOpenErrors[keyof GitOpenErrors]; export type GitOpenResponses = { /** * Open repository */ 200: ApiResponseGitInitResponse; }; export type GitOpenResponse = GitOpenResponses[keyof GitOpenResponses]; export type GitOpenWorkdirData = { body?: never; path: { /** * Repository path */ path: string; }; query?: never; url: '/api/git/open/{path}/workdir'; }; export type GitOpenWorkdirErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitOpenWorkdirError = GitOpenWorkdirErrors[keyof GitOpenWorkdirErrors]; export type GitOpenWorkdirResponses = { /** * Open repository working directory */ 200: ApiResponseGitInitResponse; }; export type GitOpenWorkdirResponse = GitOpenWorkdirResponses[keyof GitOpenWorkdirResponses]; export type IssueListData = { body?: never; path: { project: string; }; query?: { state?: string; page?: number; per_page?: number; }; url: '/api/issue/{project}/issues'; }; export type IssueListErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type IssueListResponses = { /** * List issues */ 200: ApiResponseIssueListResponse; }; export type IssueListResponse2 = IssueListResponses[keyof IssueListResponses]; export type IssueCreateData = { body: IssueCreateRequest; path: { project: string; }; query?: never; url: '/api/issue/{project}/issues'; }; export type IssueCreateErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type IssueCreateResponses = { /** * Create issue */ 200: ApiResponseIssueResponse; }; export type IssueCreateResponse = IssueCreateResponses[keyof IssueCreateResponses]; export type IssueSummaryData = { body?: never; path: { project: string; }; query?: never; url: '/api/issue/{project}/issues/summary'; }; export type IssueSummaryErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type IssueSummaryResponses = { /** * Get issue summary */ 200: ApiResponseIssueSummaryResponse; }; export type IssueSummaryResponse2 = IssueSummaryResponses[keyof IssueSummaryResponses]; export type IssueDeleteData = { body?: never; path: { project: string; number: number; }; query?: never; url: '/api/issue/{project}/issues/{number}'; }; export type IssueDeleteErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type IssueDeleteResponses = { /** * Delete issue */ 200: unknown; }; export type IssueGetData = { body?: never; path: { project: string; number: number; }; query?: never; url: '/api/issue/{project}/issues/{number}'; }; export type IssueGetErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type IssueGetResponses = { /** * Get issue */ 200: ApiResponseIssueResponse; }; export type IssueGetResponse = IssueGetResponses[keyof IssueGetResponses]; export type IssueUpdateData = { body: IssueUpdateRequest; path: { project: string; number: number; }; query?: never; url: '/api/issue/{project}/issues/{number}'; }; export type IssueUpdateErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type IssueUpdateResponses = { /** * Update issue */ 200: ApiResponseIssueResponse; }; export type IssueUpdateResponse = IssueUpdateResponses[keyof IssueUpdateResponses]; export type IssueAssigneeListData = { body?: never; path: { project: string; number: number; }; query?: never; url: '/api/issue/{project}/issues/{number}/assignees'; }; export type IssueAssigneeListErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type IssueAssigneeListResponses = { /** * List issue assignees */ 200: ApiResponseVecIssueAssigneeResponse; }; export type IssueAssigneeListResponse = IssueAssigneeListResponses[keyof IssueAssigneeListResponses]; export type IssueAssigneeAddData = { body: IssueAssignUserRequest; path: { project: string; number: number; }; query?: never; url: '/api/issue/{project}/issues/{number}/assignees'; }; export type IssueAssigneeAddErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type IssueAssigneeAddResponses = { /** * Add assignee to issue */ 200: ApiResponseIssueAssigneeResponse; }; export type IssueAssigneeAddResponse = IssueAssigneeAddResponses[keyof IssueAssigneeAddResponses]; export type IssueAssigneeRemoveData = { body?: never; path: { project: string; number: number; assignee_id: string; }; query?: never; url: '/api/issue/{project}/issues/{number}/assignees/{assignee_id}'; }; export type IssueAssigneeRemoveErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type IssueAssigneeRemoveResponses = { /** * Remove assignee from issue */ 200: unknown; }; export type IssueCloseData = { body?: never; path: { project: string; number: number; }; query?: never; url: '/api/issue/{project}/issues/{number}/close'; }; export type IssueCloseErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type IssueCloseResponses = { /** * Close issue */ 200: ApiResponseIssueResponse; }; export type IssueCloseResponse = IssueCloseResponses[keyof IssueCloseResponses]; export type IssueCommentListData = { body?: never; path: { project: string; number: number; }; query?: { page?: number; per_page?: number; }; url: '/api/issue/{project}/issues/{number}/comments'; }; export type IssueCommentListErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type IssueCommentListResponses = { /** * List issue comments */ 200: ApiResponseIssueCommentListResponse; }; export type IssueCommentListResponse2 = IssueCommentListResponses[keyof IssueCommentListResponses]; export type IssueCommentCreateData = { body: IssueCommentCreateRequest; path: { project: string; number: number; }; query?: never; url: '/api/issue/{project}/issues/{number}/comments'; }; export type IssueCommentCreateErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type IssueCommentCreateResponses = { /** * Create issue comment */ 200: ApiResponseIssueCommentResponse; }; export type IssueCommentCreateResponse = IssueCommentCreateResponses[keyof IssueCommentCreateResponses]; export type IssueCommentDeleteData = { body?: never; path: { project: string; number: number; comment_id: number; }; query?: never; url: '/api/issue/{project}/issues/{number}/comments/{comment_id}'; }; export type IssueCommentDeleteErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type IssueCommentDeleteResponses = { /** * Delete issue comment */ 200: unknown; }; export type IssueCommentGetData = { body?: never; path: { project: string; number: number; comment_id: number; }; query?: never; url: '/api/issue/{project}/issues/{number}/comments/{comment_id}'; }; export type IssueCommentGetErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type IssueCommentGetResponses = { /** * Get issue comment */ 200: ApiResponseIssueCommentResponse; }; export type IssueCommentGetResponse = IssueCommentGetResponses[keyof IssueCommentGetResponses]; export type IssueCommentUpdateData = { body: IssueCommentUpdateRequest; path: { project: string; number: number; comment_id: number; }; query?: never; url: '/api/issue/{project}/issues/{number}/comments/{comment_id}'; }; export type IssueCommentUpdateErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type IssueCommentUpdateResponses = { /** * Update issue comment */ 200: ApiResponseIssueCommentResponse; }; export type IssueCommentUpdateResponse = IssueCommentUpdateResponses[keyof IssueCommentUpdateResponses]; export type IssueCommentReactionListData = { body?: never; path: { project: string; number: number; comment_id: number; }; query?: never; url: '/api/issue/{project}/issues/{number}/comments/{comment_id}/reactions'; }; export type IssueCommentReactionListErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type IssueCommentReactionListResponses = { /** * List comment reactions */ 200: ApiResponseReactionListResponse; }; export type IssueCommentReactionListResponse = IssueCommentReactionListResponses[keyof IssueCommentReactionListResponses]; export type IssueCommentReactionAddData = { body: ReactionAddRequest; path: { project: string; number: number; comment_id: number; }; query?: never; url: '/api/issue/{project}/issues/{number}/comments/{comment_id}/reactions'; }; export type IssueCommentReactionAddErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type IssueCommentReactionAddResponses = { /** * Add reaction to comment */ 200: ApiResponseReactionResponse; }; export type IssueCommentReactionAddResponse = IssueCommentReactionAddResponses[keyof IssueCommentReactionAddResponses]; export type IssueCommentReactionRemoveData = { body?: never; path: { project: string; number: number; comment_id: number; reaction: string; }; query?: never; url: '/api/issue/{project}/issues/{number}/comments/{comment_id}/reactions/{reaction}'; }; export type IssueCommentReactionRemoveErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type IssueCommentReactionRemoveResponses = { /** * Remove reaction from comment */ 200: unknown; }; export type IssueLabelListData = { body?: never; path: { project: string; number: number; }; query?: never; url: '/api/issue/{project}/issues/{number}/labels'; }; export type IssueLabelListErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type IssueLabelListResponses = { /** * List issue labels */ 200: ApiResponseVecIssueLabelResponse; }; export type IssueLabelListResponse = IssueLabelListResponses[keyof IssueLabelListResponses]; export type IssueLabelAddData = { body: IssueAddLabelRequest; path: { project: string; number: number; }; query?: never; url: '/api/issue/{project}/issues/{number}/labels'; }; export type IssueLabelAddErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type IssueLabelAddResponses = { /** * Add label to issue */ 200: ApiResponseIssueLabelResponse; }; export type IssueLabelAddResponse = IssueLabelAddResponses[keyof IssueLabelAddResponses]; export type IssueLabelRemoveData = { body?: never; path: { project: string; number: number; label_id: number; }; query?: never; url: '/api/issue/{project}/issues/{number}/labels/{label_id}'; }; export type IssueLabelRemoveErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type IssueLabelRemoveResponses = { /** * Remove label from issue */ 200: unknown; }; export type IssuePullRequestListData = { body?: never; path: { project: string; number: number; }; query?: never; url: '/api/issue/{project}/issues/{number}/pulls'; }; export type IssuePullRequestListErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type IssuePullRequestListResponses = { /** * List issue pull requests */ 200: ApiResponseVecIssuePullRequestResponse; }; export type IssuePullRequestListResponse = IssuePullRequestListResponses[keyof IssuePullRequestListResponses]; export type IssuePullRequestLinkData = { body: IssueLinkPullRequestRequest; path: { project: string; number: number; }; query?: never; url: '/api/issue/{project}/issues/{number}/pulls'; }; export type IssuePullRequestLinkErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type IssuePullRequestLinkResponses = { /** * Link pull request to issue */ 200: ApiResponseIssuePullRequestResponse; }; export type IssuePullRequestLinkResponse = IssuePullRequestLinkResponses[keyof IssuePullRequestLinkResponses]; export type IssuePullRequestUnlinkData = { body?: never; path: { project: string; number: number; repo_id: string; pr_number: number; }; query?: never; url: '/api/issue/{project}/issues/{number}/pulls/{repo_id}/{pr_number}'; }; export type IssuePullRequestUnlinkErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type IssuePullRequestUnlinkResponses = { /** * Unlink pull request from issue */ 200: unknown; }; export type IssueReactionListData = { body?: never; path: { project: string; number: number; }; query?: never; url: '/api/issue/{project}/issues/{number}/reactions'; }; export type IssueReactionListErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type IssueReactionListResponses = { /** * List issue reactions */ 200: ApiResponseReactionListResponse; }; export type IssueReactionListResponse = IssueReactionListResponses[keyof IssueReactionListResponses]; export type IssueReactionAddData = { body: ReactionAddRequest; path: { project: string; number: number; }; query?: never; url: '/api/issue/{project}/issues/{number}/reactions'; }; export type IssueReactionAddErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type IssueReactionAddResponses = { /** * Add reaction to issue */ 200: ApiResponseReactionResponse; }; export type IssueReactionAddResponse = IssueReactionAddResponses[keyof IssueReactionAddResponses]; export type IssueReactionRemoveData = { body?: never; path: { project: string; number: number; reaction: string; }; query?: never; url: '/api/issue/{project}/issues/{number}/reactions/{reaction}'; }; export type IssueReactionRemoveErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type IssueReactionRemoveResponses = { /** * Remove reaction from issue */ 200: unknown; }; export type IssueReopenData = { body?: never; path: { project: string; number: number; }; query?: never; url: '/api/issue/{project}/issues/{number}/reopen'; }; export type IssueReopenErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type IssueReopenResponses = { /** * Reopen issue */ 200: ApiResponseIssueResponse; }; export type IssueReopenResponse = IssueReopenResponses[keyof IssueReopenResponses]; export type IssueRepoListData = { body?: never; path: { project: string; number: number; }; query?: never; url: '/api/issue/{project}/issues/{number}/repos'; }; export type IssueRepoListErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type IssueRepoListResponses = { /** * List issue repos */ 200: ApiResponseVecIssueRepoResponse; }; export type IssueRepoListResponse = IssueRepoListResponses[keyof IssueRepoListResponses]; export type IssueRepoLinkData = { body: IssueLinkRepoRequest; path: { project: string; number: number; }; query?: never; url: '/api/issue/{project}/issues/{number}/repos'; }; export type IssueRepoLinkErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type IssueRepoLinkResponses = { /** * Link repo to issue */ 200: ApiResponseIssueRepoResponse; }; export type IssueRepoLinkResponse = IssueRepoLinkResponses[keyof IssueRepoLinkResponses]; export type IssueRepoUnlinkData = { body?: never; path: { project: string; number: number; repo_id: string; }; query?: never; url: '/api/issue/{project}/issues/{number}/repos/{repo_id}'; }; export type IssueRepoUnlinkErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type IssueRepoUnlinkResponses = { /** * Unlink repo from issue */ 200: unknown; }; export type IssueUnsubscribeData = { body?: never; path: { project: string; number: number; }; query?: never; url: '/api/issue/{project}/issues/{number}/subscribe'; }; export type IssueUnsubscribeErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type IssueUnsubscribeResponses = { /** * Unsubscribe from issue */ 200: unknown; }; export type IssueSubscribeData = { body?: never; path: { project: string; number: number; }; query?: never; url: '/api/issue/{project}/issues/{number}/subscribe'; }; export type IssueSubscribeErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type IssueSubscribeResponses = { /** * Subscribe to issue */ 200: ApiResponseIssueSubscriberResponse; }; export type IssueSubscribeResponse = IssueSubscribeResponses[keyof IssueSubscribeResponses]; export type IssueSubscriberListData = { body?: never; path: { project: string; number: number; }; query?: never; url: '/api/issue/{project}/issues/{number}/subscribers'; }; export type IssueSubscriberListErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type IssueSubscriberListResponses = { /** * List issue subscribers */ 200: ApiResponseVecIssueSubscriberResponse; }; export type IssueSubscriberListResponse = IssueSubscriberListResponses[keyof IssueSubscriberListResponses]; export type LabelListData = { body?: never; path: { project: string; }; query?: never; url: '/api/issue/{project}/labels'; }; export type LabelListErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type LabelListResponses = { /** * List labels */ 200: ApiResponseVecLabelResponse; }; export type LabelListResponse2 = LabelListResponses[keyof LabelListResponses]; export type LabelCreateData = { body: CreateLabelRequest; path: { project: string; }; query?: never; url: '/api/issue/{project}/labels'; }; export type LabelCreateErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type LabelCreateResponses = { /** * Create label */ 200: ApiResponseLabelResponse; }; export type LabelCreateResponse = LabelCreateResponses[keyof LabelCreateResponses]; export type LabelDeleteData = { body?: never; path: { project: string; label_id: number; }; query?: never; url: '/api/issue/{project}/labels/{label_id}'; }; export type LabelDeleteErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type LabelDeleteResponses = { /** * Delete label */ 200: unknown; }; export type MentionListData = { body?: never; path?: never; query?: { limit?: number; }; url: '/api/me/mentions'; }; export type MentionListErrors = { /** * Unauthorized */ 401: unknown; }; export type MentionListResponses = { /** * List mentions */ 200: ApiResponseVecMentionNotificationResponse; }; export type MentionListResponse = MentionListResponses[keyof MentionListResponses]; export type MentionReadAllData = { body?: never; path?: never; query?: never; url: '/api/me/mentions/read-all'; }; export type MentionReadAllErrors = { /** * Unauthorized */ 401: unknown; }; export type MentionReadAllResponses = { /** * Mark all mentions as read */ 200: unknown; }; export type NotificationListData = { body?: never; path?: never; query?: { only_unread?: boolean; archived?: boolean; limit?: number; }; url: '/api/me/notifications'; }; export type NotificationListErrors = { /** * Unauthorized */ 401: unknown; }; export type NotificationListResponses = { /** * List notifications */ 200: ApiResponseNotificationListResponse; }; export type NotificationListResponse2 = NotificationListResponses[keyof NotificationListResponses]; export type NotificationMarkAllReadData = { body?: never; path?: never; query?: never; url: '/api/me/notifications/read-all'; }; export type NotificationMarkAllReadErrors = { /** * Unauthorized */ 401: unknown; }; export type NotificationMarkAllReadResponses = { /** * Mark all notifications as read */ 200: unknown; }; export type NotificationArchiveData = { body?: never; path: { notification_id: string; }; query?: never; url: '/api/me/notifications/{notification_id}/archive'; }; export type NotificationArchiveErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type NotificationArchiveResponses = { /** * Archive notification */ 200: unknown; }; export type NotificationMarkReadData = { body?: never; path: { notification_id: string; }; query?: never; url: '/api/me/notifications/{notification_id}/read'; }; export type NotificationMarkReadErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type NotificationMarkReadResponses = { /** * Mark notification as read */ 200: unknown; }; export type CategoryListData = { body?: never; path: { project_name: string; }; query?: never; url: '/api/project_room/{project_name}/room-categories'; }; export type CategoryListErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type CategoryListResponses = { /** * List room categories */ 200: ApiResponseVecRoomCategoryResponse; }; export type CategoryListResponse = CategoryListResponses[keyof CategoryListResponses]; export type CategoryCreateData = { body: RoomCategoryCreateRequest; path: { project_name: string; }; query?: never; url: '/api/project_room/{project_name}/room-categories'; }; export type CategoryCreateErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type CategoryCreateResponses = { /** * Create room category */ 200: ApiResponseRoomCategoryResponse; }; export type CategoryCreateResponse = CategoryCreateResponses[keyof CategoryCreateResponses]; export type RoomListData = { body?: never; path: { project_name: string; }; query?: { only_public?: boolean; }; url: '/api/project_room/{project_name}/rooms'; }; export type RoomListErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type RoomListResponses = { /** * List rooms */ 200: ApiResponseVecRoomResponse; }; export type RoomListResponse = RoomListResponses[keyof RoomListResponses]; export type RoomCreateData = { body: RoomCreateRequest; path: { project_name: string; }; query?: never; url: '/api/project_room/{project_name}/rooms'; }; export type RoomCreateErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type RoomCreateResponses = { /** * Create room */ 200: ApiResponseRoomResponse; }; export type RoomCreateResponse = RoomCreateResponses[keyof RoomCreateResponses]; export type ProjectCreateData = { body: ProjectInitParams; path?: never; query?: never; url: '/api/projects'; }; export type ProjectCreateErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type ProjectCreateResponses = { /** * Create project */ 200: ApiResponseProjectInitResponse; }; export type ProjectCreateResponse = ProjectCreateResponses[keyof ProjectCreateResponses]; export type ProjectMyInvitationsData = { body?: never; path?: never; query?: never; url: '/api/projects/me/invitations'; }; export type ProjectMyInvitationsErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type ProjectMyInvitationsResponses = { /** * List my invitations */ 200: ApiResponseInvitationListResponse; }; export type ProjectMyInvitationsResponse = ProjectMyInvitationsResponses[keyof ProjectMyInvitationsResponses]; export type ProjectMyJoinRequestsData = { body?: never; path?: never; query?: never; url: '/api/projects/me/join-requests'; }; export type ProjectMyJoinRequestsErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type ProjectMyJoinRequestsResponses = { /** * List my join requests */ 200: ApiResponseJoinRequestListResponse; }; export type ProjectMyJoinRequestsResponse = ProjectMyJoinRequestsResponses[keyof ProjectMyJoinRequestsResponses]; export type ProjectInfoData = { body?: never; path: { project_name: string; }; query?: never; url: '/api/projects/{project_name}'; }; export type ProjectInfoErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type ProjectInfoResponses = { /** * Get project info */ 200: ApiResponseProjectInfoRelational; }; export type ProjectInfoResponse = ProjectInfoResponses[keyof ProjectInfoResponses]; export type ProjectActivitiesData = { body?: never; path: { project_name: string; }; query?: { page?: number; per_page?: number; event_type?: string; /** * ISO 8601 datetime, e.g. 2025-01-01T00:00:00Z */ start_date?: string; /** * ISO 8601 datetime, e.g. 2025-12-31T23:59:59Z */ end_date?: string; }; url: '/api/projects/{project_name}/activities'; }; export type ProjectActivitiesErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden — no access to this project */ 403: unknown; /** * Project not found */ 404: unknown; }; export type ProjectActivitiesResponses = { /** * List project activities */ 200: ApiResponseActivityLogListResponse; }; export type ProjectActivitiesResponse = ProjectActivitiesResponses[keyof ProjectActivitiesResponses]; export type ProjectLogActivityData = { body: ActivityLogParams; path: { project_name: string; }; query?: never; url: '/api/projects/{project_name}/activities'; }; export type ProjectLogActivityErrors = { /** * Unauthorized */ 401: unknown; /** * Project not found */ 404: unknown; }; export type ProjectLogActivityResponses = { /** * Activity logged */ 200: ApiResponseActivityLogResponse; }; export type ProjectLogActivityResponse = ProjectLogActivityResponses[keyof ProjectLogActivityResponses]; export type ProjectAuditLogsData = { body?: never; path: { project_name: string; }; query?: { page?: number; per_page?: number; }; url: '/api/projects/{project_name}/audit-logs'; }; export type ProjectAuditLogsErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type ProjectAuditLogsResponses = { /** * List project audit logs */ 200: ApiResponseVecAuditLogResponse; }; export type ProjectAuditLogsResponse = ProjectAuditLogsResponses[keyof ProjectAuditLogsResponses]; export type ProjectLogAuditData = { body: AuditLogParams; path: { project_name: string; }; query?: never; url: '/api/projects/{project_name}/audit-logs'; }; export type ProjectLogAuditErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type ProjectLogAuditResponses = { /** * Log project audit event */ 200: ApiResponseAuditLogResponse; }; export type ProjectLogAuditResponse = ProjectLogAuditResponses[keyof ProjectLogAuditResponses]; export type ProjectAuditLogData = { body?: never; path: { project_name: string; log_id: number; }; query?: never; url: '/api/projects/{project_name}/audit-logs/{log_id}'; }; export type ProjectAuditLogErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type ProjectAuditLogResponses = { /** * Get project audit log */ 200: ApiResponseAuditLogResponse; }; export type ProjectAuditLogResponse = ProjectAuditLogResponses[keyof ProjectAuditLogResponses]; export type ProjectBillingData = { body?: never; path: { project_name: string; }; query?: never; url: '/api/projects/{project_name}/billing'; }; export type ProjectBillingErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type ProjectBillingResponses = { /** * Get project billing */ 200: ApiResponseProjectBillingCurrentResponse; }; export type ProjectBillingResponse = ProjectBillingResponses[keyof ProjectBillingResponses]; export type ProjectBillingHistoryData = { body?: never; path: { project_name: string; }; query?: never; url: '/api/projects/{project_name}/billing/history'; }; export type ProjectBillingHistoryErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type ProjectBillingHistoryResponses = { /** * Get project billing history */ 200: ApiResponseProjectBillingHistoryResponse; }; export type ProjectBillingHistoryResponse2 = ProjectBillingHistoryResponses[keyof ProjectBillingHistoryResponses]; export type BoardListData = { body?: never; path: { /** * Project name */ project_name: string; }; query?: never; url: '/api/projects/{project_name}/boards'; }; export type BoardListErrors = { /** * Unauthorized */ 401: unknown; }; export type BoardListResponses = { /** * List boards */ 200: ApiResponseVecBoardResponse; }; export type BoardListResponse = BoardListResponses[keyof BoardListResponses]; export type BoardCreateData = { body: CreateBoardParams; path: { project_name: string; }; query?: never; url: '/api/projects/{project_name}/boards'; }; export type BoardCreateErrors = { /** * Unauthorized */ 401: unknown; }; export type BoardCreateResponses = { /** * Create board */ 200: ApiResponseBoardResponse; }; export type BoardCreateResponse = BoardCreateResponses[keyof BoardCreateResponses]; export type BoardDeleteData = { body?: never; path: { project_name: string; board_id: string; }; query?: never; url: '/api/projects/{project_name}/boards/{board_id}'; }; export type BoardDeleteErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type BoardDeleteResponses = { /** * Delete board */ 200: unknown; }; export type BoardGetData = { body?: never; path: { project_name: string; board_id: string; }; query?: never; url: '/api/projects/{project_name}/boards/{board_id}'; }; export type BoardGetErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type BoardGetResponses = { /** * Get board with columns and cards */ 200: ApiResponseBoardWithColumnsResponse; }; export type BoardGetResponse = BoardGetResponses[keyof BoardGetResponses]; export type BoardUpdateData = { body: UpdateBoardParams; path: { project_name: string; board_id: string; }; query?: never; url: '/api/projects/{project_name}/boards/{board_id}'; }; export type BoardUpdateErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type BoardUpdateResponses = { /** * Update board */ 200: ApiResponseBoardResponse; }; export type BoardUpdateResponse = BoardUpdateResponses[keyof BoardUpdateResponses]; export type ColumnCreateData = { body: CreateColumnParams; path: { project_name: string; board_id: string; }; query?: never; url: '/api/projects/{project_name}/boards/{board_id}/columns'; }; export type ColumnCreateErrors = { /** * Unauthorized */ 401: unknown; /** * Board not found */ 404: unknown; }; export type ColumnCreateResponses = { /** * Create column */ 200: ApiResponseColumnResponse; }; export type ColumnCreateResponse = ColumnCreateResponses[keyof ColumnCreateResponses]; export type CardCreateData = { body: CreateCardParams; path: { project_name: string; }; query?: never; url: '/api/projects/{project_name}/cards'; }; export type CardCreateErrors = { /** * Unauthorized */ 401: unknown; }; export type CardCreateResponses = { /** * Create card */ 200: ApiResponseCardResponse; }; export type CardCreateResponse = CardCreateResponses[keyof CardCreateResponses]; export type CardDeleteData = { body?: never; path: { project_name: string; card_id: string; }; query?: never; url: '/api/projects/{project_name}/cards/{card_id}'; }; export type CardDeleteErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type CardDeleteResponses = { /** * Delete card */ 200: unknown; }; export type CardUpdateData = { body: UpdateCardParams; path: { project_name: string; card_id: string; }; query?: never; url: '/api/projects/{project_name}/cards/{card_id}'; }; export type CardUpdateErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type CardUpdateResponses = { /** * Update card */ 200: ApiResponseCardResponse; }; export type CardUpdateResponse = CardUpdateResponses[keyof CardUpdateResponses]; export type CardMoveData = { body: MoveCardParams; path: { project_name: string; card_id: string; }; query?: never; url: '/api/projects/{project_name}/cards/{card_id}/move'; }; export type CardMoveErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type CardMoveResponses = { /** * Move card */ 200: ApiResponseCardResponse; }; export type CardMoveResponse = CardMoveResponses[keyof CardMoveResponses]; export type ColumnDeleteData = { body?: never; path: { project_name: string; column_id: string; }; query?: never; url: '/api/projects/{project_name}/columns/{column_id}'; }; export type ColumnDeleteErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type ColumnDeleteResponses = { /** * Delete column */ 200: unknown; }; export type ColumnUpdateData = { body: UpdateColumnParams; path: { project_name: string; column_id: string; }; query?: never; url: '/api/projects/{project_name}/columns/{column_id}'; }; export type ColumnUpdateErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type ColumnUpdateResponses = { /** * Update column */ 200: ApiResponseColumnResponse; }; export type ColumnUpdateResponse = ColumnUpdateResponses[keyof ColumnUpdateResponses]; export type ProjectInvitationsData = { body?: never; path: { project_name: string; }; query?: { page?: number; per_page?: number; }; url: '/api/projects/{project_name}/invitations'; }; export type ProjectInvitationsErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type ProjectInvitationsResponses = { /** * List project invitations */ 200: ApiResponseInvitationListResponse; }; export type ProjectInvitationsResponse = ProjectInvitationsResponses[keyof ProjectInvitationsResponses]; export type ProjectInviteUserData = { body: InviteUserRequest; path: { project_name: string; }; query?: never; url: '/api/projects/{project_name}/invitations'; }; export type ProjectInviteUserErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type ProjectInviteUserResponses = { /** * Invite user to project */ 200: unknown; }; export type ProjectAcceptInvitationData = { body?: never; path: { project_name: string; }; query?: never; url: '/api/projects/{project_name}/invitations/accept'; }; export type ProjectAcceptInvitationErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type ProjectAcceptInvitationResponses = { /** * Accept project invitation */ 200: unknown; }; export type ProjectRejectInvitationData = { body?: never; path: { project_name: string; }; query?: never; url: '/api/projects/{project_name}/invitations/reject'; }; export type ProjectRejectInvitationErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type ProjectRejectInvitationResponses = { /** * Reject project invitation */ 200: unknown; }; export type ProjectCancelInvitationData = { body?: never; path: { project_name: string; user_id: string; }; query?: never; url: '/api/projects/{project_name}/invitations/{user_id}'; }; export type ProjectCancelInvitationErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type ProjectCancelInvitationResponses = { /** * Cancel project invitation */ 200: unknown; }; export type ProjectJoinRequestsData = { body?: never; path: { project_name: string; }; query?: { status?: string; page?: number; per_page?: number; }; url: '/api/projects/{project_name}/join-requests'; }; export type ProjectJoinRequestsErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type ProjectJoinRequestsResponses = { /** * List join requests */ 200: ApiResponseJoinRequestListResponse; }; export type ProjectJoinRequestsResponse = ProjectJoinRequestsResponses[keyof ProjectJoinRequestsResponses]; export type ProjectSubmitJoinRequestData = { body: SubmitJoinRequest; path: { project_name: string; }; query?: never; url: '/api/projects/{project_name}/join-requests'; }; export type ProjectSubmitJoinRequestErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type ProjectSubmitJoinRequestResponses = { /** * Submit join request */ 200: unknown; }; export type ProjectCancelJoinRequestData = { body?: never; path: { project_name: string; request_id: number; }; query?: never; url: '/api/projects/{project_name}/join-requests/{request_id}'; }; export type ProjectCancelJoinRequestErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type ProjectCancelJoinRequestResponses = { /** * Cancel join request */ 200: unknown; }; export type ProjectProcessJoinRequestData = { body: ProcessJoinRequest; path: { project_name: string; request_id: number; }; query?: never; url: '/api/projects/{project_name}/join-requests/{request_id}'; }; export type ProjectProcessJoinRequestErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type ProjectProcessJoinRequestResponses = { /** * Process join request */ 200: unknown; }; export type ProjectJoinAnswersData = { body?: never; path: { project_name: string; request_id: number; }; query?: never; url: '/api/projects/{project_name}/join-requests/{request_id}/answers'; }; export type ProjectJoinAnswersErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type ProjectJoinAnswersResponses = { /** * Get join request answers */ 200: ApiResponseJoinAnswersListResponse; }; export type ProjectJoinAnswersResponse = ProjectJoinAnswersResponses[keyof ProjectJoinAnswersResponses]; export type ProjectSubmitJoinAnswersData = { body: Array; path: { project_name: string; request_id: number; }; query?: never; url: '/api/projects/{project_name}/join-requests/{request_id}/answers'; }; export type ProjectSubmitJoinAnswersErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type ProjectSubmitJoinAnswersResponses = { /** * Submit join request answers */ 200: unknown; }; export type ProjectJoinSettingsData = { body?: never; path: { project_name: string; }; query?: never; url: '/api/projects/{project_name}/join-settings'; }; export type ProjectJoinSettingsErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type ProjectJoinSettingsResponses = { /** * Get join settings */ 200: ApiResponseJoinSettingsResponse; }; export type ProjectJoinSettingsResponse = ProjectJoinSettingsResponses[keyof ProjectJoinSettingsResponses]; export type ProjectUpdateJoinSettingsData = { body: UpdateJoinSettingsRequest; path: { project_name: string; }; query?: never; url: '/api/projects/{project_name}/join-settings'; }; export type ProjectUpdateJoinSettingsErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type ProjectUpdateJoinSettingsResponses = { /** * Update join settings */ 200: ApiResponseJoinSettingsResponse; }; export type ProjectUpdateJoinSettingsResponse = ProjectUpdateJoinSettingsResponses[keyof ProjectUpdateJoinSettingsResponses]; export type ProjectLabelsData = { body?: never; path: { project_name: string; }; query?: never; url: '/api/projects/{project_name}/labels'; }; export type ProjectLabelsErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type ProjectLabelsResponses = { /** * List project labels */ 200: ApiResponseLabelListResponse; }; export type ProjectLabelsResponse = ProjectLabelsResponses[keyof ProjectLabelsResponses]; export type ProjectCreateLabelData = { body: CreateLabelParams; path: { project_name: string; }; query?: never; url: '/api/projects/{project_name}/labels'; }; export type ProjectCreateLabelErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type ProjectCreateLabelResponses = { /** * Create project label */ 200: ApiResponseLabelResponse; }; export type ProjectCreateLabelResponse = ProjectCreateLabelResponses[keyof ProjectCreateLabelResponses]; export type ProjectDeleteLabelData = { body?: never; path: { project_name: string; label_id: number; }; query?: never; url: '/api/projects/{project_name}/labels/{label_id}'; }; export type ProjectDeleteLabelErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type ProjectDeleteLabelResponses = { /** * Delete project label */ 200: unknown; }; export type ProjectGetLabelData = { body?: never; path: { project_name: string; label_id: number; }; query?: never; url: '/api/projects/{project_name}/labels/{label_id}'; }; export type ProjectGetLabelErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type ProjectGetLabelResponses = { /** * Get project label */ 200: ApiResponseLabelResponse; }; export type ProjectGetLabelResponse = ProjectGetLabelResponses[keyof ProjectGetLabelResponses]; export type ProjectUpdateLabelData = { body: UpdateLabelParams; path: { project_name: string; label_id: number; }; query?: never; url: '/api/projects/{project_name}/labels/{label_id}'; }; export type ProjectUpdateLabelErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type ProjectUpdateLabelResponses = { /** * Update project label */ 200: ApiResponseLabelResponse; }; export type ProjectUpdateLabelResponse = ProjectUpdateLabelResponses[keyof ProjectUpdateLabelResponses]; export type ProjectUnlikeData = { body?: never; path: { project_name: string; }; query?: never; url: '/api/projects/{project_name}/like'; }; export type ProjectUnlikeErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type ProjectUnlikeResponses = { /** * Unlike project */ 200: unknown; }; export type ProjectIsLikeData = { body?: never; path: { project_name: string; }; query?: never; url: '/api/projects/{project_name}/like'; }; export type ProjectIsLikeErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type ProjectIsLikeResponses = { /** * Check if user likes project */ 200: ApiResponseIsLikeResponse; }; export type ProjectIsLikeResponse = ProjectIsLikeResponses[keyof ProjectIsLikeResponses]; export type ProjectLikeData = { body?: never; path: { project_name: string; }; query?: never; url: '/api/projects/{project_name}/like'; }; export type ProjectLikeErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type ProjectLikeResponses = { /** * Like project */ 200: unknown; }; export type ProjectLikesCountData = { body?: never; path: { project_name: string; }; query?: never; url: '/api/projects/{project_name}/likes/count'; }; export type ProjectLikesCountErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type ProjectLikesCountResponses = { /** * Get like count */ 200: unknown; }; export type ProjectLikeUsersData = { body?: never; path: { project_name: string; }; query?: never; url: '/api/projects/{project_name}/likes/users'; }; export type ProjectLikeUsersErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type ProjectLikeUsersResponses = { /** * List users who liked project */ 200: ApiResponseVecLikeUserInfo; }; export type ProjectLikeUsersResponse = ProjectLikeUsersResponses[keyof ProjectLikeUsersResponses]; export type ProjectMembersData = { body?: never; path: { project_name: string; }; query?: { page?: number; per_page?: number; }; url: '/api/projects/{project_name}/members'; }; export type ProjectMembersErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type ProjectMembersResponses = { /** * List project members */ 200: ApiResponseMemberListResponse; }; export type ProjectMembersResponse = ProjectMembersResponses[keyof ProjectMembersResponses]; export type ProjectUpdateMemberRoleData = { body: UpdateMemberRoleRequest; path: { project_name: string; }; query?: never; url: '/api/projects/{project_name}/members/role'; }; export type ProjectUpdateMemberRoleErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type ProjectUpdateMemberRoleResponses = { /** * Update member role */ 200: unknown; }; export type ProjectRemoveMemberData = { body?: never; path: { project_name: string; user_id: string; }; query?: never; url: '/api/projects/{project_name}/members/{user_id}'; }; export type ProjectRemoveMemberErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type ProjectRemoveMemberResponses = { /** * Remove member from project */ 200: unknown; }; export type ProjectReposData = { body?: never; path: { project_name: string; }; query?: never; url: '/api/projects/{project_name}/repos'; }; export type ProjectReposErrors = { /** * Unauthorized */ 401: unknown; /** * Project not found */ 404: unknown; }; export type ProjectReposResponses = { /** * Get project repositories */ 200: ApiResponseProjectRepositoryPagination; }; export type ProjectReposResponse = ProjectReposResponses[keyof ProjectReposResponses]; export type ProjectRepoCreateData = { body: ProjectRepoCreateParams; path: { project_name: string; }; query?: never; url: '/api/projects/{project_name}/repos'; }; export type ProjectRepoCreateErrors = { /** * Bad request */ 400: unknown; /** * Unauthorized */ 401: unknown; /** * Repository name already exists */ 409: unknown; }; export type ProjectRepoCreateResponses = { /** * Create a repository */ 200: ApiResponseProjectRepoCreateResponse; }; export type ProjectRepoCreateResponse2 = ProjectRepoCreateResponses[keyof ProjectRepoCreateResponses]; export type ProjectExchangeNameData = { body: ExchangeProjectName; path: { project_name: string; }; query?: never; url: '/api/projects/{project_name}/settings/name'; }; export type ProjectExchangeNameErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type ProjectExchangeNameResponses = { /** * Update project name */ 200: unknown; }; export type ProjectExchangeTitleData = { body: ExchangeProjectTitle; path: { project_name: string; }; query?: never; url: '/api/projects/{project_name}/settings/title'; }; export type ProjectExchangeTitleErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type ProjectExchangeTitleResponses = { /** * Update project title */ 200: unknown; }; export type ProjectExchangeVisibilityData = { body: ExchangeProjectVisibility; path: { project_name: string; }; query?: never; url: '/api/projects/{project_name}/settings/visibility'; }; export type ProjectExchangeVisibilityErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type ProjectExchangeVisibilityResponses = { /** * Update project visibility */ 200: unknown; }; export type SkillListData = { body?: never; path: { project_name: string; }; query?: never; url: '/api/projects/{project_name}/skills'; }; export type SkillListErrors = { /** * Unauthorized */ 401: unknown; /** * Project not found */ 404: unknown; }; export type SkillListResponses = { /** * List skills */ 200: ApiResponseVecSkillResponse; }; export type SkillListResponse = SkillListResponses[keyof SkillListResponses]; export type SkillCreateData = { body: CreateSkillRequest; path: { project_name: string; }; query?: never; url: '/api/projects/{project_name}/skills'; }; export type SkillCreateErrors = { /** * Unauthorized */ 401: unknown; /** * Skill already exists */ 409: unknown; }; export type SkillCreateResponses = { /** * Create skill */ 200: ApiResponseSkillResponse; }; export type SkillCreateResponse = SkillCreateResponses[keyof SkillCreateResponses]; export type SkillScanData = { body?: never; path: { project_name: string; }; query?: never; url: '/api/projects/{project_name}/skills/scan'; }; export type SkillScanErrors = { /** * Unauthorized */ 401: unknown; }; export type SkillScanResponses = { /** * Scan repos for skills */ 200: ApiResponseScanResponse; }; export type SkillScanResponse = SkillScanResponses[keyof SkillScanResponses]; export type SkillDeleteData = { body?: never; path: { project_name: string; slug: string; }; query?: never; url: '/api/projects/{project_name}/skills/{slug}'; }; export type SkillDeleteErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type SkillDeleteResponses = { /** * Delete skill */ 200: ApiResponseDeleteSkillResponse; }; export type SkillDeleteResponse = SkillDeleteResponses[keyof SkillDeleteResponses]; export type SkillGetData = { body?: never; path: { project_name: string; slug: string; }; query?: never; url: '/api/projects/{project_name}/skills/{slug}'; }; export type SkillGetErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type SkillGetResponses = { /** * Get skill */ 200: ApiResponseSkillResponse; }; export type SkillGetResponse = SkillGetResponses[keyof SkillGetResponses]; export type SkillUpdateData = { body: UpdateSkillRequest; path: { project_name: string; slug: string; }; query?: never; url: '/api/projects/{project_name}/skills/{slug}'; }; export type SkillUpdateErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type SkillUpdateResponses = { /** * Update skill */ 200: ApiResponseSkillResponse; }; export type SkillUpdateResponse = SkillUpdateResponses[keyof SkillUpdateResponses]; export type ProjectUnwatchData = { body?: never; path: { project_name: string; }; query?: never; url: '/api/projects/{project_name}/watch'; }; export type ProjectUnwatchErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type ProjectUnwatchResponses = { /** * Unwatch project */ 200: unknown; }; export type ProjectIsWatchData = { body?: never; path: { project_name: string; }; query?: never; url: '/api/projects/{project_name}/watch'; }; export type ProjectIsWatchErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type ProjectIsWatchResponses = { /** * Check if user watches project */ 200: ApiResponseIsWatchResponse; }; export type ProjectIsWatchResponse = ProjectIsWatchResponses[keyof ProjectIsWatchResponses]; export type ProjectWatchData = { body?: never; path: { project_name: string; }; query?: never; url: '/api/projects/{project_name}/watch'; }; export type ProjectWatchErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type ProjectWatchResponses = { /** * Watch project */ 200: unknown; }; export type ProjectWatchesCountData = { body?: never; path: { project_name: string; }; query?: never; url: '/api/projects/{project_name}/watches/count'; }; export type ProjectWatchesCountErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type ProjectWatchesCountResponses = { /** * Get watch count */ 200: unknown; }; export type ProjectWatchUsersData = { body?: never; path: { project_name: string; }; query?: never; url: '/api/projects/{project_name}/watches/users'; }; export type ProjectWatchUsersErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type ProjectWatchUsersResponses = { /** * List users watching project */ 200: ApiResponseVecWatchUserInfo; }; export type ProjectWatchUsersResponse = ProjectWatchUsersResponses[keyof ProjectWatchUsersResponses]; export type ProjectTransferRepoData = { body: TransferRepoParams; path: { source_project: string; repo_name: string; }; query?: never; url: '/api/projects/{source_project}/repos/{repo_name}/transfer'; }; export type ProjectTransferRepoErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type ProjectTransferRepoResponses = { /** * Transfer repo to another project */ 200: ApiResponseTransferRepoResponse; }; export type ProjectTransferRepoResponse = ProjectTransferRepoResponses[keyof ProjectTransferRepoResponses]; export type PullRequestListData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: { status?: string; page?: number; per_page?: number; }; url: '/api/repo_pr/{namespace}/{repo}/pulls'; }; export type PullRequestListErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type PullRequestListResponses = { /** * List pull requests */ 200: ApiResponsePullRequestListResponse; }; export type PullRequestListResponse2 = PullRequestListResponses[keyof PullRequestListResponses]; export type PullRequestCreateData = { body: PullRequestCreateRequest; path: { namespace: string; repo: string; }; query?: never; url: '/api/repo_pr/{namespace}/{repo}/pulls'; }; export type PullRequestCreateErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type PullRequestCreateResponses = { /** * Create pull request */ 200: ApiResponsePullRequestResponse; }; export type PullRequestCreateResponse = PullRequestCreateResponses[keyof PullRequestCreateResponses]; export type PullRequestSummaryData = { body?: never; path: { namespace: string; repo: string; }; query?: never; url: '/api/repo_pr/{namespace}/{repo}/pulls/summary'; }; export type PullRequestSummaryErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type PullRequestSummaryResponses = { /** * Get pull request summary */ 200: ApiResponsePullRequestSummaryResponse; }; export type PullRequestSummaryResponse2 = PullRequestSummaryResponses[keyof PullRequestSummaryResponses]; export type PullRequestDeleteData = { body?: never; path: { namespace: string; repo: string; number: number; }; query?: never; url: '/api/repo_pr/{namespace}/{repo}/pulls/{number}'; }; export type PullRequestDeleteErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type PullRequestDeleteResponses = { /** * Delete pull request */ 200: unknown; }; export type PullRequestGetData = { body?: never; path: { namespace: string; repo: string; number: number; }; query?: never; url: '/api/repo_pr/{namespace}/{repo}/pulls/{number}'; }; export type PullRequestGetErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type PullRequestGetResponses = { /** * Get pull request */ 200: ApiResponsePullRequestResponse; }; export type PullRequestGetResponse = PullRequestGetResponses[keyof PullRequestGetResponses]; export type PullRequestUpdateData = { body: PullRequestUpdateRequest; path: { namespace: string; repo: string; number: number; }; query?: never; url: '/api/repo_pr/{namespace}/{repo}/pulls/{number}'; }; export type PullRequestUpdateErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type PullRequestUpdateResponses = { /** * Update pull request */ 200: ApiResponsePullRequestResponse; }; export type PullRequestUpdateResponse = PullRequestUpdateResponses[keyof PullRequestUpdateResponses]; export type PullRequestCloseData = { body?: never; path: { namespace: string; repo: string; number: number; }; query?: never; url: '/api/repo_pr/{namespace}/{repo}/pulls/{number}/close'; }; export type PullRequestCloseErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type PullRequestCloseResponses = { /** * Close pull request */ 200: ApiResponsePullRequestResponse; }; export type PullRequestCloseResponse = PullRequestCloseResponses[keyof PullRequestCloseResponses]; export type PullRequestReopenData = { body?: never; path: { namespace: string; repo: string; number: number; }; query?: never; url: '/api/repo_pr/{namespace}/{repo}/pulls/{number}/reopen'; }; export type PullRequestReopenErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type PullRequestReopenResponses = { /** * Reopen pull request */ 200: ApiResponsePullRequestResponse; }; export type PullRequestReopenResponse = PullRequestReopenResponses[keyof PullRequestReopenResponses]; export type ReviewCommentListData = { body?: never; path: { namespace: string; repo: string; pr_number: number; }; query?: { /** * Filter by file path */ path?: string; /** * Filter by resolved status */ resolved?: boolean; /** * Only inline comments (true) or only general comments (false) */ file_only?: boolean; }; url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/comments'; }; export type ReviewCommentListErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type ReviewCommentListResponses = { /** * List pull request review comments */ 200: ApiResponseReviewCommentListResponse; }; export type ReviewCommentListResponse2 = ReviewCommentListResponses[keyof ReviewCommentListResponses]; export type ReviewCommentCreateData = { body: ReviewCommentCreateRequest; path: { namespace: string; repo: string; pr_number: number; }; query?: never; url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/comments'; }; export type ReviewCommentCreateErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type ReviewCommentCreateResponses = { /** * Create pull request review comment */ 200: ApiResponseReviewCommentResponse; }; export type ReviewCommentCreateResponse = ReviewCommentCreateResponses[keyof ReviewCommentCreateResponses]; export type ReviewCommentDeleteData = { body?: never; path: { namespace: string; repo: string; pr_number: number; comment_id: number; }; query?: never; url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/comments/{comment_id}'; }; export type ReviewCommentDeleteErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type ReviewCommentDeleteResponses = { /** * Delete pull request review comment */ 200: unknown; }; export type ReviewCommentUpdateData = { body: ReviewCommentUpdateRequest; path: { namespace: string; repo: string; pr_number: number; comment_id: number; }; query?: never; url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/comments/{comment_id}'; }; export type ReviewCommentUpdateErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type ReviewCommentUpdateResponses = { /** * Update pull request review comment */ 200: ApiResponseReviewCommentResponse; }; export type ReviewCommentUpdateResponse = ReviewCommentUpdateResponses[keyof ReviewCommentUpdateResponses]; export type ReviewCommentReplyData = { body: ReviewCommentReplyRequest; path: { namespace: string; repo: string; pr_number: number; comment_id: number; }; query?: never; url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/comments/{comment_id}/replies'; }; export type ReviewCommentReplyErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type ReviewCommentReplyResponses = { /** * Reply to a comment */ 200: ApiResponseReviewCommentResponse; }; export type ReviewCommentReplyResponse = ReviewCommentReplyResponses[keyof ReviewCommentReplyResponses]; export type ReviewCommentUnresolveData = { body?: never; path: { namespace: string; repo: string; pr_number: number; comment_id: number; }; query?: never; url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/comments/{comment_id}/resolve'; }; export type ReviewCommentUnresolveErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type ReviewCommentUnresolveResponses = { /** * Mark comment as unresolved */ 200: ApiResponseReviewCommentResponse; }; export type ReviewCommentUnresolveResponse = ReviewCommentUnresolveResponses[keyof ReviewCommentUnresolveResponses]; export type ReviewCommentResolveData = { body?: never; path: { namespace: string; repo: string; pr_number: number; comment_id: number; }; query?: never; url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/comments/{comment_id}/resolve'; }; export type ReviewCommentResolveErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type ReviewCommentResolveResponses = { /** * Mark comment as resolved */ 200: ApiResponseReviewCommentResponse; }; export type ReviewCommentResolveResponse = ReviewCommentResolveResponses[keyof ReviewCommentResolveResponses]; export type PrCommitsListData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Pull request number */ pr_number: number; }; query?: never; url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/commits'; }; export type PrCommitsListErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type PrCommitsListResponses = { /** * List commits in a pull request */ 200: ApiResponsePrCommitsListResponse; }; export type PrCommitsListResponse2 = PrCommitsListResponses[keyof PrCommitsListResponses]; export type MergeConflictCheckData = { body?: never; path: { namespace: string; repo: string; pr_number: number; }; query?: never; url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/conflicts'; }; export type MergeConflictCheckErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type MergeConflictCheckResponses = { /** * Check merge conflicts */ 200: ApiResponseMergeConflictResponse; }; export type MergeConflictCheckResponse = MergeConflictCheckResponses[keyof MergeConflictCheckResponses]; export type PrDiffSideBySideData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Pull request number */ pr_number: number; }; query?: never; url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/diff/side-by-side'; }; export type PrDiffSideBySideErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type PrDiffSideBySideResponses = { /** * Side-by-side diff for a pull request */ 200: ApiResponseSideBySideDiffResponse; }; export type PrDiffSideBySideResponse = PrDiffSideBySideResponses[keyof PrDiffSideBySideResponses]; export type MergeAnalysisData = { body?: never; path: { namespace: string; repo: string; pr_number: number; }; query?: never; url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/merge'; }; export type MergeAnalysisErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type MergeAnalysisResponses = { /** * Get merge analysis */ 200: ApiResponseMergeAnalysisResponse; }; export type MergeAnalysisResponse2 = MergeAnalysisResponses[keyof MergeAnalysisResponses]; export type MergeExecuteData = { body: MergeRequest; path: { namespace: string; repo: string; pr_number: number; }; query?: never; url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/merge'; }; export type MergeExecuteErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; /** * Conflict */ 409: unknown; }; export type MergeExecuteResponses = { /** * Execute merge */ 200: ApiResponseMergeResponse; }; export type MergeExecuteResponse = MergeExecuteResponses[keyof MergeExecuteResponses]; export type MergeAbortData = { body?: never; path: { namespace: string; repo: string; pr_number: number; }; query?: never; url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/merge/abort'; }; export type MergeAbortErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type MergeAbortResponses = { /** * Abort merge */ 200: unknown; }; export type MergeIsInProgressData = { body?: never; path: { namespace: string; repo: string; pr_number: number; }; query?: never; url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/merge/in_progress'; }; export type MergeIsInProgressErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type MergeIsInProgressResponses = { /** * Check if merge is in progress */ 200: unknown; }; export type ReviewRequestListData = { body?: never; path: { namespace: string; repo: string; pr_number: number; }; query?: never; url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/review-requests'; }; export type ReviewRequestListErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type ReviewRequestListResponses = { /** * List review requests for a pull request */ 200: ApiResponseReviewRequestListResponse; }; export type ReviewRequestListResponse2 = ReviewRequestListResponses[keyof ReviewRequestListResponses]; export type ReviewRequestCreateData = { body: ReviewRequestCreateRequest; path: { namespace: string; repo: string; pr_number: number; }; query?: never; url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/review-requests'; }; export type ReviewRequestCreateErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type ReviewRequestCreateResponses = { /** * Create or update a review request */ 200: ApiResponseReviewRequestResponse; }; export type ReviewRequestCreateResponse = ReviewRequestCreateResponses[keyof ReviewRequestCreateResponses]; export type ReviewRequestDeleteData = { body?: never; path: { namespace: string; repo: string; pr_number: number; reviewer: string; }; query?: never; url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/review-requests/{reviewer}'; }; export type ReviewRequestDeleteErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type ReviewRequestDeleteResponses = { /** * Delete (cancel) a review request */ 200: unknown; }; export type ReviewRequestDismissData = { body?: never; path: { namespace: string; repo: string; pr_number: number; reviewer: string; }; query?: never; url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/review-requests/{reviewer}/dismiss'; }; export type ReviewRequestDismissErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type ReviewRequestDismissResponses = { /** * Dismiss a review request */ 200: ApiResponseReviewRequestResponse; }; export type ReviewRequestDismissResponse = ReviewRequestDismissResponses[keyof ReviewRequestDismissResponses]; export type ReviewListData = { body?: never; path: { namespace: string; repo: string; pr_number: number; }; query?: never; url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/reviews'; }; export type ReviewListErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type ReviewListResponses = { /** * List pull request reviews */ 200: ApiResponseReviewListResponse; }; export type ReviewListResponse2 = ReviewListResponses[keyof ReviewListResponses]; export type ReviewUpdateData = { body: ReviewUpdateRequest; path: { namespace: string; repo: string; pr_number: number; }; query?: never; url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/reviews'; }; export type ReviewUpdateErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type ReviewUpdateResponses = { /** * Update pull request review */ 200: ApiResponseReviewResponse; }; export type ReviewUpdateResponse = ReviewUpdateResponses[keyof ReviewUpdateResponses]; export type ReviewSubmitData = { body: ReviewSubmitRequest; path: { namespace: string; repo: string; pr_number: number; }; query?: never; url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/reviews'; }; export type ReviewSubmitErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type ReviewSubmitResponses = { /** * Submit pull request review */ 200: ApiResponseReviewResponse; }; export type ReviewSubmitResponse = ReviewSubmitResponses[keyof ReviewSubmitResponses]; export type ReviewDeleteData = { body?: never; path: { namespace: string; repo: string; pr_number: number; /** * Reviewer UUID */ reviewer_id: string; }; query?: never; url: '/api/repo_pr/{namespace}/{repo}/pulls/{pr_number}/reviews/{reviewer_id}'; }; export type ReviewDeleteErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type ReviewDeleteResponses = { /** * Delete pull request review */ 200: unknown; }; export type BranchProtectionListData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/branch-protections'; }; export type BranchProtectionListErrors = { /** * Unauthorized */ 401: ApiResponseApiError; }; export type BranchProtectionListError = BranchProtectionListErrors[keyof BranchProtectionListErrors]; export type BranchProtectionListResponses = { /** * List branch protection rules */ 200: ApiResponseVecBranchProtectionResponse; }; export type BranchProtectionListResponse = BranchProtectionListResponses[keyof BranchProtectionListResponses]; export type BranchProtectionCreateData = { body: BranchProtectionCreateRequest; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/branch-protections'; }; export type BranchProtectionCreateErrors = { /** * Unauthorized */ 401: ApiResponseApiError; }; export type BranchProtectionCreateError = BranchProtectionCreateErrors[keyof BranchProtectionCreateErrors]; export type BranchProtectionCreateResponses = { /** * Create a branch protection rule */ 200: ApiResponseBranchProtectionResponse; }; export type BranchProtectionCreateResponse = BranchProtectionCreateResponses[keyof BranchProtectionCreateResponses]; export type BranchProtectionCheckApprovalsData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query: { /** * Pull request number */ pr_number: number; }; url: '/api/repos/{namespace}/{repo}/branch-protections/check-approvals'; }; export type BranchProtectionCheckApprovalsErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type BranchProtectionCheckApprovalsError = BranchProtectionCheckApprovalsErrors[keyof BranchProtectionCheckApprovalsErrors]; export type BranchProtectionCheckApprovalsResponses = { /** * Check approval count against branch protection */ 200: ApiResponseApprovalCheckResult; }; export type BranchProtectionCheckApprovalsResponse = BranchProtectionCheckApprovalsResponses[keyof BranchProtectionCheckApprovalsResponses]; export type BranchProtectionDeleteData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Rule id */ id: number; }; query?: never; url: '/api/repos/{namespace}/{repo}/branch-protections/{id}'; }; export type BranchProtectionDeleteErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type BranchProtectionDeleteError = BranchProtectionDeleteErrors[keyof BranchProtectionDeleteErrors]; export type BranchProtectionDeleteResponses = { /** * Delete a branch protection rule */ 200: unknown; }; export type BranchProtectionGetData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Rule id */ id: number; }; query?: never; url: '/api/repos/{namespace}/{repo}/branch-protections/{id}'; }; export type BranchProtectionGetErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type BranchProtectionGetError = BranchProtectionGetErrors[keyof BranchProtectionGetErrors]; export type BranchProtectionGetResponses = { /** * Get a branch protection rule */ 200: ApiResponseBranchProtectionResponse; }; export type BranchProtectionGetResponse = BranchProtectionGetResponses[keyof BranchProtectionGetResponses]; export type BranchProtectionUpdateData = { body: BranchProtectionUpdateRequest; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Rule id */ id: number; }; query?: never; url: '/api/repos/{namespace}/{repo}/branch-protections/{id}'; }; export type BranchProtectionUpdateErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type BranchProtectionUpdateError = BranchProtectionUpdateErrors[keyof BranchProtectionUpdateErrors]; export type BranchProtectionUpdateResponses = { /** * Update a branch protection rule */ 200: ApiResponseBranchProtectionResponse; }; export type BranchProtectionUpdateResponse = BranchProtectionUpdateResponses[keyof BranchProtectionUpdateResponses]; export type GitUpdateRepoData = { body: GitUpdateRepoRequest; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git'; }; export type GitUpdateRepoErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitUpdateRepoError = GitUpdateRepoErrors[keyof GitUpdateRepoErrors]; export type GitUpdateRepoResponses = { /** * Update repository settings */ 200: unknown; }; export type GitArchiveData = { body?: never; path: { namespace: string; repo: string; }; query: { commit_oid: string; format: string; prefix?: string; max_depth?: number; path_filter?: string; }; url: '/api/repos/{namespace}/{repo}/git/archive'; }; export type GitArchiveErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitArchiveError = GitArchiveErrors[keyof GitArchiveErrors]; export type GitArchiveResponses = { /** * Get archive */ 200: ApiResponseArchiveResponse; }; export type GitArchiveResponse = GitArchiveResponses[keyof GitArchiveResponses]; export type GitArchiveCachedData = { body?: never; path: { namespace: string; repo: string; }; query: { commit_oid: string; format: string; prefix?: string; max_depth?: number; path_filter?: string; }; url: '/api/repos/{namespace}/{repo}/git/archive/cached'; }; export type GitArchiveCachedErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitArchiveCachedError = GitArchiveCachedErrors[keyof GitArchiveCachedErrors]; export type GitArchiveCachedResponses = { /** * Check if archive is cached */ 200: ApiResponseArchiveCachedResponse; }; export type GitArchiveCachedResponse = GitArchiveCachedResponses[keyof GitArchiveCachedResponses]; export type GitArchiveInvalidateData = { body?: never; path: { namespace: string; repo: string; }; query: { commit_oid: string; format: string; prefix?: string; max_depth?: number; path_filter?: string; }; url: '/api/repos/{namespace}/{repo}/git/archive/invalidate'; }; export type GitArchiveInvalidateErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitArchiveInvalidateError = GitArchiveInvalidateErrors[keyof GitArchiveInvalidateErrors]; export type GitArchiveInvalidateResponses = { /** * Invalidate archive cache */ 200: ApiResponseArchiveInvalidateResponse; }; export type GitArchiveInvalidateResponse = GitArchiveInvalidateResponses[keyof GitArchiveInvalidateResponses]; export type GitArchiveInvalidateAllData = { body?: never; path: { namespace: string; repo: string; commit_oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/archive/invalidate/{commit_oid}'; }; export type GitArchiveInvalidateAllErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitArchiveInvalidateAllError = GitArchiveInvalidateAllErrors[keyof GitArchiveInvalidateAllErrors]; export type GitArchiveInvalidateAllResponses = { /** * Invalidate all archive caches for commit */ 200: ApiResponseArchiveInvalidateAllResponse; }; export type GitArchiveInvalidateAllResponse = GitArchiveInvalidateAllResponses[keyof GitArchiveInvalidateAllResponses]; export type GitArchiveListData = { body?: never; path: { namespace: string; repo: string; }; query: { commit_oid: string; format: string; prefix?: string; max_depth?: number; path_filter?: string; }; url: '/api/repos/{namespace}/{repo}/git/archive/list'; }; export type GitArchiveListErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitArchiveListError = GitArchiveListErrors[keyof GitArchiveListErrors]; export type GitArchiveListResponses = { /** * List archive entries */ 200: ApiResponseArchiveListResponse; }; export type GitArchiveListResponse = GitArchiveListResponses[keyof GitArchiveListResponses]; export type GitArchiveSummaryData = { body?: never; path: { namespace: string; repo: string; }; query: { commit_oid: string; format: string; prefix?: string; max_depth?: number; path_filter?: string; }; url: '/api/repos/{namespace}/{repo}/git/archive/summary'; }; export type GitArchiveSummaryErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitArchiveSummaryError = GitArchiveSummaryErrors[keyof GitArchiveSummaryErrors]; export type GitArchiveSummaryResponses = { /** * Get archive summary */ 200: ApiResponseArchiveSummaryResponse; }; export type GitArchiveSummaryResponse = GitArchiveSummaryResponses[keyof GitArchiveSummaryResponses]; export type GitBlameFileData = { body?: never; path: { namespace: string; repo: string; commit_oid: string; /** * File path within the repository */ tail: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/blame/{commit_oid}/{tail:.*}'; }; export type GitBlameFileErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitBlameFileError = GitBlameFileErrors[keyof GitBlameFileErrors]; export type GitBlameFileResponses = { 200: Array; }; export type GitBlameFileResponse = GitBlameFileResponses[keyof GitBlameFileResponses]; export type GitBlobCreateData = { body: BlobCreateRequest; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/blob'; }; export type GitBlobCreateErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitBlobCreateError = GitBlobCreateErrors[keyof GitBlobCreateErrors]; export type GitBlobCreateResponses = { /** * Create blob */ 200: ApiResponseBlobCreateResponse; }; export type GitBlobCreateResponse = GitBlobCreateResponses[keyof GitBlobCreateResponses]; export type GitBlobGetData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Blob object ID */ oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/blob/{oid}'; }; export type GitBlobGetErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitBlobGetError = GitBlobGetErrors[keyof GitBlobGetErrors]; export type GitBlobGetResponses = { /** * Get blob info */ 200: ApiResponseBlobInfoResponse; }; export type GitBlobGetResponse = GitBlobGetResponses[keyof GitBlobGetResponses]; export type GitBlobContentData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Blob object ID */ oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/blob/{oid}/content'; }; export type GitBlobContentErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitBlobContentError = GitBlobContentErrors[keyof GitBlobContentErrors]; export type GitBlobContentResponses = { /** * Get blob content */ 200: ApiResponseBlobContentResponse; }; export type GitBlobContentResponse = GitBlobContentResponses[keyof GitBlobContentResponses]; export type GitBlobExistsData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Blob object ID */ oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/blob/{oid}/exists'; }; export type GitBlobExistsErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitBlobExistsError = GitBlobExistsErrors[keyof GitBlobExistsErrors]; export type GitBlobExistsResponses = { /** * Check blob exists */ 200: ApiResponseBlobExistsResponse; }; export type GitBlobExistsResponse = GitBlobExistsResponses[keyof GitBlobExistsResponses]; export type GitBlobIsBinaryData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Blob object ID */ oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/blob/{oid}/is-binary'; }; export type GitBlobIsBinaryErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitBlobIsBinaryError = GitBlobIsBinaryErrors[keyof GitBlobIsBinaryErrors]; export type GitBlobIsBinaryResponses = { /** * Check if blob is binary */ 200: ApiResponseBlobIsBinaryResponse; }; export type GitBlobIsBinaryResponse = GitBlobIsBinaryResponses[keyof GitBlobIsBinaryResponses]; export type GitBlobSizeData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Blob object ID */ oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/blob/{oid}/size'; }; export type GitBlobSizeErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitBlobSizeError = GitBlobSizeErrors[keyof GitBlobSizeErrors]; export type GitBlobSizeResponses = { /** * Get blob size */ 200: ApiResponseBlobSizeResponse; }; export type GitBlobSizeResponse = GitBlobSizeResponses[keyof GitBlobSizeResponses]; export type GitBranchListData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/branches'; }; export type GitBranchListErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitBranchListError = GitBranchListErrors[keyof GitBranchListErrors]; export type GitBranchListResponses = { /** * List branches */ 200: ApiResponseVecBranchInfoResponse; }; export type GitBranchListResponse = GitBranchListResponses[keyof GitBranchListResponses]; export type GitBranchCreateData = { body: BranchCreateRequest; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/branches'; }; export type GitBranchCreateErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitBranchCreateError = GitBranchCreateErrors[keyof GitBranchCreateErrors]; export type GitBranchCreateResponses = { /** * Create branch */ 200: ApiResponseBranchInfoResponse; }; export type GitBranchCreateResponse = GitBranchCreateResponses[keyof GitBranchCreateResponses]; export type GitBranchCurrentData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/branches/current'; }; export type GitBranchCurrentErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitBranchCurrentError = GitBranchCurrentErrors[keyof GitBranchCurrentErrors]; export type GitBranchCurrentResponses = { /** * Get current branch */ 200: ApiResponseBranchInfoResponse; }; export type GitBranchCurrentResponse = GitBranchCurrentResponses[keyof GitBranchCurrentResponses]; export type GitBranchDiffData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/branches/diff'; }; export type GitBranchDiffErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitBranchDiffError = GitBranchDiffErrors[keyof GitBranchDiffErrors]; export type GitBranchDiffResponses = { /** * Get branch diff */ 200: ApiResponseBranchDiffResponse; }; export type GitBranchDiffResponse = GitBranchDiffResponses[keyof GitBranchDiffResponses]; export type GitBranchFastForwardData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Target branch name */ target: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/branches/fast-forward/{target}'; }; export type GitBranchFastForwardErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitBranchFastForwardError = GitBranchFastForwardErrors[keyof GitBranchFastForwardErrors]; export type GitBranchFastForwardResponses = { /** * Fast-forward branch */ 200: ApiResponseBranchFastForwardResponse; }; export type GitBranchFastForwardResponse = GitBranchFastForwardResponses[keyof GitBranchFastForwardResponses]; export type GitBranchIsAncestorData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/branches/is-ancestor'; }; export type GitBranchIsAncestorErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitBranchIsAncestorError = GitBranchIsAncestorErrors[keyof GitBranchIsAncestorErrors]; export type GitBranchIsAncestorResponses = { /** * Check if branch is ancestor */ 200: ApiResponseBranchIsAncestorResponse; }; export type GitBranchIsAncestorResponse = GitBranchIsAncestorResponses[keyof GitBranchIsAncestorResponses]; export type GitBranchIsConflictedData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/branches/is-conflicted'; }; export type GitBranchIsConflictedErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitBranchIsConflictedError = GitBranchIsConflictedErrors[keyof GitBranchIsConflictedErrors]; export type GitBranchIsConflictedResponses = { /** * Check if branch has conflicts */ 200: ApiResponseBranchIsConflictedResponse; }; export type GitBranchIsConflictedResponse = GitBranchIsConflictedResponses[keyof GitBranchIsConflictedResponses]; export type GitBranchIsDetachedData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/branches/is-detached'; }; export type GitBranchIsDetachedErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitBranchIsDetachedError = GitBranchIsDetachedErrors[keyof GitBranchIsDetachedErrors]; export type GitBranchIsDetachedResponses = { /** * Check if HEAD is detached */ 200: ApiResponseBranchIsDetachedResponse; }; export type GitBranchIsDetachedResponse = GitBranchIsDetachedResponses[keyof GitBranchIsDetachedResponses]; export type GitBranchIsMergedData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/branches/is-merged'; }; export type GitBranchIsMergedErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitBranchIsMergedError = GitBranchIsMergedErrors[keyof GitBranchIsMergedErrors]; export type GitBranchIsMergedResponses = { /** * Check if branch is merged */ 200: ApiResponseBranchIsMergedResponse; }; export type GitBranchIsMergedResponse = GitBranchIsMergedResponses[keyof GitBranchIsMergedResponses]; export type GitBranchMergeBaseData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/branches/merge-base'; }; export type GitBranchMergeBaseErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitBranchMergeBaseError = GitBranchMergeBaseErrors[keyof GitBranchMergeBaseErrors]; export type GitBranchMergeBaseResponses = { /** * Get merge base */ 200: ApiResponseBranchMergeBaseResponse; }; export type GitBranchMergeBaseResponse = GitBranchMergeBaseResponses[keyof GitBranchMergeBaseResponses]; export type GitBranchMoveData = { body: BranchMoveRequest; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/branches/move'; }; export type GitBranchMoveErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitBranchMoveError = GitBranchMoveErrors[keyof GitBranchMoveErrors]; export type GitBranchMoveResponses = { /** * Move branch */ 200: ApiResponseBranchInfoResponse; }; export type GitBranchMoveResponse = GitBranchMoveResponses[keyof GitBranchMoveResponses]; export type GitBranchDeleteRemoteData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Remote branch name */ name: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/branches/remote/{name}'; }; export type GitBranchDeleteRemoteErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitBranchDeleteRemoteError = GitBranchDeleteRemoteErrors[keyof GitBranchDeleteRemoteErrors]; export type GitBranchDeleteRemoteResponses = { /** * Delete remote branch */ 200: unknown; }; export type GitBranchRenameData = { body: BranchRenameRequest; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/branches/rename'; }; export type GitBranchRenameErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitBranchRenameError = GitBranchRenameErrors[keyof GitBranchRenameErrors]; export type GitBranchRenameResponses = { /** * Rename branch */ 200: ApiResponseBranchInfoResponse; }; export type GitBranchRenameResponse = GitBranchRenameResponses[keyof GitBranchRenameResponses]; export type GitBranchSummaryData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/branches/summary'; }; export type GitBranchSummaryErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitBranchSummaryError = GitBranchSummaryErrors[keyof GitBranchSummaryErrors]; export type GitBranchSummaryResponses = { /** * Get branch summary */ 200: ApiResponseBranchSummaryResponse; }; export type GitBranchSummaryResponse = GitBranchSummaryResponses[keyof GitBranchSummaryResponses]; export type GitBranchSetUpstreamData = { body: BranchSetUpstreamRequest; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/branches/upstream'; }; export type GitBranchSetUpstreamErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitBranchSetUpstreamError = GitBranchSetUpstreamErrors[keyof GitBranchSetUpstreamErrors]; export type GitBranchSetUpstreamResponses = { /** * Set upstream branch */ 200: unknown; }; export type GitBranchDeleteData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Branch name */ name: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/branches/{name}'; }; export type GitBranchDeleteErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitBranchDeleteError = GitBranchDeleteErrors[keyof GitBranchDeleteErrors]; export type GitBranchDeleteResponses = { /** * Delete branch */ 200: unknown; }; export type GitBranchGetData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Branch name */ name: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/branches/{name}'; }; export type GitBranchGetErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitBranchGetError = GitBranchGetErrors[keyof GitBranchGetErrors]; export type GitBranchGetResponses = { /** * Get branch */ 200: ApiResponseBranchInfoResponse; }; export type GitBranchGetResponse = GitBranchGetResponses[keyof GitBranchGetResponses]; export type GitBranchExistsData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Branch name */ name: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/branches/{name}/exists'; }; export type GitBranchExistsErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitBranchExistsError = GitBranchExistsErrors[keyof GitBranchExistsErrors]; export type GitBranchExistsResponses = { /** * Check branch exists */ 200: ApiResponseBranchExistsResponse; }; export type GitBranchExistsResponse = GitBranchExistsResponses[keyof GitBranchExistsResponses]; export type GitBranchIsHeadData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Branch name */ name: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/branches/{name}/is-head'; }; export type GitBranchIsHeadErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitBranchIsHeadError = GitBranchIsHeadErrors[keyof GitBranchIsHeadErrors]; export type GitBranchIsHeadResponses = { /** * Check if branch is HEAD */ 200: ApiResponseBranchIsHeadResponse; }; export type GitBranchIsHeadResponse = GitBranchIsHeadResponses[keyof GitBranchIsHeadResponses]; export type GitBranchTrackingDifferenceData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Branch name */ name: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/branches/{name}/tracking-difference'; }; export type GitBranchTrackingDifferenceErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitBranchTrackingDifferenceError = GitBranchTrackingDifferenceErrors[keyof GitBranchTrackingDifferenceErrors]; export type GitBranchTrackingDifferenceResponses = { /** * Get tracking difference */ 200: ApiResponseBranchTrackingDiffResponse; }; export type GitBranchTrackingDifferenceResponse = GitBranchTrackingDifferenceResponses[keyof GitBranchTrackingDifferenceResponses]; export type GitBranchUpstreamData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Branch name */ name: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/branches/{name}/upstream'; }; export type GitBranchUpstreamErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitBranchUpstreamError = GitBranchUpstreamErrors[keyof GitBranchUpstreamErrors]; export type GitBranchUpstreamResponses = { /** * Get upstream branch */ 200: ApiResponseBranchInfoResponse; }; export type GitBranchUpstreamResponse = GitBranchUpstreamResponses[keyof GitBranchUpstreamResponses]; export type GitCommitLogData = { body?: never; path: { namespace: string; repo: string; }; query?: { rev?: string; per_page?: number; page?: number; }; url: '/api/repos/{namespace}/{repo}/git/commits'; }; export type GitCommitLogErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitCommitLogError = GitCommitLogErrors[keyof GitCommitLogErrors]; export type GitCommitLogResponses = { /** * Get commit log (paginated) */ 200: ApiResponseCommitLogResponse; }; export type GitCommitLogResponse = GitCommitLogResponses[keyof GitCommitLogResponses]; export type GitCommitCreateData = { body: CommitCreateRequest; path: { namespace: string; repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/commits'; }; export type GitCommitCreateErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitCommitCreateError = GitCommitCreateErrors[keyof GitCommitCreateErrors]; export type GitCommitCreateResponses = { /** * Create commit */ 200: ApiResponseCommitCreateResponse; }; export type GitCommitCreateResponse = GitCommitCreateResponses[keyof GitCommitCreateResponses]; export type GitCommitBranchesData = { body?: never; path: { namespace: string; repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/commits/branches'; }; export type GitCommitBranchesErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitCommitBranchesError = GitCommitBranchesErrors[keyof GitCommitBranchesErrors]; export type GitCommitBranchesResponses = { /** * Get commit branches */ 200: ApiResponseCommitBranchesResponse; }; export type GitCommitBranchesResponse = GitCommitBranchesResponses[keyof GitCommitBranchesResponses]; export type GitCommitCountData = { body?: never; path: { namespace: string; repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/commits/count'; }; export type GitCommitCountErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitCommitCountError = GitCommitCountErrors[keyof GitCommitCountErrors]; export type GitCommitCountResponses = { /** * Get commit count */ 200: ApiResponseCommitCountResponse; }; export type GitCommitCountResponse = GitCommitCountResponses[keyof GitCommitCountResponses]; export type GitCommitGraphData = { body?: never; path: { namespace: string; repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/commits/graph'; }; export type GitCommitGraphErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitCommitGraphError = GitCommitGraphErrors[keyof GitCommitGraphErrors]; export type GitCommitGraphResponses = { /** * Get commit graph */ 200: ApiResponseCommitGraphResponse; }; export type GitCommitGraphResponse = GitCommitGraphResponses[keyof GitCommitGraphResponses]; export type GitCommitGraphReactData = { body?: never; path: { namespace: string; repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/commits/graph-react'; }; export type GitCommitGraphReactErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitCommitGraphReactError = GitCommitGraphReactErrors[keyof GitCommitGraphReactErrors]; export type GitCommitGraphReactResponses = { /** * Get commit graph for gitgraph-react */ 200: ApiResponseCommitGraphReactResponse; }; export type GitCommitGraphReactResponse = GitCommitGraphReactResponses[keyof GitCommitGraphReactResponses]; export type GitCommitReflogData = { body?: never; path: { namespace: string; repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/commits/reflog'; }; export type GitCommitReflogErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitCommitReflogError = GitCommitReflogErrors[keyof GitCommitReflogErrors]; export type GitCommitReflogResponses = { /** * Get commit reflog */ 200: ApiResponseVecCommitReflogEntryResponse; }; export type GitCommitReflogResponse = GitCommitReflogResponses[keyof GitCommitReflogResponses]; export type GitCommitResolveRevData = { body?: never; path: { namespace: string; repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/commits/resolve'; }; export type GitCommitResolveRevErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitCommitResolveRevError = GitCommitResolveRevErrors[keyof GitCommitResolveRevErrors]; export type GitCommitResolveRevResponses = { /** * Resolve revision to commit */ 200: ApiResponseString; }; export type GitCommitResolveRevResponse = GitCommitResolveRevResponses[keyof GitCommitResolveRevResponses]; export type GitCommitTagsData = { body?: never; path: { namespace: string; repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/commits/tags'; }; export type GitCommitTagsErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitCommitTagsError = GitCommitTagsErrors[keyof GitCommitTagsErrors]; export type GitCommitTagsResponses = { /** * Get commit tags */ 200: ApiResponseCommitTagsResponse; }; export type GitCommitTagsResponse = GitCommitTagsResponses[keyof GitCommitTagsResponses]; export type GitCommitWalkData = { body?: never; path: { namespace: string; repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/commits/walk'; }; export type GitCommitWalkErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitCommitWalkError = GitCommitWalkErrors[keyof GitCommitWalkErrors]; export type GitCommitWalkResponses = { /** * Walk commits */ 200: ApiResponseVecCommitMetaResponse; }; export type GitCommitWalkResponse = GitCommitWalkResponses[keyof GitCommitWalkResponses]; export type GitCommitGetData = { body?: never; path: { namespace: string; repo: string; oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/commits/{oid}'; }; export type GitCommitGetErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitCommitGetError = GitCommitGetErrors[keyof GitCommitGetErrors]; export type GitCommitGetResponses = { /** * Get commit metadata */ 200: ApiResponseCommitMetaResponse; }; export type GitCommitGetResponse = GitCommitGetResponses[keyof GitCommitGetResponses]; export type GitCommitAmendData = { body: CommitAmendRequest; path: { namespace: string; repo: string; oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/amend'; }; export type GitCommitAmendErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitCommitAmendError = GitCommitAmendErrors[keyof GitCommitAmendErrors]; export type GitCommitAmendResponses = { /** * Amend commit */ 200: ApiResponseCommitMetaResponse; }; export type GitCommitAmendResponse = GitCommitAmendResponses[keyof GitCommitAmendResponses]; export type GitCommitAncestorsData = { body?: never; path: { namespace: string; repo: string; oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/ancestors'; }; export type GitCommitAncestorsErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitCommitAncestorsError = GitCommitAncestorsErrors[keyof GitCommitAncestorsErrors]; export type GitCommitAncestorsResponses = { /** * Get commit ancestors */ 200: ApiResponseVecCommitMetaResponse; }; export type GitCommitAncestorsResponse = GitCommitAncestorsResponses[keyof GitCommitAncestorsResponses]; export type GitCommitAuthorData = { body?: never; path: { namespace: string; repo: string; oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/author'; }; export type GitCommitAuthorErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitCommitAuthorError = GitCommitAuthorErrors[keyof GitCommitAuthorErrors]; export type GitCommitAuthorResponses = { /** * Get commit author */ 200: ApiResponseCommitAuthorResponse; }; export type GitCommitAuthorResponse = GitCommitAuthorResponses[keyof GitCommitAuthorResponses]; export type GitCommitCherryPickData = { body: CommitCherryPickRequest; path: { namespace: string; repo: string; oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/cherry-pick'; }; export type GitCommitCherryPickErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitCommitCherryPickError = GitCommitCherryPickErrors[keyof GitCommitCherryPickErrors]; export type GitCommitCherryPickResponses = { /** * Cherry-pick commit */ 200: ApiResponseCommitMetaResponse; }; export type GitCommitCherryPickResponse = GitCommitCherryPickResponses[keyof GitCommitCherryPickResponses]; export type GitCommitCherryPickAbortData = { body: CommitCherryPickAbortRequest; path: { namespace: string; repo: string; oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/cherry-pick/abort'; }; export type GitCommitCherryPickAbortErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitCommitCherryPickAbortError = GitCommitCherryPickAbortErrors[keyof GitCommitCherryPickAbortErrors]; export type GitCommitCherryPickAbortResponses = { /** * Abort cherry-pick */ 200: ApiResponseBool; }; export type GitCommitCherryPickAbortResponse = GitCommitCherryPickAbortResponses[keyof GitCommitCherryPickAbortResponses]; export type GitCommitDescendantsData = { body?: never; path: { namespace: string; repo: string; oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/descendants'; }; export type GitCommitDescendantsErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitCommitDescendantsError = GitCommitDescendantsErrors[keyof GitCommitDescendantsErrors]; export type GitCommitDescendantsResponses = { /** * Get commit descendants */ 200: ApiResponseVecCommitMetaResponse; }; export type GitCommitDescendantsResponse = GitCommitDescendantsResponses[keyof GitCommitDescendantsResponses]; export type GitCommitExistsData = { body?: never; path: { namespace: string; repo: string; oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/exists'; }; export type GitCommitExistsErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitCommitExistsError = GitCommitExistsErrors[keyof GitCommitExistsErrors]; export type GitCommitExistsResponses = { /** * Check if commit exists */ 200: ApiResponseCommitExistsResponse; }; export type GitCommitExistsResponse = GitCommitExistsResponses[keyof GitCommitExistsResponses]; export type GitCommitFirstParentData = { body?: never; path: { namespace: string; repo: string; oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/first-parent'; }; export type GitCommitFirstParentErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitCommitFirstParentError = GitCommitFirstParentErrors[keyof GitCommitFirstParentErrors]; export type GitCommitFirstParentResponses = { /** * Get commit first parent */ 200: ApiResponseOptionCommitMetaResponse; }; export type GitCommitFirstParentResponse = GitCommitFirstParentResponses[keyof GitCommitFirstParentResponses]; export type GitCommitIsCommitData = { body?: never; path: { namespace: string; repo: string; oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/is-commit'; }; export type GitCommitIsCommitErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitCommitIsCommitError = GitCommitIsCommitErrors[keyof GitCommitIsCommitErrors]; export type GitCommitIsCommitResponses = { /** * Check if object is a commit */ 200: ApiResponseCommitIsCommitResponse; }; export type GitCommitIsCommitResponse = GitCommitIsCommitResponses[keyof GitCommitIsCommitResponses]; export type GitCommitIsMergeData = { body?: never; path: { namespace: string; repo: string; oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/is-merge'; }; export type GitCommitIsMergeErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitCommitIsMergeError = GitCommitIsMergeErrors[keyof GitCommitIsMergeErrors]; export type GitCommitIsMergeResponses = { /** * Check if commit is a merge */ 200: ApiResponseCommitIsMergeResponse; }; export type GitCommitIsMergeResponse = GitCommitIsMergeResponses[keyof GitCommitIsMergeResponses]; export type GitCommitIsTipData = { body?: never; path: { namespace: string; repo: string; oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/is-tip'; }; export type GitCommitIsTipErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitCommitIsTipError = GitCommitIsTipErrors[keyof GitCommitIsTipErrors]; export type GitCommitIsTipResponses = { /** * Check if commit is a tip */ 200: ApiResponseCommitIsTipResponse; }; export type GitCommitIsTipResponse = GitCommitIsTipResponses[keyof GitCommitIsTipResponses]; export type GitCommitMessageData = { body?: never; path: { namespace: string; repo: string; oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/message'; }; export type GitCommitMessageErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitCommitMessageError = GitCommitMessageErrors[keyof GitCommitMessageErrors]; export type GitCommitMessageResponses = { /** * Get commit message */ 200: ApiResponseCommitMessageResponse; }; export type GitCommitMessageResponse = GitCommitMessageResponses[keyof GitCommitMessageResponses]; export type GitCommitParentCountData = { body?: never; path: { namespace: string; repo: string; oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/parent-count'; }; export type GitCommitParentCountErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitCommitParentCountError = GitCommitParentCountErrors[keyof GitCommitParentCountErrors]; export type GitCommitParentCountResponses = { /** * Get commit parent count */ 200: ApiResponseCommitParentCountResponse; }; export type GitCommitParentCountResponse = GitCommitParentCountResponses[keyof GitCommitParentCountResponses]; export type GitCommitParentIdsData = { body?: never; path: { namespace: string; repo: string; oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/parent-ids'; }; export type GitCommitParentIdsErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitCommitParentIdsError = GitCommitParentIdsErrors[keyof GitCommitParentIdsErrors]; export type GitCommitParentIdsResponses = { /** * Get commit parent IDs */ 200: ApiResponseCommitParentIdsResponse; }; export type GitCommitParentIdsResponse = GitCommitParentIdsResponses[keyof GitCommitParentIdsResponses]; export type GitCommitParentData = { body?: never; path: { namespace: string; repo: string; index: number; oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/parent/{index}'; }; export type GitCommitParentErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitCommitParentError = GitCommitParentErrors[keyof GitCommitParentErrors]; export type GitCommitParentResponses = { /** * Get commit parent */ 200: ApiResponseCommitMetaResponse; }; export type GitCommitParentResponse = GitCommitParentResponses[keyof GitCommitParentResponses]; export type GitCommitRefCountData = { body?: never; path: { namespace: string; repo: string; oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/ref-count'; }; export type GitCommitRefCountErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitCommitRefCountError = GitCommitRefCountErrors[keyof GitCommitRefCountErrors]; export type GitCommitRefCountResponses = { /** * Get commit ref count */ 200: ApiResponseCommitRefCountResponse; }; export type GitCommitRefCountResponse = GitCommitRefCountResponses[keyof GitCommitRefCountResponses]; export type GitCommitRefsData = { body?: never; path: { namespace: string; repo: string; oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/refs'; }; export type GitCommitRefsErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitCommitRefsError = GitCommitRefsErrors[keyof GitCommitRefsErrors]; export type GitCommitRefsResponses = { /** * Get commit refs */ 200: ApiResponseVecCommitRefInfoResponse; }; export type GitCommitRefsResponse = GitCommitRefsResponses[keyof GitCommitRefsResponses]; export type GitCommitRevertData = { body: CommitRevertRequest; path: { namespace: string; repo: string; oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/revert'; }; export type GitCommitRevertErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitCommitRevertError = GitCommitRevertErrors[keyof GitCommitRevertErrors]; export type GitCommitRevertResponses = { /** * Revert commit */ 200: ApiResponseCommitMetaResponse; }; export type GitCommitRevertResponse = GitCommitRevertResponses[keyof GitCommitRevertResponses]; export type GitCommitRevertAbortData = { body: CommitRevertAbortRequest; path: { namespace: string; repo: string; oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/revert/abort'; }; export type GitCommitRevertAbortErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitCommitRevertAbortError = GitCommitRevertAbortErrors[keyof GitCommitRevertAbortErrors]; export type GitCommitRevertAbortResponses = { /** * Abort revert */ 200: ApiResponseBool; }; export type GitCommitRevertAbortResponse = GitCommitRevertAbortResponses[keyof GitCommitRevertAbortResponses]; export type GitCommitShortIdData = { body?: never; path: { namespace: string; repo: string; oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/short-id'; }; export type GitCommitShortIdErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitCommitShortIdError = GitCommitShortIdErrors[keyof GitCommitShortIdErrors]; export type GitCommitShortIdResponses = { /** * Get commit short ID */ 200: ApiResponseCommitShortIdResponse; }; export type GitCommitShortIdResponse = GitCommitShortIdResponses[keyof GitCommitShortIdResponses]; export type GitCommitSummaryData = { body?: never; path: { namespace: string; repo: string; oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/summary'; }; export type GitCommitSummaryErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitCommitSummaryError = GitCommitSummaryErrors[keyof GitCommitSummaryErrors]; export type GitCommitSummaryResponses = { /** * Get commit summary */ 200: ApiResponseCommitSummaryResponse; }; export type GitCommitSummaryResponse = GitCommitSummaryResponses[keyof GitCommitSummaryResponses]; export type GitCommitTreeIdData = { body?: never; path: { namespace: string; repo: string; oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/commits/{oid}/tree-id'; }; export type GitCommitTreeIdErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitCommitTreeIdError = GitCommitTreeIdErrors[keyof GitCommitTreeIdErrors]; export type GitCommitTreeIdResponses = { /** * Get commit tree ID */ 200: ApiResponseCommitTreeIdResponse; }; export type GitCommitTreeIdResponse = GitCommitTreeIdResponses[keyof GitCommitTreeIdResponses]; export type GitConfigEntriesData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/config/entries'; }; export type GitConfigEntriesErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitConfigEntriesError = GitConfigEntriesErrors[keyof GitConfigEntriesErrors]; export type GitConfigEntriesResponses = { /** * List repository config entries */ 200: ApiResponseConfigSnapshotResponse; }; export type GitConfigEntriesResponse = GitConfigEntriesResponses[keyof GitConfigEntriesResponses]; export type GitConfigDeleteData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Config key */ key: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/config/{key}'; }; export type GitConfigDeleteErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitConfigDeleteError = GitConfigDeleteErrors[keyof GitConfigDeleteErrors]; export type GitConfigDeleteResponses = { /** * Delete repository config key */ 200: unknown; }; export type GitConfigGetData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Config key */ key: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/config/{key}'; }; export type GitConfigGetErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitConfigGetError = GitConfigGetErrors[keyof GitConfigGetErrors]; export type GitConfigGetResponses = { /** * Get repository config value */ 200: ApiResponseValue; }; export type GitConfigGetResponse = GitConfigGetResponses[keyof GitConfigGetResponses]; export type GitConfigSetData = { body: ConfigSetRequest; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Config key */ key: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/config/{key}'; }; export type GitConfigSetErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitConfigSetError = GitConfigSetErrors[keyof GitConfigSetErrors]; export type GitConfigSetResponses = { /** * Set repository config value */ 200: unknown; }; export type GitConfigHasData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Config key */ key: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/config/{key}/has'; }; export type GitConfigHasErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitConfigHasError = GitConfigHasErrors[keyof GitConfigHasErrors]; export type GitConfigHasResponses = { /** * Check if repository config key exists */ 200: ApiResponseConfigBoolResponse; }; export type GitConfigHasResponse = GitConfigHasResponses[keyof GitConfigHasResponses]; export type GitContributorsData = { body?: never; path: { /** * Repository namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/contributors'; }; export type GitContributorsErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitContributorsError = GitContributorsErrors[keyof GitContributorsErrors]; export type GitContributorsResponses = { /** * List of contributors */ 200: ApiResponseContributorsResponse; }; export type GitContributorsResponse = GitContributorsResponses[keyof GitContributorsResponses]; export type GitDescriptionResetData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/description'; }; export type GitDescriptionResetErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitDescriptionResetError = GitDescriptionResetErrors[keyof GitDescriptionResetErrors]; export type GitDescriptionResetResponses = { /** * Reset repository description */ 200: ApiResponseDescriptionResponse; }; export type GitDescriptionResetResponse = GitDescriptionResetResponses[keyof GitDescriptionResetResponses]; export type GitDescriptionGetData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/description'; }; export type GitDescriptionGetErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitDescriptionGetError = GitDescriptionGetErrors[keyof GitDescriptionGetErrors]; export type GitDescriptionGetResponses = { /** * Get repository description */ 200: ApiResponseDescriptionResponse; }; export type GitDescriptionGetResponse = GitDescriptionGetResponses[keyof GitDescriptionGetResponses]; export type GitDescriptionSetData = { body: DescriptionQuery; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/description'; }; export type GitDescriptionSetErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitDescriptionSetError = GitDescriptionSetErrors[keyof GitDescriptionSetErrors]; export type GitDescriptionSetResponses = { /** * Set repository description */ 200: ApiResponseDescriptionResponse; }; export type GitDescriptionSetResponse = GitDescriptionSetResponses[keyof GitDescriptionSetResponses]; export type GitDescriptionExistsData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/description/exists'; }; export type GitDescriptionExistsErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitDescriptionExistsError = GitDescriptionExistsErrors[keyof GitDescriptionExistsErrors]; export type GitDescriptionExistsResponses = { /** * Check if repository description exists */ 200: ApiResponseValue; }; export type GitDescriptionExistsResponse = GitDescriptionExistsResponses[keyof GitDescriptionExistsResponses]; export type GitDiffTreeToTreeData = { body?: never; path: { /** * Repository namespace */ namespace: string; /** * Repository name */ repo: string; }; query: { /** * Old tree OID (commit or tree SHA) */ old_tree: string; /** * New tree OID (commit or tree SHA) */ new_tree: string; }; url: '/api/repos/{namespace}/{repo}/git/diff'; }; export type GitDiffTreeToTreeErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitDiffTreeToTreeError = GitDiffTreeToTreeErrors[keyof GitDiffTreeToTreeErrors]; export type GitDiffTreeToTreeResponses = { /** * Tree to tree diff */ 200: ApiResponseDiffResultResponse; }; export type GitDiffTreeToTreeResponse = GitDiffTreeToTreeResponses[keyof GitDiffTreeToTreeResponses]; export type GitDiffCommitToWorkdirData = { body?: never; path: { /** * Repository namespace */ namespace: string; /** * Repository name */ repo: string; /** * Commit identifier */ commit: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/diff/commit/{commit}'; }; export type GitDiffCommitToWorkdirErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitDiffCommitToWorkdirError = GitDiffCommitToWorkdirErrors[keyof GitDiffCommitToWorkdirErrors]; export type GitDiffCommitToWorkdirResponses = { /** * Commit to workdir diff */ 200: ApiResponseDiffResultResponse; }; export type GitDiffCommitToWorkdirResponse = GitDiffCommitToWorkdirResponses[keyof GitDiffCommitToWorkdirResponses]; export type GitDiffCommitToIndexData = { body?: never; path: { /** * Repository namespace */ namespace: string; /** * Repository name */ repo: string; /** * Commit identifier */ commit: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/diff/commit/{commit}/index'; }; export type GitDiffCommitToIndexErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitDiffCommitToIndexError = GitDiffCommitToIndexErrors[keyof GitDiffCommitToIndexErrors]; export type GitDiffCommitToIndexResponses = { /** * Commit to index diff */ 200: ApiResponseDiffResultResponse; }; export type GitDiffCommitToIndexResponse = GitDiffCommitToIndexResponses[keyof GitDiffCommitToIndexResponses]; export type GitDiffIndexToTreeData = { body?: never; path: { /** * Repository namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/diff/index'; }; export type GitDiffIndexToTreeErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitDiffIndexToTreeError = GitDiffIndexToTreeErrors[keyof GitDiffIndexToTreeErrors]; export type GitDiffIndexToTreeResponses = { /** * Index to tree diff */ 200: ApiResponseDiffResultResponse; }; export type GitDiffIndexToTreeResponse = GitDiffIndexToTreeResponses[keyof GitDiffIndexToTreeResponses]; export type GitDiffPatchIdData = { body?: never; path: { /** * Repository namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/diff/patch-id'; }; export type GitDiffPatchIdErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitDiffPatchIdError = GitDiffPatchIdErrors[keyof GitDiffPatchIdErrors]; export type GitDiffPatchIdResponses = { /** * Patch ID */ 200: ApiResponseDiffPatchIdResponse; }; export type GitDiffPatchIdResponse = GitDiffPatchIdResponses[keyof GitDiffPatchIdResponses]; export type GitDiffSideBySideData = { body?: never; path: { /** * Repository namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/diff/side-by-side'; }; export type GitDiffSideBySideErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitDiffSideBySideError = GitDiffSideBySideErrors[keyof GitDiffSideBySideErrors]; export type GitDiffSideBySideResponses = { /** * Side-by-side diff */ 200: ApiResponseSideBySideDiffResponse; }; export type GitDiffSideBySideResponse = GitDiffSideBySideResponses[keyof GitDiffSideBySideResponses]; export type GitDiffStatsData = { body?: never; path: { /** * Repository namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/diff/stats'; }; export type GitDiffStatsErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitDiffStatsError = GitDiffStatsErrors[keyof GitDiffStatsErrors]; export type GitDiffStatsResponses = { /** * Diff statistics */ 200: ApiResponseDiffStatsResponse; }; export type GitDiffStatsResponse = GitDiffStatsResponses[keyof GitDiffStatsResponses]; export type GitDiffWorkdirToIndexData = { body?: never; path: { /** * Repository namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/diff/workdir'; }; export type GitDiffWorkdirToIndexErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitDiffWorkdirToIndexError = GitDiffWorkdirToIndexErrors[keyof GitDiffWorkdirToIndexErrors]; export type GitDiffWorkdirToIndexResponses = { /** * Workdir to index diff */ 200: ApiResponseDiffResultResponse; }; export type GitDiffWorkdirToIndexResponse = GitDiffWorkdirToIndexResponses[keyof GitDiffWorkdirToIndexResponses]; export type GitMergeAbortData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/merge/abort'; }; export type GitMergeAbortErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitMergeAbortError = GitMergeAbortErrors[keyof GitMergeAbortErrors]; export type GitMergeAbortResponses = { /** * Abort an in-progress merge */ 200: unknown; }; export type GitMergeAnalysisForRefData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Reference name */ ref_name: string; /** * The OID to analyze merge against */ their_oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/merge/analysis/{ref_name}/{their_oid}'; }; export type GitMergeAnalysisForRefErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitMergeAnalysisForRefError = GitMergeAnalysisForRefErrors[keyof GitMergeAnalysisForRefErrors]; export type GitMergeAnalysisForRefResponses = { /** * Perform merge analysis for a specific ref */ 200: ApiResponseMergeAnalysisResponse; }; export type GitMergeAnalysisForRefResponse = GitMergeAnalysisForRefResponses[keyof GitMergeAnalysisForRefResponses]; export type GitMergeAnalysisData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * The OID to analyze merge against */ their_oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/merge/analysis/{their_oid}'; }; export type GitMergeAnalysisErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitMergeAnalysisError = GitMergeAnalysisErrors[keyof GitMergeAnalysisErrors]; export type GitMergeAnalysisResponses = { /** * Perform merge analysis */ 200: ApiResponseMergeAnalysisResponse; }; export type GitMergeAnalysisResponse = GitMergeAnalysisResponses[keyof GitMergeAnalysisResponses]; export type GitMergeBaseData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * First commit OID */ oid1: string; /** * Second commit OID */ oid2: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/merge/base/{oid1}/{oid2}'; }; export type GitMergeBaseErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitMergeBaseError = GitMergeBaseErrors[keyof GitMergeBaseErrors]; export type GitMergeBaseResponses = { /** * Get merge base of two commits */ 200: ApiResponseString; }; export type GitMergeBaseResponse = GitMergeBaseResponses[keyof GitMergeBaseResponses]; export type GitMergeCommitsData = { body: MergeCommitsRequest; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/merge/commits'; }; export type GitMergeCommitsErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitMergeCommitsError = GitMergeCommitsErrors[keyof GitMergeCommitsErrors]; export type GitMergeCommitsResponses = { /** * Merge commits */ 200: unknown; }; export type GitMergeheadListData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/merge/heads'; }; export type GitMergeheadListErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitMergeheadListError = GitMergeheadListErrors[keyof GitMergeheadListErrors]; export type GitMergeheadListResponses = { /** * List merge heads */ 200: ApiResponseVecMergeheadInfoResponse; }; export type GitMergeheadListResponse = GitMergeheadListResponses[keyof GitMergeheadListResponses]; export type GitMergeIsInProgressData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/merge/in-progress'; }; export type GitMergeIsInProgressErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitMergeIsInProgressError = GitMergeIsInProgressErrors[keyof GitMergeIsInProgressErrors]; export type GitMergeIsInProgressResponses = { /** * Check if merge is in progress */ 200: ApiResponseValue; }; export type GitMergeIsInProgressResponse = GitMergeIsInProgressResponses[keyof GitMergeIsInProgressResponses]; export type GitMergeIsConflictedData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/merge/is-conflicted'; }; export type GitMergeIsConflictedErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitMergeIsConflictedError = GitMergeIsConflictedErrors[keyof GitMergeIsConflictedErrors]; export type GitMergeIsConflictedResponses = { /** * Check if merge has conflicts */ 200: ApiResponseValue; }; export type GitMergeIsConflictedResponse = GitMergeIsConflictedResponses[keyof GitMergeIsConflictedResponses]; export type GitMergeTreesData = { body: MergeTreesRequest; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/merge/trees'; }; export type GitMergeTreesErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitMergeTreesError = GitMergeTreesErrors[keyof GitMergeTreesErrors]; export type GitMergeTreesResponses = { /** * Merge trees */ 200: unknown; }; export type GitReadmeData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: { /** * Git reference (branch, tag, commit). Defaults to HEAD. */ ref?: string; }; url: '/api/repos/{namespace}/{repo}/git/readme'; }; export type GitReadmeErrors = { /** * Unauthorized */ 401: ApiResponseApiError; }; export type GitReadmeError = GitReadmeErrors[keyof GitReadmeErrors]; export type GitReadmeResponses = { /** * Get README content */ 200: ApiResponseGitReadmeResponse; }; export type GitReadmeResponse2 = GitReadmeResponses[keyof GitReadmeResponses]; export type GitRefListData = { body?: never; path: { /** * Repository namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/refs'; }; export type GitRefListErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitRefListError = GitRefListErrors[keyof GitRefListErrors]; export type GitRefListResponses = { /** * List of refs */ 200: ApiResponseVecRefInfoResponse; }; export type GitRefListResponse = GitRefListResponses[keyof GitRefListResponses]; export type GitRefCreateData = { body: RefCreateRequest; path: { /** * Repository namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/refs'; }; export type GitRefCreateErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitRefCreateError = GitRefCreateErrors[keyof GitRefCreateErrors]; export type GitRefCreateResponses = { /** * Ref created */ 200: ApiResponseRefUpdateResponse; }; export type GitRefCreateResponse = GitRefCreateResponses[keyof GitRefCreateResponses]; export type GitRefUpdateData = { body: RefUpdateRequest; path: { /** * Repository namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/refs'; }; export type GitRefUpdateErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitRefUpdateError = GitRefUpdateErrors[keyof GitRefUpdateErrors]; export type GitRefUpdateResponses = { /** * Ref updated */ 200: ApiResponseRefUpdateResponse; }; export type GitRefUpdateResponse = GitRefUpdateResponses[keyof GitRefUpdateResponses]; export type GitRefRenameData = { body?: never; path: { /** * Repository namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/refs/rename'; }; export type GitRefRenameErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitRefRenameError = GitRefRenameErrors[keyof GitRefRenameErrors]; export type GitRefRenameResponses = { /** * Ref renamed */ 200: ApiResponseRefInfoResponse; }; export type GitRefRenameResponse = GitRefRenameResponses[keyof GitRefRenameResponses]; export type GitRefDeleteData = { body?: never; path: { /** * Repository namespace */ namespace: string; /** * Repository name */ repo: string; /** * Ref name */ name: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/refs/{name}'; }; export type GitRefDeleteErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitRefDeleteError = GitRefDeleteErrors[keyof GitRefDeleteErrors]; export type GitRefDeleteResponses = { /** * Ref deleted */ 200: ApiResponseRefDeleteResponse; }; export type GitRefDeleteResponse = GitRefDeleteResponses[keyof GitRefDeleteResponses]; export type GitRefGetData = { body?: never; path: { /** * Repository namespace */ namespace: string; /** * Repository name */ repo: string; /** * Ref name */ name: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/refs/{name}'; }; export type GitRefGetErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitRefGetError = GitRefGetErrors[keyof GitRefGetErrors]; export type GitRefGetResponses = { /** * Ref info */ 200: ApiResponseRefInfoResponse; }; export type GitRefGetResponse = GitRefGetResponses[keyof GitRefGetResponses]; export type GitRefExistsData = { body?: never; path: { /** * Repository namespace */ namespace: string; /** * Repository name */ repo: string; /** * Ref name */ name: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/refs/{name}/exists'; }; export type GitRefExistsErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitRefExistsError = GitRefExistsErrors[keyof GitRefExistsErrors]; export type GitRefExistsResponses = { /** * Ref exists check */ 200: ApiResponseRefExistsResponse; }; export type GitRefExistsResponse = GitRefExistsResponses[keyof GitRefExistsResponses]; export type GitRefTargetData = { body?: never; path: { /** * Repository namespace */ namespace: string; /** * Repository name */ repo: string; /** * Ref name */ name: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/refs/{name}/target'; }; export type GitRefTargetErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitRefTargetError = GitRefTargetErrors[keyof GitRefTargetErrors]; export type GitRefTargetResponses = { /** * Ref target */ 200: ApiResponseRefTargetResponse; }; export type GitRefTargetResponse = GitRefTargetResponses[keyof GitRefTargetResponses]; export type GitUnstarData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/star'; }; export type GitUnstarErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitUnstarError = GitUnstarErrors[keyof GitUnstarErrors]; export type GitUnstarResponses = { /** * Unstar the repository */ 200: unknown; }; export type GitStarData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/star'; }; export type GitStarErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitStarError = GitStarErrors[keyof GitStarErrors]; export type GitStarResponses = { /** * Star the repository */ 200: unknown; }; export type GitStarCountData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/star/count'; }; export type GitStarCountErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitStarCountError = GitStarCountErrors[keyof GitStarCountErrors]; export type GitStarCountResponses = { /** * Get star count for the repository */ 200: ApiResponseStarCountResponse; }; export type GitStarCountResponse = GitStarCountResponses[keyof GitStarCountResponses]; export type GitIsStarredData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/star/is-starred'; }; export type GitIsStarredErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitIsStarredError = GitIsStarredErrors[keyof GitIsStarredErrors]; export type GitIsStarredResponses = { /** * Check if the current user has starred the repository */ 200: ApiResponseValue; }; export type GitIsStarredResponse = GitIsStarredResponses[keyof GitIsStarredResponses]; export type GitStarUserListData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: { /** * Page number */ page?: number; /** * Items per page */ per_page?: number; }; url: '/api/repos/{namespace}/{repo}/git/star/users'; }; export type GitStarUserListErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitStarUserListError = GitStarUserListErrors[keyof GitStarUserListErrors]; export type GitStarUserListResponses = { /** * List users who starred the repository */ 200: ApiResponseStarUserListResponse; }; export type GitStarUserListResponse = GitStarUserListResponses[keyof GitStarUserListResponses]; export type GitTagListData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/tags'; }; export type GitTagListErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitTagListError = GitTagListErrors[keyof GitTagListErrors]; export type GitTagListResponses = { /** * List all tags */ 200: ApiResponseVecTagInfoResponse; }; export type GitTagListResponse = GitTagListResponses[keyof GitTagListResponses]; export type GitTagCreateData = { body: TagCreateRequest; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/tags'; }; export type GitTagCreateErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitTagCreateError = GitTagCreateErrors[keyof GitTagCreateErrors]; export type GitTagCreateResponses = { /** * Create an annotated tag */ 200: ApiResponseTagInfoResponse; }; export type GitTagCreateResponse = GitTagCreateResponses[keyof GitTagCreateResponses]; export type GitTagCountData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/tags/count'; }; export type GitTagCountErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitTagCountError = GitTagCountErrors[keyof GitTagCountErrors]; export type GitTagCountResponses = { /** * Get tag count */ 200: ApiResponseTagCountResponse; }; export type GitTagCountResponse = GitTagCountResponses[keyof GitTagCountResponses]; export type GitTagCreateLightweightData = { body: TagCreateLightweightRequest; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/tags/lightweight'; }; export type GitTagCreateLightweightErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitTagCreateLightweightError = GitTagCreateLightweightErrors[keyof GitTagCreateLightweightErrors]; export type GitTagCreateLightweightResponses = { /** * Create a lightweight tag */ 200: ApiResponseTagInfoResponse; }; export type GitTagCreateLightweightResponse = GitTagCreateLightweightResponses[keyof GitTagCreateLightweightResponses]; export type GitTagUpdateMessageData = { body: TagUpdateMessageRequest; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/tags/message'; }; export type GitTagUpdateMessageErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitTagUpdateMessageError = GitTagUpdateMessageErrors[keyof GitTagUpdateMessageErrors]; export type GitTagUpdateMessageResponses = { /** * Update tag message */ 200: ApiResponseTagInfoResponse; }; export type GitTagUpdateMessageResponse = GitTagUpdateMessageResponses[keyof GitTagUpdateMessageResponses]; export type GitTagListNamesData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/tags/names'; }; export type GitTagListNamesErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitTagListNamesError = GitTagListNamesErrors[keyof GitTagListNamesErrors]; export type GitTagListNamesResponses = { /** * List all tag names */ 200: ApiResponseVecString; }; export type GitTagListNamesResponse = GitTagListNamesResponses[keyof GitTagListNamesResponses]; export type GitTagRenameData = { body: TagRenameQuery; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/tags/rename'; }; export type GitTagRenameErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitTagRenameError = GitTagRenameErrors[keyof GitTagRenameErrors]; export type GitTagRenameResponses = { /** * Rename a tag */ 200: ApiResponseTagInfoResponse; }; export type GitTagRenameResponse = GitTagRenameResponses[keyof GitTagRenameResponses]; export type GitTagSummaryData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/tags/summary'; }; export type GitTagSummaryErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitTagSummaryError = GitTagSummaryErrors[keyof GitTagSummaryErrors]; export type GitTagSummaryResponses = { /** * Get tag summary */ 200: ApiResponseTagSummaryResponse; }; export type GitTagSummaryResponse = GitTagSummaryResponses[keyof GitTagSummaryResponses]; export type GitTagDeleteData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Tag name */ name: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/tags/{name}'; }; export type GitTagDeleteErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitTagDeleteError = GitTagDeleteErrors[keyof GitTagDeleteErrors]; export type GitTagDeleteResponses = { /** * Delete a tag */ 200: unknown; }; export type GitTagGetData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Tag name */ name: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/tags/{name}'; }; export type GitTagGetErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitTagGetError = GitTagGetErrors[keyof GitTagGetErrors]; export type GitTagGetResponses = { /** * Get a tag by name */ 200: ApiResponseTagInfoResponse; }; export type GitTagGetResponse = GitTagGetResponses[keyof GitTagGetResponses]; export type GitTagExistsData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Tag name */ name: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/tags/{name}/exists'; }; export type GitTagExistsErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitTagExistsError = GitTagExistsErrors[keyof GitTagExistsErrors]; export type GitTagExistsResponses = { /** * Check if a tag exists */ 200: ApiResponseTagExistsResponse; }; export type GitTagExistsResponse = GitTagExistsResponses[keyof GitTagExistsResponses]; export type GitTagIsAnnotatedData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Tag name */ name: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/tags/{name}/is-annotated'; }; export type GitTagIsAnnotatedErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitTagIsAnnotatedError = GitTagIsAnnotatedErrors[keyof GitTagIsAnnotatedErrors]; export type GitTagIsAnnotatedResponses = { /** * Check if a tag is annotated */ 200: ApiResponseTagIsAnnotatedResponse; }; export type GitTagIsAnnotatedResponse = GitTagIsAnnotatedResponses[keyof GitTagIsAnnotatedResponses]; export type GitTagMessageData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Tag name */ name: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/tags/{name}/message'; }; export type GitTagMessageErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitTagMessageError = GitTagMessageErrors[keyof GitTagMessageErrors]; export type GitTagMessageResponses = { /** * Get tag message */ 200: ApiResponseTagMessageResponse; }; export type GitTagMessageResponse = GitTagMessageResponses[keyof GitTagMessageResponses]; export type GitTagTaggerData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Tag name */ name: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/tags/{name}/tagger'; }; export type GitTagTaggerErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitTagTaggerError = GitTagTaggerErrors[keyof GitTagTaggerErrors]; export type GitTagTaggerResponses = { /** * Get tag tagger info */ 200: ApiResponseTagTaggerResponse; }; export type GitTagTaggerResponse = GitTagTaggerResponses[keyof GitTagTaggerResponses]; export type GitTagTargetData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Tag name */ name: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/tags/{name}/target'; }; export type GitTagTargetErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitTagTargetError = GitTagTargetErrors[keyof GitTagTargetErrors]; export type GitTagTargetResponses = { /** * Get tag target OID */ 200: ApiResponseTagTargetResponse; }; export type GitTagTargetResponse = GitTagTargetResponses[keyof GitTagTargetResponses]; export type GitTreeDiffstatsData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/tree/diff-stats'; }; export type GitTreeDiffstatsErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitTreeDiffstatsError = GitTreeDiffstatsErrors[keyof GitTreeDiffstatsErrors]; export type GitTreeDiffstatsResponses = { /** * Get tree diff stats */ 200: ApiResponseTreeDiffStatsResponse; }; export type GitTreeDiffstatsResponse = GitTreeDiffstatsResponses[keyof GitTreeDiffstatsResponses]; export type GitTreeEntryByCommitPathData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Commit OID */ commit: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/tree/{commit}/commit-entry-by-path'; }; export type GitTreeEntryByCommitPathErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitTreeEntryByCommitPathError = GitTreeEntryByCommitPathErrors[keyof GitTreeEntryByCommitPathErrors]; export type GitTreeEntryByCommitPathResponses = { /** * Get tree entry by commit path */ 200: ApiResponseTreeEntryResponse; }; export type GitTreeEntryByCommitPathResponse = GitTreeEntryByCommitPathResponses[keyof GitTreeEntryByCommitPathResponses]; export type GitTreeGetData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Tree object ID */ oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/tree/{oid}'; }; export type GitTreeGetErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitTreeGetError = GitTreeGetErrors[keyof GitTreeGetErrors]; export type GitTreeGetResponses = { /** * Get tree info */ 200: ApiResponseTreeInfoResponse; }; export type GitTreeGetResponse = GitTreeGetResponses[keyof GitTreeGetResponses]; export type GitTreeEntryByPathData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Tree object ID */ oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/tree/{oid}/entry-by-path'; }; export type GitTreeEntryByPathErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitTreeEntryByPathError = GitTreeEntryByPathErrors[keyof GitTreeEntryByPathErrors]; export type GitTreeEntryByPathResponses = { /** * Get tree entry by path */ 200: ApiResponseTreeEntryResponse; }; export type GitTreeEntryByPathResponse = GitTreeEntryByPathResponses[keyof GitTreeEntryByPathResponses]; export type GitTreeEntryCountData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Tree object ID */ oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/tree/{oid}/entry-count'; }; export type GitTreeEntryCountErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitTreeEntryCountError = GitTreeEntryCountErrors[keyof GitTreeEntryCountErrors]; export type GitTreeEntryCountResponses = { /** * Get tree entry count */ 200: ApiResponseTreeEntryCountResponse; }; export type GitTreeEntryCountResponse = GitTreeEntryCountResponses[keyof GitTreeEntryCountResponses]; export type GitTreeEntryData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Tree object ID */ oid: string; /** * Entry index */ index: number; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/tree/{oid}/entry/{index}'; }; export type GitTreeEntryErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitTreeEntryError = GitTreeEntryErrors[keyof GitTreeEntryErrors]; export type GitTreeEntryResponses = { /** * Get tree entry by index */ 200: ApiResponseTreeEntryResponse; }; export type GitTreeEntryResponse = GitTreeEntryResponses[keyof GitTreeEntryResponses]; export type GitTreeExistsData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Tree object ID */ oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/tree/{oid}/exists'; }; export type GitTreeExistsErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitTreeExistsError = GitTreeExistsErrors[keyof GitTreeExistsErrors]; export type GitTreeExistsResponses = { /** * Check if tree exists */ 200: ApiResponseTreeExistsResponse; }; export type GitTreeExistsResponse = GitTreeExistsResponses[keyof GitTreeExistsResponses]; export type GitTreeIsEmptyData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Tree object ID */ oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/tree/{oid}/is-empty'; }; export type GitTreeIsEmptyErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitTreeIsEmptyError = GitTreeIsEmptyErrors[keyof GitTreeIsEmptyErrors]; export type GitTreeIsEmptyResponses = { /** * Check if tree is empty */ 200: ApiResponseTreeIsEmptyResponse; }; export type GitTreeIsEmptyResponse = GitTreeIsEmptyResponses[keyof GitTreeIsEmptyResponses]; export type GitTreeListData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; /** * Tree object ID */ oid: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/tree/{oid}/list'; }; export type GitTreeListErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitTreeListError = GitTreeListErrors[keyof GitTreeListErrors]; export type GitTreeListResponses = { /** * List tree entries */ 200: ApiResponseVecTreeEntryResponse; }; export type GitTreeListResponse = GitTreeListResponses[keyof GitTreeListResponses]; export type GitUnwatchData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/watch'; }; export type GitUnwatchErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitUnwatchError = GitUnwatchErrors[keyof GitUnwatchErrors]; export type GitUnwatchResponses = { /** * Unwatch the repository */ 200: unknown; }; export type GitWatchData = { body: GitWatchRequest; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/watch'; }; export type GitWatchErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitWatchError = GitWatchErrors[keyof GitWatchErrors]; export type GitWatchResponses = { /** * Watch the repository */ 200: unknown; }; export type GitWatchCountData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/watch/count'; }; export type GitWatchCountErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitWatchCountError = GitWatchCountErrors[keyof GitWatchCountErrors]; export type GitWatchCountResponses = { /** * Get watch count for the repository */ 200: ApiResponseWatchCountResponse; }; export type GitWatchCountResponse = GitWatchCountResponses[keyof GitWatchCountResponses]; export type GitIsWatchedData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/watch/is-watched'; }; export type GitIsWatchedErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitIsWatchedError = GitIsWatchedErrors[keyof GitIsWatchedErrors]; export type GitIsWatchedResponses = { /** * Check if the current user is watching the repository */ 200: ApiResponseValue; }; export type GitIsWatchedResponse = GitIsWatchedResponses[keyof GitIsWatchedResponses]; export type GitWatchUserListData = { body?: never; path: { /** * Project namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: { /** * Page number */ page?: number; /** * Items per page */ per_page?: number; }; url: '/api/repos/{namespace}/{repo}/git/watch/users'; }; export type GitWatchUserListErrors = { /** * Unauthorized */ 401: ApiResponseApiError; /** * Not found */ 404: ApiResponseApiError; }; export type GitWatchUserListError = GitWatchUserListErrors[keyof GitWatchUserListErrors]; export type GitWatchUserListResponses = { /** * List users who are watching the repository */ 200: ApiResponseWatchUserListResponse; }; export type GitWatchUserListResponse = GitWatchUserListResponses[keyof GitWatchUserListResponses]; export type GitWebhookListData = { body?: never; path: { /** * Repository namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/webhooks'; }; export type GitWebhookListErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type GitWebhookListResponses = { /** * List webhooks */ 200: ApiResponseWebhookListResponse; }; export type GitWebhookListResponse = GitWebhookListResponses[keyof GitWebhookListResponses]; export type GitWebhookCreateData = { body: CreateWebhookParams; path: { /** * Repository namespace */ namespace: string; /** * Repository name */ repo: string; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/webhooks'; }; export type GitWebhookCreateErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type GitWebhookCreateResponses = { /** * Create webhook */ 200: ApiResponseWebhookResponse; }; export type GitWebhookCreateResponse = GitWebhookCreateResponses[keyof GitWebhookCreateResponses]; export type GitWebhookDeleteData = { body?: never; path: { /** * Repository namespace */ namespace: string; /** * Repository name */ repo: string; /** * Webhook ID */ webhook_id: number; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/webhooks/{webhook_id}'; }; export type GitWebhookDeleteErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type GitWebhookDeleteResponses = { /** * Delete webhook */ 200: unknown; }; export type GitWebhookGetData = { body?: never; path: { /** * Repository namespace */ namespace: string; /** * Repository name */ repo: string; /** * Webhook ID */ webhook_id: number; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/webhooks/{webhook_id}'; }; export type GitWebhookGetErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type GitWebhookGetResponses = { /** * Get webhook */ 200: ApiResponseWebhookResponse; }; export type GitWebhookGetResponse = GitWebhookGetResponses[keyof GitWebhookGetResponses]; export type GitWebhookUpdateData = { body: UpdateWebhookParams; path: { /** * Repository namespace */ namespace: string; /** * Repository name */ repo: string; /** * Webhook ID */ webhook_id: number; }; query?: never; url: '/api/repos/{namespace}/{repo}/git/webhooks/{webhook_id}'; }; export type GitWebhookUpdateErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type GitWebhookUpdateResponses = { /** * Update webhook */ 200: ApiResponseWebhookResponse; }; export type GitWebhookUpdateResponse = GitWebhookUpdateResponses[keyof GitWebhookUpdateResponses]; export type CategoryDeleteData = { body?: never; path: { category_id: string; }; query?: never; url: '/api/room-categories/{category_id}'; }; export type CategoryDeleteErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type CategoryDeleteResponses = { /** * Delete room category */ 200: unknown; }; export type CategoryUpdateData = { body: RoomCategoryUpdateRequest; path: { category_id: string; }; query?: never; url: '/api/room-categories/{category_id}'; }; export type CategoryUpdateErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type CategoryUpdateResponses = { /** * Update room category */ 200: ApiResponseRoomCategoryResponse; }; export type CategoryUpdateResponse = CategoryUpdateResponses[keyof CategoryUpdateResponses]; export type RoomDeleteData = { body?: never; path: { room_id: string; }; query?: never; url: '/api/rooms/{room_id}'; }; export type RoomDeleteErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type RoomDeleteResponses = { /** * Delete room */ 200: unknown; }; export type RoomGetData = { body?: never; path: { room_id: string; }; query?: never; url: '/api/rooms/{room_id}'; }; export type RoomGetErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type RoomGetResponses = { /** * Get room */ 200: ApiResponseRoomResponse; }; export type RoomGetResponse = RoomGetResponses[keyof RoomGetResponses]; export type RoomUpdateData = { body: RoomUpdateRequest; path: { room_id: string; }; query?: never; url: '/api/rooms/{room_id}'; }; export type RoomUpdateErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type RoomUpdateResponses = { /** * Update room */ 200: ApiResponseRoomResponse; }; export type RoomUpdateResponse = RoomUpdateResponses[keyof RoomUpdateResponses]; export type AiListData = { body?: never; path: { room_id: string; }; query?: never; url: '/api/rooms/{room_id}/ai'; }; export type AiListErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type AiListResponses = { /** * List room AI configurations */ 200: ApiResponseVecRoomAiResponse; }; export type AiListResponse = AiListResponses[keyof AiListResponses]; export type AiUpsertData = { body: RoomAiUpsertRequest; path: { room_id: string; }; query?: never; url: '/api/rooms/{room_id}/ai'; }; export type AiUpsertErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type AiUpsertResponses = { /** * Upsert room AI configuration */ 200: ApiResponseRoomAiResponse; }; export type AiUpsertResponse = AiUpsertResponses[keyof AiUpsertResponses]; export type AiDeleteData = { body?: never; path: { room_id: string; model_id: string; }; query?: never; url: '/api/rooms/{room_id}/ai/{model_id}'; }; export type AiDeleteErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type AiDeleteResponses = { /** * Delete room AI configuration */ 200: unknown; }; export type MemberListData = { body?: never; path: { room_id: string; }; query?: never; url: '/api/rooms/{room_id}/members'; }; export type MemberListErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type MemberListResponses = { /** * List room members */ 200: ApiResponseVecRoomMemberResponse; }; export type MemberListResponse2 = MemberListResponses[keyof MemberListResponses]; export type MemberAddData = { body: RoomMemberAddRequest; path: { room_id: string; }; query?: never; url: '/api/rooms/{room_id}/members'; }; export type MemberAddErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type MemberAddResponses = { /** * Add room member */ 200: ApiResponseRoomMemberResponse; }; export type MemberAddResponse = MemberAddResponses[keyof MemberAddResponses]; export type MemberSetReadSeqData = { body: RoomMemberReadSeqRequest; path: { room_id: string; }; query?: never; url: '/api/rooms/{room_id}/members/me/read-seq'; }; export type MemberSetReadSeqErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type MemberSetReadSeqResponses = { /** * Set member read sequence */ 200: ApiResponseRoomMemberResponse; }; export type MemberSetReadSeqResponse = MemberSetReadSeqResponses[keyof MemberSetReadSeqResponses]; export type MemberRemoveData = { body?: never; path: { room_id: string; user_id: string; }; query?: never; url: '/api/rooms/{room_id}/members/{user_id}'; }; export type MemberRemoveErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type MemberRemoveResponses = { /** * Remove room member */ 200: unknown; }; export type MemberUpdateRoleData = { body: RoomMemberRoleUpdateRequest; path: { room_id: string; user_id: string; }; query?: never; url: '/api/rooms/{room_id}/members/{user_id}/role'; }; export type MemberUpdateRoleErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type MemberUpdateRoleResponses = { /** * Update member role */ 200: ApiResponseRoomMemberResponse; }; export type MemberUpdateRoleResponse = MemberUpdateRoleResponses[keyof MemberUpdateRoleResponses]; export type MessageCreateData = { body: RoomMessageCreateRequest; path: { room_id: string; }; query?: never; url: '/api/rooms/{room_id}/messages'; }; export type MessageCreateErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type MessageCreateResponses = { /** * Create room message */ 200: ApiResponseRoomMessageResponse; }; export type MessageCreateResponse = MessageCreateResponses[keyof MessageCreateResponses]; export type MessageSearchData = { body?: never; path: { room_id: string; }; query: { q: string; limit?: number; offset?: number; }; url: '/api/rooms/{room_id}/messages/search'; }; export type MessageSearchErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type MessageSearchResponses = { /** * Search messages */ 200: ApiResponseMessageSearchResponse; }; export type MessageSearchResponse2 = MessageSearchResponses[keyof MessageSearchResponses]; export type MessageUpdateData = { body: RoomMessageUpdateRequest; path: { room_id: string; message_id: string; }; query?: never; url: '/api/rooms/{room_id}/messages/{message_id}'; }; export type MessageUpdateErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type MessageUpdateResponses = { /** * Update room message */ 200: ApiResponseRoomMessageResponse; }; export type MessageUpdateResponse = MessageUpdateResponses[keyof MessageUpdateResponses]; export type MessageEditHistoryData = { body?: never; path: { room_id: string; message_id: string; }; query?: never; url: '/api/rooms/{room_id}/messages/{message_id}/edit-history'; }; export type MessageEditHistoryErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type MessageEditHistoryResponses = { /** * Get message edit history */ 200: ApiResponseMessageEditHistoryResponse; }; export type MessageEditHistoryResponse2 = MessageEditHistoryResponses[keyof MessageEditHistoryResponses]; export type PinRemoveData = { body?: never; path: { room_id: string; message_id: string; }; query?: never; url: '/api/rooms/{room_id}/messages/{message_id}/pin'; }; export type PinRemoveErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type PinRemoveResponses = { /** * Remove room pin */ 200: unknown; }; export type PinAddData = { body?: never; path: { room_id: string; message_id: string; }; query?: never; url: '/api/rooms/{room_id}/messages/{message_id}/pin'; }; export type PinAddErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type PinAddResponses = { /** * Add room pin */ 200: ApiResponseRoomPinResponse; }; export type PinAddResponse = PinAddResponses[keyof PinAddResponses]; export type MessageRevokeData = { body?: never; path: { room_id: string; message_id: string; }; query?: never; url: '/api/rooms/{room_id}/messages/{message_id}/revoke'; }; export type MessageRevokeErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type MessageRevokeResponses = { /** * Revoke room message */ 200: ApiResponseRoomMessageResponse; }; export type MessageRevokeResponse = MessageRevokeResponses[keyof MessageRevokeResponses]; export type PinListData = { body?: never; path: { room_id: string; }; query?: never; url: '/api/rooms/{room_id}/pins'; }; export type PinListErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type PinListResponses = { /** * List room pins */ 200: ApiResponseVecRoomPinResponse; }; export type PinListResponse = PinListResponses[keyof PinListResponses]; export type ThreadListData = { body?: never; path: { room_id: string; }; query?: never; url: '/api/rooms/{room_id}/threads'; }; export type ThreadListErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type ThreadListResponses = { /** * List room threads */ 200: ApiResponseVecRoomThreadResponse; }; export type ThreadListResponse = ThreadListResponses[keyof ThreadListResponses]; export type ThreadCreateData = { body: RoomThreadCreateRequest; path: { room_id: string; }; query?: never; url: '/api/rooms/{room_id}/threads'; }; export type ThreadCreateErrors = { /** * Unauthorized */ 401: unknown; /** * Forbidden */ 403: unknown; /** * Not found */ 404: unknown; }; export type ThreadCreateResponses = { /** * Create room thread */ 200: ApiResponseRoomThreadResponse; }; export type ThreadCreateResponse = ThreadCreateResponses[keyof ThreadCreateResponses]; export type ThreadMessagesData = { body?: never; path: { room_id: string; thread_id: string; }; query?: { before_seq?: number; after_seq?: number; limit?: number; }; url: '/api/rooms/{room_id}/threads/{thread_id}/messages'; }; export type ThreadMessagesErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type ThreadMessagesResponses = { /** * List thread messages */ 200: ApiResponseRoomMessageListResponse; }; export type ThreadMessagesResponse = ThreadMessagesResponses[keyof ThreadMessagesResponses]; export type SearchData = { body?: never; path?: never; query: { /** * Search keyword */ q: string; /** * Comma-separated types: projects,repos,issues,users. Default: all */ type?: string; /** * Page number, default 1 */ page?: number; /** * Results per page, default 20, max 100 */ per_page?: number; }; url: '/api/search'; }; export type SearchErrors = { /** * Bad request */ 400: unknown; /** * Unauthorized */ 401: unknown; }; export type SearchResponses = { /** * Search results */ 200: ApiResponseSearchResponse; }; export type SearchResponse2 = SearchResponses[keyof SearchResponses]; export type ListAccessKeysData = { body?: never; path?: never; query?: never; url: '/api/users/me/access-keys'; }; export type ListAccessKeysErrors = { /** * Unauthorized */ 401: unknown; }; export type ListAccessKeysResponses = { /** * List access keys */ 200: ApiResponseAccessKeyListResponse; }; export type ListAccessKeysResponse = ListAccessKeysResponses[keyof ListAccessKeysResponses]; export type CreateAccessKeyData = { body: CreateAccessKeyParams; path?: never; query?: never; url: '/api/users/me/access-keys'; }; export type CreateAccessKeyErrors = { /** * Unauthorized */ 401: unknown; }; export type CreateAccessKeyResponses = { /** * Create access key */ 200: ApiResponseAccessKeyResponse; }; export type CreateAccessKeyResponse = CreateAccessKeyResponses[keyof CreateAccessKeyResponses]; export type DeleteAccessKeyData = { body?: never; path: { access_key_id: number; }; query?: never; url: '/api/users/me/access-keys/{access_key_id}'; }; export type DeleteAccessKeyErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type DeleteAccessKeyResponses = { /** * Delete access key */ 200: unknown; }; export type GetMyContributionHeatmapData = { body?: never; path?: never; query?: never; url: '/api/users/me/heatmap'; }; export type GetMyContributionHeatmapErrors = { /** * Unauthorized */ 401: unknown; }; export type GetMyContributionHeatmapResponses = { /** * Get my contribution heatmap */ 200: ApiResponseContributionHeatmapResponse; }; export type GetMyContributionHeatmapResponse = GetMyContributionHeatmapResponses[keyof GetMyContributionHeatmapResponses]; export type ListSshKeysData = { body?: never; path?: never; query?: never; url: '/api/users/me/keys'; }; export type ListSshKeysErrors = { /** * Unauthorized */ 401: unknown; }; export type ListSshKeysResponses = { /** * List SSH keys */ 200: ApiResponseSshKeyListResponse; }; export type ListSshKeysResponse = ListSshKeysResponses[keyof ListSshKeysResponses]; export type AddSshKeyData = { body: AddSshKeyParams; path?: never; query?: never; url: '/api/users/me/keys'; }; export type AddSshKeyErrors = { /** * Unauthorized */ 401: unknown; }; export type AddSshKeyResponses = { /** * Add SSH key */ 200: ApiResponseSshKeyResponse; }; export type AddSshKeyResponse = AddSshKeyResponses[keyof AddSshKeyResponses]; export type DeleteSshKeyData = { body?: never; path: { key_id: number; }; query?: never; url: '/api/users/me/keys/{key_id}'; }; export type DeleteSshKeyErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type DeleteSshKeyResponses = { /** * Delete SSH key */ 200: unknown; }; export type GetSshKeyData = { body?: never; path: { key_id: number; }; query?: never; url: '/api/users/me/keys/{key_id}'; }; export type GetSshKeyErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type GetSshKeyResponses = { /** * Get SSH key */ 200: ApiResponseSshKeyResponse; }; export type GetSshKeyResponse = GetSshKeyResponses[keyof GetSshKeyResponses]; export type UpdateSshKeyData = { body: UpdateSshKeyParams; path: { key_id: number; }; query?: never; url: '/api/users/me/keys/{key_id}'; }; export type UpdateSshKeyErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type UpdateSshKeyResponses = { /** * Update SSH key */ 200: ApiResponseSshKeyResponse; }; export type UpdateSshKeyResponse = UpdateSshKeyResponses[keyof UpdateSshKeyResponses]; export type GetNotificationPreferencesData = { body?: never; path?: never; query?: never; url: '/api/users/me/notifications/preferences'; }; export type GetNotificationPreferencesErrors = { /** * Unauthorized */ 401: unknown; }; export type GetNotificationPreferencesResponses = { /** * Get notification preferences */ 200: ApiResponseNotificationPreferencesResponse; }; export type GetNotificationPreferencesResponse = GetNotificationPreferencesResponses[keyof GetNotificationPreferencesResponses]; export type UpdateNotificationPreferencesData = { body: NotificationPreferencesParams; path?: never; query?: never; url: '/api/users/me/notifications/preferences'; }; export type UpdateNotificationPreferencesErrors = { /** * Unauthorized */ 401: unknown; }; export type UpdateNotificationPreferencesResponses = { /** * Update notification preferences */ 200: ApiResponseNotificationPreferencesResponse; }; export type UpdateNotificationPreferencesResponse = UpdateNotificationPreferencesResponses[keyof UpdateNotificationPreferencesResponses]; export type GetPreferencesData = { body?: never; path?: never; query?: never; url: '/api/users/me/preferences'; }; export type GetPreferencesErrors = { /** * Unauthorized */ 401: unknown; }; export type GetPreferencesResponses = { /** * Get user preferences */ 200: ApiResponsePreferencesResponse; }; export type GetPreferencesResponse = GetPreferencesResponses[keyof GetPreferencesResponses]; export type UpdatePreferencesData = { body: PreferencesParams; path?: never; query?: never; url: '/api/users/me/preferences'; }; export type UpdatePreferencesErrors = { /** * Unauthorized */ 401: unknown; }; export type UpdatePreferencesResponses = { /** * Update user preferences */ 200: ApiResponsePreferencesResponse; }; export type UpdatePreferencesResponse = UpdatePreferencesResponses[keyof UpdatePreferencesResponses]; export type GetMyProfileData = { body?: never; path?: never; query?: never; url: '/api/users/me/profile'; }; export type GetMyProfileErrors = { /** * Unauthorized */ 401: unknown; }; export type GetMyProfileResponses = { /** * Get current user profile */ 200: ApiResponseProfileResponse; }; export type GetMyProfileResponse = GetMyProfileResponses[keyof GetMyProfileResponses]; export type UpdateMyProfileData = { body: UpdateProfileParams; path?: never; query?: never; url: '/api/users/me/profile'; }; export type UpdateMyProfileErrors = { /** * Unauthorized */ 401: unknown; }; export type UpdateMyProfileResponses = { /** * Update current user profile */ 200: ApiResponseProfileResponse; }; export type UpdateMyProfileResponse = UpdateMyProfileResponses[keyof UpdateMyProfileResponses]; export type GetCurrentUserProjectsData = { body?: never; path?: never; query?: never; url: '/api/users/me/projects'; }; export type GetCurrentUserProjectsErrors = { /** * Unauthorized */ 401: unknown; }; export type GetCurrentUserProjectsResponses = { /** * Get current user projects */ 200: ApiResponseUserProjectsResponse; }; export type GetCurrentUserProjectsResponse = GetCurrentUserProjectsResponses[keyof GetCurrentUserProjectsResponses]; export type GetCurrentUserReposData = { body?: never; path?: never; query?: never; url: '/api/users/me/repos'; }; export type GetCurrentUserReposErrors = { /** * Unauthorized */ 401: unknown; }; export type GetCurrentUserReposResponses = { /** * Get current user repos */ 200: ApiResponseUserReposResponse; }; export type GetCurrentUserReposResponse = GetCurrentUserReposResponses[keyof GetCurrentUserReposResponses]; export type GetProfileByUsernameData = { body?: never; path: { username: string; }; query?: never; url: '/api/users/{username}'; }; export type GetProfileByUsernameErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type GetProfileByUsernameResponses = { /** * Get user profile */ 200: ApiResponseProfileResponse; }; export type GetProfileByUsernameResponse = GetProfileByUsernameResponses[keyof GetProfileByUsernameResponses]; export type UnsubscribeTargetData = { body?: never; path: { username: string; }; query?: never; url: '/api/users/{username}/follow'; }; export type UnsubscribeTargetErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type UnsubscribeTargetResponses = { /** * Unfollow user */ 200: unknown; }; export type IsSubscribedToTargetData = { body?: never; path: { username: string; }; query?: never; url: '/api/users/{username}/follow'; }; export type IsSubscribedToTargetErrors = { /** * Unauthorized */ 401: unknown; }; export type IsSubscribedToTargetResponses = { /** * Check if following user */ 200: unknown; }; export type SubscribeTargetData = { body?: never; path: { username: string; }; query?: never; url: '/api/users/{username}/follow'; }; export type SubscribeTargetErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type SubscribeTargetResponses = { /** * Follow user */ 200: unknown; }; export type GetSubscribersData = { body?: never; path: { username: string; }; query?: never; url: '/api/users/{username}/followers'; }; export type GetSubscribersErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type GetSubscribersResponses = { /** * List followers */ 200: ApiResponseVecSubscriptionInfo; }; export type GetSubscribersResponse = GetSubscribersResponses[keyof GetSubscribersResponses]; export type GetSubscriberCountData = { body?: never; path: { username: string; }; query?: never; url: '/api/users/{username}/followers/count'; }; export type GetSubscriberCountErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type GetSubscriberCountResponses = { /** * Get follower count */ 200: unknown; }; export type GetSubscriptionCountData = { body?: never; path: { username: string; }; query?: never; url: '/api/users/{username}/following/count'; }; export type GetSubscriptionCountErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type GetSubscriptionCountResponses = { /** * Get following count */ 200: unknown; }; export type GetContributionHeatmapData = { body?: never; path: { username: string; }; query?: never; url: '/api/users/{username}/heatmap'; }; export type GetContributionHeatmapErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type GetContributionHeatmapResponses = { /** * Get contribution heatmap */ 200: ApiResponseContributionHeatmapResponse; }; export type GetContributionHeatmapResponse = GetContributionHeatmapResponses[keyof GetContributionHeatmapResponses]; export type GetUserInfoData = { body?: never; path: { username: string; }; query?: never; url: '/api/users/{username}/info'; }; export type GetUserInfoErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type GetUserInfoResponses = { /** * Get user info */ 200: ApiResponseUserInfoExternal; }; export type GetUserInfoResponse = GetUserInfoResponses[keyof GetUserInfoResponses]; export type GetUserProjectsData = { body?: never; path: { username: string; }; query?: never; url: '/api/users/{username}/projects'; }; export type GetUserProjectsErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type GetUserProjectsResponses = { /** * Get user projects */ 200: ApiResponseUserProjectsResponse; }; export type GetUserProjectsResponse = GetUserProjectsResponses[keyof GetUserProjectsResponses]; export type GetUserReposData = { body?: never; path: { username: string; }; query?: never; url: '/api/users/{username}/repos'; }; export type GetUserReposErrors = { /** * Unauthorized */ 401: unknown; /** * Not found */ 404: unknown; }; export type GetUserReposResponses = { /** * Get user repos */ 200: ApiResponseUserReposResponse; }; export type GetUserReposResponse = GetUserReposResponses[keyof GetUserReposResponses]; export type WorkspaceCreateData = { body: WorkspaceInitParams; path?: never; query?: never; url: '/api/workspaces'; }; export type WorkspaceCreateErrors = { /** * Unauthorized */ 401: unknown; /** * Slug or name already exists */ 409: unknown; }; export type WorkspaceCreateResponses = { /** * Create workspace */ 200: ApiResponseWorkspaceInfoResponse; }; export type WorkspaceCreateResponse = WorkspaceCreateResponses[keyof WorkspaceCreateResponses]; export type WorkspaceAcceptInvitationData = { body: WorkspaceInviteAcceptParams; path?: never; query?: never; url: '/api/workspaces/invitations/accept'; }; export type WorkspaceAcceptInvitationErrors = { /** * Invalid or expired token */ 400: unknown; /** * Unauthorized */ 401: unknown; /** * Already accepted */ 409: unknown; }; export type WorkspaceAcceptInvitationResponses = { /** * Accept invitation */ 200: ApiResponseWorkspaceInfoResponse; }; export type WorkspaceAcceptInvitationResponse = WorkspaceAcceptInvitationResponses[keyof WorkspaceAcceptInvitationResponses]; export type WorkspaceMyInvitationsData = { body?: never; path?: never; query?: never; url: '/api/workspaces/me/invitations'; }; export type WorkspaceMyInvitationsErrors = { /** * Unauthorized */ 401: unknown; }; export type ApiResponseVecMyWorkspaceInvitation = { code: number; message: string; data?: Array; }; export type WorkspaceMyInvitationsResponses = { /** * List my workspace invitations */ 200: ApiResponseVecMyWorkspaceInvitation; }; export type WorkspaceMyInvitationsResponse = WorkspaceMyInvitationsResponses[keyof WorkspaceMyInvitationsResponses]; export type WorkspaceAcceptInvitationBySlugData = { body: WorkspaceAcceptBySlugParams; path?: never; query?: never; url: '/api/workspaces/invitations/accept-by-slug'; }; export type WorkspaceAcceptInvitationBySlugErrors = { /** * Unauthorized */ 401: unknown; /** * Invitation not found */ 404: unknown; /** * Already accepted */ 409: unknown; }; export type WorkspaceAcceptInvitationBySlugResponses = { /** * Accept invitation */ 200: ApiResponseWorkspaceInfoResponse; }; export type WorkspaceAcceptInvitationBySlugResponse = WorkspaceAcceptInvitationBySlugResponses[keyof WorkspaceAcceptInvitationBySlugResponses]; export type WorkspaceListData = { body?: never; path?: never; query?: never; url: '/api/workspaces/me'; }; export type WorkspaceListErrors = { /** * Unauthorized */ 401: unknown; }; export type WorkspaceListResponses = { /** * List my workspaces */ 200: ApiResponseWorkspaceListResponse; }; export type WorkspaceListResponse2 = WorkspaceListResponses[keyof WorkspaceListResponses]; export type WorkspaceDeleteData = { body?: never; path: { slug: string; }; query?: never; url: '/api/workspaces/{slug}'; }; export type WorkspaceDeleteErrors = { /** * Unauthorized */ 401: unknown; /** * Permission denied (owner only) */ 403: unknown; /** * Workspace not found */ 404: unknown; }; export type WorkspaceDeleteResponses = { /** * Delete workspace */ 200: unknown; }; export type WorkspaceInfoData = { body?: never; path: { slug: string; }; query?: never; url: '/api/workspaces/{slug}'; }; export type WorkspaceInfoErrors = { /** * Unauthorized */ 401: unknown; /** * Workspace not found */ 404: unknown; }; export type WorkspaceInfoResponses = { /** * Get workspace info */ 200: ApiResponseWorkspaceInfoResponse; }; export type WorkspaceInfoResponse2 = WorkspaceInfoResponses[keyof WorkspaceInfoResponses]; export type WorkspaceUpdateData = { body: WorkspaceUpdateParams; path: { slug: string; }; query?: never; url: '/api/workspaces/{slug}'; }; export type WorkspaceUpdateErrors = { /** * Unauthorized */ 401: unknown; /** * Permission denied */ 403: unknown; /** * Workspace not found */ 404: unknown; /** * Name already exists */ 409: unknown; }; export type WorkspaceUpdateResponses = { /** * Update workspace */ 200: ApiResponseWorkspaceInfoResponse; }; export type WorkspaceUpdateResponse = WorkspaceUpdateResponses[keyof WorkspaceUpdateResponses]; export type WorkspaceBillingCurrentData = { body?: never; path: { /** * Workspace slug */ slug: string; }; query?: never; url: '/api/workspaces/{slug}/billing'; }; export type WorkspaceBillingCurrentErrors = { /** * Unauthorized */ 401: unknown; /** * Not a workspace member */ 403: unknown; /** * Workspace not found */ 404: unknown; }; export type WorkspaceBillingCurrentResponses = { /** * Get workspace billing info */ 200: ApiResponseWorkspaceBillingCurrentResponse; }; export type WorkspaceBillingCurrentResponse2 = WorkspaceBillingCurrentResponses[keyof WorkspaceBillingCurrentResponses]; export type WorkspaceBillingAddCreditData = { body: WorkspaceBillingAddCreditParams; path: { /** * Workspace slug */ slug: string; }; query?: never; url: '/api/workspaces/{slug}/billing/credits'; }; export type WorkspaceBillingAddCreditErrors = { /** * Unauthorized */ 401: unknown; /** * Not a workspace member */ 403: unknown; }; export type WorkspaceBillingAddCreditResponses = { /** * Add credit to workspace billing */ 200: ApiResponseWorkspaceBillingCurrentResponse; }; export type WorkspaceBillingAddCreditResponse = WorkspaceBillingAddCreditResponses[keyof WorkspaceBillingAddCreditResponses]; export type WorkspaceBillingHistoryData = { body?: never; path: { /** * Workspace slug */ slug: string; }; query?: never; url: '/api/workspaces/{slug}/billing/history'; }; export type WorkspaceBillingHistoryErrors = { /** * Unauthorized */ 401: unknown; }; export type WorkspaceBillingHistoryResponses = { /** * Get workspace billing history */ 200: ApiResponseWorkspaceBillingHistoryResponse; }; export type WorkspaceBillingHistoryResponse2 = WorkspaceBillingHistoryResponses[keyof WorkspaceBillingHistoryResponses]; export type WorkspacePendingInvitationsData = { body?: never; path: { slug: string; }; query?: never; url: '/api/workspaces/{slug}/invitations'; }; export type WorkspacePendingInvitationsErrors = { /** * Unauthorized */ 401: unknown; /** * Permission denied */ 403: unknown; /** * Workspace not found */ 404: unknown; }; export type WorkspacePendingInvitationsResponses = { /** * List pending invitations */ 200: ApiResponseVecPendingInvitationInfo; }; export type WorkspacePendingInvitationsResponse = WorkspacePendingInvitationsResponses[keyof WorkspacePendingInvitationsResponses]; export type WorkspaceInviteMemberData = { body: WorkspaceInviteParams; path: { slug: string; }; query?: never; url: '/api/workspaces/{slug}/invitations'; }; export type WorkspaceInviteMemberErrors = { /** * Unauthorized */ 401: unknown; /** * Permission denied */ 403: unknown; /** * User not found */ 404: unknown; /** * Already a member */ 409: unknown; }; export type WorkspaceInviteMemberResponses = { /** * Send invitation */ 200: unknown; }; export type WorkspaceCancelInvitationData = { body?: never; path: { slug: string; user_id: string; }; query?: never; url: '/api/workspaces/{slug}/invitations/{user_id}'; }; export type WorkspaceCancelInvitationErrors = { /** * Unauthorized */ 401: unknown; /** * Permission denied */ 403: unknown; /** * Invitation not found */ 404: unknown; }; export type WorkspaceCancelInvitationResponses = { /** * Cancel invitation */ 200: unknown; }; export type WorkspaceMembersData = { body?: never; path: { slug: string; }; query?: { page?: number; per_page?: number; }; url: '/api/workspaces/{slug}/members'; }; export type WorkspaceMembersErrors = { /** * Unauthorized */ 401: unknown; /** * Not a member */ 403: unknown; /** * Workspace not found */ 404: unknown; }; export type WorkspaceMembersResponses = { /** * List workspace members */ 200: ApiResponseWorkspaceMembersResponse; }; export type WorkspaceMembersResponse2 = WorkspaceMembersResponses[keyof WorkspaceMembersResponses]; export type WorkspaceUpdateMemberRoleData = { body: UpdateRoleParams; path: { slug: string; }; query?: never; url: '/api/workspaces/{slug}/members/role'; }; export type WorkspaceUpdateMemberRoleErrors = { /** * Unauthorized */ 401: unknown; /** * Permission denied */ 403: unknown; /** * Workspace or member not found */ 404: unknown; }; export type WorkspaceUpdateMemberRoleResponses = { /** * Update member role */ 200: unknown; }; export type WorkspaceRemoveMemberData = { body?: never; path: { slug: string; user_id: string; }; query?: never; url: '/api/workspaces/{slug}/members/{user_id}'; }; export type WorkspaceRemoveMemberErrors = { /** * Unauthorized */ 401: unknown; /** * Permission denied */ 403: unknown; /** * Member not found */ 404: unknown; }; export type WorkspaceRemoveMemberResponses = { /** * Remove member */ 200: unknown; }; export type WorkspaceProjectsData = { body?: never; path: { /** * Workspace slug */ slug: string; }; query?: never; url: '/api/workspaces/{slug}/projects'; }; export type WorkspaceProjectsErrors = { /** * Unauthorized */ 401: unknown; /** * Not a workspace member */ 403: unknown; /** * Workspace not found */ 404: unknown; }; export type WorkspaceProjectsResponses = { /** * List workspace projects */ 200: ApiResponseWorkspaceProjectsResponse; }; export type WorkspaceProjectsResponse2 = WorkspaceProjectsResponses[keyof WorkspaceProjectsResponses]; export type WorkspaceStatsData = { body?: never; path: { /** * Workspace slug */ slug: string; }; query?: never; url: '/api/workspaces/{slug}/stats'; }; export type WorkspaceStatsErrors = { /** * Unauthorized */ 401: unknown; /** * Not a workspace member */ 403: unknown; /** * Workspace not found */ 404: unknown; }; export type WorkspaceStatsResponses = { /** * Get workspace stats */ 200: ApiResponseWorkspaceStatsResponse; }; export type WorkspaceStatsResponse2 = WorkspaceStatsResponses[keyof WorkspaceStatsResponses];