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
package/dist/client.js CHANGED
@@ -1,4 +1,4 @@
1
- import{x as S,y as U,z as X}from"./errors.js";var F={DELETE:"DELETE",GET:"GET",PATCH:"PATCH",POST:"POST",PUT:"PUT"};class _{baseUrl;token;apiVersion;onApiVersionWarning;constructor(j={}){this.baseUrl=j.baseUrl||"https://api.gitverse.ru",this.token=j.token,this.apiVersion=j.apiVersion||"1"}setToken(j){this.token=j}extractRateLimitInfo(j){let x=j.get("GitVerse-RateLimit-Limit"),q=j.get("GitVerse-RateLimit-Remaining"),z=j.get("GitVerse-RateLimit-Retry-After"),B=j.get("Gitverse-Ratelimit-Reset");if(!(x&&q&&z&&B))return;return{limit:Number.parseInt(x,10),remaining:Number.parseInt(q,10),reset:Number.parseInt(B,10),retryAfter:Number.parseInt(z,10)}}extractApiVersionInfo(j){let x=j.get("Gitverse-Api-Version"),q=j.get("Gitverse-Api-Latest-Version"),z=j.get("Gitverse-Api-Deprecation")==="true",B=j.get("Gitverse-Api-Decommissioning");if(!(x&&q))return;return{decommissioning:B||void 0,deprecated:z,latestVersion:q,version:x}}extractMetadata(j){let x=this.extractRateLimitInfo(j),q=this.extractApiVersionInfo(j);if(q?.deprecated&&this.onApiVersionWarning){let z=new X(q.version,q.latestVersion,q.decommissioning);this.onApiVersionWarning(z)}return{apiVersion:q,rateLimit:x}}async request(j,x,q,z){let B=j.startsWith("/")?j.slice(1):j,Y=`${this.baseUrl}/${B}`,J=new Headers;if(J.set("Content-Type","application/json"),J.set("Accept",`application/vnd.gitverse.object+json; version=${this.apiVersion}`),this.token)J.set("Authorization",`Bearer ${this.token}`);let Z={body:q?JSON.stringify(q):void 0,headers:J,method:x,signal:z?.signal},D=await fetch(Y,Z),K=this.extractMetadata(D.headers),N;try{N=await D.json()}catch{N=void 0}if(!D.ok){let Q=N?.message||D.statusText;if(D.status===429&&K.rateLimit)throw new U(Q||"Превышен лимит запросов. Попробуйте позже.",K.rateLimit,K);throw new S(D.status,Q,K)}return N}get(j,x){return this.request(j,F.GET,void 0,x)}post(j,x,q){return this.request(j,F.POST,x,q)}put(j,x,q){return this.request(j,F.PUT,x,q)}delete(j,x,q){return this.request(j,F.DELETE,x,q)}patch(j,x,q){return this.request(j,F.PATCH,x,q)}}export{F as HTTPMethods,_ as GitVerseClient};
2
- export{_ as w};
1
+ import{r as $,s as w,t as k}from"./errors.js";var Z={DELETE:"DELETE",GET:"GET",PATCH:"PATCH",POST:"POST",PUT:"PUT"};class v{baseUrl;token;apiVersion;onApiVersionWarning;constructor(j={}){this.baseUrl=j.baseUrl||"https://api.gitverse.ru",this.token=j.token,this.apiVersion=j.apiVersion||"1"}setToken(j){this.token=j}extractRateLimitInfo(j){let x=j.get("GitVerse-RateLimit-Limit"),q=j.get("GitVerse-RateLimit-User-Remaining")||j.get("GitVerse-RateLimit-Remaining"),z=j.get("GitVerse-RateLimit-Retry-After"),F=j.get("Gitverse-Ratelimit-Reset");if(!(x&&z))return;let U=Number.parseInt(z,10),J=F?Number.parseInt(F,10):Math.floor(Date.now()/1000)+U,K=q?Number.parseInt(q,10):0;return{limit:Number.parseInt(x,10),remaining:K,reset:J,retryAfter:U}}extractApiVersionInfo(j){let x=j.get("Gitverse-Api-Version"),q=j.get("Gitverse-Api-Latest-Version"),z=j.get("Gitverse-Api-Deprecation")==="true",F=j.get("Gitverse-Api-Decommissioning");if(!(x&&q))return;return{decommissioning:F||void 0,deprecated:z,latestVersion:q,version:x}}extractMetadata(j){let x=this.extractRateLimitInfo(j),q=this.extractApiVersionInfo(j);if(q?.deprecated&&this.onApiVersionWarning){let z=new k(q.version,q.latestVersion,q.decommissioning);this.onApiVersionWarning(z)}return{apiVersion:q,rateLimit:x}}async request(j,x,q,z){let F=j.startsWith("/")?j.slice(1):j,U=`${this.baseUrl}/${F}`,J=new Headers;if(J.set("Content-Type","application/json"),J.set("Accept",`application/vnd.gitverse.object+json; version=${this.apiVersion}`),this.token)J.set("Authorization",`Bearer ${this.token}`);let K={body:q?JSON.stringify(q):void 0,headers:J,method:x,signal:z?.signal},C=await fetch(U,K),X=this.extractMetadata(C.headers),Y;try{Y=await C.json()}catch{Y=void 0}if(!C.ok){let S=Y?.message||C.statusText;if(C.status===429&&X.rateLimit)throw new w(S||"Превышен лимит запросов. Попробуйте позже.",X.rateLimit,X);throw new $(C.status,S,X)}return Y}get(j,x){return this.request(j,Z.GET,void 0,x)}post(j,x,q){return this.request(j,Z.POST,x,q)}put(j,x,q){return this.request(j,Z.PUT,x,q)}delete(j,x,q){return this.request(j,Z.DELETE,x,q)}patch(j,x,q){return this.request(j,Z.PATCH,x,q)}async uploadFile(j,x,q,z,F){let U=j.startsWith("/")?j.slice(1):j,J=`${this.baseUrl}/${U}`,K=new Headers;if(K.set("Accept",`application/vnd.gitverse.object+json; version=${this.apiVersion}`),this.token)K.set("Authorization",`Bearer ${this.token}`);let C=new FormData,X=q instanceof ArrayBuffer?new Blob([q]):q;C.append(x,X,z);let Y={body:C,headers:K,method:Z.POST,signal:F?.signal},Q=await fetch(J,Y),S=this.extractMetadata(Q.headers),_;try{_=await Q.json()}catch{_=void 0}if(!Q.ok){let W=_?.message||Q.statusText;if(Q.status===429&&S.rateLimit)throw new w(W||"Превышен лимит запросов. Попробуйте позже.",S.rateLimit,S);throw new $(Q.status,W,S)}return _}}export{Z as HTTPMethods,v as GitVerseClient};
2
+ export{v as a};
3
3
 
