gitverse-api-sdk 1.0.0 → 2.0.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 (68) hide show
  1. package/README.md +328 -114
  2. package/dist/api/actions.d.ts +506 -0
  3. package/dist/api/actions.js +4 -0
  4. package/dist/api/actions.js.map +10 -0
  5. package/dist/api/branches.d.ts +154 -0
  6. package/dist/api/branches.js +4 -0
  7. package/dist/api/branches.js.map +10 -0
  8. package/dist/api/collaborators.d.ts +224 -0
  9. package/dist/api/collaborators.js +4 -0
  10. package/dist/api/collaborators.js.map +10 -0
  11. package/dist/api/commits.d.ts +302 -0
  12. package/dist/api/commits.js +4 -0
  13. package/dist/api/commits.js.map +10 -0
  14. package/dist/api/contents.d.ts +345 -0
  15. package/dist/api/contents.js +4 -0
  16. package/dist/api/contents.js.map +10 -0
  17. package/dist/api/emails.d.ts +184 -0
  18. package/dist/api/emails.js +4 -0
  19. package/dist/api/emails.js.map +10 -0
  20. package/dist/api/forks.d.ts +325 -0
  21. package/dist/api/forks.js +4 -0
  22. package/dist/api/forks.js.map +10 -0
  23. package/dist/api/git.d.ts +228 -0
  24. package/dist/api/git.js +4 -0
  25. package/dist/api/git.js.map +10 -0
  26. package/dist/api/issues.d.ts +380 -0
  27. package/dist/api/issues.js +4 -0
  28. package/dist/api/issues.js.map +10 -0
  29. package/dist/api/organizations.d.ts +140 -0
  30. package/dist/api/organizations.js +4 -0
  31. package/dist/api/organizations.js.map +10 -0
  32. package/dist/api/pulls.d.ts +517 -0
  33. package/dist/api/pulls.js +4 -0
  34. package/dist/api/pulls.js.map +10 -0
  35. package/dist/api/releases.d.ts +400 -0
  36. package/dist/api/releases.js +4 -0
  37. package/dist/api/releases.js.map +10 -0
  38. package/dist/api/repositories.d.ts +502 -0
  39. package/dist/api/repositories.js +4 -0
  40. package/dist/api/repositories.js.map +10 -0
  41. package/dist/api/stars.d.ts +328 -0
  42. package/dist/api/stars.js +4 -0
  43. package/dist/api/stars.js.map +10 -0
  44. package/dist/api/teams.d.ts +287 -0
  45. package/dist/api/teams.js +4 -0
  46. package/dist/api/teams.js.map +10 -0
  47. package/dist/api/users.d.ts +244 -0
  48. package/dist/api/users.js +4 -0
  49. package/dist/api/users.js.map +10 -0
  50. package/dist/client.d.ts +122 -0
  51. package/dist/client.js +4 -0
  52. package/dist/client.js.map +10 -0
  53. package/dist/enums.d.ts +57 -0
  54. package/dist/enums.js +4 -0
  55. package/dist/enums.js.map +10 -0
  56. package/dist/errors.d.ts +78 -0
  57. package/dist/errors.js +4 -0
  58. package/dist/errors.js.map +10 -0
  59. package/dist/index.d.ts +1801 -453
  60. package/dist/index.js +3 -1
  61. package/dist/index.js.map +10 -0
  62. package/dist/types.d.ts +1256 -0
  63. package/dist/types.js +2 -0
  64. package/dist/types.js.map +9 -0
  65. package/dist/utils.d.ts +39 -0
  66. package/dist/utils.js +3 -0
  67. package/dist/utils.js.map +10 -0
  68. package/package.json +99 -7
