gitverse-api-sdk 4.0.2 → 5.0.0

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 (59) hide show
  1. package/README.md +126 -270
  2. package/dist/api/actions.d.ts +116 -43
  3. package/dist/api/actions.js +3 -3
  4. package/dist/api/actions.js.map +3 -3
  5. package/dist/api/branches.d.ts +33 -1
  6. package/dist/api/branches.js +3 -3
  7. package/dist/api/branches.js.map +3 -3
  8. package/dist/api/collaborators.d.ts +200 -3
  9. package/dist/api/collaborators.js +3 -3
  10. package/dist/api/collaborators.js.map +3 -3
  11. package/dist/api/commits.d.ts +88 -3
  12. package/dist/api/commits.js +3 -3
  13. package/dist/api/commits.js.map +3 -3
  14. package/dist/api/contents.d.ts +26 -1
  15. package/dist/api/contents.js +3 -3
  16. package/dist/api/contents.js.map +3 -3
  17. package/dist/api/emails.d.ts +28 -18
  18. package/dist/api/emails.js +3 -3
  19. package/dist/api/emails.js.map +3 -3
  20. package/dist/api/forks.d.ts +44 -1
  21. package/dist/api/forks.js +3 -3
  22. package/dist/api/forks.js.map +1 -1
  23. package/dist/api/git.d.ts +34 -4
  24. package/dist/api/git.js +3 -3
  25. package/dist/api/git.js.map +3 -3
  26. package/dist/api/issues.d.ts +252 -42
  27. package/dist/api/issues.js +3 -3
  28. package/dist/api/issues.js.map +3 -3
  29. package/dist/api/organizations.d.ts +10 -0
  30. package/dist/api/organizations.js +2 -2
  31. package/dist/api/organizations.js.map +1 -1
  32. package/dist/api/pulls.d.ts +145 -17
  33. package/dist/api/pulls.js +3 -3
  34. package/dist/api/pulls.js.map +3 -3
  35. package/dist/api/releases.d.ts +44 -16
  36. package/dist/api/releases.js +3 -3
  37. package/dist/api/releases.js.map +3 -3
  38. package/dist/api/repositories.d.ts +129 -45
  39. package/dist/api/repositories.js +3 -3
  40. package/dist/api/repositories.js.map +3 -3
  41. package/dist/api/stars.d.ts +65 -2
  42. package/dist/api/stars.js +3 -3
  43. package/dist/api/stars.js.map +3 -3
  44. package/dist/api/teams.d.ts +54 -44
  45. package/dist/api/teams.js +3 -3
  46. package/dist/api/teams.js.map +3 -3
  47. package/dist/api/users.d.ts +94 -0
  48. package/dist/api/users.js +3 -3
  49. package/dist/api/users.js.map +3 -3
  50. package/dist/client.d.ts +10 -0
  51. package/dist/client.js +3 -3
  52. package/dist/client.js.map +3 -3
  53. package/dist/index.d.ts +718 -180
  54. package/dist/index.js +2 -2
  55. package/dist/index.js.map +2 -2
  56. package/dist/types.d.ts +583 -85
  57. package/dist/utils.js +2 -2
  58. package/dist/utils.js.map +1 -1
  59. package/package.json +2 -2
package/dist/types.d.ts CHANGED
@@ -139,6 +139,130 @@ interface RequestOptions {
139
139
  signal?: AbortSignal;
140
140
  }