4
- //# debugId=0E13183CD0E75AD764756E2164756E21
4
+ //# debugId=DDF948B126DD5D9164756E2164756E21
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/client.ts"],
4
4
  "sourcesContent": [
5
- "import { ApiVersionWarning, GitVerseApiError, RateLimitError } from \"./errors\";\nimport type { ApiError, ApiResponseMetadata, ApiVersionInfo, RateLimitInfo, RequestOptions } from \"./types\";\nexport const HTTPMethods = {\n DELETE: \"DELETE\",\n GET: \"GET\",\n PATCH: \"PATCH\",\n POST: \"POST\",\n PUT: \"PUT\",\n} as const;\n\nexport type HTTPMethods = (typeof HTTPMethods)[keyof typeof HTTPMethods];\n\n/**\n * Параметры для конфигурации GitVerse клиента\n */\nexport interface GitVerseClientConfig {\n /**\n * Базовый URL API GitVerse\n * @default 'https://api.gitverse.ru'\n */\n baseUrl?: string;\n\n /**\n * Токен доступа для авторизации в API\n */\n token?: string;\n\n /**\n * Версия API\n * @default '1'\n */\n apiVersion?: string;\n}\n\n/**\n * Основной класс для работы с GitVerse API\n */\nexport class GitVerseClient {\n private baseUrl: string;\n private token?: string;\n private apiVersion: string;\n\n /**\n * Callback для обработки предупреждений об устаревшей версии API\n */\n public onApiVersionWarning?: (warning: ApiVersionWarning) => void;\n\n /**\n * Создает новый экземпляр GitVerse клиента\n * @param config Конфигурация клиента\n */\n constructor(config: GitVerseClientConfig = {}) {\n this.baseUrl = config.baseUrl || \"https://api.gitverse.ru\";\n this.token = config.token;\n this.apiVersion = config.apiVersion || \"1\";\n }\n\n /**\n * Устанавливает токен авторизации\n * @param token Токен доступа\n */\n setToken(token: string): void {\n this.token = token;\n }\n\n /**\n * Извлекает информацию о Rate Limit из заголовков ответа\n */\n private extractRateLimitInfo(headers: Headers): RateLimitInfo | undefined {\n const limit = headers.get(\"GitVerse-RateLimit-Limit\");\n const remaining = headers.get(\"GitVerse-RateLimit-Remaining\");\n const retryAfter = headers.get(\"GitVerse-RateLimit-Retry-After\");\n const reset = headers.get(\"Gitverse-Ratelimit-Reset\");\n\n if (!(limit && remaining && retryAfter && reset)) {\n return;\n }\n\n return {\n limit: Number.parseInt(limit, 10),\n remaining: Number.parseInt(remaining, 10),\n reset: Number.parseInt(reset, 10),\n retryAfter: Number.parseInt(retryAfter, 10),\n };\n }\n\n /**\n * Извлекает информацию о версии API из заголовков ответа\n */\n private extractApiVersionInfo(headers: Headers): ApiVersionInfo | undefined {\n const version = headers.get(\"Gitverse-Api-Version\");\n const latestVersion = headers.get(\"Gitverse-Api-Latest-Version\");\n const deprecated = headers.get(\"Gitverse-Api-Deprecation\") === \"true\";\n const decommissioning = headers.get(\"Gitverse-Api-Decommissioning\");\n\n if (!(version && latestVersion)) {\n return;\n }\n\n return {\n decommissioning: decommissioning || undefined,\n deprecated,\n latestVersion,\n version,\n };\n }\n\n /**\n * Извлекает метаданные из заголовков ответа\n */\n private extractMetadata(headers: Headers): ApiResponseMetadata {\n const rateLimit = this.extractRateLimitInfo(headers);\n const apiVersion = this.extractApiVersionInfo(headers);\n\n // Проверяем устаревшую версию API и вызываем callback\n if (apiVersion?.deprecated && this.onApiVersionWarning) {\n const warning = new ApiVersionWarning(apiVersion.version, apiVersion.latestVersion, apiVersion.decommissioning);\n this.onApiVersionWarning(warning);\n }\n\n return {\n apiVersion,\n rateLimit,\n };\n }\n\n /**\n * Выполняет API-запрос с учетом авторизации и версии API\n * @param path Путь к API-ресурсу\n * @param method HTTP-метод\n * @param body Тело запроса (опционально)\n * @param options Опции запроса (опционально)\n * @returns Ответ от API\n * @throws {RateLimitError} При превышении лимита запросов (429)\n * @throws {GitVerseApiError} При других ошибках API\n */\n async request<T>(path: string, method: HTTPMethods, body?: unknown, options?: RequestOptions): Promise<T> {\n // Правильная конкатенация URL: убираем начальный / из path если он есть\n const cleanPath = path.startsWith(\"/\") ? path.slice(1) : path;\n const url = `${this.baseUrl}/${cleanPath}`;\n\n const headers = new Headers();\n\n headers.set(\"Content-Type\", \"application/json\");\n headers.set(\"Accept\", `application/vnd.gitverse.object+json; version=${this.apiVersion}`);\n\n if (this.token) {\n headers.set(\"Authorization\", `Bearer ${this.token}`);\n }\n\n const fetchOptions: RequestInit = {\n body: body ? JSON.stringify(body) : undefined,\n headers,\n method,\n signal: options?.signal,\n };\n\n const response = await fetch(url, fetchOptions);\n\n // Извлекаем метаданные из заголовков\n const metadata = this.extractMetadata(response.headers);\n\n let data: unknown;\n try {\n data = await response.json();\n } catch {\n data = undefined;\n }\n\n if (!response.ok) {\n const error = data as ApiError | undefined;\n const errorMessage = error?.message || response.statusText;\n\n // Обработка ошибки превышения лимита запросов\n if (response.status === 429 && metadata.rateLimit) {\n throw new RateLimitError(\n errorMessage || \"Превышен лимит запросов. Попробуйте позже.\",\n metadata.rateLimit,\n metadata,\n );\n }\n\n // Общая ошибка API\n throw new GitVerseApiError(response.status, errorMessage, metadata);\n }\n\n return data as T;\n }\n\n /**\n * Выполняет GET-запрос\n * @param path Путь к API-ресурсу\n * @param options Опции запроса (опционально)\n * @returns Ответ от API\n */\n get<T>(path: string, options?: RequestOptions): Promise<T> {\n return this.request<T>(path, HTTPMethods.GET, undefined, options);\n }\n\n /**\n * Выполняет POST-запрос\n * @param path Путь к API-ресурсу\n * @param body Тело запроса\n * @param options Опции запроса (опционально)\n * @returns Ответ от API\n */\n post<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T> {\n return this.request<T>(path, HTTPMethods.POST, body, options);\n }\n\n /**\n * Выполняет PUT-запрос\n * @param path Путь к API-ресурсу\n * @param body Тело запроса\n * @param options Опции запроса (опционально)\n * @returns Ответ от API\n */\n put<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T> {\n return this.request<T>(path, HTTPMethods.PUT, body, options);\n }\n\n /**\n * Выполняет DELETE-запрос\n * @param path Путь к API-ресурсу\n * @param body Тело запроса (опционально)\n * @param options Опции запроса (опционально)\n * @returns Ответ от API\n */\n delete<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T> {\n return this.request<T>(path, HTTPMethods.DELETE, body, options);\n }\n\n /**\n * Выполняет PATCH-запрос\n * @param path Путь к API-ресурсу\n * @param body Тело запроса\n * @param options Опции запроса (опционально)\n * @returns Ответ от API\n */\n patch<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T> {\n return this.request<T>(path, HTTPMethods.PATCH, body, options);\n }\n}\n"
5
+ "import { ApiVersionWarning, GitVerseApiError, RateLimitError } from \"./errors\";\nimport type { ApiError, ApiResponseMetadata, ApiVersionInfo, RateLimitInfo, RequestOptions } from \"./types\";\nexport const HTTPMethods = {\n DELETE: \"DELETE\",\n GET: \"GET\",\n PATCH: \"PATCH\",\n POST: \"POST\",\n PUT: \"PUT\",\n} as const;\n\nexport type HTTPMethods = (typeof HTTPMethods)[keyof typeof HTTPMethods];\n\n/**\n * Параметры для конфигурации GitVerse клиента\n */\nexport interface GitVerseClientConfig {\n /**\n * Базовый URL API GitVerse\n * @default 'https://api.gitverse.ru'\n */\n baseUrl?: string;\n\n /**\n * Токен доступа для авторизации в API\n */\n token?: string;\n\n /**\n * Версия API\n * @default '1'\n */\n apiVersion?: string;\n}\n\n/**\n * Основной класс для работы с GitVerse API\n */\nexport class GitVerseClient {\n private baseUrl: string;\n private token?: string;\n private apiVersion: string;\n\n /**\n * Callback для обработки предупреждений об устаревшей версии API\n */\n public onApiVersionWarning?: (warning: ApiVersionWarning) => void;\n\n /**\n * Создает новый экземпляр GitVerse клиента\n * @param config Конфигурация клиента\n */\n constructor(config: GitVerseClientConfig = {}) {\n this.baseUrl = config.baseUrl || \"https://api.gitverse.ru\";\n this.token = config.token;\n this.apiVersion = config.apiVersion || \"1\";\n }\n\n /**\n * Устанавливает токен авторизации\n * @param token Токен доступа\n */\n setToken(token: string): void {\n this.token = token;\n }\n\n /**\n * Извлекает информацию о Rate Limit из заголовков ответа\n */\n private extractRateLimitInfo(headers: Headers): RateLimitInfo | undefined {\n const limit = headers.get(\"GitVerse-RateLimit-Limit\");\n const remaining = headers.get(\"GitVerse-RateLimit-User-Remaining\") || headers.get(\"GitVerse-RateLimit-Remaining\");\n const retryAfter = headers.get(\"GitVerse-RateLimit-Retry-After\");\n const reset = headers.get(\"Gitverse-Ratelimit-Reset\");\n\n if (!(limit && retryAfter)) {\n return;\n }\n\n const retryAfterNum = Number.parseInt(retryAfter, 10);\n const resetNum = reset ? Number.parseInt(reset, 10) : Math.floor(Date.now() / 1000) + retryAfterNum;\n const remainingNum = remaining ? Number.parseInt(remaining, 10) : 0;\n\n return {\n limit: Number.parseInt(limit, 10),\n remaining: remainingNum,\n reset: resetNum,\n retryAfter: retryAfterNum,\n };\n }\n\n /**\n * Извлекает информацию о версии API из заголовков ответа\n */\n private extractApiVersionInfo(headers: Headers): ApiVersionInfo | undefined {\n const version = headers.get(\"Gitverse-Api-Version\");\n const latestVersion = headers.get(\"Gitverse-Api-Latest-Version\");\n const deprecated = headers.get(\"Gitverse-Api-Deprecation\") === \"true\";\n const decommissioning = headers.get(\"Gitverse-Api-Decommissioning\");\n\n if (!(version && latestVersion)) {\n return;\n }\n\n return {\n decommissioning: decommissioning || undefined,\n deprecated,\n latestVersion,\n version,\n };\n }\n\n /**\n * Извлекает метаданные из заголовков ответа\n */\n private extractMetadata(headers: Headers): ApiResponseMetadata {\n const rateLimit = this.extractRateLimitInfo(headers);\n const apiVersion = this.extractApiVersionInfo(headers);\n\n // Проверяем устаревшую версию API и вызываем callback\n if (apiVersion?.deprecated && this.onApiVersionWarning) {\n const warning = new ApiVersionWarning(apiVersion.version, apiVersion.latestVersion, apiVersion.decommissioning);\n this.onApiVersionWarning(warning);\n }\n\n return {\n apiVersion,\n rateLimit,\n };\n }\n\n /**\n * Выполняет API-запрос с учетом авторизации и версии API\n * @param path Путь к API-ресурсу\n * @param method HTTP-метод\n * @param body Тело запроса (опционально)\n * @param options Опции запроса (опционально)\n * @returns Ответ от API\n * @throws {RateLimitError} При превышении лимита запросов (429)\n * @throws {GitVerseApiError} При других ошибках API\n */\n async request<T>(path: string, method: HTTPMethods, body?: unknown, options?: RequestOptions): Promise<T> {\n // Правильная конкатенация URL: убираем начальный / из path если он есть\n const cleanPath = path.startsWith(\"/\") ? path.slice(1) : path;\n const url = `${this.baseUrl}/${cleanPath}`;\n\n const headers = new Headers();\n\n headers.set(\"Content-Type\", \"application/json\");\n headers.set(\"Accept\", `application/vnd.gitverse.object+json; version=${this.apiVersion}`);\n\n if (this.token) {\n headers.set(\"Authorization\", `Bearer ${this.token}`);\n }\n\n const fetchOptions: RequestInit = {\n body: body ? JSON.stringify(body) : undefined,\n headers,\n method,\n signal: options?.signal,\n };\n\n const response = await fetch(url, fetchOptions);\n\n // Извлекаем метаданные из заголовков\n const metadata = this.extractMetadata(response.headers);\n\n let data: unknown;\n try {\n data = await response.json();\n } catch {\n data = undefined;\n }\n\n if (!response.ok) {\n const error = data as ApiError | undefined;\n const errorMessage = error?.message || response.statusText;\n\n // Обработка ошибки превышения лимита запросов\n if (response.status === 429 && metadata.rateLimit) {\n throw new RateLimitError(\n errorMessage || \"Превышен лимит запросов. Попробуйте позже.\",\n metadata.rateLimit,\n metadata,\n );\n }\n\n // Общая ошибка API\n throw new GitVerseApiError(response.status, errorMessage, metadata);\n }\n\n return data as T;\n }\n\n /**\n * Выполняет GET-запрос\n * @param path Путь к API-ресурсу\n * @param options Опции запроса (опционально)\n * @returns Ответ от API\n */\n get<T>(path: string, options?: RequestOptions): Promise<T> {\n return this.request<T>(path, HTTPMethods.GET, undefined, options);\n }\n\n /**\n * Выполняет POST-запрос\n * @param path Путь к API-ресурсу\n * @param body Тело запроса\n * @param options Опции запроса (опционально)\n * @returns Ответ от API\n */\n post<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T> {\n return this.request<T>(path, HTTPMethods.POST, body, options);\n }\n\n /**\n * Выполняет PUT-запрос\n * @param path Путь к API-ресурсу\n * @param body Тело запроса\n * @param options Опции запроса (опционально)\n * @returns Ответ от API\n */\n put<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T> {\n return this.request<T>(path, HTTPMethods.PUT, body, options);\n }\n\n /**\n * Выполняет DELETE-запрос\n * @param path Путь к API-ресурсу\n * @param body Тело запроса (опционально)\n * @param options Опции запроса (опционально)\n * @returns Ответ от API\n */\n delete<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T> {\n return this.request<T>(path, HTTPMethods.DELETE, body, options);\n }\n\n /**\n * Выполняет PATCH-запрос\n * @param path Путь к API-ресурсу\n * @param body Тело запроса\n * @param options Опции запроса (опционально)\n * @returns Ответ от API\n */\n patch<T>(path: string, body?: unknown, options?: RequestOptions): Promise<T> {\n return this.request<T>(path, HTTPMethods.PATCH, body, options);\n }\n\n /**\n * Выполняет загрузку файла через multipart/form-data\n * @param path Путь к API-ресурсу\n * @param fieldName Имя поля для файла\n * @param file Файл для загрузки (Blob или ArrayBuffer)\n * @param fileName Имя файла\n * @param options Опции запроса (опционально)\n * @returns Ответ от API\n */\n async uploadFile<T>(\n path: string,\n fieldName: string,\n file: Blob | ArrayBuffer,\n fileName: string,\n options?: RequestOptions,\n ): Promise<T> {\n const cleanPath = path.startsWith(\"/\") ? path.slice(1) : path;\n const url = `${this.baseUrl}/${cleanPath}`;\n\n const headers = new Headers();\n headers.set(\"Accept\", `application/vnd.gitverse.object+json; version=${this.apiVersion}`);\n\n if (this.token) {\n headers.set(\"Authorization\", `Bearer ${this.token}`);\n }\n\n const formData = new FormData();\n const blob = file instanceof ArrayBuffer ? new Blob([file]) : file;\n formData.append(fieldName, blob, fileName);\n\n const fetchOptions: RequestInit = {\n body: formData,\n headers,\n method: HTTPMethods.POST,\n signal: options?.signal,\n };\n\n const response = await fetch(url, fetchOptions);\n\n const metadata = this.extractMetadata(response.headers);\n\n let data: unknown;\n try {\n data = await response.json();\n } catch {\n data = undefined;\n }\n\n if (!response.ok) {\n const error = data as ApiError | undefined;\n const errorMessage = error?.message || response.statusText;\n\n if (response.status === 429 && metadata.rateLimit) {\n throw new RateLimitError(\n errorMessage || \"Превышен лимит запросов. Попробуйте позже.\",\n metadata.rateLimit,\n metadata,\n );\n }\n\n throw new GitVerseApiError(response.status, errorMessage, metadata);\n }\n\n return data as T;\n }\n}\n"
6
6
  ],
