beast-agent 1.4.2 → 1.5.1

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.
@@ -348,6 +348,9 @@ body.rail-hidden #rail { display: none; }
348
348
  }
349
349
  #bbUrl:focus { border-color: var(--accent); }
350
350
  #bbClose:hover { color: var(--err); }
351
+ /* telefon modu: aktif buton vurgulu + dar dockta mobil çerçeve hissi */
352
+ #bbPhone.on { color: var(--accent); background: var(--panel2); box-shadow: inset 0 -2px 0 var(--accent); }
353
+ body.phone-mode #bbPhone { color: var(--accent); }
351
354
 
352
355
  /* sürükle-boyutlandır tutamacı (görünmez) */
353
356
  #bbResize {
@@ -1153,6 +1156,59 @@ body.term-open #settingsOverlay { right: var(--tw, 520px); }
1153
1156
  #micBtn.rec { color: #e5484d; animation: mic-pulse 1.2s ease-in-out infinite; }
1154
1157
  @keyframes mic-pulse { 50% { opacity: .45; } }
1155
1158
 
1159
+ /* Beast Code girişi: + ve mikrofon (chat composer ile aynı stil) */
1160
+ #bcAttach, #bcMic {
1161
+ width: 28px; height: 28px;
1162
+ border-radius: 8px;
1163
+ border: none;
1164
+ cursor: pointer;
1165
+ font-size: 16px;
1166
+ line-height: 1;
1167
+ flex-shrink: 0;
1168
+ background: none;
1169
+ color: var(--muted);
1170
+ display: inline-flex;
1171
+ align-items: center;
1172
+ justify-content: center;
1173
+ padding: 0;
1174
+ }
1175
+ #bcAttach:hover, #bcMic:hover { background: var(--panel); color: var(--accent); }
1176
+ #bcAttach, #bcMic { margin-bottom: 5px; }
1177
+ #bcMic.rec { color: #e5484d; animation: mic-pulse 1.2s ease-in-out infinite; }
1178
+ #bcChips {
1179
+ display: flex;
1180
+ flex-wrap: wrap;
1181
+ gap: 5px;
1182
+ padding: 0 10px 6px;
1183
+ }
1184
+ #bcChips[hidden] { display: none; }
1185
+ #bcChips .chip { font-size: 11.5px; padding: 2px 9px; }
1186
+
1187
+ /* sohbette dosya/resim ekleri: içerik AÇILMADAN kompakt kart */
1188
+ .att-row {
1189
+ display: flex;
1190
+ flex-wrap: wrap;
1191
+ gap: 5px;
1192
+ margin-top: 7px;
1193
+ }
1194
+ .att-chip {
1195
+ display: inline-flex;
1196
+ align-items: center;
1197
+ gap: 5px;
1198
+ background: var(--panel2);
1199
+ border: 1px solid var(--border);
1200
+ border-radius: 999px;
1201
+ padding: 2px 10px;
1202
+ font-size: 11.5px;
1203
+ color: var(--text);
1204
+ max-width: 260px;
1205
+ overflow: hidden;
1206
+ text-overflow: ellipsis;
1207
+ white-space: nowrap;
1208
+ }
1209
+ .msg-user .att-chip { background: var(--bg); }
1210
+ .att-chip.att-img { border-style: dashed; }
1211
+
1156
1212
  #input {
1157
1213
  flex: 1;
1158
1214
  background: none;
@@ -1313,8 +1369,8 @@ body.browser-open #settingsDialog { width: min(70vw, calc(100vw - var(--bw, 480p
1313
1369
  }
1314
1370
 
1315
1371
  #setTabs {
1316
- width: 190px;
1317
- min-width: 190px;
1372
+ width: 210px;
1373
+ min-width: 210px;
1318
1374
  background: var(--panel);
1319
1375
  border-right: 1px solid var(--border);
1320
1376
  display: flex;