141
141
  /**
142
+ * Базовые параметры пагинации
143
+ */
144
+ interface PaginationParams {
145
+ /** Номер страницы (начиная с 1) */
146
+ page?: number;
147
+ /** Количество элементов на странице */
148
+ per_page?: number;
149
+ }
150
+ /**
151
+ * Параметры для получения списка starred репозиториев
152
+ */
153
+ interface ListStarsParams extends PaginationParams {
154
+ /** Критерий сортировки (default: "created") */
155
+ sort?: "created" | "updated";
156
+ /** Направление сортировки (default: "desc") */
157
+ direction?: "asc" | "desc";
158
+ }
159
+ /**
160
+ * Параметры для поиска пользователей
161
+ */
162
+ interface SearchUsersParams extends PaginationParams {
163
+ /** Критерий сортировки */
164
+ sort?: "best_match" | string;
165
+ /** Направление сортировки */
166
+ order?: "asc" | "desc";
167
+ }
168
+ /**
169
+ * Ответ на поиск пользователей
170
+ */
171
+ interface UserSearchResult {
172
+ /** Общее количество найденных пользователей */
173
+ total_count: number;
174
+ /** Неполные результаты (если true, результаты могут быть неполными) */
175
+ incomplete_results?: boolean;
176
+ /** Список найденных пользователей */
177
+ items: User2[];
178
+ }
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;
203
+ }
204
+ /**
205
+ * Параметры для получения списка комментариев к issue
206
+ */
207
+ interface ListCommentsParams {
208
+ /** Только комментарии после этого времени (RFC3339) */
209
+ since?: string;
210
+ /** Только комментарии до этого времени (RFC3339) */
211
+ before?: string;
212
+ }
213
+ /**
214
+ * Параметры для получения timeline issue
215
+ */
216
+ interface GetTimelineParams extends PaginationParams {
217
+ /** Только события после этого времени (RFC3339) */
218
+ since?: string;
219
+ /** Только события до этого времени (RFC3339) */
220
+ before?: string;
221
+ }
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;
236
+ }
237
+ /**
238
+ * Ответ на обновление ветки pull request
239
+ */
240
+ interface UpdateBranchResponse {
241
+ /** Сообщение о результате */
242
+ message: string;
243
+ /** URL обновлённого pull request */
244
+ url?: string;
245
+ }
246
+ /**
247
+ * Параметры для получения списка коммитов
248
+ */
249
+ interface ListCommitsParams extends PaginationParams {
250
+ /** SHA или имя ветки для начала списка */
251
+ 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;
264
+ }
265
+ /**
142
266
  * Интерфейс пользователя
143
267
  */
144
268
  interface User2 {
@@ -186,12 +310,62 @@ interface User2 {
186
310
  public_repos?: number;
187
311
  /** Количество репозиториев, отмеченных звездой */
188
312
  stars_count?: number;
313
+ /** API-ссылка на подписки пользователя */
314
+ following_url?: string;
315
+ /** API-ссылка на избранные репозитории */
316
+ starred_url?: string;
317
+ /** API-ссылка на подписки на уведомления */
318
+ subscriptions_url?: string;
189
319
  /** Дата создания аккаунта */
190
320
  created_at: string;
191
321
  /** Дата последнего обновления аккаунта */
192
322
  updated_at?: string;
193
323
  }
194
324
  /**
325
+ * Параметры для получения списка коллабораторов
326
+ */
327
+ interface ListCollaboratorsParams extends PaginationParams {
328
+ /** Фильтр по типу связи (direct, outside, all) */
329
+ affiliation?: "direct" | "outside" | "all";
330
+ /** Фильтр по уровню доступа */
331
+ permission?: "read" | "write" | "admin";
332
+ }
333
+ /**
334
+ * Параметры для добавления коллаборатора
335
+ */
336
+ interface AddCollaboratorParams {
337
+ /** Уровень доступа коллаборатора */
338
+ permission?: "read" | "write" | "admin";
339
+ }
340
+ /**
341
+ * Коллаборатор репозитория (пользователь с правами доступа)
342
+ */
343
+ interface Collaborator extends User2 {
344
+ /** Права доступа к репозиторию */
345
+ permissions?: {
346
+ admin: boolean
347
+ push: boolean
348
+ pull: boolean
349
+ };
350
+ }
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;
367
+ }
368
+ /**
195
369
  * Интерфейс текущего авторизованного пользователя
196
370
  * Получается из API метода /user
197
371
  */
