beast-agent 0.26.0 → 0.26.2

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/src/preload.js CHANGED
@@ -39,11 +39,6 @@ contextBridge.exposeInMainWorld('beast', {
39
39
  eventsSubs: () => ipcRenderer.invoke('events:subs:list'),
40
40
  eventUnsub: (id) => ipcRenderer.invoke('events:subs:remove', id),
41
41
  getSettings: () => ipcRenderer.invoke('settings:get'),
42
- proxyGet: () => ipcRenderer.invoke('proxy:get'),
43
- proxySet: (cfg) => ipcRenderer.invoke('proxy:set', cfg),
44
- proxyTest: () => ipcRenderer.invoke('proxy:test'),
45
- warpGet: () => ipcRenderer.invoke('warp:get'),
46
- warpSet: (on) => ipcRenderer.invoke('warp:set', on),
47
42
  getFallout: () => ipcRenderer.invoke('fallout:get'),
48
43
  setFallout: (cfg) => ipcRenderer.invoke('fallout:set', cfg),
49
44
  getLimits: () => ipcRenderer.invoke('limits:get'),
@@ -130,6 +125,14 @@ contextBridge.exposeInMainWorld('beast', {
130
125
  tgSetAllow: (list) => ipcRenderer.invoke('tg:allow:set', list),
131
126
  tgListSessions: () => ipcRenderer.invoke('tg:sessions'),
132
127
  onTgEvent: (cb) => ipcRenderer.on('tg:event', (_e, ev) => cb(ev)),
128
+ dcGetStatus: () => ipcRenderer.invoke('dc:status:get'),
129
+ dcSetToken: (token) => ipcRenderer.invoke('dc:set', token),
130
+ dcStart: () => ipcRenderer.invoke('dc:start'),
131
+ dcStop: () => ipcRenderer.invoke('dc:stop'),
132
+ dcGetAllow: () => ipcRenderer.invoke('dc:allow:get'),
133
+ dcSetAllow: (list) => ipcRenderer.invoke('dc:allow:set', list),
134
+ dcListSessions: () => ipcRenderer.invoke('dc:sessions'),
135
+ onDcEvent: (cb) => ipcRenderer.on('dc:event', (_e, ev) => cb(ev)),
133
136
  getUsage: () => ipcRenderer.invoke('usage:get'),
134
137
  resetUsage: () => ipcRenderer.invoke('usage:reset'),
135
138
  createBackup: () => ipcRenderer.invoke('backup:create'),
@@ -61,33 +61,6 @@
61
61
  tab_websearch: 'Web Arama',
62
62
  tab_limits: 'Limit Ayarları',
63
63
  tab_security: 'Güvenlik',
64
- tab_proxy: 'Proxy',
65
- proxy_h2: 'Proxy',
66
- proxy_sub: 'Tüm çıkış trafiğini (LLM API, dahili tarayıcı, web arama, http_fetch) proxy üzerinden geçir. Gizlilik, IP rotasyonu ve erişim engelleri için.',
67
- proxy_enabled: 'Proxy aktif',
68
- proxy_urls: 'Proxy listesi (çoklu satır = rotasyon)',
69
- proxy_add: '+ Ekle',
70
- proxy_host: 'IP / sunucu',
71
- proxy_port: 'Port',
72
- proxy_user: 'Kullanıcı (opsiyonel)',
73
- proxy_pass: 'Şifre (opsiyonel)',
74
- proxy_none: 'Henüz proxy eklenmedi — alanları doldurup + Ekle\u2019ye bas.',
75
- proxy_invalid: 'IP ve Port zorunlu (port sayı olmalı)',
76
- proxy_dup: 'Bu proxy zaten listede',
77
- proxy_urls_ph: 'http://127.0.0.1:8080\nhttp://kullanici:sifre@sunucu:port\nsocks5://sunucu:1080 (socks5 yalnız dahili tarayıcı)',
78
- proxy_save: 'Kaydet',
79
- proxy_test: 'Test Et (çıkış IP)',
80
- proxy_testing: 'Test ediliyor…',
81
- proxy_test_ok: 'Bağlantı OK — çıkış IP:',
82
- proxy_test_fail: 'Test başarısız:',
83
- proxy_saved: 'Proxy ayarları kaydedildi',
84
- proxy_note: 'Not: LLM API, http_fetch, TinyFish/Exa (http + socks5) ve dahili tarayıcı (http/socks5) destekler. Python motorları ve terminal süreçleri ortam değişkenleriyle yönlendirilir. Ayar anında uygulanır, yeniden başlatma gerekmez.',
85
- warp_on: '☁ Cloudflare WARP Aç',
86
- warp_off: '☁ Cloudflare WARP Kapat',
87
- warp_state_on: 'çalışıyor ✓',
88
- warp_state_starting: 'başlatılıyor…',
89
- warp_state_off: 'kapalı',
90
- warp_note: 'Bedava + üyeliksiz: Beast trafiğini Cloudflare ağından geçirir (yerel socks5). İlk açılışta ~10MB otomatik indirilir; kapatınca her şey normale döner.',
91
64
  tab_update: 'Güncelleme',
92
65
  up_h2: 'Güncelleme',
93
66
  up_sub: 'Sürümler GitHub Releases\u2019ten gelir. Otomatik kontrol açılışta ve 6 saatte bir çalışır.',
@@ -236,6 +209,12 @@
236
209
  it_tg_token_bad: 'Token doğrulanamadı — @BotFather\u2019dan aldığın tokenı kontrol et',
237
210
  it_tg_id_ph: 'Kullanıcı ID veya @kullanıcı_adı',
238
211
  it_tg_note: 'İzin listesi boşsa kimse cevap almaz. Bot oluşturma: @BotFather → /newbot. Kendi ID\u2019ni öğrenmek için @userinfobot\u2019a mesaj at.',
212
+ it_dc_sub: 'Bot tokenı ile çalışır — izin listendeki kişilere Discord\u2019dan cevap verir (sunucularda @mention bekler)',
213
+ it_dc_token_ph: 'Bot tokenı (Developer Portal → Bot → Reset Token)',
214
+ it_dc_connecting: 'Discord\u2019a bağlanıyor…',
215
+ it_dc_token_bad: 'Token doğrulanamadı — Developer Portal\u2019dan aldığın tokenı kontrol et',
216
+ it_dc_id_ph: 'Kullanıcı ID veya @kullanıcı_adı',
217
+ it_dc_note: 'İzin listesi boşsa kimse cevap almaz. Bot oluşturma: discord.com/developers → New Application → Bot → Token. "MESSAGE CONTENT INTENT"i AÇ (yoksa mesajlar boş gelir). Sunucu daveti: OAuth2 → bot yetkisiyle. Kendi ID\u2019ni öğrenmek için geliştirici modunu açıp kendine sağ tıkla → ID\u2019yi kopyala.',
239
218
  ev_h2: 'Olay Merkezi',
240
219
  ev_sub: 'Cron\u2019suz canlı olaylar — kaynakları aç, abonelikleri agent kendisi kurar (event_subscribe). Tetiklenen olay ilgili sohbete düşer, cevap WhatsApp\u2019a gider.',
241
220
  ev_on: 'Olay merkezi açık',
@@ -436,6 +415,9 @@
436
415
  bot_perm: 'Yetki seviyesi',
437
416
  bot_perm_note: 'all tek başına tüm araçları açar (özel). Web / Okuma / Sohbet birden fazla seçilebilir — seçilenlerin araçları birleşir.',
438
417
  bot_skills: 'Skill erişimi',
418
+ bot_model: 'Model',
419
+ bot_model_global: 'Global seçim (üstteki picker)',
420
+ bot_model_note: 'Bu bot için farklı model seçebilirsin; boş bırakırsan üstteki global model kullanılır. Seçim sadece bu bota bağlı sohbetlerde geçerli.',
439
421
  bot_browser: 'Tarayıcı ayarları',
440
422
  bot_ext_browser: 'Dış tarayıcı yetkisi (kullanıcı isterse)',
441
423
  bot_def_browser: 'Varsayılan tarayıcı',
@@ -497,7 +479,7 @@
497
479
  q_flushed: '${n} kuyruktaki mesaj gönderiliyor',
498
480
  bot_num_ro_hint: 'Numara ekleme/kişi adı Ayarlar → Entegrasyonlar (WhatsApp izin listesi) üzerinden yapılır; burada yalnızca bağlı numaralar görünür.',
499
481
  tipStore: 'Skills Store',
500
- tipGithub: 'GitHub Trending — depoları favorile, chate at, ajana araştır',
482
+ tipGithub: 'GitHub Trending — repoları favorile, chate at, ajana araştır',
501
483
  tipIde: 'IDE Modu — dosyalar + chat + preview',
502
484
  ide_files: 'DOSYALAR',
503
485
  ide_pick: 'Klasör seç',
@@ -606,33 +588,6 @@
606
588
  tab_websearch: 'Web Search',
607
589
  tab_limits: 'Limits',
608
590
  tab_security: 'Security',
609
- tab_proxy: 'Proxy',
610
- proxy_h2: 'Proxy',
611
- proxy_sub: 'Route all outgoing traffic (LLM APIs, built-in browser, web search, http_fetch) through a proxy. For privacy, IP rotation and access blocks.',
612
- proxy_enabled: 'Proxy enabled',
613
- proxy_urls: 'Proxy list (multiple lines = rotation)',
614
- proxy_add: '+ Add',
615
- proxy_host: 'IP / server',
616
- proxy_port: 'Port',
617
- proxy_user: 'Username (optional)',
618
- proxy_pass: 'Password (optional)',
619
- proxy_none: 'No proxy added yet — fill the fields and press + Add.',
620
- proxy_invalid: 'IP and Port are required (port must be numeric)',
621
- proxy_dup: 'This proxy is already in the list',
622
- proxy_urls_ph: 'http://127.0.0.1:8080\nhttp://user:pass@server:port\nsocks5://server:1080 (socks5 built-in browser only)',
623
- proxy_save: 'Save',
624
- proxy_test: 'Test (exit IP)',
625
- proxy_testing: 'Testing…',
626
- proxy_test_ok: 'Connection OK — exit IP:',
627
- proxy_test_fail: 'Test failed:',
628
- proxy_saved: 'Proxy settings saved',
629
- proxy_note: 'Note: LLM APIs, http_fetch, TinyFish/Exa (http + socks5) and the built-in browser (http/socks5) are supported. Python engines and terminal processes are routed via environment variables. Applied instantly — no restart needed.',
630
- warp_on: '☁ Cloudflare WARP On',
631
- warp_off: '☁ Cloudflare WARP Off',
632
- warp_state_on: 'running ✓',
633
- warp_state_starting: 'starting…',
634
- warp_state_off: 'off',
635
- warp_note: 'Free + no account: routes Beast traffic through the Cloudflare network (local socks5). First enable downloads ~10MB automatically; turning it off restores everything.',
636
591
  tab_update: 'Update',
637
592
  up_h2: 'Update',
638
593
  up_sub: 'Versions come from GitHub Releases. Automatic check runs on startup and every 6 hours.',
@@ -781,6 +736,12 @@
781
736
  it_tg_token_bad: 'Token could not be verified — check the token from @BotFather',
782
737
  it_tg_id_ph: 'User ID or @username',
783
738
  it_tg_note: 'Empty allow list = nobody gets a reply. Create a bot: @BotFather → /newbot. To learn your ID, message @userinfobot.',
739
+ it_dc_sub: 'Works with a bot token — replies on Discord to people in your allow list (mentions only in servers)',
740
+ it_dc_token_ph: 'Bot token (Developer Portal → Bot → Reset Token)',
741
+ it_dc_connecting: 'Connecting to Discord…',
742
+ it_dc_token_bad: 'Token could not be verified — check the token from the Developer Portal',
743
+ it_dc_id_ph: 'User ID or @username',
744
+ it_dc_note: 'Empty allow list = nobody gets a reply. Create a bot: discord.com/developers → New Application → Bot → Token. Turn ON "MESSAGE CONTENT INTENT". Invite via OAuth2 bot URL. To learn your ID: enable developer mode, right-click yourself → Copy ID.',
784
745
  ev_h2: 'Event Center',
785
746
  ev_sub: 'Live events without cron — open sources, the agent sets up subscriptions itself (event_subscribe). The triggered event drops into the relevant chat, the reply goes to WhatsApp.',
786
747
  ev_on: 'Event center on',
@@ -1039,6 +1000,9 @@
1039
1000
  bot_perm: 'Permission level',
1040
1001
  bot_perm_note: 'all alone grants every tool (exclusive). Web / Read / Chat can be multi-selected — their tool sets are combined.',
1041
1002
  bot_skills: 'Skill access',
1003
+ bot_model: 'Model',
1004
+ bot_model_global: 'Global selection (main picker)',
1005
+ bot_model_note: 'You can pick a different model for this bot; leave empty to use the global selection. Applies only to chats bound to this bot.',
1042
1006
  bot_browser: 'Browser settings',
1043
1007
  bot_ext_browser: 'External browser permission (when user asks)',
1044
1008
  bot_def_browser: 'Default browser',
@@ -164,7 +164,6 @@
164
164
  <button class="tab" data-tab="dash" data-i18n="tab_dash">Dashboard</button>
165
165
  <button class="tab" data-tab="limits" data-i18n="tab_limits">Limit</button>
166
166
  <button class="tab" data-tab="sec" data-i18n="tab_security">Güvenlik</button>
167
- <button class="tab" data-tab="proxy" data-i18n="tab_proxy">Proxy</button>
168
167
  <button class="tab" data-tab="update" data-i18n="tab_update">Güncelleme</button>
169
168
  </nav>
170
169
  <div class="set-tabs-foot">
@@ -192,7 +191,6 @@
192
191
  <div id="tab-dash" class="pane" hidden></div>
193
192
  <div id="tab-limits" class="pane" hidden></div>
194
193
  <div id="tab-sec" class="pane" hidden></div>
195
- <div id="tab-proxy" class="pane" hidden></div>
196
194
  <div id="tab-update" class="pane" hidden></div>
197
195
  <div id="tab-cron" class="pane" hidden>
198
196
  <h2 data-i18n="cron_h2">Cron Görevler</h2>
@@ -281,7 +279,7 @@
281
279
  <div id="ghBody">
282
280
  <section id="ghTrendPane" class="gh-pane">
283
281
  <div class="gh-pane-tabs">
284
- <button class="gh-tab on" data-ghtab="trend">Trend Depolar</button>
282
+ <button class="gh-tab on" data-ghtab="trend">Trend Repolar</button>
285
283
  <button class="gh-tab" data-ghtab="all">Tüm Repolar</button>
286
284
  </div>
287
285
  <div class="gh-pane-subline" id="ghTrendSub">— son 2 haftanın yıldız yükselenleri</div>