@@ -1404,6 +1460,15 @@ body.browser-open #settingsDialog { width: min(70vw, calc(100vw - var(--bw, 480p
1404
1460
  font-size: 13px;
1405
1461
  }
1406
1462
  #setClose:hover { color: var(--err); border-color: var(--err); background: rgba(19, 19, 21, 0.05); }
1463
+ /* kapat butonunun altında küçük + ortalı sürüm etiketi */
1464
+ .set-version {
1465
+ margin-top: 8px;
1466
+ text-align: center;
1467
+ font-size: 11px;
1468
+ letter-spacing: 0.5px;
1469
+ opacity: 0.55;
1470
+ user-select: text;
1471
+ }
1407
1472
 
1408
1473
  #setContent { flex: 1; overflow-y: auto; padding: 22px 26px; }
1409
1474
  .pane {
@@ -1430,8 +1495,14 @@ body.browser-open #settingsDialog { width: min(70vw, calc(100vw - var(--bw, 480p
1430
1495
  margin-bottom: 8px;
1431
1496
  cursor: pointer;
1432
1497
  background: var(--panel);
1498
+ /* button elementleri body'den renk miras almaz — dark modda siyah kalmasın */
1499
+ color: var(--text);
1500
+ font-family: inherit;
1433
1501
  }
1434
1502
  .prov-row:hover { border-color: var(--accent); }
1503
+ /* dil kartları: aktif seçim vurgusu */
1504
+ .lang-row.active { border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
1505
+ .lang-row.active:hover { border-color: var(--accent); }
1435
1506
  .prov-row.active { border-color: var(--accent); background: var(--accent-dim); }
1436
1507
  .prov-name { font-weight: 700; font-size: 13px; }
1437
1508
  .prov-model { color: var(--muted); font-size: 12px; font-family: Consolas, monospace; }
@@ -2161,6 +2232,7 @@ body.browser-open #botOverlay { right: var(--bw, 480px); }
2161
2232
  border-right: 1px solid var(--border);
2162
2233
  flex-direction: column;
2163
2234
  overflow: hidden;
2235
+ position: relative;
2164
2236
  }
2165
2237
  /* IDE modunda sol taraf: sohbet geçmişi yerine klasör sistemi */
2166
2238
  body.ide-mode #newChat,
@@ -2235,7 +2307,6 @@ body.ide-mode #bcPanel { display: flex; }
2235
2307
  border-top: 1px solid var(--border);
2236
2308
  background: var(--panel);
2237
2309
  }
2238
- #bcPrompt { color: var(--accent); font-family: Consolas, monospace; font-size: 12px; font-weight: 700; flex: none; padding-bottom: 7px; }
2239
2310
  /* otomatik büyüyen chat input'u: satır sonunda alt satıra iner, alan açılır;
2240
2311
  tavanı (140px ≈ 6 satır) aşarsa kendi içinde scroll'a döner */
2241
2312
  #bcInput {
@@ -2461,6 +2532,73 @@ body.ide-mode #bcPanel { display: flex; }
2461
2532
  text-overflow: ellipsis;
2462
2533
  }
2463
2534
  #fileTree { flex: 1; overflow-y: auto; padding: 6px 4px; }
