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.
@@ -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 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
- /* 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
- position: fixed;
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
- transition: all 0.25s ease;
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: 9px 18px;
1557
+ padding: 5px 14px;
1565
1558
  border-radius: 999px;
1566
- font-size: 13px;
1567
- z-index: 99;
1559
+ font-size: 12.5px;
1568
1560
  pointer-events: none;
1569
1561
  }
1570
- #toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
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
- #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; }
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: 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); }
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
+ }