gitverse-api-sdk 4.0.0 → 4.0.2

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 (44) hide show
  1. package/dist/api/actions.js +2 -2
  2. package/dist/api/actions.js.map +1 -1
  3. package/dist/api/branches.js +2 -2
  4. package/dist/api/branches.js.map +1 -1
  5. package/dist/api/collaborators.js +2 -2
  6. package/dist/api/collaborators.js.map +1 -1
  7. package/dist/api/commits.js +2 -2
  8. package/dist/api/commits.js.map +1 -1
  9. package/dist/api/contents.js +2 -2
  10. package/dist/api/contents.js.map +1 -1
  11. package/dist/api/emails.js +2 -2
  12. package/dist/api/emails.js.map +1 -1
  13. package/dist/api/forks.js +3 -3
  14. package/dist/api/forks.js.map +1 -1
  15. package/dist/api/git.js +2 -2
  16. package/dist/api/git.js.map +1 -1
  17. package/dist/api/issues.js +2 -2
  18. package/dist/api/issues.js.map +1 -1
  19. package/dist/api/organizations.js +2 -2
  20. package/dist/api/organizations.js.map +1 -1
  21. package/dist/api/pulls.js +3 -3
  22. package/dist/api/pulls.js.map +2 -2
  23. package/dist/api/releases.js +2 -2
  24. package/dist/api/releases.js.map +1 -1
  25. package/dist/api/repositories.js +3 -3
  26. package/dist/api/repositories.js.map +1 -1
  27. package/dist/api/stars.js +3 -3
  28. package/dist/api/stars.js.map +1 -1
  29. package/dist/api/teams.js +2 -2
  30. package/dist/api/teams.js.map +1 -1
  31. package/dist/api/users.js +2 -2
  32. package/dist/api/users.js.map +1 -1
  33. package/dist/client.js +3 -3
  34. package/dist/client.js.map +1 -1
  35. package/dist/enums.js +2 -2
  36. package/dist/enums.js.map +1 -1
  37. package/dist/errors.js +2 -2
  38. package/dist/errors.js.map +1 -1
  39. package/dist/index.d.ts +12 -1
  40. package/dist/index.js +2 -2
  41. package/dist/index.js.map +3 -3
  42. package/dist/utils.js +2 -2
  43. package/dist/utils.js.map +1 -1
  44. package/package.json +2 -4
@@ -1,4 +1,4 @@
1
1
  class x{client;constructor(b){this.client=b}listOrgRunners(b,h){return this.client.get(`/orgs/${b}/actions/runners`,h)}createOrgRegistrationToken(b,h){return this.client.post(`/orgs/${b}/actions/runners/registration-token`,{},h)}getOrgRunner(b,h,j){return this.client.get(`/orgs/${b}/actions/runners/${h}`,j)}deleteOrgRunner(b,h,j){return this.client.delete(`/orgs/${b}/actions/runners/${h}`,void 0,j)}listRepoRunners(b,h,j){return this.client.get(`/repos/${b}/${h}/actions/runners`,j)}createRepoRegistrationToken(b,h,j){return this.client.post(`/repos/${b}/${h}/actions/runners/registration-token`,{},j)}getRepoRunner(b,h,j,q){return this.client.get(`/repos/${b}/${h}/actions/runners/${j}`,q)}deleteRepoRunner(b,h,j,q){return this.client.delete(`/repos/${b}/${h}/actions/runners/${j}`,void 0,q)}listOrgSecrets(b,h){return this.client.get(`/orgs/${b}/actions/secrets`,h)}getOrgSecret(b,h,j){return this.client.get(`/orgs/${b}/actions/secrets/${h}`,j)}createOrUpdateOrgSecret(b,h,j,q){return this.client.put(`/orgs/${b}/actions/secrets/${h}`,j,q)}deleteOrgSecret(b,h,j){return this.client.delete(`/orgs/${b}/actions/secrets/${h}`,void 0,j)}listRepoSecrets(b,h,j){return this.client.get(`/repos/${b}/${h}/actions/secrets`,j)}getRepoSecret(b,h,j,q){return this.client.get(`/repos/${b}/${h}/actions/secrets/${j}`,q)}createOrUpdateRepoSecret(b,h,j,q,v){return this.client.put(`/repos/${b}/${h}/actions/secrets/${j}`,q,v)}deleteRepoSecret(b,h,j,q){return this.client.delete(`/repos/${b}/${h}/actions/secrets/${j}`,void 0,q)}listOrgVariables(b,h){return this.client.get(`/orgs/${b}/actions/variables`,h)}createOrgVariable(b,h,j){return this.client.post(`/orgs/${b}/actions/variables`,h,j)}getOrgVariable(b,h,j){return this.client.get(`/orgs/${b}/actions/variables/${h}`,j)}deleteOrgVariable(b,h,j){return this.client.delete(`/orgs/${b}/actions/variables/${h}`,void 0,j)}updateOrgVariable(b,h,j,q){return this.client.patch(`/orgs/${b}/actions/variables/${h}`,j,q)}listRepoVariables(b,h,j){return this.client.get(`/repos/${b}/${h}/actions/variables`,j)}createRepoVariable(b,h,j,q){return this.client.post(`/repos/${b}/${h}/actions/variables`,j,q)}getRepoVariable(b,h,j,q){return this.client.get(`/repos/${b}/${h}/actions/variables/${j}`,q)}deleteRepoVariable(b,h,j,q){return this.client.delete(`/repos/${b}/${h}/actions/variables/${j}`,void 0,q)}updateRepoVariable(b,h,j,q,v){return this.client.patch(`/repos/${b}/${h}/actions/variables/${j}`,q,v)}listArtifacts(b,h,j){return this.client.get(`/repos/${b}/${h}/actions/artifacts`,j)}getArtifact(b,h,j,q){return this.client.get(`/repos/${b}/${h}/actions/artifacts/${j}`,q)}deleteArtifact(b,h,j,q){return this.client.delete(`/repos/${b}/${h}/actions/artifacts/${j}`,void 0,q)}downloadArtifact(b,h,j,q){return this.client.get(`/repos/${b}/${h}/actions/artifacts/${j}/zip`,q)}downloadArtifactRaw(b,h,j,q){return this.client.get(`/repos/${b}/${h}/actions/artifacts/${j}/zip/raw`,q)}getWorkflowDispatchInputs(b,h,j,q){return this.client.get(`/repos/${b}/${h}/actions/workflows/${j}/dispatches`,q)}dispatchWorkflow(b,h,j,q,v){return this.client.post(`/repos/${b}/${h}/actions/workflows/${j}/dispatches`,q,v)}}export{x as ActionsApi};
2
- export{x as c};
2
+ export{x as C};
3
3
 
4
- //# debugId=DA8418B3559B194264756E2164756E21
4
+ //# debugId=F206A5A32AFAA3DB64756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "import type { GitVerseClient } from \"../client\";\nimport type {\n Artifact,\n CreateSecretParams,\n CreateVariableParams,\n DispatchWorkflowParams,\n RequestOptions,\n Runner,\n Secret,\n UpdateVariableParams,\n Variable,\n} from \"../types\";\n\n/**\n * API для работы с GitHub Actions\n */\nexport class ActionsApi {\n private client: GitVerseClient;\n\n /**\n * Создает новый экземпляр API для работы с GitHub Actions\n * @param client GitVerse клиент\n */\n constructor(client: GitVerseClient) {\n this.client = client;\n }\n\n // ========== RUNNERS (Раннеры) ==========\n\n /**\n * Получает список раннеров организации\n * @param org Название организации\n * @returns Список раннеров\n */\n listOrgRunners(org: string, options?: RequestOptions): Promise<{ runners: Runner[] }> {\n return this.client.get<{ runners: Runner[] }>(`/orgs/${org}/actions/runners`, options);\n }\n\n /**\n * Создает токен регистрации раннера для организации\n * @param org Название организации\n * @returns Токен регистрации\n */\n createOrgRegistrationToken(org: string, options?: RequestOptions): Promise<{ token: string; expires_at: string }> {\n return this.client.post<{ token: string; expires_at: string }>(\n `/orgs/${org}/actions/runners/registration-token`,\n {},\n options,\n );\n }\n\n /**\n * Получает информацию о раннере организации по ID\n * @param org Название организации\n * @param runnerId ID раннера\n * @returns Информация о раннере\n */\n getOrgRunner(org: string, runnerId: number, options?: RequestOptions): Promise<Runner> {\n return this.client.get<Runner>(`/orgs/${org}/actions/runners/${runnerId}`, options);\n }\n\n /**\n * Удаляет раннер организации\n * @param org Название организации\n * @param runnerId ID раннера\n * @returns Результат операции\n */\n deleteOrgRunner(org: string, runnerId: number, options?: RequestOptions): Promise<void> {\n return this.client.delete<void>(`/orgs/${org}/actions/runners/${runnerId}`, undefined, options);\n }\n\n /**\n * Получает список раннеров репозитория\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @returns Список раннеров\n */\n listRepoRunners(owner: string, repo: string, options?: RequestOptions): Promise<{ runners: Runner[] }> {\n return this.client.get<{ runners: Runner[] }>(`/repos/${owner}/${repo}/actions/runners`, options);\n }\n\n /**\n * Создает токен регистрации раннера для репозитория\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @returns Токен регистрации\n */\n createRepoRegistrationToken(\n owner: string,\n repo: string,\n options?: RequestOptions,\n ): Promise<{ token: string; expires_at: string }> {\n return this.client.post<{ token: string; expires_at: string }>(\n `/repos/${owner}/${repo}/actions/runners/registration-token`,\n {},\n options,\n );\n }\n\n /**\n * Получает информацию о раннере репозитория по ID\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param runnerId ID раннера\n * @returns Информация о раннере\n */\n getRepoRunner(owner: string, repo: string, runnerId: number, options?: RequestOptions): Promise<Runner> {\n return this.client.get<Runner>(`/repos/${owner}/${repo}/actions/runners/${runnerId}`, options);\n }\n\n /**\n * Удаляет раннер репозитория\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param runnerId ID раннера\n * @returns Результат операции\n */\n deleteRepoRunner(owner: string, repo: string, runnerId: number, options?: RequestOptions): Promise<void> {\n return this.client.delete<void>(`/repos/${owner}/${repo}/actions/runners/${runnerId}`, undefined, options);\n }\n\n // ========== SECRETS (Секреты) ==========\n\n /**\n * Получает список секретов организации\n * @param org Название организации\n * @returns Список секретов\n */\n listOrgSecrets(org: string, options?: RequestOptions): Promise<{ secrets: Secret[] }> {\n return this.client.get<{ secrets: Secret[] }>(`/orgs/${org}/actions/secrets`, options);\n }\n\n /**\n * Получает секрет организации по имени\n * @param org Название организации\n * @param secretName Название секрета\n * @returns Информация о секрете\n */\n getOrgSecret(org: string, secretName: string, options?: RequestOptions): Promise<Secret> {\n return this.client.get<Secret>(`/orgs/${org}/actions/secrets/${secretName}`, options);\n }\n\n /**\n * Создает или обновляет секрет организации\n * @param org Название организации\n * @param secretName Название секрета\n * @param params Параметры секрета\n * @returns Результат операции\n */\n createOrUpdateOrgSecret(\n org: string,\n secretName: string,\n params: CreateSecretParams,\n options?: RequestOptions,\n ): Promise<void> {\n return this.client.put<void>(`/orgs/${org}/actions/secrets/${secretName}`, params, options);\n }\n\n /**\n * Удаляет секрет организации\n * @param org Название организации\n * @param secretName Название секрета\n * @returns Результат операции\n */\n deleteOrgSecret(org: string, secretName: string, options?: RequestOptions): Promise<void> {\n return this.client.delete<void>(`/orgs/${org}/actions/secrets/${secretName}`, undefined, options);\n }\n\n /**\n * Получает список секретов репозитория\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @returns Список секретов\n */\n listRepoSecrets(owner: string, repo: string, options?: RequestOptions): Promise<{ secrets: Secret[] }> {\n return this.client.get<{ secrets: Secret[] }>(`/repos/${owner}/${repo}/actions/secrets`, options);\n }\n\n /**\n * Получает секрет репозитория по имени\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param secretName Название секрета\n * @returns Информация о секрете\n */\n getRepoSecret(owner: string, repo: string, secretName: string, options?: RequestOptions): Promise<Secret> {\n return this.client.get<Secret>(`/repos/${owner}/${repo}/actions/secrets/${secretName}`, options);\n }\n\n /**\n * Создает или обновляет секрет репозитория\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param secretName Название секрета\n * @param params Параметры секрета\n * @returns Результат операции\n */\n createOrUpdateRepoSecret(\n owner: string,\n repo: string,\n secretName: string,\n params: CreateSecretParams,\n options?: RequestOptions,\n ): Promise<void> {\n return this.client.put<void>(`/repos/${owner}/${repo}/actions/secrets/${secretName}`, params, options);\n }\n\n /**\n * Удаляет секрет репозитория\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param secretName Название секрета\n * @returns Результат операции\n */\n deleteRepoSecret(owner: string, repo: string, secretName: string, options?: RequestOptions): Promise<void> {\n return this.client.delete<void>(`/repos/${owner}/${repo}/actions/secrets/${secretName}`, undefined, options);\n }\n\n // ========== VARIABLES (Переменные) ==========\n\n /**\n * Получает список переменных организации\n * @param org Название организации\n * @returns Список переменных\n */\n listOrgVariables(org: string, options?: RequestOptions): Promise<{ variables: Variable[] }> {\n return this.client.get<{ variables: Variable[] }>(`/orgs/${org}/actions/variables`, options);\n }\n\n /**\n * Создает переменную организации\n * @param org Название организации\n * @param params Параметры переменной\n * @returns Созданная переменная\n */\n createOrgVariable(org: string, params: CreateVariableParams, options?: RequestOptions): Promise<Variable> {\n return this.client.post<Variable>(`/orgs/${org}/actions/variables`, params, options);\n }\n\n /**\n * Получает переменную организации по имени\n * @param org Название организации\n * @param name Название переменной\n * @returns Информация о переменной\n */\n getOrgVariable(org: string, name: string, options?: RequestOptions): Promise<Variable> {\n return this.client.get<Variable>(`/orgs/${org}/actions/variables/${name}`, options);\n }\n\n /**\n * Удаляет переменную организации\n * @param org Название организации\n * @param name Название переменной\n * @returns Результат операции\n */\n deleteOrgVariable(org: string, name: string, options?: RequestOptions): Promise<void> {\n return this.client.delete<void>(`/orgs/${org}/actions/variables/${name}`, undefined, options);\n }\n\n /**\n * Обновляет переменную организации\n * @param org Название организации\n * @param name Название переменной\n * @param params Параметры обновления\n * @returns Обновлённая переменная\n */\n updateOrgVariable(\n org: string,\n name: string,\n params: UpdateVariableParams,\n options?: RequestOptions,\n ): Promise<Variable> {\n return this.client.patch<Variable>(`/orgs/${org}/actions/variables/${name}`, params, options);\n }\n\n /**\n * Получает список переменных репозитория\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @returns Список переменных\n */\n listRepoVariables(owner: string, repo: string, options?: RequestOptions): Promise<{ variables: Variable[] }> {\n return this.client.get<{ variables: Variable[] }>(`/repos/${owner}/${repo}/actions/variables`, options);\n }\n\n /**\n * Создает переменную репозитория\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param params Параметры переменной\n * @returns Созданная переменная\n */\n createRepoVariable(\n owner: string,\n repo: string,\n params: CreateVariableParams,\n options?: RequestOptions,\n ): Promise<Variable> {\n return this.client.post<Variable>(`/repos/${owner}/${repo}/actions/variables`, params, options);\n }\n\n /**\n * Получает переменную репозитория по имени\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param name Название переменной\n * @returns Информация о переменной\n */\n getRepoVariable(owner: string, repo: string, name: string, options?: RequestOptions): Promise<Variable> {\n return this.client.get<Variable>(`/repos/${owner}/${repo}/actions/variables/${name}`, options);\n }\n\n /**\n * Удаляет переменную репозитория\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param name Название переменной\n * @returns Результат операции\n */\n deleteRepoVariable(owner: string, repo: string, name: string, options?: RequestOptions): Promise<void> {\n return this.client.delete<void>(`/repos/${owner}/${repo}/actions/variables/${name}`, undefined, options);\n }\n\n /**\n * Обновляет переменную репозитория\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param name Название переменной\n * @param params Параметры обновления\n * @returns Обновлённая переменная\n */\n updateRepoVariable(\n owner: string,\n repo: string,\n name: string,\n params: UpdateVariableParams,\n options?: RequestOptions,\n ): Promise<Variable> {\n return this.client.patch<Variable>(`/repos/${owner}/${repo}/actions/variables/${name}`, params, options);\n }\n\n // ========== ARTIFACTS (Артефакты) ==========\n\n /**\n * Получает список артефактов репозитория\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @returns Список артефактов\n */\n listArtifacts(owner: string, repo: string, options?: RequestOptions): Promise<{ artifacts: Artifact[] }> {\n return this.client.get<{ artifacts: Artifact[] }>(`/repos/${owner}/${repo}/actions/artifacts`, options);\n }\n\n /**\n * Получает артефакт по ID\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param artifactId ID артефакта\n * @returns Информация об артефакте\n */\n getArtifact(owner: string, repo: string, artifactId: number, options?: RequestOptions): Promise<Artifact> {\n return this.client.get<Artifact>(`/repos/${owner}/${repo}/actions/artifacts/${artifactId}`, options);\n }\n\n /**\n * Удаляет артефакт\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param artifactId ID артефакта\n * @returns Результат операции\n */\n deleteArtifact(owner: string, repo: string, artifactId: number, options?: RequestOptions): Promise<void> {\n return this.client.delete<void>(`/repos/${owner}/${repo}/actions/artifacts/${artifactId}`, undefined, options);\n }\n\n /**\n * Скачивает артефакт в формате ZIP\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param artifactId ID артефакта\n * @returns ZIP-архив артефакта\n */\n downloadArtifact(owner: string, repo: string, artifactId: number, options?: RequestOptions): Promise<ArrayBuffer> {\n return this.client.get<ArrayBuffer>(`/repos/${owner}/${repo}/actions/artifacts/${artifactId}/zip`, options);\n }\n\n /**\n * Скачивает артефакт в формате ZIP (raw)\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param artifactId ID артефакта\n * @returns ZIP-архив артефакта (raw)\n */\n downloadArtifactRaw(owner: string, repo: string, artifactId: number, options?: RequestOptions): Promise<ArrayBuffer> {\n return this.client.get<ArrayBuffer>(`/repos/${owner}/${repo}/actions/artifacts/${artifactId}/zip/raw`, options);\n }\n\n // ========== WORKFLOWS (Рабочие процессы) ==========\n\n /**\n * Получает параметры dispatch для workflow\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param workflow ID или имя файла workflow\n * @returns Параметры workflow\n */\n getWorkflowDispatchInputs(\n owner: string,\n repo: string,\n workflow: string | number,\n options?: RequestOptions,\n ): Promise<Record<string, unknown>> {\n return this.client.get<Record<string, unknown>>(\n `/repos/${owner}/${repo}/actions/workflows/${workflow}/dispatches`,\n options,\n );\n }\n\n /**\n * Запускает workflow\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param workflow ID или имя файла workflow\n * @param params Параметры запуска\n * @returns Результат операции\n */\n dispatchWorkflow(\n owner: string,\n repo: string,\n workflow: string | number,\n params: DispatchWorkflowParams,\n options?: RequestOptions,\n ): Promise<void> {\n return this.client.post<void>(`/repos/${owner}/${repo}/actions/workflows/${workflow}/dispatches`, params, options);\n }\n}\n"
6
6
  ],
