/* tslint:disable */ /* eslint-disable */ /** * gitdata api - version 1.0 * * ## Conventions ### Response envelope Every JSON response uses the same envelope: | field | meaning | |---|---| | `code` | always equal to the HTTP status code | | `message` | human-readable result / error summary | | `data` | payload, `null` for errors and empty results | | `error` | field-level / technical detail (e.g. validation errors), may be `null` | | `error_code` | stable machine-readable code on 4xx (e.g. `conflict`, `rate_limited`), may be `null` | | `request_id` / `log_id` | correlation ids, also returned as `X-Request-Id` / `X-Log-Id` headers | Successful `POST` creation returns `200` (not `201`); empty results use `200` with `data: null`. - `POST /auth/logout` is idempotent: repeating it always succeeds with `200`. ### Authentication - `session_cookie`: KenOAuth access token carried in the `gitdata_session` cookie. `GET /auth/login` starts the OIDC authorization-code + PKCE flow; `POST /auth/refresh` rotates the access/refresh pair; `POST /auth/logout` revokes the KenOAuth session and clears both cookies. - `basic_access_key`: HTTP Basic auth with a KenOAuth-issued access key. **Scope: git repository endpoints only** (`/repos/*`, `/graphql`); it is NOT accepted by chat/issues/space/user endpoints. ### URL & parameter style - Paths are `kebab-case`, plural nouns, nesting expresses ownership. - Query/path/JSON field names are `snake_case`; enum values are `snake_case`. - All endpoints are versioned under `/api/v1`. `/api/v1/internal/*` is guarded by the `x-gitdata-service-key` header and is NOT documented here. - State-transition actions use `POST {resource}/{id}/{verb}` (close/reopen); idempotent whole-resource state uses `PUT` (default branch, pin, read-state); partial updates use `PATCH`. ### Pagination - Offset style: `?limit=&offset=` (default 50, max 100 unless stated), response `data` is `{ items, total, limit, offset }`. - Cursor style (chat message/sequence data): `?before_seq=&after_seq=&limit=`, response contains `has_more`. ### PATCH semantics (three-state fields) Update commands use `Option<Option<T>>` for clearable fields: - field **absent** → unchanged - field `null` → cleared - field value → set Example: `{"milestone_id": null}` unassigns the milestone; omitting `milestone_id` leaves it untouched. ### 2FA TOTP enrollment, recovery codes and sensitive-operation verification are handled by KenOAuth; GitData only proxies the account-management endpoints. ### Operations - `GET /healthz` — liveness probe (no auth, outside `/api/v1`). - `GET /readyz` — readiness probe: database + redis check, `503` when down. - Runtime metrics are pushed to the configured OTLP collector (30s interval); there is no scrape endpoint. - Cross-origin browser access is disabled by default; the API expects a same-origin reverse proxy. Enable `web.cors_allow_origins` to allowlist other origins. ### Abuse controls - Creation endpoints are subject to per-user rolling 24h quotas (`[quota]` config; 0 disables). Exceeding a quota returns `429` with `error_code: "rate_limited"`. ### Idempotency - `POST /chat/rooms/{room_id}/messages` accepts `nonce`: unique per room; retrying with the same nonce returns the original message instead of a duplicate. ### Resource references - User references in responses embed a `user` object (`UserDto`) wherever a single person is shown; raw uuid fields are named `*_id` consistently. - Viewer-specific state is embedded, not fetched separately: `RepoDto.me` carries `starred`/`watch_mode`, `IssueDto.viewer_watch` carries the caller watch mode. `PUT /repos/{space}/{repo}/star|unstar` style reads do not exist. ### Identifiers - Issues are addressable by UUID **or** board-scoped number (e.g. `/issues/{space}/boards/{board}/issues/123`). - Binary uploads use raw request bodies with a content-type header (e.g. `PUT /me/avatar` accepts `image/*` bytes, not base64 JSON). * * OpenAPI version: 3.1.0 * * * NOTE: This file is auto generated by the alova's vscode plugin. * * https://alova.js.org/devtools/vscode * * **Do not edit the file manually.** */ import type { Alova, AlovaMethodCreateConfig, AlovaGenerics, Method } from 'alova'; import type { $$userConfigMap, alovaInstance } from './index'; import type apiDefinitions from './apiDefinitions'; type CollapsedAlova = typeof alovaInstance; type UserMethodConfigMap = typeof $$userConfigMap; type Alova2MethodConfig = CollapsedAlova extends Alova< AlovaGenerics< any, any, infer RequestConfig, infer Response, infer ResponseHeader, infer L1Cache, infer L2Cache, infer SE > > ? Omit< AlovaMethodCreateConfig< AlovaGenerics, any, Responded >, 'params' > : never; // Extract the return type of transform function that define in $$userConfigMap, if it not exists, use the default type. type ExtractUserDefinedTransformed< DefinitionKey extends keyof typeof apiDefinitions, Default > = DefinitionKey extends keyof UserMethodConfigMap ? UserMethodConfigMap[DefinitionKey]['transform'] extends (...args: any[]) => any ? Awaited> : Default : Default; type Alova2Method< Responded, DefinitionKey extends keyof typeof apiDefinitions, CurrentConfig extends Alova2MethodConfig > = CollapsedAlova extends Alova< AlovaGenerics< any, any, infer RequestConfig, infer Response, infer ResponseHeader, infer L1Cache, infer L2Cache, infer SE > > ? Method< AlovaGenerics< CurrentConfig extends undefined ? ExtractUserDefinedTransformed : CurrentConfig['transform'] extends (...args: any[]) => any ? Awaited> : ExtractUserDefinedTransformed, any, RequestConfig, Response, ResponseHeader, L1Cache, L2Cache, SE > > : never; export type HookEventKind = 'pre_receive' | 'post_receive' | 'update' | 'push' | 'tag' | 'merge_request'; export type SpaceImageKind = 'avatar' | 'banner' | 'invite_banner' | 'embed_splash'; export type NotificationType = 'mention' | 'reply' | 'follow' | 'invite' | 'assignment' | 'system'; export type SessionKind = 'WebLogin' | 'BearerAccess'; export interface TotpCodeCmd { code: string; } export interface TotpEnableCmd { code: string; password: string; } export interface RegenerateRecoveryCodesCmd { password: string; } export type AccessKeyScope = 'read' | 'write'; export interface CreateAccessKeyCmd { expires_at?: string | null; name: string; scope: AccessKeyScope; } export interface ChangePasswordCmd { new_password: string; old_password: string; } export interface AddSshKeyCmd { content: string; name: string; } export interface CreateAttachmentCmd { content_type: string; description?: string | null; filename: string; size: number; } export interface AcceptRoomInviteCmd { code: string; } export type PresenceStatus = 'Active' | 'Away' | 'Dnd' | 'Offline'; export interface SetPresenceCmd { activities?: null; status: PresenceStatus; } export interface CreateIssueAttachmentCmd { content_type: string; filename: string; size: number; /** * Checked for membership so unbound uploads are still space-scoped. */ space_name: string; } export type ProfileVisibility = 'Public' | 'RegisteredOnly' | 'MembersOnly' | 'Private'; export interface UpdateProfileCmd { bio?: string | null; company?: string | null; date_of_birth?: string | null; display_name?: string | null; language?: string | null; locale?: string | null; location?: string | null; pronouns?: string | null; real_name?: string | null; show_activity?: boolean | null; show_email?: boolean | null; show_location?: boolean | null; show_real_name?: boolean | null; timezone?: string | null; visibility?: null | ProfileVisibility; website?: string | null; } export interface UpsertMemeCmd { content_type: string; height?: number | null; name: string; size: number; url: string; width?: number | null; } export interface SaveMessageCmd { channel_id: string; message_id: string; } export interface MarkNotificationsReadCmd { all?: boolean; ids?: string[] | null; } export type Audience = 'Everyone' | 'FollowingOnly' | 'Nobody'; export interface UpdatePreferencesCmd { allow_dms_from?: null | Audience; allow_mentions_from?: null | Audience; board_view_mode?: string | null; diff_view_style?: string | null; email_digest?: boolean | null; email_flags?: number | null; in_app_flags?: number | null; /** * 三态:缺省不动、`null` 清除、给值设置(与 `lib/webapi/src/openapi.rs` * 声明的 PATCH 语义一致)。 */ mute_until?: string | null; push_flags?: number | null; show_online_status?: boolean | null; theme_mode?: string | null; } export type PushSubscriptionPlatform = 'WebPush' | 'AndroidFcm' | 'IosApns'; export interface UpsertPushCmd { auth_key: string; endpoint: string; p256dh_key: string; platform: PushSubscriptionPlatform; user_agent?: string | null; } export interface CreateReportCmd { evidence?: string | null; reason: string; reported_id: number; } export interface UpdateUsernameCmd { username: string; } export interface CallerSignatureBody { when?: string | null; } export type AllowJoinLevel = | 'None' | 'NeedMailActive' | 'NeedMailActiveAndLastOneMid' | 'NeedMailActiveAndLastOneHours' | 'NeedMailActiveAndPhoneActive'; export interface CreateSpaceCmd { allow_invite?: boolean; allow_join?: boolean; allow_join_level?: null | AllowJoinLevel; avatar_url?: string | null; description?: string | null; is_private?: boolean; member_must_enable_2fa?: boolean; name: string; welcome_message?: string | null; welcome_object?: string | null; } export interface AcceptInviteCmd { code: string; } export interface CreateTopicCmd { name: string; } export interface AppResponseData_RecoveryCodesResp { code: number; data?: { codes: string[]; total: number; used: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_TotpSetupResp { code: number; data?: { otpauth_uri: string; secret: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_TotpStatusResp { code: number; data?: { enabled: boolean; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_AgreementDoc { code: number; data?: Array<{ content_md: string; key: string; title: string; version: string; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Page_DraftDto { code: number; data?: { items: Array<{ content: string; room_id: string; thread_id?: string | null; updated_at: string; }>; limit: number; offset: number; total: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_NoData { code: number; data?: null; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export type ReminderStatus = 'Pending' | 'Done' | 'Cancelled' | 'Delivering'; export interface AppResponseData_Vec_ReminderDto { code: number; data?: Array<{ created_at: string; id: string; message_id: string; message_preview?: string | null; note?: string | null; remind_at: string; room_id: string; status: ReminderStatus; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_VoiceConfigDto { code: number; data?: { enabled: boolean; recording_enabled: boolean; url: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface ProfileDto { bio?: string | null; company?: string | null; date_of_birth?: string | null; location?: string | null; privacy_agreed_at?: string | null; pronouns?: string | null; real_name?: string | null; show_activity: boolean; show_email: boolean; show_location: boolean; show_real_name: boolean; website?: string | null; } export interface UserMeDto { avatar_url: string; bot: boolean; created_at: string; display_name: string; is_active: boolean; is_restricted: boolean; language?: string | null; locale?: string | null; prohibit_login: boolean; system: boolean; timezone?: string | null; user_id: number; username: string; visibility: ProfileVisibility; } export interface AppResponseData_MeResp { code: number; data?: { profile?: null | ProfileDto; user: UserMeDto; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export type AvatarFormat = 'jpg' | 'png' | 'webp' | 'gif'; export interface AppResponseData_Option_AvatarDto { code: number; data?: null | { /** * Size of the uploaded original in bytes. */ bytes: number; /** * Format of the uploaded original. */ format: AvatarFormat; updated_at: string; /** * Browser-facing URL. Points at the compressed derivative when one exists, * and at the uploaded bytes otherwise. */ url: string; user_id: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_UnreadCountResp { code: number; data?: { count: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_UserPreferencesDto { code: number; data?: { allow_dms_from: Audience; allow_mentions_from: Audience; /** * Default view for the 问题集 page: `board` or `list`. */ board_view_mode: string; diff_view_style?: string | null; email_digest: boolean; email_flags: number; in_app_flags: number; mute_until?: string | null; push_flags: number; show_online_status: boolean; theme_mode: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_CountResp { code: number; data?: { count: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_PushConfigDto { code: number; /** * 前端注册 Service Worker 所需的公开参数。 * 只有公钥是公开的(它就是浏览器 `applicationServerKey` 要的东西),私钥永远 * 不出现在任何响应里。`enabled=false` 时前端把整个"系统通知"开关藏起来, * 而不是让用户点了才发现服务端没开。 */ data?: { enabled: boolean; public_key: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export type ImageVariant = 'preview' | 'original'; export type IssueState = 'open' | 'closed'; export type IssueMemberKind = 'assignee' | 'mentioned' | 'participant'; export type DiffView = 'shortstat' | 'numstat' | 'files' | 'tree'; export type WorkflowRunState = 'queued' | 'running' | 'success' | 'failure' | 'cancel_requested' | 'cancelled'; export type TreeView = 'entries' | 'last_updated'; export type WatchMode = 'unwatched' | 'watching' | 'ignore'; export type SpaceJoinRequestStatus = 'pending' | 'approved' | 'rejected' | 'withdrawn'; export interface FinalizeAttachmentCmd { duration_secs?: number | null; height?: number | null; width?: number | null; } export interface OpenDmCmd { peer_user_id?: number | null; peer_user_ids?: number[] | null; } export interface WebhookPostCmd { content?: string; nonce?: string | null; thread_id?: string | null; } export interface UpdateReminderCmd { note?: string | null; remind_at?: string | null; } export interface UpdateRoomCmd { is_private?: boolean | null; name?: string | null; nsfw?: boolean | null; /** * Move the room under another directory node of the same space; `null` puts * it back at the space root. Absent means "leave the parent alone". */ parent_id?: string | null; position?: number | null; rate_limit_per_user?: number | null; topic?: string | null; } export interface BanRoomMemberCmd { expires_at?: string | null; reason?: string | null; user_id: number; } export interface CreateBookmarkCmd { emoji?: string | null; title: string; url?: string | null; } export interface UpdateBookmarkCmd { emoji?: string | null; position?: number | null; title?: string | null; url?: string | null; } export interface UpsertDraftCmd { content: string; thread_id?: string | null; } export interface CreateRoomInviteCmd { expires_secs?: number | null; invitee_id?: number | null; } export interface AddMembersCmd { user_ids: number[]; } export type RoomMemberRole = 'member' | 'moderator' | 'admin' | 'owner'; export interface UpdateRoomMemberCmd { nick?: string | null; role?: null | RoomMemberRole; } export interface SendMessageCmd { attachments?: string[]; content?: string; forwarded_from?: string | null; /** * client-generated idempotency key, unique per room; retrying with the * same nonce returns the original message instead of duplicating */ nonce?: string | null; reply_to_id?: string | null; thread_broadcast?: boolean; thread_id?: string | null; urgent?: boolean; } export interface BulkDeleteCmd { message_ids: string[]; } export interface UpdateMessageCmd { content: string; } export interface ForwardMessageCmd { comment?: string | null; target_room_id: string; } export interface PinCmd { pinned: boolean; } export interface ReactionCmd { emoji: string; } export interface CreateReminderCmd { note?: string | null; remind_at: string; } export interface CreateThreadCmd { name?: string | null; } export interface CreateOutboundWebhookCmd { name: string; url: string; } export interface UpdateOutboundWebhookCmd { disabled?: boolean | null; name?: string | null; url?: string | null; } export interface TransferOwnerCmd { user_id: number; } export interface MarkReadCmd { message_id?: string | null; seq?: number | null; } export type RoomNotificationLevel = 'Default' | 'All' | 'Mentions' | 'Nothing'; export interface UpdateRoomSettingCmd { favorite?: boolean | null; hidden?: boolean | null; mute_minutes?: number | null; muted?: boolean | null; notification_level?: null | RoomNotificationLevel; } export interface VoiceTileDto { /** * 归一化高度,和 `w` 一样按画布的可用宽高分别归一,因此窗口可以自由 * 拉伸而不是只能等比缩放。旧记录没有这个字段,读出来是 `None`,客户端 * 按宽度的 3/4 补一个经典比例。 */ h?: number | null; /** * 服务端写入时刻(秒)。请求里被忽略,响应里供客户端判断“谁更新”, * 这样并发拖拽时一个迟到的 GET 不会把刚摆好的窗口拽回旧位置。 */ updated_at?: number; /** * 归一化宽度。 */ w: number; x: number; y: number; } export interface VoiceLayoutPatchDto { /** * 需要收回自动网格的窗口 key。 */ removed?: string[]; /** * 需要新增或覆盖的窗口(key = 参与者用户 id)。 */ tiles?: Record; } export interface CreateWebhookCmd { name: string; } export interface UpdateWebhookCmd { disabled?: boolean | null; name?: string | null; } export interface UploadEmojiCmd { animated?: boolean; content_type: string; data_base64: string; name: string; } export type RoomKind = 'GuildRoom' | 'GroupDm' | 'Dm' | 'Category' | 'Text' | 'Voice' | 'Stage' | 'News' | 'Thread' | 'DirectMessage'; export interface CreateRoomCmd { is_private?: boolean; kind?: RoomKind; name: string; nsfw?: boolean; parent_id?: string | null; rate_limit_per_user?: number | null; topic?: string | null; user_limit?: number | null; } export interface UpdateThreadCmd { archived?: boolean | null; locked?: boolean | null; name?: string | null; } export type ThreadNotifyLevel = 'None' | 'All'; export interface ThreadMemberCmd { notify_level?: null | ThreadNotifyLevel; } export interface MarkThreadReadCmd { message_id?: string | null; } export type ImportProvider = 'github' | 'gitlab' | 'gitea'; export interface CreateImportCmd { base_url?: string | null; description?: string | null; enable_lfs?: boolean; is_private?: boolean | null; name?: string | null; parent_dir_id?: string | null; provider: ImportProvider; source: string; token?: string | null; } export interface ProbeImportCmd { base_url?: string | null; provider: ImportProvider; source: string; token?: string | null; } export interface RetryImportCmd { token?: string | null; } export interface CreateBoardCmd { description?: string | null; icon?: string | null; name: string; parent_dir_id?: string | null; prefix?: string | null; } export interface UpdateBoardCmd { description?: string | null; icon?: string | null; name?: string | null; prefix?: string | null; } export type IssuePriority = 'none' | 'low' | 'medium' | 'high' | 'urgent'; export interface CreateIssueCmd { assignee_ids?: number[]; /** * Draft uploads (`POST /issues/attachments`) to link to the new issue. */ attachment_ids?: string[]; content?: string; description?: string | null; due_at?: string | null; label_ids?: string[]; milestone_id?: string | null; priority?: IssuePriority; title: string; } export type BulkAction = 'close' | 'reopen'; export interface BulkIssuesCmd { action: BulkAction; issue_refs: string[]; } export interface UpdateIssueCmd { assignee_ids?: number[] | null; content?: string | null; description?: string | null; due_at?: string | null; label_ids?: string[] | null; milestone_id?: string | null; priority?: null | IssuePriority; title?: string | null; } export interface CreateCommentCmd { content: string; parent_id?: string | null; } export interface UpdateCommentCmd { content: string; } export interface CreateReactionCmd { emoji: string; } export interface CreateDependencyCmd { dependency_id: string; } export interface CreateIssueMemberCmd { kind: IssueMemberKind; user_id: number; } export interface LinkIssueCmd { /** * PR 编号或 UUID。 */ pull_ref: string; repo_name: string; space_name: string; } export interface MarkIssueReadCmd { read: boolean; } export interface CreateRepoRelCmd { repo_id: string; } export interface CreateTrackedTimeCmd { seconds: number; } export interface UpdateTrackedTimeCmd { seconds: number; } export interface UpsertWatchCmd { mode: WatchMode; } export interface CreateLabelCmd { color: string; description?: string | null; exclusive?: boolean | null; exclusive_order?: number | null; name: string; } export interface UpdateLabelCmd { color?: string | null; description?: string | null; exclusive?: boolean | null; exclusive_order?: number | null; is_archived?: boolean | null; name?: string | null; } export interface CreateMilestoneCmd { description?: string | null; due_at?: string | null; name: string; } export interface UpdateMilestoneCmd { description?: string | null; due_at?: string | null; is_closed?: boolean | null; name?: string | null; } export interface CreatePinCmd { issue_id: string; pin_order: number; } export interface UpdatePinCmd { pin_order: number; } export interface AcceptAgreementCmd { version: string; } export interface CreateRepoCmd { default_branch?: string | null; description?: string | null; enable_lfs?: boolean; init_message?: string | null; is_private?: boolean; license_name?: string | null; name: string; parent_dir_id?: string | null; } export interface UpdateRepoCmd { allow_pull_requests?: boolean | null; default_branch?: string | null; description?: string | null; enable_lfs?: boolean | null; is_private?: boolean | null; pipelines_public?: boolean | null; /** * 中间页签顺序;传空数组恢复默认顺序。 */ tab_order?: string[] | null; website?: string | null; } export type ArchiveFormatDto = 'tar' | 'tar_gz' | 'tar_bz2' | 'zip'; export interface ArchiveCreateCmd { format: ArchiveFormatDto; path_filter?: string | null; revision: string; } export interface CreateBranchPolicyCmd { block_on_change_requested_reviews?: boolean | null; block_on_outdated_branch?: boolean | null; block_on_rejected_reviews?: boolean | null; branch_pattern: string; dismiss_stale_approvals?: boolean | null; enable_approvals_whitelist?: boolean | null; enable_force_push?: boolean | null; enable_merge_whitelist?: boolean | null; enable_push?: boolean | null; enable_push_whitelist?: boolean | null; protected_file_patterns?: string | null; require_signed_commits?: boolean | null; required_approvals?: number | null; required_status_contexts?: string | null; unprotected_file_patterns?: string | null; } export interface UpdateBranchPolicyCmd { block_on_change_requested_reviews?: boolean | null; block_on_outdated_branch?: boolean | null; block_on_rejected_reviews?: boolean | null; branch_pattern?: string | null; dismiss_stale_approvals?: boolean | null; enable_approvals_whitelist?: boolean | null; enable_force_push?: boolean | null; enable_merge_whitelist?: boolean | null; enable_push?: boolean | null; enable_push_whitelist?: boolean | null; protected_file_patterns?: string | null; require_signed_commits?: boolean | null; required_approvals?: number | null; required_status_contexts?: string | null; unprotected_file_patterns?: string | null; } export type WhitelistKind = 'Push' | 'Merge' | 'Approval'; export interface AddBranchWhitelistCmd { group_id?: string | null; kind: WhitelistKind; user_id?: number | null; } export interface CreateBranchCmd { name: string; start_point?: string | null; } export interface RenameBranchCmd { new_name: string; } export interface CreateCodeCommentCmd { body: string; /** * 锚定的提交;缺省使用该 revision 解析出的提交。 */ commit_sha?: string | null; line: number; parent_id?: string | null; path: string; revision?: string | null; } export interface UpdateCodeCommentCmd { body: string; } export type CommitStatusDtoState = 'pending' | 'success' | 'failure' | 'error'; export interface SetCommitStatusCmd { context: string; description?: string | null; sha: string; state: CommitStatusDtoState; target_url?: string | null; } export interface EnvironmentRules { branches?: string[]; prevent_self_review?: boolean; reviewers?: number[]; tags?: string[]; wait_minutes?: number; } export interface HookExecBody { args?: string[]; } export interface LfsLockBody { oid?: string | null; path: string; } export interface DispatchCmd { client_payload?: null; event_type: string; } export type TriggerInputValue = boolean | number | string; export interface TriggerRunCmd { git_ref: string; inputs?: Record; workflow: string; } export interface ReviewCmd { approved: boolean; comment?: string | null; } export interface CreatePullCmd { base_branch?: string | null; body?: string | null; draft?: boolean | null; head_branch: string; issue_id?: string | null; title: string; } export interface UpdatePullCmd { auto_merge?: boolean | null; base_branch?: string | null; body?: string | null; draft?: boolean | null; issue_id?: string | null; title?: string | null; } export interface CreatePullCommentCmd { body: string; commit_sha?: string | null; line?: number | null; parent_comment_id?: string | null; /** * 行内评论需要 path;缺省则为普通讨论评论。 */ path?: string | null; review_id?: string | null; /** * left | right */ side?: string | null; } export interface UpdatePullCommentCmd { body: string; } export interface AttachLabelCmd { /** * 标签 UUID 或名称(同一仓库目录内的标签)。 */ label: string; } export type MergeMethod = 'merge' | 'squash' | 'rebase'; export interface MergePullCmd { delete_branch_after_merge?: boolean | null; expect_head_sha?: string | null; /** * 允许在无冲突时直接快进(method=merge 时生效)。 */ fast_forward_only?: boolean | null; message?: string | null; method?: null | MergeMethod; title?: string | null; } export interface RequestReviewersCmd { /** * 是否计入必需审批人数。 */ required?: boolean; /** * 用户名或 UUID。 */ reviewers: string[]; } export interface InlineDraft { body?: string | null; line: number; path: string; side?: string | null; } export type ReviewIntent = 'approve' | 'request_changes' | 'comment' | 'pending'; export interface SubmitReviewCmd { body?: string | null; comments?: InlineDraft[]; state: ReviewIntent; } export interface CreateReleaseCmd { content?: string | null; is_draft?: boolean | null; is_prerelease?: boolean | null; tag_name: string; target?: string | null; title?: string | null; } export interface UpdateReleaseCmd { content?: string | null; is_draft?: boolean | null; is_prerelease?: boolean | null; title?: string | null; } export interface RemoteAuthDto { token?: string | null; username?: string | null; } export interface RemoteFetchBody { auth?: null | RemoteAuthDto; remote: string; } export interface RemoteImportBody { auth?: null | RemoteAuthDto; url: string; } export interface RemotePushBody { auth?: null | RemoteAuthDto; refspec?: string | null; remote: string; } export interface RemoteAddBody { url: string; } export interface UpsertSecretCmd { value: string; } export interface CreateTagPolicyCmd { name_pattern: string; } export interface UpdateTagPolicyCmd { name_pattern?: string | null; } export interface AddTagWhitelistCmd { user_id: number; } export interface CreateTagCmd { annotated?: boolean; message?: string | null; name: string; target: string; } export interface VariableCmd { value: string; } export interface UpdateSpaceCmd { allow_invite?: boolean | null; allow_join?: boolean | null; allow_join_level?: null | AllowJoinLevel; description?: string | null; is_private?: boolean | null; member_must_enable_2fa?: boolean | null; name?: string | null; welcome_message?: string | null; welcome_object?: string | null; } export interface BanUserCmd { allow_comment_any?: boolean | null; allow_push_repo?: boolean | null; allow_speak?: boolean | null; expires_at?: string | null; reason?: string | null; user_id: number; } export interface UpdateBanCmd { allow_comment_any?: boolean | null; allow_push_repo?: boolean | null; allow_speak?: boolean | null; expires_at?: string | null; reason?: string | null; } export interface SetRepoArchivedCmd { archived: boolean; } export interface SetCleanupVisibilityCmd { is_private: boolean; } export interface CreateDirCmd { name: string; parent_dir_id?: string | null; position?: number | null; } export interface UpdateDirCmd { name: string; } export interface SetOverwriteCmd { allow_mask: number; deny_mask: number; } export interface MoveDirCmd { parent_dir_id?: string | null; position?: number | null; } export interface CreateGroupCmd { color?: string | null; icon_hash?: string | null; name: string; permissions?: string[]; position?: number | null; unicode_emoji?: string | null; } export interface UpdateGroupCmd { color?: string | null; icon_hash?: string | null; name?: string | null; permissions?: string[] | null; position?: number | null; unicode_emoji?: string | null; } export interface CreateInviteCmd { email?: string | null; expires_at?: string | null; group_ids?: string[]; user_id?: number | null; } export interface CreateJoinRequestCmd { note?: string | null; } export type SpaceJoinTrigger = 'issue_reaction' | 'issue_comment_reaction'; export interface CreateJoinRuleCmd { group_id: string; matcher?: string; trigger?: SpaceJoinTrigger; } export interface UpdateJoinRuleCmd { enabled?: boolean | null; matcher?: string | null; } export type MessageNotifications = 'All' | 'Mentions' | 'Nothing'; export interface AddMemberCmd { alias_avatar_url?: string | null; alias_name?: string | null; hide_muted_channels?: boolean | null; message_notifications?: null | MessageNotifications; mobile_push?: boolean | null; mute_until?: string | null; muted?: boolean | null; suppress_everyone?: boolean | null; suppress_roles?: boolean | null; user_id: number; } export interface UpdateMemberCmd { alias_avatar_url?: string | null; alias_name?: string | null; hide_muted_channels?: boolean | null; message_notifications?: null | MessageNotifications; mobile_push?: boolean | null; mute_until?: string | null; muted?: boolean | null; suppress_everyone?: boolean | null; suppress_roles?: boolean | null; } export interface AssignGroupCmd { group_id: string; } export interface AppResponseData_Page_AccessKeyDto { code: number; data?: { items: Array<{ created_at: string; expires_at?: string | null; id: string; last_used_at?: string | null; name: string; scope: AccessKeyScope; }>; limit: number; offset: number; total: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AccessKeyDto { created_at: string; expires_at?: string | null; id: string; last_used_at?: string | null; name: string; scope: AccessKeyScope; } export interface AppResponseData_CreateAccessKeyResp { code: number; data?: { key: AccessKeyDto; token: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_JwtRequestResp { code: number; data?: { expires_in_secs: number; jwt: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export type SshKeyType = 'ssh_rsa' | 'ssh_ed25519' | 'ecdsa_sha2_nistp256'; export interface AppResponseData_Page_SshKeyDto { code: number; data?: { items: Array<{ created_at: string; fingerprint: string; id: string; key_type: SshKeyType; name: string; }>; limit: number; offset: number; total: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_SshKeyDto { code: number; data?: { created_at: string; fingerprint: string; id: string; key_type: SshKeyType; name: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_UploadIntentDto { code: number; data?: { expires_secs: number; id: string; upload_url: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export type AttachmentStatus = 'Pending' | 'Uploaded'; export interface AppResponseData_AttachmentDto { code: number; data?: { content_type: string; created_at: string; description?: string | null; duration_secs?: number | null; filename: string; height?: number | null; id: string; message_id?: string | null; room_id?: string | null; size: number; status: AttachmentStatus; user_id: number; width?: number | null; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface UserDto { avatar_url: string; display_name: string; user_id: number; username: string; } export interface AppResponseData_Page_DmDto { code: number; data?: { items: Array<{ created_at: string; id: string; kind: RoomKind; last_message_id?: string | null; last_read_seq: number; members?: UserDto[]; name: string; peer?: null | UserDto; tip_seq: number; unread_count: number; }>; limit: number; offset: number; total: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_RoomBriefDto { code: number; data?: { created_at: string; favorite: boolean; hidden: boolean; id: string; is_private: boolean; kind: RoomKind; last_message_id?: string | null; member_count: number; muted: boolean; name: string; nsfw: boolean; owner?: null | UserDto; owner_id: number; parent_id?: string | null; position: number; rate_limit_per_user?: number | null; space_id?: string | null; topic?: string | null; unread_count: number; unread_mentions: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_PresenceDto { code: number; data?: { activities: null; last_seen_at?: string | null; online: boolean; status: PresenceStatus; user?: null | UserDto; user_id: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_RoomInviteListItemDto { code: number; data?: Array<{ accepted_at?: string | null; created_at: string; expires_at?: string | null; id: string; invitee?: null | UserDto; invitee_id?: number | null; inviter?: null | UserDto; inviter_id: number; revoked_at?: string | null; room_id: string; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_RoomMemberDto { code: number; data?: { joined_at: string; nick?: string | null; role: RoomMemberRole; user: UserDto; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AttachmentDto { content_type: string; created_at: string; description?: string | null; duration_secs?: number | null; filename: string; height?: number | null; id: string; message_id?: string | null; room_id?: string | null; size: number; status: AttachmentStatus; user_id: number; width?: number | null; } export type AuthorType = 'User' | 'Bot' | 'Webhook'; export interface MessageEmbedDto { aspect?: string | null; category?: string | null; description?: string | null; /** * 平台声明的固定像素高;前端据它给 iframe 定高(重量级见 `social::render`)。 */ height?: number | null; html?: string | null; image_url?: string | null; kind?: string | null; platform?: string | null; platform_name?: string | null; site_name?: string | null; src?: string | null; title?: string | null; type: string; url: string; } export type ChatMessageType = | 'Default' | 'Reply' | 'ThreadCreated' | 'ChannelJoin' | 'ChannelLeave' | 'ChannelTopic' | 'ChannelPinnedItem' | 'Reminder' | 'System'; export interface ReactionAggDto { count: number; emoji: string; me: boolean; } export interface AppResponseData_MessageDto { code: number; data?: { attachments: AttachmentDto[]; author?: null | UserDto; author_id: number; author_type: AuthorType; content: string; created_at: string; deleted_at?: string | null; edited_at?: string | null; embeds?: MessageEmbedDto[]; forwarded_from_id?: string | null; has_thread: boolean; id: string; mention_everyone: boolean; mentions: number[]; message_type: ChatMessageType; pinned: boolean; pinned_at?: string | null; pinned_by_id?: number | null; reactions?: ReactionAggDto[]; reply_to_id?: string | null; room_id: string; seq: number; thread_broadcast: boolean; thread_id?: string | null; webhook_id?: string | null; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_MessageEditDto { code: number; data?: Array<{ content: string; created_at: string; editor?: null | UserDto; id: string; message_id: string; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_ReactionUserDto { code: number; data?: Array<{ created_at: string; emoji: string; user: UserDto; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_OutboundWebhookDto { code: number; data?: Array<{ created_at: string; disabled: boolean; id: string; last_status?: string | null; last_used_at?: string | null; name: string; room_id: string; url: string; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Page_MessageDto { code: number; data?: { items: Array<{ attachments: AttachmentDto[]; author?: null | UserDto; author_id: number; author_type: AuthorType; content: string; created_at: string; deleted_at?: string | null; edited_at?: string | null; embeds?: MessageEmbedDto[]; forwarded_from_id?: string | null; has_thread: boolean; id: string; mention_everyone: boolean; mentions: number[]; message_type: ChatMessageType; pinned: boolean; pinned_at?: string | null; pinned_by_id?: number | null; reactions?: ReactionAggDto[]; reply_to_id?: string | null; room_id: string; seq: number; thread_broadcast: boolean; thread_id?: string | null; webhook_id?: string | null; }>; limit: number; offset: number; total: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_ReadStateDto { code: number; data?: { last_read_message_id?: string | null; last_read_seq: number; last_viewed_at?: string | null; room_id: string; tip_seq: number; unread_count: number; unread_mentions: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_RoomSettingDto { code: number; data?: { favorite: boolean; hidden: boolean; mute_until?: string | null; muted: boolean; notification_level: RoomNotificationLevel; room_id: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export type HandState = 'pending' | 'approved' | 'denied' | 'revoked'; export interface HandDto { avatar_url?: string | null; display_name: string; requested_at: number; /** * 举手状态。审批通过后 approved,被收回后 revoked(可再次举手)。 */ state: HandState; user_id: number; } export interface AppResponseData_VoiceHandsDto { code: number; data?: { can_moderate: boolean; hands: HandDto[]; my_state?: null | HandState; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_HandDto { code: number; data?: { avatar_url?: string | null; display_name: string; requested_at: number; /** * 举手状态。审批通过后 approved,被收回后 revoked(可再次举手)。 */ state: HandState; user_id: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_VoiceModerationDto { code: number; data?: { action: string; ok: boolean; user_id: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_VoiceLayoutDto { code: number; data?: { /** * key 为参与者用户 id。 */ tiles?: Record; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface VoiceTrackDto { kind: string; muted: boolean; sid: string; source: string; } export interface AppResponseData_Vec_VoiceParticipantDto { code: number; data?: Array<{ avatar_url?: string | null; can_publish: boolean; display_name: string; joined_at: number; moderator_muted: boolean; /** * 快照值:list_participants 不返回发言状态,因此这里恒为 false; * 实时发言指示由前端从 Room 的 activeSpeakers 读取。 */ speaking: boolean; tracks: VoiceTrackDto[]; user_id: number; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_VoiceRecordingDto { code: number; data?: { active: boolean; egress_id: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_VoiceTokenDto { code: number; data?: { can_publish: boolean; expires_in_secs: number; hand_state?: null | HandState; is_stage: boolean; room_name: string; token: string; url: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Page_EmojiDto { code: number; data?: { items: Array<{ animated: boolean; created_at: string; disabled: boolean; id: string; name: string; space_id: string; }>; limit: number; offset: number; total: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_EmojiDto { code: number; data?: { animated: boolean; created_at: string; disabled: boolean; id: string; name: string; space_id: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_PresenceDto { code: number; data?: Array<{ activities: null; last_seen_at?: string | null; online: boolean; status: PresenceStatus; user?: null | UserDto; user_id: number; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface ReadStateDto { last_read_message_id?: string | null; last_read_seq: number; last_viewed_at?: string | null; room_id: string; tip_seq: number; unread_count: number; unread_mentions: number; } export interface AppResponseData_SpaceReadStatePage { code: number; data?: { items: ReadStateDto[]; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_RoomBriefDto { code: number; data?: Array<{ created_at: string; favorite: boolean; hidden: boolean; id: string; is_private: boolean; kind: RoomKind; last_message_id?: string | null; member_count: number; muted: boolean; name: string; nsfw: boolean; owner?: null | UserDto; owner_id: number; parent_id?: string | null; position: number; rate_limit_per_user?: number | null; space_id?: string | null; topic?: string | null; unread_count: number; unread_mentions: number; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface VoiceRoomStateDto { count: number; room_id: string; } export interface AppResponseData_VoiceSpaceStatesDto { code: number; data?: { rooms: VoiceRoomStateDto[]; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Page_ThreadDto { code: number; data?: { items: Array<{ archived: boolean; created_at: string; id: string; last_reply_at?: string | null; last_reply_id?: string | null; locked: boolean; name?: string | null; owner?: null | UserDto; owner_id: number; participant_count: number; reply_count: number; room_id: string; root_message_id: string; updated_at: string; }>; limit: number; offset: number; total: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_ThreadDto { code: number; data?: { archived: boolean; created_at: string; id: string; last_reply_at?: string | null; last_reply_id?: string | null; locked: boolean; name?: string | null; owner?: null | UserDto; owner_id: number; participant_count: number; reply_count: number; room_id: string; root_message_id: string; updated_at: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export type ImportStage = 'probe' | 'clone' | 'sync' | 'finalize' | 'done'; export type ImportJobState = 'queued' | 'processing' | 'succeeded' | 'failed' | 'canceled'; export interface ImportStatsDto { branches: number; commits: number; default_branch?: string | null; size_bytes: number; tags: number; warnings: string[]; } export interface AppResponseData_ImportJobDto { code: number; data?: { attempts: number; base_url?: string | null; clone_url: string; created_at: string; created_by: number; finished_at?: string | null; id: string; last_error?: string | null; provider: ImportProvider; repo_id?: string | null; repo_name: string; source_url: string; space_id: string; space_name: string; stage: ImportStage; started_at?: string | null; state: ImportJobState; stats: ImportStatsDto; updated_at: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_IssueUploadIntentDto { code: number; data?: { expires_secs: number; id: string; upload_url: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export type IssueAttachmentStatus = 'pending' | 'uploaded'; export interface AppResponseData_IssueAttachmentDto { code: number; data?: { content_type: string; created_at: string; filename: string; id: string; /** * `None` until the draft is submitted with this attachment attached. */ issue_id?: string | null; size: number; /** * Upload lifecycle: a row is created before the bytes exist (`Pending`) and * only an `Uploaded` row may be referenced by an issue. */ status: IssueAttachmentStatus; uploader_id: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_BoardDto { code: number; data?: { closed_issues_count: number; created_at: string; description?: string | null; dir_id: string; icon?: string | null; id: string; name: string; open_issues_count: number; /** * Number prefix for the board's issues (`CAD` renders as `CAD-12`). */ prefix?: string | null; updated_at?: string | null; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_IssueDto { code: number; data?: { assignees: UserDto[]; author?: null | UserDto; board_id: string; closed_at?: string | null; content: string; created_at: string; description?: string | null; due_at?: string | null; id: string; milestone_id?: string | null; number: number; priority: IssuePriority; state: IssueState; title: string; updated_at?: string | null; viewer_watch?: null | WatchMode; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_IssueAttachmentDto { code: number; data?: Array<{ content_type: string; created_at: string; filename: string; id: string; /** * `None` until the draft is submitted with this attachment attached. */ issue_id?: string | null; size: number; /** * Upload lifecycle: a row is created before the bytes exist (`Pending`) and * only an `Uploaded` row may be referenced by an issue. */ status: IssueAttachmentStatus; uploader_id: number; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface CommentDto { content: string; created_at: string; id: string; issue_id?: string | null; parent_id?: string | null; poster?: null | UserDto; updated_at?: string | null; } export interface CommentTreeNode { comment: CommentDto; replies: CommentTreeNode[]; } export interface AppResponseData_Vec_CommentTreeNode { code: number; data?: Array<{ comment: CommentDto; replies: CommentTreeNode[]; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_CommentDto { code: number; data?: { content: string; created_at: string; id: string; issue_id?: string | null; parent_id?: string | null; poster?: null | UserDto; updated_at?: string | null; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_ReactionAggDto { code: number; data?: Array<{ count: number; emoji: string; me: boolean; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_DependencyDto { code: number; data?: Array<{ created_at: string; dependency_id: string; id: string; issue_id: string; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_LabelDto { code: number; data?: Array<{ color: string; created_at: string; description?: string | null; dir_id: string; exclusive: boolean; exclusive_order: number; id: string; is_archived: boolean; name: string; updated_at?: string | null; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface PullRefDto { branch: string; label: string; repo_id?: string | null; sha: string; } export type PullState = 'open' | 'closed' | 'merged'; export interface PullDto { additions: number; author?: null | UserDto; auto_merge: boolean; base: PullRefDto; body: string; closed_at?: string | null; commits_ahead?: number | null; commits_behind?: number | null; conflicts?: string[] | null; created_at: string; deletions: number; files_changed: number; head: PullRefDto; id: string; is_draft: boolean; issue_id?: string | null; locked: boolean; merge_method: MergeMethod; mergeable?: boolean | null; mergeable_state?: string | null; merged_at?: string | null; merged_commit_sha?: string | null; merger?: null | UserDto; number: number; repo_id: string; squash_commit_sha?: string | null; state: PullState; title: string; updated_at?: string | null; } export interface AppResponseData_Vec_IssuePullLinkDto { code: number; data?: Array<{ /** * 建立关联的时间。 */ linked_at: string; pull: PullDto; /** * 关联行主键(issue_relation_pull.id),解除关联时作为路径参数回传。 */ relation_id: string; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_RepoRelDto { code: number; data?: Array<{ created_at: string; id: string; issue_id: string; repo_id: string; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_StopwatchDto { code: number; data?: { created_at?: string | null; id?: string | null; issue_id: string; running: boolean; started_at?: string | null; user?: null | UserDto; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_LabelDto { code: number; data?: { color: string; created_at: string; description?: string | null; dir_id: string; exclusive: boolean; exclusive_order: number; id: string; is_archived: boolean; name: string; updated_at?: string | null; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_MilestoneDto { code: number; data?: { board_id: string; closed_issues_count: number; created_at: string; description?: string | null; due_at?: string | null; id: string; is_closed: boolean; issues_count: number; name: string; updated_at?: string | null; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_PinDto { code: number; data?: Array<{ board_id: string; created_at: string; id: string; issue_id?: string | null; pin_order: number; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_LicenseDto { code: number; data?: Array<{ body: string; created_at: string; description?: string | null; display_name: string; name: string; updated_at: string; url?: string | null; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_LicenseDto { code: number; data?: { body: string; created_at: string; description?: string | null; display_name: string; name: string; updated_at: string; url?: string | null; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_AvatarDto { code: number; data?: { /** * Size of the uploaded original in bytes. */ bytes: number; /** * Format of the uploaded original. */ format: AvatarFormat; updated_at: string; /** * Browser-facing URL. Points at the compressed derivative when one exists, * and at the uploaded bytes otherwise. */ url: string; user_id: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_DeviceDto { code: number; data?: Array<{ device_name?: string | null; device_type?: string | null; first_seen_at: string; id: string; is_trusted: boolean; last_seen_at: string; os?: string | null; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_MemeDto { code: number; data?: Array<{ content_type: string; created_at: string; height?: number | null; id: string; name: string; size: number; url: string; width?: number | null; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_MemeDto { code: number; data?: { content_type: string; created_at: string; height?: number | null; id: string; name: string; size: number; url: string; width?: number | null; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_SavedMessageDto { code: number; data?: Array<{ channel_id: string; id: string; message_id: string; saved_at: string; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_SavedMessageDto { code: number; data?: { channel_id: string; id: string; message_id: string; saved_at: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export type Value = null; export interface AppResponseData_Page_NotificationDto { code: number; data?: { items: Array<{ actor_id?: number | null; body?: string | null; created_at: string; data?: null | Value; id: string; notification_type: NotificationType; read_at?: string | null; title: string; }>; limit: number; offset: number; total: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_MarkedCountResp { code: number; data?: { marked: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_PushSubscriptionDto { code: number; data?: Array<{ created_at: string; endpoint: string; id: string; platform: PushSubscriptionPlatform; updated_at?: string | null; user_agent?: string | null; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_PushSubscriptionDto { code: number; data?: { created_at: string; endpoint: string; id: string; platform: PushSubscriptionPlatform; updated_at?: string | null; user_agent?: string | null; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_RecentMentionDto { code: number; data?: Array<{ channel_id: string; created_at: string; id: string; message_id: string; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export type ReportStatus = 'open' | 'under_review' | 'resolved' | 'dismissed'; export interface AppResponseData_Vec_UserReportDto { code: number; data?: Array<{ created_at: string; evidence?: string | null; id: string; reason: string; reported_id: number; resolution_note?: string | null; status: ReportStatus; updated_at: string; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_ReportDto { code: number; data?: { created_at: string; evidence?: string | null; id: string; reason: string; reported_id: number; status: ReportStatus; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Page_SessionDto { code: number; data?: { items: Array<{ client_ip_hash?: string | null; created_at: string; device_id?: string | null; expires_at: string; id: string; is_current: boolean; is_revoked: boolean; kind: SessionKind; last_seen_at: string; revoked_at?: string | null; user_agent_hash?: string | null; }>; limit: number; offset: number; total: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface SpaceDto { allow_invite: boolean; allow_join: boolean; allow_join_level: AllowJoinLevel; avatar_url?: string | null; created_at: string; description?: string | null; id: string; is_active: boolean; is_private: boolean; lower_name: string; member_must_enable_2fa: boolean; members_count: number; name: string; owner?: null | UserDto; updated_at: string; welcome_message?: string | null; welcome_object?: string | null; } export interface AppResponseData_Vec_MySpaceDto { code: number; data?: Array<{ permissions: string[]; space: SpaceDto; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export type SuspensionType = 'temporary' | 'permanent'; export interface AppResponseData_Vec_SuspensionDto { code: number; data?: Array<{ created_at: string; ends_at?: string | null; id: string; reason?: string | null; revoked_at?: string | null; starts_at: string; suspension_type: SuspensionType; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_UserPublic { code: number; data?: { avatar_url: string; display_name: string; user_id: number; username: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_SignatureDto { code: number; data?: { email: string; name: string; when: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_ParsedPatchDto { code: number; data?: { additions: number; deletions: number; files: string[]; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface RepoMeDto { starred: boolean; watch_mode?: null | WatchMode; } export interface AppResponseData_RepoDto { code: number; data?: { /** * 是否允许在本仓库创建合并请求(关闭后页签隐藏、接口拒绝)。 */ allow_pull_requests: boolean; archived_at?: string | null; avatar_url?: string | null; branches_count: number; commits_count: number; created_at: string; default_branch: string; description?: string | null; enable_lfs: boolean; git_size: number; http_clone_url?: string | null; id: string; is_archived: boolean; is_private: boolean; last_pushed_at?: string | null; lfs_size: number; license_name?: string | null; me?: null | RepoMeDto; name: string; object_format: string; /** * 流水线页签是否公开展示(关闭后仅空间成员可见)。 */ pipelines_public: boolean; primary_language?: string | null; pulls_count: number; size: number; ssh_clone_url?: string | null; stars_count: number; storage_limit_size?: number | null; /** * 中间页签顺序;空数组 = 默认顺序。 */ tab_order: string[]; tags_count: number; updated_at: string; watchers_count: number; website?: string | null; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_ContributorStatDto { code: number; data?: Array<{ additions: number; commits: number; deletions: number; email: string; name: string; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_LanguageStatDto { code: number; data?: Array<{ is_primary: boolean; language: string; percentage_bp: number; size: number; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_ArchiveResultDto { code: number; data?: { cache_key: string; download_url?: string | null; format: string; size: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_BlobContentDto { code: number; data?: { data: number[]; is_binary: boolean; oid: string; size: number; truncated: boolean; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface LfsPointerDto { oid?: string | null; size?: number | null; version: string; } export interface AppResponseData_BlobMetaDto { code: number; data?: { is_binary: boolean; is_lfs_pointer: boolean; lfs?: null | LfsPointerDto; oid: string; size: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_BranchPolicyDto { code: number; data?: Array<{ block_on_change_requested_reviews: boolean; block_on_outdated_branch: boolean; block_on_rejected_reviews: boolean; branch_pattern: string; created_at: string; dismiss_stale_approvals: boolean; enable_approvals_whitelist: boolean; enable_force_push: boolean; enable_merge_whitelist: boolean; enable_push: boolean; enable_push_whitelist: boolean; id: string; protected_file_patterns: string; push_whitelist_deploy_keys: boolean; repo_id: string; require_signed_commits: boolean; required_approvals: number; required_status_contexts: string; unprotected_file_patterns: string; updated_at: string; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_BranchPolicyDto { code: number; data?: { block_on_change_requested_reviews: boolean; block_on_outdated_branch: boolean; block_on_rejected_reviews: boolean; branch_pattern: string; created_at: string; dismiss_stale_approvals: boolean; enable_approvals_whitelist: boolean; enable_force_push: boolean; enable_merge_whitelist: boolean; enable_push: boolean; enable_push_whitelist: boolean; id: string; protected_file_patterns: string; push_whitelist_deploy_keys: boolean; repo_id: string; require_signed_commits: boolean; required_approvals: number; required_status_contexts: string; unprotected_file_patterns: string; updated_at: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_BranchWhitelistDto { code: number; data?: Array<{ created_at: string; group_id?: string | null; id: string; kind: WhitelistKind; policy_id: string; user?: null | UserDto; user_id?: number | null; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_BranchDto { code: number; data?: { commit_sha: string; created_at: string; deleted_at?: string | null; is_deleted: boolean; is_protected: boolean; name: string; updated_at: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_CodeCommentDto { code: number; data?: { author?: null | UserDto; body: string; commit_sha: string; created_at: string; id: string; line: number; /** * 该评论锚定的提交是否仍是当前分支提示(否则视为 outdated)。 */ outdated: boolean; parent_id?: string | null; path: string; repo_id: string; resolved: boolean; resolved_by?: number | null; updated_at?: string | null; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_CommitStatusDto { code: number; data?: Array<{ context: string; created_at: string; creator?: null | UserDto; creator_id: number; description?: string | null; state: CommitStatusDtoState; target_url?: string | null; updated_at?: string | null; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_RepoEnvironmentDto { code: number; data?: Array<{ id: string; name: string; rules: EnvironmentRules; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface ArtifactDto { actions_id?: number | null; created_at: string; id: string; job_id: string; name: string; sha256?: string | null; size: number; state: string; } export interface StepDto { annotations: null; conclusion?: string | null; exit_code?: number | null; finished_at?: string | null; index: number; name: string; outcome?: string | null; outputs: null; stage: string; started_at?: string | null; state: string; summary?: string | null; } export interface JobDto { attempt: number; environment?: string | null; error?: string | null; exit_code?: number | null; finished_at?: string | null; id: string; is_template: boolean; job_key: string; logical_job_id?: string | null; matrix: null; name: string; needs: string[]; outcome?: string | null; outputs: null; runner_id?: string | null; runs_on: string[]; started_at?: string | null; state: string; steps: StepDto[]; } export interface RunDto { actions_id?: number | null; base_ref?: string | null; base_sha?: string | null; branch?: string | null; commit_sha: string; created_at: string; display_name?: string | null; event: string; finished_at?: string | null; git_ref: string; id: string; pr_number?: number | null; repo_id: string; run_number?: number | null; started_at?: string | null; state: string; tag?: string | null; trigger_user_id?: number | null; workflow_file: string; workflow_name: string; } export interface AppResponseData_RunDetailDto { code: number; data?: { artifacts: ArtifactDto[]; jobs: JobDto[]; run: RunDto; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_ApprovalDto { code: number; data?: Array<{ eligible_at: string; environment: string; id: string; job_id: string; prevent_self_review: boolean; reviewer_id?: number | null; reviewers: number[]; state: string; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_ArtifactListDto { code: number; data?: { artifacts: ArtifactDto[]; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_PullDto { code: number; data?: { additions: number; author?: null | UserDto; auto_merge: boolean; base: PullRefDto; body: string; closed_at?: string | null; commits_ahead?: number | null; commits_behind?: number | null; conflicts?: string[] | null; created_at: string; deletions: number; files_changed: number; head: PullRefDto; id: string; is_draft: boolean; issue_id?: string | null; locked: boolean; merge_method: MergeMethod; mergeable?: boolean | null; mergeable_state?: string | null; merged_at?: string | null; merged_commit_sha?: string | null; merger?: null | UserDto; number: number; repo_id: string; squash_commit_sha?: string | null; state: PullState; title: string; updated_at?: string | null; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_PullAssigneeDto { code: number; data?: Array<{ created_at: string; id: string; user?: null | UserDto; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface CommitStatusDto { context: string; created_at: string; creator?: null | UserDto; creator_id: number; description?: string | null; state: CommitStatusDtoState; target_url?: string | null; updated_at?: string | null; } export interface AppResponseData_PullChecksDto { code: number; data?: { head_sha: string; runs: RunDto[]; statuses: CommitStatusDto[]; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface PullCommentDto { author?: null | UserDto; body: string; commit_sha?: string | null; created_at: string; id: string; line?: number | null; parent_comment_id?: string | null; path?: string | null; pull_request_id: string; resolved: boolean; resolved_by?: number | null; review_id?: string | null; side?: string | null; updated_at?: string | null; } export interface AppResponseData_Vec_PullCommentThreadDto { code: number; data?: Array<{ replies: PullCommentDto[]; root: PullCommentDto; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_PullCommentDto { code: number; data?: { author?: null | UserDto; body: string; commit_sha?: string | null; created_at: string; id: string; line?: number | null; parent_comment_id?: string | null; path?: string | null; pull_request_id: string; resolved: boolean; resolved_by?: number | null; review_id?: string | null; side?: string | null; updated_at?: string | null; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_MergeCommitDto { code: number; data?: Array<{ author_at: string; author_email: string; author_name: string; message: string; parents: string[]; sha: string; subject: string; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface ChangedPathDto { new_mode: number; new_oid?: string | null; new_path: string; old_mode: number; old_oid?: string | null; old_path?: string | null; status: string; } export interface AppResponseData_Vec_ChangedPathDiffDto { code: number; data?: Array<{ binary: boolean; lines_added: number; lines_removed: number; patch?: string | null; path: ChangedPathDto; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface MergeGateDto { allowed: boolean; approvals: number; bypassed: boolean; change_requests: number; outdated: boolean; protected: boolean; reasons: string[]; required_approvals: number; } export interface AppResponseData_PullGateDto { code: number; data?: { conflicts: string[]; gate: MergeGateDto; head_sha: string; mergeable: boolean; pending_review_requests: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export type ReviewerState = 'requested' | 'approved' | 'changes_requested' | 'commented' | 'dismissed'; export interface AppResponseData_Vec_PullReviewerDto { code: number; data?: Array<{ created_at: string; id: string; requested_by?: null | UserDto; required: boolean; review_id?: string | null; state: ReviewerState; updated_at?: string | null; user?: null | UserDto; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export type ReviewState = 'approved' | 'changes_requested' | 'commented' | 'pending' | 'dismissed'; export interface AppResponseData_Vec_PullReviewDto { code: number; data?: Array<{ comment_count: number; commit_sha: string; content?: string | null; created_at: string; id: string; official: boolean; pull_request_id: string; state: ReviewState; updated_at?: string | null; user?: null | UserDto; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_PullReviewDto { code: number; data?: { comment_count: number; commit_sha: string; content?: string | null; created_at: string; id: string; official: boolean; pull_request_id: string; state: ReviewState; updated_at?: string | null; user?: null | UserDto; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_PullSummaryDto { code: number; data?: { additions: number; base_sha: string; commits_ahead: number; commits_behind: number; conflicts: string[]; deletions: number; files_changed: number; head_sha: string; merge_base?: string | null; mergeable: boolean; mergeable_state: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface MergeResultDto { base_ref: string; head_sha: string; /** * `fast_forward` | `merge_commit` | `squash` | `rebase` */ method: string; new_sha: string; old_sha: string; /** * rebase 时重写出来的提交(按时间正序)。 */ rewritten: string[]; } export interface AppResponseData_UpdateBranchDto { code: number; data?: { pull: PullDto; result: MergeResultDto; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_ReleaseDto { code: number; data?: { content?: string | null; created_at: string; id: string; is_draft: boolean; is_prerelease: boolean; num_commits: number; publisher?: null | UserDto; publisher_name: string; repo_id: string; sha: string; tag_name: string; target: string; title: string; updated_at: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_RemoteDto { code: number; data?: Array<{ fetch_url?: string | null; name: string; push_url?: string | null; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_String { code: number; data?: string; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface SecretDto { created_at: string; environment_id?: string | null; id: string; name: string; repo_id?: string | null; scope: string; space_id?: string | null; updated_at: string; } export interface AppResponseData_SecretListDto { code: number; data?: { secrets: SecretDto[]; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_VerifyResultDto { code: number; data?: { error_message?: string | null; key_id?: string | null; signed: boolean; signer?: string | null; valid: boolean; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_RepoStarResp { code: number; data?: { stars: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_TagPolicyDto { code: number; data?: Array<{ created_at: string; id: string; name_pattern: string; repo_id: string; updated_at: string; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_TagPolicyDto { code: number; data?: { created_at: string; id: string; name_pattern: string; repo_id: string; updated_at: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_TagWhitelistDto { code: number; data?: Array<{ policy_id: string; user?: null | UserDto; user_id: number; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export type TagType = 'Lightweight' | 'Annotated'; export interface AppResponseData_TagDto { code: number; data?: { created_at?: string | null; message?: string | null; name: string; tag_type: TagType; tagger_email?: string | null; tagger_name?: string | null; target_sha: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_TopicDto { code: number; data?: Array<{ created_at: string; id: string; name: string; updated_at: string; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_TopicDto { code: number; data?: { created_at: string; id: string; name: string; updated_at: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_VariableDto { code: number; data?: Array<{ name: string; value: string; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface SearchHitDto { author?: null | UserDto; author_id: number; content: string; created_at: string; message_id: string; room_id: string; seq: number; } export interface AppResponseData_SearchPage { code: number; data?: { items: SearchHitDto[]; total: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface ThreadDto { archived: boolean; created_at: string; id: string; last_reply_at?: string | null; last_reply_id?: string | null; locked: boolean; name?: string | null; owner?: null | UserDto; owner_id: number; participant_count: number; reply_count: number; room_id: string; root_message_id: string; updated_at: string; } export interface AppResponseData_Page { code: number; data?: { items: ThreadDto[]; limit: number; offset: number; total: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_SpaceDto { code: number; data?: { allow_invite: boolean; allow_join: boolean; allow_join_level: AllowJoinLevel; avatar_url?: string | null; created_at: string; description?: string | null; id: string; is_active: boolean; is_private: boolean; lower_name: string; member_must_enable_2fa: boolean; members_count: number; name: string; owner?: null | UserDto; updated_at: string; welcome_message?: string | null; welcome_object?: string | null; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_BanDto { code: number; data?: { allow_comment_any: boolean; allow_push_repo: boolean; allow_speak: boolean; banned_by?: null | UserDto; created_at: string; expires_at?: string | null; reason?: string | null; space_id: string; updated_at: string; user?: null | UserDto; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_CleanupObjectDto { code: number; data?: Array<{ /** * 目录的子节点数 / 频道的子频道数。 */ child_count: number; /** * `dirs.id`(目录/仓库/问题集/智能体集)或 `rooms.id`(频道)。 */ id: string; is_archived: boolean; /** * 仅仓库与频道有可见性开关。 */ is_private?: boolean | null; /** * `dir | object | repo | board | text | voice | stage | category | news | guild_room` */ kind: string; name: string; /** * 目录上的权限覆盖条数(group + user)。 */ overwrite_count: number; /** * 父链拼出的可读路径,例如 `bots / 研究研究`。 */ path: string; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_RepairDirResp { code: number; data?: { fixed: number; scanned: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_GroupOverwriteDto { code: number; data?: Array<{ allow_mask: number; deny_mask: number; dir_id: string; group_id: string; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_UserOverwriteDto { code: number; data?: Array<{ allow_mask: number; deny_mask: number; dir_id: string; user?: null | UserDto; user_id: number; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface EnvironmentDto { created_at: string; description?: string | null; id: string; name: string; required_labels: string[]; space_id: string; updated_at: string; } export interface AppResponseData_EnvironmentListDto { code: number; data?: { environments: EnvironmentDto[]; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface DeploymentDto { actor_id?: number | null; commit_sha: string; created_at: string; environment_id: string; environment_name: string; git_ref: string; id: string; job_id: string; repo_id: string; run_id: string; state: string; updated_at: string; } export interface AppResponseData_DeploymentListDto { code: number; data?: { deployments: DeploymentDto[]; runs: Record; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_GroupDto { code: number; data?: { color: string; created_at: string; created_by?: null | UserDto; icon_hash?: string | null; id: string; name: string; permissions: string[]; position: number; space_id: string; unicode_emoji?: string | null; updated_at?: string | null; version: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Option_SpaceImageDto { code: number; data?: null | { bytes: number; format: AvatarFormat; height?: number | null; kind: SpaceImageKind; space_id: string; updated_at: string; url: string; width?: number | null; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_InviteDto { code: number; data?: { accepted_at?: string | null; created_at: string; email: string; expires_at?: string | null; groups: string[]; id: string; revoked_at?: string | null; space_id: string; user?: null | UserDto; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_JoinRequestDto { code: number; data?: { created_at: string; decided_at?: string | null; decided_by?: null | UserDto; id: string; note?: string | null; space_id: string; status: SpaceJoinRequestStatus; updated_at: string; user?: null | UserDto; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_JoinRuleDto { code: number; data?: Array<{ created_at: string; enabled: boolean; group_id: string; id: string; matcher: string; trigger: SpaceJoinTrigger; updated_at?: string | null; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export type MemberStatus = 'Active' | 'Inactive' | 'Left' | 'Removed' | 'Banned'; export interface AppResponseData_MemberDto { code: number; data?: { alias_avatar_url?: string | null; alias_name?: string | null; created_at: string; hide_muted_channels: boolean; invited_at?: string | null; invited_by?: null | UserDto; joined_at: string; last_active_at?: string | null; left_at?: string | null; message_notifications: MessageNotifications; mobile_push: boolean; mute_until?: string | null; muted: boolean; space_id: string; status: MemberStatus; suppress_everyone: boolean; suppress_roles: boolean; updated_at?: string | null; user?: null | UserDto; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_UserPublic { code: number; data?: Array<{ avatar_url: string; display_name: string; user_id: number; username: string; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_ProfileDetailDto { code: number; data?: { accent_color?: string | null; avatar_url: string; banner_url?: string | null; bio?: string | null; company?: string | null; display_name: string; location?: string | null; pronouns?: string | null; real_name?: string | null; show_activity?: boolean | null; show_email?: boolean | null; show_location?: boolean | null; show_real_name?: boolean | null; updated_at: string; user_id: number; username: string; visibility?: null | ProfileVisibility; website?: string | null; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_DmDto { code: number; data?: { created_at: string; id: string; kind: RoomKind; last_message_id?: string | null; last_read_seq: number; members?: UserDto[]; name: string; peer?: null | UserDto; tip_seq: number; unread_count: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_ReminderDto { code: number; data?: { created_at: string; id: string; message_id: string; message_preview?: string | null; note?: string | null; remind_at: string; room_id: string; status: ReminderStatus; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Page_RoomBanDto { code: number; data?: { items: Array<{ banned_by?: null | UserDto; created_at: string; expires_at?: string | null; reason?: string | null; room_id: string; user?: null | UserDto; }>; limit: number; offset: number; total: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_RoomBanDto { code: number; data?: { banned_by?: null | UserDto; created_at: string; expires_at?: string | null; reason?: string | null; room_id: string; user?: null | UserDto; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Page_BookmarkDto { code: number; data?: { items: Array<{ created_at: string; created_by_id: number; emoji?: string | null; id: string; position: number; room_id: string; title: string; url?: string | null; }>; limit: number; offset: number; total: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_BookmarkDto { code: number; data?: { created_at: string; created_by_id: number; emoji?: string | null; id: string; position: number; room_id: string; title: string; url?: string | null; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Option_DraftDto { code: number; data?: null | { content: string; room_id: string; thread_id?: string | null; updated_at: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_DraftDto { code: number; data?: { content: string; room_id: string; thread_id?: string | null; updated_at: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_RoomInviteDto { code: number; data?: { accept_code: string; created_at: string; expires_at?: string | null; id: string; invitee?: null | UserDto; invitee_id?: number | null; inviter?: null | UserDto; inviter_id: number; room_id: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_RoomMemberDto { code: number; data?: Array<{ joined_at: string; nick?: string | null; role: RoomMemberRole; user: UserDto; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface MessageDto { attachments: AttachmentDto[]; author?: null | UserDto; author_id: number; author_type: AuthorType; content: string; created_at: string; deleted_at?: string | null; edited_at?: string | null; embeds?: MessageEmbedDto[]; forwarded_from_id?: string | null; has_thread: boolean; id: string; mention_everyone: boolean; mentions: number[]; message_type: ChatMessageType; pinned: boolean; pinned_at?: string | null; pinned_by_id?: number | null; reactions?: ReactionAggDto[]; reply_to_id?: string | null; room_id: string; seq: number; thread_broadcast: boolean; thread_id?: string | null; webhook_id?: string | null; } export interface AppResponseData_MessagePage { code: number; data?: { has_more: boolean; items: MessageDto[]; newest_seq?: number | null; oldest_seq?: number | null; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_OutboundWebhookSecretDto { code: number; data?: { created_at: string; id: string; name: string; room_id: string; secret: string; url: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_OutboundWebhookDto { code: number; data?: { created_at: string; disabled: boolean; id: string; last_status?: string | null; last_used_at?: string | null; name: string; room_id: string; url: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_VoiceLayoutSavedDto { code: number; /** * 本次写入的服务端时刻,客户端用它给本地副本盖戳。 */ data?: { updated_at: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Page_WebhookDto { code: number; data?: { items: Array<{ created_at: string; disabled: boolean; id: string; last_used_at?: string | null; name: string; room_id: string; }>; limit: number; offset: number; total: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_WebhookSecretDto { code: number; data?: { created_at: string; disabled: boolean; id: string; name: string; room_id: string; token: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_WebhookDto { code: number; data?: { created_at: string; disabled: boolean; id: string; last_used_at?: string | null; name: string; room_id: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_RoomDto { code: number; data?: { created_at: string; id: string; is_active: boolean; is_private: boolean; kind: RoomKind; name: string; nsfw: boolean; owner_id: number; parent_id?: string | null; position: number; rate_limit_per_user?: number | null; space_id?: string | null; topic?: string | null; updated_at: string; user_limit?: number | null; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_ImportProbeDto { code: number; data?: { clone_url: string; default_branch: string; description?: string | null; is_private: boolean; name: string; owner: string; provider: ImportProvider; size_bytes?: number | null; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_BulkResultDto { code: number; data?: { updated: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export type ReactionScope = 'issue' | 'comment'; export interface AppResponseData_ReactionDto { code: number; data?: { created_at: string; emoji: string; id: string; scope: ReactionScope; target_id: string; user?: null | UserDto; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_DependencyDto { code: number; data?: { created_at: string; dependency_id: string; id: string; issue_id: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_IssueMemberDto { code: number; data?: { created_at: string; id: string; issue_id: string; kind: IssueMemberKind; updated_at?: string | null; user?: null | UserDto; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_IssueUserDto { code: number; data?: { created_at: string; id: string; is_read: boolean; issue_id: string; user?: null | UserDto; user_id: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_RepoRelDto { code: number; data?: { created_at: string; id: string; issue_id: string; repo_id: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_TrackedTimeDto { code: number; data?: { created_at: string; id: string; issue_id: string; seconds: number; user?: null | UserDto; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_WatchDto { code: number; data?: { created_at: string; id: string; issue_id?: string | null; mode: WatchMode; updated_at?: string | null; user?: null | UserDto; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_PinDto { code: number; data?: { board_id: string; created_at: string; id: string; issue_id?: string | null; pin_order: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_AcceptAgreementResp { code: number; data?: { recorded: boolean; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Page_RepoSummaryDto { code: number; data?: { items: Array<{ avatar_url?: string | null; default_branch: string; description?: string | null; id: string; is_archived: boolean; is_private: boolean; license_name?: string | null; name: string; primary_language?: string | null; size: number; stars_count: number; updated_at: string; watchers_count: number; }>; limit: number; offset: number; total: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface CodeActivityAuthorDto { additions: number; commits: number; deletions: number; email: string; name: string; } export interface AppResponseData_CodeActivityDto { code: number; data?: { authors: CodeActivityAuthorDto[]; total_additions: number; total_commits: number; total_deletions: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_BlameRangeDto { code: number; data?: Array<{ abbreviated_oid: string; commit_sha: string; ending_line: number; path?: string | null; starting_line: number; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_BranchWhitelistDto { code: number; data?: { created_at: string; group_id?: string | null; id: string; kind: WhitelistKind; policy_id: string; user?: null | UserDto; user_id?: number | null; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Page_BranchDto { code: number; data?: { items: Array<{ commit_sha: string; created_at: string; deleted_at?: string | null; is_deleted: boolean; is_protected: boolean; name: string; updated_at: string; }>; limit: number; offset: number; total: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_CommitStatusDto { code: number; data?: { context: string; created_at: string; creator?: null | UserDto; creator_id: number; description?: string | null; state: CommitStatusDtoState; target_url?: string | null; updated_at?: string | null; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface CommitDto { author_email: string; author_name: string; author_time: number; committer_email: string; committer_name: string; committer_time: number; id: string; message: string; parents: string[]; tree_id: string; } export interface AppResponseData_CommitsPageDto { code: number; data?: { commits: CommitDto[]; diff_view_style: string; has_more: boolean; limit: number; skip: number; total: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_IsAncestorResponse { code: number; data?: { is_ancestor: boolean; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_MergeStatusDto { code: number; data?: { conflicts: string[]; fast_forwardable: boolean; mergeable: boolean; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_ConflictDetailDto { code: number; data?: { content?: string | null; path: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Value { code: number; data?: null; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_RepoEnvironmentDto { code: number; data?: { id: string; name: string; rules: EnvironmentRules; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_ScriptOutputDto { code: number; data?: { exit_code: number; stderr: string; stdout: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_LfsPointerDto { code: number; data?: Array<{ oid?: string | null; size?: number | null; version: string; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface LfsLockOwner { name: string; } export interface LfsLock { id: string; locked_at: string; owner: LfsLockOwner; path: string; } export interface AppResponseData_LfsLockListResponse { code: number; data?: { locks?: LfsLock[]; next_cursor?: string | null; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_LfsLock { code: number; data?: { id: string; locked_at: string; owner: LfsLockOwner; path: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_LfsVerifyLocksResponse { code: number; data?: { next_cursor?: string | null; ours?: LfsLock[]; theirs?: LfsLock[]; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_PatchDto { code: number; data?: { content: string; size: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_PathLogEntryDto { code: number; data?: Array<{ author: string; date: string; path: string; short_sha: string; subject: string; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_RunPageDto { code: number; data?: { limit: number; offset: number; runs: RunDto[]; total: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_String { code: number; data?: string[]; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface InputDefinition { default?: null; description?: string | null; options?: string[]; required?: boolean; type?: string | null; } export type PullRequestAction = 'opened' | 'synchronize' | 'reopened' | 'merged' | 'closed'; export interface TriggerSummary { pull_request_branches: string[]; pull_request_types: PullRequestAction[]; push_branches: string[]; push_tags: string[]; workflow_dispatch: boolean; } export interface WorkflowSummary { engine?: string; errors: string[]; file: string; inputs?: Record; name: string; triggers: TriggerSummary; valid: boolean; } export interface AppResponseData_WorkflowSummaryList { code: number; data?: { revision: string; workflows: WorkflowSummary[]; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface LogChunkDto { seq: number; text: string; } export interface AppResponseData_LogPageDto { code: number; data?: { chunks: LogChunkDto[]; complete: boolean; next_seq: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface PullSummaryDto { additions: number; base_sha: string; commits_ahead: number; commits_behind: number; conflicts: string[]; deletions: number; files_changed: number; head_sha: string; merge_base?: string | null; mergeable: boolean; mergeable_state: string; } export interface AppResponseData_MergePullDto { code: number; data?: { pull: PullDto; result: MergeResultDto; summary: PullSummaryDto; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_FetchResultDto { code: number; data?: { new: string[]; updated: string[]; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_ImportResultDto { code: number; data?: { commit_count: number; default_branch: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_PushResultDto { code: number; data?: { pushed: string[]; rejected: string[]; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_SecretMutationDto { code: number; data?: { secret: SecretDto; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_StargazerDto { code: number; data?: Array<{ avatar_url: string; display_name: string; starred_at: string; user_id: number; username: string; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_SubmoduleDto { code: number; data?: Array<{ branch?: string | null; commit_sha?: string | null; path: string; url: string; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_TagWhitelistDto { code: number; data?: { policy_id: string; user?: null | UserDto; user_id: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Page_TagDto { code: number; data?: { items: Array<{ created_at?: string | null; message?: string | null; name: string; tag_type: TagType; tagger_email?: string | null; tagger_name?: string | null; target_sha: string; }>; limit: number; offset: number; total: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_VariableDto { code: number; data?: { name: string; value: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_RepoWatchDto { code: number; data?: { created_at: string; mode: WatchMode; repo_id: string; updated_at: string; user_id: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_WatcherDto { code: number; data?: Array<{ avatar_url: string; display_name: string; mode: WatchMode; user_id: number; username: string; watching_since: string; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export type DirKind = 'Dir' | 'Object'; export interface DirNodeDto { archived_at?: string | null; children: DirNodeDto[]; color?: string | null; created_at: string; created_by_id: number; icon?: string | null; id: string; is_archived: boolean; kind: DirKind; name: string; parent_dir_id?: string | null; position: number; purpose?: string | null; topic?: string | null; updated_at: string; } export interface AppResponseData_Vec_DirNodeDto { code: number; data?: Array<{ archived_at?: string | null; children: DirNodeDto[]; color?: string | null; created_at: string; created_by_id: number; icon?: string | null; id: string; is_archived: boolean; kind: DirKind; name: string; parent_dir_id?: string | null; position: number; purpose?: string | null; topic?: string | null; updated_at: string; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_DirNodeDto { code: number; data?: { archived_at?: string | null; children: DirNodeDto[]; color?: string | null; created_at: string; created_by_id: number; icon?: string | null; id: string; is_archived: boolean; kind: DirKind; name: string; parent_dir_id?: string | null; position: number; purpose?: string | null; topic?: string | null; updated_at: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_GroupOverwriteDto { code: number; data?: { allow_mask: number; deny_mask: number; dir_id: string; group_id: string; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_UserOverwriteDto { code: number; data?: { allow_mask: number; deny_mask: number; dir_id: string; user?: null | UserDto; user_id: number; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_JoinRuleDto { code: number; data?: { created_at: string; enabled: boolean; group_id: string; id: string; matcher: string; trigger: SpaceJoinTrigger; updated_at?: string | null; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_Vec_TopicRepoDto { code: number; data?: Array<{ is_private: boolean; repo_id: string; repo_name: string; space_name: string; }>; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } export interface AppResponseData_SpaceImageDto { code: number; data?: { bytes: number; format: AvatarFormat; height?: number | null; kind: SpaceImageKind; space_id: string; updated_at: string; url: string; width?: number | null; }; error?: string | null; error_code?: string | null; log_id: string; message: string; request_id: string; } declare global { interface Apis { auth: { /** * --- * * [POST] * * **path:** /auth/2fa/disable * * --- * * **RequestBody** * ```ts * type RequestBody = { * code: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ totp_disable< Config extends Alova2MethodConfig & { data: TotpCodeCmd; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /auth/2fa/enable * * --- * * **RequestBody** * ```ts * type RequestBody = { * code: string * password: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * codes: string[] * total: number * used: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ totp_enable< Config extends Alova2MethodConfig & { data: TotpEnableCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /auth/2fa/recovery-codes * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * codes: string[] * total: number * used: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ recovery_codes>( config?: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /auth/2fa/recovery-codes * * --- * * **RequestBody** * ```ts * type RequestBody = { * password: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * codes: string[] * total: number * used: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ regenerate_recovery_codes< Config extends Alova2MethodConfig & { data: RegenerateRecoveryCodesCmd; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /auth/2fa/setup * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * otpauth_uri: string * secret: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ totp_setup>( config?: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /auth/2fa/status * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * enabled: boolean * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ totp_status>( config?: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /auth/access-keys/{key_id}/rotate * * --- * * **Path Parameters** * ```ts * type PathParameters = { * key_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * key: { * created_at: string * expires_at?: string | null * id: string * last_used_at?: string | null * name: string * scope: 'read' | 'write' * } * token: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ rotate_access_key< Config extends Alova2MethodConfig & { pathParams: { key_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /auth/jwt-request * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * appid: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * expires_in_secs: number * jwt: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ jwt_request< Config extends Alova2MethodConfig & { params: { appid: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /auth/password/change * * --- * * **RequestBody** * ```ts * type RequestBody = { * new_password: string * old_password: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ change_password< Config extends Alova2MethodConfig & { data: ChangePasswordCmd; } >( config: Config ): Alova2Method; }; security: { /** * --- * * [GET] * * **path:** /auth/access-keys * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * offset?: number | null * sort?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * created_at: string * expires_at?: string | null * id: string * last_used_at?: string | null * name: string * scope: 'read' | 'write' * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_access_keys< Config extends Alova2MethodConfig & { params: { limit?: number | null; offset?: number | null; sort?: string | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /auth/access-keys * * --- * * **RequestBody** * ```ts * type RequestBody = { * expires_at?: string | null * name: string * scope: 'read' | 'write' * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * key: { * created_at: string * expires_at?: string | null * id: string * last_used_at?: string | null * name: string * scope: 'read' | 'write' * } * token: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_access_key< Config extends Alova2MethodConfig & { data: CreateAccessKeyCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /auth/access-keys/{key_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * key_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_access_key< Config extends Alova2MethodConfig & { pathParams: { key_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /auth/ssh-keys * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * offset?: number | null * sort?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * created_at: string * fingerprint: string * id: string * key_type: 'ssh_rsa' | 'ssh_ed25519' | 'ecdsa_sha2_nistp256' * name: string * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_ssh_keys< Config extends Alova2MethodConfig & { params: { limit?: number | null; offset?: number | null; sort?: string | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /auth/ssh-keys * * --- * * **RequestBody** * ```ts * type RequestBody = { * content: string * name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * fingerprint: string * id: string * key_type: 'ssh_rsa' | 'ssh_ed25519' | 'ecdsa_sha2_nistp256' * name: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ add_ssh_key< Config extends Alova2MethodConfig & { data: AddSshKeyCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /auth/ssh-keys/{key_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * key_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_ssh_key< Config extends Alova2MethodConfig & { pathParams: { key_id: string; }; } >( config: Config ): Alova2Method; }; account: { /** * --- * * [GET] * * **path:** /auth/agreements * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * content_md: string * key: string * title: string * version: string * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_agreements>( config?: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /me * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * profile?: null | { * bio?: string | null * company?: string | null * date_of_birth?: string | null * location?: string | null * privacy_agreed_at?: string | null * pronouns?: string | null * real_name?: string | null * show_activity: boolean * show_email: boolean * show_location: boolean * show_real_name: boolean * website?: string | null * } * user: { * avatar_url: string * bot: boolean * created_at: string * display_name: string * is_active: boolean * is_restricted: boolean * language?: string | null * locale?: string | null * prohibit_login: boolean * system: boolean * timezone?: string | null * user_id: number * username: string * visibility: 'Public' | 'RegisteredOnly' | 'MembersOnly' | 'Private' * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ me>( config?: Config ): Alova2Method; /** * --- * * [PATCH] * * **path:** /me * * --- * * **RequestBody** * ```ts * type RequestBody = { * bio?: string | null * company?: string | null * date_of_birth?: string | null * display_name?: string | null * language?: string | null * locale?: string | null * location?: string | null * pronouns?: string | null * real_name?: string | null * show_activity?: boolean | null * show_email?: boolean | null * show_location?: boolean | null * show_real_name?: boolean | null * timezone?: string | null * visibility?: null | ('Public' | 'RegisteredOnly' | 'MembersOnly' | 'Private') * website?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_profile< Config extends Alova2MethodConfig & { data: UpdateProfileCmd; } >( config: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /me/agreements/{key} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // agreement key * key: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * version: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * recorded: boolean * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ accept_agreement< Config extends Alova2MethodConfig & { pathParams: { /** * agreement key */ key: string; }; data: AcceptAgreementCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /me/devices * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * offset?: number | null * sort?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * device_name?: string | null * device_type?: string | null * first_seen_at: string * id: string * is_trusted: boolean * last_seen_at: string * os?: string | null * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_devices< Config extends Alova2MethodConfig & { params: { limit?: number | null; offset?: number | null; sort?: string | null; }; } >( config: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /me/notifications/read * * --- * * **RequestBody** * ```ts * type RequestBody = { * all?: boolean * // [params1] start * // [items] start * // [items] end * // [params1] end * ids?: string[] | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * marked: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ mark_notifications_read< Config extends Alova2MethodConfig & { data: MarkNotificationsReadCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /me/preferences * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * allow_dms_from: 'Everyone' | 'FollowingOnly' | 'Nobody' * allow_mentions_from: 'Everyone' | 'FollowingOnly' | 'Nobody' * // Default view for the 问题集 page: `board` or `list`. * board_view_mode: string * diff_view_style?: string | null * email_digest: boolean * email_flags: number * in_app_flags: number * mute_until?: string | null * push_flags: number * show_online_status: boolean * theme_mode: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_preferences>( config?: Config ): Alova2Method; /** * --- * * [PATCH] * * **path:** /me/preferences * * --- * * **RequestBody** * ```ts * type RequestBody = { * allow_dms_from?: null | ('Everyone' | 'FollowingOnly' | 'Nobody') * allow_mentions_from?: null | ('Everyone' | 'FollowingOnly' | 'Nobody') * board_view_mode?: string | null * diff_view_style?: string | null * email_digest?: boolean | null * email_flags?: number | null * in_app_flags?: number | null * // 三态:缺省不动、`null` 清除、给值设置(与 `lib/webapi/src/openapi.rs` * // 声明的 PATCH 语义一致)。 * mute_until?: string | null * push_flags?: number | null * show_online_status?: boolean | null * theme_mode?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * allow_dms_from: 'Everyone' | 'FollowingOnly' | 'Nobody' * allow_mentions_from: 'Everyone' | 'FollowingOnly' | 'Nobody' * // Default view for the 问题集 page: `board` or `list`. * board_view_mode: string * diff_view_style?: string | null * email_digest: boolean * email_flags: number * in_app_flags: number * mute_until?: string | null * push_flags: number * show_online_status: boolean * theme_mode: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_preferences< Config extends Alova2MethodConfig & { data: UpdatePreferencesCmd; } >( config: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /me/username * * --- * * **RequestBody** * ```ts * type RequestBody = { * username: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * avatar_url: string * display_name: string * user_id: number * username: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_username< Config extends Alova2MethodConfig & { data: UpdateUsernameCmd; } >( config: Config ): Alova2Method; }; chat: { /** * --- * * [POST] * * **path:** /chat/attachments * * --- * * **RequestBody** * ```ts * type RequestBody = { * content_type: string * description?: string | null * filename: string * size: number * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * expires_secs: number * id: string * upload_url: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_attachment< Config extends Alova2MethodConfig & { data: CreateAttachmentCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/attachments/{attachment_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // attachment id * attachment_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * content_type: string * created_at: string * description?: string | null * duration_secs?: number | null * filename: string * height?: number | null * id: string * message_id?: string | null * room_id?: string | null * size: number * status: 'Pending' | 'Uploaded' * user_id: number * width?: number | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_attachment< Config extends Alova2MethodConfig & { pathParams: { /** * attachment id */ attachment_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/attachments/{attachment_id}/file * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // attachment id * attachment_id: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * // [params2] start * // Which representation a read endpoint should hand back. * // [params2] end * variant?: null | ('preview' | 'original') * } * ``` * * --- * * **Response** * ```ts * type Response = null * ``` */ download_attachment< Config extends Alova2MethodConfig & { pathParams: { /** * attachment id */ attachment_id: string; }; params: { variant?: null | ImageVariant; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /chat/attachments/{attachment_id}/finalize * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // attachment id * attachment_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * duration_secs?: number | null * height?: number | null * width?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * content_type: string * created_at: string * description?: string | null * duration_secs?: number | null * filename: string * height?: number | null * id: string * message_id?: string | null * room_id?: string | null * size: number * status: 'Pending' | 'Uploaded' * user_id: number * width?: number | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ finalize_attachment< Config extends Alova2MethodConfig & { pathParams: { /** * attachment id */ attachment_id: string; }; data: FinalizeAttachmentCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/dms * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * offset?: number | null * sort?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * created_at: string * id: string * kind: * 'GuildRoom' | 'GroupDm' | 'Dm' | 'Category' | 'Text' | 'Voice' | 'Stage' | 'News' | 'Thread' | 'DirectMessage' * last_message_id?: string | null * last_read_seq: number * // [items] start * // [items] end * members?: Array<{ * avatar_url: string * display_name: string * user_id: number * username: string * }> * name: string * peer?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * tip_seq: number * unread_count: number * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_dms< Config extends Alova2MethodConfig & { params: { limit?: number | null; offset?: number | null; sort?: string | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /chat/dms * * --- * * **Path Parameters** * ```ts * type PathParameters = { * limit: number | null * offset: number | null * sort: string | null * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * peer_user_id?: number | null * // [params1] start * // [items] start * // [items] end * // [params1] end * peer_user_ids?: number[] | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * id: string * kind: 'GuildRoom' | 'GroupDm' | 'Dm' | 'Category' | 'Text' | 'Voice' | 'Stage' | 'News' | 'Thread' | 'DirectMessage' * last_message_id?: string | null * last_read_seq: number * // [items] start * // [items] end * members?: Array<{ * avatar_url: string * display_name: string * user_id: number * username: string * }> * name: string * peer?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * tip_seq: number * unread_count: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ open_dm< Config extends Alova2MethodConfig & { pathParams: { limit: number | null; offset: number | null; sort: string | null; }; data: OpenDmCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /chat/dms/{room_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // dm room id * room_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ close_dm< Config extends Alova2MethodConfig & { pathParams: { /** * dm room id */ room_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/drafts * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * content: string * room_id: string * thread_id?: string | null * updated_at: string * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_my_drafts>( config?: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /chat/hooks/{token} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // webhook token * token: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * content?: string * nonce?: string | null * thread_id?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * attachments: Array<{ * content_type: string * created_at: string * description?: string | null * duration_secs?: number | null * filename: string * height?: number | null * id: string * message_id?: string | null * room_id?: string | null * size: number * status: 'Pending' | 'Uploaded' * user_id: number * width?: number | null * }> * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * author_id: number * author_type: 'User' | 'Bot' | 'Webhook' * content: string * created_at: string * deleted_at?: string | null * edited_at?: string | null * // [items] start * // [items] end * embeds?: Array<{ * aspect?: string | null * category?: string | null * description?: string | null * // 平台声明的固定像素高;前端据它给 iframe 定高(重量级见 `social::render`)。 * height?: number | null * html?: string | null * image_url?: string | null * kind?: string | null * platform?: string | null * platform_name?: string | null * site_name?: string | null * src?: string | null * title?: string | null * type: string * url: string * }> * forwarded_from_id?: string | null * has_thread: boolean * id: string * mention_everyone: boolean * // [items] start * // [items] end * mentions: number[] * message_type: * | 'Default' * | 'Reply' * | 'ThreadCreated' * | 'ChannelJoin' * | 'ChannelLeave' * | 'ChannelTopic' * | 'ChannelPinnedItem' * | 'Reminder' * | 'System' * pinned: boolean * pinned_at?: string | null * pinned_by_id?: number | null * // [items] start * // [items] end * reactions?: Array<{ * count: number * emoji: string * me: boolean * }> * reply_to_id?: string | null * room_id: string * seq: number * thread_broadcast: boolean * thread_id?: string | null * webhook_id?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ post_via_webhook< Config extends Alova2MethodConfig & { pathParams: { /** * webhook token */ token: string; }; data: WebhookPostCmd; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /chat/invites/accept * * --- * * **RequestBody** * ```ts * type RequestBody = { * code: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * favorite: boolean * hidden: boolean * id: string * is_private: boolean * kind: 'GuildRoom' | 'GroupDm' | 'Dm' | 'Category' | 'Text' | 'Voice' | 'Stage' | 'News' | 'Thread' | 'DirectMessage' * last_message_id?: string | null * member_count: number * muted: boolean * name: string * nsfw: boolean * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * owner_id: number * parent_id?: string | null * position: number * rate_limit_per_user?: number | null * space_id?: string | null * topic?: string | null * unread_count: number * unread_mentions: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ accept_room_invite< Config extends Alova2MethodConfig & { data: AcceptRoomInviteCmd; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /chat/invites/reject * * --- * * **RequestBody** * ```ts * type RequestBody = { * code: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ reject_room_invite< Config extends Alova2MethodConfig & { data: AcceptRoomInviteCmd; } >( config: Config ): Alova2Method; /** * --- * * [POST] LiveKit webhook:无会话,用 api_key/api_secret 验签 Authorization 与 body sha256。 * * **path:** /chat/livekit/webhook * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ livekit_webhook>( config?: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /chat/presence * * --- * * **RequestBody** * ```ts * type RequestBody = { * activities?: null * status: 'Active' | 'Away' | 'Dnd' | 'Offline' * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * activities: null * last_seen_at?: string | null * online: boolean * status: 'Active' | 'Away' | 'Dnd' | 'Offline' * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * user_id: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ set_presence< Config extends Alova2MethodConfig & { data: SetPresenceCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/reminders * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * created_at: string * id: string * message_id: string * message_preview?: string | null * note?: string | null * remind_at: string * room_id: string * status: 'Pending' | 'Done' | 'Cancelled' | 'Delivering' * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_reminders>( config?: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /chat/reminders/{reminder_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // reminder id * reminder_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ cancel_reminder< Config extends Alova2MethodConfig & { pathParams: { /** * reminder id */ reminder_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PATCH] * * **path:** /chat/reminders/{reminder_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * reminder_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * note?: string | null * remind_at?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * id: string * message_id: string * message_preview?: string | null * note?: string | null * remind_at: string * room_id: string * status: 'Pending' | 'Done' | 'Cancelled' | 'Delivering' * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_reminder< Config extends Alova2MethodConfig & { pathParams: { reminder_id: string; }; data: UpdateReminderCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/rooms/{room_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * favorite: boolean * hidden: boolean * id: string * is_private: boolean * kind: 'GuildRoom' | 'GroupDm' | 'Dm' | 'Category' | 'Text' | 'Voice' | 'Stage' | 'News' | 'Thread' | 'DirectMessage' * last_message_id?: string | null * member_count: number * muted: boolean * name: string * nsfw: boolean * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * owner_id: number * parent_id?: string | null * position: number * rate_limit_per_user?: number | null * space_id?: string | null * topic?: string | null * unread_count: number * unread_mentions: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_room< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /chat/rooms/{room_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_room< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PATCH] * * **path:** /chat/rooms/{room_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * is_private?: boolean | null * name?: string | null * nsfw?: boolean | null * // Move the room under another directory node of the same space; `null` puts * // it back at the space root. Absent means "leave the parent alone". * parent_id?: string | null * position?: number | null * rate_limit_per_user?: number | null * topic?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * favorite: boolean * hidden: boolean * id: string * is_private: boolean * kind: 'GuildRoom' | 'GroupDm' | 'Dm' | 'Category' | 'Text' | 'Voice' | 'Stage' | 'News' | 'Thread' | 'DirectMessage' * last_message_id?: string | null * member_count: number * muted: boolean * name: string * nsfw: boolean * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * owner_id: number * parent_id?: string | null * position: number * rate_limit_per_user?: number | null * space_id?: string | null * topic?: string | null * unread_count: number * unread_mentions: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_room< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; }; data: UpdateRoomCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/rooms/{room_id}/bans * * --- * * **Path Parameters** * ```ts * type PathParameters = { * room_id: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * offset?: number | null * sort?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * banned_by?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * created_at: string * expires_at?: string | null * reason?: string | null * room_id: string * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_room_bans< Config extends Alova2MethodConfig & { pathParams: { room_id: string; }; params: { limit?: number | null; offset?: number | null; sort?: string | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /chat/rooms/{room_id}/bans * * --- * * **Path Parameters** * ```ts * type PathParameters = { * room_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * expires_at?: string | null * reason?: string | null * user_id: number * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * banned_by?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * created_at: string * expires_at?: string | null * reason?: string | null * room_id: string * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ ban_room_member< Config extends Alova2MethodConfig & { pathParams: { room_id: string; }; data: BanRoomMemberCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /chat/rooms/{room_id}/bans/{user_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * room_id: string * user_id: number * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ unban_room_member< Config extends Alova2MethodConfig & { pathParams: { room_id: string; user_id: number; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/rooms/{room_id}/bookmarks * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * offset?: number | null * sort?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * created_at: string * created_by_id: number * emoji?: string | null * id: string * position: number * room_id: string * title: string * url?: string | null * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_bookmarks< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; }; params: { limit?: number | null; offset?: number | null; sort?: string | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /chat/rooms/{room_id}/bookmarks * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * emoji?: string | null * title: string * url?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * created_by_id: number * emoji?: string | null * id: string * position: number * room_id: string * title: string * url?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_bookmark< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; }; data: CreateBookmarkCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /chat/rooms/{room_id}/bookmarks/{bookmark_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * // bookmark id * bookmark_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_bookmark< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; /** * bookmark id */ bookmark_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PATCH] * * **path:** /chat/rooms/{room_id}/bookmarks/{bookmark_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * // bookmark id * bookmark_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * emoji?: string | null * position?: number | null * title?: string | null * url?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * created_by_id: number * emoji?: string | null * id: string * position: number * room_id: string * title: string * url?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_bookmark< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; /** * bookmark id */ bookmark_id: string; }; data: UpdateBookmarkCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/rooms/{room_id}/draft * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * thread_id?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null | { * content: string * room_id: string * thread_id?: string | null * updated_at: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_draft< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; }; params: { thread_id?: string | null; }; } >( config: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /chat/rooms/{room_id}/draft * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * content: string * thread_id?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * content: string * room_id: string * thread_id?: string | null * updated_at: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ upsert_draft< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; }; data: UpsertDraftCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /chat/rooms/{room_id}/draft * * --- * * **Path Parameters** * ```ts * type PathParameters = { * room_id: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * // thread scope * thread_id?: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_draft< Config extends Alova2MethodConfig & { pathParams: { room_id: string; }; params: { /** * thread scope */ thread_id?: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/rooms/{room_id}/invites * * --- * * **Path Parameters** * ```ts * type PathParameters = { * room_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * accepted_at?: string | null * created_at: string * expires_at?: string | null * id: string * invitee?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * invitee_id?: number | null * inviter?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * inviter_id: number * revoked_at?: string | null * room_id: string * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_room_invites< Config extends Alova2MethodConfig & { pathParams: { room_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /chat/rooms/{room_id}/invites * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * expires_secs?: number | null * invitee_id?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * accept_code: string * created_at: string * expires_at?: string | null * id: string * invitee?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * invitee_id?: number | null * inviter?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * inviter_id: number * room_id: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_room_invite< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; }; data: CreateRoomInviteCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /chat/rooms/{room_id}/invites/{invite_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * room_id: string * invite_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ revoke_room_invite< Config extends Alova2MethodConfig & { pathParams: { room_id: string; invite_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/rooms/{room_id}/members * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * offset?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * joined_at: string * nick?: string | null * role: 'member' | 'moderator' | 'admin' | 'owner' * user: { * avatar_url: string * display_name: string * user_id: number * username: string * } * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_room_members< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; }; params: { limit?: number | null; offset?: number | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /chat/rooms/{room_id}/members * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * // [items] start * // [items] end * user_ids: number[] * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ add_room_members< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; }; data: AddMembersCmd; } >( config: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /chat/rooms/{room_id}/members/@me * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ join_room< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /chat/rooms/{room_id}/members/@me * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ leave_room< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/rooms/{room_id}/members/{user_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * room_id: string * user_id: number * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * joined_at: string * nick?: string | null * role: 'member' | 'moderator' | 'admin' | 'owner' * user: { * avatar_url: string * display_name: string * user_id: number * username: string * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_room_member< Config extends Alova2MethodConfig & { pathParams: { room_id: string; user_id: number; }; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /chat/rooms/{room_id}/members/{user_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * room_id: string * user_id: number * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ kick_room_member< Config extends Alova2MethodConfig & { pathParams: { room_id: string; user_id: number; }; } >( config: Config ): Alova2Method; /** * --- * * [PATCH] * * **path:** /chat/rooms/{room_id}/members/{user_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * room_id: string * user_id: number * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * nick?: string | null * role?: null | ('member' | 'moderator' | 'admin' | 'owner') * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * joined_at: string * nick?: string | null * role: 'member' | 'moderator' | 'admin' | 'owner' * user: { * avatar_url: string * display_name: string * user_id: number * username: string * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_room_member< Config extends Alova2MethodConfig & { pathParams: { room_id: string; user_id: number; }; data: UpdateRoomMemberCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/rooms/{room_id}/messages * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * before_seq?: number | null * after_seq?: number | null * limit?: number | null * thread_id?: string | null * author_id?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * has_more: boolean * // [items] start * // [items] end * items: Array<{ * // [items] start * // [items] end * attachments: Array<{ * content_type: string * created_at: string * description?: string | null * duration_secs?: number | null * filename: string * height?: number | null * id: string * message_id?: string | null * room_id?: string | null * size: number * status: 'Pending' | 'Uploaded' * user_id: number * width?: number | null * }> * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * author_id: number * author_type: 'User' | 'Bot' | 'Webhook' * content: string * created_at: string * deleted_at?: string | null * edited_at?: string | null * // [items] start * // [items] end * embeds?: Array<{ * aspect?: string | null * category?: string | null * description?: string | null * // 平台声明的固定像素高;前端据它给 iframe 定高(重量级见 `social::render`)。 * height?: number | null * html?: string | null * image_url?: string | null * kind?: string | null * platform?: string | null * platform_name?: string | null * site_name?: string | null * src?: string | null * title?: string | null * type: string * url: string * }> * forwarded_from_id?: string | null * has_thread: boolean * id: string * mention_everyone: boolean * // [items] start * // [items] end * mentions: number[] * message_type: * | 'Default' * | 'Reply' * | 'ThreadCreated' * | 'ChannelJoin' * | 'ChannelLeave' * | 'ChannelTopic' * | 'ChannelPinnedItem' * | 'Reminder' * | 'System' * pinned: boolean * pinned_at?: string | null * pinned_by_id?: number | null * // [items] start * // [items] end * reactions?: Array<{ * count: number * emoji: string * me: boolean * }> * reply_to_id?: string | null * room_id: string * seq: number * thread_broadcast: boolean * thread_id?: string | null * webhook_id?: string | null * }> * newest_seq?: number | null * oldest_seq?: number | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_messages< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; }; params: { before_seq?: number | null; after_seq?: number | null; limit?: number | null; thread_id?: string | null; author_id?: number | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /chat/rooms/{room_id}/messages * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * // [items] start * // [items] end * attachments?: string[] * content?: string * forwarded_from?: string | null * // client-generated idempotency key, unique per room; retrying with the * // same nonce returns the original message instead of duplicating * nonce?: string | null * reply_to_id?: string | null * thread_broadcast?: boolean * thread_id?: string | null * urgent?: boolean * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * attachments: Array<{ * content_type: string * created_at: string * description?: string | null * duration_secs?: number | null * filename: string * height?: number | null * id: string * message_id?: string | null * room_id?: string | null * size: number * status: 'Pending' | 'Uploaded' * user_id: number * width?: number | null * }> * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * author_id: number * author_type: 'User' | 'Bot' | 'Webhook' * content: string * created_at: string * deleted_at?: string | null * edited_at?: string | null * // [items] start * // [items] end * embeds?: Array<{ * aspect?: string | null * category?: string | null * description?: string | null * // 平台声明的固定像素高;前端据它给 iframe 定高(重量级见 `social::render`)。 * height?: number | null * html?: string | null * image_url?: string | null * kind?: string | null * platform?: string | null * platform_name?: string | null * site_name?: string | null * src?: string | null * title?: string | null * type: string * url: string * }> * forwarded_from_id?: string | null * has_thread: boolean * id: string * mention_everyone: boolean * // [items] start * // [items] end * mentions: number[] * message_type: * | 'Default' * | 'Reply' * | 'ThreadCreated' * | 'ChannelJoin' * | 'ChannelLeave' * | 'ChannelTopic' * | 'ChannelPinnedItem' * | 'Reminder' * | 'System' * pinned: boolean * pinned_at?: string | null * pinned_by_id?: number | null * // [items] start * // [items] end * reactions?: Array<{ * count: number * emoji: string * me: boolean * }> * reply_to_id?: string | null * room_id: string * seq: number * thread_broadcast: boolean * thread_id?: string | null * webhook_id?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ send_message< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; }; data: SendMessageCmd; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /chat/rooms/{room_id}/messages/bulk-delete * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * // [items] start * // [items] end * message_ids: string[] * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ bulk_delete_messages< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; }; data: BulkDeleteCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/rooms/{room_id}/messages/{message_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * room_id: string * message_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * attachments: Array<{ * content_type: string * created_at: string * description?: string | null * duration_secs?: number | null * filename: string * height?: number | null * id: string * message_id?: string | null * room_id?: string | null * size: number * status: 'Pending' | 'Uploaded' * user_id: number * width?: number | null * }> * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * author_id: number * author_type: 'User' | 'Bot' | 'Webhook' * content: string * created_at: string * deleted_at?: string | null * edited_at?: string | null * // [items] start * // [items] end * embeds?: Array<{ * aspect?: string | null * category?: string | null * description?: string | null * // 平台声明的固定像素高;前端据它给 iframe 定高(重量级见 `social::render`)。 * height?: number | null * html?: string | null * image_url?: string | null * kind?: string | null * platform?: string | null * platform_name?: string | null * site_name?: string | null * src?: string | null * title?: string | null * type: string * url: string * }> * forwarded_from_id?: string | null * has_thread: boolean * id: string * mention_everyone: boolean * // [items] start * // [items] end * mentions: number[] * message_type: * | 'Default' * | 'Reply' * | 'ThreadCreated' * | 'ChannelJoin' * | 'ChannelLeave' * | 'ChannelTopic' * | 'ChannelPinnedItem' * | 'Reminder' * | 'System' * pinned: boolean * pinned_at?: string | null * pinned_by_id?: number | null * // [items] start * // [items] end * reactions?: Array<{ * count: number * emoji: string * me: boolean * }> * reply_to_id?: string | null * room_id: string * seq: number * thread_broadcast: boolean * thread_id?: string | null * webhook_id?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_message< Config extends Alova2MethodConfig & { pathParams: { room_id: string; message_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /chat/rooms/{room_id}/messages/{message_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * room_id: string * message_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_message< Config extends Alova2MethodConfig & { pathParams: { room_id: string; message_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PATCH] * * **path:** /chat/rooms/{room_id}/messages/{message_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * room_id: string * message_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * content: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * attachments: Array<{ * content_type: string * created_at: string * description?: string | null * duration_secs?: number | null * filename: string * height?: number | null * id: string * message_id?: string | null * room_id?: string | null * size: number * status: 'Pending' | 'Uploaded' * user_id: number * width?: number | null * }> * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * author_id: number * author_type: 'User' | 'Bot' | 'Webhook' * content: string * created_at: string * deleted_at?: string | null * edited_at?: string | null * // [items] start * // [items] end * embeds?: Array<{ * aspect?: string | null * category?: string | null * description?: string | null * // 平台声明的固定像素高;前端据它给 iframe 定高(重量级见 `social::render`)。 * height?: number | null * html?: string | null * image_url?: string | null * kind?: string | null * platform?: string | null * platform_name?: string | null * site_name?: string | null * src?: string | null * title?: string | null * type: string * url: string * }> * forwarded_from_id?: string | null * has_thread: boolean * id: string * mention_everyone: boolean * // [items] start * // [items] end * mentions: number[] * message_type: * | 'Default' * | 'Reply' * | 'ThreadCreated' * | 'ChannelJoin' * | 'ChannelLeave' * | 'ChannelTopic' * | 'ChannelPinnedItem' * | 'Reminder' * | 'System' * pinned: boolean * pinned_at?: string | null * pinned_by_id?: number | null * // [items] start * // [items] end * reactions?: Array<{ * count: number * emoji: string * me: boolean * }> * reply_to_id?: string | null * room_id: string * seq: number * thread_broadcast: boolean * thread_id?: string | null * webhook_id?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_message< Config extends Alova2MethodConfig & { pathParams: { room_id: string; message_id: string; }; data: UpdateMessageCmd; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /chat/rooms/{room_id}/messages/{message_id}/forward * * --- * * **Path Parameters** * ```ts * type PathParameters = { * room_id: string * message_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * comment?: string | null * target_room_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * attachments: Array<{ * content_type: string * created_at: string * description?: string | null * duration_secs?: number | null * filename: string * height?: number | null * id: string * message_id?: string | null * room_id?: string | null * size: number * status: 'Pending' | 'Uploaded' * user_id: number * width?: number | null * }> * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * author_id: number * author_type: 'User' | 'Bot' | 'Webhook' * content: string * created_at: string * deleted_at?: string | null * edited_at?: string | null * // [items] start * // [items] end * embeds?: Array<{ * aspect?: string | null * category?: string | null * description?: string | null * // 平台声明的固定像素高;前端据它给 iframe 定高(重量级见 `social::render`)。 * height?: number | null * html?: string | null * image_url?: string | null * kind?: string | null * platform?: string | null * platform_name?: string | null * site_name?: string | null * src?: string | null * title?: string | null * type: string * url: string * }> * forwarded_from_id?: string | null * has_thread: boolean * id: string * mention_everyone: boolean * // [items] start * // [items] end * mentions: number[] * message_type: * | 'Default' * | 'Reply' * | 'ThreadCreated' * | 'ChannelJoin' * | 'ChannelLeave' * | 'ChannelTopic' * | 'ChannelPinnedItem' * | 'Reminder' * | 'System' * pinned: boolean * pinned_at?: string | null * pinned_by_id?: number | null * // [items] start * // [items] end * reactions?: Array<{ * count: number * emoji: string * me: boolean * }> * reply_to_id?: string | null * room_id: string * seq: number * thread_broadcast: boolean * thread_id?: string | null * webhook_id?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ forward_message< Config extends Alova2MethodConfig & { pathParams: { room_id: string; message_id: string; }; data: ForwardMessageCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/rooms/{room_id}/messages/{message_id}/history * * --- * * **Path Parameters** * ```ts * type PathParameters = { * room_id: string * message_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * content: string * created_at: string * editor?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * id: string * message_id: string * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_message_history< Config extends Alova2MethodConfig & { pathParams: { room_id: string; message_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /chat/rooms/{room_id}/messages/{message_id}/pin * * --- * * **Path Parameters** * ```ts * type PathParameters = { * room_id: string * message_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * pinned: boolean * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * attachments: Array<{ * content_type: string * created_at: string * description?: string | null * duration_secs?: number | null * filename: string * height?: number | null * id: string * message_id?: string | null * room_id?: string | null * size: number * status: 'Pending' | 'Uploaded' * user_id: number * width?: number | null * }> * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * author_id: number * author_type: 'User' | 'Bot' | 'Webhook' * content: string * created_at: string * deleted_at?: string | null * edited_at?: string | null * // [items] start * // [items] end * embeds?: Array<{ * aspect?: string | null * category?: string | null * description?: string | null * // 平台声明的固定像素高;前端据它给 iframe 定高(重量级见 `social::render`)。 * height?: number | null * html?: string | null * image_url?: string | null * kind?: string | null * platform?: string | null * platform_name?: string | null * site_name?: string | null * src?: string | null * title?: string | null * type: string * url: string * }> * forwarded_from_id?: string | null * has_thread: boolean * id: string * mention_everyone: boolean * // [items] start * // [items] end * mentions: number[] * message_type: * | 'Default' * | 'Reply' * | 'ThreadCreated' * | 'ChannelJoin' * | 'ChannelLeave' * | 'ChannelTopic' * | 'ChannelPinnedItem' * | 'Reminder' * | 'System' * pinned: boolean * pinned_at?: string | null * pinned_by_id?: number | null * // [items] start * // [items] end * reactions?: Array<{ * count: number * emoji: string * me: boolean * }> * reply_to_id?: string | null * room_id: string * seq: number * thread_broadcast: boolean * thread_id?: string | null * webhook_id?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ set_message_pin< Config extends Alova2MethodConfig & { pathParams: { room_id: string; message_id: string; }; data: PinCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/rooms/{room_id}/messages/{message_id}/reactions * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * // message id * message_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * created_at: string * emoji: string * user: { * avatar_url: string * display_name: string * user_id: number * username: string * } * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_reactions< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; /** * message id */ message_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /chat/rooms/{room_id}/messages/{message_id}/reactions/@me * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * // message id * message_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * emoji: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * count: number * emoji: string * me: boolean * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ add_reaction< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; /** * message id */ message_id: string; }; data: ReactionCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /chat/rooms/{room_id}/messages/{message_id}/reactions/@me * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * // message id * message_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * emoji: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * count: number * emoji: string * me: boolean * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ remove_reaction< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; /** * message id */ message_id: string; }; data: ReactionCmd; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /chat/rooms/{room_id}/messages/{message_id}/reminders * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * // message id * message_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * note?: string | null * remind_at: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * id: string * message_id: string * message_preview?: string | null * note?: string | null * remind_at: string * room_id: string * status: 'Pending' | 'Done' | 'Cancelled' | 'Delivering' * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_reminder< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; /** * message id */ message_id: string; }; data: CreateReminderCmd; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /chat/rooms/{room_id}/messages/{message_id}/threads * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * // root message id * message_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * name?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * archived: boolean * created_at: string * id: string * last_reply_at?: string | null * last_reply_id?: string | null * locked: boolean * name?: string | null * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * owner_id: number * participant_count: number * reply_count: number * room_id: string * root_message_id: string * updated_at: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_thread< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; /** * root message id */ message_id: string; }; data: CreateThreadCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/rooms/{room_id}/outbound-webhooks * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * created_at: string * disabled: boolean * id: string * last_status?: string | null * last_used_at?: string | null * name: string * room_id: string * url: string * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_outbound_webhooks< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /chat/rooms/{room_id}/outbound-webhooks * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * name: string * url: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * id: string * name: string * room_id: string * secret: string * url: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_outbound_webhook< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; }; data: CreateOutboundWebhookCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /chat/rooms/{room_id}/outbound-webhooks/{webhook_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * room_id: string * webhook_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_outbound_webhook< Config extends Alova2MethodConfig & { pathParams: { room_id: string; webhook_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PATCH] * * **path:** /chat/rooms/{room_id}/outbound-webhooks/{webhook_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * room_id: string * webhook_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * disabled?: boolean | null * name?: string | null * url?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * disabled: boolean * id: string * last_status?: string | null * last_used_at?: string | null * name: string * room_id: string * url: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_outbound_webhook< Config extends Alova2MethodConfig & { pathParams: { room_id: string; webhook_id: string; }; data: UpdateOutboundWebhookCmd; } >( config: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /chat/rooms/{room_id}/owner * * --- * * **Path Parameters** * ```ts * type PathParameters = { * room_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * user_id: number * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ transfer_room_owner< Config extends Alova2MethodConfig & { pathParams: { room_id: string; }; data: TransferOwnerCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/rooms/{room_id}/pins * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * // [items] start * // [items] end * attachments: Array<{ * content_type: string * created_at: string * description?: string | null * duration_secs?: number | null * filename: string * height?: number | null * id: string * message_id?: string | null * room_id?: string | null * size: number * status: 'Pending' | 'Uploaded' * user_id: number * width?: number | null * }> * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * author_id: number * author_type: 'User' | 'Bot' | 'Webhook' * content: string * created_at: string * deleted_at?: string | null * edited_at?: string | null * // [items] start * // [items] end * embeds?: Array<{ * aspect?: string | null * category?: string | null * description?: string | null * // 平台声明的固定像素高;前端据它给 iframe 定高(重量级见 `social::render`)。 * height?: number | null * html?: string | null * image_url?: string | null * kind?: string | null * platform?: string | null * platform_name?: string | null * site_name?: string | null * src?: string | null * title?: string | null * type: string * url: string * }> * forwarded_from_id?: string | null * has_thread: boolean * id: string * mention_everyone: boolean * // [items] start * // [items] end * mentions: number[] * message_type: * | 'Default' * | 'Reply' * | 'ThreadCreated' * | 'ChannelJoin' * | 'ChannelLeave' * | 'ChannelTopic' * | 'ChannelPinnedItem' * | 'Reminder' * | 'System' * pinned: boolean * pinned_at?: string | null * pinned_by_id?: number | null * // [items] start * // [items] end * reactions?: Array<{ * count: number * emoji: string * me: boolean * }> * reply_to_id?: string | null * room_id: string * seq: number * thread_broadcast: boolean * thread_id?: string | null * webhook_id?: string | null * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_pins< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/rooms/{room_id}/read-state * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * last_read_message_id?: string | null * last_read_seq: number * last_viewed_at?: string | null * room_id: string * tip_seq: number * unread_count: number * unread_mentions: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_read_state< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /chat/rooms/{room_id}/read-state * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * message_id?: string | null * seq?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * last_read_message_id?: string | null * last_read_seq: number * last_viewed_at?: string | null * room_id: string * tip_seq: number * unread_count: number * unread_mentions: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ mark_read< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; }; data: MarkReadCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/rooms/{room_id}/settings * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * favorite: boolean * hidden: boolean * mute_until?: string | null * muted: boolean * notification_level: 'Default' | 'All' | 'Mentions' | 'Nothing' * room_id: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_room_setting< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /chat/rooms/{room_id}/settings * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * favorite?: boolean | null * hidden?: boolean | null * mute_minutes?: number | null * muted?: boolean | null * notification_level?: null | ('Default' | 'All' | 'Mentions' | 'Nothing') * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * favorite: boolean * hidden: boolean * mute_until?: string | null * muted: boolean * notification_level: 'Default' | 'All' | 'Mentions' | 'Nothing' * room_id: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_room_setting< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; }; data: UpdateRoomSettingCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/rooms/{room_id}/threads * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * archived?: boolean | null * limit?: number | null * offset?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * archived: boolean * created_at: string * id: string * last_reply_at?: string | null * last_reply_id?: string | null * locked: boolean * name?: string | null * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * owner_id: number * participant_count: number * reply_count: number * room_id: string * root_message_id: string * updated_at: string * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_threads< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; }; params: { archived?: boolean | null; limit?: number | null; offset?: number | null; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/rooms/{room_id}/voice/hands * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * can_moderate: boolean * // [items] start * // [items] end * hands: Array<{ * avatar_url?: string | null * display_name: string * requested_at: number * // 举手状态。审批通过后 approved,被收回后 revoked(可再次举手)。 * state: 'pending' | 'approved' | 'denied' | 'revoked' * user_id: number * }> * // [params2] start * // 举手状态。审批通过后 approved,被收回后 revoked(可再次举手)。 * // [params2] end * my_state?: null | ('pending' | 'approved' | 'denied' | 'revoked') * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_hands< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /chat/rooms/{room_id}/voice/hands * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * avatar_url?: string | null * display_name: string * requested_at: number * // 举手状态。审批通过后 approved,被收回后 revoked(可再次举手)。 * state: 'pending' | 'approved' | 'denied' | 'revoked' * user_id: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ raise_hand< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /chat/rooms/{room_id}/voice/hands/@me * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ cancel_hand< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /chat/rooms/{room_id}/voice/hands/{user_id}/approve * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * // target user id * user_id: number * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * action: string * ok: boolean * user_id: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ approve_hand< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; /** * target user id */ user_id: number; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /chat/rooms/{room_id}/voice/hands/{user_id}/deny * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * // target user id * user_id: number * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * action: string * ok: boolean * user_id: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ deny_hand< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; /** * target user id */ user_id: number; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /chat/rooms/{room_id}/voice/hands/{user_id}/revoke * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * // target user id * user_id: number * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * action: string * ok: boolean * user_id: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ revoke_hand< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; /** * target user id */ user_id: number; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/rooms/{room_id}/voice/layout * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // key 为参与者用户 id。 * tiles?: Record< * string, * { * // 归一化高度,和 `w` 一样按画布的可用宽高分别归一,因此窗口可以自由 * // 拉伸而不是只能等比缩放。旧记录没有这个字段,读出来是 `None`,客户端 * // 按宽度的 3/4 补一个经典比例。 * h?: number | null * // 服务端写入时刻(秒)。请求里被忽略,响应里供客户端判断“谁更新”, * // 这样并发拖拽时一个迟到的 GET 不会把刚摆好的窗口拽回旧位置。 * updated_at?: number * // 归一化宽度。 * w: number * x: number * y: number * } * > * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_voice_layout< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /chat/rooms/{room_id}/voice/layout * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * // 需要收回自动网格的窗口 key。 * // [items] start * // [items] end * removed?: string[] * // 需要新增或覆盖的窗口(key = 参与者用户 id)。 * tiles?: Record< * string, * { * // 归一化高度,和 `w` 一样按画布的可用宽高分别归一,因此窗口可以自由 * // 拉伸而不是只能等比缩放。旧记录没有这个字段,读出来是 `None`,客户端 * // 按宽度的 3/4 补一个经典比例。 * h?: number | null * // 服务端写入时刻(秒)。请求里被忽略,响应里供客户端判断“谁更新”, * // 这样并发拖拽时一个迟到的 GET 不会把刚摆好的窗口拽回旧位置。 * updated_at?: number * // 归一化宽度。 * w: number * x: number * y: number * } * > * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // 本次写入的服务端时刻,客户端用它给本地副本盖戳。 * data?: { * updated_at: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ save_voice_layout< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; }; data: VoiceLayoutPatchDto; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/rooms/{room_id}/voice/participants * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // 房间参与者快照。 * // 权威来源是 LiveKit 的 list_participants,Redis 只补主持人静音等本地状态; * // 这是「谁在这个频道里」的服务端视图,用于侧栏人数与未加入时的预览。 * // 会中界面的发言高亮、静音图标与画面轨道一律直接读浏览器里的 Room, * // 因为本接口不是事件流,返回值天然是快照。 * // [items] end * data?: Array<{ * avatar_url?: string | null * can_publish: boolean * display_name: string * joined_at: number * moderator_muted: boolean * // 快照值:list_participants 不返回发言状态,因此这里恒为 false; * // 实时发言指示由前端从 Room 的 activeSpeakers 读取。 * speaking: boolean * // [items] start * // [items] end * tracks: Array<{ * kind: string * muted: boolean * sid: string * source: string * }> * user_id: number * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ voice_participants< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /chat/rooms/{room_id}/voice/participants/{user_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * // target user id * user_id: number * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * action: string * ok: boolean * user_id: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ kick_participant< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; /** * target user id */ user_id: number; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /chat/rooms/{room_id}/voice/participants/{user_id}/mute * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * // target user id * user_id: number * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * // false to unmute * muted?: boolean * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * action: string * ok: boolean * user_id: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ moderate_mute< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; /** * target user id */ user_id: number; }; params: { /** * false to unmute */ muted?: boolean; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /chat/rooms/{room_id}/voice/recording/start * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * active: boolean * egress_id: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ start_recording< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /chat/rooms/{room_id}/voice/recording/stop * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * active: boolean * egress_id: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ stop_recording< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /chat/rooms/{room_id}/voice/token * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * can_publish: boolean * expires_in_secs: number * // [params2] start * // 举手状态。审批通过后 approved,被收回后 revoked(可再次举手)。 * // [params2] end * hand_state?: null | ('pending' | 'approved' | 'denied' | 'revoked') * is_stage: boolean * room_name: string * token: string * url: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ voice_token< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/rooms/{room_id}/webhooks * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * offset?: number | null * sort?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * created_at: string * disabled: boolean * id: string * last_used_at?: string | null * name: string * room_id: string * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_webhooks< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; }; params: { limit?: number | null; offset?: number | null; sort?: string | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /chat/rooms/{room_id}/webhooks * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * disabled: boolean * id: string * name: string * room_id: string * token: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_webhook< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; }; data: CreateWebhookCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /chat/rooms/{room_id}/webhooks/{webhook_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // room id * room_id: string * // webhook id * webhook_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_webhook< Config extends Alova2MethodConfig & { pathParams: { /** * room id */ room_id: string; /** * webhook id */ webhook_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PATCH] * * **path:** /chat/rooms/{room_id}/webhooks/{webhook_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * room_id: string * webhook_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * disabled?: boolean | null * name?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * disabled: boolean * id: string * last_used_at?: string | null * name: string * room_id: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_webhook< Config extends Alova2MethodConfig & { pathParams: { room_id: string; webhook_id: string; }; data: UpdateWebhookCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/spaces/{space_name}/emojis * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // space name * space_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * animated: boolean * created_at: string * disabled: boolean * id: string * name: string * space_id: string * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_emojis< Config extends Alova2MethodConfig & { pathParams: { /** * space name */ space_name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /chat/spaces/{space_name}/emojis * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // space name * space_name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * animated?: boolean * content_type: string * data_base64: string * name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * animated: boolean * created_at: string * disabled: boolean * id: string * name: string * space_id: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ upload_emoji< Config extends Alova2MethodConfig & { pathParams: { /** * space name */ space_name: string; }; data: UploadEmojiCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/spaces/{space_name}/emojis/{emoji_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * emoji_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * animated: boolean * created_at: string * disabled: boolean * id: string * name: string * space_id: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_emoji< Config extends Alova2MethodConfig & { pathParams: { space_name: string; emoji_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /chat/spaces/{space_name}/emojis/{emoji_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // space name * space_name: string * // emoji id * emoji_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_emoji< Config extends Alova2MethodConfig & { pathParams: { /** * space name */ space_name: string; /** * emoji id */ emoji_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/spaces/{space_name}/emojis/{emoji_id}/image * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // space name * space_name: string * // emoji id * emoji_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = null * ``` */ emoji_image< Config extends Alova2MethodConfig & { pathParams: { /** * space name */ space_name: string; /** * emoji id */ emoji_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/spaces/{space_name}/messages/search * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // space name * space_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * q: string * room_id?: string | null * author_id?: number | null * limit?: number | null * offset?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * author_id: number * content: string * created_at: string * message_id: string * room_id: string * seq: number * }> * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ search_messages< Config extends Alova2MethodConfig & { pathParams: { /** * space name */ space_name: string; }; params: { q: string; room_id?: string | null; author_id?: number | null; limit?: number | null; offset?: number | null; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/spaces/{space_name}/presences * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // space name * space_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * activities: null * last_seen_at?: string | null * online: boolean * status: 'Active' | 'Away' | 'Dnd' | 'Offline' * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * user_id: number * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_space_presences< Config extends Alova2MethodConfig & { pathParams: { /** * space name */ space_name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/spaces/{space_name}/read-states * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // space name * space_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * last_read_message_id?: string | null * last_read_seq: number * last_viewed_at?: string | null * room_id: string * tip_seq: number * unread_count: number * unread_mentions: number * }> * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_space_read_states< Config extends Alova2MethodConfig & { pathParams: { /** * space name */ space_name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/spaces/{space_name}/rooms * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // space name * space_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * created_at: string * favorite: boolean * hidden: boolean * id: string * is_private: boolean * kind: 'GuildRoom' | 'GroupDm' | 'Dm' | 'Category' | 'Text' | 'Voice' | 'Stage' | 'News' | 'Thread' | 'DirectMessage' * last_message_id?: string | null * member_count: number * muted: boolean * name: string * nsfw: boolean * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * owner_id: number * parent_id?: string | null * position: number * rate_limit_per_user?: number | null * space_id?: string | null * topic?: string | null * unread_count: number * unread_mentions: number * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_space_rooms< Config extends Alova2MethodConfig & { pathParams: { /** * space name */ space_name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /chat/spaces/{space_name}/rooms * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * is_private?: boolean * kind?: 'GuildRoom' | 'GroupDm' | 'Dm' | 'Category' | 'Text' | 'Voice' | 'Stage' | 'News' | 'Thread' | 'DirectMessage' * name: string * nsfw?: boolean * parent_id?: string | null * rate_limit_per_user?: number | null * topic?: string | null * user_limit?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * id: string * is_active: boolean * is_private: boolean * kind: 'GuildRoom' | 'GroupDm' | 'Dm' | 'Category' | 'Text' | 'Voice' | 'Stage' | 'News' | 'Thread' | 'DirectMessage' * name: string * nsfw: boolean * owner_id: number * parent_id?: string | null * position: number * rate_limit_per_user?: number | null * space_id?: string | null * topic?: string | null * updated_at: string * user_limit?: number | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_room< Config extends Alova2MethodConfig & { pathParams: { space_name: string; }; data: CreateRoomCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/spaces/{space_name}/voice-states * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // space name * space_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * rooms: Array<{ * count: number * room_id: string * }> * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ voice_space_states< Config extends Alova2MethodConfig & { pathParams: { /** * space name */ space_name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/threads * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * offset?: number | null * sort?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * archived: boolean * created_at: string * id: string * last_reply_at?: string | null * last_reply_id?: string | null * locked: boolean * name?: string | null * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * owner_id: number * participant_count: number * reply_count: number * room_id: string * root_message_id: string * updated_at: string * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_my_threads< Config extends Alova2MethodConfig & { params: { limit?: number | null; offset?: number | null; sort?: string | null; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/threads/{thread_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // thread id * thread_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * archived: boolean * created_at: string * id: string * last_reply_at?: string | null * last_reply_id?: string | null * locked: boolean * name?: string | null * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * owner_id: number * participant_count: number * reply_count: number * room_id: string * root_message_id: string * updated_at: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_thread< Config extends Alova2MethodConfig & { pathParams: { /** * thread id */ thread_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PATCH] * * **path:** /chat/threads/{thread_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // thread id * thread_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * archived?: boolean | null * locked?: boolean | null * name?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * archived: boolean * created_at: string * id: string * last_reply_at?: string | null * last_reply_id?: string | null * locked: boolean * name?: string | null * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * owner_id: number * participant_count: number * reply_count: number * room_id: string * root_message_id: string * updated_at: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_thread< Config extends Alova2MethodConfig & { pathParams: { /** * thread id */ thread_id: string; }; data: UpdateThreadCmd; } >( config: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /chat/threads/{thread_id}/members/@me * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // thread id * thread_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * notify_level?: null | ('None' | 'All') * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ follow_thread< Config extends Alova2MethodConfig & { pathParams: { /** * thread id */ thread_id: string; }; data: ThreadMemberCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /chat/threads/{thread_id}/members/@me * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // thread id * thread_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ unfollow_thread< Config extends Alova2MethodConfig & { pathParams: { /** * thread id */ thread_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /chat/threads/{thread_id}/read-state * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // thread id * thread_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * message_id?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ mark_thread_read< Config extends Alova2MethodConfig & { pathParams: { /** * thread id */ thread_id: string; }; data: MarkThreadReadCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/users/{user_id}/presence * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // user id * user_id: number * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * activities: null * last_seen_at?: string | null * online: boolean * status: 'Active' | 'Away' | 'Dnd' | 'Offline' * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * user_id: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_presence< Config extends Alova2MethodConfig & { pathParams: { /** * user id */ user_id: number; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /chat/voice/config * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * enabled: boolean * recording_enabled: boolean * url: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ voice_config>( config?: Config ): Alova2Method; }; graphql: { /** * --- * * [GET] * * **path:** /graphql * * --- * * **Response** * ```ts * type Response = null * ``` */ graphql_get>( config?: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /graphql * * --- * * **RequestBody** * ```ts * type RequestBody = string * ``` * * --- * * **Response** * ```ts * type Response = null * ``` */ graphql_post< Config extends Alova2MethodConfig & { data: string; } >( config: Config ): Alova2Method; }; imports: { /** * --- * * [GET] * * **path:** /imports/{space_name} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * state?: string | null * repo_name?: string | null * limit?: number | null * offset?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * archived: boolean * created_at: string * id: string * last_reply_at?: string | null * last_reply_id?: string | null * locked: boolean * name?: string | null * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * owner_id: number * participant_count: number * reply_count: number * room_id: string * root_message_id: string * updated_at: string * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_imports< Config extends Alova2MethodConfig & { pathParams: { space_name: string; }; params: { state?: string | null; repo_name?: string | null; limit?: number | null; offset?: number | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /imports/{space_name} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * base_url?: string | null * description?: string | null * enable_lfs?: boolean * is_private?: boolean | null * name?: string | null * parent_dir_id?: string | null * provider: 'github' | 'gitlab' | 'gitea' * source: string * token?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * attempts: number * base_url?: string | null * clone_url: string * created_at: string * created_by: number * finished_at?: string | null * id: string * last_error?: string | null * provider: 'github' | 'gitlab' | 'gitea' * repo_id?: string | null * repo_name: string * source_url: string * space_id: string * space_name: string * stage: 'probe' | 'clone' | 'sync' | 'finalize' | 'done' * started_at?: string | null * state: 'queued' | 'processing' | 'succeeded' | 'failed' | 'canceled' * stats: { * branches: number * commits: number * default_branch?: string | null * size_bytes: number * tags: number * // [items] start * // [items] end * warnings: string[] * } * updated_at: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_import< Config extends Alova2MethodConfig & { pathParams: { space_name: string; }; data: CreateImportCmd; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /imports/{space_name}/probe * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * base_url?: string | null * provider: 'github' | 'gitlab' | 'gitea' * source: string * token?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * clone_url: string * default_branch: string * description?: string | null * is_private: boolean * name: string * owner: string * provider: 'github' | 'gitlab' | 'gitea' * size_bytes?: number | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ probe_import< Config extends Alova2MethodConfig & { pathParams: { space_name: string; }; data: ProbeImportCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /imports/{space_name}/{job_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * job_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * attempts: number * base_url?: string | null * clone_url: string * created_at: string * created_by: number * finished_at?: string | null * id: string * last_error?: string | null * provider: 'github' | 'gitlab' | 'gitea' * repo_id?: string | null * repo_name: string * source_url: string * space_id: string * space_name: string * stage: 'probe' | 'clone' | 'sync' | 'finalize' | 'done' * started_at?: string | null * state: 'queued' | 'processing' | 'succeeded' | 'failed' | 'canceled' * stats: { * branches: number * commits: number * default_branch?: string | null * size_bytes: number * tags: number * // [items] start * // [items] end * warnings: string[] * } * updated_at: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_import< Config extends Alova2MethodConfig & { pathParams: { space_name: string; job_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /imports/{space_name}/{job_id}/cancel * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * job_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * attempts: number * base_url?: string | null * clone_url: string * created_at: string * created_by: number * finished_at?: string | null * id: string * last_error?: string | null * provider: 'github' | 'gitlab' | 'gitea' * repo_id?: string | null * repo_name: string * source_url: string * space_id: string * space_name: string * stage: 'probe' | 'clone' | 'sync' | 'finalize' | 'done' * started_at?: string | null * state: 'queued' | 'processing' | 'succeeded' | 'failed' | 'canceled' * stats: { * branches: number * commits: number * default_branch?: string | null * size_bytes: number * tags: number * // [items] start * // [items] end * warnings: string[] * } * updated_at: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ cancel_import< Config extends Alova2MethodConfig & { pathParams: { space_name: string; job_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /imports/{space_name}/{job_id}/retry * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * job_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * token?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * attempts: number * base_url?: string | null * clone_url: string * created_at: string * created_by: number * finished_at?: string | null * id: string * last_error?: string | null * provider: 'github' | 'gitlab' | 'gitea' * repo_id?: string | null * repo_name: string * source_url: string * space_id: string * space_name: string * stage: 'probe' | 'clone' | 'sync' | 'finalize' | 'done' * started_at?: string | null * state: 'queued' | 'processing' | 'succeeded' | 'failed' | 'canceled' * stats: { * branches: number * commits: number * default_branch?: string | null * size_bytes: number * tags: number * // [items] start * // [items] end * warnings: string[] * } * updated_at: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ retry_import< Config extends Alova2MethodConfig & { pathParams: { space_name: string; job_id: string; }; data: RetryImportCmd; } >( config: Config ): Alova2Method; }; issues: { /** * --- * * [POST] * * **path:** /issues/attachments * * --- * * **RequestBody** * ```ts * type RequestBody = { * content_type: string * filename: string * size: number * // Checked for membership so unbound uploads are still space-scoped. * space_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * expires_secs: number * id: string * upload_url: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_issue_attachment< Config extends Alova2MethodConfig & { data: CreateIssueAttachmentCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /issues/attachments/{attachment_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // attachment id * attachment_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_issue_attachment< Config extends Alova2MethodConfig & { pathParams: { /** * attachment id */ attachment_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /issues/attachments/{attachment_id}/file * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // attachment id * attachment_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = null * ``` */ download_issue_attachment< Config extends Alova2MethodConfig & { pathParams: { /** * attachment id */ attachment_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /issues/attachments/{attachment_id}/finalize * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // attachment id * attachment_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * content_type: string * created_at: string * filename: string * id: string * // `None` until the draft is submitted with this attachment attached. * issue_id?: string | null * size: number * // Upload lifecycle: a row is created before the bytes exist (`Pending`) and * // only an `Uploaded` row may be referenced by an issue. * status: 'pending' | 'uploaded' * uploader_id: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ finalize_issue_attachment< Config extends Alova2MethodConfig & { pathParams: { /** * attachment id */ attachment_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /issues/{space_name}/boards * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * dir_id?: string | null * q?: string | null * limit?: number | null * offset?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * archived: boolean * created_at: string * id: string * last_reply_at?: string | null * last_reply_id?: string | null * locked: boolean * name?: string | null * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * owner_id: number * participant_count: number * reply_count: number * room_id: string * root_message_id: string * updated_at: string * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_boards< Config extends Alova2MethodConfig & { pathParams: { space_name: string; }; params: { dir_id?: string | null; q?: string | null; limit?: number | null; offset?: number | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /issues/{space_name}/boards * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * description?: string | null * icon?: string | null * name: string * parent_dir_id?: string | null * prefix?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * closed_issues_count: number * created_at: string * description?: string | null * dir_id: string * icon?: string | null * id: string * name: string * open_issues_count: number * // Number prefix for the board's issues (`CAD` renders as `CAD-12`). * prefix?: string | null * updated_at?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_board< Config extends Alova2MethodConfig & { pathParams: { space_name: string; }; data: CreateBoardCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /issues/{space_name}/boards/{board_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * closed_issues_count: number * created_at: string * description?: string | null * dir_id: string * icon?: string | null * id: string * name: string * open_issues_count: number * // Number prefix for the board's issues (`CAD` renders as `CAD-12`). * prefix?: string | null * updated_at?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_board< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /issues/{space_name}/boards/{board_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_board< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PATCH] * * **path:** /issues/{space_name}/boards/{board_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * description?: string | null * icon?: string | null * name?: string | null * prefix?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * closed_issues_count: number * created_at: string * description?: string | null * dir_id: string * icon?: string | null * id: string * name: string * open_issues_count: number * // Number prefix for the board's issues (`CAD` renders as `CAD-12`). * prefix?: string | null * updated_at?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_board< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; }; data: UpdateBoardCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /issues/{space_name}/boards/{board_id}/issues * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * state?: null | ('open' | 'closed') * author_id?: number | null * // One id or a comma-separated id list (`a,b`); `none` matches issues * // without a milestone. Any of the listed values matches. * milestone_id?: string | null * // One id or a comma-separated id list (`a,b`); matches any of them. * label_id?: string | null * // One id or a comma-separated id list (`a,b`); matches any of them. * assignee_id?: string | null * // One priority or a comma-separated list (`high,urgent`). * priority?: string | null * sort?: string | null * q?: string | null * limit?: number | null * offset?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * archived: boolean * created_at: string * id: string * last_reply_at?: string | null * last_reply_id?: string | null * locked: boolean * name?: string | null * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * owner_id: number * participant_count: number * reply_count: number * room_id: string * root_message_id: string * updated_at: string * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_issues< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; }; params: { state?: null | IssueState; author_id?: number | null; /** * One id or a comma-separated id list (`a,b`); `none` matches issues * without a milestone. Any of the listed values matches. */ milestone_id?: string | null; /** * One id or a comma-separated id list (`a,b`); matches any of them. */ label_id?: string | null; /** * One id or a comma-separated id list (`a,b`); matches any of them. */ assignee_id?: string | null; /** * One priority or a comma-separated list (`high,urgent`). */ priority?: string | null; sort?: string | null; q?: string | null; limit?: number | null; offset?: number | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /issues/{space_name}/boards/{board_id}/issues * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * // [items] start * // [items] end * assignee_ids?: number[] * // Draft uploads (`POST /issues/attachments`) to link to the new issue. * // [items] start * // [items] end * attachment_ids?: string[] * content?: string * description?: string | null * due_at?: string | null * // [items] start * // [items] end * label_ids?: string[] * milestone_id?: string | null * priority?: 'none' | 'low' | 'medium' | 'high' | 'urgent' * title: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * assignees: Array<{ * avatar_url: string * display_name: string * user_id: number * username: string * }> * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * board_id: string * closed_at?: string | null * content: string * created_at: string * description?: string | null * due_at?: string | null * id: string * milestone_id?: string | null * number: number * priority: 'none' | 'low' | 'medium' | 'high' | 'urgent' * state: 'open' | 'closed' * title: string * updated_at?: string | null * viewer_watch?: null | ('unwatched' | 'watching' | 'ignore') * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_issue< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; }; data: CreateIssueCmd; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /issues/{space_name}/boards/{board_id}/issues/bulk * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * action: 'close' | 'reopen' * // [items] start * // [items] end * issue_refs: string[] * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * updated: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ bulk_issues< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; }; data: BulkIssuesCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * // issue uuid or board-scoped number (e.g. "123") * issue_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * assignees: Array<{ * avatar_url: string * display_name: string * user_id: number * username: string * }> * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * board_id: string * closed_at?: string | null * content: string * created_at: string * description?: string | null * due_at?: string | null * id: string * milestone_id?: string | null * number: number * priority: 'none' | 'low' | 'medium' | 'high' | 'urgent' * state: 'open' | 'closed' * title: string * updated_at?: string | null * viewer_watch?: null | ('unwatched' | 'watching' | 'ignore') * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_issue< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; /** * issue uuid or board-scoped number (e.g. "123") */ issue_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * // issue uuid or board-scoped number (e.g. "123") * issue_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_issue< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; /** * issue uuid or board-scoped number (e.g. "123") */ issue_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PATCH] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * // issue uuid or board-scoped number (e.g. "123") * issue_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * // [params1] start * // [items] start * // [items] end * // [params1] end * assignee_ids?: number[] | null * content?: string | null * description?: string | null * due_at?: string | null * // [params1] start * // [items] start * // [items] end * // [params1] end * label_ids?: string[] | null * milestone_id?: string | null * priority?: null | ('none' | 'low' | 'medium' | 'high' | 'urgent') * title?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * assignees: Array<{ * avatar_url: string * display_name: string * user_id: number * username: string * }> * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * board_id: string * closed_at?: string | null * content: string * created_at: string * description?: string | null * due_at?: string | null * id: string * milestone_id?: string | null * number: number * priority: 'none' | 'low' | 'medium' | 'high' | 'urgent' * state: 'open' | 'closed' * title: string * updated_at?: string | null * viewer_watch?: null | ('unwatched' | 'watching' | 'ignore') * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_issue< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; /** * issue uuid or board-scoped number (e.g. "123") */ issue_id: string; }; data: UpdateIssueCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/attachments * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * // issue uuid or board-scoped number (e.g. "123") * issue_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * content_type: string * created_at: string * filename: string * id: string * // `None` until the draft is submitted with this attachment attached. * issue_id?: string | null * size: number * // Upload lifecycle: a row is created before the bytes exist (`Pending`) and * // only an `Uploaded` row may be referenced by an issue. * status: 'pending' | 'uploaded' * uploader_id: number * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_issue_attachments< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; /** * issue uuid or board-scoped number (e.g. "123") */ issue_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/close * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * // issue uuid or board-scoped number (e.g. "123") * issue_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * assignees: Array<{ * avatar_url: string * display_name: string * user_id: number * username: string * }> * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * board_id: string * closed_at?: string | null * content: string * created_at: string * description?: string | null * due_at?: string | null * id: string * milestone_id?: string | null * number: number * priority: 'none' | 'low' | 'medium' | 'high' | 'urgent' * state: 'open' | 'closed' * title: string * updated_at?: string | null * viewer_watch?: null | ('unwatched' | 'watching' | 'ignore') * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ close_issue< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; /** * issue uuid or board-scoped number (e.g. "123") */ issue_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/comments * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * // issue uuid or board-scoped number (e.g. "123") * issue_id: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * parent_id?: string | null * limit?: number | null * offset?: number | null * sort?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * archived: boolean * created_at: string * id: string * last_reply_at?: string | null * last_reply_id?: string | null * locked: boolean * name?: string | null * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * owner_id: number * participant_count: number * reply_count: number * room_id: string * root_message_id: string * updated_at: string * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_comments< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; /** * issue uuid or board-scoped number (e.g. "123") */ issue_id: string; }; params: { parent_id?: string | null; limit?: number | null; offset?: number | null; sort?: string | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/comments * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * // issue uuid or board-scoped number (e.g. "123") * issue_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * content: string * parent_id?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * content: string * created_at: string * id: string * issue_id?: string | null * parent_id?: string | null * poster?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * updated_at?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_comment< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; /** * issue uuid or board-scoped number (e.g. "123") */ issue_id: string; }; data: CreateCommentCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/comments/tree * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * // issue uuid or board-scoped number (e.g. "123") * issue_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * comment: { * content: string * created_at: string * id: string * issue_id?: string | null * parent_id?: string | null * poster?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * updated_at?: string | null * } * // [items] start * // [items] end * replies: Array<{ * comment: { * content: string * created_at: string * id: string * issue_id?: string | null * parent_id?: string | null * poster?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * updated_at?: string | null * } * // [items] start * // [cycle] $.data.[].replies.[] * // [items] end * replies: CommentTreeNode[] * }> * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_comments_tree< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; /** * issue uuid or board-scoped number (e.g. "123") */ issue_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/comments/{comment_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * issue_id: string * comment_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * content: string * created_at: string * id: string * issue_id?: string | null * parent_id?: string | null * poster?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * updated_at?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_comment< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; issue_id: string; comment_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/comments/{comment_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * issue_id: string * comment_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_comment< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; issue_id: string; comment_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PATCH] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/comments/{comment_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * issue_id: string * comment_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * content: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * content: string * created_at: string * id: string * issue_id?: string | null * parent_id?: string | null * poster?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * updated_at?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_comment< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; issue_id: string; comment_id: string; }; data: UpdateCommentCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/comments/{comment_id}/reactions * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * issue_id: string * comment_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * count: number * emoji: string * me: boolean * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_comment_reactions< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; issue_id: string; comment_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/comments/{comment_id}/reactions/@me * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * issue_id: string * comment_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * emoji: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * emoji: string * id: string * scope: 'issue' | 'comment' * target_id: string * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ add_comment_reaction< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; issue_id: string; comment_id: string; }; data: CreateReactionCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/comments/{comment_id}/reactions/@me * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * issue_id: string * comment_id: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * emoji: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ remove_comment_reaction< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; issue_id: string; comment_id: string; }; params: { emoji: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/dependencies * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * // issue uuid or board-scoped number (e.g. "123") * issue_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * created_at: string * dependency_id: string * id: string * issue_id: string * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_dependencies< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; /** * issue uuid or board-scoped number (e.g. "123") */ issue_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/dependencies * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * // issue uuid or board-scoped number (e.g. "123") * issue_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * dependency_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * dependency_id: string * id: string * issue_id: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_dependency< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; /** * issue uuid or board-scoped number (e.g. "123") */ issue_id: string; }; data: CreateDependencyCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/dependencies/{dep_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * issue_id: string * dep_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_dependency< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; issue_id: string; dep_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/dependents * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * // issue uuid or board-scoped number (e.g. "123") * issue_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * created_at: string * dependency_id: string * id: string * issue_id: string * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_dependents< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; /** * issue uuid or board-scoped number (e.g. "123") */ issue_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/events * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * issue_id: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * offset?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * archived: boolean * created_at: string * id: string * last_reply_at?: string | null * last_reply_id?: string | null * locked: boolean * name?: string | null * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * owner_id: number * participant_count: number * reply_count: number * room_id: string * root_message_id: string * updated_at: string * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_events< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; issue_id: string; }; params: { limit?: number | null; offset?: number | null; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/history * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * issue_id: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * comment_id?: string | null * limit?: number | null * offset?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * archived: boolean * created_at: string * id: string * last_reply_at?: string | null * last_reply_id?: string | null * locked: boolean * name?: string | null * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * owner_id: number * participant_count: number * reply_count: number * room_id: string * root_message_id: string * updated_at: string * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_content_history< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; issue_id: string; }; params: { comment_id?: string | null; limit?: number | null; offset?: number | null; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/labels * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * // issue uuid or board-scoped number (e.g. "123") * issue_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * color: string * created_at: string * description?: string | null * dir_id: string * exclusive: boolean * exclusive_order: number * id: string * is_archived: boolean * name: string * updated_at?: string | null * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_labels_for_issue< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; /** * issue uuid or board-scoped number (e.g. "123") */ issue_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/labels/{label_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * issue_id: string * label_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ bind_label< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; issue_id: string; label_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/labels/{label_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * issue_id: string * label_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ unbind_label< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; issue_id: string; label_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/members * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * // issue uuid or board-scoped number (e.g. "123") * issue_id: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * kind?: null | ('assignee' | 'mentioned' | 'participant') * limit?: number | null * offset?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * archived: boolean * created_at: string * id: string * last_reply_at?: string | null * last_reply_id?: string | null * locked: boolean * name?: string | null * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * owner_id: number * participant_count: number * reply_count: number * room_id: string * root_message_id: string * updated_at: string * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_issue_members< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; /** * issue uuid or board-scoped number (e.g. "123") */ issue_id: string; }; params: { kind?: null | IssueMemberKind; limit?: number | null; offset?: number | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/members * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * // issue uuid or board-scoped number (e.g. "123") * issue_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * kind: 'assignee' | 'mentioned' | 'participant' * user_id: number * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * id: string * issue_id: string * kind: 'assignee' | 'mentioned' | 'participant' * updated_at?: string | null * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_member< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; /** * issue uuid or board-scoped number (e.g. "123") */ issue_id: string; }; data: CreateIssueMemberCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/members/{member_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * issue_id: string * member_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_member< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; issue_id: string; member_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/reactions * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * // issue uuid or board-scoped number (e.g. "123") * issue_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * count: number * emoji: string * me: boolean * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_issue_reactions< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; /** * issue uuid or board-scoped number (e.g. "123") */ issue_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/reactions/@me * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * // issue uuid or board-scoped number (e.g. "123") * issue_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * emoji: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * emoji: string * id: string * scope: 'issue' | 'comment' * target_id: string * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ add_issue_reaction< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; /** * issue uuid or board-scoped number (e.g. "123") */ issue_id: string; }; data: CreateReactionCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/reactions/@me * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * // issue uuid or board-scoped number (e.g. "123") * issue_id: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * emoji: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ remove_issue_reaction< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; /** * issue uuid or board-scoped number (e.g. "123") */ issue_id: string; }; params: { emoji: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/read-state * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * // issue uuid or board-scoped number (e.g. "123") * issue_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * read: boolean * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * id: string * is_read: boolean * issue_id: string * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * user_id: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ mark_issue_read< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; /** * issue uuid or board-scoped number (e.g. "123") */ issue_id: string; }; data: MarkIssueReadCmd; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/reopen * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * // issue uuid or board-scoped number (e.g. "123") * issue_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * assignees: Array<{ * avatar_url: string * display_name: string * user_id: number * username: string * }> * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * board_id: string * closed_at?: string | null * content: string * created_at: string * description?: string | null * due_at?: string | null * id: string * milestone_id?: string | null * number: number * priority: 'none' | 'low' | 'medium' | 'high' | 'urgent' * state: 'open' | 'closed' * title: string * updated_at?: string | null * viewer_watch?: null | ('unwatched' | 'watching' | 'ignore') * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ reopen_issue< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; /** * issue uuid or board-scoped number (e.g. "123") */ issue_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/repos * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * // issue uuid or board-scoped number (e.g. "123") * issue_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * created_at: string * id: string * issue_id: string * repo_id: string * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_repo_relations< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; /** * issue uuid or board-scoped number (e.g. "123") */ issue_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/repos * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * // issue uuid or board-scoped number (e.g. "123") * issue_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * repo_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * id: string * issue_id: string * repo_id: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_repo_relation< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; /** * issue uuid or board-scoped number (e.g. "123") */ issue_id: string; }; data: CreateRepoRelCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/repos/{rel_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * issue_id: string * rel_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_repo_relation< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; issue_id: string; rel_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/stopwatch * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * issue_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at?: string | null * id?: string | null * issue_id: string * running: boolean * started_at?: string | null * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_stopwatch< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; issue_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/stopwatch/start * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * issue_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at?: string | null * id?: string | null * issue_id: string * running: boolean * started_at?: string | null * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ start_stopwatch< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; issue_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/stopwatch/stop * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * issue_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ stop_stopwatch< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; issue_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/times * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * issue_id: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * user_id?: number | null * limit?: number | null * offset?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * archived: boolean * created_at: string * id: string * last_reply_at?: string | null * last_reply_id?: string | null * locked: boolean * name?: string | null * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * owner_id: number * participant_count: number * reply_count: number * room_id: string * root_message_id: string * updated_at: string * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_tracked_time< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; issue_id: string; }; params: { user_id?: number | null; limit?: number | null; offset?: number | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/times * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * issue_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * seconds: number * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * id: string * issue_id: string * seconds: number * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_tracked_time< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; issue_id: string; }; data: CreateTrackedTimeCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/times/{time_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * issue_id: string * time_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_tracked_time< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; issue_id: string; time_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PATCH] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/times/{time_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * issue_id: string * time_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * seconds: number * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * id: string * issue_id: string * seconds: number * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_tracked_time< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; issue_id: string; time_id: string; }; data: UpdateTrackedTimeCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/users * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * // issue uuid or board-scoped number (e.g. "123") * issue_id: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * offset?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * archived: boolean * created_at: string * id: string * last_reply_at?: string | null * last_reply_id?: string | null * locked: boolean * name?: string | null * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * owner_id: number * participant_count: number * reply_count: number * room_id: string * root_message_id: string * updated_at: string * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_issue_users< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; /** * issue uuid or board-scoped number (e.g. "123") */ issue_id: string; }; params: { limit?: number | null; offset?: number | null; }; } >( config: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/watch * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * issue_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * mode: 'unwatched' | 'watching' | 'ignore' * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * id: string * issue_id?: string | null * mode: 'unwatched' | 'watching' | 'ignore' * updated_at?: string | null * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ upsert_issue_watch< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; issue_id: string; }; data: UpsertWatchCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /issues/{space_name}/boards/{board_id}/labels * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * q?: string | null * is_archived?: boolean | null * limit?: number | null * offset?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * archived: boolean * created_at: string * id: string * last_reply_at?: string | null * last_reply_id?: string | null * locked: boolean * name?: string | null * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * owner_id: number * participant_count: number * reply_count: number * room_id: string * root_message_id: string * updated_at: string * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_labels< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; }; params: { q?: string | null; is_archived?: boolean | null; limit?: number | null; offset?: number | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /issues/{space_name}/boards/{board_id}/labels * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * color: string * description?: string | null * exclusive?: boolean | null * exclusive_order?: number | null * name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * color: string * created_at: string * description?: string | null * dir_id: string * exclusive: boolean * exclusive_order: number * id: string * is_archived: boolean * name: string * updated_at?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_label< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; }; data: CreateLabelCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /issues/{space_name}/boards/{board_id}/labels/{label_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * label_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * color: string * created_at: string * description?: string | null * dir_id: string * exclusive: boolean * exclusive_order: number * id: string * is_archived: boolean * name: string * updated_at?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_label< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; label_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /issues/{space_name}/boards/{board_id}/labels/{label_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * label_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_label< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; label_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PATCH] * * **path:** /issues/{space_name}/boards/{board_id}/labels/{label_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * label_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * color?: string | null * description?: string | null * exclusive?: boolean | null * exclusive_order?: number | null * is_archived?: boolean | null * name?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * color: string * created_at: string * description?: string | null * dir_id: string * exclusive: boolean * exclusive_order: number * id: string * is_archived: boolean * name: string * updated_at?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_label< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; label_id: string; }; data: UpdateLabelCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /issues/{space_name}/boards/{board_id}/milestones * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * is_closed?: boolean | null * q?: string | null * limit?: number | null * offset?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * archived: boolean * created_at: string * id: string * last_reply_at?: string | null * last_reply_id?: string | null * locked: boolean * name?: string | null * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * owner_id: number * participant_count: number * reply_count: number * room_id: string * root_message_id: string * updated_at: string * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_milestones< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; }; params: { is_closed?: boolean | null; q?: string | null; limit?: number | null; offset?: number | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /issues/{space_name}/boards/{board_id}/milestones * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * description?: string | null * due_at?: string | null * name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * board_id: string * closed_issues_count: number * created_at: string * description?: string | null * due_at?: string | null * id: string * is_closed: boolean * issues_count: number * name: string * updated_at?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_milestone< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; }; data: CreateMilestoneCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /issues/{space_name}/boards/{board_id}/milestones/{milestone_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * milestone_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * board_id: string * closed_issues_count: number * created_at: string * description?: string | null * due_at?: string | null * id: string * is_closed: boolean * issues_count: number * name: string * updated_at?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_milestone< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; milestone_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /issues/{space_name}/boards/{board_id}/milestones/{milestone_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * milestone_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_milestone< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; milestone_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PATCH] * * **path:** /issues/{space_name}/boards/{board_id}/milestones/{milestone_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * milestone_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * description?: string | null * due_at?: string | null * is_closed?: boolean | null * name?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * board_id: string * closed_issues_count: number * created_at: string * description?: string | null * due_at?: string | null * id: string * is_closed: boolean * issues_count: number * name: string * updated_at?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_milestone< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; milestone_id: string; }; data: UpdateMilestoneCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /issues/{space_name}/boards/{board_id}/pins * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * board_id: string * created_at: string * id: string * issue_id?: string | null * pin_order: number * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_board_pins< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /issues/{space_name}/boards/{board_id}/pins * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * issue_id: string * pin_order: number * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * board_id: string * created_at: string * id: string * issue_id?: string | null * pin_order: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_pin< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; }; data: CreatePinCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /issues/{space_name}/boards/{board_id}/pins/{pin_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * pin_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_pin< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; pin_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PATCH] * * **path:** /issues/{space_name}/boards/{board_id}/pins/{pin_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * pin_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * pin_order: number * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * board_id: string * created_at: string * id: string * issue_id?: string | null * pin_order: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_pin< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; pin_id: string; }; data: UpdatePinCmd; } >( config: Config ): Alova2Method; }; pulls: { /** * --- * * [GET] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/pulls * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * // issue uuid or board-scoped number (e.g. "123") * issue_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * // 建立关联的时间。 * linked_at: string * pull: { * additions: number * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * auto_merge: boolean * base: { * branch: string * label: string * repo_id?: string | null * sha: string * } * body: string * closed_at?: string | null * commits_ahead?: number | null * commits_behind?: number | null * // [params1] start * // [items] start * // [items] end * // [params1] end * conflicts?: string[] | null * created_at: string * deletions: number * files_changed: number * head: { * branch: string * label: string * repo_id?: string | null * sha: string * } * id: string * is_draft: boolean * issue_id?: string | null * locked: boolean * merge_method: 'merge' | 'squash' | 'rebase' * mergeable?: boolean | null * mergeable_state?: string | null * merged_at?: string | null * merged_commit_sha?: string | null * merger?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * number: number * repo_id: string * squash_commit_sha?: string | null * state: 'open' | 'closed' | 'merged' * title: string * updated_at?: string | null * } * // 关联行主键(issue_relation_pull.id),解除关联时作为路径参数回传。 * relation_id: string * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_issue_pulls< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; /** * issue uuid or board-scoped number (e.g. "123") */ issue_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/pulls * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * // issue uuid or board-scoped number (e.g. "123") * issue_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * // PR 编号或 UUID。 * pull_ref: string * repo_name: string * space_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * additions: number * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * auto_merge: boolean * base: { * branch: string * label: string * repo_id?: string | null * sha: string * } * body: string * closed_at?: string | null * commits_ahead?: number | null * commits_behind?: number | null * // [params1] start * // [items] start * // [items] end * // [params1] end * conflicts?: string[] | null * created_at: string * deletions: number * files_changed: number * head: { * branch: string * label: string * repo_id?: string | null * sha: string * } * id: string * is_draft: boolean * issue_id?: string | null * locked: boolean * merge_method: 'merge' | 'squash' | 'rebase' * mergeable?: boolean | null * mergeable_state?: string | null * merged_at?: string | null * merged_commit_sha?: string | null * merger?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * number: number * repo_id: string * squash_commit_sha?: string | null * state: 'open' | 'closed' | 'merged' * title: string * updated_at?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ link_issue_pull< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; /** * issue uuid or board-scoped number (e.g. "123") */ issue_id: string; }; data: LinkIssueCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /issues/{space_name}/boards/{board_id}/issues/{issue_id}/pulls/{relation_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * board_id: string * issue_id: string * relation_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ unlink_issue_pull< Config extends Alova2MethodConfig & { pathParams: { space_name: string; board_id: string; issue_id: string; relation_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /pulls/@me/{scope} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // created | review-requested | reviewed * scope: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * // open | closed | merged | all * state?: string | null * limit?: number | null * offset?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * archived: boolean * created_at: string * id: string * last_reply_at?: string | null * last_reply_id?: string | null * locked: boolean * name?: string | null * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * owner_id: number * participant_count: number * reply_count: number * room_id: string * root_message_id: string * updated_at: string * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_my_pulls< Config extends Alova2MethodConfig & { pathParams: { /** * created | review-requested | reviewed */ scope: string; }; params: { /** * open | closed | merged | all */ state?: string | null; limit?: number | null; offset?: number | null; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/pulls * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * // open | closed | merged | all * state?: string | null * author?: string | null * base?: string | null * head?: string | null * draft?: boolean | null * search?: string | null * // number | created | updated * sort?: string | null * // asc | desc * order?: string | null * limit?: number | null * offset?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * archived: boolean * created_at: string * id: string * last_reply_at?: string | null * last_reply_id?: string | null * locked: boolean * name?: string | null * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * owner_id: number * participant_count: number * reply_count: number * room_id: string * root_message_id: string * updated_at: string * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_pulls< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; params: { /** * open | closed | merged | all */ state?: string | null; author?: string | null; base?: string | null; head?: string | null; draft?: boolean | null; search?: string | null; /** * number | created | updated */ sort?: string | null; /** * asc | desc */ order?: string | null; limit?: number | null; offset?: number | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/pulls * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * base_branch?: string | null * body?: string | null * draft?: boolean | null * head_branch: string * issue_id?: string | null * title: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * additions: number * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * auto_merge: boolean * base: { * branch: string * label: string * repo_id?: string | null * sha: string * } * body: string * closed_at?: string | null * commits_ahead?: number | null * commits_behind?: number | null * // [params1] start * // [items] start * // [items] end * // [params1] end * conflicts?: string[] | null * created_at: string * deletions: number * files_changed: number * head: { * branch: string * label: string * repo_id?: string | null * sha: string * } * id: string * is_draft: boolean * issue_id?: string | null * locked: boolean * merge_method: 'merge' | 'squash' | 'rebase' * mergeable?: boolean | null * mergeable_state?: string | null * merged_at?: string | null * merged_commit_sha?: string | null * merger?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * number: number * repo_id: string * squash_commit_sha?: string | null * state: 'open' | 'closed' | 'merged' * title: string * updated_at?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_pull< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; data: CreatePullCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/pulls/label-options * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * color: string * created_at: string * description?: string | null * dir_id: string * exclusive: boolean * exclusive_order: number * id: string * is_archived: boolean * name: string * updated_at?: string | null * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_label_options< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * // PR 编号(`12`)或 UUID。 * pull_ref: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * additions: number * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * auto_merge: boolean * base: { * branch: string * label: string * repo_id?: string | null * sha: string * } * body: string * closed_at?: string | null * commits_ahead?: number | null * commits_behind?: number | null * // [params1] start * // [items] start * // [items] end * // [params1] end * conflicts?: string[] | null * created_at: string * deletions: number * files_changed: number * head: { * branch: string * label: string * repo_id?: string | null * sha: string * } * id: string * is_draft: boolean * issue_id?: string | null * locked: boolean * merge_method: 'merge' | 'squash' | 'rebase' * mergeable?: boolean | null * mergeable_state?: string | null * merged_at?: string | null * merged_commit_sha?: string | null * merger?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * number: number * repo_id: string * squash_commit_sha?: string | null * state: 'open' | 'closed' | 'merged' * title: string * updated_at?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_pull< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; /** * PR 编号(`12`)或 UUID。 */ pull_ref: string; }; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * // PR 编号(`12`)或 UUID。 * pull_ref: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_pull< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; /** * PR 编号(`12`)或 UUID。 */ pull_ref: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PATCH] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * // PR 编号(`12`)或 UUID。 * pull_ref: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * auto_merge?: boolean | null * base_branch?: string | null * body?: string | null * draft?: boolean | null * issue_id?: string | null * title?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * additions: number * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * auto_merge: boolean * base: { * branch: string * label: string * repo_id?: string | null * sha: string * } * body: string * closed_at?: string | null * commits_ahead?: number | null * commits_behind?: number | null * // [params1] start * // [items] start * // [items] end * // [params1] end * conflicts?: string[] | null * created_at: string * deletions: number * files_changed: number * head: { * branch: string * label: string * repo_id?: string | null * sha: string * } * id: string * is_draft: boolean * issue_id?: string | null * locked: boolean * merge_method: 'merge' | 'squash' | 'rebase' * mergeable?: boolean | null * mergeable_state?: string | null * merged_at?: string | null * merged_commit_sha?: string | null * merger?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * number: number * repo_id: string * squash_commit_sha?: string | null * state: 'open' | 'closed' | 'merged' * title: string * updated_at?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_pull< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; /** * PR 编号(`12`)或 UUID。 */ pull_ref: string; }; data: UpdatePullCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref}/assignees * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * // PR 编号(`12`)或 UUID。 * pull_ref: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * created_at: string * id: string * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_pull_assignees< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; /** * PR 编号(`12`)或 UUID。 */ pull_ref: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref}/assignees/{user_ref} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * pull_ref: string * // 用户名或 UUID。 * user_ref: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * created_at: string * id: string * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ add_pull_assignee< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; pull_ref: string; /** * 用户名或 UUID。 */ user_ref: string; }; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref}/assignees/{user_ref} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * pull_ref: string * // 用户名或 UUID。 * user_ref: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * created_at: string * id: string * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ remove_pull_assignee< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; pull_ref: string; /** * 用户名或 UUID。 */ user_ref: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref}/checks * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * // PR 编号(`12`)或 UUID。 * pull_ref: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * head_sha: string * // [items] start * // [items] end * runs: Array<{ * actions_id?: number | null * base_ref?: string | null * base_sha?: string | null * branch?: string | null * commit_sha: string * created_at: string * display_name?: string | null * event: string * finished_at?: string | null * git_ref: string * id: string * pr_number?: number | null * repo_id: string * run_number?: number | null * started_at?: string | null * state: string * tag?: string | null * trigger_user_id?: number | null * workflow_file: string * workflow_name: string * }> * // [items] start * // [items] end * statuses: Array<{ * context: string * created_at: string * creator?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * creator_id: number * description?: string | null * state: 'pending' | 'success' | 'failure' | 'error' * target_url?: string | null * updated_at?: string | null * }> * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_pull_checks< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; /** * PR 编号(`12`)或 UUID。 */ pull_ref: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref}/close * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * // PR 编号(`12`)或 UUID。 * pull_ref: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * additions: number * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * auto_merge: boolean * base: { * branch: string * label: string * repo_id?: string | null * sha: string * } * body: string * closed_at?: string | null * commits_ahead?: number | null * commits_behind?: number | null * // [params1] start * // [items] start * // [items] end * // [params1] end * conflicts?: string[] | null * created_at: string * deletions: number * files_changed: number * head: { * branch: string * label: string * repo_id?: string | null * sha: string * } * id: string * is_draft: boolean * issue_id?: string | null * locked: boolean * merge_method: 'merge' | 'squash' | 'rebase' * mergeable?: boolean | null * mergeable_state?: string | null * merged_at?: string | null * merged_commit_sha?: string | null * merger?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * number: number * repo_id: string * squash_commit_sha?: string | null * state: 'open' | 'closed' | 'merged' * title: string * updated_at?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ close_pull< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; /** * PR 编号(`12`)或 UUID。 */ pull_ref: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref}/comments * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * // PR 编号(`12`)或 UUID。 * pull_ref: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * offset?: number | null * sort?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * archived: boolean * created_at: string * id: string * last_reply_at?: string | null * last_reply_id?: string | null * locked: boolean * name?: string | null * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * owner_id: number * participant_count: number * reply_count: number * room_id: string * root_message_id: string * updated_at: string * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_pull_comments< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; /** * PR 编号(`12`)或 UUID。 */ pull_ref: string; }; params: { limit?: number | null; offset?: number | null; sort?: string | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref}/comments * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * // PR 编号(`12`)或 UUID。 * pull_ref: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * body: string * commit_sha?: string | null * line?: number | null * parent_comment_id?: string | null * // 行内评论需要 path;缺省则为普通讨论评论。 * path?: string | null * review_id?: string | null * // left | right * side?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * body: string * commit_sha?: string | null * created_at: string * id: string * line?: number | null * parent_comment_id?: string | null * path?: string | null * pull_request_id: string * resolved: boolean * resolved_by?: number | null * review_id?: string | null * side?: string | null * updated_at?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_pull_comment< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; /** * PR 编号(`12`)或 UUID。 */ pull_ref: string; }; data: CreatePullCommentCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref}/comments/tree * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * // PR 编号(`12`)或 UUID。 * pull_ref: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // 线程视图:顶层评论 + 其下全部回复(无递归,便于文档生成)。 * // [items] end * data?: Array<{ * // [items] start * // [items] end * replies: Array<{ * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * body: string * commit_sha?: string | null * created_at: string * id: string * line?: number | null * parent_comment_id?: string | null * path?: string | null * pull_request_id: string * resolved: boolean * resolved_by?: number | null * review_id?: string | null * side?: string | null * updated_at?: string | null * }> * root: { * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * body: string * commit_sha?: string | null * created_at: string * id: string * line?: number | null * parent_comment_id?: string | null * path?: string | null * pull_request_id: string * resolved: boolean * resolved_by?: number | null * review_id?: string | null * side?: string | null * updated_at?: string | null * } * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_pull_comment_tree< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; /** * PR 编号(`12`)或 UUID。 */ pull_ref: string; }; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref}/comments/{comment_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * pull_ref: string * comment_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_pull_comment< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; pull_ref: string; comment_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PATCH] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref}/comments/{comment_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * pull_ref: string * comment_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * body: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * body: string * commit_sha?: string | null * created_at: string * id: string * line?: number | null * parent_comment_id?: string | null * path?: string | null * pull_request_id: string * resolved: boolean * resolved_by?: number | null * review_id?: string | null * side?: string | null * updated_at?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_pull_comment< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; pull_ref: string; comment_id: string; }; data: UpdatePullCommentCmd; } >( config: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref}/comments/{comment_id}/resolve * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * pull_ref: string * comment_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * body: string * commit_sha?: string | null * created_at: string * id: string * line?: number | null * parent_comment_id?: string | null * path?: string | null * pull_request_id: string * resolved: boolean * resolved_by?: number | null * review_id?: string | null * side?: string | null * updated_at?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ resolve_pull_comment< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; pull_ref: string; comment_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref}/comments/{comment_id}/resolve * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * pull_ref: string * comment_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * body: string * commit_sha?: string | null * created_at: string * id: string * line?: number | null * parent_comment_id?: string | null * path?: string | null * pull_request_id: string * resolved: boolean * resolved_by?: number | null * review_id?: string | null * side?: string | null * updated_at?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ unresolve_pull_comment< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; pull_ref: string; comment_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref}/commits * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * // PR 编号(`12`)或 UUID。 * pull_ref: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * author_at: string * author_email: string * author_name: string * message: string * // [items] start * // [items] end * parents: string[] * sha: string * subject: string * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_pull_commits< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; /** * PR 编号(`12`)或 UUID。 */ pull_ref: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref}/events * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * // PR 编号(`12`)或 UUID。 * pull_ref: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * offset?: number | null * sort?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * archived: boolean * created_at: string * id: string * last_reply_at?: string | null * last_reply_id?: string | null * locked: boolean * name?: string | null * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * owner_id: number * participant_count: number * reply_count: number * room_id: string * root_message_id: string * updated_at: string * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_pull_events< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; /** * PR 编号(`12`)或 UUID。 */ pull_ref: string; }; params: { limit?: number | null; offset?: number | null; sort?: string | null; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref}/files * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * // PR 编号(`12`)或 UUID。 * pull_ref: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * binary: boolean * lines_added: number * lines_removed: number * patch?: string | null * path: { * new_mode: number * new_oid?: string | null * new_path: string * old_mode: number * old_oid?: string | null * old_path?: string | null * status: string * } * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_pull_files< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; /** * PR 编号(`12`)或 UUID。 */ pull_ref: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref}/gate * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * // PR 编号(`12`)或 UUID。 * pull_ref: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * conflicts: string[] * gate: { * allowed: boolean * approvals: number * bypassed: boolean * change_requests: number * outdated: boolean * protected: boolean * // [items] start * // [items] end * reasons: string[] * required_approvals: number * } * head_sha: string * mergeable: boolean * pending_review_requests: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_pull_gate< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; /** * PR 编号(`12`)或 UUID。 */ pull_ref: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref}/labels * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * // PR 编号(`12`)或 UUID。 * pull_ref: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * color: string * created_at: string * description?: string | null * dir_id: string * exclusive: boolean * exclusive_order: number * id: string * is_archived: boolean * name: string * updated_at?: string | null * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_pull_labels< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; /** * PR 编号(`12`)或 UUID。 */ pull_ref: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref}/labels * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * // PR 编号(`12`)或 UUID。 * pull_ref: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * // 标签 UUID 或名称(同一仓库目录内的标签)。 * label: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * color: string * created_at: string * description?: string | null * dir_id: string * exclusive: boolean * exclusive_order: number * id: string * is_archived: boolean * name: string * updated_at?: string | null * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ attach_pull_label< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; /** * PR 编号(`12`)或 UUID。 */ pull_ref: string; }; data: AttachLabelCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref}/labels/{label_ref} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * pull_ref: string * // 标签 UUID 或名称。 * label_ref: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * color: string * created_at: string * description?: string | null * dir_id: string * exclusive: boolean * exclusive_order: number * id: string * is_archived: boolean * name: string * updated_at?: string | null * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ detach_pull_label< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; pull_ref: string; /** * 标签 UUID 或名称。 */ label_ref: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref}/lock * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * // PR 编号(`12`)或 UUID。 * pull_ref: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * additions: number * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * auto_merge: boolean * base: { * branch: string * label: string * repo_id?: string | null * sha: string * } * body: string * closed_at?: string | null * commits_ahead?: number | null * commits_behind?: number | null * // [params1] start * // [items] start * // [items] end * // [params1] end * conflicts?: string[] | null * created_at: string * deletions: number * files_changed: number * head: { * branch: string * label: string * repo_id?: string | null * sha: string * } * id: string * is_draft: boolean * issue_id?: string | null * locked: boolean * merge_method: 'merge' | 'squash' | 'rebase' * mergeable?: boolean | null * mergeable_state?: string | null * merged_at?: string | null * merged_commit_sha?: string | null * merger?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * number: number * repo_id: string * squash_commit_sha?: string | null * state: 'open' | 'closed' | 'merged' * title: string * updated_at?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ lock_pull< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; /** * PR 编号(`12`)或 UUID。 */ pull_ref: string; }; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref}/lock * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * // PR 编号(`12`)或 UUID。 * pull_ref: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * additions: number * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * auto_merge: boolean * base: { * branch: string * label: string * repo_id?: string | null * sha: string * } * body: string * closed_at?: string | null * commits_ahead?: number | null * commits_behind?: number | null * // [params1] start * // [items] start * // [items] end * // [params1] end * conflicts?: string[] | null * created_at: string * deletions: number * files_changed: number * head: { * branch: string * label: string * repo_id?: string | null * sha: string * } * id: string * is_draft: boolean * issue_id?: string | null * locked: boolean * merge_method: 'merge' | 'squash' | 'rebase' * mergeable?: boolean | null * mergeable_state?: string | null * merged_at?: string | null * merged_commit_sha?: string | null * merger?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * number: number * repo_id: string * squash_commit_sha?: string | null * state: 'open' | 'closed' | 'merged' * title: string * updated_at?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ unlock_pull< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; /** * PR 编号(`12`)或 UUID。 */ pull_ref: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref}/merge * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * // PR 编号(`12`)或 UUID。 * pull_ref: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * delete_branch_after_merge?: boolean | null * expect_head_sha?: string | null * // 允许在无冲突时直接快进(method=merge 时生效)。 * fast_forward_only?: boolean | null * message?: string | null * // [params2] start * // merge | squash | rebase * // [params2] end * method?: null | ('merge' | 'squash' | 'rebase') * title?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * pull: { * additions: number * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * auto_merge: boolean * base: { * branch: string * label: string * repo_id?: string | null * sha: string * } * body: string * closed_at?: string | null * commits_ahead?: number | null * commits_behind?: number | null * // [params1] start * // [items] start * // [items] end * // [params1] end * conflicts?: string[] | null * created_at: string * deletions: number * files_changed: number * head: { * branch: string * label: string * repo_id?: string | null * sha: string * } * id: string * is_draft: boolean * issue_id?: string | null * locked: boolean * merge_method: 'merge' | 'squash' | 'rebase' * mergeable?: boolean | null * mergeable_state?: string | null * merged_at?: string | null * merged_commit_sha?: string | null * merger?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * number: number * repo_id: string * squash_commit_sha?: string | null * state: 'open' | 'closed' | 'merged' * title: string * updated_at?: string | null * } * result: { * base_ref: string * head_sha: string * // `fast_forward` | `merge_commit` | `squash` | `rebase` * method: string * new_sha: string * old_sha: string * // rebase 时重写出来的提交(按时间正序)。 * // [items] start * // [items] end * rewritten: string[] * } * summary: { * additions: number * base_sha: string * commits_ahead: number * commits_behind: number * // [items] start * // [items] end * conflicts: string[] * deletions: number * files_changed: number * head_sha: string * merge_base?: string | null * mergeable: boolean * mergeable_state: string * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ merge_pull< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; /** * PR 编号(`12`)或 UUID。 */ pull_ref: string; }; data: MergePullCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref}/patch * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * // PR 编号(`12`)或 UUID。 * pull_ref: string * } * ``` * * --- * * **Response** * ```ts * type Response = string * ``` */ get_pull_patch< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; /** * PR 编号(`12`)或 UUID。 */ pull_ref: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref}/reopen * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * // PR 编号(`12`)或 UUID。 * pull_ref: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * additions: number * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * auto_merge: boolean * base: { * branch: string * label: string * repo_id?: string | null * sha: string * } * body: string * closed_at?: string | null * commits_ahead?: number | null * commits_behind?: number | null * // [params1] start * // [items] start * // [items] end * // [params1] end * conflicts?: string[] | null * created_at: string * deletions: number * files_changed: number * head: { * branch: string * label: string * repo_id?: string | null * sha: string * } * id: string * is_draft: boolean * issue_id?: string | null * locked: boolean * merge_method: 'merge' | 'squash' | 'rebase' * mergeable?: boolean | null * mergeable_state?: string | null * merged_at?: string | null * merged_commit_sha?: string | null * merger?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * number: number * repo_id: string * squash_commit_sha?: string | null * state: 'open' | 'closed' | 'merged' * title: string * updated_at?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ reopen_pull< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; /** * PR 编号(`12`)或 UUID。 */ pull_ref: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref}/summary * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * // PR 编号(`12`)或 UUID。 * pull_ref: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * additions: number * base_sha: string * commits_ahead: number * commits_behind: number * // [items] start * // [items] end * conflicts: string[] * deletions: number * files_changed: number * head_sha: string * merge_base?: string | null * mergeable: boolean * mergeable_state: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ refresh_pull_summary< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; /** * PR 编号(`12`)或 UUID。 */ pull_ref: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref}/update-branch * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * // PR 编号(`12`)或 UUID。 * pull_ref: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * pull: { * additions: number * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * auto_merge: boolean * base: { * branch: string * label: string * repo_id?: string | null * sha: string * } * body: string * closed_at?: string | null * commits_ahead?: number | null * commits_behind?: number | null * // [params1] start * // [items] start * // [items] end * // [params1] end * conflicts?: string[] | null * created_at: string * deletions: number * files_changed: number * head: { * branch: string * label: string * repo_id?: string | null * sha: string * } * id: string * is_draft: boolean * issue_id?: string | null * locked: boolean * merge_method: 'merge' | 'squash' | 'rebase' * mergeable?: boolean | null * mergeable_state?: string | null * merged_at?: string | null * merged_commit_sha?: string | null * merger?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * number: number * repo_id: string * squash_commit_sha?: string | null * state: 'open' | 'closed' | 'merged' * title: string * updated_at?: string | null * } * result: { * base_ref: string * head_sha: string * // `fast_forward` | `merge_commit` | `squash` | `rebase` * method: string * new_sha: string * old_sha: string * // rebase 时重写出来的提交(按时间正序)。 * // [items] start * // [items] end * rewritten: string[] * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_branch_pull< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; /** * PR 编号(`12`)或 UUID。 */ pull_ref: string; }; } >( config: Config ): Alova2Method; }; licenses: { /** * --- * * [GET] * * **path:** /licenses * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * offset?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * body: string * created_at: string * description?: string | null * display_name: string * name: string * updated_at: string * url?: string | null * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_licenses< Config extends Alova2MethodConfig & { params: { limit?: number | null; offset?: number | null; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /licenses/{name} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * body: string * created_at: string * description?: string | null * display_name: string * name: string * updated_at: string * url?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_license< Config extends Alova2MethodConfig & { pathParams: { name: string; }; } >( config: Config ): Alova2Method; }; user: { /** * --- * * [GET] * * **path:** /me/avatar * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null | { * // Size of the uploaded original in bytes. * bytes: number * // Format of the uploaded original. * format: 'jpg' | 'png' | 'webp' | 'gif' * updated_at: string * // Browser-facing URL. Points at the compressed derivative when one exists, * // and at the uploaded bytes otherwise. * url: string * user_id: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_avatar>( config?: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /me/avatar * * --- * * **RequestBody** * ```ts * type RequestBody = number[] * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // Size of the uploaded original in bytes. * bytes: number * // Format of the uploaded original. * format: 'jpg' | 'png' | 'webp' | 'gif' * updated_at: string * // Browser-facing URL. Points at the compressed derivative when one exists, * // and at the uploaded bytes otherwise. * url: string * user_id: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ upload_avatar< Config extends Alova2MethodConfig & { data: number[]; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /me/avatar * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_avatar>( config?: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /me/memes * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * content_type: string * created_at: string * height?: number | null * id: string * name: string * size: number * url: string * width?: number | null * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_memes< Config extends Alova2MethodConfig & { params: { limit?: number | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /me/memes * * --- * * **RequestBody** * ```ts * type RequestBody = { * content_type: string * height?: number | null * name: string * size: number * url: string * width?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * content_type: string * created_at: string * height?: number | null * id: string * name: string * size: number * url: string * width?: number | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_meme< Config extends Alova2MethodConfig & { data: UpsertMemeCmd; } >( config: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /me/memes/{meme_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * meme_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * content_type: string * height?: number | null * name: string * size: number * url: string * width?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * content_type: string * created_at: string * height?: number | null * id: string * name: string * size: number * url: string * width?: number | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_meme< Config extends Alova2MethodConfig & { pathParams: { meme_id: string; }; data: UpsertMemeCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /me/memes/{meme_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // meme id * meme_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_meme< Config extends Alova2MethodConfig & { pathParams: { /** * meme id */ meme_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /me/messages/saved * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * offset?: number | null * sort?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * channel_id: string * id: string * message_id: string * saved_at: string * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_saved_messages< Config extends Alova2MethodConfig & { params: { limit?: number | null; offset?: number | null; sort?: string | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /me/messages/saved * * --- * * **RequestBody** * ```ts * type RequestBody = { * channel_id: string * message_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * channel_id: string * id: string * message_id: string * saved_at: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ save_message< Config extends Alova2MethodConfig & { data: SaveMessageCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /me/messages/saved/{message_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // message id * message_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ unsave_message< Config extends Alova2MethodConfig & { pathParams: { /** * message id */ message_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /me/push-subscriptions * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * offset?: number | null * sort?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * created_at: string * endpoint: string * id: string * platform: 'WebPush' | 'AndroidFcm' | 'IosApns' * updated_at?: string | null * user_agent?: string | null * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_push_subscriptions< Config extends Alova2MethodConfig & { params: { limit?: number | null; offset?: number | null; sort?: string | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /me/push-subscriptions * * --- * * **RequestBody** * ```ts * type RequestBody = { * auth_key: string * endpoint: string * p256dh_key: string * platform: 'WebPush' | 'AndroidFcm' | 'IosApns' * user_agent?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * endpoint: string * id: string * platform: 'WebPush' | 'AndroidFcm' | 'IosApns' * updated_at?: string | null * user_agent?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ upsert_push_subscription< Config extends Alova2MethodConfig & { data: UpsertPushCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /me/push-subscriptions/{push_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // push subscription id * push_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_push_subscription< Config extends Alova2MethodConfig & { pathParams: { /** * push subscription id */ push_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /me/recent-mentions * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * channel_id: string * created_at: string * id: string * message_id: string * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ recent_mentions< Config extends Alova2MethodConfig & { params: { limit?: number | null; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /me/reports * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * offset?: number | null * sort?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * created_at: string * evidence?: string | null * id: string * reason: string * reported_id: number * resolution_note?: string | null * status: 'open' | 'under_review' | 'resolved' | 'dismissed' * updated_at: string * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ my_reports< Config extends Alova2MethodConfig & { params: { limit?: number | null; offset?: number | null; sort?: string | null; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /me/sessions * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * kind?: null | ('WebLogin' | 'BearerAccess') * include_revoked?: boolean | null * limit?: number | null * offset?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * client_ip_hash?: string | null * created_at: string * device_id?: string | null * expires_at: string * id: string * is_current: boolean * is_revoked: boolean * kind: 'WebLogin' | 'BearerAccess' * last_seen_at: string * revoked_at?: string | null * user_agent_hash?: string | null * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_sessions< Config extends Alova2MethodConfig & { params: { kind?: null | SessionKind; include_revoked?: boolean | null; limit?: number | null; offset?: number | null; }; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /me/sessions * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * count: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ revoke_all_sessions>( config?: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /me/sessions/{session_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * session_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ revoke_session< Config extends Alova2MethodConfig & { pathParams: { session_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /me/spaces * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * offset?: number | null * sort?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * // [items] start * // [items] end * permissions: string[] * space: { * allow_invite: boolean * allow_join: boolean * allow_join_level: * | 'None' * | 'NeedMailActive' * | 'NeedMailActiveAndLastOneMid' * | 'NeedMailActiveAndLastOneHours' * | 'NeedMailActiveAndPhoneActive' * avatar_url?: string | null * created_at: string * description?: string | null * id: string * is_active: boolean * is_private: boolean * lower_name: string * member_must_enable_2fa: boolean * members_count: number * name: string * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * updated_at: string * welcome_message?: string | null * welcome_object?: string | null * } * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ my_spaces< Config extends Alova2MethodConfig & { params: { limit?: number | null; offset?: number | null; sort?: string | null; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /me/suspensions * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * include_revoked?: boolean | null * active?: boolean | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * created_at: string * ends_at?: string | null * id: string * reason?: string | null * revoked_at?: string | null * starts_at: string * suspension_type: 'temporary' | 'permanent' * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ my_suspensions< Config extends Alova2MethodConfig & { params: { include_revoked?: boolean | null; active?: boolean | null; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /users/{user_id}/profile-detail * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // target user id * user_id: number * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * accent_color?: string | null * avatar_url: string * banner_url?: string | null * bio?: string | null * company?: string | null * display_name: string * location?: string | null * pronouns?: string | null * real_name?: string | null * show_activity?: boolean | null * show_email?: boolean | null * show_location?: boolean | null * show_real_name?: boolean | null * updated_at: string * user_id: number * username: string * visibility?: null | ('Public' | 'RegisteredOnly' | 'MembersOnly' | 'Private') * website?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_profile_detail< Config extends Alova2MethodConfig & { pathParams: { /** * target user id */ user_id: number; }; } >( config: Config ): Alova2Method; }; notifications: { /** * --- * * [GET] * * **path:** /me/notifications * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * offset?: number | null * type?: null | ('mention' | 'reply' | 'follow' | 'invite' | 'assignment' | 'system') * unread?: boolean | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * actor_id?: number | null * body?: string | null * created_at: string * data?: null | null * id: string * notification_type: 'mention' | 'reply' | 'follow' | 'invite' | 'assignment' | 'system' * read_at?: string | null * title: string * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_notifications< Config extends Alova2MethodConfig & { params: { limit?: number | null; offset?: number | null; type?: null | NotificationType; unread?: boolean | null; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /me/notifications/unread-count * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * count: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ unread_notifications_count>( config?: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /me/notifications/{notification_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // notification id * notification_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_notification< Config extends Alova2MethodConfig & { pathParams: { /** * notification id */ notification_id: string; }; } >( config: Config ): Alova2Method; }; reports: { /** * --- * * [POST] * * **path:** /me/reports * * --- * * **RequestBody** * ```ts * type RequestBody = { * evidence?: string | null * reason: string * reported_id: number * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * evidence?: string | null * id: string * reason: string * reported_id: number * status: 'open' | 'under_review' | 'resolved' | 'dismissed' * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_report< Config extends Alova2MethodConfig & { data: CreateReportCmd; } >( config: Config ): Alova2Method; }; push: { /** * --- * * [GET] * * **path:** /push/config * * --- * * **Response** * ```ts * type Response = { * code: number * // 前端注册 Service Worker 所需的公开参数。 * // 只有公钥是公开的(它就是浏览器 `applicationServerKey` 要的东西),私钥永远 * // 不出现在任何响应里。`enabled=false` 时前端把整个"系统通知"开关藏起来, * // 而不是让用户点了才发现服务端没开。 * data?: { * enabled: boolean * public_key: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ push_config>( config?: Config ): Alova2Method; }; content: { /** * --- * * [POST] * * **path:** /repos/utils/commit-signature * * --- * * **RequestBody** * ```ts * type RequestBody = { * when?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * email: string * name: string * when: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ caller_signature< Config extends Alova2MethodConfig & { data: CallerSignatureBody; } >( config: Config ): Alova2Method; }; patches: { /** * --- * * [POST] * * **path:** /repos/utils/patch/parse * * --- * * **RequestBody** * ```ts * type RequestBody = string * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * additions: number * deletions: number * // [items] start * // [items] end * files: string[] * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ patch_parse< Config extends Alova2MethodConfig & { data: string; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/patch/generate * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * base: string * head: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * content: string * size: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ patch_generate< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; params: { base: string; head: string; }; } >( config: Config ): Alova2Method; }; repos: { /** * --- * * [GET] * * **path:** /repos/{space_name} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * offset?: number | null * sort?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * avatar_url?: string | null * default_branch: string * description?: string | null * id: string * is_archived: boolean * is_private: boolean * license_name?: string | null * name: string * primary_language?: string | null * size: number * stars_count: number * updated_at: string * watchers_count: number * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_repos< Config extends Alova2MethodConfig & { pathParams: { space_name: string; }; params: { limit?: number | null; offset?: number | null; sort?: string | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * default_branch?: string | null * description?: string | null * enable_lfs?: boolean * init_message?: string | null * is_private?: boolean * license_name?: string | null * name: string * parent_dir_id?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // 是否允许在本仓库创建合并请求(关闭后页签隐藏、接口拒绝)。 * allow_pull_requests: boolean * archived_at?: string | null * avatar_url?: string | null * branches_count: number * commits_count: number * created_at: string * default_branch: string * description?: string | null * enable_lfs: boolean * git_size: number * http_clone_url?: string | null * id: string * is_archived: boolean * is_private: boolean * last_pushed_at?: string | null * lfs_size: number * license_name?: string | null * me?: null | { * starred: boolean * watch_mode?: null | ('unwatched' | 'watching' | 'ignore') * } * name: string * object_format: string * // 流水线页签是否公开展示(关闭后仅空间成员可见)。 * pipelines_public: boolean * primary_language?: string | null * pulls_count: number * size: number * ssh_clone_url?: string | null * stars_count: number * storage_limit_size?: number | null * // 中间页签顺序;空数组 = 默认顺序。 * // [items] start * // [items] end * tab_order: string[] * tags_count: number * updated_at: string * watchers_count: number * website?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_repo< Config extends Alova2MethodConfig & { pathParams: { space_name: string; }; data: CreateRepoCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // 是否允许在本仓库创建合并请求(关闭后页签隐藏、接口拒绝)。 * allow_pull_requests: boolean * archived_at?: string | null * avatar_url?: string | null * branches_count: number * commits_count: number * created_at: string * default_branch: string * description?: string | null * enable_lfs: boolean * git_size: number * http_clone_url?: string | null * id: string * is_archived: boolean * is_private: boolean * last_pushed_at?: string | null * lfs_size: number * license_name?: string | null * me?: null | { * starred: boolean * watch_mode?: null | ('unwatched' | 'watching' | 'ignore') * } * name: string * object_format: string * // 流水线页签是否公开展示(关闭后仅空间成员可见)。 * pipelines_public: boolean * primary_language?: string | null * pulls_count: number * size: number * ssh_clone_url?: string | null * stars_count: number * storage_limit_size?: number | null * // 中间页签顺序;空数组 = 默认顺序。 * // [items] start * // [items] end * tab_order: string[] * tags_count: number * updated_at: string * watchers_count: number * website?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_repo< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PATCH] * * **path:** /repos/{space_name}/{repo_name} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * allow_pull_requests?: boolean | null * default_branch?: string | null * description?: string | null * enable_lfs?: boolean | null * is_private?: boolean | null * pipelines_public?: boolean | null * // 中间页签顺序;传空数组恢复默认顺序。 * // [params1] start * // [items] start * // [items] end * // [params1] end * tab_order?: string[] | null * website?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // 是否允许在本仓库创建合并请求(关闭后页签隐藏、接口拒绝)。 * allow_pull_requests: boolean * archived_at?: string | null * avatar_url?: string | null * branches_count: number * commits_count: number * created_at: string * default_branch: string * description?: string | null * enable_lfs: boolean * git_size: number * http_clone_url?: string | null * id: string * is_archived: boolean * is_private: boolean * last_pushed_at?: string | null * lfs_size: number * license_name?: string | null * me?: null | { * starred: boolean * watch_mode?: null | ('unwatched' | 'watching' | 'ignore') * } * name: string * object_format: string * // 流水线页签是否公开展示(关闭后仅空间成员可见)。 * pipelines_public: boolean * primary_language?: string | null * pulls_count: number * size: number * ssh_clone_url?: string | null * stars_count: number * storage_limit_size?: number | null * // 中间页签顺序;空数组 = 默认顺序。 * // [items] start * // [items] end * tab_order: string[] * tags_count: number * updated_at: string * watchers_count: number * website?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_repo< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; data: UpdateRepoCmd; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/archive * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // 是否允许在本仓库创建合并请求(关闭后页签隐藏、接口拒绝)。 * allow_pull_requests: boolean * archived_at?: string | null * avatar_url?: string | null * branches_count: number * commits_count: number * created_at: string * default_branch: string * description?: string | null * enable_lfs: boolean * git_size: number * http_clone_url?: string | null * id: string * is_archived: boolean * is_private: boolean * last_pushed_at?: string | null * lfs_size: number * license_name?: string | null * me?: null | { * starred: boolean * watch_mode?: null | ('unwatched' | 'watching' | 'ignore') * } * name: string * object_format: string * // 流水线页签是否公开展示(关闭后仅空间成员可见)。 * pipelines_public: boolean * primary_language?: string | null * pulls_count: number * size: number * ssh_clone_url?: string | null * stars_count: number * storage_limit_size?: number | null * // 中间页签顺序;空数组 = 默认顺序。 * // [items] start * // [items] end * tab_order: string[] * tags_count: number * updated_at: string * watchers_count: number * website?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ archive_repo< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /repos/{space_name}/{repo_name}/star * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * stars: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ star_repo< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /repos/{space_name}/{repo_name}/star * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * stars: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ unstar_repo< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/stargazers * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * offset?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * avatar_url: string * display_name: string * starred_at: string * user_id: number * username: string * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_stargazers< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; params: { limit?: number | null; offset?: number | null; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/topics * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * created_at: string * id: string * name: string * updated_at: string * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_repo_topics< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /repos/{space_name}/{repo_name}/topics/{topic_name} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * topic_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * id: string * name: string * updated_at: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ add_topic_to_repo< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; topic_name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /repos/{space_name}/{repo_name}/topics/{topic_name} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * topic_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ remove_topic_from_repo< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; topic_name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/unarchive * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // 是否允许在本仓库创建合并请求(关闭后页签隐藏、接口拒绝)。 * allow_pull_requests: boolean * archived_at?: string | null * avatar_url?: string | null * branches_count: number * commits_count: number * created_at: string * default_branch: string * description?: string | null * enable_lfs: boolean * git_size: number * http_clone_url?: string | null * id: string * is_archived: boolean * is_private: boolean * last_pushed_at?: string | null * lfs_size: number * license_name?: string | null * me?: null | { * starred: boolean * watch_mode?: null | ('unwatched' | 'watching' | 'ignore') * } * name: string * object_format: string * // 流水线页签是否公开展示(关闭后仅空间成员可见)。 * pipelines_public: boolean * primary_language?: string | null * pulls_count: number * size: number * ssh_clone_url?: string | null * stars_count: number * storage_limit_size?: number | null * // 中间页签顺序;空数组 = 默认顺序。 * // [items] start * // [items] end * tab_order: string[] * tags_count: number * updated_at: string * watchers_count: number * website?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ unarchive_repo< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /repos/{space_name}/{repo_name}/watch * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * mode: 'unwatched' | 'watching' | 'ignore' * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * mode: 'unwatched' | 'watching' | 'ignore' * repo_id: string * updated_at: string * user_id: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ upsert_watch< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; data: UpsertWatchCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/watchers * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * offset?: number | null * mode?: null | ('unwatched' | 'watching' | 'ignore') * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * avatar_url: string * display_name: string * mode: 'unwatched' | 'watching' | 'ignore' * user_id: number * username: string * watching_since: string * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_watchers< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; params: { limit?: number | null; offset?: number | null; mode?: null | WatchMode; }; } >( config: Config ): Alova2Method; }; analysis: { /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/analysis/code-activity * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * branch?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * authors: Array<{ * additions: number * commits: number * deletions: number * email: string * name: string * }> * total_additions: number * total_commits: number * total_deletions: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ code_activity< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; params: { branch?: string | null; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/analysis/contributors * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * additions: number * commits: number * deletions: number * email: string * name: string * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ contributors< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/analysis/languages * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * is_primary: boolean * language: string * percentage_bp: number * size: number * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ languages_read< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/analysis/languages * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * is_primary: boolean * language: string * percentage_bp: number * size: number * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ languages< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; } >( config: Config ): Alova2Method; }; archives: { /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/archives * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * format: 'tar' | 'tar_gz' | 'tar_bz2' | 'zip' * path_filter?: string | null * revision: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * cache_key: string * download_url?: string | null * format: string * size: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_archive< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; data: ArchiveCreateCmd; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/archives/bundle * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * cache_key: string * download_url?: string | null * format: string * size: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_bundle< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/archives/{revision} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * revision: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * // archive format * format: string * // path filter * path_filter?: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * cache_key: string * download_url?: string | null * format: string * size: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_archive< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; revision: string; }; params: { /** * archive format */ format: string; /** * path filter */ path_filter?: string; }; } >( config: Config ): Alova2Method; }; blame: { /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/blame * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * revision: string * path: string * range_start?: number | null * range_end?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * abbreviated_oid: string * commit_sha: string * ending_line: number * path?: string | null * starting_line: number * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ blame< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; params: { revision: string; path: string; range_start?: number | null; range_end?: number | null; }; } >( config: Config ): Alova2Method; }; blobs: { /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/blobs/{oid}/content * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * oid: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * data: number[] * is_binary: boolean * oid: string * size: number * truncated: boolean * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ blob_content< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; oid: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/blobs/{oid}/metadata * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * oid: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * is_binary: boolean * is_lfs_pointer: boolean * lfs?: null | { * oid?: string | null * size?: number | null * version: string * } * oid: string * size: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ blob_metadata< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; oid: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/lfs-pointers * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * revision: string * limit?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * oid?: string | null * size?: number | null * version: string * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_lfs_pointers< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; params: { revision: string; limit?: number | null; }; } >( config: Config ): Alova2Method; }; protection: { /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/branch-protection * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * block_on_change_requested_reviews: boolean * block_on_outdated_branch: boolean * block_on_rejected_reviews: boolean * branch_pattern: string * created_at: string * dismiss_stale_approvals: boolean * enable_approvals_whitelist: boolean * enable_force_push: boolean * enable_merge_whitelist: boolean * enable_push: boolean * enable_push_whitelist: boolean * id: string * protected_file_patterns: string * push_whitelist_deploy_keys: boolean * repo_id: string * require_signed_commits: boolean * required_approvals: number * required_status_contexts: string * unprotected_file_patterns: string * updated_at: string * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_policies< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/branch-protection * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * block_on_change_requested_reviews?: boolean | null * block_on_outdated_branch?: boolean | null * block_on_rejected_reviews?: boolean | null * branch_pattern: string * dismiss_stale_approvals?: boolean | null * enable_approvals_whitelist?: boolean | null * enable_force_push?: boolean | null * enable_merge_whitelist?: boolean | null * enable_push?: boolean | null * enable_push_whitelist?: boolean | null * protected_file_patterns?: string | null * require_signed_commits?: boolean | null * required_approvals?: number | null * required_status_contexts?: string | null * unprotected_file_patterns?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * block_on_change_requested_reviews: boolean * block_on_outdated_branch: boolean * block_on_rejected_reviews: boolean * branch_pattern: string * created_at: string * dismiss_stale_approvals: boolean * enable_approvals_whitelist: boolean * enable_force_push: boolean * enable_merge_whitelist: boolean * enable_push: boolean * enable_push_whitelist: boolean * id: string * protected_file_patterns: string * push_whitelist_deploy_keys: boolean * repo_id: string * require_signed_commits: boolean * required_approvals: number * required_status_contexts: string * unprotected_file_patterns: string * updated_at: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_policy< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; data: CreateBranchPolicyCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/branch-protection/{policy_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * policy_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * block_on_change_requested_reviews: boolean * block_on_outdated_branch: boolean * block_on_rejected_reviews: boolean * branch_pattern: string * created_at: string * dismiss_stale_approvals: boolean * enable_approvals_whitelist: boolean * enable_force_push: boolean * enable_merge_whitelist: boolean * enable_push: boolean * enable_push_whitelist: boolean * id: string * protected_file_patterns: string * push_whitelist_deploy_keys: boolean * repo_id: string * require_signed_commits: boolean * required_approvals: number * required_status_contexts: string * unprotected_file_patterns: string * updated_at: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_policy< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; policy_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /repos/{space_name}/{repo_name}/branch-protection/{policy_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * policy_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_policy< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; policy_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PATCH] * * **path:** /repos/{space_name}/{repo_name}/branch-protection/{policy_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * policy_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * block_on_change_requested_reviews?: boolean | null * block_on_outdated_branch?: boolean | null * block_on_rejected_reviews?: boolean | null * branch_pattern?: string | null * dismiss_stale_approvals?: boolean | null * enable_approvals_whitelist?: boolean | null * enable_force_push?: boolean | null * enable_merge_whitelist?: boolean | null * enable_push?: boolean | null * enable_push_whitelist?: boolean | null * protected_file_patterns?: string | null * require_signed_commits?: boolean | null * required_approvals?: number | null * required_status_contexts?: string | null * unprotected_file_patterns?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * block_on_change_requested_reviews: boolean * block_on_outdated_branch: boolean * block_on_rejected_reviews: boolean * branch_pattern: string * created_at: string * dismiss_stale_approvals: boolean * enable_approvals_whitelist: boolean * enable_force_push: boolean * enable_merge_whitelist: boolean * enable_push: boolean * enable_push_whitelist: boolean * id: string * protected_file_patterns: string * push_whitelist_deploy_keys: boolean * repo_id: string * require_signed_commits: boolean * required_approvals: number * required_status_contexts: string * unprotected_file_patterns: string * updated_at: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_policy< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; policy_id: string; }; data: UpdateBranchPolicyCmd; } >( config: Config ): Alova2Method; }; branch_protection: { /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/branch-protection/{policy_id}/whitelists * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * policy_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * created_at: string * group_id?: string | null * id: string * kind: 'Push' | 'Merge' | 'Approval' * policy_id: string * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * user_id?: number | null * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_branch_whitelists< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; policy_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/branch-protection/{policy_id}/whitelists * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * policy_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * group_id?: string | null * kind: 'Push' | 'Merge' | 'Approval' * user_id?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * group_id?: string | null * id: string * kind: 'Push' | 'Merge' | 'Approval' * policy_id: string * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * user_id?: number | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ add_branch_whitelist< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; policy_id: string; }; data: AddBranchWhitelistCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /repos/{space_name}/{repo_name}/branch-protection/{policy_id}/whitelists/{whitelist_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * policy_id: string * whitelist_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ remove_branch_whitelist< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; policy_id: string; whitelist_id: string; }; } >( config: Config ): Alova2Method; }; branches: { /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/branches * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * offset?: number | null * sort?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * commit_sha: string * created_at: string * deleted_at?: string | null * is_deleted: boolean * is_protected: boolean * name: string * updated_at: string * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_branches< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; params: { limit?: number | null; offset?: number | null; sort?: string | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/branches * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * name: string * start_point?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * commit_sha: string * created_at: string * deleted_at?: string | null * is_deleted: boolean * is_protected: boolean * name: string * updated_at: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_branch< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; data: CreateBranchCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/branches/{name} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * commit_sha: string * created_at: string * deleted_at?: string | null * is_deleted: boolean * is_protected: boolean * name: string * updated_at: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_branch< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /repos/{space_name}/{repo_name}/branches/{name} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * force?: boolean | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_branch< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; name: string; }; params: { force?: boolean | null; }; } >( config: Config ): Alova2Method; /** * --- * * [PATCH] * * **path:** /repos/{space_name}/{repo_name}/branches/{name} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * new_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ rename_branch< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; name: string; }; data: RenameBranchCmd; } >( config: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /repos/{space_name}/{repo_name}/branches/{name}/default * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ set_default_branch< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; name: string; }; } >( config: Config ): Alova2Method; }; codeComments: { /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/code-comments * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * path?: string | null * revision?: string | null * resolved?: boolean | null * limit?: number | null * offset?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * archived: boolean * created_at: string * id: string * last_reply_at?: string | null * last_reply_id?: string | null * locked: boolean * name?: string | null * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * owner_id: number * participant_count: number * reply_count: number * room_id: string * root_message_id: string * updated_at: string * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_code_comments< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; params: { path?: string | null; revision?: string | null; resolved?: boolean | null; limit?: number | null; offset?: number | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/code-comments * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * body: string * // 锚定的提交;缺省使用该 revision 解析出的提交。 * commit_sha?: string | null * line: number * parent_id?: string | null * path: string * revision?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * body: string * commit_sha: string * created_at: string * id: string * line: number * // 该评论锚定的提交是否仍是当前分支提示(否则视为 outdated)。 * outdated: boolean * parent_id?: string | null * path: string * repo_id: string * resolved: boolean * resolved_by?: number | null * updated_at?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_code_comment< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; data: CreateCodeCommentCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /repos/{space_name}/{repo_name}/code-comments/{comment_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * comment_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_code_comment< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; comment_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PATCH] * * **path:** /repos/{space_name}/{repo_name}/code-comments/{comment_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * comment_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * body: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * body: string * commit_sha: string * created_at: string * id: string * line: number * // 该评论锚定的提交是否仍是当前分支提示(否则视为 outdated)。 * outdated: boolean * parent_id?: string | null * path: string * repo_id: string * resolved: boolean * resolved_by?: number | null * updated_at?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_code_comment< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; comment_id: string; }; data: UpdateCodeCommentCmd; } >( config: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /repos/{space_name}/{repo_name}/code-comments/{comment_id}/resolve * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * comment_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * body: string * commit_sha: string * created_at: string * id: string * line: number * // 该评论锚定的提交是否仍是当前分支提示(否则视为 outdated)。 * outdated: boolean * parent_id?: string | null * path: string * repo_id: string * resolved: boolean * resolved_by?: number | null * updated_at?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ resolve_code_comment< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; comment_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /repos/{space_name}/{repo_name}/code-comments/{comment_id}/resolve * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * comment_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * body: string * commit_sha: string * created_at: string * id: string * line: number * // 该评论锚定的提交是否仍是当前分支提示(否则视为 outdated)。 * outdated: boolean * parent_id?: string | null * path: string * repo_id: string * resolved: boolean * resolved_by?: number | null * updated_at?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ unresolve_code_comment< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; comment_id: string; }; } >( config: Config ): Alova2Method; }; commits: { /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/commit-statuses * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * context: string * description?: string | null * sha: string * state: 'pending' | 'success' | 'failure' | 'error' * target_url?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * context: string * created_at: string * creator?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * creator_id: number * description?: string | null * state: 'pending' | 'success' | 'failure' | 'error' * target_url?: string | null * updated_at?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ set_commit_status< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; data: SetCommitStatusCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/commit-statuses/{sha} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * sha: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * context: string * created_at: string * creator?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * creator_id: number * description?: string | null * state: 'pending' | 'success' | 'failure' | 'error' * target_url?: string | null * updated_at?: string | null * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_commit_statuses< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; sha: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/commits * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * // start revision * revision?: string * // path filter * path?: string * // max commits * max_count?: number * // skip commits before returning (offset) * skip?: number * // since date * since?: string * // until date * until?: string * // first parent only * first_parent: boolean * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * commits: Array<{ * author_email: string * author_name: string * author_time: number * committer_email: string * committer_name: string * committer_time: number * id: string * message: string * // [items] start * // [items] end * parents: string[] * tree_id: string * }> * diff_view_style: string * has_more: boolean * limit: number * skip: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_commits< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; params: { /** * start revision */ revision?: string; /** * path filter */ path?: string; /** * max commits */ max_count?: number; /** * skip commits before returning (offset) */ skip?: number; /** * since date */ since?: string; /** * until date */ until?: string; /** * first parent only */ first_parent: boolean; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/commits/ancestor * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * ancestor: string * descendant: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * is_ancestor: boolean * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ is_ancestor< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; params: { ancestor: string; descendant: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/commits/stats * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * revision: string * path?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = null * ``` */ commit_stats< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; params: { revision: string; path?: string | null; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/commits/{revision} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * revision: string * } * ``` * * --- * * **Response** * ```ts * type Response = null * ``` */ get_commit< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; revision: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/rev/{revision} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * revision: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: string * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ rev_parse< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; revision: string; }; } >( config: Config ): Alova2Method; }; conflicts: { /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/conflicts * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * base: string * head: string * ancestor?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * conflicts: string[] * fast_forwardable: boolean * mergeable: boolean * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_conflicts< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; params: { base: string; head: string; ancestor?: string | null; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/conflicts/detail * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * base: string * head: string * path: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * content?: string | null * path: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ conflict_detail< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; params: { base: string; head: string; path: string; }; } >( config: Config ): Alova2Method; }; diffs: { /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/diff * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * base: string * head: string * view?: 'shortstat' | 'numstat' | 'files' | 'tree' * use_merge_base?: boolean * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_diff< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; params: { base: string; head: string; view?: DiffView; use_merge_base?: boolean; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/diff/for-commit/{commit} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * commit: string * } * ``` * * --- * * **Response** * ```ts * type Response = null * ``` */ diff_for_commit< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; commit: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/diff/range * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * from: string * to: string * base?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: string * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ range_diff< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; params: { from: string; to: string; base?: string | null; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/diff/raw * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * base: string * head: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: string * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ diff_raw< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; params: { base: string; head: string; }; } >( config: Config ): Alova2Method; }; pipelines: { /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/environments * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * id: string * name: string * rules: { * // [items] start * // [items] end * branches?: string[] * prevent_self_review?: boolean * // [items] start * // [items] end * reviewers?: number[] * // [items] start * // [items] end * tags?: string[] * wait_minutes?: number * } * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ environments< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /repos/{space_name}/{repo_name}/environments/{name} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * // [items] start * // [items] end * branches?: string[] * prevent_self_review?: boolean * // [items] start * // [items] end * reviewers?: number[] * // [items] start * // [items] end * tags?: string[] * wait_minutes?: number * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * id: string * name: string * rules: { * // [items] start * // [items] end * branches?: string[] * prevent_self_review?: boolean * // [items] start * // [items] end * reviewers?: number[] * // [items] start * // [items] end * tags?: string[] * wait_minutes?: number * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ upsert_environment< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; name: string; }; data: EnvironmentRules; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/pipelines * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * workflow?: string | null * branch?: string | null * commit?: string | null * state?: null | ('queued' | 'running' | 'success' | 'failure' | 'cancel_requested' | 'cancelled') * event?: string | null * limit?: number | null * offset?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * limit: number * offset: number * // [items] start * // [items] end * runs: Array<{ * actions_id?: number | null * base_ref?: string | null * base_sha?: string | null * branch?: string | null * commit_sha: string * created_at: string * display_name?: string | null * event: string * finished_at?: string | null * git_ref: string * id: string * pr_number?: number | null * repo_id: string * run_number?: number | null * started_at?: string | null * state: string * tag?: string | null * trigger_user_id?: number | null * workflow_file: string * workflow_name: string * }> * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_runs< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; params: { workflow?: string | null; branch?: string | null; commit?: string | null; state?: null | WorkflowRunState; event?: string | null; limit?: number | null; offset?: number | null; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/pipelines/actions-artifacts/{artifact_id}/download * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * artifact_id: number * } * ``` * * --- * * **Response** * ```ts * type Response = unknown * ``` */ download_actions_artifact< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; artifact_id: number; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/pipelines/artifacts/{artifact_id}/download * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * artifact_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = unknown * ``` */ download_artifact< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; artifact_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/pipelines/dispatches * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * client_payload?: null * event_type: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: string[] * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ dispatch< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; data: DispatchCmd; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/pipelines/trigger * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * git_ref: string * inputs?: Record * workflow: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * artifacts: Array<{ * actions_id?: number | null * created_at: string * id: string * job_id: string * name: string * sha256?: string | null * size: number * state: string * }> * // [items] start * // [items] end * jobs: Array<{ * attempt: number * environment?: string | null * error?: string | null * exit_code?: number | null * finished_at?: string | null * id: string * is_template: boolean * job_key: string * logical_job_id?: string | null * matrix: null * name: string * // [items] start * // [items] end * needs: string[] * outcome?: string | null * outputs: null * runner_id?: string | null * // [items] start * // [items] end * runs_on: string[] * started_at?: string | null * state: string * // [items] start * // [items] end * steps: Array<{ * annotations: null * conclusion?: string | null * exit_code?: number | null * finished_at?: string | null * index: number * name: string * outcome?: string | null * outputs: null * stage: string * started_at?: string | null * state: string * summary?: string | null * }> * }> * run: { * actions_id?: number | null * base_ref?: string | null * base_sha?: string | null * branch?: string | null * commit_sha: string * created_at: string * display_name?: string | null * event: string * finished_at?: string | null * git_ref: string * id: string * pr_number?: number | null * repo_id: string * run_number?: number | null * started_at?: string | null * state: string * tag?: string | null * trigger_user_id?: number | null * workflow_file: string * workflow_name: string * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ trigger< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; data: TriggerRunCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/pipelines/workflows * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * revision?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * revision: string * // [items] start * // [items] end * workflows: Array<{ * engine?: string * // [items] start * // [items] end * errors: string[] * file: string * inputs?: Record< * string, * { * default?: null * description?: string | null * // [items] start * // [items] end * options?: string[] * required?: boolean * type?: string | null * } * > * name: string * triggers: { * // [items] start * // [items] end * pull_request_branches: string[] * // [items] start * // [items] end * pull_request_types: ('opened' | 'synchronize' | 'reopened' | 'merged' | 'closed')[] * // [items] start * // [items] end * push_branches: string[] * // [items] start * // [items] end * push_tags: string[] * workflow_dispatch: boolean * } * valid: boolean * }> * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_workflows< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; params: { revision?: string | null; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/pipelines/{run_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * run_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * artifacts: Array<{ * actions_id?: number | null * created_at: string * id: string * job_id: string * name: string * sha256?: string | null * size: number * state: string * }> * // [items] start * // [items] end * jobs: Array<{ * attempt: number * environment?: string | null * error?: string | null * exit_code?: number | null * finished_at?: string | null * id: string * is_template: boolean * job_key: string * logical_job_id?: string | null * matrix: null * name: string * // [items] start * // [items] end * needs: string[] * outcome?: string | null * outputs: null * runner_id?: string | null * // [items] start * // [items] end * runs_on: string[] * started_at?: string | null * state: string * // [items] start * // [items] end * steps: Array<{ * annotations: null * conclusion?: string | null * exit_code?: number | null * finished_at?: string | null * index: number * name: string * outcome?: string | null * outputs: null * stage: string * started_at?: string | null * state: string * summary?: string | null * }> * }> * run: { * actions_id?: number | null * base_ref?: string | null * base_sha?: string | null * branch?: string | null * commit_sha: string * created_at: string * display_name?: string | null * event: string * finished_at?: string | null * git_ref: string * id: string * pr_number?: number | null * repo_id: string * run_number?: number | null * started_at?: string | null * state: string * tag?: string | null * trigger_user_id?: number | null * workflow_file: string * workflow_name: string * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_run< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; run_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/pipelines/{run_id}/approvals * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * run_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * eligible_at: string * environment: string * id: string * job_id: string * prevent_self_review: boolean * reviewer_id?: number | null * // [items] start * // [items] end * reviewers: number[] * state: string * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ approvals< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; run_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/pipelines/{run_id}/approvals/{review_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * run_id: string * review_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * approved: boolean * comment?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: string * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ review< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; run_id: string; review_id: string; }; data: ReviewCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/pipelines/{run_id}/artifacts * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * run_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * artifacts: Array<{ * actions_id?: number | null * created_at: string * id: string * job_id: string * name: string * sha256?: string | null * size: number * state: string * }> * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_artifacts< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; run_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/pipelines/{run_id}/cancel * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * run_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * artifacts: Array<{ * actions_id?: number | null * created_at: string * id: string * job_id: string * name: string * sha256?: string | null * size: number * state: string * }> * // [items] start * // [items] end * jobs: Array<{ * attempt: number * environment?: string | null * error?: string | null * exit_code?: number | null * finished_at?: string | null * id: string * is_template: boolean * job_key: string * logical_job_id?: string | null * matrix: null * name: string * // [items] start * // [items] end * needs: string[] * outcome?: string | null * outputs: null * runner_id?: string | null * // [items] start * // [items] end * runs_on: string[] * started_at?: string | null * state: string * // [items] start * // [items] end * steps: Array<{ * annotations: null * conclusion?: string | null * exit_code?: number | null * finished_at?: string | null * index: number * name: string * outcome?: string | null * outputs: null * stage: string * started_at?: string | null * state: string * summary?: string | null * }> * }> * run: { * actions_id?: number | null * base_ref?: string | null * base_sha?: string | null * branch?: string | null * commit_sha: string * created_at: string * display_name?: string | null * event: string * finished_at?: string | null * git_ref: string * id: string * pr_number?: number | null * repo_id: string * run_number?: number | null * started_at?: string | null * state: string * tag?: string | null * trigger_user_id?: number | null * workflow_file: string * workflow_name: string * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ cancel_run< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; run_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/pipelines/{run_id}/jobs/{job_id}/logs * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * run_id: string * job_id: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * after_seq?: number | null * limit?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * chunks: Array<{ * seq: number * text: string * }> * complete: boolean * next_seq: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ read_logs< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; run_id: string; job_id: string; }; params: { after_seq?: number | null; limit?: number | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/pipelines/{run_id}/rerun * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * run_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * artifacts: Array<{ * actions_id?: number | null * created_at: string * id: string * job_id: string * name: string * sha256?: string | null * size: number * state: string * }> * // [items] start * // [items] end * jobs: Array<{ * attempt: number * environment?: string | null * error?: string | null * exit_code?: number | null * finished_at?: string | null * id: string * is_template: boolean * job_key: string * logical_job_id?: string | null * matrix: null * name: string * // [items] start * // [items] end * needs: string[] * outcome?: string | null * outputs: null * runner_id?: string | null * // [items] start * // [items] end * runs_on: string[] * started_at?: string | null * state: string * // [items] start * // [items] end * steps: Array<{ * annotations: null * conclusion?: string | null * exit_code?: number | null * finished_at?: string | null * index: number * name: string * outcome?: string | null * outputs: null * stage: string * started_at?: string | null * state: string * summary?: string | null * }> * }> * run: { * actions_id?: number | null * base_ref?: string | null * base_sha?: string | null * branch?: string | null * commit_sha: string * created_at: string * display_name?: string | null * event: string * finished_at?: string | null * git_ref: string * id: string * pr_number?: number | null * repo_id: string * run_number?: number | null * started_at?: string | null * state: string * tag?: string | null * trigger_user_id?: number | null * workflow_file: string * workflow_name: string * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ rerun< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; run_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/secrets * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * secrets: Array<{ * created_at: string * environment_id?: string | null * id: string * name: string * repo_id?: string | null * scope: string * space_id?: string | null * updated_at: string * }> * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_repo_secrets< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /repos/{space_name}/{repo_name}/secrets/{name} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * value: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * secret: { * created_at: string * environment_id?: string | null * id: string * name: string * repo_id?: string | null * scope: string * space_id?: string | null * updated_at: string * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ upsert_repo_secret< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; name: string; }; data: UpsertSecretCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /repos/{space_name}/{repo_name}/secrets/{name} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * secrets: Array<{ * created_at: string * environment_id?: string | null * id: string * name: string * repo_id?: string | null * scope: string * space_id?: string | null * updated_at: string * }> * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_repo_secret< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/variables * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * name: string * value: string * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ variables< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /repos/{space_name}/{repo_name}/variables/{name} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * value: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * name: string * value: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ upsert_variable< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; name: string; }; data: VariableCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /repos/{space_name}/{repo_name}/variables/{name} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: string * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_variable< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /spaces/{space_name}/environments * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * environments: Array<{ * created_at: string * description?: string | null * id: string * name: string * // [items] start * // [items] end * required_labels: string[] * space_id: string * updated_at: string * }> * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_environments< Config extends Alova2MethodConfig & { pathParams: { space_name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /spaces/{space_name}/environments/{name}/deployments * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * deployments: Array<{ * actor_id?: number | null * commit_sha: string * created_at: string * environment_id: string * environment_name: string * git_ref: string * id: string * job_id: string * repo_id: string * run_id: string * state: string * updated_at: string * }> * runs: Record< * string, * { * actions_id?: number | null * base_ref?: string | null * base_sha?: string | null * branch?: string | null * commit_sha: string * created_at: string * display_name?: string | null * event: string * finished_at?: string | null * git_ref: string * id: string * pr_number?: number | null * repo_id: string * run_number?: number | null * started_at?: string | null * state: string * tag?: string | null * trigger_user_id?: number | null * workflow_file: string * workflow_name: string * } * > * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_deployments< Config extends Alova2MethodConfig & { pathParams: { space_name: string; name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /spaces/{space_name}/secrets * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * secrets: Array<{ * created_at: string * environment_id?: string | null * id: string * name: string * repo_id?: string | null * scope: string * space_id?: string | null * updated_at: string * }> * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_space_secrets< Config extends Alova2MethodConfig & { pathParams: { space_name: string; }; } >( config: Config ): Alova2Method; }; hooks: { /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/hooks/{script} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * script: 'pre_receive' | 'post_receive' | 'update' | 'push' | 'tag' | 'merge_request' * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * // [items] start * // [items] end * args?: string[] * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * exit_code: number * stderr: string * stdout: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ execute_script< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; script: HookEventKind; }; data: HookExecBody; } >( config: Config ): Alova2Method; }; lfs: { /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/lfs/locks * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * cursor?: string | null * limit?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * locks?: Array<{ * id: string * locked_at: string * owner: { * name: string * } * path: string * }> * next_cursor?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_locks< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; params: { cursor?: string | null; limit?: number | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/lfs/locks * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * oid?: string | null * path: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * id: string * locked_at: string * owner: { * name: string * } * path: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ lock< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; data: LfsLockBody; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /repos/{space_name}/{repo_name}/lfs/locks * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * path: string * force?: boolean | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ unlock< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; params: { path: string; force?: boolean | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/lfs/locks/verify * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * next_cursor?: string | null * // [items] start * // [items] end * ours?: Array<{ * id: string * locked_at: string * owner: { * name: string * } * path: string * }> * // [items] start * // [items] end * theirs?: Array<{ * id: string * locked_at: string * owner: { * name: string * } * path: string * }> * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ verify_locks< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; params: { limit?: number | null; }; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /repos/{space_name}/{repo_name}/lfs/locks/{lock_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * lock_id: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * force?: boolean | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ unlock_by_id< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; lock_id: string; }; params: { force?: boolean | null; }; } >( config: Config ): Alova2Method; }; logs: { /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/path-log * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * commit_hash: string * target_dir: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * author: string * date: string * path: string * short_sha: string * subject: string * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ path_log< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; params: { commit_hash: string; target_dir: string; }; } >( config: Config ): Alova2Method; }; reviews: { /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref}/requested-reviewers * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * // PR 编号(`12`)或 UUID。 * pull_ref: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * created_at: string * id: string * requested_by?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * required: boolean * review_id?: string | null * state: 'requested' | 'approved' | 'changes_requested' | 'commented' | 'dismissed' * updated_at?: string | null * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_requested_reviewers< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; /** * PR 编号(`12`)或 UUID。 */ pull_ref: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref}/requested-reviewers * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * // PR 编号(`12`)或 UUID。 * pull_ref: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * // 是否计入必需审批人数。 * required?: boolean * // 用户名或 UUID。 * // [items] start * // [items] end * reviewers: string[] * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * created_at: string * id: string * requested_by?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * required: boolean * review_id?: string | null * state: 'requested' | 'approved' | 'changes_requested' | 'commented' | 'dismissed' * updated_at?: string | null * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ request_reviewers< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; /** * PR 编号(`12`)或 UUID。 */ pull_ref: string; }; data: RequestReviewersCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref}/requested-reviewers/{user_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * pull_ref: string * user_id: number * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * created_at: string * id: string * requested_by?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * required: boolean * review_id?: string | null * state: 'requested' | 'approved' | 'changes_requested' | 'commented' | 'dismissed' * updated_at?: string | null * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_requested_reviewer< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; pull_ref: string; user_id: number; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref}/reviews * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * // PR 编号(`12`)或 UUID。 * pull_ref: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * comment_count: number * commit_sha: string * content?: string | null * created_at: string * id: string * official: boolean * pull_request_id: string * state: 'approved' | 'changes_requested' | 'commented' | 'pending' | 'dismissed' * updated_at?: string | null * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_reviews< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; /** * PR 编号(`12`)或 UUID。 */ pull_ref: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref}/reviews * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * // PR 编号(`12`)或 UUID。 * pull_ref: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * body?: string | null * // [items] start * // [items] end * comments?: Array<{ * body?: string | null * line: number * path: string * side?: string | null * }> * state: 'approve' | 'request_changes' | 'comment' | 'pending' * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * comment_count: number * commit_sha: string * content?: string | null * created_at: string * id: string * official: boolean * pull_request_id: string * state: 'approved' | 'changes_requested' | 'commented' | 'pending' | 'dismissed' * updated_at?: string | null * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ submit_review< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; /** * PR 编号(`12`)或 UUID。 */ pull_ref: string; }; data: SubmitReviewCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref}/reviews/{review_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * pull_ref: string * review_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * comment_count: number * commit_sha: string * content?: string | null * created_at: string * id: string * official: boolean * pull_request_id: string * state: 'approved' | 'changes_requested' | 'commented' | 'pending' | 'dismissed' * updated_at?: string | null * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_review< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; pull_ref: string; review_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref}/reviews/{review_id}/dismiss * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * pull_ref: string * review_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * comment_count: number * commit_sha: string * content?: string | null * created_at: string * id: string * official: boolean * pull_request_id: string * state: 'approved' | 'changes_requested' | 'commented' | 'pending' | 'dismissed' * updated_at?: string | null * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ dismiss_review< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; pull_ref: string; review_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/pulls/{pull_ref}/reviews/{review_id}/submit * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * pull_ref: string * review_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * body?: string | null * // [items] start * // [items] end * comments?: Array<{ * body?: string | null * line: number * path: string * side?: string | null * }> * state: 'approve' | 'request_changes' | 'comment' | 'pending' * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * comment_count: number * commit_sha: string * content?: string | null * created_at: string * id: string * official: boolean * pull_request_id: string * state: 'approved' | 'changes_requested' | 'commented' | 'pending' | 'dismissed' * updated_at?: string | null * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ publish_review< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; pull_ref: string; review_id: string; }; data: SubmitReviewCmd; } >( config: Config ): Alova2Method; }; releases: { /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/releases * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * offset?: number | null * // 仅返回草稿(true)或仅返回已发布(false);缺省返回全部。 * draft?: boolean | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * archived: boolean * created_at: string * id: string * last_reply_at?: string | null * last_reply_id?: string | null * locked: boolean * name?: string | null * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * owner_id: number * participant_count: number * reply_count: number * room_id: string * root_message_id: string * updated_at: string * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_releases< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; params: { limit?: number | null; offset?: number | null; /** * 仅返回草稿(true)或仅返回已发布(false);缺省返回全部。 */ draft?: boolean | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/releases * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * content?: string | null * is_draft?: boolean | null * is_prerelease?: boolean | null * tag_name: string * target?: string | null * title?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * content?: string | null * created_at: string * id: string * is_draft: boolean * is_prerelease: boolean * num_commits: number * publisher?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * publisher_name: string * repo_id: string * sha: string * tag_name: string * target: string * title: string * updated_at: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_release< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; data: CreateReleaseCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/releases/{tag} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * tag: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * content?: string | null * created_at: string * id: string * is_draft: boolean * is_prerelease: boolean * num_commits: number * publisher?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * publisher_name: string * repo_id: string * sha: string * tag_name: string * target: string * title: string * updated_at: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_release< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; tag: string; }; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /repos/{space_name}/{repo_name}/releases/{tag} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * tag: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_release< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; tag: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PATCH] * * **path:** /repos/{space_name}/{repo_name}/releases/{tag} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * tag: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * content?: string | null * is_draft?: boolean | null * is_prerelease?: boolean | null * title?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * content?: string | null * created_at: string * id: string * is_draft: boolean * is_prerelease: boolean * num_commits: number * publisher?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * publisher_name: string * repo_id: string * sha: string * tag_name: string * target: string * title: string * updated_at: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_release< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; tag: string; }; data: UpdateReleaseCmd; } >( config: Config ): Alova2Method; }; remotes: { /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/remotes * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * fetch_url?: string | null * name: string * push_url?: string | null * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_remotes< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/remotes/fetch * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * auth?: null | { * token?: string | null * username?: string | null * } * remote: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * new: string[] * // [items] start * // [items] end * updated: string[] * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ fetch< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; data: RemoteFetchBody; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/remotes/import * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * auth?: null | { * token?: string | null * username?: string | null * } * url: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * commit_count: number * default_branch: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ clone_import< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; data: RemoteImportBody; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/remotes/push * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * auth?: null | { * token?: string | null * username?: string | null * } * refspec?: string | null * remote: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * pushed: string[] * // [items] start * // [items] end * rejected: string[] * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ push< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; data: RemotePushBody; } >( config: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /repos/{space_name}/{repo_name}/remotes/{name} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * url: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ upsert_remote< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; name: string; }; data: RemoteAddBody; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /repos/{space_name}/{repo_name}/remotes/{name} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ remove< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; name: string; }; } >( config: Config ): Alova2Method; }; signatures: { /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/signatures/commit/{sha} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * sha: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * error_message?: string | null * key_id?: string | null * signed: boolean * signer?: string | null * valid: boolean * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ verify_commit< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; sha: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/signatures/tag/{name} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * error_message?: string | null * key_id?: string | null * signed: boolean * signer?: string | null * valid: boolean * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ verify_tag< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; name: string; }; } >( config: Config ): Alova2Method; }; submodules: { /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/submodules * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * revision: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * branch?: string | null * commit_sha?: string | null * path: string * url: string * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ submodule_list< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; params: { revision: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/submodules/resolve * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * revision: string * path: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: string * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ submodule_resolve< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; params: { revision: string; path: string; }; } >( config: Config ): Alova2Method; }; search: { /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/symbols * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * q: string * limit?: number | null * offset?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * author_id: number * content: string * created_at: string * message_id: string * room_id: string * seq: number * }> * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ repo_symbols< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; params: { q: string; limit?: number | null; offset?: number | null; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/symbols/{symbol_name}/references * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * symbol_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * q: string * limit?: number | null * offset?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * author_id: number * content: string * created_at: string * message_id: string * room_id: string * seq: number * }> * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ symbol_references< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; symbol_name: string; }; params: { q: string; limit?: number | null; offset?: number | null; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /search * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * q: string * kinds?: string | null * space_name?: string | null * repo_name?: string | null * // 限定单个看板(工单类命中)与单个频道(消息类命中)。 * // 全局搜索从仓库页或频道页打开时,界面会把当前所在位置作为默认约束传进来, * // 「在这里搜」和「到处搜」是两种不同意图;把维度做成查询参数,前端就不必在 * // 结果里再筛一遍。 * board_id?: string | null * room_id?: string | null * language?: string | null * state?: string | null * limit?: number | null * offset?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * author?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * author_id: number * content: string * created_at: string * message_id: string * room_id: string * seq: number * }> * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ global_search< Config extends Alova2MethodConfig & { params: { q: string; kinds?: string | null; space_name?: string | null; repo_name?: string | null; /** * 限定单个看板(工单类命中)与单个频道(消息类命中)。 * 全局搜索从仓库页或频道页打开时,界面会把当前所在位置作为默认约束传进来, * 「在这里搜」和「到处搜」是两种不同意图;把维度做成查询参数,前端就不必在 * 结果里再筛一遍。 */ board_id?: string | null; room_id?: string | null; language?: string | null; state?: string | null; limit?: number | null; offset?: number | null; }; } >( config: Config ): Alova2Method; }; tag_protection: { /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/tag-protection * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * created_at: string * id: string * name_pattern: string * repo_id: string * updated_at: string * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_policies< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/tag-protection * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * name_pattern: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * id: string * name_pattern: string * repo_id: string * updated_at: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_policy< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; data: CreateTagPolicyCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/tag-protection/{policy_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * policy_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * id: string * name_pattern: string * repo_id: string * updated_at: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_policy< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; policy_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /repos/{space_name}/{repo_name}/tag-protection/{policy_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * policy_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_policy< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; policy_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PATCH] * * **path:** /repos/{space_name}/{repo_name}/tag-protection/{policy_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * policy_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * name_pattern?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * id: string * name_pattern: string * repo_id: string * updated_at: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_policy< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; policy_id: string; }; data: UpdateTagPolicyCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/tag-protection/{policy_id}/whitelists * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * policy_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * policy_id: string * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * user_id: number * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_tag_whitelists< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; policy_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/tag-protection/{policy_id}/whitelists * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * policy_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * user_id: number * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * policy_id: string * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * user_id: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ add_tag_whitelist< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; policy_id: string; }; data: AddTagWhitelistCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /repos/{space_name}/{repo_name}/tag-protection/{policy_id}/whitelists/{user_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * policy_id: string * user_id: number * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ remove_tag_whitelist< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; policy_id: string; user_id: number; }; } >( config: Config ): Alova2Method; }; tags: { /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/tags * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * offset?: number | null * sort?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * created_at?: string | null * message?: string | null * name: string * tag_type: 'Lightweight' | 'Annotated' * tagger_email?: string | null * tagger_name?: string | null * target_sha: string * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_tags< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; params: { limit?: number | null; offset?: number | null; sort?: string | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /repos/{space_name}/{repo_name}/tags * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * annotated?: boolean * message?: string | null * name: string * target: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at?: string | null * message?: string | null * name: string * tag_type: 'Lightweight' | 'Annotated' * tagger_email?: string | null * tagger_name?: string | null * target_sha: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_tag< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; }; data: CreateTagCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/tags/{name} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at?: string | null * message?: string | null * name: string * tag_type: 'Lightweight' | 'Annotated' * tagger_email?: string | null * tagger_name?: string | null * target_sha: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_tag< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /repos/{space_name}/{repo_name}/tags/{name} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_tag< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; name: string; }; } >( config: Config ): Alova2Method; }; trees: { /** * --- * * [GET] * * **path:** /repos/{space_name}/{repo_name}/tree/{revision} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * repo_name: string * revision: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * path?: string * recurse?: boolean * resolve?: boolean * show_trees?: boolean * view?: null | ('entries' | 'last_updated') * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_tree< Config extends Alova2MethodConfig & { pathParams: { space_name: string; repo_name: string; revision: string; }; params: { path?: string; recurse?: boolean; resolve?: boolean; show_trees?: boolean; view?: null | TreeView; }; } >( config: Config ): Alova2Method; }; space: { /** * --- * * [GET] * * **path:** /spaces * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * offset?: number | null * sort?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * archived: boolean * created_at: string * id: string * last_reply_at?: string | null * last_reply_id?: string | null * locked: boolean * name?: string | null * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * owner_id: number * participant_count: number * reply_count: number * room_id: string * root_message_id: string * updated_at: string * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_spaces< Config extends Alova2MethodConfig & { params: { limit?: number | null; offset?: number | null; sort?: string | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /spaces * * --- * * **RequestBody** * ```ts * type RequestBody = { * allow_invite?: boolean * allow_join?: boolean * allow_join_level?: * | null * | ( * | 'None' * | 'NeedMailActive' * | 'NeedMailActiveAndLastOneMid' * | 'NeedMailActiveAndLastOneHours' * | 'NeedMailActiveAndPhoneActive' * ) * avatar_url?: string | null * description?: string | null * is_private?: boolean * member_must_enable_2fa?: boolean * name: string * welcome_message?: string | null * welcome_object?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * allow_invite: boolean * allow_join: boolean * allow_join_level: * | 'None' * | 'NeedMailActive' * | 'NeedMailActiveAndLastOneMid' * | 'NeedMailActiveAndLastOneHours' * | 'NeedMailActiveAndPhoneActive' * avatar_url?: string | null * created_at: string * description?: string | null * id: string * is_active: boolean * is_private: boolean * lower_name: string * member_must_enable_2fa: boolean * members_count: number * name: string * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * updated_at: string * welcome_message?: string | null * welcome_object?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_space< Config extends Alova2MethodConfig & { data: CreateSpaceCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /spaces/explore * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * q?: string | null * sort?: string | null * limit?: number | null * offset?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * archived: boolean * created_at: string * id: string * last_reply_at?: string | null * last_reply_id?: string | null * locked: boolean * name?: string | null * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * owner_id: number * participant_count: number * reply_count: number * room_id: string * root_message_id: string * updated_at: string * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ explore_spaces< Config extends Alova2MethodConfig & { params: { q?: string | null; sort?: string | null; limit?: number | null; offset?: number | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /spaces/invites/accept * * --- * * **RequestBody** * ```ts * type RequestBody = { * code: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ accept_invite< Config extends Alova2MethodConfig & { data: AcceptInviteCmd; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /spaces/invites/reject * * --- * * **RequestBody** * ```ts * type RequestBody = { * code: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ reject_invite< Config extends Alova2MethodConfig & { data: AcceptInviteCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /spaces/{space_name} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * allow_invite: boolean * allow_join: boolean * allow_join_level: * | 'None' * | 'NeedMailActive' * | 'NeedMailActiveAndLastOneMid' * | 'NeedMailActiveAndLastOneHours' * | 'NeedMailActiveAndPhoneActive' * avatar_url?: string | null * created_at: string * description?: string | null * id: string * is_active: boolean * is_private: boolean * lower_name: string * member_must_enable_2fa: boolean * members_count: number * name: string * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * updated_at: string * welcome_message?: string | null * welcome_object?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_space< Config extends Alova2MethodConfig & { pathParams: { space_name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /spaces/{space_name} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_space< Config extends Alova2MethodConfig & { pathParams: { space_name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PATCH] * * **path:** /spaces/{space_name} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * allow_invite?: boolean | null * allow_join?: boolean | null * allow_join_level?: * | null * | ( * | 'None' * | 'NeedMailActive' * | 'NeedMailActiveAndLastOneMid' * | 'NeedMailActiveAndLastOneHours' * | 'NeedMailActiveAndPhoneActive' * ) * description?: string | null * is_private?: boolean | null * member_must_enable_2fa?: boolean | null * name?: string | null * welcome_message?: string | null * welcome_object?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * allow_invite: boolean * allow_join: boolean * allow_join_level: * | 'None' * | 'NeedMailActive' * | 'NeedMailActiveAndLastOneMid' * | 'NeedMailActiveAndLastOneHours' * | 'NeedMailActiveAndPhoneActive' * avatar_url?: string | null * created_at: string * description?: string | null * id: string * is_active: boolean * is_private: boolean * lower_name: string * member_must_enable_2fa: boolean * members_count: number * name: string * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * updated_at: string * welcome_message?: string | null * welcome_object?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_space< Config extends Alova2MethodConfig & { pathParams: { space_name: string; }; data: UpdateSpaceCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /spaces/{space_name}/bans * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * offset?: number | null * sort?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * archived: boolean * created_at: string * id: string * last_reply_at?: string | null * last_reply_id?: string | null * locked: boolean * name?: string | null * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * owner_id: number * participant_count: number * reply_count: number * room_id: string * root_message_id: string * updated_at: string * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_bans< Config extends Alova2MethodConfig & { pathParams: { space_name: string; }; params: { limit?: number | null; offset?: number | null; sort?: string | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /spaces/{space_name}/bans * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * allow_comment_any?: boolean | null * allow_push_repo?: boolean | null * allow_speak?: boolean | null * expires_at?: string | null * reason?: string | null * user_id: number * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * allow_comment_any: boolean * allow_push_repo: boolean * allow_speak: boolean * banned_by?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * created_at: string * expires_at?: string | null * reason?: string | null * space_id: string * updated_at: string * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ ban_user< Config extends Alova2MethodConfig & { pathParams: { space_name: string; }; data: BanUserCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /spaces/{space_name}/bans/{user_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * user_id: number * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * allow_comment_any: boolean * allow_push_repo: boolean * allow_speak: boolean * banned_by?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * created_at: string * expires_at?: string | null * reason?: string | null * space_id: string * updated_at: string * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_ban< Config extends Alova2MethodConfig & { pathParams: { space_name: string; user_id: number; }; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /spaces/{space_name}/bans/{user_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * user_id: number * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ unban_user< Config extends Alova2MethodConfig & { pathParams: { space_name: string; user_id: number; }; } >( config: Config ): Alova2Method; /** * --- * * [PATCH] * * **path:** /spaces/{space_name}/bans/{user_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * user_id: number * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * allow_comment_any?: boolean | null * allow_push_repo?: boolean | null * allow_speak?: boolean | null * expires_at?: string | null * reason?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * allow_comment_any: boolean * allow_push_repo: boolean * allow_speak: boolean * banned_by?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * created_at: string * expires_at?: string | null * reason?: string | null * space_id: string * updated_at: string * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_ban< Config extends Alova2MethodConfig & { pathParams: { space_name: string; user_id: number; }; data: UpdateBanCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /spaces/{space_name}/dir * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * parent_id?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * archived_at?: string | null * // [items] start * // [items] end * children: Array<{ * archived_at?: string | null * // [items] start * // [cycle] $.data.[].children.[] * // [items] end * children: DirNodeDto[] * color?: string | null * created_at: string * created_by_id: number * icon?: string | null * id: string * is_archived: boolean * kind: 'Dir' | 'Object' * name: string * parent_dir_id?: string | null * position: number * purpose?: string | null * topic?: string | null * updated_at: string * }> * color?: string | null * created_at: string * created_by_id: number * icon?: string | null * id: string * is_archived: boolean * kind: 'Dir' | 'Object' * name: string * parent_dir_id?: string | null * position: number * purpose?: string | null * topic?: string | null * updated_at: string * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_space_dir_tree< Config extends Alova2MethodConfig & { pathParams: { space_name: string; }; params: { parent_id?: string | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /spaces/{space_name}/dir * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * name: string * parent_dir_id?: string | null * position?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * archived_at?: string | null * // [items] start * // [items] end * children: Array<{ * archived_at?: string | null * // [items] start * // [cycle] $.data.children.[] * // [items] end * children: DirNodeDto[] * color?: string | null * created_at: string * created_by_id: number * icon?: string | null * id: string * is_archived: boolean * kind: 'Dir' | 'Object' * name: string * parent_dir_id?: string | null * position: number * purpose?: string | null * topic?: string | null * updated_at: string * }> * color?: string | null * created_at: string * created_by_id: number * icon?: string | null * id: string * is_archived: boolean * kind: 'Dir' | 'Object' * name: string * parent_dir_id?: string | null * position: number * purpose?: string | null * topic?: string | null * updated_at: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_dir_node< Config extends Alova2MethodConfig & { pathParams: { space_name: string; }; data: CreateDirCmd; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /spaces/{space_name}/dir/repair-parents * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * fixed: number * scanned: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ repair_dir_parents< Config extends Alova2MethodConfig & { pathParams: { space_name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PATCH] * * **path:** /spaces/{space_name}/dir/{dir_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * dir_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * archived_at?: string | null * // [items] start * // [items] end * children: Array<{ * archived_at?: string | null * // [items] start * // [cycle] $.data.children.[] * // [items] end * children: DirNodeDto[] * color?: string | null * created_at: string * created_by_id: number * icon?: string | null * id: string * is_archived: boolean * kind: 'Dir' | 'Object' * name: string * parent_dir_id?: string | null * position: number * purpose?: string | null * topic?: string | null * updated_at: string * }> * color?: string | null * created_at: string * created_by_id: number * icon?: string | null * id: string * is_archived: boolean * kind: 'Dir' | 'Object' * name: string * parent_dir_id?: string | null * position: number * purpose?: string | null * topic?: string | null * updated_at: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_dir_node< Config extends Alova2MethodConfig & { pathParams: { space_name: string; dir_id: string; }; data: UpdateDirCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /spaces/{space_name}/dir/{dir_id}/overwrites/groups * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * dir_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * allow_mask: number * deny_mask: number * dir_id: string * group_id: string * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_dir_group_overwrites< Config extends Alova2MethodConfig & { pathParams: { space_name: string; dir_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /spaces/{space_name}/dir/{dir_id}/overwrites/groups/{group_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * dir_id: string * group_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * allow_mask: number * deny_mask: number * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * allow_mask: number * deny_mask: number * dir_id: string * group_id: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ set_dir_group_overwrite< Config extends Alova2MethodConfig & { pathParams: { space_name: string; dir_id: string; group_id: string; }; data: SetOverwriteCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /spaces/{space_name}/dir/{dir_id}/overwrites/groups/{group_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * dir_id: string * group_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ remove_dir_group_overwrite< Config extends Alova2MethodConfig & { pathParams: { space_name: string; dir_id: string; group_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /spaces/{space_name}/dir/{dir_id}/overwrites/users * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * dir_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * allow_mask: number * deny_mask: number * dir_id: string * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * user_id: number * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_dir_user_overwrites< Config extends Alova2MethodConfig & { pathParams: { space_name: string; dir_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /spaces/{space_name}/dir/{dir_id}/overwrites/users/{user_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * dir_id: string * user_id: number * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * allow_mask: number * deny_mask: number * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * allow_mask: number * deny_mask: number * dir_id: string * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * user_id: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ set_dir_user_overwrite< Config extends Alova2MethodConfig & { pathParams: { space_name: string; dir_id: string; user_id: number; }; data: SetOverwriteCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /spaces/{space_name}/dir/{dir_id}/overwrites/users/{user_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * dir_id: string * user_id: number * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ remove_dir_user_overwrite< Config extends Alova2MethodConfig & { pathParams: { space_name: string; dir_id: string; user_id: number; }; } >( config: Config ): Alova2Method; /** * --- * * [PATCH] * * **path:** /spaces/{space_name}/dir/{dir_id}/position * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * dir_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * parent_dir_id?: string | null * position?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * archived_at?: string | null * // [items] start * // [items] end * children: Array<{ * archived_at?: string | null * // [items] start * // [cycle] $.data.children.[] * // [items] end * children: DirNodeDto[] * color?: string | null * created_at: string * created_by_id: number * icon?: string | null * id: string * is_archived: boolean * kind: 'Dir' | 'Object' * name: string * parent_dir_id?: string | null * position: number * purpose?: string | null * topic?: string | null * updated_at: string * }> * color?: string | null * created_at: string * created_by_id: number * icon?: string | null * id: string * is_archived: boolean * kind: 'Dir' | 'Object' * name: string * parent_dir_id?: string | null * position: number * purpose?: string | null * topic?: string | null * updated_at: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ move_dir_node< Config extends Alova2MethodConfig & { pathParams: { space_name: string; dir_id: string; }; data: MoveDirCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /spaces/{space_name}/groups * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * offset?: number | null * sort?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * archived: boolean * created_at: string * id: string * last_reply_at?: string | null * last_reply_id?: string | null * locked: boolean * name?: string | null * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * owner_id: number * participant_count: number * reply_count: number * room_id: string * root_message_id: string * updated_at: string * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_groups< Config extends Alova2MethodConfig & { pathParams: { space_name: string; }; params: { limit?: number | null; offset?: number | null; sort?: string | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /spaces/{space_name}/groups * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * color?: string | null * icon_hash?: string | null * name: string * // [items] start * // [items] end * permissions?: string[] * position?: number | null * unicode_emoji?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * color: string * created_at: string * created_by?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * icon_hash?: string | null * id: string * name: string * // [items] start * // [items] end * permissions: string[] * position: number * space_id: string * unicode_emoji?: string | null * updated_at?: string | null * version: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_group< Config extends Alova2MethodConfig & { pathParams: { space_name: string; }; data: CreateGroupCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /spaces/{space_name}/groups/{group_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * group_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * color: string * created_at: string * created_by?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * icon_hash?: string | null * id: string * name: string * // [items] start * // [items] end * permissions: string[] * position: number * space_id: string * unicode_emoji?: string | null * updated_at?: string | null * version: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_group< Config extends Alova2MethodConfig & { pathParams: { space_name: string; group_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /spaces/{space_name}/groups/{group_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * group_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_group< Config extends Alova2MethodConfig & { pathParams: { space_name: string; group_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PATCH] * * **path:** /spaces/{space_name}/groups/{group_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * group_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * color?: string | null * icon_hash?: string | null * name?: string | null * // [params1] start * // [items] start * // [items] end * // [params1] end * permissions?: string[] | null * position?: number | null * unicode_emoji?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * color: string * created_at: string * created_by?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * icon_hash?: string | null * id: string * name: string * // [items] start * // [items] end * permissions: string[] * position: number * space_id: string * unicode_emoji?: string | null * updated_at?: string | null * version: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_group< Config extends Alova2MethodConfig & { pathParams: { space_name: string; group_id: string; }; data: UpdateGroupCmd; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /spaces/{space_name}/groups/{group_id}/join * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * group_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ join_group_self< Config extends Alova2MethodConfig & { pathParams: { space_name: string; group_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /spaces/{space_name}/groups/{group_id}/join * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * group_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ leave_group_self< Config extends Alova2MethodConfig & { pathParams: { space_name: string; group_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /spaces/{space_name}/images/{kind} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * kind: 'avatar' | 'banner' | 'invite_banner' | 'embed_splash' * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null | { * bytes: number * format: 'jpg' | 'png' | 'webp' | 'gif' * height?: number | null * kind: 'avatar' | 'banner' | 'invite_banner' | 'embed_splash' * space_id: string * updated_at: string * url: string * width?: number | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_space_image< Config extends Alova2MethodConfig & { pathParams: { space_name: string; kind: SpaceImageKind; }; } >( config: Config ): Alova2Method; /** * --- * * [PUT] * * **path:** /spaces/{space_name}/images/{kind} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * kind: 'avatar' | 'banner' | 'invite_banner' | 'embed_splash' * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * width?: number | null * height?: number | null * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = number[] * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * bytes: number * format: 'jpg' | 'png' | 'webp' | 'gif' * height?: number | null * kind: 'avatar' | 'banner' | 'invite_banner' | 'embed_splash' * space_id: string * updated_at: string * url: string * width?: number | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ upload_space_image< Config extends Alova2MethodConfig & { pathParams: { space_name: string; kind: SpaceImageKind; }; params: { width?: number | null; height?: number | null; }; data: number[]; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /spaces/{space_name}/images/{kind} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * kind: 'avatar' | 'banner' | 'invite_banner' | 'embed_splash' * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_space_image< Config extends Alova2MethodConfig & { pathParams: { space_name: string; kind: SpaceImageKind; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /spaces/{space_name}/images/{kind}/file * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * kind: 'avatar' | 'banner' | 'invite_banner' | 'embed_splash' * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * // [params2] start * // Which representation a read endpoint should hand back. * // [params2] end * variant?: null | ('preview' | 'original') * } * ``` * * --- * * **Response** * ```ts * type Response = unknown * ``` */ get_space_image_file< Config extends Alova2MethodConfig & { pathParams: { space_name: string; kind: SpaceImageKind; }; params: { variant?: null | ImageVariant; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /spaces/{space_name}/invites * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * offset?: number | null * sort?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * archived: boolean * created_at: string * id: string * last_reply_at?: string | null * last_reply_id?: string | null * locked: boolean * name?: string | null * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * owner_id: number * participant_count: number * reply_count: number * room_id: string * root_message_id: string * updated_at: string * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_invites< Config extends Alova2MethodConfig & { pathParams: { space_name: string; }; params: { limit?: number | null; offset?: number | null; sort?: string | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /spaces/{space_name}/invites * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * email?: string | null * expires_at?: string | null * // [items] start * // [items] end * group_ids?: string[] * user_id?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * accepted_at?: string | null * created_at: string * email: string * expires_at?: string | null * // [items] start * // [items] end * groups: string[] * id: string * revoked_at?: string | null * space_id: string * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_invite< Config extends Alova2MethodConfig & { pathParams: { space_name: string; }; data: CreateInviteCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /spaces/{space_name}/invites/{invite_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * invite_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * accepted_at?: string | null * created_at: string * email: string * expires_at?: string | null * // [items] start * // [items] end * groups: string[] * id: string * revoked_at?: string | null * space_id: string * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ revoke_invite< Config extends Alova2MethodConfig & { pathParams: { space_name: string; invite_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /spaces/{space_name}/join-requests * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * status?: null | ('pending' | 'approved' | 'rejected' | 'withdrawn') * limit?: number | null * offset?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * archived: boolean * created_at: string * id: string * last_reply_at?: string | null * last_reply_id?: string | null * locked: boolean * name?: string | null * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * owner_id: number * participant_count: number * reply_count: number * room_id: string * root_message_id: string * updated_at: string * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_join_requests< Config extends Alova2MethodConfig & { pathParams: { space_name: string; }; params: { status?: null | SpaceJoinRequestStatus; limit?: number | null; offset?: number | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /spaces/{space_name}/join-requests * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * note?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * decided_at?: string | null * decided_by?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * id: string * note?: string | null * space_id: string * status: 'pending' | 'approved' | 'rejected' | 'withdrawn' * updated_at: string * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_join_request< Config extends Alova2MethodConfig & { pathParams: { space_name: string; }; data: CreateJoinRequestCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /spaces/{space_name}/join-requests/{request_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * request_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ withdraw_join_request< Config extends Alova2MethodConfig & { pathParams: { space_name: string; request_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /spaces/{space_name}/join-requests/{request_id}/approve * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * request_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * decided_at?: string | null * decided_by?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * id: string * note?: string | null * space_id: string * status: 'pending' | 'approved' | 'rejected' | 'withdrawn' * updated_at: string * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ approve_join_request< Config extends Alova2MethodConfig & { pathParams: { space_name: string; request_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /spaces/{space_name}/join-requests/{request_id}/reject * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * request_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * decided_at?: string | null * decided_by?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * id: string * note?: string | null * space_id: string * status: 'pending' | 'approved' | 'rejected' | 'withdrawn' * updated_at: string * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ reject_join_request< Config extends Alova2MethodConfig & { pathParams: { space_name: string; request_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /spaces/{space_name}/join-rules * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * created_at: string * enabled: boolean * group_id: string * id: string * matcher: string * trigger: 'issue_reaction' | 'issue_comment_reaction' * updated_at?: string | null * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_join_rules< Config extends Alova2MethodConfig & { pathParams: { space_name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /spaces/{space_name}/join-rules * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * group_id: string * matcher?: string * trigger?: 'issue_reaction' | 'issue_comment_reaction' * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * enabled: boolean * group_id: string * id: string * matcher: string * trigger: 'issue_reaction' | 'issue_comment_reaction' * updated_at?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_join_rule< Config extends Alova2MethodConfig & { pathParams: { space_name: string; }; data: CreateJoinRuleCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /spaces/{space_name}/join-rules/{rule_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * rule_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_join_rule< Config extends Alova2MethodConfig & { pathParams: { space_name: string; rule_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PATCH] * * **path:** /spaces/{space_name}/join-rules/{rule_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * rule_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * enabled?: boolean | null * matcher?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * enabled: boolean * group_id: string * id: string * matcher: string * trigger: 'issue_reaction' | 'issue_comment_reaction' * updated_at?: string | null * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_join_rule< Config extends Alova2MethodConfig & { pathParams: { space_name: string; rule_id: string; }; data: UpdateJoinRuleCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /spaces/{space_name}/members * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * offset?: number | null * sort?: string | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * // [items] start * // [items] end * items: Array<{ * archived: boolean * created_at: string * id: string * last_reply_at?: string | null * last_reply_id?: string | null * locked: boolean * name?: string | null * owner?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * owner_id: number * participant_count: number * reply_count: number * room_id: string * root_message_id: string * updated_at: string * }> * limit: number * offset: number * total: number * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_space_members< Config extends Alova2MethodConfig & { pathParams: { space_name: string; }; params: { limit?: number | null; offset?: number | null; sort?: string | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /spaces/{space_name}/members * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * alias_avatar_url?: string | null * alias_name?: string | null * hide_muted_channels?: boolean | null * message_notifications?: null | ('All' | 'Mentions' | 'Nothing') * mobile_push?: boolean | null * mute_until?: string | null * muted?: boolean | null * suppress_everyone?: boolean | null * suppress_roles?: boolean | null * user_id: number * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * alias_avatar_url?: string | null * alias_name?: string | null * created_at: string * hide_muted_channels: boolean * invited_at?: string | null * invited_by?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * joined_at: string * last_active_at?: string | null * left_at?: string | null * message_notifications: 'All' | 'Mentions' | 'Nothing' * mobile_push: boolean * mute_until?: string | null * muted: boolean * space_id: string * status: 'Active' | 'Inactive' | 'Left' | 'Removed' | 'Banned' * suppress_everyone: boolean * suppress_roles: boolean * updated_at?: string | null * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ add_member< Config extends Alova2MethodConfig & { pathParams: { space_name: string; }; data: AddMemberCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /spaces/{space_name}/members/@me * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ leave_space< Config extends Alova2MethodConfig & { pathParams: { space_name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [PATCH] * * **path:** /spaces/{space_name}/members/@me * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * alias_avatar_url?: string | null * alias_name?: string | null * hide_muted_channels?: boolean | null * message_notifications?: null | ('All' | 'Mentions' | 'Nothing') * mobile_push?: boolean | null * mute_until?: string | null * muted?: boolean | null * suppress_everyone?: boolean | null * suppress_roles?: boolean | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * alias_avatar_url?: string | null * alias_name?: string | null * created_at: string * hide_muted_channels: boolean * invited_at?: string | null * invited_by?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * joined_at: string * last_active_at?: string | null * left_at?: string | null * message_notifications: 'All' | 'Mentions' | 'Nothing' * mobile_push: boolean * mute_until?: string | null * muted: boolean * space_id: string * status: 'Active' | 'Inactive' | 'Left' | 'Removed' | 'Banned' * suppress_everyone: boolean * suppress_roles: boolean * updated_at?: string | null * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_self_member< Config extends Alova2MethodConfig & { pathParams: { space_name: string; }; data: UpdateMemberCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /spaces/{space_name}/members/{user_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * user_id: number * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * alias_avatar_url?: string | null * alias_name?: string | null * created_at: string * hide_muted_channels: boolean * invited_at?: string | null * invited_by?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * joined_at: string * last_active_at?: string | null * left_at?: string | null * message_notifications: 'All' | 'Mentions' | 'Nothing' * mobile_push: boolean * mute_until?: string | null * muted: boolean * space_id: string * status: 'Active' | 'Inactive' | 'Left' | 'Removed' | 'Banned' * suppress_everyone: boolean * suppress_roles: boolean * updated_at?: string | null * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_member< Config extends Alova2MethodConfig & { pathParams: { space_name: string; user_id: number; }; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /spaces/{space_name}/members/{user_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * user_id: number * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ remove_member< Config extends Alova2MethodConfig & { pathParams: { space_name: string; user_id: number; }; } >( config: Config ): Alova2Method; /** * --- * * [PATCH] * * **path:** /spaces/{space_name}/members/{user_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * user_id: number * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * alias_avatar_url?: string | null * alias_name?: string | null * hide_muted_channels?: boolean | null * message_notifications?: null | ('All' | 'Mentions' | 'Nothing') * mobile_push?: boolean | null * mute_until?: string | null * muted?: boolean | null * suppress_everyone?: boolean | null * suppress_roles?: boolean | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * alias_avatar_url?: string | null * alias_name?: string | null * created_at: string * hide_muted_channels: boolean * invited_at?: string | null * invited_by?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * joined_at: string * last_active_at?: string | null * left_at?: string | null * message_notifications: 'All' | 'Mentions' | 'Nothing' * mobile_push: boolean * mute_until?: string | null * muted: boolean * space_id: string * status: 'Active' | 'Inactive' | 'Left' | 'Removed' | 'Banned' * suppress_everyone: boolean * suppress_roles: boolean * updated_at?: string | null * user?: null | { * avatar_url: string * display_name: string * user_id: number * username: string * } * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ update_member< Config extends Alova2MethodConfig & { pathParams: { space_name: string; user_id: number; }; data: UpdateMemberCmd; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /spaces/{space_name}/members/{user_id}/groups * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * user_id: number * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * group_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ assign_group< Config extends Alova2MethodConfig & { pathParams: { space_name: string; user_id: number; }; data: AssignGroupCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /spaces/{space_name}/members/{user_id}/groups/{group_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * space_name: string * user_id: number * group_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ unassign_group< Config extends Alova2MethodConfig & { pathParams: { space_name: string; user_id: number; group_id: string; }; } >( config: Config ): Alova2Method; }; cleanup: { /** * --- * * [GET] * * **path:** /spaces/{space_name}/cleanup * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // space name * space_name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * // 目录的子节点数 / 频道的子频道数。 * child_count: number * // `dirs.id`(目录/仓库/问题集/智能体集)或 `rooms.id`(频道)。 * id: string * is_archived: boolean * // 仅仓库与频道有可见性开关。 * is_private?: boolean | null * // `dir | object | repo | board | text | voice | stage | category | news | guild_room` * kind: string * name: string * // 目录上的权限覆盖条数(group + user)。 * overwrite_count: number * // 父链拼出的可读路径,例如 `bots / 研究研究`。 * path: string * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_cleanup_objects< Config extends Alova2MethodConfig & { pathParams: { /** * space name */ space_name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /spaces/{space_name}/cleanup/{kind}/{object_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // space name * space_name: string * // object kind * kind: string * // dir id or room id * object_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ delete_cleanup_object< Config extends Alova2MethodConfig & { pathParams: { /** * space name */ space_name: string; /** * object kind */ kind: string; /** * dir id or room id */ object_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /spaces/{space_name}/cleanup/{kind}/{object_id}/archive * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // space name * space_name: string * // object kind * kind: string * // dir id * object_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * archived: boolean * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ set_cleanup_archive< Config extends Alova2MethodConfig & { pathParams: { /** * space name */ space_name: string; /** * object kind */ kind: string; /** * dir id */ object_id: string; }; data: SetRepoArchivedCmd; } >( config: Config ): Alova2Method; /** * --- * * [DELETE] * * **path:** /spaces/{space_name}/cleanup/{kind}/{object_id}/overwrites * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // space name * space_name: string * // object kind * kind: string * // dir id * object_id: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ clear_cleanup_overwrites< Config extends Alova2MethodConfig & { pathParams: { /** * space name */ space_name: string; /** * object kind */ kind: string; /** * dir id */ object_id: string; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /spaces/{space_name}/cleanup/{kind}/{object_id}/visibility * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // space name * space_name: string * // object kind * kind: string * // dir id or room id * object_id: string * } * ``` * * --- * * **RequestBody** * ```ts * type RequestBody = { * is_private: boolean * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: null * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ set_cleanup_visibility< Config extends Alova2MethodConfig & { pathParams: { /** * space name */ space_name: string; /** * object kind */ kind: string; /** * dir id or room id */ object_id: string; }; data: SetCleanupVisibilityCmd; } >( config: Config ): Alova2Method; }; topics: { /** * --- * * [GET] * * **path:** /topics * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * offset?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * created_at: string * id: string * name: string * updated_at: string * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_topics< Config extends Alova2MethodConfig & { params: { limit?: number | null; offset?: number | null; }; } >( config: Config ): Alova2Method; /** * --- * * [POST] * * **path:** /topics * * --- * * **RequestBody** * ```ts * type RequestBody = { * name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * id: string * name: string * updated_at: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ create_topic< Config extends Alova2MethodConfig & { data: CreateTopicCmd; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /topics/{name} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * name: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * created_at: string * id: string * name: string * updated_at: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_topic< Config extends Alova2MethodConfig & { pathParams: { name: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /topics/{name}/repos * * --- * * **Path Parameters** * ```ts * type PathParameters = { * name: string * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * limit?: number | null * offset?: number | null * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * is_private: boolean * repo_id: string * repo_name: string * space_name: string * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_repos_by_topic< Config extends Alova2MethodConfig & { pathParams: { name: string; }; params: { limit?: number | null; offset?: number | null; }; } >( config: Config ): Alova2Method; }; users: { /** * --- * * [GET] * * **path:** /users * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * // [items] start * // [items] end * ids: string[] * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * // [items] start * // [items] end * data?: Array<{ * avatar_url: string * display_name: string * user_id: number * username: string * }> * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ list_users_batch< Config extends Alova2MethodConfig & { params: { ids: string[]; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /users/by-username/{username} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // username * username: string * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * avatar_url: string * display_name: string * user_id: number * username: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_user_by_username< Config extends Alova2MethodConfig & { pathParams: { /** * username */ username: string; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /users/{user_id} * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // user id * user_id: number * } * ``` * * --- * * **Response** * ```ts * type Response = { * code: number * data?: { * avatar_url: string * display_name: string * user_id: number * username: string * } * error?: string | null * error_code?: string | null * log_id: string * message: string * request_id: string * } * ``` */ get_user< Config extends Alova2MethodConfig & { pathParams: { /** * user id */ user_id: number; }; } >( config: Config ): Alova2Method; /** * --- * * [GET] * * **path:** /users/{user_id}/avatar * * --- * * **Path Parameters** * ```ts * type PathParameters = { * // user id * user_id: number * } * ``` * * --- * * **Query Parameters** * ```ts * type QueryParameters = { * // [params2] start * // Which representation a read endpoint should hand back. * // [params2] end * variant?: null | ('preview' | 'original') * } * ``` * * --- * * **Response** * ```ts * type Response = unknown * ``` */ get_user_avatar< Config extends Alova2MethodConfig & { pathParams: { /** * user id */ user_id: number; }; params: { variant?: null | ImageVariant; }; } >( config: Config ): Alova2Method; }; } var Apis: Apis; }