gitverse-api-sdk 4.0.2 → 5.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 (59) hide show
  1. package/README.md +126 -270
  2. package/dist/api/actions.d.ts +116 -43
  3. package/dist/api/actions.js +3 -3
  4. package/dist/api/actions.js.map +3 -3
  5. package/dist/api/branches.d.ts +33 -1
  6. package/dist/api/branches.js +3 -3
  7. package/dist/api/branches.js.map +3 -3
  8. package/dist/api/collaborators.d.ts +200 -3
  9. package/dist/api/collaborators.js +3 -3
  10. package/dist/api/collaborators.js.map +3 -3
  11. package/dist/api/commits.d.ts +88 -3
  12. package/dist/api/commits.js +3 -3
  13. package/dist/api/commits.js.map +3 -3
  14. package/dist/api/contents.d.ts +26 -1
  15. package/dist/api/contents.js +3 -3
  16. package/dist/api/contents.js.map +3 -3
  17. package/dist/api/emails.d.ts +28 -18
  18. package/dist/api/emails.js +3 -3
  19. package/dist/api/emails.js.map +3 -3
  20. package/dist/api/forks.d.ts +44 -1
  21. package/dist/api/forks.js +3 -3
  22. package/dist/api/forks.js.map +1 -1
  23. package/dist/api/git.d.ts +34 -4
  24. package/dist/api/git.js +3 -3
  25. package/dist/api/git.js.map +3 -3
  26. package/dist/api/issues.d.ts +252 -42
  27. package/dist/api/issues.js +3 -3
  28. package/dist/api/issues.js.map +3 -3
  29. package/dist/api/organizations.d.ts +10 -0
  30. package/dist/api/organizations.js +2 -2
  31. package/dist/api/organizations.js.map +1 -1
  32. package/dist/api/pulls.d.ts +145 -17
  33. package/dist/api/pulls.js +3 -3
  34. package/dist/api/pulls.js.map +3 -3
  35. package/dist/api/releases.d.ts +44 -16
  36. package/dist/api/releases.js +3 -3
  37. package/dist/api/releases.js.map +3 -3
  38. package/dist/api/repositories.d.ts +129 -45
  39. package/dist/api/repositories.js +3 -3
  40. package/dist/api/repositories.js.map +3 -3
  41. package/dist/api/stars.d.ts +65 -2
  42. package/dist/api/stars.js +3 -3
  43. package/dist/api/stars.js.map +3 -3
  44. package/dist/api/teams.d.ts +54 -44
  45. package/dist/api/teams.js +3 -3
  46. package/dist/api/teams.js.map +3 -3
  47. package/dist/api/users.d.ts +94 -0
  48. package/dist/api/users.js +3 -3
  49. package/dist/api/users.js.map +3 -3
  50. package/dist/client.d.ts +10 -0
  51. package/dist/client.js +3 -3
  52. package/dist/client.js.map +3 -3
  53. package/dist/index.d.ts +718 -180
  54. package/dist/index.js +2 -2
  55. package/dist/index.js.map +2 -2
  56. package/dist/types.d.ts +583 -85
  57. package/dist/utils.js +2 -2
  58. package/dist/utils.js.map +1 -1
  59. package/package.json +2 -2
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/api/emails.ts"],
4
4
  "sourcesContent": [
5
- "import type { GitVerseClient } from \"../client\";\nimport type { AddEmailParams, Email, EmailOperationResponse, RemoveEmailParams, RequestOptions } from \"../types\";\n\n/**\n * Класс для работы с email адресами пользователя\n */\nexport class EmailsApi {\n constructor(private client: GitVerseClient) {}\n\n /**\n * Получить список email адресов текущего пользователя\n * @returns {Promise<Email[]>} Массив email адресов\n */\n list(options?: RequestOptions): Promise<Email[]> {\n return this.client.get<Email[]>(\"/user/emails\", options);\n }\n\n /**\n * Добавить email адреса к аккаунту пользователя\n * @param {AddEmailParams} params - Параметры для добавления email\n * @returns {Promise<EmailOperationResponse>} Результат операции\n */\n add(params: AddEmailParams, options?: RequestOptions): Promise<EmailOperationResponse> {\n return this.client.post<EmailOperationResponse>(\"/user/emails\", params, options);\n }\n\n /**\n * Удалить email адреса из аккаунта пользователя\n * @param {RemoveEmailParams} params - Параметры для удаления email\n * @returns {Promise<EmailOperationResponse>} Результат операции\n */\n remove(params: RemoveEmailParams, options?: RequestOptions): Promise<EmailOperationResponse> {\n return this.client.delete<EmailOperationResponse>(\"/user/emails\", params, options);\n }\n}\n"
5
+ "import type { GitVerseClient } from \"../client\";\nimport type { AddEmailParams, Email, PaginationParams, RemoveEmailParams, RequestOptions } from \"../types\";\n\n/**\n * Класс для работы с email адресами пользователя\n */\nexport class EmailsApi {\n constructor(private client: GitVerseClient) {}\n\n /**\n * Получить список email адресов текущего пользователя\n * @param params Параметры пагинации\n * @param options Опции запроса\n * @returns {Promise<Email[]>} Массив email адресов\n */\n list(params?: PaginationParams, options?: RequestOptions): Promise<Email[]> {\n const searchParams = new URLSearchParams();\n if (params?.page) searchParams.append(\"page\", String(params.page));\n if (params?.per_page) searchParams.append(\"per_page\", String(params.per_page));\n\n const queryString = searchParams.toString();\n const url = `/user/emails${queryString ? `?${queryString}` : \"\"}`;\n\n return this.client.get<Email[]>(url, options);\n }\n\n /**\n * Добавить email адреса к аккаунту пользователя\n * @param {AddEmailParams} params - Параметры для добавления email\n * @returns {Promise<Email[]>} Массив добавленных email адресов\n */\n add(params: AddEmailParams, options?: RequestOptions): Promise<Email[]> {\n return this.client.post<Email[]>(\"/user/emails\", params, options);\n }\n\n /**\n * Удалить email адреса из аккаунта пользователя\n * @param {RemoveEmailParams} params - Параметры для удаления email\n * @returns {Promise<void>} Пустой ответ при успехе\n */\n remove(params: RemoveEmailParams, options?: RequestOptions): Promise<void> {\n return this.client.delete<void>(\"/user/emails\", params, options);\n }\n}\n"
6
6
  ],