7
7
  "mappings": "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",
8
- "debugId": "DA8418B3559B194264756E2164756E21",
8
+ "debugId": "F206A5A32AFAA3DB64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
1
  class g{client;constructor(b){this.client=b}list(b,d,f){return this.client.get(`/repos/${b}/${d}/branches`,f)}}export{g as BranchesApi};
2
- export{g as f};
2
+ export{g as e};
3
3
 
4
- //# debugId=79E99ECBC61D671C64756E2164756E21
4
+ //# debugId=AE2A9900E3BE4C5764756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "import type { GitVerseClient } from \"../client\";\nimport type { Branch, RequestOptions } from \"../types\";\n\n/**\n * API для работы с ветками репозитория\n */\nexport class BranchesApi {\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, options?: RequestOptions): Promise<Branch[]> {\n return this.client.get<Branch[]>(`/repos/${owner}/${repo}/branches`, options);\n }\n}\n"
6
6
  ],
7
7
  "mappings": "AAMO,MAAM,CAAY,CACf,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAShB,IAAI,CAAC,EAAe,EAAc,EAA6C,CAC7E,OAAO,KAAK,OAAO,IAAc,UAAU,KAAS,aAAiB,CAAO,EAEhF",
8
- "debugId": "79E99ECBC61D671C64756E2164756E21",
8
+ "debugId": "AE2A9900E3BE4C5764756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
1
  class j{client;constructor(d){this.client=d}list(d,f,g){return this.client.get(`/repos/${d}/${f}/collaborators`,g)}add(d,f,g,h){return this.client.put(`/repos/${d}/${f}/collaborators/${g}`,{},h)}}export{j as CollaboratorsApi};
2
- export{j as h};
2
+ export{j as g};
3
3
 
4
- //# debugId=FF187BC34C8D596D64756E2164756E21
4
+ //# debugId=E49CD93BA840070564756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "import type { GitVerseClient } from \"../client\";\nimport type { RequestOptions, User } from \"../types\";\n\n/**\n * API для работы с коллабораторами репозитория\n */\nexport class CollaboratorsApi {\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, options?: RequestOptions): Promise<User[]> {\n return this.client.get<User[]>(`/repos/${owner}/${repo}/collaborators`, options);\n }\n\n /**\n * Добавляет коллаборатора к репозиторию\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param collaborator Имя пользователя коллаборатора\n * @returns Результат операции\n */\n add(owner: string, repo: string, collaborator: string, options?: RequestOptions): Promise<void> {\n return this.client.put<void>(`/repos/${owner}/${repo}/collaborators/${collaborator}`, {}, options);\n }\n}\n"
6
6
  ],
7
7
  "mappings": "AAMO,MAAM,CAAiB,CACpB,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAShB,IAAI,CAAC,EAAe,EAAc,EAA2C,CAC3E,OAAO,KAAK,OAAO,IAAY,UAAU,KAAS,kBAAsB,CAAO,EAUjF,GAAG,CAAC,EAAe,EAAc,EAAsB,EAAyC,CAC9F,OAAO,KAAK,OAAO,IAAU,UAAU,KAAS,mBAAsB,IAAgB,CAAC,EAAG,CAAO,EAErG",
8
- "debugId": "FF187BC34C8D596D64756E2164756E21",
8
+ "debugId": "E49CD93BA840070564756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
1
  class j{client;constructor(b){this.client=b}list(b,d,f){return this.client.get(`/repos/${b}/${d}/commits`,f)}get(b,d,f,g){return this.client.get(`/repos/${b}/${d}/commits/${f}`,g)}create(b,d,f,g){return this.client.post(`/repos/${b}/${d}/git/commits`,f,g)}}export{j as CommitsApi};
2
- export{j as b};
2
+ export{j as d};
3
3
 
4
- //# debugId=F06CF184BC49D77864756E2164756E21
4
+ //# debugId=1E898D8DF9AD170A64756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "import type { GitVerseClient } from \"../client\";\nimport type { Commit, CreateCommitParams, RequestOptions } 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, options?: RequestOptions): Promise<Commit[]> {\n return this.client.get<Commit[]>(`/repos/${owner}/${repo}/commits`, options);\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, options?: RequestOptions): Promise<Commit> {\n return this.client.get<Commit>(`/repos/${owner}/${repo}/commits/${sha}`, options);\n }\n\n /**\n * Создает новый коммит\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param params Параметры создания коммита\n * @returns Созданный коммит\n */\n create(owner: string, repo: string, params: CreateCommitParams, options?: RequestOptions): Promise<Commit> {\n return this.client.post<Commit>(`/repos/${owner}/${repo}/git/commits`, params, options);\n }\n}\n"
6
6
  ],
7
7
  "mappings": "AAMO,MAAM,CAAW,CACd,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAShB,IAAI,CAAC,EAAe,EAAc,EAA6C,CAC7E,OAAO,KAAK,OAAO,IAAc,UAAU,KAAS,YAAgB,CAAO,EAU7E,GAAG,CAAC,EAAe,EAAc,EAAa,EAA2C,CACvF,OAAO,KAAK,OAAO,IAAY,UAAU,KAAS,aAAgB,IAAO,CAAO,EAUlF,MAAM,CAAC,EAAe,EAAc,EAA4B,EAA2C,CACzG,OAAO,KAAK,OAAO,KAAa,UAAU,KAAS,gBAAoB,EAAQ,CAAO,EAE1F",
8
- "debugId": "F06CF184BC49D77864756E2164756E21",
8
+ "debugId": "1E898D8DF9AD170A64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
1
  class k{client;constructor(b){this.client=b}get(b,d,f,g){return this.client.get(`/repos/${b}/${d}/contents/${f}`,g)}createFile(b,d,f,g,j){return this.client.put(`/repos/${b}/${d}/contents/${f}`,g,j)}updateFile(b,d,f,g,j){return this.client.put(`/repos/${b}/${d}/contents/${f}`,g,j)}deleteFile(b,d,f,g,j){return this.client.delete(`/repos/${b}/${d}/contents/${f}`,g,j)}}export{k as ContentsApi};
2
- export{k as i};
2
+ export{k as j};
3
3
 