7
- "mappings": "8CAEO,IAAM,EAAc,CACzB,OAAQ,SACR,IAAK,MACL,MAAO,QACP,KAAM,OACN,IAAK,KACP,EA6BO,MAAM,CAAe,CAClB,QACA,MACA,WAKD,oBAMP,WAAW,CAAC,EAA+B,CAAC,EAAG,CAC7C,KAAK,QAAU,EAAO,SAAW,0BACjC,KAAK,MAAQ,EAAO,MACpB,KAAK,WAAa,EAAO,YAAc,IAOzC,QAAQ,CAAC,EAAqB,CAC5B,KAAK,MAAQ,EAMP,oBAAoB,CAAC,EAA6C,CACxE,IAAM,EAAQ,EAAQ,IAAI,0BAA0B,EAC9C,EAAY,EAAQ,IAAI,8BAA8B,EACtD,EAAa,EAAQ,IAAI,gCAAgC,EACzD,EAAQ,EAAQ,IAAI,0BAA0B,EAEpD,GAAI,EAAE,GAAS,GAAa,GAAc,GACxC,OAGF,MAAO,CACL,MAAO,OAAO,SAAS,EAAO,EAAE,EAChC,UAAW,OAAO,SAAS,EAAW,EAAE,EACxC,MAAO,OAAO,SAAS,EAAO,EAAE,EAChC,WAAY,OAAO,SAAS,EAAY,EAAE,CAC5C,EAMM,qBAAqB,CAAC,EAA8C,CAC1E,IAAM,EAAU,EAAQ,IAAI,sBAAsB,EAC5C,EAAgB,EAAQ,IAAI,6BAA6B,EACzD,EAAa,EAAQ,IAAI,0BAA0B,IAAM,OACzD,EAAkB,EAAQ,IAAI,8BAA8B,EAElE,GAAI,EAAE,GAAW,GACf,OAGF,MAAO,CACL,gBAAiB,GAAmB,OACpC,aACA,gBACA,SACF,EAMM,eAAe,CAAC,EAAuC,CAC7D,IAAM,EAAY,KAAK,qBAAqB,CAAO,EAC7C,EAAa,KAAK,sBAAsB,CAAO,EAGrD,GAAI,GAAY,YAAc,KAAK,oBAAqB,CACtD,IAAM,EAAU,IAAI,EAAkB,EAAW,QAAS,EAAW,cAAe,EAAW,eAAe,EAC9G,KAAK,oBAAoB,CAAO,EAGlC,MAAO,CACL,aACA,WACF,OAaI,QAAU,CAAC,EAAc,EAAqB,EAAgB,EAAsC,CAExG,IAAM,EAAY,EAAK,WAAW,GAAG,EAAI,EAAK,MAAM,CAAC,EAAI,EACnD,EAAM,GAAG,KAAK,WAAW,IAEzB,EAAU,IAAI,QAKpB,GAHA,EAAQ,IAAI,eAAgB,kBAAkB,EAC9C,EAAQ,IAAI,SAAU,iDAAiD,KAAK,YAAY,EAEpF,KAAK,MACP,EAAQ,IAAI,gBAAiB,UAAU,KAAK,OAAO,EAGrD,IAAM,EAA4B,CAChC,KAAM,EAAO,KAAK,UAAU,CAAI,EAAI,OACpC,UACA,SACA,OAAQ,GAAS,MACnB,EAEM,EAAW,MAAM,MAAM,EAAK,CAAY,EAGxC,EAAW,KAAK,gBAAgB,EAAS,OAAO,EAElD,EACJ,GAAI,CACF,EAAO,MAAM,EAAS,KAAK,EAC3B,KAAM,CACN,EAAO,OAGT,GAAI,CAAC,EAAS,GAAI,CAEhB,IAAM,EADQ,GACc,SAAW,EAAS,WAGhD,GAAI,EAAS,SAAW,KAAO,EAAS,UACtC,MAAM,IAAI,EACR,GAAgB,6CAChB,EAAS,UACT,CACF,EAIF,MAAM,IAAI,EAAiB,EAAS,OAAQ,EAAc,CAAQ,EAGpE,OAAO,EAST,GAAM,CAAC,EAAc,EAAsC,CACzD,OAAO,KAAK,QAAW,EAAM,EAAY,IAAK,OAAW,CAAO,EAUlE,IAAO,CAAC,EAAc,EAAgB,EAAsC,CAC1E,OAAO,KAAK,QAAW,EAAM,EAAY,KAAM,EAAM,CAAO,EAU9D,GAAM,CAAC,EAAc,EAAgB,EAAsC,CACzE,OAAO,KAAK,QAAW,EAAM,EAAY,IAAK,EAAM,CAAO,EAU7D,MAAS,CAAC,EAAc,EAAgB,EAAsC,CAC5E,OAAO,KAAK,QAAW,EAAM,EAAY,OAAQ,EAAM,CAAO,EAUhE,KAAQ,CAAC,EAAc,EAAgB,EAAsC,CAC3E,OAAO,KAAK,QAAW,EAAM,EAAY,MAAO,EAAM,CAAO,EAEjE",
8
- "debugId": "0E13183CD0E75AD764756E2164756E21",
7
+ "mappings": "8CAEO,IAAM,EAAc,CACzB,OAAQ,SACR,IAAK,MACL,MAAO,QACP,KAAM,OACN,IAAK,KACP,EA6BO,MAAM,CAAe,CAClB,QACA,MACA,WAKD,oBAMP,WAAW,CAAC,EAA+B,CAAC,EAAG,CAC7C,KAAK,QAAU,EAAO,SAAW,0BACjC,KAAK,MAAQ,EAAO,MACpB,KAAK,WAAa,EAAO,YAAc,IAOzC,QAAQ,CAAC,EAAqB,CAC5B,KAAK,MAAQ,EAMP,oBAAoB,CAAC,EAA6C,CACxE,IAAM,EAAQ,EAAQ,IAAI,0BAA0B,EAC9C,EAAY,EAAQ,IAAI,mCAAmC,GAAK,EAAQ,IAAI,8BAA8B,EAC1G,EAAa,EAAQ,IAAI,gCAAgC,EACzD,EAAQ,EAAQ,IAAI,0BAA0B,EAEpD,GAAI,EAAE,GAAS,GACb,OAGF,IAAM,EAAgB,OAAO,SAAS,EAAY,EAAE,EAC9C,EAAW,EAAQ,OAAO,SAAS,EAAO,EAAE,EAAI,KAAK,MAAM,KAAK,IAAI,EAAI,IAAI,EAAI,EAChF,EAAe,EAAY,OAAO,SAAS,EAAW,EAAE,EAAI,EAElE,MAAO,CACL,MAAO,OAAO,SAAS,EAAO,EAAE,EAChC,UAAW,EACX,MAAO,EACP,WAAY,CACd,EAMM,qBAAqB,CAAC,EAA8C,CAC1E,IAAM,EAAU,EAAQ,IAAI,sBAAsB,EAC5C,EAAgB,EAAQ,IAAI,6BAA6B,EACzD,EAAa,EAAQ,IAAI,0BAA0B,IAAM,OACzD,EAAkB,EAAQ,IAAI,8BAA8B,EAElE,GAAI,EAAE,GAAW,GACf,OAGF,MAAO,CACL,gBAAiB,GAAmB,OACpC,aACA,gBACA,SACF,EAMM,eAAe,CAAC,EAAuC,CAC7D,IAAM,EAAY,KAAK,qBAAqB,CAAO,EAC7C,EAAa,KAAK,sBAAsB,CAAO,EAGrD,GAAI,GAAY,YAAc,KAAK,oBAAqB,CACtD,IAAM,EAAU,IAAI,EAAkB,EAAW,QAAS,EAAW,cAAe,EAAW,eAAe,EAC9G,KAAK,oBAAoB,CAAO,EAGlC,MAAO,CACL,aACA,WACF,OAaI,QAAU,CAAC,EAAc,EAAqB,EAAgB,EAAsC,CAExG,IAAM,EAAY,EAAK,WAAW,GAAG,EAAI,EAAK,MAAM,CAAC,EAAI,EACnD,EAAM,GAAG,KAAK,WAAW,IAEzB,EAAU,IAAI,QAKpB,GAHA,EAAQ,IAAI,eAAgB,kBAAkB,EAC9C,EAAQ,IAAI,SAAU,iDAAiD,KAAK,YAAY,EAEpF,KAAK,MACP,EAAQ,IAAI,gBAAiB,UAAU,KAAK,OAAO,EAGrD,IAAM,EAA4B,CAChC,KAAM,EAAO,KAAK,UAAU,CAAI,EAAI,OACpC,UACA,SACA,OAAQ,GAAS,MACnB,EAEM,EAAW,MAAM,MAAM,EAAK,CAAY,EAGxC,EAAW,KAAK,gBAAgB,EAAS,OAAO,EAElD,EACJ,GAAI,CACF,EAAO,MAAM,EAAS,KAAK,EAC3B,KAAM,CACN,EAAO,OAGT,GAAI,CAAC,EAAS,GAAI,CAEhB,IAAM,EADQ,GACc,SAAW,EAAS,WAGhD,GAAI,EAAS,SAAW,KAAO,EAAS,UACtC,MAAM,IAAI,EACR,GAAgB,6CAChB,EAAS,UACT,CACF,EAIF,MAAM,IAAI,EAAiB,EAAS,OAAQ,EAAc,CAAQ,EAGpE,OAAO,EAST,GAAM,CAAC,EAAc,EAAsC,CACzD,OAAO,KAAK,QAAW,EAAM,EAAY,IAAK,OAAW,CAAO,EAUlE,IAAO,CAAC,EAAc,EAAgB,EAAsC,CAC1E,OAAO,KAAK,QAAW,EAAM,EAAY,KAAM,EAAM,CAAO,EAU9D,GAAM,CAAC,EAAc,EAAgB,EAAsC,CACzE,OAAO,KAAK,QAAW,EAAM,EAAY,IAAK,EAAM,CAAO,EAU7D,MAAS,CAAC,EAAc,EAAgB,EAAsC,CAC5E,OAAO,KAAK,QAAW,EAAM,EAAY,OAAQ,EAAM,CAAO,EAUhE,KAAQ,CAAC,EAAc,EAAgB,EAAsC,CAC3E,OAAO,KAAK,QAAW,EAAM,EAAY,MAAO,EAAM,CAAO,OAYzD,WAAa,CACjB,EACA,EACA,EACA,EACA,EACY,CACZ,IAAM,EAAY,EAAK,WAAW,GAAG,EAAI,EAAK,MAAM,CAAC,EAAI,EACnD,EAAM,GAAG,KAAK,WAAW,IAEzB,EAAU,IAAI,QAGpB,GAFA,EAAQ,IAAI,SAAU,iDAAiD,KAAK,YAAY,EAEpF,KAAK,MACP,EAAQ,IAAI,gBAAiB,UAAU,KAAK,OAAO,EAGrD,IAAM,EAAW,IAAI,SACf,EAAO,aAAgB,YAAc,IAAI,KAAK,CAAC,CAAI,CAAC,EAAI,EAC9D,EAAS,OAAO,EAAW,EAAM,CAAQ,EAEzC,IAAM,EAA4B,CAChC,KAAM,EACN,UACA,OAAQ,EAAY,KACpB,OAAQ,GAAS,MACnB,EAEM,EAAW,MAAM,MAAM,EAAK,CAAY,EAExC,EAAW,KAAK,gBAAgB,EAAS,OAAO,EAElD,EACJ,GAAI,CACF,EAAO,MAAM,EAAS,KAAK,EAC3B,KAAM,CACN,EAAO,OAGT,GAAI,CAAC,EAAS,GAAI,CAEhB,IAAM,EADQ,GACc,SAAW,EAAS,WAEhD,GAAI,EAAS,SAAW,KAAO,EAAS,UACtC,MAAM,IAAI,EACR,GAAgB,6CAChB,EAAS,UACT,CACF,EAGF,MAAM,IAAI,EAAiB,EAAS,OAAQ,EAAc,CAAQ,EAGpE,OAAO,EAEX",
8
+ "debugId": "DDF948B126DD5D9164756E2164756E21",
9
9
  "names": []
