beast-agent 2.24.2 → 2.24.3
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/package.json +1 -1
- package/src/agent/engine.js +29 -1
- package/src/renderer/renderer.js +5 -0
package/package.json
CHANGED
package/src/agent/engine.js
CHANGED
|
@@ -378,6 +378,8 @@ class Engine {
|
|
|
378
378
|
} catch {
|
|
379
379
|
this._agentDms = [];
|
|
380
380
|
}
|
|
381
|
+
/* restart barışı: koşan üyesi kalmayan ekip/DM gruplarını kapat */
|
|
382
|
+
try { this._agentDmReconcile(); } catch {}
|
|
381
383
|
/* superyorizyon döngüsü: takılan/uzun süren ajanı CEO'ya bildirir */
|
|
382
384
|
this._supTimer = setInterval(() => {
|
|
383
385
|
try { this._supervise(); } catch {}
|
|
@@ -6525,7 +6527,11 @@ Engine.prototype._agentDmClose = function (sid) {
|
|
|
6525
6527
|
changed = true;
|
|
6526
6528
|
}
|
|
6527
6529
|
}
|
|
6528
|
-
if (changed)
|
|
6530
|
+
if (changed) {
|
|
6531
|
+
this._persistAgentDms();
|
|
6532
|
+
/* panele CANLI haber: sohbet(ler) kapandı — AKTİF'ten GEÇMİŞ'e düşsün */
|
|
6533
|
+
try { this.emit({ type: 'agent-dm-closed', sessionId: sid }); } catch {}
|
|
6534
|
+
}
|
|
6529
6535
|
};
|
|
6530
6536
|
|
|
6531
6537
|
Engine.prototype.agentDmsList = function () {
|
|
@@ -6534,6 +6540,28 @@ Engine.prototype.agentDmsList = function () {
|
|
|
6534
6540
|
return { dms: [...(this._agentDms || [])].slice(-600), groups };
|
|
6535
6541
|
};
|
|
6536
6542
|
|
|
6543
|
+
/* RESTART BARİŞİ: açılışta grupları denetle — hiçbir üye ajan koşmuyorsa
|
|
6544
|
+
grup sohbeti KAPANIR (uygulama kapanırken yarım kalan ekip sohbetleri
|
|
6545
|
+
sonsuza dek "aktif" görünmesin; geçmiş panelde korunur). */
|
|
6546
|
+
Engine.prototype._agentDmReconcile = function () {
|
|
6547
|
+
const running = new Set();
|
|
6548
|
+
for (const [sid, j] of this._bgJobs || new Map()) {
|
|
6549
|
+
if (j && j.status === 'running') running.add(String(sid));
|
|
6550
|
+
}
|
|
6551
|
+
let changed = false;
|
|
6552
|
+
const now = new Date().toISOString();
|
|
6553
|
+
for (const [, g] of this._agentGroups || new Map()) {
|
|
6554
|
+
if (g.closed) continue;
|
|
6555
|
+
const anyRunning = (g.members || []).some((m) => running.has(String(m)));
|
|
6556
|
+
if (!anyRunning) {
|
|
6557
|
+
g.closed = true;
|
|
6558
|
+
g.closedAt = now;
|
|
6559
|
+
changed = true;
|
|
6560
|
+
}
|
|
6561
|
+
}
|
|
6562
|
+
if (changed) this._persistAgentDms();
|
|
6563
|
+
};
|
|
6564
|
+
|
|
6537
6565
|
Engine.prototype.agentDmsClear = function () {
|
|
6538
6566
|
this._agentDms = [];
|
|
6539
6567
|
this._agentGroups = new Map();
|
package/src/renderer/renderer.js
CHANGED
|
@@ -5617,6 +5617,11 @@ function onEvent(ev) {
|
|
|
5617
5617
|
if ($('#dmRail') && !$('#dmRail').classList.contains('dm-hidden')) renderDmRail();
|
|
5618
5618
|
return;
|
|
5619
5619
|
}
|
|
5620
|
+
/* AJAN DM sohbeti kapandı (ajan işi bitti) — AKTİF/GEÇMİŞ tazele */
|
|
5621
|
+
if (ev.type === 'agent-dm-closed') {
|
|
5622
|
+
refreshDmRail().catch(() => {});
|
|
5623
|
+
return;
|
|
5624
|
+
}
|
|
5620
5625
|
/* KİŞİSEL TOOL çalışma kaydı — TOOLS konsolunun nokta göstergeleri */
|
|
5621
5626
|
if (ev.type === 'tool-log') {
|
|
5622
5627
|
toolUi.logRows.push({
|