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
@@ -1,26 +1,7 @@
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
5
  /**
25
6
  * Опции для выполнения HTTP-запросов
26
7
  */
@@ -34,303 +15,565 @@ interface RequestOptions {
34
15
  */
35
16
  signal?: AbortSignal;
36
17
  }
37
- /**
38
- * Интерфейс пользователя
39
- */
40
- interface User2 {
41
- /** Уникальный идентификатор пользователя */
42
- id: number;
43
- /** Имя пользователя */
18
+ interface AddCollaboratorParams {
19
+ /** enum: read,write,admin */
20
+ permission?: string;
21
+ }
22
+ interface CommitUserParams {
23
+ date?: string;
24
+ email: string;
25
+ name: string;
26
+ }
27
+ interface CreateCommitParams {
28
+ author?: CommitUserParams;
29
+ committer?: CommitUserParams;
30
+ message: string;
31
+ parents?: string[];
32
+ tree: string;
33
+ }
34
+ interface CreateFileParams {
35
+ /** ветка на которой будет базировать коммит, если пустая то будет использована ветка по умолчанию */
36
+ branch?: string;
37
+ /** content must be base64 encoded */
38
+ content?: string;
39
+ /** SHA string `json:"sha" binding:"Required"`
40
+ from_path (optional) is the path of the original file which will be moved/renamed to the path in the URL */
41
+ from_path?: string;
42
+ /** Сообщение для описания коммита, если пустое то будет использовано сообщение по умолчанию */
43
+ message?: string;
44
+ /** новая ветка которая будет отведена от указанной выше ветки и вней будет создан новый коммит */
45
+ new_branch?: string;
46
+ /** sha is the SHA for the file that already exists */
47
+ sha?: string;
48
+ /** Подписывать ли коммит */
49
+ signoff?: boolean;
50
+ }
51
+ interface CreateReferenceParams {
52
+ ref?: string;
53
+ sha?: string;
54
+ }
55
+ interface CreateRepositoryParams {
56
+ auto_init?: boolean;
57
+ description?: string;
58
+ gitignores?: string[];
59
+ is_template?: boolean;
44
60
  name?: string;
45
- /** Логин пользователя */
46
- login: string;
47
- /** Полное имя пользователя */
48
- full_name?: string;
49
- /** Тип аккаунта: пользователь или организация */
50
- type: UserType;
51
- /** Биография пользователя */
61
+ private?: boolean;
62
+ }
63
+ interface TreeItem {
64
+ content?: string;
65
+ mode?: string;
66
+ path?: string;
67
+ sha?: string;
68
+ type?: string;
69
+ }
70
+ interface CreateTreeParams {
71
+ base_tree?: string;
72
+ tree?: TreeItem[];
73
+ }
74
+ interface DeleteFileParams {
75
+ /** ветка на которой будет базировать коммит, если пустая то будет использована ветка по умолчанию */
76
+ branch?: string;
77
+ /** Сообщение для описания коммита, если пустое то будет использовано сообщение по умолчанию */
78
+ message?: string;
79
+ /** новая ветка которая будет отведена от указанной выше ветки и вней будет создан новый коммит */
80
+ new_branch?: string;
81
+ /** sha is the SHA for the file that already exists */
82
+ sha?: string;
83
+ /** Подписывать ли коммит */
84
+ signoff?: boolean;
85
+ }
86
+ interface CreateForkParams {
87
+ /** Описание */
88
+ description?: string;
89
+ /** Имя форкнутого репозитория */
90
+ name?: string;
91
+ /** Название организации, если форкаем в организацию */
92
+ organization?: string;
93
+ }
94
+ interface UpdateRepositoryParams {
95
+ allow_auto_merge?: boolean;
96
+ allow_merge?: boolean;
97
+ allow_rebase?: boolean;
98
+ allow_rebase_merge?: boolean;
99
+ allow_squash_merge?: boolean;
100
+ allow_update_branch?: boolean;
101
+ archived?: boolean;
102
+ autodetect_manual_merge?: boolean;
103
+ default_allow_maintainer_edit?: boolean;
104
+ default_branch?: string;
105
+ default_merge_style?: string;
106
+ delete_branch_on_merge?: boolean;
107
+ description?: string;
108
+ homepage?: string;
109
+ ignore_whitespace?: boolean;
110
+ is_template?: boolean;
111
+ /** обработаны */
112
+ name?: string;
113
+ private?: boolean;
114
+ }
115
+ interface UpdatePullRequestParams {
116
+ /** ветка в которую происходит слияние */
117
+ base?: string;
118
+ /** тело запроса */
119
+ body?: string;
120
+ /** могут ли мэйнтейнеры изменять PR */
121
+ maintainer_can_modify?: boolean;
122
+ /** статус запроса */
123
+ state?: string;
124
+ /** заголовок запроса */
125
+ title?: string;
126
+ }
127
+ interface CommitMeta {
128
+ created?: string;
129
+ html_url?: string;
130
+ sha?: string;
131
+ url?: string;
132
+ }
133
+ interface Branch {
134
+ commit?: CommitMeta;
135
+ name?: string;
136
+ protected?: boolean;
137
+ }
138
+ interface Permissions {
139
+ admin?: boolean;
140
+ pull?: boolean;
141
+ push?: boolean;
142
+ }
143
+ interface Collaborator {
144
+ /** Адрес аватарки */
145
+ avatar_url?: string;
146
+ /** О себе */
52
147
  bio?: string;
53
- /** Электронная почта пользователя */
148
+ /** Почта */
54
149
  email?: string;
55
- /** URL аватара пользователя */
56
- avatar_url: string;
57
- /** Веб-ссылка на профиль пользователя */
58
- html_url: string;
59
- /** API-ссылка на профиль пользователя */
60
- url?: string;
61
- /** API-ссылка на список подписчиков пользователя */
150
+ /** Url для получения подписчиков пользователя */
62
151
  followers_url?: string;
63
- /** API-ссылка на репозитории пользователя */
64
- repos_url?: string;
65
- /** API-ссылка на организации пользователя */
152
+ /** Url для получения подписок пользователя */
153
+ following_url?: string;
154
+ /** Полное имя */
155
+ full_name?: string;
156
+ /** Адрес страницы пользователя */
157
+ html_url?: string;
158
+ /** Идентификатор */
159
+ id?: number;
160
+ /** Логин пользователя */
161
+ login?: string;
162
+ /** Имя пользователя */
163
+ name?: string;
164
+ /** Url для получения организаций пользователя */
66
165
  organizations_url?: string;
67
- /** Права администратора */
68
- site_admin: boolean;
69
- /** Местоположение пользователя */
70
- location?: string;
71
- /** Верификация аккаунта */
72
- is_verified?: boolean;
73
- /** Настройки приватности профиля */
74
- visibility?: VisibilityType;
75
- /** Персональный веб-сайт */
166
+ /** Полномочия */
167
+ permissions?: Permissions;
168
+ /** Url для получения репозиториев пользователя */
169
+ repos_url?: string;
170
+ /** Есть ли права админа */
171
+ site_admin?: boolean;
172
+ /** Url для получения репозиториев пользователя, которые были добавлены в избранное */
173
+ starred_url?: string;
174
+ /** Url для получения подписок пользователя */
175
+ subscriptions_url?: string;
176
+ /** Тип пользователя */
177
+ type?: string;
178
+ /** Url для получения пользователя */
179
+ url?: string;
180
+ /** Вебсайт */
76
181
  website?: string;
77
- /** Количество подписчиков */
182
+ }
183
+ interface UserPublicInfo {
184
+ avatar_url?: string;
185
+ followers_url?: string;
186
+ following_url?: string;
187
+ html_url?: string;
188
+ id?: number;
189
+ login?: string;
190
+ organizations_url?: string;
191
+ repos_url?: string;
192
+ site_admin?: boolean;
193
+ type?: string;
194
+ url?: string;
195
+ }
196
+ interface RepoPublicInfo {
197
+ contents_url?: string;
198
+ description?: string;
199
+ fork?: boolean;
200
+ forks_url?: string;
201
+ full_name?: string;
202
+ html_url?: string;
203
+ id?: number;
204
+ issue_comment_url?: string;
205
+ issues_url?: string;
206
+ languages_url?: string;
207
+ name?: string;
208
+ owner?: UserPublicInfo;
209
+ private?: boolean;
210
+ pulls_url?: string;
211
+ url?: string;
212
+ }
213
+ interface CollaboratorInvitation {
214
+ created_at?: string;
215
+ id?: number;
216
+ invitee?: UserPublicInfo;
217
+ inviter?: UserPublicInfo;
218
+ permissions?: string;
219
+ repository?: RepoPublicInfo;
220
+ }
221
+ interface CommitFiles {
222
+ additions?: number;
223
+ blob_url?: string;
224
+ changes?: number;
225
+ contents_url?: string;
226
+ deletions?: number;
227
+ filename?: string;
228
+ patch?: string;
229
+ raw_url?: string;
230
+ sha?: string;
231
+ status?: string;
232
+ }
233
+ interface CommitUser {
234
+ date?: string;
235
+ email?: string;
236
+ name?: string;
237
+ }
238
+ interface TreeMeta {
239
+ created?: string;
240
+ sha?: string;
241
+ url?: string;
242
+ }
243
+ interface RepoCommit {
244
+ author?: CommitUser;
245
+ committer?: CommitUser;
246
+ message?: string;
247
+ tree?: TreeMeta;
248
+ url?: string;
249
+ }
250
+ interface CommitStats {
251
+ additions?: number;
252
+ deletions?: number;
253
+ total?: number;
254
+ }
255
+ interface Commit {
256
+ author?: UserPublicInfo;
257
+ branch?: string;
258
+ commit?: RepoCommit;
259
+ committer?: UserPublicInfo;
260
+ created?: string;
261
+ files?: CommitFiles[];
262
+ html_url?: string;
263
+ parents?: CommitMeta[];
264
+ sha?: string;
265
+ stats?: CommitStats;
266
+ url?: string;
267
+ }
268
+ interface CommitVerification {
269
+ payload?: string;
270
+ reason?: string;
271
+ signature?: string;
272
+ verified?: boolean;
273
+ verifiedAt?: string;
274
+ }
275
+ interface CompareResponse {
276
+ ahead_by?: number;
277
+ base_commit?: Commit;
278
+ behind_by?: number;
279
+ commits?: Commit[];
280
+ files?: CommitFiles[];
281
+ html_url?: string;
282
+ merge_base_commit?: Commit;
283
+ status?: string;
284
+ total_commits?: number;
285
+ url?: string;
286
+ }
287
+ interface FileLinksResponse {
288
+ git?: string;
289
+ html?: string;
290
+ self?: string;
291
+ }
292
+ interface ContentsResponse {
293
+ /** Ссылки */
294
+ _links?: FileLinksResponse;
295
+ /** `content` is populated when `type` is `file`, otherwise null */
296
+ content?: string;
297
+ /** DownloadURL ссылка на скачивание файла */
298
+ download_url?: string;
299
+ /** `encoding` is populated when `type` is `file`, otherwise null */
300
+ encoding?: string;
301
+ /** GitURL ссылка на получение файла */
302
+ git_url?: string;
303
+ /** HtmlURL ссылка на страницу с содержимым файла */
304
+ html_url?: string;
305
+ /** Язык программирования используемый в файле (если тип файл) */
306
+ language?: string;
307
+ name?: string;
308
+ path?: string;
309
+ sha?: string;
310
+ size?: number;
311
+ /** `submodule_git_url` is populated when `type` is `submodule`, otherwise null */
312
+ submodule_git_url?: string;
313
+ /** `target` is populated when `type` is `symlink`, otherwise null */
314
+ target?: string;
315
+ /** `type` will be `file`, `dir`, `symlink`, or `submodule` */
316
+ type?: string;
317
+ /** Url возвращает ссылку на получение такого же JSON */
318
+ url?: string;
319
+ }
320
+ interface FileCommitResponse {
321
+ author?: CommitUser;
322
+ committer?: CommitUser;
323
+ created?: string;
324
+ html_url?: string;
325
+ message?: string;
326
+ parents?: CommitMeta[];
327
+ sha?: string;
328
+ tree?: CommitMeta;
329
+ url?: string;
330
+ verification?: CommitVerification;
331
+ }
332
+ interface FileCreationResponse {
333
+ commit?: FileCommitResponse;
334
+ content?: ContentsResponse;
335
+ }
336
+ interface FileDeleteResponse {
337
+ commit?: FileCommitResponse;
338
+ content?: unknown;
339
+ }
340
+ interface GitEntry {
341
+ mode?: string;
342
+ path?: string;
343
+ sha?: string;
344
+ size?: number;
345
+ type?: string;
346
+ url?: string;
347
+ }
348
+ interface GitObject {
349
+ sha?: string;
350
+ type?: string;
351
+ url?: string;
352
+ }
353
+ interface GitTreeResponse {
354
+ page?: number;
355
+ sha?: string;
356
+ total_count?: number;
357
+ tree?: GitEntry[];
358
+ truncated?: boolean;
359
+ url?: string;
360
+ }
361
+ interface User {
362
+ /** Адрес аватарки */
363
+ avatar_url?: string;
364
+ /** О себе */
365
+ bio?: string;
366
+ /** Дата создания учетной записи */
367
+ created_at?: string;
368
+ /** Почта */
369
+ email?: string;
370
+ /** Счетчики */
78
371
  followers?: number;
79
- /** Количество подписок */
372
+ /** Url для получения подписчиков пользователя */
373
+ followers_url?: string;
80
374
  following?: number;
81
- /** Количество публичных репозиториев */
375
+ /** Url для получения подписок пользователя */
376
+ following_url?: string;
377
+ /** Полное имя */
378
+ full_name?: string;
379
+ /** Адрес страницы пользователя */
380
+ html_url?: string;
381
+ /** Идентификатор */
382
+ id?: number;
383
+ /** Верифицирован? */
384
+ is_verified?: boolean;
385
+ /** Местоположение */
386
+ location?: string;
387
+ /** Логин пользователя */
388
+ login?: string;
389
+ /** Имя пользователя */
390
+ name?: string;
391
+ /** Url для получения организаций пользователя */
392
+ organizations_url?: string;
393
+ /** Публичные репозитории */
82
394
  public_repos?: number;
83
- /** Количество репозиториев, отмеченных звездой */
395
+ /** Url для получения репозиториев пользователя */
396
+ repos_url?: string;
397
+ /** Есть ли права админа */
398
+ site_admin?: boolean;
399
+ /** Url для получения репозиториев пользователя, которые были добавлены в избранное */
400
+ starred_url?: string;
401
+ /** Количество репозиториев в избранном */
84
402
  stars_count?: number;
85
- /** Дата создания аккаунта */
86
- created_at: string;
87
- /** Дата последнего обновления аккаунта */
403
+ /** Url для получения подписок пользователя */
404
+ subscriptions_url?: string;
405
+ /** Тип пользователя */
406
+ type?: string;
407
+ /** Дата изменения учетной записи */
408
+ updated_at?: string;
409
+ /** Url для получения пользователя */
410
+ url?: string;
411
+ /** Вебсайт */
412
+ website?: string;
413
+ }
414
+ interface Label {
415
+ /** example: 00aabb */
416
+ color?: string;
417
+ description?: string;
418
+ /** example: false */
419
+ exclusive?: boolean;
420
+ id?: number;
421
+ /** example: false */
422
+ is_archived?: boolean;
423
+ name?: string;
424
+ url?: string;
425
+ }
426
+ interface Milestone {
427
+ closed_at?: string;
428
+ closed_issues?: number;
429
+ created_at?: string;
430
+ description?: string;
431
+ due_on?: string;
432
+ id?: number;
433
+ open_issues?: number;
434
+ state?: string;
435
+ title?: string;
88
436
  updated_at?: string;
89
437
  }
90
- /**
91
- * Интерфейс репозитория
92
- */
93
438
  interface Repository {
94
- /** Уникальный идентификатор репозитория */
95
- id: number;
96
- /** Информация о владельце репозитория */
97
- owner: User2;
98
- /** Название репозитория */
99
- name: string;
100
- /** Полное название репозитория в формате {owner}/{repo} */
101
- full_name: string;
102
- /** Описание репозитория */
439
+ allow_merge_commit?: boolean;
440
+ allow_rebase_merge?: boolean;
441
+ allow_squash_merge?: boolean;
442
+ archived?: boolean;
443
+ clone_url?: string;
444
+ contents_url?: string;
445
+ created_at?: string;
446
+ default_branch?: string;
447
+ delete_branch_on_merge?: boolean;
103
448
  description?: string;
104
- /** Список тем, связанных с репозиторием */
105
- topics?: string[] | null;
106
- /** Является ли репозиторий приватным */
107
- private: boolean;
108
- /** Является ли репозиторий форком другого репозитория */
109
- fork: boolean;
110
- /** Информация о родительском репозитории (если это форк) */
111
- parent?: Repository | null;
112
- /** Размер репозитория в килобайтах */
113
- size: number;
114
- /** Основной язык программирования, используемый в репозитории */
449
+ disabled?: boolean;
450
+ fork?: boolean;
451
+ forks?: number;
452
+ forks_count?: number;
453
+ forks_url?: string;
454
+ full_name?: string;
455
+ has_issues?: boolean;
456
+ has_wiki?: boolean;
457
+ id?: number;
458
+ is_template?: boolean;
459
+ issue_comment_url?: string;
460
+ issues_url?: string;
115
461
  language?: string;
116
- /** SSH-URL для клонирования репозитория */
117
- ssh_url: string;
118
- /** HTTPS-URL для клонирования репозитория */
119
- clone_url: string;
120
- /** Веб-ссылка на репозиторий */
121
- html_url: string;
122
- /** API-ссылка на репозиторий */
123
- url: string;
124
- /** Git-URL для клонирования репозитория */
125
- git_url: string;
126
- /** Зеркало репозитория (если доступно) */
462
+ languages_url?: string;
127
463
  mirror_url?: string;
128
- /** Ссылка на вебсайт проекта */
129
- website?: string;
130
- /** Альтернативная ссылка на домашнюю страницу проекта */
131
- homepage?: string;
132
- /** Количество звезд у репозитория */
133
- stargazers_count: number;
134
- /** Количество форков репозитория */
135
- forks: number;
136
- /** Количество форков репозитория (дублирует поле forks) */
137
- forks_count: number;
138
- /** Количество наблюдателей за репозиторием */
139
- watchers: number;
140
- /** Количество наблюдателей за репозиторием (дублирует поле watchers) */
141
- watchers_count: number;
142
- /** Количество репозиториев в сети (форков и оригинала) */
143
- network_count: number;
144
- /** Количество подписчиков на уведомления о репозитории */
145
- subscribers_count: number;
146
- /** Количество открытых задач (issues) в репозитории */
147
- open_issues: number;
148
- /** Количество открытых задач (дублирует поле open_issues) */
149
- open_issues_count: number;
150
- /** Количество открытых pull requests */
151
- open_pr_counter: number;
152
- /** Основная ветка репозитория */
153
- default_branch: string;
154
- /** Архивирован ли репозиторий */
155
- archived: boolean;
156
- /** Разрешено ли создание задач (issues) */
157
- has_issues: boolean;
158
- /** Разрешено ли использование проектов */
159
- has_projects: boolean;
160
- /** Разрешено ли использование обсуждений */
161
- has_discussions: boolean;
162
- /** Разрешено ли использование wiki */
163
- has_wiki: boolean;
164
- /** Разрешено ли использование GitHub Pages */
165
- has_pages: boolean;
166
- /** Отключен ли репозиторий */
167
- disabled: boolean;
168
- /** Настройки приватности репозитория */
169
- visibility: VisibilityType;
170
- /** Является ли репозиторий шаблоном */
171
- is_template: boolean;
172
- /** Информация о шаблоне репозитория (если доступно) */
173
- template_repository?: Repository | null;
174
- /** Разрешены ли слияния через merge commits */
175
- allow_merge_commits: boolean;
176
- /** Разрешены ли слияния через squash commits */
177
- allow_squash_merge: boolean;
178
- /** Удалять ли ветку после слияния по умолчанию */
179
- default_delete_branch_after_merge: boolean;
180
- /** Дата создания репозитория */
181
- created_at: string;
182
- /** Дата последнего обновления репозитория */
183
- updated_at: string;
184
- /** Дата последнего push-события в репозиторий */
185
- pushed_at: string;
464
+ name?: string;
465
+ open_issues?: number;
466
+ open_issues_count?: number;
467
+ owner?: UserPublicInfo;
468
+ parent?: Repository;
469
+ permissions?: Permissions;
470
+ private?: boolean;
471
+ pulls_url?: string;
472
+ pushed_at?: string;
473
+ size?: number;
474
+ ssh_url?: string;
475
+ stargazers_count?: number;
476
+ template_repository?: Repository;
477
+ topics?: string[];
478
+ updated_at?: string;
479
+ url?: string;
480
+ visibility?: string;
481
+ watchers?: number;
482
+ watchers_count?: number;
186
483
  }
187
- /**
188
- * Интерфейс ответа с распределением языков в репозитории
189
- */
190
- interface LanguagesResponse {
191
- /** Количество байт кода на каждом языке */
192
- [language: string]: number;
484
+ interface PRBranchInfo {
485
+ label?: string;
486
+ ref?: string;
487
+ repo?: Repository;
488
+ repo_id?: number;
489
+ sha?: string;
193
490
  }
194
- /**
195
- * Параметры для создания репозитория
196
- */
197
- interface CreateRepositoryParams {
198
- /** Имя репозитория */
199
- name: string;
200
- /** Описание репозитория */
491
+ interface Team {
492
+ /** Полномочия на создание репозиториев */
493
+ can_create_org_repo?: boolean;
494
+ /** Описание команды */
201
495
  description?: string;
202
- /** Приватный ли репозиторий */
203
- private?: boolean;
204
- /** Создать ли инициализирующий коммит */
205
- auto_init?: boolean;
206
- /** Список .gitignore шаблонов */
207
- gitignores?: string[];
208
- /** Лицензия репозитория */
209
- license?: string;
210
- /** Ветка по умолчанию */
211
- default_branch?: string;
496
+ /** Идентификатор */
497
+ id?: number;
498
+ /** Включает все репозитории */
499
+ includes_all_repositories?: boolean;
500
+ /** Название команды */
501
+ name?: string;
502
+ /** Количество участников */
503
+ num_members?: number;
504
+ /** Количество репозиториев */
505
+ num_repos?: number;
506
+ /** Полномочия */
507
+ permission?: string;
508
+ /** Полномочие на действия с ветками */
509
+ permission_actions?: string;
510
+ /** Код полномочия */
511
+ permission_code?: string;
512
+ /** Полномочие на пакеты */
513
+ permission_packages?: string;
514
+ /** Полномочие на отправку пулл-реквестов */
515
+ permission_pulls?: string;
516
+ /** Полномочие на релизы */
517
+ permission_releases?: string;
212
518
  }
213
- /**
214
- * Интерфейс коммита
215
- */
216
- interface Commit {
217
- /** SHA-хеш коммита */
218
- sha: string;
219
- /** Node ID коммита */
220
- node_id?: string;
221
- /** Информация о коммите */
222
- commit: {
223
- /** Автор коммита */
224
- author: {
225
- name: string
226
- email: string
227
- date: string
228
- }
229
- /** Коммиттер */
230
- committer: {
231
- name: string
232
- email: string
233
- date: string
234
- }
235
- /** Сообщение коммита */
236
- message: string
237
- /** Дерево коммита */
238
- tree: {
239
- sha: string
240
- url: string
241
- }
242
- };
243
- /** Автор (пользователь GitVerse) */
244
- author?: User2 | null;
245
- /** Коммиттер (пользователь GitVerse) */
246
- committer?: User2 | null;
247
- /** Родительские коммиты */
248
- parents: Array<{
249
- sha: string
250
- url: string
251
- html_url: string
252
- }>;
253
- /** API-ссылка на коммит */
254
- url: string;
255
- /** Веб-ссылка на коммит */
256
- html_url: string;
519
+ interface PullRequest {
520
+ assignee?: User;
521
+ assignees?: User[];
522
+ base?: PRBranchInfo;
523
+ body?: string;
524
+ closed_at?: string;
525
+ comments?: number;
526
+ created_at?: string;
527
+ diff_url?: string;
528
+ head?: PRBranchInfo;
529
+ html_url?: string;
530
+ id?: number;
531
+ is_draft?: boolean;
532
+ labels?: Label[];
533
+ locked?: boolean;
534
+ maintainer_can_modify?: boolean;
535
+ merge_commit_sha?: string;
536
+ mergeable?: boolean;
537
+ merged?: boolean;
538
+ merged_at?: string;
539
+ merged_by?: User;
540
+ milestone?: Milestone;
541
+ number?: number;
542
+ patch_url?: string;
543
+ requested_reviewers?: User[];
544
+ requested_teams?: Team[];
545
+ state?: string;
546
+ title?: string;
547
+ updated_at?: string;
548
+ url?: string;
549
+ user?: User;
257
550
  }
258
- /**
259
- * Параметры для обновления репозитория
260
- */
261
- interface UpdateRepositoryParams {
262
- /** Новое название репозитория */
263
- name?: string;
264
- /** Новое описание репозитория */
265
- description?: string;
266
- /** Веб-сайт проекта */
267
- website?: string;
268
- /** Приватный ли репозиторий */
269
- private?: boolean;
270
- /** Разрешены ли issues */
271
- has_issues?: boolean;
272
- /** Разрешена ли wiki */
273
- has_wiki?: boolean;
274
- /** Ветка по умолчанию */
275
- default_branch?: string;
276
- /** Архивирован ли репозиторий */
277
- archived?: boolean;
551
+ interface Reference {
552
+ object?: GitObject;
553
+ ref?: string;
554
+ url?: string;
278
555
  }
279
- /**
280
- * Интерфейс результата сравнения веток/коммитов
281
- */
282
- interface CompareResponse {
283
- /** URL для сравнения */
284
- url: string;
285
- /** Веб-ссылка для сравнения */
286
- html_url: string;
287
- /** Diff-ссылка */
288
- diff_url: string;
289
- /** Patch-ссылка */
290
- patch_url: string;
291
- /** Базовый коммит */
292
- base_commit: Commit;
293
- /** Сравниваемый коммит */
294
- merge_base_commit: Commit;
295
- /** Статус сравнения */
296
- status: "ahead" | "behind" | "identical" | "diverged";
297
- /** Количество коммитов впереди */
298
- ahead_by: number;
299
- /** Количество коммитов позади */
300
- behind_by: number;
301
- /** Общее количество коммитов */
302
- total_commits: number;
303
- /** Список коммитов */
304
- commits: Commit[];
305
- /** Изменённые файлы */
306
- files: PullRequestFile[];
556
+ interface TreeEntry {
557
+ mode?: string;
558
+ path?: string;
559
+ sha?: string;
560
+ size?: number;
561
+ /** "blob", "tree", "commit" */
562
+ type?: string;
307
563
  }
308
- /**
309
- * Интерфейс файла в pull request
310
- */
311
- interface PullRequestFile {
312
- /** SHA-хеш файла */
313
- sha: string;
314
- /** Имя файла */
315
- filename: string;
316
- /** Статус изменения */
317
- status: "added" | "removed" | "modified" | "renamed" | "copied" | "changed" | "unchanged";
318
- /** Количество добавленных строк */
319
- additions: number;
320
- /** Количество удалённых строк */
321
- deletions: number;
322
- /** Общее количество изменений */
323
- changes: number;
324
- /** URL для получения содержимого */
325
- blob_url: string;
326
- /** Raw URL */
327
- raw_url: string;
328
- /** API URL */
329
- contents_url: string;
330
- /** Patch для файла */
331
- patch?: string;
332
- /** Предыдущее имя файла (для переименованных) */
333
- previous_filename?: string;
564
+ interface RepoTree {
565
+ sha?: string;
566
+ tree?: TreeEntry[];
567
+ truncated?: boolean;
568
+ url?: string;
569
+ }
570
+ interface Secret {
571
+ created_at?: string;
572
+ name?: string;
573
+ }
574
+ interface SecretList {
575
+ secrets?: Secret[];
576
+ total_count?: number;
334
577
  }
335
578
  /**
336
579
  * Предупреждение об устаревшей версии API
@@ -458,6 +701,16 @@ declare class GitVerseClient {
458
701
  * @returns Ответ от API
459
702
  */
460
703
  patch<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
704
+ /**
705
+ * Выполняет загрузку файла через multipart/form-data
706
+ * @param path Путь к API-ресурсу
707
+ * @param fieldName Имя поля для файла
708
+ * @param file Файл для загрузки (Blob или ArrayBuffer)
709
+ * @param fileName Имя файла
710
+ * @param options Опции запроса (опционально)
711
+ * @returns Ответ от API
712
+ */
713
+ uploadFile<T>(path: string, fieldName: string, file: Blob | ArrayBuffer, fileName: string, options?: RequestOptions): Promise<T>;
461
714
  }
462
715
  /**
463
716
  * API для работы с репозиториями
@@ -465,57 +718,352 @@ declare class GitVerseClient {
465
718
  declare class RepositoriesApi {
466
719
  private client;
467
720
  /**
468
- * Создает новый экземпляр API для работы с репозиториями
721
+ * Создает новый экземпляр API
469
722
  * @param client GitVerse клиент
470
723
  */
471
724
  constructor(client: GitVerseClient);
472
725
  /**
473
- * Получает информацию о репозитории
474
- * @param owner Владелец репозитория
475
- * @param repo Название репозитория
476
- * @returns Данные о репозитории
726
+ * Get repository details
727
+ * @param owner Repository owner
728
+ * @param repo Repository name
729
+ * @param options Опции запроса
730
+ * @returns Repository
731
+ */
732
+ get(owner: string, repo: string, options?: {
733
+ signal?: AbortSignal
734
+ }): Promise<Repository>;
735
+ /**
736
+ * Update repository
737
+ * @param owner Repository owner
738
+ * @param repo Repository name
739
+ * @param params New repository settings
740
+ * @param options Опции запроса
741
+ * @returns Repository
742
+ */
743
+ update(owner: string, repo: string, params: UpdateRepositoryParams, options?: {
744
+ signal?: AbortSignal
745
+ }): Promise<Repository>;
746
+ /**
747
+ * Delete repository
748
+ * @param owner Repository owner
749
+ * @param repo Repository name
750
+ * @param options Опции запроса
751
+ * @returns void
752
+ */
753
+ delete(owner: string, repo: string, options?: {
754
+ signal?: AbortSignal
755
+ }): Promise<void>;
756
+ /**
757
+ * Gets a list of repository secrets
758
+ * @param owner Owner name
759
+ * @param repo Repository name
760
+ * @param queryParams Параметры запроса
761
+ * @param options Опции запроса
762
+ * @returns SecretList
763
+ */
764
+ listRepoSecrets(owner: string, repo: string, queryParams?: {
765
+ per_page?: string
766
+ page?: string
767
+ }, options?: {
768
+ signal?: AbortSignal
769
+ }): Promise<SecretList>;
770
+ /**
771
+ * Gets secrets metadata (without values) in repositories.
772
+ * @param owner Owner name
773
+ * @param repo Repository name
774
+ * @param secretname Secret name
775
+ * @param options Опции запроса
776
+ * @returns Secret
777
+ */
778
+ getRepoSecret(owner: string, repo: string, secretname: string, options?: {
779
+ signal?: AbortSignal
780
+ }): Promise<Secret>;
781
+ /**
782
+ * Creates or updates a secret in the repository, without encryption
783
+ * @param owner Owner name
784
+ * @param repo Repository name
785
+ * @param secretname Secret name
786
+ * @param queryParams Параметры запроса
787
+ * @param options Опции запроса
788
+ * @returns Secret
789
+ */
790
+ createOrUpdateRepoSecret(owner: string, repo: string, secretname: string, queryParams?: {
791
+ encrypted_value: string
792
+ }, options?: {
793
+ signal?: AbortSignal
794
+ }): Promise<Secret>;
795
+ /**
796
+ * Removes a secret from the repository
797
+ * @param owner Owner name
798
+ * @param repo Repository name
799
+ * @param secretname Secret name
800
+ * @param options Опции запроса
801
+ * @returns void
802
+ */
803
+ deleteRepoSecret(owner: string, repo: string, secretname: string, options?: {
804
+ signal?: AbortSignal
805
+ }): Promise<void>;
806
+ /**
807
+ * List repository branches
808
+ * @param owner Owner of the repository (username or organization)
809
+ * @param repo Name of the repository without .git extension
810
+ * @param queryParams Параметры запроса
811
+ * @param options Опции запроса
812
+ * @returns Branch[]
813
+ */
814
+ listBranches(owner: string, repo: string, queryParams?: {
815
+ page?: number
816
+ per_page?: number
817
+ q?: string
818
+ }, options?: {
819
+ signal?: AbortSignal
820
+ }): Promise<Branch[]>;
821
+ /**
822
+ * List repository collaborators
823
+ * @param owner Repository owner
824
+ * @param repo Repository name
825
+ * @param queryParams Параметры запроса
826
+ * @param options Опции запроса
827
+ * @returns Collaborator[]
828
+ */
829
+ listCollaborators(owner: string, repo: string, queryParams?: {
830
+ affiliation?: string
831
+ permission?: string
832
+ page?: number
833
+ per_page?: number
834
+ }, options?: {
835
+ signal?: AbortSignal
836
+ }): Promise<Collaborator[]>;
837
+ /**
838
+ * Add or update repository collaborator
839
+ * @param owner Repository owner
840
+ * @param repo Repository name
841
+ * @param collaborator Username of the collaborator to add or update
842
+ * @param params Collaborator permission settings
843
+ * @param options Опции запроса
844
+ * @returns CollaboratorInvitation
845
+ */
846
+ addCollaborator(owner: string, repo: string, collaborator: string, params: AddCollaboratorParams, options?: {
847
+ signal?: AbortSignal
848
+ }): Promise<CollaboratorInvitation>;
849
+ /**
850
+ * Retrieve a list of repository commits
851
+ * @param owner Owner of the repository (owner or organization name)
852
+ * @param repo Name of the repository without the .git extension
853
+ * @param queryParams Параметры запроса
854
+ * @param options Опции запроса
855
+ * @returns Commit[]
856
+ */
857
+ listCommits(owner: string, repo: string, queryParams?: {
858
+ page?: number
859
+ per_page?: number
860
+ sha?: string
861
+ path?: string
862
+ not?: string
863
+ author?: string
864
+ committer?: string
865
+ since?: string
866
+ until?: string
867
+ }, options?: {
868
+ signal?: AbortSignal
869
+ }): Promise<Commit[]>;
870
+ /**
871
+ * Retrieve commit information
872
+ * @param owner Owner of the repository (owner or organization name)
873
+ * @param repo Name of the repository without the .git extension
874
+ * @param sha Commit hash
875
+ * @param options Опции запроса
876
+ * @returns Commit
877
+ */
878
+ getCommit(owner: string, repo: string, sha: string, options?: {
879
+ signal?: AbortSignal
880
+ }): Promise<Commit>;
881
+ /**
882
+ * Compare two branches/tags/commits
883
+ * @param owner Owner of the repository (username or organization name)
884
+ * @param repo Name of the repository without the .git extension
885
+ * @param basehead References to compare in BASE...HEAD format (e.g., main...feature)
886
+ * @param queryParams Параметры запроса
887
+ * @param options Опции запроса
888
+ * @returns CompareResponse
889
+ */
890
+ compareCommits(owner: string, repo: string, basehead: string, queryParams?: {
891
+ page?: number
892
+ per_page?: number
893
+ }, options?: {
894
+ signal?: AbortSignal
895
+ }): Promise<CompareResponse>;
896
+ /**
897
+ * Get file or directory contents
898
+ * @param owner Repository owner
899
+ * @param repo Repository name
900
+ * @param filepath Path to file or directory in the repository
901
+ * @param queryParams Параметры запроса
902
+ * @param options Опции запроса
903
+ * @returns Record<string, unknown>
904
+ */
905
+ getContent(owner: string, repo: string, filepath: string, queryParams?: {
906
+ ref?: string
907
+ scope?: string
908
+ }, options?: {
909
+ signal?: AbortSignal
910
+ }): Promise<Record<string, unknown>>;
911
+ /**
912
+ * Create or update file in repository
913
+ * @param owner Repository owner
914
+ * @param repo Repository name
915
+ * @param filepath Path to the file in the repository
916
+ * @param params File creation or update options, including base64 content, branch, message, etc.
917
+ * @param options Опции запроса
918
+ * @returns FileCreationResponse
919
+ */
920
+ createOrUpdateFile(owner: string, repo: string, filepath: string, params: CreateFileParams, options?: {
921
+ signal?: AbortSignal
922
+ }): Promise<FileCreationResponse>;
923
+ /**
924
+ * Delete file in repository
925
+ * @param owner Repository owner
926
+ * @param repo Repository name
927
+ * @param filepath Path to the file in the repository
928
+ * @param params File deletion options, including SHA, branch, commit message, etc.
929
+ * @param options Опции запроса
930
+ * @returns FileDeleteResponse
931
+ */
932
+ deleteFile(owner: string, repo: string, filepath: string, params: DeleteFileParams, options?: {
933
+ signal?: AbortSignal
934
+ }): Promise<FileDeleteResponse>;
935
+ /**
936
+ * Fork a repository
937
+ * @param owner Owner of the base repository
938
+ * @param repo Name of the base repository
939
+ * @param params Fork options, including target name and organization
940
+ * @param options Опции запроса
941
+ * @returns Repository
942
+ */
943
+ createFork(owner: string, repo: string, params: CreateForkParams, options?: {
944
+ signal?: AbortSignal
945
+ }): Promise<Repository>;
946
+ /**
947
+ * Create a Git commit
948
+ * @param owner Owner of the repository (owner or organization name)
949
+ * @param repo Name of the repository without the .git extension
950
+ * @param params Parameters for creating the commit
951
+ * @param options Опции запроса
952
+ * @returns Commit
953
+ */
954
+ createCommit(owner: string, repo: string, params: CreateCommitParams, options?: {
955
+ signal?: AbortSignal
956
+ }): Promise<Commit>;
957
+ /**
958
+ * Create a Git reference
959
+ * @param owner Owner of the repository (owner or organization name)
960
+ * @param repo Name of the repository without the .git extension
961
+ * @param params Parameters for creating the reference
962
+ * @param options Опции запроса
963
+ * @returns Reference
964
+ */
965
+ createRef(owner: string, repo: string, params: CreateReferenceParams, options?: {
966
+ signal?: AbortSignal
967
+ }): Promise<Reference>;
968
+ /**
969
+ * Creates new Git tree
970
+ * @param owner owner
971
+ * @param repo repo
972
+ * @param params Параметры создания дерева
973
+ * @param options Опции запроса
974
+ * @returns RepoTree
975
+ */
976
+ createTree(owner: string, repo: string, params: CreateTreeParams, options?: {
977
+ signal?: AbortSignal
978
+ }): Promise<RepoTree>;
979
+ /**
980
+ * Get repository tree by SHA
981
+ * @param owner Repository owner
982
+ * @param repo Repository name
983
+ * @param sha Commit SHA to list tree for
984
+ * @param queryParams Параметры запроса
985
+ * @param options Опции запроса
986
+ * @returns GitTreeResponse
477
987
  */
478
- get(owner: string, repo: string, options?: RequestOptions): Promise<Repository>;
988
+ getTree(owner: string, repo: string, sha: string, queryParams?: {
989
+ page?: number
990
+ per_page?: number
991
+ recursive?: boolean
992
+ }, options?: {
993
+ signal?: AbortSignal
994
+ }): Promise<GitTreeResponse>;
479
995
  /**
480
- * Удаляет репозиторий
481
- * @param owner Владелец репозитория
482
- * @param repo Название репозитория
483
- * @returns Результат операции
996
+ * Get repository languages
997
+ * @param owner Repository owner
998
+ * @param repo Repository name
999
+ * @param options Опции запроса
1000
+ * @returns Record<string, unknown>
484
1001
  */
485
- delete(owner: string, repo: string, options?: RequestOptions): Promise<void>;
1002
+ listLanguages(owner: string, repo: string, options?: {
1003
+ signal?: AbortSignal
1004
+ }): Promise<Record<string, unknown>>;
486
1005
  /**
487
- * Обновляет информацию о репозитории
488
- * @param owner Владелец репозитория
489
- * @param repo Название репозитория
490
- * @param params Параметры для обновления
491
- * @returns Обновлённый репозиторий
1006
+ * List pull requests
1007
+ * @param owner Repository owner
1008
+ * @param repo Repository name
1009
+ * @param queryParams Параметры запроса
1010
+ * @param options Опции запроса
1011
+ * @returns PullRequest[]
492
1012
  */
493
- update(owner: string, repo: string, params: UpdateRepositoryParams, options?: RequestOptions): Promise<Repository>;
1013
+ listPulls(owner: string, repo: string, queryParams?: {
1014
+ state?: string
1015
+ head?: string
1016
+ base?: string
1017
+ sort?: string
1018
+ direction?: string
1019
+ page?: number
1020
+ per_page?: number
1021
+ }, options?: {
1022
+ signal?: AbortSignal
1023
+ }): Promise<PullRequest[]>;
494
1024
  /**
495
- * Сравнивает две ветки или коммита
496
- * @param owner Владелец репозитория
497
- * @param repo Название репозитория
498
- * @param basehead Строка в формате "base...head" для сравнения
499
- * @returns Результат сравнения с коммитами и изменёнными файлами
1025
+ * Pull request details.
1026
+ * @param owner Repository owner
1027
+ * @param repo Repository name
1028
+ * @param pull_number The number that identifies the pull request..
1029
+ * @param options Опции запроса
1030
+ * @returns PullRequest
500
1031
  */
501
- compare(owner: string, repo: string, basehead: string, options?: RequestOptions): Promise<CompareResponse>;
1032
+ getPull(owner: string, repo: string, pull_number: number, options?: {
1033
+ signal?: AbortSignal
1034
+ }): Promise<PullRequest>;
502
1035
  /**
503
- * Получает информацию о языках программирования в репозитории
504
- * @param owner Владелец репозитория
505
- * @param repo Название репозитория
506
- * @returns Объект с языками и количеством байт кода
1036
+ * Update a pull request.
1037
+ * @param owner Repository owner
1038
+ * @param repo Repository name
1039
+ * @param pull_number The number that identifies the pull request.
1040
+ * @param params Pull request update parameters
1041
+ * @param options Опции запроса
1042
+ * @returns PullRequest
507
1043
  */
508
- getLanguages(owner: string, repo: string, options?: RequestOptions): Promise<LanguagesResponse>;
1044
+ updatePull(owner: string, repo: string, pull_number: number, params: UpdatePullRequestParams, options?: {
1045
+ signal?: AbortSignal
1046
+ }): Promise<PullRequest>;
509
1047
  /**
510
- * Получает список репозиториев авторизованного пользователя
511
- * @returns Массив репозиториев пользователя
1048
+ * Get authenticated user repositories
1049
+ * @param queryParams Параметры запроса
1050
+ * @param options Опции запроса
1051
+ * @returns Repository[]
512
1052
  */
513
- listForAuthenticatedUser(options?: RequestOptions): Promise<Repository[]>;
1053
+ listForAuthenticatedUser(queryParams?: {
1054
+ page?: number
1055
+ per_page?: number
1056
+ }, options?: {
1057
+ signal?: AbortSignal
1058
+ }): Promise<Repository[]>;
514
1059
  /**
515
- * Создает новый репозиторий для авторизованного пользователя
516
- * @param params Параметры создания репозитория
517
- * @returns Созданный репозиторий
1060
+ * Create repository
1061
+ * @param params Repository creation options
1062
+ * @param options Опции запроса
1063
+ * @returns Repository
518
1064
  */
519
- create(params: CreateRepositoryParams, options?: RequestOptions): Promise<Repository>;
1065
+ createForAuthenticatedUser(params: CreateRepositoryParams, options?: {
1066
+ signal?: AbortSignal
1067
+ }): Promise<Repository>;
520
1068
  }
521
1069
  export { RepositoriesApi };