@@ -200,6 +374,8 @@ interface CurrentUser {
200
374
  id: number;
201
375
  /** Имя пользователя (может быть пустым) */
202
376
  name?: string;
377
+ /** Полное имя пользователя */
378
+ full_name?: string;
203
379
  /** Логин пользователя */
204
380
  login: string;
205
381
  /** Электронная почта пользователя (может быть недоступна) */
@@ -208,12 +384,55 @@ interface CurrentUser {
208
384
  avatar_url: string;
209
385
  /** Веб-ссылка на профиль пользователя */
210
386
  html_url: string;
387
+ /** URL API пользователя */
388
+ url?: string;
211
389
  /** Количество публичных репозиториев */
212
390
  public_repos: number;
213
391
  /** Количество подписчиков */
214
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;
215
421
  /** Дата создания аккаунта */
216
422
  created_at: string;
423
+ /** Дата последнего обновления */
424
+ updated_at?: string;
425
+ }
426
+ /**
427
+ * Права доступа к репозиторию
428
+ */
429
+ interface Permissions {
430
+ /** Право администратора */
431
+ admin: boolean;
432
+ /** Право на запись */
433
+ push: boolean;
434
+ /** Право на чтение */
435
+ pull: boolean;
217
436
  }
218
437
  /**
219
438
  * Интерфейс репозитория
@@ -300,11 +519,27 @@ interface Repository {
300
519
  /** Информация о шаблоне репозитория (если доступно) */
301
520
  template_repository?: Repository | null;
302
521
  /** Разрешены ли слияния через merge commits */
303
- allow_merge_commits: boolean;
522
+ allow_merge_commit: boolean;
304
523
  /** Разрешены ли слияния через squash commits */
305
524
  allow_squash_merge: boolean;
525
+ /** Разрешены ли слияния через rebase */
526
+ allow_rebase_merge?: boolean;
306
527
  /** Удалять ли ветку после слияния по умолчанию */
307
528
  default_delete_branch_after_merge: boolean;
529
+ /** Права доступа текущего пользователя к репозиторию */
530
+ permissions?: Permissions;
531
+ /** API-ссылка на содержимое репозитория */
532
+ contents_url?: string;
533
+ /** API-ссылка на форки репозитория */
534
+ forks_url?: string;
535
+ /** API-ссылка на issues репозитория */
536
+ issues_url?: string;
537
+ /** API-ссылка на pull requests репозитория */
538
+ pulls_url?: string;
539
+ /** API-ссылка на языки репозитория */
540
+ languages_url?: string;
541
+ /** Шаблон API-ссылки на комментарии issues */
542
+ issue_comment_url?: string;
308
543
  /** Дата создания репозитория */
309
544
  created_at: string;
310
545
  /** Дата последнего обновления репозитория */
@@ -448,6 +683,15 @@ interface CreateForkParams {
448
683
  description?: string;
449
684
  }
450
685
  /**
686
+ * Параметры для получения содержимого репозитория
687
+ */
688
+ interface GetContentParams {
689
+ /** Ссылка на ветку/тег/коммит (по умолчанию основная ветка) */
690
+ ref?: string;
691
+ /** Уровень детализации информации о коммите (по умолчанию "fast") */
692
+ scope?: "fast" | "full";
693
+ }
694
+ /**
451
695
  * Интерфейс параметров для создания файла
452
696
  */
453
697
  interface CreateFileParams {
@@ -461,6 +705,10 @@ interface CreateFileParams {
461
705
  new_branch?: string;
462
706
  /** Добавлять ли подпись (Signed-off-by) в коммит */
463
707
  signoff?: boolean;
708
+ /** Путь исходного файла (для копирования/перемещения) */
709
+ from_path?: string;
710
+ /** SHA-хеш файла (для обновления существующего файла) */
711
+ sha?: string;
464
712
  }
465
713
  /**
466
714
  * Интерфейс параметров для обновления файла
@@ -583,6 +831,12 @@ interface PullRequest {
583
831
  merged_by?: User2 | null;
584
832
  /** Может ли мейнтейнер изменять pull request */
585
833
  maintainer_can_modify: boolean;
834
+ /** Является ли pull request черновиком */
835
+ is_draft?: boolean;
836
+ /** Запрошенные ревьюеры */
837
+ requested_reviewers?: User2[];
838
+ /** Запрошенные команды для ревью */
839
+ requested_teams?: Team[];
586
840
  /** Информация о целевой ветке */
587
841
  base: PullRequestBase;
588
842
  /** Информация о ветке с изменениями */
@@ -606,6 +860,20 @@ interface CreatePullRequestParams {
606
860
  head: string;
607
861
  /** Имя ветки, в которую будут внесены изменения */
608
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;
609
877
  }
610
878
  /**
611
879
  * Интерфейс параметров для получения списка pull requests
@@ -652,6 +920,10 @@ interface Label {
652
920
  color: string;
653
921
  /** URL метки */
654
922
  url?: string;
923
+ /** Эксклюзивная метка (взаимоисключающая в группе) */
924
+ exclusive?: boolean;
925
+ /** Архивирована ли метка */
926
+ is_archived?: boolean;
655
927
  }
656
928
  /**
657
929
  * Интерфейс майлстоуна (milestone)
@@ -701,8 +973,8 @@ interface Email {
701
973
  verified: boolean;
702
974
  /** Является ли основным */
703
975
  primary: boolean;
704
- /** Публичный ли email */
705
- is_public: boolean;
976
+ /** Видимость email */
977
+ visibility: string;
706
978
  }
