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/index.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,15 +1813,23 @@ 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
1834
  /**
1337
1835
  * Базовая ошибка GitVerse API
@@ -1485,6 +1983,16 @@ declare class GitVerseClient {
1485
1983
  * @returns Ответ от API
1486
1984
  */
1487
1985
  patch<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
1986
+ /**
1987
+ * Выполняет загрузку файла через multipart/form-data
1988
+ * @param path Путь к API-ресурсу
1989
+ * @param fieldName Имя поля для файла
1990
+ * @param file Файл для загрузки (Blob или ArrayBuffer)
1991
+ * @param fileName Имя файла
1992
+ * @param options Опции запроса (опционально)
1993
+ * @returns Ответ от API
1994
+ */
1995
+ uploadFile<T>(path: string, fieldName: string, file: Blob | ArrayBuffer, fileName: string, options?: RequestOptions): Promise<T>;
1488
1996
  }
1489
1997
  /**
1490
1998
  * API для работы с GitHub Actions
@@ -1499,10 +2007,13 @@ declare class ActionsApi {
1499
2007
  /**
1500
2008
  * Получает список раннеров организации
1501
2009
  * @param org Название организации
2010
+ * @param params Параметры пагинации
2011
+ * @param options Опции запроса
1502
2012
  * @returns Список раннеров
1503
2013
  */