4
- //# debugId=5E020A046617DEDA64756E2164756E21
4
+ //# debugId=F201C5547770C26864756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "import type { GitVerseClient } from \"../client\";\nimport type {\n Content,\n CreateFileParams,\n DeleteFileParams,\n FileCreationResponse,\n FileDeletionResponse,\n RequestOptions,\n UpdateFileParams,\n} from \"../types\";\n\n/**\n * API для работы с содержимым репозитория (файлами и папками)\n */\nexport class ContentsApi {\n private client: GitVerseClient;\n\n /**\n * Создает новый экземпляр API для работы с содержимым репозитория\n * @param client GitVerse клиент\n */\n constructor(client: GitVerseClient) {\n this.client = client;\n }\n\n /**\n * Получает содержимое файла или список файлов в директории\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param path Путь к файлу или директории\n * @returns Содержимое файла или директории\n */\n get(owner: string, repo: string, path: string, options?: RequestOptions): Promise<Content> {\n return this.client.get<Content>(`/repos/${owner}/${repo}/contents/${path}`, options);\n }\n\n /**\n * Создает новый файл в репозитории\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param path Путь к файлу, который будет создан\n * @param params Параметры создания файла\n * @returns Информация о созданном файле и коммите\n */\n createFile(\n owner: string,\n repo: string,\n path: string,\n params: CreateFileParams,\n options?: RequestOptions,\n ): Promise<FileCreationResponse> {\n return this.client.put<FileCreationResponse>(`/repos/${owner}/${repo}/contents/${path}`, params, options);\n }\n\n /**\n * Обновляет существующий файл в репозитории\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param path Путь к файлу, который будет обновлен\n * @param params Параметры обновления файла\n * @returns Информация об обновленном файле и коммите\n */\n updateFile(\n owner: string,\n repo: string,\n path: string,\n params: UpdateFileParams,\n options?: RequestOptions,\n ): Promise<FileCreationResponse> {\n return this.client.put<FileCreationResponse>(`/repos/${owner}/${repo}/contents/${path}`, params, options);\n }\n\n /**\n * Удаляет файл из репозитория\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param path Путь к файлу, который будет удален\n * @param params Параметры удаления файла\n * @returns Информация об удаленном файле и коммите\n */\n deleteFile(\n owner: string,\n repo: string,\n path: string,\n params: DeleteFileParams,\n options?: RequestOptions,\n ): Promise<FileDeletionResponse> {\n return this.client.delete<FileDeletionResponse>(`/repos/${owner}/${repo}/contents/${path}`, params, options);\n }\n}\n"
6
6
  ],
7
7
  "mappings": "AAcO,MAAM,CAAY,CACf,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAUhB,GAAG,CAAC,EAAe,EAAc,EAAc,EAA4C,CACzF,OAAO,KAAK,OAAO,IAAa,UAAU,KAAS,cAAiB,IAAQ,CAAO,EAWrF,UAAU,CACR,EACA,EACA,EACA,EACA,EAC+B,CAC/B,OAAO,KAAK,OAAO,IAA0B,UAAU,KAAS,cAAiB,IAAQ,EAAQ,CAAO,EAW1G,UAAU,CACR,EACA,EACA,EACA,EACA,EAC+B,CAC/B,OAAO,KAAK,OAAO,IAA0B,UAAU,KAAS,cAAiB,IAAQ,EAAQ,CAAO,EAW1G,UAAU,CACR,EACA,EACA,EACA,EACA,EAC+B,CAC/B,OAAO,KAAK,OAAO,OAA6B,UAAU,KAAS,cAAiB,IAAQ,EAAQ,CAAO,EAE/G",
8
- "debugId": "5E020A046617DEDA64756E2164756E21",
8
+ "debugId": "F201C5547770C26864756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
1
  class d{client;constructor(b){this.client=b}list(b){return this.client.get("/user/emails",b)}add(b,c){return this.client.post("/user/emails",b,c)}remove(b,c){return this.client.delete("/user/emails",b,c)}}export{d as EmailsApi};
2
- export{d as z};
2
+ export{d as B};
3
3
 
4
- //# debugId=53308507E2AF986F64756E2164756E21
4
+ //# debugId=8DE6BD440BCA158764756E2164756E21
@@ -5,6 +5,6 @@
5
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"
6
6
  ],
7
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": "53308507E2AF986F64756E2164756E21",
8
+ "debugId": "8DE6BD440BCA158764756E2164756E21",
9
9
  "names": []
10
10
  }
package/dist/api/forks.js CHANGED
@@ -1,4 +1,4 @@
1
- import{u 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 n};
1
+ import{A as d}from"../utils.js";class q{client;constructor(b){this.client=b}async create(b,g,h,j){let k=await this.client.post(`/repos/${b}/${g}/forks`,h,j);return d(k)}}export{q as ForksApi};
2
+ export{q as k};
3
3
 
4
- //# debugId=8CB637AF6C7F099564756E2164756E21
4
+ //# debugId=BB9805D9B95F3B2964756E2164756E21
@@ -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": "8CB637AF6C7F099564756E2164756E21",
8
+ "debugId": "BB9805D9B95F3B2964756E2164756E21",
9
9
  "names": []
10
10
  }
package/dist/api/git.js CHANGED
@@ -1,4 +1,4 @@
1
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 k};
2
+ export{j as c};
3
3
 
4
- //# debugId=456442775001617564756E2164756E21
4
+ //# debugId=EF1921B77062F23D64756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "import type { GitVerseClient } from \"../client\";\nimport type { CreateRefParams, CreateTreeParams, Reference, RequestOptions, Tree } from \"../types\";\n\n/**\n * API для работы с низкоуровневыми Git-объектами\n */\nexport class GitApi {\n private client: GitVerseClient;\n\n /**\n * Создает новый экземпляр API для работы с Git-объектами\n * @param client GitVerse клиент\n */\n constructor(client: GitVerseClient) {\n this.client = client;\n }\n\n /**\n * Создает новую Git-ссылку (reference)\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param params Параметры создания ссылки\n * @returns Созданная ссылка\n */\n createRef(owner: string, repo: string, params: CreateRefParams, options?: RequestOptions): Promise<Reference> {\n return this.client.post<Reference>(`/repos/${owner}/${repo}/git/refs`, params, options);\n }\n\n /**\n * Создает новое Git-дерево\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param params Параметры создания дерева\n * @returns Созданное дерево\n */\n createTree(owner: string, repo: string, params: CreateTreeParams, options?: RequestOptions): Promise<Tree> {\n return this.client.post<Tree>(`/repos/${owner}/${repo}/git/trees`, params, options);\n }\n\n /**\n * Получает Git-дерево по SHA\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param sha SHA-хеш дерева\n * @returns Информация о дереве\n */\n getTree(owner: string, repo: string, sha: string, options?: RequestOptions): Promise<Tree> {\n return this.client.get<Tree>(`/repos/${owner}/${repo}/git/trees/${sha}`, options);\n }\n}\n"
6
6
  ],
7
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": "456442775001617564756E2164756E21",
8
+ "debugId": "EF1921B77062F23D64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
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 e};
2
+ export{B as f};
3
3
 
4
- //# debugId=1EB1FA1565DED37164756E2164756E21
4
+ //# debugId=1F131645A0C768A864756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "import type { GitVerseClient } from \"../client\";\nimport type { IssueState } from \"../enums\";\nimport type { Comment, Issue, Label, RequestOptions, TimelineEvent } from \"../types\";\n\n/**\n * Класс для работы с issues репозитория\n */\nexport class IssuesApi {\n constructor(private client: GitVerseClient) {}\n\n /**\n * Получить список issues репозитория\n * @param {string} owner - Владелец репозитория\n * @param {string} repo - Название репозитория\n * @param {IssueState} [state] - Фильтр по состоянию issue\n * @returns {Promise<Issue[]>} Массив issues\n */\n list(owner: string, repo: string, state?: IssueState, options?: RequestOptions): Promise<Issue[]> {\n const params = new URLSearchParams();\n if (state) {\n params.append(\"state\", state);\n }\n\n const queryString = params.toString();\n const url = `/repos/${owner}/${repo}/issues${queryString ? `?${queryString}` : \"\"}`;\n\n return this.client.get<Issue[]>(url, options);\n }\n\n /**\n * Получить конкретный issue\n * @param {string} owner - Владелец репозитория\n * @param {string} repo - Название репозитория\n * @param {number} index - Номер issue\n * @returns {Promise<Issue>} Информация об issue\n */\n get(owner: string, repo: string, index: number, options?: RequestOptions): Promise<Issue> {\n return this.client.get<Issue>(`/repos/${owner}/${repo}/issues/${index}`, options);\n }\n\n /**\n * Получить комментарий по ID\n * @param {string} owner - Владелец репозитория\n * @param {string} repo - Название репозитория\n * @param {number} id - ID комментария\n * @returns {Promise<Comment>} Информация о комментарии\n */\n getComment(owner: string, repo: string, id: number, options?: RequestOptions): Promise<Comment> {\n return this.client.get<Comment>(`/repos/${owner}/${repo}/issues/comments/${id}`, options);\n }\n\n /**\n * Получить список комментариев к issue\n * @param {string} owner - Владелец репозитория\n * @param {string} repo - Название репозитория\n * @param {number} index - Номер issue\n * @returns {Promise<Comment[]>} Массив комментариев\n */\n getComments(owner: string, repo: string, index: number, options?: RequestOptions): Promise<Comment[]> {\n return this.client.get<Comment[]>(`/repos/${owner}/${repo}/issues/${index}/comments`, options);\n }\n\n /**\n * Получить список меток issue\n * @param {string} owner - Владелец репозитория\n * @param {string} repo - Название репозитория\n * @param {number} index - Номер issue\n * @returns {Promise<Label[]>} Массив меток\n */\n getLabels(owner: string, repo: string, index: number, options?: RequestOptions): Promise<Label[]> {\n return this.client.get<Label[]>(`/repos/${owner}/${repo}/issues/${index}/labels`, options);\n }\n\n /**\n * Получить timeline событий issue\n * @param {string} owner - Владелец репозитория\n * @param {string} repo - Название репозитория\n * @param {number} index - Номер issue\n * @returns {Promise<TimelineEvent[]>} Массив событий timeline\n */\n getTimeline(owner: string, repo: string, index: number, options?: RequestOptions): Promise<TimelineEvent[]> {\n return this.client.get<TimelineEvent[]>(`/repos/${owner}/${repo}/issues/${index}/timeline`, options);\n }\n}\n"
6
6
  ],
7
7
  "mappings": "AAOO,MAAM,CAAU,CACD,OAApB,WAAW,CAAS,EAAwB,CAAxB,cASpB,IAAI,CAAC,EAAe,EAAc,EAAoB,EAA4C,CAChG,IAAM,EAAS,IAAI,gBACnB,GAAI,EACF,EAAO,OAAO,QAAS,CAAK,EAG9B,IAAM,EAAc,EAAO,SAAS,EAC9B,EAAM,UAAU,KAAS,WAAc,EAAc,IAAI,IAAgB,KAE/E,OAAO,KAAK,OAAO,IAAa,EAAK,CAAO,EAU9C,GAAG,CAAC,EAAe,EAAc,EAAe,EAA0C,CACxF,OAAO,KAAK,OAAO,IAAW,UAAU,KAAS,YAAe,IAAS,CAAO,EAUlF,UAAU,CAAC,EAAe,EAAc,EAAY,EAA4C,CAC9F,OAAO,KAAK,OAAO,IAAa,UAAU,KAAS,qBAAwB,IAAM,CAAO,EAU1F,WAAW,CAAC,EAAe,EAAc,EAAe,EAA8C,CACpG,OAAO,KAAK,OAAO,IAAe,UAAU,KAAS,YAAe,aAAkB,CAAO,EAU/F,SAAS,CAAC,EAAe,EAAc,EAAe,EAA4C,CAChG,OAAO,KAAK,OAAO,IAAa,UAAU,KAAS,YAAe,WAAgB,CAAO,EAU3F,WAAW,CAAC,EAAe,EAAc,EAAe,EAAoD,CAC1G,OAAO,KAAK,OAAO,IAAqB,UAAU,KAAS,YAAe,aAAkB,CAAO,EAEvG",
8
- "debugId": "1EB1FA1565DED37164756E2164756E21",
8
+ "debugId": "1F131645A0C768A864756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
1
  class k{client;constructor(b){this.client=b}async checkMembership(b,h,j){try{return await this.client.get(`/orgs/${b}/members/${h}`,j),!0}catch(d){if(d instanceof Error&&d.message.includes("404"))return!1;throw d}}}export{k as OrganizationsApi};
2
- export{k as a};
2
+ export{k as n};
3
3
 
4
- //# debugId=5521E1C3C065CF8864756E2164756E21
4
+ //# debugId=A1021BB3245B53C064756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "import type { GitVerseClient } from \"../client\";\nimport type { RequestOptions } from \"../types\";\n\n/**\n * API для работы с организациями\n */\nexport class OrganizationsApi {\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 org Название организации\n * @param username Имя пользователя\n * @returns true если пользователь является членом организации, false если нет\n */\n async checkMembership(org: string, username: string, options?: RequestOptions): Promise<boolean> {\n try {\n await this.client.get<void>(`/orgs/${org}/members/${username}`, options);\n return true;\n } catch (error: unknown) {\n if (error instanceof Error && error.message.includes(\"404\")) {\n return false;\n }\n throw error;\n }\n }\n}\n"
6
6
  ],
7
7
  "mappings": "AAMO,MAAM,CAAiB,CACpB,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,OASV,gBAAe,CAAC,EAAa,EAAkB,EAA4C,CAC/F,GAAI,CAEF,OADA,MAAM,KAAK,OAAO,IAAU,SAAS,aAAe,IAAY,CAAO,EAChE,GACP,MAAO,EAAgB,CACvB,GAAI,aAAiB,OAAS,EAAM,QAAQ,SAAS,KAAK,EACxD,MAAO,GAET,MAAM,GAGZ",
8
- "debugId": "5521E1C3C065CF8864756E2164756E21",
8
+ "debugId": "A1021BB3245B53C064756E2164756E21",
9
9
  "names": []
10
10
  }
