hypercore-cli 1.1.2 → 1.4.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/LICENSE +92 -21
- package/README.md +8 -1
- package/dist/App-YMX7FSXR.js +1 -0
- package/dist/api-ELP6F4NC.js +1 -0
- package/dist/auth-SICBMA3P.js +1 -0
- package/dist/auth-X6CUT3DW.js +1 -0
- package/dist/background-ACODXSUG.js +1 -0
- package/dist/backlog-JD2IM336.js +1 -0
- package/dist/chunk-2QI2IU2V.js +1 -0
- package/dist/chunk-3KFRDIPQ.js +1 -0
- package/dist/chunk-42C5J7PN.js +1 -0
- package/dist/chunk-4D7XVJ7Q.js +1 -0
- package/dist/chunk-5KUSGQP2.js +1 -0
- package/dist/chunk-5OEFAGD5.js +1 -0
- package/dist/chunk-AUQ64BK2.js +1 -0
- package/dist/chunk-AV244H5C.js +1 -0
- package/dist/chunk-BQVBEFS4.js +1 -0
- package/dist/chunk-BYWQLFP2.js +1 -0
- package/dist/chunk-C6YL7UHE.js +1 -0
- package/dist/chunk-COITWWZJ.js +1 -0
- package/dist/chunk-CR7UUJVX.js +1 -0
- package/dist/chunk-E3MULLBX.js +1 -0
- package/dist/chunk-EZHYVJGQ.js +1 -0
- package/dist/chunk-FAMURNNH.js +1 -0
- package/dist/chunk-FGP56E4W.js +1 -0
- package/dist/chunk-FHGATV5B.js +1 -0
- package/dist/chunk-I2G27Y5P.js +1 -0
- package/dist/chunk-IKF43TX2.js +1 -0
- package/dist/chunk-INSPHCBN.js +1 -0
- package/dist/chunk-JHMV366T.js +1 -0
- package/dist/chunk-L52HX5SX.js +1 -0
- package/dist/chunk-LQMDUKIE.js +1 -0
- package/dist/chunk-M3MTKGA5.js +1 -0
- package/dist/chunk-MPO54FU3.js +1 -0
- package/dist/chunk-PVKCZI6A.js +1 -0
- package/dist/chunk-Q7KEPCYL.js +1 -0
- package/dist/chunk-ROBZ6PAL.js +1 -0
- package/dist/chunk-RXB5BS2N.js +1 -0
- package/dist/chunk-RZ3HNYMT.js +1 -0
- package/dist/chunk-UCGLRMTG.js +1 -0
- package/dist/chunk-UEHJVRKB.js +1 -0
- package/dist/chunk-UZYX5GGF.js +1 -0
- package/dist/chunk-XQJBB725.js +1 -0
- package/dist/chunk-YXCRL6K3.js +1 -0
- package/dist/claude-US2QPRBA.js +1 -0
- package/dist/commands-EKPWCB3T.js +1 -0
- package/dist/commands-GYNKP5WV.js +1 -0
- package/dist/commands-QHJLREPM.js +1 -0
- package/dist/config-2OUL5FLS.js +1 -0
- package/dist/config-loader-N7IBWN2P.js +1 -0
- package/dist/diagnose-NLHN4SAJ.js +1 -0
- package/dist/display-RYAW2GFB.js +1 -0
- package/dist/extractor-3KTM2IUL.js +1 -0
- package/dist/feature-flag-VVIF5FJG.js +1 -0
- package/dist/history-3R2UHRDQ.js +1 -0
- package/dist/index.js +1 -402
- package/dist/instance-registry-I5AIVJE2.js +1 -0
- package/dist/keybindings-RN3A7CRW.js +1 -0
- package/dist/loader-3IKPXP4R.js +1 -0
- package/dist/network-K5HRJE44.js +1 -0
- package/dist/notify-O6FNVHC4.js +1 -0
- package/dist/openai-compat-IPCMINVF.js +1 -0
- package/dist/panels-2R5YEFXH.js +1 -0
- package/dist/permissions-5O7KVAXU.js +1 -0
- package/dist/prompt-VWFPFM4N.js +1 -0
- package/dist/quality-GPQD25UL.js +1 -0
- package/dist/repl-CL4SYHU4.js +1 -0
- package/dist/roadmap-QRZODSNJ.js +1 -0
- package/dist/server-PKOHK5M2.js +1 -0
- package/dist/session-5HDDQQP6.js +1 -0
- package/dist/skills-DXWSVJSU.js +1 -0
- package/dist/store-WXXTKTTL.js +1 -0
- package/dist/team-N2GF4YYS.js +1 -0
- package/dist/telemetry-NT4UZLBS.js +1 -0
- package/dist/test-runner-F6B6RH3S.js +1 -0
- package/dist/theme-JJJ6ABR2.js +1 -0
- package/dist/upgrade-RUG3R7R5.js +1 -0
- package/dist/verify-6OGRY2PR.js +1 -0
- package/dist/version-4RHTDUNQ.js +1 -0
- package/dist/web/static/app.js +1 -562
- package/dist/web/static/index.html +114 -126
- package/dist/web/static/mirror.css +1 -1001
- package/dist/web/static/mirror.html +155 -178
- package/dist/web/static/mirror.js +1 -1125
- package/dist/web/static/onboard.css +1 -302
- package/dist/web/static/onboard.html +121 -145
- package/dist/web/static/onboard.js +1 -300
- package/dist/web/static/style.css +1 -602
- package/dist/web/static/utils.js +1 -0
- package/dist/web/static/workspace.css +1 -1568
- package/dist/web/static/workspace.html +369 -402
- package/dist/web/static/workspace.js +1 -1683
- package/dist/web-CIC7ZKBM.js +1 -0
- package/package.json +26 -4
- package/dist/api-JHHOZTL6.js +0 -162
- package/dist/auth-5QFJLW7J.js +0 -21
- package/dist/background-2EGCAAQH.js +0 -14
- package/dist/backlog-Q2NZCLNY.js +0 -24
- package/dist/chunk-2CMSCWQW.js +0 -162
- package/dist/chunk-4DVYJAJL.js +0 -57
- package/dist/chunk-5GDYH676.js +0 -271
- package/dist/chunk-5NLVGLD7.js +0 -66
- package/dist/chunk-6XTEAFZQ.js +0 -575
- package/dist/chunk-AQBSMYLT.js +0 -2025
- package/dist/chunk-BE46C7JW.js +0 -46
- package/dist/chunk-CLKIMCXZ.js +0 -139
- package/dist/chunk-DN4ASQ26.js +0 -167
- package/dist/chunk-DUWREZXK.js +0 -173
- package/dist/chunk-FCW3K6F2.js +0 -263
- package/dist/chunk-GFORWAMW.js +0 -251
- package/dist/chunk-GH7E2OJE.js +0 -223
- package/dist/chunk-GU2FZQ6A.js +0 -69
- package/dist/chunk-I7WI3BMB.js +0 -161
- package/dist/chunk-IOPKN5GD.js +0 -190
- package/dist/chunk-LBVHDGZE.js +0 -133
- package/dist/chunk-MGLJ53QN.js +0 -219
- package/dist/chunk-NETIY5UB.js +0 -134
- package/dist/chunk-NP47L7LG.js +0 -288
- package/dist/chunk-O6MG7TOH.js +0 -58
- package/dist/chunk-OPZYEVYR.js +0 -150
- package/dist/chunk-R3GPQC7I.js +0 -393
- package/dist/chunk-R5T3A2NQ.js +0 -166
- package/dist/chunk-RKB2JOV2.js +0 -43
- package/dist/chunk-RNG3K465.js +0 -80
- package/dist/chunk-TGTYKBGC.js +0 -86
- package/dist/chunk-UCX4VZCT.js +0 -681
- package/dist/chunk-WHLVZCQY.js +0 -245
- package/dist/chunk-Y6HMJZDJ.js +0 -1505
- package/dist/chunk-ZSBHUGWR.js +0 -262
- package/dist/claude-4BX3MJSK.js +0 -12
- package/dist/commands-2X4OB5RF.js +0 -128
- package/dist/commands-GLBCEVQK.js +0 -1044
- package/dist/commands-IINRNBYX.js +0 -232
- package/dist/config-RSNQJQPS.js +0 -8
- package/dist/config-loader-SXO674TF.js +0 -24
- package/dist/diagnose-7UPLS7I4.js +0 -12
- package/dist/display-IIUBEYWN.js +0 -58
- package/dist/extractor-D3XWOAXI.js +0 -129
- package/dist/history-6I6FADAU.js +0 -180
- package/dist/index.d.ts +0 -1
- package/dist/instance-registry-J7UJ7U4Z.js +0 -15
- package/dist/keybindings-PDXIOV3O.js +0 -15
- package/dist/loader-GKEYT6Y7.js +0 -58
- package/dist/network-JYGHQXAR.js +0 -279
- package/dist/notify-HPTALZDC.js +0 -14
- package/dist/openai-compat-R7EKWG6Z.js +0 -12
- package/dist/permissions-JUKXMNDH.js +0 -10
- package/dist/prompt-UWHSZU4P.js +0 -166
- package/dist/quality-ST7PPNFR.js +0 -16
- package/dist/repl-QHIZ2JGF.js +0 -3374
- package/dist/roadmap-5OBEKROY.js +0 -17
- package/dist/server-HCNIP7ZQ.js +0 -57
- package/dist/session-5EBECDUP.js +0 -21
- package/dist/skills-HBQQTYO4.js +0 -175
- package/dist/store-FKUTR7GW.js +0 -25
- package/dist/team-7BBBP5YQ.js +0 -385
- package/dist/telemetry-6R4EIE6O.js +0 -30
- package/dist/test-runner-AUAGIBNM.js +0 -619
- package/dist/theme-3SYJ3UQA.js +0 -14
- package/dist/upgrade-MZFH7OCN.js +0 -83
- package/dist/verify-JUDKTPKZ.js +0 -14
- package/dist/web-KS3FUGJA.js +0 -39
|
@@ -1,602 +1 @@
|
|
|
1
|
-
/* Hypercore Web Dashboard - Dark Theme */
|
|
2
|
-
|
|
3
|
-
:root {
|
|
4
|
-
--bg-primary: #0d1117;
|
|
5
|
-
--bg-secondary: #161b22;
|
|
6
|
-
--bg-tertiary: #21262d;
|
|
7
|
-
--bg-hover: #30363d;
|
|
8
|
-
--border: #30363d;
|
|
9
|
-
--border-light: #484f58;
|
|
10
|
-
--text-primary: #e6edf3;
|
|
11
|
-
--text-secondary: #8b949e;
|
|
12
|
-
--text-muted: #6e7681;
|
|
13
|
-
--accent: #58a6ff;
|
|
14
|
-
--accent-hover: #79c0ff;
|
|
15
|
-
--green: #3fb950;
|
|
16
|
-
--yellow: #d29922;
|
|
17
|
-
--red: #f85149;
|
|
18
|
-
--purple: #bc8cff;
|
|
19
|
-
--orange: #f0883e;
|
|
20
|
-
--font-mono: 'SF Mono', 'Cascadia Code', 'Fira Code', Consolas, monospace;
|
|
21
|
-
--font-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
|
|
22
|
-
--radius: 8px;
|
|
23
|
-
--radius-sm: 4px;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
27
|
-
|
|
28
|
-
body {
|
|
29
|
-
font-family: var(--font-sans);
|
|
30
|
-
background: var(--bg-primary);
|
|
31
|
-
color: var(--text-primary);
|
|
32
|
-
height: 100vh;
|
|
33
|
-
overflow: hidden;
|
|
34
|
-
display: flex;
|
|
35
|
-
flex-direction: column;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/* ─── Header ─── */
|
|
39
|
-
.header {
|
|
40
|
-
display: flex;
|
|
41
|
-
align-items: center;
|
|
42
|
-
justify-content: space-between;
|
|
43
|
-
padding: 0 16px;
|
|
44
|
-
height: 48px;
|
|
45
|
-
background: var(--bg-secondary);
|
|
46
|
-
border-bottom: 1px solid var(--border);
|
|
47
|
-
flex-shrink: 0;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
.header-left { display: flex; align-items: center; gap: 8px; }
|
|
51
|
-
.logo { font-weight: 700; font-size: 16px; color: var(--accent); }
|
|
52
|
-
|
|
53
|
-
.header-right { display: flex; align-items: center; gap: 12px; }
|
|
54
|
-
|
|
55
|
-
.header-meta {
|
|
56
|
-
font-size: 11px;
|
|
57
|
-
color: var(--text-muted);
|
|
58
|
-
font-family: var(--font-mono);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
.btn-icon {
|
|
62
|
-
background: none;
|
|
63
|
-
border: 1px solid var(--border);
|
|
64
|
-
color: var(--text-secondary);
|
|
65
|
-
width: 28px;
|
|
66
|
-
height: 28px;
|
|
67
|
-
border-radius: var(--radius-sm);
|
|
68
|
-
cursor: pointer;
|
|
69
|
-
font-size: 14px;
|
|
70
|
-
display: flex;
|
|
71
|
-
align-items: center;
|
|
72
|
-
justify-content: center;
|
|
73
|
-
transition: all 0.15s;
|
|
74
|
-
}
|
|
75
|
-
.btn-icon:hover {
|
|
76
|
-
background: var(--bg-tertiary);
|
|
77
|
-
color: var(--text-primary);
|
|
78
|
-
border-color: var(--border-light);
|
|
79
|
-
}
|
|
80
|
-
.btn-icon.spinning {
|
|
81
|
-
animation: spin 0.6s ease-in-out;
|
|
82
|
-
}
|
|
83
|
-
@keyframes spin {
|
|
84
|
-
from { transform: rotate(0deg); }
|
|
85
|
-
to { transform: rotate(360deg); }
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
.status-dot {
|
|
89
|
-
width: 8px; height: 8px;
|
|
90
|
-
border-radius: 50%;
|
|
91
|
-
display: inline-block;
|
|
92
|
-
}
|
|
93
|
-
.status-dot.online { background: var(--green); }
|
|
94
|
-
.status-dot.offline { background: var(--red); }
|
|
95
|
-
|
|
96
|
-
/* ─── Main Layout ─── */
|
|
97
|
-
.main {
|
|
98
|
-
flex: 1;
|
|
99
|
-
display: grid;
|
|
100
|
-
grid-template-columns: 1fr;
|
|
101
|
-
overflow: hidden;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
.panel-center {
|
|
105
|
-
display: flex;
|
|
106
|
-
flex-direction: column;
|
|
107
|
-
overflow: hidden;
|
|
108
|
-
background: var(--bg-primary);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
.mono { font-family: var(--font-mono); font-size: 12px; }
|
|
112
|
-
|
|
113
|
-
/* Scrollbar */
|
|
114
|
-
::-webkit-scrollbar { width: 6px; height: 6px; }
|
|
115
|
-
::-webkit-scrollbar-track { background: transparent; }
|
|
116
|
-
::-webkit-scrollbar-thumb { background: var(--bg-hover); border-radius: 3px; }
|
|
117
|
-
::-webkit-scrollbar-thumb:hover { background: var(--border-light); }
|
|
118
|
-
|
|
119
|
-
/* ─── Tab Navigation ─── */
|
|
120
|
-
.tab-nav {
|
|
121
|
-
display: flex;
|
|
122
|
-
gap: 2px;
|
|
123
|
-
margin-left: 16px;
|
|
124
|
-
}
|
|
125
|
-
.tab-btn {
|
|
126
|
-
background: none;
|
|
127
|
-
border: none;
|
|
128
|
-
color: var(--text-muted);
|
|
129
|
-
font-size: 13px;
|
|
130
|
-
padding: 6px 12px;
|
|
131
|
-
cursor: pointer;
|
|
132
|
-
border-radius: var(--radius-sm);
|
|
133
|
-
transition: all 0.15s;
|
|
134
|
-
font-family: var(--font-sans);
|
|
135
|
-
}
|
|
136
|
-
.tab-btn:hover { background: var(--bg-tertiary); color: var(--text-primary); }
|
|
137
|
-
.tab-btn.active { background: var(--bg-hover); color: var(--accent); font-weight: 600; }
|
|
138
|
-
|
|
139
|
-
/* Tab Content */
|
|
140
|
-
.tab-content { display: none; flex-direction: column; height: 100%; overflow: hidden; }
|
|
141
|
-
.tab-content.active { display: flex; }
|
|
142
|
-
|
|
143
|
-
/* ─── Skeleton Loading ─── */
|
|
144
|
-
.skeleton-line {
|
|
145
|
-
height: 14px;
|
|
146
|
-
background: linear-gradient(90deg, var(--bg-tertiary) 25%, var(--bg-hover) 50%, var(--bg-tertiary) 75%);
|
|
147
|
-
background-size: 200% 100%;
|
|
148
|
-
animation: shimmer 1.5s infinite;
|
|
149
|
-
border-radius: 3px;
|
|
150
|
-
margin-bottom: 10px;
|
|
151
|
-
}
|
|
152
|
-
.skeleton-line.short {
|
|
153
|
-
width: 60%;
|
|
154
|
-
}
|
|
155
|
-
@keyframes shimmer {
|
|
156
|
-
0% { background-position: 200% 0; }
|
|
157
|
-
100% { background-position: -200% 0; }
|
|
158
|
-
}
|
|
159
|
-
|
|
160
|
-
/* ─── Overview Tab ─── */
|
|
161
|
-
.overview-grid {
|
|
162
|
-
display: grid;
|
|
163
|
-
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
|
|
164
|
-
gap: 16px;
|
|
165
|
-
padding: 24px;
|
|
166
|
-
overflow-y: auto;
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
.overview-card {
|
|
170
|
-
background: var(--bg-secondary);
|
|
171
|
-
border: 1px solid var(--border);
|
|
172
|
-
border-radius: var(--radius);
|
|
173
|
-
overflow: hidden;
|
|
174
|
-
transition: border-color 0.15s;
|
|
175
|
-
}
|
|
176
|
-
.overview-card:hover { border-color: var(--border-light); }
|
|
177
|
-
|
|
178
|
-
.card-wide {
|
|
179
|
-
grid-column: 1 / -1;
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
.card-header {
|
|
183
|
-
padding: 12px 16px;
|
|
184
|
-
font-size: 13px;
|
|
185
|
-
font-weight: 600;
|
|
186
|
-
color: var(--text-secondary);
|
|
187
|
-
text-transform: uppercase;
|
|
188
|
-
letter-spacing: 0.5px;
|
|
189
|
-
border-bottom: 1px solid var(--border);
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
.card-body {
|
|
193
|
-
padding: 16px;
|
|
194
|
-
font-size: 13px;
|
|
195
|
-
line-height: 1.8;
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
.card-stat {
|
|
199
|
-
display: flex;
|
|
200
|
-
justify-content: space-between;
|
|
201
|
-
padding: 2px 0;
|
|
202
|
-
color: var(--text-secondary);
|
|
203
|
-
}
|
|
204
|
-
.card-stat span:last-child { color: var(--text-primary); font-family: var(--font-mono); }
|
|
205
|
-
|
|
206
|
-
.card-value-big {
|
|
207
|
-
font-size: 28px;
|
|
208
|
-
font-weight: 700;
|
|
209
|
-
color: var(--text-primary);
|
|
210
|
-
font-family: var(--font-mono);
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
.card-value-label {
|
|
214
|
-
font-size: 12px;
|
|
215
|
-
color: var(--text-muted);
|
|
216
|
-
margin-top: 4px;
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
.card-tag {
|
|
220
|
-
display: inline-block;
|
|
221
|
-
background: var(--bg-tertiary);
|
|
222
|
-
padding: 2px 8px;
|
|
223
|
-
border-radius: 10px;
|
|
224
|
-
font-size: 11px;
|
|
225
|
-
font-family: var(--font-mono);
|
|
226
|
-
color: var(--text-secondary);
|
|
227
|
-
margin: 2px;
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
.git-branch { color: var(--green); font-weight: 600; }
|
|
231
|
-
.git-clean { color: var(--green); }
|
|
232
|
-
.git-dirty { color: var(--yellow); }
|
|
233
|
-
|
|
234
|
-
/* ─── Empty State ─── */
|
|
235
|
-
.empty-state {
|
|
236
|
-
display: flex;
|
|
237
|
-
flex-direction: column;
|
|
238
|
-
align-items: center;
|
|
239
|
-
justify-content: center;
|
|
240
|
-
padding: 24px 16px;
|
|
241
|
-
text-align: center;
|
|
242
|
-
}
|
|
243
|
-
.empty-icon {
|
|
244
|
-
font-size: 32px;
|
|
245
|
-
margin-bottom: 12px;
|
|
246
|
-
opacity: 0.5;
|
|
247
|
-
}
|
|
248
|
-
.empty-text {
|
|
249
|
-
font-size: 14px;
|
|
250
|
-
font-weight: 600;
|
|
251
|
-
color: var(--text-secondary);
|
|
252
|
-
margin-bottom: 6px;
|
|
253
|
-
}
|
|
254
|
-
.empty-hint {
|
|
255
|
-
font-size: 12px;
|
|
256
|
-
color: var(--text-muted);
|
|
257
|
-
}
|
|
258
|
-
.empty-hint code {
|
|
259
|
-
background: var(--bg-tertiary);
|
|
260
|
-
padding: 1px 6px;
|
|
261
|
-
border-radius: 3px;
|
|
262
|
-
font-family: var(--font-mono);
|
|
263
|
-
font-size: 11px;
|
|
264
|
-
color: var(--accent);
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
/* ─── Instance List (Sessions Card) ─── */
|
|
268
|
-
.instance-count {
|
|
269
|
-
font-size: 13px;
|
|
270
|
-
font-weight: 600;
|
|
271
|
-
color: var(--text-secondary);
|
|
272
|
-
margin-bottom: 10px;
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
.instances-list {
|
|
276
|
-
display: flex;
|
|
277
|
-
flex-direction: column;
|
|
278
|
-
gap: 6px;
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
.instance-row {
|
|
282
|
-
display: flex;
|
|
283
|
-
align-items: center;
|
|
284
|
-
justify-content: space-between;
|
|
285
|
-
padding: 8px 10px;
|
|
286
|
-
border-radius: var(--radius-sm);
|
|
287
|
-
background: var(--bg-tertiary);
|
|
288
|
-
transition: background 0.15s;
|
|
289
|
-
}
|
|
290
|
-
.instance-row:hover {
|
|
291
|
-
background: var(--bg-hover);
|
|
292
|
-
}
|
|
293
|
-
.instance-row.current {
|
|
294
|
-
border-left: 2px solid var(--accent);
|
|
295
|
-
background: rgba(88, 166, 255, 0.06);
|
|
296
|
-
}
|
|
297
|
-
|
|
298
|
-
.instance-row-left {
|
|
299
|
-
display: flex;
|
|
300
|
-
align-items: center;
|
|
301
|
-
gap: 8px;
|
|
302
|
-
flex: 1;
|
|
303
|
-
min-width: 0;
|
|
304
|
-
}
|
|
305
|
-
|
|
306
|
-
.instance-row-right {
|
|
307
|
-
display: flex;
|
|
308
|
-
align-items: center;
|
|
309
|
-
gap: 12px;
|
|
310
|
-
flex-shrink: 0;
|
|
311
|
-
margin-left: 12px;
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
.instance-dot {
|
|
315
|
-
width: 6px; height: 6px;
|
|
316
|
-
border-radius: 50%;
|
|
317
|
-
background: var(--green);
|
|
318
|
-
flex-shrink: 0;
|
|
319
|
-
}
|
|
320
|
-
.instance-dot.current {
|
|
321
|
-
background: var(--accent);
|
|
322
|
-
box-shadow: 0 0 4px var(--accent);
|
|
323
|
-
}
|
|
324
|
-
|
|
325
|
-
.instance-info {
|
|
326
|
-
display: flex;
|
|
327
|
-
flex-direction: column;
|
|
328
|
-
min-width: 0;
|
|
329
|
-
}
|
|
330
|
-
|
|
331
|
-
.instance-name {
|
|
332
|
-
font-size: 13px;
|
|
333
|
-
font-weight: 600;
|
|
334
|
-
color: var(--text-primary);
|
|
335
|
-
overflow: hidden;
|
|
336
|
-
text-overflow: ellipsis;
|
|
337
|
-
white-space: nowrap;
|
|
338
|
-
}
|
|
339
|
-
|
|
340
|
-
.instance-meta {
|
|
341
|
-
font-size: 11px;
|
|
342
|
-
color: var(--text-muted);
|
|
343
|
-
margin-top: 1px;
|
|
344
|
-
overflow: hidden;
|
|
345
|
-
text-overflow: ellipsis;
|
|
346
|
-
white-space: nowrap;
|
|
347
|
-
}
|
|
348
|
-
|
|
349
|
-
.instance-port {
|
|
350
|
-
color: var(--text-muted);
|
|
351
|
-
font-family: var(--font-mono);
|
|
352
|
-
font-size: 11px;
|
|
353
|
-
}
|
|
354
|
-
|
|
355
|
-
.instance-uptime {
|
|
356
|
-
color: var(--text-muted);
|
|
357
|
-
font-family: var(--font-mono);
|
|
358
|
-
font-size: 11px;
|
|
359
|
-
min-width: 40px;
|
|
360
|
-
text-align: right;
|
|
361
|
-
}
|
|
362
|
-
|
|
363
|
-
.badge-current {
|
|
364
|
-
display: inline-block;
|
|
365
|
-
background: rgba(88, 166, 255, 0.15);
|
|
366
|
-
color: var(--accent);
|
|
367
|
-
font-size: 10px;
|
|
368
|
-
font-weight: 600;
|
|
369
|
-
padding: 1px 6px;
|
|
370
|
-
border-radius: 8px;
|
|
371
|
-
margin-left: 6px;
|
|
372
|
-
vertical-align: middle;
|
|
373
|
-
text-transform: uppercase;
|
|
374
|
-
letter-spacing: 0.3px;
|
|
375
|
-
}
|
|
376
|
-
|
|
377
|
-
/* ─── Lines Tab (Split Layout) ─── */
|
|
378
|
-
.tab-split {
|
|
379
|
-
display: grid;
|
|
380
|
-
grid-template-columns: 300px 1fr;
|
|
381
|
-
height: 100%;
|
|
382
|
-
overflow: hidden;
|
|
383
|
-
}
|
|
384
|
-
|
|
385
|
-
.lines-list-panel {
|
|
386
|
-
border-right: 1px solid var(--border);
|
|
387
|
-
display: flex;
|
|
388
|
-
flex-direction: column;
|
|
389
|
-
overflow: hidden;
|
|
390
|
-
}
|
|
391
|
-
|
|
392
|
-
.tab-panel-header {
|
|
393
|
-
padding: 12px 16px;
|
|
394
|
-
border-bottom: 1px solid var(--border);
|
|
395
|
-
}
|
|
396
|
-
.tab-panel-header h3 {
|
|
397
|
-
font-size: 14px;
|
|
398
|
-
font-weight: 600;
|
|
399
|
-
color: var(--text-primary);
|
|
400
|
-
margin: 0;
|
|
401
|
-
}
|
|
402
|
-
|
|
403
|
-
.lines-list {
|
|
404
|
-
flex: 1;
|
|
405
|
-
overflow-y: auto;
|
|
406
|
-
padding: 8px;
|
|
407
|
-
}
|
|
408
|
-
|
|
409
|
-
.line-item {
|
|
410
|
-
padding: 12px;
|
|
411
|
-
border-radius: var(--radius-sm);
|
|
412
|
-
cursor: pointer;
|
|
413
|
-
transition: background 0.15s;
|
|
414
|
-
margin-bottom: 4px;
|
|
415
|
-
}
|
|
416
|
-
.line-item:hover { background: var(--bg-tertiary); }
|
|
417
|
-
.line-item.active { background: var(--bg-hover); border-left: 2px solid var(--accent); }
|
|
418
|
-
.line-item-name { font-size: 14px; font-weight: 600; color: var(--text-primary); }
|
|
419
|
-
.line-item-desc { font-size: 12px; color: var(--text-muted); margin-top: 4px; }
|
|
420
|
-
|
|
421
|
-
.run-panel {
|
|
422
|
-
display: flex;
|
|
423
|
-
flex-direction: column;
|
|
424
|
-
overflow: hidden;
|
|
425
|
-
}
|
|
426
|
-
|
|
427
|
-
.run-content {
|
|
428
|
-
flex: 1;
|
|
429
|
-
overflow-y: auto;
|
|
430
|
-
padding: 16px;
|
|
431
|
-
}
|
|
432
|
-
|
|
433
|
-
/* Run form */
|
|
434
|
-
.run-form { display: flex; flex-direction: column; gap: 12px; }
|
|
435
|
-
.run-field label {
|
|
436
|
-
display: block;
|
|
437
|
-
font-size: 12px;
|
|
438
|
-
font-weight: 600;
|
|
439
|
-
color: var(--text-secondary);
|
|
440
|
-
margin-bottom: 4px;
|
|
441
|
-
}
|
|
442
|
-
.run-field input {
|
|
443
|
-
width: 100%;
|
|
444
|
-
background: var(--bg-tertiary);
|
|
445
|
-
border: 1px solid var(--border);
|
|
446
|
-
border-radius: var(--radius-sm);
|
|
447
|
-
padding: 8px 12px;
|
|
448
|
-
color: var(--text-primary);
|
|
449
|
-
font-size: 14px;
|
|
450
|
-
font-family: var(--font-sans);
|
|
451
|
-
outline: none;
|
|
452
|
-
box-sizing: border-box;
|
|
453
|
-
}
|
|
454
|
-
.run-field input:focus { border-color: var(--accent); }
|
|
455
|
-
.run-field input::placeholder { color: var(--text-muted); }
|
|
456
|
-
.run-field .field-hint { font-size: 11px; color: var(--text-muted); margin-top: 2px; }
|
|
457
|
-
|
|
458
|
-
.btn-primary {
|
|
459
|
-
background: var(--accent);
|
|
460
|
-
color: #fff;
|
|
461
|
-
border: none;
|
|
462
|
-
border-radius: var(--radius);
|
|
463
|
-
padding: 10px 20px;
|
|
464
|
-
font-size: 14px;
|
|
465
|
-
font-weight: 600;
|
|
466
|
-
cursor: pointer;
|
|
467
|
-
transition: background 0.15s;
|
|
468
|
-
align-self: flex-start;
|
|
469
|
-
margin-top: 8px;
|
|
470
|
-
}
|
|
471
|
-
.btn-primary:hover { background: var(--accent-hover); }
|
|
472
|
-
.btn-primary:disabled { opacity: 0.5; cursor: not-allowed; }
|
|
473
|
-
|
|
474
|
-
/* Run output stream */
|
|
475
|
-
.run-output-stream {
|
|
476
|
-
margin-top: 16px;
|
|
477
|
-
padding: 12px;
|
|
478
|
-
background: var(--bg-primary);
|
|
479
|
-
border: 1px solid var(--border);
|
|
480
|
-
border-radius: var(--radius);
|
|
481
|
-
max-height: 60vh;
|
|
482
|
-
overflow-y: auto;
|
|
483
|
-
font-size: 13px;
|
|
484
|
-
line-height: 1.6;
|
|
485
|
-
}
|
|
486
|
-
.run-event { margin-bottom: 6px; }
|
|
487
|
-
.run-event-station { color: var(--accent); font-weight: 600; }
|
|
488
|
-
.run-event-text { color: var(--text-secondary); }
|
|
489
|
-
.run-event-tool { color: var(--orange); font-family: var(--font-mono); font-size: 12px; }
|
|
490
|
-
.run-event-complete { color: var(--green); font-weight: 600; }
|
|
491
|
-
.run-event-error { color: var(--red); }
|
|
492
|
-
|
|
493
|
-
.text-muted { color: var(--text-muted); font-size: 13px; }
|
|
494
|
-
|
|
495
|
-
/* ─── History Tab ─── */
|
|
496
|
-
.history-item {
|
|
497
|
-
padding: 10px 12px;
|
|
498
|
-
border-radius: var(--radius-sm);
|
|
499
|
-
cursor: pointer;
|
|
500
|
-
transition: background 0.15s;
|
|
501
|
-
margin-bottom: 4px;
|
|
502
|
-
}
|
|
503
|
-
.history-item:hover { background: var(--bg-tertiary); }
|
|
504
|
-
.history-item.active { background: var(--bg-hover); border-left: 2px solid var(--accent); }
|
|
505
|
-
.history-item-line { font-size: 13px; font-weight: 600; color: var(--text-primary); }
|
|
506
|
-
.history-item-meta { font-size: 11px; color: var(--text-muted); margin-top: 2px; }
|
|
507
|
-
|
|
508
|
-
.detail-meta { margin-bottom: 16px; }
|
|
509
|
-
.detail-meta-row { display: flex; justify-content: space-between; padding: 4px 0; font-size: 13px; color: var(--text-secondary); }
|
|
510
|
-
.detail-meta-row span:last-child { color: var(--text-primary); font-family: var(--font-mono); }
|
|
511
|
-
.detail-station { margin-bottom: 12px; padding: 12px; background: var(--bg-tertiary); border-radius: var(--radius); }
|
|
512
|
-
.detail-station-header { font-size: 13px; font-weight: 600; color: var(--accent); margin-bottom: 8px; }
|
|
513
|
-
.detail-station-output { font-size: 12px; color: var(--text-secondary); white-space: pre-wrap; max-height: 200px; overflow-y: auto; }
|
|
514
|
-
|
|
515
|
-
/* ─── Settings Tab ─── */
|
|
516
|
-
.settings-container {
|
|
517
|
-
padding: 24px;
|
|
518
|
-
overflow-y: auto;
|
|
519
|
-
flex: 1;
|
|
520
|
-
display: flex;
|
|
521
|
-
flex-direction: column;
|
|
522
|
-
gap: 24px;
|
|
523
|
-
}
|
|
524
|
-
|
|
525
|
-
.settings-section {
|
|
526
|
-
background: var(--bg-secondary);
|
|
527
|
-
border: 1px solid var(--border);
|
|
528
|
-
border-radius: var(--radius);
|
|
529
|
-
overflow: hidden;
|
|
530
|
-
}
|
|
531
|
-
.settings-section h3 {
|
|
532
|
-
padding: 12px 16px;
|
|
533
|
-
font-size: 14px;
|
|
534
|
-
font-weight: 600;
|
|
535
|
-
color: var(--text-primary);
|
|
536
|
-
border-bottom: 1px solid var(--border);
|
|
537
|
-
margin: 0;
|
|
538
|
-
}
|
|
539
|
-
|
|
540
|
-
.settings-body {
|
|
541
|
-
padding: 16px;
|
|
542
|
-
font-size: 13px;
|
|
543
|
-
}
|
|
544
|
-
|
|
545
|
-
.settings-tools-count {
|
|
546
|
-
font-size: 12px;
|
|
547
|
-
color: var(--text-muted);
|
|
548
|
-
margin-bottom: 8px;
|
|
549
|
-
}
|
|
550
|
-
|
|
551
|
-
.settings-tools-grid {
|
|
552
|
-
display: flex;
|
|
553
|
-
flex-wrap: wrap;
|
|
554
|
-
gap: 6px;
|
|
555
|
-
}
|
|
556
|
-
|
|
557
|
-
.tool-tag {
|
|
558
|
-
background: var(--bg-tertiary);
|
|
559
|
-
padding: 4px 10px;
|
|
560
|
-
border-radius: 10px;
|
|
561
|
-
font-size: 11px;
|
|
562
|
-
font-family: var(--font-mono);
|
|
563
|
-
color: var(--text-secondary);
|
|
564
|
-
}
|
|
565
|
-
|
|
566
|
-
.hooks-list { font-family: var(--font-mono); font-size: 12px; line-height: 2; }
|
|
567
|
-
.hook-event { color: var(--purple); }
|
|
568
|
-
.hook-count { color: var(--text-muted); }
|
|
569
|
-
|
|
570
|
-
/* ─── Code Blocks ─── */
|
|
571
|
-
pre {
|
|
572
|
-
background: var(--bg-tertiary);
|
|
573
|
-
border: 1px solid var(--border);
|
|
574
|
-
border-radius: var(--radius-sm);
|
|
575
|
-
padding: 12px;
|
|
576
|
-
overflow-x: auto;
|
|
577
|
-
margin: 8px 0;
|
|
578
|
-
font-family: var(--font-mono);
|
|
579
|
-
font-size: 13px;
|
|
580
|
-
line-height: 1.5;
|
|
581
|
-
}
|
|
582
|
-
code {
|
|
583
|
-
font-family: var(--font-mono);
|
|
584
|
-
font-size: 0.9em;
|
|
585
|
-
background: var(--bg-tertiary);
|
|
586
|
-
padding: 2px 6px;
|
|
587
|
-
border-radius: 3px;
|
|
588
|
-
}
|
|
589
|
-
pre code { background: none; padding: 0; }
|
|
590
|
-
|
|
591
|
-
/* ─── Responsive ─── */
|
|
592
|
-
@media (max-width: 1024px) {
|
|
593
|
-
.tab-split { grid-template-columns: 240px 1fr; }
|
|
594
|
-
.overview-grid { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
|
|
595
|
-
.card-wide { grid-column: 1 / -1; }
|
|
596
|
-
}
|
|
597
|
-
@media (max-width: 768px) {
|
|
598
|
-
.tab-split { grid-template-columns: 1fr; }
|
|
599
|
-
.lines-list-panel { display: none; }
|
|
600
|
-
.overview-grid { grid-template-columns: 1fr; padding: 16px; }
|
|
601
|
-
.card-wide { grid-column: auto; }
|
|
602
|
-
}
|
|
1
|
+
:root{--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-tertiary: #21262d;--bg-hover: #30363d;--border: #30363d;--border-light: #484f58;--text-primary: #e6edf3;--text-secondary: #8b949e;--text-muted: #6e7681;--accent: #58a6ff;--accent-hover: #79c0ff;--green: #3fb950;--yellow: #d29922;--red: #f85149;--purple: #bc8cff;--orange: #f0883e;--font-mono: "SF Mono", "Cascadia Code", "Fira Code", Consolas, monospace;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--radius: 8px;--radius-sm: 4px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);height:100vh;overflow:hidden;display:flex;flex-direction:column}.header{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:48px;background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0}.header-left{display:flex;align-items:center;gap:8px}.logo{font-weight:700;font-size:16px;color:var(--accent)}.header-right{display:flex;align-items:center;gap:12px}.header-meta{font-size:11px;color:var(--text-muted);font-family:var(--font-mono)}.btn-icon{background:none;border:1px solid var(--border);color:var(--text-secondary);width:28px;height:28px;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:all .15s}.btn-icon:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-light)}.btn-icon.spinning{animation:spin .6s ease-in-out}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.status-dot.online{background:var(--green)}.status-dot.offline{background:var(--red)}.main{flex:1;display:grid;grid-template-columns:1fr;overflow:hidden}.panel-center{display:flex;flex-direction:column;overflow:hidden;background:var(--bg-primary)}.mono{font-family:var(--font-mono);font-size:12px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-light)}.tab-nav{display:flex;gap:2px;margin-left:16px}.tab-btn{background:none;border:none;color:var(--text-muted);font-size:13px;padding:6px 12px;cursor:pointer;border-radius:var(--radius-sm);transition:all .15s;font-family:var(--font-sans)}.tab-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.tab-btn.active{background:var(--bg-hover);color:var(--accent);font-weight:600}.tab-content{display:none;flex-direction:column;height:100%;overflow:hidden}.tab-content.active{display:flex}.skeleton-line{height:14px;background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-hover) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:3px;margin-bottom:10px}.skeleton-line.short{width:60%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.overview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;padding:24px;overflow-y:auto}.overview-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color .15s}.overview-card:hover{border-color:var(--border-light)}.card-wide{grid-column:1 / -1}.card-header{padding:12px 16px;font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border)}.card-body{padding:16px;font-size:13px;line-height:1.8}.card-stat{display:flex;justify-content:space-between;padding:2px 0;color:var(--text-secondary)}.card-stat span:last-child{color:var(--text-primary);font-family:var(--font-mono)}.card-value-big{font-size:28px;font-weight:700;color:var(--text-primary);font-family:var(--font-mono)}.card-value-label{font-size:12px;color:var(--text-muted);margin-top:4px}.card-tag{display:inline-block;background:var(--bg-tertiary);padding:2px 8px;border-radius:10px;font-size:11px;font-family:var(--font-mono);color:var(--text-secondary);margin:2px}.git-branch{color:var(--green);font-weight:600}.git-clean{color:var(--green)}.git-dirty{color:var(--yellow)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px;text-align:center}.empty-icon{font-size:32px;margin-bottom:12px;opacity:.5}.empty-text{font-size:14px;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.empty-hint{font-size:12px;color:var(--text-muted)}.empty-hint code{background:var(--bg-tertiary);padding:1px 6px;border-radius:3px;font-family:var(--font-mono);font-size:11px;color:var(--accent)}.instance-count{font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:10px}.instances-list{display:flex;flex-direction:column;gap:6px}.instance-row{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:var(--radius-sm);background:var(--bg-tertiary);transition:background .15s}.instance-row:hover{background:var(--bg-hover)}.instance-row.current{border-left:2px solid var(--accent);background:#58a6ff0f}.instance-row-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.instance-row-right{display:flex;align-items:center;gap:12px;flex-shrink:0;margin-left:12px}.instance-dot{width:6px;height:6px;border-radius:50%;background:var(--green);flex-shrink:0}.instance-dot.current{background:var(--accent);box-shadow:0 0 4px var(--accent)}.instance-info{display:flex;flex-direction:column;min-width:0}.instance-name{font-size:13px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.instance-meta{font-size:11px;color:var(--text-muted);margin-top:1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.instance-port{color:var(--text-muted);font-family:var(--font-mono);font-size:11px}.instance-uptime{color:var(--text-muted);font-family:var(--font-mono);font-size:11px;min-width:40px;text-align:right}.badge-current{display:inline-block;background:#58a6ff26;color:var(--accent);font-size:10px;font-weight:600;padding:1px 6px;border-radius:8px;margin-left:6px;vertical-align:middle;text-transform:uppercase;letter-spacing:.3px}.tab-split{display:grid;grid-template-columns:300px 1fr;height:100%;overflow:hidden}.lines-list-panel{border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.tab-panel-header{padding:12px 16px;border-bottom:1px solid var(--border)}.tab-panel-header h3{font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.lines-list{flex:1;overflow-y:auto;padding:8px}.line-item{padding:12px;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s;margin-bottom:4px}.line-item:hover{background:var(--bg-tertiary)}.line-item.active{background:var(--bg-hover);border-left:2px solid var(--accent)}.line-item-name{font-size:14px;font-weight:600;color:var(--text-primary)}.line-item-desc{font-size:12px;color:var(--text-muted);margin-top:4px}.run-panel{display:flex;flex-direction:column;overflow:hidden}.run-content{flex:1;overflow-y:auto;padding:16px}.run-form{display:flex;flex-direction:column;gap:12px}.run-field label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.run-field input{width:100%;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;color:var(--text-primary);font-size:14px;font-family:var(--font-sans);outline:none;box-sizing:border-box}.run-field input:focus{border-color:var(--accent)}.run-field input::placeholder{color:var(--text-muted)}.run-field .field-hint{font-size:11px;color:var(--text-muted);margin-top:2px}.btn-primary{background:var(--accent);color:#fff;border:none;border-radius:var(--radius);padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s;align-self:flex-start;margin-top:8px}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.run-output-stream{margin-top:16px;padding:12px;background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius);max-height:60vh;overflow-y:auto;font-size:13px;line-height:1.6}.run-event{margin-bottom:6px}.run-event-station{color:var(--accent);font-weight:600}.run-event-text{color:var(--text-secondary)}.run-event-tool{color:var(--orange);font-family:var(--font-mono);font-size:12px}.run-event-complete{color:var(--green);font-weight:600}.run-event-error{color:var(--red)}.text-muted{color:var(--text-muted);font-size:13px}.history-item{padding:10px 12px;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s;margin-bottom:4px}.history-item:hover{background:var(--bg-tertiary)}.history-item.active{background:var(--bg-hover);border-left:2px solid var(--accent)}.history-item-line{font-size:13px;font-weight:600;color:var(--text-primary)}.history-item-meta{font-size:11px;color:var(--text-muted);margin-top:2px}.detail-meta{margin-bottom:16px}.detail-meta-row{display:flex;justify-content:space-between;padding:4px 0;font-size:13px;color:var(--text-secondary)}.detail-meta-row span:last-child{color:var(--text-primary);font-family:var(--font-mono)}.detail-station{margin-bottom:12px;padding:12px;background:var(--bg-tertiary);border-radius:var(--radius)}.detail-station-header{font-size:13px;font-weight:600;color:var(--accent);margin-bottom:8px}.detail-station-output{font-size:12px;color:var(--text-secondary);white-space:pre-wrap;max-height:200px;overflow-y:auto}.settings-container{padding:24px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:24px}.settings-section{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.settings-section h3{padding:12px 16px;font-size:14px;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border);margin:0}.settings-body{padding:16px;font-size:13px}.settings-tools-count{font-size:12px;color:var(--text-muted);margin-bottom:8px}.settings-tools-grid{display:flex;flex-wrap:wrap;gap:6px}.tool-tag{background:var(--bg-tertiary);padding:4px 10px;border-radius:10px;font-size:11px;font-family:var(--font-mono);color:var(--text-secondary)}.hooks-list{font-family:var(--font-mono);font-size:12px;line-height:2}.hook-event{color:var(--purple)}.hook-count{color:var(--text-muted)}pre{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;overflow-x:auto;margin:8px 0;font-family:var(--font-mono);font-size:13px;line-height:1.5}code{font-family:var(--font-mono);font-size:.9em;background:var(--bg-tertiary);padding:2px 6px;border-radius:3px}pre code{background:none;padding:0}@media(max-width:1024px){.tab-split{grid-template-columns:240px 1fr}.overview-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.card-wide{grid-column:1 / -1}}@media(max-width:768px){.tab-split{grid-template-columns:1fr}.lines-list-panel{display:none}.overview-grid{grid-template-columns:1fr;padding:16px}.card-wide{grid-column:auto}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(_0x26fcb2,_0x2f5093){const _0x5e693b={_0x2fc82b:0xcd,_0x5630f5:'h5Uj',_0x16c9b2:0x15e,_0x4fc62b:0x179,_0x56d92b:'H@3O',_0x3028ad:0xe9,_0x527a7d:'[5g&',_0x135976:'0&s)',_0x3432b4:0x166,_0x5d67db:'$veQ',_0x877579:0xd2},_0x562837={_0x1a8411:0x96};function _0x432de4(_0x307c4f,_0x203c04){return _0x1d96(_0x203c04-0x16,_0x307c4f);}function _0x514f09(_0xf64293,_0x43bdd4){return _0x1d96(_0x43bdd4-_0x562837._0x1a8411,_0xf64293);}const _0x1e9f76=_0x26fcb2();while(!![]){try{const _0x1faea0=-parseInt(_0x432de4('p(Gu',_0x5e693b._0x2fc82b))/0x1*(parseInt(_0x514f09('Rrw0',0x163))/0x2)+parseInt(_0x514f09(_0x5e693b._0x5630f5,_0x5e693b._0x16c9b2))/0x3+-parseInt(_0x514f09('*i(v',_0x5e693b._0x4fc62b))/0x4*(-parseInt(_0x432de4(_0x5e693b._0x56d92b,_0x5e693b._0x3028ad))/0x5)+-parseInt(_0x514f09(_0x5e693b._0x527a7d,0x16c))/0x6*(parseInt(_0x432de4(_0x5e693b._0x135976,0xf0))/0x7)+-parseInt(_0x432de4('wqyJ',0xda))/0x8+-parseInt(_0x514f09('Pu58',0x176))/0x9*(-parseInt(_0x514f09('!cUx',_0x5e693b._0x3432b4))/0xa)+-parseInt(_0x432de4(_0x5e693b._0x135976,0xdc))/0xb*(-parseInt(_0x432de4(_0x5e693b._0x5d67db,_0x5e693b._0x877579))/0xc);if(_0x1faea0===_0x2f5093)break;else _0x1e9f76['push'](_0x1e9f76['shift']());}catch(_0x5e56a1){_0x1e9f76['push'](_0x1e9f76['shift']());}}}(_0x23c7,0xa8aca));const _0x1a879a=(function(){let _0x25425c=!![];return function(_0x6aef2f,_0x238d1f){const _0xa8969a={_0x56f92d:0x2f9,_0x453316:'byDJ'},_0x4dee8c=_0x25425c?function(){function _0x12b414(_0x317f60,_0x1e7ef4){return _0x1d96(_0x317f60-0x21b,_0x1e7ef4);}if(_0x238d1f){const _0x340c41=_0x238d1f[_0x12b414(_0xa8969a._0x56f92d,_0xa8969a._0x453316)](_0x6aef2f,arguments);return _0x238d1f=null,_0x340c41;}}:function(){};return _0x25425c=![],_0x4dee8c;};}()),_0x592051=_0x1a879a(this,function(){const _0x10d21c={_0x17b7db:0x2ad,_0x23476a:'[5g&',_0x39c347:0x2d9,_0xa4b65f:'qSv^',_0x37de58:0x2f0},_0x141d8b={_0x5cf039:0x3b2};function _0x6b5c44(_0x1c3ee1,_0x4f26d3){return _0x1d96(_0x1c3ee1- -0x376,_0x4f26d3);}function _0x4fc9f4(_0x19a047,_0x390f82){return _0x1d96(_0x390f82- -_0x141d8b._0x5cf039,_0x19a047);}const _0xb92b62={};_0xb92b62['RqCuY']=_0x4fc9f4('pnwm',-0x2d0)+'+)+$';const _0x15448f=_0xb92b62;return _0x592051[_0x4fc9f4('GW2w',-0x2d3)]()[_0x6b5c44(-_0x10d21c._0x17b7db,'Rrw0')](_0x15448f[_0x4fc9f4(_0x10d21c._0x23476a,-_0x10d21c._0x39c347)])[_0x4fc9f4(_0x10d21c._0xa4b65f,-_0x10d21c._0x37de58)]()['construc'+_0x4fc9f4('0&s)',-0x2e4)](_0x592051)['search'](_0x15448f[_0x6b5c44(-0x29b,'$veQ')]);});function _0x23c7(){const _0x2e4658=['DYasW6K9W6u0jmkEW6JdOMO','WPrXbWiDW5qXWRS','iWOUWRxdLW','WRBdPmo0W4NcSGiRxW','WQ/dTx7cRrC','DSocW6uKWR0EbefVkb08wt4','WRtcH8oCW5lcPW','FsVdM8kUcCo6rmkM','jCosq8oKdmk1WP7dOuq5Btu','W5TkcxZdLCkoEZVdVmoaW4RcRG','WORdO8oQrSohbq','ygaFWORdISoYtaq','WPm6W7mUW4FdNmoyW6O','bCo3WRtcJSk1WRu0','W4JcTSomr8oTfCoNWRq','ohxdIa','fmoLWQ0pWOm','WPOyWRGpnSkQwSohWO5FiCoL','WRVdPmoEW6xcUG','WRZdMCkup8kf','WPCJWQXbymoZW5FcHSkuECklW4uY','WP1fjczPEmo9hG','c8o8WQ7cV8kUWPafW48','W5iDvstcTZqQWPiuvI7cGW','eSo6WQ0aWOmgWO1U','WOxdQeK','WRrBiwBdNa','EYRdRmkMlmocCSkY','W4pcJSkKWPjF','WPddP8otD8o3','WRddPmosW5pcPa','WQBdL8onW5NcSq','WPZdGmohW77cQhqLhW','W63dOSkPlrKUeCkH','emklcW','fwlcTMhdHNfJkG','W6VcH8k8j8kDWOpdUIq','WQ9slrGr','W77cUCoMkCkw','WRxdN8k+rSoAWOCfBXtdLCofWPC','CmkmgSk4tq','WOaYWRldQ8kzWQVcTNxdQ8oGr8ox','CSknW53dUh0BudPKFcFdRCkHjW','WQjqpSk8W6m','v8k+lsW6W4tdGZq','W5NcSa/dSfpdI3NcLCoRW4RdRwm','j8oymmkrtSoZWORdRW','W49gW6ftDW','W6XHW7/cKCo2','xdXKWR1a','WQldICowW5e2WRupWPTUqSoZW4mwWQ8','W51BW4WoW7q','umo8WOpcSSok'];_0x23c7=function(){return _0x2e4658;};return _0x23c7();}function _0x1d96(_0x1028a6,_0x3c9911){_0x1028a6=_0x1028a6-0xb3;const _0x4722ed=_0x23c7();let _0x592051=_0x4722ed[_0x1028a6];if(_0x1d96['XDpSea']===undefined){var _0x1a879a=function(_0x2c1e36){const _0x552f04='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x18185c='',_0x7604d2='',_0x5ed201=_0x18185c+_0x1a879a;for(let _0x1ba93a=0x0,_0x4b6fe7,_0x1be777,_0x1b0cad=0x0;_0x1be777=_0x2c1e36['charAt'](_0x1b0cad++);~_0x1be777&&(_0x4b6fe7=_0x1ba93a%0x4?_0x4b6fe7*0x40+_0x1be777:_0x1be777,_0x1ba93a++%0x4)?_0x18185c+=_0x5ed201['charCodeAt'](_0x1b0cad+0xa)-0xa!==0x0?String['fromCharCode'](0xff&_0x4b6fe7>>(-0x2*_0x1ba93a&0x6)):_0x1ba93a:0x0){_0x1be777=_0x552f04['indexOf'](_0x1be777);}for(let _0x4b4acb=0x0,_0x86c68=_0x18185c['length'];_0x4b4acb<_0x86c68;_0x4b4acb++){_0x7604d2+='%'+('00'+_0x18185c['charCodeAt'](_0x4b4acb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x7604d2);};const _0x2de6b3=function(_0x57a4c3,_0x840ffe){let _0x2746d7=[],_0x48015b=0x0,_0x326e18,_0x71d7fd='';_0x57a4c3=_0x1a879a(_0x57a4c3);let _0x339f3e;for(_0x339f3e=0x0;_0x339f3e<0x100;_0x339f3e++){_0x2746d7[_0x339f3e]=_0x339f3e;}for(_0x339f3e=0x0;_0x339f3e<0x100;_0x339f3e++){_0x48015b=(_0x48015b+_0x2746d7[_0x339f3e]+_0x840ffe['charCodeAt'](_0x339f3e%_0x840ffe['length']))%0x100,_0x326e18=_0x2746d7[_0x339f3e],_0x2746d7[_0x339f3e]=_0x2746d7[_0x48015b],_0x2746d7[_0x48015b]=_0x326e18;}_0x339f3e=0x0,_0x48015b=0x0;for(let _0x467889=0x0;_0x467889<_0x57a4c3['length'];_0x467889++){_0x339f3e=(_0x339f3e+0x1)%0x100,_0x48015b=(_0x48015b+_0x2746d7[_0x339f3e])%0x100,_0x326e18=_0x2746d7[_0x339f3e],_0x2746d7[_0x339f3e]=_0x2746d7[_0x48015b],_0x2746d7[_0x48015b]=_0x326e18,_0x71d7fd+=String['fromCharCode'](_0x57a4c3['charCodeAt'](_0x467889)^_0x2746d7[(_0x2746d7[_0x339f3e]+_0x2746d7[_0x48015b])%0x100]);}return _0x71d7fd;};_0x1d96['ZiMjsE']=_0x2de6b3,_0x1d96['QpnZVg']={},_0x1d96['XDpSea']=!![];}const _0x23c795=_0x4722ed[0x0],_0x1d9629=_0x1028a6+_0x23c795,_0x345cdf=_0x1d96['QpnZVg'][_0x1d9629];if(!_0x345cdf){if(_0x1d96['vYRLVj']===undefined){const _0x2b1a1d=function(_0x5cb6a6){this['rgPupJ']=_0x5cb6a6,this['prSbac']=[0x1,0x0,0x0],this['rHxixm']=function(){return'newState';},this['Pajfgm']='\x5cw+\x20*\x5c(\x5c)\x20*{\x5cw+\x20*',this['OesDWw']='[\x27|\x22].+[\x27|\x22];?\x20*}';};_0x2b1a1d['prototype']['zCyeyl']=function(){const _0x296eaf=new RegExp(this['Pajfgm']+this['OesDWw']),_0x8aaf57=_0x296eaf['test'](this['rHxixm']['toString']())?--this['prSbac'][0x1]:--this['prSbac'][0x0];return this['FpAKGS'](_0x8aaf57);},_0x2b1a1d['prototype']['FpAKGS']=function(_0x40aa50){if(!Boolean(~_0x40aa50))return _0x40aa50;return this['LnkrPB'](this['rgPupJ']);},_0x2b1a1d['prototype']['LnkrPB']=function(_0x212aea){for(let _0x45a5bd=0x0,_0x309df4=this['prSbac']['length'];_0x45a5bd<_0x309df4;_0x45a5bd++){this['prSbac']['push'](Math['round'](Math['random']())),_0x309df4=this['prSbac']['length'];}return _0x212aea(this['prSbac'][0x0]);},new _0x2b1a1d(_0x1d96)['zCyeyl'](),_0x1d96['vYRLVj']=!![];}_0x592051=_0x1d96['ZiMjsE'](_0x592051,_0x3c9911),_0x1d96['QpnZVg'][_0x1d9629]=_0x592051;}else _0x592051=_0x345cdf;return _0x592051;}_0x592051();function escapeHtml(_0x5b4e2b){const _0x3b78ba={_0x549b0b:'Y($y',_0x3bb30c:'erOo',_0x2a1e84:0x42f,_0x28c7fd:0x434,_0x5fd02b:'doYc',_0x437431:'][vA',_0xf09a4c:0x42d};function _0x54406d(_0x1d46f4,_0x3c5ed6){return _0x1d96(_0x3c5ed6-0x358,_0x1d46f4);}const _0x30cb67={};_0x30cb67['iaXCS']=_0x12e04c(0x406,_0x3b78ba._0x549b0b);function _0x12e04c(_0xb07d27,_0x14346e){return _0x1d96(_0xb07d27-0x325,_0x14346e);}const _0x386971=_0x30cb67,_0x1fd278=document[_0x54406d(_0x3b78ba._0x3bb30c,_0x3b78ba._0x2a1e84)+_0x54406d(_0x3b78ba._0x3bb30c,0x427)](_0x386971[_0x54406d('Rrw0',_0x3b78ba._0x28c7fd)]);return _0x1fd278[_0x12e04c(0x3db,_0x3b78ba._0x5fd02b)+'ent']=_0x5b4e2b,_0x1fd278[_0x54406d(_0x3b78ba._0x437431,_0x3b78ba._0xf09a4c)+'L'];}function relativeTime(_0x5b3589){const _0x6e17fe={_0x536f0b:'nsDD',_0x32792b:'2guS',_0x56795b:0x25b,_0x38018c:'p(Gu',_0x558d52:'][vA',_0x5d6650:'6o%#',_0x429f27:0x2a6,_0x74b5cc:'aX4[',_0x2251ba:0x288,_0x25bca7:'byDJ',_0x364af4:'*)*7',_0x2dcc65:0x2a7,_0x18f82e:0x28e,_0x3ded75:'!cUx'},_0x27d34e={_0x2a265d:0x1d5},_0x1cbc32={_0x2ab4c5:0x1a1},_0x58583c={};_0x58583c[_0x5bad3b(_0x6e17fe._0x536f0b,0x25f)]=function(_0x3f8ec9,_0x5b0b34){return _0x3f8ec9<_0x5b0b34;},_0x58583c['yoyXz']=_0x5bad3b('*)*7',0x275),_0x58583c[_0x5bad3b(_0x6e17fe._0x32792b,_0x6e17fe._0x56795b)]=function(_0x575dbf,_0x534c19){return _0x575dbf<_0x534c19;};const _0x518f1b=_0x58583c;function _0x5bad3b(_0x1a5864,_0x5b69cd){return _0x1d96(_0x5b69cd-_0x1cbc32._0x2ab4c5,_0x1a5864);}if(!_0x5b3589)return'-';const _0x3a16c6=Date[_0x2ca04f(0x2ad,_0x6e17fe._0x38018c)]()-new Date(_0x5b3589)[_0x2ca04f(0x2a1,_0x6e17fe._0x558d52)]();function _0x2ca04f(_0x3f1613,_0x146932){return _0x1d96(_0x3f1613-_0x27d34e._0x2a265d,_0x146932);}return _0x518f1b[_0x2ca04f(0x298,_0x6e17fe._0x5d6650)](_0x3a16c6,0x0)?_0x518f1b[_0x2ca04f(_0x6e17fe._0x429f27,'qSv^')]:_0x3a16c6<0xea60?Math[_0x5bad3b(_0x6e17fe._0x74b5cc,_0x6e17fe._0x2251ba)](_0x3a16c6/0x3e8)+_0x5bad3b(_0x6e17fe._0x25bca7,0x266):_0x518f1b[_0x5bad3b(_0x6e17fe._0x364af4,0x285)](_0x3a16c6,0x36ee80)?Math[_0x2ca04f(_0x6e17fe._0x2dcc65,'*i(v')](_0x3a16c6/0xea60)+'m\x20ago':_0x3a16c6<0x5265c00?Math['floor'](_0x3a16c6/0x36ee80)+_0x5bad3b('S*uF',0x256):Math[_0x2ca04f(_0x6e17fe._0x18f82e,_0x6e17fe._0x3ded75)](_0x3a16c6/0x5265c00)+'d\x20ago';}function formatDuration(_0x3b21a5){const _0x163ece={_0x23379a:'eE#y',_0x2359e6:0x28c,_0x24f509:'R(Ae',_0x388d38:0x28e,_0x4b85e8:'qSv^',_0x35b165:0x26c,_0x52536d:0x112},_0x4808a1={_0x4ba0b7:0x349};function _0x4fd287(_0x294663,_0x4b1c17){return _0x1d96(_0x4b1c17- -_0x4808a1._0x4ba0b7,_0x294663);}const _0x1db3cb={};_0x1db3cb[_0x4fd287(_0x163ece._0x23379a,-_0x163ece._0x2359e6)]=function(_0x286912,_0x2155f7){return _0x286912/_0x2155f7;},_0x1db3cb['xRBXx']=function(_0x4c42c6,_0x22908f){return _0x4c42c6<_0x22908f;},_0x1db3cb[_0x4fd287(_0x163ece._0x24f509,-_0x163ece._0x388d38)]=function(_0x444a32,_0x3211d5){return _0x444a32%_0x3211d5;};function _0x50aa72(_0x56fa9c,_0x3336b8){return _0x1d96(_0x3336b8- -0x1d3,_0x56fa9c);}const _0x6432ce=_0x1db3cb;if(!_0x3b21a5||_0x3b21a5<=0x0)return'-';const _0x24a14d=Math[_0x4fd287(_0x163ece._0x4b85e8,-_0x163ece._0x35b165)](_0x6432ce[_0x4fd287('S%@^',-0x264)](_0x3b21a5,0x3e8));if(_0x6432ce['xRBXx'](_0x24a14d,0x3c))return _0x24a14d+'s';const _0x19a602=Math['floor'](_0x24a14d/0x3c),_0x130f0f=_0x6432ce[_0x50aa72('AN@v',-_0x163ece._0x52536d)](_0x24a14d,0x3c);return _0x19a602+'m\x20'+_0x130f0f+'s';}
|