beast-agent 1.4.2 → 1.5.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.
@@ -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 {
@@ -1432,6 +1497,9 @@ body.browser-open #settingsDialog { width: min(70vw, calc(100vw - var(--bw, 480p
1432
1497
  background: var(--panel);
1433
1498
  }
1434
1499
  .prov-row:hover { border-color: var(--accent); }
1500
+ /* dil kartları: aktif seçim vurgusu */
1501
+ .lang-row.active { border-color: var(--accent); box-shadow: inset 0 0 0 1px var(--accent); }
1502
+ .lang-row.active:hover { border-color: var(--accent); }
1435
1503
  .prov-row.active { border-color: var(--accent); background: var(--accent-dim); }
1436
1504
  .prov-name { font-weight: 700; font-size: 13px; }
1437
1505
  .prov-model { color: var(--muted); font-size: 12px; font-family: Consolas, monospace; }
@@ -2161,6 +2229,7 @@ body.browser-open #botOverlay { right: var(--bw, 480px); }
2161
2229
  border-right: 1px solid var(--border);
2162
2230
  flex-direction: column;
2163
2231
  overflow: hidden;
2232
+ position: relative;
2164
2233
  }
2165
2234
  /* IDE modunda sol taraf: sohbet geçmişi yerine klasör sistemi */
2166
2235
  body.ide-mode #newChat,
@@ -2235,7 +2304,6 @@ body.ide-mode #bcPanel { display: flex; }
2235
2304
  border-top: 1px solid var(--border);
2236
2305
  background: var(--panel);
2237
2306
  }
2238
- #bcPrompt { color: var(--accent); font-family: Consolas, monospace; font-size: 12px; font-weight: 700; flex: none; padding-bottom: 7px; }
2239
2307
  /* otomatik büyüyen chat input'u: satır sonunda alt satıra iner, alan açılır;
2240
2308
  tavanı (140px ≈ 6 satır) aşarsa kendi içinde scroll'a döner */
2241
2309
  #bcInput {
@@ -2461,6 +2529,73 @@ body.ide-mode #bcPanel { display: flex; }
2461
2529
  text-overflow: ellipsis;
2462
2530
  }
2463
2531
  #fileTree { flex: 1; overflow-y: auto; padding: 6px 4px; }