7
- "mappings": "AAMO,MAAM,CAAU,CACD,OAApB,WAAW,CAAS,EAAwB,CAAxB,cAMpB,IAAI,CAAC,EAA4C,CAC/C,OAAO,KAAK,OAAO,IAAa,eAAgB,CAAO,EAQzD,GAAG,CAAC,EAAwB,EAA2D,CACrF,OAAO,KAAK,OAAO,KAA6B,eAAgB,EAAQ,CAAO,EAQjF,MAAM,CAAC,EAA2B,EAA2D,CAC3F,OAAO,KAAK,OAAO,OAA+B,eAAgB,EAAQ,CAAO,EAErF",
8
- "debugId": "8DE6BD440BCA158764756E2164756E21",
7
+ "mappings": "AAMO,MAAM,CAAU,CACD,OAApB,WAAW,CAAS,EAAwB,CAAxB,cAQpB,IAAI,CAAC,EAA2B,EAA4C,CAC1E,IAAM,EAAe,IAAI,gBACzB,GAAI,GAAQ,KAAM,EAAa,OAAO,OAAQ,OAAO,EAAO,IAAI,CAAC,EACjE,GAAI,GAAQ,SAAU,EAAa,OAAO,WAAY,OAAO,EAAO,QAAQ,CAAC,EAE7E,IAAM,EAAc,EAAa,SAAS,EACpC,EAAM,eAAe,EAAc,IAAI,IAAgB,KAE7D,OAAO,KAAK,OAAO,IAAa,EAAK,CAAO,EAQ9C,GAAG,CAAC,EAAwB,EAA4C,CACtE,OAAO,KAAK,OAAO,KAAc,eAAgB,EAAQ,CAAO,EAQlE,MAAM,CAAC,EAA2B,EAAyC,CACzE,OAAO,KAAK,OAAO,OAAa,eAAgB,EAAQ,CAAO,EAEnE",
8
+ "debugId": "B8B4E8B30C20C7A364756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -82,12 +82,29 @@ interface User2 {
82
82
  public_repos?: number;
83
83
  /** Количество репозиториев, отмеченных звездой */
84
84
  stars_count?: number;
85
+ /** API-ссылка на подписки пользователя */
86
+ following_url?: string;
87
+ /** API-ссылка на избранные репозитории */
88
+ starred_url?: string;
89
+ /** API-ссылка на подписки на уведомления */
90
+ subscriptions_url?: string;
85
91
  /** Дата создания аккаунта */
86
92
  created_at: string;
87
93
  /** Дата последнего обновления аккаунта */
88
94
  updated_at?: string;
89
95
  }