10
10
  }
package/dist/enums.d.ts CHANGED
@@ -1,93 +1,49 @@
1
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
- * Типы содержимого в репозитории
2
+ * Перечисления для GitVerse API
3
+ * @generated Сгенерировано автоматически из OpenAPI спецификации
26
4
  */
27
5
  declare const ContentType: {
28
- readonly Directory: "dir"
6
+ readonly Dir: "dir"
29
7
  readonly File: "file"
30
8
  };
31
- /**
32
- * Тип для типов содержимого
33
- */
34
9
  type ContentType = (typeof ContentType)[keyof typeof ContentType];
35
- /**
36
- * Состояния pull request
37
- */
38
- declare const PullRequestState: {
39
- readonly Closed: "closed"
40
- readonly Open: "open"
41
- };
42
- /**
43
- * Тип для состояний pull request
44
- */
45
- type PullRequestState = (typeof PullRequestState)[keyof typeof PullRequestState];
46
- /**
47
- * Состояния issue
48
- */
49
10
  declare const IssueState: {
50
11
  readonly Closed: "closed"
51
12
  readonly Open: "open"
52
13
  };
53
- /**
54
- * Тип для состояний issue
55
- */
56
14
  type IssueState = (typeof IssueState)[keyof typeof IssueState];
57
- /**
58
- * Фильтры состояний pull request, включая "все"
59
- */
60
- declare const PullRequestStateFilter: {
61
- readonly All: "all"
62
- readonly Closed: "closed"
63
- readonly Open: "open"
64
- };
65
- /**
66
- * Тип для фильтров состояний pull request
67
- */
68
- type PullRequestStateFilter = (typeof PullRequestStateFilter)[keyof typeof PullRequestStateFilter];
69
- /**
70
- * Критерии сортировки pull request
71
- */
72
15
  declare const PullRequestSortCriteria: {
73
16
  readonly Created: "created"
74
17
  readonly LongRunning: "long-running"
75
18
  readonly Popularity: "popularity"
76
19
  readonly Updated: "updated"
77
20
  };
