gitverse-api-sdk 5.0.0 → 5.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/README.md +1 -21
  2. package/dist/api/actions.d.ts +302 -378
  3. package/dist/api/actions.js +3 -3
  4. package/dist/api/actions.js.map +3 -3
  5. package/dist/api/emails.d.ts +41 -46
  6. package/dist/api/emails.js +3 -3
  7. package/dist/api/emails.js.map +3 -3
  8. package/dist/api/issues.d.ts +264 -391
  9. package/dist/api/issues.js +3 -3
  10. package/dist/api/issues.js.map +3 -3
  11. package/dist/api/organizations.d.ts +68 -7
  12. package/dist/api/organizations.js +3 -3
  13. package/dist/api/organizations.js.map +3 -3
  14. package/dist/api/pulls.d.ts +309 -526
  15. package/dist/api/pulls.js +3 -3
  16. package/dist/api/pulls.js.map +3 -3
  17. package/dist/api/releases.d.ts +183 -244
  18. package/dist/api/releases.js +3 -3
  19. package/dist/api/releases.js.map +3 -3
  20. package/dist/api/repositories.d.ts +859 -395
  21. package/dist/api/repositories.js +3 -3
  22. package/dist/api/repositories.js.map +3 -3
  23. package/dist/api/stars.d.ts +95 -231
  24. package/dist/api/stars.js +3 -3
  25. package/dist/api/stars.js.map +3 -3
  26. package/dist/api/teams.d.ts +96 -122
  27. package/dist/api/teams.js +3 -3
  28. package/dist/api/teams.js.map +3 -3
  29. package/dist/api/users.d.ts +78 -170
  30. package/dist/api/users.js +3 -3
  31. package/dist/api/users.js.map +3 -3
  32. package/dist/client.d.ts +4 -0
  33. package/dist/client.js +3 -3
  34. package/dist/client.js.map +1 -1
  35. package/dist/enums.d.ts +27 -71
  36. package/dist/enums.js +3 -3
  37. package/dist/enums.js.map +3 -3
  38. package/dist/errors.d.ts +12 -10
  39. package/dist/errors.js +2 -2
  40. package/dist/errors.js.map +1 -1
  41. package/dist/index.d.ts +1816 -2442
  42. package/dist/index.js +2 -2
  43. package/dist/index.js.map +3 -3
  44. package/dist/types.d.ts +754 -1696
  45. package/dist/utils.js +1 -2
  46. package/dist/utils.js.map +1 -1
  47. package/package.json +1 -1
  48. package/dist/api/branches.d.ts +0 -205
  49. package/dist/api/branches.js +0 -4
  50. package/dist/api/branches.js.map +0 -10
  51. package/dist/api/collaborators.d.ts +0 -440
  52. package/dist/api/collaborators.js +0 -4
  53. package/dist/api/collaborators.js.map +0 -10
  54. package/dist/api/commits.d.ts +0 -406
  55. package/dist/api/commits.js +0 -4
  56. package/dist/api/commits.js.map +0 -10
  57. package/dist/api/contents.d.ts +0 -389
  58. package/dist/api/contents.js +0 -4
  59. package/dist/api/contents.js.map +0 -10
  60. package/dist/api/forks.d.ts +0 -387
  61. package/dist/api/forks.js +0 -4
  62. package/dist/api/forks.js.map +0 -10
  63. package/dist/api/git.d.ts +0 -277
  64. package/dist/api/git.js +0 -4
  65. package/dist/api/git.js.map +0 -10
package/dist/types.d.ts CHANGED
@@ -1,1834 +1,892 @@
1
1
  /**
2
- * Типы пользователей в системе
2
+ * Типы данных для GitVerse API
3
+ * @generated Сгенерировано автоматически из OpenAPI спецификации
3
4
  */
4
- declare const UserType: {
5
- readonly Organization: "Organization"
6
- readonly User: "User"
7
- };
8
5
  /**
9
- * Тип для типов пользователей
10
- */
11
- type UserType = (typeof UserType)[keyof typeof UserType];
12
- /**
13
- * Типы видимости для репозиториев и пользователей
14
- */
15
- declare const VisibilityType: {
16
- readonly Limited: "limited"
17
- readonly Private: "private"
18
- readonly Public: "public"
19
- };
20
- /**
21
- * Тип для типов видимости
22
- */
23
- type VisibilityType = (typeof VisibilityType)[keyof typeof VisibilityType];
24
- /**
25
- * Типы содержимого в репозитории
26
- */
27
- declare const ContentType: {
28
- readonly Directory: "dir"
29
- readonly File: "file"
30
- };
31
- /**
32
- * Тип для типов содержимого
33
- */
34
- type ContentType = (typeof ContentType)[keyof typeof ContentType];
35
- /**
36
- * Состояния pull request
37
- */
38
- declare const PullRequestState: {
39
- readonly Closed: "closed"
40
- readonly Open: "open"
41
- };
42
- /**
43
- * Тип для состояний pull request
44
- */
45
- type PullRequestState = (typeof PullRequestState)[keyof typeof PullRequestState];
46
- /**
47
- * Состояния issue
48
- */
49
- declare const IssueState: {
50
- readonly Closed: "closed"
51
- readonly Open: "open"
52
- };
53
- /**
54
- * Тип для состояний issue
55
- */
56
- type IssueState = (typeof IssueState)[keyof typeof IssueState];
57
- /**
58
- * Фильтры состояний pull request, включая "все"
59
- */
60
- declare const PullRequestStateFilter: {
61
- readonly All: "all"
62
- readonly Closed: "closed"
63
- readonly Open: "open"
64
- };
65
- /**
66
- * Тип для фильтров состояний pull request
67
- */
68
- type PullRequestStateFilter = (typeof PullRequestStateFilter)[keyof typeof PullRequestStateFilter];
69
- /**
70
- * Критерии сортировки pull request
71
- */
72
- declare const PullRequestSortCriteria: {
73
- readonly Created: "created"
74
- readonly LongRunning: "long-running"
75
- readonly Popularity: "popularity"
76
- readonly Updated: "updated"
77
- };
78
- /**
79
- * Тип для критериев сортировки pull request
6
+ * Опции для выполнения HTTP-запросов
80
7
  */
81
- type PullRequestSortCriteria = (typeof PullRequestSortCriteria)[keyof typeof PullRequestSortCriteria];
8
+ interface RequestOptions {
9
+ /**
10
+ * AbortSignal для отмены запроса
11
+ * @example
12
+ * const controller = new AbortController();
13
+ * const promise = client.users.getCurrent({ signal: controller.signal });
14
+ * controller.abort(); // Отменяет запрос
15
+ */
16
+ signal?: AbortSignal;
17
+ }
82
18
  /**
83
- * Направления сортировки pull request
19
+ * Базовые параметры пагинации
84
20
  */
85
- declare const PullRequestSortDirection: {
86
- readonly Ascending: "asc"
87
- readonly Descending: "desc"
88
- };
21
+ interface PaginationParams {
22
+ /** Номер страницы (начиная с 1) */
23
+ page?: number;
24
+ /** Количество элементов на странице */
25
+ per_page?: number;
26
+ }
89
27
  /**
90
- * Тип для направлений сортировки pull request
28
+ * Информация об ошибке API
91
29
  */
92
- type PullRequestSortDirection = (typeof PullRequestSortDirection)[keyof typeof PullRequestSortDirection];
30
+ interface ApiError {
31
+ /** Сообщение об ошибке */
32
+ message?: string;
33
+ /** URL документации */
34
+ documentation_url?: string;
35
+ }
93
36
  /**
94
- * Информация о лимитах запросов (Rate Limits)
37
+ * Информация о лимитах запросов
95
38
  */
96
39
  interface RateLimitInfo {
97
- /** Максимальное количество запросов за час */
40
+ /** Максимальное количество запросов */
98
41
  limit: number;
99
42
  /** Оставшееся количество запросов */
100
43
  remaining: number;
101
- /** Количество секунд до сброса лимита */
102
- retryAfter: number;
103
- /** Unix timestamp когда лимит будет сброшен */
44
+ /** Unix timestamp сброса лимита */
104
45
  reset: number;
46
+ /** Секунд до сброса лимита */
47
+ retryAfter: number;
105
48
  }
106
49
  /**
107
50
  * Информация о версии API
108
51
  */
109
52
  interface ApiVersionInfo {
110
- /** Текущая версия API */
53
+ /** Текущая используемая версия */
111
54
  version: string;
112
- /** Последняя доступная версия API */
55
+ /** Последняя доступная версия */
113
56
  latestVersion: string;
114
- /** Флаг устаревшей версии */
57
+ /** Версия помечена как устаревшая */
115
58
  deprecated: boolean;
116
- /** Дата вывода из эксплуатации (если версия устарела) */
59
+ /** Дата вывода из эксплуатации */
117
60
  decommissioning?: string;
118
61
  }
119
62
  /**
120
63
  * Метаданные ответа API
121
64
  */
122
65
  interface ApiResponseMetadata {
123
- /** Информация о лимитах запросов */
66
+ /** Уникальный идентификатор запроса */
67
+ requestId?: string;
68
+ /** Информация о лимитах */
124
69
  rateLimit?: RateLimitInfo;
125
70
  /** Информация о версии API */
126
71
  apiVersion?: ApiVersionInfo;
127
72
  }
