@smwb/onreel-git-mcp 0.4.0 → 0.5.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 +135 -0
- package/dist/{chunk-L7CPE2SO.js → chunk-AGGJK2XZ.js} +2 -1
- package/dist/{chunk-GPRMI4PG.js → chunk-ZTME4HFD.js} +2 -2
- package/dist/git/index.js +2 -2
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/index.js +1 -1
- package/dist/tracker/ci.lib.d.ts +36 -0
- package/dist/tracker/ci.schema.d.ts +162 -0
- package/dist/tracker/ci.types.d.ts +117 -0
- package/dist/tracker/github-ci.lib.d.ts +2 -0
- package/dist/tracker/gitlab-ci.lib.d.ts +2 -0
- package/dist/tracker/http.lib.d.ts +9 -1
- package/dist/tracker/index.d.ts +6 -0
- package/dist/tracker/index.js +1306 -66
- package/dist/tracker/index.js.map +1 -1
- package/dist/tracker/mapping.const.d.ts +15 -0
- package/dist/tracker/sourcecraft-ci.lib.d.ts +2 -0
- package/dist/tracker/tracker.const.d.ts +12 -0
- package/dist/tracker/tracker.types.d.ts +34 -0
- package/dist/worktree/index.js +2 -2
- package/package.json +1 -1
- /package/dist/{chunk-L7CPE2SO.js.map → chunk-AGGJK2XZ.js.map} +0 -0
- /package/dist/{chunk-GPRMI4PG.js.map → chunk-ZTME4HFD.js.map} +0 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { IssuePriority, IssueStatusCategory } from '../contract/contract.types.ts';
|
|
2
|
+
import type { CiEventCategory, CiStatusCategory } from './ci.schema.ts';
|
|
2
3
|
import type { PullRequestStatusCategory } from './pull.schema.ts';
|
|
3
4
|
/** SourceCraft: системные статусы. На паузе — ещё не закончено, но и не в работе: `open`. */
|
|
4
5
|
export declare const SOURCECRAFT_STATUSES: Readonly<Record<string, IssueStatusCategory>>;
|
|
@@ -35,3 +36,17 @@ export declare const GITLAB_DRAFT_PREFIX = "Draft: ";
|
|
|
35
36
|
export declare const GITLAB_DRAFT_PATTERN: RegExp;
|
|
36
37
|
/** SourceCraft: состояния PR. merging — слияние идёт, PR ещё открыт; discarded — закрыт без слияния. */
|
|
37
38
|
export declare const SOURCECRAFT_PULL_STATUSES: Readonly<Record<string, PullRequestStatusCategory>>;
|
|
39
|
+
/** GitHub: status прогона, задания и шага, пока не completed. */
|
|
40
|
+
export declare const GITHUB_RUN_STATUSES: Readonly<Record<string, CiStatusCategory>>;
|
|
41
|
+
/** GitHub: conclusion при status completed; не найдено — failed. */
|
|
42
|
+
export declare const GITHUB_RUN_CONCLUSIONS: Readonly<Record<string, CiStatusCategory>>;
|
|
43
|
+
/** GitHub: event прогона; не найдено — other. */
|
|
44
|
+
export declare const GITHUB_RUN_EVENTS: Readonly<Record<string, CiEventCategory>>;
|
|
45
|
+
/** GitLab: status пайплайна и задания; canceling — ещё не закончено. */
|
|
46
|
+
export declare const GITLAB_CI_STATUSES: Readonly<Record<string, CiStatusCategory>>;
|
|
47
|
+
/** GitLab: source пайплайна; не найдено — other. */
|
|
48
|
+
export declare const GITLAB_PIPELINE_SOURCES: Readonly<Record<string, CiEventCategory>>;
|
|
49
|
+
/** SourceCraft: status прогона, workflow, задачи и куба. */
|
|
50
|
+
export declare const SOURCECRAFT_CI_STATUSES: Readonly<Record<string, CiStatusCategory>>;
|
|
51
|
+
/** SourceCraft: event_type прогона. */
|
|
52
|
+
export declare const SOURCECRAFT_RUN_EVENTS: Readonly<Record<string, CiEventCategory>>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { CiStatusCategory } from './ci.schema.ts';
|
|
1
2
|
import type { IssueCapabilities } from './tracker.types.ts';
|
|
2
3
|
/** Потолок ожидания ответа внешнего трекера, мс. */
|
|
3
4
|
export declare const TRACKER_TIMEOUT_MS = 15000;
|
|
@@ -20,3 +21,14 @@ export declare const COMMENT_FILTERS: readonly ['updatedAfter'];
|
|
|
20
21
|
export type CommentFilter = (typeof COMMENT_FILTERS)[number];
|
|
21
22
|
/** Возможности трекера без раздела issues (свои трекеры потребителя): статус и страницы, комментарии по порядку. */
|
|
22
23
|
export declare const LEGACY_ISSUE_CAPABILITIES: IssueCapabilities;
|
|
24
|
+
/** Окно лога CI по умолчанию и потолок окна одного вызова, байт (D-006). */
|
|
25
|
+
export declare const CI_LOG_DEFAULT_BYTES: number;
|
|
26
|
+
export declare const CI_LOG_MAX_BYTES: number;
|
|
27
|
+
/** Потолок чтения тела лога: дальше поток обрывается, лог — truncated. */
|
|
28
|
+
export declare const CI_LOG_READ_MAX_BYTES: number;
|
|
29
|
+
/** Таймаут загрузки лога, мс: логи больше ответов API. */
|
|
30
|
+
export declare const CI_LOG_TIMEOUT_MS = 60000;
|
|
31
|
+
/** Сколько страниц лога SourceCraft читается за один вызов log(). */
|
|
32
|
+
export declare const CI_LOG_PAGES_MAX = 50;
|
|
33
|
+
/** Законченные категории CI. */
|
|
34
|
+
export declare const CI_FINISHED_STATUSES: readonly CiStatusCategory[];
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Issue, IssueComment, IssuePriority, IssueStatusCategory, TrackerDescriptor } from '../contract/contract.types.ts';
|
|
2
2
|
import type { LocalIssueStore } from '../kernel/store.types.ts';
|
|
3
|
+
import type { CiDefinition } from './ci.types.ts';
|
|
3
4
|
import type { PullRequestDefinition } from './pull.types.ts';
|
|
4
5
|
import type { CommentFilter, IssueFilter, IssueSortField } from './tracker.const.ts';
|
|
5
6
|
export type TrackerFetch = (input: string, init?: {
|
|
@@ -116,6 +117,8 @@ export type TrackerDefinition = {
|
|
|
116
117
|
issues?: IssueCapabilities | undefined;
|
|
117
118
|
/** Pull request-ы на том же подключении (D-005); нет — трекер их не ведёт. */
|
|
118
119
|
pulls?: PullRequestDefinition | undefined;
|
|
120
|
+
/** CI трекера на том же подключении (D-005); нет — ciAdapterOf отказывает unsupported. */
|
|
121
|
+
ci?: CiDefinition | undefined;
|
|
119
122
|
};
|
|
120
123
|
export type TrackerFailure = 'failed' | 'unknown_issue' | 'invalid_request' | 'not_found' | 'unsupported' | 'conflict' | 'rate_limited';
|
|
121
124
|
export type JsonRequest = {
|
|
@@ -137,3 +140,34 @@ export type JsonResponse = {
|
|
|
137
140
|
body: unknown;
|
|
138
141
|
headers: Headers;
|
|
139
142
|
};
|
|
143
|
+
/** Запрос текста (лог CI): тело читается потоком, в памяти — только окно keep. */
|
|
144
|
+
export type TextRequest = {
|
|
145
|
+
fetch: TrackerFetch;
|
|
146
|
+
headers?: Record<string, string> | undefined;
|
|
147
|
+
/** Заголовок accept; по умолчанию text/plain. */
|
|
148
|
+
accept?: string | undefined;
|
|
149
|
+
/** Пропустить столько байт тела от начала (дочитывание по курсору). */
|
|
150
|
+
skip?: number | undefined;
|
|
151
|
+
/** Сколько байт держать и с какой стороны тела после skip: head — первые, tail — последние (кольцевой буфер). */
|
|
152
|
+
keep: {
|
|
153
|
+
bytes: number;
|
|
154
|
+
from: 'head' | 'tail';
|
|
155
|
+
};
|
|
156
|
+
/** Потолок чтения тела; по умолчанию CI_LOG_READ_MAX_BYTES. */
|
|
157
|
+
readMax?: number | undefined;
|
|
158
|
+
missing?: JsonRequest['missing'];
|
|
159
|
+
/** По умолчанию CI_LOG_TIMEOUT_MS. */
|
|
160
|
+
timeoutMs?: number | undefined;
|
|
161
|
+
};
|
|
162
|
+
export type TextResponse = {
|
|
163
|
+
/** Окно в UTF-8, границы сдвинуты к целым символам. */
|
|
164
|
+
text: string;
|
|
165
|
+
/** Смещение первого и за последним байтом окна от начала тела. */
|
|
166
|
+
start: number;
|
|
167
|
+
end: number;
|
|
168
|
+
/** Сколько байт тела прочитано. */
|
|
169
|
+
read: number;
|
|
170
|
+
/** Тело прочитано до конца (не оборвали по head и не упёрлись в readMax). */
|
|
171
|
+
whole: boolean;
|
|
172
|
+
headers: Headers;
|
|
173
|
+
};
|
package/dist/worktree/index.js
CHANGED
|
@@ -6,14 +6,14 @@ import {
|
|
|
6
6
|
isDirty,
|
|
7
7
|
isGitPoolClosed,
|
|
8
8
|
pruneWorktrees
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-ZTME4HFD.js";
|
|
10
10
|
import {
|
|
11
11
|
checkManagedPath,
|
|
12
12
|
prepareWorktreeParent,
|
|
13
13
|
trashRoot
|
|
14
14
|
} from "../chunk-C6PHNSDC.js";
|
|
15
15
|
import "../chunk-3YP22YLA.js";
|
|
16
|
-
import "../chunk-
|
|
16
|
+
import "../chunk-AGGJK2XZ.js";
|
|
17
17
|
import "../chunk-4ZGRXIVA.js";
|
|
18
18
|
|
|
19
19
|
// src/worktree/lifecycle.const.ts
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@smwb/onreel-git-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Библиотека модулей, выделенных из onreel: git-операции и безопасные пути, список файлов worktree, жизненный цикл worktree против порта WorktreeStore, адаптеры трекеров GitHub/GitLab/Jira/SourceCraft/локального и MCP-сервер на stdio",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"git",
|
|
File without changes
|
|
File without changes
|