beast-agent 2.2.1 → 2.3.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.
@@ -31,11 +31,18 @@
31
31
  bc_copied: 'Kopyalandı',
32
32
  tipModelRefresh: 'Modelleri yeniden çek (tüm providerlar)',
33
33
  mr_done: 'Modeller yenilendi',
34
- tipMic: 'Sesli komut konuş, bırakınca yazıya çevirsin',
35
- mic_listening: 'Dinliyorum… bitirmek için mikrofona tekrar bas',
34
+ tipMic: 'Eller serbest: bas, konuş, susunca otomatik gönderir',
35
+ tip_tts_btn: 'Otomatik seslendirme (TTS) ajanın cevaplarını sesli okur',
36
+ tts_btn_on: 'Otomatik seslendirme AÇIK',
37
+ tts_btn_off: 'Otomatik seslendirme kapalı',
38
+ mic_listening: 'Dinliyorum… konuş, susunca gönderilir',
36
39
  mic_transcribing: 'Ses yazıya çevriliyor (yerel Whisper)…',
37
40
  mic_fail: 'Konuşma algılanamadı',
38
41
  mic_denied: 'Mikrofon erişimi verilmedi',
42
+ hf_start: 'Eller serbest AÇIK — konuşun, susunca gönderilir; kapatmak için tekrar bas',
43
+ hf_listening: 'Eller serbest: dinliyorum…',
44
+ hf_thinking: 'Eller serbest: cevap bekleniyor…',
45
+ hf_stopped: 'Eller serbest mod kapatıldı',
39
46
  tip_dark: 'Koyu tema',
40
47
  tipTerm: 'Terminal (PowerShell)',
41
48
  tipTermG: 'Git Bash terminali',
@@ -207,7 +214,12 @@
207
214
  tts_sub: 'Açık olursa WhatsApp cevapları metnin yanı sıra sesli not olarak da gönderilir.',
208
215
  tts_active: 'Aktif',
209
216
  tts_save: 'TTS Kaydet',
210
- tts_note: 'OpenAI-uyumlu bir speech API kullanır (tts-1, tts-1-hd vb.). Sesler: alloy, echo, fable, onyx, nova, shimmer.',
217
+ tts_test: 'Test sesi çal',
218
+ stt_download_now: 'Şimdi indir / hazırla',
219
+ tts_note: 'Edge TTS: ücretsiz yerel motor — anahtar gerekmez (Ahmet/Emel vb.). OpenAI motoru: uyumlu speech API (tts-1, tts-1-hd; sesler alloy, echo, fable, onyx, nova, shimmer).',
220
+ tts_engine: 'Motor',
221
+ tts_edge_voice: 'Edge sesi',
222
+ tts_chat_auto: 'Chat\'te ajanın yazdıklarını otomatik seslendir',
211
223
  tts_on: 'TTS açık — cevaplar sesli de gider',
212
224
  tts_off: 'TTS kapalı',
213
225
  em_h2: 'E-posta (Gmail)',
@@ -339,6 +351,7 @@
339
351
  bb_ph: 'adres yaz veya ara…',
340
352
  tip_bb_back: 'Geri',
341
353
  tip_bb_phone: 'Telefon modu — mobil versiyon / web versiyonu',
354
+ tip_bb_mobile: 'Mobil önizleme — telefon siluetinde canlı uygulama (Expo/Metro dev server)',
342
355
  tip_bb_fwd: 'İleri',
343
356
  tip_bb_reload: 'Yenile',
344
357
  tip_bb_shot: 'Ekran görüntüsünü sohbete ekle',
@@ -595,11 +608,18 @@
595
608
  bc_copied: 'Copied',
596
609
  tipModelRefresh: 'Refresh models (all providers)',
597
610
  mr_done: 'Models refreshed',
598
- tipMic: 'Voice command speak, it transcribes when you stop',
599
- mic_listening: 'Listening… press the mic again to finish',
611
+ tipMic: 'Hands-free: tap, speak, it auto-sends when you fall silent',
612
+ tip_tts_btn: 'Auto-speak (TTS) reads agent replies aloud',
613
+ tts_btn_on: 'Auto-speak ON',
614
+ tts_btn_off: 'Auto-speak off',
615
+ mic_listening: 'Listening… speak, it sends when you stop',
600
616
  mic_transcribing: 'Transcribing (local Whisper)…',
601
617
  mic_fail: 'Could not detect speech',
602
618
  mic_denied: 'Microphone access denied',
619
+ hf_start: 'Hands-free ON — speak, it sends when you fall silent; tap again to stop',
620
+ hf_listening: 'Hands-free: listening…',
621
+ hf_thinking: 'Hands-free: waiting for reply…',
622
+ hf_stopped: 'Hands-free mode stopped',
603
623
  tip_dark: 'Dark theme',
604
624
  tipTerm: 'Terminal (PowerShell)',
