beast-agent 0.24.4 → 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 +211 -45
- 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 +346 -138
- package/src/renderer/style.css +195 -29
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,22 +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
|
-
#guestBotMenu { width: 260px; left: 0; }
|
|
1017
1014
|
|
|
1018
1015
|
#micBtn {
|
|
1019
1016
|
width: 32px; height: 32px;
|
|
@@ -1177,7 +1174,6 @@ body.browser-open .mini-overlay { right: var(--bw, 480px); }
|
|
|
1177
1174
|
body.browser-open #settingsOverlay { right: var(--bw, 480px); }
|
|
1178
1175
|
body.browser-open #settingsDialog { width: min(70vw, calc(100vw - var(--bw, 480px) - 48px)); }
|
|
1179
1176
|
/* toast'ı da görünür alanın ortasına kaydır */
|
|
1180
|
-
body.browser-open #toast { left: calc((100vw - var(--bw, 480px)) / 2); }
|
|
1181
1177
|
|
|
1182
1178
|
#settingsDialog {
|
|
1183
1179
|
width: 70vw;
|
|
@@ -1552,21 +1548,18 @@ body.browser-open #toast { left: calc((100vw - var(--bw, 480px)) / 2); }
|
|
|
1552
1548
|
}
|
|
1553
1549
|
|
|
1554
1550
|
#toast {
|
|
1555
|
-
|
|
1556
|
-
bottom: 84px; /* chat input alanının hemen üstünde */
|
|
1557
|
-
left: 50%;
|
|
1558
|
-
transform: translateX(-50%) translateY(16px);
|
|
1551
|
+
/* durum satırında akış içi koyu balon — statusPill ile yan yana ortalanır */
|
|
1559
1552
|
opacity: 0;
|
|
1560
|
-
|
|
1553
|
+
transform: translateY(6px);
|
|
1554
|
+
transition: opacity 0.25s ease, transform 0.25s ease;
|
|
1561
1555
|
background: var(--text);
|
|
1562
1556
|
color: var(--bg);
|
|
1563
|
-
padding:
|
|
1557
|
+
padding: 5px 14px;
|
|
1564
1558
|
border-radius: 999px;
|
|
1565
|
-
font-size:
|
|
1566
|
-
z-index: 99;
|
|
1559
|
+
font-size: 12.5px;
|
|
1567
1560
|
pointer-events: none;
|
|
1568
1561
|
}
|
|
1569
|
-
#toast.show { opacity: 1; transform:
|
|
1562
|
+
#toast.show { opacity: 1; transform: translateY(0); }
|
|
1570
1563
|
|
|
1571
1564
|
/* ---- paralel ajanlar (#14 CEO) ---- */
|
|
1572
1565
|
.agent-ceo-row { display: flex; justify-content: center; margin-bottom: 12px; }
|
|
@@ -1863,7 +1856,9 @@ body.browser-open #botOverlay { right: var(--bw, 480px); }
|
|
|
1863
1856
|
letter-spacing: 1.2px;
|
|
1864
1857
|
color: var(--muted);
|
|
1865
1858
|
}
|
|
1866
|
-
|
|
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; }
|
|
1867
1862
|
.bot-chat-row {
|
|
1868
1863
|
display: flex;
|
|
1869
1864
|
align-items: center;
|
|
@@ -1878,7 +1873,7 @@ body.browser-open #botOverlay { right: var(--bw, 480px); }
|
|
|
1878
1873
|
.bot-chat-row:hover { background: var(--panel2); color: var(--text); }
|
|
1879
1874
|
.bot-chat-row.active { background: var(--panel2); color: var(--text); box-shadow: inset 2px 0 0 var(--accent); }
|
|
1880
1875
|
.bot-chat-row .bt { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
|
1881
|
-
#botChatMsgs { flex:
|
|
1876
|
+
#botChatMsgs { flex: none; max-height: 45%; overflow-y: auto; padding: 10px 14px; border-top: 1px solid var(--border); }
|
|
1882
1877
|
.bot-msg { margin-bottom: 8px; font-size: 12.5px; line-height: 1.45; white-space: pre-wrap; word-break: break-word; }
|
|
1883
1878
|
.bot-msg .who { font-size: 10px; font-weight: 800; letter-spacing: 0.6px; color: var(--muted); display: block; }
|
|
1884
1879
|
.bot-msg.user .who { color: var(--text); }
|
|
@@ -2686,3 +2681,174 @@ body.browser-open #storeOverlay { right: var(--bw, 480px); }
|
|
|
2686
2681
|
}
|
|
2687
2682
|
.store-mine-row button:hover { background: var(--panel2); color: var(--text); }
|
|
2688
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
|
+
}
|