@@ -0,0 +1,302 @@
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
+ * Интерфейс пользователя
26
+ */
27
+ interface User2 {
28
+ /** Уникальный идентификатор пользователя */
29
+ id: number;
30
+ /** Имя пользователя */
31
+ name?: string;
32
+ /** Логин пользователя */
33
+ login: string;
34
+ /** Полное имя пользователя */
35
+ full_name?: string;
36
+ /** Тип аккаунта: пользователь или организация */
37
+ type: UserType;
38
+ /** Биография пользователя */
39
+ bio?: string;
40
+ /** Электронная почта пользователя */
41
+ email?: string;
42
+ /** URL аватара пользователя */
43
+ avatar_url: string;
44
+ /** Веб-ссылка на профиль пользователя */
45
+ html_url: string;
46
+ /** API-ссылка на профиль пользователя */
47
+ url?: string;
48
+ /** API-ссылка на список подписчиков пользователя */
49
+ followers_url?: string;
50
+ /** API-ссылка на репозитории пользователя */
51
+ repos_url?: string;
52
+ /** API-ссылка на организации пользователя */
53
+ organizations_url?: string;
54
+ /** Права администратора */
55
+ site_admin: boolean;
56
+ /** Местоположение пользователя */
57
+ location?: string;
58
+ /** Верификация аккаунта */
59
+ is_verified?: boolean;
60
+ /** Настройки приватности профиля */
61
+ visibility?: VisibilityType;
62
+ /** Персональный веб-сайт */
63
+ website?: string;
64
+ /** Количество подписчиков */
65
+ followers?: number;
66
+ /** Количество подписок */
67
+ following?: number;
68
+ /** Количество публичных репозиториев */
69
+ public_repos?: number;
70
+ /** Количество репозиториев, отмеченных звездой */
71
+ stars_count?: number;
72
+ /** Дата создания аккаунта */
73
+ created_at: string;
74
+ /** Дата последнего обновления аккаунта */
75
+ updated_at?: string;
76
+ }
77
+ /**
78
+ * Интерфейс коммита
79
+ */
80
+ interface Commit {
81
+ /** SHA-хеш коммита */
82
+ sha: string;
83
+ /** Node ID коммита */
84
+ node_id?: string;
85
+ /** Информация о коммите */
86
+ commit: {
87
+ /** Автор коммита */
88
+ author: {
89
+ name: string
90
+ email: string
91
+ date: string
92
+ }
93
+ /** Коммиттер */
94
+ committer: {
95
+ name: string
96
+ email: string
97
+ date: string
98
+ }
99
+ /** Сообщение коммита */
100
+ message: string
101
+ /** Дерево коммита */
102
+ tree: {
103
+ sha: string
104
+ url: string
105
+ }
106
+ };
107
+ /** Автор (пользователь GitVerse) */
108
+ author?: User2 | null;
109
+ /** Коммиттер (пользователь GitVerse) */
110
+ committer?: User2 | null;
111
+ /** Родительские коммиты */
112
+ parents: Array<{
113
+ sha: string
114
+ url: string
115
+ html_url: string
116
+ }>;
117
+ /** API-ссылка на коммит */
118
+ url: string;
119
+ /** Веб-ссылка на коммит */
120
+ html_url: string;
121
+ }
122
+ /**
123
+ * Параметры для создания коммита
124
+ */
125
+ interface CreateCommitParams {
126
+ /** Сообщение коммита */
127
+ message: string;
128
+ /** SHA-хеш дерева */
129
+ tree: string;
130
+ /** SHA-хеши родительских коммитов */
131
+ parents?: string[];
132
+ /** Информация об авторе */
133
+ author?: {
134
+ name: string
135
+ email: string
136
+ date?: string
137
+ };
138
+ /** Информация о коммиттере */
139
+ committer?: {
140
+ name: string
141
+ email: string
142
+ date?: string
143
+ };
144
+ /** GPG подпись */
145
+ signature?: string;
146
+ }
147
+ /**
148
+ * Предупреждение об устаревшей версии API
149
+ */
150
+ declare class ApiVersionWarning {
151
+ /** Текущая используемая версия */
152
+ readonly currentVersion: string;
153
+ /** Последняя доступная версия */
154
+ readonly latestVersion: string;
155
+ /** Дата вывода из эксплуатации */
156
+ readonly decommissioning?: string;
157
+ constructor(currentVersion: string, latestVersion: string, decommissioning?: string);
158
+ /**
159
+ * Возвращает сообщение о предупреждении
160
+ */
161
+ getMessage(): string;
162
+ }
163
+ declare const HTTPMethods: {
164
+ readonly DELETE: "DELETE"
165
+ readonly GET: "GET"
166
+ readonly PATCH: "PATCH"
167
+ readonly POST: "POST"
168
+ readonly PUT: "PUT"
169
+ };
170
+ type HTTPMethods = (typeof HTTPMethods)[keyof typeof HTTPMethods];
171
+ /**
172
+ * Параметры для конфигурации GitVerse клиента
173
+ */
174
+ interface GitVerseClientConfig {
175
+ /**
176
+ * Базовый URL API GitVerse
177
+ * @default 'https://api.gitverse.ru'
178
+ */
179
+ baseUrl?: string;
180
+ /**
181
+ * Токен доступа для авторизации в API
182
+ */
183
+ token?: string;
184
+ /**
185
+ * Версия API
186
+ * @default '1'
187
+ */
188
+ apiVersion?: string;
189
+ }
190
+ /**
191
+ * Основной класс для работы с GitVerse API
192
+ */
193
+ declare class GitVerseClient {
194
+ private baseUrl;
195
+ private token?;
196
+ private apiVersion;
197
+ /**
198
+ * Callback для обработки предупреждений об устаревшей версии API
199
+ */
200
+ onApiVersionWarning?: (warning: ApiVersionWarning) => void;
201
+ /**
202
+ * Создает новый экземпляр GitVerse клиента
203
+ * @param config Конфигурация клиента
204
+ */
205
+ constructor(config?: GitVerseClientConfig);
206
+ /**
207
+ * Устанавливает токен авторизации
208
+ * @param token Токен доступа
209
+ */
210
+ setToken(token: string): void;
211
+ /**
212
+ * Извлекает информацию о Rate Limit из заголовков ответа
213
+ */
214
+ private extractRateLimitInfo;
215
+ /**
216
+ * Извлекает информацию о версии API из заголовков ответа
217
+ */
218
+ private extractApiVersionInfo;
219
+ /**
220
+ * Извлекает метаданные из заголовков ответа
221
+ */
222
+ private extractMetadata;
223
+ /**
224
+ * Выполняет API-запрос с учетом авторизации и версии API
225
+ * @param path Путь к API-ресурсу
226
+ * @param method HTTP-метод
227
+ * @param body Тело запроса (опционально)
228
+ * @returns Ответ от API
229
+ * @throws {RateLimitError} При превышении лимита запросов (429)
230
+ * @throws {GitVerseApiError} При других ошибках API
231
+ */
232
+ request<T>(path: string, method: HTTPMethods, body?: unknown): Promise<T>;
233
+ /**
234
+ * Выполняет GET-запрос
235
+ * @param path Путь к API-ресурсу
236
+ * @returns Ответ от API
237
+ */
238
+ get<T>(path: string): Promise<T>;
239
+ /**
240
+ * Выполняет POST-запрос
241
+ * @param path Путь к API-ресурсу
242
+ * @param body Тело запроса
243
+ * @returns Ответ от API
244
+ */
245
+ post<T>(path: string, body?: unknown): Promise<T>;
246
+ /**
247
+ * Выполняет PUT-запрос
248
+ * @param path Путь к API-ресурсу
249
+ * @param body Тело запроса
250
+ * @returns Ответ от API
251
+ */
252
+ put<T>(path: string, body?: unknown): Promise<T>;
253
+ /**
254
+ * Выполняет DELETE-запрос
255
+ * @param path Путь к API-ресурсу
256
+ * @param body Тело запроса (опционально)
257
+ * @returns Ответ от API
258
+ */
259
+ delete<T>(path: string, body?: unknown): Promise<T>;
260
+ /**
261
+ * Выполняет PATCH-запрос
262
+ * @param path Путь к API-ресурсу
263
+ * @param body Тело запроса
264
+ * @returns Ответ от API
265
+ */
266
+ patch<T>(path: string, body?: unknown): Promise<T>;
267
+ }
268
+ /**
269
+ * API для работы с коммитами
270
+ */
271
+ declare class CommitsApi {
272
+ private client;
273
+ /**
274
+ * Создает новый экземпляр API для работы с коммитами
275
+ * @param client GitVerse клиент
276
+ */
277
+ constructor(client: GitVerseClient);
278
+ /**
279
+ * Получает список коммитов в репозитории
280
+ * @param owner Владелец репозитория
281
+ * @param repo Название репозитория
282
+ * @returns Список коммитов
283
+ */
284
+ list(owner: string, repo: string): Promise<Commit[]>;
285
+ /**
286
+ * Получает информацию о коммите по SHA
287
+ * @param owner Владелец репозитория
288
+ * @param repo Название репозитория
289
+ * @param sha SHA-хеш коммита
290
+ * @returns Информация о коммите
291
+ */
292
+ get(owner: string, repo: string, sha: string): Promise<Commit>;
293
+ /**
294
+ * Создает новый коммит
295
+ * @param owner Владелец репозитория
296
+ * @param repo Название репозитория
297
+ * @param params Параметры создания коммита
298
+ * @returns Созданный коммит
299
+ */
300
+ create(owner: string, repo: string, params: CreateCommitParams): Promise<Commit>;
301
+ }
302
+ export { CommitsApi };
@@ -0,0 +1,4 @@
1
+ class g{client;constructor(b){this.client=b}list(b,d){return this.client.get(`/repos/${b}/${d}/commits`)}get(b,d,f){return this.client.get(`/repos/${b}/${d}/commits/${f}`)}create(b,d,f){return this.client.post(`/repos/${b}/${d}/git/commits`,f)}}export{g as CommitsApi};
2
+ export{g as b};
3
+
4
+ //# debugId=61215F457F0A502764756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/api/commits.ts"],
4
+ "sourcesContent": [
5
+ "import type { GitVerseClient } from \"../client\";\nimport type { Commit, CreateCommitParams } from \"../types\";\n\n/**\n * API для работы с коммитами\n */\nexport class CommitsApi {\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 * @returns Список коммитов\n */\n list(owner: string, repo: string): Promise<Commit[]> {\n return this.client.get<Commit[]>(`/repos/${owner}/${repo}/commits`);\n }\n\n /**\n * Получает информацию о коммите по SHA\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param sha SHA-хеш коммита\n * @returns Информация о коммите\n */\n get(owner: string, repo: string, sha: string): Promise<Commit> {\n return this.client.get<Commit>(`/repos/${owner}/${repo}/commits/${sha}`);\n }\n\n /**\n * Создает новый коммит\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param params Параметры создания коммита\n * @returns Созданный коммит\n */\n create(owner: string, repo: string, params: CreateCommitParams): Promise<Commit> {\n return this.client.post<Commit>(`/repos/${owner}/${repo}/git/commits`, params);\n }\n}\n"
6
+ ],
7
+ "mappings": "AAMO,MAAM,CAAW,CACd,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAShB,IAAI,CAAC,EAAe,EAAiC,CACnD,OAAO,KAAK,OAAO,IAAc,UAAU,KAAS,WAAc,EAUpE,GAAG,CAAC,EAAe,EAAc,EAA8B,CAC7D,OAAO,KAAK,OAAO,IAAY,UAAU,KAAS,aAAgB,GAAK,EAUzE,MAAM,CAAC,EAAe,EAAc,EAA6C,CAC/E,OAAO,KAAK,OAAO,KAAa,UAAU,KAAS,gBAAoB,CAAM,EAEjF",
8
+ "debugId": "61215F457F0A502764756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,345 @@
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
+ * Интерфейс информации о файле
14
+ */
15
+ interface FileContent {
16
+ /** Имя файла */
17
+ name: string;
18
+ /** Путь к файлу относительно корня репозитория */
19
+ path: string;
20
+ /** SHA-хеш содержимого файла */
21
+ sha: string;
22
+ /** Размер файла в байтах */
23
+ size: number;
24
+ /** Тип объекта (всегда 'file' для файла) */
25
+ type: typeof ContentType.File;
26
+ /** Кодировка содержимого файла (например, 'base64') */
27
+ encoding?: string;
28
+ /** Содержимое файла в формате Base64 */
29
+ content?: string;
30
+ /** Определенный язык программирования файла */
31
+ language?: string;
32
+ /** API-ссылка на файл */
33
+ url?: string;
34
+ /** Веб-ссылка на файл */
35
+ html_url?: string;
36
+ /** Git-URL для файла */
37
+ git_url?: string;
38
+ /** URL для скачивания файла */
39
+ download_url?: string;
40
+ }
41
+ /**
42
+ * Интерфейс информации о директории
43
+ */
44
+ interface DirectoryContent {
45
+ /** Тип объекта (всегда 'dir' для директории) */
46
+ type: typeof ContentType.Directory;
47
+ /** Размер директории (всегда 0) */
48
+ size: number;
49
+ /** Имя директории */
50
+ name: string;
51
+ /** Путь к директории относительно корня репозитория */
52
+ path: string;
53
+ /** SHA-хеш объекта директории */
54
+ sha: string;
55
+ /** Список файлов и поддиректорий внутри директории */
56
+ entries: Array<FileContent | DirectoryContent>;
57
+ }
58
+ /**
59
+ * Тип для содержимого репозитория (файл или директория)
60
+ */
61
+ type Content = FileContent | DirectoryContent;
62
+ /**
63
+ * Интерфейс информации о коммите
64
+ */
65
+ interface CommitInfo {
66
+ /** SHA-хеш коммита */
67
+ sha: string;
68
+ /** Node ID коммита */
69
+ node_id?: string;
70
+ /** API-ссылка на коммит */
71
+ url: string;
72
+ /** Веб-ссылка на коммит */
73
+ html_url: string;
74
+ /** Информация об авторе коммита */
75
+ author: {
76
+ /** Имя автора */
77
+ name: string
78
+ /** Email автора */
79
+ email: string
80
+ /** Дата создания коммита */
81
+ date: string
82
+ };
83
+ /** Информация о коммиттере */
84
+ committer: {
85
+ /** Имя коммиттера */
86
+ name: string
87
+ /** Email коммиттера */
88
+ email: string
89
+ /** Дата коммита */
90
+ date: string
91
+ };
92
+ /** Сообщение коммита */
93
+ message: string;
94
+ /** Информация о дереве коммита */
95
+ tree: {
96
+ /** SHA-хеш дерева */
97
+ sha: string
98
+ /** URL дерева */
99
+ url: string
100
+ };
101
+ /** Родительские коммиты */
102
+ parents: Array<{
103
+ /** SHA-хеш родительского коммита */
104
+ sha: string
105
+ /** API-ссылка на родительский коммит */
106
+ url: string
107
+ /** Веб-ссылка на родительский коммит */
108
+ html_url: string
109
+ }>;
110
+ }
111
+ /**
112
+ * Интерфейс ответа на создание файла
113
+ */
114
+ interface FileCreationResponse {
115
+ /** Информация о созданном файле */
116
+ content: FileContent;
117
+ /** Информация о коммите */
118
+ commit: CommitInfo;
119
+ }
120
+ /**
121
+ * Интерфейс ответа на удаление файла
122
+ */
123
+ interface FileDeletionResponse {
124
+ /** Информация о содержимом (null для удаленного файла) */
125
+ content: null;
126
+ /** Информация о коммите удаления */
127
+ commit: CommitInfo;
128
+ }
129
+ /**
130
+ * Интерфейс параметров для создания файла
131
+ */
132
+ interface CreateFileParams {
133
+ /** Имя ветки, в которую будет добавлен файл (по умолчанию - основная ветка) */
134
+ branch?: string;
135
+ /** Содержимое файла, закодированное в Base64 */
136
+ content: string;
137
+ /** Сообщение коммита */
138
+ message?: string;
139
+ /** Имя новой ветки, которая будет создана для этого изменения */
140
+ new_branch?: string;
141
+ /** Добавлять ли подпись (Signed-off-by) в коммит */
142
+ signoff?: boolean;
143
+ }
144
+ /**
145
+ * Интерфейс параметров для обновления файла
146
+ */
147
+ interface UpdateFileParams {
148
+ /** Имя ветки, в которой находится файл */
149
+ branch?: string;
150
+ /** Новое содержимое файла, закодированное в Base64 */
151
+ content: string;
152
+ /** SHA-хеш текущего содержимого файла */
153
+ sha: string;
154
+ /** Если файл переименовывается, указывает старый путь к файлу */
155
+ from_path?: string;
156
+ /** Сообщение коммита */
157
+ message?: string;
158
+ /** Имя новой ветки, которая будет создана для этого изменения */
159
+ new_branch?: string;
160
+ /** Добавлять ли подпись (Signed-off-by) в коммит */
161
+ signoff?: boolean;
162
+ }
163
+ /**
164
+ * Интерфейс параметров для удаления файла
165
+ */
166
+ interface DeleteFileParams {
167
+ /** SHA-хеш текущего содержимого файла */
168
+ sha: string;
169
+ /** Имя ветки, в которой находится файл */
170
+ branch?: string;
171
+ /** Сообщение коммита */
172
+ message?: string;
173
+ /** Имя новой ветки, которая будет создана для этого изменения */
174
+ new_branch?: string;
175
+ /** Добавлять ли подпись (Signed-off-by) в коммит */
176
+ signoff?: boolean;
177
+ }
178
+ /**
179
+ * Предупреждение об устаревшей версии API
180
+ */
181
+ declare class ApiVersionWarning {
182
+ /** Текущая используемая версия */
183
+ readonly currentVersion: string;
184
+ /** Последняя доступная версия */
185
+ readonly latestVersion: string;
186
+ /** Дата вывода из эксплуатации */
187
+ readonly decommissioning?: string;
188
+ constructor(currentVersion: string, latestVersion: string, decommissioning?: string);
189
+ /**
190
+ * Возвращает сообщение о предупреждении
191
+ */
192
+ getMessage(): string;
193
+ }
194
+ declare const HTTPMethods: {
195
+ readonly DELETE: "DELETE"
196
+ readonly GET: "GET"
197
+ readonly PATCH: "PATCH"
198
+ readonly POST: "POST"
199
+ readonly PUT: "PUT"
200
+ };
201
+ type HTTPMethods = (typeof HTTPMethods)[keyof typeof HTTPMethods];
202
+ /**
203
+ * Параметры для конфигурации GitVerse клиента
204
+ */
205
+ interface GitVerseClientConfig {
206
+ /**
207
+ * Базовый URL API GitVerse
208
+ * @default 'https://api.gitverse.ru'
209
+ */
210
+ baseUrl?: string;
211
+ /**
212
+ * Токен доступа для авторизации в API
213
+ */
214
+ token?: string;
215
+ /**
216
+ * Версия API
217
+ * @default '1'
218
+ */
219
+ apiVersion?: string;
220
+ }
221
+ /**
222
+ * Основной класс для работы с GitVerse API
223
+ */
224
+ declare class GitVerseClient {
225
+ private baseUrl;
226
+ private token?;
227
+ private apiVersion;
228
+ /**
229
+ * Callback для обработки предупреждений об устаревшей версии API
230
+ */
231
+ onApiVersionWarning?: (warning: ApiVersionWarning) => void;
232
+ /**
233
+ * Создает новый экземпляр GitVerse клиента
234
+ * @param config Конфигурация клиента
235
+ */
236
+ constructor(config?: GitVerseClientConfig);
237
+ /**
238
+ * Устанавливает токен авторизации
239
+ * @param token Токен доступа
240
+ */
241
+ setToken(token: string): void;
242
+ /**
243
+ * Извлекает информацию о Rate Limit из заголовков ответа
244
+ */
245
+ private extractRateLimitInfo;
246
+ /**
247
+ * Извлекает информацию о версии API из заголовков ответа
248
+ */
249
+ private extractApiVersionInfo;
250
+ /**
251
+ * Извлекает метаданные из заголовков ответа
252
+ */
253
+ private extractMetadata;
254
+ /**
255
+ * Выполняет API-запрос с учетом авторизации и версии API
256
+ * @param path Путь к API-ресурсу
257
+ * @param method HTTP-метод
258
+ * @param body Тело запроса (опционально)
259
+ * @returns Ответ от API
260
+ * @throws {RateLimitError} При превышении лимита запросов (429)
261
+ * @throws {GitVerseApiError} При других ошибках API
262
+ */
263
+ request<T>(path: string, method: HTTPMethods, body?: unknown): Promise<T>;
264
+ /**
265
+ * Выполняет GET-запрос
266
+ * @param path Путь к API-ресурсу
267
+ * @returns Ответ от API
268
+ */
269
+ get<T>(path: string): Promise<T>;
270
+ /**
271
+ * Выполняет POST-запрос
272
+ * @param path Путь к API-ресурсу
273
+ * @param body Тело запроса
274
+ * @returns Ответ от API
275
+ */
276
+ post<T>(path: string, body?: unknown): Promise<T>;
277
+ /**
278
+ * Выполняет PUT-запрос
279
+ * @param path Путь к API-ресурсу
280
+ * @param body Тело запроса
281
+ * @returns Ответ от API
282
+ */
283
+ put<T>(path: string, body?: unknown): Promise<T>;
284
+ /**
285
+ * Выполняет DELETE-запрос
286
+ * @param path Путь к API-ресурсу
287
+ * @param body Тело запроса (опционально)
288
+ * @returns Ответ от API
289
+ */
290
+ delete<T>(path: string, body?: unknown): Promise<T>;
291
+ /**
292
+ * Выполняет PATCH-запрос
293
+ * @param path Путь к API-ресурсу
294
+ * @param body Тело запроса
295
+ * @returns Ответ от API
296
+ */
297
+ patch<T>(path: string, body?: unknown): Promise<T>;
298
+ }
299
+ /**
300
+ * API для работы с содержимым репозитория (файлами и папками)
301
+ */
302
+ declare class ContentsApi {
303
+ private client;
304
+ /**
305
+ * Создает новый экземпляр API для работы с содержимым репозитория
306
+ * @param client GitVerse клиент
307
+ */
308
+ constructor(client: GitVerseClient);
309
+ /**
310
+ * Получает содержимое файла или список файлов в директории
311
+ * @param owner Владелец репозитория
312
+ * @param repo Название репозитория
313
+ * @param path Путь к файлу или директории
314
+ * @returns Содержимое файла или директории
315
+ */
316
+ get(owner: string, repo: string, path: string): Promise<Content>;
317
+ /**
318
+ * Создает новый файл в репозитории
319
+ * @param owner Владелец репозитория
320
+ * @param repo Название репозитория
321
+ * @param path Путь к файлу, который будет создан
322
+ * @param params Параметры создания файла
323
+ * @returns Информация о созданном файле и коммите
324
+ */
325
+ createFile(owner: string, repo: string, path: string, params: CreateFileParams): Promise<FileCreationResponse>;
326
+ /**
327
+ * Обновляет существующий файл в репозитории
328
+ * @param owner Владелец репозитория
329
+ * @param repo Название репозитория
330
+ * @param path Путь к файлу, который будет обновлен
331
+ * @param params Параметры обновления файла
332
+ * @returns Информация об обновленном файле и коммите
333
+ */
334
+ updateFile(owner: string, repo: string, path: string, params: UpdateFileParams): Promise<FileCreationResponse>;
335
+ /**
336
+ * Удаляет файл из репозитория
337
+ * @param owner Владелец репозитория
338
+ * @param repo Название репозитория
339
+ * @param path Путь к файлу, который будет удален
340
+ * @param params Параметры удаления файла
341
+ * @returns Информация об удаленном файле и коммите
342
+ */
343
+ deleteFile(owner: string, repo: string, path: string, params: DeleteFileParams): Promise<FileDeletionResponse>;
344
+ }
345
+ export { ContentsApi };
@@ -0,0 +1,4 @@
1
+ class j{client;constructor(b){this.client=b}get(b,d,f){return this.client.get(`/repos/${b}/${d}/contents/${f}`)}createFile(b,d,f,g){return this.client.put(`/repos/${b}/${d}/contents/${f}`,g)}updateFile(b,d,f,g){return this.client.put(`/repos/${b}/${d}/contents/${f}`,g)}deleteFile(b,d,f,g){return this.client.delete(`/repos/${b}/${d}/contents/${f}`,g)}}export{j as ContentsApi};
2
+ export{j as i};
3
+
4
+ //# debugId=01D3BAD20A257EBF64756E2164756E21
@@ -0,0 +1,10 @@
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 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): Promise<Content> {\n return this.client.get<Content>(`/repos/${owner}/${repo}/contents/${path}`);\n }\n\n /**\n * Создает новый файл в репозитории\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param path Путь к файлу, который будет создан\n * @param params Параметры создания файла\n * @returns Информация о созданном файле и коммите\n */\n createFile(owner: string, repo: string, path: string, params: CreateFileParams): Promise<FileCreationResponse> {\n return this.client.put<FileCreationResponse>(`/repos/${owner}/${repo}/contents/${path}`, params);\n }\n\n /**\n * Обновляет существующий файл в репозитории\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param path Путь к файлу, который будет обновлен\n * @param params Параметры обновления файла\n * @returns Информация об обновленном файле и коммите\n */\n updateFile(owner: string, repo: string, path: string, params: UpdateFileParams): Promise<FileCreationResponse> {\n return this.client.put<FileCreationResponse>(`/repos/${owner}/${repo}/contents/${path}`, params);\n }\n\n /**\n * Удаляет файл из репозитория\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param path Путь к файлу, который будет удален\n * @param params Параметры удаления файла\n * @returns Информация об удаленном файле и коммите\n */\n deleteFile(owner: string, repo: string, path: string, params: DeleteFileParams): Promise<FileDeletionResponse> {\n return this.client.delete<FileDeletionResponse>(`/repos/${owner}/${repo}/contents/${path}`, params);\n }\n}\n"
6
+ ],
7
+ "mappings": "AAaO,MAAM,CAAY,CACf,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAUhB,GAAG,CAAC,EAAe,EAAc,EAAgC,CAC/D,OAAO,KAAK,OAAO,IAAa,UAAU,KAAS,cAAiB,GAAM,EAW5E,UAAU,CAAC,EAAe,EAAc,EAAc,EAAyD,CAC7G,OAAO,KAAK,OAAO,IAA0B,UAAU,KAAS,cAAiB,IAAQ,CAAM,EAWjG,UAAU,CAAC,EAAe,EAAc,EAAc,EAAyD,CAC7G,OAAO,KAAK,OAAO,IAA0B,UAAU,KAAS,cAAiB,IAAQ,CAAM,EAWjG,UAAU,CAAC,EAAe,EAAc,EAAc,EAAyD,CAC7G,OAAO,KAAK,OAAO,OAA6B,UAAU,KAAS,cAAiB,IAAQ,CAAM,EAEtG",
8
+ "debugId": "01D3BAD20A257EBF64756E2164756E21",
9
+ "names": []
10
+ }