@naparnik/mcp 0.10.55 → 0.10.57

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 CHANGED
@@ -1,5 +1,18 @@
1
1
  # Изменения @naparnik/mcp
2
2
 
3
+ ## 0.10.57 — 2026-09-25. Меньше окон в разговоре
4
+
5
+ Окна остались только там, где на них стоит смотреть: выбор стиля, установка
6
+ и сборка ролика. Остальное Claude рассказывает словами.
7
+
8
+ ## 0.10.56 — 2026-09-25. Сначала проверяет, потом отвечает
9
+
10
+ Спросили «умеешь нарисовать график?» — Напарник сначала проверит, что
11
+ умеет, и предложит готовое. Раньше мог сразу ответить «не умею».
12
+
13
+ Ролик из одних картинок и песни не собирается — об этом скажут сразу, до
14
+ начала работы, и подскажут, что снять. Файлы остаются на своих местах.
15
+
3
16
  ## 0.10.55 — 2026-09-25. Откат встаёт сразу
4
17
 
5
18
  Откатили монтаж на прежнюю версию — она начинает работать сразу, без
@@ -754,7 +754,7 @@ function parsePositiveInt(raw, fallback) {
754
754
  }
755
755
 
756
756
  // src/version.ts
757
- var VERSION = "0.10.55";
757
+ var VERSION = "0.10.57";
758
758
  var USER_AGENT = `naparnik-mcp/${VERSION}`;
759
759
  var MIN_ENGINE = "2026.09.24-478";
760
760
  var LAUNCHER_PROTOCOL = 1;
@@ -16017,7 +16017,9 @@ function fromWords(text2, contract) {
16017
16017
  }
16018
16018
  function folderAnswer(text2) {
16019
16019
  const read = fromWords(text2);
16020
- return "refusal" in read ? toolError(read.refusal) : toolSuccess(read.words, read.data);
16020
+ if (!("refusal" in read)) return toolSuccess(read.words, read.data);
16021
+ const plain = text2.trim();
16022
+ return toolError(plain.startsWith("{") || plain === "" ? read.refusal : plain);
16021
16023
  }
16022
16024
  var DRAFT_CONTRACT = "naparnik-draft/1";
16023
16025
  var VIEW_CONTRACT = "naparnik-view/1";
