gitverse-api-sdk 4.0.2 → 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 +106 -270
  2. package/dist/api/actions.d.ts +360 -363
  3. package/dist/api/actions.js +3 -3
  4. package/dist/api/actions.js.map +3 -3
  5. package/dist/api/emails.d.ts +56 -51
  6. package/dist/api/emails.js +3 -3
  7. package/dist/api/emails.js.map +3 -3
  8. package/dist/api/issues.d.ts +297 -214
  9. package/dist/api/issues.js +3 -3
  10. package/dist/api/issues.js.map +3 -3
  11. package/dist/api/organizations.d.ts +78 -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 +338 -427
  15. package/dist/api/pulls.js +3 -3
  16. package/dist/api/pulls.js.map +3 -3
  17. package/dist/api/releases.d.ts +198 -231
  18. package/dist/api/releases.js +3 -3
  19. package/dist/api/releases.js.map +3 -3
  20. package/dist/api/repositories.d.ts +878 -330
  21. package/dist/api/repositories.js +3 -3
  22. package/dist/api/repositories.js.map +3 -3
  23. package/dist/api/stars.d.ts +109 -182
  24. package/dist/api/stars.js +3 -3
  25. package/dist/api/stars.js.map +3 -3
  26. package/dist/api/teams.d.ts +118 -134
  27. package/dist/api/teams.js +3 -3
  28. package/dist/api/teams.js.map +3 -3
  29. package/dist/api/users.d.ts +99 -97
  30. package/dist/api/users.js +3 -3
  31. package/dist/api/users.js.map +3 -3
  32. package/dist/client.d.ts +14 -0
  33. package/dist/client.js +3 -3
  34. package/dist/client.js.map +3 -3
  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 +2042 -2130
  42. package/dist/index.js +2 -2
  43. package/dist/index.js.map +3 -3
  44. package/dist/types.d.ts +779 -1223
  45. package/dist/utils.js +1 -2
  46. package/dist/utils.js.map +1 -1
  47. package/package.json +2 -2
  48. package/dist/api/branches.d.ts +0 -173
  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 -243
  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 -321
  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 -364
  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 -344
  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 -247
  64. package/dist/api/git.js +0 -4
  65. package/dist/api/git.js.map +0 -10
