pinokiod 3.181.0 → 3.182.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/kernel/util.js +15 -2
- package/package.json +1 -1
- package/server/index.js +111 -12
- package/server/public/common.js +433 -240
- package/server/public/files-app/app.css +64 -0
- package/server/public/files-app/app.js +87 -0
- package/server/public/install.js +8 -1
- package/server/public/layout.js +11 -1
- package/server/public/sound/beep.mp3 +0 -0
- package/server/public/sound/bell.mp3 +0 -0
- package/server/public/sound/bright-ring.mp3 +0 -0
- package/server/public/sound/clap.mp3 +0 -0
- package/server/public/sound/deep-ring.mp3 +0 -0
- package/server/public/sound/gasp.mp3 +0 -0
- package/server/public/sound/hehe.mp3 +0 -0
- package/server/public/sound/levelup.mp3 +0 -0
- package/server/public/sound/light-pop.mp3 +0 -0
- package/server/public/sound/light-ring.mp3 +0 -0
- package/server/public/sound/meow.mp3 +0 -0
- package/server/public/sound/piano.mp3 +0 -0
- package/server/public/sound/pop.mp3 +0 -0
- package/server/public/sound/uhoh.mp3 +0 -0
- package/server/public/sound/whistle.mp3 +0 -0
- package/server/public/style.css +173 -2
- package/server/public/tab-idle-notifier.js +697 -4
- package/server/public/terminal-settings.js +1131 -0
- package/server/public/urldropdown.css +28 -1
- package/server/views/{terminals.ejs → agents.ejs} +97 -30
- package/server/views/app.ejs +112 -65
- package/server/views/bootstrap.ejs +8 -0
- package/server/views/connect.ejs +1 -1
- package/server/views/d.ejs +172 -18
- package/server/views/editor.ejs +8 -0
- package/server/views/file_browser.ejs +4 -0
- package/server/views/index.ejs +1 -1
- package/server/views/init/index.ejs +9 -1
- package/server/views/install.ejs +8 -0
- package/server/views/net.ejs +1 -1
- package/server/views/network.ejs +1 -1
- package/server/views/pro.ejs +8 -0
- package/server/views/prototype/index.ejs +8 -0
- package/server/views/screenshots.ejs +1 -2
- package/server/views/settings.ejs +1 -2
- package/server/views/shell.ejs +8 -0
- package/server/views/terminal.ejs +8 -0
- package/server/views/tools.ejs +1 -2
package/server/views/d.ejs
CHANGED
|
@@ -84,6 +84,7 @@ body.dark .tab:focus-visible {
|
|
|
84
84
|
margin-left: 10px;
|
|
85
85
|
}
|
|
86
86
|
.tab i.img {
|
|
87
|
+
flex-shrink: 0;
|
|
87
88
|
height: 40px;
|
|
88
89
|
width: 40px;
|
|
89
90
|
background: white;
|
|
@@ -92,10 +93,10 @@ body.dark .tab:focus-visible {
|
|
|
92
93
|
justify-content: center;
|
|
93
94
|
font-size: 20px;
|
|
94
95
|
align-items: center;
|
|
95
|
-
border-radius:
|
|
96
|
+
border-radius: 40px;
|
|
96
97
|
}
|
|
97
98
|
.tab img {
|
|
98
|
-
border-radius:
|
|
99
|
+
border-radius: 40px;
|
|
99
100
|
height: 40px;
|
|
100
101
|
width: 40px;
|
|
101
102
|
background: white;
|
|
@@ -161,6 +162,47 @@ body.dark .menu-container {
|
|
|
161
162
|
flex-direction: column;
|
|
162
163
|
box-sizing: border-box;
|
|
163
164
|
}
|
|
165
|
+
.column-subtitle {
|
|
166
|
+
font-size: 12px;
|
|
167
|
+
opacity: 0.7;
|
|
168
|
+
padding: 8px 10px 0;
|
|
169
|
+
}
|
|
170
|
+
body.dark .column-subtitle {
|
|
171
|
+
color: rgba(255, 255, 255, 0.75);
|
|
172
|
+
}
|
|
173
|
+
.menu-grid {
|
|
174
|
+
display: grid;
|
|
175
|
+
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
|
|
176
|
+
}
|
|
177
|
+
.menu-column {
|
|
178
|
+
border: 1px solid rgba(0, 0, 0, 0.05);
|
|
179
|
+
overflow: hidden;
|
|
180
|
+
}
|
|
181
|
+
body.dark .menu-column {
|
|
182
|
+
border-color: rgba(255, 255, 255, 0.08);
|
|
183
|
+
}
|
|
184
|
+
.menu-column .tab-header {
|
|
185
|
+
background: rgba(0, 0, 0, 0.03);
|
|
186
|
+
}
|
|
187
|
+
body.dark .menu-column .tab-header {
|
|
188
|
+
background: rgba(255, 255, 255, 0.06);
|
|
189
|
+
}
|
|
190
|
+
.menu-column .tab-content {
|
|
191
|
+
padding-top: 4px;
|
|
192
|
+
display: flex;
|
|
193
|
+
flex-direction: column;
|
|
194
|
+
flex-wrap: nowrap;
|
|
195
|
+
align-items: stretch;
|
|
196
|
+
gap: 4px;
|
|
197
|
+
}
|
|
198
|
+
.menu-column .tab-content .tab {
|
|
199
|
+
flex: 0 0 auto;
|
|
200
|
+
}
|
|
201
|
+
@media (max-width: 700px) {
|
|
202
|
+
.menu-grid {
|
|
203
|
+
grid-template-columns: 1fr;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
164
206
|
body.dark .tab-header {
|
|
165
207
|
background: rgba(255,255,255,0.04);
|
|
166
208
|
}
|
|
@@ -367,28 +409,140 @@ body.dark #update-spec {
|
|
|
367
409
|
</div>
|
|
368
410
|
</div>
|
|
369
411
|
|
|
370
|
-
<%
|
|
371
|
-
|
|
412
|
+
<%
|
|
413
|
+
let index = 0;
|
|
414
|
+
const userTerminal = dynamic && dynamic.length ? dynamic[0] : null;
|
|
415
|
+
const cliMenu = dynamic.find((item) => item && item.title === "Terminal Agents");
|
|
416
|
+
const ideMenu = dynamic.find((item) => item && item.title === "IDE Agents");
|
|
417
|
+
const handled = new Set();
|
|
418
|
+
if (userTerminal) handled.add(userTerminal);
|
|
419
|
+
if (cliMenu) handled.add(cliMenu);
|
|
420
|
+
if (ideMenu) handled.add(ideMenu);
|
|
421
|
+
const remaining = dynamic.filter((item) => !handled.has(item));
|
|
422
|
+
%>
|
|
423
|
+
|
|
424
|
+
<div class='menu-grid'>
|
|
425
|
+
<% if (userTerminal && userTerminal.menu && userTerminal.menu.length) { %>
|
|
426
|
+
<div class='menu-container menu-column user-terminal'>
|
|
427
|
+
<div class='tab-header'>
|
|
428
|
+
<h3><i class='<%= userTerminal.icon %>'></i> <%= userTerminal.title %></h3>
|
|
429
|
+
</div>
|
|
430
|
+
<% if (userTerminal.subtitle) { %>
|
|
431
|
+
<div class='column-subtitle'><%= userTerminal.subtitle %></div>
|
|
432
|
+
<% } %>
|
|
433
|
+
<div class='tab-content'>
|
|
434
|
+
<% userTerminal.menu.forEach((i) => { %>
|
|
435
|
+
<div class='tab' role="button" tabindex="0" data-index="<%= index++ %>" data-target="@<%= i.href %>" data-href="<%= i.href %>">
|
|
436
|
+
<% if (i.image) { %>
|
|
437
|
+
<img src="<%= i.image %>">
|
|
438
|
+
<% } else if (i.icon) { %>
|
|
439
|
+
<i class="img <%= i.icon %>"></i>
|
|
440
|
+
<% } %>
|
|
441
|
+
<h2><%= i.title %></h2>
|
|
442
|
+
<% if (i.subtitle) { %>
|
|
443
|
+
<div class='subtitle'><%= i.subtitle %></div>
|
|
444
|
+
<% } %>
|
|
445
|
+
<div class='flexible'></div>
|
|
446
|
+
<% if (i.link) { %>
|
|
447
|
+
<div target="_blank" data-href="<%= i.link %>"><i class="fa-solid fa-circle-info"></i></div>
|
|
448
|
+
<% } %>
|
|
449
|
+
<div class='disclosure-indicator' aria-hidden="true">
|
|
450
|
+
<i class="fa-solid fa-chevron-right"></i>
|
|
451
|
+
</div>
|
|
452
|
+
</div>
|
|
453
|
+
<% }) %>
|
|
454
|
+
</div>
|
|
455
|
+
</div>
|
|
456
|
+
<% } %>
|
|
457
|
+
|
|
458
|
+
<% if (cliMenu && cliMenu.menu && cliMenu.menu.length) { %>
|
|
459
|
+
<div class='menu-container menu-column cli-column'>
|
|
460
|
+
<div class='tab-header'>
|
|
461
|
+
<h3><i class='<%= cliMenu.icon %>'></i> Terminal Agents</h3>
|
|
462
|
+
</div>
|
|
463
|
+
<% if (cliMenu.subtitle) { %>
|
|
464
|
+
<div class='column-subtitle'><%= cliMenu.subtitle %></div>
|
|
465
|
+
<% } %>
|
|
466
|
+
<div class='tab-content'>
|
|
467
|
+
<% cliMenu.menu.forEach((i) => { %>
|
|
468
|
+
<div class='tab' role="button" tabindex="0" data-index="<%= index++ %>" data-target="@<%= i.href %>" data-href="<%= i.href %>">
|
|
469
|
+
<% if (i.image) { %>
|
|
470
|
+
<img src="<%= i.image %>">
|
|
471
|
+
<% } else if (i.icon) { %>
|
|
472
|
+
<i class="img <%= i.icon %>"></i>
|
|
473
|
+
<% } %>
|
|
474
|
+
<h2><%= i.title %></h2>
|
|
475
|
+
<% if (i.subtitle) { %>
|
|
476
|
+
<div class='subtitle'><%= i.subtitle %></div>
|
|
477
|
+
<% } %>
|
|
478
|
+
<div class='flexible'></div>
|
|
479
|
+
<% if (i.link) { %>
|
|
480
|
+
<div target="_blank" data-href="<%= i.link %>"><i class="fa-solid fa-circle-info"></i></div>
|
|
481
|
+
<% } %>
|
|
482
|
+
<div class='disclosure-indicator' aria-hidden="true">
|
|
483
|
+
<i class="fa-solid fa-chevron-right"></i>
|
|
484
|
+
</div>
|
|
485
|
+
</div>
|
|
486
|
+
<% }) %>
|
|
487
|
+
</div>
|
|
488
|
+
</div>
|
|
489
|
+
<% } %>
|
|
490
|
+
|
|
491
|
+
<% if (ideMenu && ideMenu.menu && ideMenu.menu.length) { %>
|
|
492
|
+
<div class='menu-container menu-column ide-column'>
|
|
493
|
+
<div class='tab-header'>
|
|
494
|
+
<h3><i class='<%= ideMenu.icon %>'></i> IDE Agents</h3>
|
|
495
|
+
</div>
|
|
496
|
+
<% if (ideMenu.subtitle) { %>
|
|
497
|
+
<div class='column-subtitle'><%= ideMenu.subtitle %></div>
|
|
498
|
+
<% } %>
|
|
499
|
+
<div class='tab-content'>
|
|
500
|
+
<% ideMenu.menu.forEach((i) => { %>
|
|
501
|
+
<div class='tab' role="button" tabindex="0" data-index="<%= index++ %>" data-target="@<%= i.href %>" data-href="<%= i.href %>">
|
|
502
|
+
<% if (i.image) { %>
|
|
503
|
+
<img src="<%= i.image %>">
|
|
504
|
+
<% } else if (i.icon) { %>
|
|
505
|
+
<i class="img <%= i.icon %>"></i>
|
|
506
|
+
<% } %>
|
|
507
|
+
<h2><%= i.title %></h2>
|
|
508
|
+
<% if (i.subtitle) { %>
|
|
509
|
+
<div class='subtitle'><%= i.subtitle %></div>
|
|
510
|
+
<% } %>
|
|
511
|
+
<div class='flexible'></div>
|
|
512
|
+
<% if (i.link) { %>
|
|
513
|
+
<div target="_blank" data-href="<%= i.link %>"><i class="fa-solid fa-circle-info"></i></div>
|
|
514
|
+
<% } %>
|
|
515
|
+
<div class='disclosure-indicator' aria-hidden="true">
|
|
516
|
+
<i class="fa-solid fa-chevron-right"></i>
|
|
517
|
+
</div>
|
|
518
|
+
</div>
|
|
519
|
+
<% }) %>
|
|
520
|
+
</div>
|
|
521
|
+
</div>
|
|
522
|
+
<% } %>
|
|
523
|
+
</div>
|
|
524
|
+
|
|
525
|
+
<% remaining.forEach((item) => { %>
|
|
372
526
|
<% if (item.menu) { %>
|
|
373
527
|
<div class='menu-container'>
|
|
374
528
|
<div class='tab-header'>
|
|
375
|
-
<h3><i class='<%=item.icon%>'></i> <%=item.title%></h3>
|
|
529
|
+
<h3><i class='<%= item.icon %>'></i> <%= item.title %></h3>
|
|
376
530
|
</div>
|
|
377
531
|
<div class='tab-content'>
|
|
378
532
|
<% item.menu.forEach((i) => { %>
|
|
379
|
-
<div class='tab' role="button" tabindex="0" data-index="<%=index
|
|
533
|
+
<div class='tab' role="button" tabindex="0" data-index="<%= index++ %>" data-target="@<%= i.href %>" data-href="<%= i.href %>">
|
|
380
534
|
<% if (i.image) { %>
|
|
381
|
-
<img src="<%=i.image%>">
|
|
535
|
+
<img src="<%= i.image %>">
|
|
382
536
|
<% } else if (i.icon) { %>
|
|
383
|
-
<i class="img <%=i.icon%>"></i>
|
|
537
|
+
<i class="img <%= i.icon %>"></i>
|
|
384
538
|
<% } %>
|
|
385
|
-
<h2><%=i.title%></
|
|
539
|
+
<h2><%= i.title %></h2>
|
|
386
540
|
<% if (i.subtitle) { %>
|
|
387
|
-
<div class='subtitle'><%=i.subtitle%></div>
|
|
541
|
+
<div class='subtitle'><%= i.subtitle %></div>
|
|
388
542
|
<% } %>
|
|
389
543
|
<div class='flexible'></div>
|
|
390
544
|
<% if (i.link) { %>
|
|
391
|
-
|
|
545
|
+
<div target="_blank" data-href="<%= i.link %>"><i class="fa-solid fa-circle-info"></i></div>
|
|
392
546
|
<% } %>
|
|
393
547
|
<div class='disclosure-indicator' aria-hidden="true">
|
|
394
548
|
<i class="fa-solid fa-chevron-right"></i>
|
|
@@ -398,22 +552,22 @@ body.dark #update-spec {
|
|
|
398
552
|
</div>
|
|
399
553
|
</div>
|
|
400
554
|
<% } else { %>
|
|
401
|
-
<div class='tab' data-index="<%=index
|
|
555
|
+
<div class='tab' data-index="<%= index++ %>">
|
|
402
556
|
<% if (item.image) { %>
|
|
403
|
-
<img src="<%=item.image%>">
|
|
557
|
+
<img src="<%= item.image %>">
|
|
404
558
|
<% } else if (item.icon) { %>
|
|
405
|
-
<i class="img <%=item.icon%>"></i>
|
|
559
|
+
<i class="img <%= item.icon %>"></i>
|
|
406
560
|
<% } %>
|
|
407
561
|
<div class='col'>
|
|
408
|
-
<h2><%=item.title%></
|
|
562
|
+
<h2><%= item.title %></h2>
|
|
409
563
|
<% if (item.subtitle) { %>
|
|
410
|
-
<div class='subtitle'><%=item.subtitle%></div>
|
|
564
|
+
<div class='subtitle'><%= item.subtitle %></div>
|
|
411
565
|
<% } %>
|
|
412
566
|
<div class='btns'>
|
|
413
567
|
<% if (item.link) { %>
|
|
414
|
-
|
|
568
|
+
<a class='btn' target="_blank" href="<%= item.link %>"><i class="fa-solid fa-circle-info"></i></a>
|
|
415
569
|
<% } %>
|
|
416
|
-
<a class='run-btn btn' href="<%=item.href%>"><i class="fa-solid <%=item.type === "Start" ? 'fa-play' : 'fa-rocket'%>"></i> <%=item.type%></a>
|
|
570
|
+
<a class='run-btn btn' href="<%= item.href %>"><i class="fa-solid <%= item.type === "Start" ? 'fa-play' : 'fa-rocket' %>"></i> <%= item.type %></a>
|
|
417
571
|
</div>
|
|
418
572
|
</div>
|
|
419
573
|
</div>
|
package/server/views/editor.ejs
CHANGED
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
<script src="/xterm-addon-search-bar.js"></script>
|
|
14
14
|
<script src="/sweetalert2.js"></script>
|
|
15
15
|
<script src="/Socket.js"></script>
|
|
16
|
+
<script src="/terminal-settings.js"></script>
|
|
16
17
|
<script src="/common.js"></script>
|
|
17
18
|
<script src="/he.js"></script>
|
|
18
19
|
<script src="/opener.js"></script>
|
|
@@ -680,7 +681,14 @@ document.addEventListener("DOMContentLoaded", async () => {
|
|
|
680
681
|
if (res && res.config) {
|
|
681
682
|
config = res.config
|
|
682
683
|
}
|
|
684
|
+
const baseConfig = Object.assign({}, config)
|
|
685
|
+
if (window.PinokioTerminalSettings && typeof window.PinokioTerminalSettings.applyToConfig === 'function') {
|
|
686
|
+
config = window.PinokioTerminalSettings.applyToConfig(config)
|
|
687
|
+
}
|
|
683
688
|
const term = new Terminal(config)
|
|
689
|
+
if (window.PinokioTerminalSettings && typeof window.PinokioTerminalSettings.register === 'function') {
|
|
690
|
+
window.PinokioTerminalSettings.register(term, { baseConfig })
|
|
691
|
+
}
|
|
684
692
|
term.open(document.querySelector("#terminal"))
|
|
685
693
|
|
|
686
694
|
|
|
@@ -52,6 +52,10 @@
|
|
|
52
52
|
</div>
|
|
53
53
|
</aside>
|
|
54
54
|
<main class="files-app__main">
|
|
55
|
+
<button class="files-app__sidebar-toggle" id="files-app-toggle-sidebar" type="button" aria-controls="files-app-tree" aria-expanded="true">
|
|
56
|
+
<span class="sr-only">Hide files</span>
|
|
57
|
+
<i class="fa-solid fa-chevron-left" aria-hidden="true"></i>
|
|
58
|
+
</button>
|
|
55
59
|
<div class="files-app__tabs" id="files-app-tabs" role="tablist" aria-label="Open files"></div>
|
|
56
60
|
<div class="files-app__editor" id="files-app-editor" role="presentation"></div>
|
|
57
61
|
<div class="files-app__status" id="files-app-status" role="status" aria-live="polite"></div>
|
package/server/views/index.ejs
CHANGED
|
@@ -729,7 +729,7 @@ body.dark aside .current.selected {
|
|
|
729
729
|
<a id='downloadlogs' download class='hidden btn2' href="/pinokio/logs.zip"><i class="fa-solid fa-download"></i><div class='caption'>Download logs</div></a>
|
|
730
730
|
<a class='tab' href="/screenshots"><i class="fa-solid fa-camera"></i><div class='caption'>Screenshots</div></a>
|
|
731
731
|
<a class='tab' href="/tools"><i class="fa-solid fa-toolbox"></i><div class='caption'>Installed Tools</div></a>
|
|
732
|
-
<a class='tab' href="/
|
|
732
|
+
<a class='tab' href="/agents"><i class="fa-solid fa-robot"></i><div class='caption'>Agents</div></a>
|
|
733
733
|
<a class='tab' href="/home?mode=settings"><i class="fa-solid fa-gear"></i><div class='caption'>Settings</div></a>
|
|
734
734
|
<% if (typeof peer_qr !== 'undefined' && peer_qr) { %>
|
|
735
735
|
<div class='qr' style='padding:12px 10px; text-align:center;'>
|
|
@@ -1497,6 +1497,7 @@ body.dark .ace-editor {
|
|
|
1497
1497
|
<script src="/report.js"></script>
|
|
1498
1498
|
<script src="/normalize.js"></script>
|
|
1499
1499
|
<script src="/Socket.js"></script>
|
|
1500
|
+
<script src="/terminal-settings.js"></script>
|
|
1500
1501
|
<script src="/noty.js"></script>
|
|
1501
1502
|
<script src="/notyq.js"></script>
|
|
1502
1503
|
<script src="/xterm.js"></script>
|
|
@@ -1949,7 +1950,7 @@ body.dark .ace-editor {
|
|
|
1949
1950
|
<a id='downloadlogs' download class='hidden btn2' href="/pinokio/logs.zip"><i class="fa-solid fa-download"></i><div class='caption'>Download logs</div></a>
|
|
1950
1951
|
<a class='tab' href="/screenshots"><i class="fa-solid fa-camera"></i><div class='caption'>Screenshots</div></a>
|
|
1951
1952
|
<a class='tab' href="/tools"><i class="fa-solid fa-toolbox"></i><div class='caption'>Installed Tools</div></a>
|
|
1952
|
-
<a class='tab' href="/
|
|
1953
|
+
<a class='tab' href="/agents"><i class="fa-solid fa-robot"></i><div class='caption'>Agents</div></a>
|
|
1953
1954
|
<a class='tab' href="/home?mode=settings"><i class="fa-solid fa-gear"></i><div class='caption'>Settings</div></a>
|
|
1954
1955
|
<% if (typeof peer_qr !== 'undefined' && peer_qr) { %>
|
|
1955
1956
|
<div class='qr' style='padding:12px 10px; text-align:center;'>
|
|
@@ -2656,7 +2657,14 @@ const createTerm = async (_theme) => {
|
|
|
2656
2657
|
if (res && res.config) {
|
|
2657
2658
|
config = res.config
|
|
2658
2659
|
}
|
|
2660
|
+
const baseConfig = Object.assign({}, config)
|
|
2661
|
+
if (window.PinokioTerminalSettings && typeof window.PinokioTerminalSettings.applyToConfig === 'function') {
|
|
2662
|
+
config = window.PinokioTerminalSettings.applyToConfig(config)
|
|
2663
|
+
}
|
|
2659
2664
|
const term = new Terminal(config)
|
|
2665
|
+
if (window.PinokioTerminalSettings && typeof window.PinokioTerminalSettings.register === 'function') {
|
|
2666
|
+
window.PinokioTerminalSettings.register(term, { baseConfig })
|
|
2667
|
+
}
|
|
2660
2668
|
term.open(document.querySelector("#terminal2"))
|
|
2661
2669
|
document.querySelector("#terminal-container").classList.remove("hidden")
|
|
2662
2670
|
|
package/server/views/install.ejs
CHANGED
|
@@ -124,6 +124,7 @@ body {
|
|
|
124
124
|
<script src="/xterm-addon-web-links.js"></script>
|
|
125
125
|
<script src="/xterm-theme.js"></script>
|
|
126
126
|
<script src="/Socket.js"></script>
|
|
127
|
+
<script src="/terminal-settings.js"></script>
|
|
127
128
|
<!--
|
|
128
129
|
<script src="/install.js"></script>
|
|
129
130
|
-->
|
|
@@ -169,7 +170,14 @@ const createTerm = async (_theme) => {
|
|
|
169
170
|
if (res && res.config) {
|
|
170
171
|
config = res.config
|
|
171
172
|
}
|
|
173
|
+
const baseConfig = Object.assign({}, config)
|
|
174
|
+
if (window.PinokioTerminalSettings && typeof window.PinokioTerminalSettings.applyToConfig === 'function') {
|
|
175
|
+
config = window.PinokioTerminalSettings.applyToConfig(config)
|
|
176
|
+
}
|
|
172
177
|
const term = new Terminal(config)
|
|
178
|
+
if (window.PinokioTerminalSettings && typeof window.PinokioTerminalSettings.register === 'function') {
|
|
179
|
+
window.PinokioTerminalSettings.register(term, { baseConfig })
|
|
180
|
+
}
|
|
173
181
|
term.open(document.querySelector("#terminal"))
|
|
174
182
|
|
|
175
183
|
term.attachCustomKeyEventHandler(event => {
|
package/server/views/net.ejs
CHANGED
|
@@ -821,7 +821,7 @@ document.addEventListener('DOMContentLoaded', function() {
|
|
|
821
821
|
<a id='downloadlogs' download class='hidden btn2' href="/pinokio/logs.zip"><i class="fa-solid fa-download"></i><div class='caption'>Download logs</div></a>
|
|
822
822
|
<a class='tab' href="/screenshots"><i class="fa-solid fa-camera"></i><div class='caption'>Screenshots</div></a>
|
|
823
823
|
<a class='tab' href="/tools"><i class="fa-solid fa-toolbox"></i><div class='caption'>Installed Tools</div></a>
|
|
824
|
-
<a class='tab' href="/
|
|
824
|
+
<a class='tab' href="/agents"><i class="fa-solid fa-robot"></i><div class='caption'>Agents</div></a>
|
|
825
825
|
<a class='tab' href="/home?mode=settings"><i class="fa-solid fa-gear"></i><div class='caption'>Settings</div></a>
|
|
826
826
|
<% if (typeof peer_qr !== 'undefined' && peer_qr) { %>
|
|
827
827
|
<div class='qr' style='padding:12px 10px; text-align:center;'>
|
package/server/views/network.ejs
CHANGED
|
@@ -1182,7 +1182,7 @@ document.addEventListener('DOMContentLoaded', function() {
|
|
|
1182
1182
|
<a id='downloadlogs' download class='hidden btn2' href="/pinokio/logs.zip"><i class="fa-solid fa-download"></i><div class='caption'>Download logs</div></a>
|
|
1183
1183
|
<a class='tab' href="/screenshots"><i class="fa-solid fa-camera"></i><div class='caption'>Screenshots</div></a>
|
|
1184
1184
|
<a class='tab' href="/tools"><i class="fa-solid fa-toolbox"></i><div class='caption'>Installed Tools</div></a>
|
|
1185
|
-
<a class='tab' href="/
|
|
1185
|
+
<a class='tab' href="/agents"><i class="fa-solid fa-robot"></i><div class='caption'>Agents</div></a>
|
|
1186
1186
|
<a class='tab' href="/home?mode=settings"><i class="fa-solid fa-gear"></i><div class='caption'>Settings</div></a>
|
|
1187
1187
|
<% if (typeof peer_qr !== 'undefined' && peer_qr) { %>
|
|
1188
1188
|
<div class='qr' style='padding:12px 10px; text-align:center;'>
|
package/server/views/pro.ejs
CHANGED
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
<script src="/xterm-addon-search-bar.js"></script>
|
|
14
14
|
<script src="/sweetalert2.js"></script>
|
|
15
15
|
<script src="/Socket.js"></script>
|
|
16
|
+
<script src="/terminal-settings.js"></script>
|
|
16
17
|
<script src="/common.js"></script>
|
|
17
18
|
<script src="/he.js"></script>
|
|
18
19
|
<script src="/opener.js"></script>
|
|
@@ -228,7 +229,14 @@ const createTerm = async (_theme) => {
|
|
|
228
229
|
if (res && res.config) {
|
|
229
230
|
config = res.config
|
|
230
231
|
}
|
|
232
|
+
const baseConfig = Object.assign({}, config)
|
|
233
|
+
if (window.PinokioTerminalSettings && typeof window.PinokioTerminalSettings.applyToConfig === 'function') {
|
|
234
|
+
config = window.PinokioTerminalSettings.applyToConfig(config)
|
|
235
|
+
}
|
|
231
236
|
const term = new Terminal(config)
|
|
237
|
+
if (window.PinokioTerminalSettings && typeof window.PinokioTerminalSettings.register === 'function') {
|
|
238
|
+
window.PinokioTerminalSettings.register(term, { baseConfig })
|
|
239
|
+
}
|
|
232
240
|
term.open(document.querySelector("#terminal"))
|
|
233
241
|
|
|
234
242
|
term.attachCustomKeyEventHandler(event => {
|
|
@@ -981,6 +981,7 @@ body.dark .appcanvas {
|
|
|
981
981
|
<script src="/report.js"></script>
|
|
982
982
|
<script src="/normalize.js"></script>
|
|
983
983
|
<script src="/Socket.js"></script>
|
|
984
|
+
<script src="/terminal-settings.js"></script>
|
|
984
985
|
<script src="/noty.js"></script>
|
|
985
986
|
<script src="/notyq.js"></script>
|
|
986
987
|
<script src="/xterm.js"></script>
|
|
@@ -1570,7 +1571,14 @@ async function displayResults(config) {
|
|
|
1570
1571
|
term_config = res.config
|
|
1571
1572
|
}
|
|
1572
1573
|
let socket = new Socket()
|
|
1574
|
+
const baseConfig = Object.assign({}, term_config)
|
|
1575
|
+
if (window.PinokioTerminalSettings && typeof window.PinokioTerminalSettings.applyToConfig === 'function') {
|
|
1576
|
+
term_config = window.PinokioTerminalSettings.applyToConfig(term_config)
|
|
1577
|
+
}
|
|
1573
1578
|
const term = new Terminal(term_config)
|
|
1579
|
+
if (window.PinokioTerminalSettings && typeof window.PinokioTerminalSettings.register === 'function') {
|
|
1580
|
+
window.PinokioTerminalSettings.register(term, { baseConfig })
|
|
1581
|
+
}
|
|
1574
1582
|
term.open(document.querySelector("#terminal"))
|
|
1575
1583
|
term.attachCustomKeyEventHandler(event => {
|
|
1576
1584
|
console.log({ event })
|
|
@@ -198,7 +198,6 @@ body.dark header .home {
|
|
|
198
198
|
*/
|
|
199
199
|
header .home {
|
|
200
200
|
color: var(--light-color);
|
|
201
|
-
padding: 10px;
|
|
202
201
|
}
|
|
203
202
|
body.dark hr {
|
|
204
203
|
background: white;
|
|
@@ -774,7 +773,7 @@ document.addEventListener('DOMContentLoaded', function() {
|
|
|
774
773
|
<a id='downloadlogs' download class='hidden btn2' href="/pinokio/logs.zip"><i class="fa-solid fa-download"></i><div class='caption'>Download logs</div></a>
|
|
775
774
|
<a class='tab selected' href="/screenshots"><i class="fa-solid fa-camera"></i><div class='caption'>Screenshots</div></a>
|
|
776
775
|
<a class='tab' href="/tools"><i class="fa-solid fa-toolbox"></i><div class='caption'>Installed Tools</div></a>
|
|
777
|
-
<a class='tab' href="/
|
|
776
|
+
<a class='tab' href="/agents"><i class="fa-solid fa-robot"></i><div class='caption'>Agents</div></a>
|
|
778
777
|
<a class='tab' href="/home?mode=settings"><i class="fa-solid fa-gear"></i><div class='caption'>Settings</div></a>
|
|
779
778
|
<% if (typeof peer_qr !== 'undefined' && peer_qr) { %>
|
|
780
779
|
<div class='qr' style='padding:12px 10px; text-align:center;'>
|
|
@@ -198,7 +198,6 @@ body.dark header .home {
|
|
|
198
198
|
*/
|
|
199
199
|
header .home {
|
|
200
200
|
color: var(--light-color);
|
|
201
|
-
padding: 10px;
|
|
202
201
|
}
|
|
203
202
|
body.dark hr {
|
|
204
203
|
background: white;
|
|
@@ -569,7 +568,7 @@ document.addEventListener('DOMContentLoaded', function() {
|
|
|
569
568
|
<a id='downloadlogs' download class='hidden btn2' href="/pinokio/logs.zip"><i class="fa-solid fa-download"></i><div class='caption'>Download logs</div></a>
|
|
570
569
|
<a class='tab' href="/screenshots"><i class="fa-solid fa-camera"></i><div class='caption'>Screenshots</div></a>
|
|
571
570
|
<a class='tab' href="/tools"><i class="fa-solid fa-toolbox"></i><div class='caption'>Installed Tools</div></a>
|
|
572
|
-
<a class='tab' href="/
|
|
571
|
+
<a class='tab' href="/agents"><i class="fa-solid fa-robot"></i><div class='caption'>Agents</div></a>
|
|
573
572
|
<a class='tab selected' href="/home?mode=settings"><i class="fa-solid fa-gear"></i><div class='caption'>Settings</div></a>
|
|
574
573
|
<% if (typeof peer_qr !== 'undefined' && peer_qr) { %>
|
|
575
574
|
<div class='qr' style='padding:12px 10px; text-align:center;'>
|
package/server/views/shell.ejs
CHANGED
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
<script src="/sweetalert2.js"></script>
|
|
15
15
|
<script src="/Socket.js"></script>
|
|
16
16
|
<script src="/terminal_input_tracker.js"></script>
|
|
17
|
+
<script src="/terminal-settings.js"></script>
|
|
17
18
|
<script src="/common.js"></script>
|
|
18
19
|
<script src="/he.js"></script>
|
|
19
20
|
<script src="/opener.js"></script>
|
|
@@ -927,7 +928,14 @@ document.addEventListener("DOMContentLoaded", async () => {
|
|
|
927
928
|
if (res && res.config) {
|
|
928
929
|
config = res.config
|
|
929
930
|
}
|
|
931
|
+
const baseConfig = Object.assign({}, config)
|
|
932
|
+
if (window.PinokioTerminalSettings && typeof window.PinokioTerminalSettings.applyToConfig === 'function') {
|
|
933
|
+
config = window.PinokioTerminalSettings.applyToConfig(config)
|
|
934
|
+
}
|
|
930
935
|
const term = new Terminal(config)
|
|
936
|
+
if (window.PinokioTerminalSettings && typeof window.PinokioTerminalSettings.register === 'function') {
|
|
937
|
+
window.PinokioTerminalSettings.register(term, { baseConfig })
|
|
938
|
+
}
|
|
931
939
|
term.open(document.querySelector("#terminal"))
|
|
932
940
|
const terminalContainer = document.querySelector("#terminal")
|
|
933
941
|
const dropOverlay = document.createElement("div")
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
<script src="/sweetalert2.js"></script>
|
|
15
15
|
<script src="/Socket.js"></script>
|
|
16
16
|
<script src="/terminal_input_tracker.js"></script>
|
|
17
|
+
<script src="/terminal-settings.js"></script>
|
|
17
18
|
<script src="/common.js"></script>
|
|
18
19
|
<script src="/he.js"></script>
|
|
19
20
|
<script src="/opener.js"></script>
|
|
@@ -1011,7 +1012,14 @@ document.addEventListener("DOMContentLoaded", async () => {
|
|
|
1011
1012
|
if (res && res.config) {
|
|
1012
1013
|
config = res.config
|
|
1013
1014
|
}
|
|
1015
|
+
const baseConfig = Object.assign({}, config)
|
|
1016
|
+
if (window.PinokioTerminalSettings && typeof window.PinokioTerminalSettings.applyToConfig === 'function') {
|
|
1017
|
+
config = window.PinokioTerminalSettings.applyToConfig(config)
|
|
1018
|
+
}
|
|
1014
1019
|
const term = new Terminal(config)
|
|
1020
|
+
if (window.PinokioTerminalSettings && typeof window.PinokioTerminalSettings.register === 'function') {
|
|
1021
|
+
window.PinokioTerminalSettings.register(term, { baseConfig })
|
|
1022
|
+
}
|
|
1015
1023
|
term.open(document.querySelector("#terminal"))
|
|
1016
1024
|
const terminalContainer = document.querySelector("#terminal")
|
|
1017
1025
|
const dropOverlay = document.createElement("div")
|
package/server/views/tools.ejs
CHANGED
|
@@ -198,7 +198,6 @@ body.dark header .home {
|
|
|
198
198
|
*/
|
|
199
199
|
header .home {
|
|
200
200
|
color: var(--light-color);
|
|
201
|
-
padding: 10px;
|
|
202
201
|
}
|
|
203
202
|
body.dark hr {
|
|
204
203
|
background: white;
|
|
@@ -1273,7 +1272,7 @@ document.addEventListener('DOMContentLoaded', function() {
|
|
|
1273
1272
|
<a id='downloadlogs' download class='hidden btn2' href="/pinokio/logs.zip"><i class="fa-solid fa-download"></i><div class='caption'>Download logs</div></a>
|
|
1274
1273
|
<a class='tab' href="/screenshots"><i class="fa-solid fa-camera"></i><div class='caption'>Screenshots</div></a>
|
|
1275
1274
|
<a class='tab selected' href="/tools"><i class="fa-solid fa-toolbox"></i><div class='caption'>Installed Tools</div></a>
|
|
1276
|
-
<a class='tab' href="/
|
|
1275
|
+
<a class='tab' href="/agents"><i class="fa-solid fa-robot"></i><div class='caption'>Agents</div></a>
|
|
1277
1276
|
<a class='tab' href="/home?mode=settings"><i class="fa-solid fa-gear"></i><div class='caption'>Settings</div></a>
|
|
1278
1277
|
<% if (typeof peer_qr !== 'undefined' && peer_qr) { %>
|
|
1279
1278
|
<div class='qr' style='padding:12px 10px; text-align:center;'>
|