package/dist/api/pulls.js CHANGED
@@ -1,4 +1,4 @@
1
- import{v}from"../errors.js";class y{client;constructor(d){this.client=d}create(d,f,g,j){return this.client.post(`/repos/${d}/${f}/pulls`,g,j)}get(d,f,g,j){return this.client.get(`/repos/${d}/${f}/pulls/${g}`,j)}list(d,f,g,j){let x=new URLSearchParams(Object.entries(g??{})),q=new URL(`/repos/${d}/${f}/pulls`,"http://localhost");return q.search=x.toString(),this.client.get(q.href.replace("http://localhost",""),j)}update(d,f,g,j,k){return this.client.patch(`/repos/${d}/${f}/pulls/${g}`,j,k)}getFiles(d,f,g,j){return this.client.get(`/repos/${d}/${f}/pulls/${g}/files`,j)}updateBranch(d,f,g,j){return this.client.put(`/repos/${d}/${f}/pulls/${g}/update-branch`,{},j)}getCommits(d,f,g,j){return this.client.get(`/repos/${d}/${f}/pulls/${g}/commits`,j)}async checkIfMerged(d,f,g,j){try{return await this.client.get(`/repos/${d}/${f}/pulls/${g}/merge`,j),!0}catch(k){if(k instanceof v&&k.status===404)return!1;throw k}}}export{y as PullsApi};
2
- export{y as m};
1
+ import{x as v}from"../errors.js";class y{client;constructor(d){this.client=d}create(d,f,g,j){return this.client.post(`/repos/${d}/${f}/pulls`,g,j)}get(d,f,g,j){return this.client.get(`/repos/${d}/${f}/pulls/${g}`,j)}list(d,f,g,j){let x=new URLSearchParams(Object.entries(g??{})),q=new URL(`/repos/${d}/${f}/pulls`,"http://localhost");return q.search=x.toString(),this.client.get(q.href.replace("http://localhost",""),j)}update(d,f,g,j,k){return this.client.patch(`/repos/${d}/${f}/pulls/${g}`,j,k)}getFiles(d,f,g,j){return this.client.get(`/repos/${d}/${f}/pulls/${g}/files`,j)}updateBranch(d,f,g,j){return this.client.put(`/repos/${d}/${f}/pulls/${g}/update-branch`,{},j)}getCommits(d,f,g,j){return this.client.get(`/repos/${d}/${f}/pulls/${g}/commits`,j)}async checkIfMerged(d,f,g,j){try{return await this.client.get(`/repos/${d}/${f}/pulls/${g}/merge`,j),!0}catch(k){if(k instanceof v&&k.status===404)return!1;throw k}}}export{y as PullsApi};
2
+ export{y as b};
3
3
 
4
- //# debugId=3A06D580E8B3E04D64756E2164756E21
4
+ //# debugId=8277BC7BC30521EF64756E2164756E21
@@ -4,7 +4,7 @@
4
4
  "sourcesContent": [
5
5
  "import type { GitVerseClient } from \"../client\";\nimport { GitVerseApiError } from \"../errors\";\nimport type {\n Commit,\n CreatePullRequestParams,\n ListPullRequestsParams,\n PullRequest,\n PullRequestFile,\n RequestOptions,\n UpdatePullRequestParams,\n} from \"../types\";\n\n/**\n * API для работы с запросами на слияние (пулл-реквестами)\n */\nexport class PullsApi {\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 create(owner: string, repo: string, params: CreatePullRequestParams, options?: RequestOptions): Promise<PullRequest> {\n return this.client.post<PullRequest>(`/repos/${owner}/${repo}/pulls`, params, options);\n }\n\n /**\n * Получает запрос на слияние по его номеру\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param number Номер запроса на слияние\n * @returns Информация о запросе на слияние\n */\n get(owner: string, repo: string, number: number, options?: RequestOptions): Promise<PullRequest> {\n return this.client.get<PullRequest>(`/repos/${owner}/${repo}/pulls/${number}`, options);\n }\n\n /**\n * Получает список запросов на слияние в репозитории\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param state Состояние запросов на слияние (открытые/закрытые/все)\n * @returns Список запросов на слияние\n */\n list(owner: string, repo: string, params?: ListPullRequestsParams, options?: RequestOptions): Promise<PullRequest[]> {\n const TEMP = \"http://localhost\";\n\n const search = new URLSearchParams(Object.entries(params ?? {}));\n\n const path = new URL(`/repos/${owner}/${repo}/pulls`, TEMP);\n\n path.search = search.toString();\n\n return this.client.get<PullRequest[]>(path.href.replace(TEMP, \"\"), options);\n }\n\n /**\n * Обновляет pull request\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param number Номер pull request\n * @param params Параметры для обновления\n * @returns Обновлённый pull request\n */\n update(\n owner: string,\n repo: string,\n number: number,\n params: UpdatePullRequestParams,\n options?: RequestOptions,\n ): Promise<PullRequest> {\n return this.client.patch<PullRequest>(`/repos/${owner}/${repo}/pulls/${number}`, params, options);\n }\n\n /**\n * Получает список файлов в pull request\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param number Номер pull request\n * @returns Список изменённых файлов\n */\n getFiles(owner: string, repo: string, number: number, options?: RequestOptions): Promise<PullRequestFile[]> {\n return this.client.get<PullRequestFile[]>(`/repos/${owner}/${repo}/pulls/${number}/files`, options);\n }\n\n /**\n * Обновляет ветку pull request с базовой веткой\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param number Номер pull request\n * @returns Результат операции\n */\n updateBranch(owner: string, repo: string, number: number, options?: RequestOptions): Promise<void> {\n return this.client.put<void>(`/repos/${owner}/${repo}/pulls/${number}/update-branch`, {}, options);\n }\n\n /**\n * Получает список коммитов в pull request\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param number Номер pull request\n * @returns Список коммитов\n */\n getCommits(owner: string, repo: string, number: number, options?: RequestOptions): Promise<Commit[]> {\n return this.client.get<Commit[]>(`/repos/${owner}/${repo}/pulls/${number}/commits`, options);\n }\n\n /**\n * Проверяет, был ли pull request влит в базовую ветку\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param number Номер pull request\n * @returns true если PR был влит, false если не был влит или не существует\n */\n async checkIfMerged(owner: string, repo: string, number: number, options?: RequestOptions): Promise<boolean> {\n try {\n await this.client.get<void>(`/repos/${owner}/${repo}/pulls/${number}/merge`, options);\n return true; // Статус 204 - PR был влит\n } catch (error) {\n if (error instanceof GitVerseApiError && error.status === 404) {\n return false; // Статус 404 - PR не был влит или не существует\n }\n throw error; // Пробрасываем другие ошибки (401, 403, 500 и т.д.)\n }\n }\n}\n"
6
6
  ],
7
- "mappings": "4BAeO,MAAM,CAAS,CACZ,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAUhB,MAAM,CAAC,EAAe,EAAc,EAAiC,EAAgD,CACnH,OAAO,KAAK,OAAO,KAAkB,UAAU,KAAS,UAAc,EAAQ,CAAO,EAUvF,GAAG,CAAC,EAAe,EAAc,EAAgB,EAAgD,CAC/F,OAAO,KAAK,OAAO,IAAiB,UAAU,KAAS,WAAc,IAAU,CAAO,EAUxF,IAAI,CAAC,EAAe,EAAc,EAAiC,EAAkD,CAGnH,IAAM,EAAS,IAAI,gBAAgB,OAAO,QAAQ,GAAU,CAAC,CAAC,CAAC,EAEzD,EAAO,IAAI,IAAI,UAAU,KAAS,UAJ3B,kBAI6C,EAI1D,OAFA,EAAK,OAAS,EAAO,SAAS,EAEvB,KAAK,OAAO,IAAmB,EAAK,KAAK,QARnC,mBAQiD,EAAE,EAAG,CAAO,EAW5E,MAAM,CACJ,EACA,EACA,EACA,EACA,EACsB,CACtB,OAAO,KAAK,OAAO,MAAmB,UAAU,KAAS,WAAc,IAAU,EAAQ,CAAO,EAUlG,QAAQ,CAAC,EAAe,EAAc,EAAgB,EAAsD,CAC1G,OAAO,KAAK,OAAO,IAAuB,UAAU,KAAS,WAAc,UAAgB,CAAO,EAUpG,YAAY,CAAC,EAAe,EAAc,EAAgB,EAAyC,CACjG,OAAO,KAAK,OAAO,IAAU,UAAU,KAAS,WAAc,kBAAwB,CAAC,EAAG,CAAO,EAUnG,UAAU,CAAC,EAAe,EAAc,EAAgB,EAA6C,CACnG,OAAO,KAAK,OAAO,IAAc,UAAU,KAAS,WAAc,YAAkB,CAAO,OAUvF,cAAa,CAAC,EAAe,EAAc,EAAgB,EAA4C,CAC3G,GAAI,CAEF,OADA,MAAM,KAAK,OAAO,IAAU,UAAU,KAAS,WAAc,UAAgB,CAAO,EAC7E,GACP,MAAO,EAAO,CACd,GAAI,aAAiB,GAAoB,EAAM,SAAW,IACxD,MAAO,GAET,MAAM,GAGZ",
8
- "debugId": "3A06D580E8B3E04D64756E2164756E21",
7
+ "mappings": "iCAeO,MAAM,CAAS,CACZ,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAUhB,MAAM,CAAC,EAAe,EAAc,EAAiC,EAAgD,CACnH,OAAO,KAAK,OAAO,KAAkB,UAAU,KAAS,UAAc,EAAQ,CAAO,EAUvF,GAAG,CAAC,EAAe,EAAc,EAAgB,EAAgD,CAC/F,OAAO,KAAK,OAAO,IAAiB,UAAU,KAAS,WAAc,IAAU,CAAO,EAUxF,IAAI,CAAC,EAAe,EAAc,EAAiC,EAAkD,CAGnH,IAAM,EAAS,IAAI,gBAAgB,OAAO,QAAQ,GAAU,CAAC,CAAC,CAAC,EAEzD,EAAO,IAAI,IAAI,UAAU,KAAS,UAJ3B,kBAI6C,EAI1D,OAFA,EAAK,OAAS,EAAO,SAAS,EAEvB,KAAK,OAAO,IAAmB,EAAK,KAAK,QARnC,mBAQiD,EAAE,EAAG,CAAO,EAW5E,MAAM,CACJ,EACA,EACA,EACA,EACA,EACsB,CACtB,OAAO,KAAK,OAAO,MAAmB,UAAU,KAAS,WAAc,IAAU,EAAQ,CAAO,EAUlG,QAAQ,CAAC,EAAe,EAAc,EAAgB,EAAsD,CAC1G,OAAO,KAAK,OAAO,IAAuB,UAAU,KAAS,WAAc,UAAgB,CAAO,EAUpG,YAAY,CAAC,EAAe,EAAc,EAAgB,EAAyC,CACjG,OAAO,KAAK,OAAO,IAAU,UAAU,KAAS,WAAc,kBAAwB,CAAC,EAAG,CAAO,EAUnG,UAAU,CAAC,EAAe,EAAc,EAAgB,EAA6C,CACnG,OAAO,KAAK,OAAO,IAAc,UAAU,KAAS,WAAc,YAAkB,CAAO,OAUvF,cAAa,CAAC,EAAe,EAAc,EAAgB,EAA4C,CAC3G,GAAI,CAEF,OADA,MAAM,KAAK,OAAO,IAAU,UAAU,KAAS,WAAc,UAAgB,CAAO,EAC7E,GACP,MAAO,EAAO,CACd,GAAI,aAAiB,GAAoB,EAAM,SAAW,IACxD,MAAO,GAET,MAAM,GAGZ",
8
+ "debugId": "8277BC7BC30521EF64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
1
  class q{client;constructor(b){this.client=b}list(b,f,h){return this.client.get(`/repos/${b}/${f}/releases`,h)}create(b,f,h,j){return this.client.post(`/repos/${b}/${f}/releases`,h,j)}getByTag(b,f,h,j){return this.client.get(`/repos/${b}/${f}/releases/tags/${h}`,j)}deleteByTag(b,f,h,j){return this.client.delete(`/repos/${b}/${f}/releases/tags/${h}`,void 0,j)}get(b,f,h,j){return this.client.get(`/repos/${b}/${f}/releases/${h}`,j)}delete(b,f,h,j){return this.client.delete(`/repos/${b}/${f}/releases/${h}`,void 0,j)}update(b,f,h,j,k){return this.client.patch(`/repos/${b}/${f}/releases/${h}`,j,k)}getAssets(b,f,h,j){return this.client.get(`/repos/${b}/${f}/releases/${h}/assets`,j)}uploadAsset(b,f,h,j,k){return this.client.post(`/repos/${b}/${f}/releases/${h}/assets`,j,k)}deleteAsset(b,f,h,j,k){return this.client.delete(`/repos/${b}/${f}/releases/${h}/assets/${j}`,void 0,k)}}export{q as ReleasesApi};
2
- export{q as l};
2
+ export{q as i};
3
3
 
