gitverse-api-sdk 3.1.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +94 -1
- package/dist/api/actions.d.ts +58 -39
- package/dist/api/actions.js +3 -3
- package/dist/api/actions.js.map +3 -3
- package/dist/api/branches.d.ts +26 -7
- package/dist/api/branches.js +3 -3
- package/dist/api/branches.js.map +3 -3
- package/dist/api/collaborators.d.ts +27 -8
- package/dist/api/collaborators.js +3 -3
- package/dist/api/collaborators.js.map +3 -3
- package/dist/api/commits.d.ts +28 -9
- package/dist/api/commits.js +3 -3
- package/dist/api/commits.js.map +3 -3
- package/dist/api/contents.d.ts +29 -10
- package/dist/api/contents.js +3 -3
- package/dist/api/contents.js.map +3 -3
- package/dist/api/emails.d.ts +28 -9
- package/dist/api/emails.js +3 -3
- package/dist/api/emails.js.map +3 -3
- package/dist/api/forks.d.ts +26 -7
- package/dist/api/forks.js +3 -3
- package/dist/api/forks.js.map +3 -3
- package/dist/api/git.d.ts +28 -9
- package/dist/api/git.js +3 -3
- package/dist/api/git.js.map +3 -3
- package/dist/api/issues.d.ts +31 -12
- package/dist/api/issues.js +3 -3
- package/dist/api/issues.js.map +3 -3
- package/dist/api/organizations.d.ts +26 -7
- package/dist/api/organizations.js +3 -3
- package/dist/api/organizations.js.map +3 -3
- package/dist/api/pulls.d.ts +100 -14
- package/dist/api/pulls.js +3 -3
- package/dist/api/pulls.js.map +3 -3
- package/dist/api/releases.d.ts +35 -16
- package/dist/api/releases.js +3 -3
- package/dist/api/releases.js.map +3 -3
- package/dist/api/repositories.d.ts +32 -13
- package/dist/api/repositories.js +3 -3
- package/dist/api/repositories.js.map +3 -3
- package/dist/api/stars.d.ts +29 -10
- package/dist/api/stars.js +3 -3
- package/dist/api/stars.js.map +3 -3
- package/dist/api/teams.d.ts +29 -10
- package/dist/api/teams.js +3 -3
- package/dist/api/teams.js.map +3 -3
- package/dist/api/users.d.ts +27 -8
- package/dist/api/users.js +3 -3
- package/dist/api/users.js.map +3 -3
- package/dist/client.d.ts +25 -6
- package/dist/client.js +3 -3
- package/dist/client.js.map +3 -3
- package/dist/enums.d.ts +37 -1
- package/dist/enums.js +2 -2
- package/dist/enums.js.map +3 -3
- package/dist/index.d.ts +184 -98
- package/dist/types.d.ts +81 -1
- package/dist/utils.d.ts +1 -1
- package/dist/utils.js.map +1 -1
- package/package.json +2 -2
package/dist/types.d.ts
CHANGED
|
@@ -55,6 +55,42 @@ declare const IssueState: {
|
|
|
55
55
|
*/
|
|
56
56
|
type IssueState = (typeof IssueState)[keyof typeof IssueState];
|
|
57
57
|
/**
|
|
58
|
+
* Фильтры состояний pull request, включая "все"
|
|
59
|
+
*/
|
|
60
|
+
declare const PullRequestStateFilter: {
|
|
61
|
+
readonly All: "all"
|
|
62
|
+
readonly Closed: "closed"
|
|
63
|
+
readonly Open: "open"
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Тип для фильтров состояний pull request
|
|
67
|
+
*/
|
|
68
|
+
type PullRequestStateFilter = (typeof PullRequestStateFilter)[keyof typeof PullRequestStateFilter];
|
|
69
|
+
/**
|
|
70
|
+
* Критерии сортировки pull request
|
|
71
|
+
*/
|
|
72
|
+
declare const PullRequestSortCriteria: {
|
|
73
|
+
readonly Created: "created"
|
|
74
|
+
readonly LongRunning: "long-running"
|
|
75
|
+
readonly Popularity: "popularity"
|
|
76
|
+
readonly Updated: "updated"
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* Тип для критериев сортировки pull request
|
|
80
|
+
*/
|
|
81
|
+
type PullRequestSortCriteria = (typeof PullRequestSortCriteria)[keyof typeof PullRequestSortCriteria];
|
|
82
|
+
/**
|
|
83
|
+
* Направления сортировки pull request
|
|
84
|
+
*/
|
|
85
|
+
declare const PullRequestSortDirection: {
|
|
86
|
+
readonly Ascending: "asc"
|
|
87
|
+
readonly Descending: "desc"
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* Тип для направлений сортировки pull request
|
|
91
|
+
*/
|
|
92
|
+
type PullRequestSortDirection = (typeof PullRequestSortDirection)[keyof typeof PullRequestSortDirection];
|
|
93
|
+
/**
|
|
58
94
|
* Информация о лимитах запросов (Rate Limits)
|
|
59
95
|
*/
|
|
60
96
|
interface RateLimitInfo {
|
|
@@ -90,6 +126,19 @@ interface ApiResponseMetadata {
|
|
|
90
126
|
apiVersion?: ApiVersionInfo;
|
|
91
127
|
}
|
|
92
128
|
/**
|
|
129
|
+
* Опции для выполнения HTTP-запросов
|
|
130
|
+
*/
|
|
131
|
+
interface RequestOptions {
|
|
132
|
+
/**
|
|
133
|
+
* AbortSignal для отмены запроса
|
|
134
|
+
* @example
|
|
135
|
+
* const controller = new AbortController();
|
|
136
|
+
* const promise = client.users.getCurrent({ signal: controller.signal });
|
|
137
|
+
* controller.abort(); // Отменяет запрос
|
|
138
|
+
*/
|
|
139
|
+
signal?: AbortSignal;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
93
142
|
* Интерфейс пользователя
|
|
94
143
|
*/
|
|
95
144
|
interface User2 {
|
|
@@ -559,6 +608,37 @@ interface CreatePullRequestParams {
|
|
|
559
608
|
base: string;
|
|
560
609
|
}
|
|
561
610
|
/**
|
|
611
|
+
* Интерфейс параметров для получения списка pull requests
|
|
612
|
+
*/
|
|
613
|
+
interface ListPullRequestsParams {
|
|
614
|
+
/**
|
|
615
|
+
* Фильтр по состоянию pull request
|
|
616
|
+
*
|
|
617
|
+
* @default "open"
|
|
618
|
+
*/
|
|
619
|
+
state?: PullRequestStateFilter;
|
|
620
|
+
/** Фильтр по ветке-источнику в формате branch, user:branch или user:repo:branch */
|
|
621
|
+
head?: string;
|
|
622
|
+
/** Фильтр по целевой ветке */
|
|
623
|
+
base?: string;
|
|
624
|
+
/**
|
|
625
|
+
* Критерий сортировки
|
|
626
|
+
*
|
|
627
|
+
* @default "created"
|
|
628
|
+
*/
|
|
629
|
+
sort?: PullRequestSortCriteria;
|
|
630
|
+
/**
|
|
631
|
+
* Направление сортировки
|
|
632
|
+
*
|
|
633
|
+
* @default "desc"
|
|
634
|
+
*/
|
|
635
|
+
direction?: PullRequestSortDirection;
|
|
636
|
+
/** Номер страницы (начиная с 1) */
|
|
637
|
+
page?: number;
|
|
638
|
+
/** Количество элементов на странице (максимум 100) */
|
|
639
|
+
per_page?: number;
|
|
640
|
+
}
|
|
641
|
+
/**
|
|
562
642
|
* Интерфейс метки (label) для issues и pull requests
|
|
563
643
|
*/
|
|
564
644
|
interface Label {
|
|
@@ -1253,4 +1333,4 @@ interface DispatchWorkflowParams {
|
|
|
1253
1333
|
/** Входные параметры для workflow */
|
|
1254
1334
|
inputs?: Record<string, string>;
|
|
1255
1335
|
}
|
|
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 };
|
|
1336
|
+
export { Variable, User2 as User, UploadAssetParams, UpdateVariableParams, UpdateRepositoryParams, UpdateReleaseParams, UpdatePullRequestParams, UpdateFileParams, TreeEntry, Tree, TimelineEvent, Team, Secret, Runner, RequestOptions, Repository, RemoveEmailParams, Release, Reference, RateLimitInfo, PullRequestFile, PullRequestBase, PullRequest, Milestone, ListPullRequestsParams, 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
|
@@ -48,7 +48,7 @@ declare function parseFileContent(fileContent: {
|
|
|
48
48
|
* @param url URL для исправления
|
|
49
49
|
* @returns Исправленный URL
|
|
50
50
|
*
|
|
51
|
-
* @see https://gitverse.ru/RainyPixel/gitverse-sdk/
|
|
51
|
+
* @see https://gitverse.ru/RainyPixel/gitverse-sdk/tasktracker/XXX - ссылка на issue об этом баге
|
|
52
52
|
*/
|
|
53
53
|
declare function fixDuplicatedUrl(url: string): string;
|
|
54
54
|
/**
|
package/dist/utils.js.map
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/utils.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
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/
|
|
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
8
|
"debugId": "F1BB6E2CA5D979A564756E2164756E21",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gitverse-api-sdk",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0",
|
|
4
4
|
"description": "Полнофункциональный TypeScript SDK для GitVerse API с поддержкой всех эндпоинтов, обработкой Rate Limits и версионирования",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"gitverse",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
],
|
|
19
19
|
"homepage": "https://gitverse.ru/rainypixel/gitverse-sdk#readme",
|
|
20
20
|
"bugs": {
|
|
21
|
-
"url": "https://gitverse.ru/
|
|
21
|
+
"url": "https://gitverse.ru/RainyPixel/gitverse-sdk/tasktracker"
|
|
22
22
|
},
|
|
23
23
|
"repository": {
|
|
24
24
|
"type": "git",
|