1504
- listOrgRunners(org: string, options?: RequestOptions): Promise<{
2014
+ listOrgRunners(org: string, params?: PaginationParams, options?: RequestOptions): Promise<{
1505
2015
  runners: Runner[]
2016
+ total_count: number
1506
2017
  }>;
1507
2018
  /**
1508
2019
  * Создает токен регистрации раннера для организации
@@ -1531,10 +2042,13 @@ declare class ActionsApi {
1531
2042
  * Получает список раннеров репозитория
1532
2043
  * @param owner Владелец репозитория
1533
2044
  * @param repo Название репозитория
2045
+ * @param params Параметры пагинации
2046
+ * @param options Опции запроса
1534
2047
  * @returns Список раннеров
1535
2048
  */
1536
- listRepoRunners(owner: string, repo: string, options?: RequestOptions): Promise<{
2049
+ listRepoRunners(owner: string, repo: string, params?: PaginationParams, options?: RequestOptions): Promise<{
1537
2050
  runners: Runner[]
2051
+ total_count: number
1538
2052
  }>;
1539
2053
  /**
1540
2054
  * Создает токен регистрации раннера для репозитория
@@ -1565,10 +2079,13 @@ declare class ActionsApi {
1565
2079
  /**
1566
2080
  * Получает список секретов организации
1567
2081
  * @param org Название организации
2082
+ * @param params Параметры пагинации
2083
+ * @param options Опции запроса
1568
2084
  * @returns Список секретов
1569
2085
  */
1570
- listOrgSecrets(org: string, options?: RequestOptions): Promise<{
2086
+ listOrgSecrets(org: string, params?: PaginationParams, options?: RequestOptions): Promise<{
1571
2087
  secrets: Secret[]
2088
+ total_count: number
1572
2089
  }>;
1573
2090
  /**
1574
2091
  * Получает секрет организации по имени
@@ -1581,10 +2098,11 @@ declare class ActionsApi {
1581
2098
  * Создает или обновляет секрет организации
1582
2099
  * @param org Название организации
1583
2100
  * @param secretName Название секрета
1584
- * @param params Параметры секрета
1585
- * @returns Результат операции
2101
+ * @param encryptedValue Зашифрованное значение секрета
2102
+ * @param options Опции запроса
2103
+ * @returns Созданный или обновлённый секрет
1586
2104
  */
1587
- createOrUpdateOrgSecret(org: string, secretName: string, params: CreateSecretParams, options?: RequestOptions): Promise<void>;
2105
+ createOrUpdateOrgSecret(org: string, secretName: string, encryptedValue: string, options?: RequestOptions): Promise<Secret>;
1588
2106
  /**
1589
2107
  * Удаляет секрет организации
1590
2108
  * @param org Название организации
@@ -1596,10 +2114,13 @@ declare class ActionsApi {
1596
2114
  * Получает список секретов репозитория
1597
2115
  * @param owner Владелец репозитория
1598
2116
  * @param repo Название репозитория
2117
+ * @param params Параметры пагинации
2118
+ * @param options Опции запроса
1599
2119
  * @returns Список секретов
1600
2120
  */
1601
- listRepoSecrets(owner: string, repo: string, options?: RequestOptions): Promise<{
2121
+ listRepoSecrets(owner: string, repo: string, params?: PaginationParams, options?: RequestOptions): Promise<{
1602
2122
  secrets: Secret[]
2123
+ total_count: number
1603
2124
  }>;
1604
2125
  /**
1605
2126
  * Получает секрет репозитория по имени
@@ -1614,10 +2135,11 @@ declare class ActionsApi {
1614
2135
  * @param owner Владелец репозитория
1615
2136
  * @param repo Название репозитория
1616
2137
  * @param secretName Название секрета
1617
- * @param params Параметры секрета
1618
- * @returns Результат операции
2138
+ * @param encryptedValue Зашифрованное значение секрета
2139
+ * @param options Опции запроса
2140
+ * @returns Созданный или обновлённый секрет
1619
2141
  */
1620
- createOrUpdateRepoSecret(owner: string, repo: string, secretName: string, params: CreateSecretParams, options?: RequestOptions): Promise<void>;
2142
+ createOrUpdateRepoSecret(owner: string, repo: string, secretName: string, encryptedValue: string, options?: RequestOptions): Promise<Secret>;
1621
2143
  /**
1622
2144
  * Удаляет секрет репозитория
1623
2145
  * @param owner Владелец репозитория
@@ -1629,18 +2151,21 @@ declare class ActionsApi {
1629
2151
  /**
1630
2152
  * Получает список переменных организации
1631
2153
  * @param org Название организации
2154
+ * @param params Параметры пагинации
2155
+ * @param options Опции запроса
1632
2156
  * @returns Список переменных
1633
2157
  */
1634
- listOrgVariables(org: string, options?: RequestOptions): Promise<{
2158
+ listOrgVariables(org: string, params?: PaginationParams, options?: RequestOptions): Promise<{
1635
2159
  variables: Variable[]
2160
+ total_count: number
1636
2161
  }>;
1637
2162
  /**
1638
2163
  * Создает переменную организации
1639
2164
  * @param org Название организации
1640
2165
  * @param params Параметры переменной
1641
- * @returns Созданная переменная
2166
+ * @returns Результат операции
1642
2167
  */
1643
- createOrgVariable(org: string, params: CreateVariableParams, options?: RequestOptions): Promise<Variable>;
2168
+ createOrgVariable(org: string, params: CreateVariableParams, options?: RequestOptions): Promise<void>;
1644
2169
  /**
1645
2170
  * Получает переменную организации по имени
1646
2171
  * @param org Название организации
@@ -1660,26 +2185,29 @@ declare class ActionsApi {
1660
2185
  * @param org Название организации
1661
2186
  * @param name Название переменной
1662
2187
  * @param params Параметры обновления
1663
- * @returns Обновлённая переменная
2188
+ * @returns Результат операции
1664
2189
  */
1665
- updateOrgVariable(org: string, name: string, params: UpdateVariableParams, options?: RequestOptions): Promise<Variable>;
2190
+ updateOrgVariable(org: string, name: string, params: UpdateVariableParams, options?: RequestOptions): Promise<void>;
1666
2191
  /**
1667
2192
  * Получает список переменных репозитория
1668
2193
  * @param owner Владелец репозитория
1669
2194
  * @param repo Название репозитория
2195
+ * @param params Параметры пагинации
2196
+ * @param options Опции запроса
1670
2197
  * @returns Список переменных
1671
2198
  */
1672
- listRepoVariables(owner: string, repo: string, options?: RequestOptions): Promise<{
2199
+ listRepoVariables(owner: string, repo: string, params?: PaginationParams, options?: RequestOptions): Promise<{
1673
2200
  variables: Variable[]
2201
+ total_count: number
1674
2202
  }>;
1675
2203
  /**
1676
2204
  * Создает переменную репозитория
1677
2205
  * @param owner Владелец репозитория
1678
2206
  * @param repo Название репозитория
1679
2207
  * @param params Параметры переменной
1680
- * @returns Созданная переменная
2208
+ * @returns Результат операции
1681
2209
  */
1682
- createRepoVariable(owner: string, repo: string, params: CreateVariableParams, options?: RequestOptions): Promise<Variable>;
2210
+ createRepoVariable(owner: string, repo: string, params: CreateVariableParams, options?: RequestOptions): Promise<void>;
1683
2211
  /**
1684
2212
  * Получает переменную репозитория по имени
1685
2213
  * @param owner Владелец репозитория
@@ -1702,17 +2230,20 @@ declare class ActionsApi {
1702
2230
  * @param repo Название репозитория
1703
2231
  * @param name Название переменной
1704
2232
  * @param params Параметры обновления
1705
- * @returns Обновлённая переменная
2233
+ * @returns Результат операции
1706
2234
  */
1707
- updateRepoVariable(owner: string, repo: string, name: string, params: UpdateVariableParams, options?: RequestOptions): Promise<Variable>;
2235
+ updateRepoVariable(owner: string, repo: string, name: string, params: UpdateVariableParams, options?: RequestOptions): Promise<void>;
1708
2236
  /**
1709
2237
  * Получает список артефактов репозитория
1710
2238
  * @param owner Владелец репозитория
1711
2239
  * @param repo Название репозитория
1712
- * @returns Список артефактов
2240
+ * @param params Параметры запроса (пагинация и фильтр по имени)
2241
+ * @param options Опции запроса
2242
+ * @returns Список артефактов с общим количеством
1713
2243
  */
1714
- listArtifacts(owner: string, repo: string, options?: RequestOptions): Promise<{
2244
+ listArtifacts(owner: string, repo: string, params?: ListArtifactsParams, options?: RequestOptions): Promise<{
1715
2245
  artifacts: Artifact[]
2246
+ total_count: number
1716
2247
  }>;
1717
2248
  /**
1718
2249
  * Получает артефакт по ID
@@ -1751,18 +2282,23 @@ declare class ActionsApi {
1751
2282
  * @param owner Владелец репозитория
1752
2283
  * @param repo Название репозитория
1753
2284
  * @param workflow ID или имя файла workflow
1754
- * @returns Параметры workflow
2285
+ * @param params Параметры запроса (branch или tag)
2286
+ * @param options Опции запроса
2287
+ * @returns Список входных параметров workflow
1755
2288
  */
1756
- getWorkflowDispatchInputs(owner: string, repo: string, workflow: string | number, options?: RequestOptions): Promise<Record<string, unknown>>;
2289
+ getWorkflowDispatchInputs(owner: string, repo: string, workflow: string, params?: GetWorkflowDispatchParams, options?: RequestOptions): Promise<{
2290
+ inputs: WorkflowDispatchInput[]
2291
+ }>;
1757
2292
  /**
1758
2293
  * Запускает workflow
1759
2294
  * @param owner Владелец репозитория
1760
2295
  * @param repo Название репозитория
1761
2296
  * @param workflow ID или имя файла workflow
1762
- * @param params Параметры запуска
2297
+ * @param params Параметры запуска (branch/tag в query, inputs в body)
2298
+ * @param options Опции запроса
1763
2299
  * @returns Результат операции
1764
2300
  */
1765
- dispatchWorkflow(owner: string, repo: string, workflow: string | number, params: DispatchWorkflowParams, options?: RequestOptions): Promise<void>;
2301
+ dispatchWorkflow(owner: string, repo: string, workflow: string, params: DispatchWorkflowParams, options?: RequestOptions): Promise<void>;
1766
2302
  }
1767
2303
  /**
1768
2304
  * API для работы с ветками репозитория
@@ -1778,9 +2314,11 @@ declare class BranchesApi {
1778
2314
  * Получает список веток репозитория
1779
2315
  * @param owner Владелец репозитория
1780
2316
  * @param repo Название репозитория
2317
+ * @param params Параметры пагинации и фильтрации
2318
+ * @param options Опции запроса
1781
2319
  * @returns Список веток
1782
2320
  */
1783
- list(owner: string, repo: string, options?: RequestOptions): Promise<Branch[]>;
2321
+ list(owner: string, repo: string, params?: ListBranchesParams, options?: RequestOptions): Promise<Branch[]>;
1784
2322
  }
1785
2323
  /**
1786
2324
  * API для работы с коллабораторами репозитория
@@ -1796,17 +2334,21 @@ declare class CollaboratorsApi {
1796
2334
  * Получает список коллабораторов репозитория
1797
2335
  * @param owner Владелец репозитория
1798
2336
  * @param repo Название репозитория
2337
+ * @param params Параметры пагинации и фильтрации
2338
+ * @param options Опции запроса
1799
2339
  * @returns Список коллабораторов
1800
2340
  */
1801
- list(owner: string, repo: string, options?: RequestOptions): Promise<User2[]>;
2341
+ list(owner: string, repo: string, params?: ListCollaboratorsParams, options?: RequestOptions): Promise<Collaborator[]>;
1802
2342
  /**
1803
2343
  * Добавляет коллаборатора к репозиторию
1804
2344
  * @param owner Владелец репозитория
1805
2345
  * @param repo Название репозитория
1806
2346
  * @param collaborator Имя пользователя коллаборатора
1807
- * @returns Результат операции
2347
+ * @param params Параметры добавления (уровень доступа)
2348
+ * @param options Опции запроса
2349
+ * @returns Приглашение коллаборатора
1808
2350
  */
1809
- add(owner: string, repo: string, collaborator: string, options?: RequestOptions): Promise<void>;
2351
+ add(owner: string, repo: string, collaborator: string, params?: AddCollaboratorParams, options?: RequestOptions): Promise<CollaboratorInvitation>;
1810
2352
  }
1811
2353
  /**
1812
2354
  * API для работы с коммитами
@@ -1822,9 +2364,11 @@ declare class CommitsApi {
1822
2364
  * Получает список коммитов в репозитории
1823
2365
  * @param owner Владелец репозитория
1824
2366
  * @param repo Название репозитория
2367
+ * @param params Параметры фильтрации и пагинации
2368
+ * @param options Опции запроса
1825
2369
  * @returns Список коммитов
1826
2370
  */
1827
- list(owner: string, repo: string, options?: RequestOptions): Promise<Commit[]>;
2371
+ list(owner: string, repo: string, params?: ListCommitsParams, options?: RequestOptions): Promise<Commit[]>;
1828
2372
  /**
1829
2373
  * Получает информацию о коммите по SHA
1830
2374
  * @param owner Владелец репозитория
@@ -1857,9 +2401,11 @@ declare class ContentsApi {
1857
2401
  * @param owner Владелец репозитория
1858
2402
  * @param repo Название репозитория
1859
2403
  * @param path Путь к файлу или директории
2404
+ * @param params Параметры запроса (ref, scope)
2405
+ * @param options Опции запроса
1860
2406
  * @returns Содержимое файла или директории
1861
2407
  */
1862
- get(owner: string, repo: string, path: string, options?: RequestOptions): Promise<Content>;
2408
+ get(owner: string, repo: string, path: string, params?: GetContentParams, options?: RequestOptions): Promise<Content>;
1863
2409
  /**
1864
2410
  * Создает новый файл в репозитории
1865
2411
  * @param owner Владелец репозитория
@@ -1896,21 +2442,23 @@ declare class EmailsApi {
1896
2442
  constructor(client: GitVerseClient);
1897
2443
  /**
1898
2444
  * Получить список email адресов текущего пользователя
2445
+ * @param params Параметры пагинации
2446
+ * @param options Опции запроса
1899
2447
  * @returns {Promise<Email[]>} Массив email адресов
1900
2448
  */
1901
- list(options?: RequestOptions): Promise<Email[]>;
2449
+ list(params?: PaginationParams, options?: RequestOptions): Promise<Email[]>;
1902
2450
  /**
1903
2451
  * Добавить email адреса к аккаунту пользователя
1904
2452
  * @param {AddEmailParams} params - Параметры для добавления email
1905
- * @returns {Promise<EmailOperationResponse>} Результат операции
2453
+ * @returns {Promise<Email[]>} Массив добавленных email адресов
1906
2454
  */
1907
- add(params: AddEmailParams, options?: RequestOptions): Promise<EmailOperationResponse>;
2455
+ add(params: AddEmailParams, options?: RequestOptions): Promise<Email[]>;
1908
2456
  /**
1909
2457
  * Удалить email адреса из аккаунта пользователя
1910
2458
  * @param {RemoveEmailParams} params - Параметры для удаления email
1911
- * @returns {Promise<EmailOperationResponse>} Результат операции
2459
+ * @returns {Promise<void>} Пустой ответ при успехе
1912
2460
  */
1913
- remove(params: RemoveEmailParams, options?: RequestOptions): Promise<EmailOperationResponse>;
2461
+ remove(params: RemoveEmailParams, options?: RequestOptions): Promise<void>;
1914
2462
  }
1915
2463
  /**
1916
2464
  * API для работы с форками репозиториев
@@ -1962,9 +2510,11 @@ declare class GitApi {
1962
2510
  * @param owner Владелец репозитория
1963
2511
  * @param repo Название репозитория
1964
2512
  * @param sha SHA-хеш дерева
2513
+ * @param params Параметры запроса (пагинация и recursive)
2514
+ * @param options Опции запроса
1965
2515
  * @returns Информация о дереве
1966
2516
  */
1967
- getTree(owner: string, repo: string, sha: string, options?: RequestOptions): Promise<Tree>;
2517
+ getTree(owner: string, repo: string, sha: string, params?: GetTreeParams, options?: RequestOptions): Promise<Tree>;
1968
2518
  }
1969
2519
  /**
1970
2520
  * Класс для работы с issues репозитория
@@ -1974,52 +2524,28 @@ declare class IssuesApi {
1974
2524
  constructor(client: GitVerseClient);
1975
2525
  /**
1976
2526
  * Получить список issues репозитория
1977
- * @param {string} owner - Владелец репозитория
1978
- * @param {string} repo - Название репозитория
1979
- * @param {IssueState} [state] - Фильтр по состоянию issue
1980
- * @returns {Promise<Issue[]>} Массив issues
1981
2527
  */
1982
- list(owner: string, repo: string, state?: IssueState, options?: RequestOptions): Promise<Issue[]>;
2528
+ list(owner: string, repo: string, params?: ListIssuesParams, options?: RequestOptions): Promise<Issue[]>;
1983
2529
  /**
1984
2530
  * Получить конкретный issue
1985
- * @param {string} owner - Владелец репозитория
1986
- * @param {string} repo - Название репозитория
1987
- * @param {number} index - Номер issue
1988
- * @returns {Promise<Issue>} Информация об issue
1989
2531
  */
1990
2532
  get(owner: string, repo: string, index: number, options?: RequestOptions): Promise<Issue>;
1991
2533
  /**
1992
2534
  * Получить комментарий по ID
1993
- * @param {string} owner - Владелец репозитория
1994
- * @param {string} repo - Название репозитория
1995
- * @param {number} id - ID комментария
1996
- * @returns {Promise<Comment>} Информация о комментарии
1997
2535
  */
1998
2536
  getComment(owner: string, repo: string, id: number, options?: RequestOptions): Promise<Comment>;
1999
2537
  /**
2000
2538
  * Получить список комментариев к issue
2001
- * @param {string} owner - Владелец репозитория
2002
- * @param {string} repo - Название репозитория
2003
- * @param {number} index - Номер issue
2004
- * @returns {Promise<Comment[]>} Массив комментариев
2005
2539
  */
2006
- getComments(owner: string, repo: string, index: number, options?: RequestOptions): Promise<Comment[]>;
2540
+ getComments(owner: string, repo: string, index: number, params?: ListCommentsParams, options?: RequestOptions): Promise<Comment[]>;
2007
2541
  /**
2008
2542
  * Получить список меток issue
2009
- * @param {string} owner - Владелец репозитория
2010
- * @param {string} repo - Название репозитория
2011
- * @param {number} index - Номер issue
2012
- * @returns {Promise<Label[]>} Массив меток
2013
2543
  */
2014
2544
  getLabels(owner: string, repo: string, index: number, options?: RequestOptions): Promise<Label[]>;
2015
2545
  /**
2016
2546
  * Получить timeline событий issue
2017
- * @param {string} owner - Владелец репозитория
2018
- * @param {string} repo - Название репозитория
2019
- * @param {number} index - Номер issue
2020
- * @returns {Promise<TimelineEvent[]>} Массив событий timeline
2021
2547
  */
2022
- getTimeline(owner: string, repo: string, index: number, options?: RequestOptions): Promise<TimelineEvent[]>;
2548
+ getTimeline(owner: string, repo: string, index: number, params?: GetTimelineParams, options?: RequestOptions): Promise<TimelineComment[]>;
2023
2549
  }
2024
2550
  /**
2025
2551
  * API для работы с организациями
@@ -2084,28 +2610,16 @@ declare class PullsApi {
2084
2610
  update(owner: string, repo: string, number: number, params: UpdatePullRequestParams, options?: RequestOptions): Promise<PullRequest>;
2085
2611
  /**
2086
2612
  * Получает список файлов в pull request
2087
- * @param owner Владелец репозитория
2088
- * @param repo Название репозитория
2089
- * @param number Номер pull request
2090
- * @returns Список изменённых файлов
2091
2613
  */
2092
- getFiles(owner: string, repo: string, number: number, options?: RequestOptions): Promise<PullRequestFile[]>;
2614
+ getFiles(owner: string, repo: string, number: number, params?: GetPullFilesParams, options?: RequestOptions): Promise<PullRequestFile[]>;
2093
2615
  /**
2094
2616
  * Обновляет ветку pull request с базовой веткой
2095
- * @param owner Владелец репозитория
2096
- * @param repo Название репозитория
2097
- * @param number Номер pull request
2098
- * @returns Результат операции
2099
2617
  */
2100
- updateBranch(owner: string, repo: string, number: number, options?: RequestOptions): Promise<void>;
2618
+ updateBranch(owner: string, repo: string, number: number, params?: UpdateBranchParams, options?: RequestOptions): Promise<UpdateBranchResponse>;
2101
2619
  /**
2102
2620
  * Получает список коммитов в pull request
2103
- * @param owner Владелец репозитория
2104
- * @param repo Название репозитория
2105
- * @param number Номер pull request
2106
- * @returns Список коммитов
2107
2621
  */
2108
- getCommits(owner: string, repo: string, number: number, options?: RequestOptions): Promise<Commit[]>;
2622
+ getCommits(owner: string, repo: string, number: number, params?: GetPullCommitsParams, options?: RequestOptions): Promise<Commit[]>;
2109
2623
  /**
2110
2624
  * Проверяет, был ли pull request влит в базовую ветку
2111
2625
  * @param owner Владелец репозитория
@@ -2129,9 +2643,11 @@ declare class ReleasesApi {
2129
2643
  * Получает список релизов репозитория
2130
2644
  * @param owner Владелец репозитория
2131
2645
  * @param repo Название репозитория
2646
+ * @param params Параметры пагинации и фильтрации
2647
+ * @param options Опции запроса
2132
2648
  * @returns Список релизов
2133
2649
  */
2134
- list(owner: string, repo: string, options?: RequestOptions): Promise<Release[]>;
2650
+ list(owner: string, repo: string, params?: ListReleasesParams, options?: RequestOptions): Promise<Release[]>;
2135
2651
  /**
2136
2652
  * Создает новый релиз
2137
2653
  * @param owner Владелец репозитория
@@ -2186,9 +2702,11 @@ declare class ReleasesApi {
2186
2702
  * @param owner Владелец репозитория
2187
2703
  * @param repo Название репозитория
2188
2704
  * @param releaseId ID релиза
2705
+ * @param params Параметры пагинации
2706
+ * @param options Опции запроса
2189
2707
  * @returns Список ассетов
2190
2708
  */
2191
- getAssets(owner: string, repo: string, releaseId: number, options?: RequestOptions): Promise<Asset[]>;
2709
+ getAssets(owner: string, repo: string, releaseId: number, params?: PaginationParams, options?: RequestOptions): Promise<Asset[]>;
2192
2710
  /**
2193
2711
  * Загружает ассет к релизу
2194
2712
  * @param owner Владелец репозитория
@@ -2245,9 +2763,11 @@ declare class RepositoriesApi {
2245
2763
  * @param owner Владелец репозитория
2246
2764
  * @param repo Название репозитория
2247
2765
  * @param basehead Строка в формате "base...head" для сравнения
2766
+ * @param params Параметры пагинации
2767
+ * @param options Опции запроса
2248
2768
  * @returns Результат сравнения с коммитами и изменёнными файлами
2249
2769
  */
2250
- compare(owner: string, repo: string, basehead: string, options?: RequestOptions): Promise<CompareResponse>;
2770
+ compare(owner: string, repo: string, basehead: string, params?: PaginationParams, options?: RequestOptions): Promise<CompareResponse>;
2251
2771
  /**
2252
2772
  * Получает информацию о языках программирования в репозитории
2253
2773
  * @param owner Владелец репозитория
@@ -2257,9 +2777,11 @@ declare class RepositoriesApi {
2257
2777
  getLanguages(owner: string, repo: string, options?: RequestOptions): Promise<LanguagesResponse>;
2258
2778
  /**
2259
2779
  * Получает список репозиториев авторизованного пользователя
2780
+ * @param params Параметры пагинации
2781
+ * @param options Опции запроса
2260
2782
  * @returns Массив репозиториев пользователя
2261
2783
  */
2262
- listForAuthenticatedUser(options?: RequestOptions): Promise<Repository[]>;
2784
+ listForAuthenticatedUser(params?: PaginationParams, options?: RequestOptions): Promise<Repository[]>;
2263
2785
  /**
2264
2786
  * Создает новый репозиторий для авторизованного пользователя
2265
2787
  * @param params Параметры создания репозитория
@@ -2275,9 +2797,11 @@ declare class StarsApi {
2275
2797
  constructor(client: GitVerseClient);
2276
2798
  /**
2277
2799
  * Получить список репозиториев, отмеченных звездой
2800
+ * @param params Параметры пагинации и сортировки
2801
+ * @param options Опции запроса
2278
2802
  * @returns {Promise<Repository[]>} Массив репозиториев, отмеченных звездой
2279
2803
  */
2280
- list(options?: RequestOptions): Promise<Repository[]>;
2804
+ list(params?: ListStarsParams, options?: RequestOptions): Promise<Repository[]>;
2281
2805
  /**
2282
2806
  * Добавить звезду репозиторию
2283
2807
  * @param {string} owner - Владелец репозитория
@@ -2313,32 +2837,31 @@ declare class TeamsApi {
2313
2837
  /**
2314
2838
  * Получает список команд организации
2315
2839
  * @param org Название организации
2840
+ * @param params Параметры пагинации
2841
+ * @param options Опции запроса
2316
2842
  * @returns Список команд
2317
2843
  */
2318
- list(org: string, options?: RequestOptions): Promise<Team[]>;
2319
- /**
2320
- * Получает список приглашений команды
2321
- * @param org Название организации
2322
- * @param team Название команды
2323
- * @returns Список приглашений
2324
- */
2325
- getInvitations(org: string, team: string, options?: RequestOptions): Promise<Invitation[]>;
2844
+ list(org: string, params?: PaginationParams, options?: RequestOptions): Promise<Team[]>;
2326
2845
  /**
2327
2846
  * Получает список членов команды
2328
2847
  * @param org Название организации
2329
2848
  * @param team Название команды
2849
+ * @param params Параметры пагинации
2850
+ * @param options Опции запроса
2330
2851
  * @returns Список членов команды
2331
2852
  */
2332
- getMembers(org: string, team: string, options?: RequestOptions): Promise<User2[]>;
2853
+ getMembers(org: string, team: string, params?: PaginationParams, options?: RequestOptions): Promise<User2[]>;
2333
2854
  /**
2334
2855
  * Добавляет репозиторий к команде
2335
2856
  * @param org Название организации
2336
2857
  * @param team Название команды
2337
2858
  * @param owner Владелец репозитория
2338
2859
  * @param repo Название репозитория
2860
+ * @param params Параметры добавления (permission обязателен)
2861
+ * @param options Опции запроса
2339
2862
  * @returns Результат операции
2340
2863
  */
2341
- addRepository(org: string, team: string, owner: string, repo: string, options?: RequestOptions): Promise<void>;
2864
+ addRepository(org: string, team: string, owner: string, repo: string, params: AddTeamRepositoryParams, options?: RequestOptions): Promise<void>;
2342
2865
  }
