beast-agent 0.24.5 → 0.25.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/package.json +1 -1
- package/src/agent/engine.js +34 -59
- package/src/agent/tools.js +1 -1
- package/src/main.js +190 -37
- package/src/preload.js +1 -1
- package/src/renderer/i18n.js +2 -4
- package/src/renderer/index.html +45 -9
- package/src/renderer/renderer.js +345 -143
- package/src/renderer/style.css +195 -30
package/src/renderer/style.css
CHANGED
|
@@ -176,6 +176,7 @@ body {
|
|
|
176
176
|
#themeBtn,
|
|
177
177
|
#langBtn,
|
|
178
178
|
#storeBtn,
|
|
179
|
+
#gitBtn,
|
|
179
180
|
#ideBtn {
|
|
180
181
|
background: none;
|
|
181
182
|
border: none;
|
|
@@ -186,16 +187,20 @@ body {
|
|
|
186
187
|
border-radius: 5px;
|
|
187
188
|
line-height: 1;
|
|
188
189
|
letter-spacing: 0.5px;
|
|
190
|
+
display: inline-flex;
|
|
191
|
+
align-items: center;
|
|
189
192
|
}
|
|
190
193
|
#gearBtn:hover,
|
|
191
194
|
#themeBtn:hover,
|
|
192
195
|
#langBtn:hover,
|
|
193
196
|
#storeBtn:hover,
|
|
197
|
+
#gitBtn:hover,
|
|
194
198
|
#ideBtn:hover { background: var(--panel2); color: var(--text); }
|
|
195
199
|
#gearBtn:focus,
|
|
196
200
|
#themeBtn:focus,
|
|
197
201
|
#langBtn:focus,
|
|
198
202
|
#storeBtn:focus,
|
|
203
|
+
#gitBtn:focus,
|
|
199
204
|
#ideBtn:focus { outline: none; }
|
|
200
205
|
|
|
201
206
|
/* model refresh butonu — çekerken döner */
|
|
@@ -907,9 +912,15 @@ body.term-open #settingsOverlay { right: var(--tw, 520px); }
|
|
|
907
912
|
#todoPanel .td-row.done { color: var(--muted); }
|
|
908
913
|
#todoPanel .td-row.done .td-t { text-decoration: line-through; }
|
|
909
914
|
|
|
915
|
+
/* durum balonu + toast aynı satırda, çift görünürken YAN YANA ortalanır */
|
|
916
|
+
#statusRow {
|
|
917
|
+
display: flex;
|
|
918
|
+
align-items: center;
|
|
919
|
+
justify-content: center;
|
|
920
|
+
gap: 8px;
|
|
921
|
+
margin-bottom: 4px;
|
|
922
|
+
}
|
|
910
923
|
#statusPill {
|
|
911
|
-
align-self: flex-start;
|
|
912
|
-
margin-bottom: 6px;
|
|
913
924
|
font-size: 12px;
|
|
914
925
|
color: var(--accent);
|
|
915
926
|
background: var(--accent-dim);
|
|
@@ -998,23 +1009,8 @@ body.term-open #settingsOverlay { right: var(--tw, 520px); }
|
|
|
998
1009
|
}
|
|
999
1010
|
#attachBtn:hover { background: var(--panel); color: var(--accent); }
|
|
1000
1011
|
|
|
1001
|
-
/* composer sol grubu: + mikrofon
|
|
1012
|
+
/* composer sol grubu: + mikrofon — yanyana boşluksuz */
|
|
1002
1013
|
#composerLeft { display: flex; align-items: center; gap: 0; flex-shrink: 0; }
|
|
1003
|
-
#guestBotBtn {
|
|
1004
|
-
width: 32px; height: 32px;
|
|
1005
|
-
border-radius: 9px;
|
|
1006
|
-
border: none;
|
|
1007
|
-
cursor: pointer;
|
|
1008
|
-
font-size: 15px;
|
|
1009
|
-
line-height: 1;
|
|
1010
|
-
flex-shrink: 0;
|
|
1011
|
-
background: none;
|
|
1012
|
-
color: var(--muted);
|
|
1013
|
-
padding: 0;
|
|
1014
|
-
}
|
|
1015
|
-
#guestBotBtn:hover { background: var(--panel); color: var(--accent); }
|
|
1016
|
-
/* composer en altta olduğu için menü YUKARI açılır (aşağı açılırsa ekran dışına taşar) */
|
|
1017
|
-
#guestBotMenu { width: 260px; left: 0; top: auto; bottom: calc(100% + 5px); }
|
|
1018
1014
|
|
|
1019
1015
|
#micBtn {
|
|
1020
1016
|
width: 32px; height: 32px;
|
|
@@ -1178,7 +1174,6 @@ body.browser-open .mini-overlay { right: var(--bw, 480px); }
|
|
|
1178
1174
|
body.browser-open #settingsOverlay { right: var(--bw, 480px); }
|
|
1179
1175
|
body.browser-open #settingsDialog { width: min(70vw, calc(100vw - var(--bw, 480px) - 48px)); }
|
|
1180
1176
|
/* toast'ı da görünür alanın ortasına kaydır */
|
|
1181
|
-
body.browser-open #toast { left: calc((100vw - var(--bw, 480px)) / 2); }
|
|
1182
1177
|
|
|
1183
1178
|
#settingsDialog {
|
|
1184
1179
|
width: 70vw;
|
|
@@ -1553,21 +1548,18 @@ body.browser-open #toast { left: calc((100vw - var(--bw, 480px)) / 2); }
|
|
|
1553
1548
|
}
|
|
1554
1549
|
|
|
1555
1550
|
#toast {
|
|
1556
|
-
|
|
1557
|
-
bottom: 84px; /* chat input alanının hemen üstünde */
|
|
1558
|
-
left: 50%;
|
|
1559
|
-
transform: translateX(-50%) translateY(16px);
|
|
1551
|
+
/* durum satırında akış içi koyu balon — statusPill ile yan yana ortalanır */
|
|
1560
1552
|
opacity: 0;
|
|
1561
|
-
|
|
1553
|
+
transform: translateY(6px);
|
|
1554
|
+
transition: opacity 0.25s ease, transform 0.25s ease;
|
|
1562
1555
|
background: var(--text);
|
|
1563
1556
|
color: var(--bg);
|
|
1564
|
-
padding:
|
|
1557
|
+
padding: 5px 14px;
|
|
1565
1558
|
border-radius: 999px;
|
|
1566
|
-
font-size:
|
|
1567
|
-
z-index: 99;
|
|
1559
|
+
font-size: 12.5px;
|
|
1568
1560
|
pointer-events: none;
|
|
1569
1561
|
}
|
|
1570
|
-
#toast.show { opacity: 1; transform:
|
|
1562
|
+
#toast.show { opacity: 1; transform: translateY(0); }
|
|
1571
1563
|
|
|
1572
1564
|
/* ---- paralel ajanlar (#14 CEO) ---- */
|
|
1573
1565
|
.agent-ceo-row { display: flex; justify-content: center; margin-bottom: 12px; }
|
|
@@ -1864,7 +1856,9 @@ body.browser-open #botOverlay { right: var(--bw, 480px); }
|
|
|
1864
1856
|
letter-spacing: 1.2px;
|
|
1865
1857
|
color: var(--muted);
|
|
1866
1858
|
}
|
|
1867
|
-
|
|
1859
|
+
/* sohbet geçmişi boydan boya: liste kalan alanın tamamını kaplar,
|
|
1860
|
+
seçili sohbet mesajları altta sabit yükseklikte görünür */
|
|
1861
|
+
#botChatList { flex: 1; min-height: 120px; overflow-y: auto; padding: 0 8px; }
|
|
1868
1862
|
.bot-chat-row {
|
|
1869
1863
|
display: flex;
|
|
1870
1864
|
align-items: center;
|
|
@@ -1879,7 +1873,7 @@ body.browser-open #botOverlay { right: var(--bw, 480px); }
|
|
|
1879
1873
|
.bot-chat-row:hover { background: var(--panel2); color: var(--text); }
|
|
1880
1874
|
.bot-chat-row.active { background: var(--panel2); color: var(--text); box-shadow: inset 2px 0 0 var(--accent); }
|
|
1881
1875
|
.bot-chat-row .bt { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
|
1882
|
-
#botChatMsgs { flex:
|
|
1876
|
+
#botChatMsgs { flex: none; max-height: 45%; overflow-y: auto; padding: 10px 14px; border-top: 1px solid var(--border); }
|
|
1883
1877
|
.bot-msg { margin-bottom: 8px; font-size: 12.5px; line-height: 1.45; white-space: pre-wrap; word-break: break-word; }
|
|
1884
1878
|
.bot-msg .who { font-size: 10px; font-weight: 800; letter-spacing: 0.6px; color: var(--muted); display: block; }
|
|
1885
1879
|
.bot-msg.user .who { color: var(--text); }
|
|
@@ -2687,3 +2681,174 @@ body.browser-open #storeOverlay { right: var(--bw, 480px); }
|
|
|
2687
2681
|
}
|
|
2688
2682
|
.store-mine-row button:hover { background: var(--panel2); color: var(--text); }
|
|
2689
2683
|
.store-mine-row button.sm-del:hover { color: var(--err); }
|
|
2684
|
+
|
|
2685
|
+
/* ================= GITHUB TRENDING MODALI =================
|
|
2686
|
+
Skills Store modalıyla aynı tasarım dili: 70vw×70vh, aynı head/kart dili.
|
|
2687
|
+
Sol: Trending depolar · Sağ: Favoriler (localStorage'da kalıcı). */
|
|
2688
|
+
#ghOverlay {
|
|
2689
|
+
position: fixed;
|
|
2690
|
+
inset: 0;
|
|
2691
|
+
background: rgba(36, 41, 47, 0.45);
|
|
2692
|
+
display: flex;
|
|
2693
|
+
align-items: center;
|
|
2694
|
+
justify-content: center;
|
|
2695
|
+
z-index: 56;
|
|
2696
|
+
}
|
|
2697
|
+
#ghOverlay[hidden] { display: none; }
|
|
2698
|
+
body.browser-open #ghOverlay { right: var(--bw, 480px); }
|
|
2699
|
+
#ghDialog {
|
|
2700
|
+
width: 70vw;
|
|
2701
|
+
height: 70vh;
|
|
2702
|
+
background: var(--bg);
|
|
2703
|
+
border: 1px solid var(--border);
|
|
2704
|
+
border-radius: 14px;
|
|
2705
|
+
display: flex;
|
|
2706
|
+
flex-direction: column;
|
|
2707
|
+
overflow: hidden;
|
|
2708
|
+
box-shadow: 0 24px 64px rgba(0, 0, 0, 0.25);
|
|
2709
|
+
}
|
|
2710
|
+
#ghHead {
|
|
2711
|
+
display: flex;
|
|
2712
|
+
align-items: center;
|
|
2713
|
+
gap: 10px;
|
|
2714
|
+
padding: 14px 18px;
|
|
2715
|
+
border-bottom: 1px solid var(--border);
|
|
2716
|
+
}
|
|
2717
|
+
#ghTitle { font-size: 13px; letter-spacing: 2.5px; font-weight: 800; }
|
|
2718
|
+
#ghBody { flex: 1; display: flex; min-height: 0; }
|
|
2719
|
+
.gh-pane {
|
|
2720
|
+
flex: 1; min-width: 0;
|
|
2721
|
+
display: flex; flex-direction: column;
|
|
2722
|
+
}
|
|
2723
|
+
#ghTrendPane { border-right: 1px solid var(--border); }
|
|
2724
|
+
.gh-pane-title {
|
|
2725
|
+
padding: 10px 14px 8px;
|
|
2726
|
+
font-size: 10.5px; font-weight: 800; letter-spacing: 1.2px;
|
|
2727
|
+
color: var(--muted);
|
|
2728
|
+
border-bottom: 1px solid var(--border);
|
|
2729
|
+
flex: none;
|
|
2730
|
+
}
|
|
2731
|
+
.gh-pane-sub { font-weight: 400; letter-spacing: 0; text-transform: none; }
|
|
2732
|
+
.gh-pane-list { flex: 1; overflow-y: auto; padding: 10px; }
|
|
2733
|
+
.gh-empty { color: var(--muted); font-size: 12.5px; padding: 18px 10px; text-align: center; }
|
|
2734
|
+
.gh-card {
|
|
2735
|
+
border: 1px solid var(--border);
|
|
2736
|
+
border-radius: 10px;
|
|
2737
|
+
padding: 10px 12px;
|
|
2738
|
+
margin-bottom: 8px;
|
|
2739
|
+
background: var(--panel);
|
|
2740
|
+
}
|
|
2741
|
+
.gh-card:hover { border-color: var(--accent); }
|
|
2742
|
+
.gh-card-top { display: flex; align-items: center; gap: 8px; min-width: 0; }
|
|
2743
|
+
.gh-name {
|
|
2744
|
+
font-weight: 700; font-size: 13px; color: var(--text);
|
|
2745
|
+
white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
|
|
2746
|
+
min-width: 0; cursor: pointer;
|
|
2747
|
+
}
|
|
2748
|
+
.gh-name:hover { color: var(--accent); text-decoration: underline; }
|
|
2749
|
+
.gh-stars { color: var(--muted); font-size: 11.5px; flex: none; }
|
|
2750
|
+
.gh-lang { color: var(--muted); font-size: 11px; flex: none; }
|
|
2751
|
+
.gh-desc {
|
|
2752
|
+
color: var(--muted); font-size: 12px; line-height: 1.4;
|
|
2753
|
+
margin-top: 4px;
|
|
2754
|
+
display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
|
|
2755
|
+
}
|
|
2756
|
+
.gh-actions { display: flex; gap: 6px; margin-top: 8px; flex-wrap: wrap; }
|
|
2757
|
+
.gh-actions button {
|
|
2758
|
+
border: 1px solid var(--border); background: var(--panel2);
|
|
2759
|
+
color: var(--text); font-size: 11.5px; font-weight: 700;
|
|
2760
|
+
padding: 3px 10px; border-radius: 7px; cursor: pointer;
|
|
2761
|
+
}
|
|
2762
|
+
.gh-actions button:hover { border-color: var(--accent); color: var(--accent); }
|
|
2763
|
+
.gh-actions button.gh-fav.on { background: var(--accent-dim); border-color: var(--accent); color: var(--accent); }
|
|
2764
|
+
.gh-err { color: var(--err); font-size: 12.5px; padding: 14px; text-align: center; }
|
|
2765
|
+
|
|
2766
|
+
/* github filtre çubuğu: aralık + sıralama + arama */
|
|
2767
|
+
.gh-filters {
|
|
2768
|
+
display: flex;
|
|
2769
|
+
align-items: center;
|
|
2770
|
+
gap: 6px;
|
|
2771
|
+
flex-wrap: wrap;
|
|
2772
|
+
padding: 8px 10px;
|
|
2773
|
+
border-bottom: 1px solid var(--border);
|
|
2774
|
+
flex: none;
|
|
2775
|
+
}
|
|
2776
|
+
/* display:flex, [hidden] ni ezmesin — sekmeye göre gerçekten gizlensin */
|
|
2777
|
+
#ghTrendTools[hidden],
|
|
2778
|
+
#ghAllTools[hidden] { display: none; }
|
|
2779
|
+
.gh-ranges { display: flex; gap: 4px; }
|
|
2780
|
+
.gh-ranges button {
|
|
2781
|
+
border: 1px solid var(--border);
|
|
2782
|
+
background: var(--panel2);
|
|
2783
|
+
color: var(--muted);
|
|
2784
|
+
font-size: 11.5px;
|
|
2785
|
+
font-weight: 700;
|
|
2786
|
+
padding: 3px 9px;
|
|
2787
|
+
border-radius: 7px;
|
|
2788
|
+
cursor: pointer;
|
|
2789
|
+
}
|
|
2790
|
+
.gh-ranges button:hover { color: var(--text); }
|
|
2791
|
+
.gh-ranges button.on { background: var(--accent-dim); border-color: var(--accent); color: var(--accent); }
|
|
2792
|
+
#ghSortBtn,
|
|
2793
|
+
#ghAllSortBtn,
|
|
2794
|
+
.gh-refresh {
|
|
2795
|
+
border: 1px solid var(--border);
|
|
2796
|
+
background: var(--panel2);
|
|
2797
|
+
color: var(--muted);
|
|
2798
|
+
font-size: 11.5px;
|
|
2799
|
+
font-weight: 700;
|
|
2800
|
+
padding: 3px 9px;
|
|
2801
|
+
border-radius: 7px;
|
|
2802
|
+
cursor: pointer;
|
|
2803
|
+
flex: none;
|
|
2804
|
+
}
|
|
2805
|
+
#ghSortBtn:hover,
|
|
2806
|
+
#ghAllSortBtn:hover,
|
|
2807
|
+
.gh-refresh:hover { color: var(--text); border-color: var(--accent); }
|
|
2808
|
+
.gh-refresh { font-size: 13px; line-height: 1; }
|
|
2809
|
+
#ghSearch,
|
|
2810
|
+
#ghAllSearch {
|
|
2811
|
+
flex: 1;
|
|
2812
|
+
min-width: 110px;
|
|
2813
|
+
border: 1px solid var(--border);
|
|
2814
|
+
border-radius: 7px;
|
|
2815
|
+
background: var(--panel);
|
|
2816
|
+
color: var(--text);
|
|
2817
|
+
font-size: 12px;
|
|
2818
|
+
padding: 4px 9px;
|
|
2819
|
+
outline: none;
|
|
2820
|
+
}
|
|
2821
|
+
#ghSearch:focus,
|
|
2822
|
+
#ghAllSearch:focus { border-color: var(--accent); }
|
|
2823
|
+
/* tüm repolar satırı: TEK SATIR — ortalanmış, sarınma yok */
|
|
2824
|
+
#ghAllTools { justify-content: center; flex-wrap: nowrap; }
|
|
2825
|
+
#ghAllTools #ghAllSearch {
|
|
2826
|
+
flex: 0 1 360px;
|
|
2827
|
+
min-width: 0;
|
|
2828
|
+
width: auto;
|
|
2829
|
+
text-overflow: ellipsis;
|
|
2830
|
+
}
|
|
2831
|
+
/* sol bölme sekmeleri: Trend Depolar ⇄ Tüm Repolar — eşit genişlik, ortalanmış metin */
|
|
2832
|
+
.gh-pane-tabs { display: flex; flex: none; }
|
|
2833
|
+
.gh-tab {
|
|
2834
|
+
flex: 1 1 0;
|
|
2835
|
+
min-width: 0;
|
|
2836
|
+
text-align: center;
|
|
2837
|
+
padding: 9px 0;
|
|
2838
|
+
background: none;
|
|
2839
|
+
border: none;
|
|
2840
|
+
border-radius: 0;
|
|
2841
|
+
color: var(--muted);
|
|
2842
|
+
font-size: 12.5px;
|
|
2843
|
+
font-weight: 700;
|
|
2844
|
+
cursor: pointer;
|
|
2845
|
+
}
|
|
2846
|
+
.gh-tab:hover { color: var(--text); background: var(--panel2); }
|
|
2847
|
+
.gh-tab.on { color: var(--accent); box-shadow: inset 0 -2px 0 var(--accent); background: var(--accent-dim); }
|
|
2848
|
+
.gh-pane-subline {
|
|
2849
|
+
padding: 8px 14px 0;
|
|
2850
|
+
font-size: 11px;
|
|
2851
|
+
color: var(--muted);
|
|
2852
|
+
flex: none;
|
|
2853
|
+
text-align: center;
|
|
2854
|
+
}
|