pinokiod 7.3.8 → 7.3.10
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/package.json +1 -1
- package/server/public/common.js +7 -17
- package/server/public/nav.js +3 -1
- package/server/public/style.css +23 -10
- package/server/public/task-launcher.css +94 -40
- package/server/public/terminal-settings.js +107 -24
- package/server/views/app.ejs +125 -46
- package/server/views/index.ejs +12 -7
- package/server/views/install.ejs +15 -46
- package/server/views/layout.ejs +1 -2
- package/server/views/logs.ejs +1 -1
- package/server/views/partials/main_sidebar.ejs +12 -12
- package/server/views/terminal.ejs +143 -62
|
@@ -106,56 +106,103 @@ td.key {
|
|
|
106
106
|
}
|
|
107
107
|
header.navheader2 {
|
|
108
108
|
position: relative;
|
|
109
|
-
padding:
|
|
109
|
+
padding: 8px 0;
|
|
110
110
|
}
|
|
111
111
|
.navheader2 .runner .btn {
|
|
112
112
|
display: inline-flex;
|
|
113
113
|
align-items: center;
|
|
114
114
|
justify-content: center;
|
|
115
|
-
gap:
|
|
116
|
-
height:
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
border
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
115
|
+
gap: 6px;
|
|
116
|
+
height: 24px;
|
|
117
|
+
min-height: 24px;
|
|
118
|
+
padding: 0 9px !important;
|
|
119
|
+
border: 1px solid rgba(15, 23, 42, 0.12);
|
|
120
|
+
border-radius: 6px;
|
|
121
|
+
background: rgba(255, 255, 255, 0.72);
|
|
122
|
+
box-shadow: none;
|
|
123
|
+
color: rgba(17, 24, 39, 0.88);
|
|
123
124
|
font-size: 12px;
|
|
124
125
|
font-weight: 600;
|
|
125
126
|
line-height: 1;
|
|
126
127
|
text-decoration: none;
|
|
127
128
|
box-sizing: border-box;
|
|
128
|
-
transition: background 0.
|
|
129
|
+
transition: background-color 0.14s ease, border-color 0.14s ease, color 0.14s ease, box-shadow 0.14s ease, transform 0.14s ease;
|
|
129
130
|
}
|
|
130
131
|
.navheader2 .runner .btn:hover {
|
|
131
|
-
border-color: rgba(
|
|
132
|
-
background:
|
|
132
|
+
border-color: rgba(15, 23, 42, 0.18);
|
|
133
|
+
background: rgba(15, 23, 42, 0.04);
|
|
134
|
+
color: rgba(17, 24, 39, 0.96);
|
|
133
135
|
}
|
|
134
136
|
.navheader2 .runner .btn:focus-visible {
|
|
135
137
|
outline: none;
|
|
136
|
-
box-shadow: 0 0 0
|
|
138
|
+
box-shadow: 0 0 0 2px rgba(10, 132, 255, 0.2);
|
|
137
139
|
}
|
|
138
140
|
.navheader2 .runner .btn:active {
|
|
139
141
|
transform: translateY(1px);
|
|
140
142
|
}
|
|
143
|
+
.navheader2 .runner .btn i {
|
|
144
|
+
font-size: 12px;
|
|
145
|
+
line-height: 1;
|
|
146
|
+
}
|
|
141
147
|
.navheader2 .runner .run > span {
|
|
142
148
|
display: inline-flex;
|
|
143
149
|
align-items: center;
|
|
144
|
-
gap:
|
|
150
|
+
gap: 6px;
|
|
151
|
+
}
|
|
152
|
+
.navheader2 .runner .terminal-utility-button {
|
|
153
|
+
position: relative;
|
|
154
|
+
width: 24px;
|
|
155
|
+
min-width: 24px;
|
|
156
|
+
padding: 0 !important;
|
|
157
|
+
gap: 0;
|
|
158
|
+
}
|
|
159
|
+
.terminal-tooltip {
|
|
160
|
+
position: fixed;
|
|
161
|
+
left: 0;
|
|
162
|
+
top: 0;
|
|
163
|
+
z-index: 2147483000;
|
|
164
|
+
max-width: calc(100vw - 16px);
|
|
165
|
+
padding: 5px 8px;
|
|
166
|
+
border-radius: 6px;
|
|
167
|
+
background: rgba(17, 24, 39, 0.96);
|
|
168
|
+
box-shadow: 0 8px 20px rgba(15, 23, 42, 0.18);
|
|
169
|
+
color: #fff;
|
|
170
|
+
font-size: 11px;
|
|
171
|
+
font-weight: 500;
|
|
172
|
+
line-height: 1.2;
|
|
173
|
+
white-space: nowrap;
|
|
174
|
+
pointer-events: none;
|
|
175
|
+
opacity: 0;
|
|
176
|
+
visibility: hidden;
|
|
177
|
+
transition: opacity 0.12s ease, transform 0.12s ease, visibility 0.12s ease;
|
|
178
|
+
transform: translateY(-2px);
|
|
179
|
+
}
|
|
180
|
+
.terminal-tooltip.is-visible {
|
|
181
|
+
opacity: 1;
|
|
182
|
+
visibility: visible;
|
|
183
|
+
transform: translateY(0);
|
|
184
|
+
}
|
|
185
|
+
.navheader2 .runner .terminal-config-button .terminal-config-label {
|
|
186
|
+
display: inline-flex;
|
|
187
|
+
align-items: center;
|
|
188
|
+
justify-content: center;
|
|
145
189
|
}
|
|
146
190
|
body.dark .navheader2 .runner .btn {
|
|
147
|
-
border-color: rgba(255,255,255,0.
|
|
148
|
-
background:
|
|
149
|
-
box-shadow:
|
|
191
|
+
border-color: rgba(255, 255, 255, 0.1);
|
|
192
|
+
background: rgba(255, 255, 255, 0.045);
|
|
193
|
+
box-shadow: none;
|
|
194
|
+
color: rgba(248, 250, 252, 0.88);
|
|
150
195
|
}
|
|
151
196
|
body.dark .navheader2 .runner .btn:hover {
|
|
152
|
-
border-color: rgba(
|
|
153
|
-
background:
|
|
197
|
+
border-color: rgba(255, 255, 255, 0.18);
|
|
198
|
+
background: rgba(255, 255, 255, 0.08);
|
|
199
|
+
color: rgba(248, 250, 252, 0.96);
|
|
154
200
|
}
|
|
155
201
|
.protection-toggle {
|
|
156
202
|
display: inline-flex;
|
|
157
203
|
align-items: center;
|
|
158
|
-
gap:
|
|
204
|
+
gap: 6px;
|
|
205
|
+
padding: 0 7px !important;
|
|
159
206
|
white-space: nowrap;
|
|
160
207
|
}
|
|
161
208
|
.protection-toggle.is-saving {
|
|
@@ -168,51 +215,52 @@ body.dark .navheader2 .runner .btn:hover {
|
|
|
168
215
|
.protection-toggle-copy {
|
|
169
216
|
display: inline-flex;
|
|
170
217
|
align-items: center;
|
|
171
|
-
gap:
|
|
218
|
+
gap: 5px;
|
|
172
219
|
min-width: 0;
|
|
173
220
|
}
|
|
174
221
|
.protection-toggle-icon-wrap {
|
|
175
|
-
width:
|
|
176
|
-
height:
|
|
177
|
-
border-radius:
|
|
222
|
+
width: 14px;
|
|
223
|
+
height: 14px;
|
|
224
|
+
border-radius: 3px;
|
|
178
225
|
display: inline-flex;
|
|
179
226
|
align-items: center;
|
|
180
227
|
justify-content: center;
|
|
181
|
-
background:
|
|
182
|
-
box-shadow:
|
|
228
|
+
background: transparent;
|
|
229
|
+
box-shadow: none;
|
|
183
230
|
flex-shrink: 0;
|
|
184
231
|
}
|
|
185
232
|
.protection-toggle-icon {
|
|
186
|
-
color:
|
|
233
|
+
color: rgba(75, 85, 99, 0.86);
|
|
187
234
|
font-size: 10px;
|
|
188
235
|
}
|
|
189
236
|
.protection-toggle-label {
|
|
190
237
|
font-weight: 600;
|
|
191
|
-
letter-spacing: 0
|
|
238
|
+
letter-spacing: 0;
|
|
192
239
|
}
|
|
193
240
|
.protection-toggle-state {
|
|
194
241
|
display: inline-flex;
|
|
195
242
|
align-items: center;
|
|
196
243
|
justify-content: center;
|
|
197
|
-
min-width:
|
|
198
|
-
|
|
244
|
+
min-width: 22px;
|
|
245
|
+
height: 14px;
|
|
246
|
+
padding: 0 5px;
|
|
199
247
|
border-radius: 999px;
|
|
200
|
-
background: rgba(
|
|
201
|
-
box-shadow:
|
|
202
|
-
color:
|
|
248
|
+
background: rgba(217, 119, 6, 0.1);
|
|
249
|
+
box-shadow: none;
|
|
250
|
+
color: #a16207;
|
|
203
251
|
font-size: 9px;
|
|
204
252
|
font-weight: 700;
|
|
205
|
-
letter-spacing: 0.
|
|
253
|
+
letter-spacing: 0.04em;
|
|
206
254
|
text-transform: uppercase;
|
|
207
255
|
line-height: 1;
|
|
208
256
|
}
|
|
209
257
|
.protection-toggle-switch {
|
|
210
258
|
position: relative;
|
|
211
|
-
width:
|
|
212
|
-
height:
|
|
259
|
+
width: 22px;
|
|
260
|
+
height: 12px;
|
|
213
261
|
border-radius: 999px;
|
|
214
|
-
background: rgba(
|
|
215
|
-
box-shadow: inset 0 0 0 1px rgba(
|
|
262
|
+
background: rgba(15, 23, 42, 0.08);
|
|
263
|
+
box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);
|
|
216
264
|
flex-shrink: 0;
|
|
217
265
|
transition: background 0.2s ease, box-shadow 0.2s ease;
|
|
218
266
|
}
|
|
@@ -221,11 +269,11 @@ body.dark .navheader2 .runner .btn:hover {
|
|
|
221
269
|
position: absolute;
|
|
222
270
|
top: 2px;
|
|
223
271
|
left: 2px;
|
|
224
|
-
width:
|
|
225
|
-
height:
|
|
272
|
+
width: 8px;
|
|
273
|
+
height: 8px;
|
|
226
274
|
border-radius: 999px;
|
|
227
|
-
background: rgba(255,255,255,0.
|
|
228
|
-
box-shadow: 0 1px
|
|
275
|
+
background: rgba(255, 255, 255, 0.98);
|
|
276
|
+
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
|
|
229
277
|
transition: transform 0.2s ease;
|
|
230
278
|
}
|
|
231
279
|
.protection-toggle[aria-checked="true"] .protection-toggle-switch::after {
|
|
@@ -235,42 +283,78 @@ body.dark .navheader2 .runner .btn:hover {
|
|
|
235
283
|
transform: translateX(0);
|
|
236
284
|
}
|
|
237
285
|
.protection-toggle[aria-checked="true"] .protection-toggle-state {
|
|
238
|
-
background: rgba(
|
|
239
|
-
box-shadow:
|
|
240
|
-
color: #
|
|
286
|
+
background: rgba(37, 99, 235, 0.12);
|
|
287
|
+
box-shadow: none;
|
|
288
|
+
color: #2563eb;
|
|
241
289
|
}
|
|
242
290
|
.protection-toggle[aria-checked="true"] .protection-toggle-switch {
|
|
243
|
-
background: rgba(
|
|
244
|
-
box-shadow: inset 0 0 0 1px rgba(
|
|
291
|
+
background: rgba(37, 99, 235, 0.18);
|
|
292
|
+
box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.24);
|
|
245
293
|
}
|
|
246
294
|
.protection-toggle[aria-checked="false"] .protection-toggle-icon-wrap {
|
|
247
|
-
background:
|
|
248
|
-
box-shadow:
|
|
295
|
+
background: transparent;
|
|
296
|
+
box-shadow: none;
|
|
249
297
|
}
|
|
250
298
|
.protection-toggle[aria-checked="false"] .protection-toggle-icon {
|
|
251
|
-
color: #
|
|
299
|
+
color: #b45309;
|
|
252
300
|
}
|
|
253
301
|
.protection-toggle[aria-checked="false"] .protection-toggle-state {
|
|
254
|
-
background: rgba(217, 119, 6, 0.
|
|
255
|
-
box-shadow:
|
|
256
|
-
color: #
|
|
302
|
+
background: rgba(217, 119, 6, 0.1);
|
|
303
|
+
box-shadow: none;
|
|
304
|
+
color: #a16207;
|
|
257
305
|
}
|
|
258
306
|
.protection-toggle[aria-checked="false"] .protection-toggle-switch {
|
|
259
|
-
background: rgba(217, 119, 6, 0.
|
|
260
|
-
box-shadow: inset 0 0 0 1px rgba(217, 119, 6, 0.
|
|
307
|
+
background: rgba(217, 119, 6, 0.12);
|
|
308
|
+
box-shadow: inset 0 0 0 1px rgba(217, 119, 6, 0.18);
|
|
309
|
+
}
|
|
310
|
+
body.dark .protection-toggle-icon {
|
|
311
|
+
color: rgba(209, 213, 219, 0.86);
|
|
312
|
+
}
|
|
313
|
+
body.dark .protection-toggle-state {
|
|
314
|
+
background: rgba(245, 158, 11, 0.12);
|
|
315
|
+
color: #f0b45f;
|
|
316
|
+
}
|
|
317
|
+
body.dark .protection-toggle-switch {
|
|
318
|
+
background: rgba(255, 255, 255, 0.1);
|
|
319
|
+
box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12);
|
|
320
|
+
}
|
|
321
|
+
body.dark .protection-toggle[aria-checked="true"] .protection-toggle-state {
|
|
322
|
+
background: rgba(96, 165, 250, 0.16);
|
|
323
|
+
color: #93c5fd;
|
|
324
|
+
}
|
|
325
|
+
body.dark .protection-toggle[aria-checked="true"] .protection-toggle-switch {
|
|
326
|
+
background: rgba(96, 165, 250, 0.22);
|
|
327
|
+
box-shadow: inset 0 0 0 1px rgba(96, 165, 250, 0.3);
|
|
328
|
+
}
|
|
329
|
+
body.dark .protection-toggle[aria-checked="false"] .protection-toggle-icon {
|
|
330
|
+
color: #f0b45f;
|
|
331
|
+
}
|
|
332
|
+
body.dark .protection-toggle[aria-checked="false"] .protection-toggle-state {
|
|
333
|
+
background: rgba(245, 158, 11, 0.12);
|
|
334
|
+
color: #f0b45f;
|
|
335
|
+
}
|
|
336
|
+
body.dark .protection-toggle[aria-checked="false"] .protection-toggle-switch {
|
|
337
|
+
background: rgba(245, 158, 11, 0.14);
|
|
338
|
+
box-shadow: inset 0 0 0 1px rgba(245, 158, 11, 0.2);
|
|
261
339
|
}
|
|
262
340
|
@media (max-width: 640px) {
|
|
263
341
|
.navheader2 .runner .btn {
|
|
264
|
-
height:
|
|
342
|
+
height: 24px;
|
|
265
343
|
padding: 0 8px !important;
|
|
266
|
-
border-radius:
|
|
344
|
+
border-radius: 6px;
|
|
345
|
+
}
|
|
346
|
+
.navheader2 .runner .terminal-utility-button {
|
|
347
|
+
width: 24px;
|
|
348
|
+
min-width: 24px;
|
|
349
|
+
padding: 0 !important;
|
|
267
350
|
}
|
|
268
351
|
.protection-toggle-copy {
|
|
269
|
-
gap:
|
|
352
|
+
gap: 5px;
|
|
270
353
|
}
|
|
271
354
|
}
|
|
272
355
|
@media (prefers-reduced-motion: reduce) {
|
|
273
356
|
.navheader2 .runner .btn,
|
|
357
|
+
.terminal-tooltip,
|
|
274
358
|
.protection-toggle,
|
|
275
359
|
.protection-toggle-switch,
|
|
276
360
|
.protection-toggle-switch::after {
|
|
@@ -426,7 +510,7 @@ body.has-full-navbar .navheader2 .runner {
|
|
|
426
510
|
--ai-consent-secondary-border: rgba(15, 23, 42, 0.12);
|
|
427
511
|
--ai-consent-secondary-hover: rgba(15, 23, 42, 0.08);
|
|
428
512
|
--ai-consent-link: #6c7ea5;
|
|
429
|
-
width: min(520px, 100%);
|
|
513
|
+
width: min(520px, calc(100% - 32px));
|
|
430
514
|
max-height: calc(100vh - 32px);
|
|
431
515
|
max-height: calc(100dvh - 32px);
|
|
432
516
|
background: var(--ai-consent-surface);
|
|
@@ -2985,9 +3069,6 @@ const reloadMemory = async () => {
|
|
|
2985
3069
|
<span class='starting hidden'><i class="fa-solid fa-circle-notch fa-spin"></i> Starting...</span>
|
|
2986
3070
|
<span class='stop hidden'><i class="fa-solid fa-stop"></i> Stop</span>
|
|
2987
3071
|
</div>
|
|
2988
|
-
<% if (locals.filepath) { %>
|
|
2989
|
-
<button class='btn' id='open-fs' data-filepath="<%=filepath%>" data-command="view"><i class="fa-solid fa-folder-open"></i> File Explorer</button>
|
|
2990
|
-
<% } %>
|
|
2991
3072
|
<% if (locals.protection_app_id) { %>
|
|
2992
3073
|
<button
|
|
2993
3074
|
type='button'
|