gitverse-api-sdk 5.1.0 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,522 +1,77 @@
1
+ import type { GitVerseClient } from "../client";
2
+ import type { Commit, CommitFiles, CreatePullRequestParams, PullRequest, UpdateBranchParams, UpdateBranchResponse } from "../types";
1
3
  /**
2
- * Типы данных для GitVerse API
3
- * @generated Сгенерировано автоматически из OpenAPI спецификации
4
- */
5
- /**
6
- * Опции для выполнения HTTP-запросов
7
- */
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
- }
18
- interface CreatePullRequestParams {
19
- /** список ответственных */
20
- assignees?: string[];
21
- /** ветка в которую происходит слияние */
22
- base?: string;
23
- /** тело запроса */
24
- body?: string;
25
- /** черновик */
26
- draft?: boolean;
27
- /** Deadline */
28
- due_date?: string;
29
- /** ветка из которой происходит слияние */
30
- head?: string;
31
- /** ветка из которой происходит слияние */
32
- head_repo?: string;
33
- /** Метки */
34
- labels?: number[];
35
- /** могут ли мэйнтейнеры изменять PR */
36
- maintainer_can_modify?: boolean;
37
- /** идентификатор "этапа" */
38
- milestone?: number;
39
- /** заголовок запроса */
40
- title?: string;
41
- }
42
- interface UpdateBranchParams {
43
- expected_head_sha?: string;
44
- }
45
- interface CommitMeta {
46
- created?: string;
47
- html_url?: string;
48
- sha?: string;
49
- url?: string;
50
- }
51
- interface Permissions {
52
- admin?: boolean;
53
- pull?: boolean;
54
- push?: boolean;
55
- }
56
- interface UserPublicInfo {
57
- avatar_url?: string;
58
- followers_url?: string;
59
- following_url?: string;
60
- html_url?: string;
61
- id?: number;
62
- login?: string;
63
- organizations_url?: string;
64
- repos_url?: string;
65
- site_admin?: boolean;
66
- type?: string;
67
- url?: string;
68
- }
69
- interface CommitFiles {
70
- additions?: number;
71
- blob_url?: string;
72
- changes?: number;
73
- contents_url?: string;
74
- deletions?: number;
75
- filename?: string;
76
- patch?: string;
77
- raw_url?: string;
78
- sha?: string;
79
- status?: string;
80
- }
81
- interface CommitUser {
82
- date?: string;
83
- email?: string;
84
- name?: string;
85
- }
86
- interface TreeMeta {
87
- created?: string;
88
- sha?: string;
89
- url?: string;
90
- }
91
- interface RepoCommit {
92
- author?: CommitUser;
93
- committer?: CommitUser;
94
- message?: string;
95
- tree?: TreeMeta;
96
- url?: string;
97
- }
98
- interface CommitStats {
99
- additions?: number;
100
- deletions?: number;
101
- total?: number;
102
- }
103
- interface Commit {
104
- author?: UserPublicInfo;
105
- branch?: string;
106
- commit?: RepoCommit;
107
- committer?: UserPublicInfo;
108
- created?: string;
109
- files?: CommitFiles[];
110
- html_url?: string;
111
- parents?: CommitMeta[];
112
- sha?: string;
113
- stats?: CommitStats;
114
- url?: string;
115
- }
116
- interface User {
117
- /** Адрес аватарки */
118
- avatar_url?: string;
119
- /** О себе */
120
- bio?: string;
121
- /** Дата создания учетной записи */
122
- created_at?: string;
123
- /** Почта */
124
- email?: string;
125
- /** Счетчики */
126
- followers?: number;
127
- /** Url для получения подписчиков пользователя */
128
- followers_url?: string;
129
- following?: number;
130
- /** Url для получения подписок пользователя */
131
- following_url?: string;
132
- /** Полное имя */
133
- full_name?: string;
134
- /** Адрес страницы пользователя */
135
- html_url?: string;
136
- /** Идентификатор */
137
- id?: number;
138
- /** Верифицирован? */
139
- is_verified?: boolean;
140
- /** Местоположение */
141
- location?: string;
142
- /** Логин пользователя */
143
- login?: string;
144
- /** Имя пользователя */
145
- name?: string;
146
- /** Url для получения организаций пользователя */
147
- organizations_url?: string;
148
- /** Публичные репозитории */
149
- public_repos?: number;
150
- /** Url для получения репозиториев пользователя */
151
- repos_url?: string;
152
- /** Есть ли права админа */
153
- site_admin?: boolean;
154
- /** Url для получения репозиториев пользователя, которые были добавлены в избранное */
155
- starred_url?: string;
156
- /** Количество репозиториев в избранном */
157
- stars_count?: number;
158
- /** Url для получения подписок пользователя */
159
- subscriptions_url?: string;
160
- /** Тип пользователя */
161
- type?: string;
162
- /** Дата изменения учетной записи */
163
- updated_at?: string;
164
- /** Url для получения пользователя */
165
- url?: string;
166
- /** Вебсайт */
167
- website?: string;
168
- }
169
- interface Label {
170
- /** example: 00aabb */
171
- color?: string;
172
- description?: string;
173
- /** example: false */
174
- exclusive?: boolean;
175
- id?: number;
176
- /** example: false */
177
- is_archived?: boolean;
178
- name?: string;
179
- url?: string;
180
- }
181
- interface Milestone {
182
- closed_at?: string;
183
- closed_issues?: number;
184
- created_at?: string;
185
- description?: string;
186
- due_on?: string;
187
- id?: number;
188
- open_issues?: number;
189
- state?: string;
190
- title?: string;
191
- updated_at?: string;
192
- }
193
- interface Repository {
194
- allow_merge_commit?: boolean;
195
- allow_rebase_merge?: boolean;
196
- allow_squash_merge?: boolean;
197
- archived?: boolean;
198
- clone_url?: string;
199
- contents_url?: string;
200
- created_at?: string;
201
- default_branch?: string;
202
- delete_branch_on_merge?: boolean;
203
- description?: string;
204
- disabled?: boolean;
205
- fork?: boolean;
206
- forks?: number;
207
- forks_count?: number;
208
- forks_url?: string;
209
- full_name?: string;
210
- has_issues?: boolean;
211
- has_wiki?: boolean;
212
- id?: number;
213
- is_template?: boolean;
214
- issue_comment_url?: string;
215
- issues_url?: string;
216
- language?: string;
217
- languages_url?: string;
218
- mirror_url?: string;
219
- name?: string;
220
- open_issues?: number;
221
- open_issues_count?: number;
222
- owner?: UserPublicInfo;
223
- parent?: Repository;
224
- permissions?: Permissions;
225
- private?: boolean;
226
- pulls_url?: string;
227
- pushed_at?: string;
228
- size?: number;
229
- ssh_url?: string;
230
- stargazers_count?: number;
231
- template_repository?: Repository;
232
- topics?: string[];
233
- updated_at?: string;
234
- url?: string;
235
- visibility?: string;
236
- watchers?: number;
237
- watchers_count?: number;
238
- }
239
- interface PRBranchInfo {
240
- label?: string;
241
- ref?: string;
242
- repo?: Repository;
243
- repo_id?: number;
244
- sha?: string;
245
- }
246
- interface Team {
247
- /** Полномочия на создание репозиториев */
248
- can_create_org_repo?: boolean;
249
- /** Описание команды */
250
- description?: string;
251
- /** Идентификатор */
252
- id?: number;
253
- /** Включает все репозитории */
254
- includes_all_repositories?: boolean;
255
- /** Название команды */
256
- name?: string;
257
- /** Количество участников */
258
- num_members?: number;
259
- /** Количество репозиториев */
260
- num_repos?: number;
261
- /** Полномочия */
262
- permission?: string;
263
- /** Полномочие на действия с ветками */
264
- permission_actions?: string;
265
- /** Код полномочия */
266
- permission_code?: string;
267
- /** Полномочие на пакеты */
268
- permission_packages?: string;
269
- /** Полномочие на отправку пулл-реквестов */
270
- permission_pulls?: string;
271
- /** Полномочие на релизы */
272
- permission_releases?: string;
273
- }
274
- interface PullRequest {
275
- assignee?: User;
276
- assignees?: User[];
277
- base?: PRBranchInfo;
278
- body?: string;
279
- closed_at?: string;
280
- comments?: number;
281
- created_at?: string;
282
- diff_url?: string;
283
- head?: PRBranchInfo;
284
- html_url?: string;
285
- id?: number;
286
- is_draft?: boolean;
287
- labels?: Label[];
288
- locked?: boolean;
289
- maintainer_can_modify?: boolean;
290
- merge_commit_sha?: string;
291
- mergeable?: boolean;
292
- merged?: boolean;
293
- merged_at?: string;
294
- merged_by?: User;
295
- milestone?: Milestone;
296
- number?: number;
297
- patch_url?: string;
298
- requested_reviewers?: User[];
299
- requested_teams?: Team[];
300
- state?: string;
301
- title?: string;
302
- updated_at?: string;
303
- url?: string;
304
- user?: User;
305
- }
306
- interface UpdateBranchResponse {
307
- message?: string;
308
- url?: string;
309
- }
310
- /**
311
- * Предупреждение об устаревшей версии API
312
- */
313
- declare class ApiVersionWarning {
314
- /** Текущая используемая версия */
315
- readonly currentVersion: string;
316
- /** Последняя доступная версия */
317
- readonly latestVersion: string;
318
- /** Дата вывода из эксплуатации */
319
- readonly decommissioning?: string;
320
- constructor(currentVersion: string, latestVersion: string, decommissioning?: string);
321
- /**
322
- * Возвращает сообщение о предупреждении
323
- */
324
- getMessage(): string;
325
- }
326
- declare const HTTPMethods: {
327
- readonly DELETE: "DELETE"
328
- readonly GET: "GET"
329
- readonly PATCH: "PATCH"
330
- readonly POST: "POST"
331
- readonly PUT: "PUT"
332
- };
333
- type HTTPMethods = (typeof HTTPMethods)[keyof typeof HTTPMethods];
334
- /**
335
- * Параметры для конфигурации GitVerse клиента
336
- */
337
- interface GitVerseClientConfig {
338
- /**
339
- * Базовый URL API GitVerse
340
- * @default 'https://api.gitverse.ru'
341
- */
342
- baseUrl?: string;
343
- /**
344
- * Токен доступа для авторизации в API
345
- */
346
- token?: string;
347
- /**
348
- * Версия API
349
- * @default '1'
350
- */
351
- apiVersion?: string;
352
- }
353
- /**
354
- * Основной класс для работы с GitVerse API
355
- */
356
- declare class GitVerseClient {
357
- private baseUrl;
358
- private token?;
359
- private apiVersion;
360
- /**
361
- * Callback для обработки предупреждений об устаревшей версии API
362
- */
363
- onApiVersionWarning?: (warning: ApiVersionWarning) => void;
364
- /**
365
- * Создает новый экземпляр GitVerse клиента
366
- * @param config Конфигурация клиента
367
- */
368
- constructor(config?: GitVerseClientConfig);
369
- /**
370
- * Устанавливает токен авторизации
371
- * @param token Токен доступа
372
- */
373
- setToken(token: string): void;
374
- /**
375
- * Извлекает информацию о Rate Limit из заголовков ответа
376
- */
377
- private extractRateLimitInfo;
378
- /**
379
- * Извлекает информацию о версии API из заголовков ответа
380
- */
381
- private extractApiVersionInfo;
382
- /**
383
- * Извлекает метаданные из заголовков ответа
384
- */
385
- private extractMetadata;
386
- /**
387
- * Выполняет API-запрос с учетом авторизации и версии API
388
- * @param path Путь к API-ресурсу
389
- * @param method HTTP-метод
390
- * @param body Тело запроса (опционально)
391
- * @param options Опции запроса (опционально)
392
- * @returns Ответ от API
393
- * @throws {RateLimitError} При превышении лимита запросов (429)
394
- * @throws {GitVerseApiError} При других ошибках API
395
- */
396
- request<T>(path: string, method: HTTPMethods, body?: unknown, options?: RequestOptions): Promise<T>;
397
- /**
398
- * Выполняет GET-запрос
399
- * @param path Путь к API-ресурсу
400
- * @param options Опции запроса (опционально)
401
- * @returns Ответ от API
402
- */
403
- get<T>(path: string, options?: RequestOptions): Promise<T>;
404
- /**
405
- * Выполняет POST-запрос
406
- * @param path Путь к API-ресурсу
407
- * @param body Тело запроса
408
- * @param options Опции запроса (опционально)
409
- * @returns Ответ от API
410
- */
411
- post<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
412
- /**
413
- * Выполняет PUT-запрос
414
- * @param path Путь к API-ресурсу
415
- * @param body Тело запроса
416
- * @param options Опции запроса (опционально)
417
- * @returns Ответ от API
418
- */
419
- put<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
420
- /**
421
- * Выполняет DELETE-запрос
422
- * @param path Путь к API-ресурсу
423
- * @param body Тело запроса (опционально)
424
- * @param options Опции запроса (опционально)
425
- * @returns Ответ от API
426
- */
427
- delete<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
428
- /**
429
- * Выполняет PATCH-запрос
430
- * @param path Путь к API-ресурсу
431
- * @param body Тело запроса
432
- * @param options Опции запроса (опционально)
433
- * @returns Ответ от API
434
- */
435
- patch<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
436
- /**
437
- * Выполняет загрузку файла через multipart/form-data
438
- * @param path Путь к API-ресурсу
439
- * @param fieldName Имя поля для файла
440
- * @param file Файл для загрузки (Blob или ArrayBuffer)
441
- * @param fileName Имя файла
442
- * @param options Опции запроса (опционально)
443
- * @returns Ответ от API
444
- */
445
- uploadFile<T>(path: string, fieldName: string, file: Blob | ArrayBuffer, fileName: string, options?: RequestOptions): Promise<T>;
446
- }
447
- /**
448
- * API для работы с запросами на слияние
449
- */
450
- declare class PullsApi {
451
- private client;
452
- /**
453
- * Создает новый экземпляр API
454
- * @param client GitVerse клиент
455
- */
456
- constructor(client: GitVerseClient);
457
- /**
458
- * Create a pull request
459
- * @param owner Repository owner
460
- * @param repo Repository name
461
- * @param params Pull request creation parameters
462
- * @param options Опции запроса
463
- * @returns PullRequest
464
- */
465
- create(owner: string, repo: string, params: CreatePullRequestParams, options?: {
466
- signal?: AbortSignal
467
- }): Promise<PullRequest>;
468
- /**
469
- * List pull request commits
470
- * @param owner Owner of the repository (username or organization)
471
- * @param repo Name of the repository without .git extension
472
- * @param pull_number The number that identifies the pull request
473
- * @param queryParams Параметры запроса
474
- * @param options Опции запроса
475
- * @returns Commit[]
476
- */
477
- listCommits(owner: string, repo: string, pull_number: number, queryParams?: {
478
- page?: number
479
- per_page?: number
480
- }, options?: {
481
- signal?: AbortSignal
482
- }): Promise<Commit[]>;
483
- /**
484
- * List pull request files
485
- * @param owner Owner of the repository (username or organization)
486
- * @param repo Name of the repository without .git extension
487
- * @param pull_number The number that identifies the pull request
488
- * @param queryParams Параметры запроса
489
- * @param options Опции запроса
490
- * @returns CommitFiles[]
491
- */
492
- listFiles(owner: string, repo: string, pull_number: number, queryParams?: {
493
- page?: number
494
- per_page?: number
495
- }, options?: {
496
- signal?: AbortSignal
497
- }): Promise<CommitFiles[]>;
498
- /**
499
- * Checks if a pull request has been merged into the base branch.
500
- * @param owner Owner of the repository (username or organization)
501
- * @param repo Name of the repository without .git extension
502
- * @param pull_number The number that identifies the pull request
503
- * @param options Опции запроса
504
- * @returns void
505
- */
506
- isMerged(owner: string, repo: string, pull_number: number, options?: {
507
- signal?: AbortSignal
508
- }): Promise<void>;
509
- /**
510
- * Update a pull request branch
511
- * @param owner Repository owner
512
- * @param repo Repository name
513
- * @param pull_number The number that identifies the pull request
514
- * @param params Expected head SHA
515
- * @param options Опции запроса
516
- * @returns UpdateBranchResponse
517
- */
518
- updateBranch(owner: string, repo: string, pull_number: number, params: UpdateBranchParams, options?: {
519
- signal?: AbortSignal
520
- }): Promise<UpdateBranchResponse>;
4
+ * API для работы с запросами на слияние
5
+ */
6
+ export declare class PullsApi {
7
+ private client;
8
+ /**
9
+ * Создает новый экземпляр API
10
+ * @param client GitVerse клиент
11
+ */
12
+ constructor(client: GitVerseClient);
13
+ /**
14
+ * Create a pull request
15
+ * @param owner Repository owner
16
+ * @param repo Repository name
17
+ * @param params Pull request creation parameters
18
+ * @param options Опции запроса
19
+ * @returns PullRequest
20
+ */
21
+ create(owner: string, repo: string, params: CreatePullRequestParams, options?: {
22
+ signal?: AbortSignal;
23
+ }): Promise<PullRequest>;
24
+ /**
25
+ * List pull request commits
26
+ * @param owner Owner of the repository (username or organization)
27
+ * @param repo Name of the repository without .git extension
28
+ * @param pull_number The number that identifies the pull request
29
+ * @param queryParams Параметры запроса
30
+ * @param options Опции запроса
31
+ * @returns Commit[]
32
+ */
33
+ listCommits(owner: string, repo: string, pull_number: number, queryParams?: {
34
+ page?: number;
35
+ per_page?: number;
36
+ }, options?: {
37
+ signal?: AbortSignal;
38
+ }): Promise<Commit[]>;
39
+ /**
40
+ * List pull request files
41
+ * @param owner Owner of the repository (username or organization)
42
+ * @param repo Name of the repository without .git extension
43
+ * @param pull_number The number that identifies the pull request
44
+ * @param queryParams Параметры запроса
45
+ * @param options Опции запроса
46
+ * @returns CommitFiles[]
47
+ */
48
+ listFiles(owner: string, repo: string, pull_number: number, queryParams?: {
49
+ page?: number;
50
+ per_page?: number;
51
+ }, options?: {
52
+ signal?: AbortSignal;
53
+ }): Promise<CommitFiles[]>;
54
+ /**
55
+ * Checks if a pull request has been merged into the base branch.
56
+ * @param owner Owner of the repository (username or organization)
57
+ * @param repo Name of the repository without .git extension
58
+ * @param pull_number The number that identifies the pull request
59
+ * @param options Опции запроса
60
+ * @returns void
61
+ */
62
+ isMerged(owner: string, repo: string, pull_number: number, options?: {
63
+ signal?: AbortSignal;
64
+ }): Promise<void>;
65
+ /**
66
+ * Update a pull request branch
67
+ * @param owner Repository owner
68
+ * @param repo Repository name
69
+ * @param pull_number The number that identifies the pull request
70
+ * @param params Expected head SHA
71
+ * @param options Опции запроса
72
+ * @returns UpdateBranchResponse
73
+ */
74
+ updateBranch(owner: string, repo: string, pull_number: number, params: UpdateBranchParams, options?: {
75
+ signal?: AbortSignal;
76
+ }): Promise<UpdateBranchResponse>;
521
77
  }
522
- export { PullsApi };