gitverse-api-sdk 4.0.2 → 5.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/README.md +106 -270
  2. package/dist/api/actions.d.ts +360 -363
  3. package/dist/api/actions.js +3 -3
  4. package/dist/api/actions.js.map +3 -3
  5. package/dist/api/emails.d.ts +56 -51
  6. package/dist/api/emails.js +3 -3
  7. package/dist/api/emails.js.map +3 -3
  8. package/dist/api/issues.d.ts +297 -214
  9. package/dist/api/issues.js +3 -3
  10. package/dist/api/issues.js.map +3 -3
  11. package/dist/api/organizations.d.ts +78 -7
  12. package/dist/api/organizations.js +3 -3
  13. package/dist/api/organizations.js.map +3 -3
  14. package/dist/api/pulls.d.ts +338 -427
  15. package/dist/api/pulls.js +3 -3
  16. package/dist/api/pulls.js.map +3 -3
  17. package/dist/api/releases.d.ts +198 -231
  18. package/dist/api/releases.js +3 -3
  19. package/dist/api/releases.js.map +3 -3
  20. package/dist/api/repositories.d.ts +878 -330
  21. package/dist/api/repositories.js +3 -3
  22. package/dist/api/repositories.js.map +3 -3
  23. package/dist/api/stars.d.ts +109 -182
  24. package/dist/api/stars.js +3 -3
  25. package/dist/api/stars.js.map +3 -3
  26. package/dist/api/teams.d.ts +118 -134
  27. package/dist/api/teams.js +3 -3
  28. package/dist/api/teams.js.map +3 -3
  29. package/dist/api/users.d.ts +99 -97
  30. package/dist/api/users.js +3 -3
  31. package/dist/api/users.js.map +3 -3
  32. package/dist/client.d.ts +14 -0
  33. package/dist/client.js +3 -3
  34. package/dist/client.js.map +3 -3
  35. package/dist/enums.d.ts +27 -71
  36. package/dist/enums.js +3 -3
  37. package/dist/enums.js.map +3 -3
  38. package/dist/errors.d.ts +12 -10
  39. package/dist/errors.js +2 -2
  40. package/dist/errors.js.map +1 -1
  41. package/dist/index.d.ts +2042 -2130
  42. package/dist/index.js +2 -2
  43. package/dist/index.js.map +3 -3
  44. package/dist/types.d.ts +779 -1223
  45. package/dist/utils.js +1 -2
  46. package/dist/utils.js.map +1 -1
  47. package/package.json +2 -2
  48. package/dist/api/branches.d.ts +0 -173
  49. package/dist/api/branches.js +0 -4
  50. package/dist/api/branches.js.map +0 -10
  51. package/dist/api/collaborators.d.ts +0 -243
  52. package/dist/api/collaborators.js +0 -4
  53. package/dist/api/collaborators.js.map +0 -10
  54. package/dist/api/commits.d.ts +0 -321
  55. package/dist/api/commits.js +0 -4
  56. package/dist/api/commits.js.map +0 -10
  57. package/dist/api/contents.d.ts +0 -364
  58. package/dist/api/contents.js +0 -4
  59. package/dist/api/contents.js.map +0 -10
  60. package/dist/api/forks.d.ts +0 -344
  61. package/dist/api/forks.js +0 -4
  62. package/dist/api/forks.js.map +0 -10
  63. package/dist/api/git.d.ts +0 -247
  64. package/dist/api/git.js +0 -4
  65. package/dist/api/git.js.map +0 -10
package/dist/index.d.ts CHANGED
@@ -1,1337 +1,893 @@
1
1
  /**
2
- * Типы пользователей в системе
2
+ * Типы данных для GitVerse API
3
+ * @generated Сгенерировано автоматически из OpenAPI спецификации
3
4
  */
4
- declare const UserType: {
5
- readonly Organization: "Organization"
6
- readonly User: "User"
7
- };
8
- /**
9
- * Тип для типов пользователей
10
- */
11
- type UserType = (typeof UserType)[keyof typeof UserType];
12
- /**
13
- * Типы видимости для репозиториев и пользователей
14
- */
15
- declare const VisibilityType: {
16
- readonly Limited: "limited"
17
- readonly Private: "private"
18
- readonly Public: "public"
19
- };
20
- /**
21
- * Тип для типов видимости
22
- */
23
- type VisibilityType = (typeof VisibilityType)[keyof typeof VisibilityType];
24
- /**
25
- * Типы содержимого в репозитории
26
- */
27
- declare const ContentType: {
28
- readonly Directory: "dir"
29
- readonly File: "file"
30
- };
31
- /**
32
- * Тип для типов содержимого
33
- */
34
- type ContentType = (typeof ContentType)[keyof typeof ContentType];
35
- /**
36
- * Состояния pull request
37
- */
38
- declare const PullRequestState: {
39
- readonly Closed: "closed"
40
- readonly Open: "open"
41
- };
42
- /**
43
- * Тип для состояний pull request
44
- */
45
- type PullRequestState = (typeof PullRequestState)[keyof typeof PullRequestState];
46
- /**
47
- * Состояния issue
48
- */
49
- declare const IssueState: {
50
- readonly Closed: "closed"
51
- readonly Open: "open"
52
- };
53
- /**
54
- * Тип для состояний issue
55
- */
56
- type IssueState = (typeof IssueState)[keyof typeof IssueState];
57
- /**
58
- * Фильтры состояний pull request, включая "все"
59
- */
60
- declare const PullRequestStateFilter: {
61
- readonly All: "all"
62
- readonly Closed: "closed"
63
- readonly Open: "open"
64
- };
65
- /**
66
- * Тип для фильтров состояний pull request
67
- */
68
- type PullRequestStateFilter = (typeof PullRequestStateFilter)[keyof typeof PullRequestStateFilter];
69
- /**
70
- * Критерии сортировки pull request
71
- */
72
- declare const PullRequestSortCriteria: {
73
- readonly Created: "created"
74
- readonly LongRunning: "long-running"
75
- readonly Popularity: "popularity"
76
- readonly Updated: "updated"
77
- };
78
5
  /**
79
- * Тип для критериев сортировки pull request
6
+ * Опции для выполнения HTTP-запросов
80
7
  */
81
- type PullRequestSortCriteria = (typeof PullRequestSortCriteria)[keyof typeof PullRequestSortCriteria];
8
+ interface RequestOptions {
9
+ /**
10
+ * AbortSignal для отмены запроса
11
+ * @example
12
+ * const controller = new AbortController();
13
+ * const promise = client.users.getCurrent({ signal: controller.signal });
14
+ * controller.abort(); // Отменяет запрос
15
+ */
16
+ signal?: AbortSignal;
17
+ }
82
18
  /**
83
- * Направления сортировки pull request
19
+ * Базовые параметры пагинации
84
20
  */
85
- declare const PullRequestSortDirection: {
86
- readonly Ascending: "asc"
87
- readonly Descending: "desc"
88
- };
21
+ interface PaginationParams {
22
+ /** Номер страницы (начиная с 1) */
23
+ page?: number;
24
+ /** Количество элементов на странице */
25
+ per_page?: number;
26
+ }
89
27
  /**
90
- * Тип для направлений сортировки pull request
28
+ * Информация об ошибке API
91
29
  */
92
- type PullRequestSortDirection = (typeof PullRequestSortDirection)[keyof typeof PullRequestSortDirection];
30
+ interface ApiError {
31
+ /** Сообщение об ошибке */
32
+ message?: string;
33
+ /** URL документации */
34
+ documentation_url?: string;
35
+ }
93
36
  /**
94
- * Информация о лимитах запросов (Rate Limits)
37
+ * Информация о лимитах запросов
95
38
  */
96
39
  interface RateLimitInfo {
97
- /** Максимальное количество запросов за час */
40
+ /** Максимальное количество запросов */
98
41
  limit: number;
99
42
  /** Оставшееся количество запросов */
100
43
  remaining: number;
101
- /** Количество секунд до сброса лимита */
102
- retryAfter: number;
103
- /** Unix timestamp когда лимит будет сброшен */
44
+ /** Unix timestamp сброса лимита */
104
45
  reset: number;
46
+ /** Секунд до сброса лимита */
47
+ retryAfter: number;
105
48
  }
106
49
  /**
107
50
  * Информация о версии API
108
51
  */
109
52
  interface ApiVersionInfo {
110
- /** Текущая версия API */
53
+ /** Текущая используемая версия */
111
54
  version: string;
112
- /** Последняя доступная версия API */
55
+ /** Последняя доступная версия */
113
56
  latestVersion: string;
114
- /** Флаг устаревшей версии */
57
+ /** Версия помечена как устаревшая */
115
58
  deprecated: boolean;
116
- /** Дата вывода из эксплуатации (если версия устарела) */
59
+ /** Дата вывода из эксплуатации */
117
60
  decommissioning?: string;
118
61
  }
119
62
  /**
120
63
  * Метаданные ответа API
121
64
  */
122
65
  interface ApiResponseMetadata {
123
- /** Информация о лимитах запросов */
66
+ /** Уникальный идентификатор запроса */
67
+ requestId?: string;
68
+ /** Информация о лимитах */
124
69
  rateLimit?: RateLimitInfo;
125
70
  /** Информация о версии API */
126
71
  apiVersion?: ApiVersionInfo;
127
72
  }