2535
+ /* görev listesi + geri alma paneli (dosya paneli başlığından açılır) */
2536
+ #tasksPanel {
2537
+ position: absolute;
2538
+ top: 62px;
2539
+ left: 8px;
2540
+ right: 8px;
2541
+ max-height: 62%;
2542
+ overflow-y: auto;
2543
+ background: var(--panel);
2544
+ border: 1px solid var(--border);
2545
+ border-radius: 10px;
2546
+ box-shadow: 0 12px 30px rgba(0, 0, 0, 0.28);
2547
+ z-index: 45;
2548
+ padding: 4px;
2549
+ }
2550
+ #tasksPanel[hidden] { display: none; }
2551
+ #fileTasks.on { color: var(--accent); }
2552
+ .tsk-head {
2553
+ display: flex;
2554
+ align-items: center;
2555
+ gap: 6px;
2556
+ padding: 5px 7px 7px;
2557
+ font-size: 10.5px;
2558
+ font-weight: 800;
2559
+ letter-spacing: 1px;
2560
+ color: var(--muted);
2561
+ }
2562
+ .tsk-head button {
2563
+ margin-left: auto;
2564
+ background: none;
2565
+ border: 1px solid var(--border);
2566
+ border-radius: 6px;
2567
+ color: var(--muted);
2568
+ font-size: 10.5px;
2569
+ padding: 2px 8px;
2570
+ cursor: pointer;
2571
+ letter-spacing: 0;
2572
+ }
2573
+ .tsk-head button:hover { color: var(--text); border-color: var(--accent); }
2574
+ .tsk-head button[disabled] { opacity: 0.35; cursor: default; }
2575
+ .tsk-row {
2576
+ display: flex;
2577
+ align-items: center;
2578
+ gap: 6px;
2579
+ padding: 5px 7px;
2580
+ border-radius: 7px;
2581
+ font-size: 12px;
2582
+ }
2583
+ .tsk-row:hover { background: var(--panel2); }
2584
+ .tsk-id { flex: none; font-family: Consolas, monospace; font-size: 11px; color: var(--accent); font-weight: 700; }
2585
+ .tsk-title { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
2586
+ .tsk-st { flex: none; font-size: 11px; color: var(--muted); }
2587
+ .tsk-st.done { color: #16a34a; }
2588
+ .tsk-st.active { color: var(--accent); }
2589
+ .tsk-undo {
2590
+ flex: none;
2591
+ background: none;
2592
+ border: 1px solid var(--border);
2593
+ border-radius: 6px;
2594
+ color: var(--muted);
2595
+ font-size: 11px;
2596
+ padding: 2px 7px;
2597
+ cursor: pointer;
2598
+ }
2599
+ .tsk-undo:hover { color: var(--err); border-color: var(--err); }
2600
+ .tsk-undo[disabled] { opacity: 0.35; cursor: default; }
2601
+ .tsk-empty { padding: 8px 10px; font-size: 12px; color: var(--muted); }
2464
2602
  .file-row {
2465
2603
  display: flex;
2466
2604
  align-items: center;
@@ -2591,7 +2729,90 @@ body.ide-mode.editor-hidden #ideRow #bcPanel { flex: 1 1 auto; min-width: 0; }
2591
2729
  line-height: 1.4;
2592
2730
  }
2593
2731
  #codeSave:hover { color: var(--accent); border-color: var(--accent); background: var(--panel2); }
2594
- #codeBody { flex: 1; display: flex; min-height: 0; }
2732
+ #codeDiffBtn {
2733
+ flex: none;
2734
+ background: none;
2735
+ border: 1px solid var(--border);
2736
+ border-radius: 7px;
2737
+ color: var(--muted);
2738
+ cursor: pointer;
2739
+ font-size: 11.5px;
2740
+ padding: 4px 10px;
2741
+ line-height: 1.4;
2742
+ }
2743
+ #codeDiffBtn:hover { color: var(--accent); border-color: var(--accent); background: var(--panel2); }
2744
+ #codeBody { flex: 1; display: flex; min-height: 0; position: relative; }
2745
+ /* canlı diff katmanı: textarea'nın ARKASINDA satır satır yeşil/kırmızı boya —
2746
+ metin birebir aynı yazıldığı için satırlar birebir üst üste gelir */
2747
+ #codeLayer {
2748
+ position: absolute;
2749
+ top: 0; bottom: 0;
2750
+ left: 57px; right: 0;
2751
+ margin: 0;
2752
+ padding: 12px 14px;
2753
+ font-family: Consolas, "Cascadia Mono", monospace;
2754
+ font-size: 12.5px;
2755
+ line-height: 20px;
2756
+ white-space: pre;
2757
+ overflow: hidden;
2758
+ pointer-events: none;
2759
+ z-index: 0;
2760
+ color: transparent;
2761
+ user-select: none;
2762
+ }
2763
+ #codeLayer .row { display: block; min-height: 20px; }
2764
+ #codeLayer .row.add {
2765
+ background: rgba(34, 197, 94, 0.18);
2766
+ box-shadow: inset 3px 0 0 #22c55e;
2767
+ }
2768
+ #codeLayer .row.mod {
2769
+ background: rgba(239, 68, 68, 0.12);
2770
+ box-shadow: inset 3px 0 0 #ef4444;
2771
+ }
2772
+ #codeLayer .row.find {
2773
+ background: rgba(250, 204, 21, 0.22);
2774
+ box-shadow: inset 3px 0 0 #eab308;
2775
+ }
2776
+ /* kod içi arama widget'ı (Shift+F) — editörün sağ üstünde yüzer */
2777
+ #codeFind {
2778
+ position: absolute;
2779
+ top: 6px;
2780
+ right: 14px;
2781
+ z-index: 7;
2782
+ display: flex;
2783
+ align-items: center;
2784
+ gap: 3px;
2785
+ background: var(--panel);
2786
+ border: 1px solid var(--border);
2787
+ border-radius: 8px;
2788
+ padding: 3px 6px;
2789
+ box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
2790
+ }
2791
+ #codeFind[hidden] { display: none; }
2792
+ #codeFindInp {
2793
+ width: 170px;
2794
+ background: var(--bg);
2795
+ border: 1px solid var(--border);
2796
+ color: var(--text);
2797
+ border-radius: 6px;
2798
+ font-size: 12px;
2799
+ padding: 3px 7px;
2800
+ outline: none;
2801
+ font-family: Consolas, "Cascadia Mono", monospace;
2802
+ }
2803
+ #codeFindInp:focus { border-color: var(--accent); }
2804
+ #codeFindCount { font-size: 11px; color: var(--muted); min-width: 40px; text-align: center; }
2805
+ #codeFind button {
2806
+ background: none;
2807
+ border: none;
2808
+ color: var(--muted);
2809
+ cursor: pointer;
2810
+ font-size: 13px;
2811
+ padding: 2px 5px;
2812
+ border-radius: 5px;
2813
+ line-height: 1;
2814
+ }
2815
+ #codeFind button:hover { background: var(--panel2); color: var(--text); }
2595
2816
  #codeGutter {