2532
+ /* görev listesi + geri alma paneli (dosya paneli başlığından açılır) */
2533
+ #tasksPanel {
2534
+ position: absolute;
2535
+ top: 62px;
2536
+ left: 8px;
2537
+ right: 8px;
2538
+ max-height: 62%;
2539
+ overflow-y: auto;
2540
+ background: var(--panel);
2541
+ border: 1px solid var(--border);
2542
+ border-radius: 10px;
2543
+ box-shadow: 0 12px 30px rgba(0, 0, 0, 0.28);
2544
+ z-index: 45;
2545
+ padding: 4px;
2546
+ }
2547
+ #tasksPanel[hidden] { display: none; }
2548
+ #fileTasks.on { color: var(--accent); }
2549
+ .tsk-head {
2550
+ display: flex;
2551
+ align-items: center;
2552
+ gap: 6px;
2553
+ padding: 5px 7px 7px;
2554
+ font-size: 10.5px;
2555
+ font-weight: 800;
2556
+ letter-spacing: 1px;
2557
+ color: var(--muted);
2558
+ }
2559
+ .tsk-head button {
2560
+ margin-left: auto;
2561
+ background: none;
2562
+ border: 1px solid var(--border);
2563
+ border-radius: 6px;
2564
+ color: var(--muted);
2565
+ font-size: 10.5px;
2566
+ padding: 2px 8px;
2567
+ cursor: pointer;
2568
+ letter-spacing: 0;
2569
+ }
2570
+ .tsk-head button:hover { color: var(--text); border-color: var(--accent); }
2571
+ .tsk-head button[disabled] { opacity: 0.35; cursor: default; }
2572
+ .tsk-row {
2573
+ display: flex;
2574
+ align-items: center;
2575
+ gap: 6px;
2576
+ padding: 5px 7px;
2577
+ border-radius: 7px;
2578
+ font-size: 12px;
2579
+ }
2580
+ .tsk-row:hover { background: var(--panel2); }
2581
+ .tsk-id { flex: none; font-family: Consolas, monospace; font-size: 11px; color: var(--accent); font-weight: 700; }
2582
+ .tsk-title { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
2583
+ .tsk-st { flex: none; font-size: 11px; color: var(--muted); }
2584
+ .tsk-st.done { color: #16a34a; }
2585
+ .tsk-st.active { color: var(--accent); }
2586
+ .tsk-undo {
2587
+ flex: none;
2588
+ background: none;
2589
+ border: 1px solid var(--border);
2590
+ border-radius: 6px;
2591
+ color: var(--muted);
2592
+ font-size: 11px;
2593
+ padding: 2px 7px;
2594
+ cursor: pointer;
2595
+ }
2596
+ .tsk-undo:hover { color: var(--err); border-color: var(--err); }
2597
+ .tsk-undo[disabled] { opacity: 0.35; cursor: default; }
2598
+ .tsk-empty { padding: 8px 10px; font-size: 12px; color: var(--muted); }
2464
2599
  .file-row {
2465
2600
  display: flex;
2466
2601
  align-items: center;
@@ -2591,7 +2726,90 @@ body.ide-mode.editor-hidden #ideRow #bcPanel { flex: 1 1 auto; min-width: 0; }
2591
2726
  line-height: 1.4;
2592
2727
  }
2593
2728
  #codeSave:hover { color: var(--accent); border-color: var(--accent); background: var(--panel2); }
2594
- #codeBody { flex: 1; display: flex; min-height: 0; }
2729
+ #codeDiffBtn {
2730
+ flex: none;
2731
+ background: none;
2732
+ border: 1px solid var(--border);
2733
+ border-radius: 7px;
2734
+ color: var(--muted);
2735
+ cursor: pointer;
2736
+ font-size: 11.5px;
2737
+ padding: 4px 10px;
2738
+ line-height: 1.4;
2739
+ }
2740
+ #codeDiffBtn:hover { color: var(--accent); border-color: var(--accent); background: var(--panel2); }
2741
+ #codeBody { flex: 1; display: flex; min-height: 0; position: relative; }
2742
+ /* canlı diff katmanı: textarea'nın ARKASINDA satır satır yeşil/kırmızı boya —
2743
+ metin birebir aynı yazıldığı için satırlar birebir üst üste gelir */
2744
+ #codeLayer {
2745
+ position: absolute;
2746
+ top: 0; bottom: 0;
2747
+ left: 57px; right: 0;
2748
+ margin: 0;
2749
+ padding: 12px 14px;
2750
+ font-family: Consolas, "Cascadia Mono", monospace;
2751
+ font-size: 12.5px;
2752
+ line-height: 20px;
2753
+ white-space: pre;
2754
+ overflow: hidden;
2755
+ pointer-events: none;
2756
+ z-index: 0;
2757
+ color: transparent;
2758
+ user-select: none;
2759
+ }
2760
+ #codeLayer .row { display: block; min-height: 20px; }
2761
+ #codeLayer .row.add {
2762
+ background: rgba(34, 197, 94, 0.18);
2763
+ box-shadow: inset 3px 0 0 #22c55e;
2764
+ }
2765
+ #codeLayer .row.mod {
2766
+ background: rgba(239, 68, 68, 0.12);
2767
+ box-shadow: inset 3px 0 0 #ef4444;
2768
+ }
2769
+ #codeLayer .row.find {
2770
+ background: rgba(250, 204, 21, 0.22);
2771
+ box-shadow: inset 3px 0 0 #eab308;
2772
+ }
2773
+ /* kod içi arama widget'ı (Shift+F) — editörün sağ üstünde yüzer */
2774
+ #codeFind {
2775
+ position: absolute;
2776
+ top: 6px;
2777
+ right: 14px;
2778
+ z-index: 7;
2779
+ display: flex;
2780
+ align-items: center;
2781
+ gap: 3px;
2782
+ background: var(--panel);
2783
+ border: 1px solid var(--border);
2784
+ border-radius: 8px;
2785
+ padding: 3px 6px;
2786
+ box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
2787
+ }
2788
+ #codeFind[hidden] { display: none; }
2789
+ #codeFindInp {
2790
+ width: 170px;
2791
+ background: var(--bg);
2792
+ border: 1px solid var(--border);
2793
+ color: var(--text);
2794
+ border-radius: 6px;
2795
+ font-size: 12px;
2796
+ padding: 3px 7px;
2797
+ outline: none;
2798
+ font-family: Consolas, "Cascadia Mono", monospace;
2799
+ }
2800
+ #codeFindInp:focus { border-color: var(--accent); }
2801
+ #codeFindCount { font-size: 11px; color: var(--muted); min-width: 40px; text-align: center; }
2802
+ #codeFind button {
2803
+ background: none;
2804
+ border: none;
2805
+ color: var(--muted);
2806
+ cursor: pointer;
2807
+ font-size: 13px;
2808
+ padding: 2px 5px;
2809
+ border-radius: 5px;
2810
+ line-height: 1;
2811
+ }
2812
+ #codeFind button:hover { background: var(--panel2); color: var(--text); }
2595
2813
  #codeGutter {
