beast-agent 0.20.0 → 0.22.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/README.md +1 -1
- package/bin/beast-agent.js +16 -6
- package/package.json +3 -2
- package/scripts/release.js +21 -34
- package/src/agent/bots.js +17 -3
- package/src/agent/engine.js +258 -57
- package/src/main.js +332 -20
- package/src/preload.js +10 -0
- package/src/renderer/i18n.js +28 -2
- package/src/renderer/index.html +46 -1
- package/src/renderer/renderer.js +855 -10
- package/src/renderer/style.css +524 -2
package/src/renderer/style.css
CHANGED
|
@@ -164,7 +164,8 @@ body {
|
|
|
164
164
|
#gearBtn,
|
|
165
165
|
#themeBtn,
|
|
166
166
|
#langBtn,
|
|
167
|
-
#storeBtn
|
|
167
|
+
#storeBtn,
|
|
168
|
+
#ideBtn {
|
|
168
169
|
background: none;
|
|
169
170
|
border: none;
|
|
170
171
|
color: var(--muted);
|
|
@@ -178,7 +179,13 @@ body {
|
|
|
178
179
|
#gearBtn:hover,
|
|
179
180
|
#themeBtn:hover,
|
|
180
181
|
#langBtn:hover,
|
|
181
|
-
#storeBtn:hover
|
|
182
|
+
#storeBtn:hover,
|
|
183
|
+
#ideBtn:hover { background: var(--panel2); color: var(--text); }
|
|
184
|
+
#gearBtn:focus,
|
|
185
|
+
#themeBtn:focus,
|
|
186
|
+
#langBtn:focus,
|
|
187
|
+
#storeBtn:focus,
|
|
188
|
+
#ideBtn:focus { outline: none; }
|
|
182
189
|
|
|
183
190
|
/* model refresh butonu — çekerken döner */
|
|
184
191
|
#modelRefreshBtn.spin { opacity: .7; pointer-events: none; }
|
|
@@ -261,6 +268,11 @@ body.browser-open #app { margin-right: var(--bw, 480px); }
|
|
|
261
268
|
body.browser-open #topbar { width: auto; }
|
|
262
269
|
|
|
263
270
|
#browserBtn.on { background: var(--accent-dim); color: var(--accent); }
|
|
271
|
+
|
|
272
|
+
/* göz ikonu: gizli modda çapraz çizgi + soluk, görünür modda normal */
|
|
273
|
+
#eyeBtn .eye-slash { display: none; }
|
|
274
|
+
#eyeBtn:not(.on) .eye-slash { display: block; }
|
|
275
|
+
#eyeBtn:not(.on) { opacity: 0.55; }
|
|
264
276
|
#eyeBtn.on { background: var(--accent-dim); color: var(--accent); }
|
|
265
277
|
|
|
266
278
|
/* #19 sağ panel (paralel ajan konsolu) aç/kapa */
|
|
@@ -747,6 +759,52 @@ body.term-open #settingsOverlay { right: var(--tw, 520px); }
|
|
|
747
759
|
@keyframes blink { 50% { opacity: 0; } }
|
|
748
760
|
|
|
749
761
|
/* tool cards */
|
|
762
|
+
/* ard arda araç çağrıları tek kutuda toplanır; çalışırken lacivert outline döner */
|
|
763
|
+
.tool-box {
|
|
764
|
+
position: relative;
|
|
765
|
+
margin: 8px 0 12px;
|
|
766
|
+
border: 1px solid var(--border);
|
|
767
|
+
border-radius: 10px;
|
|
768
|
+
background: var(--panel);
|
|
769
|
+
overflow: hidden;
|
|
770
|
+
}
|
|
771
|
+
.tool-box.running {
|
|
772
|
+
border-color: transparent;
|
|
773
|
+
box-shadow: 0 0 12px rgba(37, 99, 235, 0.4);
|
|
774
|
+
}
|
|
775
|
+
.tool-box.running::before {
|
|
776
|
+
content: '';
|
|
777
|
+
position: absolute;
|
|
778
|
+
inset: 0;
|
|
779
|
+
border-radius: 10px;
|
|
780
|
+
padding: 3px;
|
|
781
|
+
background: conic-gradient(
|
|
782
|
+
from var(--bc-angle),
|
|
783
|
+
rgba(37, 99, 235, 0) 0deg,
|
|
784
|
+
rgba(37, 99, 235, 0) 220deg,
|
|
785
|
+
#1d4ed8 300deg,
|
|
786
|
+
#2563eb 330deg,
|
|
787
|
+
#60a5fa 350deg,
|
|
788
|
+
rgba(37, 99, 235, 0) 360deg
|
|
789
|
+
);
|
|
790
|
+
-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
|
|
791
|
+
-webkit-mask-composite: xor;
|
|
792
|
+
mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
|
|
793
|
+
mask-composite: exclude;
|
|
794
|
+
animation: bc-ring-spin 2.4s linear infinite;
|
|
795
|
+
pointer-events: none;
|
|
796
|
+
}
|
|
797
|
+
.tool-boxbody {
|
|
798
|
+
max-height: 420px;
|
|
799
|
+
overflow-y: auto;
|
|
800
|
+
}
|
|
801
|
+
.tool-box .tool-card {
|
|
802
|
+
margin: 0;
|
|
803
|
+
border: none;
|
|
804
|
+
border-radius: 0;
|
|
805
|
+
border-bottom: 1px dashed var(--border);
|
|
806
|
+
}
|
|
807
|
+
.tool-box .tool-card:last-child { border-bottom: none; }
|
|
750
808
|
.tool-card {
|
|
751
809
|
border: 1px solid var(--border);
|
|
752
810
|
border-radius: 9px;
|
|
@@ -1857,6 +1915,470 @@ body.browser-open #botOverlay { right: var(--bw, 480px); }
|
|
|
1857
1915
|
}
|
|
1858
1916
|
|
|
1859
1917
|
|
|
1918
|
+
/* ---------- IDE MODU ---------- */
|
|
1919
|
+
|
|
1920
|
+
#filePanel {
|
|
1921
|
+
display: none;
|
|
1922
|
+
width: 250px;
|
|
1923
|
+
min-width: 250px;
|
|
1924
|
+
background: var(--panel);
|
|
1925
|
+
border-right: 1px solid var(--border);
|
|
1926
|
+
flex-direction: column;
|
|
1927
|
+
overflow: hidden;
|
|
1928
|
+
}
|
|
1929
|
+
/* IDE modunda sol taraf: sohbet geçmişi yerine klasör sistemi */
|
|
1930
|
+
body.ide-mode #newChat,
|
|
1931
|
+
body.ide-mode #sessList,
|
|
1932
|
+
body.ide-mode #botBar { display: none; }
|
|
1933
|
+
body.ide-mode #filePanel {
|
|
1934
|
+
display: flex;
|
|
1935
|
+
flex: 1;
|
|
1936
|
+
width: auto;
|
|
1937
|
+
min-width: 0;
|
|
1938
|
+
border-right: none;
|
|
1939
|
+
}
|
|
1940
|
+
/* IDE modunda sağdaki paralel ajan paneli kapalı */
|
|
1941
|
+
body.ide-mode #rail { display: none; }
|
|
1942
|
+
/* IDE modunda ortadaki sohbet yerine Beast Code paneli */
|
|
1943
|
+
body.ide-mode #chatScroll,
|
|
1944
|
+
body.ide-mode #composerWrap { display: none; }
|
|
1945
|
+
#bcPanel {
|
|
1946
|
+
display: none;
|
|
1947
|
+
flex: 1;
|
|
1948
|
+
min-height: 0;
|
|
1949
|
+
flex-direction: column;
|
|
1950
|
+
overflow: hidden;
|
|
1951
|
+
background: var(--bg);
|
|
1952
|
+
}
|
|
1953
|
+
body.ide-mode #bcPanel { display: flex; }
|
|
1954
|
+
#bcHead {
|
|
1955
|
+
flex: none;
|
|
1956
|
+
display: flex;
|
|
1957
|
+
align-items: center;
|
|
1958
|
+
gap: 8px;
|
|
1959
|
+
padding: 9px 12px;
|
|
1960
|
+
border-bottom: 1px solid var(--border);
|
|
1961
|
+
background: var(--panel);
|
|
1962
|
+
}
|
|
1963
|
+
#bcTitle { font-size: 11px; font-weight: 800; letter-spacing: 1px; color: var(--accent); flex: none; }
|
|
1964
|
+
#bcCwd {
|
|
1965
|
+
color: var(--muted);
|
|
1966
|
+
font-family: Consolas, monospace;
|
|
1967
|
+
font-size: 11px;
|
|
1968
|
+
min-width: 0;
|
|
1969
|
+
overflow: hidden;
|
|
1970
|
+
text-overflow: ellipsis;
|
|
1971
|
+
white-space: nowrap;
|
|
1972
|
+
}
|
|
1973
|
+
#bcHead button {
|
|
1974
|
+
background: none;
|
|
1975
|
+
border: none;
|
|
1976
|
+
color: var(--muted);
|
|
1977
|
+
font-size: 12px;
|
|
1978
|
+
cursor: pointer;
|
|
1979
|
+
padding: 3px 7px;
|
|
1980
|
+
border-radius: 6px;
|
|
1981
|
+
line-height: 1;
|
|
1982
|
+
flex: none;
|
|
1983
|
+
}
|
|
1984
|
+
#bcHead button:hover { background: var(--panel2); color: var(--text); }
|
|
1985
|
+
#bcOut {
|
|
1986
|
+
flex: 1;
|
|
1987
|
+
overflow-y: auto;
|
|
1988
|
+
padding: 10px 14px;
|
|
1989
|
+
font-family: Consolas, "Cascadia Mono", monospace;
|
|
1990
|
+
font-size: 12px;
|
|
1991
|
+
line-height: 1.55;
|
|
1992
|
+
}
|
|
1993
|
+
#bcInputRow {
|
|
1994
|
+
flex: none;
|
|
1995
|
+
display: flex;
|
|
1996
|
+
align-items: center;
|
|
1997
|
+
gap: 6px;
|
|
1998
|
+
padding: 10px 12px;
|
|
1999
|
+
border-top: 1px solid var(--border);
|
|
2000
|
+
background: var(--panel);
|
|
2001
|
+
}
|
|
2002
|
+
#bcPrompt { color: var(--accent); font-family: Consolas, monospace; font-size: 12px; font-weight: 700; flex: none; }
|
|
2003
|
+
#bcInput {
|
|
2004
|
+
flex: 1;
|
|
2005
|
+
min-width: 0;
|
|
2006
|
+
background: var(--bg);
|
|
2007
|
+
border: 1px solid var(--border);
|
|
2008
|
+
color: var(--text);
|
|
2009
|
+
border-radius: 7px;
|
|
2010
|
+
padding: 7px 10px;
|
|
2011
|
+
font-family: Consolas, monospace;
|
|
2012
|
+
font-size: 12.5px;
|
|
2013
|
+
outline: none;
|
|
2014
|
+
}
|
|
2015
|
+
#bcInput:focus { border-color: var(--accent); }
|
|
2016
|
+
#bcStop {
|
|
2017
|
+
flex: none;
|
|
2018
|
+
background: none;
|
|
2019
|
+
border: 1px solid var(--border);
|
|
2020
|
+
color: var(--err);
|
|
2021
|
+
border-radius: 7px;
|
|
2022
|
+
cursor: pointer;
|
|
2023
|
+
font-size: 11px;
|
|
2024
|
+
padding: 4px 8px;
|
|
2025
|
+
line-height: 1;
|
|
2026
|
+
}
|
|
2027
|
+
#bcStop[hidden] { display: none; }
|
|
2028
|
+
#bcStop:hover { border-color: var(--err); }
|
|
2029
|
+
|
|
2030
|
+
/* ---------- Beast Code araç kutuları (read/write/terminal çağrıları) ---------- */
|
|
2031
|
+
|
|
2032
|
+
.bc-toolbox {
|
|
2033
|
+
position: relative;
|
|
2034
|
+
margin: 6px 0;
|
|
2035
|
+
border: 1px solid var(--border);
|
|
2036
|
+
border-radius: 9px;
|
|
2037
|
+
background: var(--panel);
|
|
2038
|
+
overflow: hidden;
|
|
2039
|
+
}
|
|
2040
|
+
/* kutu gövdesi: belli yükseklikte kalır, uzun içerik kutu içinde scroll'lanır */
|
|
2041
|
+
.bc-toolbody {
|
|
2042
|
+
max-height: 420px;
|
|
2043
|
+
overflow-y: auto;
|
|
2044
|
+
}
|
|
2045
|
+
.bc-toolhead {
|
|
2046
|
+
display: flex;
|
|
2047
|
+
align-items: center;
|
|
2048
|
+
gap: 7px;
|
|
2049
|
+
padding: 6px 10px;
|
|
2050
|
+
font-family: Consolas, "Cascadia Mono", monospace;
|
|
2051
|
+
font-size: 11.5px;
|
|
2052
|
+
color: var(--muted);
|
|
2053
|
+
}
|
|
2054
|
+
.bc-toolsection { padding: 2px 0; }
|
|
2055
|
+
.bc-toolsection + .bc-toolsection { border-top: 1px dashed var(--border); }
|
|
2056
|
+
.bc-toolsection.done .bc-toolspin { display: none; }
|
|
2057
|
+
.bc-toolsection.failed .bc-toolname { color: var(--err); }
|
|
2058
|
+
.bc-toolhead .bc-toolname { color: var(--accent); font-weight: 700; flex: none; }
|
|
2059
|
+
.bc-toolhead .bc-toolar {
|
|
2060
|
+
min-width: 0;
|
|
2061
|
+
overflow: hidden;
|
|
2062
|
+
text-overflow: ellipsis;
|
|
2063
|
+
white-space: nowrap;
|
|
2064
|
+
}
|
|
2065
|
+
.bc-toolout {
|
|
2066
|
+
max-height: 180px;
|
|
2067
|
+
overflow-y: auto;
|
|
2068
|
+
border-top: 1px solid var(--border);
|
|
2069
|
+
padding: 7px 10px;
|
|
2070
|
+
font-family: Consolas, "Cascadia Mono", monospace;
|
|
2071
|
+
font-size: 11.5px;
|
|
2072
|
+
line-height: 1.5;
|
|
2073
|
+
white-space: pre-wrap;
|
|
2074
|
+
word-break: break-all;
|
|
2075
|
+
color: var(--text);
|
|
2076
|
+
opacity: 0.92;
|
|
2077
|
+
}
|
|
2078
|
+
|
|
2079
|
+
/* çalışırken kutunun etrafında FOSFORLU AÇIK MAVİ dönen outline */
|
|
2080
|
+
@property --bc-angle {
|
|
2081
|
+
syntax: '<angle>';
|
|
2082
|
+
initial-value: 0deg;
|
|
2083
|
+
inherits: false;
|
|
2084
|
+
}
|
|
2085
|
+
@keyframes bc-ring-spin {
|
|
2086
|
+
to { --bc-angle: 360deg; }
|
|
2087
|
+
}
|
|
2088
|
+
@keyframes bc-spin {
|
|
2089
|
+
to { transform: rotate(360deg); }
|
|
2090
|
+
}
|
|
2091
|
+
.bc-toolbox.running {
|
|
2092
|
+
border-color: transparent;
|
|
2093
|
+
box-shadow: 0 0 12px rgba(37, 99, 235, 0.4);
|
|
2094
|
+
}
|
|
2095
|
+
.bc-toolbox.running::before {
|
|
2096
|
+
content: '';
|
|
2097
|
+
position: absolute;
|
|
2098
|
+
inset: 0;
|
|
2099
|
+
border-radius: 9px;
|
|
2100
|
+
padding: 3px;
|
|
2101
|
+
background: conic-gradient(
|
|
2102
|
+
from var(--bc-angle),
|
|
2103
|
+
rgba(37, 99, 235, 0) 0deg,
|
|
2104
|
+
rgba(37, 99, 235, 0) 220deg,
|
|
2105
|
+
#1d4ed8 300deg,
|
|
2106
|
+
#2563eb 330deg,
|
|
2107
|
+
#60a5fa 350deg,
|
|
2108
|
+
rgba(37, 99, 235, 0) 360deg
|
|
2109
|
+
);
|
|
2110
|
+
-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
|
|
2111
|
+
-webkit-mask-composite: xor;
|
|
2112
|
+
mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
|
|
2113
|
+
mask-composite: exclude;
|
|
2114
|
+
animation: bc-ring-spin 2.4s linear infinite;
|
|
2115
|
+
pointer-events: none;
|
|
2116
|
+
}
|
|
2117
|
+
.bc-toolhead .bc-toolspin {
|
|
2118
|
+
flex: none;
|
|
2119
|
+
width: 11px;
|
|
2120
|
+
height: 11px;
|
|
2121
|
+
border-radius: 50%;
|
|
2122
|
+
border: 2px solid var(--border);
|
|
2123
|
+
border-top-color: #2563eb;
|
|
2124
|
+
animation: bc-spin 0.8s linear infinite;
|
|
2125
|
+
}
|
|
2126
|
+
.bc-toolbox:not(.running) .bc-toolspin { display: none; }
|
|
2127
|
+
|
|
2128
|
+
/* kutu içi ara yazı notu (iş turları arasındaki asistan yorumları) */
|
|
2129
|
+
.bc-toolnote {
|
|
2130
|
+
padding: 5px 12px;
|
|
2131
|
+
font-size: 11.5px;
|
|
2132
|
+
font-style: italic;
|
|
2133
|
+
color: var(--muted);
|
|
2134
|
+
white-space: pre-wrap;
|
|
2135
|
+
word-break: break-word;
|
|
2136
|
+
border-top: 1px dashed var(--border);
|
|
2137
|
+
}
|
|
2138
|
+
|
|
2139
|
+
/* ---------- Beast Code todo kartı (inputun hemen üstünde, ortalı kare) ---------- */
|
|
2140
|
+
#bcTodoWrap {
|
|
2141
|
+
flex: none;
|
|
2142
|
+
display: flex;
|
|
2143
|
+
justify-content: center;
|
|
2144
|
+
padding: 0 12px;
|
|
2145
|
+
margin-top: -16px; /* kartı 1-2 satır yukarı al */
|
|
2146
|
+
position: relative;
|
|
2147
|
+
z-index: 2;
|
|
2148
|
+
}
|
|
2149
|
+
#bcTodoWrap[hidden] { display: none; }
|
|
2150
|
+
.bc-todobox {
|
|
2151
|
+
width: fit-content;
|
|
2152
|
+
min-width: 240px;
|
|
2153
|
+
max-width: min(420px, 92%);
|
|
2154
|
+
border: 1px solid var(--accent-dim);
|
|
2155
|
+
border-radius: 10px;
|
|
2156
|
+
background: var(--panel);
|
|
2157
|
+
overflow: hidden;
|
|
2158
|
+
box-shadow: 0 6px 18px rgba(0, 0, 0, 0.14);
|
|
2159
|
+
}
|
|
2160
|
+
.bc-todotitle {
|
|
2161
|
+
display: flex;
|
|
2162
|
+
align-items: center;
|
|
2163
|
+
justify-content: space-between;
|
|
2164
|
+
padding: 6px 10px;
|
|
2165
|
+
font-size: 10.5px;
|
|
2166
|
+
font-weight: 800;
|
|
2167
|
+
letter-spacing: 2px;
|
|
2168
|
+
color: var(--accent);
|
|
2169
|
+
border-bottom: 1px solid var(--border);
|
|
2170
|
+
}
|
|
2171
|
+
.bc-todocount { color: var(--muted); letter-spacing: 0; font-weight: 700; }
|
|
2172
|
+
.bc-todoitems { padding: 4px 0; }
|
|
2173
|
+
.bc-todoitem {
|
|
2174
|
+
display: flex;
|
|
2175
|
+
align-items: baseline;
|
|
2176
|
+
gap: 8px;
|
|
2177
|
+
padding: 3px 12px;
|
|
2178
|
+
font-size: 12px;
|
|
2179
|
+
color: var(--text);
|
|
2180
|
+
}
|
|
2181
|
+
.bc-todoitem .bc-todocheck { flex: none; width: 14px; text-align: center; color: var(--muted); }
|
|
2182
|
+
.bc-todoitem.active { color: var(--accent); font-weight: 600; }
|
|
2183
|
+
.bc-todoitem.active .bc-todocheck { color: var(--accent); }
|
|
2184
|
+
.bc-todoitem.done { color: var(--muted); }
|
|
2185
|
+
.bc-todoitem.done .bc-todocheck { color: var(--ok, var(--accent)); }
|
|
2186
|
+
.bc-todoitem.done .bc-todotext { text-decoration: line-through; }
|
|
2187
|
+
#filePanelHead {
|
|
2188
|
+
display: flex;
|
|
2189
|
+
align-items: center;
|
|
2190
|
+
gap: 6px;
|
|
2191
|
+
padding: 10px 10px;
|
|
2192
|
+
border-bottom: 1px solid var(--border);
|
|
2193
|
+
}
|
|
2194
|
+
#filePanelTitle { font-size: 11px; letter-spacing: 2px; color: var(--muted); font-weight: 800; }
|
|
2195
|
+
.file-spacer { flex: 1; }
|
|
2196
|
+
#filePanelHead button {
|
|
2197
|
+
background: none;
|
|
2198
|
+
border: 1px solid var(--border);
|
|
2199
|
+
border-radius: 7px;
|
|
2200
|
+
color: var(--muted);
|
|
2201
|
+
cursor: pointer;
|
|
2202
|
+
font-size: 11.5px;
|
|
2203
|
+
padding: 3px 8px;
|
|
2204
|
+
line-height: 1.4;
|
|
2205
|
+
}
|
|
2206
|
+
#filePanelHead button:hover { color: var(--text); background: var(--panel2); }
|
|
2207
|
+
#filePreview { border-color: var(--accent); color: var(--accent); font-weight: 700; }
|
|
2208
|
+
#filePanelPath {
|
|
2209
|
+
font-family: var(--mono, monospace);
|
|
2210
|
+
font-size: 10px;
|
|
2211
|
+
color: var(--muted);
|
|
2212
|
+
padding: 5px 10px;
|
|
2213
|
+
border-bottom: 1px solid var(--border);
|
|
2214
|
+
white-space: nowrap;
|
|
2215
|
+
overflow: hidden;
|
|
2216
|
+
text-overflow: ellipsis;
|
|
2217
|
+
}
|
|
2218
|
+
#fileTree { flex: 1; overflow-y: auto; padding: 6px 4px; }
|
|
2219
|
+
.file-row {
|
|
2220
|
+
display: flex;
|
|
2221
|
+
align-items: center;
|
|
2222
|
+
gap: 6px;
|
|
2223
|
+
padding: 4px 6px;
|
|
2224
|
+
border-radius: 6px;
|
|
2225
|
+
cursor: pointer;
|
|
2226
|
+
font-size: 12.5px;
|
|
2227
|
+
white-space: nowrap;
|
|
2228
|
+
overflow: hidden;
|
|
2229
|
+
}
|
|
2230
|
+
.file-row:hover { background: var(--panel2); }
|
|
2231
|
+
.f-ico { flex: none; font-size: 13px; filter: grayscale(1); opacity: 0.72; }
|
|
2232
|
+
.f-nm { overflow: hidden; text-overflow: ellipsis; }
|
|
2233
|
+
.f-sz { margin-left: auto; font-size: 10px; color: var(--muted); flex: none; }
|
|
2234
|
+
.file-empty { color: var(--muted); font-size: 12px; padding: 12px; }
|
|
2235
|
+
|
|
2236
|
+
/* ---------- IDE MODU: sekmeli kod editörü (VS Code düzeni) ---------- */
|
|
2237
|
+
|
|
2238
|
+
/* IDE modunda ortam: [dosya ağacı | kod sekmeleri | Beast Code] */
|
|
2239
|
+
#ideRow { display: none; flex: 1; min-height: 0; }
|
|
2240
|
+
body.ide-mode #ideRow { display: flex; flex-direction: row; }
|
|
2241
|
+
#codePane {
|
|
2242
|
+
flex: 1;
|
|
2243
|
+
min-width: 0;
|
|
2244
|
+
display: none;
|
|
2245
|
+
flex-direction: column;
|
|
2246
|
+
background: var(--bg);
|
|
2247
|
+
}
|
|
2248
|
+
body.ide-mode #codePane { display: flex; }
|
|
2249
|
+
#ideRow #bcPanel {
|
|
2250
|
+
display: flex;
|
|
2251
|
+
flex: 0 0 var(--ideSplit, 420px);
|
|
2252
|
+
min-width: 280px;
|
|
2253
|
+
border-left: none;
|
|
2254
|
+
}
|
|
2255
|
+
#ideSplit {
|
|
2256
|
+
flex: none;
|
|
2257
|
+
width: 6px;
|
|
2258
|
+
cursor: col-resize;
|
|
2259
|
+
background: var(--border);
|
|
2260
|
+
opacity: 0.55;
|
|
2261
|
+
}
|
|
2262
|
+
#codeTabsBar {
|
|
2263
|
+
flex: none;
|
|
2264
|
+
display: flex;
|
|
2265
|
+
align-items: center;
|
|
2266
|
+
gap: 8px;
|
|
2267
|
+
padding: 0 8px;
|
|
2268
|
+
min-height: 38px;
|
|
2269
|
+
border-bottom: 1px solid var(--border);
|
|
2270
|
+
background: var(--panel);
|
|
2271
|
+
}
|
|
2272
|
+
#codeTabs {
|
|
2273
|
+
display: flex;
|
|
2274
|
+
overflow-x: auto;
|
|
2275
|
+
flex: 1;
|
|
2276
|
+
min-width: 0;
|
|
2277
|
+
}
|
|
2278
|
+
.code-tab {
|
|
2279
|
+
display: flex;
|
|
2280
|
+
align-items: center;
|
|
2281
|
+
gap: 6px;
|
|
2282
|
+
padding: 7px 10px;
|
|
2283
|
+
font-size: 12px;
|
|
2284
|
+
font-family: Consolas, monospace;
|
|
2285
|
+
color: var(--muted);
|
|
2286
|
+
cursor: pointer;
|
|
2287
|
+
white-space: nowrap;
|
|
2288
|
+
border-bottom: 2px solid transparent;
|
|
2289
|
+
}
|
|
2290
|
+
.code-tab:hover { background: var(--panel2); }
|
|
2291
|
+
.code-tab.active {
|
|
2292
|
+
color: var(--text);
|
|
2293
|
+
background: var(--bg);
|
|
2294
|
+
border-bottom-color: var(--accent);
|
|
2295
|
+
}
|
|
2296
|
+
.code-tab .code-tab-x {
|
|
2297
|
+
border: none;
|
|
2298
|
+
background: none;
|
|
2299
|
+
color: var(--muted);
|
|
2300
|
+
cursor: pointer;
|
|
2301
|
+
font-size: 12px;
|
|
2302
|
+
padding: 0 2px;
|
|
2303
|
+
line-height: 1;
|
|
2304
|
+
}
|
|
2305
|
+
.code-tab .code-tab-x:hover { color: var(--err); }
|
|
2306
|
+
.code-tab.dirty .code-tab-name::after { content: ' \25CF'; color: var(--accent); font-size: 10px; }
|
|
2307
|
+
#codePath {
|
|
2308
|
+
flex: none;
|
|
2309
|
+
max-width: 240px;
|
|
2310
|
+
overflow: hidden;
|
|
2311
|
+
text-overflow: ellipsis;
|
|
2312
|
+
white-space: nowrap;
|
|
2313
|
+
font-family: Consolas, monospace;
|
|
2314
|
+
font-size: 11px;
|
|
2315
|
+
color: var(--muted);
|
|
2316
|
+
}
|
|
2317
|
+
#codeSave {
|
|
2318
|
+
flex: none;
|
|
2319
|
+
background: none;
|
|
2320
|
+
border: 1px solid var(--border);
|
|
2321
|
+
border-radius: 7px;
|
|
2322
|
+
color: var(--muted);
|
|
2323
|
+
cursor: pointer;
|
|
2324
|
+
font-size: 11.5px;
|
|
2325
|
+
padding: 4px 10px;
|
|
2326
|
+
line-height: 1.4;
|
|
2327
|
+
}
|
|
2328
|
+
#codeSave:hover { color: var(--accent); border-color: var(--accent); background: var(--panel2); }
|
|
2329
|
+
#codeTa {
|
|
2330
|
+
flex: 1;
|
|
2331
|
+
resize: none;
|
|
2332
|
+
border: none;
|
|
2333
|
+
outline: none;
|
|
2334
|
+
background: var(--bg);
|
|
2335
|
+
color: var(--text);
|
|
2336
|
+
padding: 12px 14px;
|
|
2337
|
+
font-family: Consolas, "Cascadia Mono", monospace;
|
|
2338
|
+
font-size: 12.5px;
|
|
2339
|
+
line-height: 1.55;
|
|
2340
|
+
}
|
|
2341
|
+
/* dikey scrollbar hep görünür, tutulabilir ve imleç değişsin */
|
|
2342
|
+
#codeTa::-webkit-scrollbar {
|
|
2343
|
+
width: 12px;
|
|
2344
|
+
cursor: pointer;
|
|
2345
|
+
}
|
|
2346
|
+
#codeTa::-webkit-scrollbar-track {
|
|
2347
|
+
background: transparent;
|
|
2348
|
+
cursor: pointer;
|
|
2349
|
+
}
|
|
2350
|
+
#codeTa::-webkit-scrollbar-thumb {
|
|
2351
|
+
background: var(--muted);
|
|
2352
|
+
border-radius: 6px;
|
|
2353
|
+
border: 3px solid var(--bg);
|
|
2354
|
+
cursor: pointer;
|
|
2355
|
+
}
|
|
2356
|
+
#codeTa::-webkit-scrollbar-thumb:hover {
|
|
2357
|
+
background: var(--text);
|
|
2358
|
+
}
|
|
2359
|
+
|
|
2360
|
+
/* ---------- dosya ağacı sağ tık menüsü ---------- */
|
|
2361
|
+
#fileCtxMenu {
|
|
2362
|
+
position: fixed;
|
|
2363
|
+
z-index: 70;
|
|
2364
|
+
min-width: 150px;
|
|
2365
|
+
background: var(--panel);
|
|
2366
|
+
border: 1px solid var(--border);
|
|
2367
|
+
border-radius: 9px;
|
|
2368
|
+
padding: 4px;
|
|
2369
|
+
box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
|
|
2370
|
+
}
|
|
2371
|
+
#fileCtxMenu[hidden] { display: none; }
|
|
2372
|
+
.ctx-item {
|
|
2373
|
+
padding: 7px 12px;
|
|
2374
|
+
font-size: 12.5px;
|
|
2375
|
+
color: var(--text);
|
|
2376
|
+
cursor: pointer;
|
|
2377
|
+
border-radius: 6px;
|
|
2378
|
+
}
|
|
2379
|
+
.ctx-item:hover { background: var(--panel2); }
|
|
2380
|
+
.ctx-item.danger { color: var(--err); }
|
|
2381
|
+
|
|
1860
2382
|
/* ---------- SKILLS STORE ---------- */
|
|
1861
2383
|
|
|
1862
2384
|
#storeOverlay {
|