gitverse-api-sdk 5.0.0 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/README.md +1 -21
  2. package/dist/api/actions.d.ts +326 -378
  3. package/dist/api/actions.js +3 -3
  4. package/dist/api/actions.js.map +3 -3
  5. package/dist/api/emails.d.ts +41 -46
  6. package/dist/api/emails.js +3 -3
  7. package/dist/api/emails.js.map +3 -3
  8. package/dist/api/issues.d.ts +264 -391
  9. package/dist/api/issues.js +3 -3
  10. package/dist/api/issues.js.map +3 -3
  11. package/dist/api/organizations.d.ts +68 -7
  12. package/dist/api/organizations.js +3 -3
  13. package/dist/api/organizations.js.map +3 -3
  14. package/dist/api/{branches.d.ts → pages.d.ts} +35 -41
  15. package/dist/api/pages.js +4 -0
  16. package/dist/api/pages.js.map +10 -0
  17. package/dist/api/pulls.d.ts +309 -526
  18. package/dist/api/pulls.js +3 -3
  19. package/dist/api/pulls.js.map +3 -3
  20. package/dist/api/releases.d.ts +183 -244
  21. package/dist/api/releases.js +3 -3
  22. package/dist/api/releases.js.map +3 -3
  23. package/dist/api/repositories.d.ts +859 -395
  24. package/dist/api/repositories.js +3 -3
  25. package/dist/api/repositories.js.map +3 -3
  26. package/dist/api/stars.d.ts +95 -231
  27. package/dist/api/stars.js +3 -3
  28. package/dist/api/stars.js.map +3 -3
  29. package/dist/api/teams.d.ts +96 -122
  30. package/dist/api/teams.js +3 -3
  31. package/dist/api/teams.js.map +3 -3
  32. package/dist/api/users.d.ts +78 -170
  33. package/dist/api/users.js +3 -3
  34. package/dist/api/users.js.map +3 -3
  35. package/dist/client.d.ts +4 -0
  36. package/dist/client.js +3 -3
  37. package/dist/client.js.map +1 -1
  38. package/dist/enums.d.ts +27 -71
  39. package/dist/enums.js +3 -3
  40. package/dist/enums.js.map +3 -3
  41. package/dist/errors.d.ts +12 -10
  42. package/dist/errors.js +2 -2
  43. package/dist/errors.js.map +1 -1
  44. package/dist/index.d.ts +1865 -2422
  45. package/dist/index.js +2 -2
  46. package/dist/index.js.map +3 -3
  47. package/dist/types.d.ts +771 -1689
  48. package/dist/utils.js +1 -2
  49. package/dist/utils.js.map +1 -1
  50. package/package.json +1 -1
  51. package/dist/api/branches.js +0 -4
  52. package/dist/api/branches.js.map +0 -10
  53. package/dist/api/collaborators.d.ts +0 -440
  54. package/dist/api/collaborators.js +0 -4
  55. package/dist/api/collaborators.js.map +0 -10
  56. package/dist/api/commits.d.ts +0 -406
  57. package/dist/api/commits.js +0 -4
  58. package/dist/api/commits.js.map +0 -10
  59. package/dist/api/contents.d.ts +0 -389
  60. package/dist/api/contents.js +0 -4
  61. package/dist/api/contents.js.map +0 -10
  62. package/dist/api/forks.d.ts +0 -387
  63. package/dist/api/forks.js +0 -4
  64. package/dist/api/forks.js.map +0 -10
  65. package/dist/api/git.d.ts +0 -277
  66. package/dist/api/git.js +0 -4
  67. package/dist/api/git.js.map +0 -10