128
- /**
129
- * Опции для выполнения HTTP-запросов
130
- */
131
- interface RequestOptions {
132
- /**
133
- * AbortSignal для отмены запроса
134
- * @example
135
- * const controller = new AbortController();
136
- * const promise = client.users.getCurrent({ signal: controller.signal });
137
- * controller.abort(); // Отменяет запрос
138
- */
139
- signal?: AbortSignal;
73
+ interface AddCollaboratorParams {
74
+ /** enum: read,write,admin */
75
+ permission?: string;
140
76
  }
141
- /**
142
- * Базовые параметры пагинации
143
- */
144
- interface PaginationParams {
145
- /** Номер страницы (начиная с 1) */
146
- page?: number;
147
- /** Количество элементов на странице */
148
- per_page?: number;
77
+ interface CommitUserParams {
78
+ date?: string;
79
+ email: string;
80
+ name: string;
149
81
  }
150
- /**
151
- * Параметры для получения списка starred репозиториев
152
- */
153
- interface ListStarsParams extends PaginationParams {
154
- /** Критерий сортировки (default: "created") */
155
- sort?: "created" | "updated";
156
- /** Направление сортировки (default: "desc") */
157
- direction?: "asc" | "desc";
82
+ interface CreateCommitParams {
83
+ author?: CommitUserParams;
84
+ committer?: CommitUserParams;
85
+ message: string;
86
+ parents?: string[];
87
+ tree: string;
158
88
  }
159
- /**
160
- * Параметры для поиска пользователей
161
- */
162
- interface SearchUsersParams extends PaginationParams {
163
- /** Критерий сортировки */
164
- sort?: "best_match" | string;
165
- /** Направление сортировки */
166
- order?: "asc" | "desc";
89
+ interface CreateEmailParams {
90
+ emails?: string[];
167
91
  }
168
- /**
169
- * Ответ на поиск пользователей
170
- */
171
- interface UserSearchResult {
172
- /** Общее количество найденных пользователей */
173
- total_count: number;
174
- /** Неполные результаты (если true, результаты могут быть неполными) */
175
- incomplete_results?: boolean;
176
- /** Список найденных пользователей */
177
- items: User2[];
92
+ interface CreateFileParams {
93
+ /** ветка на которой будет базировать коммит, если пустая то будет использована ветка по умолчанию */
94
+ branch?: string;
95
+ /** content must be base64 encoded */
96
+ content?: string;
97
+ /** SHA string `json:"sha" binding:"Required"`
98
+ from_path (optional) is the path of the original file which will be moved/renamed to the path in the URL */
99
+ from_path?: string;
100
+ /** Сообщение для описания коммита, если пустое то будет использовано сообщение по умолчанию */
101
+ message?: string;
102
+ /** новая ветка которая будет отведена от указанной выше ветки и вней будет создан новый коммит */
103
+ new_branch?: string;
104
+ /** sha is the SHA for the file that already exists */
105
+ sha?: string;
106
+ /** Подписывать ли коммит */
107
+ signoff?: boolean;
178
108
  }
179
- /**
180
- * Параметры для получения списка issues
181
- */
182
- interface ListIssuesParams extends PaginationParams {
183
- /** Фильтр по состоянию issue */
184
- state?: "open" | "closed" | "all";
185
- /** Ключевое слово для поиска в заголовке и содержимом */
186
- q?: string;
187
- /** Метки через запятую (префикс '-' для исключения) */
188
- labels?: string;
189
- /** Имена или ID майлстоунов через запятую */
190
- milestones?: string;
191
- /** Фильтр по имени создателя */
192
- created_by?: string;
193
- /** Фильтр по имени назначенного пользователя */
194
- assigned_by?: string;
195
- /** Фильтр по упомянутому пользователю */
196
- mentioned_by?: string;
197
- /** Фильтр по типу: issues или pulls */
198
- type?: "issues" | "pulls";
199
- /** Только элементы обновлённые после этого времени (RFC3339) */
200
- since?: string;
201
- /** Только элементы обновлённые до этого времени (RFC3339) */
202
- before?: string;
109
+ interface CreatePullRequestParams {
110
+ /** список ответственных */
111
+ assignees?: string[];
112
+ /** ветка в которую происходит слияние */
113
+ base?: string;
114
+ /** тело запроса */
115
+ body?: string;
116
+ /** черновик */
117
+ draft?: boolean;
118
+ /** Deadline */
119
+ due_date?: string;
120
+ /** ветка из которой происходит слияние */
121
+ head?: string;
122
+ /** ветка из которой происходит слияние */
123
+ head_repo?: string;
124
+ /** Метки */
125
+ labels?: number[];
126
+ /** могут ли мэйнтейнеры изменять PR */
127
+ maintainer_can_modify?: boolean;
128
+ /** идентификатор "этапа" */
129
+ milestone?: number;
130
+ /** заголовок запроса */
131
+ title?: string;
203
132
  }
204
- /**
205
- * Параметры для получения списка комментариев к issue
206
- */
207
- interface ListCommentsParams {
208
- /** Только комментарии после этого времени (RFC3339) */
209
- since?: string;
210
- /** Только комментарии до этого времени (RFC3339) */
211
- before?: string;
133
+ interface CreateReferenceParams {
134
+ ref?: string;
135
+ sha?: string;
212
136
  }
213
- /**
214
- * Параметры для получения timeline issue
215
- */
216
- interface GetTimelineParams extends PaginationParams {
217
- /** Только события после этого времени (RFC3339) */
218
- since?: string;
219
- /** Только события до этого времени (RFC3339) */
220
- before?: string;
137
+ interface CreateReleaseParams {
138
+ body?: string;
139
+ draft?: boolean;
140
+ name?: string;
141
+ prerelease?: boolean;
142
+ tag_name?: string;
143
+ target_commitish?: string;
221
144
  }
222
- /**
223
- * Параметры для получения файлов pull request
224
- */
225
- interface GetPullFilesParams extends PaginationParams {}
226
- /**
227
- * Параметры для получения коммитов pull request
228
- */
229
- interface GetPullCommitsParams extends PaginationParams {}
230
- /**
231
- * Параметры для обновления ветки pull request
232
- */
233
- interface UpdateBranchParams {
234
- /** Ожидаемый SHA головы ветки */
235
- expected_head_sha?: string;
145
+ interface CreateRepositoryParams {
146
+ auto_init?: boolean;
147
+ description?: string;
148
+ gitignores?: string[];
149
+ is_template?: boolean;
150
+ name?: string;
151
+ private?: boolean;
236
152
  }
237
- /**
238
- * Ответ на обновление ветки pull request
239
- */
240
- interface UpdateBranchResponse {
241
- /** Сообщение о результате */
242
- message: string;
243
- /** URL обновлённого pull request */
244
- url?: string;
153
+ interface TreeItem {
154
+ content?: string;
155
+ mode?: string;
156
+ path?: string;
157
+ sha?: string;
158
+ type?: string;
245
159
  }
246
- /**
247
- * Параметры для получения списка коммитов
248
- */
249
- interface ListCommitsParams extends PaginationParams {
250
- /** SHA или имя ветки для начала списка */
160
+ interface CreateTreeParams {
161
+ base_tree?: string;
162
+ tree?: TreeItem[];
163
+ }
164
+ interface CreateVariableParams {
165
+ name?: string;
166
+ value?: string;
167
+ }
168
+ interface DeleteEmailParams {
169
+ emails?: string[];
170
+ }
171
+ interface DeleteFileParams {
172
+ /** ветка на которой будет базировать коммит, если пустая то будет использована ветка по умолчанию */
173
+ branch?: string;
174
+ /** Сообщение для описания коммита, если пустое то будет использовано сообщение по умолчанию */
175
+ message?: string;
176
+ /** новая ветка которая будет отведена от указанной выше ветки и вней будет создан новый коммит */
177
+ new_branch?: string;
178
+ /** sha is the SHA for the file that already exists */
251
179
  sha?: string;
252
- /** Путь к файлу для фильтрации коммитов */
253
- path?: string;
254
- /** Исключить коммиты, достижимые из этого ref */
255
- not?: string;
256
- /** Фильтр по автору (логин или email) */
257
- author?: string;
258
- /** Фильтр по коммиттеру (логин или email) */
259
- committer?: string;
260
- /** Только коммиты после этой даты (ISO 8601) */
261
- since?: string;
262
- /** Только коммиты до этой даты (ISO 8601) */
263
- until?: string;
180
+ /** Подписывать ли коммит */
181
+ signoff?: boolean;
264
182
  }
265
- /**
266
- * Интерфейс пользователя
267
- */
268
- interface User2 {
269
- /** Уникальный идентификатор пользователя */
270
- id: number;
271
- /** Имя пользователя */
183
+ interface UpdateReleaseParams {
184
+ body?: string;
185
+ draft?: boolean;
272
186
  name?: string;
273
- /** Логин пользователя */
274
- login: string;
275
- /** Полное имя пользователя */
276
- full_name?: string;
277
- /** Тип аккаунта: пользователь или организация */
278
- type: UserType;
279
- /** Биография пользователя */
280
- bio?: string;
281
- /** Электронная почта пользователя */
282
- email?: string;
283
- /** URL аватара пользователя */
284
- avatar_url: string;
285
- /** Веб-ссылка на профиль пользователя */
286
- html_url: string;
287
- /** API-ссылка на профиль пользователя */
288
- url?: string;
289
- /** API-ссылка на список подписчиков пользователя */
290
- followers_url?: string;
291
- /** API-ссылка на репозитории пользователя */
292
- repos_url?: string;
293
- /** API-ссылка на организации пользователя */
294
- organizations_url?: string;
295
- /** Права администратора */
296
- site_admin: boolean;
297
- /** Местоположение пользователя */
298
- location?: string;
299
- /** Верификация аккаунта */
300
- is_verified?: boolean;
301
- /** Настройки приватности профиля */
302
- visibility?: VisibilityType;
303
- /** Персональный веб-сайт */
304
- website?: string;
305
- /** Количество подписчиков */
306
- followers?: number;
307
- /** Количество подписок */
308
- following?: number;
309
- /** Количество публичных репозиториев */
310
- public_repos?: number;
311
- /** Количество репозиториев, отмеченных звездой */
312
- stars_count?: number;
313
- /** API-ссылка на подписки пользователя */
314
- following_url?: string;
315
- /** API-ссылка на избранные репозитории */
316
- starred_url?: string;
317
- /** API-ссылка на подписки на уведомления */
318
- subscriptions_url?: string;
319
- /** Дата создания аккаунта */
320
- created_at: string;
321
- /** Дата последнего обновления аккаунта */
322
- updated_at?: string;
187
+ prerelease?: boolean;
188
+ tag_name?: string;
189
+ target_commitish?: string;
323
190
  }
324
- /**
325
- * Параметры для получения списка коллабораторов
326
- */
327
- interface ListCollaboratorsParams extends PaginationParams {
328
- /** Фильтр по типу связи (direct, outside, all) */
329
- affiliation?: "direct" | "outside" | "all";
330
- /** Фильтр по уровню доступа */
331
- permission?: "read" | "write" | "admin";
191
+ interface CreateForkParams {
192
+ /** Описание */
193
+ description?: string;
194
+ /** Имя форкнутого репозитория */
195
+ name?: string;
196
+ /** Название организации, если форкаем в организацию */
197
+ organization?: string;
332
198
  }
333
- /**
334
- * Параметры для добавления коллаборатора
335
- */
336
- interface AddCollaboratorParams {
337
- /** Уровень доступа коллаборатора */
338
- permission?: "read" | "write" | "admin";
199
+ interface UpdateRepositoryParams {
200
+ allow_auto_merge?: boolean;
201
+ allow_merge?: boolean;
202
+ allow_rebase?: boolean;
203
+ allow_rebase_merge?: boolean;
204
+ allow_squash_merge?: boolean;
205
+ allow_update_branch?: boolean;
206
+ archived?: boolean;
207
+ autodetect_manual_merge?: boolean;
208
+ default_allow_maintainer_edit?: boolean;
209
+ default_branch?: string;
210
+ default_merge_style?: string;
211
+ delete_branch_on_merge?: boolean;
212
+ description?: string;
213
+ homepage?: string;
214
+ ignore_whitespace?: boolean;
215
+ is_template?: boolean;
216
+ /** обработаны */
217
+ name?: string;
218
+ private?: boolean;
339
219
  }
340
- /**
341
- * Коллаборатор репозитория (пользователь с правами доступа)
342
- */
343
- interface Collaborator extends User2 {
344
- /** Права доступа к репозиторию */
345
- permissions?: {
346
- admin: boolean
347
- push: boolean
348
- pull: boolean
349
- };
220
+ interface TeamRepoPermissions {
221
+ permission?: string;
350
222
  }
351
- /**
352
- * Интерфейс приглашения коллаборатора
353
- */
354
- interface CollaboratorInvitation {
355
- /** Уникальный идентификатор приглашения */
356
- id: number;
357
- /** Дата создания приглашения */
358
- created_at: string;
359
- /** Приглашённый пользователь */
360
- invitee: User2;
361
- /** Пользователь, отправивший приглашение */
362
- inviter: User2;
363
- /** Уровень доступа */
364
- permissions: string;
365
- /** Репозиторий */
366
- repository: Repository;
223
+ interface UpdateBranchParams {
224
+ expected_head_sha?: string;
367
225
  }
368
- /**
369
- * Интерфейс текущего авторизованного пользователя
370
- * Получается из API метода /user
371
- */
372
- interface CurrentUser {
373
- /** Уникальный идентификатор пользователя */
374
- id: number;
375
- /** Имя пользователя (может быть пустым) */
226
+ interface UpdatePullRequestParams {
227
+ /** ветка в которую происходит слияние */
228
+ base?: string;
229
+ /** тело запроса */
230
+ body?: string;
231
+ /** могут ли мэйнтейнеры изменять PR */
232
+ maintainer_can_modify?: boolean;
233
+ /** статус запроса */
234
+ state?: string;
235
+ /** заголовок запроса */
236
+ title?: string;
237
+ }
238
+ interface ActionWorkflowRun {
239
+ head_sha?: string;
240
+ id?: number;
241
+ repository_id?: number;
242
+ }
243
+ interface ActionArtifact {
244
+ archive_download_url?: string;
245
+ created_at?: string;
246
+ expired?: boolean;
247
+ expires_at?: string;
248
+ id?: number;
376
249
  name?: string;
377
- /** Полное имя пользователя */
378
- full_name?: string;
379
- /** Логин пользователя */
380
- login: string;
381
- /** Электронная почта пользователя (может быть недоступна) */
382
- email?: string;
383
- /** URL аватара пользователя */
384
- avatar_url: string;
385
- /** Веб-ссылка на профиль пользователя */
386
- html_url: string;
387
- /** URL API пользователя */
388
- url?: string;
389
- /** Количество публичных репозиториев */
390
- public_repos: number;
391
- /** Количество подписчиков */
392
- followers: number;
393
- /** URL подписчиков */
394
- followers_url?: string;
395
- /** Количество подписок */
396
- following?: number;
397
- /** URL подписок */
398
- following_url?: string;
399
- /** URL репозиториев */
400
- repos_url?: string;
401
- /** URL организаций */
402
- organizations_url?: string;
403
- /** URL starred репозиториев */
404
- starred_url?: string;
405
- /** Количество starred репозиториев */
406
- stars_count?: number;
407
- /** URL подписок на репозитории */
408
- subscriptions_url?: string;
409
- /** Биография пользователя */
410
- bio?: string;
411
- /** Тип аккаунта */
412
- type?: string;
413
- /** Является ли администратором сайта */
414
- site_admin?: boolean;
415
- /** Местоположение */
416
- location?: string;
417
- /** Подтверждён ли аккаунт */
418
- is_verified?: boolean;
419
- /** Веб-сайт пользователя */
420
- website?: string;
421
- /** Дата создания аккаунта */
422
- created_at: string;
423
- /** Дата последнего обновления */
250
+ size_in_bytes?: number;
424
251
  updated_at?: string;
252
+ url?: string;
253
+ workflow_run?: ActionWorkflowRun;
425
254
  }
426
- /**
427
- * Права доступа к репозиторию
428
- */
429
- interface Permissions {
430
- /** Право администратора */
431
- admin: boolean;
432
- /** Право на запись */
433
- push: boolean;
434
- /** Право на чтение */
435
- pull: boolean;
255
+ interface ActionArtifactList {
256
+ artifacts?: ActionArtifact[];
257
+ total_count?: number;
436
258
  }
437
- /**
438
- * Интерфейс репозитория
439
- */
440
- interface Repository {
441
- /** Уникальный идентификатор репозитория */
442
- id: number;
443
- /** Информация о владельце репозитория */
444
- owner: User2;
445
- /** Название репозитория */
446
- name: string;
447
- /** Полное название репозитория в формате {owner}/{repo} */
448
- full_name: string;
449
- /** Описание репозитория */
450
- description?: string;
451
- /** Список тем, связанных с репозиторием */
452
- topics?: string[] | null;
453
- /** Является ли репозиторий приватным */
454
- private: boolean;
455
- /** Является ли репозиторий форком другого репозитория */
456
- fork: boolean;
457
- /** Информация о родительском репозитории (если это форк) */
458
- parent?: Repository | null;
459
- /** Размер репозитория в килобайтах */
460
- size: number;
461
- /** Основной язык программирования, используемый в репозитории */
462
- language?: string;
463
- /** SSH-URL для клонирования репозитория */
464
- ssh_url: string;
465
- /** HTTPS-URL для клонирования репозитория */
466
- clone_url: string;
467
- /** Веб-ссылка на репозиторий */
468
- html_url: string;
469
- /** API-ссылка на репозиторий */
470
- url: string;
471
- /** Git-URL для клонирования репозитория */
472
- git_url: string;
473
- /** Зеркало репозитория (если доступно) */
474
- mirror_url?: string;
475
- /** Ссылка на вебсайт проекта */
476
- website?: string;
477
- /** Альтернативная ссылка на домашнюю страницу проекта */
478
- homepage?: string;
479
- /** Количество звезд у репозитория */
480
- stargazers_count: number;
481
- /** Количество форков репозитория */
482
- forks: number;
483
- /** Количество форков репозитория (дублирует поле forks) */
484
- forks_count: number;
485
- /** Количество наблюдателей за репозиторием */
486
- watchers: number;
487
- /** Количество наблюдателей за репозиторием (дублирует поле watchers) */
488
- watchers_count: number;
489
- /** Количество репозиториев в сети (форков и оригинала) */
490
- network_count: number;
491
- /** Количество подписчиков на уведомления о репозитории */
492
- subscribers_count: number;
493
- /** Количество открытых задач (issues) в репозитории */
494
- open_issues: number;
495
- /** Количество открытых задач (дублирует поле open_issues) */
496
- open_issues_count: number;
497
- /** Количество открытых pull requests */
498
- open_pr_counter: number;
499
- /** Основная ветка репозитория */
500
- default_branch: string;
501
- /** Архивирован ли репозиторий */
502
- archived: boolean;
503
- /** Разрешено ли создание задач (issues) */
504
- has_issues: boolean;
505
- /** Разрешено ли использование проектов */
506
- has_projects: boolean;
507
- /** Разрешено ли использование обсуждений */
508
- has_discussions: boolean;
509
- /** Разрешено ли использование wiki */
510
- has_wiki: boolean;
511
- /** Разрешено ли использование GitHub Pages */
512
- has_pages: boolean;
513
- /** Отключен ли репозиторий */
514
- disabled: boolean;
515
- /** Настройки приватности репозитория */
516
- visibility: VisibilityType;
517
- /** Является ли репозиторий шаблоном */
518
- is_template: boolean;
519
- /** Информация о шаблоне репозитория (если доступно) */
520
- template_repository?: Repository | null;
521
- /** Разрешены ли слияния через merge commits */
522
- allow_merge_commit: boolean;
523
- /** Разрешены ли слияния через squash commits */
524
- allow_squash_merge: boolean;
525
- /** Разрешены ли слияния через rebase */
526
- allow_rebase_merge?: boolean;
527
- /** Удалять ли ветку после слияния по умолчанию */
528
- default_delete_branch_after_merge: boolean;
529
- /** Права доступа текущего пользователя к репозиторию */
259
+ interface ActionRunnerLabel {
260
+ id?: number;
261
+ name?: string;
262
+ type?: string;
263
+ }
264
+ interface ActionRunner {
265
+ busy?: boolean;
266
+ id?: number;
267
+ labels?: ActionRunnerLabel[];
268
+ name?: string;
269
+ status?: string;
270
+ }
271
+ interface ActionRunners {
272
+ runners?: ActionRunner[];
273
+ total_count?: number;
274
+ }
275
+ interface Attachment {
276
+ browser_download_url?: string;
277
+ created_at?: string;
278
+ download_count?: number;
279
+ id?: number;
280
+ name?: string;
281
+ size?: number;
282
+ uuid?: string;
283
+ }
284
+ interface CommitMeta {
285
+ created?: string;
286
+ html_url?: string;
287
+ sha?: string;
288
+ url?: string;
289
+ }
290
+ interface Branch {
291
+ commit?: CommitMeta;
292
+ name?: string;
293
+ protected?: boolean;
294
+ }
295
+ interface Permissions {
296
+ admin?: boolean;
297
+ pull?: boolean;
298
+ push?: boolean;
299
+ }
300
+ interface Collaborator {
301
+ /** Адрес аватарки */
302
+ avatar_url?: string;
303
+ /** О себе */
304
+ bio?: string;
305
+ /** Почта */
306
+ email?: string;
307
+ /** Url для получения подписчиков пользователя */
308
+ followers_url?: string;
309
+ /** Url для получения подписок пользователя */
310
+ following_url?: string;
311
+ /** Полное имя */
312
+ full_name?: string;
313
+ /** Адрес страницы пользователя */
314
+ html_url?: string;
315
+ /** Идентификатор */
316
+ id?: number;
317
+ /** Логин пользователя */
318
+ login?: string;
319
+ /** Имя пользователя */
320
+ name?: string;
321
+ /** Url для получения организаций пользователя */
322
+ organizations_url?: string;
323
+ /** Полномочия */
530
324
  permissions?: Permissions;
531
- /** API-ссылка на содержимое репозитория */
325
+ /** Url для получения репозиториев пользователя */
326
+ repos_url?: string;
327
+ /** Есть ли права админа */
328
+ site_admin?: boolean;
329
+ /** Url для получения репозиториев пользователя, которые были добавлены в избранное */
330
+ starred_url?: string;
331
+ /** Url для получения подписок пользователя */
332
+ subscriptions_url?: string;
333
+ /** Тип пользователя */
334
+ type?: string;
335
+ /** Url для получения пользователя */
336
+ url?: string;
337
+ /** Вебсайт */
338
+ website?: string;
339
+ }
340
+ interface UserPublicInfo {
341
+ avatar_url?: string;
342
+ followers_url?: string;
343
+ following_url?: string;
344
+ html_url?: string;
345
+ id?: number;
346
+ login?: string;
347
+ organizations_url?: string;
348
+ repos_url?: string;
349
+ site_admin?: boolean;
350
+ type?: string;
351
+ url?: string;
352
+ }
353
+ interface RepoPublicInfo {
532
354
  contents_url?: string;
533
- /** API-ссылка на форки репозитория */
355
+ description?: string;
356
+ fork?: boolean;
534
357
  forks_url?: string;
535
- /** API-ссылка на issues репозитория */
358
+ full_name?: string;
359
+ html_url?: string;
360
+ id?: number;
361
+ issue_comment_url?: string;
536
362
  issues_url?: string;
537
- /** API-ссылка на pull requests репозитория */
538
- pulls_url?: string;
539
- /** API-ссылка на языки репозитория */
540
363
  languages_url?: string;
541
- /** Шаблон API-ссылки на комментарии issues */
542
- issue_comment_url?: string;
543
- /** Дата создания репозитория */
544
- created_at: string;
545
- /** Дата последнего обновления репозитория */
546
- updated_at: string;
547
- /** Дата последнего push-события в репозиторий */
548
- pushed_at: string;
549
- }
550
- /**
551
- * Интерфейс ответа с распределением языков в репозитории
552
- */
553
- interface LanguagesResponse {
554
- /** Количество байт кода на каждом языке */
555
- [language: string]: number;
556
- }
557
- /**
558
- * Интерфейс информации о файле
559
- */
560
- interface FileContent {
561
- /** Имя файла */
562
- name: string;
563
- /** Путь к файлу относительно корня репозитория */
564
- path: string;
565
- /** SHA-хеш содержимого файла */
566
- sha: string;
567
- /** Размер файла в байтах */
568
- size: number;
569
- /** Тип объекта (всегда 'file' для файла) */
570
- type: typeof ContentType.File;
571
- /** Кодировка содержимого файла (например, 'base64') */
572
- encoding?: string;
573
- /** Содержимое файла в формате Base64 */
574
- content?: string;
575
- /** Определенный язык программирования файла */
576
- language?: string;
577
- /** API-ссылка на файл */
364
+ name?: string;
365
+ owner?: UserPublicInfo;
366
+ private?: boolean;
367
+ pulls_url?: string;
578
368
  url?: string;
579
- /** Веб-ссылка на файл */
580
- html_url?: string;
581
- /** Git-URL для файла */
582
- git_url?: string;
583
- /** URL для скачивания файла */
584
- download_url?: string;
585
369
  }
586
- /**
587
- * Интерфейс информации о директории
588
- */
589
- interface DirectoryContent {
590
- /** Тип объекта (всегда 'dir' для директории) */
591
- type: typeof ContentType.Directory;
592
- /** Размер директории (всегда 0) */
593
- size: number;
594
- /** Имя директории */
595
- name: string;
596
- /** Путь к директории относительно корня репозитория */
597
- path: string;
598
- /** SHA-хеш объекта директории */
599
- sha: string;
600
- /** Список файлов и поддиректорий внутри директории */
601
- entries: Array<FileContent | DirectoryContent>;
602
- }
603
- /**
604
- * Тип для содержимого репозитория (файл или директория)
605
- */
606
- type Content = FileContent | DirectoryContent;
607
- /**
608
- * Интерфейс информации о коммите
609
- */
610
- interface CommitInfo {
611
- /** SHA-хеш коммита */
612
- sha: string;
613
- /** Node ID коммита */
614
- node_id?: string;
615
- /** API-ссылка на коммит */
616
- url: string;
617
- /** Веб-ссылка на коммит */
618
- html_url: string;
619
- /** Информация об авторе коммита */
620
- author: {
621
- /** Имя автора */
622
- name: string
623
- /** Email автора */
624
- email: string
625
- /** Дата создания коммита */
626
- date: string
627
- };
628
- /** Информация о коммиттере */
629
- committer: {
630
- /** Имя коммиттера */
631
- name: string
632
- /** Email коммиттера */
633
- email: string
634
- /** Дата коммита */
635
- date: string
636
- };
637
- /** Сообщение коммита */
638
- message: string;
639
- /** Информация о дереве коммита */
640
- tree: {
641
- /** SHA-хеш дерева */
642
- sha: string
643
- /** URL дерева */
644
- url: string
645
- };
646
- /** Родительские коммиты */
647
- parents: Array<{
648
- /** SHA-хеш родительского коммита */
649
- sha: string
650
- /** API-ссылка на родительский коммит */
651
- url: string
652
- /** Веб-ссылка на родительский коммит */
653
- html_url: string
654
- }>;
370
+ interface CollaboratorInvitation {
371
+ created_at?: string;
372
+ id?: number;
373
+ invitee?: UserPublicInfo;
374
+ inviter?: UserPublicInfo;
375
+ permissions?: string;
376
+ repository?: RepoPublicInfo;
655
377
  }
656
- /**
657
- * Интерфейс ответа на создание файла
658
- */
659
- interface FileCreationResponse {
660
- /** Информация о созданном файле */
661
- content: FileContent;
662
- /** Информация о коммите */
663
- commit: CommitInfo;
378
+ interface Comment {
379
+ author_association?: string;
380
+ body?: string;
381
+ created_at?: string;
382
+ /** Адрес страницы с комметарием */
383
+ html_url?: string;
384
+ id?: number;
385
+ /** Url для получения issue/PR */
386
+ issue_url?: string;
387
+ updated_at?: string;
388
+ /** Url для получения пользователя */
389
+ url?: string;
390
+ user?: UserPublicInfo;
664
391
  }
665
- /**
666
- * Интерфейс ответа на удаление файла
667
- */
668
- interface FileDeletionResponse {
669
- /** Информация о содержимом (null для удаленного файла) */
670
- content: null;
671
- /** Информация о коммите удаления */
672
- commit: CommitInfo;
392
+ interface CommitFiles {
393
+ additions?: number;
394
+ blob_url?: string;
395
+ changes?: number;
396
+ contents_url?: string;
397
+ deletions?: number;
398
+ filename?: string;
399
+ patch?: string;
400
+ raw_url?: string;
401
+ sha?: string;
402
+ status?: string;
673
403
  }
674
- /**
675
- * Интерфейс параметров для создания форка
676
- */
677
- interface CreateForkParams {
678
- /** Имя нового форка */
404
+ interface CommitUser {
405
+ date?: string;
406
+ email?: string;
679
407
  name?: string;
680
- /** Название организации, в которую будет создан форк */
681
- organization?: string;
682
- /** Описание нового форка */
683
- description?: string;
684
- }
685
- /**
686
- * Параметры для получения содержимого репозитория
687
- */
688
- interface GetContentParams {
689
- /** Ссылка на ветку/тег/коммит (по умолчанию основная ветка) */
690
- ref?: string;
691
- /** Уровень детализации информации о коммите (по умолчанию "fast") */
692
- scope?: "fast" | "full";
693
408
  }
694
- /**
695
- * Интерфейс параметров для создания файла
696
- */
697
- interface CreateFileParams {
698
- /** Имя ветки, в которую будет добавлен файл (по умолчанию - основная ветка) */
699
- branch?: string;
700
- /** Содержимое файла, закодированное в Base64 */
701
- content: string;
702
- /** Сообщение коммита */
703
- message?: string;
704
- /** Имя новой ветки, которая будет создана для этого изменения */
705
- new_branch?: string;
706
- /** Добавлять ли подпись (Signed-off-by) в коммит */
707
- signoff?: boolean;
708
- /** Путь исходного файла (для копирования/перемещения) */
709
- from_path?: string;
710
- /** SHA-хеш файла (для обновления существующего файла) */
409
+ interface TreeMeta {
410
+ created?: string;
711
411
  sha?: string;
412
+ url?: string;
712
413
  }
713
- /**
714
- * Интерфейс параметров для обновления файла
715
- */
716
- interface UpdateFileParams {
717
- /** Имя ветки, в которой находится файл */
718
- branch?: string;
719
- /** Новое содержимое файла, закодированное в Base64 */
720
- content: string;
721
- /** SHA-хеш текущего содержимого файла */
722
- sha: string;
723
- /** Если файл переименовывается, указывает старый путь к файлу */
724
- from_path?: string;
725
- /** Сообщение коммита */
414
+ interface RepoCommit {
415
+ author?: CommitUser;
416
+ committer?: CommitUser;
726
417
  message?: string;
727
- /** Имя новой ветки, которая будет создана для этого изменения */
728
- new_branch?: string;
729
- /** Добавлять ли подпись (Signed-off-by) в коммит */
730
- signoff?: boolean;
418
+ tree?: TreeMeta;
419
+ url?: string;
731
420
  }
732
- /**
733
- * Интерфейс параметров для удаления файла
734
- */
735
- interface DeleteFileParams {
736
- /** SHA-хеш текущего содержимого файла */
737
- sha: string;
738
- /** Имя ветки, в которой находится файл */
421
+ interface CommitStats {
422
+ additions?: number;
423
+ deletions?: number;
424
+ total?: number;
425
+ }
426
+ interface Commit {
427
+ author?: UserPublicInfo;
739
428
  branch?: string;
740
- /** Сообщение коммита */
741
- message?: string;
742
- /** Имя новой ветки, которая будет создана для этого изменения */
743
- new_branch?: string;
744
- /** Добавлять ли подпись (Signed-off-by) в коммит */
745
- signoff?: boolean;
429
+ commit?: RepoCommit;
430
+ committer?: UserPublicInfo;
431
+ created?: string;
432
+ files?: CommitFiles[];
433
+ html_url?: string;
434
+ parents?: CommitMeta[];
435
+ sha?: string;
436
+ stats?: CommitStats;
437
+ url?: string;
746
438
  }
747
- /**
748
- * Интерфейс базовой или целевой ветки для pull request
749
- */
750
- interface PullRequestBase {
751
- /** Метка ветки */
752
- label: string;
753
- /** Имя ветки */
754
- ref: string;
755
- /** SHA-хеш последнего коммита в ветке */
756
- sha: string;
757
- /** ID репозитория */
758
- repo_id: number;
759
- /** Информация о репозитории */
760
- repo: {
761
- /** ID репозитория */
762
- id: number
763
- /** Название репозитория */
764
- name: string
765
- /** Полное название репозитория в формате {owner}/{repo} */
766
- full_name: string
767
- /** Является ли репозиторий приватным */
768
- private: boolean
769
- /** Основная ветка репозитория */
770
- default_branch: string
771
- };
439
+ interface CommitVerification {
440
+ payload?: string;
441
+ reason?: string;
442
+ signature?: string;
443
+ verified?: boolean;
444
+ verifiedAt?: string;
772
445
  }
773
- /**
774
- * Интерфейс pull request
775
- */
776
- interface PullRequest {
777
- /** Уникальный идентификатор pull request */
778
- id: number;
779
- /** API-ссылка на pull request */
780
- url: string;
781
- /** Номер pull request в репозитории */
782
- number: number;
783
- /** Информация о пользователе, создавшем pull request */
784
- user: {
785
- /** ID пользователя */
786
- id: number
787
- /** Логин пользователя */
788
- login: string
789
- /** Тип аккаунта */
790
- type: string
791
- /** URL аватара пользователя */
792
- avatar_url: string
793
- /** Веб-ссылка на профиль пользователя */
794
- html_url: string
795
- /** Права администратора */
796
- site_admin: boolean
797
- };
798
- /** Заголовок pull request */
799
- title: string;
800
- /** Описание pull request */
801
- body?: string;
802
- /** Список меток */
803
- labels: Label[];
804
- /** Информация о майлстоуне */
805
- milestone?: Milestone;
806
- /** Информация о назначенном пользователе */
807
- assignee?: User2;
808
- /** Список назначенных пользователей */
809
- assignees?: User2[];
810
- /** Состояние pull request (открыт/закрыт) */
811
- state: PullRequestState;
812
- /** Заблокирован ли pull request */
813
- locked: boolean;
814
- /** Количество комментариев */
815
- comments: number;
816
- /** Веб-ссылка на pull request */
817
- html_url: string;
818
- /** Ссылка на diff файл */
819
- diff_url: string;
820
- /** Ссылка на patch файл */
821
- patch_url: string;
822
- /** Можно ли слить pull request */
823
- mergeable: boolean;
824
- /** Был ли pull request слит */
825
- merged: boolean;
826
- /** Дата слияния (если был слит) */
827
- merged_at?: string | null;
828
- /** SHA-хеш коммита слияния (если был слит) */
829
- merge_commit_sha?: string | null;
830
- /** Пользователь, выполнивший слияние */
831
- merged_by?: User2 | null;
832
- /** Может ли мейнтейнер изменять pull request */
833
- maintainer_can_modify: boolean;
834
- /** Является ли pull request черновиком */
835
- is_draft?: boolean;
836
- /** Запрошенные ревьюеры */
837
- requested_reviewers?: User2[];
838
- /** Запрошенные команды для ревью */
839
- requested_teams?: Team[];
840
- /** Информация о целевой ветке */
841
- base: PullRequestBase;
842
- /** Информация о ветке с изменениями */
843
- head: PullRequestBase;
844
- /** Дата создания pull request */
845
- created_at: string;
846
- /** Дата обновления pull request */
847
- updated_at: string;
848
- /** Дата закрытия pull request (если закрыт) */
849
- closed_at?: string | null;
446
+ interface CompareResponse {
447
+ ahead_by?: number;
448
+ base_commit?: Commit;
449
+ behind_by?: number;
450
+ commits?: Commit[];
451
+ files?: CommitFiles[];
452
+ html_url?: string;
453
+ merge_base_commit?: Commit;
454
+ status?: string;
455
+ total_commits?: number;
456
+ url?: string;
850
457
  }
851
- /**
852
- * Интерфейс параметров для создания pull request
853
- */
854
- interface CreatePullRequestParams {
855
- /** Заголовок pull request */
856
- title: string;
857
- /** Описание pull request */
858
- body?: string;
859
- /** Имя ветки, из которой предлагаются изменения */
860
- head: string;
861
- /** Имя ветки, в которую будут внесены изменения */
862
- base: string;
863
- /** Назначенные пользователи */
864
- assignees?: string[];
865
- /** Черновик ли pull request */
866
- draft?: boolean;
867
- /** Срок выполнения */
868
- due_date?: string;
869
- /** Репозиторий head ветки (для кросс-репозиторных PR) */
870
- head_repo?: string;
871
- /** ID меток */
872
- labels?: number[];
873
- /** Может ли мейнтейнер модифицировать */
874
- maintainer_can_modify?: boolean;
875
- /** ID milestone */
876
- milestone?: number;
458
+ interface FileLinksResponse {
459
+ git?: string;
460
+ html?: string;
461
+ self?: string;
877
462
  }
878
- /**
879
- * Интерфейс параметров для получения списка pull requests
880
- */
881
- interface ListPullRequestsParams {
882
- /**
883
- * Фильтр по состоянию pull request
884
- *
885
- * @default "open"
886
- */
887
- state?: PullRequestStateFilter;
888
- /** Фильтр по ветке-источнику в формате branch, user:branch или user:repo:branch */
889
- head?: string;
890
- /** Фильтр по целевой ветке */
891
- base?: string;
892
- /**
893
- * Критерий сортировки
894
- *
895
- * @default "created"
896
- */
897
- sort?: PullRequestSortCriteria;
898
- /**
899
- * Направление сортировки
900
- *
901
- * @default "desc"
902
- */
903
- direction?: PullRequestSortDirection;
904
- /** Номер страницы (начиная с 1) */
905
- page?: number;
906
- /** Количество элементов на странице (максимум 100) */
907
- per_page?: number;
463
+ interface ContentsResponse {
464
+ /** Ссылки */
465
+ _links?: FileLinksResponse;
466
+ /** `content` is populated when `type` is `file`, otherwise null */
467
+ content?: string;
468
+ /** DownloadURL ссылка на скачивание файла */
469
+ download_url?: string;
470
+ /** `encoding` is populated when `type` is `file`, otherwise null */
471
+ encoding?: string;
472
+ /** GitURL ссылка на получение файла */
473
+ git_url?: string;
474
+ /** HtmlURL ссылка на страницу с содержимым файла */
475
+ html_url?: string;
476
+ /** Язык программирования используемый в файле (если тип файл) */
477
+ language?: string;
478
+ name?: string;
479
+ path?: string;
480
+ sha?: string;
481
+ size?: number;
482
+ /** `submodule_git_url` is populated when `type` is `submodule`, otherwise null */
483
+ submodule_git_url?: string;
484
+ /** `target` is populated when `type` is `symlink`, otherwise null */
485
+ target?: string;
486
+ /** `type` will be `file`, `dir`, `symlink`, or `submodule` */
487
+ type?: string;
488
+ /** Url возвращает ссылку на получение такого же JSON */
489
+ url?: string;
908
490
  }
909
- /**
910
- * Интерфейс метки (label) для issues и pull requests
911
- */
912
- interface Label {
913
- /** Идентификатор метки */
914
- id: number;
915
- /** Имя метки */
916
- name: string;
917
- /** Описание метки */
918
- description?: string;
919
- /** Цвет метки в формате HEX */
920
- color: string;
921
- /** URL метки */
491
+ interface FileCommitResponse {
492
+ author?: CommitUser;
493
+ committer?: CommitUser;
494
+ created?: string;
495
+ html_url?: string;
496
+ message?: string;
497
+ parents?: CommitMeta[];
498
+ sha?: string;
499
+ tree?: CommitMeta;
922
500
  url?: string;
923
- /** Эксклюзивная метка (взаимоисключающая в группе) */
924
- exclusive?: boolean;
925
- /** Архивирована ли метка */
926
- is_archived?: boolean;
501
+ verification?: CommitVerification;
927
502
  }
928
- /**
929
- * Интерфейс майлстоуна (milestone)
930
- */
931
- interface Milestone {
932
- /** Идентификатор майлстоуна */
933
- id: number;
934
- /** Номер майлстоуна */
935
- number: number;
936
- /** Название майлстоуна */
937
- title: string;
938
- /** Описание майлстоуна */
939
- description?: string;
940
- /** Создатель майлстоуна */
941
- creator: User2;
942
- /** Состояние майлстоуна (open/closed) */
943
- state: "open" | "closed";
944
- /** Количество открытых задач */
945
- open_issues: number;
946
- /** Количество закрытых задач */
947
- closed_issues: number;
948
- /** Дата создания */
949
- created_at: string;
950
- /** Дата обновления */
951
- updated_at: string;
952
- /** Дата окончания (due date) */
953
- due_on?: string;
503
+ interface FileCreationResponse {
504
+ commit?: FileCommitResponse;
505
+ content?: ContentsResponse;
954
506
  }
955
- /**
956
- * Интерфейс ошибки API
957
- */
958
- interface ApiError {
959
- /** Тип ошибки */
960
- error: string;
961
- /** Сообщение об ошибке */
962
- message: string;
963
- /** HTTP-код статуса */
964
- status: number;
507
+ interface FileDeleteResponse {
508
+ commit?: FileCommitResponse;
509
+ content?: unknown;
965
510
  }
966
- /**
967
- * Интерфейс email адреса
968
- */
969
511
  interface Email {
970
- /** Email адрес */
971
- email: string;
972
- /** Подтвержден ли email */
973
- verified: boolean;
974
- /** Является ли основным */
975
- primary: boolean;
976
- /** Видимость email */
977
- visibility: string;
978
- }
979
- /**
980
- * Параметры для добавления email адресов
981
- */
982
- interface AddEmailParams {
983
- /** Массив email адресов для добавления */
984
- emails: string[];
985
- }
986
- /**
987
- * Параметры для удаления email адресов
988
- */
989
- interface RemoveEmailParams {
990
- /** Массив email адресов для удаления */
991
- emails: string[];
992
- }
993
- /**
994
- * Параметры для создания репозитория
995
- */
996
- interface CreateRepositoryParams {
997
- /** Имя репозитория */
998
- name: string;
999
- /** Описание репозитория */
1000
- description?: string;
1001
- /** Приватный ли репозиторий */
1002
- private?: boolean;
1003
- /** Создать ли инициализирующий коммит */
1004
- auto_init?: boolean;
1005
- /** Список .gitignore шаблонов */
1006
- gitignores?: string[];
1007
- /** Является ли репозиторий шаблоном */
1008
- is_template?: boolean;
512
+ email?: string;
513
+ primary?: boolean;
514
+ verified?: boolean;
515
+ visibility?: string;
1009
516
  }
1010
- /**
1011
- * Интерфейс issue
1012
- */
1013
- interface Issue {
1014
- /** Уникальный идентификатор issue */
1015
- id: number;
1016
- /** Номер issue в репозитории */
1017
- number: number;
1018
- /** Заголовок issue */
1019
- title: string;
1020
- /** Описание issue */
1021
- body?: string;
1022
- /** Состояние issue */
1023
- state: IssueState;
1024
- /** Пользователь, создавший issue */
1025
- user: User2;
1026
- /** Список меток */
1027
- labels: Label[];
1028
- /** Назначенный пользователь */
1029
- assignee?: User2 | null;
1030
- /** Назначенные пользователи */
1031
- assignees?: User2[];
1032
- /** Информация о майлстоуне */
1033
- milestone?: Milestone | null;
1034
- /** Заблокирован ли issue */
1035
- is_locked?: boolean;
1036
- /** Срок выполнения */
1037
- due_date?: string | null;
1038
- /** Связанный pull request (если issue создан из PR) */
1039
- pull_request?: PullRequestMeta | null;
1040
- /** Информация о репозитории */
1041
- repository?: RepositoryMeta;
1042
- /** Ссылка на ветку */
1043
- ref?: string;
1044
- /** Оригинальный автор (для импортированных issues) */
1045
- original_author?: string;
1046
- /** ID оригинального автора */
1047
- original_author_id?: number;
1048
- /** Вложения */
1049
- assets?: Asset[];
1050
- /** Дата создания */
1051
- created_at: string;
1052
- /** Дата обновления */
1053
- updated_at: string;
1054
- /** Дата закрытия */
1055
- closed_at?: string | null;
1056
- /** Количество комментариев */
1057
- comments: number;
1058
- /** Веб-ссылка на issue */
1059
- html_url: string;
1060
- /** API-ссылка на issue */
1061
- url: string;
517
+ interface GitEntry {
518
+ mode?: string;
519
+ path?: string;
520
+ sha?: string;
521
+ size?: number;
522
+ type?: string;
523
+ url?: string;
1062
524
  }
1063
- /**
1064
- * Интерфейс комментария к issue или pull request
1065
- */
1066
- interface Comment {
1067
- /** Уникальный идентификатор комментария */
1068
- id: number;
1069
- /** Текст комментария */
1070
- body: string;
1071
- /** Пользователь, создавший комментарий */
1072
- user: User2;
1073
- /** Дата создания */
1074
- created_at: string;
1075
- /** Дата обновления */
1076
- updated_at: string;
1077
- /** Веб-ссылка на комментарий */
1078
- html_url: string;
1079
- /** API-ссылка на комментарий */
1080
- url: string;
1081
- /** Ассоциация автора с репозиторием */
1082
- author_association?: string;
1083
- /** URL issue */
1084
- issue_url?: string;
525
+ interface GitObject {
526
+ sha?: string;
527
+ type?: string;
528
+ url?: string;
1085
529
  }
1086
- /**
1087
- * Интерфейс события в timeline issue
1088
- * @deprecated Используйте TimelineComment вместо этого
1089
- */
1090
- interface TimelineEvent {
1091
- /** Уникальный идентификатор события */
1092
- id: number;
1093
- /** Тип события */
1094
- event: string;
1095
- /** Пользователь, вызвавший событие */
1096
- actor: User2;
1097
- /** Дата создания события */
1098
- created_at: string;
1099
- /** Метка (для событий с метками) */
1100
- label?: Label;
1101
- /** Milestone (для событий с milestone) */
1102
- milestone?: Milestone;
1103
- /** Переименование (для событий переименования) */
1104
- rename?: {
1105
- from: string
1106
- to: string
1107
- };
530
+ interface GitTreeResponse {
531
+ page?: number;
532
+ sha?: string;
533
+ total_count?: number;
534
+ tree?: GitEntry[];
535
+ truncated?: boolean;
536
+ url?: string;
1108
537
  }
1109
- /**
1110
- * Интерфейс комментария/события в timeline issue (согласно OpenAPI v1.1)
1111
- */
1112
- interface TimelineComment {
1113
- /** Уникальный идентификатор */
1114
- id?: number;
1115
- /** Тип события */
1116
- type?: string;
1117
- /** Текст комментария */
1118
- body?: string;
1119
- /** Веб-ссылка */
1120
- html_url?: string;
1121
- /** Ссылка на issue */
1122
- issue_url?: string;
1123
- /** Ссылка на pull request */
1124
- pull_request_url?: string;
1125
- /** Пользователь, создавший событие */
1126
- user?: User2;
1127
- /** Назначенный пользователь */
1128
- assignee?: User2;
1129
- /** Назначенная команда */
1130
- assignee_team?: Team;
1131
- /** Метка (для событий с метками) */
1132
- label?: Label;
1133
- /** Milestone */
1134
- milestone?: Milestone;
1135
- /** Старый milestone (для событий изменения milestone) */
1136
- old_milestone?: Milestone;
1137
- /** Новая ссылка */
1138
- new_ref?: string;
1139
- /** Старая ссылка */
1140
- old_ref?: string;
1141
- /** Новый заголовок */
1142
- new_title?: string;
1143
- /** Старый заголовок */
1144
- old_title?: string;
1145
- /** ID проекта */
1146
- project_id?: number;
1147
- /** Старый ID проекта */
1148
- old_project_id?: number;
1149
- /** Действие со ссылкой */
1150
- ref_action?: string;
1151
- /** Ссылочный комментарий */
1152
- ref_comment?: Comment;
1153
- /** SHA коммита, где была ссылка на issue/PR */
1154
- ref_commit_sha?: string;
1155
- /** Ссылочный issue */
1156
- ref_issue?: Issue;
1157
- /** Зависимый issue */
1158
- dependent_issue?: Issue;
1159
- /** Были ли назначенные удалены (true) или добавлены (false) */
1160
- removed_assignee?: boolean;
1161
- /** Пользователь, разрешивший комментарий */
1162
- resolve_doer?: User2;
1163
- /** ID ревью */
1164
- review_id?: number;
1165
- /** Отслеживаемое время */
1166
- tracked_time?: TrackedTime;
1167
- /** Дата создания */
538
+ interface User {
539
+ /** Адрес аватарки */
540
+ avatar_url?: string;
541
+ /** О себе */
542
+ bio?: string;
543
+ /** Дата создания учетной записи */
1168
544
  created_at?: string;
1169
- /** Дата обновления */
1170
- updated_at?: string;
1171
- }
1172
- /**
1173
- * Интерфейс отслеживаемого времени
1174
- */
1175
- interface TrackedTime {
545
+ /** Почта */
546
+ email?: string;
547
+ /** Счетчики */
548
+ followers?: number;
549
+ /** Url для получения подписчиков пользователя */
550
+ followers_url?: string;
551
+ following?: number;
552
+ /** Url для получения подписок пользователя */
553
+ following_url?: string;
554
+ /** Полное имя */
555
+ full_name?: string;
556
+ /** Адрес страницы пользователя */
557
+ html_url?: string;
1176
558
  /** Идентификатор */
1177
559
  id?: number;
1178
- /** Дата создания */
1179
- created?: string;
1180
- /** Время в секундах */
1181
- time?: number;
1182
- /** ID пользователя (deprecated) */
1183
- user_id?: number;
560
+ /** Верифицирован? */
561
+ is_verified?: boolean;
562
+ /** Местоположение */
563
+ location?: string;
564
+ /** Логин пользователя */
565
+ login?: string;
1184
566
  /** Имя пользователя */
1185
- user_name?: string;
1186
- /** ID issue (deprecated) */
1187
- issue_id?: number;
1188
- /** Issue */
1189
- issue?: Issue;
1190
- }
1191
- /**
1192
- * Параметры для получения списка веток
1193
- */
1194
- interface ListBranchesParams extends PaginationParams {
1195
- /** Поисковый запрос для фильтрации веток по имени */
1196
- q?: string;
1197
- }
1198
- /**
1199
- * Интерфейс ветки репозитория
1200
- */
1201
- interface Branch {
1202
- /** Имя ветки */
1203
- name: string;
1204
- /** SHA-хеш последнего коммита */
1205
- commit: {
1206
- sha: string
1207
- url: string
1208
- /** Дата создания коммита */
1209
- created?: string
1210
- /** Веб-ссылка на коммит */
1211
- html_url?: string
1212
- };
1213
- /** Защищена ли ветка */
1214
- protected?: boolean;
1215
- }
1216
- /**
1217
- * Интерфейс коммита
1218
- */
1219
- interface Commit {
1220
- /** SHA-хеш коммита */
1221
- sha: string;
1222
- /** Node ID коммита */
1223
- node_id?: string;
1224
- /** Информация о коммите */
1225
- commit: {
1226
- /** Автор коммита */
1227
- author: {
1228
- name: string
1229
- email: string
1230
- date: string
1231
- }
1232
- /** Коммиттер */
1233
- committer: {
1234
- name: string
1235
- email: string
1236
- date: string
1237
- }
1238
- /** Сообщение коммита */
1239
- message: string
1240
- /** Дерево коммита */
1241
- tree: {
1242
- sha: string
1243
- url: string
1244
- /** Дата создания */
1245
- created?: string
1246
- }
1247
- };
1248
- /** Автор (пользователь GitVerse) */
1249
- author?: User2 | null;
1250
- /** Коммиттер (пользователь GitVerse) */
1251
- committer?: User2 | null;
1252
- /** Родительские коммиты */
1253
- parents: Array<{
1254
- sha: string
1255
- url: string
1256
- html_url: string
1257
- }>;
1258
- /** API-ссылка на коммит */
1259
- url: string;
1260
- /** Веб-ссылка на коммит */
1261
- html_url: string;
1262
- /** Ветка коммита */
1263
- branch?: string;
1264
- /** Дата создания */
1265
- created?: string;
1266
- /** Изменённые файлы */
1267
- files?: CommitFile[];
1268
- /** Статистика изменений */
1269
- stats?: {
1270
- additions: number
1271
- deletions: number
1272
- total: number
1273
- };
1274
- }
1275
- /**
1276
- * Файл в коммите
1277
- */
1278
- interface CommitFile {
1279
- /** Имя файла */
1280
- filename: string;
1281
- /** Количество добавленных строк */
1282
- additions: number;
1283
- /** Количество удалённых строк */
1284
- deletions: number;
1285
- /** Общее количество изменений */
1286
- changes: number;
1287
- /** Статус файла (added, modified, removed, renamed) */
1288
- status: string;
1289
- /** Предыдущее имя файла (при переименовании) */
1290
- previous_filename?: string;
1291
- /** SHA-хеш blob файла */
1292
- sha?: string;
1293
- /** URL blob файла */
1294
- blob_url?: string;
1295
- /** URL contents файла */
1296
- contents_url?: string;
1297
- /** URL raw файла */
1298
- raw_url?: string;
1299
- /** Патч с изменениями */
1300
- patch?: string;
1301
- }
1302
- /**
1303
- * Параметры для создания коммита
1304
- */
1305
- interface CreateCommitParams {
1306
- /** Сообщение коммита */
1307
- message: string;
1308
- /** SHA-хеш дерева */
1309
- tree: string;
1310
- /** SHA-хеши родительских коммитов */
1311
- parents?: string[];
1312
- /** Информация об авторе */
1313
- author?: {
1314
- name: string
1315
- email: string
1316
- date?: string
1317
- };
1318
- /** Информация о коммиттере */
1319
- committer?: {
1320
- name: string
1321
- email: string
1322
- date?: string
1323
- };
1324
- }
1325
- /**
1326
- * Параметры для обновления репозитория
1327
- */
1328
- interface UpdateRepositoryParams {
1329
- /** Новое название репозитория */
1330
567
  name?: string;
1331
- /** Новое описание репозитория */
1332
- description?: string;
1333
- /** Приватный ли репозиторий */
1334
- private?: boolean;
1335
- /** Ветка по умолчанию */
1336
- default_branch?: string;
1337
- /** Архивирован ли репозиторий */
1338
- archived?: boolean;
1339
- /** Разрешить авто-слияние */
1340
- allow_auto_merge?: boolean;
1341
- /** Разрешить merge коммиты */
1342
- allow_merge?: boolean;
1343
- /** Разрешить rebase */
1344
- allow_rebase?: boolean;
1345
- /** Разрешить rebase слияние */
1346
- allow_rebase_merge?: boolean;
1347
- /** Разрешить squash слияние */
1348
- allow_squash_merge?: boolean;
1349
- /** Разрешить обновление веток */
1350
- allow_update_branch?: boolean;
1351
- /** Автоопределение ручных слияний */
1352
- autodetect_manual_merge?: boolean;
1353
- /** Разрешить мейнтейнерам редактировать по умолчанию */
1354
- default_allow_maintainer_edit?: boolean;
1355
- /** Стиль слияния по умолчанию */
1356
- default_merge_style?: string;
1357
- /** Удалять ветку после слияния */
1358
- delete_branch_on_merge?: boolean;
1359
- /** Домашняя страница проекта */
1360
- homepage?: string;
1361
- /** Игнорировать пробелы при сравнении */
1362
- ignore_whitespace?: boolean;
1363
- /** Является ли репозиторий шаблоном */
1364
- is_template?: boolean;
568
+ /** Url для получения организаций пользователя */
569
+ organizations_url?: string;
570
+ /** Публичные репозитории */
571
+ public_repos?: number;
572
+ /** Url для получения репозиториев пользователя */
573
+ repos_url?: string;
574
+ /** Есть ли права админа */
575
+ site_admin?: boolean;
576
+ /** Url для получения репозиториев пользователя, которые были добавлены в избранное */
577
+ starred_url?: string;
578
+ /** Количество репозиториев в избранном */
579
+ stars_count?: number;
580
+ /** Url для получения подписок пользователя */
581
+ subscriptions_url?: string;
582
+ /** Тип пользователя */
583
+ type?: string;
584
+ /** Дата изменения учетной записи */
585
+ updated_at?: string;
586
+ /** Url для получения пользователя */
587
+ url?: string;
588
+ /** Вебсайт */
589
+ website?: string;
1365
590
  }
1366
- /**
1367
- * Интерфейс результата сравнения веток/коммитов
1368
- */
1369
- interface CompareResponse {
1370
- /** URL для сравнения */
1371
- url: string;
1372
- /** Веб-ссылка для сравнения */
1373
- html_url: string;
1374
- /** Базовый коммит */
1375
- base_commit: Commit;
1376
- /** Сравниваемый коммит */
1377
- merge_base_commit: Commit;
1378
- /** Статус сравнения */
1379
- status: "ahead" | "behind" | "identical" | "diverged";
1380
- /** Количество коммитов впереди */
1381
- ahead_by: number;
1382
- /** Количество коммитов позади */
1383
- behind_by: number;
1384
- /** Общее количество коммитов */
1385
- total_commits: number;
1386
- /** Список коммитов */
1387
- commits: Commit[];
1388
- /** Изменённые файлы */
1389
- files: CommitFile[];
591
+ interface Label {
592
+ /** example: 00aabb */
593
+ color?: string;
594
+ description?: string;
595
+ /** example: false */
596
+ exclusive?: boolean;
597
+ id?: number;
598
+ /** example: false */
599
+ is_archived?: boolean;
600
+ name?: string;
601
+ url?: string;
1390
602
  }
1391
- /**
1392
- * Параметры для обновления pull request
1393
- */
1394
- interface UpdatePullRequestParams {
1395
- /** Новый заголовок */
603
+ interface Milestone {
604
+ closed_at?: string;
605
+ closed_issues?: number;
606
+ created_at?: string;
607
+ description?: string;
608
+ due_on?: string;
609
+ id?: number;
610
+ open_issues?: number;
611
+ state?: string;
1396
612
  title?: string;
1397
- /** Новое описание */
1398
- body?: string;
1399
- /** Новое состояние */
1400
- state?: PullRequestState;
1401
- /** Базовая ветка */
1402
- base?: string;
1403
- /** Можно ли мейнтейнерам модифицировать */
1404
- maintainer_can_modify?: boolean;
613
+ updated_at?: string;
1405
614
  }
1406
- /**
1407
- * Интерфейс файла в pull request
1408
- */
1409
- interface PullRequestFile {
1410
- /** SHA-хеш файла */
1411
- sha: string;
1412
- /** Имя файла */
1413
- filename: string;
1414
- /** Статус изменения */
1415
- status: "added" | "removed" | "modified" | "renamed" | "copied" | "changed" | "unchanged";
1416
- /** Количество добавленных строк */
1417
- additions: number;
1418
- /** Количество удалённых строк */
1419
- deletions: number;
1420
- /** Общее количество изменений */
1421
- changes: number;
1422
- /** URL для получения содержимого */
1423
- blob_url: string;
1424
- /** Raw URL */
1425
- raw_url: string;
1426
- /** API URL */
1427
- contents_url: string;
1428
- /** Patch для файла */
1429
- patch?: string;
615
+ interface PullRequestMeta {
616
+ draft?: boolean;
617
+ html_url?: string;
618
+ merged?: boolean;
619
+ merged_at?: string;
1430
620
  }
1431
- /**
1432
- * Интерфейс команды (team)
1433
- */
1434
- /**
1435
- * Краткая информация о репозитории (для вложенных объектов)
1436
- */
1437
621
  interface RepositoryMeta {
1438
- /** Идентификатор репозитория */
1439
- id: number;
1440
- /** Название репозитория */
1441
- name: string;
1442
- /** Полное название репозитория */
1443
- full_name: string;
622
+ full_name?: string;
623
+ id?: number;
624
+ name?: string;
625
+ owner?: string;
1444
626
  }
1445
- /**
1446
- * Краткая информация о pull request (для вложенных объектов в issue)
1447
- */
1448
- interface PullRequestMeta {
1449
- /** URL pull request */
1450
- url?: string;
1451
- /** Веб-ссылка на pull request */
627
+ interface Issue {
628
+ assets?: Attachment[];
629
+ assignee?: User;
630
+ assignees?: User[];
631
+ body?: string;
632
+ closed_at?: string;
633
+ comments?: number;
634
+ created_at?: string;
635
+ due_date?: string;
1452
636
  html_url?: string;
1453
- /** Ссылка на diff */
1454
- diff_url?: string;
1455
- /** Ссылка на patch */
1456
- patch_url?: string;
1457
- /** Был ли PR смёрджен */
1458
- merged?: boolean;
1459
- /** Дата мёрджа */
1460
- merged_at?: string | null;
637
+ id?: number;
638
+ is_locked?: boolean;
639
+ labels?: Label[];
640
+ milestone?: Milestone;
641
+ number?: number;
642
+ original_author?: string;
643
+ original_author_id?: number;
644
+ pull_request?: PullRequestMeta;
645
+ ref?: string;
646
+ repository?: RepositoryMeta;
647
+ state?: string;
648
+ title?: string;
649
+ updated_at?: string;
650
+ url?: string;
651
+ user?: User;
652
+ }
653
+ interface Repository {
654
+ allow_merge_commit?: boolean;
655
+ allow_rebase_merge?: boolean;
656
+ allow_squash_merge?: boolean;
657
+ archived?: boolean;
658
+ clone_url?: string;
659
+ contents_url?: string;
660
+ created_at?: string;
661
+ default_branch?: string;
662
+ delete_branch_on_merge?: boolean;
663
+ description?: string;
664
+ disabled?: boolean;
665
+ fork?: boolean;
666
+ forks?: number;
667
+ forks_count?: number;
668
+ forks_url?: string;
669
+ full_name?: string;
670
+ has_issues?: boolean;
671
+ has_wiki?: boolean;
672
+ id?: number;
673
+ is_template?: boolean;
674
+ issue_comment_url?: string;
675
+ issues_url?: string;
676
+ language?: string;
677
+ languages_url?: string;
678
+ mirror_url?: string;
679
+ name?: string;
680
+ open_issues?: number;
681
+ open_issues_count?: number;
682
+ owner?: UserPublicInfo;
683
+ parent?: Repository;
684
+ permissions?: Permissions;
685
+ private?: boolean;
686
+ pulls_url?: string;
687
+ pushed_at?: string;
688
+ size?: number;
689
+ ssh_url?: string;
690
+ stargazers_count?: number;
691
+ template_repository?: Repository;
692
+ topics?: string[];
693
+ updated_at?: string;
694
+ url?: string;
695
+ visibility?: string;
696
+ watchers?: number;
697
+ watchers_count?: number;
698
+ }
699
+ interface PRBranchInfo {
700
+ label?: string;
701
+ ref?: string;
702
+ repo?: Repository;
703
+ repo_id?: number;
704
+ sha?: string;
1461
705
  }
1462
706
  interface Team {
1463
- /** Идентификатор команды */
1464
- id: number;
1465
- /** Название команды */
1466
- name: string;
707
+ /** Полномочия на создание репозиториев */
708
+ can_create_org_repo?: boolean;
1467
709
  /** Описание команды */
1468
710
  description?: string;
1469
- /** Права доступа */
1470
- permission: "pull" | "push" | "admin";
711
+ /** Идентификатор */
712
+ id?: number;
713
+ /** Включает все репозитории */
714
+ includes_all_repositories?: boolean;
715
+ /** Название команды */
716
+ name?: string;
1471
717
  /** Количество участников */
1472
718
  num_members?: number;
1473
719
  /** Количество репозиториев */
1474
720
  num_repos?: number;
1475
- /** Может создавать репозитории в организации */
1476
- can_create_org_repo?: boolean;
1477
- /** Включает все репозитории */
1478
- includes_all_repositories?: boolean;
1479
- /** Права на Actions */
721
+ /** Полномочия */
722
+ permission?: string;
723
+ /** Полномочие на действия с ветками */
1480
724
  permission_actions?: string;
1481
- /** Права на код */
725
+ /** Код полномочия */
1482
726
  permission_code?: string;
1483
- /** Права на packages */
727
+ /** Полномочие на пакеты */
1484
728
  permission_packages?: string;
1485
- /** Права на pull requests */
729
+ /** Полномочие на отправку пулл-реквестов */
1486
730
  permission_pulls?: string;
1487
- /** Права на релизы */
731
+ /** Полномочие на релизы */
1488
732
  permission_releases?: string;
1489
733
  }
1490
- /**
1491
- * Интерфейс приглашения в команду
1492
- */
1493
- interface Invitation {
1494
- /** Идентификатор приглашения */
1495
- id: number;
1496
- /** Приглашённый пользователь */
1497
- login: string;
1498
- /** Email приглашённого */
1499
- email?: string;
1500
- /** Роль */
1501
- role: string;
1502
- /** Дата создания */
1503
- created_at: string;
1504
- /** Приглашающий */
1505
- inviter: User2;
1506
- }
1507
- /**
1508
- * Интерфейс релиза
1509
- */
1510
- interface Release {
1511
- /** Идентификатор релиза */
1512
- id: number;
1513
- /** Тег релиза */
1514
- tag_name: string;
1515
- /** Целевой коммит */
1516
- target_commitish: string;
1517
- /** Название релиза */
1518
- name: string;
1519
- /** Описание релиза */
734
+ interface PullRequest {
735
+ assignee?: User;
736
+ assignees?: User[];
737
+ base?: PRBranchInfo;
1520
738
  body?: string;
1521
- /** Черновик ли релиз */
1522
- draft: boolean;
1523
- /** Пре-релиз ли */
1524
- prerelease: boolean;
1525
- /** Автор релиза */
1526
- author: User2;
1527
- /** Дата создания */
1528
- created_at: string;
1529
- /** Дата публикации */
1530
- published_at?: string;
1531
- /** Веб-ссылка */
1532
- html_url: string;
1533
- /** API-ссылка */
1534
- url: string;
1535
- /** Ссылка на архив tar.gz */
1536
- tarball_url: string;
1537
- /** Ссылка на архив zip */
1538
- zipball_url: string;
1539
- /** URL для загрузки ассетов */
1540
- upload_url?: string;
1541
- /** Список ассетов */
1542
- assets: Asset[];
739
+ closed_at?: string;
740
+ comments?: number;
741
+ created_at?: string;
742
+ diff_url?: string;
743
+ head?: PRBranchInfo;
744
+ html_url?: string;
745
+ id?: number;
746
+ is_draft?: boolean;
747
+ labels?: Label[];
748
+ locked?: boolean;
749
+ maintainer_can_modify?: boolean;
750
+ merge_commit_sha?: string;
751
+ mergeable?: boolean;
752
+ merged?: boolean;
753
+ merged_at?: string;
754
+ merged_by?: User;
755
+ milestone?: Milestone;
756
+ number?: number;
757
+ patch_url?: string;
758
+ requested_reviewers?: User[];
759
+ requested_teams?: Team[];
760
+ state?: string;
761
+ title?: string;
762
+ updated_at?: string;
763
+ url?: string;
764
+ user?: User;
1543
765
  }
1544
- /**
1545
- * Параметры для получения списка релизов
1546
- */
1547
- interface ListReleasesParams extends PaginationParams {
1548
- /** Фильтр по черновикам */
1549
- draft?: boolean;
1550
- /** Фильтр по пре-релизам */
1551
- pre_release?: boolean;
766
+ interface Reference {
767
+ object?: GitObject;
768
+ ref?: string;
769
+ url?: string;
1552
770
  }
1553
- /**
1554
- * Параметры для создания релиза
1555
- */
1556
- interface CreateReleaseParams {
1557
- /** Тег релиза */
1558
- tag_name: string;
1559
- /** Целевой коммит (по умолчанию основная ветка) */
1560
- target_commitish?: string;
1561
- /** Название релиза */
1562
- name?: string;
1563
- /** Описание релиза */
771
+ interface RegistrationToken {
772
+ token?: string;
773
+ }
774
+ interface Release {
775
+ assets?: Attachment[];
776
+ author?: User;
1564
777
  body?: string;
1565
- /** Черновик ли релиз */
778
+ created_at?: string;
1566
779
  draft?: boolean;
1567
- /** Пре-релиз ли */
780
+ html_url?: string;
781
+ id?: number;
782
+ name?: string;
1568
783
  prerelease?: boolean;
1569
- }
1570
- /**
1571
- * Параметры для обновления релиза
1572
- */
1573
- interface UpdateReleaseParams {
1574
- /** Тег релиза */
784
+ published_at?: string;
1575
785
  tag_name?: string;
1576
- /** Целевой коммит */
786
+ tarball_url?: string;
1577
787
  target_commitish?: string;
1578
- /** Название релиза */
1579
- name?: string;
1580
- /** Описание релиза */
1581
- body?: string;
1582
- /** Черновик ли релиз */
1583
- draft?: boolean;
1584
- /** Пре-релиз ли */
1585
- prerelease?: boolean;
1586
- }
1587
- /**
1588
- * Интерфейс ассета релиза
1589
- */
1590
- interface Asset {
1591
- /** Идентификатор ассета */
1592
- id: number;
1593
- /** UUID ассета */
1594
- uuid: string;
1595
- /** Название файла */
1596
- name: string;
1597
- /** Размер в байтах */
1598
- size: number;
1599
- /** Количество скачиваний */
1600
- download_count: number;
1601
- /** Дата создания */
1602
- created_at: string;
1603
- /** URL для скачивания */
1604
- browser_download_url: string;
1605
- }
1606
- /**
1607
- * Параметры для загрузки ассета
1608
- */
1609
- interface UploadAssetParams {
1610
- /** Название файла */
1611
- name: string;
1612
- /** Содержимое файла */
1613
- data: ArrayBuffer | Blob;
1614
- }
1615
- /**
1616
- * Интерфейс Git-ссылки (reference)
1617
- */
1618
- interface Reference {
1619
- /** Имя ссылки (например, refs/heads/main) */
1620
- ref: string;
1621
- /** API-ссылка */
1622
- url: string;
1623
- /** Объект, на который указывает ссылка */
1624
- object: {
1625
- type: string
1626
- sha: string
1627
- url: string
1628
- };
1629
- }
1630
- /**
1631
- * Параметры для создания Git-ссылки
1632
- */
1633
- interface CreateRefParams {
1634
- /** Имя ссылки (например, refs/heads/feature-branch) */
1635
- ref: string;
1636
- /** SHA-хеш коммита */
1637
- sha: string;
1638
- }
1639
- /**
1640
- * Интерфейс Git-дерева
1641
- */
1642
- interface Tree {
1643
- /** SHA-хеш дерева */
1644
- sha: string;
1645
- /** API-ссылка на дерево */
1646
- url: string;
1647
- /** Список записей в дереве */
1648
- tree: TreeEntry[];
1649
- /** Обрезано ли дерево */
1650
- truncated: boolean;
1651
- /** Номер страницы (для пагинации) */
1652
- page?: number;
1653
- /** Общее количество записей */
1654
- total_count?: number;
788
+ upload_url?: string;
789
+ url?: string;
790
+ zipball_url?: string;
1655
791
  }
1656
- /**
1657
- * Интерфейс записи в Git-дереве
1658
- */
1659
792
  interface TreeEntry {
1660
- /** Путь к файлу/директории */
1661
- path: string;
1662
- /** Режим доступа */
1663
- mode: string;
1664
- /** Тип объекта */
1665
- type: "blob" | "tree" | "commit";
1666
- /** SHA-хеш объекта */
1667
- sha: string;
1668
- /** Размер (для blob) */
793
+ mode?: string;
794
+ path?: string;
795
+ sha?: string;
1669
796
  size?: number;
1670
- /** URL объекта */
1671
- url?: string;
1672
- }
1673
- /**
1674
- * Параметры для создания Git-дерева
1675
- */
1676
- interface CreateTreeParams {
1677
- /** Список записей дерева */
1678
- tree: Array<{
1679
- path: string
1680
- mode: "100644" | "100755" | "040000" | "160000" | "120000"
1681
- type: "blob" | "tree" | "commit"
1682
- sha?: string
1683
- content?: string
1684
- }>;
1685
- /** SHA-хеш базового дерева */
1686
- base_tree?: string;
1687
- }
1688
- /**
1689
- * Параметры для получения Git-дерева
1690
- */
1691
- interface GetTreeParams extends PaginationParams {
1692
- /** Рекурсивное получение поддеревьев */
1693
- recursive?: boolean;
797
+ /** "blob", "tree", "commit" */
798
+ type?: string;
1694
799
  }
1695
- /**
1696
- * Интерфейс раннера GitHub Actions
1697
- */
1698
- interface Runner {
1699
- /** Идентификатор раннера */
1700
- id: number;
1701
- /** Название раннера */
1702
- name: string;
1703
- /** Статус раннера */
1704
- status: string;
1705
- /** Занят ли раннер */
1706
- busy: boolean;
1707
- /** Метки раннера */
1708
- labels: Array<{
1709
- id: number
1710
- name: string
1711
- type: string
1712
- }>;
800
+ interface RepoTree {
801
+ sha?: string;
802
+ tree?: TreeEntry[];
803
+ truncated?: boolean;
804
+ url?: string;
1713
805
  }
1714
- /**
1715
- * Интерфейс секрета GitHub Actions
1716
- */
1717
806
  interface Secret {
1718
- /** Название секрета */
1719
- name: string;
1720
- /** Дата создания */
1721
- created_at: string;
1722
- }
1723
- /**
1724
- * Параметры для получения workflow dispatch inputs
1725
- */
1726
- interface GetWorkflowDispatchParams {
1727
- /** Название ветки */
1728
- branch?: string;
1729
- /** Название тега */
1730
- tag?: string;
807
+ created_at?: string;
808
+ name?: string;
1731
809
  }
1732
- /**
1733
- * Входной параметр workflow dispatch
1734
- */
1735
- interface WorkflowDispatchInput {
1736
- /** Название параметра */
1737
- name: string;
1738
- /** Описание параметра */
1739
- description: string;
1740
- /** Тип параметра */
1741
- type: string;
1742
- /** Обязательный ли параметр */
1743
- required: boolean;
1744
- /** Значение по умолчанию */
1745
- default: string;
1746
- /** Доступные опции (для select) */
1747
- options: string[];
810
+ interface SecretList {
811
+ secrets?: Secret[];
812
+ total_count?: number;
1748
813
  }
1749
- /**
1750
- * Параметры для списка артефактов
1751
- */
1752
- interface ListArtifactsParams extends PaginationParams {
1753
- /** Фильтр по имени артефакта */
1754
- name?: string;
814
+ interface TrackedTime {
815
+ /** swagger:strfmt date-time */
816
+ created?: string;
817
+ id?: number;
818
+ issue?: Issue;
819
+ /** deprecated (only for backwards compatibility) */
820
+ issue_id?: number;
821
+ /** Time in seconds */
822
+ time?: number;
823
+ /** deprecated (only for backwards compatibility) */
824
+ user_id?: number;
825
+ user_name?: string;
1755
826
  }
1756
- /**
1757
- * Параметры для добавления репозитория в команду
1758
- */
1759
- interface AddTeamRepositoryParams {
1760
- /** Уровень доступа (read, write, admin) */
1761
- permission: string;
827
+ interface TimelineComment {
828
+ assignee?: User;
829
+ assignee_team?: Team;
830
+ body?: string;
831
+ /** swagger:strfmt date-time */
832
+ created_at?: string;
833
+ dependent_issue?: Issue;
834
+ html_url?: string;
835
+ id?: number;
836
+ issue_url?: string;
837
+ label?: Label;
838
+ milestone?: Milestone;
839
+ new_ref?: string;
840
+ new_title?: string;
841
+ old_milestone?: Milestone;
842
+ old_project_id?: number;
843
+ old_ref?: string;
844
+ old_title?: string;
845
+ project_id?: number;
846
+ pull_request_url?: string;
847
+ ref_action?: string;
848
+ ref_comment?: Comment;
849
+ /** commit SHA where issue/PR was referenced */
850
+ ref_commit_sha?: string;
851
+ ref_issue?: Issue;
852
+ /** whether the assignees were removed or added */
853
+ removed_assignee?: boolean;
854
+ resolve_doer?: User;
855
+ review_id?: number;
856
+ tracked_time?: TrackedTime;
857
+ type?: string;
858
+ /** swagger:strfmt date-time */
859
+ updated_at?: string;
860
+ user?: User;
1762
861
  }
1763
- /**
1764
- * Интерфейс переменной GitHub Actions
1765
- */
1766
- interface Variable {
1767
- /** Название переменной */
1768
- name: string;
1769
- /** Значение переменной */
1770
- value: string;
1771
- /** Дата создания */
1772
- created_at: string;
1773
- /** Дата обновления */
1774
- updated_at: string;
862
+ interface UpdateBranchResponse {
863
+ message?: string;
864
+ url?: string;
1775
865
  }
1776
- /**
1777
- * Параметры для создания переменной
1778
- */
1779
- interface CreateVariableParams {
1780
- /** Название переменной */
1781
- name: string;
1782
- /** Значение переменной */
1783
- value: string;
866
+ interface UserPrefsArray {
867
+ incomplete_results?: boolean;
868
+ items?: User[];
869
+ total_count?: number;
1784
870
  }
1785
- /**
1786
- * Параметры для обновления переменной
1787
- */
1788
- interface UpdateVariableParams {
1789
- /** Новое название (опционально) */
871
+ interface Variable {
872
+ created_at?: string;
1790
873
  name?: string;
1791
- /** Новое значение */
874
+ updated_at?: string;
1792
875
  value?: string;
1793
876
  }
1794
- /**
1795
- * Интерфейс артефакта GitHub Actions
1796
- */
1797
- interface Artifact {
1798
- /** Идентификатор артефакта */
1799
- id: number;
1800
- /** Название артефакта */
1801
- name: string;
1802
- /** Размер в байтах */
1803
- size_in_bytes: number;
1804
- /** API-ссылка */
1805
- url: string;
1806
- /** Ссылка на архив */
1807
- archive_download_url: string;
1808
- /** Истёк ли срок действия */
1809
- expired: boolean;
1810
- /** Дата создания */
1811
- created_at: string;
1812
- /** Дата истечения */
1813
- expires_at: string;
1814
- /** Дата обновления */
1815
- updated_at: string;
1816
- /** Информация о запуске workflow */
1817
- workflow_run?: {
1818
- id: number
1819
- repository_id: number
1820
- head_sha: string
1821
- };
877
+ interface VariableList {
878
+ total_count?: number;
879
+ variables?: Variable[];
1822
880
  }
1823
- /**
1824
- * Параметры для запуска workflow
1825
- */
1826
- interface DispatchWorkflowParams {
1827
- /** Название ветки (один из branch или tag обязателен) */
1828
- branch?: string;
1829
- /** Название тега (один из branch или tag обязателен) */
1830
- tag?: string;
1831
- /** Входные параметры для workflow (обязательный параметр) */
1832
- inputs: Record<string, string>;
881
+ interface WorkflowDispatchInput {
882
+ default?: string;
883
+ description?: string;
884
+ name?: string;
885
+ options?: string[];
886
+ required?: boolean;
887
+ type?: string;
888
+ }
889
+ interface WorkflowDispatchInputList {
890
+ inputs?: WorkflowDispatchInput[];
1833
891
  }
1834
- export { WorkflowDispatchInput, Variable, UserSearchResult, User2 as User, UploadAssetParams, UpdateVariableParams, UpdateRepositoryParams, UpdateReleaseParams, UpdatePullRequestParams, UpdateFileParams, UpdateBranchResponse, UpdateBranchParams, TreeEntry, Tree, TrackedTime, TimelineEvent, TimelineComment, Team, Secret, SearchUsersParams, Runner, RequestOptions, RepositoryMeta, Repository, RemoveEmailParams, Release, Reference, RateLimitInfo, PullRequestMeta, PullRequestFile, PullRequestBase, PullRequest, Permissions, PaginationParams, Milestone, ListStarsParams, ListReleasesParams, ListPullRequestsParams, ListIssuesParams, ListCommitsParams, ListCommentsParams, ListCollaboratorsParams, ListBranchesParams, ListArtifactsParams, LanguagesResponse, Label, Issue, Invitation, GetWorkflowDispatchParams, GetTreeParams, GetTimelineParams, GetPullFilesParams, GetPullCommitsParams, GetContentParams, FileDeletionResponse, FileCreationResponse, FileContent, Email, DispatchWorkflowParams, DirectoryContent, DeleteFileParams, CurrentUser, CreateVariableParams, CreateTreeParams, CreateRepositoryParams, CreateReleaseParams, CreateRefParams, CreatePullRequestParams, CreateForkParams, CreateFileParams, CreateCommitParams, Content, CompareResponse, CommitInfo, CommitFile, Commit, Comment, CollaboratorInvitation, Collaborator, Branch, Asset, Artifact, ApiVersionInfo, ApiResponseMetadata, ApiError, AddTeamRepositoryParams, AddEmailParams, AddCollaboratorParams };
892
+ export { WorkflowDispatchInputList, WorkflowDispatchInput, VariableList, Variable, UserPublicInfo, UserPrefsArray, User, UpdateRepositoryParams, UpdateReleaseParams, UpdatePullRequestParams, UpdateBranchResponse, UpdateBranchParams, TreeMeta, TreeItem, TreeEntry, TrackedTime, TimelineComment, TeamRepoPermissions, Team, SecretList, Secret, RequestOptions, RepositoryMeta, Repository, RepoTree, RepoPublicInfo, RepoCommit, Release, RegistrationToken, Reference, RateLimitInfo, PullRequestMeta, PullRequest, Permissions, PaginationParams, PRBranchInfo, Milestone, Label, Issue, GitTreeResponse, GitObject, GitEntry, FileLinksResponse, FileDeleteResponse, FileCreationResponse, FileCommitResponse, Email, DeleteFileParams, DeleteEmailParams, CreateVariableParams, CreateTreeParams, CreateRepositoryParams, CreateReleaseParams, CreateReferenceParams, CreatePullRequestParams, CreateForkParams, CreateFileParams, CreateEmailParams, CreateCommitParams, ContentsResponse, CompareResponse, CommitVerification, CommitUserParams, CommitUser, CommitStats, CommitMeta, CommitFiles, Commit, Comment, CollaboratorInvitation, Collaborator, Branch, Attachment, ApiVersionInfo, ApiResponseMetadata, ApiError, AddCollaboratorParams, ActionWorkflowRun, ActionRunners, ActionRunnerLabel, ActionRunner, ActionArtifactList, ActionArtifact };