2596
2817
  flex: none;
2597
2818
  width: 56px;
@@ -2631,7 +2852,7 @@ body.ide-mode.editor-hidden #ideRow #bcPanel { flex: 1 1 auto; min-width: 0; }
2631
2852
  resize: none;
2632
2853
  border: none;
2633
2854
  outline: none;
2634
- background: var(--bg);
2855
+ background: transparent;
2635
2856
  color: var(--text);
2636
2857
  padding: 12px 14px;
2637
2858
  font-family: Consolas, "Cascadia Mono", monospace;
@@ -2639,7 +2860,57 @@ body.ide-mode.editor-hidden #ideRow #bcPanel { flex: 1 1 auto; min-width: 0; }
2639
2860
  line-height: 20px;
2640
2861
  white-space: pre;
2641
2862
  overflow: auto;
2863
+ position: relative;
2864
+ z-index: 1;
2865
+ }
2866
+ /* okunur diff görünümü: ajan değiştirdiğinde / Diff butonunda açılır —
2867
+ silinen satırlar KIRMIZI, eklenenler YEŞİL (chat diffView gibi, metinle birlikte) */
2868
+ #codeDiffView {
2869
+ position: absolute;
2870
+ inset: 0;
2871
+ z-index: 6;
2872
+ display: flex;
2873
+ flex-direction: column;
2874
+ background: var(--bg);
2875
+ }
2876
+ #codeDiffView[hidden] { display: none; }
2877
+ #codeDiffBar {
2878
+ flex: none;
2879
+ display: flex;
2880
+ align-items: center;
2881
+ gap: 8px;
2882
+ padding: 5px 10px;
2883
+ border-bottom: 1px solid var(--border);
2884
+ background: var(--panel);
2885
+ font-size: 11.5px;
2886
+ color: var(--muted);
2642
2887
  }