@@ -1,389 +0,0 @@
1
- /**
2
- * Типы содержимого в репозитории
3
- */
4
- declare const ContentType: {
5
- readonly Directory: "dir"
6
- readonly File: "file"
7
- };
8
- /**
9
- * Тип для типов содержимого
10
- */
11
- type ContentType = (typeof ContentType)[keyof typeof ContentType];
12
- /**
13
- * Опции для выполнения HTTP-запросов
14
- */
15
- interface RequestOptions {
16
- /**
17
- * AbortSignal для отмены запроса
18
- * @example
19
- * const controller = new AbortController();
20
- * const promise = client.users.getCurrent({ signal: controller.signal });
21
- * controller.abort(); // Отменяет запрос
22
- */
23
- signal?: AbortSignal;
24
- }
25
- /**
26
- * Интерфейс информации о файле
27
- */
28
- interface FileContent {
29
- /** Имя файла */
30
- name: string;
31
- /** Путь к файлу относительно корня репозитория */
32
- path: string;
33
- /** SHA-хеш содержимого файла */
34
- sha: string;
35
- /** Размер файла в байтах */
36
- size: number;
37
- /** Тип объекта (всегда 'file' для файла) */
38
- type: typeof ContentType.File;
39
- /** Кодировка содержимого файла (например, 'base64') */
40
- encoding?: string;
41
- /** Содержимое файла в формате Base64 */
42
- content?: string;
43
- /** Определенный язык программирования файла */
44
- language?: string;
45
- /** API-ссылка на файл */
46
- url?: string;
47
- /** Веб-ссылка на файл */
48
- html_url?: string;
49
- /** Git-URL для файла */
50
- git_url?: string;
51
- /** URL для скачивания файла */
52
- download_url?: string;
53
- }
54
- /**
55
- * Интерфейс информации о директории
56
- */
57
- interface DirectoryContent {
58
- /** Тип объекта (всегда 'dir' для директории) */
59
- type: typeof ContentType.Directory;
60
- /** Размер директории (всегда 0) */
61
- size: number;
62
- /** Имя директории */
63
- name: string;
64
- /** Путь к директории относительно корня репозитория */
65
- path: string;
66
- /** SHA-хеш объекта директории */
67
- sha: string;
68
- /** Список файлов и поддиректорий внутри директории */
69
- entries: Array<FileContent | DirectoryContent>;
70
- }
71
- /**
72
- * Тип для содержимого репозитория (файл или директория)
73
- */
74
- type Content = FileContent | DirectoryContent;
75
- /**
76
- * Интерфейс информации о коммите
77
- */
78
- interface CommitInfo {
79
- /** SHA-хеш коммита */
80
- sha: string;
81
- /** Node ID коммита */
82
- node_id?: string;
83
- /** API-ссылка на коммит */
84
- url: string;
85
- /** Веб-ссылка на коммит */
86
- html_url: string;
87
- /** Информация об авторе коммита */
88
- author: {
89
- /** Имя автора */
90
- name: string
91
- /** Email автора */
92
- email: string
93
- /** Дата создания коммита */
94
- date: string
95
- };
96
- /** Информация о коммиттере */
97
- committer: {
98
- /** Имя коммиттера */
99
- name: string
100
- /** Email коммиттера */
101
- email: string
102
- /** Дата коммита */
103
- date: string
104
- };
105
- /** Сообщение коммита */
106
- message: string;
107
- /** Информация о дереве коммита */
108
- tree: {
109
- /** SHA-хеш дерева */
110
- sha: string
111
- /** URL дерева */
112
- url: string
113
- };
114
- /** Родительские коммиты */
115
- parents: Array<{
116
- /** SHA-хеш родительского коммита */
117
- sha: string
118
- /** API-ссылка на родительский коммит */
119
- url: string
120
- /** Веб-ссылка на родительский коммит */
121
- html_url: string
122
- }>;
123
- }
124
- /**
125
- * Интерфейс ответа на создание файла
126
- */
127
- interface FileCreationResponse {
128
- /** Информация о созданном файле */
129
- content: FileContent;
130
- /** Информация о коммите */
131
- commit: CommitInfo;
132
- }
133
- /**
134
- * Интерфейс ответа на удаление файла
135
- */
136
- interface FileDeletionResponse {
137
- /** Информация о содержимом (null для удаленного файла) */
138
- content: null;
139
- /** Информация о коммите удаления */
140
- commit: CommitInfo;
141
- }
142
- /**
143
- * Параметры для получения содержимого репозитория
144
- */
145
- interface GetContentParams {
146
- /** Ссылка на ветку/тег/коммит (по умолчанию основная ветка) */
147
- ref?: string;
148
- /** Уровень детализации информации о коммите (по умолчанию "fast") */
149
- scope?: "fast" | "full";
150
- }
151
- /**
152
- * Интерфейс параметров для создания файла
153
- */
154
- interface CreateFileParams {
155
- /** Имя ветки, в которую будет добавлен файл (по умолчанию - основная ветка) */
156
- branch?: string;
157
- /** Содержимое файла, закодированное в Base64 */
158
- content: string;
159
- /** Сообщение коммита */
160
- message?: string;
161
- /** Имя новой ветки, которая будет создана для этого изменения */
162
- new_branch?: string;
163
- /** Добавлять ли подпись (Signed-off-by) в коммит */
164
- signoff?: boolean;
165
- /** Путь исходного файла (для копирования/перемещения) */
166
- from_path?: string;
167
- /** SHA-хеш файла (для обновления существующего файла) */
168
- sha?: string;
169
- }
170
- /**
171
- * Интерфейс параметров для обновления файла
172
- */
173
- interface UpdateFileParams {
174
- /** Имя ветки, в которой находится файл */
175
- branch?: string;
176
- /** Новое содержимое файла, закодированное в Base64 */
177
- content: string;
178
- /** SHA-хеш текущего содержимого файла */
179
- sha: string;
180
- /** Если файл переименовывается, указывает старый путь к файлу */
181
- from_path?: string;
182
- /** Сообщение коммита */
183
- message?: string;
184
- /** Имя новой ветки, которая будет создана для этого изменения */
185
- new_branch?: string;
186
- /** Добавлять ли подпись (Signed-off-by) в коммит */
187
- signoff?: boolean;
188
- }
189
- /**
190
- * Интерфейс параметров для удаления файла
191
- */
192
- interface DeleteFileParams {
193
- /** SHA-хеш текущего содержимого файла */
194
- sha: string;
195
- /** Имя ветки, в которой находится файл */
196
- branch?: string;
197
- /** Сообщение коммита */
198
- message?: string;
199
- /** Имя новой ветки, которая будет создана для этого изменения */
200
- new_branch?: string;
201
- /** Добавлять ли подпись (Signed-off-by) в коммит */
202
- signoff?: boolean;
203
- }
204
- /**
205
- * Предупреждение об устаревшей версии API
206
- */
207
- declare class ApiVersionWarning {
208
- /** Текущая используемая версия */
209
- readonly currentVersion: string;
210
- /** Последняя доступная версия */
211
- readonly latestVersion: string;
212
- /** Дата вывода из эксплуатации */
213
- readonly decommissioning?: string;
214
- constructor(currentVersion: string, latestVersion: string, decommissioning?: string);
215
- /**
216
- * Возвращает сообщение о предупреждении
217
- */
218
- getMessage(): string;
219
- }
220
- declare const HTTPMethods: {
221
- readonly DELETE: "DELETE"
222
- readonly GET: "GET"
223
- readonly PATCH: "PATCH"
224
- readonly POST: "POST"
225
- readonly PUT: "PUT"
226
- };
227
- type HTTPMethods = (typeof HTTPMethods)[keyof typeof HTTPMethods];
228
- /**
229
- * Параметры для конфигурации GitVerse клиента
230
- */
231
- interface GitVerseClientConfig {
232
- /**
233
- * Базовый URL API GitVerse
234
- * @default 'https://api.gitverse.ru'
235
- */
236
- baseUrl?: string;
237
- /**
238
- * Токен доступа для авторизации в API
239
- */
240
- token?: string;
241
- /**
242
- * Версия API
243
- * @default '1'
244
- */
245
- apiVersion?: string;
246
- }
247
- /**
248
- * Основной класс для работы с GitVerse API
249
- */
250
- declare class GitVerseClient {
251
- private baseUrl;
252
- private token?;
253
- private apiVersion;
254
- /**
255
- * Callback для обработки предупреждений об устаревшей версии API
256
- */
257
- onApiVersionWarning?: (warning: ApiVersionWarning) => void;
258
- /**
259
- * Создает новый экземпляр GitVerse клиента
260
- * @param config Конфигурация клиента
261
- */
262
- constructor(config?: GitVerseClientConfig);
263
- /**
264
- * Устанавливает токен авторизации
265
- * @param token Токен доступа
266
- */
267
- setToken(token: string): void;
268
- /**
269
- * Извлекает информацию о Rate Limit из заголовков ответа
270
- */
271
- private extractRateLimitInfo;
272
- /**
273
- * Извлекает информацию о версии API из заголовков ответа
274
- */
275
- private extractApiVersionInfo;
276
- /**
277
- * Извлекает метаданные из заголовков ответа
278
- */
279
- private extractMetadata;
280
- /**
281
- * Выполняет API-запрос с учетом авторизации и версии API
282
- * @param path Путь к API-ресурсу
283
- * @param method HTTP-метод
284
- * @param body Тело запроса (опционально)
285
- * @param options Опции запроса (опционально)
286
- * @returns Ответ от API
287
- * @throws {RateLimitError} При превышении лимита запросов (429)
288
- * @throws {GitVerseApiError} При других ошибках API
289
- */
290
- request<T>(path: string, method: HTTPMethods, body?: unknown, options?: RequestOptions): Promise<T>;
291
- /**
292
- * Выполняет GET-запрос
293
- * @param path Путь к API-ресурсу
294
- * @param options Опции запроса (опционально)
295
- * @returns Ответ от API
296
- */
297
- get<T>(path: string, options?: RequestOptions): Promise<T>;
298
- /**
299
- * Выполняет POST-запрос
300
- * @param path Путь к API-ресурсу
301
- * @param body Тело запроса
302
- * @param options Опции запроса (опционально)
303
- * @returns Ответ от API
304
- */
305
- post<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
306
- /**
307
- * Выполняет PUT-запрос
308
- * @param path Путь к API-ресурсу
309
- * @param body Тело запроса
310
- * @param options Опции запроса (опционально)
311
- * @returns Ответ от API
312
- */
313
- put<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
314
- /**
315
- * Выполняет DELETE-запрос
316
- * @param path Путь к API-ресурсу
317
- * @param body Тело запроса (опционально)
318
- * @param options Опции запроса (опционально)
319
- * @returns Ответ от API
320
- */
321
- delete<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
322
- /**
323
- * Выполняет PATCH-запрос
324
- * @param path Путь к API-ресурсу
325
- * @param body Тело запроса
326
- * @param options Опции запроса (опционально)
327
- * @returns Ответ от API
328
- */
329
- patch<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
330
- /**
331
- * Выполняет загрузку файла через multipart/form-data
332
- * @param path Путь к API-ресурсу
333
- * @param fieldName Имя поля для файла
334
- * @param file Файл для загрузки (Blob или ArrayBuffer)
335
- * @param fileName Имя файла
336
- * @param options Опции запроса (опционально)
337
- * @returns Ответ от API
338
- */
339
- uploadFile<T>(path: string, fieldName: string, file: Blob | ArrayBuffer, fileName: string, options?: RequestOptions): Promise<T>;
340
- }
341
- /**
342
- * API для работы с содержимым репозитория (файлами и папками)
343
- */
344
- declare class ContentsApi {
345
- private client;
346
- /**
347
- * Создает новый экземпляр API для работы с содержимым репозитория
348
- * @param client GitVerse клиент
349
- */
350
- constructor(client: GitVerseClient);
351
- /**
352
- * Получает содержимое файла или список файлов в директории
353
- * @param owner Владелец репозитория
354
- * @param repo Название репозитория
355
- * @param path Путь к файлу или директории
356
- * @param params Параметры запроса (ref, scope)
357
- * @param options Опции запроса
358
- * @returns Содержимое файла или директории
359
- */
360
- get(owner: string, repo: string, path: string, params?: GetContentParams, options?: RequestOptions): Promise<Content>;
361
- /**
362
- * Создает новый файл в репозитории
363
- * @param owner Владелец репозитория
364
- * @param repo Название репозитория
365
- * @param path Путь к файлу, который будет создан
366
- * @param params Параметры создания файла
367
- * @returns Информация о созданном файле и коммите
368
- */
369
- createFile(owner: string, repo: string, path: string, params: CreateFileParams, options?: RequestOptions): Promise<FileCreationResponse>;
370
- /**
371
- * Обновляет существующий файл в репозитории
372
- * @param owner Владелец репозитория
373
- * @param repo Название репозитория
374
- * @param path Путь к файлу, который будет обновлен
375
- * @param params Параметры обновления файла
376
- * @returns Информация об обновленном файле и коммите
377
- */
378
- updateFile(owner: string, repo: string, path: string, params: UpdateFileParams, options?: RequestOptions): Promise<FileCreationResponse>;
379
- /**
380
- * Удаляет файл из репозитория
381
- * @param owner Владелец репозитория
382
- * @param repo Название репозитория
383
- * @param path Путь к файлу, который будет удален
384
- * @param params Параметры удаления файла
385
- * @returns Информация об удаленном файле и коммите
386
- */
387
- deleteFile(owner: string, repo: string, path: string, params: DeleteFileParams, options?: RequestOptions): Promise<FileDeletionResponse>;
388
- }
389
- export { ContentsApi };
@@ -1,4 +0,0 @@
1
- class A{client;constructor(d){this.client=d}get(d,f,j,b,k){let v=new URLSearchParams;if(b?.ref)v.append("ref",b.ref);if(b?.scope)v.append("scope",b.scope);let x=v.toString(),z=`/repos/${d}/${f}/contents/${j}${x?`?${x}`:""}`;return this.client.get(z,k)}createFile(d,f,j,b,k){return this.client.put(`/repos/${d}/${f}/contents/${j}`,b,k)}updateFile(d,f,j,b,k){return this.client.put(`/repos/${d}/${f}/contents/${j}`,b,k)}deleteFile(d,f,j,b,k){return this.client.delete(`/repos/${d}/${f}/contents/${j}`,b,k)}}export{A as ContentsApi};
2
- export{A as a};
3
-
4
- //# debugId=434F8CC05BE6612264756E2164756E21
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/api/contents.ts"],
4
- "sourcesContent": [
5
- "import type { GitVerseClient } from \"../client\";\nimport type {\n Content,\n CreateFileParams,\n DeleteFileParams,\n FileCreationResponse,\n FileDeletionResponse,\n GetContentParams,\n RequestOptions,\n UpdateFileParams,\n} from \"../types\";\n\n/**\n * API для работы с содержимым репозитория (файлами и папками)\n */\nexport class ContentsApi {\n private client: GitVerseClient;\n\n /**\n * Создает новый экземпляр API для работы с содержимым репозитория\n * @param client GitVerse клиент\n */\n constructor(client: GitVerseClient) {\n this.client = client;\n }\n\n /**\n * Получает содержимое файла или список файлов в директории\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param path Путь к файлу или директории\n * @param params Параметры запроса (ref, scope)\n * @param options Опции запроса\n * @returns Содержимое файла или директории\n */\n get(\n owner: string,\n repo: string,\n path: string,\n params?: GetContentParams,\n options?: RequestOptions,\n ): Promise<Content> {\n const searchParams = new URLSearchParams();\n if (params?.ref) searchParams.append(\"ref\", params.ref);\n if (params?.scope) searchParams.append(\"scope\", params.scope);\n\n const queryString = searchParams.toString();\n const url = `/repos/${owner}/${repo}/contents/${path}${queryString ? `?${queryString}` : \"\"}`;\n\n return this.client.get<Content>(url, options);\n }\n\n /**\n * Создает новый файл в репозитории\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param path Путь к файлу, который будет создан\n * @param params Параметры создания файла\n * @returns Информация о созданном файле и коммите\n */\n createFile(\n owner: string,\n repo: string,\n path: string,\n params: CreateFileParams,\n options?: RequestOptions,\n ): Promise<FileCreationResponse> {\n return this.client.put<FileCreationResponse>(`/repos/${owner}/${repo}/contents/${path}`, params, options);\n }\n\n /**\n * Обновляет существующий файл в репозитории\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param path Путь к файлу, который будет обновлен\n * @param params Параметры обновления файла\n * @returns Информация об обновленном файле и коммите\n */\n updateFile(\n owner: string,\n repo: string,\n path: string,\n params: UpdateFileParams,\n options?: RequestOptions,\n ): Promise<FileCreationResponse> {\n return this.client.put<FileCreationResponse>(`/repos/${owner}/${repo}/contents/${path}`, params, options);\n }\n\n /**\n * Удаляет файл из репозитория\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param path Путь к файлу, который будет удален\n * @param params Параметры удаления файла\n * @returns Информация об удаленном файле и коммите\n */\n deleteFile(\n owner: string,\n repo: string,\n path: string,\n params: DeleteFileParams,\n options?: RequestOptions,\n ): Promise<FileDeletionResponse> {\n return this.client.delete<FileDeletionResponse>(`/repos/${owner}/${repo}/contents/${path}`, params, options);\n }\n}\n"
6
- ],
7
- "mappings": "AAeO,MAAM,CAAY,CACf,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAYhB,GAAG,CACD,EACA,EACA,EACA,EACA,EACkB,CAClB,IAAM,EAAe,IAAI,gBACzB,GAAI,GAAQ,IAAK,EAAa,OAAO,MAAO,EAAO,GAAG,EACtD,GAAI,GAAQ,MAAO,EAAa,OAAO,QAAS,EAAO,KAAK,EAE5D,IAAM,EAAc,EAAa,SAAS,EACpC,EAAM,UAAU,KAAS,cAAiB,IAAO,EAAc,IAAI,IAAgB,KAEzF,OAAO,KAAK,OAAO,IAAa,EAAK,CAAO,EAW9C,UAAU,CACR,EACA,EACA,EACA,EACA,EAC+B,CAC/B,OAAO,KAAK,OAAO,IAA0B,UAAU,KAAS,cAAiB,IAAQ,EAAQ,CAAO,EAW1G,UAAU,CACR,EACA,EACA,EACA,EACA,EAC+B,CAC/B,OAAO,KAAK,OAAO,IAA0B,UAAU,KAAS,cAAiB,IAAQ,EAAQ,CAAO,EAW1G,UAAU,CACR,EACA,EACA,EACA,EACA,EAC+B,CAC/B,OAAO,KAAK,OAAO,OAA6B,UAAU,KAAS,cAAiB,IAAQ,EAAQ,CAAO,EAE/G",
8
- "debugId": "434F8CC05BE6612264756E2164756E21",
9
- "names": []
10
- }