78
- /**
79
- * Тип для критериев сортировки pull request
80
- */
81
21
  type PullRequestSortCriteria = (typeof PullRequestSortCriteria)[keyof typeof PullRequestSortCriteria];
82
- /**
83
- * Направления сортировки pull request
84
- */
85
22
  declare const PullRequestSortDirection: {
86
- readonly Ascending: "asc"
87
- readonly Descending: "desc"
23
+ readonly Asc: "asc"
24
+ readonly Desc: "desc"
88
25
  };
89
- /**
90
- * Тип для направлений сортировки pull request
91
- */
92
26
  type PullRequestSortDirection = (typeof PullRequestSortDirection)[keyof typeof PullRequestSortDirection];
27
+ declare const PullRequestState: {
28
+ readonly Closed: "closed"
29
+ readonly Open: "open"
30
+ };
31
+ type PullRequestState = (typeof PullRequestState)[keyof typeof PullRequestState];
32
+ declare const PullRequestStateFilter: {
33
+ readonly All: "all"
34
+ readonly Closed: "closed"
35
+ readonly Open: "open"
36
+ };
37
+ type PullRequestStateFilter = (typeof PullRequestStateFilter)[keyof typeof PullRequestStateFilter];
38
+ declare const UserType: {
39
+ readonly Organization: "Organization"
40
+ readonly User: "User"
41
+ };
42
+ type UserType = (typeof UserType)[keyof typeof UserType];
43
+ declare const VisibilityType: {
44
+ readonly Limited: "limited"
45
+ readonly Private: "private"
46
+ readonly Public: "public"
47
+ };
48
+ type VisibilityType = (typeof VisibilityType)[keyof typeof VisibilityType];
93
49
  export { VisibilityType, UserType, PullRequestStateFilter, PullRequestState, PullRequestSortDirection, PullRequestSortCriteria, IssueState, ContentType };
