viberadar 0.3.47 → 0.3.49
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/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/server/index.d.ts +0 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +264 -183
- package/dist/server/index.js.map +1 -1
- package/dist/ui/dashboard.html +41 -53
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -46,7 +46,7 @@ async function runDashboard() {
|
|
|
46
46
|
console.log(' Scanning modules...');
|
|
47
47
|
const data = await (0, scanner_1.scanProject)(PROJECT_ROOT);
|
|
48
48
|
console.log(` Found ${data.modules.length} modules`);
|
|
49
|
-
|
|
49
|
+
await (0, server_1.startServer)({ data, port: PORT, projectRoot: PROJECT_ROOT });
|
|
50
50
|
console.log(`\n✅ Dashboard: http://localhost:${PORT}`);
|
|
51
51
|
console.log(' Press Ctrl+C to stop\n');
|
|
52
52
|
const { default: open } = await Promise.resolve().then(() => __importStar(require('open')));
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,uCAAwC;AACxC,qCAAuC;AACvC,iCAAiC;AAEjC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AACnC,MAAM,IAAI,GAAG,IAAI,CAAC;AAClB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEhC,KAAK,UAAU,YAAY;IACzB,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,eAAe,YAAY,EAAE,CAAC,CAAC;IAE3C,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,MAAM,IAAA,qBAAW,EAAC,YAAY,CAAC,CAAC;IAE7C,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,CAAC;IAEvD,MAAM,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,uCAAwC;AACxC,qCAAuC;AACvC,iCAAiC;AAEjC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AACnC,MAAM,IAAI,GAAG,IAAI,CAAC;AAClB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEhC,KAAK,UAAU,YAAY;IACzB,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,eAAe,YAAY,EAAE,CAAC,CAAC;IAE3C,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,MAAM,IAAA,qBAAW,EAAC,YAAY,CAAC,CAAC;IAE7C,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,MAAM,UAAU,CAAC,CAAC;IAEvD,MAAM,IAAA,oBAAW,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC;IAEnE,OAAO,CAAC,GAAG,CAAC,mCAAmC,IAAI,EAAE,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAEzC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,wDAAa,MAAM,GAAC,CAAC;IAC/C,MAAM,IAAI,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,CAAC,GAAG,CAAC;;;;;;;CAOb,CAAC,CAAC;AACH,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,MAAM;YACT,MAAM,IAAA,cAAO,EAAC,YAAY,CAAC,CAAC;YAC5B,MAAM;QACR,KAAK,MAAM,CAAC;QACZ,KAAK,QAAQ,CAAC;QACd,KAAK,IAAI;YACP,SAAS,EAAE,CAAC;YACZ,MAAM;QACR,KAAK,SAAS;YACZ,MAAM,YAAY,EAAE,CAAC;YACrB,MAAM;QACR;YACE,OAAO,CAAC,KAAK,CAAC,0BAA0B,OAAO,EAAE,CAAC,CAAC;YACnD,SAAS,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACnB,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/dist/server/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAM7B,OAAO,EAAE,UAAU,EAA0C,MAAM,YAAY,CAAC;AAEhF,UAAU,aAAa;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAM7B,OAAO,EAAE,UAAU,EAA0C,MAAM,YAAY,CAAC;AAEhF,UAAU,aAAa;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;CACrB;AA4hBD,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,CA4xB1G"}
|
package/dist/server/index.js
CHANGED
|
@@ -52,21 +52,22 @@ const WIN = process.platform === 'win32';
|
|
|
52
52
|
* --output-format stream-json gives real-time events (tool calls, writes, etc.)
|
|
53
53
|
* File piping avoids TUI mode in Claude Code v2+.
|
|
54
54
|
*/
|
|
55
|
-
function buildAgentShellCmd(agent, taskFile) {
|
|
55
|
+
function buildAgentShellCmd(agent, taskFile, model) {
|
|
56
56
|
const escaped = taskFile.replace(/\\/g, '\\\\');
|
|
57
|
+
const modelFlag = (agent === 'claude' && model) ? ` --model ${model}` : '';
|
|
57
58
|
if (WIN) {
|
|
58
59
|
if (agent === 'claude')
|
|
59
|
-
return `type "${escaped}" | claude.cmd --print --verbose --output-format stream-json`;
|
|
60
|
+
return `type "${escaped}" | claude.cmd --print --verbose --output-format stream-json${modelFlag}`;
|
|
60
61
|
if (agent === 'codex')
|
|
61
|
-
return `type "${escaped}" | codex.cmd`;
|
|
62
|
+
return `type "${escaped}" | codex.cmd exec - --color never --sandbox workspace-write`;
|
|
62
63
|
}
|
|
63
64
|
else {
|
|
64
65
|
if (agent === 'claude')
|
|
65
|
-
return `claude --print --verbose --output-format stream-json < "${escaped}"`;
|
|
66
|
+
return `claude --print --verbose --output-format stream-json${modelFlag} < "${escaped}"`;
|
|
66
67
|
if (agent === 'codex')
|
|
67
|
-
return `codex < "${escaped}"`;
|
|
68
|
+
return `codex exec - --color never --sandbox workspace-write < "${escaped}"`;
|
|
68
69
|
}
|
|
69
|
-
return `claude --print --verbose --output-format stream-json < "${escaped}"`;
|
|
70
|
+
return `claude --print --verbose --output-format stream-json${modelFlag} < "${escaped}"`;
|
|
70
71
|
}
|
|
71
72
|
/** Parse a Claude Code stream-json event into a human-readable line, or null to skip */
|
|
72
73
|
function parseClaudeEvent(raw) {
|
|
@@ -194,10 +195,10 @@ function runTestFiles(files, projectRoot) {
|
|
|
194
195
|
}
|
|
195
196
|
catch (err) {
|
|
196
197
|
process.stdout.write(` ❌ runTestFiles parse error: ${err.message}\n`);
|
|
197
|
-
resolve({ passed: 0, failed:
|
|
198
|
+
resolve({ passed: 0, failed: files.length, files, fileDetails: {}, runError: err.message });
|
|
198
199
|
}
|
|
199
200
|
});
|
|
200
|
-
proc.on('error', () => resolve({ passed: 0, failed:
|
|
201
|
+
proc.on('error', (err) => resolve({ passed: 0, failed: files.length, files, fileDetails: {}, runError: err.message }));
|
|
201
202
|
});
|
|
202
203
|
}
|
|
203
204
|
// ─── E2E plan storage ─────────────────────────────────────────────────────────
|
|
@@ -397,6 +398,28 @@ function buildFixTestsPrompt(filePath, errors) {
|
|
|
397
398
|
`- После исправления запусти тест, чтобы убедиться что он проходит`,
|
|
398
399
|
].join('\n');
|
|
399
400
|
}
|
|
401
|
+
function buildFixAllTestsPrompt(failedFiles, testType) {
|
|
402
|
+
const totalErrors = failedFiles.reduce((sum, f) => sum + f.errors.length, 0);
|
|
403
|
+
const fileBlocks = failedFiles.map(f => {
|
|
404
|
+
const normalPath = f.filePath.replace(/\\/g, '/');
|
|
405
|
+
return [
|
|
406
|
+
`### \`${normalPath}\` (${f.errors.length} упало):`,
|
|
407
|
+
...f.errors.map(e => `• "${e.testName}"\n ${e.message}`),
|
|
408
|
+
].join('\n');
|
|
409
|
+
});
|
|
410
|
+
return [
|
|
411
|
+
`Исправь все падающие ${testType} тесты (${totalErrors} тестов в ${failedFiles.length} файлах).`,
|
|
412
|
+
``,
|
|
413
|
+
...fileBlocks,
|
|
414
|
+
``,
|
|
415
|
+
`Требования:`,
|
|
416
|
+
`- Исправь только падающие тесты, не трогай проходящие`,
|
|
417
|
+
`- Не удаляй тесты — исправь логику или моки`,
|
|
418
|
+
`- Если тест проверяет несуществующее поведение — адаптируй под реальное поведение кода`,
|
|
419
|
+
`- Если ошибка в исходном коде, а не в тесте — исправь код`,
|
|
420
|
+
`- После исправления каждого файла запусти его тесты, чтобы убедиться что проходят`,
|
|
421
|
+
].join('\n');
|
|
422
|
+
}
|
|
400
423
|
function buildMapUnmappedPrompt(modules, features) {
|
|
401
424
|
const unmapped = modules
|
|
402
425
|
.filter(m => m.type !== 'test' && !m.isInfra && (!m.featureKeys || m.featureKeys.length === 0))
|
|
@@ -478,72 +501,14 @@ function buildWriteE2eTestPrompt(feat, plan, modules) {
|
|
|
478
501
|
`- Следуй существующим паттернам проекта`,
|
|
479
502
|
].filter(Boolean).join('\n');
|
|
480
503
|
}
|
|
481
|
-
// ─── Coverage provider auto-install ──────────────────────────────────────────
|
|
482
|
-
function autoInstallCoverageProvider(projectRoot) {
|
|
483
|
-
return new Promise(resolve => {
|
|
484
|
-
// Detect vitest version to install matching coverage package
|
|
485
|
-
let vitestVersion = 'latest';
|
|
486
|
-
try {
|
|
487
|
-
const pkg = JSON.parse(fs.readFileSync(path.join(projectRoot, 'package.json'), 'utf-8'));
|
|
488
|
-
const deps = { ...pkg.dependencies, ...pkg.devDependencies };
|
|
489
|
-
const raw = deps['vitest'];
|
|
490
|
-
if (raw)
|
|
491
|
-
vitestVersion = raw.replace(/[\^~>=<\s]/g, '') || 'latest';
|
|
492
|
-
}
|
|
493
|
-
catch { }
|
|
494
|
-
const pkg = `@vitest/coverage-v8@${vitestVersion}`;
|
|
495
|
-
process.stdout.write(` 📦 Installing ${pkg}...\n`);
|
|
496
|
-
const proc = (0, child_process_1.spawn)('npm', ['install', '--save-dev', '--legacy-peer-deps', pkg], {
|
|
497
|
-
cwd: projectRoot,
|
|
498
|
-
shell: true,
|
|
499
|
-
stdio: 'pipe',
|
|
500
|
-
});
|
|
501
|
-
let stderr = '';
|
|
502
|
-
proc.stderr?.on('data', (d) => { stderr += d.toString(); });
|
|
503
|
-
proc.on('close', (code) => {
|
|
504
|
-
if (code === 0) {
|
|
505
|
-
process.stdout.write(` ✅ Installed ${pkg}\n`);
|
|
506
|
-
resolve(true);
|
|
507
|
-
}
|
|
508
|
-
else {
|
|
509
|
-
process.stdout.write(` ❌ Failed to install ${pkg}: ${stderr.slice(0, 200)}\n`);
|
|
510
|
-
resolve(false);
|
|
511
|
-
}
|
|
512
|
-
});
|
|
513
|
-
proc.on('error', (err) => {
|
|
514
|
-
process.stdout.write(` ❌ Install error: ${err.message}\n`);
|
|
515
|
-
resolve(false);
|
|
516
|
-
});
|
|
517
|
-
});
|
|
518
|
-
}
|
|
519
|
-
// ─── Coverage command detection ───────────────────────────────────────────────
|
|
520
|
-
function detectCoverageCommand(projectRoot) {
|
|
521
|
-
try {
|
|
522
|
-
const pkgPath = path.join(projectRoot, 'package.json');
|
|
523
|
-
if (fs.existsSync(pkgPath)) {
|
|
524
|
-
const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf-8'));
|
|
525
|
-
const deps = { ...pkg.dependencies, ...pkg.devDependencies };
|
|
526
|
-
const scripts = pkg.scripts || {};
|
|
527
|
-
if (deps['vitest'] || scripts['test']?.includes('vitest')) {
|
|
528
|
-
return { cmd: 'npx', args: ['vitest', 'run', '--coverage'] };
|
|
529
|
-
}
|
|
530
|
-
if (deps['jest'] || scripts['test']?.includes('jest')) {
|
|
531
|
-
return { cmd: 'npx', args: ['jest', '--coverage', '--coverageReporters=json-summary'] };
|
|
532
|
-
}
|
|
533
|
-
}
|
|
534
|
-
}
|
|
535
|
-
catch { }
|
|
536
|
-
return { cmd: 'npm', args: ['test', '--', '--coverage'] };
|
|
537
|
-
}
|
|
538
504
|
// ─── Main server ──────────────────────────────────────────────────────────────
|
|
539
505
|
function startServer({ data: initialData, port, projectRoot }) {
|
|
540
506
|
return new Promise((resolve, reject) => {
|
|
541
507
|
let currentData = initialData;
|
|
542
508
|
// ── State ──────────────────────────────────────────────────────────────────
|
|
543
|
-
let coverageRunning = false;
|
|
544
|
-
let coverageError = false;
|
|
545
509
|
let agentRunning = false;
|
|
546
510
|
let testsRunning = false;
|
|
511
|
+
const agentQueue = [];
|
|
547
512
|
// Keyed by absolute file path → per-file failure details from last test run
|
|
548
513
|
const lastTestResults = new Map();
|
|
549
514
|
// ── SSE clients ────────────────────────────────────────────────────────────
|
|
@@ -581,147 +546,89 @@ function startServer({ data: initialData, port, projectRoot }) {
|
|
|
581
546
|
}
|
|
582
547
|
}, 600);
|
|
583
548
|
}
|
|
584
|
-
// ── Coverage runner ────────────────────────────────────────────────────────
|
|
585
|
-
function triggerCoverage() {
|
|
586
|
-
if (coverageRunning) {
|
|
587
|
-
process.stdout.write(' ⏳ Coverage already running, skipping\n');
|
|
588
|
-
return;
|
|
589
|
-
}
|
|
590
|
-
coverageRunning = true;
|
|
591
|
-
coverageError = false;
|
|
592
|
-
broadcast('coverage-started');
|
|
593
|
-
const { cmd, args } = detectCoverageCommand(projectRoot);
|
|
594
|
-
process.stdout.write(` 🧪 Running coverage: ${cmd} ${args.join(' ')}\n`);
|
|
595
|
-
const proc = (0, child_process_1.spawn)(cmd, args, { cwd: projectRoot, shell: true, stdio: 'pipe' });
|
|
596
|
-
let coverageStderr = '';
|
|
597
|
-
proc.stderr?.on('data', (d) => { coverageStderr += d.toString(); });
|
|
598
|
-
proc.on('close', async (code) => {
|
|
599
|
-
coverageRunning = false;
|
|
600
|
-
if (code === 0) {
|
|
601
|
-
process.stdout.write(' ✅ Coverage done, rescanning...\n');
|
|
602
|
-
try {
|
|
603
|
-
currentData = await (0, scanner_1.scanProject)(projectRoot);
|
|
604
|
-
broadcast('data-updated');
|
|
605
|
-
broadcast('coverage-done');
|
|
606
|
-
}
|
|
607
|
-
catch (err) {
|
|
608
|
-
process.stdout.write(' ❌ Rescan after coverage failed: ' + err.message + '\n');
|
|
609
|
-
broadcast('coverage-error');
|
|
610
|
-
}
|
|
611
|
-
}
|
|
612
|
-
else {
|
|
613
|
-
const isMissingProvider = coverageStderr.includes('@vitest/coverage') ||
|
|
614
|
-
coverageStderr.includes('coverage provider') ||
|
|
615
|
-
coverageStderr.includes('Cannot find package') ||
|
|
616
|
-
coverageStderr.includes('ERR_MODULE_NOT_FOUND');
|
|
617
|
-
if (isMissingProvider && currentData.testRunner === 'vitest') {
|
|
618
|
-
// Auto-install matching @vitest/coverage-v8
|
|
619
|
-
autoInstallCoverageProvider(projectRoot).then(ok => {
|
|
620
|
-
if (ok) {
|
|
621
|
-
process.stdout.write(' 🔄 Retrying coverage after install...\n');
|
|
622
|
-
triggerCoverage();
|
|
623
|
-
}
|
|
624
|
-
else {
|
|
625
|
-
coverageError = true;
|
|
626
|
-
broadcast('coverage-error');
|
|
627
|
-
}
|
|
628
|
-
});
|
|
629
|
-
}
|
|
630
|
-
else {
|
|
631
|
-
coverageError = true;
|
|
632
|
-
process.stdout.write(` ❌ Coverage failed (exit code ${code})\n`);
|
|
633
|
-
broadcast('coverage-error');
|
|
634
|
-
}
|
|
635
|
-
}
|
|
636
|
-
});
|
|
637
|
-
proc.on('error', (err) => {
|
|
638
|
-
coverageRunning = false;
|
|
639
|
-
coverageError = true;
|
|
640
|
-
process.stdout.write(' ❌ Coverage spawn error: ' + err.message + '\n');
|
|
641
|
-
broadcast('coverage-error');
|
|
642
|
-
});
|
|
643
|
-
}
|
|
644
549
|
// ── Agent runner ───────────────────────────────────────────────────────────
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
550
|
+
/** Execute next queued item, or broadcast agent-done if queue is empty */
|
|
551
|
+
function processNextInQueue() {
|
|
552
|
+
if (agentQueue.length > 0) {
|
|
553
|
+
const next = agentQueue.shift();
|
|
554
|
+
process.stdout.write(` 📋 Starting next from queue: "${next.title}" (remaining: ${agentQueue.length})\n`);
|
|
555
|
+
broadcast('agent-output', { line: `📋 Следующая задача из очереди: ${next.title}` });
|
|
556
|
+
broadcast('agent-output', { line: ` В очереди осталось: ${agentQueue.length}` });
|
|
557
|
+
executeAgentItem(next);
|
|
649
558
|
}
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
broadcast('agent-error', { message: 'Агент не выбран. Укажи agent в viberadar.config.json' });
|
|
653
|
-
return;
|
|
559
|
+
else {
|
|
560
|
+
broadcast('agent-done', { queueLength: 0 });
|
|
654
561
|
}
|
|
655
|
-
|
|
562
|
+
}
|
|
563
|
+
/** Actually spawn the agent process for a queue item */
|
|
564
|
+
function executeAgentItem(item) {
|
|
565
|
+
const { task, featureKey, filePath, title, agent, savedErrors, savedFailedFiles, savedTestType } = item;
|
|
566
|
+
// Build prompt lazily at execution time
|
|
656
567
|
let prompt;
|
|
657
|
-
let title;
|
|
658
|
-
const agentLabel = agent === 'claude' ? 'Claude Code' : 'Codex';
|
|
659
568
|
if (task === 'write-tests') {
|
|
660
569
|
const feat = currentData.features?.find(f => f.key === featureKey);
|
|
661
570
|
if (!feat) {
|
|
662
571
|
broadcast('agent-error', { message: `Фича не найдена: ${featureKey}` });
|
|
572
|
+
agentRunning = false;
|
|
573
|
+
processNextInQueue();
|
|
663
574
|
return;
|
|
664
575
|
}
|
|
665
576
|
prompt = buildWriteTestsPrompt(feat, currentData.modules, currentData.testRunner || 'vitest');
|
|
666
|
-
title = `${agentLabel} — тесты для "${feat.label}"`;
|
|
667
577
|
}
|
|
668
578
|
else if (task === 'write-tests-file') {
|
|
669
579
|
const feat = currentData.features?.find(f => f.key === featureKey);
|
|
670
580
|
if (!feat || !filePath) {
|
|
671
|
-
broadcast('agent-error', { message:
|
|
581
|
+
broadcast('agent-error', { message: 'Не указана фича или файл' });
|
|
582
|
+
agentRunning = false;
|
|
583
|
+
processNextInQueue();
|
|
672
584
|
return;
|
|
673
585
|
}
|
|
674
586
|
prompt = buildWriteTestsForFilePrompt(filePath, feat, currentData.modules, currentData.testRunner || 'vitest');
|
|
675
|
-
const fileName = filePath.replace(/\\/g, '/').split('/').pop() || filePath;
|
|
676
|
-
title = `${agentLabel} — тест для "${fileName}"`;
|
|
677
587
|
}
|
|
678
588
|
else if (task === 'fix-tests') {
|
|
679
|
-
if (!filePath) {
|
|
680
|
-
broadcast('agent-error', { message:
|
|
589
|
+
if (!filePath || !savedErrors || savedErrors.length === 0) {
|
|
590
|
+
broadcast('agent-error', { message: `Нет сохранённых ошибок для ${filePath}` });
|
|
591
|
+
agentRunning = false;
|
|
592
|
+
processNextInQueue();
|
|
681
593
|
return;
|
|
682
594
|
}
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
}
|
|
691
|
-
}
|
|
692
|
-
if (!storedErrors || storedErrors.length === 0) {
|
|
693
|
-
broadcast('agent-error', { message: `Нет сохранённых ошибок для ${filePath}. Сначала запусти тесты.` });
|
|
595
|
+
prompt = buildFixTestsPrompt(filePath, savedErrors);
|
|
596
|
+
}
|
|
597
|
+
else if (task === 'fix-tests-all') {
|
|
598
|
+
if (!savedFailedFiles || savedFailedFiles.length === 0) {
|
|
599
|
+
broadcast('agent-error', { message: 'Нет упавших тестов для исправления' });
|
|
600
|
+
agentRunning = false;
|
|
601
|
+
processNextInQueue();
|
|
694
602
|
return;
|
|
695
603
|
}
|
|
696
|
-
prompt =
|
|
697
|
-
const fileName = filePath.replace(/\\/g, '/').split('/').pop() || filePath;
|
|
698
|
-
title = `${agentLabel} — исправить тесты в "${fileName}"`;
|
|
604
|
+
prompt = buildFixAllTestsPrompt(savedFailedFiles, savedTestType || 'unit');
|
|
699
605
|
}
|
|
700
606
|
else if (task === 'generate-e2e-plan') {
|
|
701
607
|
const feat = currentData.features?.find(f => f.key === featureKey);
|
|
702
608
|
if (!feat) {
|
|
703
609
|
broadcast('agent-error', { message: `Фича не найдена: ${featureKey}` });
|
|
610
|
+
agentRunning = false;
|
|
611
|
+
processNextInQueue();
|
|
704
612
|
return;
|
|
705
613
|
}
|
|
706
614
|
prompt = buildE2ePlanPrompt(feat, currentData.modules);
|
|
707
|
-
title = `${agentLabel} — E2E план для "${feat.label}"`;
|
|
708
615
|
}
|
|
709
616
|
else if (task === 'write-e2e-tests') {
|
|
710
617
|
const feat = currentData.features?.find(f => f.key === featureKey);
|
|
711
618
|
const plan = featureKey ? loadE2ePlan(projectRoot, featureKey) : null;
|
|
712
619
|
if (!feat || !plan) {
|
|
713
620
|
broadcast('agent-error', { message: `Фича или план не найдены: ${featureKey}` });
|
|
621
|
+
agentRunning = false;
|
|
622
|
+
processNextInQueue();
|
|
714
623
|
return;
|
|
715
624
|
}
|
|
716
625
|
prompt = buildWriteE2eTestPrompt(feat, plan, currentData.modules);
|
|
717
|
-
title = `${agentLabel} — пишу E2E тесты для "${feat.label}"`;
|
|
718
626
|
}
|
|
719
627
|
else {
|
|
720
628
|
prompt = buildMapUnmappedPrompt(currentData.modules, currentData.features || []);
|
|
721
|
-
title = `${agentLabel} — разобрать unmapped`;
|
|
722
629
|
}
|
|
723
630
|
agentRunning = true;
|
|
724
|
-
broadcast('agent-started', { title, task, featureKey });
|
|
631
|
+
broadcast('agent-started', { title, task, featureKey, filePath: filePath || null, queueLength: agentQueue.length });
|
|
725
632
|
process.stdout.write(` 🤖 Running agent (${agent}): ${task}\n`);
|
|
726
633
|
// Write prompt to .viberadar/task.md for reference
|
|
727
634
|
const taskDir = path.join(projectRoot, '.viberadar');
|
|
@@ -732,7 +639,7 @@ function startServer({ data: initialData, port, projectRoot }) {
|
|
|
732
639
|
}
|
|
733
640
|
catch { }
|
|
734
641
|
// Spawn via shell, piping prompt from file (avoids TUI mode, supports stream-json)
|
|
735
|
-
const shellCmd = buildAgentShellCmd(agent, taskFile);
|
|
642
|
+
const shellCmd = buildAgentShellCmd(agent, taskFile, currentData.model);
|
|
736
643
|
process.stdout.write(` 🚀 Shell cmd: ${shellCmd}\n`);
|
|
737
644
|
const proc = (0, child_process_1.spawn)(shellCmd, [], {
|
|
738
645
|
cwd: projectRoot,
|
|
@@ -769,13 +676,11 @@ function startServer({ data: initialData, port, projectRoot }) {
|
|
|
769
676
|
return;
|
|
770
677
|
trackWrittenFiles(raw);
|
|
771
678
|
const parsed = agent === 'claude' ? parseClaudeEvent(raw) : raw;
|
|
772
|
-
// If parsing returned null (noise), still show raw line dimmed so user knows output is coming
|
|
773
679
|
if (!parsed) {
|
|
774
680
|
broadcast('agent-output', { line: raw.slice(0, 120), isDim: true });
|
|
775
681
|
return;
|
|
776
682
|
}
|
|
777
683
|
if (parsed.startsWith('§RESULT§')) {
|
|
778
|
-
// Full result summary — split into lines and prefix with indent
|
|
779
684
|
agentResultText = parsed.slice('§RESULT§'.length).trim();
|
|
780
685
|
broadcast('agent-output', { line: '─────────────────────────────' });
|
|
781
686
|
for (const l of agentResultText.split('\n')) {
|
|
@@ -801,21 +706,32 @@ function startServer({ data: initialData, port, projectRoot }) {
|
|
|
801
706
|
agentRunning = false;
|
|
802
707
|
if (code === 0) {
|
|
803
708
|
// Auto-run created/fixed test files and show results
|
|
804
|
-
|
|
805
|
-
if (
|
|
709
|
+
let testFilesToRun;
|
|
710
|
+
if (task === 'fix-tests-all') {
|
|
711
|
+
testFilesToRun = [...lastTestResults.keys()];
|
|
712
|
+
}
|
|
713
|
+
else if (task === 'fix-tests' && filePath) {
|
|
714
|
+
testFilesToRun = [filePath];
|
|
715
|
+
}
|
|
716
|
+
else {
|
|
717
|
+
testFilesToRun = createdTestFiles;
|
|
718
|
+
}
|
|
719
|
+
if ((task === 'write-tests' || task === 'write-tests-file' || task === 'fix-tests' || task === 'fix-tests-all') && testFilesToRun.length > 0) {
|
|
806
720
|
broadcast('agent-output', { line: '─────────────────────────────' });
|
|
807
721
|
broadcast('agent-output', { line: `🧪 Запускаю тесты (${testFilesToRun.length} файлов)...` });
|
|
808
722
|
const result = await runTestFiles(testFilesToRun, projectRoot);
|
|
809
|
-
// Store per-file results for "fix-tests" feature
|
|
810
|
-
// path.resolve() normalizes slashes on Windows (vitest outputs forward slashes)
|
|
811
723
|
lastTestResults.clear();
|
|
812
724
|
for (const [fp, detail] of Object.entries(result.fileDetails)) {
|
|
813
725
|
if (detail.failed > 0)
|
|
814
726
|
lastTestResults.set(path.resolve(fp), { failed: detail.failed, errors: detail.errors });
|
|
815
727
|
}
|
|
816
|
-
const summary = result.
|
|
817
|
-
?
|
|
818
|
-
:
|
|
728
|
+
const summary = result.runError
|
|
729
|
+
? `❌ Тесты не запустились: ${result.runError}`
|
|
730
|
+
: result.failed === 0 && result.passed > 0
|
|
731
|
+
? `✅ Все тесты прошли: ${result.passed} passed`
|
|
732
|
+
: result.failed === 0 && result.passed === 0
|
|
733
|
+
? `⚠️ 0 тестов запустилось — проверь файл на ошибки импорта`
|
|
734
|
+
: `⚠️ ${result.passed} passed, ${result.failed} failed`;
|
|
819
735
|
broadcast('agent-output', { line: summary });
|
|
820
736
|
if (result.failed > 0) {
|
|
821
737
|
for (const [fp, detail] of Object.entries(result.fileDetails)) {
|
|
@@ -835,15 +751,15 @@ function startServer({ data: initialData, port, projectRoot }) {
|
|
|
835
751
|
if (task === 'generate-e2e-plan' && featureKey) {
|
|
836
752
|
try {
|
|
837
753
|
const jsonMatch = agentResultText.match(/\{[\s\S]*"testCases"[\s\S]*\}/);
|
|
838
|
-
const
|
|
754
|
+
const parsedPlan = JSON.parse(jsonMatch ? jsonMatch[0] : agentResultText);
|
|
839
755
|
const feat = currentData.features?.find(f => f.key === featureKey);
|
|
840
756
|
const plan = {
|
|
841
757
|
featureKey,
|
|
842
758
|
featureLabel: feat?.label || featureKey,
|
|
843
759
|
generatedAt: new Date().toISOString(),
|
|
844
760
|
updatedAt: new Date().toISOString(),
|
|
845
|
-
baseUrl:
|
|
846
|
-
testCases: (
|
|
761
|
+
baseUrl: parsedPlan.baseUrl,
|
|
762
|
+
testCases: (parsedPlan.testCases || []).map((tc) => ({ ...tc, status: 'pending' })),
|
|
847
763
|
};
|
|
848
764
|
saveE2ePlan(projectRoot, plan);
|
|
849
765
|
broadcast('e2e-plan-ready', { featureKey, plan });
|
|
@@ -869,19 +785,128 @@ function startServer({ data: initialData, port, projectRoot }) {
|
|
|
869
785
|
broadcast('data-updated');
|
|
870
786
|
}
|
|
871
787
|
catch { }
|
|
872
|
-
|
|
788
|
+
processNextInQueue();
|
|
789
|
+
}
|
|
790
|
+
else if (code === 255) {
|
|
791
|
+
process.stdout.write(` ❌ Agent auth error (exit code 255)\n`);
|
|
792
|
+
broadcast('agent-error', {
|
|
793
|
+
message: `${agent === 'claude' ? 'Claude Code' : 'Codex'} не авторизован. Нажми 🔑 Перелогиниться в меню агента.`,
|
|
794
|
+
authRequired: true,
|
|
795
|
+
agent,
|
|
796
|
+
});
|
|
797
|
+
processNextInQueue();
|
|
873
798
|
}
|
|
874
799
|
else {
|
|
875
800
|
process.stdout.write(` ❌ Agent failed (exit code ${code})\n`);
|
|
876
801
|
broadcast('agent-error', { message: `Агент завершился с кодом ${code}` });
|
|
802
|
+
processNextInQueue();
|
|
877
803
|
}
|
|
878
804
|
});
|
|
879
805
|
proc.on('error', (err) => {
|
|
880
806
|
agentRunning = false;
|
|
807
|
+
const isNotFound = err.code === 'ENOENT' || err.message.includes('ENOENT');
|
|
808
|
+
const agentName = agent === 'claude' ? 'Claude Code' : 'Codex';
|
|
809
|
+
const msg = isNotFound
|
|
810
|
+
? `${agentName} не установлен. Скачай с ${agent === 'claude' ? 'claude.ai/download' : 'github.com/openai/codex'}`
|
|
811
|
+
: `Не удалось запустить ${agent}: ${err.message}`;
|
|
881
812
|
process.stdout.write(' ❌ Agent spawn error: ' + err.message + '\n');
|
|
882
|
-
broadcast('agent-error', { message:
|
|
813
|
+
broadcast('agent-error', { message: msg, notInstalled: isNotFound, agent });
|
|
814
|
+
processNextInQueue();
|
|
883
815
|
});
|
|
884
816
|
}
|
|
817
|
+
/** Validate task params and enqueue (prompt is built lazily at execution time) */
|
|
818
|
+
function runAgent(task, featureKey, filePath) {
|
|
819
|
+
const agent = currentData.agent;
|
|
820
|
+
if (!agent) {
|
|
821
|
+
broadcast('agent-error', { message: 'Агент не выбран. Укажи agent в viberadar.config.json' });
|
|
822
|
+
return;
|
|
823
|
+
}
|
|
824
|
+
const agentLabel = agent === 'claude' ? 'Claude Code' : 'Codex';
|
|
825
|
+
let title;
|
|
826
|
+
let savedErrors;
|
|
827
|
+
let savedFailedFiles;
|
|
828
|
+
let savedTestType;
|
|
829
|
+
if (task === 'write-tests') {
|
|
830
|
+
const feat = currentData.features?.find(f => f.key === featureKey);
|
|
831
|
+
if (!feat) {
|
|
832
|
+
broadcast('agent-error', { message: `Фича не найдена: ${featureKey}` });
|
|
833
|
+
return;
|
|
834
|
+
}
|
|
835
|
+
title = `${agentLabel} — тесты для "${feat.label}"`;
|
|
836
|
+
}
|
|
837
|
+
else if (task === 'write-tests-file') {
|
|
838
|
+
const feat = currentData.features?.find(f => f.key === featureKey);
|
|
839
|
+
if (!feat || !filePath) {
|
|
840
|
+
broadcast('agent-error', { message: 'Не указана фича или файл' });
|
|
841
|
+
return;
|
|
842
|
+
}
|
|
843
|
+
const fileName = filePath.replace(/\\/g, '/').split('/').pop() || filePath;
|
|
844
|
+
title = `${agentLabel} — тест для "${fileName}"`;
|
|
845
|
+
}
|
|
846
|
+
else if (task === 'fix-tests') {
|
|
847
|
+
if (!filePath) {
|
|
848
|
+
broadcast('agent-error', { message: 'Не указан файл для исправления' });
|
|
849
|
+
return;
|
|
850
|
+
}
|
|
851
|
+
for (const [fp, detail] of lastTestResults) {
|
|
852
|
+
const rel = path.relative(projectRoot, fp).replace(/\\/g, '/');
|
|
853
|
+
if (rel === filePath.replace(/\\/g, '/') || fp === filePath) {
|
|
854
|
+
savedErrors = detail.errors;
|
|
855
|
+
break;
|
|
856
|
+
}
|
|
857
|
+
}
|
|
858
|
+
if (!savedErrors || savedErrors.length === 0) {
|
|
859
|
+
broadcast('agent-error', { message: `Нет сохранённых ошибок для ${filePath}. Сначала запусти тесты.` });
|
|
860
|
+
return;
|
|
861
|
+
}
|
|
862
|
+
const fileName = filePath.replace(/\\/g, '/').split('/').pop() || filePath;
|
|
863
|
+
title = `${agentLabel} — исправить тесты в "${fileName}"`;
|
|
864
|
+
}
|
|
865
|
+
else if (task === 'fix-tests-all') {
|
|
866
|
+
savedTestType = filePath || 'unit'; // filePath param is reused for testType in this case
|
|
867
|
+
savedFailedFiles = [];
|
|
868
|
+
for (const [fp, detail] of lastTestResults) {
|
|
869
|
+
const rel = path.relative(projectRoot, fp).replace(/\\/g, '/');
|
|
870
|
+
const mod = currentData.modules.find(m => m.relativePath.replace(/\\/g, '/') === rel && m.testType === savedTestType);
|
|
871
|
+
if (mod && detail.errors.length > 0) {
|
|
872
|
+
savedFailedFiles.push({ filePath: rel, errors: detail.errors });
|
|
873
|
+
}
|
|
874
|
+
}
|
|
875
|
+
if (savedFailedFiles.length === 0) {
|
|
876
|
+
broadcast('agent-error', { message: `Нет упавших ${savedTestType} тестов. Сначала запусти тесты.` });
|
|
877
|
+
return;
|
|
878
|
+
}
|
|
879
|
+
title = `${agentLabel} — починить все ${savedTestType} тесты (${savedFailedFiles.length} файлов)`;
|
|
880
|
+
}
|
|
881
|
+
else if (task === 'generate-e2e-plan') {
|
|
882
|
+
const feat = currentData.features?.find(f => f.key === featureKey);
|
|
883
|
+
if (!feat) {
|
|
884
|
+
broadcast('agent-error', { message: `Фича не найдена: ${featureKey}` });
|
|
885
|
+
return;
|
|
886
|
+
}
|
|
887
|
+
title = `${agentLabel} — E2E план для "${feat.label}"`;
|
|
888
|
+
}
|
|
889
|
+
else if (task === 'write-e2e-tests') {
|
|
890
|
+
const feat = currentData.features?.find(f => f.key === featureKey);
|
|
891
|
+
if (!feat) {
|
|
892
|
+
broadcast('agent-error', { message: `Фича не найдена: ${featureKey}` });
|
|
893
|
+
return;
|
|
894
|
+
}
|
|
895
|
+
title = `${agentLabel} — пишу E2E тесты для "${feat.label}"`;
|
|
896
|
+
}
|
|
897
|
+
else {
|
|
898
|
+
title = `${agentLabel} — разобрать unmapped`;
|
|
899
|
+
}
|
|
900
|
+
const item = { task, featureKey, filePath, title, agent, savedErrors, savedFailedFiles, savedTestType };
|
|
901
|
+
if (agentRunning) {
|
|
902
|
+
agentQueue.push(item);
|
|
903
|
+
const ql = agentQueue.length;
|
|
904
|
+
process.stdout.write(` 📋 Agent busy, queued: "${title}" (queue size: ${ql})\n`);
|
|
905
|
+
broadcast('agent-queued', { queueLength: ql, title, task, featureKey: featureKey || null, filePath: filePath || null });
|
|
906
|
+
return;
|
|
907
|
+
}
|
|
908
|
+
executeAgentItem(item);
|
|
909
|
+
}
|
|
885
910
|
// ── Chokidar watcher ───────────────────────────────────────────────────────
|
|
886
911
|
chokidar_1.default.watch([
|
|
887
912
|
'**/*.{ts,tsx,js,jsx,vue,svelte}',
|
|
@@ -931,13 +956,60 @@ function startServer({ data: initialData, port, projectRoot }) {
|
|
|
931
956
|
}
|
|
932
957
|
if (url === '/api/status') {
|
|
933
958
|
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
934
|
-
res.end(JSON.stringify({
|
|
959
|
+
res.end(JSON.stringify({ agentRunning, queueLength: agentQueue.length }));
|
|
935
960
|
return;
|
|
936
961
|
}
|
|
937
|
-
if (url === '/api/run-
|
|
938
|
-
|
|
962
|
+
if (url === '/api/run-all-tests' && req.method === 'POST') {
|
|
963
|
+
if (testsRunning) {
|
|
964
|
+
res.writeHead(409);
|
|
965
|
+
res.end(JSON.stringify({ error: 'Tests already running' }));
|
|
966
|
+
return;
|
|
967
|
+
}
|
|
968
|
+
const allTestFiles = (currentData.modules || [])
|
|
969
|
+
.filter(m => m.type === 'test' && m.testType !== 'e2e')
|
|
970
|
+
.map(m => m.path);
|
|
939
971
|
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
940
|
-
res.end(JSON.stringify({ ok: true }));
|
|
972
|
+
res.end(JSON.stringify({ ok: true, count: allTestFiles.length }));
|
|
973
|
+
if (allTestFiles.length === 0) {
|
|
974
|
+
broadcast('tests-started', { featureKey: null, testType: 'all', count: 0 });
|
|
975
|
+
broadcast('agent-output', { line: 'Нет unit/integration тест-файлов в проекте' });
|
|
976
|
+
broadcast('tests-done', { passed: 0, failed: 0 });
|
|
977
|
+
return;
|
|
978
|
+
}
|
|
979
|
+
testsRunning = true;
|
|
980
|
+
broadcast('tests-started', { featureKey: null, testType: 'all', count: allTestFiles.length });
|
|
981
|
+
broadcast('agent-output', { line: `🧪 Запускаю все тесты (${allTestFiles.length} файлов)…` });
|
|
982
|
+
process.stdout.write(` 🧪 run-all-tests: ×${allTestFiles.length}\n`);
|
|
983
|
+
runTestFiles(allTestFiles, projectRoot).then(result => {
|
|
984
|
+
testsRunning = false;
|
|
985
|
+
lastTestResults.clear();
|
|
986
|
+
for (const [fp, detail] of Object.entries(result.fileDetails)) {
|
|
987
|
+
if (detail.failed > 0)
|
|
988
|
+
lastTestResults.set(path.resolve(fp), { failed: detail.failed, errors: detail.errors });
|
|
989
|
+
}
|
|
990
|
+
const summary = result.runError
|
|
991
|
+
? `❌ Тесты не запустились: ${result.runError}`
|
|
992
|
+
: result.failed === 0
|
|
993
|
+
? `✅ Все тесты прошли: ${result.passed} passed`
|
|
994
|
+
: `⚠️ ${result.passed} passed, ${result.failed} failed`;
|
|
995
|
+
broadcast('agent-output', { line: summary });
|
|
996
|
+
if (result.failed > 0) {
|
|
997
|
+
for (const [fp, detail] of Object.entries(result.fileDetails)) {
|
|
998
|
+
if (detail.failed > 0) {
|
|
999
|
+
const rel = path.relative(projectRoot, fp).replace(/\\/g, '/');
|
|
1000
|
+
broadcast('agent-output', { line: ` ❌ ${rel} — ${detail.failed} упало` });
|
|
1001
|
+
for (const e of detail.errors.slice(0, 2)) {
|
|
1002
|
+
broadcast('agent-output', { line: ` • ${e.testName}`, isDim: true });
|
|
1003
|
+
}
|
|
1004
|
+
}
|
|
1005
|
+
}
|
|
1006
|
+
}
|
|
1007
|
+
const testErrorsForClient = {};
|
|
1008
|
+
for (const [fp, detail] of lastTestResults) {
|
|
1009
|
+
testErrorsForClient[path.relative(projectRoot, fp).replace(/\\/g, '/')] = detail;
|
|
1010
|
+
}
|
|
1011
|
+
broadcast('tests-done', { passed: result.passed, failed: result.failed, testErrors: testErrorsForClient });
|
|
1012
|
+
});
|
|
941
1013
|
return;
|
|
942
1014
|
}
|
|
943
1015
|
if (url === '/api/run-tests' && req.method === 'POST') {
|
|
@@ -1033,11 +1105,20 @@ function startServer({ data: initialData, port, projectRoot }) {
|
|
|
1033
1105
|
}
|
|
1034
1106
|
if (url === '/api/cancel-agent' && req.method === 'POST') {
|
|
1035
1107
|
agentRunning = false;
|
|
1036
|
-
|
|
1108
|
+
agentQueue.length = 0; // clear queue too
|
|
1109
|
+
process.stdout.write(' ⏹ Agent state reset by user (queue cleared)\n');
|
|
1037
1110
|
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
1038
1111
|
res.end(JSON.stringify({ ok: true }));
|
|
1039
1112
|
return;
|
|
1040
1113
|
}
|
|
1114
|
+
if (url === '/api/clear-queue' && req.method === 'POST') {
|
|
1115
|
+
const cleared = agentQueue.length;
|
|
1116
|
+
agentQueue.length = 0;
|
|
1117
|
+
process.stdout.write(` 🗑 Queue cleared (${cleared} items)\n`);
|
|
1118
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
1119
|
+
res.end(JSON.stringify({ ok: true, cleared }));
|
|
1120
|
+
return;
|
|
1121
|
+
}
|
|
1041
1122
|
if (url === '/api/set-agent' && req.method === 'POST') {
|
|
1042
1123
|
let body = '';
|
|
1043
1124
|
req.on('data', d => body += d);
|
|
@@ -1246,7 +1327,7 @@ function startServer({ data: initialData, port, projectRoot }) {
|
|
|
1246
1327
|
reject(err);
|
|
1247
1328
|
}
|
|
1248
1329
|
});
|
|
1249
|
-
server.listen(port, '127.0.0.1', () => resolve({ server
|
|
1330
|
+
server.listen(port, '127.0.0.1', () => resolve({ server }));
|
|
1250
1331
|
process.once('SIGINT', () => {
|
|
1251
1332
|
console.log('\n👋 VibeRadar stopped.');
|
|
1252
1333
|
// Destroy all SSE connections so server.close() doesn't hang waiting for them
|
package/dist/server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/dashboard.html
CHANGED
|
@@ -46,8 +46,8 @@
|
|
|
46
46
|
.header-project { margin-left: auto; font-size: 13px; color: var(--muted); }
|
|
47
47
|
.header-time { font-size: 12px; color: var(--dim); }
|
|
48
48
|
|
|
49
|
-
/* ──
|
|
50
|
-
#
|
|
49
|
+
/* ── Run All Tests button ────────────────────────────────────────────────── */
|
|
50
|
+
#runAllBtn {
|
|
51
51
|
padding: 5px 12px;
|
|
52
52
|
background: var(--bg);
|
|
53
53
|
border: 1px solid var(--border);
|
|
@@ -61,11 +61,11 @@
|
|
|
61
61
|
transition: background 0.1s, color 0.1s, border-color 0.1s;
|
|
62
62
|
white-space: nowrap;
|
|
63
63
|
}
|
|
64
|
-
#
|
|
65
|
-
#
|
|
66
|
-
#
|
|
67
|
-
#
|
|
68
|
-
#
|
|
64
|
+
#runAllBtn:hover:not(:disabled) { background: var(--bg-hover); color: var(--text); border-color: var(--dim); }
|
|
65
|
+
#runAllBtn:disabled { cursor: not-allowed; opacity: 0.7; }
|
|
66
|
+
#runAllBtn.running { color: var(--yellow); border-color: var(--yellow); }
|
|
67
|
+
#runAllBtn.done-ok { color: var(--green); border-color: var(--green); }
|
|
68
|
+
#runAllBtn.done-fail { color: var(--red); border-color: var(--red); }
|
|
69
69
|
#termBtn {
|
|
70
70
|
padding: 5px 12px;
|
|
71
71
|
background: var(--bg);
|
|
@@ -794,7 +794,7 @@
|
|
|
794
794
|
<h1>VibeRadar</h1>
|
|
795
795
|
<span class="header-project" id="projectName">—</span>
|
|
796
796
|
<span class="header-time" id="scannedAt"></span>
|
|
797
|
-
<button id="
|
|
797
|
+
<button id="runAllBtn" onclick="runAllTests()" title="Запустить все unit и integration тесты">▶ Все тесты</button>
|
|
798
798
|
<button id="termBtn" onclick="toggleAgentPanel()" title="Показать/скрыть терминал агента">📟 Terminal</button>
|
|
799
799
|
<div style="position:relative">
|
|
800
800
|
<button id="agentBtn" onclick="toggleAgentMenu()" title="Настройки агента">🤖 —</button>
|
|
@@ -876,30 +876,32 @@ let drillFeatureKey = null; // null = grid, '__unmapped__' = unmapped, string
|
|
|
876
876
|
let drillTestType = null; // null = feature overview, 'unit'|'integration'|'e2e' = test type drill
|
|
877
877
|
let e2ePlan = null; // current E2E plan object
|
|
878
878
|
let e2ePlanLoading = false;
|
|
879
|
-
|
|
880
|
-
let
|
|
879
|
+
// ─── Run All Tests button ──────────────────────────────────────────────────────
|
|
880
|
+
let runAllRunning = false;
|
|
881
881
|
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
const btn = document.getElementById('covBtn');
|
|
882
|
+
function updateRunAllBtn(state) {
|
|
883
|
+
const btn = document.getElementById('runAllBtn');
|
|
885
884
|
if (!btn) return;
|
|
886
|
-
btn.className = '';
|
|
887
|
-
btn.disabled =
|
|
888
|
-
if (
|
|
889
|
-
btn.
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
885
|
+
btn.className = state || '';
|
|
886
|
+
btn.disabled = state === 'running';
|
|
887
|
+
if (state === 'running') {
|
|
888
|
+
btn.textContent = '⏳ Тесты...';
|
|
889
|
+
} else if (state === 'done-ok') {
|
|
890
|
+
btn.textContent = '✅ Все прошли';
|
|
891
|
+
setTimeout(() => updateRunAllBtn(null), 5000);
|
|
892
|
+
} else if (state === 'done-fail') {
|
|
893
|
+
btn.textContent = '❌ Есть падения';
|
|
894
|
+
setTimeout(() => updateRunAllBtn(null), 8000);
|
|
894
895
|
} else {
|
|
895
|
-
btn.textContent = '
|
|
896
|
+
btn.textContent = '▶ Все тесты';
|
|
896
897
|
}
|
|
897
898
|
}
|
|
898
899
|
|
|
899
|
-
async function
|
|
900
|
-
if (
|
|
901
|
-
|
|
902
|
-
|
|
900
|
+
async function runAllTests() {
|
|
901
|
+
if (runAllRunning) return;
|
|
902
|
+
runAllRunning = true;
|
|
903
|
+
updateRunAllBtn('running');
|
|
904
|
+
await fetch('/api/run-all-tests', { method: 'POST' });
|
|
903
905
|
}
|
|
904
906
|
|
|
905
907
|
// ─── Agent ────────────────────────────────────────────────────────────────────
|
|
@@ -1344,10 +1346,8 @@ async function init() {
|
|
|
1344
1346
|
|
|
1345
1347
|
if (statusRes) {
|
|
1346
1348
|
const status = await statusRes.json().catch(() => ({}));
|
|
1347
|
-
|
|
1348
|
-
coverageHasError = status.coverageError ?? false;
|
|
1349
|
+
D.agentRunning = status.agentRunning ?? false;
|
|
1349
1350
|
}
|
|
1350
|
-
updateCovBtn();
|
|
1351
1351
|
updateAgentBtn();
|
|
1352
1352
|
|
|
1353
1353
|
document.getElementById('projectName').textContent = D.projectName;
|
|
@@ -1829,7 +1829,7 @@ function renderFeatureDetail(c) {
|
|
|
1829
1829
|
<span style="color:${covColor(pct)}">${pct}% с тестами</span>
|
|
1830
1830
|
${feat.coveragePct != null
|
|
1831
1831
|
? `<span style="color:${covColor(Math.round(feat.coveragePct))};font-weight:700">${Math.round(feat.coveragePct)}% coverage</span>`
|
|
1832
|
-
: `<span style="color:var(--dim);font-size:11px" title="
|
|
1832
|
+
: `<span style="color:var(--dim);font-size:11px" title="Coverage не запускался">coverage: нет данных</span>`
|
|
1833
1833
|
}
|
|
1834
1834
|
</div>
|
|
1835
1835
|
</div>
|
|
@@ -2408,26 +2408,6 @@ function connectSSE() {
|
|
|
2408
2408
|
refreshData();
|
|
2409
2409
|
});
|
|
2410
2410
|
|
|
2411
|
-
es.addEventListener('coverage-started', () => {
|
|
2412
|
-
coverageRunning = true;
|
|
2413
|
-
coverageHasError = false;
|
|
2414
|
-
updateCovBtn();
|
|
2415
|
-
});
|
|
2416
|
-
|
|
2417
|
-
es.addEventListener('coverage-done', () => {
|
|
2418
|
-
coverageRunning = false;
|
|
2419
|
-
coverageHasError = false;
|
|
2420
|
-
updateCovBtn();
|
|
2421
|
-
// data-updated fires separately and triggers refreshData()
|
|
2422
|
-
});
|
|
2423
|
-
|
|
2424
|
-
es.addEventListener('coverage-error', () => {
|
|
2425
|
-
coverageRunning = false;
|
|
2426
|
-
coverageHasError = true;
|
|
2427
|
-
updateCovBtn();
|
|
2428
|
-
setTimeout(() => { coverageHasError = false; updateCovBtn(); }, 8000);
|
|
2429
|
-
});
|
|
2430
|
-
|
|
2431
2411
|
es.addEventListener('agent-queued', (e) => {
|
|
2432
2412
|
const { queueLength, title, task, featureKey, filePath } = JSON.parse(e.data);
|
|
2433
2413
|
updateQueueBadge(queueLength);
|
|
@@ -2561,16 +2541,24 @@ function connectSSE() {
|
|
|
2561
2541
|
|
|
2562
2542
|
es.addEventListener('tests-started', (e) => {
|
|
2563
2543
|
const { testType, count } = JSON.parse(e.data);
|
|
2564
|
-
const
|
|
2544
|
+
const label = testType === 'all' ? 'Все тесты' : `🧪 ${testType}`;
|
|
2545
|
+
const id = createSession(label);
|
|
2565
2546
|
runningSessionId = id;
|
|
2566
|
-
appendToSession(id, `Запускаю ${testType} тесты (${count} файлов)…`);
|
|
2567
|
-
document.getElementById('agentPanelTitle').textContent =
|
|
2547
|
+
appendToSession(id, `Запускаю ${testType === 'all' ? 'все' : testType} тесты (${count} файлов)…`);
|
|
2548
|
+
document.getElementById('agentPanelTitle').textContent = label;
|
|
2568
2549
|
document.getElementById('agentPanelStatus').textContent = `запускаю ${count} файлов…`;
|
|
2550
|
+
if (testType === 'all') {
|
|
2551
|
+
document.getElementById('agentPanel').classList.add('open');
|
|
2552
|
+
document.getElementById('termBtn').classList.add('term-active');
|
|
2553
|
+
}
|
|
2569
2554
|
});
|
|
2570
2555
|
|
|
2571
2556
|
es.addEventListener('tests-done', (e) => {
|
|
2572
2557
|
const { passed, failed, testErrors } = JSON.parse(e.data);
|
|
2573
2558
|
const status = failed === 0 ? 'ok' : 'error';
|
|
2559
|
+
// Update Run All button state
|
|
2560
|
+
runAllRunning = false;
|
|
2561
|
+
updateRunAllBtn(failed === 0 ? 'done-ok' : 'done-fail');
|
|
2574
2562
|
if (runningSessionId) {
|
|
2575
2563
|
updateSessionStatus(runningSessionId, status);
|
|
2576
2564
|
if (activeSessionId === runningSessionId) {
|