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.
@@ -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 bot-davet — yanyana boşluksuz */
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
- position: fixed;
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
- transition: all 0.25s ease;
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: 9px 18px;
1557
+ padding: 5px 14px;
1564
1558
  border-radius: 999px;
1565
- font-size: 13px;
1566
- z-index: 99;
1559
+ font-size: 12.5px;
1567
1560
  pointer-events: none;
1568
1561
  }
1569
- #toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
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
- #botChatList { overflow-y: auto; padding: 0 8px; max-height: 38%; flex: none; }
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: 1; overflow-y: auto; padding: 10px 14px; border-top: 1px solid var(--border); }
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
+ }