2888
+ #codeDiffBar button {
2889
+ background: none;
2890
+ border: 1px solid var(--border);
2891
+ border-radius: 6px;
2892
+ color: var(--muted);
2893
+ font-size: 11px;
2894
+ padding: 2px 8px;
2895
+ cursor: pointer;
2896
+ }
2897
+ #codeDiffBar button:hover { color: var(--text); border-color: var(--accent); }
2898
+ #codeDiffStats .plus { color: #16a34a; font-weight: 700; }
2899
+ #codeDiffStats .minus { color: #dc2626; font-weight: 700; }
2900
+ #codeDiffRows {
2901
+ flex: 1;
2902
+ overflow: auto;
2903
+ font-family: Consolas, "Cascadia Mono", monospace;
2904
+ font-size: 12.5px;
2905
+ line-height: 20px;
2906
+ padding: 6px 0;
2907
+ }
2908
+ #codeDiffRows .dr { display: flex; white-space: pre; padding: 0 10px; min-height: 20px; }
2909
+ #codeDiffRows .dr .sign { flex: none; width: 16px; text-align: center; user-select: none; opacity: 0.75; }
2910
+ #codeDiffRows .dr .num { flex: none; width: 38px; text-align: right; padding-right: 8px; color: var(--muted); opacity: 0.7; user-select: none; }
2911
+ #codeDiffRows .dr .tx { white-space: pre; }
2912
+ #codeDiffRows .dr.del { background: rgba(239, 68, 68, 0.16); box-shadow: inset 3px 0 0 #ef4444; }
2913
+ #codeDiffRows .dr.add { background: rgba(34, 197, 94, 0.18); box-shadow: inset 3px 0 0 #22c55e; }
2643
2914
  /* dikey scrollbar hep görünür, tutulabilir ve imleç değişsin */
2644
2915
  #codeTa::-webkit-scrollbar {
2645
2916
  width: 12px;
@@ -3094,19 +3365,19 @@ body.browser-open #ghOverlay { right: var(--bw, 480px); }
3094
3365
  text-align: center;
3095
3366
  }
3096
3367
 
3097
- /* Beast Code durum balonu: dusunuyor… / arac adlari — inputun ustunde */
3098
- #bcStatus {
3099
- flex: none;
3100
- align-self: flex-start;
3101
- margin: 0 12px 6px;
3102
- padding: 4px 10px;
3103
- font-size: 11px;
3104
- color: var(--muted);
3105
- background: var(--panel2);
3106
- border: 1px solid var(--border);
3107
- border-radius: 999px;
3108
- max-width: calc(100% - 24px);
3109
- overflow: hidden;
3110
- text-overflow: ellipsis;
3111
- white-space: nowrap;
3368
+ /* Beast Code durum balonu: dusunuyor… / arac adlari — inputun ustunde ORTALI (chat statusPill gibi) */
3369
+ #bcStatus {
3370
+ flex: none;
3371
+ align-self: center;
3372
+ margin: 0 12px 6px;
3373
+ padding: 3px 10px;
3374
+ font-size: 11px;
3375
+ color: var(--accent);
3376
+ background: var(--accent-dim);
3377
+ border: 1px solid var(--accent);
3378
+ border-radius: 999px;
3379
+ max-width: calc(100% - 24px);
3380
+ overflow: hidden;
3381
+ text-overflow: ellipsis;
3382
+ white-space: nowrap;
3112
3383
  }