@xcanwin/manyoyo 6.1.3 → 6.2.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 +190 -218
- package/lib/web/frontend/app.html +19 -39
- package/lib/web/frontend/app.js +236 -253
- package/lib/web/frontend/chat-behavior.js +23 -4
- package/package.json +1 -1
package/lib/web/frontend/app.css
CHANGED
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
--line-medium: rgba(181, 146, 99, 0.4);
|
|
18
18
|
--tree-guide: rgba(181, 146, 99, 0.44);
|
|
19
19
|
--tree-guide-soft: rgba(181, 146, 99, 0.44);
|
|
20
|
+
--tree-active: #ecdfc8;
|
|
20
21
|
|
|
21
22
|
--surface-panel: linear-gradient(180deg, rgba(255, 255, 255, 0.88) 0%, rgba(252, 246, 236, 0.88) 100%);
|
|
22
23
|
|
|
@@ -160,13 +161,6 @@ body::after {
|
|
|
160
161
|
text-transform: uppercase;
|
|
161
162
|
}
|
|
162
163
|
|
|
163
|
-
.brand-sub {
|
|
164
|
-
color: var(--muted);
|
|
165
|
-
font-size: 11px;
|
|
166
|
-
letter-spacing: 0.3px;
|
|
167
|
-
text-transform: uppercase;
|
|
168
|
-
}
|
|
169
|
-
|
|
170
164
|
.sidebar-actions {
|
|
171
165
|
display: inline-flex;
|
|
172
166
|
gap: 8px;
|
|
@@ -258,12 +252,6 @@ textarea:focus-visible {
|
|
|
258
252
|
display: none;
|
|
259
253
|
}
|
|
260
254
|
|
|
261
|
-
.mobile-actions-toggle {
|
|
262
|
-
display: inline-flex;
|
|
263
|
-
padding: 8px 12px;
|
|
264
|
-
font-size: 13px;
|
|
265
|
-
}
|
|
266
|
-
|
|
267
255
|
.sidebar-backdrop[hidden] {
|
|
268
256
|
display: none !important;
|
|
269
257
|
}
|
|
@@ -682,9 +670,9 @@ button.tree-toggle:active {
|
|
|
682
670
|
column-gap: 8px;
|
|
683
671
|
}
|
|
684
672
|
|
|
685
|
-
.tree-node-row.tree-node-row-container
|
|
673
|
+
.tree-node-row.tree-node-row-container,
|
|
674
|
+
.tree-node-row.tree-node-row-agent {
|
|
686
675
|
position: relative;
|
|
687
|
-
grid-template-columns: auto minmax(0, 1fr);
|
|
688
676
|
}
|
|
689
677
|
|
|
690
678
|
.tree-prefix {
|
|
@@ -802,17 +790,17 @@ button.tree-toggle:active {
|
|
|
802
790
|
.tree-node-button {
|
|
803
791
|
width: 100%;
|
|
804
792
|
text-align: left;
|
|
805
|
-
border: 1px solid
|
|
806
|
-
background:
|
|
793
|
+
border: 1px solid transparent;
|
|
794
|
+
background: transparent;
|
|
807
795
|
color: var(--text);
|
|
808
|
-
border-radius:
|
|
796
|
+
border-radius: 10px;
|
|
809
797
|
padding: 10px 11px;
|
|
798
|
+
transition: background-color 120ms ease;
|
|
810
799
|
}
|
|
811
800
|
|
|
812
801
|
.tree-node-button:hover {
|
|
813
802
|
transform: none;
|
|
814
|
-
|
|
815
|
-
background: #fff8ef;
|
|
803
|
+
background: var(--panel-soft);
|
|
816
804
|
}
|
|
817
805
|
|
|
818
806
|
.tree-node-button:active {
|
|
@@ -825,9 +813,7 @@ button.tree-toggle:active {
|
|
|
825
813
|
}
|
|
826
814
|
|
|
827
815
|
.tree-node-button.active {
|
|
828
|
-
|
|
829
|
-
background: #fff3e8;
|
|
830
|
-
box-shadow: inset 3px 0 0 var(--accent), 0 0 0 2px rgba(196, 85, 31, 0.14);
|
|
816
|
+
background: var(--tree-active);
|
|
831
817
|
}
|
|
832
818
|
|
|
833
819
|
.tree-node-button.tree-node-tone-history .tree-node-title,
|
|
@@ -836,17 +822,12 @@ button.tree-toggle:active {
|
|
|
836
822
|
}
|
|
837
823
|
|
|
838
824
|
.tree-node-block.has-active > .tree-node-row > .tree-node-button:not(.active) {
|
|
839
|
-
|
|
840
|
-
box-shadow: 0 0 0 2px rgba(196, 85, 31, 0.08);
|
|
841
|
-
}
|
|
842
|
-
|
|
843
|
-
.tree-node-button-directory,
|
|
844
|
-
.tree-node-button-container {
|
|
845
|
-
background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(249, 242, 232, 0.98) 100%);
|
|
825
|
+
background: var(--panel-soft);
|
|
846
826
|
}
|
|
847
827
|
|
|
848
|
-
.tree-node-row-container .tree-node-button-container
|
|
849
|
-
|
|
828
|
+
.tree-node-row-container .tree-node-button-container,
|
|
829
|
+
.tree-node-row-agent .tree-node-button-agent {
|
|
830
|
+
padding-right: 38px;
|
|
850
831
|
}
|
|
851
832
|
|
|
852
833
|
.tree-node-main {
|
|
@@ -899,32 +880,95 @@ button.tree-toggle:active {
|
|
|
899
880
|
color: var(--status-unknown-text);
|
|
900
881
|
}
|
|
901
882
|
|
|
902
|
-
.tree-node-
|
|
883
|
+
.tree-node-menu {
|
|
903
884
|
position: absolute;
|
|
904
885
|
top: 50%;
|
|
905
|
-
right:
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
gap: 6px;
|
|
886
|
+
right: 6px;
|
|
887
|
+
z-index: 9;
|
|
888
|
+
transform: translateY(-50%);
|
|
909
889
|
opacity: 0;
|
|
910
890
|
pointer-events: none;
|
|
911
|
-
|
|
912
|
-
transition: opacity 140ms ease, transform 140ms ease;
|
|
891
|
+
transition: opacity 140ms ease;
|
|
913
892
|
}
|
|
914
893
|
|
|
915
|
-
.tree-node-row
|
|
916
|
-
.tree-node-
|
|
894
|
+
.tree-node-row:hover .tree-node-menu,
|
|
895
|
+
.tree-node-menu:focus-within,
|
|
896
|
+
.tree-node-menu.is-open {
|
|
917
897
|
opacity: 1;
|
|
918
898
|
pointer-events: auto;
|
|
919
|
-
transform: translateY(-50%) translateX(0);
|
|
920
899
|
}
|
|
921
900
|
|
|
922
|
-
.tree-node-menu-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
901
|
+
.tree-node-menu.is-open {
|
|
902
|
+
z-index: 20;
|
|
903
|
+
}
|
|
904
|
+
|
|
905
|
+
@media (hover: none) {
|
|
906
|
+
.tree-node-menu {
|
|
907
|
+
opacity: 1;
|
|
908
|
+
pointer-events: auto;
|
|
909
|
+
}
|
|
910
|
+
}
|
|
911
|
+
|
|
912
|
+
.tree-node-menu-trigger {
|
|
913
|
+
width: 26px;
|
|
914
|
+
height: 26px;
|
|
915
|
+
padding: 0;
|
|
916
|
+
display: inline-flex;
|
|
917
|
+
align-items: center;
|
|
918
|
+
justify-content: center;
|
|
919
|
+
border-radius: 8px;
|
|
920
|
+
}
|
|
921
|
+
|
|
922
|
+
.tree-node-menu-trigger svg {
|
|
923
|
+
width: 14px;
|
|
924
|
+
height: 14px;
|
|
925
|
+
fill: currentColor;
|
|
926
|
+
}
|
|
927
|
+
|
|
928
|
+
.tree-node-menu-panel {
|
|
929
|
+
position: absolute;
|
|
930
|
+
top: calc(100% + 4px);
|
|
931
|
+
right: 0;
|
|
932
|
+
z-index: 9;
|
|
933
|
+
width: max-content;
|
|
934
|
+
min-width: 140px;
|
|
935
|
+
padding: 6px;
|
|
936
|
+
border: 1px solid var(--line);
|
|
937
|
+
border-radius: 10px;
|
|
938
|
+
background: #fffaf2;
|
|
939
|
+
box-shadow: var(--shadow-strong);
|
|
940
|
+
display: flex;
|
|
941
|
+
flex-direction: column;
|
|
942
|
+
gap: 2px;
|
|
943
|
+
}
|
|
944
|
+
|
|
945
|
+
.tree-node-menu-panel[hidden] {
|
|
946
|
+
display: none;
|
|
947
|
+
}
|
|
948
|
+
|
|
949
|
+
.tree-node-menu-panel-item {
|
|
950
|
+
width: 100%;
|
|
951
|
+
text-align: left;
|
|
952
|
+
border: none;
|
|
953
|
+
background: transparent;
|
|
954
|
+
color: var(--text);
|
|
955
|
+
font-weight: 600;
|
|
956
|
+
font-size: 12px;
|
|
957
|
+
padding: 7px 9px;
|
|
958
|
+
border-radius: 6px;
|
|
959
|
+
}
|
|
960
|
+
|
|
961
|
+
.tree-node-menu-panel-item:hover {
|
|
962
|
+
transform: none;
|
|
963
|
+
background: var(--panel-soft);
|
|
964
|
+
}
|
|
965
|
+
|
|
966
|
+
.tree-node-menu-panel-item.is-danger {
|
|
967
|
+
color: var(--danger);
|
|
968
|
+
}
|
|
969
|
+
|
|
970
|
+
.tree-node-menu-panel-item.is-danger:hover {
|
|
971
|
+
background: var(--danger-soft);
|
|
928
972
|
}
|
|
929
973
|
|
|
930
974
|
.tree-node-children[hidden] {
|
|
@@ -996,8 +1040,9 @@ button.tree-toggle:active {
|
|
|
996
1040
|
display: grid;
|
|
997
1041
|
grid-template-rows: auto minmax(0, 1fr) auto;
|
|
998
1042
|
gap: 0;
|
|
999
|
-
|
|
1000
|
-
|
|
1043
|
+
/* 和 #messages / .composer 用同一个 --surface-panel,避免包裹它们的这层
|
|
1044
|
+
在缝隙处显得比内容区更深一截 */
|
|
1045
|
+
background: var(--surface-panel);
|
|
1001
1046
|
animation: panelIn 360ms ease 60ms both;
|
|
1002
1047
|
}
|
|
1003
1048
|
|
|
@@ -1015,51 +1060,18 @@ button.tree-toggle:active {
|
|
|
1015
1060
|
flex: 1;
|
|
1016
1061
|
min-width: 0;
|
|
1017
1062
|
display: flex;
|
|
1018
|
-
flex-direction: column;
|
|
1019
|
-
gap: 8px;
|
|
1020
|
-
}
|
|
1021
|
-
|
|
1022
|
-
.header-main-top {
|
|
1023
|
-
display: flex;
|
|
1024
|
-
align-items: center;
|
|
1025
|
-
gap: 8px;
|
|
1026
|
-
min-width: 0;
|
|
1027
|
-
}
|
|
1028
|
-
|
|
1029
|
-
.header-menu {
|
|
1030
|
-
position: relative;
|
|
1031
|
-
flex: none;
|
|
1032
|
-
}
|
|
1033
|
-
|
|
1034
|
-
#activeTitle {
|
|
1035
|
-
margin: 0;
|
|
1036
|
-
font-family: var(--font-display);
|
|
1037
|
-
font-size: 22px;
|
|
1038
|
-
font-weight: 700;
|
|
1039
|
-
line-height: 1.12;
|
|
1040
|
-
letter-spacing: 0.4px;
|
|
1041
|
-
word-break: break-all;
|
|
1042
|
-
}
|
|
1043
|
-
|
|
1044
|
-
.header-main-top #activeTitle {
|
|
1045
|
-
flex: 1;
|
|
1046
|
-
min-width: 0;
|
|
1047
|
-
}
|
|
1048
|
-
|
|
1049
|
-
#activeMeta {
|
|
1050
|
-
margin-top: 2px;
|
|
1051
|
-
font-size: 12px;
|
|
1052
|
-
color: var(--muted);
|
|
1053
1063
|
}
|
|
1054
1064
|
|
|
1055
1065
|
.workbench-tabs {
|
|
1056
|
-
|
|
1066
|
+
flex: 1;
|
|
1067
|
+
display: flex;
|
|
1057
1068
|
flex-wrap: wrap;
|
|
1069
|
+
align-items: center;
|
|
1058
1070
|
gap: 8px;
|
|
1059
1071
|
}
|
|
1060
1072
|
|
|
1061
1073
|
.workbench-tabs button.is-active,
|
|
1062
|
-
.composer-
|
|
1074
|
+
.composer-options-panel button.is-active {
|
|
1063
1075
|
color: #ffffff;
|
|
1064
1076
|
background: var(--accent);
|
|
1065
1077
|
border-color: var(--accent-strong);
|
|
@@ -1068,6 +1080,8 @@ button.tree-toggle:active {
|
|
|
1068
1080
|
.workspace-switcher {
|
|
1069
1081
|
position: relative;
|
|
1070
1082
|
display: inline-flex;
|
|
1083
|
+
/* 始终贴住这一行的右侧:桌面端只有它自己时贴最右,移动端"会话"贴最左时它仍贴最右 */
|
|
1084
|
+
margin-left: auto;
|
|
1071
1085
|
}
|
|
1072
1086
|
|
|
1073
1087
|
.workspace-switcher-btn {
|
|
@@ -1095,7 +1109,8 @@ button.tree-toggle:active {
|
|
|
1095
1109
|
display: none;
|
|
1096
1110
|
position: absolute;
|
|
1097
1111
|
top: calc(100% + 8px);
|
|
1098
|
-
|
|
1112
|
+
/* 触发按钮固定贴住这一行右侧,面板也从右边缘向左展开,避免在宽屏下超出视口 */
|
|
1113
|
+
right: 0;
|
|
1099
1114
|
z-index: 8;
|
|
1100
1115
|
width: max-content;
|
|
1101
1116
|
padding: 8px;
|
|
@@ -1115,26 +1130,6 @@ body.workspace-switcher-open .workspace-switcher-panel {
|
|
|
1115
1130
|
text-align: left;
|
|
1116
1131
|
}
|
|
1117
1132
|
|
|
1118
|
-
.header-actions {
|
|
1119
|
-
display: none;
|
|
1120
|
-
position: absolute;
|
|
1121
|
-
top: calc(100% + 8px);
|
|
1122
|
-
right: 0;
|
|
1123
|
-
z-index: 8;
|
|
1124
|
-
width: min(240px, calc(100vw - 36px));
|
|
1125
|
-
padding: 8px;
|
|
1126
|
-
border: 1px solid var(--line);
|
|
1127
|
-
border-radius: 10px;
|
|
1128
|
-
background: #fffaf2;
|
|
1129
|
-
box-shadow: var(--shadow-strong);
|
|
1130
|
-
grid-template-columns: 1fr;
|
|
1131
|
-
gap: 8px;
|
|
1132
|
-
}
|
|
1133
|
-
|
|
1134
|
-
body.mobile-actions-open .header-actions {
|
|
1135
|
-
display: grid;
|
|
1136
|
-
}
|
|
1137
|
-
|
|
1138
1133
|
.workspace-shell {
|
|
1139
1134
|
min-height: 0;
|
|
1140
1135
|
height: 100%;
|
|
@@ -1166,8 +1161,7 @@ body.mobile-actions-open .header-actions {
|
|
|
1166
1161
|
min-height: 0;
|
|
1167
1162
|
overflow-y: auto;
|
|
1168
1163
|
margin: 0;
|
|
1169
|
-
padding: 14px;
|
|
1170
|
-
border: 1px solid var(--line);
|
|
1164
|
+
padding: 14px 14px 44px;
|
|
1171
1165
|
border-radius: 14px;
|
|
1172
1166
|
display: flex;
|
|
1173
1167
|
flex-direction: column;
|
|
@@ -1663,6 +1657,17 @@ body.terminal-mode .composer {
|
|
|
1663
1657
|
gap: 6px;
|
|
1664
1658
|
animation: msgIn 210ms ease both;
|
|
1665
1659
|
animation-delay: 0ms;
|
|
1660
|
+
/* animation 会让每条消息各自建立独立的层叠上下文(transform/opacity 动画的副作用),
|
|
1661
|
+
悬浮显示的 .msg-actions 浮层因此只能在本条消息内部比较 z-index,
|
|
1662
|
+
会被后面消息按 DOM 序整体盖住;悬浮时显式提升本条消息的 z-index 才能穿透 */
|
|
1663
|
+
z-index: 0;
|
|
1664
|
+
}
|
|
1665
|
+
|
|
1666
|
+
.msg:hover,
|
|
1667
|
+
.msg:focus-within {
|
|
1668
|
+
/* 需要高于移动端 .composer 的 z-index: 3(position: sticky,悬浮在滚动内容之上),
|
|
1669
|
+
否则最后一条消息的浮层会被吸底的输入框盖住 */
|
|
1670
|
+
z-index: 4;
|
|
1666
1671
|
}
|
|
1667
1672
|
|
|
1668
1673
|
.msg.user {
|
|
@@ -1708,20 +1713,45 @@ body.terminal-mode .composer {
|
|
|
1708
1713
|
}
|
|
1709
1714
|
|
|
1710
1715
|
.msg-actions {
|
|
1716
|
+
position: absolute;
|
|
1717
|
+
top: 100%;
|
|
1718
|
+
/* 用 padding-top 而不是 margin-top 留白:margin 在盒子外,鼠标从气泡移到按钮
|
|
1719
|
+
之间会经过一段没有任何元素承接的"死区",:hover 提前丢失导致按钮还没碰到就消失;
|
|
1720
|
+
padding 仍属于本元素的可命中区域,鼠标全程都在同一个悬浮触发范围内 */
|
|
1721
|
+
padding-top: 4px;
|
|
1711
1722
|
display: flex;
|
|
1712
1723
|
gap: 6px;
|
|
1713
1724
|
opacity: 0;
|
|
1725
|
+
pointer-events: none;
|
|
1714
1726
|
transition: opacity 140ms ease;
|
|
1727
|
+
z-index: 1;
|
|
1728
|
+
}
|
|
1729
|
+
|
|
1730
|
+
.msg.user .msg-actions {
|
|
1731
|
+
right: 0;
|
|
1732
|
+
}
|
|
1733
|
+
|
|
1734
|
+
.msg.assistant .msg-actions,
|
|
1735
|
+
.msg.system .msg-actions {
|
|
1736
|
+
left: 0;
|
|
1715
1737
|
}
|
|
1716
1738
|
|
|
1717
1739
|
.msg:hover .msg-actions,
|
|
1718
1740
|
.msg:focus-within .msg-actions {
|
|
1719
1741
|
opacity: 1;
|
|
1742
|
+
pointer-events: auto;
|
|
1720
1743
|
}
|
|
1721
1744
|
|
|
1722
1745
|
@media (hover: none) {
|
|
1723
1746
|
.msg-actions {
|
|
1724
1747
|
opacity: 1;
|
|
1748
|
+
pointer-events: auto;
|
|
1749
|
+
}
|
|
1750
|
+
|
|
1751
|
+
/* 触屏设备没有真正的 :hover,上面 .msg:hover 提升 z-index 的规则永远不会触发;
|
|
1752
|
+
这里常驻按住基础 z-index 之上,浮层才不会被吸底输入框(sticky, z-index: 3)盖住 */
|
|
1753
|
+
.msg {
|
|
1754
|
+
z-index: 4;
|
|
1725
1755
|
}
|
|
1726
1756
|
}
|
|
1727
1757
|
|
|
@@ -1739,6 +1769,9 @@ body.terminal-mode .composer {
|
|
|
1739
1769
|
|
|
1740
1770
|
.msg-copy-btn:hover {
|
|
1741
1771
|
color: var(--accent-strong);
|
|
1772
|
+
/* 不显式设置背景色的话,通用 button:hover 规则的深色背景会覆盖进来,
|
|
1773
|
+
和同色系的文字撞色看不清,这里只需要比默认背景微微变深 */
|
|
1774
|
+
background: #f0e6d3;
|
|
1742
1775
|
border-color: var(--line-strong);
|
|
1743
1776
|
}
|
|
1744
1777
|
|
|
@@ -1767,6 +1800,7 @@ body.terminal-mode .composer {
|
|
|
1767
1800
|
}
|
|
1768
1801
|
|
|
1769
1802
|
.bubble {
|
|
1803
|
+
position: relative;
|
|
1770
1804
|
border: 1px solid var(--line);
|
|
1771
1805
|
border-radius: 10px;
|
|
1772
1806
|
background: var(--assistant-bubble);
|
|
@@ -1822,6 +1856,7 @@ body.command-mode .msg.origin-agent .bubble {
|
|
|
1822
1856
|
display: flex;
|
|
1823
1857
|
flex-direction: column;
|
|
1824
1858
|
gap: 10px;
|
|
1859
|
+
margin-bottom: 10px;
|
|
1825
1860
|
}
|
|
1826
1861
|
|
|
1827
1862
|
.trace-flow {
|
|
@@ -1998,49 +2033,61 @@ details.trace-card > .trace-card-summary {
|
|
|
1998
2033
|
}
|
|
1999
2034
|
|
|
2000
2035
|
.composer {
|
|
2001
|
-
border-top: 1px solid var(--line-medium);
|
|
2002
2036
|
margin-top: 12px;
|
|
2003
2037
|
padding: 12px 8px 4px;
|
|
2038
|
+
border-radius: 14px;
|
|
2004
2039
|
background: linear-gradient(180deg, rgba(255, 255, 255, 0.32) 0%, rgba(255, 249, 240, 0.78) 100%);
|
|
2005
2040
|
}
|
|
2006
2041
|
|
|
2007
|
-
.composer-
|
|
2008
|
-
display:
|
|
2009
|
-
|
|
2010
|
-
|
|
2042
|
+
.composer-inner {
|
|
2043
|
+
display: grid;
|
|
2044
|
+
grid-template-columns: 1fr auto;
|
|
2045
|
+
align-items: flex-end;
|
|
2011
2046
|
gap: 10px;
|
|
2012
|
-
max-height: 0;
|
|
2013
|
-
margin-bottom: 0;
|
|
2014
|
-
opacity: 0;
|
|
2015
|
-
overflow: hidden;
|
|
2016
|
-
transition: max-height 180ms ease, opacity 160ms ease, margin-bottom 180ms ease;
|
|
2017
2047
|
}
|
|
2018
2048
|
|
|
2019
|
-
.composer
|
|
2020
|
-
|
|
2021
|
-
|
|
2022
|
-
|
|
2049
|
+
.composer-actions {
|
|
2050
|
+
display: flex;
|
|
2051
|
+
flex-direction: column;
|
|
2052
|
+
gap: 8px;
|
|
2023
2053
|
}
|
|
2024
2054
|
|
|
2025
|
-
.composer-
|
|
2026
|
-
|
|
2027
|
-
|
|
2028
|
-
gap: 10px;
|
|
2029
|
-
margin-left: auto;
|
|
2055
|
+
.composer-options {
|
|
2056
|
+
position: relative;
|
|
2057
|
+
display: flex;
|
|
2030
2058
|
}
|
|
2031
2059
|
|
|
2032
|
-
|
|
2033
|
-
|
|
2034
|
-
gap: 8px;
|
|
2060
|
+
#composerOptionsToggle {
|
|
2061
|
+
min-width: 92px;
|
|
2035
2062
|
}
|
|
2036
2063
|
|
|
2037
|
-
.
|
|
2038
|
-
|
|
2039
|
-
|
|
2040
|
-
|
|
2064
|
+
.composer-options-panel {
|
|
2065
|
+
display: none;
|
|
2066
|
+
position: absolute;
|
|
2067
|
+
/* 触发按钮在 composer 底部,下拉框往下展开会跑出视口,改成往上展开 */
|
|
2068
|
+
bottom: calc(100% + 8px);
|
|
2069
|
+
right: 0;
|
|
2070
|
+
z-index: 8;
|
|
2071
|
+
width: max-content;
|
|
2072
|
+
min-width: 140px;
|
|
2073
|
+
padding: 8px;
|
|
2074
|
+
border: 1px solid var(--line);
|
|
2075
|
+
border-radius: 10px;
|
|
2076
|
+
background: #fffaf2;
|
|
2077
|
+
box-shadow: var(--shadow-strong);
|
|
2078
|
+
flex-direction: column;
|
|
2079
|
+
gap: 6px;
|
|
2041
2080
|
}
|
|
2042
2081
|
|
|
2043
|
-
.
|
|
2082
|
+
body.composer-options-open .composer-options-panel {
|
|
2083
|
+
display: flex;
|
|
2084
|
+
}
|
|
2085
|
+
|
|
2086
|
+
.composer-options-panel button {
|
|
2087
|
+
text-align: left;
|
|
2088
|
+
}
|
|
2089
|
+
|
|
2090
|
+
.composer-options-info {
|
|
2044
2091
|
display: inline-flex;
|
|
2045
2092
|
align-items: center;
|
|
2046
2093
|
min-height: 32px;
|
|
@@ -2054,19 +2101,6 @@ details.trace-card > .trace-card-summary {
|
|
|
2054
2101
|
white-space: nowrap;
|
|
2055
2102
|
}
|
|
2056
2103
|
|
|
2057
|
-
.composer-inner {
|
|
2058
|
-
display: grid;
|
|
2059
|
-
grid-template-columns: 1fr auto;
|
|
2060
|
-
align-items: flex-end;
|
|
2061
|
-
gap: 10px;
|
|
2062
|
-
}
|
|
2063
|
-
|
|
2064
|
-
.composer-actions {
|
|
2065
|
-
display: flex;
|
|
2066
|
-
flex-direction: column;
|
|
2067
|
-
gap: 8px;
|
|
2068
|
-
}
|
|
2069
|
-
|
|
2070
2104
|
#commandInput {
|
|
2071
2105
|
width: 100%;
|
|
2072
2106
|
min-height: 116px;
|
|
@@ -2086,29 +2120,6 @@ details.trace-card > .trace-card-summary {
|
|
|
2086
2120
|
min-width: 92px;
|
|
2087
2121
|
}
|
|
2088
2122
|
|
|
2089
|
-
#stopBtn {
|
|
2090
|
-
min-width: 92px;
|
|
2091
|
-
}
|
|
2092
|
-
|
|
2093
|
-
.composer-foot {
|
|
2094
|
-
margin-top: 8px;
|
|
2095
|
-
display: flex;
|
|
2096
|
-
justify-content: space-between;
|
|
2097
|
-
align-items: center;
|
|
2098
|
-
gap: 10px;
|
|
2099
|
-
color: var(--muted);
|
|
2100
|
-
font-size: 12px;
|
|
2101
|
-
}
|
|
2102
|
-
|
|
2103
|
-
.send-state {
|
|
2104
|
-
white-space: nowrap;
|
|
2105
|
-
}
|
|
2106
|
-
|
|
2107
|
-
.send-state.is-active {
|
|
2108
|
-
color: var(--accent);
|
|
2109
|
-
font-weight: 700;
|
|
2110
|
-
}
|
|
2111
|
-
|
|
2112
2123
|
@keyframes panelIn {
|
|
2113
2124
|
from {
|
|
2114
2125
|
opacity: 0;
|
|
@@ -2269,42 +2280,14 @@ details.trace-card > .trace-card-summary {
|
|
|
2269
2280
|
}
|
|
2270
2281
|
|
|
2271
2282
|
.header {
|
|
2272
|
-
padding:
|
|
2273
|
-
|
|
2274
|
-
|
|
2275
|
-
#activeTitle {
|
|
2276
|
-
font-size: 20px;
|
|
2277
|
-
}
|
|
2278
|
-
|
|
2279
|
-
#activeMeta {
|
|
2280
|
-
display: none;
|
|
2283
|
+
padding: 4px 12px;
|
|
2284
|
+
border-bottom: none;
|
|
2281
2285
|
}
|
|
2282
2286
|
|
|
2283
2287
|
.workbench-tabs {
|
|
2284
|
-
display: flex;
|
|
2285
2288
|
gap: 6px;
|
|
2286
2289
|
}
|
|
2287
2290
|
|
|
2288
|
-
.workbench-tabs > #viewActivityBtn {
|
|
2289
|
-
flex: 1;
|
|
2290
|
-
padding: 8px 10px;
|
|
2291
|
-
font-size: 12px;
|
|
2292
|
-
}
|
|
2293
|
-
|
|
2294
|
-
.workspace-switcher-panel {
|
|
2295
|
-
left: auto;
|
|
2296
|
-
right: 0;
|
|
2297
|
-
}
|
|
2298
|
-
|
|
2299
|
-
.composer-toolbar {
|
|
2300
|
-
flex-direction: column;
|
|
2301
|
-
align-items: flex-start;
|
|
2302
|
-
}
|
|
2303
|
-
|
|
2304
|
-
.composer.is-expanded .composer-toolbar {
|
|
2305
|
-
max-height: 120px;
|
|
2306
|
-
}
|
|
2307
|
-
|
|
2308
2291
|
.files-layout {
|
|
2309
2292
|
grid-template-columns: minmax(0, 1fr);
|
|
2310
2293
|
grid-template-rows: minmax(180px, 38%) minmax(0, 1fr);
|
|
@@ -2315,16 +2298,8 @@ details.trace-card > .trace-card-summary {
|
|
|
2315
2298
|
border-bottom: 1px solid var(--line);
|
|
2316
2299
|
}
|
|
2317
2300
|
|
|
2318
|
-
.composer-
|
|
2319
|
-
|
|
2320
|
-
justify-content: space-between;
|
|
2321
|
-
margin-left: 0;
|
|
2322
|
-
}
|
|
2323
|
-
|
|
2324
|
-
.composer-mode-switch {
|
|
2325
|
-
width: 100%;
|
|
2326
|
-
display: grid;
|
|
2327
|
-
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
2301
|
+
.composer-inner {
|
|
2302
|
+
align-items: stretch;
|
|
2328
2303
|
}
|
|
2329
2304
|
|
|
2330
2305
|
#commandInput {
|
|
@@ -2332,16 +2307,13 @@ details.trace-card > .trace-card-summary {
|
|
|
2332
2307
|
max-height: 160px;
|
|
2333
2308
|
}
|
|
2334
2309
|
|
|
2335
|
-
#sendBtn
|
|
2310
|
+
#sendBtn,
|
|
2311
|
+
#composerOptionsToggle {
|
|
2336
2312
|
width: auto;
|
|
2337
2313
|
min-width: 74px;
|
|
2338
2314
|
align-self: stretch;
|
|
2339
2315
|
}
|
|
2340
2316
|
|
|
2341
|
-
.composer-foot {
|
|
2342
|
-
display: none;
|
|
2343
|
-
}
|
|
2344
|
-
|
|
2345
2317
|
.composer {
|
|
2346
2318
|
padding: 8px 8px 6px;
|
|
2347
2319
|
}
|