viberadar 0.3.129 → 0.3.130

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.
@@ -1798,6 +1798,15 @@ let agentRunning = false;
1798
1798
  const agentRunningPaths = new Set(); // paths of files currently being processed by agent
1799
1799
  const agentQueuedPaths = new Set(); // paths of files waiting in queue
1800
1800
  let agentQueueState = [];
1801
+ let docActualizeRunningKey = null; // featureKey currently being actualized
1802
+
1803
+ function setDocActualizeStatus(key, html) {
1804
+ docActualizeRunningKey = key;
1805
+ const el = document.getElementById('docActualizeStatus');
1806
+ if (!el) return;
1807
+ if (html) { el.style.display = 'block'; el.innerHTML = html; }
1808
+ else { el.style.display = 'none'; el.innerHTML = ''; }
1809
+ }
1801
1810
  let agentRunsState = [];
1802
1811
  let agentActiveRun = null;
1803
1812
  let currentRunId = null;
@@ -4768,8 +4777,11 @@ async function renderDocFeatureDetail(c) {
4768
4777
  <div>
4769
4778
  <div class="doc-step-label">${detailActualizeLabel}</div>
4770
4779
  <div class="doc-step-hint">${detailActualizeHint}</div>
4771
- <button class="agent-card-btn doc-detail-agent-btn" data-task="actualize-docs" data-key="${f.key}" style="margin-top:8px">Актуализировать документацию</button>
4772
- ${screenshotCheckboxHtml}
4780
+ <div style="display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px">
4781
+ <button class="agent-card-btn doc-detail-agent-btn" data-task="actualize-docs" data-key="${f.key}">Актуализировать документацию → v${nextVersion}</button>
4782
+ ${screenshotCheckboxHtml}
4783
+ </div>
4784
+ <div id="docActualizeStatus" style="display:none;margin-top:10px;padding:8px 12px;border-radius:6px;background:rgba(88,166,255,0.08);border:1px solid rgba(88,166,255,0.2);font-size:12px;color:var(--blue)"></div>
4773
4785
  ${versionsHtml}
4774
4786
  </div>
4775
4787
  </div>
@@ -4826,7 +4838,12 @@ async function renderDocFeatureDetail(c) {
4826
4838
  c.querySelectorAll('.doc-detail-agent-btn').forEach(btn => {
4827
4839
  btn.addEventListener('click', () => {
4828
4840
  const cb = document.getElementById('docCaptureScreenshots');
4829
- const meta = cb && cb.checked ? { captureScreenshots: true } : undefined;
4841
+ const captureScreenshots = cb && cb.checked;
4842
+ const meta = captureScreenshots ? { captureScreenshots: true } : undefined;
4843
+ btn.disabled = true;
4844
+ setDocActualizeStatus(btn.dataset.key,
4845
+ `⏳ Агент актуализирует документацию…${captureScreenshots ? ' (📸 + скриншоты)' : ''}`
4846
+ );
4830
4847
  runAgentTask(btn.dataset.task, btn.dataset.key, null, null, meta);
4831
4848
  });
4832
4849
  });
@@ -6394,6 +6411,14 @@ function connectSSE() {
6394
6411
  } else {
6395
6412
  appendTerminalLine(line, !!isError, !!isDim);
6396
6413
  }
6414
+ // Update doc actualize status bar with latest line
6415
+ if (docActualizeRunningKey) {
6416
+ const el = document.getElementById('docActualizeStatus');
6417
+ if (el && el.style.display !== 'none' && line && !isDim) {
6418
+ const clean = line.replace(/</g, '&lt;').replace(/>/g, '&gt;');
6419
+ el.innerHTML = `⏳ ${clean}`;
6420
+ }
6421
+ }
6397
6422
  });
6398
6423
 
6399
6424
  es.addEventListener('agent-done', () => {
@@ -6407,6 +6432,10 @@ function connectSSE() {
6407
6432
  }
6408
6433
  runningSessionId = null;
6409
6434
  }
6435
+ if (docActualizeRunningKey) {
6436
+ setDocActualizeStatus(null, null);
6437
+ docActualizeRunningKey = null;
6438
+ }
6410
6439
  renderContent();
6411
6440
  });
6412
6441
 
@@ -6460,6 +6489,11 @@ function connectSSE() {
6460
6489
  if (!runId) setAgentRunning(false);
6461
6490
  agentRunningPaths.clear();
6462
6491
  agentQueuedPaths.clear();
6492
+ if (docActualizeRunningKey) {
6493
+ const el = document.getElementById('docActualizeStatus');
6494
+ if (el) { el.style.background = 'rgba(248,81,73,0.08)'; el.style.borderColor = 'rgba(248,81,73,0.2)'; el.style.color = 'var(--red)'; el.innerHTML = `✗ Ошибка: ${escapeHtml(message || 'агент завершился с ошибкой')}`; }
6495
+ docActualizeRunningKey = null;
6496
+ }
6463
6497
  renderContent();
6464
6498
 
6465
6499
  // Build error node (plain text or auth/install box)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "viberadar",
3
- "version": "0.3.129",
3
+ "version": "0.3.130",
4
4
  "description": "Live module map with test coverage for vibecoding projects",
5
5
  "main": "./dist/cli.js",
6
6
  "bin": {