128
- /**
129
- * Опции для выполнения HTTP-запросов
130
- */
131
- interface RequestOptions {
132
- /**
133
- * AbortSignal для отмены запроса
134
- * @example
135
- * const controller = new AbortController();
136
- * const promise = client.users.getCurrent({ signal: controller.signal });
137
- * controller.abort(); // Отменяет запрос
138
- */
139
- signal?: AbortSignal;
140
- }
141
- /**
142
- * Интерфейс пользователя
143
- */
144
- interface User2 {
145
- /** Уникальный идентификатор пользователя */
146
- id: number;
147
- /** Имя пользователя */
148
- name?: string;
149
- /** Логин пользователя */
150
- login: string;
151
- /** Полное имя пользователя */
152
- full_name?: string;
153
- /** Тип аккаунта: пользователь или организация */
154
- type: UserType;
155
- /** Биография пользователя */
156
- bio?: string;
157
- /** Электронная почта пользователя */
158
- email?: string;
159
- /** URL аватара пользователя */
160
- avatar_url: string;
161
- /** Веб-ссылка на профиль пользователя */
162
- html_url: string;
163
- /** API-ссылка на профиль пользователя */
164
- url?: string;
165
- /** API-ссылка на список подписчиков пользователя */
166
- followers_url?: string;
167
- /** API-ссылка на репозитории пользователя */
168
- repos_url?: string;
169
- /** API-ссылка на организации пользователя */
170
- organizations_url?: string;
171
- /** Права администратора */
172
- site_admin: boolean;
173
- /** Местоположение пользователя */
174
- location?: string;
175
- /** Верификация аккаунта */
176
- is_verified?: boolean;
177
- /** Настройки приватности профиля */
178
- visibility?: VisibilityType;
179
- /** Персональный веб-сайт */
180
- website?: string;
181
- /** Количество подписчиков */
182
- followers?: number;
183
- /** Количество подписок */
184
- following?: number;
185
- /** Количество публичных репозиториев */
186
- public_repos?: number;
187
- /** Количество репозиториев, отмеченных звездой */
188
- stars_count?: number;
189
- /** Дата создания аккаунта */
190
- created_at: string;
191
- /** Дата последнего обновления аккаунта */
192
- updated_at?: string;
193
- }
194
- /**
195
- * Интерфейс текущего авторизованного пользователя
196
- * Получается из API метода /user
197
- */
198
- interface CurrentUser {
199
- /** Уникальный идентификатор пользователя */
200
- id: number;
201
- /** Имя пользователя (может быть пустым) */
202
- name?: string;
203
- /** Логин пользователя */
204
- login: string;
205
- /** Электронная почта пользователя (может быть недоступна) */
206
- email?: string;
207
- /** URL аватара пользователя */
208
- avatar_url: string;
209
- /** Веб-ссылка на профиль пользователя */
210
- html_url: string;
211
- /** Количество публичных репозиториев */
212
- public_repos: number;
213
- /** Количество подписчиков */
214
- followers: number;
215
- /** Дата создания аккаунта */
216
- created_at: string;
217
- }
218
- /**
219
- * Интерфейс репозитория
220
- */
221
- interface Repository {
222
- /** Уникальный идентификатор репозитория */
223
- id: number;
224
- /** Информация о владельце репозитория */
225
- owner: User2;
226
- /** Название репозитория */
227
- name: string;
228
- /** Полное название репозитория в формате {owner}/{repo} */
229
- full_name: string;
230
- /** Описание репозитория */
231
- description?: string;
232
- /** Список тем, связанных с репозиторием */
233
- topics?: string[] | null;
234
- /** Является ли репозиторий приватным */
235
- private: boolean;
236
- /** Является ли репозиторий форком другого репозитория */
237
- fork: boolean;
238
- /** Информация о родительском репозитории (если это форк) */
239
- parent?: Repository | null;
240
- /** Размер репозитория в килобайтах */
241
- size: number;
242
- /** Основной язык программирования, используемый в репозитории */
243
- language?: string;
244
- /** SSH-URL для клонирования репозитория */
245
- ssh_url: string;
246
- /** HTTPS-URL для клонирования репозитория */
247
- clone_url: string;
248
- /** Веб-ссылка на репозиторий */
249
- html_url: string;
250
- /** API-ссылка на репозиторий */
251
- url: string;
252
- /** Git-URL для клонирования репозитория */
253
- git_url: string;
254
- /** Зеркало репозитория (если доступно) */
255
- mirror_url?: string;
256
- /** Ссылка на вебсайт проекта */
257
- website?: string;
258
- /** Альтернативная ссылка на домашнюю страницу проекта */
259
- homepage?: string;
260
- /** Количество звезд у репозитория */
261
- stargazers_count: number;
262
- /** Количество форков репозитория */
263
- forks: number;
264
- /** Количество форков репозитория (дублирует поле forks) */
265
- forks_count: number;
266
- /** Количество наблюдателей за репозиторием */
267
- watchers: number;
268
- /** Количество наблюдателей за репозиторием (дублирует поле watchers) */
269
- watchers_count: number;
270
- /** Количество репозиториев в сети (форков и оригинала) */
271
- network_count: number;
272
- /** Количество подписчиков на уведомления о репозитории */
273
- subscribers_count: number;
274
- /** Количество открытых задач (issues) в репозитории */
275
- open_issues: number;
276
- /** Количество открытых задач (дублирует поле open_issues) */
277
- open_issues_count: number;
278
- /** Количество открытых pull requests */
279
- open_pr_counter: number;
280
- /** Основная ветка репозитория */
281
- default_branch: string;
282
- /** Архивирован ли репозиторий */
283
- archived: boolean;
284
- /** Разрешено ли создание задач (issues) */
285
- has_issues: boolean;
286
- /** Разрешено ли использование проектов */
287
- has_projects: boolean;
288
- /** Разрешено ли использование обсуждений */
289
- has_discussions: boolean;
290
- /** Разрешено ли использование wiki */
291
- has_wiki: boolean;
292
- /** Разрешено ли использование GitHub Pages */
293
- has_pages: boolean;
294
- /** Отключен ли репозиторий */
295
- disabled: boolean;
296
- /** Настройки приватности репозитория */
297
- visibility: VisibilityType;
298
- /** Является ли репозиторий шаблоном */
299
- is_template: boolean;
300
- /** Информация о шаблоне репозитория (если доступно) */
301
- template_repository?: Repository | null;
302
- /** Разрешены ли слияния через merge commits */
303
- allow_merge_commits: boolean;
304
- /** Разрешены ли слияния через squash commits */
305
- allow_squash_merge: boolean;
306
- /** Удалять ли ветку после слияния по умолчанию */
307
- default_delete_branch_after_merge: boolean;
308
- /** Дата создания репозитория */
309
- created_at: string;
310
- /** Дата последнего обновления репозитория */
311
- updated_at: string;
312
- /** Дата последнего push-события в репозиторий */
313
- pushed_at: string;
314
- }
315
- /**
316
- * Интерфейс ответа с распределением языков в репозитории
317
- */
318
- interface LanguagesResponse {
319
- /** Количество байт кода на каждом языке */
320
- [language: string]: number;
321
- }
322
- /**
323
- * Интерфейс информации о файле
324
- */
325
- interface FileContent {
326
- /** Имя файла */
327
- name: string;
328
- /** Путь к файлу относительно корня репозитория */
329
- path: string;
330
- /** SHA-хеш содержимого файла */
331
- sha: string;
332
- /** Размер файла в байтах */
333
- size: number;
334
- /** Тип объекта (всегда 'file' для файла) */
335
- type: typeof ContentType.File;
336
- /** Кодировка содержимого файла (например, 'base64') */
337
- encoding?: string;
338
- /** Содержимое файла в формате Base64 */
339
- content?: string;
340
- /** Определенный язык программирования файла */
341
- language?: string;
342
- /** API-ссылка на файл */
343
- url?: string;
344
- /** Веб-ссылка на файл */
345
- html_url?: string;
346
- /** Git-URL для файла */
347
- git_url?: string;
348
- /** URL для скачивания файла */
349
- download_url?: string;
73
+ interface AddCollaboratorParams {
74
+ /** enum: read,write,admin */
75
+ permission?: string;
350
76
  }
351
- /**
352
- * Интерфейс информации о директории
353
- */
354
- interface DirectoryContent {
355
- /** Тип объекта (всегда 'dir' для директории) */
356
- type: typeof ContentType.Directory;
357
- /** Размер директории (всегда 0) */
358
- size: number;
359
- /** Имя директории */
77
+ interface CommitUserParams {
78
+ date?: string;
79
+ email: string;
360
80
  name: string;
361
- /** Путь к директории относительно корня репозитория */
362
- path: string;
363
- /** SHA-хеш объекта директории */
364
- sha: string;
365
- /** Список файлов и поддиректорий внутри директории */
366
- entries: Array<FileContent | DirectoryContent>;
367
81
  }
368
- /**
369
- * Тип для содержимого репозитория (файл или директория)
370
- */
371
- type Content = FileContent | DirectoryContent;
372
- /**
373
- * Интерфейс информации о коммите
374
- */
375
- interface CommitInfo {
376
- /** SHA-хеш коммита */
377
- sha: string;
378
- /** Node ID коммита */
379
- node_id?: string;
380
- /** API-ссылка на коммит */
381
- url: string;
382
- /** Веб-ссылка на коммит */
383
- html_url: string;
384
- /** Информация об авторе коммита */
385
- author: {
386
- /** Имя автора */
387
- name: string
388
- /** Email автора */
389
- email: string
390
- /** Дата создания коммита */
391
- date: string
392
- };
393
- /** Информация о коммиттере */
394
- committer: {
395
- /** Имя коммиттера */
396
- name: string
397
- /** Email коммиттера */
398
- email: string
399
- /** Дата коммита */
400
- date: string
401
- };
402
- /** Сообщение коммита */
82
+ interface CreateCommitParams {
83
+ author?: CommitUserParams;
84
+ committer?: CommitUserParams;
403
85
  message: string;
404
- /** Информация о дереве коммита */
405
- tree: {
406
- /** SHA-хеш дерева */
407
- sha: string
408
- /** URL дерева */
409
- url: string
410
- };
411
- /** Родительские коммиты */
412
- parents: Array<{
413
- /** SHA-хеш родительского коммита */
414
- sha: string
415
- /** API-ссылка на родительский коммит */
416
- url: string
417
- /** Веб-ссылка на родительский коммит */
418
- html_url: string
419
- }>;
420
- }
421
- /**
422
- * Интерфейс ответа на создание файла
423
- */
424
- interface FileCreationResponse {
425
- /** Информация о созданном файле */
426
- content: FileContent;
427
- /** Информация о коммите */
428
- commit: CommitInfo;
429
- }
430
- /**
431
- * Интерфейс ответа на удаление файла
432
- */
433
- interface FileDeletionResponse {
434
- /** Информация о содержимом (null для удаленного файла) */
435
- content: null;
436
- /** Информация о коммите удаления */
437
- commit: CommitInfo;
86
+ parents?: string[];
87
+ tree: string;
438
88
  }
439
- /**
440
- * Интерфейс параметров для создания форка
441
- */
442
- interface CreateForkParams {
443
- /** Имя нового форка */
444
- name?: string;
445
- /** Название организации, в которую будет создан форк */
446
- organization?: string;
447
- /** Описание нового форка */
448
- description?: string;
89
+ interface CreateEmailParams {
90
+ emails?: string[];
449
91
  }
450
- /**
451
- * Интерфейс параметров для создания файла
452
- */
453
92
  interface CreateFileParams {
454
- /** Имя ветки, в которую будет добавлен файл (по умолчанию - основная ветка) */
455
- branch?: string;
456
- /** Содержимое файла, закодированное в Base64 */
457
- content: string;
458
- /** Сообщение коммита */
459
- message?: string;
460
- /** Имя новой ветки, которая будет создана для этого изменения */
461
- new_branch?: string;
462
- /** Добавлять ли подпись (Signed-off-by) в коммит */
463
- signoff?: boolean;
464
- }
465
- /**
466
- * Интерфейс параметров для обновления файла
467
- */
468
- interface UpdateFileParams {
469
- /** Имя ветки, в которой находится файл */
93
+ /** ветка на которой будет базировать коммит, если пустая то будет использована ветка по умолчанию */
470
94
  branch?: string;
471
- /** Новое содержимое файла, закодированное в Base64 */
472
- content: string;
473
- /** SHA-хеш текущего содержимого файла */
474
- sha: string;
475
- /** Если файл переименовывается, указывает старый путь к файлу */
95
+ /** content must be base64 encoded */
96
+ content?: string;
97
+ /** SHA string `json:"sha" binding:"Required"`
98
+ from_path (optional) is the path of the original file which will be moved/renamed to the path in the URL */
476
99
  from_path?: string;
477
- /** Сообщение коммита */
100
+ /** Сообщение для описания коммита, если пустое то будет использовано сообщение по умолчанию */
478
101
  message?: string;
479
- /** Имя новой ветки, которая будет создана для этого изменения */
102
+ /** новая ветка которая будет отведена от указанной выше ветки и вней будет создан новый коммит */
480
103
  new_branch?: string;
481
- /** Добавлять ли подпись (Signed-off-by) в коммит */
104
+ /** sha is the SHA for the file that already exists */
105
+ sha?: string;
106
+ /** Подписывать ли коммит */
482
107
  signoff?: boolean;
483
108
  }
484
- /**
485
- * Интерфейс параметров для удаления файла
486
- */
109
+ interface CreatePullRequestParams {
110
+ /** список ответственных */
111
+ assignees?: string[];
112
+ /** ветка в которую происходит слияние */
113
+ base?: string;
114
+ /** тело запроса */
115
+ body?: string;
116
+ /** черновик */
117
+ draft?: boolean;
118
+ /** Deadline */
119
+ due_date?: string;
120
+ /** ветка из которой происходит слияние */
121
+ head?: string;
122
+ /** ветка из которой происходит слияние */
123
+ head_repo?: string;
124
+ /** Метки */
125
+ labels?: number[];
126
+ /** могут ли мэйнтейнеры изменять PR */
127
+ maintainer_can_modify?: boolean;
128
+ /** идентификатор "этапа" */
129
+ milestone?: number;
130
+ /** заголовок запроса */
131
+ title?: string;
132
+ }
133
+ interface CreateReferenceParams {
134
+ ref?: string;
135
+ sha?: string;
136
+ }
137
+ interface CreateReleaseParams {
138
+ body?: string;
139
+ draft?: boolean;
140
+ name?: string;
141
+ prerelease?: boolean;
142
+ tag_name?: string;
143
+ target_commitish?: string;
144
+ }
145
+ interface CreateRepositoryParams {
146
+ auto_init?: boolean;
147
+ description?: string;
148
+ gitignores?: string[];
149
+ is_template?: boolean;
150
+ name?: string;
151
+ private?: boolean;
152
+ }
153
+ interface TreeItem {
154
+ content?: string;
155
+ mode?: string;
156
+ path?: string;
157
+ sha?: string;
158
+ type?: string;
159
+ }
160
+ interface CreateTreeParams {
161
+ base_tree?: string;
162
+ tree?: TreeItem[];
163
+ }
164
+ interface CreateVariableParams {
165
+ name?: string;
166
+ value?: string;
167
+ }
168
+ interface DeleteEmailParams {
169
+ emails?: string[];
170
+ }
487
171
  interface DeleteFileParams {
488
- /** SHA-хеш текущего содержимого файла */
489
- sha: string;
490
- /** Имя ветки, в которой находится файл */
172
+ /** ветка на которой будет базировать коммит, если пустая то будет использована ветка по умолчанию */
491
173
  branch?: string;
492
- /** Сообщение коммита */
174
+ /** Сообщение для описания коммита, если пустое то будет использовано сообщение по умолчанию */
493
175
  message?: string;
494
- /** Имя новой ветки, которая будет создана для этого изменения */
176
+ /** новая ветка которая будет отведена от указанной выше ветки и вней будет создан новый коммит */
495
177
  new_branch?: string;
496
- /** Добавлять ли подпись (Signed-off-by) в коммит */
178
+ /** sha is the SHA for the file that already exists */
179
+ sha?: string;
180
+ /** Подписывать ли коммит */
497
181
  signoff?: boolean;
498
182
  }
499
- /**
500
- * Интерфейс базовой или целевой ветки для pull request
501
- */
502
- interface PullRequestBase {
503
- /** Метка ветки */
504
- label: string;
505
- /** Имя ветки */
506
- ref: string;
507
- /** SHA-хеш последнего коммита в ветке */
508
- sha: string;
509
- /** ID репозитория */
510
- repo_id: number;
511
- /** Информация о репозитории */
512
- repo: {
513
- /** ID репозитория */
514
- id: number
515
- /** Название репозитория */
516
- name: string
517
- /** Полное название репозитория в формате {owner}/{repo} */
518
- full_name: string
519
- /** Является ли репозиторий приватным */
520
- private: boolean
521
- /** Основная ветка репозитория */
522
- default_branch: string
523
- };
524
- }
525
- /**
526
- * Интерфейс pull request
527
- */
528
- interface PullRequest {
529
- /** Уникальный идентификатор pull request */
530
- id: number;
531
- /** API-ссылка на pull request */
532
- url: string;
533
- /** Номер pull request в репозитории */
534
- number: number;
535
- /** Информация о пользователе, создавшем pull request */
536
- user: {
537
- /** ID пользователя */
538
- id: number
539
- /** Логин пользователя */
540
- login: string
541
- /** Тип аккаунта */
542
- type: string
543
- /** URL аватара пользователя */
544
- avatar_url: string
545
- /** Веб-ссылка на профиль пользователя */
546
- html_url: string
547
- /** Права администратора */
548
- site_admin: boolean
549
- };
550
- /** Заголовок pull request */
551
- title: string;
552
- /** Описание pull request */
183
+ interface UpdateReleaseParams {
553
184
  body?: string;
554
- /** Список меток */
555
- labels: Label[];
556
- /** Информация о майлстоуне */
557
- milestone?: Milestone;
558
- /** Информация о назначенном пользователе */
559
- assignee?: User2;
560
- /** Список назначенных пользователей */
561
- assignees?: User2[];
562
- /** Состояние pull request (открыт/закрыт) */
563
- state: PullRequestState;
564
- /** Заблокирован ли pull request */
565
- locked: boolean;
566
- /** Количество комментариев */
567
- comments: number;
568
- /** Веб-ссылка на pull request */
569
- html_url: string;
570
- /** Ссылка на diff файл */
571
- diff_url: string;
572
- /** Ссылка на patch файл */
573
- patch_url: string;
574
- /** Можно ли слить pull request */
575
- mergeable: boolean;
576
- /** Был ли pull request слит */
577
- merged: boolean;
578
- /** Дата слияния (если был слит) */
579
- merged_at?: string | null;
580
- /** SHA-хеш коммита слияния (если был слит) */
581
- merge_commit_sha?: string | null;
582
- /** Пользователь, выполнивший слияние */
583
- merged_by?: User2 | null;
584
- /** Может ли мейнтейнер изменять pull request */
585
- maintainer_can_modify: boolean;
586
- /** Информация о целевой ветке */
587
- base: PullRequestBase;
588
- /** Информация о ветке с изменениями */
589
- head: PullRequestBase;
590
- /** Дата создания pull request */
591
- created_at: string;
592
- /** Дата обновления pull request */
593
- updated_at: string;
594
- /** Дата закрытия pull request (если закрыт) */
595
- closed_at?: string | null;
185
+ draft?: boolean;
186
+ name?: string;
187
+ prerelease?: boolean;
188
+ tag_name?: string;
189
+ target_commitish?: string;
596
190
  }
597
- /**
598
- * Интерфейс параметров для создания pull request
599
- */
600
- interface CreatePullRequestParams {
601
- /** Заголовок pull request */
602
- title: string;
603
- /** Описание pull request */
604
- body?: string;
605
- /** Имя ветки, из которой предлагаются изменения */
606
- head: string;
607
- /** Имя ветки, в которую будут внесены изменения */
608
- base: string;
191
+ interface CreateForkParams {
192
+ /** Описание */
193
+ description?: string;
194
+ /** Имя форкнутого репозитория */
195
+ name?: string;
196
+ /** Название организации, если форкаем в организацию */
197
+ organization?: string;
609
198
  }
610
- /**
611
- * Интерфейс параметров для получения списка pull requests
612
- */
613
- interface ListPullRequestsParams {
614
- /**
615
- * Фильтр по состоянию pull request
616
- *
617
- * @default "open"
618
- */
619
- state?: PullRequestStateFilter;
620
- /** Фильтр по ветке-источнику в формате branch, user:branch или user:repo:branch */
621
- head?: string;
622
- /** Фильтр по целевой ветке */
623
- base?: string;
624
- /**
625
- * Критерий сортировки
626
- *
627
- * @default "created"
628
- */
629
- sort?: PullRequestSortCriteria;
630
- /**
631
- * Направление сортировки
632
- *
633
- * @default "desc"
634
- */
635
- direction?: PullRequestSortDirection;
636
- /** Номер страницы (начиная с 1) */
637
- page?: number;
638
- /** Количество элементов на странице (максимум 100) */
639
- per_page?: number;
640
- }
641
- /**
642
- * Интерфейс метки (label) для issues и pull requests
643
- */
644
- interface Label {
645
- /** Идентификатор метки */
646
- id: number;
647
- /** Имя метки */
648
- name: string;
649
- /** Описание метки */
199
+ interface UpdateRepositoryParams {
200
+ allow_auto_merge?: boolean;
201
+ allow_merge?: boolean;
202
+ allow_rebase?: boolean;
203
+ allow_rebase_merge?: boolean;
204
+ allow_squash_merge?: boolean;
205
+ allow_update_branch?: boolean;
206
+ archived?: boolean;
207
+ autodetect_manual_merge?: boolean;
208
+ default_allow_maintainer_edit?: boolean;
209
+ default_branch?: string;
210
+ default_merge_style?: string;
211
+ delete_branch_on_merge?: boolean;
650
212
  description?: string;
651
- /** Цвет метки в формате HEX */
652
- color: string;
653
- /** URL метки */
213
+ homepage?: string;
214
+ ignore_whitespace?: boolean;
215
+ is_template?: boolean;
216
+ /** обработаны */
217
+ name?: string;
218
+ private?: boolean;
219
+ }
220
+ interface TeamRepoPermissions {
221
+ permission?: string;
222
+ }
223
+ interface UpdateBranchParams {
224
+ expected_head_sha?: string;
225
+ }
226
+ interface UpdatePullRequestParams {
227
+ /** ветка в которую происходит слияние */
228
+ base?: string;
229
+ /** тело запроса */
230
+ body?: string;
231
+ /** могут ли мэйнтейнеры изменять PR */
232
+ maintainer_can_modify?: boolean;
233
+ /** статус запроса */
234
+ state?: string;
235
+ /** заголовок запроса */
236
+ title?: string;
237
+ }
238
+ interface ActionWorkflowRun {
239
+ head_sha?: string;
240
+ id?: number;
241
+ repository_id?: number;
242
+ }
243
+ interface ActionArtifact {
244
+ archive_download_url?: string;
245
+ created_at?: string;
246
+ expired?: boolean;
247
+ expires_at?: string;
248
+ id?: number;
249
+ name?: string;
250
+ size_in_bytes?: number;
251
+ updated_at?: string;
654
252
  url?: string;
253
+ workflow_run?: ActionWorkflowRun;
655
254
  }
656
- /**
657
- * Интерфейс майлстоуна (milestone)
658
- */
659
- interface Milestone {
660
- /** Идентификатор майлстоуна */
661
- id: number;
662
- /** Номер майлстоуна */
663
- number: number;
664
- /** Название майлстоуна */
665
- title: string;
666
- /** Описание майлстоуна */
667
- description?: string;
668
- /** Создатель майлстоуна */
669
- creator: User2;
670
- /** Состояние майлстоуна (open/closed) */
671
- state: "open" | "closed";
672
- /** Количество открытых задач */
673
- open_issues: number;
674
- /** Количество закрытых задач */
675
- closed_issues: number;
676
- /** Дата создания */
677
- created_at: string;
678
- /** Дата обновления */
679
- updated_at: string;
680
- /** Дата окончания (due date) */
681
- due_on?: string;
255
+ interface ActionArtifactList {
256
+ artifacts?: ActionArtifact[];
257
+ total_count?: number;
682
258
  }
683
- /**
684
- * Интерфейс ошибки API
685
- */
686
- interface ApiError {
687
- /** Тип ошибки */
688
- error: string;
689
- /** Сообщение об ошибке */
690
- message: string;
691
- /** HTTP-код статуса */
692
- status: number;
259
+ interface ActionRunnerLabel {
260
+ id?: number;
261
+ name?: string;
262
+ type?: string;
693
263
  }
694
- /**
695
- * Интерфейс email адреса
696
- */
697
- interface Email {
698
- /** Email адрес */
699
- email: string;
700
- /** Подтвержден ли email */
701
- verified: boolean;
702
- /** Является ли основным */
703
- primary: boolean;
704
- /** Публичный ли email */
705
- is_public: boolean;
264
+ interface ActionRunner {
265
+ busy?: boolean;
266
+ id?: number;
267
+ labels?: ActionRunnerLabel[];
268
+ name?: string;
269
+ status?: string;
706
270
  }
707
- /**
708
- * Параметры для добавления email адресов
709
- */
710
- interface AddEmailParams {
711
- /** Массив email адресов для добавления */
712
- emails: string[];
271
+ interface ActionRunners {
272
+ runners?: ActionRunner[];
273
+ total_count?: number;
713
274
  }
714
- /**
715
- * Параметры для удаления email адресов
716
- */
717
- interface RemoveEmailParams {
718
- /** Массив email адресов для удаления */
719
- emails: string[];
275
+ interface Attachment {
276
+ browser_download_url?: string;
277
+ created_at?: string;
278
+ download_count?: number;
279
+ id?: number;
280
+ name?: string;
281
+ size?: number;
282
+ uuid?: string;
720
283
  }
721
- /**
722
- * Ответ на операции с email
723
- */
724
- interface EmailOperationResponse {
725
- /** Сообщение о результате операции */
726
- message: string;
727
- /** Удаленные email адреса (только для операции удаления) */
728
- deleted_emails?: string[];
729
- /** HTTP статус код */
730
- status: number;
284
+ interface CommitMeta {
285
+ created?: string;
286
+ html_url?: string;
287
+ sha?: string;
288
+ url?: string;
731
289
  }
732
- /**
733
- * Параметры для создания репозитория
734
- */
735
- interface CreateRepositoryParams {
736
- /** Имя репозитория */
737
- name: string;
738
- /** Описание репозитория */
290
+ interface Branch {
291
+ commit?: CommitMeta;
292
+ name?: string;
293
+ protected?: boolean;
294
+ }
295
+ interface Permissions {
296
+ admin?: boolean;
297
+ pull?: boolean;
298
+ push?: boolean;
299
+ }
300
+ interface Collaborator {
301
+ /** Адрес аватарки */
302
+ avatar_url?: string;
303
+ /** О себе */
304
+ bio?: string;
305
+ /** Почта */
306
+ email?: string;
307
+ /** Url для получения подписчиков пользователя */
308
+ followers_url?: string;
309
+ /** Url для получения подписок пользователя */
310
+ following_url?: string;
311
+ /** Полное имя */
312
+ full_name?: string;
313
+ /** Адрес страницы пользователя */
314
+ html_url?: string;
315
+ /** Идентификатор */
316
+ id?: number;
317
+ /** Логин пользователя */
318
+ login?: string;
319
+ /** Имя пользователя */
320
+ name?: string;
321
+ /** Url для получения организаций пользователя */
322
+ organizations_url?: string;
323
+ /** Полномочия */
324
+ permissions?: Permissions;
325
+ /** Url для получения репозиториев пользователя */
326
+ repos_url?: string;
327
+ /** Есть ли права админа */
328
+ site_admin?: boolean;
329
+ /** Url для получения репозиториев пользователя, которые были добавлены в избранное */
330
+ starred_url?: string;
331
+ /** Url для получения подписок пользователя */
332
+ subscriptions_url?: string;
333
+ /** Тип пользователя */
334
+ type?: string;
335
+ /** Url для получения пользователя */
336
+ url?: string;
337
+ /** Вебсайт */
338
+ website?: string;
339
+ }
340
+ interface UserPublicInfo {
341
+ avatar_url?: string;
342
+ followers_url?: string;
343
+ following_url?: string;
344
+ html_url?: string;
345
+ id?: number;
346
+ login?: string;
347
+ organizations_url?: string;
348
+ repos_url?: string;
349
+ site_admin?: boolean;
350
+ type?: string;
351
+ url?: string;
352
+ }
353
+ interface RepoPublicInfo {
354
+ contents_url?: string;
739
355
  description?: string;
740
- /** Приватный ли репозиторий */
356
+ fork?: boolean;
357
+ forks_url?: string;
358
+ full_name?: string;
359
+ html_url?: string;
360
+ id?: number;
361
+ issue_comment_url?: string;
362
+ issues_url?: string;
363
+ languages_url?: string;
364
+ name?: string;
365
+ owner?: UserPublicInfo;
741
366
  private?: boolean;
742
- /** Создать ли инициализирующий коммит */
743
- auto_init?: boolean;
744
- /** Список .gitignore шаблонов */
745
- gitignores?: string[];
746
- /** Лицензия репозитория */
747
- license?: string;
748
- /** Ветка по умолчанию */
749
- default_branch?: string;
367
+ pulls_url?: string;
368
+ url?: string;
750
369
  }
751
- /**
752
- * Интерфейс issue
753
- */
754
- interface Issue {
755
- /** Уникальный идентификатор issue */
756
- id: number;
757
- /** Номер issue в репозитории */
758
- number: number;
759
- /** Заголовок issue */
760
- title: string;
761
- /** Описание issue */
762
- body?: string;
763
- /** Состояние issue */
764
- state: IssueState;
765
- /** Пользователь, создавший issue */
766
- user: User2;
767
- /** Список меток */
768
- labels: Label[];
769
- /** Назначенные пользователи */
770
- assignees?: User2[];
771
- /** Дата создания */
772
- created_at: string;
773
- /** Дата обновления */
774
- updated_at: string;
775
- /** Дата закрытия */
776
- closed_at?: string | null;
777
- /** Количество комментариев */
778
- comments: number;
779
- /** Веб-ссылка на issue */
780
- html_url: string;
781
- /** API-ссылка на issue */
782
- url: string;
370
+ interface CollaboratorInvitation {
371
+ created_at?: string;
372
+ id?: number;
373
+ invitee?: UserPublicInfo;
374
+ inviter?: UserPublicInfo;
375
+ permissions?: string;
376
+ repository?: RepoPublicInfo;
783
377
  }
784
- /**
785
- * Интерфейс комментария к issue или pull request
786
- */
787
378
  interface Comment {
788
- /** Уникальный идентификатор комментария */
789
- id: number;
790
- /** Текст комментария */
791
- body: string;
792
- /** Пользователь, создавший комментарий */
793
- user: User2;
794
- /** Дата создания */
795
- created_at: string;
796
- /** Дата обновления */
797
- updated_at: string;
798
- /** Веб-ссылка на комментарий */
799
- html_url: string;
800
- /** API-ссылка на комментарий */
801
- url: string;
379
+ author_association?: string;
380
+ body?: string;
381
+ created_at?: string;
382
+ /** Адрес страницы с комметарием */
383
+ html_url?: string;
384
+ id?: number;
385
+ /** Url для получения issue/PR */
386
+ issue_url?: string;
387
+ updated_at?: string;
388
+ /** Url для получения пользователя */
389
+ url?: string;
390
+ user?: UserPublicInfo;
391
+ }
392
+ interface CommitFiles {
393
+ additions?: number;
394
+ blob_url?: string;
395
+ changes?: number;
396
+ contents_url?: string;
397
+ deletions?: number;
398
+ filename?: string;
399
+ patch?: string;
400
+ raw_url?: string;
401
+ sha?: string;
402
+ status?: string;
802
403
  }
803
- /**
804
- * Интерфейс события в timeline issue
805
- */
806
- interface TimelineEvent {
807
- /** Уникальный идентификатор события */
808
- id: number;
809
- /** Тип события */
810
- event: string;
811
- /** Пользователь, вызвавший событие */
812
- actor: User2;
813
- /** Дата создания события */
814
- created_at: string;
815
- /** Метка (для событий с метками) */
816
- label?: Label;
817
- /** Milestone (для событий с milestone) */
818
- milestone?: Milestone;
819
- /** Переименование (для событий переименования) */
820
- rename?: {
821
- from: string
822
- to: string
823
- };
404
+ interface CommitUser {
405
+ date?: string;
406
+ email?: string;
407
+ name?: string;
824
408
  }
825
- /**
826
- * Интерфейс ветки репозитория
827
- */
828
- interface Branch {
829
- /** Имя ветки */
830
- name: string;
831
- /** SHA-хеш последнего коммита */
832
- commit: {
833
- sha: string
834
- url: string
835
- };
836
- /** Защищена ли ветка */
837
- protected?: boolean;
409
+ interface TreeMeta {
410
+ created?: string;
411
+ sha?: string;
412
+ url?: string;
413
+ }
414
+ interface RepoCommit {
415
+ author?: CommitUser;
416
+ committer?: CommitUser;
417
+ message?: string;
418
+ tree?: TreeMeta;
419
+ url?: string;
420
+ }
421
+ interface CommitStats {
422
+ additions?: number;
423
+ deletions?: number;
424
+ total?: number;
838
425
  }
839
- /**
840
- * Интерфейс коммита
841
- */
842
426
  interface Commit {
843
- /** SHA-хеш коммита */
844
- sha: string;
845
- /** Node ID коммита */
846
- node_id?: string;
847
- /** Информация о коммите */
848
- commit: {
849
- /** Автор коммита */
850
- author: {
851
- name: string
852
- email: string
853
- date: string
854
- }
855
- /** Коммиттер */
856
- committer: {
857
- name: string
858
- email: string
859
- date: string
860
- }
861
- /** Сообщение коммита */
862
- message: string
863
- /** Дерево коммита */
864
- tree: {
865
- sha: string
866
- url: string
867
- }
868
- };
869
- /** Автор (пользователь GitVerse) */
870
- author?: User2 | null;
871
- /** Коммиттер (пользователь GitVerse) */
872
- committer?: User2 | null;
873
- /** Родительские коммиты */
874
- parents: Array<{
875
- sha: string
876
- url: string
877
- html_url: string
878
- }>;
879
- /** API-ссылка на коммит */
880
- url: string;
881
- /** Веб-ссылка на коммит */
882
- html_url: string;
427
+ author?: UserPublicInfo;
428
+ branch?: string;
429
+ commit?: RepoCommit;
430
+ committer?: UserPublicInfo;
431
+ created?: string;
432
+ files?: CommitFiles[];
433
+ html_url?: string;
434
+ parents?: CommitMeta[];
435
+ sha?: string;
436
+ stats?: CommitStats;
437
+ url?: string;
883
438
  }
884
- /**
885
- * Параметры для создания коммита
886
- */
887
- interface CreateCommitParams {
888
- /** Сообщение коммита */
889
- message: string;
890
- /** SHA-хеш дерева */
891
- tree: string;
892
- /** SHA-хеши родительских коммитов */
893
- parents?: string[];
894
- /** Информация об авторе */
895
- author?: {
896
- name: string
897
- email: string
898
- date?: string
899
- };
900
- /** Информация о коммиттере */
901
- committer?: {
902
- name: string
903
- email: string
904
- date?: string
905
- };
906
- /** GPG подпись */
439
+ interface CommitVerification {
440
+ payload?: string;
441
+ reason?: string;
907
442
  signature?: string;
443
+ verified?: boolean;
444
+ verifiedAt?: string;
908
445
  }
909
- /**
910
- * Параметры для обновления репозитория
911
- */
912
- interface UpdateRepositoryParams {
913
- /** Новое название репозитория */
914
- name?: string;
915
- /** Новое описание репозитория */
916
- description?: string;
917
- /** Веб-сайт проекта */
918
- website?: string;
919
- /** Приватный ли репозиторий */
920
- private?: boolean;
921
- /** Разрешены ли issues */
922
- has_issues?: boolean;
923
- /** Разрешена ли wiki */
924
- has_wiki?: boolean;
925
- /** Ветка по умолчанию */
926
- default_branch?: string;
927
- /** Архивирован ли репозиторий */
928
- archived?: boolean;
929
- }
930
- /**
931
- * Интерфейс результата сравнения веток/коммитов
932
- */
933
446
  interface CompareResponse {
934
- /** URL для сравнения */
935
- url: string;
936
- /** Веб-ссылка для сравнения */
937
- html_url: string;
938
- /** Diff-ссылка */
939
- diff_url: string;
940
- /** Patch-ссылка */
941
- patch_url: string;
942
- /** Базовый коммит */
943
- base_commit: Commit;
944
- /** Сравниваемый коммит */
945
- merge_base_commit: Commit;
946
- /** Статус сравнения */
947
- status: "ahead" | "behind" | "identical" | "diverged";
948
- /** Количество коммитов впереди */
949
- ahead_by: number;
950
- /** Количество коммитов позади */
951
- behind_by: number;
952
- /** Общее количество коммитов */
953
- total_commits: number;
954
- /** Список коммитов */
955
- commits: Commit[];
956
- /** Изменённые файлы */
957
- files: PullRequestFile[];
447
+ ahead_by?: number;
448
+ base_commit?: Commit;
449
+ behind_by?: number;
450
+ commits?: Commit[];
451
+ files?: CommitFiles[];
452
+ html_url?: string;
453
+ merge_base_commit?: Commit;
454
+ status?: string;
455
+ total_commits?: number;
456
+ url?: string;
958
457
  }
959
- /**
960
- * Параметры для обновления pull request
961
- */
962
- interface UpdatePullRequestParams {
963
- /** Новый заголовок */
964
- title?: string;
965
- /** Новое описание */
966
- body?: string;
967
- /** Новое состояние */
968
- state?: PullRequestState;
969
- /** Базовая ветка */
970
- base?: string;
971
- /** Можно ли мейнтейнерам модифицировать */
972
- maintainer_can_modify?: boolean;
458
+ interface FileLinksResponse {
459
+ git?: string;
460
+ html?: string;
461
+ self?: string;
973
462
  }
974
- /**
975
- * Интерфейс файла в pull request
976
- */
977
- interface PullRequestFile {
978
- /** SHA-хеш файла */
979
- sha: string;
980
- /** Имя файла */
981
- filename: string;
982
- /** Статус изменения */
983
- status: "added" | "removed" | "modified" | "renamed" | "copied" | "changed" | "unchanged";
984
- /** Количество добавленных строк */
985
- additions: number;
986
- /** Количество удалённых строк */
987
- deletions: number;
988
- /** Общее количество изменений */
989
- changes: number;
990
- /** URL для получения содержимого */
991
- blob_url: string;
992
- /** Raw URL */
993
- raw_url: string;
994
- /** API URL */
995
- contents_url: string;
996
- /** Patch для файла */
997
- patch?: string;
998
- /** Предыдущее имя файла (для переименованных) */
999
- previous_filename?: string;
463
+ interface ContentsResponse {
464
+ /** Ссылки */
465
+ _links?: FileLinksResponse;
466
+ /** `content` is populated when `type` is `file`, otherwise null */
467
+ content?: string;
468
+ /** DownloadURL ссылка на скачивание файла */
469
+ download_url?: string;
470
+ /** `encoding` is populated when `type` is `file`, otherwise null */
471
+ encoding?: string;
472
+ /** GitURL ссылка на получение файла */
473
+ git_url?: string;
474
+ /** HtmlURL ссылка на страницу с содержимым файла */
475
+ html_url?: string;
476
+ /** Язык программирования используемый в файле (если тип файл) */
477
+ language?: string;
478
+ name?: string;
479
+ path?: string;
480
+ sha?: string;
481
+ size?: number;
482
+ /** `submodule_git_url` is populated when `type` is `submodule`, otherwise null */
483
+ submodule_git_url?: string;
484
+ /** `target` is populated when `type` is `symlink`, otherwise null */
485
+ target?: string;
486
+ /** `type` will be `file`, `dir`, `symlink`, or `submodule` */
487
+ type?: string;
488
+ /** Url возвращает ссылку на получение такого же JSON */
489
+ url?: string;
1000
490
  }
1001
- /**
1002
- * Интерфейс команды (team)
1003
- */
1004
- interface Team {
1005
- /** Идентификатор команды */
1006
- id: number;
1007
- /** Node ID команды */
1008
- node_id?: string;
1009
- /** Название команды */
1010
- name: string;
1011
- /** Slug команды */
1012
- slug: string;
1013
- /** Описание команды */
1014
- description?: string;
1015
- /** Приватность команды */
1016
- privacy?: "secret" | "closed";
1017
- /** Права доступа */
1018
- permission: "pull" | "push" | "admin";
1019
- /** Количество участников */
1020
- members_count?: number;
1021
- /** Количество репозиториев */
1022
- repos_count?: number;
1023
- /** Организация */
1024
- organization?: {
1025
- login: string
1026
- id: number
1027
- };
1028
- /** Веб-ссылка */
1029
- html_url: string;
1030
- /** API-ссылка */
1031
- url: string;
491
+ interface FileCommitResponse {
492
+ author?: CommitUser;
493
+ committer?: CommitUser;
494
+ created?: string;
495
+ html_url?: string;
496
+ message?: string;
497
+ parents?: CommitMeta[];
498
+ sha?: string;
499
+ tree?: CommitMeta;
500
+ url?: string;
501
+ verification?: CommitVerification;
1032
502
  }
1033
- /**
1034
- * Интерфейс приглашения в команду
1035
- */
1036
- interface Invitation {
1037
- /** Идентификатор приглашения */
1038
- id: number;
1039
- /** Приглашённый пользователь */
1040
- login: string;
1041
- /** Email приглашённого */
503
+ interface FileCreationResponse {
504
+ commit?: FileCommitResponse;
505
+ content?: ContentsResponse;
506
+ }
507
+ interface FileDeleteResponse {
508
+ commit?: FileCommitResponse;
509
+ content?: unknown;
510
+ }
511
+ interface Email {
1042
512
  email?: string;
1043
- /** Роль */
1044
- role: string;
1045
- /** Дата создания */
1046
- created_at: string;
1047
- /** Приглашающий */
1048
- inviter: User2;
513
+ primary?: boolean;
514
+ verified?: boolean;
515
+ visibility?: string;
516
+ }
517
+ interface GitEntry {
518
+ mode?: string;
519
+ path?: string;
520
+ sha?: string;
521
+ size?: number;
522
+ type?: string;
523
+ url?: string;
1049
524
  }
1050
- /**
1051
- * Интерфейс релиза
1052
- */
1053
- interface Release {
1054
- /** Идентификатор релиза */
1055
- id: number;
1056
- /** Тег релиза */
1057
- tag_name: string;
1058
- /** Целевой коммит */
1059
- target_commitish: string;
1060
- /** Название релиза */
1061
- name: string;
1062
- /** Описание релиза */
1063
- body?: string;
1064
- /** Черновик ли релиз */
1065
- draft: boolean;
1066
- /** Пре-релиз ли */
1067
- prerelease: boolean;
1068
- /** Автор релиза */
1069
- author: User2;
1070
- /** Дата создания */
1071
- created_at: string;
1072
- /** Дата публикации */
1073
- published_at?: string;
1074
- /** Веб-ссылка */
1075
- html_url: string;
1076
- /** API-ссылка */
1077
- url: string;
1078
- /** Ссылка на архив tar.gz */
1079
- tarball_url: string;
1080
- /** Ссылка на архив zip */
1081
- zipball_url: string;
1082
- /** Список ассетов */
1083
- assets: Asset[];
525
+ interface GitObject {
526
+ sha?: string;
527
+ type?: string;
528
+ url?: string;
1084
529
  }
1085
- /**
1086
- * Параметры для создания релиза
1087
- */
1088
- interface CreateReleaseParams {
1089
- /** Тег релиза */
1090
- tag_name: string;
1091
- /** Целевой коммит (по умолчанию основная ветка) */
1092
- target_commitish?: string;
1093
- /** Название релиза */
530
+ interface GitTreeResponse {
531
+ page?: number;
532
+ sha?: string;
533
+ total_count?: number;
534
+ tree?: GitEntry[];
535
+ truncated?: boolean;
536
+ url?: string;
537
+ }
538
+ interface User2 {
539
+ /** Адрес аватарки */
540
+ avatar_url?: string;
541
+ /** О себе */
542
+ bio?: string;
543
+ /** Дата создания учетной записи */
544
+ created_at?: string;
545
+ /** Почта */
546
+ email?: string;
547
+ /** Счетчики */
548
+ followers?: number;
549
+ /** Url для получения подписчиков пользователя */
550
+ followers_url?: string;
551
+ following?: number;
552
+ /** Url для получения подписок пользователя */
553
+ following_url?: string;
554
+ /** Полное имя */
555
+ full_name?: string;
556
+ /** Адрес страницы пользователя */
557
+ html_url?: string;
558
+ /** Идентификатор */
559
+ id?: number;
560
+ /** Верифицирован? */
561
+ is_verified?: boolean;
562
+ /** Местоположение */
563
+ location?: string;
564
+ /** Логин пользователя */
565
+ login?: string;
566
+ /** Имя пользователя */
1094
567
  name?: string;
1095
- /** Описание релиза */
1096
- body?: string;
1097
- /** Черновик ли релиз */
568
+ /** Url для получения организаций пользователя */
569
+ organizations_url?: string;
570
+ /** Публичные репозитории */
571
+ public_repos?: number;
572
+ /** Url для получения репозиториев пользователя */
573
+ repos_url?: string;
574
+ /** Есть ли права админа */
575
+ site_admin?: boolean;
576
+ /** Url для получения репозиториев пользователя, которые были добавлены в избранное */
577
+ starred_url?: string;
578
+ /** Количество репозиториев в избранном */
579
+ stars_count?: number;
580
+ /** Url для получения подписок пользователя */
581
+ subscriptions_url?: string;
582
+ /** Тип пользователя */
583
+ type?: string;
584
+ /** Дата изменения учетной записи */
585
+ updated_at?: string;
586
+ /** Url для получения пользователя */
587
+ url?: string;
588
+ /** Вебсайт */
589
+ website?: string;
590
+ }
591
+ interface Label {
592
+ /** example: 00aabb */
593
+ color?: string;
594
+ description?: string;
595
+ /** example: false */
596
+ exclusive?: boolean;
597
+ id?: number;
598
+ /** example: false */
599
+ is_archived?: boolean;
600
+ name?: string;
601
+ url?: string;
602
+ }
603
+ interface Milestone {
604
+ closed_at?: string;
605
+ closed_issues?: number;
606
+ created_at?: string;
607
+ description?: string;
608
+ due_on?: string;
609
+ id?: number;
610
+ open_issues?: number;
611
+ state?: string;
612
+ title?: string;
613
+ updated_at?: string;
614
+ }
615
+ interface PullRequestMeta {
1098
616
  draft?: boolean;
1099
- /** Пре-релиз ли */
1100
- prerelease?: boolean;
617
+ html_url?: string;
618
+ merged?: boolean;
619
+ merged_at?: string;
1101
620
  }
1102
- /**
1103
- * Параметры для обновления релиза
1104
- */
1105
- interface UpdateReleaseParams {
1106
- /** Тег релиза */
1107
- tag_name?: string;
1108
- /** Целевой коммит */
1109
- target_commitish?: string;
1110
- /** Название релиза */
621
+ interface RepositoryMeta {
622
+ full_name?: string;
623
+ id?: number;
1111
624
  name?: string;
1112
- /** Описание релиза */
625
+ owner?: string;
626
+ }
627
+ interface Issue {
628
+ assets?: Attachment[];
629
+ assignee?: User2;
630
+ assignees?: User2[];
1113
631
  body?: string;
1114
- /** Черновик ли релиз */
1115
- draft?: boolean;
1116
- /** Пре-релиз ли */
1117
- prerelease?: boolean;
632
+ closed_at?: string;
633
+ comments?: number;
634
+ created_at?: string;
635
+ due_date?: string;
636
+ html_url?: string;
637
+ id?: number;
638
+ is_locked?: boolean;
639
+ labels?: Label[];
640
+ milestone?: Milestone;
641
+ number?: number;
642
+ original_author?: string;
643
+ original_author_id?: number;
644
+ pull_request?: PullRequestMeta;
645
+ ref?: string;
646
+ repository?: RepositoryMeta;
647
+ state?: string;
648
+ title?: string;
649
+ updated_at?: string;
650
+ url?: string;
651
+ user?: User2;
1118
652
  }
1119
- /**
1120
- * Интерфейс ассета релиза
1121
- */
1122
- interface Asset {
1123
- /** Идентификатор ассета */
1124
- id: number;
1125
- /** Название файла */
1126
- name: string;
1127
- /** Метка ассета */
653
+ interface Repository {
654
+ allow_merge_commit?: boolean;
655
+ allow_rebase_merge?: boolean;
656
+ allow_squash_merge?: boolean;
657
+ archived?: boolean;
658
+ clone_url?: string;
659
+ contents_url?: string;
660
+ created_at?: string;
661
+ default_branch?: string;
662
+ delete_branch_on_merge?: boolean;
663
+ description?: string;
664
+ disabled?: boolean;
665
+ fork?: boolean;
666
+ forks?: number;
667
+ forks_count?: number;
668
+ forks_url?: string;
669
+ full_name?: string;
670
+ has_issues?: boolean;
671
+ has_wiki?: boolean;
672
+ id?: number;
673
+ is_template?: boolean;
674
+ issue_comment_url?: string;
675
+ issues_url?: string;
676
+ language?: string;
677
+ languages_url?: string;
678
+ mirror_url?: string;
679
+ name?: string;
680
+ open_issues?: number;
681
+ open_issues_count?: number;
682
+ owner?: UserPublicInfo;
683
+ parent?: Repository;
684
+ permissions?: Permissions;
685
+ private?: boolean;
686
+ pulls_url?: string;
687
+ pushed_at?: string;
688
+ size?: number;
689
+ ssh_url?: string;
690
+ stargazers_count?: number;
691
+ template_repository?: Repository;
692
+ topics?: string[];
693
+ updated_at?: string;
694
+ url?: string;
695
+ visibility?: string;
696
+ watchers?: number;
697
+ watchers_count?: number;
698
+ }
699
+ interface PRBranchInfo {
1128
700
  label?: string;
1129
- /** Content-Type */
1130
- content_type: string;
1131
- /** Состояние ассета */
1132
- state: "uploaded" | "open";
1133
- /** Размер в байтах */
1134
- size: number;
1135
- /** Количество скачиваний */
1136
- download_count: number;
1137
- /** Дата создания */
1138
- created_at: string;
1139
- /** Дата обновления */
1140
- updated_at: string;
1141
- /** Загрузивший пользователь */
1142
- uploader: User2;
1143
- /** URL для скачивания */
1144
- browser_download_url: string;
1145
- /** API-ссылка */
1146
- url: string;
701
+ ref?: string;
702
+ repo?: Repository;
703
+ repo_id?: number;
704
+ sha?: string;
705
+ }
706
+ interface Team {
707
+ /** Полномочия на создание репозиториев */
708
+ can_create_org_repo?: boolean;
709
+ /** Описание команды */
710
+ description?: string;
711
+ /** Идентификатор */
712
+ id?: number;
713
+ /** Включает все репозитории */
714
+ includes_all_repositories?: boolean;
715
+ /** Название команды */
716
+ name?: string;
717
+ /** Количество участников */
718
+ num_members?: number;
719
+ /** Количество репозиториев */
720
+ num_repos?: number;
721
+ /** Полномочия */
722
+ permission?: string;
723
+ /** Полномочие на действия с ветками */
724
+ permission_actions?: string;
725
+ /** Код полномочия */
726
+ permission_code?: string;
727
+ /** Полномочие на пакеты */
728
+ permission_packages?: string;
729
+ /** Полномочие на отправку пулл-реквестов */
730
+ permission_pulls?: string;
731
+ /** Полномочие на релизы */
732
+ permission_releases?: string;
1147
733
  }
1148
- /**
1149
- * Параметры для загрузки ассета
1150
- */
1151
- interface UploadAssetParams {
1152
- /** Название файла */
1153
- name: string;
1154
- /** Метка ассета */
1155
- label?: string;
1156
- /** Содержимое файла */
1157
- data: ArrayBuffer | Blob;
734
+ interface PullRequest {
735
+ assignee?: User2;
736
+ assignees?: User2[];
737
+ base?: PRBranchInfo;
738
+ body?: string;
739
+ closed_at?: string;
740
+ comments?: number;
741
+ created_at?: string;
742
+ diff_url?: string;
743
+ head?: PRBranchInfo;
744
+ html_url?: string;
745
+ id?: number;
746
+ is_draft?: boolean;
747
+ labels?: Label[];
748
+ locked?: boolean;
749
+ maintainer_can_modify?: boolean;
750
+ merge_commit_sha?: string;
751
+ mergeable?: boolean;
752
+ merged?: boolean;
753
+ merged_at?: string;
754
+ merged_by?: User2;
755
+ milestone?: Milestone;
756
+ number?: number;
757
+ patch_url?: string;
758
+ requested_reviewers?: User2[];
759
+ requested_teams?: Team[];
760
+ state?: string;
761
+ title?: string;
762
+ updated_at?: string;
763
+ url?: string;
764
+ user?: User2;
1158
765
  }
1159
- /**
1160
- * Интерфейс Git-ссылки (reference)
1161
- */
1162
766
  interface Reference {
1163
- /** Имя ссылки (например, refs/heads/main) */
1164
- ref: string;
1165
- /** Node ID */
1166
- node_id?: string;
1167
- /** API-ссылка */
1168
- url: string;
1169
- /** Объект, на который указывает ссылка */
1170
- object: {
1171
- type: string
1172
- sha: string
1173
- url: string
1174
- };
767
+ object?: GitObject;
768
+ ref?: string;
769
+ url?: string;
1175
770
  }
1176
- /**
1177
- * Параметры для создания Git-ссылки
1178
- */
1179
- interface CreateRefParams {
1180
- /** Имя ссылки (например, refs/heads/feature-branch) */
1181
- ref: string;
1182
- /** SHA-хеш коммита */
1183
- sha: string;
771
+ interface RegistrationToken {
772
+ token?: string;
1184
773
  }
1185
- /**
1186
- * Интерфейс Git-дерева
1187
- */
1188
- interface Tree {
1189
- /** SHA-хеш дерева */
1190
- sha: string;
1191
- /** API-ссылка на дерево */
1192
- url: string;
1193
- /** Список записей в дереве */
1194
- tree: TreeEntry[];
1195
- /** Обрезано ли дерево */
1196
- truncated: boolean;
774
+ interface Release {
775
+ assets?: Attachment[];
776
+ author?: User2;
777
+ body?: string;
778
+ created_at?: string;
779
+ draft?: boolean;
780
+ html_url?: string;
781
+ id?: number;
782
+ name?: string;
783
+ prerelease?: boolean;
784
+ published_at?: string;
785
+ tag_name?: string;
786
+ tarball_url?: string;
787
+ target_commitish?: string;
788
+ upload_url?: string;
789
+ url?: string;
790
+ zipball_url?: string;
1197
791
  }
1198
- /**
1199
- * Интерфейс записи в Git-дереве
1200
- */
1201
792
  interface TreeEntry {
1202
- /** Путь к файлу/директории */
1203
- path: string;
1204
- /** Режим доступа */
1205
- mode: string;
1206
- /** Тип объекта */
1207
- type: "blob" | "tree" | "commit";
1208
- /** SHA-хеш объекта */
1209
- sha: string;
1210
- /** Размер (для blob) */
793
+ mode?: string;
794
+ path?: string;
795
+ sha?: string;
1211
796
  size?: number;
1212
- /** URL объекта */
1213
- url: string;
1214
- }
1215
- /**
1216
- * Параметры для создания Git-дерева
1217
- */
1218
- interface CreateTreeParams {
1219
- /** Список записей дерева */
1220
- tree: Array<{
1221
- path: string
1222
- mode: "100644" | "100755" | "040000" | "160000" | "120000"
1223
- type: "blob" | "tree" | "commit"
1224
- sha?: string
1225
- content?: string
1226
- }>;
1227
- /** SHA-хеш базового дерева */
1228
- base_tree?: string;
797
+ /** "blob", "tree", "commit" */
798
+ type?: string;
1229
799
  }
1230
- /**
1231
- * Интерфейс раннера GitHub Actions
1232
- */
1233
- interface Runner {
1234
- /** Идентификатор раннера */
1235
- id: number;
1236
- /** Название раннера */
1237
- name: string;
1238
- /** Операционная система */
1239
- os: string;
1240
- /** Статус раннера */
1241
- status: "online" | "offline";
1242
- /** Занят ли раннер */
1243
- busy: boolean;
1244
- /** Метки раннера */
1245
- labels: Array<{
1246
- id: number
1247
- name: string
1248
- type: string
1249
- }>;
800
+ interface RepoTree {
801
+ sha?: string;
802
+ tree?: TreeEntry[];
803
+ truncated?: boolean;
804
+ url?: string;
1250
805
  }
1251
- /**
1252
- * Интерфейс секрета GitHub Actions
1253
- */
1254
806
  interface Secret {
1255
- /** Название секрета */
1256
- name: string;
1257
- /** Дата создания */
1258
- created_at: string;
1259
- /** Дата обновления */
1260
- updated_at: string;
807
+ created_at?: string;
808
+ name?: string;
1261
809
  }
1262
- /**
1263
- * Параметры для создания/обновления секрета
1264
- */
1265
- interface CreateSecretParams {
1266
- /** Зашифрованное значение */
1267
- encrypted_value: string;
1268
- /** ID ключа для шифрования */
1269
- key_id: string;
810
+ interface SecretList {
811
+ secrets?: Secret[];
812
+ total_count?: number;
813
+ }
814
+ interface TrackedTime {
815
+ /** swagger:strfmt date-time */
816
+ created?: string;
817
+ id?: number;
818
+ issue?: Issue;
819
+ /** deprecated (only for backwards compatibility) */
820
+ issue_id?: number;
821
+ /** Time in seconds */
822
+ time?: number;
823
+ /** deprecated (only for backwards compatibility) */
824
+ user_id?: number;
825
+ user_name?: string;
826
+ }
827
+ interface TimelineComment {
828
+ assignee?: User2;
829
+ assignee_team?: Team;
830
+ body?: string;
831
+ /** swagger:strfmt date-time */
832
+ created_at?: string;
833
+ dependent_issue?: Issue;
834
+ html_url?: string;
835
+ id?: number;
836
+ issue_url?: string;
837
+ label?: Label;
838
+ milestone?: Milestone;
839
+ new_ref?: string;
840
+ new_title?: string;
841
+ old_milestone?: Milestone;
842
+ old_project_id?: number;
843
+ old_ref?: string;
844
+ old_title?: string;
845
+ project_id?: number;
846
+ pull_request_url?: string;
847
+ ref_action?: string;
848
+ ref_comment?: Comment;
849
+ /** commit SHA where issue/PR was referenced */
850
+ ref_commit_sha?: string;
851
+ ref_issue?: Issue;
852
+ /** whether the assignees were removed or added */
853
+ removed_assignee?: boolean;
854
+ resolve_doer?: User2;
855
+ review_id?: number;
856
+ tracked_time?: TrackedTime;
857
+ type?: string;
858
+ /** swagger:strfmt date-time */
859
+ updated_at?: string;
860
+ user?: User2;
1270
861
  }
1271
- /**
1272
- * Интерфейс переменной GitHub Actions
1273
- */
1274
- interface Variable {
1275
- /** Название переменной */
1276
- name: string;
1277
- /** Значение переменной */
1278
- value: string;
1279
- /** Дата создания */
1280
- created_at: string;
1281
- /** Дата обновления */
1282
- updated_at: string;
862
+ interface UpdateBranchResponse {
863
+ message?: string;
864
+ url?: string;
1283
865
  }
1284
- /**
1285
- * Параметры для создания переменной
1286
- */
1287
- interface CreateVariableParams {
1288
- /** Название переменной */
1289
- name: string;
1290
- /** Значение переменной */
1291
- value: string;
866
+ interface UserPrefsArray {
867
+ incomplete_results?: boolean;
868
+ items?: User2[];
869
+ total_count?: number;
1292
870
  }
1293
- /**
1294
- * Параметры для обновления переменной
1295
- */
1296
- interface UpdateVariableParams {
1297
- /** Новое название (опционально) */
871
+ interface Variable {
872
+ created_at?: string;
1298
873
  name?: string;
1299
- /** Новое значение */
874
+ updated_at?: string;
1300
875
  value?: string;
1301
876
  }
1302
- /**
1303
- * Интерфейс артефакта GitHub Actions
1304
- */
1305
- interface Artifact {
1306
- /** Идентификатор артефакта */
1307
- id: number;
1308
- /** Node ID артефакта */
1309
- node_id: string;
1310
- /** Название артефакта */
1311
- name: string;
1312
- /** Размер в байтах */
1313
- size_in_bytes: number;
1314
- /** API-ссылка */
1315
- url: string;
1316
- /** Ссылка на архив */
1317
- archive_download_url: string;
1318
- /** Истёк ли срок действия */
1319
- expired: boolean;
1320
- /** Дата создания */
1321
- created_at: string;
1322
- /** Дата истечения */
1323
- expires_at: string;
1324
- /** Дата обновления */
1325
- updated_at: string;
877
+ interface VariableList {
878
+ total_count?: number;
879
+ variables?: Variable[];
1326
880
  }
1327
- /**
1328
- * Параметры для запуска workflow
1329
- */
1330
- interface DispatchWorkflowParams {
1331
- /** Ссылка на ветку или тег */
1332
- ref: string;
1333
- /** Входные параметры для workflow */
1334
- inputs?: Record<string, string>;
881
+ interface WorkflowDispatchInput {
882
+ default?: string;
883
+ description?: string;
884
+ name?: string;
885
+ options?: string[];
886
+ required?: boolean;
887
+ type?: string;
888
+ }
889
+ interface WorkflowDispatchInputList {
890
+ inputs?: WorkflowDispatchInput[];
1335
891
  }
1336
892
  /**
1337
893
  * Базовая ошибка GitVerse API
@@ -1410,616 +966,534 @@ declare class GitVerseClient {
1410
966
  private token?;
1411
967
  private apiVersion;
1412
968
  /**
1413
- * Callback для обработки предупреждений об устаревшей версии API
1414
- */
1415
- onApiVersionWarning?: (warning: ApiVersionWarning) => void;
1416
- /**
1417
- * Создает новый экземпляр GitVerse клиента
1418
- * @param config Конфигурация клиента
1419
- */
1420
- constructor(config?: GitVerseClientConfig);
1421
- /**
1422
- * Устанавливает токен авторизации
1423
- * @param token Токен доступа
1424
- */
1425
- setToken(token: string): void;
1426
- /**
1427
- * Извлекает информацию о Rate Limit из заголовков ответа
1428
- */
1429
- private extractRateLimitInfo;
1430
- /**
1431
- * Извлекает информацию о версии API из заголовков ответа
1432
- */
1433
- private extractApiVersionInfo;
1434
- /**
1435
- * Извлекает метаданные из заголовков ответа
1436
- */
1437
- private extractMetadata;
1438
- /**
1439
- * Выполняет API-запрос с учетом авторизации и версии API
1440
- * @param path Путь к API-ресурсу
1441
- * @param method HTTP-метод
1442
- * @param body Тело запроса (опционально)
1443
- * @param options Опции запроса (опционально)
1444
- * @returns Ответ от API
1445
- * @throws {RateLimitError} При превышении лимита запросов (429)
1446
- * @throws {GitVerseApiError} При других ошибках API
1447
- */
1448
- request<T>(path: string, method: HTTPMethods, body?: unknown, options?: RequestOptions): Promise<T>;
1449
- /**
1450
- * Выполняет GET-запрос
1451
- * @param path Путь к API-ресурсу
1452
- * @param options Опции запроса (опционально)
1453
- * @returns Ответ от API
1454
- */
1455
- get<T>(path: string, options?: RequestOptions): Promise<T>;
1456
- /**
1457
- * Выполняет POST-запрос
1458
- * @param path Путь к API-ресурсу
1459
- * @param body Тело запроса
1460
- * @param options Опции запроса (опционально)
1461
- * @returns Ответ от API
1462
- */
1463
- post<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
1464
- /**
1465
- * Выполняет PUT-запрос
1466
- * @param path Путь к API-ресурсу
1467
- * @param body Тело запроса
1468
- * @param options Опции запроса (опционально)
1469
- * @returns Ответ от API
1470
- */
1471
- put<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
1472
- /**
1473
- * Выполняет DELETE-запрос
1474
- * @param path Путь к API-ресурсу
1475
- * @param body Тело запроса (опционально)
1476
- * @param options Опции запроса (опционально)
1477
- * @returns Ответ от API
1478
- */
1479
- delete<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
1480
- /**
1481
- * Выполняет PATCH-запрос
1482
- * @param path Путь к API-ресурсу
1483
- * @param body Тело запроса
1484
- * @param options Опции запроса (опционально)
1485
- * @returns Ответ от API
1486
- */
1487
- patch<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
1488
- }
1489
- /**
1490
- * API для работы с GitHub Actions
1491
- */
1492
- declare class ActionsApi {
1493
- private client;
1494
- /**
1495
- * Создает новый экземпляр API для работы с GitHub Actions
1496
- * @param client GitVerse клиент
1497
- */
1498
- constructor(client: GitVerseClient);
1499
- /**
1500
- * Получает список раннеров организации
1501
- * @param org Название организации
1502
- * @returns Список раннеров
1503
- */
1504
- listOrgRunners(org: string, options?: RequestOptions): Promise<{
1505
- runners: Runner[]
1506
- }>;
1507
- /**
1508
- * Создает токен регистрации раннера для организации
1509
- * @param org Название организации
1510
- * @returns Токен регистрации
1511
- */
1512
- createOrgRegistrationToken(org: string, options?: RequestOptions): Promise<{
1513
- token: string
1514
- expires_at: string
1515
- }>;
1516
- /**
1517
- * Получает информацию о раннере организации по ID
1518
- * @param org Название организации
1519
- * @param runnerId ID раннера
1520
- * @returns Информация о раннере
1521
- */
1522
- getOrgRunner(org: string, runnerId: number, options?: RequestOptions): Promise<Runner>;
1523
- /**
1524
- * Удаляет раннер организации
1525
- * @param org Название организации
1526
- * @param runnerId ID раннера
1527
- * @returns Результат операции
1528
- */
1529
- deleteOrgRunner(org: string, runnerId: number, options?: RequestOptions): Promise<void>;
1530
- /**
1531
- * Получает список раннеров репозитория
1532
- * @param owner Владелец репозитория
1533
- * @param repo Название репозитория
1534
- * @returns Список раннеров
1535
- */
1536
- listRepoRunners(owner: string, repo: string, options?: RequestOptions): Promise<{
1537
- runners: Runner[]
1538
- }>;
1539
- /**
1540
- * Создает токен регистрации раннера для репозитория
1541
- * @param owner Владелец репозитория
1542
- * @param repo Название репозитория
1543
- * @returns Токен регистрации
1544
- */
1545
- createRepoRegistrationToken(owner: string, repo: string, options?: RequestOptions): Promise<{
1546
- token: string
1547
- expires_at: string
1548
- }>;
1549
- /**
1550
- * Получает информацию о раннере репозитория по ID
1551
- * @param owner Владелец репозитория
1552
- * @param repo Название репозитория
1553
- * @param runnerId ID раннера
1554
- * @returns Информация о раннере
1555
- */
1556
- getRepoRunner(owner: string, repo: string, runnerId: number, options?: RequestOptions): Promise<Runner>;
1557
- /**
1558
- * Удаляет раннер репозитория
1559
- * @param owner Владелец репозитория
1560
- * @param repo Название репозитория
1561
- * @param runnerId ID раннера
1562
- * @returns Результат операции
1563
- */
1564
- deleteRepoRunner(owner: string, repo: string, runnerId: number, options?: RequestOptions): Promise<void>;
1565
- /**
1566
- * Получает список секретов организации
1567
- * @param org Название организации
1568
- * @returns Список секретов
1569
- */
1570
- listOrgSecrets(org: string, options?: RequestOptions): Promise<{
1571
- secrets: Secret[]
1572
- }>;
1573
- /**
1574
- * Получает секрет организации по имени
1575
- * @param org Название организации
1576
- * @param secretName Название секрета
1577
- * @returns Информация о секрете
1578
- */
1579
- getOrgSecret(org: string, secretName: string, options?: RequestOptions): Promise<Secret>;
1580
- /**
1581
- * Создает или обновляет секрет организации
1582
- * @param org Название организации
1583
- * @param secretName Название секрета
1584
- * @param params Параметры секрета
1585
- * @returns Результат операции
1586
- */
1587
- createOrUpdateOrgSecret(org: string, secretName: string, params: CreateSecretParams, options?: RequestOptions): Promise<void>;
1588
- /**
1589
- * Удаляет секрет организации
1590
- * @param org Название организации
1591
- * @param secretName Название секрета
1592
- * @returns Результат операции
1593
- */
1594
- deleteOrgSecret(org: string, secretName: string, options?: RequestOptions): Promise<void>;
1595
- /**
1596
- * Получает список секретов репозитория
1597
- * @param owner Владелец репозитория
1598
- * @param repo Название репозитория
1599
- * @returns Список секретов
1600
- */
1601
- listRepoSecrets(owner: string, repo: string, options?: RequestOptions): Promise<{
1602
- secrets: Secret[]
1603
- }>;
1604
- /**
1605
- * Получает секрет репозитория по имени
1606
- * @param owner Владелец репозитория
1607
- * @param repo Название репозитория
1608
- * @param secretName Название секрета
1609
- * @returns Информация о секрете
1610
- */
1611
- getRepoSecret(owner: string, repo: string, secretName: string, options?: RequestOptions): Promise<Secret>;
1612
- /**
1613
- * Создает или обновляет секрет репозитория
1614
- * @param owner Владелец репозитория
1615
- * @param repo Название репозитория
1616
- * @param secretName Название секрета
1617
- * @param params Параметры секрета
1618
- * @returns Результат операции
1619
- */
1620
- createOrUpdateRepoSecret(owner: string, repo: string, secretName: string, params: CreateSecretParams, options?: RequestOptions): Promise<void>;
1621
- /**
1622
- * Удаляет секрет репозитория
1623
- * @param owner Владелец репозитория
1624
- * @param repo Название репозитория
1625
- * @param secretName Название секрета
1626
- * @returns Результат операции
1627
- */
1628
- deleteRepoSecret(owner: string, repo: string, secretName: string, options?: RequestOptions): Promise<void>;
1629
- /**
1630
- * Получает список переменных организации
1631
- * @param org Название организации
1632
- * @returns Список переменных
1633
- */
1634
- listOrgVariables(org: string, options?: RequestOptions): Promise<{
1635
- variables: Variable[]
1636
- }>;
1637
- /**
1638
- * Создает переменную организации
1639
- * @param org Название организации
1640
- * @param params Параметры переменной
1641
- * @returns Созданная переменная
1642
- */
1643
- createOrgVariable(org: string, params: CreateVariableParams, options?: RequestOptions): Promise<Variable>;
1644
- /**
1645
- * Получает переменную организации по имени
1646
- * @param org Название организации
1647
- * @param name Название переменной
1648
- * @returns Информация о переменной
1649
- */
1650
- getOrgVariable(org: string, name: string, options?: RequestOptions): Promise<Variable>;
1651
- /**
1652
- * Удаляет переменную организации
1653
- * @param org Название организации
1654
- * @param name Название переменной
1655
- * @returns Результат операции
1656
- */
1657
- deleteOrgVariable(org: string, name: string, options?: RequestOptions): Promise<void>;
1658
- /**
1659
- * Обновляет переменную организации
1660
- * @param org Название организации
1661
- * @param name Название переменной
1662
- * @param params Параметры обновления
1663
- * @returns Обновлённая переменная
1664
- */
1665
- updateOrgVariable(org: string, name: string, params: UpdateVariableParams, options?: RequestOptions): Promise<Variable>;
1666
- /**
1667
- * Получает список переменных репозитория
1668
- * @param owner Владелец репозитория
1669
- * @param repo Название репозитория
1670
- * @returns Список переменных
1671
- */
1672
- listRepoVariables(owner: string, repo: string, options?: RequestOptions): Promise<{
1673
- variables: Variable[]
1674
- }>;
1675
- /**
1676
- * Создает переменную репозитория
1677
- * @param owner Владелец репозитория
1678
- * @param repo Название репозитория
1679
- * @param params Параметры переменной
1680
- * @returns Созданная переменная
1681
- */
1682
- createRepoVariable(owner: string, repo: string, params: CreateVariableParams, options?: RequestOptions): Promise<Variable>;
1683
- /**
1684
- * Получает переменную репозитория по имени
1685
- * @param owner Владелец репозитория
1686
- * @param repo Название репозитория
1687
- * @param name Название переменной
1688
- * @returns Информация о переменной
1689
- */
1690
- getRepoVariable(owner: string, repo: string, name: string, options?: RequestOptions): Promise<Variable>;
1691
- /**
1692
- * Удаляет переменную репозитория
1693
- * @param owner Владелец репозитория
1694
- * @param repo Название репозитория
1695
- * @param name Название переменной
1696
- * @returns Результат операции
1697
- */
1698
- deleteRepoVariable(owner: string, repo: string, name: string, options?: RequestOptions): Promise<void>;
1699
- /**
1700
- * Обновляет переменную репозитория
1701
- * @param owner Владелец репозитория
1702
- * @param repo Название репозитория
1703
- * @param name Название переменной
1704
- * @param params Параметры обновления
1705
- * @returns Обновлённая переменная
1706
- */
1707
- updateRepoVariable(owner: string, repo: string, name: string, params: UpdateVariableParams, options?: RequestOptions): Promise<Variable>;
1708
- /**
1709
- * Получает список артефактов репозитория
1710
- * @param owner Владелец репозитория
1711
- * @param repo Название репозитория
1712
- * @returns Список артефактов
1713
- */
1714
- listArtifacts(owner: string, repo: string, options?: RequestOptions): Promise<{
1715
- artifacts: Artifact[]
1716
- }>;
1717
- /**
1718
- * Получает артефакт по ID
1719
- * @param owner Владелец репозитория
1720
- * @param repo Название репозитория
1721
- * @param artifactId ID артефакта
1722
- * @returns Информация об артефакте
1723
- */
1724
- getArtifact(owner: string, repo: string, artifactId: number, options?: RequestOptions): Promise<Artifact>;
1725
- /**
1726
- * Удаляет артефакт
1727
- * @param owner Владелец репозитория
1728
- * @param repo Название репозитория
1729
- * @param artifactId ID артефакта
1730
- * @returns Результат операции
1731
- */
1732
- deleteArtifact(owner: string, repo: string, artifactId: number, options?: RequestOptions): Promise<void>;
1733
- /**
1734
- * Скачивает артефакт в формате ZIP
1735
- * @param owner Владелец репозитория
1736
- * @param repo Название репозитория
1737
- * @param artifactId ID артефакта
1738
- * @returns ZIP-архив артефакта
1739
- */
1740
- downloadArtifact(owner: string, repo: string, artifactId: number, options?: RequestOptions): Promise<ArrayBuffer>;
1741
- /**
1742
- * Скачивает артефакт в формате ZIP (raw)
1743
- * @param owner Владелец репозитория
1744
- * @param repo Название репозитория
1745
- * @param artifactId ID артефакта
1746
- * @returns ZIP-архив артефакта (raw)
1747
- */
1748
- downloadArtifactRaw(owner: string, repo: string, artifactId: number, options?: RequestOptions): Promise<ArrayBuffer>;
1749
- /**
1750
- * Получает параметры dispatch для workflow
1751
- * @param owner Владелец репозитория
1752
- * @param repo Название репозитория
1753
- * @param workflow ID или имя файла workflow
1754
- * @returns Параметры workflow
1755
- */
1756
- getWorkflowDispatchInputs(owner: string, repo: string, workflow: string | number, options?: RequestOptions): Promise<Record<string, unknown>>;
1757
- /**
1758
- * Запускает workflow
1759
- * @param owner Владелец репозитория
1760
- * @param repo Название репозитория
1761
- * @param workflow ID или имя файла workflow
1762
- * @param params Параметры запуска
1763
- * @returns Результат операции
1764
- */
1765
- dispatchWorkflow(owner: string, repo: string, workflow: string | number, params: DispatchWorkflowParams, options?: RequestOptions): Promise<void>;
1766
- }
1767
- /**
1768
- * API для работы с ветками репозитория
1769
- */
1770
- declare class BranchesApi {
1771
- private client;
1772
- /**
1773
- * Создает новый экземпляр API для работы с ветками
1774
- * @param client GitVerse клиент
1775
- */
1776
- constructor(client: GitVerseClient);
1777
- /**
1778
- * Получает список веток репозитория
1779
- * @param owner Владелец репозитория
1780
- * @param repo Название репозитория
1781
- * @returns Список веток
1782
- */
1783
- list(owner: string, repo: string, options?: RequestOptions): Promise<Branch[]>;
1784
- }
1785
- /**
1786
- * API для работы с коллабораторами репозитория
1787
- */
1788
- declare class CollaboratorsApi {
1789
- private client;
1790
- /**
1791
- * Создает новый экземпляр API для работы с коллабораторами
1792
- * @param client GitVerse клиент
1793
- */
1794
- constructor(client: GitVerseClient);
1795
- /**
1796
- * Получает список коллабораторов репозитория
1797
- * @param owner Владелец репозитория
1798
- * @param repo Название репозитория
1799
- * @returns Список коллабораторов
1800
- */
1801
- list(owner: string, repo: string, options?: RequestOptions): Promise<User2[]>;
1802
- /**
1803
- * Добавляет коллаборатора к репозиторию
1804
- * @param owner Владелец репозитория
1805
- * @param repo Название репозитория
1806
- * @param collaborator Имя пользователя коллаборатора
1807
- * @returns Результат операции
1808
- */
1809
- add(owner: string, repo: string, collaborator: string, options?: RequestOptions): Promise<void>;
1810
- }
1811
- /**
1812
- * API для работы с коммитами
1813
- */
1814
- declare class CommitsApi {
1815
- private client;
969
+ * Callback для обработки предупреждений об устаревшей версии API
970
+ */
971
+ onApiVersionWarning?: (warning: ApiVersionWarning) => void;
1816
972
  /**
1817
- * Создает новый экземпляр API для работы с коммитами
1818
- * @param client GitVerse клиент
973
+ * Создает новый экземпляр GitVerse клиента
974
+ * @param config Конфигурация клиента
1819
975
  */
1820
- constructor(client: GitVerseClient);
976
+ constructor(config?: GitVerseClientConfig);
1821
977
  /**
1822
- * Получает список коммитов в репозитории
1823
- * @param owner Владелец репозитория
1824
- * @param repo Название репозитория
1825
- * @returns Список коммитов
978
+ * Устанавливает токен авторизации
979
+ * @param token Токен доступа
1826
980
  */
1827
- list(owner: string, repo: string, options?: RequestOptions): Promise<Commit[]>;
981
+ setToken(token: string): void;
1828
982
  /**
1829
- * Получает информацию о коммите по SHA
1830
- * @param owner Владелец репозитория
1831
- * @param repo Название репозитория
1832
- * @param sha SHA-хеш коммита
1833
- * @returns Информация о коммите
983
+ * Извлекает информацию о Rate Limit из заголовков ответа
1834
984
  */
1835
- get(owner: string, repo: string, sha: string, options?: RequestOptions): Promise<Commit>;
985
+ private extractRateLimitInfo;
1836
986
  /**
1837
- * Создает новый коммит
1838
- * @param owner Владелец репозитория
1839
- * @param repo Название репозитория
1840
- * @param params Параметры создания коммита
1841
- * @returns Созданный коммит
987
+ * Извлекает информацию о версии API из заголовков ответа
1842
988
  */
1843
- create(owner: string, repo: string, params: CreateCommitParams, options?: RequestOptions): Promise<Commit>;
1844
- }
1845
- /**
1846
- * API для работы с содержимым репозитория (файлами и папками)
1847
- */
1848
- declare class ContentsApi {
1849
- private client;
989
+ private extractApiVersionInfo;
1850
990
  /**
1851
- * Создает новый экземпляр API для работы с содержимым репозитория
1852
- * @param client GitVerse клиент
991
+ * Извлекает метаданные из заголовков ответа
1853
992
  */
1854
- constructor(client: GitVerseClient);
993
+ private extractMetadata;
1855
994
  /**
1856
- * Получает содержимое файла или список файлов в директории
1857
- * @param owner Владелец репозитория
1858
- * @param repo Название репозитория
1859
- * @param path Путь к файлу или директории
1860
- * @returns Содержимое файла или директории
995
+ * Выполняет API-запрос с учетом авторизации и версии API
996
+ * @param path Путь к API-ресурсу
997
+ * @param method HTTP-метод
998
+ * @param body Тело запроса (опционально)
999
+ * @param options Опции запроса (опционально)
1000
+ * @returns Ответ от API
1001
+ * @throws {RateLimitError} При превышении лимита запросов (429)
1002
+ * @throws {GitVerseApiError} При других ошибках API
1861
1003
  */
1862
- get(owner: string, repo: string, path: string, options?: RequestOptions): Promise<Content>;
1004
+ request<T>(path: string, method: HTTPMethods, body?: unknown, options?: RequestOptions): Promise<T>;
1863
1005
  /**
1864
- * Создает новый файл в репозитории
1865
- * @param owner Владелец репозитория
1866
- * @param repo Название репозитория
1867
- * @param path Путь к файлу, который будет создан
1868
- * @param params Параметры создания файла
1869
- * @returns Информация о созданном файле и коммите
1006
+ * Выполняет GET-запрос
1007
+ * @param path Путь к API-ресурсу
1008
+ * @param options Опции запроса (опционально)
1009
+ * @returns Ответ от API
1870
1010
  */
1871
- createFile(owner: string, repo: string, path: string, params: CreateFileParams, options?: RequestOptions): Promise<FileCreationResponse>;
1011
+ get<T>(path: string, options?: RequestOptions): Promise<T>;
1872
1012
  /**
1873
- * Обновляет существующий файл в репозитории
1874
- * @param owner Владелец репозитория
1875
- * @param repo Название репозитория
1876
- * @param path Путь к файлу, который будет обновлен
1877
- * @param params Параметры обновления файла
1878
- * @returns Информация об обновленном файле и коммите
1013
+ * Выполняет POST-запрос
1014
+ * @param path Путь к API-ресурсу
1015
+ * @param body Тело запроса
1016
+ * @param options Опции запроса (опционально)
1017
+ * @returns Ответ от API
1879
1018
  */
1880
- updateFile(owner: string, repo: string, path: string, params: UpdateFileParams, options?: RequestOptions): Promise<FileCreationResponse>;
1019
+ post<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
1881
1020
  /**
1882
- * Удаляет файл из репозитория
1883
- * @param owner Владелец репозитория
1884
- * @param repo Название репозитория
1885
- * @param path Путь к файлу, который будет удален
1886
- * @param params Параметры удаления файла
1887
- * @returns Информация об удаленном файле и коммите
1021
+ * Выполняет PUT-запрос
1022
+ * @param path Путь к API-ресурсу
1023
+ * @param body Тело запроса
1024
+ * @param options Опции запроса (опционально)
1025
+ * @returns Ответ от API
1888
1026
  */
1889
- deleteFile(owner: string, repo: string, path: string, params: DeleteFileParams, options?: RequestOptions): Promise<FileDeletionResponse>;
1890
- }
1891
- /**
1892
- * Класс для работы с email адресами пользователя
1893
- */
1894
- declare class EmailsApi {
1895
- private client;
1896
- constructor(client: GitVerseClient);
1027
+ put<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
1897
1028
  /**
1898
- * Получить список email адресов текущего пользователя
1899
- * @returns {Promise<Email[]>} Массив email адресов
1029
+ * Выполняет DELETE-запрос
1030
+ * @param path Путь к API-ресурсу
1031
+ * @param body Тело запроса (опционально)
1032
+ * @param options Опции запроса (опционально)
1033
+ * @returns Ответ от API
1900
1034
  */
1901
- list(options?: RequestOptions): Promise<Email[]>;
1035
+ delete<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
1902
1036
  /**
1903
- * Добавить email адреса к аккаунту пользователя
1904
- * @param {AddEmailParams} params - Параметры для добавления email
1905
- * @returns {Promise<EmailOperationResponse>} Результат операции
1037
+ * Выполняет PATCH-запрос
1038
+ * @param path Путь к API-ресурсу
1039
+ * @param body Тело запроса
1040
+ * @param options Опции запроса (опционально)
1041
+ * @returns Ответ от API
1906
1042
  */
1907
- add(params: AddEmailParams, options?: RequestOptions): Promise<EmailOperationResponse>;
1043
+ patch<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
1908
1044
  /**
1909
- * Удалить email адреса из аккаунта пользователя
1910
- * @param {RemoveEmailParams} params - Параметры для удаления email
1911
- * @returns {Promise<EmailOperationResponse>} Результат операции
1045
+ * Выполняет загрузку файла через multipart/form-data
1046
+ * @param path Путь к API-ресурсу
1047
+ * @param fieldName Имя поля для файла
1048
+ * @param file Файл для загрузки (Blob или ArrayBuffer)
1049
+ * @param fileName Имя файла
1050
+ * @param options Опции запроса (опционально)
1051
+ * @returns Ответ от API
1912
1052
  */
1913
- remove(params: RemoveEmailParams, options?: RequestOptions): Promise<EmailOperationResponse>;
1053
+ uploadFile<T>(path: string, fieldName: string, file: Blob | ArrayBuffer, fileName: string, options?: RequestOptions): Promise<T>;
1914
1054
  }
1915
1055
  /**
1916
- * API для работы с форками репозиториев
1056
+ * API для работы с GitHub Actions
1917
1057
  */
1918
- declare class ForksApi {
1058
+ declare class ActionsApi {
1919
1059
  private client;
1920
1060
  /**
1921
- * Создает новый экземпляр API для работы с форками
1061
+ * Создает новый экземпляр API
1922
1062
  * @param client GitVerse клиент
1923
1063
  */
1924
1064
  constructor(client: GitVerseClient);
1925
1065
  /**
1926
- * Создает форк репозитория
1927
- * @param owner Владелец исходного репозитория
1928
- * @param repo Название исходного репозитория
1929
- * @param params Параметры создания форка
1930
- * @returns Информация о созданном форке
1931
- */
1932
- create(owner: string, repo: string, params?: CreateForkParams, options?: RequestOptions): Promise<Repository>;
1933
- }
1934
- /**
1935
- * API для работы с низкоуровневыми Git-объектами
1066
+ * Returns a list of self-hosted runners for an organization
1067
+ * @param org The organization name
1068
+ * @param queryParams Параметры запроса
1069
+ * @param options Опции запроса
1070
+ * @returns ActionRunners
1071
+ */
1072
+ listOrgRunners(org: string, queryParams?: {
1073
+ page?: number
1074
+ per_page?: number
1075
+ }, options?: {
1076
+ signal?: AbortSignal
1077
+ }): Promise<ActionRunners>;
1078
+ /**
1079
+ * Creates a registration token for an organization runner
1080
+ * @param org The organization name
1081
+ * @param options Опции запроса
1082
+ * @returns RegistrationToken
1083
+ */
1084
+ createOrgRunnerRegistrationToken(org: string, options?: {
1085
+ signal?: AbortSignal
1086
+ }): Promise<RegistrationToken>;
1087
+ /**
1088
+ * Gets a specific self-hosted runner for an organization
1089
+ * @param org The organization name
1090
+ * @param runner_id Unique identifier of the runner
1091
+ * @param options Опции запроса
1092
+ * @returns ActionRunner
1093
+ */
1094
+ getOrgRunner(org: string, runner_id: number, options?: {
1095
+ signal?: AbortSignal
1096
+ }): Promise<ActionRunner>;
1097
+ /**
1098
+ * Deletes a specific self-hosted runner from the organization
1099
+ * @param org The organization name
1100
+ * @param runner_id Unique identifier of the runner
1101
+ * @param options Опции запроса
1102
+ * @returns void
1103
+ */
1104
+ deleteOrgRunner(org: string, runner_id: number, options?: {
1105
+ signal?: AbortSignal
1106
+ }): Promise<void>;
1107
+ /**
1108
+ * List organization variables
1109
+ * @param org The organization name
1110
+ * @param queryParams Параметры запроса
1111
+ * @param options Опции запроса
1112
+ * @returns VariableList
1113
+ */
1114
+ listOrgVariables(org: string, queryParams?: {
1115
+ per_page?: number
1116
+ page?: number
1117
+ }, options?: {
1118
+ signal?: AbortSignal
1119
+ }): Promise<VariableList>;
1120
+ /**
1121
+ * Create an organization variable
1122
+ * @param org The organization name
1123
+ * @param params The request body
1124
+ * @param options Опции запроса
1125
+ * @returns void
1126
+ */
1127
+ createOrgVariable(org: string, params: CreateVariableParams, options?: {
1128
+ signal?: AbortSignal
1129
+ }): Promise<void>;
1130
+ /**
1131
+ * Get an organization variable
1132
+ * @param org The organization name
1133
+ * @param name The name of the variable
1134
+ * @param options Опции запроса
1135
+ * @returns Variable
1136
+ */
1137
+ getOrgVariable(org: string, name: string, options?: {
1138
+ signal?: AbortSignal
1139
+ }): Promise<Variable>;
1140
+ /**
1141
+ * Update an organization variable
1142
+ * @param org The organization name
1143
+ * @param name The name of the variable
1144
+ * @param params The request body
1145
+ * @param options Опции запроса
1146
+ * @returns void
1147
+ */
1148
+ updateOrgVariable(org: string, name: string, params: CreateVariableParams, options?: {
1149
+ signal?: AbortSignal
1150
+ }): Promise<void>;
1151
+ /**
1152
+ * Delete an organization variable
1153
+ * @param org The organization name
1154
+ * @param name The name of the variable
1155
+ * @param options Опции запроса
1156
+ * @returns void
1157
+ */
1158
+ deleteOrgVariable(org: string, name: string, options?: {
1159
+ signal?: AbortSignal
1160
+ }): Promise<void>;
1161
+ /**
1162
+ * Returns a list of artifacts in the repository
1163
+ * @param owner Owner of the repository (owner or organization name)
1164
+ * @param repo Name of the repository without the .git extension
1165
+ * @param queryParams Параметры запроса
1166
+ * @param options Опции запроса
1167
+ * @returns ActionArtifactList
1168
+ */
1169
+ listArtifacts(owner: string, repo: string, queryParams?: {
1170
+ page?: number
1171
+ per_page?: number
1172
+ name?: string
1173
+ }, options?: {
1174
+ signal?: AbortSignal
1175
+ }): Promise<ActionArtifactList>;
1176
+ /**
1177
+ * Returns a specific artifact from the repository
1178
+ * @param owner Owner of the repository (owner or organization name)
1179
+ * @param repo Name of the repository without the .git extension
1180
+ * @param artifact_id Identifier of the artifact
1181
+ * @param options Опции запроса
1182
+ * @returns ActionArtifact
1183
+ */
1184
+ getArtifact(owner: string, repo: string, artifact_id: string, options?: {
1185
+ signal?: AbortSignal
1186
+ }): Promise<ActionArtifact>;
1187
+ /**
1188
+ * Deletes a specific artifact
1189
+ * @param owner Owner of the repository (owner or organization name)
1190
+ * @param repo Name of the repository without the .git extension
1191
+ * @param artifact_id Identifier of the artifact
1192
+ * @param options Опции запроса
1193
+ * @returns void
1194
+ */
1195
+ deleteArtifact(owner: string, repo: string, artifact_id: string, options?: {
1196
+ signal?: AbortSignal
1197
+ }): Promise<void>;
1198
+ /**
1199
+ * Downloads a specific artifact as a ZIP archive
1200
+ * @param owner Owner of the repository (owner or organization name)
1201
+ * @param repo Name of the repository without the .git extension
1202
+ * @param artifact_id Identifier of the artifact
1203
+ * @param options Опции запроса
1204
+ * @returns void
1205
+ */
1206
+ downloadArtifact(owner: string, repo: string, artifact_id: string, options?: {
1207
+ signal?: AbortSignal
1208
+ }): Promise<void>;
1209
+ /**
1210
+ * Downloads the artifact ZIP archive directly
1211
+ * @param owner Owner of the repository (owner or organization name)
1212
+ * @param repo Name of the repository without the .git extension
1213
+ * @param artifact_id Identifier of the artifact
1214
+ * @param options Опции запроса
1215
+ * @returns string
1216
+ */
1217
+ downloadArtifactRaw(owner: string, repo: string, artifact_id: string, options?: {
1218
+ signal?: AbortSignal
1219
+ }): Promise<string>;
1220
+ /**
1221
+ * Returns a list of runners for the repository
1222
+ * @param owner Owner of the repository (owner or organization name)
1223
+ * @param repo Name of the repository without the .git extension
1224
+ * @param queryParams Параметры запроса
1225
+ * @param options Опции запроса
1226
+ * @returns ActionRunners
1227
+ */
1228
+ listRepoRunners(owner: string, repo: string, queryParams?: {
1229
+ page?: number
1230
+ per_page?: number
1231
+ }, options?: {
1232
+ signal?: AbortSignal
1233
+ }): Promise<ActionRunners>;
1234
+ /**
1235
+ * Creates a registration token for a repository runner
1236
+ * @param owner Owner of the repository (owner or organization name)
1237
+ * @param repo Name of the repository without the .git extension
1238
+ * @param options Опции запроса
1239
+ * @returns RegistrationToken
1240
+ */
1241
+ createRepoRunnerRegistrationToken(owner: string, repo: string, options?: {
1242
+ signal?: AbortSignal
1243
+ }): Promise<RegistrationToken>;
1244
+ /**
1245
+ * Gets a specific runner for a repository
1246
+ * @param owner Owner of the repository (owner or organization name)
1247
+ * @param repo Name of the repository without the .git extension
1248
+ * @param runner_id Unique identifier of the runner
1249
+ * @param options Опции запроса
1250
+ * @returns ActionRunner
1251
+ */
1252
+ getRepoRunner(owner: string, repo: string, runner_id: number, options?: {
1253
+ signal?: AbortSignal
1254
+ }): Promise<ActionRunner>;
1255
+ /**
1256
+ * Deletes a specific self-hosted runner from the repository
1257
+ * @param owner Owner of the repository (owner or organization name)
1258
+ * @param repo Name of the repository without the .git extension
1259
+ * @param runner_id Unique identifier of the runner
1260
+ * @param options Опции запроса
1261
+ * @returns void
1262
+ */
1263
+ deleteRepoRunner(owner: string, repo: string, runner_id: number, options?: {
1264
+ signal?: AbortSignal
1265
+ }): Promise<void>;
1266
+ /**
1267
+ * List repository variables
1268
+ * @param owner The account owner of the repository
1269
+ * @param repo The name of the repository
1270
+ * @param queryParams Параметры запроса
1271
+ * @param options Опции запроса
1272
+ * @returns VariableList
1273
+ */
1274
+ listRepoVariables(owner: string, repo: string, queryParams?: {
1275
+ per_page?: number
1276
+ page?: number
1277
+ }, options?: {
1278
+ signal?: AbortSignal
1279
+ }): Promise<VariableList>;
1280
+ /**
1281
+ * Create a repository variable
1282
+ * @param owner The account owner of the repository
1283
+ * @param repo The name of the repository
1284
+ * @param params The request body
1285
+ * @param options Опции запроса
1286
+ * @returns void
1287
+ */
1288
+ createRepoVariable(owner: string, repo: string, params: CreateVariableParams, options?: {
1289
+ signal?: AbortSignal
1290
+ }): Promise<void>;
1291
+ /**
1292
+ * Get a repository variable
1293
+ * @param owner The account owner of the repository
1294
+ * @param repo The name of the repository
1295
+ * @param name The name of the variable
1296
+ * @param options Опции запроса
1297
+ * @returns Variable
1298
+ */
1299
+ getRepoVariable(owner: string, repo: string, name: string, options?: {
1300
+ signal?: AbortSignal
1301
+ }): Promise<Variable>;
1302
+ /**
1303
+ * Update a repository variable
1304
+ * @param owner The account owner of the repository
1305
+ * @param repo The name of the repository
1306
+ * @param name The name of the variable
1307
+ * @param params The request body
1308
+ * @param options Опции запроса
1309
+ * @returns void
1310
+ */
1311
+ updateRepoVariable(owner: string, repo: string, name: string, params: CreateVariableParams, options?: {
1312
+ signal?: AbortSignal
1313
+ }): Promise<void>;
1314
+ /**
1315
+ * Delete a repository variable
1316
+ * @param owner The account owner of the repository
1317
+ * @param repo The name of the repository
1318
+ * @param name The name of the variable
1319
+ * @param options Опции запроса
1320
+ * @returns void
1321
+ */
1322
+ deleteRepoVariable(owner: string, repo: string, name: string, options?: {
1323
+ signal?: AbortSignal
1324
+ }): Promise<void>;
1325
+ /**
1326
+ * Get workflow_dispatch parameters
1327
+ * @param owner Repository owner owner
1328
+ * @param repo Repository name
1329
+ * @param workflow Workflow name filter
1330
+ * @param queryParams Параметры запроса
1331
+ * @param options Опции запроса
1332
+ * @returns WorkflowDispatchInputList
1333
+ */
1334
+ getWorkflowDispatchInputs(owner: string, repo: string, workflow: string, queryParams?: {
1335
+ branch?: string
1336
+ tag?: string
1337
+ }, options?: {
1338
+ signal?: AbortSignal
1339
+ }): Promise<WorkflowDispatchInputList>;
1340
+ /**
1341
+ * Trigger workflow_dispatch
1342
+ * @param owner Repository owner owner
1343
+ * @param repo Repository name
1344
+ * @param workflow Workflow filename
1345
+ * @param params Output parameters for workflow dispatch. Key - input parameter name, Value - input parameter value
1346
+ * @param queryParams Параметры запроса
1347
+ * @param options Опции запроса
1348
+ * @returns void
1349
+ */
1350
+ dispatchWorkflow(owner: string, repo: string, workflow: string, params: unknown, queryParams?: {
1351
+ branch?: string
1352
+ tag?: string
1353
+ }, options?: {
1354
+ signal?: AbortSignal
1355
+ }): Promise<void>;
1356
+ }
1357
+ /**
1358
+ * API для работы с email адресами
1936
1359
  */
1937
- declare class GitApi {
1360
+ declare class EmailsApi {
1938
1361
  private client;
1939
1362
  /**
1940
- * Создает новый экземпляр API для работы с Git-объектами
1363
+ * Создает новый экземпляр API
1941
1364
  * @param client GitVerse клиент
1942
1365
  */
1943
1366
  constructor(client: GitVerseClient);
1944
1367
  /**
1945
- * Создает новую Git-ссылку (reference)
1946
- * @param owner Владелец репозитория
1947
- * @param repo Название репозитория
1948
- * @param params Параметры создания ссылки
1949
- * @returns Созданная ссылка
1368
+ * Get user email addresses
1369
+ * @param queryParams Параметры запроса
1370
+ * @param options Опции запроса
1371
+ * @returns Email[]
1950
1372
  */
1951
- createRef(owner: string, repo: string, params: CreateRefParams, options?: RequestOptions): Promise<Reference>;
1373
+ list(queryParams?: {
1374
+ page?: number
1375
+ per_page?: number
1376
+ }, options?: {
1377
+ signal?: AbortSignal
1378
+ }): Promise<Email[]>;
1952
1379
  /**
1953
- * Создает новое Git-дерево
1954
- * @param owner Владелец репозитория
1955
- * @param repo Название репозитория
1956
- * @param params Параметры создания дерева
1957
- * @returns Созданное дерево
1380
+ * Add email addresses
1381
+ * @param params Email addresses to add
1382
+ * @param options Опции запроса
1383
+ * @returns Email[]
1958
1384
  */
1959
- createTree(owner: string, repo: string, params: CreateTreeParams, options?: RequestOptions): Promise<Tree>;
1385
+ create(params: CreateEmailParams, options?: {
1386
+ signal?: AbortSignal
1387
+ }): Promise<Email[]>;
1960
1388
  /**
1961
- * Получает Git-дерево по SHA
1962
- * @param owner Владелец репозитория
1963
- * @param repo Название репозитория
1964
- * @param sha SHA-хеш дерева
1965
- * @returns Информация о дереве
1389
+ * Delete email addresses
1390
+ * @param params Email addresses to delete
1391
+ * @param options Опции запроса
1392
+ * @returns void
1966
1393
  */
1967
- getTree(owner: string, repo: string, sha: string, options?: RequestOptions): Promise<Tree>;
1394
+ delete(params: DeleteEmailParams, options?: {
1395
+ signal?: AbortSignal
1396
+ }): Promise<void>;
1968
1397
  }
1969
1398
  /**
1970
- * Класс для работы с issues репозитория
1399
+ * API для работы с issues
1971
1400
  */
1972
1401
  declare class IssuesApi {
1973
1402
  private client;
1974
- constructor(client: GitVerseClient);
1975
- /**
1976
- * Получить список issues репозитория
1977
- * @param {string} owner - Владелец репозитория
1978
- * @param {string} repo - Название репозитория
1979
- * @param {IssueState} [state] - Фильтр по состоянию issue
1980
- * @returns {Promise<Issue[]>} Массив issues
1981
- */
1982
- list(owner: string, repo: string, state?: IssueState, options?: RequestOptions): Promise<Issue[]>;
1983
1403
  /**
1984
- * Получить конкретный issue
1985
- * @param {string} owner - Владелец репозитория
1986
- * @param {string} repo - Название репозитория
1987
- * @param {number} index - Номер issue
1988
- * @returns {Promise<Issue>} Информация об issue
1989
- */
1990
- get(owner: string, repo: string, index: number, options?: RequestOptions): Promise<Issue>;
1991
- /**
1992
- * Получить комментарий по ID
1993
- * @param {string} owner - Владелец репозитория
1994
- * @param {string} repo - Название репозитория
1995
- * @param {number} id - ID комментария
1996
- * @returns {Promise<Comment>} Информация о комментарии
1997
- */
1998
- getComment(owner: string, repo: string, id: number, options?: RequestOptions): Promise<Comment>;
1999
- /**
2000
- * Получить список комментариев к issue
2001
- * @param {string} owner - Владелец репозитория
2002
- * @param {string} repo - Название репозитория
2003
- * @param {number} index - Номер issue
2004
- * @returns {Promise<Comment[]>} Массив комментариев
2005
- */
2006
- getComments(owner: string, repo: string, index: number, options?: RequestOptions): Promise<Comment[]>;
2007
- /**
2008
- * Получить список меток issue
2009
- * @param {string} owner - Владелец репозитория
2010
- * @param {string} repo - Название репозитория
2011
- * @param {number} index - Номер issue
2012
- * @returns {Promise<Label[]>} Массив меток
1404
+ * Создает новый экземпляр API
1405
+ * @param client GitVerse клиент
2013
1406
  */
2014
- getLabels(owner: string, repo: string, index: number, options?: RequestOptions): Promise<Label[]>;
1407
+ constructor(client: GitVerseClient);
2015
1408
  /**
2016
- * Получить timeline событий issue
2017
- * @param {string} owner - Владелец репозитория
2018
- * @param {string} repo - Название репозитория
2019
- * @param {number} index - Номер issue
2020
- * @returns {Promise<TimelineEvent[]>} Массив событий timeline
2021
- */
2022
- getTimeline(owner: string, repo: string, index: number, options?: RequestOptions): Promise<TimelineEvent[]>;
1409
+ * List issues and pull requests
1410
+ * @param owner Repository owner
1411
+ * @param repo Repository name
1412
+ * @param queryParams Параметры запроса
1413
+ * @param options Опции запроса
1414
+ * @returns Issue[]
1415
+ */
1416
+ list(owner: string, repo: string, queryParams?: {
1417
+ state?: string
1418
+ q?: string
1419
+ labels?: string
1420
+ milestones?: string
1421
+ created_by?: string
1422
+ assigned_by?: string
1423
+ mentioned_by?: string
1424
+ type?: string
1425
+ since?: string
1426
+ before?: string
1427
+ page?: number
1428
+ per_page?: number
1429
+ }, options?: {
1430
+ signal?: AbortSignal
1431
+ }): Promise<Issue[]>;
1432
+ /**
1433
+ * Get a specific issue comment
1434
+ * @param owner Repository owner
1435
+ * @param repo Repository name
1436
+ * @param id Comment ID
1437
+ * @param options Опции запроса
1438
+ * @returns Comment
1439
+ */
1440
+ getComment(owner: string, repo: string, id: number, options?: {
1441
+ signal?: AbortSignal
1442
+ }): Promise<Comment>;
1443
+ /**
1444
+ * Get issue or pull request
1445
+ * @param owner Repository owner
1446
+ * @param repo Repository name
1447
+ * @param index Issue or pull request index in the repository
1448
+ * @param options Опции запроса
1449
+ * @returns Issue
1450
+ */
1451
+ get(owner: string, repo: string, index: number, options?: {
1452
+ signal?: AbortSignal
1453
+ }): Promise<Issue>;
1454
+ /**
1455
+ * List issue comments
1456
+ * @param owner Repository owner
1457
+ * @param repo Repository name
1458
+ * @param index Issue or pull request index in the repository
1459
+ * @param queryParams Параметры запроса
1460
+ * @param options Опции запроса
1461
+ * @returns Comment[]
1462
+ */
1463
+ listComments(owner: string, repo: string, index: number, queryParams?: {
1464
+ since?: string
1465
+ before?: string
1466
+ }, options?: {
1467
+ signal?: AbortSignal
1468
+ }): Promise<Comment[]>;
1469
+ /**
1470
+ * List issue labels
1471
+ * @param owner Repository owner
1472
+ * @param repo Repository name
1473
+ * @param index Issue index in the repository
1474
+ * @param options Опции запроса
1475
+ * @returns Label[]
1476
+ */
1477
+ listLabels(owner: string, repo: string, index: number, options?: {
1478
+ signal?: AbortSignal
1479
+ }): Promise<Label[]>;
1480
+ /**
1481
+ * List issue comments and timeline events
1482
+ * @param owner Repository owner
1483
+ * @param repo Repository name
1484
+ * @param index Issue index in the repository
1485
+ * @param queryParams Параметры запроса
1486
+ * @param options Опции запроса
1487
+ * @returns TimelineComment[]
1488
+ */
1489
+ listTimeline(owner: string, repo: string, index: number, queryParams?: {
1490
+ page?: number
1491
+ per_page?: number
1492
+ since?: string
1493
+ before?: string
1494
+ }, options?: {
1495
+ signal?: AbortSignal
1496
+ }): Promise<TimelineComment[]>;
2023
1497
  }
2024
1498
  /**
2025
1499
  * API для работы с организациями
@@ -2027,186 +1501,276 @@ declare class IssuesApi {
2027
1501
  declare class OrganizationsApi {
2028
1502
  private client;
2029
1503
  /**
2030
- * Создает новый экземпляр API для работы с организациями
1504
+ * Создает новый экземпляр API
2031
1505
  * @param client GitVerse клиент
2032
1506
  */
2033
1507
  constructor(client: GitVerseClient);
2034
1508
  /**
2035
- * Проверяет членство пользователя в организации
2036
- * @param org Название организации
2037
- * @param username Имя пользователя
2038
- * @returns true если пользователь является членом организации, false если нет
2039
- */
2040
- checkMembership(org: string, username: string, options?: RequestOptions): Promise<boolean>;
2041
- }
2042
- /**
2043
- * API для работы с запросами на слияние (пулл-реквестами)
1509
+ * Gets a list of organization secrets
1510
+ * @param org Organization name
1511
+ * @param queryParams Параметры запроса
1512
+ * @param options Опции запроса
1513
+ * @returns SecretList
1514
+ */
1515
+ listOrgSecrets(org: string, queryParams?: {
1516
+ per_page?: string
1517
+ page?: string
1518
+ }, options?: {
1519
+ signal?: AbortSignal
1520
+ }): Promise<SecretList>;
1521
+ /**
1522
+ * Gets the metadata of a secret (without value) in an organization
1523
+ * @param org Organization name
1524
+ * @param secretname Secret name
1525
+ * @param options Опции запроса
1526
+ * @returns Secret
1527
+ */
1528
+ getOrgSecret(org: string, secretname: string, options?: {
1529
+ signal?: AbortSignal
1530
+ }): Promise<Secret>;
1531
+ /**
1532
+ * Creates or updates a secret in the organization, without encryption
1533
+ * @param org Organization name
1534
+ * @param secretname Secret name
1535
+ * @param queryParams Параметры запроса
1536
+ * @param options Опции запроса
1537
+ * @returns Secret
1538
+ */
1539
+ createOrUpdateOrgSecret(org: string, secretname: string, queryParams?: {
1540
+ encrypted_value: string
1541
+ }, options?: {
1542
+ signal?: AbortSignal
1543
+ }): Promise<Secret>;
1544
+ /**
1545
+ * Removes a secret from an organization
1546
+ * @param org Organization name
1547
+ * @param secretname Secret name
1548
+ * @param options Опции запроса
1549
+ * @returns void
1550
+ */
1551
+ deleteOrgSecret(org: string, secretname: string, options?: {
1552
+ signal?: AbortSignal
1553
+ }): Promise<void>;
1554
+ /**
1555
+ * Check organization membership for a user
1556
+ * @param org The organization name.
1557
+ * @param username Username of the member to check.
1558
+ * @param options Опции запроса
1559
+ * @returns void
1560
+ */
1561
+ isMember(org: string, username: string, options?: {
1562
+ signal?: AbortSignal
1563
+ }): Promise<void>;
1564
+ }
1565
+ /**
1566
+ * API для работы с запросами на слияние
2044
1567
  */
2045
1568
  declare class PullsApi {
2046
1569
  private client;
2047
1570
  /**
2048
- * Создает новый экземпляр API для работы с пулл-реквестами
1571
+ * Создает новый экземпляр API
2049
1572
  * @param client GitVerse клиент
2050
1573
  */
2051
1574
  constructor(client: GitVerseClient);
2052
1575
  /**
2053
- * Создает новый запрос на слияние в репозитории
2054
- * @param owner Владелец репозитория
2055
- * @param repo Название репозитория
2056
- * @param params Параметры создания запроса на слияние
2057
- * @returns Информация о созданном запросе на слияние
2058
- */
2059
- create(owner: string, repo: string, params: CreatePullRequestParams, options?: RequestOptions): Promise<PullRequest>;
2060
- /**
2061
- * Получает запрос на слияние по его номеру
2062
- * @param owner Владелец репозитория
2063
- * @param repo Название репозитория
2064
- * @param number Номер запроса на слияние
2065
- * @returns Информация о запросе на слияние
2066
- */
2067
- get(owner: string, repo: string, number: number, options?: RequestOptions): Promise<PullRequest>;
2068
- /**
2069
- * Получает список запросов на слияние в репозитории
2070
- * @param owner Владелец репозитория
2071
- * @param repo Название репозитория
2072
- * @param state Состояние запросов на слияние (открытые/закрытые/все)
2073
- * @returns Список запросов на слияние
2074
- */
2075
- list(owner: string, repo: string, params?: ListPullRequestsParams, options?: RequestOptions): Promise<PullRequest[]>;
2076
- /**
2077
- * Обновляет pull request
2078
- * @param owner Владелец репозитория
2079
- * @param repo Название репозитория
2080
- * @param number Номер pull request
2081
- * @param params Параметры для обновления
2082
- * @returns Обновлённый pull request
2083
- */
2084
- update(owner: string, repo: string, number: number, params: UpdatePullRequestParams, options?: RequestOptions): Promise<PullRequest>;
2085
- /**
2086
- * Получает список файлов в pull request
2087
- * @param owner Владелец репозитория
2088
- * @param repo Название репозитория
2089
- * @param number Номер pull request
2090
- * @returns Список изменённых файлов
2091
- */
2092
- getFiles(owner: string, repo: string, number: number, options?: RequestOptions): Promise<PullRequestFile[]>;
2093
- /**
2094
- * Обновляет ветку pull request с базовой веткой
2095
- * @param owner Владелец репозитория
2096
- * @param repo Название репозитория
2097
- * @param number Номер pull request
2098
- * @returns Результат операции
2099
- */
2100
- updateBranch(owner: string, repo: string, number: number, options?: RequestOptions): Promise<void>;
2101
- /**
2102
- * Получает список коммитов в pull request
2103
- * @param owner Владелец репозитория
2104
- * @param repo Название репозитория
2105
- * @param number Номер pull request
2106
- * @returns Список коммитов
2107
- */
2108
- getCommits(owner: string, repo: string, number: number, options?: RequestOptions): Promise<Commit[]>;
2109
- /**
2110
- * Проверяет, был ли pull request влит в базовую ветку
2111
- * @param owner Владелец репозитория
2112
- * @param repo Название репозитория
2113
- * @param number Номер pull request
2114
- * @returns true если PR был влит, false если не был влит или не существует
2115
- */
2116
- checkIfMerged(owner: string, repo: string, number: number, options?: RequestOptions): Promise<boolean>;
2117
- }
2118
- /**
2119
- * API для работы с релизами репозитория
1576
+ * Create a pull request
1577
+ * @param owner Repository owner
1578
+ * @param repo Repository name
1579
+ * @param params Pull request creation parameters
1580
+ * @param options Опции запроса
1581
+ * @returns PullRequest
1582
+ */
1583
+ create(owner: string, repo: string, params: CreatePullRequestParams, options?: {
1584
+ signal?: AbortSignal
1585
+ }): Promise<PullRequest>;
1586
+ /**
1587
+ * List pull request commits
1588
+ * @param owner Owner of the repository (username or organization)
1589
+ * @param repo Name of the repository without .git extension
1590
+ * @param pull_number The number that identifies the pull request
1591
+ * @param queryParams Параметры запроса
1592
+ * @param options Опции запроса
1593
+ * @returns Commit[]
1594
+ */
1595
+ listCommits(owner: string, repo: string, pull_number: number, queryParams?: {
1596
+ page?: number
1597
+ per_page?: number
1598
+ }, options?: {
1599
+ signal?: AbortSignal
1600
+ }): Promise<Commit[]>;
1601
+ /**
1602
+ * List pull request files
1603
+ * @param owner Owner of the repository (username or organization)
1604
+ * @param repo Name of the repository without .git extension
1605
+ * @param pull_number The number that identifies the pull request
1606
+ * @param queryParams Параметры запроса
1607
+ * @param options Опции запроса
1608
+ * @returns CommitFiles[]
1609
+ */
1610
+ listFiles(owner: string, repo: string, pull_number: number, queryParams?: {
1611
+ page?: number
1612
+ per_page?: number
1613
+ }, options?: {
1614
+ signal?: AbortSignal
1615
+ }): Promise<CommitFiles[]>;
1616
+ /**
1617
+ * Checks if a pull request has been merged into the base branch.
1618
+ * @param owner Owner of the repository (username or organization)
1619
+ * @param repo Name of the repository without .git extension
1620
+ * @param pull_number The number that identifies the pull request
1621
+ * @param options Опции запроса
1622
+ * @returns void
1623
+ */
1624
+ isMerged(owner: string, repo: string, pull_number: number, options?: {
1625
+ signal?: AbortSignal
1626
+ }): Promise<void>;
1627
+ /**
1628
+ * Update a pull request branch
1629
+ * @param owner Repository owner
1630
+ * @param repo Repository name
1631
+ * @param pull_number The number that identifies the pull request
1632
+ * @param params Expected head SHA
1633
+ * @param options Опции запроса
1634
+ * @returns UpdateBranchResponse
1635
+ */
1636
+ updateBranch(owner: string, repo: string, pull_number: number, params: UpdateBranchParams, options?: {
1637
+ signal?: AbortSignal
1638
+ }): Promise<UpdateBranchResponse>;
1639
+ }
1640
+ /**
1641
+ * API для работы с релизами
2120
1642
  */
2121
1643
  declare class ReleasesApi {
2122
1644
  private client;
2123
1645
  /**
2124
- * Создает новый экземпляр API для работы с релизами
1646
+ * Создает новый экземпляр API
2125
1647
  * @param client GitVerse клиент
2126
1648
  */
2127
1649
  constructor(client: GitVerseClient);
2128
1650
  /**
2129
- * Получает список релизов репозитория
2130
- * @param owner Владелец репозитория
2131
- * @param repo Название репозитория
2132
- * @returns Список релизов
2133
- */
2134
- list(owner: string, repo: string, options?: RequestOptions): Promise<Release[]>;
2135
- /**
2136
- * Создает новый релиз
2137
- * @param owner Владелец репозитория
2138
- * @param repo Название репозитория
2139
- * @param params Параметры создания релиза
2140
- * @returns Созданный релиз
2141
- */
2142
- create(owner: string, repo: string, params: CreateReleaseParams, options?: RequestOptions): Promise<Release>;
2143
- /**
2144
- * Получает релиз по тегу
2145
- * @param owner Владелец репозитория
2146
- * @param repo Название репозитория
2147
- * @param tag Тег релиза
2148
- * @returns Информация о релизе
2149
- */
2150
- getByTag(owner: string, repo: string, tag: string, options?: RequestOptions): Promise<Release>;
2151
- /**
2152
- * Удаляет релиз по тегу
2153
- * @param owner Владелец репозитория
2154
- * @param repo Название репозитория
2155
- * @param tag Тег релиза
2156
- * @returns Результат операции
2157
- */
2158
- deleteByTag(owner: string, repo: string, tag: string, options?: RequestOptions): Promise<void>;
2159
- /**
2160
- * Получает релиз по ID
2161
- * @param owner Владелец репозитория
2162
- * @param repo Название репозитория
2163
- * @param releaseId ID релиза
2164
- * @returns Информация о релизе
2165
- */
2166
- get(owner: string, repo: string, releaseId: number, options?: RequestOptions): Promise<Release>;
2167
- /**
2168
- * Удаляет релиз по ID
2169
- * @param owner Владелец репозитория
2170
- * @param repo Название репозитория
2171
- * @param releaseId ID релиза
2172
- * @returns Результат операции
2173
- */
2174
- delete(owner: string, repo: string, releaseId: number, options?: RequestOptions): Promise<void>;
2175
- /**
2176
- * Обновляет релиз
2177
- * @param owner Владелец репозитория
2178
- * @param repo Название репозитория
2179
- * @param releaseId ID релиза
2180
- * @param params Параметры обновления релиза
2181
- * @returns Обновлённый релиз
2182
- */
2183
- update(owner: string, repo: string, releaseId: number, params: UpdateReleaseParams, options?: RequestOptions): Promise<Release>;
2184
- /**
2185
- * Получает список ассетов релиза
2186
- * @param owner Владелец репозитория
2187
- * @param repo Название репозитория
2188
- * @param releaseId ID релиза
2189
- * @returns Список ассетов
2190
- */
2191
- getAssets(owner: string, repo: string, releaseId: number, options?: RequestOptions): Promise<Asset[]>;
2192
- /**
2193
- * Загружает ассет к релизу
2194
- * @param owner Владелец репозитория
2195
- * @param repo Название репозитория
2196
- * @param releaseId ID релиза
2197
- * @param params Параметры загрузки ассета
2198
- * @returns Загруженный ассет
2199
- */
2200
- uploadAsset(owner: string, repo: string, releaseId: number, params: UploadAssetParams, options?: RequestOptions): Promise<Asset>;
1651
+ * Returns a list of releases
1652
+ * @param owner Owner of the repository (owner or organization name)
1653
+ * @param repo Name of the repository without the .git extension
1654
+ * @param queryParams Параметры запроса
1655
+ * @param options Опции запроса
1656
+ * @returns Release[]
1657
+ */
1658
+ list(owner: string, repo: string, queryParams?: {
1659
+ page?: number
1660
+ per_page?: number
1661
+ draft?: boolean
1662
+ pre_release?: boolean
1663
+ }, options?: {
1664
+ signal?: AbortSignal
1665
+ }): Promise<Release[]>;
1666
+ /**
1667
+ * Create a release
1668
+ * @param owner Owner of the repository (owner or organization name)
1669
+ * @param repo Name of the repository without the .git extension
1670
+ * @param params Parameters for creating the release
1671
+ * @param options Опции запроса
1672
+ * @returns Release
1673
+ */
1674
+ create(owner: string, repo: string, params: CreateReleaseParams, options?: {
1675
+ signal?: AbortSignal
1676
+ }): Promise<Release>;
1677
+ /**
1678
+ * Gets a release by its tag name
1679
+ * @param owner Owner of the repository (owner or organization name)
1680
+ * @param repo Name of the repository without the .git extension
1681
+ * @param tag Tag name of the release to retrieve (e.g., 'v1.0.0')
1682
+ * @param options Опции запроса
1683
+ * @returns Release
1684
+ */
1685
+ getByTag(owner: string, repo: string, tag: string, options?: {
1686
+ signal?: AbortSignal
1687
+ }): Promise<Release>;
1688
+ /**
1689
+ * Deletes a release by its tag name
1690
+ * @param owner Owner of the repository (owner or organization name)
1691
+ * @param repo Name of the repository without the .git extension
1692
+ * @param tag Tag name of the release to delete (e.g., 'v1.0.0')
1693
+ * @param options Опции запроса
1694
+ * @returns void
1695
+ */
1696
+ deleteByTag(owner: string, repo: string, tag: string, options?: {
1697
+ signal?: AbortSignal
1698
+ }): Promise<void>;
1699
+ /**
1700
+ * Return a release
1701
+ * @param owner Owner of the repository (owner or organization name)
1702
+ * @param repo Name of the repository without the .git extension
1703
+ * @param release_id Identifier of the release
1704
+ * @param options Опции запроса
1705
+ * @returns Release
1706
+ */
1707
+ get(owner: string, repo: string, release_id: string, options?: {
1708
+ signal?: AbortSignal
1709
+ }): Promise<Release>;
1710
+ /**
1711
+ * Edit a release
1712
+ * @param owner Owner of the repository (owner or organization name)
1713
+ * @param repo Name of the repository without the .git extension
1714
+ * @param release_id Identifier of the release
1715
+ * @param params Parameters for editing the release
1716
+ * @param options Опции запроса
1717
+ * @returns Release
1718
+ */
1719
+ update(owner: string, repo: string, release_id: string, params: UpdateReleaseParams, options?: {
1720
+ signal?: AbortSignal
1721
+ }): Promise<Release>;
1722
+ /**
1723
+ * Delete a release
1724
+ * @param owner Owner of the repository (owner or organization name)
1725
+ * @param repo Name of the repository without the .git extension
1726
+ * @param release_id Identifier of the release
1727
+ * @param options Опции запроса
1728
+ * @returns void
1729
+ */
1730
+ delete(owner: string, repo: string, release_id: string, options?: {
1731
+ signal?: AbortSignal
1732
+ }): Promise<void>;
1733
+ /**
1734
+ * Returns a list of assets (files) for a release
1735
+ * @param owner Owner of the repository (owner or organization name)
1736
+ * @param repo Name of the repository without the .git extension
1737
+ * @param release_id Identifier of the release
1738
+ * @param queryParams Параметры запроса
1739
+ * @param options Опции запроса
1740
+ * @returns Attachment[]
1741
+ */
1742
+ listAssets(owner: string, repo: string, release_id: string, queryParams?: {
1743
+ page?: number
1744
+ per_page?: number
1745
+ }, options?: {
1746
+ signal?: AbortSignal
1747
+ }): Promise<Attachment[]>;
1748
+ /**
1749
+ * Upload asset to release
1750
+ * @param owner Owner of the repository (owner or organization name)
1751
+ * @param repo Name of the repository without the .git extension
1752
+ * @param release_id Identifier of the release
1753
+ * @param queryParams Параметры запроса
1754
+ * @param options Опции запроса
1755
+ * @returns Attachment
1756
+ */
1757
+ uploadAsset(owner: string, repo: string, release_id: string, queryParams?: {
1758
+ name: string
1759
+ }, options?: {
1760
+ signal?: AbortSignal
1761
+ }): Promise<Attachment>;
2201
1762
  /**
2202
- * Удаляет ассет релиза
2203
- * @param owner Владелец репозитория
2204
- * @param repo Название репозитория
2205
- * @param releaseId ID релиза
2206
- * @param assetId ID ассета
2207
- * @returns Результат операции
1763
+ * Delete asset from release
1764
+ * @param owner Owner of the repository (owner or organization name)
1765
+ * @param repo Name of the repository without the .git extension
1766
+ * @param release_id Identifier of the release
1767
+ * @param asset_id Identifier of the asset
1768
+ * @param options Опции запроса
1769
+ * @returns void
2208
1770
  */
2209
- deleteAsset(owner: string, repo: string, releaseId: number, assetId: number, options?: RequestOptions): Promise<void>;
1771
+ deleteAsset(owner: string, repo: string, release_id: string, asset_id: string, options?: {
1772
+ signal?: AbortSignal
1773
+ }): Promise<void>;
2210
1774
  }
2211
1775
  /**
2212
1776
  * API для работы с репозиториями
@@ -2214,131 +1778,459 @@ declare class ReleasesApi {
2214
1778
  declare class RepositoriesApi {
2215
1779
  private client;
2216
1780
  /**
2217
- * Создает новый экземпляр API для работы с репозиториями
1781
+ * Создает новый экземпляр API
2218
1782
  * @param client GitVerse клиент
2219
1783
  */
2220
1784
  constructor(client: GitVerseClient);
2221
1785
  /**
2222
- * Получает информацию о репозитории
2223
- * @param owner Владелец репозитория
2224
- * @param repo Название репозитория
2225
- * @returns Данные о репозитории
2226
- */
2227
- get(owner: string, repo: string, options?: RequestOptions): Promise<Repository>;
2228
- /**
2229
- * Удаляет репозиторий
2230
- * @param owner Владелец репозитория
2231
- * @param repo Название репозитория
2232
- * @returns Результат операции
2233
- */
2234
- delete(owner: string, repo: string, options?: RequestOptions): Promise<void>;
2235
- /**
2236
- * Обновляет информацию о репозитории
2237
- * @param owner Владелец репозитория
2238
- * @param repo Название репозитория
2239
- * @param params Параметры для обновления
2240
- * @returns Обновлённый репозиторий
2241
- */
2242
- update(owner: string, repo: string, params: UpdateRepositoryParams, options?: RequestOptions): Promise<Repository>;
2243
- /**
2244
- * Сравнивает две ветки или коммита
2245
- * @param owner Владелец репозитория
2246
- * @param repo Название репозитория
2247
- * @param basehead Строка в формате "base...head" для сравнения
2248
- * @returns Результат сравнения с коммитами и изменёнными файлами
2249
- */
2250
- compare(owner: string, repo: string, basehead: string, options?: RequestOptions): Promise<CompareResponse>;
2251
- /**
2252
- * Получает информацию о языках программирования в репозитории
2253
- * @param owner Владелец репозитория
2254
- * @param repo Название репозитория
2255
- * @returns Объект с языками и количеством байт кода
2256
- */
2257
- getLanguages(owner: string, repo: string, options?: RequestOptions): Promise<LanguagesResponse>;
2258
- /**
2259
- * Получает список репозиториев авторизованного пользователя
2260
- * @returns Массив репозиториев пользователя
2261
- */
2262
- listForAuthenticatedUser(options?: RequestOptions): Promise<Repository[]>;
2263
- /**
2264
- * Создает новый репозиторий для авторизованного пользователя
2265
- * @param params Параметры создания репозитория
2266
- * @returns Созданный репозиторий
2267
- */
2268
- create(params: CreateRepositoryParams, options?: RequestOptions): Promise<Repository>;
2269
- }
2270
- /**
2271
- * Класс для работы со звездами репозиториев
1786
+ * Get repository details
1787
+ * @param owner Repository owner
1788
+ * @param repo Repository name
1789
+ * @param options Опции запроса
1790
+ * @returns Repository
1791
+ */
1792
+ get(owner: string, repo: string, options?: {
1793
+ signal?: AbortSignal
1794
+ }): Promise<Repository>;
1795
+ /**
1796
+ * Update repository
1797
+ * @param owner Repository owner
1798
+ * @param repo Repository name
1799
+ * @param params New repository settings
1800
+ * @param options Опции запроса
1801
+ * @returns Repository
1802
+ */
1803
+ update(owner: string, repo: string, params: UpdateRepositoryParams, options?: {
1804
+ signal?: AbortSignal
1805
+ }): Promise<Repository>;
1806
+ /**
1807
+ * Delete repository
1808
+ * @param owner Repository owner
1809
+ * @param repo Repository name
1810
+ * @param options Опции запроса
1811
+ * @returns void
1812
+ */
1813
+ delete(owner: string, repo: string, options?: {
1814
+ signal?: AbortSignal
1815
+ }): Promise<void>;
1816
+ /**
1817
+ * Gets a list of repository secrets
1818
+ * @param owner Owner name
1819
+ * @param repo Repository name
1820
+ * @param queryParams Параметры запроса
1821
+ * @param options Опции запроса
1822
+ * @returns SecretList
1823
+ */
1824
+ listRepoSecrets(owner: string, repo: string, queryParams?: {
1825
+ per_page?: string
1826
+ page?: string
1827
+ }, options?: {
1828
+ signal?: AbortSignal
1829
+ }): Promise<SecretList>;
1830
+ /**
1831
+ * Gets secrets metadata (without values) in repositories.
1832
+ * @param owner Owner name
1833
+ * @param repo Repository name
1834
+ * @param secretname Secret name
1835
+ * @param options Опции запроса
1836
+ * @returns Secret
1837
+ */
1838
+ getRepoSecret(owner: string, repo: string, secretname: string, options?: {
1839
+ signal?: AbortSignal
1840
+ }): Promise<Secret>;
1841
+ /**
1842
+ * Creates or updates a secret in the repository, without encryption
1843
+ * @param owner Owner name
1844
+ * @param repo Repository name
1845
+ * @param secretname Secret name
1846
+ * @param queryParams Параметры запроса
1847
+ * @param options Опции запроса
1848
+ * @returns Secret
1849
+ */
1850
+ createOrUpdateRepoSecret(owner: string, repo: string, secretname: string, queryParams?: {
1851
+ encrypted_value: string
1852
+ }, options?: {
1853
+ signal?: AbortSignal
1854
+ }): Promise<Secret>;
1855
+ /**
1856
+ * Removes a secret from the repository
1857
+ * @param owner Owner name
1858
+ * @param repo Repository name
1859
+ * @param secretname Secret name
1860
+ * @param options Опции запроса
1861
+ * @returns void
1862
+ */
1863
+ deleteRepoSecret(owner: string, repo: string, secretname: string, options?: {
1864
+ signal?: AbortSignal
1865
+ }): Promise<void>;
1866
+ /**
1867
+ * List repository branches
1868
+ * @param owner Owner of the repository (username or organization)
1869
+ * @param repo Name of the repository without .git extension
1870
+ * @param queryParams Параметры запроса
1871
+ * @param options Опции запроса
1872
+ * @returns Branch[]
1873
+ */
1874
+ listBranches(owner: string, repo: string, queryParams?: {
1875
+ page?: number
1876
+ per_page?: number
1877
+ q?: string
1878
+ }, options?: {
1879
+ signal?: AbortSignal
1880
+ }): Promise<Branch[]>;
1881
+ /**
1882
+ * List repository collaborators
1883
+ * @param owner Repository owner
1884
+ * @param repo Repository name
1885
+ * @param queryParams Параметры запроса
1886
+ * @param options Опции запроса
1887
+ * @returns Collaborator[]
1888
+ */
1889
+ listCollaborators(owner: string, repo: string, queryParams?: {
1890
+ affiliation?: string
1891
+ permission?: string
1892
+ page?: number
1893
+ per_page?: number
1894
+ }, options?: {
1895
+ signal?: AbortSignal
1896
+ }): Promise<Collaborator[]>;
1897
+ /**
1898
+ * Add or update repository collaborator
1899
+ * @param owner Repository owner
1900
+ * @param repo Repository name
1901
+ * @param collaborator Username of the collaborator to add or update
1902
+ * @param params Collaborator permission settings
1903
+ * @param options Опции запроса
1904
+ * @returns CollaboratorInvitation
1905
+ */
1906
+ addCollaborator(owner: string, repo: string, collaborator: string, params: AddCollaboratorParams, options?: {
1907
+ signal?: AbortSignal
1908
+ }): Promise<CollaboratorInvitation>;
1909
+ /**
1910
+ * Retrieve a list of repository commits
1911
+ * @param owner Owner of the repository (owner or organization name)
1912
+ * @param repo Name of the repository without the .git extension
1913
+ * @param queryParams Параметры запроса
1914
+ * @param options Опции запроса
1915
+ * @returns Commit[]
1916
+ */
1917
+ listCommits(owner: string, repo: string, queryParams?: {
1918
+ page?: number
1919
+ per_page?: number
1920
+ sha?: string
1921
+ path?: string
1922
+ not?: string
1923
+ author?: string
1924
+ committer?: string
1925
+ since?: string
1926
+ until?: string
1927
+ }, options?: {
1928
+ signal?: AbortSignal
1929
+ }): Promise<Commit[]>;
1930
+ /**
1931
+ * Retrieve commit information
1932
+ * @param owner Owner of the repository (owner or organization name)
1933
+ * @param repo Name of the repository without the .git extension
1934
+ * @param sha Commit hash
1935
+ * @param options Опции запроса
1936
+ * @returns Commit
1937
+ */
1938
+ getCommit(owner: string, repo: string, sha: string, options?: {
1939
+ signal?: AbortSignal
1940
+ }): Promise<Commit>;
1941
+ /**
1942
+ * Compare two branches/tags/commits
1943
+ * @param owner Owner of the repository (username or organization name)
1944
+ * @param repo Name of the repository without the .git extension
1945
+ * @param basehead References to compare in BASE...HEAD format (e.g., main...feature)
1946
+ * @param queryParams Параметры запроса
1947
+ * @param options Опции запроса
1948
+ * @returns CompareResponse
1949
+ */
1950
+ compareCommits(owner: string, repo: string, basehead: string, queryParams?: {
1951
+ page?: number
1952
+ per_page?: number
1953
+ }, options?: {
1954
+ signal?: AbortSignal
1955
+ }): Promise<CompareResponse>;
1956
+ /**
1957
+ * Get file or directory contents
1958
+ * @param owner Repository owner
1959
+ * @param repo Repository name
1960
+ * @param filepath Path to file or directory in the repository
1961
+ * @param queryParams Параметры запроса
1962
+ * @param options Опции запроса
1963
+ * @returns Record<string, unknown>
1964
+ */
1965
+ getContent(owner: string, repo: string, filepath: string, queryParams?: {
1966
+ ref?: string
1967
+ scope?: string
1968
+ }, options?: {
1969
+ signal?: AbortSignal
1970
+ }): Promise<Record<string, unknown>>;
1971
+ /**
1972
+ * Create or update file in repository
1973
+ * @param owner Repository owner
1974
+ * @param repo Repository name
1975
+ * @param filepath Path to the file in the repository
1976
+ * @param params File creation or update options, including base64 content, branch, message, etc.
1977
+ * @param options Опции запроса
1978
+ * @returns FileCreationResponse
1979
+ */
1980
+ createOrUpdateFile(owner: string, repo: string, filepath: string, params: CreateFileParams, options?: {
1981
+ signal?: AbortSignal
1982
+ }): Promise<FileCreationResponse>;
1983
+ /**
1984
+ * Delete file in repository
1985
+ * @param owner Repository owner
1986
+ * @param repo Repository name
1987
+ * @param filepath Path to the file in the repository
1988
+ * @param params File deletion options, including SHA, branch, commit message, etc.
1989
+ * @param options Опции запроса
1990
+ * @returns FileDeleteResponse
1991
+ */
1992
+ deleteFile(owner: string, repo: string, filepath: string, params: DeleteFileParams, options?: {
1993
+ signal?: AbortSignal
1994
+ }): Promise<FileDeleteResponse>;
1995
+ /**
1996
+ * Fork a repository
1997
+ * @param owner Owner of the base repository
1998
+ * @param repo Name of the base repository
1999
+ * @param params Fork options, including target name and organization
2000
+ * @param options Опции запроса
2001
+ * @returns Repository
2002
+ */
2003
+ createFork(owner: string, repo: string, params: CreateForkParams, options?: {
2004
+ signal?: AbortSignal
2005
+ }): Promise<Repository>;
2006
+ /**
2007
+ * Create a Git commit
2008
+ * @param owner Owner of the repository (owner or organization name)
2009
+ * @param repo Name of the repository without the .git extension
2010
+ * @param params Parameters for creating the commit
2011
+ * @param options Опции запроса
2012
+ * @returns Commit
2013
+ */
2014
+ createCommit(owner: string, repo: string, params: CreateCommitParams, options?: {
2015
+ signal?: AbortSignal
2016
+ }): Promise<Commit>;
2017
+ /**
2018
+ * Create a Git reference
2019
+ * @param owner Owner of the repository (owner or organization name)
2020
+ * @param repo Name of the repository without the .git extension
2021
+ * @param params Parameters for creating the reference
2022
+ * @param options Опции запроса
2023
+ * @returns Reference
2024
+ */
2025
+ createRef(owner: string, repo: string, params: CreateReferenceParams, options?: {
2026
+ signal?: AbortSignal
2027
+ }): Promise<Reference>;
2028
+ /**
2029
+ * Creates new Git tree
2030
+ * @param owner owner
2031
+ * @param repo repo
2032
+ * @param params Параметры создания дерева
2033
+ * @param options Опции запроса
2034
+ * @returns RepoTree
2035
+ */
2036
+ createTree(owner: string, repo: string, params: CreateTreeParams, options?: {
2037
+ signal?: AbortSignal
2038
+ }): Promise<RepoTree>;
2039
+ /**
2040
+ * Get repository tree by SHA
2041
+ * @param owner Repository owner
2042
+ * @param repo Repository name
2043
+ * @param sha Commit SHA to list tree for
2044
+ * @param queryParams Параметры запроса
2045
+ * @param options Опции запроса
2046
+ * @returns GitTreeResponse
2047
+ */
2048
+ getTree(owner: string, repo: string, sha: string, queryParams?: {
2049
+ page?: number
2050
+ per_page?: number
2051
+ recursive?: boolean
2052
+ }, options?: {
2053
+ signal?: AbortSignal
2054
+ }): Promise<GitTreeResponse>;
2055
+ /**
2056
+ * Get repository languages
2057
+ * @param owner Repository owner
2058
+ * @param repo Repository name
2059
+ * @param options Опции запроса
2060
+ * @returns Record<string, unknown>
2061
+ */
2062
+ listLanguages(owner: string, repo: string, options?: {
2063
+ signal?: AbortSignal
2064
+ }): Promise<Record<string, unknown>>;
2065
+ /**
2066
+ * List pull requests
2067
+ * @param owner Repository owner
2068
+ * @param repo Repository name
2069
+ * @param queryParams Параметры запроса
2070
+ * @param options Опции запроса
2071
+ * @returns PullRequest[]
2072
+ */
2073
+ listPulls(owner: string, repo: string, queryParams?: {
2074
+ state?: string
2075
+ head?: string
2076
+ base?: string
2077
+ sort?: string
2078
+ direction?: string
2079
+ page?: number
2080
+ per_page?: number
2081
+ }, options?: {
2082
+ signal?: AbortSignal
2083
+ }): Promise<PullRequest[]>;
2084
+ /**
2085
+ * Pull request details.
2086
+ * @param owner Repository owner
2087
+ * @param repo Repository name
2088
+ * @param pull_number The number that identifies the pull request..
2089
+ * @param options Опции запроса
2090
+ * @returns PullRequest
2091
+ */
2092
+ getPull(owner: string, repo: string, pull_number: number, options?: {
2093
+ signal?: AbortSignal
2094
+ }): Promise<PullRequest>;
2095
+ /**
2096
+ * Update a pull request.
2097
+ * @param owner Repository owner
2098
+ * @param repo Repository name
2099
+ * @param pull_number The number that identifies the pull request.
2100
+ * @param params Pull request update parameters
2101
+ * @param options Опции запроса
2102
+ * @returns PullRequest
2103
+ */
2104
+ updatePull(owner: string, repo: string, pull_number: number, params: UpdatePullRequestParams, options?: {
2105
+ signal?: AbortSignal
2106
+ }): Promise<PullRequest>;
2107
+ /**
2108
+ * Get authenticated user repositories
2109
+ * @param queryParams Параметры запроса
2110
+ * @param options Опции запроса
2111
+ * @returns Repository[]
2112
+ */
2113
+ listForAuthenticatedUser(queryParams?: {
2114
+ page?: number
2115
+ per_page?: number
2116
+ }, options?: {
2117
+ signal?: AbortSignal
2118
+ }): Promise<Repository[]>;
2119
+ /**
2120
+ * Create repository
2121
+ * @param params Repository creation options
2122
+ * @param options Опции запроса
2123
+ * @returns Repository
2124
+ */
2125
+ createForAuthenticatedUser(params: CreateRepositoryParams, options?: {
2126
+ signal?: AbortSignal
2127
+ }): Promise<Repository>;
2128
+ }
2129
+ /**
2130
+ * API для работы со звёздами (избранное)
2272
2131
  */
2273
2132
  declare class StarsApi {
2274
2133
  private client;
2275
- constructor(client: GitVerseClient);
2276
- /**
2277
- * Получить список репозиториев, отмеченных звездой
2278
- * @returns {Promise<Repository[]>} Массив репозиториев, отмеченных звездой
2279
- */
2280
- list(options?: RequestOptions): Promise<Repository[]>;
2281
- /**
2282
- * Добавить звезду репозиторию
2283
- * @param {string} owner - Владелец репозитория
2284
- * @param {string} repo - Название репозитория
2285
- * @returns {Promise<void>} Результат операции (204 No Content при успехе)
2286
- */
2287
- add(owner: string, repo: string, options?: RequestOptions): Promise<void>;
2288
2134
  /**
2289
- * Проверить, отмечен ли репозиторий звездой
2290
- * @param {string} owner - Владелец репозитория
2291
- * @param {string} repo - Название репозитория
2292
- * @returns {Promise<boolean>} true если отмечен звездой, false если нет
2135
+ * Создает новый экземпляр API
2136
+ * @param client GitVerse клиент
2293
2137
  */
2294
- check(owner: string, repo: string, options?: RequestOptions): Promise<boolean>;
2138
+ constructor(client: GitVerseClient);
2295
2139
  /**
2296
- * Убрать звезду с репозитория
2297
- * @param {string} owner - Владелец репозитория
2298
- * @param {string} repo - Название репозитория
2299
- * @returns {Promise<void>} Результат операции
2300
- */
2301
- remove(owner: string, repo: string, options?: RequestOptions): Promise<void>;
2302
- }
2303
- /**
2304
- * API для работы с командами организации
2140
+ * Get list of favorites repositories of authenticated user
2141
+ * @param queryParams Параметры запроса
2142
+ * @param options Опции запроса
2143
+ * @returns Repository[]
2144
+ */
2145
+ list(queryParams?: {
2146
+ page?: number
2147
+ per_page?: number
2148
+ sort?: string
2149
+ direction?: string
2150
+ }, options?: {
2151
+ signal?: AbortSignal
2152
+ }): Promise<Repository[]>;
2153
+ /**
2154
+ * Check if repository is in favorites
2155
+ * @param owner Repository owner
2156
+ * @param repo Repository name
2157
+ * @param options Опции запроса
2158
+ * @returns void
2159
+ */
2160
+ isStarred(owner: string, repo: string, options?: {
2161
+ signal?: AbortSignal
2162
+ }): Promise<void>;
2163
+ /**
2164
+ * Add repository to favorites
2165
+ * @param owner Repository owner
2166
+ * @param repo Repository name
2167
+ * @param options Опции запроса
2168
+ * @returns void
2169
+ */
2170
+ star(owner: string, repo: string, options?: {
2171
+ signal?: AbortSignal
2172
+ }): Promise<void>;
2173
+ /**
2174
+ * Remove repository from favorites
2175
+ * @param owner Repository owner
2176
+ * @param repo Repository name
2177
+ * @param options Опции запроса
2178
+ * @returns void
2179
+ */
2180
+ unstar(owner: string, repo: string, options?: {
2181
+ signal?: AbortSignal
2182
+ }): Promise<void>;
2183
+ }
2184
+ /**
2185
+ * API для работы с командами
2305
2186
  */
2306
2187
  declare class TeamsApi {
2307
2188
  private client;
2308
2189
  /**
2309
- * Создает новый экземпляр API для работы с командами
2190
+ * Создает новый экземпляр API
2310
2191
  * @param client GitVerse клиент
2311
2192
  */
2312
2193
  constructor(client: GitVerseClient);
2313
2194
  /**
2314
- * Получает список команд организации
2315
- * @param org Название организации
2316
- * @returns Список команд
2317
- */
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[]>;
2326
- /**
2327
- * Получает список членов команды
2328
- * @param org Название организации
2329
- * @param team Название команды
2330
- * @returns Список членов команды
2331
- */
2332
- getMembers(org: string, team: string, options?: RequestOptions): Promise<User2[]>;
2333
- /**
2334
- * Добавляет репозиторий к команде
2335
- * @param org Название организации
2336
- * @param team Название команды
2337
- * @param owner Владелец репозитория
2338
- * @param repo Название репозитория
2339
- * @returns Результат операции
2340
- */
2341
- addRepository(org: string, team: string, owner: string, repo: string, options?: RequestOptions): Promise<void>;
2195
+ * Lists teams
2196
+ * @param org The organization name.
2197
+ * @param queryParams Параметры запроса
2198
+ * @param options Опции запроса
2199
+ * @returns Team[]
2200
+ */
2201
+ list(org: string, queryParams?: {
2202
+ page?: number
2203
+ per_page?: number
2204
+ }, options?: {
2205
+ signal?: AbortSignal
2206
+ }): Promise<Team[]>;
2207
+ /**
2208
+ * Lists team members
2209
+ * @param org The organization name.
2210
+ * @param team The slug of the team name.
2211
+ * @param queryParams Параметры запроса
2212
+ * @param options Опции запроса
2213
+ * @returns User[]
2214
+ */
2215
+ listMembers(org: string, team: string, queryParams?: {
2216
+ page?: number
2217
+ per_page?: number
2218
+ }, options?: {
2219
+ signal?: AbortSignal
2220
+ }): Promise<User2[]>;
2221
+ /**
2222
+ * Add or update team repository permissions
2223
+ * @param org The organization name.
2224
+ * @param team The slug of the team name.
2225
+ * @param owner Repository owner
2226
+ * @param repo Repository name
2227
+ * @param params New repository permissions
2228
+ * @param options Опции запроса
2229
+ * @returns void
2230
+ */
2231
+ updateRepo(org: string, team: string, owner: string, repo: string, params: TeamRepoPermissions, options?: {
2232
+ signal?: AbortSignal
2233
+ }): Promise<void>;
2342
2234
  }
2343
2235
  /**
2344
2236
  * API для работы с пользователями
@@ -2346,117 +2238,137 @@ declare class TeamsApi {
2346
2238
  declare class UsersApi {
2347
2239
  private client;
2348
2240
  /**
2349
- * Создает новый экземпляр API для работы с пользователями
2241
+ * Создает новый экземпляр API
2350
2242
  * @param client GitVerse клиент
2351
2243
  */
2352
2244
  constructor(client: GitVerseClient);
2353
2245
  /**
2354
- * Получает информацию о текущем авторизованном пользователе
2355
- * @returns Данные о пользователе
2246
+ * Search users by query
2247
+ * @param queryParams Параметры запроса
2248
+ * @param options Опции запроса
2249
+ * @returns UserPrefsArray
2250
+ */
2251
+ list(queryParams?: {
2252
+ q: string
2253
+ sort?: string
2254
+ order?: string
2255
+ page?: number
2256
+ per_page?: number
2257
+ }, options?: {
2258
+ signal?: AbortSignal
2259
+ }): Promise<UserPrefsArray>;
2260
+ /**
2261
+ * Get authenticated user information
2262
+ * @param options Опции запроса
2263
+ * @returns User
2264
+ */
2265
+ getAuthenticated(options?: {
2266
+ signal?: AbortSignal
2267
+ }): Promise<User2>;
2268
+ /**
2269
+ * Get user information by ID
2270
+ * @param account_id Account_id parameter
2271
+ * @param options Опции запроса
2272
+ * @returns User
2356
2273
  */
2357
- getCurrent(options?: RequestOptions): Promise<CurrentUser>;
2274
+ get(account_id: number, options?: {
2275
+ signal?: AbortSignal
2276
+ }): Promise<User2>;
2358
2277
  /**
2359
- * Получает информацию о пользователе по имени пользователя
2360
- * @param username Имя пользователя
2361
- * @returns Данные о пользователе
2278
+ * Get user information by username
2279
+ * @param username User name
2280
+ * @param options Опции запроса
2281
+ * @returns User
2362
2282
  */
2363
- getByUsername(username: string, options?: RequestOptions): Promise<User2>;
2283
+ getByUsername(username: string, options?: {
2284
+ signal?: AbortSignal
2285
+ }): Promise<User2>;
2364
2286
  }
2365
2287
  /**
2366
- * Класс GitVerse, объединяющий все API методы
2288
+ * Перечисления для GitVerse API
2289
+ * @generated Сгенерировано автоматически из OpenAPI спецификации
2290
+ */
2291
+ declare const ContentType: {
2292
+ readonly Dir: "dir"
2293
+ readonly File: "file"
2294
+ };
2295
+ type ContentType = (typeof ContentType)[keyof typeof ContentType];
2296
+ declare const IssueState: {
2297
+ readonly Closed: "closed"
2298
+ readonly Open: "open"
2299
+ };
2300
+ type IssueState = (typeof IssueState)[keyof typeof IssueState];
2301
+ declare const PullRequestSortCriteria: {
2302
+ readonly Created: "created"
2303
+ readonly LongRunning: "long-running"
2304
+ readonly Popularity: "popularity"
2305
+ readonly Updated: "updated"
2306
+ };
2307
+ type PullRequestSortCriteria = (typeof PullRequestSortCriteria)[keyof typeof PullRequestSortCriteria];
2308
+ declare const PullRequestSortDirection: {
2309
+ readonly Asc: "asc"
2310
+ readonly Desc: "desc"
2311
+ };
2312
+ type PullRequestSortDirection = (typeof PullRequestSortDirection)[keyof typeof PullRequestSortDirection];
2313
+ declare const PullRequestState: {
2314
+ readonly Closed: "closed"
2315
+ readonly Open: "open"
2316
+ };
2317
+ type PullRequestState = (typeof PullRequestState)[keyof typeof PullRequestState];
2318
+ declare const PullRequestStateFilter: {
2319
+ readonly All: "all"
2320
+ readonly Closed: "closed"
2321
+ readonly Open: "open"
2322
+ };
2323
+ type PullRequestStateFilter = (typeof PullRequestStateFilter)[keyof typeof PullRequestStateFilter];
2324
+ declare const UserType: {
2325
+ readonly Organization: "Organization"
2326
+ readonly User: "User"
2327
+ };
2328
+ type UserType = (typeof UserType)[keyof typeof UserType];
2329
+ declare const VisibilityType: {
2330
+ readonly Limited: "limited"
2331
+ readonly Private: "private"
2332
+ readonly Public: "public"
2333
+ };
2334
+ type VisibilityType = (typeof VisibilityType)[keyof typeof VisibilityType];
2335
+ /**
2336
+ * Главный класс для работы с GitVerse API
2367
2337
  *
2368
- * @remarks
2369
- * Для лучшего tree-shaking рекомендуется импортировать напрямую из соответствующих модулей:
2338
+ * @example
2370
2339
  * ```typescript
2371
- * // Вместо
2372
- * import { GitVerse } from 'gitverse-api-sdk';
2373
- * const client = new GitVerse();
2340
+ * const gitverse = new GitVerse({ token: "your-token" });
2341
+ * const user = await gitverse.users.getCurrent();');
2342
+ * ```
2374
2343
  *
2375
- * // Рекомендуется использовать
2376
- * import { RepositoriesApi, GitVerseClient } from 'gitverse-api-sdk/api/repositories';
2377
- * const client = new GitVerseClient();
2378
- * const reposApi = new RepositoriesApi(client);
2344
+ * @remarks
2345
+ * Для оптимизации размера бандла можно импортировать модули напрямую:
2346
+ * ```typescript
2347
+ * import { UsersApi, GitVerseClient } from "gitverse-api-sdk/api/users";
2379
2348
  * ```
2380
2349
  */
2381
2350
  declare class GitVerse {
2382
- /**
2383
- * Клиент API
2384
- */
2385
2351
  readonly client: GitVerseClient;
2386
- /**
2387
- * API для работы с пользователями
2388
- */
2389
- readonly users: UsersApi;
2390
- /**
2391
- * API для работы с репозиториями
2392
- */
2352
+ readonly actions: ActionsApi;
2353
+ readonly orgs: OrganizationsApi;
2354
+ readonly teams: TeamsApi;
2393
2355
  readonly repos: RepositoriesApi;
2394
- /**
2395
- * API для работы с содержимым репозитория
2396
- */
2397
- readonly contents: ContentsApi;
2398
- /**
2399
- * API для работы с запросами на слияние
2400
- */
2356
+ readonly issues: IssuesApi;
2401
2357
  readonly pulls: PullsApi;
2402
- /**
2403
- * API для работы с форками
2404
- */
2405
- readonly forks: ForksApi;
2406
- /**
2407
- * API для работы с email адресами
2408
- */
2358
+ readonly releases: ReleasesApi;
2359
+ readonly users: UsersApi;
2409
2360
  readonly emails: EmailsApi;
2410
- /**
2411
- * API для работы с issues
2412
- */
2413
- readonly issues: IssuesApi;
2414
- /**
2415
- * API для работы со звездами
2416
- */
2417
2361
  readonly stars: StarsApi;
2418
2362
  /**
2419
- * API для работы с ветками
2420
- */
2421
- readonly branches: BranchesApi;
2422
- /**
2423
- * API для работы с коммитами
2424
- */
2425
- readonly commits: CommitsApi;
2426
- /**
2427
- * API для работы с коллабораторами
2428
- */
2429
- readonly collaborators: CollaboratorsApi;
2430
- /**
2431
- * API для работы с организациями
2432
- */
2433
- readonly organizations: OrganizationsApi;
2434
- /**
2435
- * API для работы с командами
2436
- */
2437
- readonly teams: TeamsApi;
2438
- /**
2439
- * API для работы с релизами
2440
- */
2441
- readonly releases: ReleasesApi;
2442
- /**
2443
- * API для работы с Git-объектами
2444
- */
2445
- readonly git: GitApi;
2446
- /**
2447
- * API для работы с GitHub Actions
2448
- */
2449
- readonly actions: ActionsApi;
2450
- /**
2451
- * Создает новый экземпляр GitVerse
2363
+ * Создает новый экземпляр GitVerse API клиента
2452
2364
  * @param config Конфигурация клиента
2453
2365
  */
2454
2366
  constructor(config?: GitVerseClientConfig);
2455
2367
  /**
2456
2368
  * Устанавливает токен авторизации
2457
2369
  * @param token Токен доступа
2458
- * @returns Текущий экземпляр GitVerse
2370
+ * @returns this для цепочки вызовов
2459
2371
  */
2460
2372
  setToken(token: string): GitVerse;
2461
2373
  }
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 };
2374
+ export { WorkflowDispatchInputList, WorkflowDispatchInput, VisibilityType, VariableList, Variable, UserType, UserPublicInfo, UserPrefsArray, User2 as User, UpdateRepositoryParams, UpdateReleaseParams, UpdatePullRequestParams, UpdateBranchResponse, UpdateBranchParams, TreeMeta, TreeItem, TreeEntry, TrackedTime, TimelineComment, TeamRepoPermissions, Team, SecretList, Secret, RequestOptions, RepositoryMeta, Repository, RepoTree, RepoPublicInfo, RepoCommit, Release, RegistrationToken, Reference, RateLimitInfo, RateLimitError, PullRequestStateFilter, PullRequestState, PullRequestSortDirection, PullRequestSortCriteria, PullRequestMeta, PullRequest, Permissions, PaginationParams, PRBranchInfo, Milestone, Label, IssueState, Issue, GitVerseApiError, GitVerse, GitTreeResponse, GitObject, GitEntry, FileLinksResponse, FileDeleteResponse, FileCreationResponse, FileCommitResponse, Email, DeleteFileParams, DeleteEmailParams, CreateVariableParams, CreateTreeParams, CreateRepositoryParams, CreateReleaseParams, CreateReferenceParams, CreatePullRequestParams, CreateForkParams, CreateFileParams, CreateEmailParams, CreateCommitParams, ContentsResponse, ContentType, CompareResponse, CommitVerification, CommitUserParams, CommitUser, CommitStats, CommitMeta, CommitFiles, Commit, Comment, CollaboratorInvitation, Collaborator, Branch, Attachment, ApiVersionWarning, ApiVersionInfo, ApiResponseMetadata, ApiError, AddCollaboratorParams, ActionWorkflowRun, ActionRunners, ActionRunnerLabel, ActionRunner, ActionArtifactList, ActionArtifact };