2596
2814
  flex: none;
2597
2815
  width: 56px;
@@ -2631,7 +2849,7 @@ body.ide-mode.editor-hidden #ideRow #bcPanel { flex: 1 1 auto; min-width: 0; }
2631
2849
  resize: none;
2632
2850
  border: none;
2633
2851
  outline: none;
2634
- background: var(--bg);
2852
+ background: transparent;
2635
2853
  color: var(--text);
2636
2854
  padding: 12px 14px;
2637
2855
  font-family: Consolas, "Cascadia Mono", monospace;
@@ -2639,7 +2857,57 @@ body.ide-mode.editor-hidden #ideRow #bcPanel { flex: 1 1 auto; min-width: 0; }
2639
2857
  line-height: 20px;
2640
2858
  white-space: pre;
2641
2859
  overflow: auto;
2860
+ position: relative;
2861
+ z-index: 1;
2642
2862
  }
2863
+ /* okunur diff görünümü: ajan değiştirdiğinde / Diff butonunda açılır —
2864
+ silinen satırlar KIRMIZI, eklenenler YEŞİL (chat diffView gibi, metinle birlikte) */
2865
+ #codeDiffView {
2866
+ position: absolute;
2867
+ inset: 0;
2868
+ z-index: 6;
2869
+ display: flex;
2870
+ flex-direction: column;
2871
+ background: var(--bg);
2872
+ }
2873
+ #codeDiffView[hidden] { display: none; }
2874
+ #codeDiffBar {
2875
+ flex: none;
2876
+ display: flex;
2877
+ align-items: center;
2878
+ gap: 8px;
2879
+ padding: 5px 10px;
2880
+ border-bottom: 1px solid var(--border);
2881
+ background: var(--panel);
2882
+ font-size: 11.5px;
2883
+ color: var(--muted);
2884
+ }
2885
+ #codeDiffBar button {
2886
+ background: none;
2887
+ border: 1px solid var(--border);
2888
+ border-radius: 6px;
2889
+ color: var(--muted);
2890
+ font-size: 11px;
2891
+ padding: 2px 8px;
2892
+ cursor: pointer;
2893
+ }
2894
+ #codeDiffBar button:hover { color: var(--text); border-color: var(--accent); }
2895
+ #codeDiffStats .plus { color: #16a34a; font-weight: 700; }
2896
+ #codeDiffStats .minus { color: #dc2626; font-weight: 700; }
2897
+ #codeDiffRows {
2898
+ flex: 1;
2899
+ overflow: auto;
2900
+ font-family: Consolas, "Cascadia Mono", monospace;
2901
+ font-size: 12.5px;
2902
+ line-height: 20px;
2903
+ padding: 6px 0;
2904
+ }
2905
+ #codeDiffRows .dr { display: flex; white-space: pre; padding: 0 10px; min-height: 20px; }
2906
+ #codeDiffRows .dr .sign { flex: none; width: 16px; text-align: center; user-select: none; opacity: 0.75; }
2907
+ #codeDiffRows .dr .num { flex: none; width: 38px; text-align: right; padding-right: 8px; color: var(--muted); opacity: 0.7; user-select: none; }
2908
+ #codeDiffRows .dr .tx { white-space: pre; }
2909
+ #codeDiffRows .dr.del { background: rgba(239, 68, 68, 0.16); box-shadow: inset 3px 0 0 #ef4444; }
2910
+ #codeDiffRows .dr.add { background: rgba(34, 197, 94, 0.18); box-shadow: inset 3px 0 0 #22c55e; }
2643
2911
  /* dikey scrollbar hep görünür, tutulabilir ve imleç değişsin */
2644
2912
  #codeTa::-webkit-scrollbar {
2645
2913
  width: 12px;
@@ -3094,19 +3362,19 @@ body.browser-open #ghOverlay { right: var(--bw, 480px); }
3094
3362
  text-align: center;
3095
3363
  }
3096
3364
 
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;
3365
+ /* Beast Code durum balonu: dusunuyor… / arac adlari — inputun ustunde ORTALI (chat statusPill gibi) */
3366
+ #bcStatus {
3367
+ flex: none;
3368
+ align-self: center;
3369
+ margin: 0 12px 6px;
3370
+ padding: 3px 10px;
3371
+ font-size: 11px;
3372
+ color: var(--accent);
3373
+ background: var(--accent-dim);
3374
+ border: 1px solid var(--accent);
3375
+ border-radius: 999px;
3376
+ max-width: calc(100% - 24px);
3377
+ overflow: hidden;
3378
+ text-overflow: ellipsis;
3379
+ white-space: nowrap;
3112
3380
  }