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,4 +0,0 @@
1
- class k{client;constructor(b){this.client=b}get(b,d,f,g){return this.client.get(`/repos/${b}/${d}/contents/${f}`,g)}createFile(b,d,f,g,j){return this.client.put(`/repos/${b}/${d}/contents/${f}`,g,j)}updateFile(b,d,f,g,j){return this.client.put(`/repos/${b}/${d}/contents/${f}`,g,j)}deleteFile(b,d,f,g,j){return this.client.delete(`/repos/${b}/${d}/contents/${f}`,g,j)}}export{k as ContentsApi};
2
- export{k as j};
3
-
4
- //# debugId=F201C5547770C26864756E2164756E21
@@ -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 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 * @returns Содержимое файла или директории\n */\n get(owner: string, repo: string, path: string, options?: RequestOptions): Promise<Content> {\n return this.client.get<Content>(`/repos/${owner}/${repo}/contents/${path}`, 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": "AAcO,MAAM,CAAY,CACf,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAUhB,GAAG,CAAC,EAAe,EAAc,EAAc,EAA4C,CACzF,OAAO,KAAK,OAAO,IAAa,UAAU,KAAS,cAAiB,IAAQ,CAAO,EAWrF,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": "F201C5547770C26864756E2164756E21",
9
- "names": []
10
- }
@@ -1,344 +0,0 @@
1
- /**
2
- * Типы пользователей в системе
3
- */
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
- * Опции для выполнения HTTP-запросов
26
- */
27
- interface RequestOptions {
28
- /**
29
- * AbortSignal для отмены запроса
30
- * @example
31
- * const controller = new AbortController();
32
- * const promise = client.users.getCurrent({ signal: controller.signal });
33
- * controller.abort(); // Отменяет запрос
34
- */
35
- signal?: AbortSignal;
36
- }
37
- /**
38
- * Интерфейс пользователя
39
- */
40
- interface User2 {
41
- /** Уникальный идентификатор пользователя */
42
- id: number;
43
- /** Имя пользователя */
44
- name?: string;
45
- /** Логин пользователя */
46
- login: string;
47
- /** Полное имя пользователя */
48
- full_name?: string;
49
- /** Тип аккаунта: пользователь или организация */
50
- type: UserType;
51
- /** Биография пользователя */
52
- bio?: string;
53
- /** Электронная почта пользователя */
54
- email?: string;
55
- /** URL аватара пользователя */
56
- avatar_url: string;
57
- /** Веб-ссылка на профиль пользователя */
58
- html_url: string;
59
- /** API-ссылка на профиль пользователя */
60
- url?: string;
61
- /** API-ссылка на список подписчиков пользователя */
62
- followers_url?: string;
63
- /** API-ссылка на репозитории пользователя */
64
- repos_url?: string;
65
- /** API-ссылка на организации пользователя */
66
- organizations_url?: string;
67
- /** Права администратора */
68
- site_admin: boolean;
69
- /** Местоположение пользователя */
70
- location?: string;
71
- /** Верификация аккаунта */
72
- is_verified?: boolean;
73
- /** Настройки приватности профиля */
74
- visibility?: VisibilityType;
75
- /** Персональный веб-сайт */
76
- website?: string;
77
- /** Количество подписчиков */
78
- followers?: number;
79
- /** Количество подписок */
80
- following?: number;
81
- /** Количество публичных репозиториев */
82
- public_repos?: number;
83
- /** Количество репозиториев, отмеченных звездой */
84
- stars_count?: number;
85
- /** Дата создания аккаунта */
86
- created_at: string;
87
- /** Дата последнего обновления аккаунта */
88
- updated_at?: string;
89
- }
90
- /**
91
- * Интерфейс репозитория
92
- */
93
- interface Repository {
94
- /** Уникальный идентификатор репозитория */
95
- id: number;
96
- /** Информация о владельце репозитория */
97
- owner: User2;
98
- /** Название репозитория */
99
- name: string;
100
- /** Полное название репозитория в формате {owner}/{repo} */
101
- full_name: string;
102
- /** Описание репозитория */
103
- 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
- /** Основной язык программирования, используемый в репозитории */
115
- 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
- /** Зеркало репозитория (если доступно) */
127
- 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;
186
- }
187
- /**
188
- * Интерфейс параметров для создания форка
189
- */
190
- interface CreateForkParams {
191
- /** Имя нового форка */
192
- name?: string;
193
- /** Название организации, в которую будет создан форк */
194
- organization?: string;
195
- /** Описание нового форка */
196
- description?: string;
197
- }
198
- /**
199
- * Предупреждение об устаревшей версии API
200
- */
201
- declare class ApiVersionWarning {
202
- /** Текущая используемая версия */
203
- readonly currentVersion: string;
204
- /** Последняя доступная версия */
205
- readonly latestVersion: string;
206
- /** Дата вывода из эксплуатации */
207
- readonly decommissioning?: string;
208
- constructor(currentVersion: string, latestVersion: string, decommissioning?: string);
209
- /**
210
- * Возвращает сообщение о предупреждении
211
- */
212
- getMessage(): string;
213
- }
214
- declare const HTTPMethods: {
215
- readonly DELETE: "DELETE"
216
- readonly GET: "GET"
217
- readonly PATCH: "PATCH"
218
- readonly POST: "POST"
219
- readonly PUT: "PUT"
220
- };
221
- type HTTPMethods = (typeof HTTPMethods)[keyof typeof HTTPMethods];
222
- /**
223
- * Параметры для конфигурации GitVerse клиента
224
- */
225
- interface GitVerseClientConfig {
226
- /**
227
- * Базовый URL API GitVerse
228
- * @default 'https://api.gitverse.ru'
229
- */
230
- baseUrl?: string;
231
- /**
232
- * Токен доступа для авторизации в API
233
- */
234
- token?: string;
235
- /**
236
- * Версия API
237
- * @default '1'
238
- */
239
- apiVersion?: string;
240
- }
241
- /**
242
- * Основной класс для работы с GitVerse API
243
- */
244
- declare class GitVerseClient {
245
- private baseUrl;
246
- private token?;
247
- private apiVersion;
248
- /**
249
- * Callback для обработки предупреждений об устаревшей версии API
250
- */
251
- onApiVersionWarning?: (warning: ApiVersionWarning) => void;
252
- /**
253
- * Создает новый экземпляр GitVerse клиента
254
- * @param config Конфигурация клиента
255
- */
256
- constructor(config?: GitVerseClientConfig);
257
- /**
258
- * Устанавливает токен авторизации
259
- * @param token Токен доступа
260
- */
261
- setToken(token: string): void;
262
- /**
263
- * Извлекает информацию о Rate Limit из заголовков ответа
264
- */
265
- private extractRateLimitInfo;
266
- /**
267
- * Извлекает информацию о версии API из заголовков ответа
268
- */
269
- private extractApiVersionInfo;
270
- /**
271
- * Извлекает метаданные из заголовков ответа
272
- */
273
- private extractMetadata;
274
- /**
275
- * Выполняет API-запрос с учетом авторизации и версии API
276
- * @param path Путь к API-ресурсу
277
- * @param method HTTP-метод
278
- * @param body Тело запроса (опционально)
279
- * @param options Опции запроса (опционально)
280
- * @returns Ответ от API
281
- * @throws {RateLimitError} При превышении лимита запросов (429)
282
- * @throws {GitVerseApiError} При других ошибках API
283
- */
284
- request<T>(path: string, method: HTTPMethods, body?: unknown, options?: RequestOptions): Promise<T>;
285
- /**
286
- * Выполняет GET-запрос
287
- * @param path Путь к API-ресурсу
288
- * @param options Опции запроса (опционально)
289
- * @returns Ответ от API
290
- */
291
- get<T>(path: string, options?: RequestOptions): Promise<T>;
292
- /**
293
- * Выполняет POST-запрос
294
- * @param path Путь к API-ресурсу
295
- * @param body Тело запроса
296
- * @param options Опции запроса (опционально)
297
- * @returns Ответ от API
298
- */
299
- post<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
300
- /**
301
- * Выполняет PUT-запрос
302
- * @param path Путь к API-ресурсу
303
- * @param body Тело запроса
304
- * @param options Опции запроса (опционально)
305
- * @returns Ответ от API
306
- */
307
- put<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
308
- /**
309
- * Выполняет DELETE-запрос
310
- * @param path Путь к API-ресурсу
311
- * @param body Тело запроса (опционально)
312
- * @param options Опции запроса (опционально)
313
- * @returns Ответ от API
314
- */
315
- delete<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
316
- /**
317
- * Выполняет PATCH-запрос
318
- * @param path Путь к API-ресурсу
319
- * @param body Тело запроса
320
- * @param options Опции запроса (опционально)
321
- * @returns Ответ от API
322
- */
323
- patch<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
324
- }
325
- /**
326
- * API для работы с форками репозиториев
327
- */
328
- declare class ForksApi {
329
- private client;
330
- /**
331
- * Создает новый экземпляр API для работы с форками
332
- * @param client GitVerse клиент
333
- */
334
- constructor(client: GitVerseClient);
335
- /**
336
- * Создает форк репозитория
337
- * @param owner Владелец исходного репозитория
338
- * @param repo Название исходного репозитория
339
- * @param params Параметры создания форка
340
- * @returns Информация о созданном форке
341
- */
342
- create(owner: string, repo: string, params?: CreateForkParams, options?: RequestOptions): Promise<Repository>;
343
- }
344
- export { ForksApi };
package/dist/api/forks.js DELETED
@@ -1,4 +0,0 @@
1
- import{A as d}from"../utils.js";class q{client;constructor(b){this.client=b}async create(b,g,h,j){let k=await this.client.post(`/repos/${b}/${g}/forks`,h,j);return d(k)}}export{q as ForksApi};
2
- export{q as k};
3
-
4
- //# debugId=BB9805D9B95F3B2964756E2164756E21
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/api/forks.ts"],
4
- "sourcesContent": [
5
- "import type { GitVerseClient } from \"../client\";\nimport type { CreateForkParams, Repository, RequestOptions } from \"../types\";\nimport { fixRepositoryUrls } from \"../utils\";\n\n/**\n * API для работы с форками репозиториев\n */\nexport class ForksApi {\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 params Параметры создания форка\n * @returns Информация о созданном форке\n */\n async create(owner: string, repo: string, params?: CreateForkParams, options?: RequestOptions): Promise<Repository> {\n const repository = await this.client.post<Repository>(`/repos/${owner}/${repo}/forks`, params, options);\n return fixRepositoryUrls(repository as unknown as Record<string, unknown>) as unknown as Repository;\n }\n}\n"
6
- ],
7
- "mappings": "gCAOO,MAAM,CAAS,CACZ,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,OAUV,OAAM,CAAC,EAAe,EAAc,EAA2B,EAA+C,CAClH,IAAM,EAAa,MAAM,KAAK,OAAO,KAAiB,UAAU,KAAS,UAAc,EAAQ,CAAO,EACtG,OAAO,EAAkB,CAAgD,EAE7E",
8
- "debugId": "BB9805D9B95F3B2964756E2164756E21",
9
- "names": []
10
- }
package/dist/api/git.d.ts DELETED
@@ -1,247 +0,0 @@
1
- /**
2
- * Опции для выполнения HTTP-запросов
3
- */
4
- interface RequestOptions {
5
- /**
6
- * AbortSignal для отмены запроса
7
- * @example
8
- * const controller = new AbortController();
9
- * const promise = client.users.getCurrent({ signal: controller.signal });
10
- * controller.abort(); // Отменяет запрос
11
- */
12
- signal?: AbortSignal;
13
- }
14
- /**
15
- * Интерфейс Git-ссылки (reference)
16
- */
17
- interface Reference {
18
- /** Имя ссылки (например, refs/heads/main) */
19
- ref: string;
20
- /** Node ID */
21
- node_id?: string;
22
- /** API-ссылка */
23
- url: string;
24
- /** Объект, на который указывает ссылка */
25
- object: {
26
- type: string
27
- sha: string
28
- url: string
29
- };
30
- }
31
- /**
32
- * Параметры для создания Git-ссылки
33
- */
34
- interface CreateRefParams {
35
- /** Имя ссылки (например, refs/heads/feature-branch) */
36
- ref: string;
37
- /** SHA-хеш коммита */
38
- sha: string;
39
- }
40
- /**
41
- * Интерфейс Git-дерева
42
- */
43
- interface Tree {
44
- /** SHA-хеш дерева */
45
- sha: string;
46
- /** API-ссылка на дерево */
47
- url: string;
48
- /** Список записей в дереве */
49
- tree: TreeEntry[];
50
- /** Обрезано ли дерево */
51
- truncated: boolean;
52
- }
53
- /**
54
- * Интерфейс записи в Git-дереве
55
- */
56
- interface TreeEntry {
57
- /** Путь к файлу/директории */
58
- path: string;
59
- /** Режим доступа */
60
- mode: string;
61
- /** Тип объекта */
62
- type: "blob" | "tree" | "commit";
63
- /** SHA-хеш объекта */
64
- sha: string;
65
- /** Размер (для blob) */
66
- size?: number;
67
- /** URL объекта */
68
- url: string;
69
- }
70
- /**
71
- * Параметры для создания Git-дерева
72
- */
73
- interface CreateTreeParams {
74
- /** Список записей дерева */
75
- tree: Array<{
76
- path: string
77
- mode: "100644" | "100755" | "040000" | "160000" | "120000"
78
- type: "blob" | "tree" | "commit"
79
- sha?: string
80
- content?: string
81
- }>;
82
- /** SHA-хеш базового дерева */
83
- base_tree?: string;
84
- }
85
- /**
86
- * Предупреждение об устаревшей версии API
87
- */
88
- declare class ApiVersionWarning {
89
- /** Текущая используемая версия */
90
- readonly currentVersion: string;
91
- /** Последняя доступная версия */
92
- readonly latestVersion: string;
93
- /** Дата вывода из эксплуатации */
94
- readonly decommissioning?: string;
95
- constructor(currentVersion: string, latestVersion: string, decommissioning?: string);
96
- /**
97
- * Возвращает сообщение о предупреждении
98
- */
99
- getMessage(): string;
100
- }
101
- declare const HTTPMethods: {
102
- readonly DELETE: "DELETE"
103
- readonly GET: "GET"
104
- readonly PATCH: "PATCH"
105
- readonly POST: "POST"
106
- readonly PUT: "PUT"
107
- };
108
- type HTTPMethods = (typeof HTTPMethods)[keyof typeof HTTPMethods];
109
- /**
110
- * Параметры для конфигурации GitVerse клиента
111
- */
112
- interface GitVerseClientConfig {
113
- /**
114
- * Базовый URL API GitVerse
115
- * @default 'https://api.gitverse.ru'
116
- */
117
- baseUrl?: string;
118
- /**
119
- * Токен доступа для авторизации в API
120
- */
121
- token?: string;
122
- /**
123
- * Версия API
124
- * @default '1'
125
- */
126
- apiVersion?: string;
127
- }
128
- /**
129
- * Основной класс для работы с GitVerse API
130
- */
131
- declare class GitVerseClient {
132
- private baseUrl;
133
- private token?;
134
- private apiVersion;
135
- /**
136
- * Callback для обработки предупреждений об устаревшей версии API
137
- */
138
- onApiVersionWarning?: (warning: ApiVersionWarning) => void;
139
- /**
140
- * Создает новый экземпляр GitVerse клиента
141
- * @param config Конфигурация клиента
142
- */
143
- constructor(config?: GitVerseClientConfig);
144
- /**
145
- * Устанавливает токен авторизации
146
- * @param token Токен доступа
147
- */
148
- setToken(token: string): void;
149
- /**
150
- * Извлекает информацию о Rate Limit из заголовков ответа
151
- */
152
- private extractRateLimitInfo;
153
- /**
154
- * Извлекает информацию о версии API из заголовков ответа
155
- */
156
- private extractApiVersionInfo;
157
- /**
158
- * Извлекает метаданные из заголовков ответа
159
- */
160
- private extractMetadata;
161
- /**
162
- * Выполняет API-запрос с учетом авторизации и версии API
163
- * @param path Путь к API-ресурсу
164
- * @param method HTTP-метод
165
- * @param body Тело запроса (опционально)
166
- * @param options Опции запроса (опционально)
167
- * @returns Ответ от API
168
- * @throws {RateLimitError} При превышении лимита запросов (429)
169
- * @throws {GitVerseApiError} При других ошибках API
170
- */
171
- request<T>(path: string, method: HTTPMethods, body?: unknown, options?: RequestOptions): Promise<T>;
172
- /**
173
- * Выполняет GET-запрос
174
- * @param path Путь к API-ресурсу
175
- * @param options Опции запроса (опционально)
176
- * @returns Ответ от API
177
- */
178
- get<T>(path: string, options?: RequestOptions): Promise<T>;
179
- /**
180
- * Выполняет POST-запрос
181
- * @param path Путь к API-ресурсу
182
- * @param body Тело запроса
183
- * @param options Опции запроса (опционально)
184
- * @returns Ответ от API
185
- */
186
- post<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
187
- /**
188
- * Выполняет PUT-запрос
189
- * @param path Путь к API-ресурсу
190
- * @param body Тело запроса
191
- * @param options Опции запроса (опционально)
192
- * @returns Ответ от API
193
- */
194
- put<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
195
- /**
196
- * Выполняет DELETE-запрос
197
- * @param path Путь к API-ресурсу
198
- * @param body Тело запроса (опционально)
199
- * @param options Опции запроса (опционально)
200
- * @returns Ответ от API
201
- */
202
- delete<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
203
- /**
204
- * Выполняет PATCH-запрос
205
- * @param path Путь к API-ресурсу
206
- * @param body Тело запроса
207
- * @param options Опции запроса (опционально)
208
- * @returns Ответ от API
209
- */
210
- patch<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
211
- }
212
- /**
213
- * API для работы с низкоуровневыми Git-объектами
214
- */
215
- declare class GitApi {
216
- private client;
217
- /**
218
- * Создает новый экземпляр API для работы с Git-объектами
219
- * @param client GitVerse клиент
220
- */
221
- constructor(client: GitVerseClient);
222
- /**
223
- * Создает новую Git-ссылку (reference)
224
- * @param owner Владелец репозитория
225
- * @param repo Название репозитория
226
- * @param params Параметры создания ссылки
227
- * @returns Созданная ссылка
228
- */
229
- createRef(owner: string, repo: string, params: CreateRefParams, options?: RequestOptions): Promise<Reference>;
230
- /**
231
- * Создает новое Git-дерево
232
- * @param owner Владелец репозитория
233
- * @param repo Название репозитория
234
- * @param params Параметры создания дерева
235
- * @returns Созданное дерево
236
- */
237
- createTree(owner: string, repo: string, params: CreateTreeParams, options?: RequestOptions): Promise<Tree>;
238
- /**
239
- * Получает Git-дерево по SHA
240
- * @param owner Владелец репозитория
241
- * @param repo Название репозитория
242
- * @param sha SHA-хеш дерева
243
- * @returns Информация о дереве
244
- */
245
- getTree(owner: string, repo: string, sha: string, options?: RequestOptions): Promise<Tree>;
246
- }
247
- export { GitApi };
package/dist/api/git.js DELETED
@@ -1,4 +0,0 @@
1
- class j{client;constructor(b){this.client=b}createRef(b,d,f,g){return this.client.post(`/repos/${b}/${d}/git/refs`,f,g)}createTree(b,d,f,g){return this.client.post(`/repos/${b}/${d}/git/trees`,f,g)}getTree(b,d,f,g){return this.client.get(`/repos/${b}/${d}/git/trees/${f}`,g)}}export{j as GitApi};
2
- export{j as c};
3
-
4
- //# debugId=EF1921B77062F23D64756E2164756E21
@@ -1,10 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/api/git.ts"],
4
- "sourcesContent": [
5
- "import type { GitVerseClient } from \"../client\";\nimport type { CreateRefParams, CreateTreeParams, Reference, RequestOptions, Tree } from \"../types\";\n\n/**\n * API для работы с низкоуровневыми Git-объектами\n */\nexport class GitApi {\n private client: GitVerseClient;\n\n /**\n * Создает новый экземпляр API для работы с Git-объектами\n * @param client GitVerse клиент\n */\n constructor(client: GitVerseClient) {\n this.client = client;\n }\n\n /**\n * Создает новую Git-ссылку (reference)\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param params Параметры создания ссылки\n * @returns Созданная ссылка\n */\n createRef(owner: string, repo: string, params: CreateRefParams, options?: RequestOptions): Promise<Reference> {\n return this.client.post<Reference>(`/repos/${owner}/${repo}/git/refs`, params, options);\n }\n\n /**\n * Создает новое Git-дерево\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param params Параметры создания дерева\n * @returns Созданное дерево\n */\n createTree(owner: string, repo: string, params: CreateTreeParams, options?: RequestOptions): Promise<Tree> {\n return this.client.post<Tree>(`/repos/${owner}/${repo}/git/trees`, params, options);\n }\n\n /**\n * Получает Git-дерево по SHA\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param sha SHA-хеш дерева\n * @returns Информация о дереве\n */\n getTree(owner: string, repo: string, sha: string, options?: RequestOptions): Promise<Tree> {\n return this.client.get<Tree>(`/repos/${owner}/${repo}/git/trees/${sha}`, options);\n }\n}\n"
6
- ],
7
- "mappings": "AAMO,MAAM,CAAO,CACV,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAUhB,SAAS,CAAC,EAAe,EAAc,EAAyB,EAA8C,CAC5G,OAAO,KAAK,OAAO,KAAgB,UAAU,KAAS,aAAiB,EAAQ,CAAO,EAUxF,UAAU,CAAC,EAAe,EAAc,EAA0B,EAAyC,CACzG,OAAO,KAAK,OAAO,KAAW,UAAU,KAAS,cAAkB,EAAQ,CAAO,EAUpF,OAAO,CAAC,EAAe,EAAc,EAAa,EAAyC,CACzF,OAAO,KAAK,OAAO,IAAU,UAAU,KAAS,eAAkB,IAAO,CAAO,EAEpF",
8
- "debugId": "EF1921B77062F23D64756E2164756E21",
9
- "names": []
10
- }