package/dist/enums.js CHANGED
@@ -1,4 +1,4 @@
1
- var a={Organization:"Organization",User:"User"},b={Limited:"limited",Private:"private",Public:"public"},c={Directory:"dir",File:"file"},d={Closed:"closed",Open:"open"},f={Closed:"closed",Open:"open"},g={All:"all",Closed:"closed",Open:"open"},h={Created:"created",LongRunning:"long-running",Popularity:"popularity",Updated:"updated"},i={Ascending:"asc",Descending:"desc"};export{b as VisibilityType,a as UserType,g as PullRequestStateFilter,d as PullRequestState,i as PullRequestSortDirection,h as PullRequestSortCriteria,f as IssueState,c as ContentType};
2
- export{a as o,b as p,c as q,d as r,f as s,g as t,h as u,i as v};
1
+ var e={Dir:"dir",File:"file"},t={Closed:"closed",Open:"open"},o={Created:"created",LongRunning:"long-running",Popularity:"popularity",Updated:"updated"},s={Asc:"asc",Desc:"desc"},p={Closed:"closed",Open:"open"},r={All:"all",Closed:"closed",Open:"open"},l={Organization:"Organization",User:"User"},i={Limited:"limited",Private:"private",Public:"public"};export{i as VisibilityType,l as UserType,r as PullRequestStateFilter,p as PullRequestState,s as PullRequestSortDirection,o as PullRequestSortCriteria,t as IssueState,e as ContentType};
2
+ export{e as j,t as k,o as l,s as m,p as n,r as o,l as p,i as q};
3
3
 