605
625
  tipTermG: 'Git Bash terminal',
@@ -770,7 +790,12 @@
770
790
  tts_sub: 'When on, WhatsApp replies are also sent as voice notes alongside text.',
771
791
  tts_active: 'Active',
772
792
  tts_save: 'Save TTS',
773
- tts_note: 'Uses an OpenAI-compatible speech API (tts-1, tts-1-hd, etc.). Voices: alloy, echo, fable, onyx, nova, shimmer.',
793
+ tts_test: 'Play test sound',
794
+ stt_download_now: 'Download / prepare now',
795
+ tts_note: 'Edge TTS: free local engine — no key needed (Ahmet/Emel etc.). OpenAI engine: compatible speech API (tts-1, tts-1-hd; voices alloy, echo, fable, onyx, nova, shimmer).',
796
+ tts_engine: 'Engine',
797
+ tts_edge_voice: 'Edge voice',
798
+ tts_chat_auto: 'Auto-speak agent replies in chat',
774
799
  tts_on: 'TTS on — replies also go as voice',
775
800
  tts_off: 'TTS off',
776
801
  em_h2: 'E-mail (Gmail)',
@@ -963,6 +988,7 @@
963
988
  bb_ph: 'type an address or search…',
964
989
  tip_bb_back: 'Back',
965
990
  tip_bb_phone: 'Phone mode — mobile / web version',
991
+ tip_bb_mobile: 'Mobile preview — live app in a phone frame (Expo/Metro dev server)',
966
992
  tip_bb_fwd: 'Forward',
967
993
  tip_bb_reload: 'Reload',
968
994
  tip_bb_shot: 'Add screenshot to chat',
@@ -1,4 +1,4 @@
1
- <!DOCTYPE html>
1
+ <!DOCTYPE html>
2
2
  <html lang="tr">
3
3
  <head>
4
4
  <meta charset="UTF-8" />
@@ -51,7 +51,7 @@
51
51
  <header id="topbar">
52
52
  <span id="botChip" title="Aktif bot">🦁 Beast</span>
53
53
  <div id="modelDD" class="dd">
54
- <button id="modelBtn" class="dd-btn" title="Model seç" data-i18n-title="tipModel"><span id="modelBtnLabel">Model</span><span class="dd-caret">▾</span></button>
54
+ <button id="modelBtn" class="dd-btn" title="Model seç" data-i18n-title="tipModel"><span id="modelBtnLabel">Model</span><span class="dd-caret">Ⓘ</span></button>
55
55
  <div id="modelMenu" class="dd-menu" hidden>
56
56
  <input id="modelFilter" class="dd-filter" placeholder="Model ara…" autocomplete="off" />
57
57
  <div id="modelList" class="dd-list"></div>
@@ -65,7 +65,7 @@
65
65
  </div>
66
66
  <button id="modelRefreshBtn" class="dd-btn dd-icon-btn" title="Modelleri yeniden çek" data-i18n-title="tipModelRefresh">&#x27F3;</button>
67
67
  <div id="pickCfg" class="dd">
68
- <button id="pickCfgBtn" class="dd-btn dd-icon-btn" title="Picker'da görünecek modeller" data-i18n-title="tipPickCfg">⚙</button>
68
+ <button id="pickCfgBtn" class="dd-btn dd-icon-btn" title="Picker'da görünecek modeller" data-i18n-title="tipPickCfg"><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="M4 6h9"/><circle cx="16.5" cy="6" r="2.5"/><path d="M20 6h0.01"/><path d="M4 12h3"/><circle cx="10.5" cy="12" r="2.5"/><path d="M15 12h5"/><path d="M4 18h11"/><circle cx="18.5" cy="18" r="2.5"/></svg></button>
69
69
  <div id="pickCfgMenu" class="dd-menu cfg-menu" hidden>
70
70
  <div class="cfg-head">
71
71
  <span>Picker modelleri</span>
@@ -103,8 +103,9 @@
103
103
  <div id="slashMenu" hidden></div>
104
104
  <div id="composer">
105
105
  <div id="composerLeft" class="dd">
106
+ <button id="ttsBtn" title="Otomatik seslendirme (TTS) — ajanın cevaplarını sesli okur" data-i18n-title="tip_tts_btn"><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="M11 5 6 9H2v6h4l5 4V5z"/><path d="M15.5 8.5a5 5 0 0 1 0 7"/><path d="M18.5 5.5a9 9 0 0 1 0 13"/></svg></button>
106
107
  <button id="attachBtn" title="Dosya / resim ekle" data-i18n-title="tipAttach">+</button>
107
- <button id="micBtn" title="Sesli komut konuş, bırakınca yazıya çevirsin" data-i18n-title="tipMic"><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="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>
108
+ <button id="micBtn" title="Eller serbest: bas, konuş, susunca gönderir" data-i18n-title="tipMic"><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="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>
108
109
  </div>