2343
2866
  /**
2344
2867
  * API для работы с пользователями
@@ -2361,6 +2884,21 @@ declare class UsersApi {
2361
2884
  * @returns Данные о пользователе
2362
2885
  */
2363
2886
  getByUsername(username: string, options?: RequestOptions): Promise<User2>;
2887
+ /**
2888
+ * Получает информацию о пользователе по ID аккаунта
2889
+ * @param accountId ID аккаунта пользователя
2890
+ * @param options Опции запроса
2891
+ * @returns Данные о пользователе
2892
+ */
2893
+ getById(accountId: number, options?: RequestOptions): Promise<User2>;
2894
+ /**
2895
+ * Поиск пользователей по запросу
2896
+ * @param query Поисковый запрос (по логину или имени)
2897
+ * @param params Параметры поиска и пагинации
2898
+ * @param options Опции запроса
2899
+ * @returns Результаты поиска пользователей
2900
+ */
2901
+ search(query: string, params?: SearchUsersParams, options?: RequestOptions): Promise<UserSearchResult>;
2364
2902
  }
2365
2903
  /**
2366
2904
  * Класс GitVerse, объединяющий все API методы
@@ -2459,4 +2997,4 @@ declare class GitVerse {
2459
2997
  */
2460
2998
  setToken(token: string): GitVerse;