4
- //# debugId=DF03E052E409AD8564756E2164756E21
4
+ //# debugId=07EA47B1BAC67BA764756E2164756E21
package/dist/enums.js.map CHANGED
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/enums.ts"],
4
4
  "sourcesContent": [
5
- "/**\n * Типы пользователей в системе\n */\nexport const UserType = {\n Organization: \"Organization\",\n User: \"User\",\n} as const;\n\n/**\n * Тип для типов пользователей\n */\nexport type UserType = (typeof UserType)[keyof typeof UserType];\n\n/**\n * Типы видимости для репозиториев и пользователей\n */\nexport const VisibilityType = {\n Limited: \"limited\",\n Private: \"private\",\n Public: \"public\",\n} as const;\n\n/**\n * Тип для типов видимости\n */\nexport type VisibilityType = (typeof VisibilityType)[keyof typeof VisibilityType];\n\n/**\n * Типы содержимого в репозитории\n */\nexport const ContentType = {\n Directory: \"dir\",\n File: \"file\",\n} as const;\n\n/**\n * Тип для типов содержимого\n */\nexport type ContentType = (typeof ContentType)[keyof typeof ContentType];\n\n/**\n * Состояния pull request\n */\nexport const PullRequestState = {\n Closed: \"closed\",\n Open: \"open\",\n} as const;\n\n/**\n * Тип для состояний pull request\n */\nexport type PullRequestState = (typeof PullRequestState)[keyof typeof PullRequestState];\n\n/**\n * Состояния issue\n */\nexport const IssueState = {\n Closed: \"closed\",\n Open: \"open\",\n} as const;\n\n/**\n * Тип для состояний issue\n */\nexport type IssueState = (typeof IssueState)[keyof typeof IssueState];\n\n/**\n * Фильтры состояний pull request, включая \"все\"\n */\nexport const PullRequestStateFilter = {\n All: \"all\",\n Closed: \"closed\",\n Open: \"open\",\n} as const;\n\n/**\n * Тип для фильтров состояний pull request\n */\nexport type PullRequestStateFilter = (typeof PullRequestStateFilter)[keyof typeof PullRequestStateFilter];\n\n/**\n * Критерии сортировки pull request\n */\nexport const PullRequestSortCriteria = {\n Created: \"created\",\n LongRunning: \"long-running\",\n Popularity: \"popularity\",\n Updated: \"updated\",\n} as const;\n\n/**\n * Тип для критериев сортировки pull request\n */\nexport type PullRequestSortCriteria = (typeof PullRequestSortCriteria)[keyof typeof PullRequestSortCriteria];\n\n/**\n * Направления сортировки pull request\n */\nexport const PullRequestSortDirection = {\n Ascending: \"asc\",\n Descending: \"desc\",\n} as const;\n\n/**\n * Тип для направлений сортировки pull request\n */\nexport type PullRequestSortDirection = (typeof PullRequestSortDirection)[keyof typeof PullRequestSortDirection];\n"
5
+ "/**\n * Перечисления для GitVerse API\n * @generated Сгенерировано автоматически из OpenAPI спецификации\n */\n\nexport const ContentType = {\n Dir: \"dir\",\n File: \"file\",\n} as const;\n\nexport type ContentType = (typeof ContentType)[keyof typeof ContentType];\n\nexport const IssueState = {\n Closed: \"closed\",\n Open: \"open\",\n} as const;\n\nexport type IssueState = (typeof IssueState)[keyof typeof IssueState];\n\nexport const PullRequestSortCriteria = {\n Created: \"created\",\n LongRunning: \"long-running\",\n Popularity: \"popularity\",\n Updated: \"updated\",\n} as const;\n\nexport type PullRequestSortCriteria = (typeof PullRequestSortCriteria)[keyof typeof PullRequestSortCriteria];\n\nexport const PullRequestSortDirection = {\n Asc: \"asc\",\n Desc: \"desc\",\n} as const;\n\nexport type PullRequestSortDirection = (typeof PullRequestSortDirection)[keyof typeof PullRequestSortDirection];\n\nexport const PullRequestState = {\n Closed: \"closed\",\n Open: \"open\",\n} as const;\n\nexport type PullRequestState = (typeof PullRequestState)[keyof typeof PullRequestState];\n\nexport const PullRequestStateFilter = {\n All: \"all\",\n Closed: \"closed\",\n Open: \"open\",\n} as const;\n\nexport type PullRequestStateFilter = (typeof PullRequestStateFilter)[keyof typeof PullRequestStateFilter];\n\nexport const UserType = {\n Organization: \"Organization\",\n User: \"User\",\n} as const;\n\nexport type UserType = (typeof UserType)[keyof typeof UserType];\n\nexport const VisibilityType = {\n Limited: \"limited\",\n Private: \"private\",\n Public: \"public\",\n} as const;\n\nexport type VisibilityType = (typeof VisibilityType)[keyof typeof VisibilityType];\n"
6
6
  ],
7
- "mappings": "AAGO,IAAM,EAAW,CACtB,aAAc,eACd,KAAM,MACR,EAUa,EAAiB,CAC5B,QAAS,UACT,QAAS,UACT,OAAQ,QACV,EAUa,EAAc,CACzB,UAAW,MACX,KAAM,MACR,EAUa,EAAmB,CAC9B,OAAQ,SACR,KAAM,MACR,EAUa,EAAa,CACxB,OAAQ,SACR,KAAM,MACR,EAUa,EAAyB,CACpC,IAAK,MACL,OAAQ,SACR,KAAM,MACR,EAUa,EAA0B,CACrC,QAAS,UACT,YAAa,eACb,WAAY,aACZ,QAAS,SACX,EAUa,EAA2B,CACtC,UAAW,MACX,WAAY,MACd",
8
- "debugId": "DF03E052E409AD8564756E2164756E21",
7
+ "mappings": "AAKO,IAAM,EAAc,CACzB,IAAK,MACL,KAAM,MACR,EAIa,EAAa,CACxB,OAAQ,SACR,KAAM,MACR,EAIa,EAA0B,CACrC,QAAS,UACT,YAAa,eACb,WAAY,aACZ,QAAS,SACX,EAIa,EAA2B,CACtC,IAAK,MACL,KAAM,MACR,EAIa,EAAmB,CAC9B,OAAQ,SACR,KAAM,MACR,EAIa,EAAyB,CACpC,IAAK,MACL,OAAQ,SACR,KAAM,MACR,EAIa,EAAW,CACtB,aAAc,eACd,KAAM,MACR,EAIa,EAAiB,CAC5B,QAAS,UACT,QAAS,UACT,OAAQ,QACV",
8
+ "debugId": "07EA47B1BAC67BA764756E2164756E21",
9
9
  "names": []
10
10
  }
package/dist/errors.d.ts CHANGED
@@ -1,34 +1,36 @@
1
1
  /**
2
- * Информация о лимитах запросов (Rate Limits)
2
+ * Информация о лимитах запросов
3
3
  */
4
4
  interface RateLimitInfo {
5
- /** Максимальное количество запросов за час */
5
+ /** Максимальное количество запросов */
6
6
  limit: number;
7
7
  /** Оставшееся количество запросов */
8
8
  remaining: number;
9
- /** Количество секунд до сброса лимита */
10
- retryAfter: number;
11
- /** Unix timestamp когда лимит будет сброшен */
9
+ /** Unix timestamp сброса лимита */
12
10
  reset: number;
11
+ /** Секунд до сброса лимита */
12
+ retryAfter: number;
13
13
  }
