@naparnik/mcp 0.10.21 → 0.10.25
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 +30 -0
- package/dist/{chunk-5DKUJSAN.js → chunk-F5B2GHZW.js} +1074 -295
- package/dist/cli.js +26 -12
- package/dist/index.d.ts +842 -633
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { Engine, chooseBody, handOverToBody, VERSION, rollback, rollbackShell, remove, fromNpxCache, install, keyFromBlock, readConfig, ForeignBlockError, currentMachineFingerprint, McpServer, buildAll, buildResources, StdioServerTransport, fromHost, WHERE_TO_GET_KEY, updateEngine, installStep, NaparnikApiClient, timeToCheck2, manifestUrlFor, fetchManifest, markChecked2, decide, shellDir, timeToCheck, bundleUrlFor, fetchShellManifest, markChecked, decideShell, installedShell, NaparnikConfigError } from './chunk-
|
|
2
|
+
import { Engine, chooseBody, handOverToBody, VERSION, rollback, rollbackShell, remove, fromNpxCache, install, keyFromBlock, readConfig, ForeignBlockError, currentMachineFingerprint, 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-F5B2GHZW.js';
|
|
3
3
|
import { fileURLToPath } from 'url';
|
|
4
4
|
import { realpathSync, readFileSync } from 'fs';
|
|
5
5
|
|
|
@@ -21,7 +21,7 @@ function notConfiguredClient(reason) {
|
|
|
21
21
|
// src/instructions.ts
|
|
22
22
|
var WHAT_IS_IT = `
|
|
23
23
|
\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
|
|
24
|
-
\u043D\u0438\u043A\u0443\u0434\u0430 \u043D\u0435 \u0443\u0435\u0437\u0436\u0430\u044E\u0442 \u2014 \
|
|
24
|
+
\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.
|
|
25
25
|
`.trim();
|
|
26
26
|
var HOW_MONTAGE_WORKS = `
|
|
27
27
|
\u041A\u0410\u041A \u041C\u041E\u041D\u0422\u0418\u0420\u041E\u0412\u0410\u0422\u042C
|
|
@@ -46,9 +46,9 @@ var HOW_MONTAGE_WORKS = `
|
|
|
46
46
|
plan_edit, \u0441\u0431\u043E\u0440\u043A\u0430 \u2014 render \u0441 reel; \u0441\u0432\u043E\u0451 \u2014 \u0441\u0432\u043E\u0439 \u0448\u0430\u0433 \u0432 mine/steps (\u043F\u0430\u043F\u043A\u0443
|
|
47
47
|
\u0432\u0435\u0440\u0441\u0438\u0438 \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u0437\u0430\u043C\u0435\u043D\u044F\u0435\u0442), \u0434\u0430\u043B\u044C\u0448\u0435 plan_edit \u0441\u043E step; \u043A\u0430\u043A \u2014 \u0432 \u0441\u043A\u0438\u043B\u043B\u0435 builder.
|
|
48
48
|
\u0422\u043E\u043B\u044C\u043A\u043E \u043F\u0430\u0443\u0437\u044B \u2014 render \u0441 only_pauses.
|
|
49
|
-
7. \u0422\u044F\u0436\u0451\u043B\u043E\u0435 (\u0432\u044B\u0440\u0435\u0437 \u0433\u0435\u0440\u043E\u044F, \u0447\u0438\u0441\u0442\u043A\u0430 \u0433\u043E\u043B\u043E\u0441\u0430, \u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u0432\u0430\u043D\u0438\u0435 \u0440\u0435\u0447\u0438
|
|
50
|
-
\u041F\u0420\u041E\u0421\u042C\u0411\u0415: \u043D\u0430\u0437\u043E\u0432\u0438 \u0432\u0435\u0441, \u043F\u043E\u0441\u043B\u0435 \xAB\u0434\u0430\xBB setup \u0441 consent=true. \u0422\u0430\u043A \u0436\u0435
|
|
51
|
-
\u0432 \u0441\u0438\u043B\u0435 \u043F\u043E\u0441\u043B\u0435 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u043A\u0430.
|
|
49
|
+
7. \u0422\u044F\u0436\u0451\u043B\u043E\u0435 (\u0432\u044B\u0440\u0435\u0437 \u0433\u0435\u0440\u043E\u044F, \u0447\u0438\u0441\u0442\u043A\u0430 \u0433\u043E\u043B\u043E\u0441\u0430, \u0440\u0430\u0441\u043F\u043E\u0437\u043D\u0430\u0432\u0430\u043D\u0438\u0435 \u0440\u0435\u0447\u0438) \u2014 \u041F\u041E
|
|
50
|
+
\u041F\u0420\u041E\u0421\u042C\u0411\u0415: \u043D\u0430\u0437\u043E\u0432\u0438 \u0432\u0435\u0441 \u0438\u0437 setup, \u043F\u043E\u0441\u043B\u0435 \xAB\u0434\u0430\xBB setup \u0441 consent=true. \u0422\u0430\u043A \u0436\u0435
|
|
51
|
+
\u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u044F, \u0432 \u0441\u0438\u043B\u0435 \u043F\u043E\u0441\u043B\u0435 \u043F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u043A\u0430.
|
|
52
52
|
|
|
53
53
|
\u0421\u043A\u0438\u043B\u043B\u044B (\u0432\u0438\u0437\u0443\u0430\u043B, \u0434\u0432\u0438\u0436\u0435\u043D\u0438\u0435, \u0432\u043A\u0443\u0441) \u0447\u0438\u0442\u0430\u0435\u0442 plan \u0441 read \u0438 \u0411\u0415\u0417 \u0440\u043E\u043B\u0438\u043A\u0430: \u0433\u043E\u0434\u044F\u0442\u0441\u044F \u0438
|
|
54
54
|
\u0434\u043B\u044F \u043F\u0440\u0435\u0437\u0435\u043D\u0442\u0430\u0446\u0438\u0438. \u041F\u0435\u0440\u0435\u0447\u0435\u043D\u044C \u0432 setup.
|
|
@@ -329,8 +329,8 @@ Claude Desktop \u0441\u0442\u0430\u0432\u0438\u0442\u0441\u044F \u043F\u0435\u04
|
|
|
329
329
|
process.stdout.write(`${result.words}
|
|
330
330
|
`);
|
|
331
331
|
const forEngine = key ?? keyFromBlock(readFileSync(result.file, "utf8"));
|
|
332
|
-
const engine =
|
|
333
|
-
const outcome = await prepareEngine(engine, {
|
|
332
|
+
const { awake, engine } = wakefulEngine();
|
|
333
|
+
const outcome = await awake.during(() => prepareEngine(engine, {
|
|
334
334
|
key: forEngine,
|
|
335
335
|
baseUrl: serverAddress(readConfig()),
|
|
336
336
|
tell: (line) => process.stdout.write(`${line}
|
|
@@ -339,7 +339,7 @@ Claude Desktop \u0441\u0442\u0430\u0432\u0438\u0442\u0441\u044F \u043F\u0435\u04
|
|
|
339
339
|
// но вышла свежая начинка, тянем и её. Молчаливое «у тебя всё есть» —
|
|
340
340
|
// это то, из-за чего покупатель остаётся на прошлой версии.
|
|
341
341
|
refresh: true
|
|
342
|
-
});
|
|
342
|
+
}));
|
|
343
343
|
if (outcome.worked && !outcome.ok) {
|
|
344
344
|
process.stdout.write(
|
|
345
345
|
"\u0414\u0432\u0438\u0436\u043E\u043A \u0441\u043A\u0430\u0447\u0430\u0442\u044C \u0441\u0435\u0439\u0447\u0430\u0441 \u043D\u0435 \u0432\u044B\u0448\u043B\u043E. \u041F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0435 Codex \u0438 \u0441\u043A\u0430\u0436\u0438\u0442\u0435\n\xAB\u043F\u0440\u043E\u0432\u0435\u0440\u044C, \u0432\u0441\u0451 \u043B\u0438 \u0433\u043E\u0442\u043E\u0432\u043E \u0434\u043B\u044F \u043C\u043E\u043D\u0442\u0430\u0436\u0430\xBB \u2014 \u0434\u043E\u043A\u0430\u0447\u0430\u044E \u043E\u0442\u0442\u0443\u0434\u0430.\n"
|
|
@@ -352,6 +352,10 @@ Claude Desktop \u0441\u0442\u0430\u0432\u0438\u0442\u0441\u044F \u043F\u0435\u04
|
|
|
352
352
|
}
|
|
353
353
|
return true;
|
|
354
354
|
}
|
|
355
|
+
function wakefulEngine() {
|
|
356
|
+
const awake = new Wakefulness(systemBlocker());
|
|
357
|
+
return { awake, engine: new Engine(process.env, awake) };
|
|
358
|
+
}
|
|
355
359
|
function serverAddress(state) {
|
|
356
360
|
return state.ok ? state.config.baseUrl : state.baseUrl;
|
|
357
361
|
}
|
|
@@ -400,7 +404,14 @@ async function start() {
|
|
|
400
404
|
const engineForVersion = new Engine();
|
|
401
405
|
const client = apiClientFor(state, void 0, () => engineForVersion.currentVersion());
|
|
402
406
|
const basics = state.ok ? configuredInstructions(state.config.baseUrl) : notConfiguredInstructions(state.problem, state.message);
|
|
403
|
-
const engine =
|
|
407
|
+
const { awake, engine } = wakefulEngine();
|
|
408
|
+
const crashes = new CrashReporter({
|
|
409
|
+
client,
|
|
410
|
+
home: engine.home(),
|
|
411
|
+
engineVersion: () => engine.currentVersion(),
|
|
412
|
+
canSend: state.ok
|
|
413
|
+
});
|
|
414
|
+
watchProcessCrashes(crashes);
|
|
404
415
|
const [passport, aboutUpdate, aboutShell] = await Promise.all([
|
|
405
416
|
engine.passport(),
|
|
406
417
|
newPayload(engine, serverAddress(state), state.ok ? state.config.apiKey : void 0),
|
|
@@ -422,7 +433,10 @@ ${news.join("\n\n")}`,
|
|
|
422
433
|
engine,
|
|
423
434
|
passport,
|
|
424
435
|
state.ok ? state.config.apiKey : void 0,
|
|
425
|
-
serverAddress(state)
|
|
436
|
+
serverAddress(state),
|
|
437
|
+
realPace,
|
|
438
|
+
awake,
|
|
439
|
+
crashes
|
|
426
440
|
);
|
|
427
441
|
for (const tool of tools) server.addTool(tool);
|
|
428
442
|
for (const r of buildResources()) server.addResource(r.resource, r.contents);
|
|
@@ -442,11 +456,11 @@ ${news.join("\n\n")}`,
|
|
|
442
456
|
);
|
|
443
457
|
}
|
|
444
458
|
if (state.ok) {
|
|
445
|
-
void prepareEngine(engine, {
|
|
459
|
+
void awake.during(() => prepareEngine(engine, {
|
|
446
460
|
key: state.config.apiKey,
|
|
447
461
|
baseUrl: state.config.baseUrl,
|
|
448
462
|
tell: log
|
|
449
|
-
}).catch((trouble) => {
|
|
463
|
+
})).catch((trouble) => {
|
|
450
464
|
log(`\u0434\u0432\u0438\u0436\u043E\u043A \u0434\u043E\u043A\u0430\u0447\u0430\u0442\u044C \u043D\u0435 \u0432\u044B\u0448\u043B\u043E: ${trouble instanceof Error ? trouble.message : String(trouble)}`);
|
|
451
465
|
});
|
|
452
466
|
}
|