@naparnik/mcp 0.10.14 → 0.10.18
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/CHANGELOG.md +24 -0
- package/README.md +1 -1
- package/dist/{chunk-O3MJ4A3T.js → chunk-O7XB7YJ5.js} +7 -7
- package/dist/cli.js +1 -1
- package/dist/index.d.ts +19 -17
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# Изменения @naparnik/mcp
|
|
2
2
|
|
|
3
|
+
## 0.10.18 — 2026-09-23. Для вас ничего не поменялось
|
|
4
|
+
|
|
5
|
+
В пояснениях расширения поправлено, откуда оно берёт шаги установки и место
|
|
6
|
+
портативного Python. Монтаж идёт как раньше.
|
|
7
|
+
|
|
8
|
+
## 0.10.17 — 2026-09-23. Для вас ничего не поменялось
|
|
9
|
+
|
|
10
|
+
Внутри движка форма выбора, проверки, каталог умений, командная строка и
|
|
11
|
+
общий код монтажа разложены по своим папкам, и в пояснениях расширения
|
|
12
|
+
поправлены ссылки на них. Монтаж идёт как раньше, только первый после
|
|
13
|
+
обновления — дольше обычного, один раз.
|
|
14
|
+
|
|
15
|
+
## 0.10.16 — 2026-09-23. Для вас ничего не поменялось
|
|
16
|
+
|
|
17
|
+
Внутри движка стиль, звук, герой, запись экрана и установка разложены по своим
|
|
18
|
+
папкам, и в пояснениях расширения поправлены ссылки на них. Монтаж идёт как
|
|
19
|
+
раньше, только первый после обновления — дольше обычного, один раз.
|
|
20
|
+
|
|
21
|
+
## 0.10.15 — 2026-09-23. Для вас ничего не поменялось
|
|
22
|
+
|
|
23
|
+
Внутри движка файлы разложены по папкам, и в пояснениях расширения поправлены
|
|
24
|
+
ссылки на них. Монтаж идёт как раньше, только первый после обновления —
|
|
25
|
+
дольше обычного, один раз.
|
|
26
|
+
|
|
3
27
|
## 0.10.14 — 2026-09-23. Для вас ничего не поменялось
|
|
4
28
|
|
|
5
29
|
Внутри движка переложены общие файлы, и в пояснениях расширения поправлены
|
package/README.md
CHANGED
|
@@ -227,7 +227,7 @@ Desktop подставляет незаполненное поле настро
|
|
|
227
227
|
портативная сборка в `<дом>/bin/python` → системный. Список мест внутри
|
|
228
228
|
портативной сборки существует в двух копиях (иначе питон не найти, не имея
|
|
229
229
|
питона) и сверяется тестом `src/engine.test.ts`, который читает
|
|
230
|
-
`client/engine/
|
|
230
|
+
`client/engine/media/ffmpeg.py`.
|
|
231
231
|
|
|
232
232
|
## Оболочка и начинка обновляются порознь
|
|
233
233
|
|
|
@@ -720,7 +720,7 @@ function parsePositiveInt(raw, fallback) {
|
|
|
720
720
|
}
|
|
721
721
|
|
|
722
722
|
// src/version.ts
|
|
723
|
-
var VERSION = "0.10.
|
|
723
|
+
var VERSION = "0.10.18";
|
|
724
724
|
var USER_AGENT = `naparnik-mcp/${VERSION}`;
|
|
725
725
|
var MIN_ENGINE = "2026.09.19-355";
|
|
726
726
|
var LAUNCHER_PROTOCOL = 1;
|
|
@@ -1155,7 +1155,7 @@ var LONG_STEPS = /* @__PURE__ */ new Set([
|
|
|
1155
1155
|
"model",
|
|
1156
1156
|
// ⚠ Распознавание речи, вырез героя и чистка голоса весят вместе больше
|
|
1157
1157
|
// двух гигабайт, и с 2026-09-10 НИ ОДИН из них не входит в `all` (решение
|
|
1158
|
-
// владельца, `install.py`, `SEPARATE_JOBS`). Зовут их поимённо и по просьбе,
|
|
1158
|
+
// владельца, `setup/install.py`, `SEPARATE_JOBS`). Зовут их поимённо и по просьбе,
|
|
1159
1159
|
// а ждать по ним столько же, сколько раньше ждали модель речи.
|
|
1160
1160
|
"cutout",
|
|
1161
1161
|
"voice",
|
|
@@ -17195,7 +17195,7 @@ function planTool(engine, key) {
|
|
|
17195
17195
|
"\u041F\u0430\u043F\u043A\u0430 \u043F\u0430\u043A\u0430 \u0444\u0438\u0440\u043C\u0435\u043D\u043D\u043E\u0433\u043E \u0441\u0442\u0438\u043B\u044F: \u0447\u0435\u0440\u043D\u043E\u0432\u0438\u043A \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044F \u0442\u0430\u043A, \u043A\u0430\u043A \u0435\u0433\u043E \u043F\u043E\u0442\u043E\u043C \u0441\u043E\u0431\u0435\u0440\u0443\u0442"
|
|
17196
17196
|
).optional(),
|
|
17197
17197
|
// ⚠ ТАБЛИЦЫ ВКУСА НАЗВАНЫ ПРИМЕРОМ НАРОЧНО. Дверь к ним открыта движком
|
|
17198
|
-
// (`engine/
|
|
17198
|
+
// (`engine/catalog/handbook.py`, корень `taste`), но модель о них не узнает ниоткуда:
|
|
17199
17199
|
// черновик называет их не всегда, а решение владельца 2026-09-18 разрешило
|
|
17200
17200
|
// ей писать план ролика целиком — и числа для него она обязана брать из
|
|
17201
17201
|
// наших замеров, а не из головы. Про «по одной-две за вызов» сказано тут
|
|
@@ -17304,7 +17304,7 @@ function opSchema() {
|
|
|
17304
17304
|
// ⚠ У ЭТИХ ДВУХ СТРОК ПЛАНА НЕТ ИМЕНИ ВСТАВКИ, ПОЭТОМУ И ПОЯВИЛОСЬ ОТДЕЛЬНОЕ
|
|
17305
17305
|
// ПОЛЕ. Вставку человек убирает по её имени (`remove`, `chips-1`), а
|
|
17306
17306
|
// субтитры и звуковые удары — это сами себе строка плана, целиком
|
|
17307
|
-
// (`engine/
|
|
17307
|
+
// (`engine/brief.py`, `PARTS`).
|
|
17308
17308
|
what: external_exports.string().describe(
|
|
17309
17309
|
"part: \u043A\u0430\u043A\u0443\u044E \u0441\u0442\u0440\u043E\u043A\u0443 \u043F\u043B\u0430\u043D\u0430 \u0432\u044B\u0447\u0435\u0440\u043A\u043D\u0443\u0442\u044C \u0438\u043B\u0438 \u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0446\u0435\u043B\u0438\u043A\u043E\u043C \u2014 subtitles | sfx"
|
|
17310
17310
|
).optional(),
|
|
@@ -18762,7 +18762,7 @@ function chooseWidgetHtml() {
|
|
|
18762
18762
|
\u0412\u042B\u0421\u041E\u0422\u042B \u0421\u0410\u041C\u041E\u0419 \u0420\u0410\u041C\u041A\u0418, \u2014 \u0430 \u0440\u0430\u043C\u043A\u0430 \u043E\u0431\u044A\u044F\u0432\u043B\u0435\u043D\u0430 \u043C\u0435\u0440\u043D\u044B\u043C \u044F\u0449\u0438\u043A\u043E\u043C (container-type).
|
|
18763
18763
|
\u041F\u0440\u043E\u0446\u0435\u043D\u0442\u044B \u043E\u0442 \u0448\u0438\u0440\u0438\u043D\u044B \u0442\u0443\u0442 \u043D\u0435 \u0433\u043E\u0434\u044F\u0442\u0441\u044F: \u043A\u0430\u0434\u0440 9:16, \u0438 \u043F\u043E \u0433\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u0438 \u0441
|
|
18764
18764
|
\u0432\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u044C\u044E \u043E\u043D\u0438 \u0440\u0430\u0437\u043D\u044B\u0435.
|
|
18765
|
-
\u26A0 \u0422\u0415\u041D\u042C, \u0410 \u041D\u0415 \u041E\u0411\u0412\u041E\u0414\u041A\u0410: \u0432 \u0440\u043E\u043B\u0438\u043A\u0435 \u043F\u043E\u0434 \u0441\u0442\u0440\u043E\u043A\u043E\u0439 \u043C\u044F\u0433\u043A\u0438\u0439 \u043E\u0440\u0435\u043E\u043B (engine/halo.py),
|
|
18765
|
+
\u26A0 \u0422\u0415\u041D\u042C, \u0410 \u041D\u0415 \u041E\u0411\u0412\u041E\u0414\u041A\u0410: \u0432 \u0440\u043E\u043B\u0438\u043A\u0435 \u043F\u043E\u0434 \u0441\u0442\u0440\u043E\u043A\u043E\u0439 \u043C\u044F\u0433\u043A\u0438\u0439 \u043E\u0440\u0435\u043E\u043B (engine/look/halo.py),
|
|
18766
18766
|
\u0438 \u043F\u0440\u0435\u0432\u044C\u044E \u043E\u0431\u044F\u0437\u0430\u043D\u043E \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0442\u043E \u0436\u0435 \u2014 \u043E\u0431\u0432\u043E\u0434\u043A\u0430 \u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044F \u043A\u0430\u043A \u0441\u0430\u043C\u043E\u0434\u0435\u043B\u043A\u0430. */
|
|
18767
18767
|
.stage__frame { container-type: size; }
|
|
18768
18768
|
/* \u26A0 \u0425\u041E\u041B\u0421\u0422 \u041B\u041E\u0416\u0418\u0422\u0421\u042F \u041F\u041E\u0412\u0415\u0420\u0425 \u041A\u0410\u0414\u0420\u0410, \u0410 \u041D\u0415 \u0412\u041C\u0415\u0421\u0422\u041E \u041D\u0415\u0413\u041E. \u041F\u043E\u043A\u0430 \u0444\u0438\u043B\u044C\u0442\u0440 \u043D\u0435 \u0432\u044B\u0431\u0440\u0430\u043D \u0438
|
|
@@ -18791,7 +18791,7 @@ function chooseWidgetHtml() {
|
|
|
18791
18791
|
line-height: 1;
|
|
18792
18792
|
/* \u26A0 \u0422\u0415\u041D\u042C \u041C\u042F\u0413\u041A\u0410\u042F \u0418 \u041F\u041E\u0427\u0422\u0418 \u041F\u0420\u041E\u0417\u0420\u0410\u0427\u041D\u0410\u042F, \u0410 \u041D\u0415 \u041E\u0411\u0412\u041E\u0414\u041A\u0410 \u041F\u041E\u0414 \u0412\u0418\u0414\u041E\u041C \u0422\u0415\u041D\u0418. \u041F\u043B\u043E\u0442\u043D\u044B\u0435
|
|
18793
18793
|
\u0441\u043B\u043E\u0438 \u0447\u0438\u0442\u0430\u043B\u0438\u0441\u044C \u043A\u0430\u043A \u043A\u043E\u043D\u0442\u0443\u0440 \u0432\u043E\u043A\u0440\u0443\u0433 \u0431\u0443\u043A\u0432 \u2014 \u0440\u043E\u0432\u043D\u043E \u0442\u043E, \u0447\u0435\u0433\u043E \u0432 \u0440\u043E\u043B\u0438\u043A\u0435 \u043D\u0435\u0442:
|
|
18794
|
-
\u0434\u0432\u0438\u0436\u043E\u043A \u043A\u043B\u0430\u0434\u0451\u0442 \u0447\u0435\u0442\u044B\u0440\u0435 \u0440\u0430\u0437\u043C\u044B\u0442\u044B\u0445 \u0441\u043B\u043E\u044F \u0441 \u043C\u0430\u043B\u043E\u0439 \u0441\u0438\u043B\u043E\u0439 (engine/halo.py).
|
|
18794
|
+
\u0434\u0432\u0438\u0436\u043E\u043A \u043A\u043B\u0430\u0434\u0451\u0442 \u0447\u0435\u0442\u044B\u0440\u0435 \u0440\u0430\u0437\u043C\u044B\u0442\u044B\u0445 \u0441\u043B\u043E\u044F \u0441 \u043C\u0430\u043B\u043E\u0439 \u0441\u0438\u043B\u043E\u0439 (engine/look/halo.py).
|
|
18795
18795
|
\u041F\u0440\u0430\u0432\u043B\u0435\u043D\u043E \u0434\u0432\u0430\u0436\u0434\u044B \u043F\u043E \u043E\u0442\u0431\u0440\u0430\u043A\u043E\u0432\u043A\u0435 \u0432\u043B\u0430\u0434\u0435\u043B\u044C\u0446\u0430 (2026-09-13 \u0438 2026-09-15:
|
|
18796
18796
|
\xAB\u0442\u0435\u043D\u0438 \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0437\u0430\u043C\u0435\u0442\u043D\u044B\u0435, \u043D\u0430\u0434\u043E \u0431\u043E\u043B\u044C\u0448\u0435 \u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u043E\u0441\u0442\u0438\xBB). */
|
|
18797
18797
|
text-shadow:
|
|
@@ -19656,7 +19656,7 @@ function chooseWidgetHtml() {
|
|
|
19656
19656
|
}
|
|
19657
19657
|
|
|
19658
19658
|
// \u0421\u043B\u0443\u0436\u0435\u0431\u043D\u044B\u0435 \u0441\u043B\u043E\u0432\u0430 \u0433\u043B\u0430\u0432\u043D\u044B\u043C\u0438 \u043D\u0435 \u0431\u044B\u0432\u0430\u044E\u0442 \u2014 \u0442\u043E \u0436\u0435 \u043F\u0440\u0430\u0432\u0438\u043B\u043E, \u0447\u0442\u043E \u0432 \u0434\u0432\u0438\u0436\u043A\u0435
|
|
19659
|
-
// (lib/layout.py \u0432 \u043F\u0430\u043A\u0435): \xAB\u0427\u0422\u041E\u0411\u042B\xBB \u0432\u043E \u0432\u0435\u0441\u044C \u043A\u0430\u0434\u0440 \u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044F \u043A\u0430\u043A \u043E\u0448\u0438\u0431\u043A\u0430 \u0432\u0451\u0440\u0441\u0442\u043A\u0438.
|
|
19659
|
+
// (lib/captions/layout.py \u0432 \u043F\u0430\u043A\u0435): \xAB\u0427\u0422\u041E\u0411\u042B\xBB \u0432\u043E \u0432\u0435\u0441\u044C \u043A\u0430\u0434\u0440 \u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044F \u043A\u0430\u043A \u043E\u0448\u0438\u0431\u043A\u0430 \u0432\u0451\u0440\u0441\u0442\u043A\u0438.
|
|
19660
19660
|
var SMALL_WORDS = (' \u0430 \u043D\u043E \u0438 \u0438\u043B\u0438 \u0434\u0430 \u0436\u0435 \u043B\u0438 \u0431\u044B \u043D\u0435 \u043D\u0438 \u0432 \u0432\u043E \u043D\u0430 \u0437\u0430 \u043D\u0430\u0434 \u043F\u043E\u0434 \u043E\u0442 \u0434\u043E \u043F\u043E \u0438\u0437 \u0443 \u043A \u0441 \u0441\u043E \u043E \u043E\u0431 '
|
|
19661
19661
|
+ '\u043F\u0440\u043E \u0434\u043B\u044F \u043F\u0440\u0438 \u0431\u0435\u0437 \u0447\u0435\u0440\u0435\u0437 \u043C\u0435\u0436\u0434\u0443 \u0442\u043E \u0442\u043E\u0442 \u0442\u0430 \u0442\u0435 \u044D\u0442\u043E \u044D\u0442\u0438 \u044D\u0442\u043E\u0442 \u043A\u0430\u043A \u0447\u0442\u043E \u0447\u0435\u043C \u0447\u0442\u043E\u0431\u044B \u0435\u0441\u043B\u0438 \u043A\u043E\u0433\u0434\u0430 \u0433\u0434\u0435 '
|
|
19662
19662
|
+ '\u0442\u0430\u043C \u0442\u0443\u0442 \u0443\u0436\u0435 \u0435\u0449\u0451 \u0435\u0449\u0435 \u0432\u043E\u0442 \u0442\u0430\u043A \u0432\u044B \u0442\u044B \u043C\u044B \u043E\u043D \u043E\u043D\u0430 \u043E\u043D\u0438 \u044F \u043C\u043D\u0435 \u0442\u0435\u0431\u0435 ').split(' ');
|
package/dist/cli.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { Engine, chooseBody, handOverToBody, VERSION, rollback, rollbackShell, remove, fromNpxCache, install, keyFromBlock, readConfig, ForeignBlockError, currentMachineFingerprint, McpServer, buildAll, buildResources, StdioServerTransport, fromHost, WHERE_TO_GET_KEY, updateEngine, installStep, NaparnikApiClient, timeToCheck2, manifestUrlFor, fetchManifest, markChecked2, decide, shellDir, timeToCheck, bundleUrlFor, fetchShellManifest, markChecked, decideShell, installedShell, NaparnikConfigError } from './chunk-
|
|
2
|
+
import { Engine, chooseBody, handOverToBody, VERSION, rollback, rollbackShell, remove, fromNpxCache, install, keyFromBlock, readConfig, ForeignBlockError, currentMachineFingerprint, McpServer, buildAll, buildResources, StdioServerTransport, fromHost, WHERE_TO_GET_KEY, updateEngine, installStep, NaparnikApiClient, timeToCheck2, manifestUrlFor, fetchManifest, markChecked2, decide, shellDir, timeToCheck, bundleUrlFor, fetchShellManifest, markChecked, decideShell, installedShell, NaparnikConfigError } from './chunk-O7XB7YJ5.js';
|
|
3
3
|
import { fileURLToPath } from 'url';
|
|
4
4
|
import { realpathSync, readFileSync } from 'fs';
|
|
5
5
|
|
package/dist/index.d.ts
CHANGED
|
@@ -122,12 +122,13 @@ declare class NaparnikApiClient {
|
|
|
122
122
|
/**
|
|
123
123
|
* Где внутри распакованной портативной сборки лежит сам интерпретатор.
|
|
124
124
|
*
|
|
125
|
-
* ⚠ ТРИ ВАРИАНТА, А НЕ ДВА, И РОВНО ТЕ ЖЕ, ЧТО У
|
|
126
|
-
*
|
|
125
|
+
* ⚠ ТРИ ВАРИАНТА, А НЕ ДВА, И РОВНО ТЕ ЖЕ, ЧТО У ДВИЖКА. Источник правды —
|
|
126
|
+
* `engine/shell-contract.json` → `portable_python.inside`: оттуда их берёт и
|
|
127
|
+
* питон (`engine/setup/python_finder.py`). Копия здесь неизбежна — питон мы
|
|
127
128
|
* ищем ДО того, как есть чем запустить питон, — но прошлая копия знала два
|
|
128
129
|
* варианта из трёх: на сборке, где внутри лежит только `bin/python`, движок
|
|
129
|
-
* питон видел, а сервер MCP нет.
|
|
130
|
-
* (`engine.test.ts`)
|
|
130
|
+
* питон видел, а сервер MCP нет. Правится сначала JSON, потом сюда; расхождение
|
|
131
|
+
* ловит тест границы (`engine.test.ts`) сверкой с этим JSON.
|
|
131
132
|
*/
|
|
132
133
|
declare const INSIDE_PYTHON: string[];
|
|
133
134
|
/** Дом по умолчанию — ровно тот же литерал, что в `engine/kit/home.py`. */
|
|
@@ -146,12 +147,13 @@ declare const LONG_STEPS: Set<string>;
|
|
|
146
147
|
/**
|
|
147
148
|
* Все шаги установки, которые понимает движок.
|
|
148
149
|
*
|
|
149
|
-
* ⚠ ЭТО ЗЕРКАЛО `
|
|
150
|
+
* ⚠ ЭТО ЗЕРКАЛО `STEPS` движка, и оно уже один раз разошлось: движок печатал
|
|
150
151
|
* «Шаг установки „вырез“», а здешний список о таком шаге не знал — клиент
|
|
151
152
|
* оказывался в тупике, потому что инструмент не принимал значение, которое
|
|
152
|
-
* движок сам же и назвал.
|
|
153
|
-
*
|
|
154
|
-
*
|
|
153
|
+
* движок сам же и назвал. Источник правды — `engine/shell-contract.json` →
|
|
154
|
+
* `install_steps`: оттуда `STEPS` берёт и `setup/install.py`. Правится сверху
|
|
155
|
+
* вниз: сначала JSON, потом сюда. Расхождение сторожит `engine.test.ts` сверкой
|
|
156
|
+
* с этим JSON.
|
|
155
157
|
*/
|
|
156
158
|
declare const INSTALL_STEPS: string[];
|
|
157
159
|
/**
|
|
@@ -162,12 +164,12 @@ declare const INSTALL_STEPS: string[];
|
|
|
162
164
|
* прибита строкой "scripts/edit.py".
|
|
163
165
|
*/
|
|
164
166
|
/**
|
|
165
|
-
* ⚠
|
|
166
|
-
*
|
|
167
|
-
* Переименование здесь ничего не меняет на той стороне:
|
|
168
|
-
* перестала бы находить поля и объявила бы «паспорт не
|
|
169
|
-
*
|
|
170
|
-
*
|
|
167
|
+
* ⚠ ИМЕНА ПОЛЕЙ — ОТВЕТ ПИТОНА, А НЕ НАШ ОБЪЕКТ. Паспорт печатает движок
|
|
168
|
+
* монтажа (`engine/passport.py` → `as_json`, команда `pack-description`), и
|
|
169
|
+
* имена полей — его. Переименование здесь ничего не меняет на той стороне:
|
|
170
|
+
* оболочка просто перестала бы находить поля и объявила бы «паспорт не
|
|
171
|
+
* прочитан» на каждом запуске. Поля, несущие имена, сверяет с настоящими
|
|
172
|
+
* `pack.json` и рецептом `tool-declaration.test.ts`.
|
|
171
173
|
*/
|
|
172
174
|
interface PackPassport {
|
|
173
175
|
'name': string;
|
|
@@ -432,7 +434,7 @@ declare class Engine {
|
|
|
432
434
|
* Ключ подписки — ТОЛЬКО этому запуску, не общей среде питона.
|
|
433
435
|
*
|
|
434
436
|
* ⚠ БЕЗ НЕГО МОНТАЖ ОТКАЗЫВАЕТ КАЖДОМУ ПЛАТЯЩЕМУ. С 2026-09-09 движок
|
|
435
|
-
* спрашивает подписку сам (`client/engine/subscription.py`) и берёт ключ
|
|
437
|
+
* спрашивает подписку сам (`client/engine/account/subscription.py`) и берёт ключ
|
|
436
438
|
* из `NAPARNIK_API_KEY`, а `pythonEnv()` его оттуда вычищает намеренно:
|
|
437
439
|
* иначе ключ уезжает в каждого потомка питона — ffmpeg, pip, чужой код
|
|
438
440
|
* пака. Поэтому не «вернуть ключ в среду», а доложить его точечно, ровно
|
|
@@ -1307,9 +1309,9 @@ declare class NaparnikConfigError extends NaparnikError {
|
|
|
1307
1309
|
* годится ли она для новой начинки: разойдись она с пакетом, и в логах будет
|
|
1308
1310
|
* стоять чужое число, а обновление начнёт считать оболочку не той.
|
|
1309
1311
|
*/
|
|
1310
|
-
declare const VERSION = "0.10.
|
|
1312
|
+
declare const VERSION = "0.10.18";
|
|
1311
1313
|
/** Как мы представляемся серверу Напарника. По нему в логах видно оболочку. */
|
|
1312
|
-
declare const USER_AGENT = "naparnik-mcp/0.10.
|
|
1314
|
+
declare const USER_AGENT = "naparnik-mcp/0.10.18";
|
|
1313
1315
|
/**
|
|
1314
1316
|
* Самая старая начинка (движок монтажа), с которой эта оболочка работает.
|
|
1315
1317
|
* Обновление начинки ниже этой версии не ставится, а выше — требует оболочки
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { DEFAULT_HOME, DeliveryError, Engine, ForeignBlockError, INSIDE_PYTHON, INSTALL_STEPS, KEEP_COPIES, KEEP_VERSIONS, LONG_STEPS, MANIFEST_TIMEOUT_MS, MANIFEST_URL, MARKER, MIN_ENGINE, NaparnikApiClient, NaparnikAuthError, NaparnikClientError, NaparnikConfigError, NaparnikError, NaparnikInsufficientBalanceError, NaparnikScopeError, NaparnikServerError, NaparnikTimeoutError, PAUSE_HOURS, SERVER_NAME, SOURCES_FILE, START_SEC, TOOL_SEC, USER_AGENT, VERSION, buildAll, buildBlock, buildResources, compare, configPath, decide, defineTool, deploy, downloadFile, fetchManifest, fileOrRefusal, findBlock, fromNpxCache, inside, install, installPayload, installPython, jsonSchemaOf, keyInTable, lastLine, loadConfig, markChecked2 as markChecked, markCurrent, parseEngineManifest, parseFailure, path, platformKey, previousVersion, probe, pythonSource, refusalFor, remove, rollback, tarEntries, tidyOld, timeToCheck2 as timeToCheck, unpackArchive, withArgs } from './chunk-
|
|
1
|
+
export { DEFAULT_HOME, DeliveryError, Engine, ForeignBlockError, INSIDE_PYTHON, INSTALL_STEPS, KEEP_COPIES, KEEP_VERSIONS, LONG_STEPS, MANIFEST_TIMEOUT_MS, MANIFEST_URL, MARKER, MIN_ENGINE, NaparnikApiClient, NaparnikAuthError, NaparnikClientError, NaparnikConfigError, NaparnikError, NaparnikInsufficientBalanceError, NaparnikScopeError, NaparnikServerError, NaparnikTimeoutError, PAUSE_HOURS, SERVER_NAME, SOURCES_FILE, START_SEC, TOOL_SEC, USER_AGENT, VERSION, buildAll, buildBlock, buildResources, compare, configPath, decide, defineTool, deploy, downloadFile, fetchManifest, fileOrRefusal, findBlock, fromNpxCache, inside, install, installPayload, installPython, jsonSchemaOf, keyInTable, lastLine, loadConfig, markChecked2 as markChecked, markCurrent, parseEngineManifest, parseFailure, path, platformKey, previousVersion, probe, pythonSource, refusalFor, remove, rollback, tarEntries, tidyOld, timeToCheck2 as timeToCheck, unpackArchive, withArgs } from './chunk-O7XB7YJ5.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@naparnik/mcp",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.18",
|
|
4
4
|
"description": "MCP-сервер Напарника: монтаж вертикального видео на машине пользователя — паузы, субтитры, герой на новом фоне, звук. Видео никуда не уезжает.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"private": false,
|