@@ -17612,7 +17614,7 @@ function setupTool(engine, passport, key, baseUrl) {
17612
17614
  return defineTool({
17613
17615
  name: "setup",
17614
17616
  title: "\u041F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C, \u0432\u0441\u0451 \u043B\u0438 \u0433\u043E\u0442\u043E\u0432\u043E \u0434\u043B\u044F \u043C\u043E\u043D\u0442\u0430\u0436\u0430",
17615
- description: "\u041F\u0440\u043E\u0432\u0435\u0440\u044F\u0435\u0442 \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, \u0438 \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 choose_variant, \u0447\u0435\u0439 \u0441\u0442\u0438\u043B\u044C). \u0417\u043E\u0432\u0438 \u041F\u0415\u0420\u0412\u042B\u041C, \u0434\u043E \u0440\u0430\u0431\u043E\u0442\u044B \u0441 \u0432\u0438\u0434\u0435\u043E. \u0421\u0442\u0430\u0432\u0438\u0442 install. \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.",
17617
+ description: "\u041F\u0440\u043E\u0432\u0435\u0440\u044F\u0435\u0442 \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, \u0438 \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 choose_variant, \u0447\u0435\u0439 \u0441\u0442\u0438\u043B\u044C). \u0417\u043E\u0432\u0438 \u041F\u0415\u0420\u0412\u042B\u041C \u043D\u0430 \u043B\u044E\u0431\u0443\u044E \u043F\u0440\u043E\u0441\u044C\u0431\u0443 \u0438 \xAB\u0443\u043C\u0435\u0435\u0448\u044C \u043B\u0438\xBB, \u0434\u043E \u043E\u0442\u0432\u0435\u0442\u0430. \u0421\u0442\u0430\u0432\u0438\u0442 install. \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.",
17616
17618
  args: external_exports.object({
17617
17619
  model: fromList(
17618
17620
  passport?.["models"],
@@ -19067,11 +19069,11 @@ function planTool(engine, key) {
19067
19069
  \u041F\u0435\u0440\u0432\u044B\u0439 \u0447\u0435\u0440\u043D\u043E\u0432\u0438\u043A \u0441 \u0440\u0435\u0447\u044C\u044E \u0438\u0434\u0451\u0442 \u043C\u0438\u043D\u0443\u0442\u0430\u043C\u0438. \u041E\u0431\u043E\u0440\u0432\u0430\u043B\u0441\u044F \u0432\u044B\u0437\u043E\u0432 \u2014 \u0440\u0430\u0431\u043E\u0442\u0430 \u043D\u0435 \u043F\u0440\u043E\u043F\u0430\u043B\u0430: \u043F\u043E\u0437\u043E\u0432\u0438 wait, \u0430 \u043F\u043E\u0442\u043E\u043C plan \u043F\u043E \u0442\u043E\u043C\u0443 \u0436\u0435 \u0440\u043E\u043B\u0438\u043A\u0443 \u0435\u0449\u0451 \u0440\u0430\u0437, \u0432\u0442\u043E\u0440\u043E\u0439 \u0440\u0430\u0437 \u044D\u0442\u043E \u0441\u0435\u043A\u0443\u043D\u0434\u044B.
19068
19070
  \u0421 reel \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u0442 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442 \u0440\u043E\u043B\u0438\u043A\u0430: \u0434\u043E\u0440\u043E\u0436\u043A\u0438, \u043A\u043B\u0438\u043F\u044B \u043F\u043E id, \u0441\u043E\u0433\u043B\u0430\u0441\u043E\u0432\u0430\u043D \u043B\u0438 \u043E\u043D.
19069
19071
  \u0421 read \u043E\u0442\u0434\u0430\u0451\u0442 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B \u0421\u043F\u0440\u0430\u0432\u043E\u0447\u043D\u0438\u043A\u0430 \u043C\u043E\u043D\u0442\u0430\u0436\u0451\u0440\u0430 (\u043F\u0435\u0447\u0430\u0442\u044C \u043F\u0435\u0440\u0432\u043E\u0439 \u0441\u0442\u0440\u043E\u043A\u043E\u0439), \u0442\u0430\u0431\u043B\u0438\u0446\u044B \u0432\u043A\u0443\u0441\u0430 \u0438 \u0447\u0443\u0436\u0438\u0435 \u0444\u0430\u0439\u043B\u044B \u2014 \u043F\u0443\u0442\u0438 \u0438\u0437 \u043E\u0433\u043B\u0430\u0432\u043B\u0435\u043D\u0438\u044F (\u0435\u0433\u043E \u0434\u0430\u0451\u0442 setup), \u0447\u0435\u0440\u043D\u043E\u0432\u0438\u043A\u0430 \u0438\u043B\u0438 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B. \u0427\u0438\u0442\u0430\u0439 2\u20134 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B \u043E\u0434\u043D\u0438\u043C \u0432\u044B\u0437\u043E\u0432\u043E\u043C \u0438 \u043D\u0435 \u0432\u044B\u0434\u0443\u043C\u044B\u0432\u0430\u0439 \u043F\u0443\u0442\u0435\u0439.`,
19070
- // Полоса хода работы в ленте: черновик считается минутами, и всё это время
19071
- // в ленте не происходило бы ничего. ⚠ Ожидание задачи — у `wait`, и полосы
19072
- // у него нет: она объявлена на инструменте, и каждый вызов ожидания рисовал
19073
- // бы новую.
19074
- ui: { resourceUri: RUNBAR_RESOURCE_URI },
19072
+ // ⚠ ОКНА У `plan` НЕТ — РЕШЕНИЕ ВЛАДЕЛЬЦА 2026-09-25. Окно в Claude Desktop
19073
+ // привязано к инструменту целиком, а `plan` делает три разных дела: читает
19074
+ // справочник, показывает папку, составляет черновик. Долгое только третье, и
19075
+ // на каждое чтение страниц в ленте висела пустая рамка. Окна — только там,
19076
+ // где человеку есть на что смотреть: выбор стиля, установка, сборка.
19075
19077
  args: external_exports.object({
19076
19078
  video: external_exports.string().describe(
19077
19079
  "\u041F\u0443\u0442\u044C \u043A \u0432\u0438\u0434\u0435\u043E\u0444\u0430\u0439\u043B\u0443 \u0441 \u0440\u0435\u0447\u044C\u044E \u2014 \u043F\u043E \u043D\u0435\u043C\u0443 \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044F \u0447\u0435\u0440\u043D\u043E\u0432\u0438\u043A. \u0424\u0430\u0439\u043B \u043B\u0435\u0436\u0438\u0442 \u0432 \u043F\u0430\u043F\u043A\u0435 \u0447\u0435\u043B\u043E\u0432\u0435\u043A\u0430 \u0438 \u0440\u043E\u043B\u0438\u043A\u043E\u043C \u0435\u0449\u0451 \u043D\u0435 \u0441\u0442\u0430\u043B \u2014 \u0437\u0430\u0432\u0435\u0434\u0443 \u0440\u043E\u043B\u0438\u043A \u0441\u0430\u043C"
@@ -19215,7 +19217,7 @@ stamps \u2014 \u043F\u0435\u0447\u0430\u0442\u0438 \u043F\u0440\u043E\u0447\u043
19215
19217
  \xAB\u0414\u0430\xBB \u0447\u0435\u043B\u043E\u0432\u0435\u043A\u0430 \u2014 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u044F {"op": "agree"}: \u0442\u0435\u043C \u0436\u0435 \u0432\u044B\u0437\u043E\u0432\u043E\u043C, \u0447\u0442\u043E \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u044F\u044F \u043F\u0440\u0430\u0432\u043A\u0430, \u0438\u043B\u0438 \u043E\u0442\u0434\u0435\u043B\u044C\u043D\u043E; \u043F\u0435\u0447\u0430\u0442\u0438 \u0435\u0439 \u043D\u0435 \u043D\u0443\u0436\u043D\u043E. \u041B\u044E\u0431\u0430\u044F \u043F\u0440\u0430\u0432\u043A\u0430 \u0441\u043E\u0433\u043B\u0430\u0441\u0438\u0435 \u0441\u043D\u0438\u043C\u0430\u0435\u0442. \u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442 \u043F\u0440\u0430\u0432\u0438\u0442\u0441\u044F \u0422\u041E\u041B\u042C\u041A\u041E \u0437\u0434\u0435\u0441\u044C: \u0444\u0430\u0439\u043B, \u043F\u043E\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043D\u044B\u0439 \u043C\u0438\u043C\u043E plan_edit, \u043D\u0435 \u0441\u043E\u0433\u043B\u0430\u0441\u0443\u0435\u0442\u0441\u044F \u0438 \u043D\u0435 \u0441\u043E\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044F.
19216
19218
  rebuild \u2014 \u0441\u0440\u0430\u0437\u0443 \u0441\u043E\u0431\u0440\u0430\u0442\u044C \u0441\u043E\u0433\u043B\u0430\u0441\u043E\u0432\u0430\u043D\u043D\u044B\u0439 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442: \u043E\u0442\u0432\u0435\u0447\u0443 \u043D\u043E\u043C\u0435\u0440\u043E\u043C \u0437\u0430\u0434\u0430\u0447\u0438, \u0434\u0430\u043B\u044C\u0448\u0435 wait.
19217
19219
  \u0421\u043E step \u043F\u0440\u0430\u0432\u0438\u0442 \u043D\u0435 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442, \u0430 \u041F\u041E\u0420\u042F\u0414\u041E\u041A \u0428\u0410\u0413\u041E\u0412 \u0441\u0442\u0430\u0440\u043E\u0433\u043E \u043C\u043E\u043D\u0442\u0430\u0436\u0430: show, mine, insert, replace, remove. render \u043F\u043E \u044D\u0442\u043E\u043C\u0443 \u043F\u043E\u0440\u044F\u0434\u043A\u0443 \u041D\u0415 \u0441\u043E\u0431\u0438\u0440\u0430\u0435\u0442, \u0438 \u0440\u043E\u043B\u0438\u043A \u043E\u0442 step \u043D\u0435 \u043C\u0435\u043D\u044F\u0435\u0442\u0441\u044F. \u0421\u0432\u043E\u0439 \u044D\u0444\u0444\u0435\u043A\u0442 \u0432 \u0440\u043E\u043B\u0438\u043A\u0435 \u2014 \u043E\u043F\u0435\u0440\u0430\u0446\u0438\u0435\u0439 set \u0441 uses: "mine:<\u0438\u043C\u044F>".`,
19218
- ui: { resourceUri: RUNBAR_RESOURCE_URI },
19220
+ // Окна нет по тому же решению, что у `plan`: правка обычно мгновенная.
19219
19221
  args: external_exports.object({
19220
19222
  reel: external_exports.string().describe(
19221
19223
  "\u041F\u0430\u043F\u043A\u0430 \u0440\u043E\u043B\u0438\u043A\u0430 \u0438\u043B\u0438 \u043F\u0443\u0442\u044C \u043A \u0432\u0438\u0434\u0435\u043E\u0444\u0430\u0439\u043B\u0443 \u2014 \u0447\u0442\u043E \u0435\u0441\u0442\u044C \u043F\u043E\u0434 \u0440\u0443\u043A\u043E\u0439"
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, McpServer, watchProcessCrashes, reportInstallFaults, noteInstallFault, StdioServerTransport, fromHost, WHERE_TO_GET_KEY, Wakefulness, systemBlocker, updateEngine, installStep, currentMachineFingerprint, CrashReporter, whenNewerReleased, buildAll, realPace, buildResources, shellDir, describeFailure, compare, toolError, NaparnikApiClient, ownSetupJobRunning, forModel, installedShell, startSetupJob, TITLE_UPDATE, runUpdate, setupJobDone, reportJobFaults, setupJobEnding, NaparnikConfigError, installMissing } from './chunk-KOQMQZAJ.js';
2
+ import { Engine, chooseBody, handOverToBody, VERSION, rollback, rollbackShell, remove, fromNpxCache, install, keyFromBlock, readConfig, ForeignBlockError, McpServer, watchProcessCrashes, reportInstallFaults, noteInstallFault, StdioServerTransport, fromHost, WHERE_TO_GET_KEY, Wakefulness, systemBlocker, updateEngine, installStep, currentMachineFingerprint, CrashReporter, whenNewerReleased, buildAll, realPace, buildResources, shellDir, describeFailure, compare, toolError, NaparnikApiClient, ownSetupJobRunning, forModel, installedShell, startSetupJob, TITLE_UPDATE, runUpdate, setupJobDone, reportJobFaults, setupJobEnding, NaparnikConfigError, installMissing } from './chunk-UNY2I76K.js';
3
3
  import { realpathSync, readFileSync } from 'fs';
4
4
  import { join } from 'path';
5
5
  import { fileURLToPath, pathToFileURL } from 'url';
@@ -21,34 +21,34 @@ function notConfiguredClient(reason) {
21
21
 
22
22
  // src/instructions.ts
23
23
  var WHAT_IS_IT = `
24
- \u041D\u0430\u043F\u0430\u0440\u043D\u0438\u043A \u043C\u043E\u043D\u0442\u0438\u0440\u0443\u0435\u0442 \u0432\u0438\u0434\u0435\u043E \u043D\u0430 \u043A\u043E\u043C\u043F\u044C\u044E\u0442\u0435\u0440\u0435 \u0447\u0435\u043B\u043E\u0432\u0435\u043A\u0430. \u041D\u0438 \u0432\u0438\u0434\u0435\u043E, \u043D\u0438 \u0437\u0432\u0443\u043A, \u043D\u0438 \u0440\u0435\u0447\u044C
25
- \u043D\u0438\u043A\u0443\u0434\u0430 \u043D\u0435 \u0443\u0435\u0437\u0436\u0430\u044E\u0442 \u2014 \u043F\u0440\u0438 \u0441\u0431\u043E\u0435 \u0443\u0445\u043E\u0434\u0438\u0442 \u043E\u0442\u0447\u0451\u0442 \u043E \u043F\u043E\u043B\u043E\u043C\u043A\u0435.
24
+ \u041D\u0430\u043F\u0430\u0440\u043D\u0438\u043A \u043C\u043E\u043D\u0442\u0438\u0440\u0443\u0435\u0442 \u0432\u0438\u0434\u0435\u043E \u0438 \u0440\u0438\u0441\u0443\u0435\u0442 \u0433\u0440\u0430\u0444\u0438\u043A\u0443 \u043D\u0430 \u043A\u043E\u043C\u043F\u044C\u044E\u0442\u0435\u0440\u0435 \u0447\u0435\u043B\u043E\u0432\u0435\u043A\u0430. \u041D\u0438 \u0432\u0438\u0434\u0435\u043E,
25
+ \u043D\u0438 \u0437\u0432\u0443\u043A, \u043D\u0438 \u0440\u0435\u0447\u044C \u043D\u0438\u043A\u0443\u0434\u0430 \u043D\u0435 \u0443\u0435\u0437\u0436\u0430\u044E\u0442 \u2014 \u043F\u0440\u0438 \u0441\u0431\u043E\u0435 \u0443\u0445\u043E\u0434\u0438\u0442 \u043E\u0442\u0447\u0451\u0442 \u043E \u043F\u043E\u043B\u043E\u043C\u043A\u0435.
26
26
  `.trim();
27
27
  var HOW_MONTAGE_WORKS = `
28
28
  \u041A\u0410\u041A \u041C\u041E\u041D\u0422\u0418\u0420\u041E\u0412\u0410\u0422\u042C
29
29
 
30
- 1. setup \u043F\u0435\u0440\u0432\u044B\u043C, \u0434\u043E \u0432\u0438\u0434\u0435\u043E: \u0447\u0442\u043E \u0441\u0442\u043E\u0438\u0442, \u0447\u0435\u0439 \u0441\u0442\u0438\u043B\u044C \u0438 \u043E\u0433\u043B\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0421\u041F\u0420\u0410\u0412\u041E\u0427\u041D\u0418\u041A\u0410
31
- \u041C\u041E\u041D\u0422\u0410\u0416\u0401\u0420\u0410. \u0427\u0442\u043E \u0443\u043C\u0435\u0435\u0442 \u043C\u043E\u043D\u0442\u0430\u0436 \u2014 \u0438\u0437 \u0441\u043F\u0440\u0430\u0432\u043E\u0447\u043D\u0438\u043A\u0430, \u043D\u0435 \u0438\u0437 \u043F\u0430\u043C\u044F\u0442\u0438.
32
- 2. \u0421\u0442\u0440\u0430\u043D\u0438\u0446\u044B \u0437\u0430\u0434\u0430\u0447\u0438 \u0438\u0437 \u043E\u0433\u043B\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u0438 \u043D\u0430\u0437\u0432\u0430\u043D\u043D\u044B\u0435 \u043E\u0442\u0432\u0435\u0442\u0430\u043C\u0438 \u043F\u0440\u043E\u0447\u0442\u0438 plan \u0441 read
30
+ 1. setup \u041F\u0415\u0420\u0412\u042B\u041C \u043D\u0430 \u043B\u044E\u0431\u0443\u044E \u043F\u0440\u043E\u0441\u044C\u0431\u0443 \u0438 \xAB\u0443\u043C\u0435\u0435\u0448\u044C \u043B\u0438\xBB: \u0447\u0442\u043E \u0441\u0442\u043E\u0438\u0442, \u0447\u0435\u0439 \u0441\u0442\u0438\u043B\u044C,
31
+ \u043E\u0433\u043B\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0421\u041F\u0420\u0410\u0412\u041E\u0427\u041D\u0418\u041A\u0410 \u041C\u041E\u041D\u0422\u0410\u0416\u0401\u0420\u0410. \u0427\u0442\u043E \u0443\u043C\u0435\u0435\u0448\u044C \u2014 \u0438\u0437 \u0441\u043F\u0440\u0430\u0432\u043E\u0447\u043D\u0438\u043A\u0430,
32
+ \u043D\u0435 \u0438\u0437 \u043F\u0430\u043C\u044F\u0442\u0438: \xAB\u043D\u0435 \u0443\u043C\u0435\u044E\xBB \u0431\u0435\u0437 \u043D\u0435\u0433\u043E \u043D\u0435 \u0433\u043E\u0432\u043E\u0440\u0438.
33
+ 2. \u0421\u0442\u0440\u0430\u043D\u0438\u0446\u044B \u0437\u0430\u0434\u0430\u0447\u0438 \u0438\u0437 \u043E\u0433\u043B\u0430\u0432\u043B\u0435\u043D\u0438\u044F \u0438 \u043E\u0442\u0432\u0435\u0442\u043E\u0432 \u043F\u0440\u043E\u0447\u0442\u0438 plan \u0441 read
33
34
  \u0414\u041E \u043E\u0442\u0432\u0435\u0442\u0430.
34
- 3. plan \u0441 video \u2014 \u0427\u0415\u0420\u041D\u041E\u0412\u0418\u041A: \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442 \u0438 \u043F\u0435\u0440\u0435\u0441\u043A\u0430\u0437. \u041F\u0435\u0440\u0435\u0441\u043A\u0430\u0436\u0438 \u041F\u041E\u0421\u0422\u0420\u041E\u0427\u041D\u041E \u0438
35
- \u043E\u0431\u0441\u0443\u0434\u0438, \u043F\u0440\u0430\u0432\u043A\u0438 \u2014 plan_edit. \u041F\u0440\u043E\u0441\u044C\u0431\u0430 \u043F\u0440\u043E \u043E\u0434\u043D\u043E \u2014 ask \u0435\u0451 \u0440\u0430\u0437\u0434\u0435\u043B\u0430\u043C\u0438 \u0438\u043B\u0438 {}
35
+ 3. plan \u0441 video \u2014 \u0427\u0415\u0420\u041D\u041E\u0412\u0418\u041A: \u043F\u0435\u0440\u0435\u0441\u043A\u0430\u0436\u0438 \u041F\u041E\u0421\u0422\u0420\u041E\u0427\u041D\u041E \u0438 \u043E\u0431\u0441\u0443\u0434\u0438, \u043F\u0440\u0430\u0432\u043A\u0438 \u2014
36
+ plan_edit. \u041F\u0440\u043E\u0441\u044C\u0431\u0430 \u043F\u0440\u043E \u043E\u0434\u043D\u043E \u2014 ask \u0435\u0451 \u0440\u0430\u0437\u0434\u0435\u043B\u0430\u043C\u0438 \u0438\u043B\u0438 {}
36
37
  (\u0441\u043B\u043E\u0432\u043E, \u043E\u0433\u043E\u0432\u043E\u0440\u043A\u0430 \u2014 {"speech":{}}): \u0432 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0435 \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u043D\u0430.
37
38
  4. \u0421\u0442\u0438\u043B\u044C \u0432\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0439 \u2014 \u0414\u041E \xAB\u0434\u0430\xBB \u0441\u043F\u0440\u043E\u0441\u0438 \u041E\u0414\u0418\u041D \u0440\u0430\u0437, \u0432\u0430\u0440\u0438\u0430\u043D\u0442\u0430\u043C\u0438 \u043F\u043E \u0440\u0430\u0437\u0434\u0435\u043B\u0430\u043C
38
- (\u0441\u0443\u0431\u0442\u0438\u0442\u0440\u044B, \u0446\u0432\u0435\u0442, \u043F\u0430\u0443\u0437\u044B, \u0441\u0432\u043E\u0439 \u0441\u0442\u0438\u043B\u044C): AskUserQuestion, \u0431\u0435\u0437 \u043D\u0435\u0433\u043E \u2014 \u0441\u043B\u043E\u0432\u0430\u043C\u0438 \u0441
39
+ (\u0441\u0443\u0431\u0442\u0438\u0442\u0440\u044B, \u0446\u0432\u0435\u0442, \u043F\u0430\u0443\u0437\u044B, \u0441\u0432\u043E\u0439 \u0441\u0442\u0438\u043B\u044C): AskUserQuestion, \u0438\u043D\u0430\u0447\u0435 \u0441\u043B\u043E\u0432\u0430\u043C\u0438 \u0441
39
40
  \u043D\u043E\u043C\u0435\u0440\u0430\u043C\u0438. \u0412\u044B\u0431\u0440\u0430\u043D\u043D\u043E\u0435 \u2014 choose_variant(questions=[\u0440\u0430\u0437\u0434\u0435\u043B\u044B]);
40
41
  \u043D\u0438\u0447\u0435\u0433\u043E \u2014 variant_chosen \u0441 keep=true. \u0421\u0442\u0438\u043B\u044C \u0443\u0436\u0435 \u0441\u0432\u043E\u0439 \u2014 \u043D\u0435 \u0441\u043F\u0440\u0430\u0448\u0438\u0432\u0430\u0439.
41
42
  5. \u0411\u0435\u0437 \xAB\u0434\u0430\xBB \u043D\u0435 \u0441\u043E\u0431\u0438\u0440\u0430\u0439; \u0441\u043A\u0430\u0437\u0430\u043B \u2014 plan_edit \u0441 agree, \u043F\u043E\u0442\u043E\u043C render:
42
43
  \u0432\u0435\u0440\u043D\u0451\u0442 \u041D\u041E\u041C\u0415\u0420 \u0417\u0410\u0414\u0410\u0427\u0418, \u0436\u0434\u0438 wait, \u043F\u0435\u0440\u0435\u0441\u043A\u0430\u0437\u044B\u0432\u0430\u0439 \u0448\u0430\u0433\u0438 \u0432 \u0447\u0435\u043A-\u043B\u0438\u0441\u0442\u0435 (TaskUpdate),
43
- \u043C\u043E\u043B\u0447\u0430\u043D\u0438\u0435 \u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044F \xAB\u0437\u0430\u0432\u0438\u0441\u043B\u043E\xBB. \u0413\u043E\u0442\u043E\u0432\u043E \u2014 preview.
44
- 6. \u041F\u0440\u0430\u0432\u043A\u0430 \u0436\u0434\u0451\u0442 \u043F\u0435\u0447\u0430\u0442\u044C \u043F\u0440\u043E\u0447\u0438\u0442\u0430\u043D\u043D\u043E\u0439 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B (stamps, document/edits.md):
45
- \u0431\u0435\u0437 \u043D\u0435\u0451 plan_edit \u043E\u0442\u043A\u0430\u0436\u0435\u0442 \u0438 \u043F\u0440\u0438\u0448\u043B\u0451\u0442 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443.
44
+ \u043C\u043E\u043B\u0447\u0430\u043D\u0438\u0435 \u2014 \xAB\u0437\u0430\u0432\u0438\u0441\u043B\u043E\xBB. \u0413\u043E\u0442\u043E\u0432\u043E \u2014 preview.
45
+ 6. \u041F\u0440\u0430\u0432\u043A\u0430 \u0436\u0434\u0451\u0442 \u043F\u0435\u0447\u0430\u0442\u044C \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B (stamps, document/edits.md), \u0438\u043D\u0430\u0447\u0435
46
+ plan_edit \u043E\u0442\u043A\u0430\u0436\u0435\u0442 \u0438 \u043F\u0440\u0438\u0448\u043B\u0451\u0442 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0443.
46
47
  7. \u0422\u044F\u0436\u0451\u043B\u043E\u0435 (\u0432\u044B\u0440\u0435\u0437 \u0433\u0435\u0440\u043E\u044F, \u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u0432\u0430\u043D\u0438\u0435 \u0440\u0435\u0447\u0438) \u2014 \u041F\u041E \u041F\u0420\u041E\u0421\u042C\u0411\u0415, \u0432\u0435\u0441 \u0438\u0437 setup.
47
48
  \xAB\u0414\u0430\xBB, \xAB\u043E\u0431\u043D\u043E\u0432\u0438\xBB \u2014 \u041E\u0414\u0418\u041D install, \u0434\u0430\u043B\u044C\u0448\u0435 wait.
48
49
 
49
50
  \u0421\u043F\u0440\u0430\u0432\u043E\u0447\u043D\u0438\u043A \u0433\u043E\u0434\u0438\u0442\u0441\u044F \u0438 \u0431\u0435\u0437 \u0440\u043E\u043B\u0438\u043A\u0430: \u043F\u0440\u0435\u0437\u0435\u043D\u0442\u0430\u0446\u0438\u044F.
50
- \u041D\u0435 \u0432\u044B\u0434\u0443\u043C\u044B\u0432\u0430\u0439; \u0432\u0440\u0435\u043C\u044F \u2014 \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u0442 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430.
51
- \u041A\u0430\u043A \u0443\u0441\u0442\u0440\u043E\u0435\u043D\u043E \u0432\u043D\u0443\u0442\u0440\u0438, \u043D\u0435 \u0440\u0430\u0441\u0441\u043A\u0430\u0437\u044B\u0432\u0430\u0439.
51
+ \u041D\u0435 \u0432\u044B\u0434\u0443\u043C\u044B\u0432\u0430\u0439; \u0432\u0440\u0435\u043C\u044F \u2014 \u0442\u043E\u043B\u044C\u043A\u043E \u043E\u0442 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430; \u043A\u0430\u043A \u0443\u0441\u0442\u0440\u043E\u0435\u043D\u043E \u2014 \u043D\u0435 \u0440\u0430\u0441\u0441\u043A\u0430\u0437\u044B\u0432\u0430\u0439.
52
52
  `.trim();
53
53
  function notConfiguredInstructions(problem, detail) {
54
54
  const diagnosis = problem === "missing_key" ? "\u041A\u043B\u044E\u0447 \u0434\u043E\u0441\u0442\u0443\u043F\u0430 \u043D\u0435 \u0437\u0430\u0434\u0430\u043D." : `\u041A\u043B\u044E\u0447 \u0437\u0430\u0434\u0430\u043D, \u043D\u043E \u0432\u044B\u0433\u043B\u044F\u0434\u0438\u0442 \u043D\u0435\u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u043E. ${detail}`;
package/dist/index.d.ts CHANGED
@@ -1197,9 +1197,9 @@ declare class NaparnikConfigError extends NaparnikError {
1197
1197
  * годится ли она для новой начинки: разойдись она с пакетом, и в логах будет
1198
1198
  * стоять чужое число, а обновление начнёт считать оболочку не той.
1199
1199
  */
1200
- declare const VERSION = "0.10.55";
1200
+ declare const VERSION = "0.10.57";
1201
1201
  /** Как мы представляемся серверу Напарника. По нему в логах видно оболочку. */
1202
- declare const USER_AGENT = "naparnik-mcp/0.10.55";
1202
+ declare const USER_AGENT = "naparnik-mcp/0.10.57";
1203
1203
  /**
1204
1204
  * Самая старая начинка (движок монтажа), с которой эта оболочка работает.
1205
1205
  * Обновление начинки ниже этой версии не ставится, а выше — требует оболочки
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- export { DEFAULT_HOME, DeliveryError, Engine, ForeignBlockError, INSTALL_STEPS, KEEP_COPIES, KEEP_VERSIONS, LOCK_FILE, LONG_STEPS, MANIFEST_TIMEOUT_MS, MANIFEST_URL, MARKER, MIN_ENGINE, NaparnikApiClient, NaparnikAuthError, NaparnikClientError, NaparnikConfigError, NaparnikError, NaparnikInsufficientBalanceError, NaparnikScopeError, NaparnikServerError, NaparnikTimeoutError, PAUSE_HOURS, SERVER_NAME, START_SEC, TOOL_SEC, USER_AGENT, VERSION, bringPython, buildAll, buildBlock, buildResources, compare, configPath, decide, defineTool, depFolderName, deploy, downloadFile, fetchManifest, fileOrRefusal, findBlock, fromNpxCache, inside, install, installPayload, jsonSchemaOf, keyInTable, lastLine, loadConfig, lockedPython, markChecked, markCurrent, parseEngineManifest, parseFailure, path, platformKey, previousVersion, probe, refusalFor, remove, rollback, tarEntries, tidyOld, timeToCheck, unpackArchive, withArgs } from './chunk-KOQMQZAJ.js';
1
+ export { DEFAULT_HOME, DeliveryError, Engine, ForeignBlockError, INSTALL_STEPS, KEEP_COPIES, KEEP_VERSIONS, LOCK_FILE, LONG_STEPS, MANIFEST_TIMEOUT_MS, MANIFEST_URL, MARKER, MIN_ENGINE, NaparnikApiClient, NaparnikAuthError, NaparnikClientError, NaparnikConfigError, NaparnikError, NaparnikInsufficientBalanceError, NaparnikScopeError, NaparnikServerError, NaparnikTimeoutError, PAUSE_HOURS, SERVER_NAME, START_SEC, TOOL_SEC, USER_AGENT, VERSION, bringPython, buildAll, buildBlock, buildResources, compare, configPath, decide, defineTool, depFolderName, deploy, downloadFile, fetchManifest, fileOrRefusal, findBlock, fromNpxCache, inside, install, installPayload, jsonSchemaOf, keyInTable, lastLine, loadConfig, lockedPython, markChecked, markCurrent, parseEngineManifest, parseFailure, path, platformKey, previousVersion, probe, refusalFor, remove, rollback, tarEntries, tidyOld, timeToCheck, unpackArchive, withArgs } from './chunk-UNY2I76K.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@naparnik/mcp",
3
- "version": "0.10.55",
3
+ "version": "0.10.57",
4
4
  "description": "MCP-сервер Напарника: монтаж вертикального видео на машине пользователя — паузы, субтитры, герой на новом фоне, звук. Видео никуда не уезжает.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "private": false,