90
96
  /**
97
+ * Права доступа к репозиторию
98
+ */
99
+ interface Permissions {
100
+ /** Право администратора */
101
+ admin: boolean;
102
+ /** Право на запись */
103
+ push: boolean;
104
+ /** Право на чтение */
105
+ pull: boolean;
106
+ }
107
+ /**
91
108
  * Интерфейс репозитория
92
109
  */
93
110
  interface Repository {
@@ -172,11 +189,27 @@ interface Repository {
172
189
  /** Информация о шаблоне репозитория (если доступно) */
173
190
  template_repository?: Repository | null;
174
191
  /** Разрешены ли слияния через merge commits */
175
- allow_merge_commits: boolean;
192
+ allow_merge_commit: boolean;
176
193
  /** Разрешены ли слияния через squash commits */
177
194
  allow_squash_merge: boolean;
195
+ /** Разрешены ли слияния через rebase */
196
+ allow_rebase_merge?: boolean;
178
197
  /** Удалять ли ветку после слияния по умолчанию */
179
198
  default_delete_branch_after_merge: boolean;
199
+ /** Права доступа текущего пользователя к репозиторию */
200
+ permissions?: Permissions;
201
+ /** API-ссылка на содержимое репозитория */
202
+ contents_url?: string;
203
+ /** API-ссылка на форки репозитория */
204
+ forks_url?: string;
205
+ /** API-ссылка на issues репозитория */
206
+ issues_url?: string;
207
+ /** API-ссылка на pull requests репозитория */
208
+ pulls_url?: string;
209
+ /** API-ссылка на языки репозитория */
210
+ languages_url?: string;
211
+ /** Шаблон API-ссылки на комментарии issues */
212
+ issue_comment_url?: string;
180
213
  /** Дата создания репозитория */
181
214
  created_at: string;
182
215
  /** Дата последнего обновления репозитория */
@@ -321,6 +354,16 @@ declare class GitVerseClient {
321
354
  * @returns Ответ от API
322
355
  */
323
356
  patch<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
357
+ /**
358
+ * Выполняет загрузку файла через multipart/form-data
359
+ * @param path Путь к API-ресурсу
360
+ * @param fieldName Имя поля для файла
361
+ * @param file Файл для загрузки (Blob или ArrayBuffer)
362
+ * @param fileName Имя файла
363
+ * @param options Опции запроса (опционально)
364
+ * @returns Ответ от API
365
+ */
366
+ uploadFile<T>(path: string, fieldName: string, file: Blob | ArrayBuffer, fileName: string, options?: RequestOptions): Promise<T>;
324
367
  }
325
368
  /**
326
369
  * API для работы с форками репозиториев
package/dist/api/forks.js CHANGED
@@ -1,4 +1,4 @@
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};
1
+ import{B 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 A};
3
3
 
4
- //# debugId=BB9805D9B95F3B2964756E2164756E21
4
+ //# debugId=4D8CF7EEFC16342D64756E2164756E21
@@ -5,6 +5,6 @@
5
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
6
  ],
7
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",
8
+ "debugId": "4D8CF7EEFC16342D64756E2164756E21",
9
9
  "names": []
10
10
  }
package/dist/api/git.d.ts CHANGED
@@ -12,13 +12,20 @@ interface RequestOptions {
12
12
  signal?: AbortSignal;
13
13
  }
14
14
  /**
15
+ * Базовые параметры пагинации
16
+ */
17
+ interface PaginationParams {
18
+ /** Номер страницы (начиная с 1) */
19
+ page?: number;
20
+ /** Количество элементов на странице */
21
+ per_page?: number;
22
+ }
23
+ /**
15
24
  * Интерфейс Git-ссылки (reference)
16
25
  */
17
26
  interface Reference {
18
27
  /** Имя ссылки (например, refs/heads/main) */
19
28
  ref: string;
20
- /** Node ID */
21
- node_id?: string;
22
29
  /** API-ссылка */
23
30
  url: string;
24
31
  /** Объект, на который указывает ссылка */
@@ -49,6 +56,10 @@ interface Tree {
49
56
  tree: TreeEntry[];
50
57
  /** Обрезано ли дерево */
51
58
  truncated: boolean;
59
+ /** Номер страницы (для пагинации) */
60
+ page?: number;
61
+ /** Общее количество записей */
62
+ total_count?: number;
52
63
  }
53
64
  /**
54
65
  * Интерфейс записи в Git-дереве
@@ -65,7 +76,7 @@ interface TreeEntry {
65
76
  /** Размер (для blob) */
66
77
  size?: number;
67
78
  /** URL объекта */
68
- url: string;
79
+ url?: string;
69
80
  }
70
81
  /**
71
82
  * Параметры для создания Git-дерева
@@ -83,6 +94,13 @@ interface CreateTreeParams {
83
94
  base_tree?: string;
84
95
  }
85
96
  /**
97
+ * Параметры для получения Git-дерева
98
+ */
99
+ interface GetTreeParams extends PaginationParams {
100
+ /** Рекурсивное получение поддеревьев */
101
+ recursive?: boolean;
102
+ }
103
+ /**
86
104
  * Предупреждение об устаревшей версии API
87
105
  */
88
106
  declare class ApiVersionWarning {
@@ -208,6 +226,16 @@ declare class GitVerseClient {
208
226
  * @returns Ответ от API
209
227
  */
210
228
  patch<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
229
+ /**
230
+ * Выполняет загрузку файла через multipart/form-data
231
+ * @param path Путь к API-ресурсу
232
+ * @param fieldName Имя поля для файла
233
+ * @param file Файл для загрузки (Blob или ArrayBuffer)
234
+ * @param fileName Имя файла
235
+ * @param options Опции запроса (опционально)
236
+ * @returns Ответ от API
237
+ */
238
+ uploadFile<T>(path: string, fieldName: string, file: Blob | ArrayBuffer, fileName: string, options?: RequestOptions): Promise<T>;
211
239
  }
212
240
  /**
213
241
  * API для работы с низкоуровневыми Git-объектами
@@ -240,8 +268,10 @@ declare class GitApi {
240
268
  * @param owner Владелец репозитория
241
269
  * @param repo Название репозитория
242
270
  * @param sha SHA-хеш дерева
271
+ * @param params Параметры запроса (пагинация и recursive)
272
+ * @param options Опции запроса
243
273
  * @returns Информация о дереве
244
274
  */
245
- getTree(owner: string, repo: string, sha: string, options?: RequestOptions): Promise<Tree>;
275
+ getTree(owner: string, repo: string, sha: string, params?: GetTreeParams, options?: RequestOptions): Promise<Tree>;
246
276
  }
247
277
  export { GitApi };
package/dist/api/git.js CHANGED
@@ -1,4 +1,4 @@
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};
1
+ class C{client;constructor(d){this.client=d}createRef(d,f,j,b){return this.client.post(`/repos/${d}/${f}/git/refs`,j,b)}createTree(d,f,j,b){return this.client.post(`/repos/${d}/${f}/git/trees`,j,b)}getTree(d,f,j,b,z){let k=new URLSearchParams;if(b?.page)k.append("page",String(b.page));if(b?.per_page)k.append("per_page",String(b.per_page));if(b?.recursive)k.append("recursive","true");let x=k.toString(),B=`/repos/${d}/${f}/git/trees/${j}${x?`?${x}`:""}`;return this.client.get(B,z)}}export{C as GitApi};
2
+ export{C as m};
3
3
 
4
- //# debugId=EF1921B77062F23D64756E2164756E21
4
+ //# debugId=5B49EBD31E03AE6464756E2164756E21
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/api/git.ts"],
4
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"
5
+ "import type { GitVerseClient } from \"../client\";\nimport type { CreateRefParams, CreateTreeParams, GetTreeParams, 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 * @param params Параметры запроса (пагинация и recursive)\n * @param options Опции запроса\n * @returns Информация о дереве\n */\n getTree(owner: string, repo: string, sha: string, params?: GetTreeParams, options?: RequestOptions): Promise<Tree> {\n const searchParams = new URLSearchParams();\n if (params?.page) searchParams.append(\"page\", String(params.page));\n if (params?.per_page) searchParams.append(\"per_page\", String(params.per_page));\n if (params?.recursive) searchParams.append(\"recursive\", \"true\");\n\n const queryString = searchParams.toString();\n const url = `/repos/${owner}/${repo}/git/trees/${sha}${queryString ? `?${queryString}` : \"\"}`;\n\n return this.client.get<Tree>(url, options);\n }\n}\n"
6
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",
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,EAYpF,OAAO,CAAC,EAAe,EAAc,EAAa,EAAwB,EAAyC,CACjH,IAAM,EAAe,IAAI,gBACzB,GAAI,GAAQ,KAAM,EAAa,OAAO,OAAQ,OAAO,EAAO,IAAI,CAAC,EACjE,GAAI,GAAQ,SAAU,EAAa,OAAO,WAAY,OAAO,EAAO,QAAQ,CAAC,EAC7E,GAAI,GAAQ,UAAW,EAAa,OAAO,YAAa,MAAM,EAE9D,IAAM,EAAc,EAAa,SAAS,EACpC,EAAM,UAAU,KAAS,eAAkB,IAAM,EAAc,IAAI,IAAgB,KAEzF,OAAO,KAAK,OAAO,IAAU,EAAK,CAAO,EAE7C",
8
+ "debugId": "5B49EBD31E03AE6464756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -46,6 +46,58 @@ interface RequestOptions {
46
46
  signal?: AbortSignal;
47
47
  }
