beast-agent 2.6.3 → 2.6.4
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/perception.js +17 -2
package/package.json
CHANGED
package/src/agent/perception.js
CHANGED
|
@@ -27,6 +27,7 @@ const DEFAULTS = {
|
|
|
27
27
|
};
|
|
28
28
|
|
|
29
29
|
const EVENT_CAP = 250; // depo tavanı — eskiler düşer
|
|
30
|
+
const EVENT_TTL = 24 * 3600 * 1000; // son 24 saat penceresi — dışındakiler silinir
|
|
30
31
|
const SEEN_CAP = 800; // dedup parmakizi havuzu
|
|
31
32
|
const SEEN_TTL = 6 * 3600 * 1000; // aynı olay 6 saat içinde tekrar gelirse yut
|
|
32
33
|
const FILTER_MAX = 12; // tek filtre çağrısında en fazla olay
|
|
@@ -585,9 +586,17 @@ async function runCycle({ cfg, signals, llmFilter, now = new Date(), log = () =>
|
|
|
585
586
|
counts.queued = kept.length;
|
|
586
587
|
|
|
587
588
|
/* 'yok sayıldı' olaylar depoda TUTULMAZ — son olaylar listesi temiz kalır
|
|
588
|
-
|
|
589
|
+
(eski depoda kalan ignored'lar da bu filtreyle bir temizlikte silinir) */
|
|
589
590
|
st.events = st.events.filter((e) => e.status !== 'ignored');
|
|
590
591
|
|
|
592
|
+
/* SON 24 SAAT penceresi: daha eski olaylar depodan TAMAMEN silinir —
|
|
593
|
+
"son olaylar" listesi taze kalır (dedup/cooldown ayrı yapılarda, etkilenmez) */
|
|
594
|
+
const minTs = now.getTime() - EVENT_TTL;
|
|
595
|
+
st.events = st.events.filter((e) => {
|
|
596
|
+
const t = Date.parse(e.ts);
|
|
597
|
+
return !Number.isFinite(t) || t >= minTs;
|
|
598
|
+
});
|
|
599
|
+
|
|
591
600
|
/* depo tavanı */
|
|
592
601
|
if (st.events.length > EVENT_CAP) st.events = st.events.slice(st.events.length - EVENT_CAP);
|
|
593
602
|
|
|
@@ -622,7 +631,13 @@ function markNotified(id, level, text, cooldownMin) {
|
|
|
622
631
|
function listEvents(limit) {
|
|
623
632
|
const st = loadState();
|
|
624
633
|
const n = Math.max(1, Math.min(200, Number(limit) || 60));
|
|
625
|
-
|
|
634
|
+
/* yalnız son 24 saat — depo temizliği döngüye kadar da liste taze dönsün */
|
|
635
|
+
const minTs = Date.now() - EVENT_TTL;
|
|
636
|
+
const fresh = st.events.filter((e) => {
|
|
637
|
+
const t = Date.parse(e.ts);
|
|
638
|
+
return !Number.isFinite(t) || t >= minTs;
|
|
639
|
+
});
|
|
640
|
+
return fresh.slice(-n).reverse().map((e) => ({
|
|
626
641
|
id: e.id,
|
|
627
642
|
ts: e.ts,
|
|
628
643
|
source: e.source,
|