gitverse-api-sdk 1.1.1 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +318 -125
- package/dist/api/actions.d.ts +506 -0
- package/dist/api/actions.js +4 -0
- package/dist/api/actions.js.map +10 -0
- package/dist/api/branches.d.ts +154 -0
- package/dist/api/branches.js +4 -0
- package/dist/api/branches.js.map +10 -0
- package/dist/api/collaborators.d.ts +224 -0
- package/dist/api/collaborators.js +4 -0
- package/dist/api/collaborators.js.map +10 -0
- package/dist/api/commits.d.ts +302 -0
- package/dist/api/commits.js +4 -0
- package/dist/api/commits.js.map +10 -0
- package/dist/api/contents.d.ts +121 -80
- package/dist/api/contents.js +3 -3
- package/dist/api/contents.js.map +3 -3
- package/dist/api/emails.d.ts +80 -39
- package/dist/api/emails.js +2 -2
- package/dist/api/emails.js.map +1 -1
- package/dist/api/forks.d.ts +121 -87
- package/dist/api/forks.js +3 -3
- package/dist/api/forks.js.map +3 -3
- package/dist/api/git.d.ts +228 -0
- package/dist/api/git.js +4 -0
- package/dist/api/git.js.map +10 -0
- package/dist/api/issues.d.ts +223 -82
- package/dist/api/issues.js +3 -3
- package/dist/api/issues.js.map +3 -3
- package/dist/api/organizations.d.ts +140 -0
- package/dist/api/organizations.js +4 -0
- package/dist/api/organizations.js.map +10 -0
- package/dist/api/pulls.d.ts +241 -80
- package/dist/api/pulls.js +3 -3
- package/dist/api/pulls.js.map +3 -3
- package/dist/api/releases.d.ts +400 -0
- package/dist/api/releases.js +4 -0
- package/dist/api/releases.js.map +10 -0
- package/dist/api/repositories.d.ts +266 -80
- package/dist/api/repositories.js +3 -3
- package/dist/api/repositories.js.map +3 -3
- package/dist/api/stars.d.ts +220 -1
- package/dist/api/stars.js +3 -3
- package/dist/api/stars.js.map +3 -3
- package/dist/api/teams.d.ts +287 -0
- package/dist/api/teams.js +4 -0
- package/dist/api/teams.js.map +10 -0
- package/dist/api/users.d.ts +121 -80
- package/dist/api/users.js +2 -2
- package/dist/api/users.js.map +1 -1
- package/dist/client.d.ts +42 -1
- package/dist/client.js +3 -3
- package/dist/client.js.map +3 -3
- package/dist/enums.js +2 -1
- package/dist/enums.js.map +1 -1
- package/dist/errors.d.ts +78 -0
- package/dist/errors.js +4 -0
- package/dist/errors.js.map +10 -0
- package/dist/index.d.ts +1535 -221
- package/dist/index.js +2 -2
- package/dist/index.js.map +3 -3
- package/dist/types.d.ts +588 -1
- package/dist/utils.d.ts +30 -1
- package/dist/utils.js +3 -2
- package/dist/utils.js.map +3 -3
- package/package.json +55 -11
package/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{a as
|
|
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};
|
|
2
2
|
|
|
3
|
-
//# debugId=
|
|
3
|
+
//# debugId=1FDA74B2231FF3F964756E2164756E21
|
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 { ContentsApi } from \"./api/contents\";\nimport { EmailsApi } from \"./api/emails\";\nimport { ForksApi } from \"./api/forks\";\nimport { IssuesApi } from \"./api/issues\";\nimport { PullsApi } from \"./api/pulls\";\nimport { RepositoriesApi } from \"./api/repositories\";\nimport { StarsApi } from \"./api/stars\";\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 * Создает новый экземпляр 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 }\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"
|
|
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"
|
|
6
6
|
],
|
|
7
|
-
"mappings": "
|
|
8
|
-
"debugId": "
|
|
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",
|
|
9
9
|
"names": []
|
|
10
10
|
}
|
package/dist/types.d.ts
CHANGED
|
@@ -55,6 +55,41 @@ declare const IssueState: {
|
|
|
55
55
|
*/
|
|
56
56
|
type IssueState = (typeof IssueState)[keyof typeof IssueState];
|
|
57
57
|
/**
|
|
58
|
+
* Информация о лимитах запросов (Rate Limits)
|
|
59
|
+
*/
|
|
60
|
+
interface RateLimitInfo {
|
|
61
|
+
/** Максимальное количество запросов за час */
|
|
62
|
+
limit: number;
|
|
63
|
+
/** Оставшееся количество запросов */
|
|
64
|
+
remaining: number;
|
|
65
|
+
/** Количество секунд до сброса лимита */
|
|
66
|
+
retryAfter: number;
|
|
67
|
+
/** Unix timestamp когда лимит будет сброшен */
|
|
68
|
+
reset: number;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Информация о версии API
|
|
72
|
+
*/
|
|
73
|
+
interface ApiVersionInfo {
|
|
74
|
+
/** Текущая версия API */
|
|
75
|
+
version: string;
|
|
76
|
+
/** Последняя доступная версия API */
|
|
77
|
+
latestVersion: string;
|
|
78
|
+
/** Флаг устаревшей версии */
|
|
79
|
+
deprecated: boolean;
|
|
80
|
+
/** Дата вывода из эксплуатации (если версия устарела) */
|
|
81
|
+
decommissioning?: string;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Метаданные ответа API
|
|
85
|
+
*/
|
|
86
|
+
interface ApiResponseMetadata {
|
|
87
|
+
/** Информация о лимитах запросов */
|
|
88
|
+
rateLimit?: RateLimitInfo;
|
|
89
|
+
/** Информация о версии API */
|
|
90
|
+
apiVersion?: ApiVersionInfo;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
58
93
|
* Интерфейс пользователя
|
|
59
94
|
*/
|
|
60
95
|
interface User2 {
|
|
@@ -666,4 +701,556 @@ interface Issue {
|
|
|
666
701
|
/** API-ссылка на issue */
|
|
667
702
|
url: string;
|
|
668
703
|
}
|
|
669
|
-
|
|
704
|
+
/**
|
|
705
|
+
* Интерфейс комментария к issue или pull request
|
|
706
|
+
*/
|
|
707
|
+
interface Comment {
|
|
708
|
+
/** Уникальный идентификатор комментария */
|
|
709
|
+
id: number;
|
|
710
|
+
/** Текст комментария */
|
|
711
|
+
body: string;
|
|
712
|
+
/** Пользователь, создавший комментарий */
|
|
713
|
+
user: User2;
|
|
714
|
+
/** Дата создания */
|
|
715
|
+
created_at: string;
|
|
716
|
+
/** Дата обновления */
|
|
717
|
+
updated_at: string;
|
|
718
|
+
/** Веб-ссылка на комментарий */
|
|
719
|
+
html_url: string;
|
|
720
|
+
/** API-ссылка на комментарий */
|
|
721
|
+
url: string;
|
|
722
|
+
}
|
|
723
|
+
/**
|
|
724
|
+
* Интерфейс события в timeline issue
|
|
725
|
+
*/
|
|
726
|
+
interface TimelineEvent {
|
|
727
|
+
/** Уникальный идентификатор события */
|
|
728
|
+
id: number;
|
|
729
|
+
/** Тип события */
|
|
730
|
+
event: string;
|
|
731
|
+
/** Пользователь, вызвавший событие */
|
|
732
|
+
actor: User2;
|
|
733
|
+
/** Дата создания события */
|
|
734
|
+
created_at: string;
|
|
735
|
+
/** Метка (для событий с метками) */
|
|
736
|
+
label?: Label;
|
|
737
|
+
/** Milestone (для событий с milestone) */
|
|
738
|
+
milestone?: Milestone;
|
|
739
|
+
/** Переименование (для событий переименования) */
|
|
740
|
+
rename?: {
|
|
741
|
+
from: string
|
|
742
|
+
to: string
|
|
743
|
+
};
|
|
744
|
+
}
|
|
745
|
+
/**
|
|
746
|
+
* Интерфейс ветки репозитория
|
|
747
|
+
*/
|
|
748
|
+
interface Branch {
|
|
749
|
+
/** Имя ветки */
|
|
750
|
+
name: string;
|
|
751
|
+
/** SHA-хеш последнего коммита */
|
|
752
|
+
commit: {
|
|
753
|
+
sha: string
|
|
754
|
+
url: string
|
|
755
|
+
};
|
|
756
|
+
/** Защищена ли ветка */
|
|
757
|
+
protected?: boolean;
|
|
758
|
+
}
|
|
759
|
+
/**
|
|
760
|
+
* Интерфейс коммита
|
|
761
|
+
*/
|
|
762
|
+
interface Commit {
|
|
763
|
+
/** SHA-хеш коммита */
|
|
764
|
+
sha: string;
|
|
765
|
+
/** Node ID коммита */
|
|
766
|
+
node_id?: string;
|
|
767
|
+
/** Информация о коммите */
|
|
768
|
+
commit: {
|
|
769
|
+
/** Автор коммита */
|
|
770
|
+
author: {
|
|
771
|
+
name: string
|
|
772
|
+
email: string
|
|
773
|
+
date: string
|
|
774
|
+
}
|
|
775
|
+
/** Коммиттер */
|
|
776
|
+
committer: {
|
|
777
|
+
name: string
|
|
778
|
+
email: string
|
|
779
|
+
date: string
|
|
780
|
+
}
|
|
781
|
+
/** Сообщение коммита */
|
|
782
|
+
message: string
|
|
783
|
+
/** Дерево коммита */
|
|
784
|
+
tree: {
|
|
785
|
+
sha: string
|
|
786
|
+
url: string
|
|
787
|
+
}
|
|
788
|
+
};
|
|
789
|
+
/** Автор (пользователь GitVerse) */
|
|
790
|
+
author?: User2 | null;
|
|
791
|
+
/** Коммиттер (пользователь GitVerse) */
|
|
792
|
+
committer?: User2 | null;
|
|
793
|
+
/** Родительские коммиты */
|
|
794
|
+
parents: Array<{
|
|
795
|
+
sha: string
|
|
796
|
+
url: string
|
|
797
|
+
html_url: string
|
|
798
|
+
}>;
|
|
799
|
+
/** API-ссылка на коммит */
|
|
800
|
+
url: string;
|
|
801
|
+
/** Веб-ссылка на коммит */
|
|
802
|
+
html_url: string;
|
|
803
|
+
}
|
|
804
|
+
/**
|
|
805
|
+
* Параметры для создания коммита
|
|
806
|
+
*/
|
|
807
|
+
interface CreateCommitParams {
|
|
808
|
+
/** Сообщение коммита */
|
|
809
|
+
message: string;
|
|
810
|
+
/** SHA-хеш дерева */
|
|
811
|
+
tree: string;
|
|
812
|
+
/** SHA-хеши родительских коммитов */
|
|
813
|
+
parents?: string[];
|
|
814
|
+
/** Информация об авторе */
|
|
815
|
+
author?: {
|
|
816
|
+
name: string
|
|
817
|
+
email: string
|
|
818
|
+
date?: string
|
|
819
|
+
};
|
|
820
|
+
/** Информация о коммиттере */
|
|
821
|
+
committer?: {
|
|
822
|
+
name: string
|
|
823
|
+
email: string
|
|
824
|
+
date?: string
|
|
825
|
+
};
|
|
826
|
+
/** GPG подпись */
|
|
827
|
+
signature?: string;
|
|
828
|
+
}
|
|
829
|
+
/**
|
|
830
|
+
* Параметры для обновления репозитория
|
|
831
|
+
*/
|
|
832
|
+
interface UpdateRepositoryParams {
|
|
833
|
+
/** Новое название репозитория */
|
|
834
|
+
name?: string;
|
|
835
|
+
/** Новое описание репозитория */
|
|
836
|
+
description?: string;
|
|
837
|
+
/** Веб-сайт проекта */
|
|
838
|
+
website?: string;
|
|
839
|
+
/** Приватный ли репозиторий */
|
|
840
|
+
private?: boolean;
|
|
841
|
+
/** Разрешены ли issues */
|
|
842
|
+
has_issues?: boolean;
|
|
843
|
+
/** Разрешена ли wiki */
|
|
844
|
+
has_wiki?: boolean;
|
|
845
|
+
/** Ветка по умолчанию */
|
|
846
|
+
default_branch?: string;
|
|
847
|
+
/** Архивирован ли репозиторий */
|
|
848
|
+
archived?: boolean;
|
|
849
|
+
}
|
|
850
|
+
/**
|
|
851
|
+
* Интерфейс результата сравнения веток/коммитов
|
|
852
|
+
*/
|
|
853
|
+
interface CompareResponse {
|
|
854
|
+
/** URL для сравнения */
|
|
855
|
+
url: string;
|
|
856
|
+
/** Веб-ссылка для сравнения */
|
|
857
|
+
html_url: string;
|
|
858
|
+
/** Diff-ссылка */
|
|
859
|
+
diff_url: string;
|
|
860
|
+
/** Patch-ссылка */
|
|
861
|
+
patch_url: string;
|
|
862
|
+
/** Базовый коммит */
|
|
863
|
+
base_commit: Commit;
|
|
864
|
+
/** Сравниваемый коммит */
|
|
865
|
+
merge_base_commit: Commit;
|
|
866
|
+
/** Статус сравнения */
|
|
867
|
+
status: "ahead" | "behind" | "identical" | "diverged";
|
|
868
|
+
/** Количество коммитов впереди */
|
|
869
|
+
ahead_by: number;
|
|
870
|
+
/** Количество коммитов позади */
|
|
871
|
+
behind_by: number;
|
|
872
|
+
/** Общее количество коммитов */
|
|
873
|
+
total_commits: number;
|
|
874
|
+
/** Список коммитов */
|
|
875
|
+
commits: Commit[];
|
|
876
|
+
/** Изменённые файлы */
|
|
877
|
+
files: PullRequestFile[];
|
|
878
|
+
}
|
|
879
|
+
/**
|
|
880
|
+
* Параметры для обновления pull request
|
|
881
|
+
*/
|
|
882
|
+
interface UpdatePullRequestParams {
|
|
883
|
+
/** Новый заголовок */
|
|
884
|
+
title?: string;
|
|
885
|
+
/** Новое описание */
|
|
886
|
+
body?: string;
|
|
887
|
+
/** Новое состояние */
|
|
888
|
+
state?: PullRequestState;
|
|
889
|
+
/** Базовая ветка */
|
|
890
|
+
base?: string;
|
|
891
|
+
/** Можно ли мейнтейнерам модифицировать */
|
|
892
|
+
maintainer_can_modify?: boolean;
|
|
893
|
+
}
|
|
894
|
+
/**
|
|
895
|
+
* Интерфейс файла в pull request
|
|
896
|
+
*/
|
|
897
|
+
interface PullRequestFile {
|
|
898
|
+
/** SHA-хеш файла */
|
|
899
|
+
sha: string;
|
|
900
|
+
/** Имя файла */
|
|
901
|
+
filename: string;
|
|
902
|
+
/** Статус изменения */
|
|
903
|
+
status: "added" | "removed" | "modified" | "renamed" | "copied" | "changed" | "unchanged";
|
|
904
|
+
/** Количество добавленных строк */
|
|
905
|
+
additions: number;
|
|
906
|
+
/** Количество удалённых строк */
|
|
907
|
+
deletions: number;
|
|
908
|
+
/** Общее количество изменений */
|
|
909
|
+
changes: number;
|
|
910
|
+
/** URL для получения содержимого */
|
|
911
|
+
blob_url: string;
|
|
912
|
+
/** Raw URL */
|
|
913
|
+
raw_url: string;
|
|
914
|
+
/** API URL */
|
|
915
|
+
contents_url: string;
|
|
916
|
+
/** Patch для файла */
|
|
917
|
+
patch?: string;
|
|
918
|
+
/** Предыдущее имя файла (для переименованных) */
|
|
919
|
+
previous_filename?: string;
|
|
920
|
+
}
|
|
921
|
+
/**
|
|
922
|
+
* Интерфейс команды (team)
|
|
923
|
+
*/
|
|
924
|
+
interface Team {
|
|
925
|
+
/** Идентификатор команды */
|
|
926
|
+
id: number;
|
|
927
|
+
/** Node ID команды */
|
|
928
|
+
node_id?: string;
|
|
929
|
+
/** Название команды */
|
|
930
|
+
name: string;
|
|
931
|
+
/** Slug команды */
|
|
932
|
+
slug: string;
|
|
933
|
+
/** Описание команды */
|
|
934
|
+
description?: string;
|
|
935
|
+
/** Приватность команды */
|
|
936
|
+
privacy?: "secret" | "closed";
|
|
937
|
+
/** Права доступа */
|
|
938
|
+
permission: "pull" | "push" | "admin";
|
|
939
|
+
/** Количество участников */
|
|
940
|
+
members_count?: number;
|
|
941
|
+
/** Количество репозиториев */
|
|
942
|
+
repos_count?: number;
|
|
943
|
+
/** Организация */
|
|
944
|
+
organization?: {
|
|
945
|
+
login: string
|
|
946
|
+
id: number
|
|
947
|
+
};
|
|
948
|
+
/** Веб-ссылка */
|
|
949
|
+
html_url: string;
|
|
950
|
+
/** API-ссылка */
|
|
951
|
+
url: string;
|
|
952
|
+
}
|
|
953
|
+
/**
|
|
954
|
+
* Интерфейс приглашения в команду
|
|
955
|
+
*/
|
|
956
|
+
interface Invitation {
|
|
957
|
+
/** Идентификатор приглашения */
|
|
958
|
+
id: number;
|
|
959
|
+
/** Приглашённый пользователь */
|
|
960
|
+
login: string;
|
|
961
|
+
/** Email приглашённого */
|
|
962
|
+
email?: string;
|
|
963
|
+
/** Роль */
|
|
964
|
+
role: string;
|
|
965
|
+
/** Дата создания */
|
|
966
|
+
created_at: string;
|
|
967
|
+
/** Приглашающий */
|
|
968
|
+
inviter: User2;
|
|
969
|
+
}
|
|
970
|
+
/**
|
|
971
|
+
* Интерфейс релиза
|
|
972
|
+
*/
|
|
973
|
+
interface Release {
|
|
974
|
+
/** Идентификатор релиза */
|
|
975
|
+
id: number;
|
|
976
|
+
/** Тег релиза */
|
|
977
|
+
tag_name: string;
|
|
978
|
+
/** Целевой коммит */
|
|
979
|
+
target_commitish: string;
|
|
980
|
+
/** Название релиза */
|
|
981
|
+
name: string;
|
|
982
|
+
/** Описание релиза */
|
|
983
|
+
body?: string;
|
|
984
|
+
/** Черновик ли релиз */
|
|
985
|
+
draft: boolean;
|
|
986
|
+
/** Пре-релиз ли */
|
|
987
|
+
prerelease: boolean;
|
|
988
|
+
/** Автор релиза */
|
|
989
|
+
author: User2;
|
|
990
|
+
/** Дата создания */
|
|
991
|
+
created_at: string;
|
|
992
|
+
/** Дата публикации */
|
|
993
|
+
published_at?: string;
|
|
994
|
+
/** Веб-ссылка */
|
|
995
|
+
html_url: string;
|
|
996
|
+
/** API-ссылка */
|
|
997
|
+
url: string;
|
|
998
|
+
/** Ссылка на архив tar.gz */
|
|
999
|
+
tarball_url: string;
|
|
1000
|
+
/** Ссылка на архив zip */
|
|
1001
|
+
zipball_url: string;
|
|
1002
|
+
/** Список ассетов */
|
|
1003
|
+
assets: Asset[];
|
|
1004
|
+
}
|
|
1005
|
+
/**
|
|
1006
|
+
* Параметры для создания релиза
|
|
1007
|
+
*/
|
|
1008
|
+
interface CreateReleaseParams {
|
|
1009
|
+
/** Тег релиза */
|
|
1010
|
+
tag_name: string;
|
|
1011
|
+
/** Целевой коммит (по умолчанию основная ветка) */
|
|
1012
|
+
target_commitish?: string;
|
|
1013
|
+
/** Название релиза */
|
|
1014
|
+
name?: string;
|
|
1015
|
+
/** Описание релиза */
|
|
1016
|
+
body?: string;
|
|
1017
|
+
/** Черновик ли релиз */
|
|
1018
|
+
draft?: boolean;
|
|
1019
|
+
/** Пре-релиз ли */
|
|
1020
|
+
prerelease?: boolean;
|
|
1021
|
+
}
|
|
1022
|
+
/**
|
|
1023
|
+
* Параметры для обновления релиза
|
|
1024
|
+
*/
|
|
1025
|
+
interface UpdateReleaseParams {
|
|
1026
|
+
/** Тег релиза */
|
|
1027
|
+
tag_name?: string;
|
|
1028
|
+
/** Целевой коммит */
|
|
1029
|
+
target_commitish?: string;
|
|
1030
|
+
/** Название релиза */
|
|
1031
|
+
name?: string;
|
|
1032
|
+
/** Описание релиза */
|
|
1033
|
+
body?: string;
|
|
1034
|
+
/** Черновик ли релиз */
|
|
1035
|
+
draft?: boolean;
|
|
1036
|
+
/** Пре-релиз ли */
|
|
1037
|
+
prerelease?: boolean;
|
|
1038
|
+
}
|
|
1039
|
+
/**
|
|
1040
|
+
* Интерфейс ассета релиза
|
|
1041
|
+
*/
|
|
1042
|
+
interface Asset {
|
|
1043
|
+
/** Идентификатор ассета */
|
|
1044
|
+
id: number;
|
|
1045
|
+
/** Название файла */
|
|
1046
|
+
name: string;
|
|
1047
|
+
/** Метка ассета */
|
|
1048
|
+
label?: string;
|
|
1049
|
+
/** Content-Type */
|
|
1050
|
+
content_type: string;
|
|
1051
|
+
/** Состояние ассета */
|
|
1052
|
+
state: "uploaded" | "open";
|
|
1053
|
+
/** Размер в байтах */
|
|
1054
|
+
size: number;
|
|
1055
|
+
/** Количество скачиваний */
|
|
1056
|
+
download_count: number;
|
|
1057
|
+
/** Дата создания */
|
|
1058
|
+
created_at: string;
|
|
1059
|
+
/** Дата обновления */
|
|
1060
|
+
updated_at: string;
|
|
1061
|
+
/** Загрузивший пользователь */
|
|
1062
|
+
uploader: User2;
|
|
1063
|
+
/** URL для скачивания */
|
|
1064
|
+
browser_download_url: string;
|
|
1065
|
+
/** API-ссылка */
|
|
1066
|
+
url: string;
|
|
1067
|
+
}
|
|
1068
|
+
/**
|
|
1069
|
+
* Параметры для загрузки ассета
|
|
1070
|
+
*/
|
|
1071
|
+
interface UploadAssetParams {
|
|
1072
|
+
/** Название файла */
|
|
1073
|
+
name: string;
|
|
1074
|
+
/** Метка ассета */
|
|
1075
|
+
label?: string;
|
|
1076
|
+
/** Содержимое файла */
|
|
1077
|
+
data: ArrayBuffer | Blob;
|
|
1078
|
+
}
|
|
1079
|
+
/**
|
|
1080
|
+
* Интерфейс Git-ссылки (reference)
|
|
1081
|
+
*/
|
|
1082
|
+
interface Reference {
|
|
1083
|
+
/** Имя ссылки (например, refs/heads/main) */
|
|
1084
|
+
ref: string;
|
|
1085
|
+
/** Node ID */
|
|
1086
|
+
node_id?: string;
|
|
1087
|
+
/** API-ссылка */
|
|
1088
|
+
url: string;
|
|
1089
|
+
/** Объект, на который указывает ссылка */
|
|
1090
|
+
object: {
|
|
1091
|
+
type: string
|
|
1092
|
+
sha: string
|
|
1093
|
+
url: string
|
|
1094
|
+
};
|
|
1095
|
+
}
|
|
1096
|
+
/**
|
|
1097
|
+
* Параметры для создания Git-ссылки
|
|
1098
|
+
*/
|
|
1099
|
+
interface CreateRefParams {
|
|
1100
|
+
/** Имя ссылки (например, refs/heads/feature-branch) */
|
|
1101
|
+
ref: string;
|
|
1102
|
+
/** SHA-хеш коммита */
|
|
1103
|
+
sha: string;
|
|
1104
|
+
}
|
|
1105
|
+
/**
|
|
1106
|
+
* Интерфейс Git-дерева
|
|
1107
|
+
*/
|
|
1108
|
+
interface Tree {
|
|
1109
|
+
/** SHA-хеш дерева */
|
|
1110
|
+
sha: string;
|
|
1111
|
+
/** API-ссылка на дерево */
|
|
1112
|
+
url: string;
|
|
1113
|
+
/** Список записей в дереве */
|
|
1114
|
+
tree: TreeEntry[];
|
|
1115
|
+
/** Обрезано ли дерево */
|
|
1116
|
+
truncated: boolean;
|
|
1117
|
+
}
|
|
1118
|
+
/**
|
|
1119
|
+
* Интерфейс записи в Git-дереве
|
|
1120
|
+
*/
|
|
1121
|
+
interface TreeEntry {
|
|
1122
|
+
/** Путь к файлу/директории */
|
|
1123
|
+
path: string;
|
|
1124
|
+
/** Режим доступа */
|
|
1125
|
+
mode: string;
|
|
1126
|
+
/** Тип объекта */
|
|
1127
|
+
type: "blob" | "tree" | "commit";
|
|
1128
|
+
/** SHA-хеш объекта */
|
|
1129
|
+
sha: string;
|
|
1130
|
+
/** Размер (для blob) */
|
|
1131
|
+
size?: number;
|
|
1132
|
+
/** URL объекта */
|
|
1133
|
+
url: string;
|
|
1134
|
+
}
|
|
1135
|
+
/**
|
|
1136
|
+
* Параметры для создания Git-дерева
|
|
1137
|
+
*/
|
|
1138
|
+
interface CreateTreeParams {
|
|
1139
|
+
/** Список записей дерева */
|
|
1140
|
+
tree: Array<{
|
|
1141
|
+
path: string
|
|
1142
|
+
mode: "100644" | "100755" | "040000" | "160000" | "120000"
|
|
1143
|
+
type: "blob" | "tree" | "commit"
|
|
1144
|
+
sha?: string
|
|
1145
|
+
content?: string
|
|
1146
|
+
}>;
|
|
1147
|
+
/** SHA-хеш базового дерева */
|
|
1148
|
+
base_tree?: string;
|
|
1149
|
+
}
|
|
1150
|
+
/**
|
|
1151
|
+
* Интерфейс раннера GitHub Actions
|
|
1152
|
+
*/
|
|
1153
|
+
interface Runner {
|
|
1154
|
+
/** Идентификатор раннера */
|
|
1155
|
+
id: number;
|
|
1156
|
+
/** Название раннера */
|
|
1157
|
+
name: string;
|
|
1158
|
+
/** Операционная система */
|
|
1159
|
+
os: string;
|
|
1160
|
+
/** Статус раннера */
|
|
1161
|
+
status: "online" | "offline";
|
|
1162
|
+
/** Занят ли раннер */
|
|
1163
|
+
busy: boolean;
|
|
1164
|
+
/** Метки раннера */
|
|
1165
|
+
labels: Array<{
|
|
1166
|
+
id: number
|
|
1167
|
+
name: string
|
|
1168
|
+
type: string
|
|
1169
|
+
}>;
|
|
1170
|
+
}
|
|
1171
|
+
/**
|
|
1172
|
+
* Интерфейс секрета GitHub Actions
|
|
1173
|
+
*/
|
|
1174
|
+
interface Secret {
|
|
1175
|
+
/** Название секрета */
|
|
1176
|
+
name: string;
|
|
1177
|
+
/** Дата создания */
|
|
1178
|
+
created_at: string;
|
|
1179
|
+
/** Дата обновления */
|
|
1180
|
+
updated_at: string;
|
|
1181
|
+
}
|
|
1182
|
+
/**
|
|
1183
|
+
* Параметры для создания/обновления секрета
|
|
1184
|
+
*/
|
|
1185
|
+
interface CreateSecretParams {
|
|
1186
|
+
/** Зашифрованное значение */
|
|
1187
|
+
encrypted_value: string;
|
|
1188
|
+
/** ID ключа для шифрования */
|
|
1189
|
+
key_id: string;
|
|
1190
|
+
}
|
|
1191
|
+
/**
|
|
1192
|
+
* Интерфейс переменной GitHub Actions
|
|
1193
|
+
*/
|
|
1194
|
+
interface Variable {
|
|
1195
|
+
/** Название переменной */
|
|
1196
|
+
name: string;
|
|
1197
|
+
/** Значение переменной */
|
|
1198
|
+
value: string;
|
|
1199
|
+
/** Дата создания */
|
|
1200
|
+
created_at: string;
|
|
1201
|
+
/** Дата обновления */
|
|
1202
|
+
updated_at: string;
|
|
1203
|
+
}
|
|
1204
|
+
/**
|
|
1205
|
+
* Параметры для создания переменной
|
|
1206
|
+
*/
|
|
1207
|
+
interface CreateVariableParams {
|
|
1208
|
+
/** Название переменной */
|
|
1209
|
+
name: string;
|
|
1210
|
+
/** Значение переменной */
|
|
1211
|
+
value: string;
|
|
1212
|
+
}
|
|
1213
|
+
/**
|
|
1214
|
+
* Параметры для обновления переменной
|
|
1215
|
+
*/
|
|
1216
|
+
interface UpdateVariableParams {
|
|
1217
|
+
/** Новое название (опционально) */
|
|
1218
|
+
name?: string;
|
|
1219
|
+
/** Новое значение */
|
|
1220
|
+
value?: string;
|
|
1221
|
+
}
|
|
1222
|
+
/**
|
|
1223
|
+
* Интерфейс артефакта GitHub Actions
|
|
1224
|
+
*/
|
|
1225
|
+
interface Artifact {
|
|
1226
|
+
/** Идентификатор артефакта */
|
|
1227
|
+
id: number;
|
|
1228
|
+
/** Node ID артефакта */
|
|
1229
|
+
node_id: string;
|
|
1230
|
+
/** Название артефакта */
|
|
1231
|
+
name: string;
|
|
1232
|
+
/** Размер в байтах */
|
|
1233
|
+
size_in_bytes: number;
|
|
1234
|
+
/** API-ссылка */
|
|
1235
|
+
url: string;
|
|
1236
|
+
/** Ссылка на архив */
|
|
1237
|
+
archive_download_url: string;
|
|
1238
|
+
/** Истёк ли срок действия */
|
|
1239
|
+
expired: boolean;
|
|
1240
|
+
/** Дата создания */
|
|
1241
|
+
created_at: string;
|
|
1242
|
+
/** Дата истечения */
|
|
1243
|
+
expires_at: string;
|
|
1244
|
+
/** Дата обновления */
|
|
1245
|
+
updated_at: string;
|
|
1246
|
+
}
|
|
1247
|
+
/**
|
|
1248
|
+
* Параметры для запуска workflow
|
|
1249
|
+
*/
|
|
1250
|
+
interface DispatchWorkflowParams {
|
|
1251
|
+
/** Ссылка на ветку или тег */
|
|
1252
|
+
ref: string;
|
|
1253
|
+
/** Входные параметры для workflow */
|
|
1254
|
+
inputs?: Record<string, string>;
|
|
1255
|
+
}
|
|
1256
|
+
export { Variable, User2 as User, UploadAssetParams, UpdateVariableParams, UpdateRepositoryParams, UpdateReleaseParams, UpdatePullRequestParams, UpdateFileParams, TreeEntry, Tree, TimelineEvent, Team, Secret, Runner, Repository, RemoveEmailParams, Release, Reference, RateLimitInfo, PullRequestFile, PullRequestBase, PullRequest, Milestone, LanguagesResponse, Label, Issue, Invitation, FileDeletionResponse, FileCreationResponse, FileContent, EmailOperationResponse, Email, DispatchWorkflowParams, DirectoryContent, DeleteFileParams, CurrentUser, CreateVariableParams, CreateTreeParams, CreateSecretParams, CreateRepositoryParams, CreateReleaseParams, CreateRefParams, CreatePullRequestParams, CreateForkParams, CreateFileParams, CreateCommitParams, Content, CompareResponse, CommitInfo, Commit, Comment, Branch, Asset, Artifact, ApiVersionInfo, ApiResponseMetadata, ApiError, AddEmailParams };
|
package/dist/utils.d.ts
CHANGED
|
@@ -36,4 +36,33 @@ declare function parseFileContent(fileContent: {
|
|
|
36
36
|
content?: string
|
|
37
37
|
encoding?: string
|
|
38
38
|
});
|
|
39
|
-
|
|
39
|
+
/**
|
|
40
|
+
* Исправляет дублированный домен в URL (workaround для бага GitVerse API)
|
|
41
|
+
*
|
|
42
|
+
* Проблема: API иногда возвращает URL вида:
|
|
43
|
+
* `https://gitverse.ru/https://gitverse.ru/owner/repo.git`
|
|
44
|
+
*
|
|
45
|
+
* Эта функция исправляет такие URL на корректный вид:
|
|
46
|
+
* `https://gitverse.ru/owner/repo.git`
|
|
47
|
+
*
|
|
48
|
+
* @param url URL для исправления
|
|
49
|
+
* @returns Исправленный URL
|
|
50
|
+
*
|
|
51
|
+
* @see https://gitverse.ru/RainyPixel/gitverse-sdk/issues/XXX - ссылка на issue об этом баге
|
|
52
|
+
*/
|
|
53
|
+
declare function fixDuplicatedUrl(url: string): string;
|
|
54
|
+
/**
|
|
55
|
+
* Исправляет дублированные URL в объекте Repository (workaround для бага GitVerse API)
|
|
56
|
+
*
|
|
57
|
+
* Применяет fixDuplicatedUrl ко всем URL-полям репозитория:
|
|
58
|
+
* - clone_url
|
|
59
|
+
* - html_url
|
|
60
|
+
* - url
|
|
61
|
+
* - git_url
|
|
62
|
+
* - mirror_url
|
|
63
|
+
*
|
|
64
|
+
* @param repo Объект репозитория
|
|
65
|
+
* @returns Репозиторий с исправленными URL
|
|
66
|
+
*/
|
|
67
|
+
declare function fixRepositoryUrls<T extends Record<string, unknown>>(repo: T): T;
|
|
68
|
+
export { updateFileParams, parseFileContent, fixRepositoryUrls, fixDuplicatedUrl, encodeBase64, decodeBase64, createFileParams };
|
package/dist/utils.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
var y=/^[A-Za-z0-9+/=]
|
|
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
3
|
|
|
3
|
-
//# debugId=
|
|
4
|
+
//# debugId=F1BB6E2CA5D979A564756E2164756E21
|