48
48
  /**
49
+ * Базовые параметры пагинации
50
+ */
51
+ interface PaginationParams {
52
+ /** Номер страницы (начиная с 1) */
53
+ page?: number;
54
+ /** Количество элементов на странице */
55
+ per_page?: number;
56
+ }
57
+ /**
58
+ * Параметры для получения списка issues
59
+ */
60
+ interface ListIssuesParams extends PaginationParams {
61
+ /** Фильтр по состоянию issue */
62
+ state?: "open" | "closed" | "all";
63
+ /** Ключевое слово для поиска в заголовке и содержимом */
64
+ q?: string;
65
+ /** Метки через запятую (префикс '-' для исключения) */
66
+ labels?: string;
67
+ /** Имена или ID майлстоунов через запятую */
68
+ milestones?: string;
69
+ /** Фильтр по имени создателя */
70
+ created_by?: string;
71
+ /** Фильтр по имени назначенного пользователя */
72
+ assigned_by?: string;
73
+ /** Фильтр по упомянутому пользователю */
74
+ mentioned_by?: string;
75
+ /** Фильтр по типу: issues или pulls */
76
+ type?: "issues" | "pulls";
77
+ /** Только элементы обновлённые после этого времени (RFC3339) */
78
+ since?: string;
79
+ /** Только элементы обновлённые до этого времени (RFC3339) */
80
+ before?: string;
81
+ }
82
+ /**
83
+ * Параметры для получения списка комментариев к issue
84
+ */
85
+ interface ListCommentsParams {
86
+ /** Только комментарии после этого времени (RFC3339) */
87
+ since?: string;
88
+ /** Только комментарии до этого времени (RFC3339) */
89
+ before?: string;
90
+ }
91
+ /**
92
+ * Параметры для получения timeline issue
93
+ */
94
+ interface GetTimelineParams extends PaginationParams {
95
+ /** Только события после этого времени (RFC3339) */
96
+ since?: string;
97
+ /** Только события до этого времени (RFC3339) */
98
+ before?: string;
99
+ }
100
+ /**
49
101
  * Интерфейс пользователя
50
102
  */
