beast-agent 2.11.0 → 2.13.0

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
@@ -139,6 +139,19 @@ contextBridge.exposeInMainWorld('beast', {
139
139
  fetchModels: (opts) => ipcRenderer.invoke('custom:fetchModels', opts),
140
140
  builtinProviders: () => ipcRenderer.invoke('providers:builtin'),
141
141
  zenOneClick: () => ipcRenderer.invoke('zen:oneClick'),
142
+
143
+ sandboxList: () => ipcRenderer.invoke('sandbox:list'),
144
+ sandboxClone: (input) => ipcRenderer.invoke('sandbox:clone', input),
145
+ sandboxSend: (payload) => ipcRenderer.invoke('sandbox:send', payload),
146
+ sandboxStop: (payload) => ipcRenderer.invoke('sandbox:stop', payload),
147
+ sandboxNew: (payload) => ipcRenderer.invoke('sandbox:new', payload),
148
+ sandboxRemove: (payload) => ipcRenderer.invoke('sandbox:remove', payload),
149
+ sandboxReveal: (payload) => ipcRenderer.invoke('sandbox:reveal', payload),
150
+ sandboxOpen: (payload) => ipcRenderer.invoke('sandbox:open', payload),
151
+ sandboxTree: (payload) => ipcRenderer.invoke('sandbox:tree', payload),
152
+ sandboxRun: (payload) => ipcRenderer.invoke('sandbox:run', payload),
153
+ sandboxRunStop: () => ipcRenderer.invoke('sandbox:runstop'),
154
+ sandboxOpenUrl: (url) => ipcRenderer.invoke('sandbox:openurl', url),
142
155
  waStart: () => ipcRenderer.invoke('wa:start'),
143
156
  waStop: () => ipcRenderer.invoke('wa:stop'),
144
157
  waReset: () => ipcRenderer.invoke('wa:reset'),
@@ -209,6 +222,11 @@ contextBridge.exposeInMainWorld('beast', {
209
222
  idePreview: () => ipcRenderer.invoke('ide:preview'),
210
223
  idePreviewFile: (rel) => ipcRenderer.invoke('ide:previewFile', rel),
211
224
  idePreviewUrl: (url) => ipcRenderer.invoke('ide:previewUrl', url),
225
+ ideProjInfo: () => ipcRenderer.invoke('ide:projinfo'),
226
+ ideExpQr: () => ipcRenderer.invoke('ide:expqr'),
227
+ headroomToggle: (on) => ipcRenderer.invoke('headroom:toggle', !!on),
228
+ headroomStatus: () => ipcRenderer.invoke('headroom:status'),
229
+ headroomStats: () => ipcRenderer.invoke('headroom:stats'),
212
230
  agentsClearAll: () => ipcRenderer.invoke('agents:clearAll'),
213
231
  ideDelete: (rel) => ipcRenderer.invoke('ide:delete', rel),
214
232
  onWaEvent: (cb) => ipcRenderer.on('wa:event', (_e, ev) => cb(ev)),
@@ -64,6 +64,7 @@
64
64
  set_title: 'AYARLAR',
65
65
  tab_lang: 'Dil',
66
66
  lang_sub: 'Arayüz dili — uygulama dili ve sesli komut dili buradan değişir',
67
+ tab_headroom: 'Token Sıkıştırma',
67
68
  tab_provider: 'Provider',
68
69
  tab_fallout: 'Fallout',
69
70
  tab_memory: 'Memory',
@@ -163,7 +164,7 @@
163
164
  em_mem_clear: 'Hafızayı Temizle',
164
165
  em_mem_cleared: 'Empati hafızası temizlendi',
165
166
  tab_cron: 'Cron',
166
- tab_usage: 'Maliyet · Limit',
167
+ tab_usage: 'Maliyet',
167
168
  tab_logs: 'Log',
168
169
  tab_dash: 'Dashboard',
169
170
  tab_limits: 'Limit',
@@ -579,6 +580,7 @@
579
580
  tipGithub: 'GitHub Trending — repoları favorile, chate at, ajana araştır',
580
581
  tipIde: 'IDE Modu — dosyalar + chat + preview',
581
582
  tipStudio: 'Beast Studio — video yapma/düzenleme modu',
583
+ tipSandbox: 'Beast Sandbox — GitHub reposu indir & içinde çalış',
582
584
  tipCodeHide: 'Editörü kapat',
583
585
  tipCodeShow: 'Editörü göster',
584
586
  ide_files: 'DOSYALAR',
@@ -695,6 +697,7 @@
695
697
  set_title: 'SETTINGS',
696
698
  tab_lang: 'Language',
697
699
  lang_sub: 'Interface language — app UI and voice command language',
700
+ tab_headroom: 'Token Compression',
698
701
  tab_provider: 'Provider',
699
702
  tab_fallout: 'Fallout',
700
703
  tab_memory: 'Memory',
@@ -794,7 +797,7 @@
794
797
  em_mem_clear: 'Clear Memory',
795
798
  em_mem_cleared: 'Empathy memory cleared',
796
799
  tab_cron: 'Cron',
797
- tab_usage: 'Cost · Limit',
800
+ tab_usage: 'Cost',
798
801
  tab_logs: 'Logs',
799
802
  tab_dash: 'Dashboard',
800
803
  tab_limits: 'Limit',
@@ -1268,6 +1271,7 @@
1268
1271
  tipGithub: 'GitHub Trending — favorite repos, send to chat, ask the agent',
1269
1272
  tipIde: 'IDE Mode — files + chat + preview',
1270
1273
  tipStudio: 'Beast Studio — video making/editing mode',
1274
+ tipSandbox: 'Beast Sandbox — download a GitHub repo & work inside it',
1271
1275
  tipCodeHide: 'Hide editor',
1272
1276
  tipCodeShow: 'Show editor',
1273
1277
  ide_files: 'FILES',
@@ -82,6 +82,7 @@
82
82
  </div>
83
83
  </div>
84
84
  <button id="studioBtn" class="dd-btn dd-icon-btn" title="Beast Studio — video yapma/düzenleme" data-i18n-title="tipStudio"><svg viewBox="0 0 24 24" width="15" height="15" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="2" y="6" width="13" height="12" rx="2"/><path d="M15 10l7-4v12l-7-4"/></svg></button>
85
+ <button id="sbBtn" class="dd-btn dd-icon-btn" title="Beast Sandbox — GitHub reposu indir &amp; içinde çalış" data-i18n-title="tipSandbox"><svg viewBox="0 0 24 24" width="15" height="15" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/><polyline points="3.27 6.96 12 12.01 20.73 6.96"/><line x1="12" y1="22.08" x2="12" y2="12"/></svg></button>
85
86
  <button id="railBtn" class="dd-btn dd-icon-btn" title="Paralel Ajan Konsolu" data-i18n-title="tipRail">&#x25A4;</button>
86
87
  <button id="watchBtn" class="dd-btn dd-icon-btn" title="İzleyiciler (Watchers)" data-i18n-title="tipWatch">&#x25CE;</button>
87
88
  <button id="cronBtn" class="dd-btn dd-icon-btn" title="Cron Görevler" data-i18n-title="tipCron">&#x23F1;&#xFE0E;</button>
@@ -163,11 +164,21 @@
163
164
  <button id="codeShow" title="Editörü göster" data-i18n-title="tipCodeShow" hidden>&#x25A3;&#xFE0E;</button>
164
165
  <button id="bcNew" title="Yeni oturum" data-i18n-title="bc_new">*</button>
165
166
  <button id="bcClear" title="Çıktıyı temizle" data-i18n-title="bc_clear">Temizle</button>
167
+ <button id="bcQrBtn" title="Expo Go QR" hidden>&#x25A3;&#xFE0E;</button>
166
168
  </div>
167
169
  <div id="bcOut"></div>
168
170
  <div id="bcTodoWrap" hidden></div>
169
171
  <div id="bcStatus" hidden></div>
170
172
  <div id="bcChips" hidden></div>
173
+ <div id="bcQrCard" hidden>
174
+ <div class="bq-head">
175
+ <span>EXPO GO QR</span>
176
+ <button id="bcQrClose" title="Kapat">&#x00D7;</button>
177
+ </div>
178
+ <img id="bcQrImg" alt="Expo QR" draggable="false" />
179
+ <div id="bcQrUrl" title=""></div>
180
+ <div class="bq-hint">Telefonda <b>Expo Go</b> uygulamasıyla okut</div>
181
+ </div>
171
182
  <div id="bcInputRow">
172
183
  <button id="bcAttach" title="Dosya / resim ekle" data-i18n-title="tipAttach">+</button>
173
184
  <button id="bcMic" title="Sesli komut — konuş, bırakınca yazıya çevirsin" data-i18n-title="tipMic"><svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="2" width="6" height="12" rx="3"/><path d="M19 10v2a7 7 0 0 1-14 0v-2"/><path d="M12 19v3"/></svg></button>
@@ -212,9 +223,55 @@
212
223
  <div id="stVideoEmpty">Soldaki klasörden bir video/ses seç<br>veya &ldquo;Aç&rdquo; ile dosya seç — ajanın ürettiği çıktılar da burada oynatılır</div>
213
224
  <video id="stVideoEl" controls hidden></video>
214
225
  </div>
215
- </section>
216
- </div>
217
- </main>
226
+ </section>
227
+ </div>
228
+
229
+ <div id="sandboxRow">
230
+ <section id="sbPanel">
231
+ <div id="sbHead">
232
+ <span id="sbTitle">BEAST SANDBOX</span>
233
+ <select id="sbRepo" title="İndirilen repo seç"></select>
234
+ <span class="file-spacer"></span>
235
+ <button id="sbReveal" title="Klasörü aç (Explorer)"><svg viewBox="0 0 24 24" width="14" height="14" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7z"/></svg></button>
236
+ <button id="sbRemove" title="Reposunu sil" data-i18n-title="cr_del">&#x00D7;</button>
237
+ <button id="sbNew" title="Bu reponun oturumunu sıfırla" data-i18n-title="bc_new">*</button>
238
+ </div>
239
+ <div id="sbCloneRow">
240
+ <input id="sbCloneInput" placeholder="github.com/owner/repo veya owner/repo" spellcheck="false" autocomplete="off" />
241
+ <button id="sbCloneBtn" title="İndir (git clone)"><svg viewBox="0 0 24 24" width="13" height="13" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="7 10 12 15 17 10"/><line x1="12" y1="15" x2="12" y2="3"/></svg><span id="sbCloneLabel">İndir</span></button>
242
+ <button id="sbGhBtn" title="GitHub'da ara"><svg viewBox="0 0 24 24" width="13" height="13" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/></svg></button>
243
+ </div>
244
+ <div id="sbOut"></div>
245
+ <div id="sbStatus" hidden></div>
246
+ <div id="sbInputRow">
247
+ <textarea id="sbInput" rows="1" spellcheck="false" autocomplete="off" placeholder="Sandbox mesajı — ajan bu repo klasöründe çalışır…"></textarea>
248
+ <button id="sbStop" title="Çalışan mesajı durdur" hidden data-i18n-title="bc_stop"><svg viewBox="0 0 24 24" width="13" height="13" fill="currentColor" stroke="none"><rect x="6" y="6" width="12" height="12" rx="2"/></svg></button>
249
+ </div>
250
+ </section>
251
+
252
+ <section id="sbRun">
253
+ <div id="sbRunHead">
254
+ <span id="sbRunTitle">ÇALIŞTIR</span>
255
+ <span id="sbRunCwd" title="">—</span>
256
+ </div>
257
+ <div id="sbRunBtns">
258
+ <button id="sbRunInstall" title="Ajana talimat: projeyi kur — doğru komutu ajan bulur"><svg viewBox="0 0 24 24" width="12" height="12" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="vertical-align:-2px;margin-right:3px"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="7 10 12 15 17 10"/><line x1="12" y1="15" x2="12" y2="3"/></svg>Kur</button>
259
+ <button id="sbRunStart" title="Ajana talimat: projeyi çalıştır — uzun süreli süreç ÇALIŞTIR panelinde başlar"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" stroke="none" style="vertical-align:-2px;margin-right:3px"><polygon points="6 3 20 12 6 21 6 3"/></svg>Başlat</button>
260
+ <button id="sbRunDev" title="Ajana talimat: geliştirme modunda başlat (dev)"><svg viewBox="0 0 24 24" width="12" height="12" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="vertical-align:-2px;margin-right:3px"><polygon points="13 2 3 14 12 14 11 22 21 10 12 10 13 2"/></svg>Dev</button>
261
+ <button id="sbRunStop" title="Süreci durdur" hidden><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" stroke="none" style="vertical-align:-2px;margin-right:3px"><rect x="6" y="6" width="12" height="12" rx="2"/></svg>Durdur</button>
262
+ </div>
263
+ <div id="sbRunCustom">
264
+ <input id="sbRunCmd" placeholder="özel komut: python main.py, cargo run, node index.js…" spellcheck="false" autocomplete="off" />
265
+ <button id="sbRunGo" title="Çalıştır"><svg viewBox="0 0 24 24" width="12" height="12" fill="currentColor" stroke="none"><polygon points="6 3 20 12 6 21 6 3"/></svg></button>
266
+ </div>
267
+ <div id="sbRunOut"></div>
268
+ <div id="sbRunFoot">
269
+ <button id="sbRunOpen" title="Ajana talimat: çalışma adresini bulup tarayıcıda açar" disabled><svg viewBox="0 0 24 24" width="12" height="12" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="vertical-align:-2px;margin-right:3px"><circle cx="12" cy="12" r="10"/><line x1="2" y1="12" x2="22" y2="12"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg><span id="sbRunOpenLabel">Tarayıcıda aç</span></button>
270
+ <span id="sbRunUrl" title=""></span>
271
+ </div>
272
+ </section>
273
+ </div>
274
+ </main>
218
275
 
219
276
  <aside id="rail">
220
277
  <div id="railHead">
@@ -250,6 +307,7 @@
250
307
  <button class="tab" data-tab="empati" data-i18n="tab_empati">Empati Loop</button>
251
308
  <button class="tab" data-tab="cron" data-i18n="tab_cron">Cron</button>
252
309
  <button class="tab" data-tab="usage" data-i18n="tab_usage">Maliyet · Limit</button>
310
+ <button class="tab" data-tab="headroom" data-i18n="tab_headroom">Token Sıkıştırma</button>
253
311
  <button class="tab" data-tab="logs" data-i18n="tab_logs">Log</button>
254
312
  <button class="tab" data-tab="dash" data-i18n="tab_dash">Dashboard</button>
255
313
  <button class="tab" data-tab="sec" data-i18n="tab_security">Güvenlik</button>
@@ -275,6 +333,7 @@
275
333
  <div id="tab-events" class="pane" hidden></div>
276
334
  <div id="tab-empati" class="pane" hidden></div>
277
335
  <div id="tab-usage" class="pane" hidden></div>
336
+ <div id="tab-headroom" class="pane" hidden></div>
278
337
  <div id="tab-logs" class="pane" hidden></div>
279
338
  <div id="tab-dash" class="pane" hidden></div>
280
339
  <div id="tab-sec" class="pane" hidden></div>