707
979
  /**
708
980
  * Параметры для добавления email адресов
@@ -719,17 +991,6 @@ interface RemoveEmailParams {
719
991
  emails: string[];
720
992
  }
721
993
  /**
722
- * Ответ на операции с email
723
- */
724
- interface EmailOperationResponse {
725
- /** Сообщение о результате операции */
726
- message: string;
727
- /** Удаленные email адреса (только для операции удаления) */
728
- deleted_emails?: string[];
729
- /** HTTP статус код */
730
- status: number;
731
- }
732
- /**
733
994
  * Параметры для создания репозитория
734
995
  */
735
996
  interface CreateRepositoryParams {
@@ -743,10 +1004,8 @@ interface CreateRepositoryParams {
743
1004
  auto_init?: boolean;
744
1005
  /** Список .gitignore шаблонов */
745
1006
  gitignores?: string[];
746
- /** Лицензия репозитория */
747
- license?: string;
748
- /** Ветка по умолчанию */
749
- default_branch?: string;
1007
+ /** Является ли репозиторий шаблоном */
1008
+ is_template?: boolean;
750
1009
  }
751
1010
  /**
752
1011
  * Интерфейс issue
@@ -766,8 +1025,28 @@ interface Issue {
766
1025
  user: User2;
767
1026
  /** Список меток */
768
1027
  labels: Label[];
1028
+ /** Назначенный пользователь */
1029
+ assignee?: User2 | null;
769
1030
  /** Назначенные пользователи */
770
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[];
771
1050
  /** Дата создания */
772
1051
  created_at: string;
773
1052
  /** Дата обновления */
@@ -799,9 +1078,14 @@ interface Comment {
799
1078
  html_url: string;
800
1079
  /** API-ссылка на комментарий */
801
1080
  url: string;
1081
+ /** Ассоциация автора с репозиторием */
1082
+ author_association?: string;
1083
+ /** URL issue */
1084
+ issue_url?: string;
802
1085
  }
803
1086
  /**
804
1087
  * Интерфейс события в timeline issue
1088
+ * @deprecated Используйте TimelineComment вместо этого
805
1089
  */
806
1090
  interface TimelineEvent {
807
1091
  /** Уникальный идентификатор события */
@@ -823,6 +1107,95 @@ interface TimelineEvent {
823
1107
  };
824
1108
  }
825
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
+ /** Дата создания */
1168
+ created_at?: string;
1169
+ /** Дата обновления */
1170
+ updated_at?: string;
1171
+ }
1172
+ /**
1173
+ * Интерфейс отслеживаемого времени
1174
+ */
1175
+ interface TrackedTime {
1176
+ /** Идентификатор */
1177
+ id?: number;
1178
+ /** Дата создания */
1179
+ created?: string;
1180
+ /** Время в секундах */
1181
+ time?: number;
1182
+ /** ID пользователя (deprecated) */
1183
+ user_id?: number;
1184
+ /** Имя пользователя */
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
+ /**
826
1199
  * Интерфейс ветки репозитория
827
1200
  */
828
1201
  interface Branch {
@@ -832,6 +1205,10 @@ interface Branch {
832
1205
  commit: {
833
1206
  sha: string
834
1207
  url: string
1208
+ /** Дата создания коммита */
1209
+ created?: string
1210
+ /** Веб-ссылка на коммит */
1211
+ html_url?: string
835
1212
  };
836
1213
  /** Защищена ли ветка */
837
1214
  protected?: boolean;
@@ -864,6 +1241,8 @@ interface Commit {
864
1241
  tree: {
865
1242
  sha: string
866
1243
  url: string
1244
+ /** Дата создания */
1245
+ created?: string
867
1246
  }
868
1247
  };
869
1248
  /** Автор (пользователь GitVerse) */
@@ -880,6 +1259,45 @@ interface Commit {
880
1259
  url: string;
881
1260
  /** Веб-ссылка на коммит */
882
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;
883
1301
  }
884
1302
  /**
885
1303
  * Параметры для создания коммита
@@ -903,8 +1321,6 @@ interface CreateCommitParams {
903
1321
  email: string
904
1322
  date?: string
905
1323
  };
906
- /** GPG подпись */
907
- signature?: string;
908
1324
  }
909
1325
  /**
910
1326
  * Параметры для обновления репозитория
@@ -914,18 +1330,38 @@ interface UpdateRepositoryParams {
914
1330
  name?: string;
915
1331
  /** Новое описание репозитория */
916
1332
  description?: string;
917
- /** Веб-сайт проекта */
918
- website?: string;
919
1333
  /** Приватный ли репозиторий */
920
1334
  private?: boolean;
921
- /** Разрешены ли issues */
922
- has_issues?: boolean;
923
- /** Разрешена ли wiki */
924
- has_wiki?: boolean;
925
1335
  /** Ветка по умолчанию */
926
1336
  default_branch?: string;
927
1337
  /** Архивирован ли репозиторий */
928
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;
929
1365
  }
930
1366
  /**
931
1367
  * Интерфейс результата сравнения веток/коммитов
@@ -935,10 +1371,6 @@ interface CompareResponse {
935
1371
  url: string;
936
1372
  /** Веб-ссылка для сравнения */
937
1373
  html_url: string;
938
- /** Diff-ссылка */
939
- diff_url: string;
940
- /** Patch-ссылка */
941
- patch_url: string;
942
1374
  /** Базовый коммит */
943
1375
  base_commit: Commit;
944
1376
  /** Сравниваемый коммит */
@@ -954,7 +1386,7 @@ interface CompareResponse {
954
1386
  /** Список коммитов */
955
1387
  commits: Commit[];
956
1388
  /** Изменённые файлы */
957
- files: PullRequestFile[];
1389
+ files: CommitFile[];
958
1390
  }
959
1391
  /**
960
1392
  * Параметры для обновления pull request
@@ -995,40 +1427,65 @@ interface PullRequestFile {
995
1427
  contents_url: string;
996
1428
  /** Patch для файла */
997
1429
  patch?: string;
998
- /** Предыдущее имя файла (для переименованных) */
999
- previous_filename?: string;
1000
1430
  }
