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 CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "beast-agent",
3
3
  "productName": "Beast Agent",
4
- "version": "2.6.3",
4
+ "version": "2.6.4",
5
5
  "description": "Ultra-fast local agent shell for Windows.",
6
6
  "author": "algokodcom (AlgoKod)",
7
7
  "license": "MIT",
@@ -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
- (eski depoda kalan ignored'lar da bu filtreyle bir temizlikte silinir) */
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
- return st.events.slice(-n).reverse().map((e) => ({
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,