4
- //# debugId=C90F84EBC74A2C6E64756E2164756E21
4
+ //# debugId=A3908BBF4C4E30C564756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "import type { GitVerseClient } from \"../client\";\nimport type {\n Asset,\n CreateReleaseParams,\n Release,\n RequestOptions,\n UpdateReleaseParams,\n UploadAssetParams,\n} from \"../types\";\n\n/**\n * API для работы с релизами репозитория\n */\nexport class ReleasesApi {\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, options?: RequestOptions): Promise<Release[]> {\n return this.client.get<Release[]>(`/repos/${owner}/${repo}/releases`, options);\n }\n\n /**\n * Создает новый релиз\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param params Параметры создания релиза\n * @returns Созданный релиз\n */\n create(owner: string, repo: string, params: CreateReleaseParams, options?: RequestOptions): Promise<Release> {\n return this.client.post<Release>(`/repos/${owner}/${repo}/releases`, params, options);\n }\n\n /**\n * Получает релиз по тегу\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param tag Тег релиза\n * @returns Информация о релизе\n */\n getByTag(owner: string, repo: string, tag: string, options?: RequestOptions): Promise<Release> {\n return this.client.get<Release>(`/repos/${owner}/${repo}/releases/tags/${tag}`, options);\n }\n\n /**\n * Удаляет релиз по тегу\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param tag Тег релиза\n * @returns Результат операции\n */\n deleteByTag(owner: string, repo: string, tag: string, options?: RequestOptions): Promise<void> {\n return this.client.delete<void>(`/repos/${owner}/${repo}/releases/tags/${tag}`, undefined, options);\n }\n\n /**\n * Получает релиз по ID\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param releaseId ID релиза\n * @returns Информация о релизе\n */\n get(owner: string, repo: string, releaseId: number, options?: RequestOptions): Promise<Release> {\n return this.client.get<Release>(`/repos/${owner}/${repo}/releases/${releaseId}`, options);\n }\n\n /**\n * Удаляет релиз по ID\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param releaseId ID релиза\n * @returns Результат операции\n */\n delete(owner: string, repo: string, releaseId: number, options?: RequestOptions): Promise<void> {\n return this.client.delete<void>(`/repos/${owner}/${repo}/releases/${releaseId}`, undefined, options);\n }\n\n /**\n * Обновляет релиз\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param releaseId ID релиза\n * @param params Параметры обновления релиза\n * @returns Обновлённый релиз\n */\n update(\n owner: string,\n repo: string,\n releaseId: number,\n params: UpdateReleaseParams,\n options?: RequestOptions,\n ): Promise<Release> {\n return this.client.patch<Release>(`/repos/${owner}/${repo}/releases/${releaseId}`, params, options);\n }\n\n /**\n * Получает список ассетов релиза\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param releaseId ID релиза\n * @returns Список ассетов\n */\n getAssets(owner: string, repo: string, releaseId: number, options?: RequestOptions): Promise<Asset[]> {\n return this.client.get<Asset[]>(`/repos/${owner}/${repo}/releases/${releaseId}/assets`, options);\n }\n\n /**\n * Загружает ассет к релизу\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param releaseId ID релиза\n * @param params Параметры загрузки ассета\n * @returns Загруженный ассет\n */\n uploadAsset(\n owner: string,\n repo: string,\n releaseId: number,\n params: UploadAssetParams,\n options?: RequestOptions,\n ): Promise<Asset> {\n return this.client.post<Asset>(`/repos/${owner}/${repo}/releases/${releaseId}/assets`, params, options);\n }\n\n /**\n * Удаляет ассет релиза\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param releaseId ID релиза\n * @param assetId ID ассета\n * @returns Результат операции\n */\n deleteAsset(\n owner: string,\n repo: string,\n releaseId: number,\n assetId: number,\n options?: RequestOptions,\n ): Promise<void> {\n return this.client.delete<void>(\n `/repos/${owner}/${repo}/releases/${releaseId}/assets/${assetId}`,\n undefined,\n options,\n );\n }\n}\n"
6
6
  ],
7
7
  "mappings": "AAaO,MAAM,CAAY,CACf,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAShB,IAAI,CAAC,EAAe,EAAc,EAA8C,CAC9E,OAAO,KAAK,OAAO,IAAe,UAAU,KAAS,aAAiB,CAAO,EAU/E,MAAM,CAAC,EAAe,EAAc,EAA6B,EAA4C,CAC3G,OAAO,KAAK,OAAO,KAAc,UAAU,KAAS,aAAiB,EAAQ,CAAO,EAUtF,QAAQ,CAAC,EAAe,EAAc,EAAa,EAA4C,CAC7F,OAAO,KAAK,OAAO,IAAa,UAAU,KAAS,mBAAsB,IAAO,CAAO,EAUzF,WAAW,CAAC,EAAe,EAAc,EAAa,EAAyC,CAC7F,OAAO,KAAK,OAAO,OAAa,UAAU,KAAS,mBAAsB,IAAO,OAAW,CAAO,EAUpG,GAAG,CAAC,EAAe,EAAc,EAAmB,EAA4C,CAC9F,OAAO,KAAK,OAAO,IAAa,UAAU,KAAS,cAAiB,IAAa,CAAO,EAU1F,MAAM,CAAC,EAAe,EAAc,EAAmB,EAAyC,CAC9F,OAAO,KAAK,OAAO,OAAa,UAAU,KAAS,cAAiB,IAAa,OAAW,CAAO,EAWrG,MAAM,CACJ,EACA,EACA,EACA,EACA,EACkB,CAClB,OAAO,KAAK,OAAO,MAAe,UAAU,KAAS,cAAiB,IAAa,EAAQ,CAAO,EAUpG,SAAS,CAAC,EAAe,EAAc,EAAmB,EAA4C,CACpG,OAAO,KAAK,OAAO,IAAa,UAAU,KAAS,cAAiB,WAAoB,CAAO,EAWjG,WAAW,CACT,EACA,EACA,EACA,EACA,EACgB,CAChB,OAAO,KAAK,OAAO,KAAY,UAAU,KAAS,cAAiB,WAAoB,EAAQ,CAAO,EAWxG,WAAW,CACT,EACA,EACA,EACA,EACA,EACe,CACf,OAAO,KAAK,OAAO,OACjB,UAAU,KAAS,cAAiB,YAAoB,IACxD,OACA,CACF,EAEJ",
8
- "debugId": "C90F84EBC74A2C6E64756E2164756E21",
8
+ "debugId": "A3908BBF4C4E30C564756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -1,4 +1,4 @@
1
- import{u as v}from"../utils.js";class A{client;constructor(g){this.client=g}async get(g,k,j){let q=await this.client.get(`/repos/${g}/${k}`,j);return v(q)}delete(g,k,j){return this.client.delete(`/repos/${g}/${k}`,void 0,j)}async update(g,k,j,q){let z=await this.client.patch(`/repos/${g}/${k}`,j,q);return v(z)}compare(g,k,j,q){return this.client.get(`/repos/${g}/${k}/compare/${j}`,q)}getLanguages(g,k,j){return this.client.get(`/repos/${g}/${k}/languages`,j)}async listForAuthenticatedUser(g){return(await this.client.get("/user/repos",g)).map((j)=>v(j))}async create(g,k){let j=await this.client.post("/user/repos",g,k);return v(j)}}export{A as RepositoriesApi};
2
- export{A as g};
1
+ import{A as v}from"../utils.js";class A{client;constructor(g){this.client=g}async get(g,k,j){let q=await this.client.get(`/repos/${g}/${k}`,j);return v(q)}delete(g,k,j){return this.client.delete(`/repos/${g}/${k}`,void 0,j)}async update(g,k,j,q){let z=await this.client.patch(`/repos/${g}/${k}`,j,q);return v(z)}compare(g,k,j,q){return this.client.get(`/repos/${g}/${k}/compare/${j}`,q)}getLanguages(g,k,j){return this.client.get(`/repos/${g}/${k}/languages`,j)}async listForAuthenticatedUser(g){return(await this.client.get("/user/repos",g)).map((j)=>v(j))}async create(g,k){let j=await this.client.post("/user/repos",g,k);return v(j)}}export{A as RepositoriesApi};
2
+ export{A as h};
3
3
 
4
- //# debugId=EA7E95C690A02C6664756E2164756E21
4
+ //# debugId=2FEB26810CA145C364756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "import type { GitVerseClient } from \"../client\";\nimport type {\n CompareResponse,\n CreateRepositoryParams,\n LanguagesResponse,\n Repository,\n RequestOptions,\n UpdateRepositoryParams,\n} from \"../types\";\nimport { fixRepositoryUrls } from \"../utils\";\n\n/**\n * API для работы с репозиториями\n */\nexport class RepositoriesApi {\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 async get(owner: string, repo: string, options?: RequestOptions): Promise<Repository> {\n const repository = await this.client.get<Repository>(`/repos/${owner}/${repo}`, options);\n return fixRepositoryUrls(repository as unknown as Record<string, unknown>) as unknown as Repository;\n }\n\n /**\n * Удаляет репозиторий\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @returns Результат операции\n */\n delete(owner: string, repo: string, options?: RequestOptions): Promise<void> {\n return this.client.delete<void>(`/repos/${owner}/${repo}`, undefined, options);\n }\n\n /**\n * Обновляет информацию о репозитории\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param params Параметры для обновления\n * @returns Обновлённый репозиторий\n */\n async update(\n owner: string,\n repo: string,\n params: UpdateRepositoryParams,\n options?: RequestOptions,\n ): Promise<Repository> {\n const repository = await this.client.patch<Repository>(`/repos/${owner}/${repo}`, params, options);\n return fixRepositoryUrls(repository as unknown as Record<string, unknown>) as unknown as Repository;\n }\n\n /**\n * Сравнивает две ветки или коммита\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @param basehead Строка в формате \"base...head\" для сравнения\n * @returns Результат сравнения с коммитами и изменёнными файлами\n */\n compare(owner: string, repo: string, basehead: string, options?: RequestOptions): Promise<CompareResponse> {\n return this.client.get<CompareResponse>(`/repos/${owner}/${repo}/compare/${basehead}`, options);\n }\n\n /**\n * Получает информацию о языках программирования в репозитории\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @returns Объект с языками и количеством байт кода\n */\n getLanguages(owner: string, repo: string, options?: RequestOptions): Promise<LanguagesResponse> {\n return this.client.get<LanguagesResponse>(`/repos/${owner}/${repo}/languages`, options);\n }\n\n /**\n * Получает список репозиториев авторизованного пользователя\n * @returns Массив репозиториев пользователя\n */\n async listForAuthenticatedUser(options?: RequestOptions): Promise<Repository[]> {\n const repositories = await this.client.get<Repository[]>(\"/user/repos\", options);\n return repositories.map(\n (repo) => fixRepositoryUrls(repo as unknown as Record<string, unknown>) as unknown as Repository,\n );\n }\n\n /**\n * Создает новый репозиторий для авторизованного пользователя\n * @param params Параметры создания репозитория\n * @returns Созданный репозиторий\n */\n async create(params: CreateRepositoryParams, options?: RequestOptions): Promise<Repository> {\n const repository = await this.client.post<Repository>(\"/user/repos\", params, options);\n return fixRepositoryUrls(repository as unknown as Record<string, unknown>) as unknown as Repository;\n }\n}\n"
6
6
  ],
7
7
  "mappings": "gCAcO,MAAM,CAAgB,CACnB,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,OASV,IAAG,CAAC,EAAe,EAAc,EAA+C,CACpF,IAAM,EAAa,MAAM,KAAK,OAAO,IAAgB,UAAU,KAAS,IAAQ,CAAO,EACvF,OAAO,EAAkB,CAAgD,EAS3E,MAAM,CAAC,EAAe,EAAc,EAAyC,CAC3E,OAAO,KAAK,OAAO,OAAa,UAAU,KAAS,IAAQ,OAAW,CAAO,OAUzE,OAAM,CACV,EACA,EACA,EACA,EACqB,CACrB,IAAM,EAAa,MAAM,KAAK,OAAO,MAAkB,UAAU,KAAS,IAAQ,EAAQ,CAAO,EACjG,OAAO,EAAkB,CAAgD,EAU3E,OAAO,CAAC,EAAe,EAAc,EAAkB,EAAoD,CACzG,OAAO,KAAK,OAAO,IAAqB,UAAU,KAAS,aAAgB,IAAY,CAAO,EAShG,YAAY,CAAC,EAAe,EAAc,EAAsD,CAC9F,OAAO,KAAK,OAAO,IAAuB,UAAU,KAAS,cAAkB,CAAO,OAOlF,yBAAwB,CAAC,EAAiD,CAE9E,OADqB,MAAM,KAAK,OAAO,IAAkB,cAAe,CAAO,GAC3D,IAClB,CAAC,IAAS,EAAkB,CAA0C,CACxE,OAQI,OAAM,CAAC,EAAgC,EAA+C,CAC1F,IAAM,EAAa,MAAM,KAAK,OAAO,KAAiB,cAAe,EAAQ,CAAO,EACpF,OAAO,EAAkB,CAAgD,EAE7E",
8
- "debugId": "EA7E95C690A02C6664756E2164756E21",
8
+ "debugId": "2FEB26810CA145C364756E2164756E21",
9
9
  "names": []
10
10
  }