109
110
  <textarea id="input" rows="1" placeholder="Bir şey sor ya da görev ver… (Enter: gönder · Shift+Enter: satır · /: komutlar)" data-i18n-ph="composerPh"></textarea>
110
111
  <button id="stopBtn" title="Durdur" hidden data-i18n-title="tipStop">■</button>
@@ -152,7 +153,7 @@
152
153
  <span id="bcCwd" title=""></span>
153
154
  <span class="file-spacer"></span>
154
155
  <button id="codeShow" title="Editörü göster" data-i18n-title="tipCodeShow" hidden>&#x25A3;&#xFE0E;</button>
155
- <button id="bcNew" title="Yeni oturum" data-i18n-title="bc_new">+</button>
156
+ <button id="bcNew" title="Yeni oturum" data-i18n-title="bc_new">*</button>
156
157
  <button id="bcClear" title="Çıktıyı temizle" data-i18n-title="bc_clear">Temizle</button>
157
158
  </div>
158
159
  <div id="bcOut"></div>
@@ -174,7 +175,7 @@
174
175
  <span id="stTitle">BEAST STUDIO</span>
175
176
  <span id="stCwd" title=""></span>
176
177
  <span class="file-spacer"></span>
177
- <button id="stNew" title="Yeni oturum" data-i18n-title="bc_new">+</button>
178
+ <button id="stNew" title="Yeni oturum" data-i18n-title="bc_new">*</button>
178
179
  <button id="stClear" title="Çıktıyı temizle" data-i18n-title="bc_clear">Temizle</button>
179
180
  </div>
180
181
  <div id="stOut"></div>
@@ -365,7 +366,7 @@
365
366
  <button data-range="2w" class="on" title="Son 2 hafta">2 Hafta</button>
366
367
  <button data-range="1w" title="Son 1 hafta">1 Hafta</button>
367
368
  </div>
368
- <button id="ghSortBtn" title="Yıldız sırası: azalan / artan">↓ Yıldız</button>
369
+ <button id="ghSortBtn" title="Yıldız sırası: azalan / artan">⅏ Yıldız</button>
369
370
  <input id="ghSearch" placeholder="Repo ara… (Enter)" spellcheck="false" />
370
371
  <button id="ghTrendRefresh" class="gh-refresh" title="Sıfırla ve yenile — modal ilk açıldığı gibi">&#x27F3;</button>
371
372
  </div>
@@ -414,6 +415,7 @@
414
415
  <button id="bbReload" title="Yenile" data-i18n-title="tip_bb_reload">&#x21BB;</button>
415
416
  <input id="bbUrl" placeholder="adres yaz veya ara…" autocomplete="off" spellcheck="false" data-i18n-ph="bb_ph" />
416
417
  <button id="bbPhone" title="Telefon modu — mobil versiyon / web versiyonu" data-i18n-title="tip_bb_phone"><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="7" y="2" width="10" height="20" rx="2.5"/><line x1="11" y1="18" x2="13" y2="18"/></svg></button>
418
+ <button id="bbMobile" title="Mobil önizleme — telefon silueti (Expo/Metro dev server)" data-i18n-title="tip_bb_mobile"><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="5" y="1.5" width="14" height="21" rx="3.5"/><line x1="9.5" y1="4.5" x2="14.5" y2="4.5"/><line x1="10.5" y1="19.5" x2="13.5" y2="19.5"/></svg></button>
417
419
  <button id="bbOpenExt" title="Tarayıcıda aç" data-i18n-title="tip_bb_open">&#x2197;</button>
418
420
  <button id="bbClose" title="Kapat" data-i18n-title="btn_close">&#x00D7;</button>
419
421
  </div>
@@ -442,7 +444,19 @@
442
444
  <input type="file" id="fileInput" multiple hidden
443
445
  accept="image/*,.txt,.md,.json,.csv,.log,.js,.ts,.py,.ps1,.bat,.cmd,.html,.css,.yaml,.yml,.xml,.ini" />
444
446
 
447
+ <!-- mobil önizleme cihaz seçici: telefonun ALTINDA yüzen modern picker -->
448
+ <select id="bbDevice" title="Cihaz ölçüleri" hidden>
449
+ <option value="iphone15promax">iPhone 15 Pro Max · 430×932</option>
450
+ <option value="iphone15pro">iPhone 15 Pro · 393×852</option>
451
+ <option value="iphone14">iPhone 14 · 390×844</option>
452
+ <option value="iphonese">iPhone SE · 375×667</option>
453
+ <option value="pixel8">Pixel 8 · 412×915</option>
454
+ <option value="galaxys23">Galaxy S23 · 360×780</option>
455
+ <option value="android">Android · 360×800</option>
456
+ </select>
457
+
445
458
  <script src="i18n.js"></script>
459
+ <script src="handsfree.js"></script>
446
460
  <script src="renderer.js"></script>
447
461
  </body>
448
462
  </html>