1001
1431
  /**
1002
1432
  * Интерфейс команды (team)
1003
1433
  */
1434
+ /**
1435
+ * Краткая информация о репозитории (для вложенных объектов)
1436
+ */
1437
+ interface RepositoryMeta {
1438
+ /** Идентификатор репозитория */
1439
+ id: number;
1440
+ /** Название репозитория */
1441
+ name: string;
1442
+ /** Полное название репозитория */
1443
+ full_name: string;
1444
+ }
1445
+ /**
1446
+ * Краткая информация о pull request (для вложенных объектов в issue)
1447
+ */
1448
+ interface PullRequestMeta {
1449
+ /** URL pull request */
1450
+ url?: string;
1451
+ /** Веб-ссылка на pull request */
1452
+ 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;
1461
+ }
1004
1462
  interface Team {
1005
1463
  /** Идентификатор команды */
1006
1464
  id: number;
1007
- /** Node ID команды */
1008
- node_id?: string;
1009
1465
  /** Название команды */
1010
1466
  name: string;
1011
- /** Slug команды */
1012
- slug: string;
1013
1467
  /** Описание команды */
1014
1468
  description?: string;
1015
- /** Приватность команды */
1016
- privacy?: "secret" | "closed";
1017
1469
  /** Права доступа */
1018
1470
  permission: "pull" | "push" | "admin";
1019
1471
  /** Количество участников */
1020
- members_count?: number;
1472
+ num_members?: number;
1021
1473
  /** Количество репозиториев */
1022
- repos_count?: number;
1023
- /** Организация */
1024
- organization?: {
1025
- login: string
1026
- id: number
1027
- };
1028
- /** Веб-ссылка */
1029
- html_url: string;
1030
- /** API-ссылка */
1031
- url: string;
1474
+ num_repos?: number;
1475
+ /** Может создавать репозитории в организации */
1476
+ can_create_org_repo?: boolean;
1477
+ /** Включает все репозитории */
1478
+ includes_all_repositories?: boolean;
1479
+ /** Права на Actions */
1480
+ permission_actions?: string;
1481
+ /** Права на код */
1482
+ permission_code?: string;
1483
+ /** Права на packages */
1484
+ permission_packages?: string;
1485
+ /** Права на pull requests */
1486
+ permission_pulls?: string;
1487
+ /** Права на релизы */
1488
+ permission_releases?: string;
1032
1489
  }