package/dist/api/stars.js CHANGED
@@ -1,4 +1,4 @@
1
- import{v as j}from"../errors.js";class k{client;constructor(b){this.client=b}list(b){return this.client.get("/user/starred",b)}async add(b,c,f){await this.client.put(`/user/starred/${b}/${c}`,void 0,f)}async check(b,c,f){try{return await this.client.get(`/user/starred/${b}/${c}`,f),!0}catch(h){if(h instanceof j&&h.status===404)return!1;throw h}}async remove(b,c,f){await this.client.delete(`/user/starred/${b}/${c}`,void 0,f)}}export{k as StarsApi};
2
- export{k as d};
1
+ import{x as j}from"../errors.js";class k{client;constructor(b){this.client=b}list(b){return this.client.get("/user/starred",b)}async add(b,c,f){await this.client.put(`/user/starred/${b}/${c}`,void 0,f)}async check(b,c,f){try{return await this.client.get(`/user/starred/${b}/${c}`,f),!0}catch(h){if(h instanceof j&&h.status===404)return!1;throw h}}async remove(b,c,f){await this.client.delete(`/user/starred/${b}/${c}`,void 0,f)}}export{k as StarsApi};
2
+ export{k as l};
3
3
 
4
- //# debugId=564646714BD1767364756E2164756E21
4
+ //# debugId=41B0D66FC695A1AA64756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "import type { GitVerseClient } from \"../client\";\nimport { GitVerseApiError } from \"../errors\";\nimport type { Repository, RequestOptions } from \"../types\";\n\n/**\n * Класс для работы со звездами репозиториев\n */\nexport class StarsApi {\n constructor(private client: GitVerseClient) {}\n\n /**\n * Получить список репозиториев, отмеченных звездой\n * @returns {Promise<Repository[]>} Массив репозиториев, отмеченных звездой\n */\n list(options?: RequestOptions): Promise<Repository[]> {\n return this.client.get<Repository[]>(\"/user/starred\", options);\n }\n\n /**\n * Добавить звезду репозиторию\n * @param {string} owner - Владелец репозитория\n * @param {string} repo - Название репозитория\n * @returns {Promise<void>} Результат операции (204 No Content при успехе)\n */\n async add(owner: string, repo: string, options?: RequestOptions): Promise<void> {\n await this.client.put<void>(`/user/starred/${owner}/${repo}`, undefined, options);\n }\n\n /**\n * Проверить, отмечен ли репозиторий звездой\n * @param {string} owner - Владелец репозитория\n * @param {string} repo - Название репозитория\n * @returns {Promise<boolean>} true если отмечен звездой, false если нет\n */\n async check(owner: string, repo: string, options?: RequestOptions): Promise<boolean> {\n try {\n await this.client.get<void>(`/user/starred/${owner}/${repo}`, options);\n return true;\n } catch (error: unknown) {\n // 404 означает, что репозиторий не отмечен звездой\n if (error instanceof GitVerseApiError && error.status === 404) {\n return false;\n }\n throw error;\n }\n }\n\n /**\n * Убрать звезду с репозитория\n * @param {string} owner - Владелец репозитория\n * @param {string} repo - Название репозитория\n * @returns {Promise<void>} Результат операции\n */\n async remove(owner: string, repo: string, options?: RequestOptions): Promise<void> {\n await this.client.delete<void>(`/user/starred/${owner}/${repo}`, undefined, options);\n }\n}\n"
6
6
  ],
7
7
  "mappings": "iCAOO,MAAM,CAAS,CACA,OAApB,WAAW,CAAS,EAAwB,CAAxB,cAMpB,IAAI,CAAC,EAAiD,CACpD,OAAO,KAAK,OAAO,IAAkB,gBAAiB,CAAO,OASzD,IAAG,CAAC,EAAe,EAAc,EAAyC,CAC9E,MAAM,KAAK,OAAO,IAAU,iBAAiB,KAAS,IAAQ,OAAW,CAAO,OAS5E,MAAK,CAAC,EAAe,EAAc,EAA4C,CACnF,GAAI,CAEF,OADA,MAAM,KAAK,OAAO,IAAU,iBAAiB,KAAS,IAAQ,CAAO,EAC9D,GACP,MAAO,EAAgB,CAEvB,GAAI,aAAiB,GAAoB,EAAM,SAAW,IACxD,MAAO,GAET,MAAM,QAUJ,OAAM,CAAC,EAAe,EAAc,EAAyC,CACjF,MAAM,KAAK,OAAO,OAAa,iBAAiB,KAAS,IAAQ,OAAW,CAAO,EAEvF",
8
- "debugId": "564646714BD1767364756E2164756E21",
8
+ "debugId": "41B0D66FC695A1AA64756E2164756E21",
9
9
  "names": []
10
10
  }
package/dist/api/teams.js CHANGED
@@ -1,4 +1,4 @@
1
1
  class k{client;constructor(b){this.client=b}list(b,d){return this.client.get(`/orgs/${b}/teams`,d)}getInvitations(b,d,f){return this.client.get(`/orgs/${b}/teams/${d}/invitations`,f)}getMembers(b,d,f){return this.client.get(`/orgs/${b}/teams/${d}/members`,f)}addRepository(b,d,f,h,j){return this.client.put(`/orgs/${b}/teams/${d}/repos/${f}/${h}`,{},j)}}export{k as TeamsApi};
2
- export{k as j};
2
+ export{k as a};
3
3
 
4
- //# debugId=0CD315D7704F162C64756E2164756E21
4
+ //# debugId=D51ED66717DDEF6064756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "import type { GitVerseClient } from \"../client\";\nimport type { Invitation, RequestOptions, Team, User } from \"../types\";\n\n/**\n * API для работы с командами организации\n */\nexport class TeamsApi {\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 org Название организации\n * @returns Список команд\n */\n list(org: string, options?: RequestOptions): Promise<Team[]> {\n return this.client.get<Team[]>(`/orgs/${org}/teams`, options);\n }\n\n /**\n * Получает список приглашений команды\n * @param org Название организации\n * @param team Название команды\n * @returns Список приглашений\n */\n getInvitations(org: string, team: string, options?: RequestOptions): Promise<Invitation[]> {\n return this.client.get<Invitation[]>(`/orgs/${org}/teams/${team}/invitations`, options);\n }\n\n /**\n * Получает список членов команды\n * @param org Название организации\n * @param team Название команды\n * @returns Список членов команды\n */\n getMembers(org: string, team: string, options?: RequestOptions): Promise<User[]> {\n return this.client.get<User[]>(`/orgs/${org}/teams/${team}/members`, options);\n }\n\n /**\n * Добавляет репозиторий к команде\n * @param org Название организации\n * @param team Название команды\n * @param owner Владелец репозитория\n * @param repo Название репозитория\n * @returns Результат операции\n */\n addRepository(org: string, team: string, owner: string, repo: string, options?: RequestOptions): Promise<void> {\n return this.client.put<void>(`/orgs/${org}/teams/${team}/repos/${owner}/${repo}`, {}, options);\n }\n}\n"
6
6
  ],
7
7
  "mappings": "AAMO,MAAM,CAAS,CACZ,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAQhB,IAAI,CAAC,EAAa,EAA2C,CAC3D,OAAO,KAAK,OAAO,IAAY,SAAS,UAAa,CAAO,EAS9D,cAAc,CAAC,EAAa,EAAc,EAAiD,CACzF,OAAO,KAAK,OAAO,IAAkB,SAAS,WAAa,gBAAoB,CAAO,EASxF,UAAU,CAAC,EAAa,EAAc,EAA2C,CAC/E,OAAO,KAAK,OAAO,IAAY,SAAS,WAAa,YAAgB,CAAO,EAW9E,aAAa,CAAC,EAAa,EAAc,EAAe,EAAc,EAAyC,CAC7G,OAAO,KAAK,OAAO,IAAU,SAAS,WAAa,WAAc,KAAS,IAAQ,CAAC,EAAG,CAAO,EAEjG",
8
- "debugId": "0CD315D7704F162C64756E2164756E21",
8
+ "debugId": "D51ED66717DDEF6064756E2164756E21",
9
9
  "names": []
10
10
  }
package/dist/api/users.js CHANGED
@@ -1,4 +1,4 @@
1
1
  class f{client;constructor(b){this.client=b}getCurrent(b){return this.client.get("/user",b)}getByUsername(b,d){return this.client.get(`/users/${b}`,d)}}export{f as UsersApi};
2
- export{f as y};
2
+ export{f as m};
3
3
 
4
- //# debugId=50B40EEEBF94B1DC64756E2164756E21
4
+ //# debugId=1D7A90B6197B27CE64756E2164756E21
@@ -5,6 +5,6 @@
5
5
  "import type { GitVerseClient } from \"../client\";\nimport type { CurrentUser, RequestOptions, User } from \"../types\";\n\n/**\n * API для работы с пользователями\n */\nexport class UsersApi {\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 * @returns Данные о пользователе\n */\n getCurrent(options?: RequestOptions): Promise<CurrentUser> {\n return this.client.get<CurrentUser>(\"/user\", options);\n }\n\n /**\n * Получает информацию о пользователе по имени пользователя\n * @param username Имя пользователя\n * @returns Данные о пользователе\n */\n getByUsername(username: string, options?: RequestOptions): Promise<User> {\n return this.client.get<User>(`/users/${username}`, options);\n }\n}\n"
6
6
  ],
7
7
  "mappings": "AAMO,MAAM,CAAS,CACZ,OAMR,WAAW,CAAC,EAAwB,CAClC,KAAK,OAAS,EAOhB,UAAU,CAAC,EAAgD,CACzD,OAAO,KAAK,OAAO,IAAiB,QAAS,CAAO,EAQtD,aAAa,CAAC,EAAkB,EAAyC,CACvE,OAAO,KAAK,OAAO,IAAU,UAAU,IAAY,CAAO,EAE9D",
8
- "debugId": "50B40EEEBF94B1DC64756E2164756E21",
8
+ "debugId": "1D7A90B6197B27CE64756E2164756E21",
9
9
  "names": []
10
10
  }
package/dist/client.js CHANGED
@@ -1,4 +1,4 @@
1
- import{v as S,w as U,x 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 o};
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};
3
3
 
4
- //# debugId=DC7520293936FD5864756E2164756E21
4
+ //# debugId=0E13183CD0E75AD764756E2164756E21
@@ -5,6 +5,6 @@
5
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"
6
6
  ],
7
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": "DC7520293936FD5864756E2164756E21",
8
+ "debugId": "0E13183CD0E75AD764756E2164756E21",
9
9
  "names": []
10
10
  }
package/dist/enums.js CHANGED
@@ -1,4 +1,4 @@
1
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 p,b as q,c as r,d as s,f as t};
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};
3
3
 
4
- //# debugId=B9493A3C9B63738E64756E2164756E21
4
+ //# debugId=DF03E052E409AD8564756E2164756E21
package/dist/enums.js.map CHANGED
@@ -5,6 +5,6 @@
5
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"
6
6
  ],
7
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": "B9493A3C9B63738E64756E2164756E21",
8
+ "debugId": "DF03E052E409AD8564756E2164756E21",
9
9
  "names": []
10
10
  }
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 v,k as w,q as x};
2
+ export{j as x,k as y,q as z};
3
3
 
4
- //# debugId=244FAF075E55BD6464756E2164756E21
4
+ //# debugId=B0D89D028513A14264756E2164756E21
@@ -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": "244FAF075E55BD6464756E2164756E21",
8
+ "debugId": "B0D89D028513A14264756E2164756E21",
9
9
  "names": []
10
10
  }
package/dist/index.d.ts CHANGED
@@ -681,6 +681,17 @@ interface Milestone {
681
681
  due_on?: string;
682
682
  }
683
683
  /**
684
+ * Интерфейс ошибки API
685
+ */
686
+ interface ApiError {
687
+ /** Тип ошибки */
688
+ error: string;
689
+ /** Сообщение об ошибке */
690
+ message: string;
691
+ /** HTTP-код статуса */
692
+ status: number;
693
+ }
694
+ /**
684
695
  * Интерфейс email адреса
685
696
  */