2461
2999
  }
2462
- export { VisibilityType, Variable, UserType, User2 as User, UploadAssetParams, UpdateVariableParams, UpdateRepositoryParams, UpdateReleaseParams, UpdatePullRequestParams, UpdateFileParams, TreeEntry, Tree, TimelineEvent, Team, Secret, Runner, RequestOptions, Repository, RemoveEmailParams, Release, Reference, RateLimitInfo, RateLimitError, PullRequestStateFilter, PullRequestState, PullRequestSortDirection, PullRequestSortCriteria, PullRequestFile, PullRequestBase, PullRequest, Milestone, ListPullRequestsParams, LanguagesResponse, Label, IssueState, Issue, Invitation, GitVerseApiError, GitVerse, FileDeletionResponse, FileCreationResponse, FileContent, EmailOperationResponse, Email, DispatchWorkflowParams, DirectoryContent, DeleteFileParams, CurrentUser, CreateVariableParams, CreateTreeParams, CreateSecretParams, CreateRepositoryParams, CreateReleaseParams, CreateRefParams, CreatePullRequestParams, CreateForkParams, CreateFileParams, CreateCommitParams, ContentType, Content, CompareResponse, CommitInfo, Commit, Comment, Branch, Asset, Artifact, ApiVersionWarning, ApiVersionInfo, ApiResponseMetadata, ApiError, AddEmailParams };
3000
+ export { WorkflowDispatchInput, VisibilityType, Variable, UserType, 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, RateLimitError, PullRequestStateFilter, PullRequestState, PullRequestSortDirection, PullRequestSortCriteria, PullRequestMeta, PullRequestFile, PullRequestBase, PullRequest, Permissions, PaginationParams, Milestone, ListStarsParams, ListReleasesParams, ListPullRequestsParams, ListIssuesParams, ListCommitsParams, ListCommentsParams, ListCollaboratorsParams, ListBranchesParams, ListArtifactsParams, LanguagesResponse, Label, IssueState, Issue, Invitation, GitVerseApiError, GitVerse, GetWorkflowDispatchParams, GetTreeParams, GetTimelineParams, GetPullFilesParams, GetPullCommitsParams, GetContentParams, FileDeletionResponse, FileCreationResponse, FileContent, Email, DispatchWorkflowParams, DirectoryContent, DeleteFileParams, CurrentUser, CreateVariableParams, CreateTreeParams, CreateRepositoryParams, CreateReleaseParams, CreateRefParams, CreatePullRequestParams, CreateForkParams, CreateFileParams, CreateCommitParams, ContentType, Content, CompareResponse, CommitInfo, CommitFile, Commit, Comment, CollaboratorInvitation, Collaborator, Branch, Asset, Artifact, ApiVersionWarning, ApiVersionInfo, ApiResponseMetadata, ApiError, AddTeamRepositoryParams, AddEmailParams, AddCollaboratorParams };