@naparnik/mcp 0.10.41 → 0.10.43
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 +16 -0
- package/dist/{chunk-EOGD2CRG.js → chunk-DQDZKXDU.js} +160 -90
- package/dist/cli.js +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Изменения @naparnik/mcp
|
|
2
2
|
|
|
3
|
+
## 0.10.43 — 2026-09-24. Пять версий для пробного режима
|
|
4
|
+
|
|
5
|
+
Скажи «сделай ещё 5 для пробного режима» — после основного ролика монтаж
|
|
6
|
+
соберёт пять версий. Речь и резы те же, а движение, время вставок и их
|
|
7
|
+
места разные. Цвет меняется, только если попросишь.
|
|
8
|
+
|
|
9
|
+
Монтаж стал быстрее, а компьютер при этом не подвисает.
|
|
10
|
+
|
|
11
|
+
## 0.10.42 — 2026-09-24. Карточка говорит проще
|
|
12
|
+
|
|
13
|
+
Под проверкой пять строк вместо десяти: монтаж, субтитры, графика и
|
|
14
|
+
анимация, замена фона, чистка голоса. Сверху сразу видно, всё ли готово
|
|
15
|
+
или сколько нужно скачать. Чтобы докачать, просто напиши «скачай».
|
|
16
|
+
|
|
17
|
+
Пока идёт установка, наверху написано, что ставится: «Ставлю субтитры».
|
|
18
|
+
|
|
3
19
|
## 0.10.41 — 2026-09-24. Новый файл из бота не выключает монтаж раньше времени
|
|
4
20
|
|
|
5
21
|
Взяли в боте новый файл — прежняя установка работает, пока вы его не
|
|
@@ -673,6 +673,7 @@ function describeFailure(err) {
|
|
|
673
673
|
|
|
674
674
|
// src/key-source.ts
|
|
675
675
|
var KEY_SOURCE_BOT = "t.me/ai_montazh_bot";
|
|
676
|
+
var KEY_SOURCE_HANDLE = `@${KEY_SOURCE_BOT.split("/").pop() ?? ""}`;
|
|
676
677
|
var WHERE_TO_GET_KEY = `\u041A\u043B\u044E\u0447 \u0432\u044B\u0434\u0430\u0451\u0442 \u0431\u043E\u0442 \u043F\u043E\u0434\u043F\u0438\u0441\u043A\u0438 ${KEY_SOURCE_BOT} \u2014 \u043D\u0430\u043F\u0438\u0448\u0438\u0442\u0435 \u0435\u043C\u0443 \xAB\u041F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u043A\u043B\u044E\u0447\xBB.`;
|
|
677
678
|
|
|
678
679
|
// src/config.ts
|
|
@@ -727,9 +728,9 @@ function parsePositiveInt(raw, fallback) {
|
|
|
727
728
|
}
|
|
728
729
|
|
|
729
730
|
// src/version.ts
|
|
730
|
-
var VERSION = "0.10.
|
|
731
|
+
var VERSION = "0.10.43";
|
|
731
732
|
var USER_AGENT = `naparnik-mcp/${VERSION}`;
|
|
732
|
-
var MIN_ENGINE = "2026.09.24-
|
|
733
|
+
var MIN_ENGINE = "2026.09.24-466";
|
|
733
734
|
var LAUNCHER_PROTOCOL = 1;
|
|
734
735
|
|
|
735
736
|
// src/contracts/sdk-headers.ts
|
|
@@ -15838,6 +15839,21 @@ function empty() {
|
|
|
15838
15839
|
function startedJob(o) {
|
|
15839
15840
|
return { ...empty(), id: o.id, what: o.what, ahead: o.ahead, message: o.message };
|
|
15840
15841
|
}
|
|
15842
|
+
var INSTALL_TITLES = {
|
|
15843
|
+
all: "\u0421\u0442\u0430\u0432\u043B\u044E \u043C\u043E\u043D\u0442\u0430\u0436",
|
|
15844
|
+
check: "\u041F\u0440\u043E\u0432\u0435\u0440\u044F\u044E",
|
|
15845
|
+
python: "\u0421\u0442\u0430\u0432\u043B\u044E \u043C\u043E\u043D\u0442\u0430\u0436",
|
|
15846
|
+
ffmpeg: "\u0421\u0442\u0430\u0432\u043B\u044E \u043C\u043E\u043D\u0442\u0430\u0436",
|
|
15847
|
+
env: "\u0421\u0442\u0430\u0432\u043B\u044E \u043C\u043E\u043D\u0442\u0430\u0436",
|
|
15848
|
+
model: "\u0421\u0442\u0430\u0432\u043B\u044E \u0441\u0443\u0431\u0442\u0438\u0442\u0440\u044B",
|
|
15849
|
+
browser: "\u0421\u0442\u0430\u0432\u043B\u044E \u0433\u0440\u0430\u0444\u0438\u043A\u0443",
|
|
15850
|
+
cutout: "\u0421\u0442\u0430\u0432\u043B\u044E \u0437\u0430\u043C\u0435\u043D\u0443 \u0444\u043E\u043D\u0430",
|
|
15851
|
+
voice: "\u0421\u0442\u0430\u0432\u043B\u044E \u0447\u0438\u0441\u0442\u043A\u0443 \u0433\u043E\u043B\u043E\u0441\u0430"
|
|
15852
|
+
};
|
|
15853
|
+
function installTitle(step) {
|
|
15854
|
+
return INSTALL_TITLES[step] ?? "\u0421\u0442\u0430\u0432\u043B\u044E \u043C\u043E\u043D\u0442\u0430\u0436";
|
|
15855
|
+
}
|
|
15856
|
+
var INSTALL_HEAD = /^установка: (\S+)$/;
|
|
15841
15857
|
var HEAD = /^Задание (\S+): ?(.*)$/;
|
|
15842
15858
|
var BEHIND = /^Позади: (.+)$/;
|
|
15843
15859
|
var NOW = /^Этап (\d+) из (\d+): (.+)$/;
|
|
@@ -15863,6 +15879,8 @@ function readJob(text2) {
|
|
|
15863
15879
|
const job = empty();
|
|
15864
15880
|
job.id = head2[1] ?? "";
|
|
15865
15881
|
job.what = (head2[2] ?? "").trim();
|
|
15882
|
+
const install2 = INSTALL_HEAD.exec(job.what);
|
|
15883
|
+
if (install2 !== null) job.what = installTitle(install2[1] ?? "");
|
|
15866
15884
|
let tail2 = null;
|
|
15867
15885
|
for (const row of lines.slice(1)) {
|
|
15868
15886
|
const line = row.trim();
|
|
@@ -16464,6 +16482,10 @@ function knowsJsonCheck(engineDir) {
|
|
|
16464
16482
|
return false;
|
|
16465
16483
|
}
|
|
16466
16484
|
}
|
|
16485
|
+
var STATES = /* @__PURE__ */ new Set(["ok", "missing", "later"]);
|
|
16486
|
+
function megabytes(value) {
|
|
16487
|
+
return typeof value === "number" && value > 0 ? Math.round(value) : 0;
|
|
16488
|
+
}
|
|
16467
16489
|
function readReadiness(stdout) {
|
|
16468
16490
|
const lines = stdout.trim().split("\n");
|
|
16469
16491
|
let raw;
|
|
@@ -16483,57 +16505,93 @@ function readReadiness(stdout) {
|
|
|
16483
16505
|
name: part["name"],
|
|
16484
16506
|
title: typeof part["title"] === "string" && part["title"] !== "" ? part["title"] : part["name"],
|
|
16485
16507
|
ok: part["ok"] === true,
|
|
16486
|
-
mb:
|
|
16508
|
+
mb: megabytes(part["mb"]),
|
|
16487
16509
|
on_demand: part["on_demand"] === true,
|
|
16488
16510
|
step: typeof part["step"] === "string" ? part["step"] : ""
|
|
16489
16511
|
});
|
|
16490
16512
|
}
|
|
16491
|
-
|
|
16513
|
+
let rows = null;
|
|
16514
|
+
if (Array.isArray(data["rows"])) {
|
|
16515
|
+
rows = [];
|
|
16516
|
+
for (const item of data["rows"]) {
|
|
16517
|
+
const row = item;
|
|
16518
|
+
if (row === null || typeof row !== "object" || typeof row["title"] !== "string") continue;
|
|
16519
|
+
const state = row["state"];
|
|
16520
|
+
if (typeof state !== "string" || !STATES.has(state)) continue;
|
|
16521
|
+
rows.push({ title: row["title"], state, mb: megabytes(row["mb"]) });
|
|
16522
|
+
}
|
|
16523
|
+
}
|
|
16524
|
+
return { words: data["words"], ready: data["ready"] === true, parts, rows };
|
|
16492
16525
|
}
|
|
16493
16526
|
var NOT_A_ROW = /* @__PURE__ */ new Set(["system"]);
|
|
16527
|
+
var TITLE_READY = "\u0412\u0441\u0451 \u0433\u043E\u0442\u043E\u0432\u043E \u2014 \u043C\u043E\u0436\u043D\u043E \u043D\u0430\u0447\u0438\u043D\u0430\u0442\u044C \u043C\u043E\u043D\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C :)";
|
|
16528
|
+
var TITLE_UNKNOWN = "\u041F\u0440\u043E\u0432\u0435\u0440\u044F\u044E, \u0447\u0442\u043E \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E";
|
|
16529
|
+
var TITLE_UPDATING = "\u041E\u0431\u043D\u043E\u0432\u043B\u044F\u044E \u043C\u043E\u043D\u0442\u0430\u0436";
|
|
16494
16530
|
function weight(mb) {
|
|
16495
16531
|
if (mb >= 1e3) return `${(mb / 1024).toFixed(1).replace(".", ",")} \u0413\u0411`;
|
|
16496
16532
|
return `${mb} \u041C\u0411`;
|
|
16497
16533
|
}
|
|
16534
|
+
function rowWords(state, mb) {
|
|
16535
|
+
if (state === "ok") return "\u0435\u0441\u0442\u044C";
|
|
16536
|
+
if (state === "later") return `\u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u044E, \u0435\u0441\u043B\u0438 \u0434\u0430\u0448\u044C \u0441\u043E\u0433\u043B\u0430\u0441\u0438\u0435${mb ? ` \xB7 ${weight(mb)}` : ""}`;
|
|
16537
|
+
return mb ? `\u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0441\u043A\u0430\u0447\u0430\u0442\u044C \xB7 ${weight(mb)}` : "\u043D\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442";
|
|
16538
|
+
}
|
|
16539
|
+
function firstPhrase(notes) {
|
|
16540
|
+
const paragraph = notes.trim().split(/\n\s*\n/)[0] ?? "";
|
|
16541
|
+
const plain = paragraph.replaceAll("*", "").replace(/^[#\s-]+/, "").replace(/\s+/g, " ").trim();
|
|
16542
|
+
const sentence = /^(.+?[.!?…])(?:\s|$)/.exec(plain);
|
|
16543
|
+
return (sentence?.[1] ?? plain).trim();
|
|
16544
|
+
}
|
|
16498
16545
|
function refusalWords(status) {
|
|
16499
|
-
if (status === 401) {
|
|
16500
|
-
|
|
16501
|
-
}
|
|
16502
|
-
if (status === 403) {
|
|
16503
|
-
return `\u041F\u043E\u0434\u043F\u0438\u0441\u043A\u0430 \u043A\u043E\u043D\u0447\u0438\u043B\u0430\u0441\u044C \u2014 \u043D\u043E\u0432\u044B\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u043D\u0435 \u043F\u0440\u0438\u0445\u043E\u0434\u044F\u0442. \u0427\u0442\u043E \u0434\u0435\u043B\u0430\u0442\u044C: \u043F\u0440\u043E\u0434\u043B\u0438\u0442\u0435 \u0435\u0451 \u0443 \u0431\u043E\u0442\u0430 ${KEY_SOURCE_BOT}.`;
|
|
16504
|
-
}
|
|
16546
|
+
if (status === 401) return `\u041A\u043B\u044E\u0447 \u043D\u0435 \u043F\u043E\u0434\u0445\u043E\u0434\u0438\u0442. \u0412\u043E\u0437\u044C\u043C\u0438 \u043D\u043E\u0432\u044B\u0439 \u0444\u0430\u0439\u043B \u0432 \u0442\u0435\u043B\u0435\u0433\u0440\u0430\u043C-\u0431\u043E\u0442\u0435 ${KEY_SOURCE_HANDLE}.`;
|
|
16547
|
+
if (status === 403) return `\u041F\u043E\u0434\u043F\u0438\u0441\u043A\u0430 \u0437\u0430\u043A\u043E\u043D\u0447\u0438\u043B\u0430\u0441\u044C. \u041F\u0440\u043E\u0434\u043B\u0438 \u0435\u0451 \u0432 \u0442\u0435\u043B\u0435\u0433\u0440\u0430\u043C-\u0431\u043E\u0442\u0435 ${KEY_SOURCE_HANDLE}.`;
|
|
16505
16548
|
return "";
|
|
16506
16549
|
}
|
|
16507
|
-
function
|
|
16508
|
-
|
|
16550
|
+
function updateWords(shell, engine) {
|
|
16551
|
+
if (!shell?.fresh && !engine?.fresh) return "";
|
|
16552
|
+
const notes = shell?.fresh ? firstPhrase(shell.notes) : "";
|
|
16553
|
+
return [
|
|
16554
|
+
`\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u0430 \u043D\u043E\u0432\u0430\u044F \u0432\u0435\u0440\u0441\u0438\u044F \u043C\u043E\u043D\u0442\u0430\u0436\u0451\u0440\u0430.${notes ? ` \u041F\u043E\u044F\u0432\u0438\u043B\u043E\u0441\u044C: ${notes}` : ""}`,
|
|
16555
|
+
"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0434\u043E \u043D\u043E\u0432\u043E\u0439 \u0432\u0435\u0440\u0441\u0438\u0438?",
|
|
16556
|
+
"\u041F\u0440\u043E\u0441\u0442\u043E \u043D\u0430\u043F\u0438\u0448\u0438 \xAB\u043E\u0431\u043D\u043E\u0432\u0438\xBB."
|
|
16557
|
+
].join("\n");
|
|
16558
|
+
}
|
|
16559
|
+
function cardRows(readiness) {
|
|
16560
|
+
const rows = readiness?.rows ?? (readiness?.parts ?? []).filter((part) => !NOT_A_ROW.has(part.name)).map((part) => ({
|
|
16509
16561
|
title: part.title,
|
|
16510
16562
|
state: part.ok ? "ok" : part.on_demand ? "later" : "missing",
|
|
16511
16563
|
mb: part.ok ? 0 : part.mb
|
|
16512
16564
|
}));
|
|
16565
|
+
return rows.map((row) => ({ ...row, mb: row.state === "ok" ? 0 : row.mb, say: rowWords(row.state, row.mb) }));
|
|
16566
|
+
}
|
|
16567
|
+
function setupCard(o) {
|
|
16568
|
+
const rows = cardRows(o.readiness);
|
|
16513
16569
|
const missingMb = rows.filter((row) => row.state === "missing").reduce((all, row) => all + row.mb, 0);
|
|
16514
|
-
const ready = o.readiness
|
|
16515
|
-
|
|
16516
|
-
if (o.shell?.fresh) fresh.push(`\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u0435 ${o.shell.fresh}${o.shell.mb ? ` (${weight(o.shell.mb)})` : ""}`);
|
|
16517
|
-
if (o.engine?.fresh) fresh.push(`\u0434\u0432\u0438\u0436\u043E\u043A ${o.engine.fresh}${o.engine.mb ? ` (${weight(o.engine.mb)})` : ""}`);
|
|
16518
|
-
const update = fresh.length ? `\u0412\u044B\u0448\u043B\u043E \u043D\u043E\u0432\u043E\u0435: ${fresh.join(", ")}.` : "";
|
|
16519
|
-
const trouble = refusalWords(o.shell?.status ?? 0) || refusalWords(o.engine?.status ?? 0);
|
|
16570
|
+
const ready = o.readiness === null ? false : o.readiness.rows !== null ? rows.every((row) => row.state !== "missing") : o.readiness.ready;
|
|
16571
|
+
let title;
|
|
16520
16572
|
let next;
|
|
16521
|
-
if (o.noEngine
|
|
16522
|
-
|
|
16523
|
-
|
|
16524
|
-
else if (
|
|
16525
|
-
|
|
16526
|
-
|
|
16527
|
-
else
|
|
16573
|
+
if (o.noEngine || o.noPython) {
|
|
16574
|
+
title = "\u041D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0441\u043A\u0430\u0447\u0430\u0442\u044C \u043C\u043E\u043D\u0442\u0430\u0436 \u0434\u043B\u044F \u043F\u043E\u043B\u043D\u043E\u0446\u0435\u043D\u043D\u043E\u0439 \u0440\u0430\u0431\u043E\u0442\u044B";
|
|
16575
|
+
next = `\u041D\u0430\u043F\u0438\u0448\u0438 \xAB\u0441\u043A\u0430\u0447\u0430\u0439\xBB \u2014 \u0441\u043A\u0430\u0447\u0430\u044E ${o.noEngine ? "\u043C\u043E\u043D\u0442\u0430\u0436" : "Python"}.`;
|
|
16576
|
+
} else if (o.readiness === null) {
|
|
16577
|
+
title = o.title ?? TITLE_UNKNOWN;
|
|
16578
|
+
next = o.note ?? "";
|
|
16579
|
+
} else if (!ready) {
|
|
16580
|
+
title = missingMb ? `\u041D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0441\u043A\u0430\u0447\u0430\u0442\u044C ${weight(missingMb)} \u0434\u043B\u044F \u043F\u043E\u043B\u043D\u043E\u0446\u0435\u043D\u043D\u043E\u0439 \u0440\u0430\u0431\u043E\u0442\u044B` : "\u041D\u0435 \u0432\u0441\u0451 \u0433\u043E\u0442\u043E\u0432\u043E \u0434\u043B\u044F \u043F\u043E\u043B\u043D\u043E\u0446\u0435\u043D\u043D\u043E\u0439 \u0440\u0430\u0431\u043E\u0442\u044B";
|
|
16581
|
+
next = missingMb ? `\u041D\u0430\u043F\u0438\u0448\u0438 \xAB\u0441\u043A\u0430\u0447\u0430\u0439\xBB \u2014 \u0441\u043A\u0430\u0447\u0430\u044E ${weight(missingMb)}.` : "\u041D\u0430\u043F\u0438\u0448\u0438 \xAB\u0441\u043A\u0430\u0447\u0430\u0439\xBB \u2014 \u043F\u043E\u0441\u0442\u0430\u0432\u043B\u044E, \u0447\u0435\u0433\u043E \u043D\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442.";
|
|
16582
|
+
} else {
|
|
16583
|
+
title = TITLE_READY;
|
|
16584
|
+
next = "";
|
|
16585
|
+
}
|
|
16528
16586
|
return {
|
|
16529
16587
|
contract: SETUP_CONTRACT,
|
|
16530
|
-
|
|
16531
|
-
|
|
16588
|
+
title,
|
|
16589
|
+
meta: `\u0432\u0435\u0440\u0441\u0438\u044F ${o.shellVersion}`,
|
|
16532
16590
|
ready,
|
|
16533
16591
|
rows,
|
|
16534
16592
|
missingMb,
|
|
16535
|
-
update,
|
|
16536
|
-
trouble,
|
|
16593
|
+
update: updateWords(o.shell, o.engine),
|
|
16594
|
+
trouble: refusalWords(o.shell?.status ?? 0) || refusalWords(o.engine?.status ?? 0),
|
|
16537
16595
|
next
|
|
16538
16596
|
};
|
|
16539
16597
|
}
|
|
@@ -16742,10 +16800,6 @@ function runbarWidgetHtml() {
|
|
|
16742
16800
|
background: var(--note-dot);
|
|
16743
16801
|
}
|
|
16744
16802
|
|
|
16745
|
-
/* \u041F\u043E\u0437\u0430\u0434\u0438 \u0438 \u0434\u0430\u043B\u044C\u0448\u0435 \u2014 \u0442\u0438\u0445\u0438\u043C \u043A\u0435\u0433\u043B\u0435\u043C: \u044D\u0442\u043E \u0441\u043F\u0440\u0430\u0432\u043A\u0430, \u0430 \u043D\u0435 \u043E\u0442\u0432\u0435\u0442 \u043D\u0430 \xAB\u0433\u0434\u0435 \u044F \u0441\u0435\u0439\u0447\u0430\u0441\xBB. */
|
|
16746
|
-
.side { margin: 10px 0 0; color: var(--ink-soft); font-size: 12.5px; line-height: 1.45; }
|
|
16747
|
-
.side[hidden] { display: none; }
|
|
16748
|
-
.side b { font-weight: 650; color: var(--ink); }
|
|
16749
16803
|
|
|
16750
16804
|
/* \u2500\u2500\u2500 \u0428\u043A\u0430\u043B\u0430: \u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0441\u043A\u0430\u0447\u0430\u043D\u043E, \u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0433\u043E\u0442\u043E\u0432\u043E \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
16751
16805
|
|
|
@@ -16787,6 +16841,8 @@ function runbarWidgetHtml() {
|
|
|
16787
16841
|
.card[hidden] { display: none; }
|
|
16788
16842
|
.card__meta { margin: 4px 0 0; color: var(--ink-soft); font-size: 12.5px; font-variant-numeric: tabular-nums; }
|
|
16789
16843
|
.card__meta[hidden] { display: none; }
|
|
16844
|
+
/* \u041D\u043E\u0432\u043E\u0441\u0442\u044C \u043E \u0432\u0435\u0440\u0441\u0438\u0438 \u2014 \u0442\u0440\u0438 \u0441\u0442\u0440\u043E\u043A\u0438 \u0432\u043B\u0430\u0434\u0435\u043B\u044C\u0446\u0430: \u0447\u0442\u043E \u0432\u044B\u0448\u043B\u043E, \u0432\u043E\u043F\u0440\u043E\u0441, \u0447\u0442\u043E \u043D\u0430\u043F\u0438\u0441\u0430\u0442\u044C. */
|
|
16845
|
+
#cardUpdate { white-space: pre-line; }
|
|
16790
16846
|
.parts { display: grid; gap: 2px 18px; margin: 14px 0 0; padding: 0; list-style: none; }
|
|
16791
16847
|
.parts[hidden] { display: none; }
|
|
16792
16848
|
.part {
|
|
@@ -16971,13 +17027,13 @@ function runbarWidgetHtml() {
|
|
|
16971
17027
|
</head>
|
|
16972
17028
|
<body>
|
|
16973
17029
|
<div class="head">
|
|
16974
|
-
<h2 id="what"
|
|
17030
|
+
<h2 id="what" hidden></h2>
|
|
16975
17031
|
<span class="clock" id="clock" hidden></span>
|
|
16976
17032
|
</div>
|
|
16977
17033
|
<ol class="rail" id="rail" hidden></ol>
|
|
16978
17034
|
<div class="now" id="now">
|
|
16979
17035
|
<span>
|
|
16980
|
-
<strong class="now__t" id="nowTitle">\u041D\u0430\u0447\u0438\u043D\u0430\u044E
|
|
17036
|
+
<strong class="now__t" id="nowTitle">\u041D\u0430\u0447\u0438\u043D\u0430\u044E</strong>
|
|
16981
17037
|
<span class="now__c" id="nowLeft" hidden></span>
|
|
16982
17038
|
</span>
|
|
16983
17039
|
</div>
|
|
@@ -16995,8 +17051,6 @@ function runbarWidgetHtml() {
|
|
|
16995
17051
|
<div class="note" id="cardTrouble" hidden></div>
|
|
16996
17052
|
<p class="next" id="cardNext" hidden></p>
|
|
16997
17053
|
</section>
|
|
16998
|
-
<p class="side" id="behind" hidden></p>
|
|
16999
|
-
<p class="side" id="ahead" hidden></p>
|
|
17000
17054
|
<div class="end" id="end" hidden>
|
|
17001
17055
|
<span class="end__m" aria-hidden="true"></span>
|
|
17002
17056
|
<span class="end__x">
|
|
@@ -17153,7 +17207,9 @@ function runbarWidgetHtml() {
|
|
|
17153
17207
|
byId('card').hidden = true;
|
|
17154
17208
|
var ended = !working(data.status);
|
|
17155
17209
|
|
|
17156
|
-
|
|
17210
|
+
// \u26A0 \u041E\u0411\u0429\u0415\u0419 \u0417\u0410\u0413\u041B\u0423\u0428\u041A\u0418 \xAB\u0420\u0410\u0411\u041E\u0422\u0410\u042E\xBB \u041D\u0415\u0422 (\u0432\u043B\u0430\u0434\u0435\u043B\u0435\u0446 2026-09-24): \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A \u2014 \u0441\u0440\u0430\u0437\u0443
|
|
17211
|
+
// \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u0440\u0430\u0431\u043E\u0442\u044B, \u0430 \u043D\u0435 \u0441\u043B\u043E\u0432\u043E, \u043A\u043E\u0442\u043E\u0440\u043E\u0435 \u043D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u0433\u043E\u0432\u043E\u0440\u0438\u0442.
|
|
17212
|
+
show('what', data.what || '');
|
|
17157
17213
|
var clock = byId('clock');
|
|
17158
17214
|
if (clock) {
|
|
17159
17215
|
clock.textContent = (ended ? '' : '\u0438\u0434\u0451\u0442 ') + howLong(data.sec);
|
|
@@ -17166,8 +17222,8 @@ function runbarWidgetHtml() {
|
|
|
17166
17222
|
var now = byId('now');
|
|
17167
17223
|
if (now) now.hidden = ended;
|
|
17168
17224
|
if (!ended) {
|
|
17169
|
-
var title = data.now || (data.status === 'waiting' ? '\u0416\u0434\u0443 \u043E\u0447\
|
|
17170
|
-
if (data.at && data.total) title = title + '
|
|
17225
|
+
var title = data.now || (data.status === 'waiting' ? '\u0416\u0434\u0443, \u043F\u043E\u043A\u0430 \u0437\u0430\u043A\u043E\u043D\u0447\u0438\u0442\u0441\u044F \u0434\u0440\u0443\u0433\u0430\u044F \u0440\u0430\u0431\u043E\u0442\u0430' : '\u041D\u0430\u0447\u0438\u043D\u0430\u044E');
|
|
17226
|
+
if (data.at && data.total) title = title + ' \xB7 ' + data.at + ' \u0438\u0437 ' + data.total;
|
|
17171
17227
|
show('nowTitle', title);
|
|
17172
17228
|
show('nowLeft', data.left || '');
|
|
17173
17229
|
var loading = download(data);
|
|
@@ -17179,11 +17235,9 @@ function runbarWidgetHtml() {
|
|
|
17179
17235
|
byId('dl').hidden = true;
|
|
17180
17236
|
}
|
|
17181
17237
|
|
|
17182
|
-
// \xAB\u041F\
|
|
17183
|
-
// \
|
|
17184
|
-
// \
|
|
17185
|
-
side('behind', '\u041F\u043E\u0437\u0430\u0434\u0438: ', ended ? '' : data.behind);
|
|
17186
|
-
side('ahead', '\u0414\u0430\u043B\u044C\u0448\u0435: ', ended ? '' : data.ahead);
|
|
17238
|
+
// \u26A0 \xAB\u041F\u041E\u0417\u0410\u0414\u0418\xBB \u0418 \xAB\u0414\u0410\u041B\u042C\u0428\u0415\xBB \u041D\u0415 \u0420\u0418\u0421\u0423\u042E\u0422\u0421\u042F (\u0432\u043B\u0430\u0434\u0435\u043B\u0435\u0446 2026-09-24): \u043F\u043E\u0434 \u043D\u0430\u0437\u0432\u0430\u043D\u0438\u0435\u043C
|
|
17239
|
+
// \u044D\u0442\u0430\u043F\u0430 \u0438 \u0448\u043A\u0430\u043B\u043E\u0439 \u043E\u043D\u0438 \u0431\u044B\u043B\u0438 \u0442\u0440\u0435\u0442\u044C\u0438\u043C \u0438 \u0447\u0435\u0442\u0432\u0451\u0440\u0442\u044B\u043C \u0440\u0430\u0441\u0441\u043A\u0430\u0437\u043E\u043C \u043E\u0431 \u043E\u0434\u043D\u043E\u043C \u0438 \u0442\u043E\u043C \u0436\u0435.
|
|
17240
|
+
// \u041E\u0442\u0447\u0451\u0442 \u0438\u0445 \u043F\u043E-\u043F\u0440\u0435\u0436\u043D\u0435\u043C\u0443 \u043D\u0435\u0441\u0451\u0442 \u2014 \u0441\u0442\u0440\u043E\u043A\u0438 \u043D\u0443\u0436\u043D\u044B \u043C\u043E\u0434\u0435\u043B\u0438, \u0430 \u043D\u0435 \u044D\u043A\u0440\u0430\u043D\u0443.
|
|
17187
17241
|
|
|
17188
17242
|
if (ended) finish(data);
|
|
17189
17243
|
else { byId('end').hidden = true; document.body.classList.remove('bad'); }
|
|
@@ -17254,7 +17308,7 @@ function runbarWidgetHtml() {
|
|
|
17254
17308
|
job = null;
|
|
17255
17309
|
document.body.classList.remove('gone');
|
|
17256
17310
|
document.body.classList.remove('bad');
|
|
17257
|
-
var hide = ['now', 'rail', 'msg', 'dl', '
|
|
17311
|
+
var hide = ['now', 'rail', 'msg', 'dl', 'clock', 'end', 'note'];
|
|
17258
17312
|
for (var i = 0; i < hide.length; i++) { var el = byId(hide[i]); if (el) el.hidden = true; }
|
|
17259
17313
|
|
|
17260
17314
|
var rows = data.rows || [];
|
|
@@ -17263,12 +17317,10 @@ function runbarWidgetHtml() {
|
|
|
17263
17317
|
if (rows[j].state === 'ok') { ok++; need++; }
|
|
17264
17318
|
else if (rows[j].state === 'missing') need++;
|
|
17265
17319
|
}
|
|
17266
|
-
|
|
17267
|
-
|
|
17268
|
-
|
|
17269
|
-
|
|
17270
|
-
if (data.shell) meta.push('\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u0435 ' + data.shell);
|
|
17271
|
-
show('cardMeta', meta.join(' \xB7 '));
|
|
17320
|
+
// \u0421\u043B\u043E\u0432\u0430 \u043A\u0430\u0440\u0442\u043E\u0447\u043A\u0438 \u043F\u0438\u0448\u0435\u0442 \u043E\u0431\u043E\u043B\u043E\u0447\u043A\u0430 (setup-card.ts), \u0437\u0434\u0435\u0441\u044C \u0438\u0445 \u0442\u043E\u043B\u044C\u043A\u043E \u0441\u0442\u0430\u0432\u044F\u0442
|
|
17321
|
+
// \u043D\u0430 \u043C\u0435\u0441\u0442\u043E: \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A, \u0432\u0435\u0440\u0441\u0438\u044F, \u0441\u0442\u0440\u043E\u043A\u0438, \u043D\u043E\u0432\u043E\u0441\u0442\u044C, \u0447\u0442\u043E \u0434\u0430\u043B\u044C\u0448\u0435.
|
|
17322
|
+
show('what', data.title || '');
|
|
17323
|
+
show('cardMeta', data.meta || '');
|
|
17272
17324
|
|
|
17273
17325
|
// \u0428\u043A\u0430\u043B\u0430 \u0433\u043E\u0442\u043E\u0432\u043D\u043E\u0441\u0442\u0438 \u2014 \u043F\u043E \u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E\u043C\u0443: \u0442\u043E, \u0447\u0442\u043E \u0432\u0441\u0442\u0430\u043D\u0435\u0442 \u043F\u043E \u043F\u0440\u043E\u0441\u044C\u0431\u0435, \u0434\u043E\u043B\u0435\u0439
|
|
17274
17326
|
// \xAB\u043D\u0435 \u0433\u043E\u0442\u043E\u0432\u043E\xBB \u043D\u0435 \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044F, \u0438\u043D\u0430\u0447\u0435 \u0447\u0435\u043B\u043E\u0432\u0435\u043A \u0431\u0435\u0437 \u0441\u0443\u0431\u0442\u0438\u0442\u0440\u043E\u0432 \u043D\u0430\u0432\u0441\u0435\u0433\u0434\u0430 \u0432\u0438\u0434\u0435\u043B \u0431\u044B
|
|
@@ -17281,7 +17333,6 @@ function runbarWidgetHtml() {
|
|
|
17281
17333
|
var b = document.createElement('b');
|
|
17282
17334
|
b.textContent = '\u0413\u043E\u0442\u043E\u0432\u043E ' + ok + ' \u0438\u0437 ' + need;
|
|
17283
17335
|
cap.appendChild(b);
|
|
17284
|
-
if (data.missingMb) cap.appendChild(document.createTextNode(' \xB7 \u0434\u043E\u043A\u0430\u0447\u0430\u0442\u044C ' + weight(data.missingMb)));
|
|
17285
17336
|
}
|
|
17286
17337
|
cap.hidden = !need;
|
|
17287
17338
|
|
|
@@ -17300,9 +17351,7 @@ function runbarWidgetHtml() {
|
|
|
17300
17351
|
li.appendChild(title);
|
|
17301
17352
|
var w = document.createElement('span');
|
|
17302
17353
|
w.className = 'part__w';
|
|
17303
|
-
w.textContent = row.
|
|
17304
|
-
: row.state === 'later' ? ('\u043F\u043E \u043F\u0440\u043E\u0441\u044C\u0431\u0435' + (row.mb ? ' \xB7 ' + weight(row.mb) : ''))
|
|
17305
|
-
: (row.mb ? weight(row.mb) : '\u043D\u0435\u0442');
|
|
17354
|
+
w.textContent = row.say || '';
|
|
17306
17355
|
li.appendChild(w);
|
|
17307
17356
|
list.appendChild(li);
|
|
17308
17357
|
}
|
|
@@ -17315,18 +17364,6 @@ function runbarWidgetHtml() {
|
|
|
17315
17364
|
reportSize();
|
|
17316
17365
|
}
|
|
17317
17366
|
|
|
17318
|
-
function side(id, label, text) {
|
|
17319
|
-
var el = byId(id);
|
|
17320
|
-
if (!el) return;
|
|
17321
|
-
el.innerHTML = '';
|
|
17322
|
-
if (!text) { el.hidden = true; return; }
|
|
17323
|
-
var b = document.createElement('b');
|
|
17324
|
-
b.textContent = label;
|
|
17325
|
-
el.appendChild(b);
|
|
17326
|
-
el.appendChild(document.createTextNode(text));
|
|
17327
|
-
el.hidden = false;
|
|
17328
|
-
}
|
|
17329
|
-
|
|
17330
17367
|
/** \u041A\u043E\u043D\u0435\u0446 \u0440\u0430\u0431\u043E\u0442\u044B: \u0443\u0441\u043F\u0435\u0445 \u0441 \u043F\u0443\u0442\u0451\u043C \u043A \u0444\u0430\u0439\u043B\u0443 \u0438\u043B\u0438 \u043E\u0442\u043A\u0430\u0437 \u0441\u043B\u043E\u0432\u0430\u043C\u0438. */
|
|
17331
17368
|
function finish(data) {
|
|
17332
17369
|
var good = data.status === 'done';
|
|
@@ -17335,11 +17372,11 @@ function runbarWidgetHtml() {
|
|
|
17335
17372
|
|
|
17336
17373
|
if (good) {
|
|
17337
17374
|
show('endTitle', '\u0413\u043E\u0442\u043E\u0432\u043E \u0437\u0430 ' + howLong(data.sec));
|
|
17338
|
-
show('endHint', data.file ? '\
|
|
17375
|
+
show('endHint', data.file ? '\u0420\u043E\u043B\u0438\u043A \u0433\u043E\u0442\u043E\u0432:' : (data.outcome || ''));
|
|
17339
17376
|
show('path', data.file || '');
|
|
17340
17377
|
} else {
|
|
17341
17378
|
show('endTitle', data.status === 'aborted' ? '\u0420\u0430\u0431\u043E\u0442\u0430 \u043F\u0440\u0435\u0440\u0432\u0430\u043B\u0430\u0441\u044C' : '\u041D\u0435 \u043F\u043E\u043B\u0443\u0447\u0438\u043B\u043E\u0441\u044C');
|
|
17342
|
-
show('endHint', data.trouble || '\
|
|
17379
|
+
show('endHint', data.trouble || '\u0427\u0442\u043E-\u0442\u043E \u0441\u043B\u043E\u043C\u0430\u043B\u043E\u0441\u044C. \u041D\u0430\u043F\u0438\u0448\u0438 \u041A\u043B\u043E\u0434\u0443 \xAB\u0447\u0442\u043E \u0441\u043B\u0443\u0447\u0438\u043B\u043E\u0441\u044C\xBB.');
|
|
17343
17380
|
show('path', '');
|
|
17344
17381
|
}
|
|
17345
17382
|
var warn = [];
|
|
@@ -17365,8 +17402,6 @@ function runbarWidgetHtml() {
|
|
|
17365
17402
|
byId('now').hidden = true;
|
|
17366
17403
|
byId('rail').hidden = true;
|
|
17367
17404
|
byId('msg').hidden = true;
|
|
17368
|
-
byId('behind').hidden = true;
|
|
17369
|
-
byId('ahead').hidden = true;
|
|
17370
17405
|
byId('clock').hidden = true;
|
|
17371
17406
|
document.body.classList.add('bad');
|
|
17372
17407
|
show('endTitle', '\u041D\u0435 \u043F\u043E\u043B\u0443\u0447\u0438\u043B\u043E\u0441\u044C');
|
|
@@ -17391,7 +17426,7 @@ function runbarWidgetHtml() {
|
|
|
17391
17426
|
// \xAB\u0437\u0430\u043A\u0440\u044B\u0442\u043E\xBB, \u043F\u0440\u0438\u0448\u0435\u0434\u0448\u0430\u044F \u0441\u043B\u0435\u0434\u043E\u043C \u043D\u0430\u0441\u0442\u043E\u044F\u0449\u0430\u044F \u0437\u0430\u0434\u0430\u0447\u0430 (\u0445\u043E\u0441\u0442 \u0432\u043F\u0440\u0430\u0432\u0435 \u043F\u0440\u0438\u0441\u043B\u0430\u0442\u044C \u0434\u0432\u0430
|
|
17392
17427
|
// \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F \u043F\u043E\u0434\u0440\u044F\u0434) \u043E\u0441\u0442\u0430\u043B\u0430\u0441\u044C \u0431\u044B \u0431\u0435\u0437 \u043E\u043F\u0440\u043E\u0441\u0430 \u2014 \u043F\u043E\u043B\u043E\u0441\u0430 \u043F\u043E\u043A\u0430\u0437\u0430\u043B\u0430 \u0431\u044B \u043F\u0435\u0440\u0432\u044B\u0439
|
|
17393
17428
|
// \u043A\u0430\u0434\u0440 \u0438 \u0437\u0430\u043C\u0435\u0440\u043B\u0430.
|
|
17394
|
-
var all = ['now', 'rail', 'msg', 'dl', 'card', '
|
|
17429
|
+
var all = ['now', 'rail', 'msg', 'dl', 'card', 'clock', 'end', 'note', 'what'];
|
|
17395
17430
|
for (var i = 0; i < all.length; i++) { var el = byId(all[i]); if (el) el.hidden = true; }
|
|
17396
17431
|
document.body.classList.add('gone');
|
|
17397
17432
|
reportSize();
|
|
@@ -17831,11 +17866,11 @@ ${EXTRAS_LATER}`), later]);
|
|
|
17831
17866
|
});
|
|
17832
17867
|
if ("refusal" in launch) return toolError(launch.refusal);
|
|
17833
17868
|
return toolSuccess(
|
|
17834
|
-
`\u0417\u0430\u0434\u0430\u0447\u0430 ${launch.id}: \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0430, \u0448\u0430\u0433 \xAB${step}\xBB.
|
|
17869
|
+
`\u0417\u0430\u0434\u0430\u0447\u0430 ${launch.id}: ${installTitle(step)} (\u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0430, \u0448\u0430\u0433 \xAB${step}\xBB).
|
|
17835
17870
|
\u0418\u0434\u0451\u0442 \u043D\u0430 \u043A\u043E\u043C\u043F\u044C\u044E\u0442\u0435\u0440\u0435 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F \u0438 \u043F\u0435\u0440\u0435\u0436\u0438\u0432\u0430\u0435\u0442 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u043A \u043F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u044B. \u041F\u043E\u0437\u043E\u0432\u0438 wait \u0441 job "${launch.id}" \u2014 \u043E\u043D \u043F\u043E\u0434\u043E\u0436\u0434\u0451\u0442 \u0438 \u043F\u043E \u0445\u043E\u0434\u0443 \u0440\u0430\u0441\u0441\u043A\u0430\u0436\u0435\u0442, \u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0441\u043A\u0430\u0447\u0430\u043D\u043E \u0438 \u043E \u0447\u0451\u043C \u043D\u0430\u0434\u043E \u0441\u043F\u0440\u043E\u0441\u0438\u0442\u044C \u0447\u0435\u043B\u043E\u0432\u0435\u043A\u0430. \u041F\u0435\u0440\u0435\u0441\u043A\u0430\u0437\u044B\u0432\u0430\u0439 \u044D\u0442\u043E \u0447\u0435\u043B\u043E\u0432\u0435\u043A\u0443 \u0441\u0440\u0430\u0437\u0443, \u0430 \u043D\u0435 \u0432 \u043A\u043E\u043D\u0446\u0435. ${AWAY_NOTE}`,
|
|
17836
17871
|
startedJob({
|
|
17837
17872
|
id: launch.id,
|
|
17838
|
-
what:
|
|
17873
|
+
what: installTitle(step),
|
|
17839
17874
|
ahead: installLadder(step).join(" "),
|
|
17840
17875
|
message: "\u0418\u0434\u0451\u0442 \u043C\u0438\u043D\u0443\u0442\u0430\u043C\u0438: \u043A\u0430\u0447\u0430\u0435\u0442\u0441\u044F \u0438 \u0441\u043E\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044F \u0442\u043E, \u0447\u0435\u043C \u043C\u043E\u043D\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044F \u0432\u0438\u0434\u0435\u043E."
|
|
17841
17876
|
})
|
|
@@ -17859,7 +17894,8 @@ async function updateEngine(engine, consent, key, baseUrl, timeoutMs = ASKED_POI
|
|
|
17859
17894
|
installed: engine.freshVersion(),
|
|
17860
17895
|
fresh: decision.what === "nothing" ? null : decision.manifest.version,
|
|
17861
17896
|
mb: decision.what === "nothing" ? 0 : Math.round(decision.manifest.bytes / 1024 / 1024),
|
|
17862
|
-
status: outcome.ok ? 0 : outcome.status ?? 0
|
|
17897
|
+
status: outcome.ok ? 0 : outcome.status ?? 0,
|
|
17898
|
+
notes: ""
|
|
17863
17899
|
});
|
|
17864
17900
|
if (decision.what === "nothing") {
|
|
17865
17901
|
const ownDir2 = engine.freshVersion();
|
|
@@ -17893,7 +17929,8 @@ async function updateShell(engine, consent, key, baseUrl, timeoutMs = ASKED_POIN
|
|
|
17893
17929
|
installed,
|
|
17894
17930
|
fresh: decision.what === "nothing" ? null : decision.manifest.version,
|
|
17895
17931
|
mb: decision.what === "nothing" ? 0 : Math.round((decision.manifest.body?.bytes ?? 0) / 1024 / 1024),
|
|
17896
|
-
status: outcome.ok ? 0 : outcome.status ?? 0
|
|
17932
|
+
status: outcome.ok ? 0 : outcome.status ?? 0,
|
|
17933
|
+
notes: decision.what === "nothing" ? "" : decision.manifest.notes ?? ""
|
|
17897
17934
|
});
|
|
17898
17935
|
if (decision.what === "nothing") {
|
|
17899
17936
|
if (!outcome.ok) {
|
|
@@ -17925,6 +17962,7 @@ ${decision.manifest.notes}
|
|
|
17925
17962
|
key: key ?? null
|
|
17926
17963
|
}));
|
|
17927
17964
|
}
|
|
17965
|
+
var UPDATES = /* @__PURE__ */ new Set(["all", "engine", "shell"]);
|
|
17928
17966
|
var HEAVY_STEPS = {
|
|
17929
17967
|
speech: "model",
|
|
17930
17968
|
cutout: "cutout",
|
|
@@ -17934,7 +17972,7 @@ function setupTool(engine, passport, key, baseUrl) {
|
|
|
17934
17972
|
return defineTool({
|
|
17935
17973
|
name: "setup",
|
|
17936
17974
|
title: "\u041F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C \u0438 \u043F\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0432\u0441\u0451 \u0434\u043B\u044F \u043C\u043E\u043D\u0442\u0430\u0436\u0430",
|
|
17937
|
-
description: "\u0412\u0441\u0451, \u0447\u0435\u043C \u043C\u043E\u043D\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043D\u0430 \u044D\u0442\u043E\u043C \u043A\u043E\u043C\u043F\u044C\u044E\u0442\u0435\u0440\u0435, \u2014 \u043E\u0434\u043D\u0438\u043C \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u043C. \u0411\u0435\u0437 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u041F\u0420\u041E\u0412\u0415\u0420\u042F\u0415\u0422 \u0434\u0435\u043B\u043E\u043C: \u0447\u0442\u043E \u0441\u0442\u043E\u0438\u0442 \u0438 \u0447\u0435\u0433\u043E \u043D\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442, \u0447\u0442\u043E \u0434\u043E\u043A\u0430\u0447\u0430\u0435\u0442\u0441\u044F \u043F\u043E \u043F\u0440\u043E\u0441\u044C\u0431\u0435 \u0438 \u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0432\u0435\u0441\u0438\u0442, \u0447\u0442\u043E \u0443\u043C\u0435\u0435\u0442 \u043C\u043E\u043D\u0442\u0430\u0436 (\u0448\u0430\u0433\u0438, \u0432\u043E\u043F\u0440\u043E\u0441\u044B \u0434\u043B\u044F \u043A\u0430\u0440\u0442\u043E\u0447\u0435\u043A choose_variant, \u0447\u0435\u0439 \u0440\u0435\u0446\u0435\u043F\u0442 \u0438 \u0447\u0435\u0439 \u0441\u0442\u0438\u043B\u044C) \u0438 \u0432\u044B\u0448\u043B\u0430 \u043B\u0438 \u043D\u043E\u0432\u0430\u044F \u0432\u0435\u0440\u0441\u0438\u044F \u0434\u0432\u0438\u0436\u043A\u0430 \u0438\u043B\u0438 \u0441\u0430\u043C\u043E\u0433\u043E \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u044F. \u0417\u043E\u0432\u0438 \u041F\u0415\u0420\u0412\u042B\u041C, \u0434\u043E \u043B\u044E\u0431\u043E\u0439 \u0440\u0430\u0431\u043E\u0442\u044B \u0441 \u0432\u0438\u0434\u0435\u043E, \u0438 \u0438\u0437 \u0441\u0432\u043E\u0435\u0439 \u043F\u0430\u043C\u044F\u0442\u0438 \u043E\u0431 \u044D\u0442\u043E\u043C \u043D\u0435 \u0440\u0430\u0441\u0441\u043A\u0430\u0437\u044B\u0432\u0430\u0439.\n\u0421\u0442\u0430\u0432\u0438\u0442 \u0438 \u043E\u0431\u043D\u043E\u0432\u043B\u044F\u0435\u0442 \u0441 what, \u043D\u043E \u0442\u043E\u043B\u044C\u043A\u043E \u043F\u043E\u0441\u043B\u0435 \xAB\u0434\u0430\xBB \u0447\u0435\u043B\u043E\u0432\u0435\u043A\u0430: \u0441\u043D\u0430\u0447\u0430\u043B\u0430 \u0441\u043A\u0430\u0436\u0438 \u0435\u043C\u0443 \u0441\u043B\u043E\u0432\u0430\u043C\u0438, \u0447\u0442\u043E \u043F\u043E\u0441\u0442\u0430\u0432\u0438\u0448\u044C \u0438 \u0441\u043A\u043E\u043B\u044C\u043A\u043E \u044D\u0442\u043E \u0432\u0435\u0441\u0438\u0442, \u043F\u043E\u0442\u043E\u043C \u0437\u043E\u0432\u0438 \u0441 \u0442\u0435\u043C \u0436\u0435 what \u0438 consent=true. \u0411\u0435\u0437 consent \u043D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043A\u0430\u0447\u0430\u0435\u0442\u0441\u044F \u2014 \u043F\u0440\u0438\u0434\u0443\u0442 \u0432\u0435\u0441 \u0438 \u0432\u043E\u043F\u0440\u043E\u0441. \u0422\u044F\u0436\u0451\u043B\u043E\u0435 \u0441\u0442\u0430\u0432\u0438\u0442\u0441\u044F \u0442\u043E\u043B\u044C\u043A\u043E \u043F\u043E\u0434 \u043F\u0440\u043E\u0441\u044C\u0431\u0443: \u043D\u0435 \u043F\u0440\u043E\u0441\u0438\u043B\u0438 \u0441\u0443\u0431\u0442\u0438\u0442\u0440\u044B \u2014 \u043D\u0435 \u0441\u0442\u0430\u0432\u044C speech, \u043D\u0435 \u043F\u0440\u043E\u0441\u0438\u043B\u0438 \u043D\u043E\u0432\u044B\u0439 \u0444\u043E\u043D \u2014 \u043D\u0435 \u0441\u0442\u0430\u0432\u044C cutout.\n\u0414\u043E\u043B\u0433\u0430\u044F \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0430 \u043E\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u043D\u043E\u043C\u0435\u0440\u043E\u043C \u0437\u0430\u0434\u0430\u0447\u0438 \u2014 \u0434\u043E\u0436\u0434\u0438\u0441\u044C \u0435\u0451 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u043C wait. \u041D\u043E\u0432\u0430\u044F \u0432\u0435\u0440\u0441\u0438\u044F \u0434\u0432\u0438\u0436\u043A\u0430 \u0438\u043B\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u044F \u0437\u0430\u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442 \u043F\u043E\u0441\u043B\u0435 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u043A\u0430 \u041A\u043B\u043E\u0434\u0430 \u0438\u043B\u0438 Codex, \u0441\u043A\u0430\u0436\u0438 \u044D\u0442\u043E \u0447\u0435\u043B\u043E\u0432\u0435\u043A\u0443. \u0421\u043B\u043E\u043C\u0430\u043B\u043E\u0441\u044C \u043F\u043E\u0441\u043B\u0435 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u044F \u2014 rollback. \u041F\u043E\u0434\u043F\u0438\u0441\u043A\u0430 \u043D\u0435 \u043D\u0443\u0436\u043D\u0430: \u0443\u0437\u043D\u0430\u0442\u044C, \u0437\u0430 \u0447\u0442\u043E \u043F\u043B\u0430\u0442\u044F\u0442, \u043C\u043E\u0436\u043D\u043E \u0434\u043E \u043E\u043F\u043B\u0430\u0442\u044B, \u0430 \u0441\u043A\u0430\u0447\u0438\u0432\u0430\u043D\u0438\u0435 \u0441\u0430\u043C\u043E \u0443\u043F\u0438\u0440\u0430\u0435\u0442\u0441\u044F \u0432 \u043A\u043B\u044E\u0447 \u043D\u0430 \u0440\u0430\u0437\u0434\u0430\u0447\u0435.",
|
|
17975
|
+
description: "\u0412\u0441\u0451, \u0447\u0435\u043C \u043C\u043E\u043D\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043D\u0430 \u044D\u0442\u043E\u043C \u043A\u043E\u043C\u043F\u044C\u044E\u0442\u0435\u0440\u0435, \u2014 \u043E\u0434\u043D\u0438\u043C \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u043C. \u0411\u0435\u0437 \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u041F\u0420\u041E\u0412\u0415\u0420\u042F\u0415\u0422 \u0434\u0435\u043B\u043E\u043C: \u0447\u0442\u043E \u0441\u0442\u043E\u0438\u0442 \u0438 \u0447\u0435\u0433\u043E \u043D\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442, \u0447\u0442\u043E \u0434\u043E\u043A\u0430\u0447\u0430\u0435\u0442\u0441\u044F \u043F\u043E \u043F\u0440\u043E\u0441\u044C\u0431\u0435 \u0438 \u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0432\u0435\u0441\u0438\u0442, \u0447\u0442\u043E \u0443\u043C\u0435\u0435\u0442 \u043C\u043E\u043D\u0442\u0430\u0436 (\u0448\u0430\u0433\u0438, \u0432\u043E\u043F\u0440\u043E\u0441\u044B \u0434\u043B\u044F \u043A\u0430\u0440\u0442\u043E\u0447\u0435\u043A choose_variant, \u0447\u0435\u0439 \u0440\u0435\u0446\u0435\u043F\u0442 \u0438 \u0447\u0435\u0439 \u0441\u0442\u0438\u043B\u044C) \u0438 \u0432\u044B\u0448\u043B\u0430 \u043B\u0438 \u043D\u043E\u0432\u0430\u044F \u0432\u0435\u0440\u0441\u0438\u044F \u0434\u0432\u0438\u0436\u043A\u0430 \u0438\u043B\u0438 \u0441\u0430\u043C\u043E\u0433\u043E \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u044F. \u0417\u043E\u0432\u0438 \u041F\u0415\u0420\u0412\u042B\u041C, \u0434\u043E \u043B\u044E\u0431\u043E\u0439 \u0440\u0430\u0431\u043E\u0442\u044B \u0441 \u0432\u0438\u0434\u0435\u043E, \u0438 \u0438\u0437 \u0441\u0432\u043E\u0435\u0439 \u043F\u0430\u043C\u044F\u0442\u0438 \u043E\u0431 \u044D\u0442\u043E\u043C \u043D\u0435 \u0440\u0430\u0441\u0441\u043A\u0430\u0437\u044B\u0432\u0430\u0439.\n\u0421\u0442\u0430\u0432\u0438\u0442 \u0438 \u043E\u0431\u043D\u043E\u0432\u043B\u044F\u0435\u0442 \u0441 what, \u043D\u043E \u0442\u043E\u043B\u044C\u043A\u043E \u043F\u043E\u0441\u043B\u0435 \xAB\u0434\u0430\xBB \u0447\u0435\u043B\u043E\u0432\u0435\u043A\u0430: \u0441\u043D\u0430\u0447\u0430\u043B\u0430 \u0441\u043A\u0430\u0436\u0438 \u0435\u043C\u0443 \u0441\u043B\u043E\u0432\u0430\u043C\u0438, \u0447\u0442\u043E \u043F\u043E\u0441\u0442\u0430\u0432\u0438\u0448\u044C \u0438 \u0441\u043A\u043E\u043B\u044C\u043A\u043E \u044D\u0442\u043E \u0432\u0435\u0441\u0438\u0442, \u043F\u043E\u0442\u043E\u043C \u0437\u043E\u0432\u0438 \u0441 \u0442\u0435\u043C \u0436\u0435 what \u0438 consent=true. \xAB\u0421\u043A\u0430\u0447\u0430\u0439\xBB \u0438 \xAB\u043E\u0431\u043D\u043E\u0432\u0438\xBB \u2014 \u0442\u043E \u0436\u0435 \xAB\u0434\u0430\xBB \u043D\u0430 \u0442\u043E, \u0447\u0442\u043E \u043A\u0430\u0440\u0442\u043E\u0447\u043A\u0430 \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0438 \u0443\u0436\u0435 \u043D\u0430\u0437\u0432\u0430\u043B\u0430 \u0441 \u0432\u0435\u0441\u043E\u043C: \u0437\u043E\u0432\u0438 what=all \u0441 consent=true. \u0411\u0435\u0437 consent \u043D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043A\u0430\u0447\u0430\u0435\u0442\u0441\u044F \u2014 \u043F\u0440\u0438\u0434\u0443\u0442 \u0432\u0435\u0441 \u0438 \u0432\u043E\u043F\u0440\u043E\u0441. \u0422\u044F\u0436\u0451\u043B\u043E\u0435 \u0441\u0442\u0430\u0432\u0438\u0442\u0441\u044F \u0442\u043E\u043B\u044C\u043A\u043E \u043F\u043E\u0434 \u043F\u0440\u043E\u0441\u044C\u0431\u0443: \u043D\u0435 \u043F\u0440\u043E\u0441\u0438\u043B\u0438 \u0441\u0443\u0431\u0442\u0438\u0442\u0440\u044B \u2014 \u043D\u0435 \u0441\u0442\u0430\u0432\u044C speech, \u043D\u0435 \u043F\u0440\u043E\u0441\u0438\u043B\u0438 \u043D\u043E\u0432\u044B\u0439 \u0444\u043E\u043D \u2014 \u043D\u0435 \u0441\u0442\u0430\u0432\u044C cutout.\n\u0414\u043E\u043B\u0433\u0430\u044F \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0430 \u043E\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u043D\u043E\u043C\u0435\u0440\u043E\u043C \u0437\u0430\u0434\u0430\u0447\u0438 \u2014 \u0434\u043E\u0436\u0434\u0438\u0441\u044C \u0435\u0451 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u043C wait. \u041D\u043E\u0432\u0430\u044F \u0432\u0435\u0440\u0441\u0438\u044F \u0434\u0432\u0438\u0436\u043A\u0430 \u0438\u043B\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u044F \u0437\u0430\u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442 \u043F\u043E\u0441\u043B\u0435 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u043A\u0430 \u041A\u043B\u043E\u0434\u0430 \u0438\u043B\u0438 Codex, \u0441\u043A\u0430\u0436\u0438 \u044D\u0442\u043E \u0447\u0435\u043B\u043E\u0432\u0435\u043A\u0443. \u0421\u043B\u043E\u043C\u0430\u043B\u043E\u0441\u044C \u043F\u043E\u0441\u043B\u0435 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u044F \u2014 rollback. \u041F\u043E\u0434\u043F\u0438\u0441\u043A\u0430 \u043D\u0435 \u043D\u0443\u0436\u043D\u0430: \u0443\u0437\u043D\u0430\u0442\u044C, \u0437\u0430 \u0447\u0442\u043E \u043F\u043B\u0430\u0442\u044F\u0442, \u043C\u043E\u0436\u043D\u043E \u0434\u043E \u043E\u043F\u043B\u0430\u0442\u044B, \u0430 \u0441\u043A\u0430\u0447\u0438\u0432\u0430\u043D\u0438\u0435 \u0441\u0430\u043C\u043E \u0443\u043F\u0438\u0440\u0430\u0435\u0442\u0441\u044F \u0432 \u043A\u043B\u044E\u0447 \u043D\u0430 \u0440\u0430\u0437\u0434\u0430\u0447\u0435.",
|
|
17938
17976
|
// Полоса хода работы в ленте: установка качает десятки минут, и человек
|
|
17939
17977
|
// видит, что качается и сколько уже скачано. ⚠ Ожидание задачи — у
|
|
17940
17978
|
// отдельного инструмента `wait`, без полосы: полоса объявлена на
|
|
@@ -17983,9 +18021,12 @@ function setupTool(engine, passport, key, baseUrl) {
|
|
|
17983
18021
|
const said = await answer(args, ctx?.emitProgress, news);
|
|
17984
18022
|
return withCard(said, () => setupCard({
|
|
17985
18023
|
readiness: null,
|
|
17986
|
-
engine: news.engine ?? { installed: engine.freshVersion(), fresh: null, mb: 0, status: 0 },
|
|
18024
|
+
engine: news.engine ?? { installed: engine.freshVersion(), fresh: null, mb: 0, status: 0, notes: "" },
|
|
17987
18025
|
shell: news.shell,
|
|
17988
18026
|
note: firstLine(said),
|
|
18027
|
+
// Проверки здесь не было, а работа была: «Проверяю, что установлено»
|
|
18028
|
+
// над ответом «поставил новую версию» соврало бы о том, что идёт.
|
|
18029
|
+
...args.consent === true && args.what !== void 0 && UPDATES.has(args.what) ? { title: TITLE_UPDATING } : {},
|
|
17989
18030
|
shellVersion: VERSION
|
|
17990
18031
|
}));
|
|
17991
18032
|
}
|
|
@@ -18024,7 +18065,7 @@ async function lookAround(engine, model, key, baseUrl) {
|
|
|
18024
18065
|
};
|
|
18025
18066
|
const card = (said, o) => withCard(said, () => setupCard({
|
|
18026
18067
|
readiness: o.readiness ?? null,
|
|
18027
|
-
engine: engineNews ?? { installed: engine.freshVersion(), fresh: null, mb: 0, status: 0 },
|
|
18068
|
+
engine: engineNews ?? { installed: engine.freshVersion(), fresh: null, mb: 0, status: 0, notes: "" },
|
|
18028
18069
|
shell: shellNews,
|
|
18029
18070
|
...o.noEngine === true ? { noEngine: true } : {},
|
|
18030
18071
|
...o.noPython === true ? { noPython: true } : {},
|
|
@@ -18118,12 +18159,17 @@ function wordsOf(content) {
|
|
|
18118
18159
|
if (typeof content === "string") return content;
|
|
18119
18160
|
return content.map((block) => block.type === "text" ? block.text : "").join("\n");
|
|
18120
18161
|
}
|
|
18162
|
+
var TRIAL_AXES = ["motion", "timing", "place", "camera", "color"];
|
|
18163
|
+
var TRIALS_MAX = 10;
|
|
18121
18164
|
async function startRender(engine, asked, key, tell) {
|
|
18122
18165
|
const place = engine.place();
|
|
18123
18166
|
if (place === null) return toolError(engine.whyNoEngine());
|
|
18124
18167
|
const where = fileOrRefusal(asked.video);
|
|
18125
18168
|
if ("refusal" in where) return toolError(where.refusal);
|
|
18126
|
-
|
|
18169
|
+
const trials = { variants: asked.variants, vary: asked.vary };
|
|
18170
|
+
if (asked.onlyPauses !== true) {
|
|
18171
|
+
return startDocumentRender(engine, where.path, key, tell, trials);
|
|
18172
|
+
}
|
|
18127
18173
|
if (tell !== void 0) for (const line of PAUSES_LADDER) tell(line);
|
|
18128
18174
|
const ask2 = { pauses: {} };
|
|
18129
18175
|
if (asked.tempo !== void 0 && asked.tempo !== 1) ask2["tempo"] = asked.tempo;
|
|
@@ -18134,7 +18180,7 @@ async function startRender(engine, asked, key, tell) {
|
|
|
18134
18180
|
if ("refusal" in agreement) return toolError(agreement.refusal);
|
|
18135
18181
|
return startDocumentRender(engine, reel, key, tell);
|
|
18136
18182
|
}
|
|
18137
|
-
async function startDocumentRender(engine, reel, key, tell) {
|
|
18183
|
+
async function startDocumentRender(engine, reel, key, tell, trials = {}) {
|
|
18138
18184
|
const place = engine.place();
|
|
18139
18185
|
if (place === null) return toolError(engine.whyNoEngine());
|
|
18140
18186
|
const trouble = await engine.pythonTrouble();
|
|
@@ -18143,8 +18189,14 @@ async function startDocumentRender(engine, reel, key, tell) {
|
|
|
18143
18189
|
if (python === null) {
|
|
18144
18190
|
return toolError("\u041E\u043A\u0440\u0443\u0436\u0435\u043D\u0438\u0435 \u043C\u043E\u043D\u0442\u0430\u0436\u0430 \u0435\u0449\u0451 \u043D\u0435 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E. \u0427\u0442\u043E \u0434\u0435\u043B\u0430\u0442\u044C: \u043F\u043E\u0437\u043E\u0432\u0438 setup.");
|
|
18145
18191
|
}
|
|
18146
|
-
|
|
18147
|
-
const
|
|
18192
|
+
const ladder = trials.variants === void 0 ? RENDER_LADDER : [...RENDER_LADDER, TRIALS_STEP];
|
|
18193
|
+
if (tell !== void 0) for (const line of ladder) tell(line);
|
|
18194
|
+
const what = trials.variants === void 0 ? `\u043C\u043E\u043D\u0442\u0430\u0436 ${basename(reel)}` : `\u043C\u043E\u043D\u0442\u0430\u0436 ${basename(reel)} \u0438 ${trials.variants} \u0432\u0435\u0440\u0441\u0438\u0439 \u0434\u043B\u044F \u043F\u0440\u043E\u0431\u043D\u043E\u0433\u043E \u0440\u0435\u0436\u0438\u043C\u0430`;
|
|
18195
|
+
const more = trials.variants === void 0 ? [] : [
|
|
18196
|
+
"--variants",
|
|
18197
|
+
String(trials.variants),
|
|
18198
|
+
...trials.vary !== void 0 && trials.vary.length > 0 ? ["--vary", trials.vary.join(",")] : []
|
|
18199
|
+
];
|
|
18148
18200
|
const launch = await engine.background({
|
|
18149
18201
|
place,
|
|
18150
18202
|
executable: python,
|
|
@@ -18156,7 +18208,7 @@ async function startDocumentRender(engine, reel, key, tell) {
|
|
|
18156
18208
|
"--what",
|
|
18157
18209
|
what,
|
|
18158
18210
|
"--command",
|
|
18159
|
-
JSON.stringify({ tool: "render", args:
|
|
18211
|
+
JSON.stringify({ tool: "render", args: trials })
|
|
18160
18212
|
],
|
|
18161
18213
|
args: (id) => [
|
|
18162
18214
|
place.consolePy,
|
|
@@ -18166,7 +18218,8 @@ async function startDocumentRender(engine, reel, key, tell) {
|
|
|
18166
18218
|
"--pack",
|
|
18167
18219
|
place.pack,
|
|
18168
18220
|
"--job",
|
|
18169
|
-
id
|
|
18221
|
+
id,
|
|
18222
|
+
...more
|
|
18170
18223
|
],
|
|
18171
18224
|
advice: "\u043F\u043E\u0437\u043E\u0432\u0438 setup \u2014 \u0441\u043A\u043E\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043E, \u043E\u043A\u0440\u0443\u0436\u0435\u043D\u0438\u0435 \u043D\u0435\u043F\u043E\u043B\u043D\u043E\u0435"
|
|
18172
18225
|
});
|
|
@@ -18177,7 +18230,7 @@ async function startDocumentRender(engine, reel, key, tell) {
|
|
|
18177
18230
|
startedJob({
|
|
18178
18231
|
id: launch.id,
|
|
18179
18232
|
what,
|
|
18180
|
-
ahead:
|
|
18233
|
+
ahead: ladder.join(" "),
|
|
18181
18234
|
message: "\u0420\u043E\u043B\u0438\u043A \u0441\u043E\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044F \u043D\u0430 \u043A\u043E\u043C\u043F\u044C\u044E\u0442\u0435\u0440\u0435 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F."
|
|
18182
18235
|
})
|
|
18183
18236
|
);
|
|
@@ -18186,6 +18239,7 @@ var RENDER_LADDER = [
|
|
|
18186
18239
|
"\u041F\u0440\u043E\u0432\u0435\u0440\u044E, \u0447\u0442\u043E \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442 \u0441\u043E\u0433\u043B\u0430\u0441\u043E\u0432\u0430\u043D \u0438 \u043D\u0435 \u043F\u0440\u0430\u0432\u043B\u0435\u043D \u043C\u0438\u043C\u043E plan_edit.",
|
|
18187
18240
|
"\u041F\u043E\u0441\u0447\u0438\u0442\u0430\u044E \u044D\u0444\u0444\u0435\u043A\u0442\u044B \u0438\u0441\u0445\u043E\u0434\u043D\u0438\u043A\u0430 (\u0432\u044B\u0440\u0435\u0437 \u0433\u0435\u0440\u043E\u044F, \u0448\u0443\u043C\u043E\u0434\u0430\u0432) \u0442\u0430\u043C, \u0433\u0434\u0435 \u0438\u0445 \u0432\u0438\u0434\u043D\u043E, \u2014 \u043F\u043E\u0442\u043E\u043C \u0441\u043E\u0431\u0435\u0440\u0443 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0443 \u0438 \u0437\u0432\u0443\u043A."
|
|
18188
18241
|
];
|
|
18242
|
+
var TRIALS_STEP = "\u041F\u043E\u0442\u043E\u043C \u0441\u043E\u0431\u0435\u0440\u0443 \u0432\u0435\u0440\u0441\u0438\u0438 \u0434\u043B\u044F \u043F\u0440\u043E\u0431\u043D\u043E\u0433\u043E \u0440\u0435\u0436\u0438\u043C\u0430 \u043F\u043E \u043E\u0434\u043D\u043E\u0439: \u0440\u0435\u0447\u044C \u0438 \u0437\u0432\u0443\u043A \u0442\u0435 \u0436\u0435, \u0434\u0440\u0443\u0433\u043E\u0435 \u0434\u0432\u0438\u0436\u0435\u043D\u0438\u0435, \u043C\u0435\u0441\u0442\u0430 \u0438 \u043A\u0440\u0443\u043F\u043D\u043E\u0441\u0442\u044C.";
|
|
18189
18243
|
async function followWork(engine, asked, pace = realPace, tell) {
|
|
18190
18244
|
const ask2 = () => engine.command(["job", asked.job]);
|
|
18191
18245
|
const seconds2 = waitSeconds(asked.seconds ?? WAIT_LIMIT_SECONDS);
|
|
@@ -18220,7 +18274,7 @@ function renderTool(engine, _passport, key) {
|
|
|
18220
18274
|
return defineTool({
|
|
18221
18275
|
name: "render",
|
|
18222
18276
|
title: "\u0421\u043E\u0431\u0440\u0430\u0442\u044C \u0440\u043E\u043B\u0438\u043A",
|
|
18223
|
-
description: '\u0421\u043E\u0431\u0438\u0440\u0430\u0435\u0442 \u0441\u043E\u0433\u043B\u0430\u0441\u043E\u0432\u0430\u043D\u043D\u044B\u0439 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442 \u0440\u043E\u043B\u0438\u043A\u0430 \u043D\u0430 \u043A\u043E\u043C\u043F\u044C\u044E\u0442\u0435\u0440\u0435 \u0447\u0435\u043B\u043E\u0432\u0435\u043A\u0430: \u044D\u0444\u0444\u0435\u043A\u0442\u044B \u0438\u0441\u0445\u043E\u0434\u043D\u0438\u043A\u0430 (\u0432\u044B\u0440\u0435\u0437 \u0433\u0435\u0440\u043E\u044F, \u0448\u0443\u043C\u043E\u0434\u0430\u0432), \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0443, \u0437\u0432\u0443\u043A, \u0433\u043E\u0442\u043E\u0432\u044B\u0439 \u0444\u0430\u0439\u043B. \u0417\u043E\u0432\u0438 \u041F\u041E\u0421\u041B\u0415 \u0442\u043E\u0433\u043E, \u043A\u0430\u043A \u0447\u0435\u043B\u043E\u0432\u0435\u043A \u0441\u043A\u0430\u0437\u0430\u043B \xAB\u0434\u0430\xBB \u043D\u0430 \u0447\u0435\u0440\u043D\u043E\u0432\u0438\u043A \u0438\u0437 plan \u0438 \u0442\u044B \u0437\u0430\u043F\u0438\u0441\u0430\u043B \u044D\u0442\u043E plan_edit \u0441 {"op": "agree"}. \u0421\u043E\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044F \u0422\u041E\u041B\u042C\u041A\u041E \u0441\u043E\u0433\u043B\u0430\u0441\u043E\u0432\u0430\u043D\u043D\u044B\u0439 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442, \u0438 \u0442\u043E\u043B\u044C\u043A\u043E \u0437\u0430\u043F\u0438\u0441\u0430\u043D\u043D\u044B\u0439 \u0447\u0435\u0440\u0435\u0437 plan_edit: \u0444\u0430\u0439\u043B, \u043F\u043E\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043D\u044B\u0439 \u043C\u0438\u043C\u043E \u043D\u0435\u0433\u043E, \u0434\u0432\u0438\u0436\u043E\u043A \u043D\u0435 \u0441\u043E\u0431\u0435\u0440\u0451\u0442 \u2014 \xAB\u043F\u0440\u0438\u0448\u043B\u0438 \u043F\u0440\u0430\u0432\u043A\u0443 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u044F\u043C\u0438\xBB.\n\u041E\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u043D\u043E\u043C\u0435\u0440\u043E\u043C \u0437\u0430\u0434\u0430\u0447\u0438 \u2014 \u0434\u0430\u043B\u044C\u0448\u0435 wait, \u043E\u043D \u043F\u043E\u0434\u043E\u0436\u0434\u0451\u0442 \u0438 \u0440\u0430\u0441\u0441\u043A\u0430\u0436\u0435\u0442 \u0445\u043E\u0434. \u041F\u043E\u0432\u0442\u043E\u0440 \u0431\u0435\u0437 \u043F\u0440\u0430\u0432\u043E\u043A \u043E\u0442\u0434\u0430\u0451\u0442 \u0433\u043E\u0442\u043E\u0432\u043E\u0435 \u0441\u0440\u0430\u0437\u0443.\n\u041F\u0440\u043E\u0441\u044F\u0442 \xAB\u043F\u0440\u043E\u0441\u0442\u043E \u0443\u0431\u0435\u0440\u0438 \u043F\u0430\u0443\u0437\u044B\xBB \u2014 only_pauses=true \u0441 video: \u0447\u0435\u0440\u043D\u043E\u0432\u0438\u043A \u0441 \u043E\u0434\u043D\u0438\u043C\u0438 \u043F\u0430\u0443\u0437\u0430\u043C\u0438, \u0441\u043E\u0433\u043B\u0430\u0441\u0438\u0435 \u0438 \u0441\u0431\u043E\u0440\u043A\u0430 \u043E\u0434\u043D\u0438\u043C \u0432\u044B\u0437\u043E\u0432\u043E\u043C; tempo \u0440\u044F\u0434\u043E\u043C \u2014 \xAB\u0438 \u0443\u0441\u043A\u043E\u0440\u044C\xBB. \u041F\u0430\u0443\u0437\u044B \u0443\u0431\u0438\u0440\u0430\u044E\u0442\u0441\u044F \u043F\u043E \u0441\u043B\u043E\u0432\u0430\u043C, \u043F\u043E\u044D\u0442\u043E\u043C\u0443 \u043D\u0443\u0436\u043D\u0430 \u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u043D\u043D\u0430\u044F \u0440\u0435\u0447\u044C.\n\u0420\u0430\u0431\u043E\u0442\u0430 \u0438\u0434\u0451\u0442 \u043D\u0430 \u043A\u043E\u043C\u043F\u044C\u044E\u0442\u0435\u0440\u0435 \u0447\u0435\u043B\u043E\u0432\u0435\u043A\u0430, \u043A \u043D\u0430\u043C \u0432\u0438\u0434\u0435\u043E \u043D\u0435 \u0443\u0445\u043E\u0434\u0438\u0442 \u2014 \u043D\u0430\u0432\u0435\u0440\u0445 \u0438\u0434\u0451\u0442 \u0442\u043E\u043B\u044C\u043A\u043E \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u043F\u043E\u0434\u043F\u0438\u0441\u043A\u0438 \u043F\u043E \u043A\u043B\u044E\u0447\u0443.',
|
|
18277
|
+
description: '\u0421\u043E\u0431\u0438\u0440\u0430\u0435\u0442 \u0441\u043E\u0433\u043B\u0430\u0441\u043E\u0432\u0430\u043D\u043D\u044B\u0439 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442 \u0440\u043E\u043B\u0438\u043A\u0430 \u043D\u0430 \u043A\u043E\u043C\u043F\u044C\u044E\u0442\u0435\u0440\u0435 \u0447\u0435\u043B\u043E\u0432\u0435\u043A\u0430: \u044D\u0444\u0444\u0435\u043A\u0442\u044B \u0438\u0441\u0445\u043E\u0434\u043D\u0438\u043A\u0430 (\u0432\u044B\u0440\u0435\u0437 \u0433\u0435\u0440\u043E\u044F, \u0448\u0443\u043C\u043E\u0434\u0430\u0432), \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0443, \u0437\u0432\u0443\u043A, \u0433\u043E\u0442\u043E\u0432\u044B\u0439 \u0444\u0430\u0439\u043B. \u0417\u043E\u0432\u0438 \u041F\u041E\u0421\u041B\u0415 \u0442\u043E\u0433\u043E, \u043A\u0430\u043A \u0447\u0435\u043B\u043E\u0432\u0435\u043A \u0441\u043A\u0430\u0437\u0430\u043B \xAB\u0434\u0430\xBB \u043D\u0430 \u0447\u0435\u0440\u043D\u043E\u0432\u0438\u043A \u0438\u0437 plan \u0438 \u0442\u044B \u0437\u0430\u043F\u0438\u0441\u0430\u043B \u044D\u0442\u043E plan_edit \u0441 {"op": "agree"}. \u0421\u043E\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044F \u0422\u041E\u041B\u042C\u041A\u041E \u0441\u043E\u0433\u043B\u0430\u0441\u043E\u0432\u0430\u043D\u043D\u044B\u0439 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442, \u0438 \u0442\u043E\u043B\u044C\u043A\u043E \u0437\u0430\u043F\u0438\u0441\u0430\u043D\u043D\u044B\u0439 \u0447\u0435\u0440\u0435\u0437 plan_edit: \u0444\u0430\u0439\u043B, \u043F\u043E\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043D\u044B\u0439 \u043C\u0438\u043C\u043E \u043D\u0435\u0433\u043E, \u0434\u0432\u0438\u0436\u043E\u043A \u043D\u0435 \u0441\u043E\u0431\u0435\u0440\u0451\u0442 \u2014 \xAB\u043F\u0440\u0438\u0448\u043B\u0438 \u043F\u0440\u0430\u0432\u043A\u0443 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u044F\u043C\u0438\xBB.\n\u041E\u0442\u0432\u0435\u0447\u0430\u0435\u0442 \u043D\u043E\u043C\u0435\u0440\u043E\u043C \u0437\u0430\u0434\u0430\u0447\u0438 \u2014 \u0434\u0430\u043B\u044C\u0448\u0435 wait, \u043E\u043D \u043F\u043E\u0434\u043E\u0436\u0434\u0451\u0442 \u0438 \u0440\u0430\u0441\u0441\u043A\u0430\u0436\u0435\u0442 \u0445\u043E\u0434. \u041F\u043E\u0432\u0442\u043E\u0440 \u0431\u0435\u0437 \u043F\u0440\u0430\u0432\u043E\u043A \u043E\u0442\u0434\u0430\u0451\u0442 \u0433\u043E\u0442\u043E\u0432\u043E\u0435 \u0441\u0440\u0430\u0437\u0443.\n\u041F\u0440\u043E\u0441\u044F\u0442 \xAB\u0441\u0434\u0435\u043B\u0430\u0439 \u0435\u0449\u0451 5 \u0434\u043B\u044F \u043F\u0440\u043E\u0431\u043D\u043E\u0433\u043E \u0440\u0435\u0436\u0438\u043C\u0430\xBB (Instagram) \u2014 variants=5: \u0441\u043D\u0430\u0447\u0430\u043B\u0430 \u043E\u0441\u043D\u043E\u0432\u043D\u043E\u0439 \u0440\u043E\u043B\u0438\u043A (\u0433\u043E\u0442\u043E\u0432\u044B\u0439 \u0432\u043E\u0437\u044C\u043C\u0451\u0442\u0441\u044F \u0441\u0440\u0430\u0437\u0443), \u043F\u043E\u0442\u043E\u043C \u0432\u0435\u0440\u0441\u0438\u0438 \u0440\u044F\u0434\u043E\u043C \u0441 \u043D\u0438\u043C \u0444\u0430\u0439\u043B\u0430\u043C\u0438 -trial-1\u2026-trial-5. \u0420\u0435\u0447\u044C, \u0440\u0435\u0437\u044B \u0438 \u0437\u0432\u0443\u043A \u0442\u0435 \u0436\u0435, \u043E\u0442\u043B\u0438\u0447\u0430\u044E\u0442\u0441\u044F \u0434\u0432\u0438\u0436\u0435\u043D\u0438\u0435, \u0432\u0440\u0435\u043C\u044F \u0432\u0441\u0442\u0430\u0432\u043E\u043A, \u043C\u0435\u0441\u0442\u0430 \u0438 \u043A\u0440\u0443\u043F\u043D\u043E\u0441\u0442\u044C; \u0446\u0432\u0435\u0442 \u2014 \u0442\u043E\u043B\u044C\u043A\u043E \u043A\u043E\u0433\u0434\u0430 \u0447\u0435\u043B\u043E\u0432\u0435\u043A \u0441\u043A\u0430\u0437\u0430\u043B \xAB\u0438 \u0446\u0432\u0435\u0442 \u0440\u0430\u0437\u043D\u044B\u0439\xBB: vary \u0441 color. \u041E\u0442\u0434\u0435\u043B\u044C\u043D\u043E\u0433\u043E \xAB\u0434\u0430\xBB \u043D\u0430 \u0432\u0435\u0440\u0441\u0438\u0438 \u043D\u0435 \u043D\u0443\u0436\u043D\u043E. \u041C\u0435\u043D\u044F\u0442\u044C\u0441\u044F \u043D\u0435\u0447\u0435\u043C\u0443 \u2014 \u0434\u0432\u0438\u0436\u043E\u043A \u0441\u043A\u0430\u0436\u0435\u0442, \u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0432\u044B\u0448\u043B\u043E, \u0431\u043B\u0438\u0437\u043D\u0435\u0446\u043E\u0432 \u043D\u0435 \u0431\u0443\u0434\u0435\u0442.\n\u041F\u0440\u043E\u0441\u044F\u0442 \xAB\u043F\u0440\u043E\u0441\u0442\u043E \u0443\u0431\u0435\u0440\u0438 \u043F\u0430\u0443\u0437\u044B\xBB \u2014 only_pauses=true \u0441 video: \u0447\u0435\u0440\u043D\u043E\u0432\u0438\u043A \u0441 \u043E\u0434\u043D\u0438\u043C\u0438 \u043F\u0430\u0443\u0437\u0430\u043C\u0438, \u0441\u043E\u0433\u043B\u0430\u0441\u0438\u0435 \u0438 \u0441\u0431\u043E\u0440\u043A\u0430 \u043E\u0434\u043D\u0438\u043C \u0432\u044B\u0437\u043E\u0432\u043E\u043C; tempo \u0440\u044F\u0434\u043E\u043C \u2014 \xAB\u0438 \u0443\u0441\u043A\u043E\u0440\u044C\xBB. \u041F\u0430\u0443\u0437\u044B \u0443\u0431\u0438\u0440\u0430\u044E\u0442\u0441\u044F \u043F\u043E \u0441\u043B\u043E\u0432\u0430\u043C, \u043F\u043E\u044D\u0442\u043E\u043C\u0443 \u043D\u0443\u0436\u043D\u0430 \u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u043D\u043D\u0430\u044F \u0440\u0435\u0447\u044C.\n\u0420\u0430\u0431\u043E\u0442\u0430 \u0438\u0434\u0451\u0442 \u043D\u0430 \u043A\u043E\u043C\u043F\u044C\u044E\u0442\u0435\u0440\u0435 \u0447\u0435\u043B\u043E\u0432\u0435\u043A\u0430, \u043A \u043D\u0430\u043C \u0432\u0438\u0434\u0435\u043E \u043D\u0435 \u0443\u0445\u043E\u0434\u0438\u0442 \u2014 \u043D\u0430\u0432\u0435\u0440\u0445 \u0438\u0434\u0451\u0442 \u0442\u043E\u043B\u044C\u043A\u043E \u043F\u0440\u043E\u0432\u0435\u0440\u043A\u0430 \u043F\u043E\u0434\u043F\u0438\u0441\u043A\u0438 \u043F\u043E \u043A\u043B\u044E\u0447\u0443.',
|
|
18224
18278
|
// Полоса хода работы: монтаж идёт минутами, и всё это время в ленте не
|
|
18225
18279
|
// происходило бы ничего. ⚠ Ожидание — у `wait`, и полосы там нет: иначе
|
|
18226
18280
|
// каждая проверка рисовала бы новую поверх этой.
|
|
@@ -18240,6 +18294,12 @@ function renderTool(engine, _passport, key) {
|
|
|
18240
18294
|
).optional(),
|
|
18241
18295
|
style: external_exports.string().describe(
|
|
18242
18296
|
"\u0422\u043E\u043B\u044C\u043A\u043E \u0432\u043C\u0435\u0441\u0442\u0435 \u0441 only_pauses: \u043F\u0430\u043F\u043A\u0430 \u043F\u0430\u043A\u0430 \u0444\u0438\u0440\u043C\u0435\u043D\u043D\u043E\u0433\u043E \u0441\u0442\u0438\u043B\u044F"
|
|
18297
|
+
).optional(),
|
|
18298
|
+
variants: external_exports.number().int().min(1).max(TRIALS_MAX).describe(
|
|
18299
|
+
`\u0415\u0449\u0451 \u0441\u0442\u043E\u043B\u044C\u043A\u043E \u0432\u0435\u0440\u0441\u0438\u0439 \u0434\u043B\u044F \u043F\u0440\u043E\u0431\u043D\u043E\u0433\u043E \u0440\u0435\u0436\u0438\u043C\u0430 Instagram, 1\u2013${TRIALS_MAX}; \u043E\u0431\u044B\u0447\u043D\u043E 5`
|
|
18300
|
+
).optional(),
|
|
18301
|
+
vary: external_exports.array(external_exports.enum(TRIAL_AXES)).describe(
|
|
18302
|
+
"\u0422\u043E\u043B\u044C\u043A\u043E \u0441 variants: \u0447\u0435\u043C \u0432\u0435\u0440\u0441\u0438\u0438 \u043E\u0442\u043B\u0438\u0447\u0430\u044E\u0442\u0441\u044F. \u0411\u0435\u0437 \u043D\u0435\u0433\u043E \u2014 \u0432\u0441\u0451, \u043A\u0440\u043E\u043C\u0435 \u0446\u0432\u0435\u0442\u0430 (color)"
|
|
18243
18303
|
).optional()
|
|
18244
18304
|
}).check((ctx) => {
|
|
18245
18305
|
const asked = ctx.value;
|
|
@@ -18255,7 +18315,15 @@ function renderTool(engine, _passport, key) {
|
|
|
18255
18315
|
if (asked.video !== void 0 && asked.reel !== void 0) {
|
|
18256
18316
|
say("\xABvideo\xBB \u0438 \xABreel\xBB \u2014 \u044D\u0442\u043E \u043E\u0434\u043D\u043E \u0438 \u0442\u043E \u0436\u0435 \u043C\u0435\u0441\u0442\u043E, \u043D\u0430\u0437\u0432\u0430\u043D\u043D\u043E\u0435 \u0434\u0432\u0430\u0436\u0434\u044B. \u041E\u0441\u0442\u0430\u0432\u044C \u043E\u0434\u043D\u043E", "reel");
|
|
18257
18317
|
}
|
|
18258
|
-
if (asked.
|
|
18318
|
+
if (asked.vary !== void 0 && asked.variants === void 0) {
|
|
18319
|
+
say("\xABvary\xBB \u2014 \u043E\u0441\u0438 \u0432\u0435\u0440\u0441\u0438\u0439: \u0431\u0435\u0437 variants \u0432\u0435\u0440\u0441\u0438\u0439 \u043D\u0435\u0442. \u041D\u0430\u0437\u043E\u0432\u0438, \u0441\u043A\u043E\u043B\u044C\u043A\u043E \u0438\u0445: variants=5", "vary");
|
|
18320
|
+
}
|
|
18321
|
+
if (asked.only_pauses === true) {
|
|
18322
|
+
if (asked.variants !== void 0) {
|
|
18323
|
+
say("\u0412\u0435\u0440\u0441\u0438\u0438 \u0434\u0435\u043B\u0430\u044E\u0442\u0441\u044F \u0438\u0437 \u0441\u043E\u0433\u043B\u0430\u0441\u043E\u0432\u0430\u043D\u043D\u043E\u0433\u043E \u043C\u043E\u043D\u0442\u0430\u0436\u0430, \u0430 \u043D\u0435 \u0438\u0437 \xAB\u0442\u043E\u043B\u044C\u043A\u043E \u043F\u0430\u0443\u0437\u044B\xBB. \u0421\u043D\u0430\u0447\u0430\u043B\u0430 \u0441\u043E\u0431\u0435\u0440\u0438 \u0440\u043E\u043B\u0438\u043A, \u043F\u043E\u0442\u043E\u043C render \u0441 reel \u0438 variants", "variants");
|
|
18324
|
+
}
|
|
18325
|
+
return;
|
|
18326
|
+
}
|
|
18259
18327
|
const extra = ["tempo", "style"].filter((name) => asked[name] !== void 0);
|
|
18260
18328
|
if (extra.length > 0) {
|
|
18261
18329
|
say(
|
|
@@ -18271,7 +18339,9 @@ function renderTool(engine, _passport, key) {
|
|
|
18271
18339
|
video: args.video ?? args.reel ?? "",
|
|
18272
18340
|
onlyPauses: args.only_pauses,
|
|
18273
18341
|
tempo: args.tempo,
|
|
18274
|
-
style: args.style
|
|
18342
|
+
style: args.style,
|
|
18343
|
+
variants: args.variants,
|
|
18344
|
+
vary: args.vary
|
|
18275
18345
|
},
|
|
18276
18346
|
key,
|
|
18277
18347
|
ctx?.emitProgress
|
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, CrashReporter, watchProcessCrashes, McpServer, buildAll, realPace, buildResources, StdioServerTransport, fromHost, WHERE_TO_GET_KEY, Wakefulness, systemBlocker, 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, CrashReporter, watchProcessCrashes, McpServer, buildAll, realPace, buildResources, StdioServerTransport, fromHost, WHERE_TO_GET_KEY, Wakefulness, systemBlocker, updateEngine, installStep, NaparnikApiClient, timeToCheck2, manifestUrlFor, fetchManifest, markChecked2, decide, shellDir, timeToCheck, bundleUrlFor, fetchShellManifest, markChecked, decideShell, installedShell, NaparnikConfigError } from './chunk-DQDZKXDU.js';
|
|
3
3
|
import { fileURLToPath } from 'url';
|
|
4
4
|
import { realpathSync, readFileSync } from 'fs';
|
|
5
5
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1534,9 +1534,9 @@ declare class NaparnikConfigError extends NaparnikError {
|
|
|
1534
1534
|
* годится ли она для новой начинки: разойдись она с пакетом, и в логах будет
|
|
1535
1535
|
* стоять чужое число, а обновление начнёт считать оболочку не той.
|
|
1536
1536
|
*/
|
|
1537
|
-
declare const VERSION = "0.10.
|
|
1537
|
+
declare const VERSION = "0.10.43";
|
|
1538
1538
|
/** Как мы представляемся серверу Напарника. По нему в логах видно оболочку. */
|
|
1539
|
-
declare const USER_AGENT = "naparnik-mcp/0.10.
|
|
1539
|
+
declare const USER_AGENT = "naparnik-mcp/0.10.43";
|
|
1540
1540
|
/**
|
|
1541
1541
|
* Самая старая начинка (движок монтажа), с которой эта оболочка работает.
|
|
1542
1542
|
* Обновление начинки ниже этой версии не ставится, а выше — требует оболочки
|
|
@@ -1573,7 +1573,7 @@ declare const USER_AGENT = "naparnik-mcp/0.10.41";
|
|
|
1573
1573
|
* словами «раздача ещё не обновилась». Номер берётся из УЖЕ СОБРАННОГО
|
|
1574
1574
|
* артефакта этой волны, а не сочиняется по календарю.
|
|
1575
1575
|
*/
|
|
1576
|
-
declare const MIN_ENGINE = "2026.09.24-
|
|
1576
|
+
declare const MIN_ENGINE = "2026.09.24-466";
|
|
1577
1577
|
|
|
1578
1578
|
/**
|
|
1579
1579
|
* Что вышло из установки или отката — одними словами у начинки и у тела.
|
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-DQDZKXDU.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@naparnik/mcp",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.43",
|
|
4
4
|
"description": "MCP-сервер Напарника: монтаж вертикального видео на машине пользователя — паузы, субтитры, герой на новом фоне, звук. Видео никуда не уезжает.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"private": false,
|