package/dist/types.d.ts CHANGED
@@ -1,1336 +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;
140
- }
141
- /**
142
- * Интерфейс пользователя
143
- */
144
- interface User2 {
145
- /** Уникальный идентификатор пользователя */
146
- id: number;
147
- /** Имя пользователя */
148
- name?: string;
149
- /** Логин пользователя */
150
- login: string;
151
- /** Полное имя пользователя */
152
- full_name?: string;
153
- /** Тип аккаунта: пользователь или организация */
154
- type: UserType;
155
- /** Биография пользователя */
156
- bio?: string;
157
- /** Электронная почта пользователя */
158
- email?: string;
159
- /** URL аватара пользователя */
160
- avatar_url: string;
161
- /** Веб-ссылка на профиль пользователя */
162
- html_url: string;
163
- /** API-ссылка на профиль пользователя */
164
- url?: string;
165
- /** API-ссылка на список подписчиков пользователя */
166
- followers_url?: string;
167
- /** API-ссылка на репозитории пользователя */
168
- repos_url?: string;
169
- /** API-ссылка на организации пользователя */
170
- organizations_url?: string;
171
- /** Права администратора */
172
- site_admin: boolean;
173
- /** Местоположение пользователя */
174
- location?: string;
175
- /** Верификация аккаунта */
176
- is_verified?: boolean;
177
- /** Настройки приватности профиля */
178
- visibility?: VisibilityType;
179
- /** Персональный веб-сайт */
180
- website?: string;
181
- /** Количество подписчиков */
182
- followers?: number;
183
- /** Количество подписок */
184
- following?: number;
185
- /** Количество публичных репозиториев */
186
- public_repos?: number;
187
- /** Количество репозиториев, отмеченных звездой */
188
- stars_count?: number;
189
- /** Дата создания аккаунта */
190
- created_at: string;
191
- /** Дата последнего обновления аккаунта */
192
- updated_at?: string;
193
- }
194
- /**
195
- * Интерфейс текущего авторизованного пользователя
196
- * Получается из API метода /user
197
- */
198
- interface CurrentUser {
199
- /** Уникальный идентификатор пользователя */
200
- id: number;
201
- /** Имя пользователя (может быть пустым) */
202
- name?: string;
203
- /** Логин пользователя */
204
- login: string;
205
- /** Электронная почта пользователя (может быть недоступна) */
206
- email?: string;
207
- /** URL аватара пользователя */
208
- avatar_url: string;
209
- /** Веб-ссылка на профиль пользователя */
210
- html_url: string;
211
- /** Количество публичных репозиториев */
212
- public_repos: number;
213
- /** Количество подписчиков */
214
- followers: number;
215
- /** Дата создания аккаунта */
216
- created_at: string;
217
- }
218
- /**
219
- * Интерфейс репозитория
220
- */
221
- interface Repository {
222
- /** Уникальный идентификатор репозитория */
223
- id: number;
224
- /** Информация о владельце репозитория */
225
- owner: User2;
226
- /** Название репозитория */
227
- name: string;
228
- /** Полное название репозитория в формате {owner}/{repo} */
229
- full_name: string;
230
- /** Описание репозитория */
231
- description?: string;
232
- /** Список тем, связанных с репозиторием */
233
- topics?: string[] | null;
234
- /** Является ли репозиторий приватным */
235
- private: boolean;
236
- /** Является ли репозиторий форком другого репозитория */
237
- fork: boolean;
238
- /** Информация о родительском репозитории (если это форк) */
239
- parent?: Repository | null;
240
- /** Размер репозитория в килобайтах */
241
- size: number;
242
- /** Основной язык программирования, используемый в репозитории */
243
- language?: string;
244
- /** SSH-URL для клонирования репозитория */
245
- ssh_url: string;
246
- /** HTTPS-URL для клонирования репозитория */
247
- clone_url: string;
248
- /** Веб-ссылка на репозиторий */
249
- html_url: string;
250
- /** API-ссылка на репозиторий */
251
- url: string;
252
- /** Git-URL для клонирования репозитория */
253
- git_url: string;
254
- /** Зеркало репозитория (если доступно) */
255
- mirror_url?: string;
256
- /** Ссылка на вебсайт проекта */
257
- website?: string;
258
- /** Альтернативная ссылка на домашнюю страницу проекта */
259
- homepage?: string;
260
- /** Количество звезд у репозитория */
261
- stargazers_count: number;
262
- /** Количество форков репозитория */
263
- forks: number;
264
- /** Количество форков репозитория (дублирует поле forks) */
265
- forks_count: number;
266
- /** Количество наблюдателей за репозиторием */
267
- watchers: number;
268
- /** Количество наблюдателей за репозиторием (дублирует поле watchers) */
269
- watchers_count: number;
270
- /** Количество репозиториев в сети (форков и оригинала) */
271
- network_count: number;
272
- /** Количество подписчиков на уведомления о репозитории */
273
- subscribers_count: number;
274
- /** Количество открытых задач (issues) в репозитории */
275
- open_issues: number;
276
- /** Количество открытых задач (дублирует поле open_issues) */
277
- open_issues_count: number;
278
- /** Количество открытых pull requests */
279
- open_pr_counter: number;
280
- /** Основная ветка репозитория */
281
- default_branch: string;
282
- /** Архивирован ли репозиторий */
283
- archived: boolean;
284
- /** Разрешено ли создание задач (issues) */
285
- has_issues: boolean;
286
- /** Разрешено ли использование проектов */
287
- has_projects: boolean;
288
- /** Разрешено ли использование обсуждений */
289
- has_discussions: boolean;
290
- /** Разрешено ли использование wiki */
291
- has_wiki: boolean;
292
- /** Разрешено ли использование GitHub Pages */
293
- has_pages: boolean;
294
- /** Отключен ли репозиторий */
295
- disabled: boolean;
296
- /** Настройки приватности репозитория */
297
- visibility: VisibilityType;
298
- /** Является ли репозиторий шаблоном */
299
- is_template: boolean;
300
- /** Информация о шаблоне репозитория (если доступно) */
301
- template_repository?: Repository | null;
302
- /** Разрешены ли слияния через merge commits */
303
- allow_merge_commits: boolean;
304
- /** Разрешены ли слияния через squash commits */
305
- allow_squash_merge: boolean;
306
- /** Удалять ли ветку после слияния по умолчанию */
307
- default_delete_branch_after_merge: boolean;
308
- /** Дата создания репозитория */
309
- created_at: string;
310
- /** Дата последнего обновления репозитория */
311
- updated_at: string;
312
- /** Дата последнего push-события в репозиторий */
313
- pushed_at: string;
314
- }
315
- /**
316
- * Интерфейс ответа с распределением языков в репозитории
317
- */
318
- interface LanguagesResponse {
319
- /** Количество байт кода на каждом языке */
320
- [language: string]: number;
321
- }
322
- /**
323
- * Интерфейс информации о файле
324
- */
325
- interface FileContent {
326
- /** Имя файла */
327
- name: string;
328
- /** Путь к файлу относительно корня репозитория */
329
- path: string;
330
- /** SHA-хеш содержимого файла */
331
- sha: string;
332
- /** Размер файла в байтах */
333
- size: number;
334
- /** Тип объекта (всегда 'file' для файла) */
335
- type: typeof ContentType.File;
336
- /** Кодировка содержимого файла (например, 'base64') */
337
- encoding?: string;
338
- /** Содержимое файла в формате Base64 */
339
- content?: string;
340
- /** Определенный язык программирования файла */
341
- language?: string;
342
- /** API-ссылка на файл */
343
- url?: string;
344
- /** Веб-ссылка на файл */
345
- html_url?: string;
346
- /** Git-URL для файла */
347
- git_url?: string;
348
- /** URL для скачивания файла */
349
- download_url?: string;
73
+ interface AddCollaboratorParams {
74
+ /** enum: read,write,admin */
75
+ permission?: string;
350
76
  }
351
- /**
352
- * Интерфейс информации о директории
353
- */
354
- interface DirectoryContent {
355
- /** Тип объекта (всегда 'dir' для директории) */
356
- type: typeof ContentType.Directory;
357
- /** Размер директории (всегда 0) */
358
- size: number;
359
- /** Имя директории */
77
+ interface CommitUserParams {
78
+ date?: string;
79
+ email: string;
360
80
  name: string;
361
- /** Путь к директории относительно корня репозитория */
362
- path: string;
363
- /** SHA-хеш объекта директории */
364
- sha: string;
365
- /** Список файлов и поддиректорий внутри директории */
366
- entries: Array<FileContent | DirectoryContent>;
367
81
  }
368
- /**
369
- * Тип для содержимого репозитория (файл или директория)
370
- */
371
- type Content = FileContent | DirectoryContent;
372
- /**
373
- * Интерфейс информации о коммите
374
- */
375
- interface CommitInfo {
376
- /** SHA-хеш коммита */
377
- sha: string;
378
- /** Node ID коммита */
379
- node_id?: string;
380
- /** API-ссылка на коммит */
381
- url: string;
382
- /** Веб-ссылка на коммит */
383
- html_url: string;
384
- /** Информация об авторе коммита */
385
- author: {
386
- /** Имя автора */
387
- name: string
388
- /** Email автора */
389
- email: string
390
- /** Дата создания коммита */
391
- date: string
392
- };
393
- /** Информация о коммиттере */
394
- committer: {
395
- /** Имя коммиттера */
396
- name: string
397
- /** Email коммиттера */
398
- email: string
399
- /** Дата коммита */
400
- date: string
401
- };
402
- /** Сообщение коммита */
82
+ interface CreateCommitParams {
83
+ author?: CommitUserParams;
84
+ committer?: CommitUserParams;
403
85
  message: string;
404
- /** Информация о дереве коммита */
405
- tree: {
406
- /** SHA-хеш дерева */
407
- sha: string
408
- /** URL дерева */
409
- url: string
410
- };
411
- /** Родительские коммиты */
412
- parents: Array<{
413
- /** SHA-хеш родительского коммита */
414
- sha: string
415
- /** API-ссылка на родительский коммит */
416
- url: string
417
- /** Веб-ссылка на родительский коммит */
418
- html_url: string
419
- }>;
420
- }
421
- /**
422
- * Интерфейс ответа на создание файла
423
- */
424
- interface FileCreationResponse {
425
- /** Информация о созданном файле */
426
- content: FileContent;
427
- /** Информация о коммите */
428
- commit: CommitInfo;
429
- }
430
- /**
431
- * Интерфейс ответа на удаление файла
432
- */
433
- interface FileDeletionResponse {
434
- /** Информация о содержимом (null для удаленного файла) */
435
- content: null;
436
- /** Информация о коммите удаления */
437
- commit: CommitInfo;
86
+ parents?: string[];
87
+ tree: string;
438
88
  }
439
- /**
440
- * Интерфейс параметров для создания форка
441
- */
442
- interface CreateForkParams {
443
- /** Имя нового форка */
444
- name?: string;
445
- /** Название организации, в которую будет создан форк */
446
- organization?: string;
447
- /** Описание нового форка */
448
- description?: string;
89
+ interface CreateEmailParams {
90
+ emails?: string[];
449
91
  }
450
- /**
451
- * Интерфейс параметров для создания файла
452
- */
453
92
  interface CreateFileParams {
454
- /** Имя ветки, в которую будет добавлен файл (по умолчанию - основная ветка) */
455
- branch?: string;
456
- /** Содержимое файла, закодированное в Base64 */
457
- content: string;
458
- /** Сообщение коммита */
459
- message?: string;
460
- /** Имя новой ветки, которая будет создана для этого изменения */
461
- new_branch?: string;
462
- /** Добавлять ли подпись (Signed-off-by) в коммит */
463
- signoff?: boolean;
464
- }
465
- /**
466
- * Интерфейс параметров для обновления файла
467
- */
468
- interface UpdateFileParams {
469
- /** Имя ветки, в которой находится файл */
93
+ /** ветка на которой будет базировать коммит, если пустая то будет использована ветка по умолчанию */
470
94
  branch?: string;
471
- /** Новое содержимое файла, закодированное в Base64 */
472
- content: string;
473
- /** SHA-хеш текущего содержимого файла */
474
- sha: string;
475
- /** Если файл переименовывается, указывает старый путь к файлу */
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 */
476
99
  from_path?: string;
477
- /** Сообщение коммита */
100
+ /** Сообщение для описания коммита, если пустое то будет использовано сообщение по умолчанию */
478
101
  message?: string;
479
- /** Имя новой ветки, которая будет создана для этого изменения */
102
+ /** новая ветка которая будет отведена от указанной выше ветки и вней будет создан новый коммит */
480
103
  new_branch?: string;
481
- /** Добавлять ли подпись (Signed-off-by) в коммит */
104
+ /** sha is the SHA for the file that already exists */
105
+ sha?: string;
106
+ /** Подписывать ли коммит */
482
107
  signoff?: boolean;
483
108
  }
484
- /**
485
- * Интерфейс параметров для удаления файла
486
- */
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;
132
+ }
133
+ interface CreateReferenceParams {
134
+ ref?: string;
135
+ sha?: string;
136
+ }
137
+ interface CreateReleaseParams {
138
+ body?: string;
139
+ draft?: boolean;
140
+ name?: string;
141
+ prerelease?: boolean;
142
+ tag_name?: string;
143
+ target_commitish?: string;
144
+ }
145
+ interface CreateRepositoryParams {
146
+ auto_init?: boolean;
147
+ description?: string;
148
+ gitignores?: string[];
149
+ is_template?: boolean;
150
+ name?: string;
151
+ private?: boolean;
152
+ }
153
+ interface TreeItem {
154
+ content?: string;
155
+ mode?: string;
156
+ path?: string;
157
+ sha?: string;
158
+ type?: string;
159
+ }
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
+ }
487
171
  interface DeleteFileParams {
488
- /** SHA-хеш текущего содержимого файла */
489
- sha: string;
490
- /** Имя ветки, в которой находится файл */
172
+ /** ветка на которой будет базировать коммит, если пустая то будет использована ветка по умолчанию */
491
173
  branch?: string;
492
- /** Сообщение коммита */
174
+ /** Сообщение для описания коммита, если пустое то будет использовано сообщение по умолчанию */
493
175
  message?: string;
494
- /** Имя новой ветки, которая будет создана для этого изменения */
176
+ /** новая ветка которая будет отведена от указанной выше ветки и вней будет создан новый коммит */
495
177
  new_branch?: string;
496
- /** Добавлять ли подпись (Signed-off-by) в коммит */
178
+ /** sha is the SHA for the file that already exists */
179
+ sha?: string;
180
+ /** Подписывать ли коммит */
497
181
  signoff?: boolean;
498
182
  }
499
- /**
500
- * Интерфейс базовой или целевой ветки для pull request
501
- */
502
- interface PullRequestBase {
503
- /** Метка ветки */
504
- label: string;
505
- /** Имя ветки */
506
- ref: string;
507
- /** SHA-хеш последнего коммита в ветке */
508
- sha: string;
509
- /** ID репозитория */
510
- repo_id: number;
511
- /** Информация о репозитории */
512
- repo: {
513
- /** ID репозитория */
514
- id: number
515
- /** Название репозитория */
516
- name: string
517
- /** Полное название репозитория в формате {owner}/{repo} */
518
- full_name: string
519
- /** Является ли репозиторий приватным */
520
- private: boolean
521
- /** Основная ветка репозитория */
522
- default_branch: string
523
- };
524
- }
525
- /**
526
- * Интерфейс pull request
527
- */
528
- interface PullRequest {
529
- /** Уникальный идентификатор pull request */
530
- id: number;
531
- /** API-ссылка на pull request */
532
- url: string;
533
- /** Номер pull request в репозитории */
534
- number: number;
535
- /** Информация о пользователе, создавшем pull request */
536
- user: {
537
- /** ID пользователя */
538
- id: number
539
- /** Логин пользователя */
540
- login: string
541
- /** Тип аккаунта */
542
- type: string
543
- /** URL аватара пользователя */
544
- avatar_url: string
545
- /** Веб-ссылка на профиль пользователя */
546
- html_url: string
547
- /** Права администратора */
548
- site_admin: boolean
549
- };
550
- /** Заголовок pull request */
551
- title: string;
552
- /** Описание pull request */
183
+ interface UpdateReleaseParams {
553
184
  body?: string;
554
- /** Список меток */
555
- labels: Label[];
556
- /** Информация о майлстоуне */
557
- milestone?: Milestone;
558
- /** Информация о назначенном пользователе */
559
- assignee?: User2;
560
- /** Список назначенных пользователей */
561
- assignees?: User2[];
562
- /** Состояние pull request (открыт/закрыт) */
563
- state: PullRequestState;
564
- /** Заблокирован ли pull request */
565
- locked: boolean;
566
- /** Количество комментариев */
567
- comments: number;
568
- /** Веб-ссылка на pull request */
569
- html_url: string;
570
- /** Ссылка на diff файл */
571
- diff_url: string;
572
- /** Ссылка на patch файл */
573
- patch_url: string;
574
- /** Можно ли слить pull request */
575
- mergeable: boolean;
576
- /** Был ли pull request слит */
577
- merged: boolean;
578
- /** Дата слияния (если был слит) */
579
- merged_at?: string | null;
580
- /** SHA-хеш коммита слияния (если был слит) */
581
- merge_commit_sha?: string | null;
582
- /** Пользователь, выполнивший слияние */
583
- merged_by?: User2 | null;
584
- /** Может ли мейнтейнер изменять pull request */
585
- maintainer_can_modify: boolean;
586
- /** Информация о целевой ветке */
587
- base: PullRequestBase;
588
- /** Информация о ветке с изменениями */
589
- head: PullRequestBase;
590
- /** Дата создания pull request */
591
- created_at: string;
592
- /** Дата обновления pull request */
593
- updated_at: string;
594
- /** Дата закрытия pull request (если закрыт) */
595
- closed_at?: string | null;
185
+ draft?: boolean;
186
+ name?: string;
187
+ prerelease?: boolean;
188
+ tag_name?: string;
189
+ target_commitish?: string;
596
190
  }
597
- /**
598
- * Интерфейс параметров для создания pull request
599
- */
600
- interface CreatePullRequestParams {
601
- /** Заголовок pull request */
602
- title: string;
603
- /** Описание pull request */
604
- body?: string;
605
- /** Имя ветки, из которой предлагаются изменения */
606
- head: string;
607
- /** Имя ветки, в которую будут внесены изменения */
608
- base: string;
191
+ interface CreateForkParams {
192
+ /** Описание */
193
+ description?: string;
194
+ /** Имя форкнутого репозитория */
195
+ name?: string;
196
+ /** Название организации, если форкаем в организацию */
197
+ organization?: string;
609
198
  }
610
- /**
611
- * Интерфейс параметров для получения списка pull requests
612
- */
613
- interface ListPullRequestsParams {
614
- /**
615
- * Фильтр по состоянию pull request
616
- *
617
- * @default "open"
618
- */
619
- state?: PullRequestStateFilter;
620
- /** Фильтр по ветке-источнику в формате branch, user:branch или user:repo:branch */
621
- head?: string;
622
- /** Фильтр по целевой ветке */
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;
219
+ }
220
+ interface TeamRepoPermissions {
221
+ permission?: string;
222
+ }
223
+ interface UpdateBranchParams {
224
+ expected_head_sha?: string;
225
+ }
226
+ interface UpdatePullRequestParams {
227
+ /** ветка в которую происходит слияние */
623
228
  base?: string;
624
- /**
625
- * Критерий сортировки
626
- *
627
- * @default "created"
628
- */
629
- sort?: PullRequestSortCriteria;
630
- /**
631
- * Направление сортировки
632
- *
633
- * @default "desc"
634
- */
635
- direction?: PullRequestSortDirection;
636
- /** Номер страницы (начиная с 1) */
637
- page?: number;
638
- /** Количество элементов на странице (максимум 100) */
639
- per_page?: number;
229
+ /** тело запроса */
230
+ body?: string;
231
+ /** могут ли мэйнтейнеры изменять PR */
232
+ maintainer_can_modify?: boolean;
233
+ /** статус запроса */
234
+ state?: string;
235
+ /** заголовок запроса */
236
+ title?: string;
640
237
  }
641
- /**
642
- * Интерфейс метки (label) для issues и pull requests
643
- */
644
- interface Label {
645
- /** Идентификатор метки */
646
- id: number;
647
- /** Имя метки */
648
- name: string;
649
- /** Описание метки */
650
- description?: string;
651
- /** Цвет метки в формате HEX */
652
- color: string;
653
- /** URL метки */
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;
249
+ name?: string;
250
+ size_in_bytes?: number;
251
+ updated_at?: string;
654
252
  url?: string;
253
+ workflow_run?: ActionWorkflowRun;
655
254
  }
656
- /**
657
- * Интерфейс майлстоуна (milestone)
658
- */
659
- interface Milestone {
660
- /** Идентификатор майлстоуна */
661
- id: number;
662
- /** Номер майлстоуна */
663
- number: number;
664
- /** Название майлстоуна */
665
- title: string;
666
- /** Описание майлстоуна */
667
- description?: string;
668
- /** Создатель майлстоуна */
669
- creator: User2;
670
- /** Состояние майлстоуна (open/closed) */
671
- state: "open" | "closed";
672
- /** Количество открытых задач */
673
- open_issues: number;
674
- /** Количество закрытых задач */
675
- closed_issues: number;
676
- /** Дата создания */
677
- created_at: string;
678
- /** Дата обновления */
679
- updated_at: string;
680
- /** Дата окончания (due date) */
681
- due_on?: string;
255
+ interface ActionArtifactList {
256
+ artifacts?: ActionArtifact[];
257
+ total_count?: number;
682
258
  }
683
- /**
684
- * Интерфейс ошибки API
685
- */
686
- interface ApiError {
687
- /** Тип ошибки */
688
- error: string;
689
- /** Сообщение об ошибке */
690
- message: string;
691
- /** HTTP-код статуса */
692
- status: number;
259
+ interface ActionRunnerLabel {
260
+ id?: number;
261
+ name?: string;
262
+ type?: string;
693
263
  }
694
- /**
695
- * Интерфейс email адреса
696
- */
697
- interface Email {
698
- /** Email адрес */
699
- email: string;
700
- /** Подтвержден ли email */
701
- verified: boolean;
702
- /** Является ли основным */
703
- primary: boolean;
704
- /** Публичный ли email */
705
- is_public: boolean;
264
+ interface ActionRunner {
265
+ busy?: boolean;
266
+ id?: number;
267
+ labels?: ActionRunnerLabel[];
268
+ name?: string;
269
+ status?: string;
706
270
  }
707
- /**
708
- * Параметры для добавления email адресов
709
- */
710
- interface AddEmailParams {
711
- /** Массив email адресов для добавления */
712
- emails: string[];
271
+ interface ActionRunners {
272
+ runners?: ActionRunner[];
273
+ total_count?: number;
713
274
  }
714
- /**
715
- * Параметры для удаления email адресов
716
- */
717
- interface RemoveEmailParams {
718
- /** Массив email адресов для удаления */
719
- emails: string[];
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;
720
283
  }
721
- /**
722
- * Ответ на операции с email
723
- */
724
- interface EmailOperationResponse {
725
- /** Сообщение о результате операции */
726
- message: string;
727
- /** Удаленные email адреса (только для операции удаления) */
728
- deleted_emails?: string[];
729
- /** HTTP статус код */
730
- status: number;
284
+ interface CommitMeta {
285
+ created?: string;
286
+ html_url?: string;
287
+ sha?: string;
288
+ url?: string;
731
289
  }
732
- /**
733
- * Параметры для создания репозитория
734
- */
735
- interface CreateRepositoryParams {
736
- /** Имя репозитория */
737
- name: string;
738
- /** Описание репозитория */
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
+ /** Полномочия */
324
+ permissions?: Permissions;
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 {
354
+ contents_url?: string;
739
355
  description?: string;
740
- /** Приватный ли репозиторий */
356
+ fork?: boolean;
357
+ forks_url?: string;
358
+ full_name?: string;
359
+ html_url?: string;
360
+ id?: number;
361
+ issue_comment_url?: string;
362
+ issues_url?: string;
363
+ languages_url?: string;
364
+ name?: string;
365
+ owner?: UserPublicInfo;
741
366
  private?: boolean;
742
- /** Создать ли инициализирующий коммит */
743
- auto_init?: boolean;
744
- /** Список .gitignore шаблонов */
745
- gitignores?: string[];
746
- /** Лицензия репозитория */
747
- license?: string;
748
- /** Ветка по умолчанию */
749
- default_branch?: string;
367
+ pulls_url?: string;
368
+ url?: string;
750
369
  }
751
- /**
752
- * Интерфейс issue
753
- */
754
- interface Issue {
755
- /** Уникальный идентификатор issue */
756
- id: number;
757
- /** Номер issue в репозитории */
758
- number: number;
759
- /** Заголовок issue */
760
- title: string;
761
- /** Описание issue */
762
- body?: string;
763
- /** Состояние issue */
764
- state: IssueState;
765
- /** Пользователь, создавший issue */
766
- user: User2;
767
- /** Список меток */
768
- labels: Label[];
769
- /** Назначенные пользователи */
770
- assignees?: User2[];
771
- /** Дата создания */
772
- created_at: string;
773
- /** Дата обновления */
774
- updated_at: string;
775
- /** Дата закрытия */
776
- closed_at?: string | null;
777
- /** Количество комментариев */
778
- comments: number;
779
- /** Веб-ссылка на issue */
780
- html_url: string;
781
- /** API-ссылка на issue */
782
- url: string;
370
+ interface CollaboratorInvitation {
371
+ created_at?: string;
372
+ id?: number;
373
+ invitee?: UserPublicInfo;
374
+ inviter?: UserPublicInfo;
375
+ permissions?: string;
376
+ repository?: RepoPublicInfo;
783
377
  }
784
- /**
785
- * Интерфейс комментария к issue или pull request
786
- */
787
378
  interface Comment {
788
- /** Уникальный идентификатор комментария */
789
- id: number;
790
- /** Текст комментария */
791
- body: string;
792
- /** Пользователь, создавший комментарий */
793
- user: User2;
794
- /** Дата создания */
795
- created_at: string;
796
- /** Дата обновления */
797
- updated_at: string;
798
- /** Веб-ссылка на комментарий */
799
- html_url: string;
800
- /** API-ссылка на комментарий */
801
- url: string;
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;
391
+ }
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;
802
403
  }
803
- /**
804
- * Интерфейс события в timeline issue
805
- */
806
- interface TimelineEvent {
807
- /** Уникальный идентификатор события */
808
- id: number;
809
- /** Тип события */
810
- event: string;
811
- /** Пользователь, вызвавший событие */
812
- actor: User2;
813
- /** Дата создания события */
814
- created_at: string;
815
- /** Метка (для событий с метками) */
816
- label?: Label;
817
- /** Milestone (для событий с milestone) */
818
- milestone?: Milestone;
819
- /** Переименование (для событий переименования) */
820
- rename?: {
821
- from: string
822
- to: string
823
- };
404
+ interface CommitUser {
405
+ date?: string;
406
+ email?: string;
407
+ name?: string;
824
408
  }
825
- /**
826
- * Интерфейс ветки репозитория
827
- */
828
- interface Branch {
829
- /** Имя ветки */
830
- name: string;
831
- /** SHA-хеш последнего коммита */
832
- commit: {
833
- sha: string
834
- url: string
835
- };
836
- /** Защищена ли ветка */
837
- protected?: boolean;
409
+ interface TreeMeta {
410
+ created?: string;
411
+ sha?: string;
412
+ url?: string;
413
+ }
414
+ interface RepoCommit {
415
+ author?: CommitUser;
416
+ committer?: CommitUser;
417
+ message?: string;
418
+ tree?: TreeMeta;
419
+ url?: string;
420
+ }
421
+ interface CommitStats {
422
+ additions?: number;
423
+ deletions?: number;
424
+ total?: number;
838
425
  }
839
- /**
840
- * Интерфейс коммита
841
- */
842
426
  interface Commit {
843
- /** SHA-хеш коммита */
844
- sha: string;
845
- /** Node ID коммита */
846
- node_id?: string;
847
- /** Информация о коммите */
848
- commit: {
849
- /** Автор коммита */
850
- author: {
851
- name: string
852
- email: string
853
- date: string
854
- }
855
- /** Коммиттер */
856
- committer: {
857
- name: string
858
- email: string
859
- date: string
860
- }
861
- /** Сообщение коммита */
862
- message: string
863
- /** Дерево коммита */
864
- tree: {
865
- sha: string
866
- url: string
867
- }
868
- };
869
- /** Автор (пользователь GitVerse) */
870
- author?: User2 | null;
871
- /** Коммиттер (пользователь GitVerse) */
872
- committer?: User2 | null;
873
- /** Родительские коммиты */
874
- parents: Array<{
875
- sha: string
876
- url: string
877
- html_url: string
878
- }>;
879
- /** API-ссылка на коммит */
880
- url: string;
881
- /** Веб-ссылка на коммит */
882
- html_url: string;
427
+ author?: UserPublicInfo;
428
+ branch?: string;
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;
883
438
  }
884
- /**
885
- * Параметры для создания коммита
886
- */
887
- interface CreateCommitParams {
888
- /** Сообщение коммита */
889
- message: string;
890
- /** SHA-хеш дерева */
891
- tree: string;
892
- /** SHA-хеши родительских коммитов */
893
- parents?: string[];
894
- /** Информация об авторе */
895
- author?: {
896
- name: string
897
- email: string
898
- date?: string
899
- };
900
- /** Информация о коммиттере */
901
- committer?: {
902
- name: string
903
- email: string
904
- date?: string
905
- };
906
- /** GPG подпись */
439
+ interface CommitVerification {
440
+ payload?: string;
441
+ reason?: string;
907
442
  signature?: string;
443
+ verified?: boolean;
444
+ verifiedAt?: string;
908
445
  }
909
- /**
910
- * Параметры для обновления репозитория
911
- */
912
- interface UpdateRepositoryParams {
913
- /** Новое название репозитория */
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;
457
+ }
458
+ interface FileLinksResponse {
459
+ git?: string;
460
+ html?: string;
461
+ self?: string;
462
+ }
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;
914
478
  name?: string;
915
- /** Новое описание репозитория */
916
- description?: string;
917
- /** Веб-сайт проекта */
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;
490
+ }
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;
500
+ url?: string;
501
+ verification?: CommitVerification;
502
+ }
503
+ interface FileCreationResponse {
504
+ commit?: FileCommitResponse;
505
+ content?: ContentsResponse;
506
+ }
507
+ interface FileDeleteResponse {
508
+ commit?: FileCommitResponse;
509
+ content?: unknown;
510
+ }
511
+ interface Email {
512
+ email?: string;
513
+ primary?: boolean;
514
+ verified?: boolean;
515
+ visibility?: string;
516
+ }
517
+ interface GitEntry {
518
+ mode?: string;
519
+ path?: string;
520
+ sha?: string;
521
+ size?: number;
522
+ type?: string;
523
+ url?: string;
524
+ }
525
+ interface GitObject {
526
+ sha?: string;
527
+ type?: string;
528
+ url?: string;
529
+ }
530
+ interface GitTreeResponse {
531
+ page?: number;
532
+ sha?: string;
533
+ total_count?: number;
534
+ tree?: GitEntry[];
535
+ truncated?: boolean;
536
+ url?: string;
537
+ }
538
+ interface User {
539
+ /** Адрес аватарки */
540
+ avatar_url?: string;
541
+ /** О себе */
542
+ bio?: string;
543
+ /** Дата создания учетной записи */
544
+ created_at?: string;
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;
558
+ /** Идентификатор */
559
+ id?: number;
560
+ /** Верифицирован? */
561
+ is_verified?: boolean;
562
+ /** Местоположение */
563
+ location?: string;
564
+ /** Логин пользователя */
565
+ login?: string;
566
+ /** Имя пользователя */
567
+ name?: string;
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
+ /** Вебсайт */
918
589
  website?: string;
919
- /** Приватный ли репозиторий */
920
- private?: boolean;
921
- /** Разрешены ли issues */
922
- has_issues?: boolean;
923
- /** Разрешена ли wiki */
924
- has_wiki?: boolean;
925
- /** Ветка по умолчанию */
926
- default_branch?: string;
927
- /** Архивирован ли репозиторий */
928
- archived?: boolean;
929
590
  }
930
- /**
931
- * Интерфейс результата сравнения веток/коммитов
932
- */
933
- interface CompareResponse {
934
- /** URL для сравнения */
935
- url: string;
936
- /** Веб-ссылка для сравнения */
937
- html_url: string;
938
- /** Diff-ссылка */
939
- diff_url: string;
940
- /** Patch-ссылка */
941
- patch_url: string;
942
- /** Базовый коммит */
943
- base_commit: Commit;
944
- /** Сравниваемый коммит */
945
- merge_base_commit: Commit;
946
- /** Статус сравнения */
947
- status: "ahead" | "behind" | "identical" | "diverged";
948
- /** Количество коммитов впереди */
949
- ahead_by: number;
950
- /** Количество коммитов позади */
951
- behind_by: number;
952
- /** Общее количество коммитов */
953
- total_commits: number;
954
- /** Список коммитов */
955
- commits: Commit[];
956
- /** Изменённые файлы */
957
- files: PullRequestFile[];
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;
958
602
  }
959
- /**
960
- * Параметры для обновления pull request
961
- */
962
- interface UpdatePullRequestParams {
963
- /** Новый заголовок */
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;
964
612
  title?: string;
965
- /** Новое описание */
613
+ updated_at?: string;
614
+ }
615
+ interface PullRequestMeta {
616
+ draft?: boolean;
617
+ html_url?: string;
618
+ merged?: boolean;
619
+ merged_at?: string;
620
+ }
621
+ interface RepositoryMeta {
622
+ full_name?: string;
623
+ id?: number;
624
+ name?: string;
625
+ owner?: string;
626
+ }
627
+ interface Issue {
628
+ assets?: Attachment[];
629
+ assignee?: User;
630
+ assignees?: User[];
966
631
  body?: string;
967
- /** Новое состояние */
968
- state?: PullRequestState;
969
- /** Базовая ветка */
970
- base?: string;
971
- /** Можно ли мейнтейнерам модифицировать */
972
- maintainer_can_modify?: boolean;
632
+ closed_at?: string;
633
+ comments?: number;
634
+ created_at?: string;
635
+ due_date?: string;
636
+ html_url?: string;
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;
973
652
  }
974
- /**
975
- * Интерфейс файла в pull request
976
- */
977
- interface PullRequestFile {
978
- /** SHA-хеш файла */
979
- sha: string;
980
- /** Имя файла */
981
- filename: string;
982
- /** Статус изменения */
983
- status: "added" | "removed" | "modified" | "renamed" | "copied" | "changed" | "unchanged";
984
- /** Количество добавленных строк */
985
- additions: number;
986
- /** Количество удалённых строк */
987
- deletions: number;
988
- /** Общее количество изменений */
989
- changes: number;
990
- /** URL для получения содержимого */
991
- blob_url: string;
992
- /** Raw URL */
993
- raw_url: string;
994
- /** API URL */
995
- contents_url: string;
996
- /** Patch для файла */
997
- patch?: string;
998
- /** Предыдущее имя файла (для переименованных) */
999
- previous_filename?: string;
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;
1000
705
  }
1001
- /**
1002
- * Интерфейс команды (team)
1003
- */
1004
706
  interface Team {
1005
- /** Идентификатор команды */
1006
- id: number;
1007
- /** Node ID команды */
1008
- node_id?: string;
1009
- /** Название команды */
1010
- name: string;
1011
- /** Slug команды */
1012
- slug: string;
707
+ /** Полномочия на создание репозиториев */
708
+ can_create_org_repo?: boolean;
1013
709
  /** Описание команды */
1014
710
  description?: string;
1015
- /** Приватность команды */
1016
- privacy?: "secret" | "closed";
1017
- /** Права доступа */
1018
- permission: "pull" | "push" | "admin";
711
+ /** Идентификатор */
712
+ id?: number;
713
+ /** Включает все репозитории */
714
+ includes_all_repositories?: boolean;
715
+ /** Название команды */
716
+ name?: string;
1019
717
  /** Количество участников */
1020
- members_count?: number;
718
+ num_members?: number;
1021
719
  /** Количество репозиториев */
1022
- repos_count?: number;
1023
- /** Организация */
1024
- organization?: {
1025
- login: string
1026
- id: number
1027
- };
1028
- /** Веб-ссылка */
1029
- html_url: string;
1030
- /** API-ссылка */
1031
- url: string;
1032
- }
1033
- /**
1034
- * Интерфейс приглашения в команду
1035
- */
1036
- interface Invitation {
1037
- /** Идентификатор приглашения */
1038
- id: number;
1039
- /** Приглашённый пользователь */
1040
- login: string;
1041
- /** Email приглашённого */
1042
- email?: string;
1043
- /** Роль */
1044
- role: string;
1045
- /** Дата создания */
1046
- created_at: string;
1047
- /** Приглашающий */
1048
- inviter: User2;
720
+ num_repos?: number;
721
+ /** Полномочия */
722
+ permission?: string;
723
+ /** Полномочие на действия с ветками */
724
+ permission_actions?: string;
725
+ /** Код полномочия */
726
+ permission_code?: string;
727
+ /** Полномочие на пакеты */
728
+ permission_packages?: string;
729
+ /** Полномочие на отправку пулл-реквестов */
730
+ permission_pulls?: string;
731
+ /** Полномочие на релизы */
732
+ permission_releases?: string;
1049
733
  }
1050
- /**
1051
- * Интерфейс релиза
1052
- */
1053
- interface Release {
1054
- /** Идентификатор релиза */
1055
- id: number;
1056
- /** Тег релиза */
1057
- tag_name: string;
1058
- /** Целевой коммит */
1059
- target_commitish: string;
1060
- /** Название релиза */
1061
- name: string;
1062
- /** Описание релиза */
734
+ interface PullRequest {
735
+ assignee?: User;
736
+ assignees?: User[];
737
+ base?: PRBranchInfo;
1063
738
  body?: string;
1064
- /** Черновик ли релиз */
1065
- draft: boolean;
1066
- /** Пре-релиз ли */
1067
- prerelease: boolean;
1068
- /** Автор релиза */
1069
- author: User2;
1070
- /** Дата создания */
1071
- created_at: string;
1072
- /** Дата публикации */
1073
- published_at?: string;
1074
- /** Веб-ссылка */
1075
- html_url: string;
1076
- /** API-ссылка */
1077
- url: string;
1078
- /** Ссылка на архив tar.gz */
1079
- tarball_url: string;
1080
- /** Ссылка на архив zip */
1081
- zipball_url: string;
1082
- /** Список ассетов */
1083
- 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;
1084
765
  }
1085
- /**
1086
- * Параметры для создания релиза
1087
- */
1088
- interface CreateReleaseParams {
1089
- /** Тег релиза */
1090
- tag_name: string;
1091
- /** Целевой коммит (по умолчанию основная ветка) */
1092
- target_commitish?: string;
1093
- /** Название релиза */
1094
- name?: string;
1095
- /** Описание релиза */
766
+ interface Reference {
767
+ object?: GitObject;
768
+ ref?: string;
769
+ url?: string;
770
+ }
771
+ interface RegistrationToken {
772
+ token?: string;
773
+ }
774
+ interface Release {
775
+ assets?: Attachment[];
776
+ author?: User;
1096
777
  body?: string;
1097
- /** Черновик ли релиз */
778
+ created_at?: string;
1098
779
  draft?: boolean;
1099
- /** Пре-релиз ли */
780
+ html_url?: string;
781
+ id?: number;
782
+ name?: string;
1100
783
  prerelease?: boolean;
1101
- }
1102
- /**
1103
- * Параметры для обновления релиза
1104
- */
1105
- interface UpdateReleaseParams {
1106
- /** Тег релиза */
784
+ published_at?: string;
1107
785
  tag_name?: string;
1108
- /** Целевой коммит */
786
+ tarball_url?: string;
1109
787
  target_commitish?: string;
1110
- /** Название релиза */
1111
- name?: string;
1112
- /** Описание релиза */
1113
- body?: string;
1114
- /** Черновик ли релиз */
1115
- draft?: boolean;
1116
- /** Пре-релиз ли */
1117
- prerelease?: boolean;
1118
- }
1119
- /**
1120
- * Интерфейс ассета релиза
1121
- */
1122
- interface Asset {
1123
- /** Идентификатор ассета */
1124
- id: number;
1125
- /** Название файла */
1126
- name: string;
1127
- /** Метка ассета */
1128
- label?: string;
1129
- /** Content-Type */
1130
- content_type: string;
1131
- /** Состояние ассета */
1132
- state: "uploaded" | "open";
1133
- /** Размер в байтах */
1134
- size: number;
1135
- /** Количество скачиваний */
1136
- download_count: number;
1137
- /** Дата создания */
1138
- created_at: string;
1139
- /** Дата обновления */
1140
- updated_at: string;
1141
- /** Загрузивший пользователь */
1142
- uploader: User2;
1143
- /** URL для скачивания */
1144
- browser_download_url: string;
1145
- /** API-ссылка */
1146
- url: string;
1147
- }
1148
- /**
1149
- * Параметры для загрузки ассета
1150
- */
1151
- interface UploadAssetParams {
1152
- /** Название файла */
1153
- name: string;
1154
- /** Метка ассета */
1155
- label?: string;
1156
- /** Содержимое файла */
1157
- data: ArrayBuffer | Blob;
1158
- }
1159
- /**
1160
- * Интерфейс Git-ссылки (reference)
1161
- */
1162
- interface Reference {
1163
- /** Имя ссылки (например, refs/heads/main) */
1164
- ref: string;
1165
- /** Node ID */
1166
- node_id?: string;
1167
- /** API-ссылка */
1168
- url: string;
1169
- /** Объект, на который указывает ссылка */
1170
- object: {
1171
- type: string
1172
- sha: string
1173
- url: string
1174
- };
1175
- }
1176
- /**
1177
- * Параметры для создания Git-ссылки
1178
- */
1179
- interface CreateRefParams {
1180
- /** Имя ссылки (например, refs/heads/feature-branch) */
1181
- ref: string;
1182
- /** SHA-хеш коммита */
1183
- sha: string;
1184
- }
1185
- /**
1186
- * Интерфейс Git-дерева
1187
- */
1188
- interface Tree {
1189
- /** SHA-хеш дерева */
1190
- sha: string;
1191
- /** API-ссылка на дерево */
1192
- url: string;
1193
- /** Список записей в дереве */
1194
- tree: TreeEntry[];
1195
- /** Обрезано ли дерево */
1196
- truncated: boolean;
788
+ upload_url?: string;
789
+ url?: string;
790
+ zipball_url?: string;
1197
791
  }
1198
- /**
1199
- * Интерфейс записи в Git-дереве
1200
- */
1201
792
  interface TreeEntry {
1202
- /** Путь к файлу/директории */
1203
- path: string;
1204
- /** Режим доступа */
1205
- mode: string;
1206
- /** Тип объекта */
1207
- type: "blob" | "tree" | "commit";
1208
- /** SHA-хеш объекта */
1209
- sha: string;
1210
- /** Размер (для blob) */
793
+ mode?: string;
794
+ path?: string;
795
+ sha?: string;
1211
796
  size?: number;
1212
- /** URL объекта */
1213
- url: string;
797
+ /** "blob", "tree", "commit" */
798
+ type?: string;
1214
799
  }
1215
- /**
1216
- * Параметры для создания Git-дерева
1217
- */
1218
- interface CreateTreeParams {
1219
- /** Список записей дерева */
1220
- tree: Array<{
1221
- path: string
1222
- mode: "100644" | "100755" | "040000" | "160000" | "120000"
1223
- type: "blob" | "tree" | "commit"
1224
- sha?: string
1225
- content?: string
1226
- }>;
1227
- /** SHA-хеш базового дерева */
1228
- base_tree?: string;
1229
- }
1230
- /**
1231
- * Интерфейс раннера GitHub Actions
1232
- */
1233
- interface Runner {
1234
- /** Идентификатор раннера */
1235
- id: number;
1236
- /** Название раннера */
1237
- name: string;
1238
- /** Операционная система */
1239
- os: string;
1240
- /** Статус раннера */
1241
- status: "online" | "offline";
1242
- /** Занят ли раннер */
1243
- busy: boolean;
1244
- /** Метки раннера */
1245
- labels: Array<{
1246
- id: number
1247
- name: string
1248
- type: string
1249
- }>;
800
+ interface RepoTree {
801
+ sha?: string;
802
+ tree?: TreeEntry[];
803
+ truncated?: boolean;
804
+ url?: string;
1250
805
  }
1251
- /**
1252
- * Интерфейс секрета GitHub Actions
1253
- */
1254
806
  interface Secret {
1255
- /** Название секрета */
1256
- name: string;
1257
- /** Дата создания */
1258
- created_at: string;
1259
- /** Дата обновления */
1260
- updated_at: string;
807
+ created_at?: string;
808
+ name?: string;
1261
809
  }
1262
- /**
1263
- * Параметры для создания/обновления секрета
1264
- */
1265
- interface CreateSecretParams {
1266
- /** Зашифрованное значение */
1267
- encrypted_value: string;
1268
- /** ID ключа для шифрования */
1269
- key_id: string;
810
+ interface SecretList {
811
+ secrets?: Secret[];
812
+ total_count?: number;
813
+ }
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;
826
+ }
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;
1270
861
  }
1271
- /**
1272
- * Интерфейс переменной GitHub Actions
1273
- */
1274
- interface Variable {
1275
- /** Название переменной */
1276
- name: string;
1277
- /** Значение переменной */
1278
- value: string;
1279
- /** Дата создания */
1280
- created_at: string;
1281
- /** Дата обновления */
1282
- updated_at: string;
862
+ interface UpdateBranchResponse {
863
+ message?: string;
864
+ url?: string;
1283
865
  }
1284
- /**
1285
- * Параметры для создания переменной
1286
- */
1287
- interface CreateVariableParams {
1288
- /** Название переменной */
1289
- name: string;
1290
- /** Значение переменной */
1291
- value: string;
866
+ interface UserPrefsArray {
867
+ incomplete_results?: boolean;
868
+ items?: User[];
869
+ total_count?: number;
1292
870
  }
1293
- /**
1294
- * Параметры для обновления переменной
1295
- */
1296
- interface UpdateVariableParams {
1297
- /** Новое название (опционально) */
871
+ interface Variable {
872
+ created_at?: string;
1298
873
  name?: string;
1299
- /** Новое значение */
874
+ updated_at?: string;
1300
875
  value?: string;
1301
876
  }
1302
- /**
1303
- * Интерфейс артефакта GitHub Actions
1304
- */
1305
- interface Artifact {
1306
- /** Идентификатор артефакта */
1307
- id: number;
1308
- /** Node ID артефакта */
1309
- node_id: string;
1310
- /** Название артефакта */
1311
- name: string;
1312
- /** Размер в байтах */
1313
- size_in_bytes: number;
1314
- /** API-ссылка */
1315
- url: string;
1316
- /** Ссылка на архив */
1317
- archive_download_url: string;
1318
- /** Истёк ли срок действия */
1319
- expired: boolean;
1320
- /** Дата создания */
1321
- created_at: string;
1322
- /** Дата истечения */
1323
- expires_at: string;
1324
- /** Дата обновления */
1325
- updated_at: string;
877
+ interface VariableList {
878
+ total_count?: number;
879
+ variables?: Variable[];
1326
880
  }
1327
- /**
1328
- * Параметры для запуска workflow
1329
- */
1330
- interface DispatchWorkflowParams {
1331
- /** Ссылка на ветку или тег */
1332
- ref: string;
1333
- /** Входные параметры для workflow */
1334
- 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[];
1335
891
  }
1336
- export { Variable, User2 as User, UploadAssetParams, UpdateVariableParams, UpdateRepositoryParams, UpdateReleaseParams, UpdatePullRequestParams, UpdateFileParams, TreeEntry, Tree, TimelineEvent, Team, Secret, Runner, RequestOptions, Repository, RemoveEmailParams, Release, Reference, RateLimitInfo, PullRequestFile, PullRequestBase, PullRequest, Milestone, ListPullRequestsParams, LanguagesResponse, Label, Issue, Invitation, FileDeletionResponse, FileCreationResponse, FileContent, EmailOperationResponse, Email, DispatchWorkflowParams, DirectoryContent, DeleteFileParams, CurrentUser, CreateVariableParams, CreateTreeParams, CreateSecretParams, CreateRepositoryParams, CreateReleaseParams, CreateRefParams, CreatePullRequestParams, CreateForkParams, CreateFileParams, CreateCommitParams, Content, CompareResponse, CommitInfo, Commit, Comment, Branch, Asset, Artifact, ApiVersionInfo, ApiResponseMetadata, ApiError, AddEmailParams };
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 };