686
697
  interface Email {
@@ -2448,4 +2459,4 @@ declare class GitVerse {
2448
2459
  */
2449
2460
  setToken(token: string): GitVerse;
2450
2461
  }
2451
- export { VisibilityType, UserType, User2 as User, Team, Repository, Release, RateLimitInfo, RateLimitError, PullRequestState, PullRequest, IssueState, Issue, GitVerseApiError, GitVerse, CurrentUser, ContentType, Content, Commit, Branch, ApiVersionWarning, ApiVersionInfo, ApiResponseMetadata };
2462
+ export { VisibilityType, Variable, UserType, User2 as User, UploadAssetParams, UpdateVariableParams, UpdateRepositoryParams, UpdateReleaseParams, UpdatePullRequestParams, UpdateFileParams, TreeEntry, Tree, TimelineEvent, Team, Secret, Runner, RequestOptions, Repository, RemoveEmailParams, Release, Reference, RateLimitInfo, RateLimitError, PullRequestStateFilter, PullRequestState, PullRequestSortDirection, PullRequestSortCriteria, PullRequestFile, PullRequestBase, PullRequest, Milestone, ListPullRequestsParams, LanguagesResponse, Label, IssueState, Issue, Invitation, GitVerseApiError, GitVerse, FileDeletionResponse, FileCreationResponse, FileContent, EmailOperationResponse, Email, DispatchWorkflowParams, DirectoryContent, DeleteFileParams, CurrentUser, CreateVariableParams, CreateTreeParams, CreateSecretParams, CreateRepositoryParams, CreateReleaseParams, CreateRefParams, CreatePullRequestParams, CreateForkParams, CreateFileParams, CreateCommitParams, ContentType, Content, CompareResponse, CommitInfo, Commit, Comment, Branch, Asset, Artifact, ApiVersionWarning, ApiVersionInfo, ApiResponseMetadata, ApiError, AddEmailParams };
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- import{a as L}from"./api/organizations.js";import{b as x}from"./api/commits.js";import{c as q}from"./api/actions.js";import{d as W}from"./api/stars.js";import{e as K}from"./api/issues.js";import{f as v}from"./api/branches.js";import{g as Q}from"./api/repositories.js";import{h as w}from"./api/collaborators.js";import{i as y}from"./api/contents.js";import{j as X}from"./api/teams.js";import{k as J}from"./api/git.js";import{l as N}from"./api/releases.js";import{m as M}from"./api/pulls.js";import{n as H}from"./api/forks.js";import{o as j}from"./client.js";import{p as B,q as E,r as F,s as I,t as O}from"./enums.js";import"./utils.js";import{v as Z,w as _,x as $}from"./errors.js";import{y as Y}from"./api/users.js";import{z as D}from"./api/emails.js";class P{client;users;repos;contents;pulls;forks;emails;issues;stars;branches;commits;collaborators;organizations;teams;releases;git;actions;constructor(d={}){this.client=new j(d),this.users=new Y(this.client),this.repos=new Q(this.client),this.contents=new y(this.client),this.pulls=new M(this.client),this.forks=new H(this.client),this.emails=new D(this.client),this.issues=new K(this.client),this.stars=new W(this.client),this.branches=new v(this.client),this.commits=new x(this.client),this.collaborators=new w(this.client),this.organizations=new L(this.client),this.teams=new X(this.client),this.releases=new N(this.client),this.git=new J(this.client),this.actions=new q(this.client)}setToken(d){return this.client.setToken(d),this}}export{E as VisibilityType,B as UserType,_ as RateLimitError,I as PullRequestState,O as IssueState,Z as GitVerseApiError,P as GitVerse,F as ContentType,$ as ApiVersionWarning};
1
+ import{a as W}from"./api/teams.js";import{b as L}from"./api/pulls.js";import{c as H}from"./api/git.js";import{d as w}from"./api/commits.js";import{e as q}from"./api/branches.js";import{f as J}from"./api/issues.js";import{g as v}from"./api/collaborators.js";import{h as N}from"./api/repositories.js";import{i as M}from"./api/releases.js";import{j as x}from"./api/contents.js";import{k as D}from"./api/forks.js";import{l as Q}from"./api/stars.js";import{m as X}from"./api/users.js";import{n as K}from"./api/organizations.js";import{o as c,p as l,q as A,r as n,s as r,t,u as o,v as e}from"./enums.js";import{w as Y}from"./client.js";import{x as g,y as u,z as m}from"./errors.js";import"./utils.js";import{B as y}from"./api/emails.js";import{C as j}from"./api/actions.js";class Z{client;users;repos;contents;pulls;forks;emails;issues;stars;branches;commits;collaborators;organizations;teams;releases;git;actions;constructor(d={}){this.client=new Y(d),this.users=new X(this.client),this.repos=new N(this.client),this.contents=new x(this.client),this.pulls=new L(this.client),this.forks=new D(this.client),this.emails=new y(this.client),this.issues=new J(this.client),this.stars=new Q(this.client),this.branches=new q(this.client),this.commits=new w(this.client),this.collaborators=new v(this.client),this.organizations=new K(this.client),this.teams=new W(this.client),this.releases=new M(this.client),this.git=new H(this.client),this.actions=new j(this.client)}setToken(d){return this.client.setToken(d),this}}export{l as VisibilityType,c as UserType,u as RateLimitError,t as PullRequestStateFilter,n as PullRequestState,e as PullRequestSortDirection,o as PullRequestSortCriteria,r as IssueState,g as GitVerseApiError,Z as GitVerse,A as ContentType,m as ApiVersionWarning};
2
2
 
3
- //# debugId=1FDA74B2231FF3F964756E2164756E21
3
+ //# debugId=D59DADA99537F1DB64756E2164756E21
package/dist/index.js.map CHANGED
@@ -2,9 +2,9 @@
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts"],
4
4
  "sourcesContent": [
5
- "import { ActionsApi } from \"./api/actions\";\nimport { BranchesApi } from \"./api/branches\";\nimport { CollaboratorsApi } from \"./api/collaborators\";\nimport { CommitsApi } from \"./api/commits\";\nimport { ContentsApi } from \"./api/contents\";\nimport { EmailsApi } from \"./api/emails\";\nimport { ForksApi } from \"./api/forks\";\nimport { GitApi } from \"./api/git\";\nimport { IssuesApi } from \"./api/issues\";\nimport { OrganizationsApi } from \"./api/organizations\";\nimport { PullsApi } from \"./api/pulls\";\nimport { ReleasesApi } from \"./api/releases\";\nimport { RepositoriesApi } from \"./api/repositories\";\nimport { StarsApi } from \"./api/stars\";\nimport { TeamsApi } from \"./api/teams\";\nimport { UsersApi } from \"./api/users\";\nimport { GitVerseClient, type GitVerseClientConfig } from \"./client\";\n\n/**\n * Класс GitVerse, объединяющий все API методы\n *\n * @remarks\n * Для лучшего tree-shaking рекомендуется импортировать напрямую из соответствующих модулей:\n * ```typescript\n * // Вместо\n * import { GitVerse } from 'gitverse-api-sdk';\n * const client = new GitVerse();\n *\n * // Рекомендуется использовать\n * import { RepositoriesApi, GitVerseClient } from 'gitverse-api-sdk/api/repositories';\n * const client = new GitVerseClient();\n * const reposApi = new RepositoriesApi(client);\n * ```\n */\nexport class GitVerse {\n /**\n * Клиент API\n */\n public readonly client: GitVerseClient;\n\n /**\n * API для работы с пользователями\n */\n public readonly users: UsersApi;\n\n /**\n * API для работы с репозиториями\n */\n public readonly repos: RepositoriesApi;\n\n /**\n * API для работы с содержимым репозитория\n */\n public readonly contents: ContentsApi;\n\n /**\n * API для работы с запросами на слияние\n */\n public readonly pulls: PullsApi;\n\n /**\n * API для работы с форками\n */\n public readonly forks: ForksApi;\n\n /**\n * API для работы с email адресами\n */\n public readonly emails: EmailsApi;\n\n /**\n * API для работы с issues\n */\n public readonly issues: IssuesApi;\n\n /**\n * API для работы со звездами\n */\n public readonly stars: StarsApi;\n\n /**\n * API для работы с ветками\n */\n public readonly branches: BranchesApi;\n\n /**\n * API для работы с коммитами\n */\n public readonly commits: CommitsApi;\n\n /**\n * API для работы с коллабораторами\n */\n public readonly collaborators: CollaboratorsApi;\n\n /**\n * API для работы с организациями\n */\n public readonly organizations: OrganizationsApi;\n\n /**\n * API для работы с командами\n */\n public readonly teams: TeamsApi;\n\n /**\n * API для работы с релизами\n */\n public readonly releases: ReleasesApi;\n\n /**\n * API для работы с Git-объектами\n */\n public readonly git: GitApi;\n\n /**\n * API для работы с GitHub Actions\n */\n public readonly actions: ActionsApi;\n\n /**\n * Создает новый экземпляр GitVerse\n * @param config Конфигурация клиента\n */\n constructor(config: GitVerseClientConfig = {}) {\n this.client = new GitVerseClient(config);\n\n this.users = new UsersApi(this.client);\n this.repos = new RepositoriesApi(this.client);\n this.contents = new ContentsApi(this.client);\n this.pulls = new PullsApi(this.client);\n this.forks = new ForksApi(this.client);\n this.emails = new EmailsApi(this.client);\n this.issues = new IssuesApi(this.client);\n this.stars = new StarsApi(this.client);\n this.branches = new BranchesApi(this.client);\n this.commits = new CommitsApi(this.client);\n this.collaborators = new CollaboratorsApi(this.client);\n this.organizations = new OrganizationsApi(this.client);\n this.teams = new TeamsApi(this.client);\n this.releases = new ReleasesApi(this.client);\n this.git = new GitApi(this.client);\n this.actions = new ActionsApi(this.client);\n }\n\n /**\n * Устанавливает токен авторизации\n * @param token Токен доступа\n * @returns Текущий экземпляр GitVerse\n */\n setToken(token: string): GitVerse {\n this.client.setToken(token);\n return this;\n }\n}\n\n// Экспорт перечислений\nexport { ContentType, IssueState, PullRequestState, UserType, VisibilityType } from \"./enums\";\n// Экспорт классов ошибок\nexport { ApiVersionWarning, GitVerseApiError, RateLimitError } from \"./errors\";\n// Экспорт типов\nexport type {\n ApiResponseMetadata,\n ApiVersionInfo,\n Branch,\n Commit,\n Content,\n CurrentUser,\n Issue,\n PullRequest,\n RateLimitInfo,\n Release,\n Repository,\n Team,\n User,\n} from \"./types\";\n"
5
+ "import { ActionsApi } from \"./api/actions\";\nimport { BranchesApi } from \"./api/branches\";\nimport { CollaboratorsApi } from \"./api/collaborators\";\nimport { CommitsApi } from \"./api/commits\";\nimport { ContentsApi } from \"./api/contents\";\nimport { EmailsApi } from \"./api/emails\";\nimport { ForksApi } from \"./api/forks\";\nimport { GitApi } from \"./api/git\";\nimport { IssuesApi } from \"./api/issues\";\nimport { OrganizationsApi } from \"./api/organizations\";\nimport { PullsApi } from \"./api/pulls\";\nimport { ReleasesApi } from \"./api/releases\";\nimport { RepositoriesApi } from \"./api/repositories\";\nimport { StarsApi } from \"./api/stars\";\nimport { TeamsApi } from \"./api/teams\";\nimport { UsersApi } from \"./api/users\";\nimport { GitVerseClient, type GitVerseClientConfig } from \"./client\";\n\n/**\n * Класс GitVerse, объединяющий все API методы\n *\n * @remarks\n * Для лучшего tree-shaking рекомендуется импортировать напрямую из соответствующих модулей:\n * ```typescript\n * // Вместо\n * import { GitVerse } from 'gitverse-api-sdk';\n * const client = new GitVerse();\n *\n * // Рекомендуется использовать\n * import { RepositoriesApi, GitVerseClient } from 'gitverse-api-sdk/api/repositories';\n * const client = new GitVerseClient();\n * const reposApi = new RepositoriesApi(client);\n * ```\n */\nexport class GitVerse {\n /**\n * Клиент API\n */\n public readonly client: GitVerseClient;\n\n /**\n * API для работы с пользователями\n */\n public readonly users: UsersApi;\n\n /**\n * API для работы с репозиториями\n */\n public readonly repos: RepositoriesApi;\n\n /**\n * API для работы с содержимым репозитория\n */\n public readonly contents: ContentsApi;\n\n /**\n * API для работы с запросами на слияние\n */\n public readonly pulls: PullsApi;\n\n /**\n * API для работы с форками\n */\n public readonly forks: ForksApi;\n\n /**\n * API для работы с email адресами\n */\n public readonly emails: EmailsApi;\n\n /**\n * API для работы с issues\n */\n public readonly issues: IssuesApi;\n\n /**\n * API для работы со звездами\n */\n public readonly stars: StarsApi;\n\n /**\n * API для работы с ветками\n */\n public readonly branches: BranchesApi;\n\n /**\n * API для работы с коммитами\n */\n public readonly commits: CommitsApi;\n\n /**\n * API для работы с коллабораторами\n */\n public readonly collaborators: CollaboratorsApi;\n\n /**\n * API для работы с организациями\n */\n public readonly organizations: OrganizationsApi;\n\n /**\n * API для работы с командами\n */\n public readonly teams: TeamsApi;\n\n /**\n * API для работы с релизами\n */\n public readonly releases: ReleasesApi;\n\n /**\n * API для работы с Git-объектами\n */\n public readonly git: GitApi;\n\n /**\n * API для работы с GitHub Actions\n */\n public readonly actions: ActionsApi;\n\n /**\n * Создает новый экземпляр GitVerse\n * @param config Конфигурация клиента\n */\n constructor(config: GitVerseClientConfig = {}) {\n this.client = new GitVerseClient(config);\n\n this.users = new UsersApi(this.client);\n this.repos = new RepositoriesApi(this.client);\n this.contents = new ContentsApi(this.client);\n this.pulls = new PullsApi(this.client);\n this.forks = new ForksApi(this.client);\n this.emails = new EmailsApi(this.client);\n this.issues = new IssuesApi(this.client);\n this.stars = new StarsApi(this.client);\n this.branches = new BranchesApi(this.client);\n this.commits = new CommitsApi(this.client);\n this.collaborators = new CollaboratorsApi(this.client);\n this.organizations = new OrganizationsApi(this.client);\n this.teams = new TeamsApi(this.client);\n this.releases = new ReleasesApi(this.client);\n this.git = new GitApi(this.client);\n this.actions = new ActionsApi(this.client);\n }\n\n /**\n * Устанавливает токен авторизации\n * @param token Токен доступа\n * @returns Текущий экземпляр GitVerse\n */\n setToken(token: string): GitVerse {\n this.client.setToken(token);\n return this;\n }\n}\n\n// Экспорт перечислений\nexport * from \"./enums\";\n// Экспорт классов ошибок\nexport * from \"./errors\";\n// Экспорт типов\nexport type * from \"./types\";\n"
6
6
  ],
7
- "mappings": "m7BAkCO,HAAM,RAAS,VAIJ,HAKA,FAKA,EAKA,MAKA,FAKA,LAKA,NAKA,DAKA,LAKA,FAKA,NAKA,DAKA,DAKA,RAKA,FAKA,NAKA,QAMhB,WAAW,CAAC,EAA+B,CAAC,EAAG,CAC7C,KAAK,OAAS,IAAI,EAAe,CAAM,EAEvC,KAAK,MAAQ,IAAI,EAAS,KAAK,MAAM,EACrC,KAAK,MAAQ,IAAI,EAAgB,KAAK,MAAM,EAC5C,KAAK,SAAW,IAAI,EAAY,KAAK,MAAM,EAC3C,KAAK,MAAQ,IAAI,EAAS,KAAK,MAAM,EACrC,KAAK,MAAQ,IAAI,EAAS,KAAK,MAAM,EACrC,KAAK,OAAS,IAAI,EAAU,KAAK,MAAM,EACvC,KAAK,OAAS,IAAI,EAAU,KAAK,MAAM,EACvC,KAAK,MAAQ,IAAI,EAAS,KAAK,MAAM,EACrC,KAAK,SAAW,IAAI,EAAY,KAAK,MAAM,EAC3C,KAAK,QAAU,IAAI,EAAW,KAAK,MAAM,EACzC,KAAK,cAAgB,IAAI,EAAiB,KAAK,MAAM,EACrD,KAAK,cAAgB,IAAI,EAAiB,KAAK,MAAM,EACrD,KAAK,MAAQ,IAAI,EAAS,KAAK,MAAM,EACrC,KAAK,SAAW,IAAI,EAAY,KAAK,MAAM,EAC3C,KAAK,IAAM,IAAI,EAAO,KAAK,MAAM,EACjC,KAAK,QAAU,IAAI,EAAW,KAAK,MAAM,EAQ3C,QAAQ,CAAC,EAAyB,CAEhC,OADA,KAAK,OAAO,SAAS,CAAK,EACnB,KAEX",
8
- "debugId": "1FDA74B2231FF3F964756E2164756E21",
7
+ "mappings": "27BAkCO,LAAM,ZAAS,RAIJ,DAKA,JAKA,GAKA,KAKA,FAKA,FAKA,JAKA,JAKA,LAKA,MAKA,PAKA,AAKA,AAKA,TAKA,DAKA,LAKA,QAMhB,WAAW,CAAC,EAA+B,CAAC,EAAG,CAC7C,KAAK,OAAS,IAAI,EAAe,CAAM,EAEvC,KAAK,MAAQ,IAAI,EAAS,KAAK,MAAM,EACrC,KAAK,MAAQ,IAAI,EAAgB,KAAK,MAAM,EAC5C,KAAK,SAAW,IAAI,EAAY,KAAK,MAAM,EAC3C,KAAK,MAAQ,IAAI,EAAS,KAAK,MAAM,EACrC,KAAK,MAAQ,IAAI,EAAS,KAAK,MAAM,EACrC,KAAK,OAAS,IAAI,EAAU,KAAK,MAAM,EACvC,KAAK,OAAS,IAAI,EAAU,KAAK,MAAM,EACvC,KAAK,MAAQ,IAAI,EAAS,KAAK,MAAM,EACrC,KAAK,SAAW,IAAI,EAAY,KAAK,MAAM,EAC3C,KAAK,QAAU,IAAI,EAAW,KAAK,MAAM,EACzC,KAAK,cAAgB,IAAI,EAAiB,KAAK,MAAM,EACrD,KAAK,cAAgB,IAAI,EAAiB,KAAK,MAAM,EACrD,KAAK,MAAQ,IAAI,EAAS,KAAK,MAAM,EACrC,KAAK,SAAW,IAAI,EAAY,KAAK,MAAM,EAC3C,KAAK,IAAM,IAAI,EAAO,KAAK,MAAM,EACjC,KAAK,QAAU,IAAI,EAAW,KAAK,MAAM,EAQ3C,QAAQ,CAAC,EAAyB,CAEhC,OADA,KAAK,OAAO,SAAS,CAAK,EACnB,KAEX",
8
+ "debugId": "D59DADA99537F1DB64756E2164756E21",
9
9
  "names": []
10
10
  }