51
103
  interface User2 {
@@ -93,6 +145,12 @@ interface User2 {
93
145
  public_repos?: number;
94
146
  /** Количество репозиториев, отмеченных звездой */
95
147
  stars_count?: number;
148
+ /** API-ссылка на подписки пользователя */
149
+ following_url?: string;
150
+ /** API-ссылка на избранные репозитории */
151
+ starred_url?: string;
152
+ /** API-ссылка на подписки на уведомления */
153
+ subscriptions_url?: string;
96
154
  /** Дата создания аккаунта */
97
155
  created_at: string;
98
156
  /** Дата последнего обновления аккаунта */
@@ -112,6 +170,10 @@ interface Label {
112
170
  color: string;
113
171
  /** URL метки */
114
172
  url?: string;
173
+ /** Эксклюзивная метка (взаимоисключающая в группе) */
174
+ exclusive?: boolean;
175
+ /** Архивирована ли метка */
176
+ is_archived?: boolean;
115
177
  }
116
178
  /**
117
179
  * Интерфейс майлстоуна (milestone)
@@ -158,8 +220,28 @@ interface Issue {
158
220
  user: User2;
159
221
  /** Список меток */
160
222
  labels: Label[];
223
+ /** Назначенный пользователь */
224
+ assignee?: User2 | null;
161
225
  /** Назначенные пользователи */
162
226
  assignees?: User2[];
227
+ /** Информация о майлстоуне */
228
+ milestone?: Milestone | null;
229
+ /** Заблокирован ли issue */
230
+ is_locked?: boolean;
231
+ /** Срок выполнения */
232
+ due_date?: string | null;
233
+ /** Связанный pull request (если issue создан из PR) */
234
+ pull_request?: PullRequestMeta | null;
235
+ /** Информация о репозитории */
236
+ repository?: RepositoryMeta;
237
+ /** Ссылка на ветку */
238
+ ref?: string;
239
+ /** Оригинальный автор (для импортированных issues) */
240
+ original_author?: string;
241
+ /** ID оригинального автора */
242
+ original_author_id?: number;
243
+ /** Вложения */
244
+ assets?: Asset[];
163
245
  /** Дата создания */
164
246
  created_at: string;
165
247
  /** Дата обновления */
@@ -191,28 +273,170 @@ interface Comment {
191
273
  html_url: string;
192
274
  /** API-ссылка на комментарий */
193
275
  url: string;
276
+ /** Ассоциация автора с репозиторием */
277
+ author_association?: string;
278
+ /** URL issue */
279
+ issue_url?: string;
194
280
  }
195
281
  /**
196
- * Интерфейс события в timeline issue
282
+ * Интерфейс комментария/события в timeline issue (согласно OpenAPI v1.1)
197
283
  */
198
- interface TimelineEvent {
199
- /** Уникальный идентификатор события */
200
- id: number;
284
+ interface TimelineComment {
285
+ /** Уникальный идентификатор */
286
+ id?: number;
201
287
  /** Тип события */
202
- event: string;
203
- /** Пользователь, вызвавший событие */
204
- actor: User2;
205
- /** Дата создания события */
206
- created_at: string;
288
+ type?: string;
289
+ /** Текст комментария */
290
+ body?: string;
291
+ /** Веб-ссылка */
292
+ html_url?: string;
293
+ /** Ссылка на issue */
294
+ issue_url?: string;
295
+ /** Ссылка на pull request */
296
+ pull_request_url?: string;
297
+ /** Пользователь, создавший событие */
298
+ user?: User2;
299
+ /** Назначенный пользователь */
300
+ assignee?: User2;
301
+ /** Назначенная команда */
302
+ assignee_team?: Team;
207
303
  /** Метка (для событий с метками) */
208
304
  label?: Label;
209
- /** Milestone (для событий с milestone) */
305
+ /** Milestone */
210
306
  milestone?: Milestone;
211
- /** Переименование (для событий переименования) */
212
- rename?: {
213
- from: string
214
- to: string
215
- };
307
+ /** Старый milestone (для событий изменения milestone) */
308
+ old_milestone?: Milestone;
309
+ /** Новая ссылка */
310
+ new_ref?: string;
311
+ /** Старая ссылка */
312
+ old_ref?: string;
313
+ /** Новый заголовок */
314
+ new_title?: string;
315
+ /** Старый заголовок */
316
+ old_title?: string;
317
+ /** ID проекта */
318
+ project_id?: number;
319
+ /** Старый ID проекта */
320
+ old_project_id?: number;
321
+ /** Действие со ссылкой */
322
+ ref_action?: string;
323
+ /** Ссылочный комментарий */
324
+ ref_comment?: Comment;
325
+ /** SHA коммита, где была ссылка на issue/PR */
326
+ ref_commit_sha?: string;
327
+ /** Ссылочный issue */
328
+ ref_issue?: Issue;
329
+ /** Зависимый issue */
330
+ dependent_issue?: Issue;
331
+ /** Были ли назначенные удалены (true) или добавлены (false) */
332
+ removed_assignee?: boolean;
333
+ /** Пользователь, разрешивший комментарий */
334
+ resolve_doer?: User2;
335
+ /** ID ревью */
336
+ review_id?: number;
337
+ /** Отслеживаемое время */
338
+ tracked_time?: TrackedTime;
339
+ /** Дата создания */
340
+ created_at?: string;
341
+ /** Дата обновления */
342
+ updated_at?: string;
343
+ }
344
+ /**
345
+ * Интерфейс отслеживаемого времени
346
+ */
347
+ interface TrackedTime {
348
+ /** Идентификатор */
349
+ id?: number;
350
+ /** Дата создания */
351
+ created?: string;
352
+ /** Время в секундах */
353
+ time?: number;
354
+ /** ID пользователя (deprecated) */
355
+ user_id?: number;
356
+ /** Имя пользователя */
357
+ user_name?: string;
358
+ /** ID issue (deprecated) */
359
+ issue_id?: number;
360
+ /** Issue */
361
+ issue?: Issue;
362
+ }
363
+ /**
364
+ * Интерфейс команды (team)
365
+ */
366
+ /**
367
+ * Краткая информация о репозитории (для вложенных объектов)
368
+ */
369
+ interface RepositoryMeta {
370
+ /** Идентификатор репозитория */
371
+ id: number;
372
+ /** Название репозитория */
373
+ name: string;
374
+ /** Полное название репозитория */
375
+ full_name: string;
376
+ }
377
+ /**
378
+ * Краткая информация о pull request (для вложенных объектов в issue)
379
+ */
380
+ interface PullRequestMeta {
381
+ /** URL pull request */
382
+ url?: string;
383
+ /** Веб-ссылка на pull request */
384
+ html_url?: string;
385
+ /** Ссылка на diff */
386
+ diff_url?: string;
387
+ /** Ссылка на patch */
388
+ patch_url?: string;
389
+ /** Был ли PR смёрджен */
390
+ merged?: boolean;
391
+ /** Дата мёрджа */
392
+ merged_at?: string | null;
393
+ }
394
+ interface Team {
395
+ /** Идентификатор команды */
396
+ id: number;
397
+ /** Название команды */
398
+ name: string;
399
+ /** Описание команды */
400
+ description?: string;
401
+ /** Права доступа */
402
+ permission: "pull" | "push" | "admin";
403
+ /** Количество участников */
404
+ num_members?: number;
405
+ /** Количество репозиториев */
406
+ num_repos?: number;
407
+ /** Может создавать репозитории в организации */
408
+ can_create_org_repo?: boolean;
409
+ /** Включает все репозитории */
410
+ includes_all_repositories?: boolean;
411
+ /** Права на Actions */
412
+ permission_actions?: string;
413
+ /** Права на код */
414
+ permission_code?: string;
415
+ /** Права на packages */
416
+ permission_packages?: string;
417
+ /** Права на pull requests */
418
+ permission_pulls?: string;
419
+ /** Права на релизы */
420
+ permission_releases?: string;
421
+ }
422
+ /**
423
+ * Интерфейс ассета релиза
424
+ */
425
+ interface Asset {
426
+ /** Идентификатор ассета */
427
+ id: number;
428
+ /** UUID ассета */
429
+ uuid: string;
430
+ /** Название файла */
431
+ name: string;
432
+ /** Размер в байтах */
433
+ size: number;
434
+ /** Количество скачиваний */
435
+ download_count: number;
436
+ /** Дата создания */
437
+ created_at: string;
438
+ /** URL для скачивания */
439
+ browser_download_url: string;
216
440
  }
217
441
  /**
218
442
  * Предупреждение об устаревшей версии API
@@ -340,6 +564,16 @@ declare class GitVerseClient {
340
564
  * @returns Ответ от API
341
565
  */
342
566
  patch<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T>;
567
+ /**
568
+ * Выполняет загрузку файла через multipart/form-data
569
+ * @param path Путь к API-ресурсу
570
+ * @param fieldName Имя поля для файла
571
+ * @param file Файл для загрузки (Blob или ArrayBuffer)
572
+ * @param fileName Имя файла
573
+ * @param options Опции запроса (опционально)
574
+ * @returns Ответ от API
575
+ */
576
+ uploadFile<T>(path: string, fieldName: string, file: Blob | ArrayBuffer, fileName: string, options?: RequestOptions): Promise<T>;
343
577
  }
344
578
  /**
345
579
  * Класс для работы с issues репозитория
@@ -349,51 +583,27 @@ declare class IssuesApi {
349
583
  constructor(client: GitVerseClient);
350
584
  /**
351
585
  * Получить список issues репозитория
352
- * @param {string} owner - Владелец репозитория
353
- * @param {string} repo - Название репозитория
354
- * @param {IssueState} [state] - Фильтр по состоянию issue
355
- * @returns {Promise<Issue[]>} Массив issues
356
586
  */
357
- list(owner: string, repo: string, state?: IssueState, options?: RequestOptions): Promise<Issue[]>;
587
+ list(owner: string, repo: string, params?: ListIssuesParams, options?: RequestOptions): Promise<Issue[]>;
358
588
  /**
359
589
  * Получить конкретный issue
360
- * @param {string} owner - Владелец репозитория
361
- * @param {string} repo - Название репозитория
362
- * @param {number} index - Номер issue
363
- * @returns {Promise<Issue>} Информация об issue
364
590
  */
365
591
  get(owner: string, repo: string, index: number, options?: RequestOptions): Promise<Issue>;
366
592
  /**
367
593
  * Получить комментарий по ID
368
- * @param {string} owner - Владелец репозитория
369
- * @param {string} repo - Название репозитория
370
- * @param {number} id - ID комментария
371
- * @returns {Promise<Comment>} Информация о комментарии
372
594
  */
373
595
  getComment(owner: string, repo: string, id: number, options?: RequestOptions): Promise<Comment>;
374
596
  /**
375
597
  * Получить список комментариев к issue
376
- * @param {string} owner - Владелец репозитория
377
- * @param {string} repo - Название репозитория
378
- * @param {number} index - Номер issue
379
- * @returns {Promise<Comment[]>} Массив комментариев
380
598
  */
381
- getComments(owner: string, repo: string, index: number, options?: RequestOptions): Promise<Comment[]>;
599
+ getComments(owner: string, repo: string, index: number, params?: ListCommentsParams, options?: RequestOptions): Promise<Comment[]>;
382
600
  /**
383
601
  * Получить список меток issue
384
- * @param {string} owner - Владелец репозитория
385
- * @param {string} repo - Название репозитория
386
- * @param {number} index - Номер issue
387
- * @returns {Promise<Label[]>} Массив меток
388
602
  */
389
603
  getLabels(owner: string, repo: string, index: number, options?: RequestOptions): Promise<Label[]>;
390
604
  /**
391
605
  * Получить timeline событий issue
392
- * @param {string} owner - Владелец репозитория
393
- * @param {string} repo - Название репозитория
394
- * @param {number} index - Номер issue
395
- * @returns {Promise<TimelineEvent[]>} Массив событий timeline
396
606
  */
397
- getTimeline(owner: string, repo: string, index: number, options?: RequestOptions): Promise<TimelineEvent[]>;
607
+ getTimeline(owner: string, repo: string, index: number, params?: GetTimelineParams, options?: RequestOptions): Promise<TimelineComment[]>;
398
608
  }
399
609
  export { IssuesApi };
@@ -1,4 +1,4 @@
1
- class B{client;constructor(c){this.client=c}list(c,h,f,j){let k=new URLSearchParams;if(f)k.append("state",f);let z=k.toString(),A=`/repos/${c}/${h}/issues${z?`?${z}`:""}`;return this.client.get(A,j)}get(c,h,f,j){return this.client.get(`/repos/${c}/${h}/issues/${f}`,j)}getComment(c,h,f,j){return this.client.get(`/repos/${c}/${h}/issues/comments/${f}`,j)}getComments(c,h,f,j){return this.client.get(`/repos/${c}/${h}/issues/${f}/comments`,j)}getLabels(c,h,f,j){return this.client.get(`/repos/${c}/${h}/issues/${f}/labels`,j)}getTimeline(c,h,f,j){return this.client.get(`/repos/${c}/${h}/issues/${f}/timeline`,j)}}export{B as IssuesApi};
2
- export{B as f};
1
+ class C{client;constructor(k){this.client=k}list(k,z,b,f){let j=new URLSearchParams;if(b?.state)j.append("state",b.state);if(b?.page)j.append("page",String(b.page));if(b?.per_page)j.append("per_page",String(b.per_page));if(b?.q)j.append("q",b.q);if(b?.labels)j.append("labels",b.labels);if(b?.milestones)j.append("milestones",b.milestones);if(b?.created_by)j.append("created_by",b.created_by);if(b?.assigned_by)j.append("assigned_by",b.assigned_by);if(b?.mentioned_by)j.append("mentioned_by",b.mentioned_by);if(b?.type)j.append("type",b.type);if(b?.since)j.append("since",b.since);if(b?.before)j.append("before",b.before);let v=j.toString(),A=`/repos/${k}/${z}/issues${v?`?${v}`:""}`;return this.client.get(A,f)}get(k,z,b,f){return this.client.get(`/repos/${k}/${z}/issues/${b}`,f)}getComment(k,z,b,f){return this.client.get(`/repos/${k}/${z}/issues/comments/${b}`,f)}getComments(k,z,b,f,j){let v=new URLSearchParams;if(f?.since)v.append("since",f.since);if(f?.before)v.append("before",f.before);let A=v.toString(),B=`/repos/${k}/${z}/issues/${b}/comments${A?`?${A}`:""}`;return this.client.get(B,j)}getLabels(k,z,b,f){return this.client.get(`/repos/${k}/${z}/issues/${b}/labels`,f)}getTimeline(k,z,b,f,j){let v=new URLSearchParams;if(f?.page)v.append("page",String(f.page));if(f?.per_page)v.append("per_page",String(f.per_page));if(f?.since)v.append("since",f.since);if(f?.before)v.append("before",f.before);let A=v.toString(),B=`/repos/${k}/${z}/issues/${b}/timeline${A?`?${A}`:""}`;return this.client.get(B,j)}}export{C as IssuesApi};
2
+ export{C as h};
3
3
 
4
- //# debugId=1F131645A0C768A864756E2164756E21
4
+ //# debugId=002E078DE313E04264756E2164756E21