@xcanwin/manyoyo 5.7.14 → 5.8.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/lib/web/frontend/app.css +211 -233
- package/lib/web/frontend/app.html +30 -2
- package/lib/web/frontend/app.js +485 -221
- package/lib/web/server.js +207 -22
- package/package.json +1 -1
package/lib/web/frontend/app.css
CHANGED
|
@@ -14,6 +14,8 @@
|
|
|
14
14
|
--line: #d9c7ad;
|
|
15
15
|
--line-strong: #b59263;
|
|
16
16
|
--line-soft: rgba(181, 146, 99, 0.26);
|
|
17
|
+
--tree-guide: rgba(181, 146, 99, 0.44);
|
|
18
|
+
--tree-guide-soft: rgba(181, 146, 99, 0.2);
|
|
17
19
|
|
|
18
20
|
--text: #1f1a14;
|
|
19
21
|
--muted: #6a5f52;
|
|
@@ -36,6 +38,7 @@
|
|
|
36
38
|
--status-stopped-text: #9a5a09;
|
|
37
39
|
--status-history-bg: #ece7df;
|
|
38
40
|
--status-history-text: #645647;
|
|
41
|
+
--tree-history-text: #b7b0a7;
|
|
39
42
|
--status-unknown-bg: #ece9ff;
|
|
40
43
|
--status-unknown-text: #5a4bb0;
|
|
41
44
|
|
|
@@ -400,6 +403,10 @@ textarea:focus-visible {
|
|
|
400
403
|
resize: vertical;
|
|
401
404
|
}
|
|
402
405
|
|
|
406
|
+
.agent-template-modal {
|
|
407
|
+
width: min(760px, calc(100vw - 24px));
|
|
408
|
+
}
|
|
409
|
+
|
|
403
410
|
.session-head {
|
|
404
411
|
display: flex;
|
|
405
412
|
justify-content: space-between;
|
|
@@ -546,8 +553,8 @@ button.tree-toggle {
|
|
|
546
553
|
padding: 10px 12px;
|
|
547
554
|
display: flex;
|
|
548
555
|
align-items: flex-start;
|
|
549
|
-
justify-content:
|
|
550
|
-
gap:
|
|
556
|
+
justify-content: flex-start;
|
|
557
|
+
gap: 0;
|
|
551
558
|
}
|
|
552
559
|
|
|
553
560
|
button.tree-toggle:hover {
|
|
@@ -560,320 +567,267 @@ button.tree-toggle:active {
|
|
|
560
567
|
transform: none;
|
|
561
568
|
}
|
|
562
569
|
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
box-shadow: 0 0 0 3px rgba(196, 85, 31, 0.14);
|
|
566
|
-
}
|
|
567
|
-
|
|
568
|
-
.tree-toggle-main {
|
|
569
|
-
min-width: 0;
|
|
570
|
+
.tree-node-block,
|
|
571
|
+
.tree-node-children {
|
|
570
572
|
display: flex;
|
|
571
573
|
flex-direction: column;
|
|
572
|
-
gap:
|
|
574
|
+
gap: 8px;
|
|
573
575
|
}
|
|
574
576
|
|
|
575
|
-
.tree-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
577
|
+
.tree-node-row {
|
|
578
|
+
display: grid;
|
|
579
|
+
grid-template-columns: auto minmax(0, 1fr);
|
|
580
|
+
align-items: stretch;
|
|
581
|
+
column-gap: 8px;
|
|
580
582
|
}
|
|
581
583
|
|
|
582
|
-
.tree-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
line-height: 1;
|
|
586
|
-
flex-shrink: 0;
|
|
587
|
-
transition: transform 140ms ease;
|
|
584
|
+
.tree-node-row.tree-node-row-container {
|
|
585
|
+
position: relative;
|
|
586
|
+
grid-template-columns: auto minmax(0, 1fr);
|
|
588
587
|
}
|
|
589
588
|
|
|
590
|
-
.tree-
|
|
591
|
-
|
|
589
|
+
.tree-prefix {
|
|
590
|
+
min-height: 38px;
|
|
591
|
+
display: inline-flex;
|
|
592
|
+
align-items: stretch;
|
|
593
|
+
gap: 3px;
|
|
594
|
+
position: relative;
|
|
592
595
|
}
|
|
593
596
|
|
|
594
|
-
.
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
597
|
+
.tree-prefix-toggle {
|
|
598
|
+
position: relative;
|
|
599
|
+
width: 16px;
|
|
600
|
+
flex: 0 0 16px;
|
|
601
|
+
display: inline-flex;
|
|
602
|
+
align-items: center;
|
|
603
|
+
justify-content: center;
|
|
599
604
|
}
|
|
600
605
|
|
|
601
|
-
.
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
align-items: center;
|
|
607
|
-
column-gap: 10px;
|
|
608
|
-
row-gap: 3px;
|
|
606
|
+
.tree-prefix-segment,
|
|
607
|
+
.tree-prefix-branch {
|
|
608
|
+
position: relative;
|
|
609
|
+
width: 10px;
|
|
610
|
+
flex: 0 0 10px;
|
|
609
611
|
}
|
|
610
612
|
|
|
611
|
-
.
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
padding: 3px 8px;
|
|
617
|
-
border-radius: 999px;
|
|
618
|
-
border: 1px solid rgba(181, 146, 99, 0.34);
|
|
619
|
-
background: rgba(255, 255, 255, 0.56);
|
|
613
|
+
.tree-prefix-branch::before,
|
|
614
|
+
.tree-prefix-branch::after {
|
|
615
|
+
content: "";
|
|
616
|
+
position: absolute;
|
|
617
|
+
background: var(--tree-guide);
|
|
620
618
|
}
|
|
621
619
|
|
|
622
|
-
.
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
overflow: hidden;
|
|
628
|
-
text-overflow: ellipsis;
|
|
629
|
-
white-space: nowrap;
|
|
630
|
-
font-family: var(--font-mono);
|
|
631
|
-
font-size: 12px;
|
|
632
|
-
font-weight: 600;
|
|
620
|
+
.tree-prefix-branch::before {
|
|
621
|
+
left: 5px;
|
|
622
|
+
top: -6px;
|
|
623
|
+
bottom: 50%;
|
|
624
|
+
width: 1px;
|
|
633
625
|
}
|
|
634
626
|
|
|
635
|
-
.
|
|
636
|
-
|
|
637
|
-
grid-row: 2;
|
|
627
|
+
.tree-prefix-branch.is-mid::before {
|
|
628
|
+
bottom: -6px;
|
|
638
629
|
}
|
|
639
630
|
|
|
640
|
-
.
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
631
|
+
.tree-prefix-branch::after {
|
|
632
|
+
left: 5px;
|
|
633
|
+
top: 50%;
|
|
634
|
+
width: 9px;
|
|
635
|
+
height: 1px;
|
|
636
|
+
background: var(--tree-guide-soft);
|
|
644
637
|
}
|
|
645
638
|
|
|
646
|
-
.
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
margin-left: 14px;
|
|
651
|
-
padding-left: 12px;
|
|
652
|
-
border-left: 1px solid var(--line-soft);
|
|
639
|
+
.tree-prefix-leaf {
|
|
640
|
+
position: relative;
|
|
641
|
+
width: 12px;
|
|
642
|
+
flex: 0 0 12px;
|
|
653
643
|
}
|
|
654
644
|
|
|
655
|
-
.
|
|
656
|
-
|
|
645
|
+
.tree-prefix-leaf::before {
|
|
646
|
+
content: "";
|
|
647
|
+
position: absolute;
|
|
648
|
+
left: 1px;
|
|
649
|
+
top: 50%;
|
|
650
|
+
width: 10px;
|
|
651
|
+
height: 1px;
|
|
652
|
+
background: var(--tree-guide-soft);
|
|
653
|
+
transform: translateY(-0.5px);
|
|
657
654
|
}
|
|
658
655
|
|
|
659
|
-
.
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
656
|
+
.disclosure-toggle {
|
|
657
|
+
width: 16px;
|
|
658
|
+
height: 16px;
|
|
659
|
+
padding: 0;
|
|
660
|
+
align-self: center;
|
|
661
|
+
display: inline-flex;
|
|
662
|
+
align-items: center;
|
|
663
|
+
justify-content: center;
|
|
664
|
+
border: none;
|
|
665
|
+
border-radius: 6px;
|
|
666
|
+
color: #8c7257;
|
|
667
|
+
background: transparent;
|
|
668
|
+
transition: transform 140ms ease, background-color 140ms ease, color 140ms ease;
|
|
666
669
|
}
|
|
667
670
|
|
|
668
|
-
.
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
671
|
+
.disclosure-toggle svg {
|
|
672
|
+
width: 12px;
|
|
673
|
+
height: 12px;
|
|
674
|
+
display: block;
|
|
675
|
+
fill: none;
|
|
676
|
+
stroke: currentColor;
|
|
677
|
+
stroke-width: 1.8;
|
|
678
|
+
stroke-linecap: round;
|
|
679
|
+
stroke-linejoin: round;
|
|
680
|
+
vector-effect: non-scaling-stroke;
|
|
675
681
|
}
|
|
676
682
|
|
|
677
|
-
.
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
683
|
+
.disclosure-toggle:hover {
|
|
684
|
+
transform: none;
|
|
685
|
+
color: var(--accent-strong);
|
|
686
|
+
background: rgba(196, 85, 31, 0.08);
|
|
681
687
|
}
|
|
682
688
|
|
|
683
|
-
.
|
|
684
|
-
|
|
685
|
-
border-radius: 16px;
|
|
686
|
-
background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(249, 242, 232, 0.98) 100%);
|
|
687
|
-
padding: 12px;
|
|
688
|
-
display: flex;
|
|
689
|
-
flex-direction: column;
|
|
690
|
-
gap: 10px;
|
|
691
|
-
box-shadow: 0 10px 22px rgba(44, 31, 15, 0.08);
|
|
689
|
+
.disclosure-toggle:active {
|
|
690
|
+
transform: none;
|
|
692
691
|
}
|
|
693
692
|
|
|
694
|
-
.
|
|
695
|
-
|
|
696
|
-
flex-wrap: wrap;
|
|
697
|
-
align-items: flex-start;
|
|
698
|
-
justify-content: space-between;
|
|
699
|
-
gap: 12px;
|
|
693
|
+
.disclosure-toggle[aria-expanded="true"] {
|
|
694
|
+
transform: rotate(90deg);
|
|
700
695
|
}
|
|
701
696
|
|
|
702
|
-
.
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
697
|
+
.disclosure-toggle[aria-expanded="true"]:hover {
|
|
698
|
+
transform: rotate(90deg);
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
.tree-node-button {
|
|
702
|
+
width: 100%;
|
|
703
|
+
text-align: left;
|
|
704
|
+
border: 1px solid rgba(181, 146, 99, 0.38);
|
|
705
|
+
background: rgba(255, 255, 255, 0.94);
|
|
708
706
|
color: var(--text);
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
justify-content: space-between;
|
|
712
|
-
gap: 12px;
|
|
707
|
+
border-radius: 12px;
|
|
708
|
+
padding: 10px 11px;
|
|
713
709
|
}
|
|
714
710
|
|
|
715
|
-
|
|
716
|
-
|
|
711
|
+
.tree-node-button:hover {
|
|
712
|
+
transform: none;
|
|
713
|
+
border-color: #d1aa7f;
|
|
714
|
+
background: #fff8ef;
|
|
715
|
+
}
|
|
716
|
+
|
|
717
|
+
.tree-node-button:active {
|
|
717
718
|
transform: none;
|
|
718
|
-
background: transparent;
|
|
719
719
|
}
|
|
720
720
|
|
|
721
|
-
|
|
721
|
+
.tree-node-button:focus-visible {
|
|
722
722
|
outline: none;
|
|
723
723
|
box-shadow: 0 0 0 3px rgba(196, 85, 31, 0.14);
|
|
724
724
|
}
|
|
725
725
|
|
|
726
|
-
.
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
flex-direction: column;
|
|
731
|
-
gap: 8px;
|
|
726
|
+
.tree-node-button.active {
|
|
727
|
+
border-color: #c68d5a;
|
|
728
|
+
background: #fff3e8;
|
|
729
|
+
box-shadow: inset 3px 0 0 var(--accent), 0 0 0 2px rgba(196, 85, 31, 0.14);
|
|
732
730
|
}
|
|
733
731
|
|
|
734
|
-
.
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
gap: 10px;
|
|
738
|
-
min-width: 0;
|
|
732
|
+
.tree-node-button.tree-node-tone-history .tree-node-title,
|
|
733
|
+
.tree-node-button.tree-node-tone-history .tree-node-meta {
|
|
734
|
+
color: var(--tree-history-text);
|
|
739
735
|
}
|
|
740
736
|
|
|
741
|
-
.
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
flex-direction: column;
|
|
745
|
-
gap: 4px;
|
|
737
|
+
.tree-node-block.has-active > .tree-node-row > .tree-node-button:not(.active) {
|
|
738
|
+
border-color: #c68d5a;
|
|
739
|
+
box-shadow: 0 0 0 2px rgba(196, 85, 31, 0.08);
|
|
746
740
|
}
|
|
747
741
|
|
|
748
|
-
.
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
flex: 0 0 auto;
|
|
752
|
-
display: inline-flex;
|
|
753
|
-
align-items: center;
|
|
754
|
-
justify-content: center;
|
|
755
|
-
border-radius: 11px;
|
|
756
|
-
border: 1px solid rgba(181, 146, 99, 0.34);
|
|
757
|
-
background: linear-gradient(180deg, rgba(255, 244, 232, 0.96) 0%, rgba(255, 252, 247, 0.9) 100%);
|
|
758
|
-
color: var(--accent-strong);
|
|
759
|
-
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
|
|
742
|
+
.tree-node-button-directory,
|
|
743
|
+
.tree-node-button-container {
|
|
744
|
+
background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(249, 242, 232, 0.98) 100%);
|
|
760
745
|
}
|
|
761
746
|
|
|
762
|
-
.
|
|
763
|
-
|
|
764
|
-
height: 18px;
|
|
765
|
-
display: block;
|
|
747
|
+
.tree-node-row-container .tree-node-button-container {
|
|
748
|
+
padding-right: 52px;
|
|
766
749
|
}
|
|
767
750
|
|
|
768
|
-
.
|
|
751
|
+
.tree-node-main {
|
|
752
|
+
min-width: 0;
|
|
769
753
|
display: flex;
|
|
770
|
-
flex-
|
|
771
|
-
gap:
|
|
772
|
-
align-items: center;
|
|
754
|
+
flex-direction: column;
|
|
755
|
+
gap: 6px;
|
|
773
756
|
}
|
|
774
757
|
|
|
775
|
-
.
|
|
776
|
-
|
|
777
|
-
align-items: center;
|
|
778
|
-
gap: 4px;
|
|
779
|
-
min-height: 26px;
|
|
780
|
-
padding: 4px 10px;
|
|
781
|
-
border-radius: 999px;
|
|
782
|
-
border: 1px solid transparent;
|
|
783
|
-
font-size: 11px;
|
|
758
|
+
.tree-node-title {
|
|
759
|
+
margin-top: 0;
|
|
784
760
|
font-weight: 700;
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
.container-status-pill {
|
|
789
|
-
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.55);
|
|
761
|
+
font-size: 13px;
|
|
762
|
+
line-height: 1.5;
|
|
763
|
+
overflow-wrap: anywhere;
|
|
790
764
|
}
|
|
791
765
|
|
|
792
|
-
.
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
766
|
+
.tree-node-button-directory .tree-node-title,
|
|
767
|
+
.tree-node-button-container .tree-node-title {
|
|
768
|
+
font-family: var(--font-mono);
|
|
769
|
+
font-size: 12px;
|
|
770
|
+
font-weight: 600;
|
|
796
771
|
}
|
|
797
772
|
|
|
798
|
-
.
|
|
773
|
+
.tree-node-meta {
|
|
799
774
|
color: #7b6d5d;
|
|
800
775
|
font-size: 11px;
|
|
801
776
|
line-height: 1.45;
|
|
802
|
-
|
|
803
|
-
overflow: hidden;
|
|
804
|
-
text-overflow: ellipsis;
|
|
777
|
+
overflow-wrap: anywhere;
|
|
805
778
|
}
|
|
806
779
|
|
|
807
|
-
.
|
|
808
|
-
|
|
809
|
-
padding: 7px 11px;
|
|
780
|
+
.tree-node-status {
|
|
781
|
+
font-weight: 700;
|
|
810
782
|
font-size: 12px;
|
|
811
|
-
border-radius: 999px;
|
|
812
|
-
white-space: nowrap;
|
|
813
|
-
margin-bottom: 2px;
|
|
814
|
-
}
|
|
815
|
-
|
|
816
|
-
.agent-list {
|
|
817
|
-
display: flex;
|
|
818
|
-
flex-direction: column;
|
|
819
|
-
gap: 7px;
|
|
820
783
|
}
|
|
821
784
|
|
|
822
|
-
.
|
|
823
|
-
|
|
824
|
-
padding: 10px;
|
|
825
|
-
border: 1px solid rgba(181, 146, 99, 0.28);
|
|
826
|
-
border-top-color: rgba(181, 146, 99, 0.4);
|
|
827
|
-
border-radius: 13px;
|
|
828
|
-
background: linear-gradient(180deg, rgba(244, 238, 228, 0.88) 0%, rgba(255, 255, 255, 0.98) 100%);
|
|
829
|
-
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88);
|
|
785
|
+
.tree-node-status.running {
|
|
786
|
+
color: var(--status-running-text);
|
|
830
787
|
}
|
|
831
788
|
|
|
832
|
-
.
|
|
833
|
-
|
|
789
|
+
.tree-node-status.stopped {
|
|
790
|
+
color: var(--status-stopped-text);
|
|
834
791
|
}
|
|
835
792
|
|
|
836
|
-
.
|
|
837
|
-
|
|
838
|
-
width: 100%;
|
|
839
|
-
border: 1px solid rgba(181, 146, 99, 0.38);
|
|
840
|
-
background: rgba(255, 255, 255, 0.94);
|
|
841
|
-
color: var(--text);
|
|
842
|
-
border-radius: 12px;
|
|
843
|
-
padding: 10px 11px;
|
|
844
|
-
animation: itemIn 220ms ease both;
|
|
845
|
-
animation-delay: calc(var(--item-index, 0) * 24ms);
|
|
793
|
+
.tree-node-status.history {
|
|
794
|
+
color: var(--tree-history-text);
|
|
846
795
|
}
|
|
847
796
|
|
|
848
|
-
.
|
|
849
|
-
|
|
850
|
-
background: #fff8ef;
|
|
797
|
+
.tree-node-status.unknown {
|
|
798
|
+
color: var(--status-unknown-text);
|
|
851
799
|
}
|
|
852
800
|
|
|
853
|
-
.
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
801
|
+
.tree-node-hover-menu {
|
|
802
|
+
position: absolute;
|
|
803
|
+
top: 50%;
|
|
804
|
+
right: 10px;
|
|
805
|
+
display: inline-flex;
|
|
806
|
+
align-items: center;
|
|
807
|
+
gap: 6px;
|
|
808
|
+
opacity: 0;
|
|
809
|
+
pointer-events: none;
|
|
810
|
+
transform: translateY(-50%) translateX(4px);
|
|
811
|
+
transition: opacity 140ms ease, transform 140ms ease;
|
|
857
812
|
}
|
|
858
813
|
|
|
859
|
-
.
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
814
|
+
.tree-node-row-container:hover .tree-node-hover-menu,
|
|
815
|
+
.tree-node-hover-menu:focus-within {
|
|
816
|
+
opacity: 1;
|
|
817
|
+
pointer-events: auto;
|
|
818
|
+
transform: translateY(-50%) translateX(0);
|
|
864
819
|
}
|
|
865
820
|
|
|
866
|
-
.
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
821
|
+
.tree-node-menu-item {
|
|
822
|
+
padding: 6px 9px;
|
|
823
|
+
font-size: 11px;
|
|
824
|
+
border-radius: 999px;
|
|
825
|
+
white-space: nowrap;
|
|
826
|
+
box-shadow: 0 10px 22px rgba(44, 31, 15, 0.12);
|
|
871
827
|
}
|
|
872
828
|
|
|
873
|
-
.
|
|
874
|
-
|
|
875
|
-
font-size: 11px;
|
|
876
|
-
color: #7b6d5d;
|
|
829
|
+
.tree-node-children[hidden] {
|
|
830
|
+
display: none;
|
|
877
831
|
}
|
|
878
832
|
|
|
879
833
|
.dir-picker-modal {
|
|
@@ -1631,14 +1585,36 @@ details.trace-card > .trace-card-summary {
|
|
|
1631
1585
|
margin-bottom: 10px;
|
|
1632
1586
|
}
|
|
1633
1587
|
|
|
1588
|
+
.composer-toolbar-meta {
|
|
1589
|
+
display: inline-flex;
|
|
1590
|
+
align-items: center;
|
|
1591
|
+
gap: 10px;
|
|
1592
|
+
margin-left: auto;
|
|
1593
|
+
}
|
|
1594
|
+
|
|
1634
1595
|
.composer-mode-switch {
|
|
1635
1596
|
display: inline-flex;
|
|
1636
1597
|
gap: 8px;
|
|
1637
1598
|
}
|
|
1638
1599
|
|
|
1639
|
-
.
|
|
1600
|
+
.toolbar-mini-btn {
|
|
1601
|
+
padding: 7px 12px;
|
|
1602
|
+
font-size: 12px;
|
|
1603
|
+
white-space: nowrap;
|
|
1604
|
+
}
|
|
1605
|
+
|
|
1606
|
+
.toolbar-chip {
|
|
1607
|
+
display: inline-flex;
|
|
1608
|
+
align-items: center;
|
|
1609
|
+
min-height: 32px;
|
|
1610
|
+
padding: 7px 12px;
|
|
1611
|
+
border: 1px solid var(--line);
|
|
1612
|
+
border-radius: 10px;
|
|
1613
|
+
background: var(--panel-soft);
|
|
1640
1614
|
color: var(--muted);
|
|
1641
1615
|
font-size: 12px;
|
|
1616
|
+
line-height: 1;
|
|
1617
|
+
white-space: nowrap;
|
|
1642
1618
|
}
|
|
1643
1619
|
|
|
1644
1620
|
.composer-inner {
|
|
@@ -1883,8 +1859,10 @@ details.trace-card > .trace-card-summary {
|
|
|
1883
1859
|
align-items: flex-start;
|
|
1884
1860
|
}
|
|
1885
1861
|
|
|
1886
|
-
.composer-toolbar-
|
|
1887
|
-
|
|
1862
|
+
.composer-toolbar-meta {
|
|
1863
|
+
width: 100%;
|
|
1864
|
+
justify-content: space-between;
|
|
1865
|
+
margin-left: 0;
|
|
1888
1866
|
}
|
|
1889
1867
|
|
|
1890
1868
|
.composer-mode-switch {
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
<span>工作台</span>
|
|
35
35
|
<span id="sessionCount">0 个</span>
|
|
36
36
|
</div>
|
|
37
|
-
<div id="sessionList"></div>
|
|
37
|
+
<div id="sessionList" role="tree" aria-label="会话树"></div>
|
|
38
38
|
</aside>
|
|
39
39
|
<main class="main">
|
|
40
40
|
<header class="header">
|
|
@@ -105,7 +105,10 @@
|
|
|
105
105
|
<button type="button" id="activityAgentBtn" class="secondary is-active">Agent</button>
|
|
106
106
|
<button type="button" id="activityCommandBtn" class="secondary">命令</button>
|
|
107
107
|
</div>
|
|
108
|
-
<div class="composer-toolbar-
|
|
108
|
+
<div class="composer-toolbar-meta">
|
|
109
|
+
<button type="button" id="agentTemplateBtn" class="secondary toolbar-mini-btn">CLI · —</button>
|
|
110
|
+
<span id="activityModelChip" class="toolbar-chip" aria-live="polite">模型 · —</span>
|
|
111
|
+
</div>
|
|
109
112
|
</div>
|
|
110
113
|
<div class="composer-inner">
|
|
111
114
|
<textarea id="commandInput" placeholder="输入容器命令,例如: ls -la"></textarea>
|
|
@@ -220,6 +223,31 @@
|
|
|
220
223
|
</div>
|
|
221
224
|
</section>
|
|
222
225
|
</div>
|
|
226
|
+
|
|
227
|
+
<div id="agentTemplateModal" class="modal-backdrop" hidden>
|
|
228
|
+
<section class="modal agent-template-modal" role="dialog" aria-modal="true" aria-labelledby="agentTemplateTitle">
|
|
229
|
+
<header class="modal-header">
|
|
230
|
+
<h2 id="agentTemplateTitle">设置 CLI / Agent 模板</h2>
|
|
231
|
+
<button type="button" id="agentTemplateCancelBtn" class="secondary">关闭</button>
|
|
232
|
+
</header>
|
|
233
|
+
<div class="modal-body">
|
|
234
|
+
<div id="agentTemplateTip" class="modal-tip"></div>
|
|
235
|
+
<label class="text-block">容器默认 agentPromptCommand
|
|
236
|
+
<textarea id="containerAgentPromptEditor" placeholder="例如 codex exec --skip-git-repo-check {prompt}"></textarea>
|
|
237
|
+
</label>
|
|
238
|
+
<div id="agentTemplateOverrideGroup">
|
|
239
|
+
<label class="text-block">当前 AGENT 覆盖模板
|
|
240
|
+
<textarea id="agentPromptOverrideEditor" placeholder="留空则继承容器默认模板"></textarea>
|
|
241
|
+
</label>
|
|
242
|
+
</div>
|
|
243
|
+
<div id="agentTemplateError" class="modal-error" hidden></div>
|
|
244
|
+
</div>
|
|
245
|
+
<footer class="modal-footer">
|
|
246
|
+
<button type="button" id="agentTemplateResetBtn" class="secondary">恢复当前值</button>
|
|
247
|
+
<button type="button" id="agentTemplateSaveBtn">保存</button>
|
|
248
|
+
</footer>
|
|
249
|
+
</section>
|
|
250
|
+
</div>
|
|
223
251
|
</div>
|
|
224
252
|
|
|
225
253
|
<script src="/app/vendor/xterm.js"></script>
|