14
14
  /**
15
15
  * Информация о версии API
16
16
  */
17
17
  interface ApiVersionInfo {
18
- /** Текущая версия API */
18
+ /** Текущая используемая версия */
19
19
  version: string;
20
- /** Последняя доступная версия API */
20
+ /** Последняя доступная версия */
21
21
  latestVersion: string;
22
- /** Флаг устаревшей версии */
22
+ /** Версия помечена как устаревшая */
23
23
  deprecated: boolean;
24
- /** Дата вывода из эксплуатации (если версия устарела) */
24
+ /** Дата вывода из эксплуатации */
25
25
  decommissioning?: string;
26
26
  }
27
27
  /**
28
28
  * Метаданные ответа API
29
29
  */
30
30
  interface ApiResponseMetadata {
31
- /** Информация о лимитах запросов */
31
+ /** Уникальный идентификатор запроса */
32
+ requestId?: string;
33
+ /** Информация о лимитах */
32
34
  rateLimit?: RateLimitInfo;
33
35
  /** Информация о версии API */
34
36
  apiVersion?: ApiVersionInfo;
package/dist/errors.js CHANGED
@@ -1,4 +1,4 @@
1
1
  class j extends Error{status;metadata;constructor(b,f,h){super(f);this.name="GitVerseApiError",this.status=b,this.metadata=h,Object.setPrototypeOf(this,j.prototype)}}class k extends j{rateLimit;constructor(b,f,h){super(429,b,h);this.name="RateLimitError",this.rateLimit=f,Object.setPrototypeOf(this,k.prototype)}getRetryAfterSeconds(){return this.rateLimit.retryAfter}getResetDate(){return new Date(this.rateLimit.reset*1000)}}class q{currentVersion;latestVersion;decommissioning;constructor(b,f,h){this.currentVersion=b,this.latestVersion=f,this.decommissioning=h}getMessage(){let b=`Используется устаревшая версия API: ${this.currentVersion}. Последняя версия: ${this.latestVersion}.`;if(this.decommissioning)b+=` Версия будет выведена из эксплуатации: ${this.decommissioning}.`;return b}}export{k as RateLimitError,j as GitVerseApiError,q as ApiVersionWarning};
2
- export{j as x,k as y,q as z};
2
+ export{j as r,k as s,q as t};
3
3
 
4
- //# debugId=B0D89D028513A14264756E2164756E21
4
+ //# debugId=269ACF13F5CF67A964756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "/**\n * Классы ошибок для GitVerse API\n */\n\nimport type { ApiResponseMetadata, RateLimitInfo } from \"./types\";\n\n/**\n * Базовая ошибка GitVerse API\n */\nexport class GitVerseApiError extends Error {\n /** HTTP статус код */\n public readonly status: number;\n /** Метаданные ответа API */\n public readonly metadata?: ApiResponseMetadata;\n\n constructor(status: number, message: string, metadata?: ApiResponseMetadata) {\n super(message);\n this.name = \"GitVerseApiError\";\n this.status = status;\n this.metadata = metadata;\n\n // Поддержка instanceof для расширенных классов ошибок\n Object.setPrototypeOf(this, GitVerseApiError.prototype);\n }\n}\n\n/**\n * Ошибка превышения лимита запросов (429 Too Many Requests)\n */\nexport class RateLimitError extends GitVerseApiError {\n /** Информация о лимитах */\n public readonly rateLimit: RateLimitInfo;\n\n constructor(message: string, rateLimit: RateLimitInfo, metadata?: ApiResponseMetadata) {\n super(429, message, metadata);\n this.name = \"RateLimitError\";\n this.rateLimit = rateLimit;\n\n Object.setPrototypeOf(this, RateLimitError.prototype);\n }\n\n /**\n * Возвращает количество секунд до сброса лимита\n */\n getRetryAfterSeconds(): number {\n return this.rateLimit.retryAfter;\n }\n\n /**\n * Возвращает дату/время сброса лимита\n */\n getResetDate(): Date {\n return new Date(this.rateLimit.reset * 1000);\n }\n}\n\n/**\n * Предупреждение об устаревшей версии API\n */\nexport class ApiVersionWarning {\n /** Текущая используемая версия */\n public readonly currentVersion: string;\n /** Последняя доступная версия */\n public readonly latestVersion: string;\n /** Дата вывода из эксплуатации */\n public readonly decommissioning?: string;\n\n constructor(currentVersion: string, latestVersion: string, decommissioning?: string) {\n this.currentVersion = currentVersion;\n this.latestVersion = latestVersion;\n this.decommissioning = decommissioning;\n }\n\n /**\n * Возвращает сообщение о предупреждении\n */\n getMessage(): string {\n let message = `Используется устаревшая версия API: ${this.currentVersion}. Последняя версия: ${this.latestVersion}.`;\n if (this.decommissioning) {\n message += ` Версия будет выведена из эксплуатации: ${this.decommissioning}.`;\n }\n return message;\n }\n}\n"
6
6
  ],
7
7
  "mappings": "AASO,MAAM,UAAyB,KAAM,CAE1B,OAEA,SAEhB,WAAW,CAAC,EAAgB,EAAiB,EAAgC,CAC3E,MAAM,CAAO,EACb,KAAK,KAAO,mBACZ,KAAK,OAAS,EACd,KAAK,SAAW,EAGhB,OAAO,eAAe,KAAM,EAAiB,SAAS,EAE1D,CAKO,MAAM,UAAuB,CAAiB,CAEnC,UAEhB,WAAW,CAAC,EAAiB,EAA0B,EAAgC,CACrF,MAAM,IAAK,EAAS,CAAQ,EAC5B,KAAK,KAAO,iBACZ,KAAK,UAAY,EAEjB,OAAO,eAAe,KAAM,EAAe,SAAS,EAMtD,oBAAoB,EAAW,CAC7B,OAAO,KAAK,UAAU,WAMxB,YAAY,EAAS,CACnB,OAAO,IAAI,KAAK,KAAK,UAAU,MAAQ,IAAI,EAE/C,CAKO,MAAM,CAAkB,CAEb,eAEA,cAEA,gBAEhB,WAAW,CAAC,EAAwB,EAAuB,EAA0B,CACnF,KAAK,eAAiB,EACtB,KAAK,cAAgB,EACrB,KAAK,gBAAkB,EAMzB,UAAU,EAAW,CACnB,IAAI,EAAU,uCAAsC,KAAK,qCAAqC,KAAK,iBACnG,GAAI,KAAK,gBACP,GAAW,2CAA0C,KAAK,mBAE5D,OAAO,EAEX",
8
- "debugId": "B0D89D028513A14264756E2164756E21",
8
+ "debugId": "269ACF13F5CF67A964756E2164756E21",
9
9
  "names": []
10
10
  }