pinokiod 7.3.10 → 7.3.11
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/bin/brew.js +12 -2
- package/kernel/bin/caddy.js +24 -20
- package/kernel/bin/huggingface.js +2 -2
- package/kernel/bin/setup.js +2 -3
- package/kernel/bin/uv.js +13 -6
- package/kernel/connect/index.js +5 -1
- package/kernel/connect/providers/huggingface/index.js +213 -75
- package/kernel/environment.js +16 -1
- package/kernel/router/localhost_home_router.js +7 -0
- package/kernel/shell.js +1 -5
- package/kernel/util.js +1 -0
- package/package.json +1 -1
- package/server/index.js +75 -33
- package/server/public/common.js +45 -71
- package/server/public/install.js +20 -2
- package/server/public/layout.js +1 -1
- package/server/public/style.css +1432 -511
- package/server/public/tab-link-popover.css +162 -18
- package/server/public/tab-link-popover.js +230 -21
- package/server/public/task-launcher.css +121 -84
- package/server/public/terminal-settings.js +121 -45
- package/server/public/universal-launcher.css +42 -33
- package/server/public/urldropdown.css +284 -0
- package/server/views/app.ejs +1595 -308
- package/server/views/autolaunch.ejs +4 -5
- package/server/views/checkpoints.ejs +223 -50
- package/server/views/connect/huggingface.ejs +406 -325
- package/server/views/connect.ejs +0 -1
- package/server/views/github.ejs +277 -324
- package/server/views/index.ejs +53 -1
- package/server/views/install.ejs +119 -19
- package/server/views/logs.ejs +10 -9
- package/server/views/net.ejs +341 -64
- package/server/views/network.ejs +85 -63
- package/server/views/partials/main_sidebar.ejs +237 -12
- package/server/views/plugins.ejs +141 -3
- package/server/views/settings.ejs +103 -7
- package/server/views/setup.ejs +0 -5
- package/server/views/skills.ejs +0 -1
- package/server/views/task_list.ejs +0 -1
- package/server/views/terminal.ejs +142 -1
- package/server/views/terminals.ejs +346 -6
- package/server/views/tools.ejs +828 -1691
- package/test/caddy-install.test.js +53 -0
- package/test/connect-setup.test.js +16 -0
- package/test/github-connection.test.js +1 -1
- package/test/huggingface-bin.test.js +4 -4
- package/test/huggingface-connect.test.js +73 -0
- package/test/main-sidebar.test.js +31 -0
- package/test/shell-run-template.test.js +5 -1
- package/test/uv-bin.test.js +29 -0
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
<% } %>
|
|
15
15
|
<style>
|
|
16
16
|
body.autolaunch-page .task-container {
|
|
17
|
-
padding:
|
|
17
|
+
padding: 0;
|
|
18
18
|
}
|
|
19
19
|
body.autolaunch-page .task-shell {
|
|
20
|
-
width:
|
|
20
|
+
width: 100%;
|
|
21
21
|
margin: 0;
|
|
22
22
|
background: transparent;
|
|
23
23
|
border: 0;
|
|
@@ -27,7 +27,7 @@ body.autolaunch-page .task-shell {
|
|
|
27
27
|
backdrop-filter: none;
|
|
28
28
|
}
|
|
29
29
|
body.autolaunch-page .task-shell-header {
|
|
30
|
-
padding
|
|
30
|
+
padding: 12px 18px 14px;
|
|
31
31
|
}
|
|
32
32
|
body.autolaunch-page .task-shell-body {
|
|
33
33
|
padding: 0 28px 28px;
|
|
@@ -479,9 +479,8 @@ body.autolaunch-page .autolaunch-loading i {
|
|
|
479
479
|
<section class="task-shell autolaunch-shell">
|
|
480
480
|
<header class="task-shell-header">
|
|
481
481
|
<div class="task-shell-header-main">
|
|
482
|
-
<p class="task-eyebrow">Autolaunch</p>
|
|
483
482
|
<h1 class="task-title">Startup scripts</h1>
|
|
484
|
-
<p class="task-description">Choose which installed app script runs when Pinokio starts
|
|
483
|
+
<p class="task-description">Choose which installed app script runs when Pinokio starts.</p>
|
|
485
484
|
</div>
|
|
486
485
|
<div class="task-header-actions autolaunch-summary">
|
|
487
486
|
<span class="autolaunch-summary-item"><strong data-enabled-count><%= enabledCount %></strong> enabled</span>
|
|
@@ -155,13 +155,8 @@ body.dark .backup-modal-description {
|
|
|
155
155
|
padding: 2px 6px 6px 2px;
|
|
156
156
|
overscroll-behavior: contain;
|
|
157
157
|
}
|
|
158
|
-
.
|
|
158
|
+
body.checkpoints-page .backup-row {
|
|
159
159
|
cursor: pointer;
|
|
160
|
-
transition: background 0.15s ease, box-shadow 0.15s ease;
|
|
161
|
-
}
|
|
162
|
-
.line.backup-row:hover {
|
|
163
|
-
background: royalblue;
|
|
164
|
-
box-shadow: 0 4px 10px rgba(15, 23, 42, 0.08);
|
|
165
160
|
}
|
|
166
161
|
.snapshot-option {
|
|
167
162
|
display: flex;
|
|
@@ -385,10 +380,10 @@ body.dark .backup-loading .backup-loading-text {
|
|
|
385
380
|
color: rgba(226, 232, 240, 0.95);
|
|
386
381
|
}
|
|
387
382
|
body.checkpoints-page .task-container {
|
|
388
|
-
padding:
|
|
383
|
+
padding: 0;
|
|
389
384
|
}
|
|
390
385
|
body.checkpoints-page .task-shell {
|
|
391
|
-
width:
|
|
386
|
+
width: 100%;
|
|
392
387
|
margin: 0;
|
|
393
388
|
background: transparent;
|
|
394
389
|
border: 0;
|
|
@@ -398,7 +393,7 @@ body.checkpoints-page .task-shell {
|
|
|
398
393
|
backdrop-filter: none;
|
|
399
394
|
}
|
|
400
395
|
body.checkpoints-page .task-shell-header {
|
|
401
|
-
padding
|
|
396
|
+
padding: 12px 18px 14px;
|
|
402
397
|
}
|
|
403
398
|
body.checkpoints-page .task-shell-body {
|
|
404
399
|
padding: 28px 28px 28px;
|
|
@@ -417,31 +412,40 @@ body.checkpoints-page .checkpoints-toolbar {
|
|
|
417
412
|
margin: 0 0 18px;
|
|
418
413
|
}
|
|
419
414
|
body.checkpoints-page .checkpoints-list {
|
|
420
|
-
display:
|
|
415
|
+
display: flex;
|
|
416
|
+
flex-direction: column;
|
|
421
417
|
gap: 0;
|
|
418
|
+
overflow: hidden;
|
|
419
|
+
border: 1px solid var(--task-border);
|
|
420
|
+
border-radius: 8px;
|
|
421
|
+
background: transparent;
|
|
422
422
|
}
|
|
423
423
|
body.checkpoints-page .backup-row {
|
|
424
|
-
|
|
425
|
-
|
|
424
|
+
display: block;
|
|
425
|
+
padding: 7px 12px;
|
|
426
|
+
border-bottom: 1px solid var(--task-border);
|
|
427
|
+
background: transparent;
|
|
428
|
+
color: var(--task-text);
|
|
429
|
+
text-decoration: none;
|
|
430
|
+
transform: none;
|
|
426
431
|
}
|
|
427
|
-
body.checkpoints-page .
|
|
428
|
-
|
|
429
|
-
border-top: 0;
|
|
432
|
+
body.checkpoints-page .backup-row:last-child {
|
|
433
|
+
border-bottom: 0;
|
|
430
434
|
}
|
|
431
435
|
body.checkpoints-page .backup-row h3 {
|
|
432
436
|
margin: 0;
|
|
433
437
|
display: grid;
|
|
434
|
-
grid-template-columns:
|
|
435
|
-
gap:
|
|
436
|
-
align-items:
|
|
438
|
+
grid-template-columns: auto minmax(0, 1fr) auto;
|
|
439
|
+
gap: 12px;
|
|
440
|
+
align-items: center;
|
|
437
441
|
}
|
|
438
442
|
body.checkpoints-page .backup-row .item-icon {
|
|
439
|
-
width:
|
|
440
|
-
height:
|
|
441
|
-
border-radius:
|
|
443
|
+
width: 28px;
|
|
444
|
+
height: 28px;
|
|
445
|
+
border-radius: 6px;
|
|
442
446
|
overflow: hidden;
|
|
443
|
-
background: color-mix(in srgb, var(--task-panel) 94%, var(--task-soft));
|
|
444
447
|
border: 1px solid var(--task-border);
|
|
448
|
+
background: color-mix(in srgb, var(--task-text) 5%, transparent);
|
|
445
449
|
display: flex;
|
|
446
450
|
align-items: center;
|
|
447
451
|
justify-content: center;
|
|
@@ -459,44 +463,71 @@ body.checkpoints-page .backup-row .title {
|
|
|
459
463
|
display: flex;
|
|
460
464
|
align-items: center;
|
|
461
465
|
gap: 8px;
|
|
462
|
-
|
|
463
|
-
font-
|
|
466
|
+
overflow: hidden;
|
|
467
|
+
font-size: 13px;
|
|
468
|
+
font-weight: 450;
|
|
469
|
+
letter-spacing: 0;
|
|
470
|
+
line-height: 1.2;
|
|
464
471
|
color: var(--task-text);
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
font-size: 10px;
|
|
468
|
-
color: var(--task-accent);
|
|
472
|
+
text-overflow: ellipsis;
|
|
473
|
+
white-space: nowrap;
|
|
469
474
|
}
|
|
470
475
|
body.checkpoints-page .backup-row .uri {
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
476
|
+
overflow: hidden;
|
|
477
|
+
margin-top: 1px;
|
|
478
|
+
font-size: 11px;
|
|
479
|
+
line-height: 1.2;
|
|
474
480
|
color: var(--task-muted);
|
|
475
|
-
|
|
481
|
+
text-overflow: ellipsis;
|
|
482
|
+
white-space: nowrap;
|
|
476
483
|
}
|
|
477
484
|
body.checkpoints-page .backup-row .description {
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
485
|
+
overflow: hidden;
|
|
486
|
+
margin-top: 2px;
|
|
487
|
+
font-size: 11px;
|
|
488
|
+
line-height: 1.2;
|
|
481
489
|
color: var(--task-muted);
|
|
490
|
+
text-overflow: ellipsis;
|
|
491
|
+
white-space: nowrap;
|
|
482
492
|
}
|
|
483
493
|
body.checkpoints-page .backup-row .backup-meta {
|
|
484
494
|
display: flex;
|
|
485
495
|
align-items: center;
|
|
486
|
-
gap:
|
|
496
|
+
gap: 7px;
|
|
487
497
|
flex-wrap: wrap;
|
|
498
|
+
min-width: 0;
|
|
488
499
|
}
|
|
489
500
|
body.checkpoints-page .backup-row .badge {
|
|
490
501
|
display: inline-flex;
|
|
491
502
|
align-items: center;
|
|
492
|
-
min-height:
|
|
493
|
-
padding: 0
|
|
494
|
-
border
|
|
495
|
-
border:
|
|
496
|
-
background:
|
|
497
|
-
color: var(--task-
|
|
503
|
+
min-height: 0;
|
|
504
|
+
padding: 0;
|
|
505
|
+
border: 0;
|
|
506
|
+
border-radius: 0;
|
|
507
|
+
background: transparent;
|
|
508
|
+
color: var(--task-muted);
|
|
498
509
|
font-size: 11px;
|
|
499
|
-
font-weight:
|
|
510
|
+
font-weight: 500;
|
|
511
|
+
}
|
|
512
|
+
body.checkpoints-page .checkpoint-row-action {
|
|
513
|
+
display: inline-flex;
|
|
514
|
+
align-items: center;
|
|
515
|
+
gap: 6px;
|
|
516
|
+
color: var(--task-muted);
|
|
517
|
+
font-size: 11px;
|
|
518
|
+
line-height: 1;
|
|
519
|
+
opacity: 0.7;
|
|
520
|
+
transition: color 140ms ease, opacity 140ms ease, transform 140ms ease;
|
|
521
|
+
}
|
|
522
|
+
body.checkpoints-page .backup-row:hover .checkpoint-row-action,
|
|
523
|
+
body.checkpoints-page .backup-row:focus-visible .checkpoint-row-action,
|
|
524
|
+
body.checkpoints-page .backup-row:focus-within .checkpoint-row-action {
|
|
525
|
+
color: var(--task-text);
|
|
526
|
+
opacity: 1;
|
|
527
|
+
transform: translateX(1px);
|
|
528
|
+
}
|
|
529
|
+
body.checkpoints-page .checkpoint-row-action i {
|
|
530
|
+
font-size: 12px;
|
|
500
531
|
}
|
|
501
532
|
body.checkpoints-page .backups-empty {
|
|
502
533
|
margin: 0;
|
|
@@ -516,15 +547,155 @@ body.checkpoints-page .backups-empty {
|
|
|
516
547
|
padding: 16px 14px 24px;
|
|
517
548
|
}
|
|
518
549
|
body.checkpoints-page .backup-row h3 {
|
|
519
|
-
grid-template-columns:
|
|
550
|
+
grid-template-columns: auto minmax(0, 1fr) auto;
|
|
520
551
|
gap: 12px;
|
|
521
552
|
}
|
|
522
553
|
body.checkpoints-page .backup-row .item-icon {
|
|
523
|
-
width:
|
|
524
|
-
height:
|
|
525
|
-
border-radius:
|
|
554
|
+
width: 28px;
|
|
555
|
+
height: 28px;
|
|
556
|
+
border-radius: 6px;
|
|
557
|
+
}
|
|
558
|
+
body.checkpoints-page .checkpoint-row-action span {
|
|
559
|
+
display: none;
|
|
526
560
|
}
|
|
527
561
|
}
|
|
562
|
+
/* Minimal modal normalization for backup install/rename dialogs. */
|
|
563
|
+
.swal2-popup.backup-modal-shell {
|
|
564
|
+
background: transparent !important;
|
|
565
|
+
box-shadow: none !important;
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
.backup-modal-content {
|
|
569
|
+
border: 1px solid rgba(24, 24, 27, 0.12) !important;
|
|
570
|
+
border-radius: 8px !important;
|
|
571
|
+
background: #ffffff !important;
|
|
572
|
+
color: #18181b !important;
|
|
573
|
+
box-shadow: 0 18px 50px rgba(15, 23, 42, 0.16) !important;
|
|
574
|
+
padding: 18px !important;
|
|
575
|
+
}
|
|
576
|
+
|
|
577
|
+
body.dark .backup-modal-content {
|
|
578
|
+
border-color: rgba(255, 255, 255, 0.1) !important;
|
|
579
|
+
background: #1b1c1d !important;
|
|
580
|
+
color: rgba(250, 250, 250, 0.94) !important;
|
|
581
|
+
box-shadow: 0 24px 72px rgba(0, 0, 0, 0.42) !important;
|
|
582
|
+
}
|
|
583
|
+
|
|
584
|
+
.backup-modal-header h3 {
|
|
585
|
+
font-size: 16px !important;
|
|
586
|
+
line-height: 1.25 !important;
|
|
587
|
+
font-weight: 600 !important;
|
|
588
|
+
color: inherit !important;
|
|
589
|
+
}
|
|
590
|
+
|
|
591
|
+
.backup-modal-description,
|
|
592
|
+
body.dark .backup-modal-description,
|
|
593
|
+
.backup-meta {
|
|
594
|
+
color: #71717a !important;
|
|
595
|
+
font-size: 12px !important;
|
|
596
|
+
line-height: 1.45 !important;
|
|
597
|
+
}
|
|
598
|
+
|
|
599
|
+
body.dark .backup-modal-description,
|
|
600
|
+
body.dark .backup-meta {
|
|
601
|
+
color: rgba(229, 231, 235, 0.62) !important;
|
|
602
|
+
}
|
|
603
|
+
|
|
604
|
+
.backup-modal input[type="text"],
|
|
605
|
+
body.dark .backup-modal input[type="text"] {
|
|
606
|
+
height: 36px !important;
|
|
607
|
+
border-radius: 6px !important;
|
|
608
|
+
border: 1px solid rgba(24, 24, 27, 0.16) !important;
|
|
609
|
+
background: #ffffff !important;
|
|
610
|
+
color: #18181b !important;
|
|
611
|
+
box-shadow: none !important;
|
|
612
|
+
font-size: 13px !important;
|
|
613
|
+
}
|
|
614
|
+
|
|
615
|
+
body.dark .backup-modal input[type="text"] {
|
|
616
|
+
border-color: rgba(255, 255, 255, 0.14) !important;
|
|
617
|
+
background: rgba(255, 255, 255, 0.04) !important;
|
|
618
|
+
color: rgba(250, 250, 250, 0.94) !important;
|
|
619
|
+
}
|
|
620
|
+
|
|
621
|
+
.backup-modal input[type="text"]:focus {
|
|
622
|
+
border-color: rgba(24, 24, 27, 0.42) !important;
|
|
623
|
+
box-shadow: 0 0 0 3px rgba(24, 24, 27, 0.12) !important;
|
|
624
|
+
outline: none !important;
|
|
625
|
+
}
|
|
626
|
+
|
|
627
|
+
body.dark .backup-modal input[type="text"]:focus {
|
|
628
|
+
border-color: rgba(255, 255, 255, 0.38) !important;
|
|
629
|
+
box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.14) !important;
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
.backup-modal-content .url-modal-close {
|
|
633
|
+
width: 28px !important;
|
|
634
|
+
height: 28px !important;
|
|
635
|
+
border-radius: 6px !important;
|
|
636
|
+
color: #71717a !important;
|
|
637
|
+
}
|
|
638
|
+
|
|
639
|
+
body.dark .backup-modal-content .url-modal-close {
|
|
640
|
+
color: rgba(229, 231, 235, 0.58) !important;
|
|
641
|
+
}
|
|
642
|
+
|
|
643
|
+
.backup-modal-content .url-modal-close:hover,
|
|
644
|
+
.backup-modal-content .url-modal-close:focus-visible {
|
|
645
|
+
background: rgba(24, 24, 27, 0.06) !important;
|
|
646
|
+
color: #18181b !important;
|
|
647
|
+
outline: none !important;
|
|
648
|
+
}
|
|
649
|
+
|
|
650
|
+
body.dark .backup-modal-content .url-modal-close:hover,
|
|
651
|
+
body.dark .backup-modal-content .url-modal-close:focus-visible {
|
|
652
|
+
background: rgba(255, 255, 255, 0.07) !important;
|
|
653
|
+
color: rgba(250, 250, 250, 0.94) !important;
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
.backup-modal-content .url-modal-button {
|
|
657
|
+
min-height: 32px !important;
|
|
658
|
+
padding: 0 12px !important;
|
|
659
|
+
border-radius: 6px !important;
|
|
660
|
+
box-shadow: none !important;
|
|
661
|
+
font-size: 13px !important;
|
|
662
|
+
font-weight: 600 !important;
|
|
663
|
+
}
|
|
664
|
+
|
|
665
|
+
.backup-modal-content .url-modal-button.confirm {
|
|
666
|
+
border: 1px solid #18181b !important;
|
|
667
|
+
background: #18181b !important;
|
|
668
|
+
color: #ffffff !important;
|
|
669
|
+
}
|
|
670
|
+
|
|
671
|
+
body.dark .backup-modal-content .url-modal-button.confirm {
|
|
672
|
+
border-color: rgba(250, 250, 250, 0.94) !important;
|
|
673
|
+
background: rgba(250, 250, 250, 0.94) !important;
|
|
674
|
+
color: #1b1c1d !important;
|
|
675
|
+
}
|
|
676
|
+
|
|
677
|
+
.backup-modal-content .url-modal-button.cancel {
|
|
678
|
+
border: 1px solid rgba(24, 24, 27, 0.12) !important;
|
|
679
|
+
background: transparent !important;
|
|
680
|
+
color: #52525b !important;
|
|
681
|
+
}
|
|
682
|
+
|
|
683
|
+
body.dark .backup-modal-content .url-modal-button.cancel {
|
|
684
|
+
border-color: rgba(255, 255, 255, 0.1) !important;
|
|
685
|
+
color: rgba(229, 231, 235, 0.7) !important;
|
|
686
|
+
}
|
|
687
|
+
|
|
688
|
+
.backup-modal-content .url-modal-button.danger {
|
|
689
|
+
border: 1px solid rgba(220, 38, 38, 0.22) !important;
|
|
690
|
+
background: rgba(220, 38, 38, 0.08) !important;
|
|
691
|
+
color: #b91c1c !important;
|
|
692
|
+
}
|
|
693
|
+
|
|
694
|
+
body.dark .backup-modal-content .url-modal-button.danger {
|
|
695
|
+
border-color: rgba(248, 113, 113, 0.28) !important;
|
|
696
|
+
background: rgba(239, 68, 68, 0.13) !important;
|
|
697
|
+
color: #fecaca !important;
|
|
698
|
+
}
|
|
528
699
|
</style>
|
|
529
700
|
<script src="/window_storage.js"></script>
|
|
530
701
|
<script src="/hotkeys.min.js"></script>
|
|
@@ -1049,7 +1220,6 @@ document.addEventListener("DOMContentLoaded", () => {
|
|
|
1049
1220
|
<section class='task-shell checkpoints-shell'>
|
|
1050
1221
|
<header class='task-shell-header'>
|
|
1051
1222
|
<div class='task-shell-header-main'>
|
|
1052
|
-
<p class='task-eyebrow'>Checkpoints</p>
|
|
1053
1223
|
<h1 class='task-title'>Checkpoints</h1>
|
|
1054
1224
|
<p class='task-description'>Local version history for workspaces on this machine.</p>
|
|
1055
1225
|
</div>
|
|
@@ -1068,7 +1238,7 @@ document.addEventListener("DOMContentLoaded", () => {
|
|
|
1068
1238
|
<% if (items && items.length > 0) { %>
|
|
1069
1239
|
<div class="checkpoints-list">
|
|
1070
1240
|
<% items.forEach((item) => { %>
|
|
1071
|
-
<div class='
|
|
1241
|
+
<div class='backup-row' data-remote-key="<%=item.remoteKey%>">
|
|
1072
1242
|
<h3>
|
|
1073
1243
|
<div class='item-icon'>
|
|
1074
1244
|
<% if (item.icon) { %>
|
|
@@ -1079,7 +1249,6 @@ document.addEventListener("DOMContentLoaded", () => {
|
|
|
1079
1249
|
</div>
|
|
1080
1250
|
<div class='col'>
|
|
1081
1251
|
<div class='title'>
|
|
1082
|
-
<i class="fa-solid fa-circle"></i>
|
|
1083
1252
|
<span><%= item.title || item.displayName %></span>
|
|
1084
1253
|
</div>
|
|
1085
1254
|
<div class='uri'><%= item.remoteUrl %></div>
|
|
@@ -1104,6 +1273,10 @@ document.addEventListener("DOMContentLoaded", () => {
|
|
|
1104
1273
|
</div>
|
|
1105
1274
|
<% } %>
|
|
1106
1275
|
</div>
|
|
1276
|
+
<div class="checkpoint-row-action" aria-hidden="true">
|
|
1277
|
+
<i class="fa-solid fa-clock-rotate-left"></i>
|
|
1278
|
+
<span>Manage</span>
|
|
1279
|
+
</div>
|
|
1107
1280
|
</h3>
|
|
1108
1281
|
</div>
|
|
1109
1282
|
<% }) %>
|