package/dist/utils.js CHANGED
@@ -1,4 +1,4 @@
1
1
  var y=/^[A-Za-z0-9+/=]+$/,z=/^([a-z][a-z0-9+.-]*:\/\/[^/]+)\/([a-z][a-z0-9+.-]*:\/\/.+)$/i;function w(j){return Buffer.from(j).toString("base64")}function A(j){return Buffer.from(j,"base64").toString("utf-8")}function G(j,k,q){return{branch:q,content:w(j),message:k}}function H(j,k,q,v){return{branch:v,content:w(j),message:q,sha:k}}function I(j){if(!j.content)return"";if(j.encoding==="base64"){let k=j.content;if(!y.test(k))return k;try{return A(k)}catch{return k}}return j.content}function E(j){if(!j)return j;let k=j.match(z);if(k?.[1]&&k?.[2]){let q=k[1],v=k[2];if(v.startsWith(q))return v}return j}function J(j){let k=["clone_url","html_url","url","git_url","mirror_url"],q={...j};for(let v of k)if(typeof q[v]==="string")q[v]=E(q[v]);return q}export{H as updateFileParams,I as parseFileContent,J as fixRepositoryUrls,E as fixDuplicatedUrl,w as encodeBase64,A as decodeBase64,G as createFileParams};
2
- export{J as u};
2
+ export{J as A};
3
3
 
4
- //# debugId=F1BB6E2CA5D979A564756E2164756E21
4
+ //# debugId=CA0F70D69D57860E64756E2164756E21
package/dist/utils.js.map CHANGED
@@ -5,6 +5,6 @@
5
5
  "/**\n * Вспомогательные утилиты для работы с GitVerse API\n */\n\nconst base64Regex = /^[A-Za-z0-9+/=]+$/;\n\n/**\n * Regex для поиска дублированных доменов в URL\n * Паттерн: protocol://domain/protocol://something\n * Поддерживает любые протоколы: http, https, git, ssh и т.д.\n */\nconst urlDuplicationPattern = /^([a-z][a-z0-9+.-]*:\\/\\/[^/]+)\\/([a-z][a-z0-9+.-]*:\\/\\/.+)$/i;\n\n/**\n * Кодирует строку в Base64\n * @param str Строка для кодирования\n * @returns Строка в формате Base64\n */\nexport function encodeBase64(str: string): string {\n return Buffer.from(str).toString(\"base64\");\n}\n\n/**\n * Декодирует строку из Base64\n * @param base64 Строка в формате Base64\n * @returns Декодированная строка\n */\nexport function decodeBase64(base64: string): string {\n return Buffer.from(base64, \"base64\").toString(\"utf-8\");\n}\n\n/**\n * Создает объект параметров для создания файла\n * @param content Содержимое файла в виде строки\n * @param message Сообщение коммита\n * @param branch Имя ветки (опционально)\n * @returns Объект параметров для создания файла\n */\nexport function createFileParams(content: string, message?: string, branch?: string) {\n return {\n branch,\n content: encodeBase64(content),\n message,\n };\n}\n\n/**\n * Создает объект параметров для обновления файла\n * @param content Новое содержимое файла в виде строки\n * @param sha SHA хеш текущего содержимого файла\n * @param message Сообщение коммита\n * @param branch Имя ветки (опционально)\n * @returns Объект параметров для обновления файла\n */\nexport function updateFileParams(content: string, sha: string, message?: string, branch?: string) {\n return {\n branch,\n content: encodeBase64(content),\n message,\n sha,\n };\n}\n\n/**\n * Парсит содержимое файла из ответа API\n * @param fileContent Объект с информацией о файле\n * @returns Декодированное содержимое файла\n */\nexport function parseFileContent(fileContent: { content?: string; encoding?: string }) {\n if (!fileContent.content) {\n return \"\";\n }\n\n if (fileContent.encoding === \"base64\") {\n const data = fileContent.content;\n // Return original if not valid base64\n if (!base64Regex.test(data)) {\n return data;\n }\n try {\n return decodeBase64(data);\n } catch {\n return data;\n }\n }\n\n return fileContent.content;\n}\n\n/**\n * Исправляет дублированный домен в URL (workaround для бага GitVerse API)\n *\n * Проблема: API иногда возвращает URL вида:\n * `https://gitverse.ru/https://gitverse.ru/owner/repo.git`\n *\n * Эта функция исправляет такие URL на корректный вид:\n * `https://gitverse.ru/owner/repo.git`\n *\n * @param url URL для исправления\n * @returns Исправленный URL\n *\n * @see https://gitverse.ru/RainyPixel/gitverse-sdk/tasktracker/XXX - ссылка на issue об этом баге\n */\nexport function fixDuplicatedUrl(url: string): string {\n if (!url) {\n return url;\n }\n\n const match = url.match(urlDuplicationPattern);\n\n if (match?.[1] && match?.[2]) {\n const firstPart = match[1]; // https://gitverse.ru или git://gitverse.ru\n const secondPart = match[2]; // https://gitverse.ru/owner/repo.git или git://gitverse.ru/owner/repo.git\n\n // Проверяем, начинается ли вторая часть с того же домена\n if (secondPart.startsWith(firstPart)) {\n return secondPart;\n }\n }\n\n return url;\n}\n\n/**\n * Исправляет дублированные URL в объекте Repository (workaround для бага GitVerse API)\n *\n * Применяет fixDuplicatedUrl ко всем URL-полям репозитория:\n * - clone_url\n * - html_url\n * - url\n * - git_url\n * - mirror_url\n *\n * @param repo Объект репозитория\n * @returns Репозиторий с исправленными URL\n */\nexport function fixRepositoryUrls<T extends Record<string, unknown>>(repo: T): T {\n const urlFields = [\"clone_url\", \"html_url\", \"url\", \"git_url\", \"mirror_url\"];\n\n // Создаем новый объект с теми же свойствами\n const fixed: Record<string, unknown> = { ...repo };\n\n for (const field of urlFields) {\n if (typeof fixed[field] === \"string\") {\n fixed[field] = fixDuplicatedUrl(fixed[field] as string);\n }\n }\n\n return fixed as T;\n}\n"
6
6
  ],
7
7
  "mappings": "AAIA,IAAM,EAAc,oBAOd,EAAwB,+DAOvB,SAAS,CAAY,CAAC,EAAqB,CAChD,OAAO,OAAO,KAAK,CAAG,EAAE,SAAS,QAAQ,EAQpC,SAAS,CAAY,CAAC,EAAwB,CACnD,OAAO,OAAO,KAAK,EAAQ,QAAQ,EAAE,SAAS,OAAO,EAUhD,SAAS,CAAgB,CAAC,EAAiB,EAAkB,EAAiB,CACnF,MAAO,CACL,SACA,QAAS,EAAa,CAAO,EAC7B,SACF,EAWK,SAAS,CAAgB,CAAC,EAAiB,EAAa,EAAkB,EAAiB,CAChG,MAAO,CACL,SACA,QAAS,EAAa,CAAO,EAC7B,UACA,KACF,EAQK,SAAS,CAAgB,CAAC,EAAsD,CACrF,GAAI,CAAC,EAAY,QACf,MAAO,GAGT,GAAI,EAAY,WAAa,SAAU,CACrC,IAAM,EAAO,EAAY,QAEzB,GAAI,CAAC,EAAY,KAAK,CAAI,EACxB,OAAO,EAET,GAAI,CACF,OAAO,EAAa,CAAI,EACxB,KAAM,CACN,OAAO,GAIX,OAAO,EAAY,QAiBd,SAAS,CAAgB,CAAC,EAAqB,CACpD,GAAI,CAAC,EACH,OAAO,EAGT,IAAM,EAAQ,EAAI,MAAM,CAAqB,EAE7C,GAAI,IAAQ,IAAM,IAAQ,GAAI,CAC5B,IAAM,EAAY,EAAM,GAClB,EAAa,EAAM,GAGzB,GAAI,EAAW,WAAW,CAAS,EACjC,OAAO,EAIX,OAAO,EAgBF,SAAS,CAAoD,CAAC,EAAY,CAC/E,IAAM,EAAY,CAAC,YAAa,WAAY,MAAO,UAAW,YAAY,EAGpE,EAAiC,IAAK,CAAK,EAEjD,QAAW,KAAS,EAClB,GAAI,OAAO,EAAM,KAAW,SAC1B,EAAM,GAAS,EAAiB,EAAM,EAAgB,EAI1D,OAAO",
8
- "debugId": "F1BB6E2CA5D979A564756E2164756E21",
8
+ "debugId": "CA0F70D69D57860E64756E2164756E21",
9
9
  "names": []
10
10
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gitverse-api-sdk",
3
- "version": "4.0.0",
3
+ "version": "4.0.2",
4
4
  "description": "Полнофункциональный TypeScript SDK для GitVerse API с поддержкой всех эндпоинтов, обработкой Rate Limits и версионирования",
5
5
  "keywords": [
6
6
  "gitverse",
@@ -116,9 +116,7 @@
116
116
  },
117
117
  "main": "dist/index.js",
118
118
  "types": "dist/index.d.ts",
119
- "files": [
120
- "dist"
121
- ],
119
+ "files": ["dist"],
122
120
  "scripts": {
123
121
  "build": "bun build.ts",
124
122
  "dev": "bun build.ts --watch",