@smwb/onreel-git-mcp 0.7.0 → 0.9.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 +42 -8
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp/index.js +8 -5
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/mcp.types.d.ts +3 -1
- package/dist/mcp/tools.lib.d.ts +5 -3
- package/dist/tracker/http.lib.d.ts +1 -1
- package/dist/tracker/index.js +202 -109
- package/dist/tracker/index.js.map +1 -1
- package/dist/tracker/tracker.const.d.ts +2 -0
- package/dist/tracker/tracker.types.d.ts +20 -0
- package/package.json +1 -1
|
@@ -26,6 +26,8 @@ export declare const CI_LOG_DEFAULT_BYTES: number;
|
|
|
26
26
|
export declare const CI_LOG_MAX_BYTES: number;
|
|
27
27
|
/** Потолок чтения тела лога: дальше поток обрывается, лог — truncated. */
|
|
28
28
|
export declare const CI_LOG_READ_MAX_BYTES: number;
|
|
29
|
+
/** Сколько редиректов проходит один запрос к трекеру; следующий — отказ failed. */
|
|
30
|
+
export declare const TRACKER_REDIRECT_MAX = 5;
|
|
29
31
|
/** Таймаут загрузки лога, мс: логи больше ответов API. */
|
|
30
32
|
export declare const CI_LOG_TIMEOUT_MS = 60000;
|
|
31
33
|
/** Сколько страниц лога SourceCraft читается за один вызов log(). */
|
|
@@ -3,11 +3,17 @@ import type { LocalIssueStore } from '../kernel/store.types.ts';
|
|
|
3
3
|
import type { CiDefinition } from './ci.types.ts';
|
|
4
4
|
import type { PullRequestDefinition } from './pull.types.ts';
|
|
5
5
|
import type { CommentFilter, IssueFilter, IssueSortField } from './tracker.const.ts';
|
|
6
|
+
/**
|
|
7
|
+
* fetch контекста. requestJson и requestText передают redirect: 'manual' и проходят редиректы сами: обёртка
|
|
8
|
+
* потребителя передаёт redirect в свой fetch, иначе за редиректом пойдёт её fetch, а не библиотека. Такой ответ
|
|
9
|
+
* (redirected, адрес на другом origin, opaqueredirect) — отказ failed, а не данные.
|
|
10
|
+
*/
|
|
6
11
|
export type TrackerFetch = (input: string, init?: {
|
|
7
12
|
method?: string;
|
|
8
13
|
headers?: Record<string, string>;
|
|
9
14
|
body?: string;
|
|
10
15
|
signal?: AbortSignal;
|
|
16
|
+
redirect?: 'follow' | 'manual' | 'error';
|
|
11
17
|
}) => Promise<Response>;
|
|
12
18
|
/** Подключение проекта с расшифрованным секретом: живёт только в памяти на время вызова. */
|
|
13
19
|
export type TrackerConnectionData = {
|
|
@@ -119,10 +125,22 @@ export type TrackerDefinition = {
|
|
|
119
125
|
pulls?: PullRequestDefinition | undefined;
|
|
120
126
|
/** CI трекера на том же подключении (D-005); нет — ciAdapterOf отказывает unsupported. */
|
|
121
127
|
ci?: CiDefinition | undefined;
|
|
128
|
+
/**
|
|
129
|
+
* Origin API, к которому адаптер (и его разделы pulls и ci) обращается с токеном подключения, например
|
|
130
|
+
* https://api.github.com. Потребитель привязывает к нему токен: правка url на другой origin — повод спросить
|
|
131
|
+
* токен заново. Неверное подключение — TrackerError, как у create. Нет — трекер не объявил origin (у local
|
|
132
|
+
* сети и токена нет).
|
|
133
|
+
*/
|
|
134
|
+
origin?: ((connection: TrackerConnectionData) => string) | undefined;
|
|
122
135
|
};
|
|
123
136
|
export type TrackerFailure = 'failed' | 'unknown_issue' | 'invalid_request' | 'not_found' | 'unsupported' | 'conflict' | 'rate_limited';
|
|
124
137
|
export type JsonRequest = {
|
|
125
138
|
fetch: TrackerFetch;
|
|
139
|
+
/**
|
|
140
|
+
* Origin API подключения: адрес вне него — отказ invalid_request до запроса. Редирект на чужой origin проходит
|
|
141
|
+
* только для GET и без заголовков запроса (Authorization и свои). Нет — origin самого адреса.
|
|
142
|
+
*/
|
|
143
|
+
origin?: string | undefined;
|
|
126
144
|
method?: 'GET' | 'POST' | 'PUT' | 'PATCH';
|
|
127
145
|
headers?: Record<string, string>;
|
|
128
146
|
body?: unknown;
|
|
@@ -143,6 +161,8 @@ export type JsonResponse = {
|
|
|
143
161
|
/** Запрос текста (лог CI): тело читается потоком, в памяти — только окно keep. */
|
|
144
162
|
export type TextRequest = {
|
|
145
163
|
fetch: TrackerFetch;
|
|
164
|
+
/** Origin API подключения — как у JsonRequest.origin. */
|
|
165
|
+
origin?: string | undefined;
|
|
146
166
|
headers?: Record<string, string> | undefined;
|
|
147
167
|
/** Заголовок accept; по умолчанию text/plain. */
|
|
148
168
|
accept?: string | undefined;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@smwb/onreel-git-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"description": "Библиотека модулей, выделенных из onreel: git-операции и безопасные пути, список файлов worktree, жизненный цикл worktree против порта WorktreeStore, адаптеры трекеров GitHub/GitLab/Jira/SourceCraft/локального и MCP-сервер на stdio",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"git",
|