1033
1490
  /**
1034
1491
  * Интерфейс приглашения в команду
@@ -1079,10 +1536,21 @@ interface Release {
1079
1536
  tarball_url: string;
1080
1537
  /** Ссылка на архив zip */
1081
1538
  zipball_url: string;
1539
+ /** URL для загрузки ассетов */
1540
+ upload_url?: string;
1082
1541
  /** Список ассетов */
1083
1542
  assets: Asset[];
1084
1543
  }
1085
1544
  /**
1545
+ * Параметры для получения списка релизов
1546
+ */
1547
+ interface ListReleasesParams extends PaginationParams {
1548
+ /** Фильтр по черновикам */
1549
+ draft?: boolean;
1550
+ /** Фильтр по пре-релизам */
1551
+ pre_release?: boolean;
1552
+ }
1553
+ /**
1086
1554
  * Параметры для создания релиза
1087
1555
  */
1088
1556
  interface CreateReleaseParams {
@@ -1122,28 +1590,18 @@ interface UpdateReleaseParams {
1122
1590
  interface Asset {
1123
1591
  /** Идентификатор ассета */
1124
1592
  id: number;
1593
+ /** UUID ассета */
1594
+ uuid: string;
1125
1595
  /** Название файла */
1126
1596
  name: string;
1127
- /** Метка ассета */
1128
- label?: string;
1129
- /** Content-Type */
1130
- content_type: string;
1131
- /** Состояние ассета */
1132
- state: "uploaded" | "open";
1133
1597
  /** Размер в байтах */
1134
1598
  size: number;
1135
1599
  /** Количество скачиваний */
1136
1600
  download_count: number;
1137
1601
  /** Дата создания */
1138
1602
  created_at: string;
1139
- /** Дата обновления */
1140
- updated_at: string;
1141
- /** Загрузивший пользователь */
1142
- uploader: User2;
1143
1603
  /** URL для скачивания */
1144
1604
  browser_download_url: string;
1145
- /** API-ссылка */
1146
- url: string;
1147
1605
  }
1148
1606
  /**
1149
1607
  * Параметры для загрузки ассета
@@ -1151,8 +1609,6 @@ interface Asset {
1151
1609
  interface UploadAssetParams {
1152
1610
  /** Название файла */
1153
1611
  name: string;
1154
- /** Метка ассета */
1155
- label?: string;
1156
1612
  /** Содержимое файла */
1157
1613
  data: ArrayBuffer | Blob;
1158
1614
  }
@@ -1162,8 +1618,6 @@ interface UploadAssetParams {
1162
1618
  interface Reference {
1163
1619
  /** Имя ссылки (например, refs/heads/main) */
1164
1620
  ref: string;
1165
- /** Node ID */
1166
- node_id?: string;
1167
1621
  /** API-ссылка */
1168
1622
  url: string;
1169
1623
  /** Объект, на который указывает ссылка */
@@ -1194,6 +1648,10 @@ interface Tree {
1194
1648
  tree: TreeEntry[];
1195
1649
  /** Обрезано ли дерево */
1196
1650
  truncated: boolean;
1651
+ /** Номер страницы (для пагинации) */
1652
+ page?: number;
1653
+ /** Общее количество записей */
1654
+ total_count?: number;
1197
1655
  }
1198
1656
  /**
1199
1657
  * Интерфейс записи в Git-дереве
@@ -1210,7 +1668,7 @@ interface TreeEntry {
1210
1668
  /** Размер (для blob) */
1211
1669
  size?: number;
1212
1670
  /** URL объекта */
1213
- url: string;
1671
+ url?: string;
1214
1672
  }
1215
1673
  /**
1216
1674
  * Параметры для создания Git-дерева
@@ -1228,6 +1686,13 @@ interface CreateTreeParams {
1228
1686
  base_tree?: string;
1229
1687
  }
1230
1688
  /**
1689
+ * Параметры для получения Git-дерева
1690
+ */
1691
+ interface GetTreeParams extends PaginationParams {
1692
+ /** Рекурсивное получение поддеревьев */
1693
+ recursive?: boolean;
1694
+ }
1695
+ /**
1231
1696
  * Интерфейс раннера GitHub Actions
1232
1697
  */
1233
1698
  interface Runner {
@@ -1235,10 +1700,8 @@ interface Runner {
1235
1700
  id: number;
1236
1701
  /** Название раннера */
1237
1702
  name: string;
1238
- /** Операционная система */
1239
- os: string;
1240
1703
  /** Статус раннера */
1241
- status: "online" | "offline";
1704
+ status: string;
1242
1705
  /** Занят ли раннер */
1243
1706
  busy: boolean;
1244
1707
  /** Метки раннера */
@@ -1256,17 +1719,46 @@ interface Secret {
1256
1719
  name: string;
1257
1720
  /** Дата создания */
1258
1721
  created_at: string;
1259
- /** Дата обновления */
1260
- updated_at: string;
1261
1722
  }
1262
1723
  /**
1263
- * Параметры для создания/обновления секрета
1724
+ * Параметры для получения workflow dispatch inputs
1725
+ */
1726
+ interface GetWorkflowDispatchParams {
1727
+ /** Название ветки */
1728
+ branch?: string;
1729
+ /** Название тега */
1730
+ tag?: string;
1731
+ }
1732
+ /**
1733
+ * Входной параметр workflow dispatch
1264
1734
  */
1265
- interface CreateSecretParams {
1266
- /** Зашифрованное значение */
1267
- encrypted_value: string;
1268
- /** ID ключа для шифрования */
1269
- key_id: string;
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[];
1748
+ }
1749
+ /**
1750
+ * Параметры для списка артефактов
1751
+ */
1752
+ interface ListArtifactsParams extends PaginationParams {
1753
+ /** Фильтр по имени артефакта */
1754
+ name?: string;
1755
+ }
1756
+ /**
1757
+ * Параметры для добавления репозитория в команду
1758
+ */
1759
+ interface AddTeamRepositoryParams {
1760
+ /** Уровень доступа (read, write, admin) */
1761
+ permission: string;
1270
1762
  }
1271
1763
  /**
1272
1764
  * Интерфейс переменной GitHub Actions
@@ -1305,8 +1797,6 @@ interface UpdateVariableParams {
1305
1797
  interface Artifact {
1306
1798
  /** Идентификатор артефакта */
1307
1799
  id: number;
1308
- /** Node ID артефакта */
1309
- node_id: string;
1310
1800
  /** Название артефакта */
1311
1801
  name: string;
1312
1802
  /** Размер в байтах */
@@ -1323,14 +1813,22 @@ interface Artifact {
1323
1813
  expires_at: string;
1324
1814
  /** Дата обновления */
1325
1815
  updated_at: string;
1816
+ /** Информация о запуске workflow */
1817
+ workflow_run?: {
1818
+ id: number
1819
+ repository_id: number
1820
+ head_sha: string
1821
+ };
1326
1822
  }
1327
1823
  /**
1328
1824
  * Параметры для запуска workflow
1329
1825
  */
1330
1826
  interface DispatchWorkflowParams {
1331
- /** Ссылка на ветку или тег */
1332
- ref: string;
1333
- /** Входные параметры для workflow */
1334
- inputs?: Record<string, string>;
1827
+ /** Название ветки (один из branch или tag обязателен) */
1828
+ branch?: string;
1829
+ /** Название тега (один из branch или tag обязателен) */
1830
+ tag?: string;
1831
+ /** Входные параметры для workflow (обязательный параметр) */
1832
+ inputs: Record<string, string>;
1335
1833
  }
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 };
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 };