@dahawa/hawa-code 1.40.3 → 1.41.1

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.
@@ -699,12 +699,459 @@ html, body {
699
699
  font-size: 11px;
700
700
  }
701
701
 
702
- /* tool_result 纯文本降级 */
703
- .tool-result-text {
702
+ /* ============================================
703
+ Settings 面板样式
704
+ ============================================ */
705
+
706
+ .header-actions {
707
+ flex: 1;
708
+ min-width: 0;
709
+ display: flex;
710
+ align-items: center;
711
+ gap: 8px;
712
+ }
713
+
714
+ .header-button {
715
+ background: transparent;
716
+ border: 1px solid var(--border-color);
717
+ color: var(--text-secondary);
718
+ padding: 4px 10px;
719
+ border-radius: 4px;
720
+ cursor: pointer;
721
+ font-family: var(--font-mono);
722
+ font-size: 12px;
723
+ transition: all 0.15s ease;
724
+ }
725
+
726
+ .header-button:hover {
727
+ background: var(--bg-hover);
728
+ color: var(--text-primary);
729
+ }
730
+
731
+ .header-button.active {
732
+ border-color: var(--accent-blue);
733
+ color: var(--accent-blue);
734
+ }
735
+
736
+ .settings-panel {
737
+ flex: 1;
738
+ display: flex;
739
+ flex-direction: column;
740
+ overflow: hidden;
741
+ background: var(--bg-primary);
742
+ }
743
+
744
+ .settings-header {
745
+ display: flex;
746
+ align-items: center;
747
+ justify-content: space-between;
748
+ padding: 12px 16px;
749
+ background: var(--bg-secondary);
750
+ border-bottom: 1px solid var(--border-color);
751
+ flex-shrink: 0;
752
+ }
753
+
754
+ .settings-title {
755
+ font-size: 15px;
756
+ font-weight: 600;
757
+ color: var(--accent-blue);
758
+ margin: 0;
759
+ }
760
+
761
+ .settings-close-button {
762
+ background: transparent;
763
+ border: 1px solid var(--border-color);
764
+ color: var(--text-secondary);
765
+ padding: 4px 12px;
766
+ border-radius: 4px;
767
+ cursor: pointer;
768
+ font-family: var(--font-mono);
769
+ font-size: 12px;
770
+ }
771
+
772
+ .settings-close-button:hover {
773
+ background: var(--bg-hover);
774
+ color: var(--text-primary);
775
+ }
776
+
777
+ .settings-header-actions {
778
+ display: flex;
779
+ align-items: center;
780
+ gap: 8px;
781
+ }
782
+
783
+ .settings-save-button,
784
+ .settings-reset-button {
785
+ background: transparent;
786
+ border: 1px solid var(--border-color);
787
+ color: var(--text-secondary);
788
+ padding: 4px 12px;
789
+ border-radius: 4px;
790
+ cursor: pointer;
791
+ font-family: var(--font-mono);
792
+ font-size: 12px;
793
+ transition: all 0.15s ease;
794
+ }
795
+
796
+ .settings-save-button:hover:not(:disabled),
797
+ .settings-reset-button:hover:not(:disabled) {
798
+ background: var(--bg-hover);
799
+ color: var(--text-primary);
800
+ }
801
+
802
+ .settings-save-button:disabled,
803
+ .settings-reset-button:disabled {
804
+ opacity: 0.5;
805
+ cursor: not-allowed;
806
+ }
807
+
808
+ .settings-save-button {
809
+ border-color: var(--accent-green);
810
+ color: var(--accent-green);
811
+ }
812
+
813
+ .settings-save-success {
814
+ background: rgba(129, 199, 132, 0.1);
815
+ color: var(--accent-green);
816
+ padding: 8px 16px;
817
+ font-size: 12px;
818
+ border-bottom: 1px solid var(--border-color);
819
+ }
820
+
821
+ .settings-layout {
822
+ flex: 1;
823
+ display: flex;
824
+ overflow: hidden;
825
+ }
826
+
827
+ .settings-sidebar {
828
+ width: 160px;
829
+ flex-shrink: 0;
830
+ background: var(--bg-secondary);
831
+ border-right: 1px solid var(--border-color);
832
+ padding: 8px;
833
+ display: flex;
834
+ flex-direction: column;
835
+ gap: 2px;
836
+ overflow-y: auto;
837
+ }
838
+
839
+ .settings-sidebar-item {
840
+ background: transparent;
841
+ border: 1px solid transparent;
842
+ color: var(--text-secondary);
843
+ padding: 8px 12px;
844
+ border-radius: 4px;
845
+ cursor: pointer;
846
+ font-family: var(--font-mono);
847
+ font-size: 12px;
848
+ text-align: left;
849
+ transition: all 0.15s ease;
850
+ }
851
+
852
+ .settings-sidebar-item:hover {
853
+ background: var(--bg-hover);
854
+ color: var(--text-primary);
855
+ }
856
+
857
+ .settings-sidebar-item.active {
858
+ background: var(--accent-blue);
859
+ color: #000;
860
+ font-weight: 600;
861
+ }
862
+
863
+ .settings-content {
864
+ flex: 1;
865
+ overflow-y: auto;
866
+ padding: 16px;
867
+ }
868
+
869
+ .settings-error {
870
+ flex: 1;
871
+ display: flex;
872
+ flex-direction: column;
873
+ align-items: center;
874
+ justify-content: center;
875
+ gap: 16px;
876
+ color: var(--accent-red);
877
+ }
878
+
879
+ .settings-error-message {
880
+ font-size: 14px;
881
+ }
882
+
883
+ .setting-section-title {
884
+ font-size: 14px;
885
+ font-weight: 600;
886
+ color: var(--text-primary);
887
+ margin: 0 0 12px 0;
888
+ padding-bottom: 8px;
889
+ border-bottom: 1px solid var(--border-color);
890
+ }
891
+
892
+ .setting-list {
893
+ display: flex;
894
+ flex-direction: column;
895
+ gap: 8px;
896
+ }
897
+
898
+ .setting-item {
899
+ background: var(--bg-secondary);
900
+ border: 1px solid var(--border-color);
901
+ border-radius: 4px;
902
+ padding: 10px 12px;
903
+ }
904
+
905
+ .setting-row {
906
+ display: flex;
907
+ align-items: center;
908
+ justify-content: space-between;
909
+ gap: 16px;
910
+ }
911
+
912
+ .setting-key {
913
+ font-weight: 600;
914
+ color: var(--accent-blue);
915
+ font-size: 13px;
916
+ }
917
+
918
+ .setting-value {
919
+ color: var(--text-secondary);
920
+ font-size: 12px;
921
+ font-family: var(--font-mono);
922
+ word-break: break-all;
923
+ text-align: right;
924
+ }
925
+
926
+ .setting-expand-button {
927
+ background: transparent;
928
+ border: 1px solid var(--border-color);
929
+ color: var(--text-secondary);
930
+ padding: 2px 8px;
931
+ border-radius: 3px;
932
+ cursor: pointer;
933
+ font-family: var(--font-mono);
934
+ font-size: 11px;
935
+ }
936
+
937
+ .setting-expand-button:hover {
938
+ background: var(--bg-hover);
939
+ color: var(--text-primary);
940
+ }
941
+
942
+ .setting-json {
943
+ margin-top: 8px;
944
+ padding: 8px;
945
+ background: rgba(0, 0, 0, 0.3);
946
+ border-radius: 4px;
947
+ color: var(--text-secondary);
948
+ font-size: 11px;
949
+ line-height: 1.5;
704
950
  white-space: pre-wrap;
705
951
  word-break: break-all;
952
+ overflow-x: auto;
953
+ }
954
+
955
+ .setting-label {
956
+ font-weight: 600;
957
+ color: var(--text-primary);
958
+ font-size: 13px;
959
+ }
960
+
961
+ .setting-toggle {
962
+ background: transparent;
963
+ border: 1px solid var(--border-color);
964
+ color: var(--text-secondary);
965
+ padding: 4px 12px;
966
+ border-radius: 4px;
967
+ cursor: pointer;
968
+ font-family: var(--font-mono);
706
969
  font-size: 12px;
970
+ min-width: 60px;
971
+ }
972
+
973
+ .setting-toggle:hover {
974
+ background: var(--bg-hover);
975
+ }
976
+
977
+ .setting-toggle.on {
978
+ border-color: var(--accent-green);
979
+ color: var(--accent-green);
980
+ }
981
+
982
+ .setting-toggle.off {
983
+ border-color: var(--text-dimmed);
984
+ color: var(--text-dimmed);
985
+ }
986
+
987
+ .setting-select,
988
+ .setting-input {
989
+ background: var(--bg-primary);
990
+ border: 1px solid var(--border-color);
991
+ color: var(--text-primary);
992
+ padding: 4px 8px;
993
+ border-radius: 4px;
994
+ font-family: var(--font-mono);
995
+ font-size: 12px;
996
+ min-width: 120px;
997
+ }
998
+
999
+ .setting-select:focus,
1000
+ .setting-input:focus {
1001
+ outline: none;
1002
+ border-color: var(--accent-blue);
1003
+ }
1004
+
1005
+ .settings-save-error {
1006
+ background: rgba(239, 83, 80, 0.1);
1007
+ color: var(--accent-red);
1008
+ padding: 8px 16px;
1009
+ font-size: 12px;
1010
+ border-bottom: 1px solid var(--border-color);
1011
+ }
1012
+
1013
+ .settings-saving {
1014
+ color: var(--accent-blue);
1015
+ font-size: 12px;
1016
+ margin-bottom: 12px;
1017
+ }
1018
+
1019
+ .setting-object {
1020
+ display: flex;
1021
+ flex-direction: column;
1022
+ gap: 8px;
1023
+ }
1024
+
1025
+ .setting-object-title {
1026
+ font-size: 13px;
1027
+ font-weight: 600;
1028
+ color: var(--text-primary);
1029
+ margin: 0 0 4px 0;
1030
+ }
1031
+
1032
+ .setting-object-fields {
1033
+ display: flex;
1034
+ flex-direction: column;
1035
+ gap: 8px;
1036
+ padding-left: 12px;
1037
+ border-left: 2px solid var(--border-color);
1038
+ }
1039
+
1040
+ .setting-object-fields .setting-row {
1041
+ padding: 6px 0;
1042
+ }
1043
+
1044
+ .setting-json-editor {
1045
+ display: flex;
1046
+ flex-direction: column;
1047
+ gap: 6px;
1048
+ }
1049
+
1050
+ .setting-json-label {
1051
+ font-size: 13px;
1052
+ font-weight: 600;
1053
+ color: var(--text-primary);
1054
+ }
1055
+
1056
+ .setting-json-textarea {
1057
+ width: 100%;
1058
+ min-height: 120px;
1059
+ background: var(--bg-primary);
1060
+ border: 1px solid var(--border-color);
1061
+ border-radius: 4px;
1062
+ color: var(--text-secondary);
1063
+ padding: 8px;
1064
+ font-family: var(--font-mono);
1065
+ font-size: 11px;
1066
+ line-height: 1.5;
1067
+ resize: vertical;
1068
+ }
1069
+
1070
+ .setting-json-textarea:focus {
1071
+ outline: none;
1072
+ border-color: var(--accent-blue);
1073
+ }
1074
+
1075
+ .setting-json-error {
1076
+ color: var(--accent-red);
1077
+ font-size: 11px;
1078
+ padding: 4px 8px;
1079
+ background: rgba(239, 83, 80, 0.1);
1080
+ border-radius: 4px;
1081
+ }
1082
+
1083
+ .setting-key-value {
1084
+ display: flex;
1085
+ flex-direction: column;
1086
+ gap: 8px;
1087
+ }
1088
+
1089
+ .setting-key-value-title {
1090
+ font-size: 13px;
1091
+ font-weight: 600;
1092
+ color: var(--text-primary);
1093
+ margin: 0 0 4px 0;
1094
+ }
1095
+
1096
+ .setting-key-value-list {
1097
+ display: flex;
1098
+ flex-direction: column;
1099
+ gap: 6px;
1100
+ }
1101
+
1102
+ .setting-key-value-row {
1103
+ display: flex;
1104
+ align-items: center;
1105
+ gap: 6px;
1106
+ }
1107
+
1108
+ .setting-key-value-key {
1109
+ flex: 1;
1110
+ min-width: 0;
1111
+ }
1112
+
1113
+ .setting-key-value-separator {
1114
+ color: var(--text-secondary);
1115
+ font-weight: 600;
1116
+ }
1117
+
1118
+ .setting-key-value-value {
1119
+ flex: 1.5;
1120
+ min-width: 0;
1121
+ }
1122
+
1123
+ .setting-key-value-remove {
1124
+ background: transparent;
1125
+ border: 1px solid var(--border-color);
1126
+ color: var(--text-secondary);
1127
+ padding: 2px 8px;
1128
+ border-radius: 4px;
1129
+ cursor: pointer;
1130
+ font-family: var(--font-mono);
1131
+ font-size: 14px;
1132
+ line-height: 1;
1133
+ }
1134
+
1135
+ .setting-key-value-remove:hover {
1136
+ border-color: var(--accent-red);
1137
+ color: var(--accent-red);
1138
+ }
1139
+
1140
+ .setting-key-value-add {
1141
+ align-self: flex-start;
1142
+ background: transparent;
1143
+ border: 1px solid var(--border-color);
707
1144
  color: var(--text-secondary);
1145
+ padding: 4px 12px;
1146
+ border-radius: 4px;
1147
+ cursor: pointer;
1148
+ font-family: var(--font-mono);
1149
+ font-size: 12px;
1150
+ }
1151
+
1152
+ .setting-key-value-add:hover {
1153
+ border-color: var(--accent-green);
1154
+ color: var(--accent-green);
708
1155
  }
709
1156
 
710
1157
  /* Cwd 工具结果 - 与其他 Agent Viewer 工具风格一致,直接显示路径 */
@@ -726,3 +1173,118 @@ html, body {
726
1173
  font-style: italic;
727
1174
  margin-top: 4px;
728
1175
  }
1176
+
1177
+ /* Memo 工具结果 */
1178
+ .tool-result-memo .result-header {
1179
+ margin-bottom: 4px;
1180
+ }
1181
+
1182
+ .tool-result-memo .result-meta {
1183
+ color: var(--text-dimmed);
1184
+ font-size: 11px;
1185
+ }
1186
+
1187
+ .tool-result-memo .memo-error {
1188
+ color: var(--accent-red);
1189
+ font-size: 12px;
1190
+ padding: 4px 8px;
1191
+ background: rgba(239, 83, 80, 0.1);
1192
+ border-radius: 4px;
1193
+ margin-top: 4px;
1194
+ }
1195
+
1196
+ .tool-result-memo .memo-content {
1197
+ background: rgba(0, 0, 0, 0.2);
1198
+ padding: 8px 12px;
1199
+ border-radius: 4px;
1200
+ margin-top: 6px;
1201
+ max-height: 400px;
1202
+ overflow-y: auto;
1203
+ font-size: 12px;
1204
+ line-height: 1.5;
1205
+ white-space: pre-wrap;
1206
+ word-break: break-word;
1207
+ color: var(--text-primary);
1208
+ }
1209
+
1210
+ .tool-result-memo .memo-table {
1211
+ width: 100%;
1212
+ border-collapse: collapse;
1213
+ margin-top: 6px;
1214
+ font-size: 12px;
1215
+ }
1216
+
1217
+ .tool-result-memo .memo-table th,
1218
+ .tool-result-memo .memo-table td {
1219
+ border: 1px solid var(--border-color);
1220
+ padding: 4px 8px;
1221
+ text-align: left;
1222
+ }
1223
+
1224
+ .tool-result-memo .memo-table th {
1225
+ background: var(--bg-secondary);
1226
+ color: var(--accent-blue);
1227
+ font-weight: 600;
1228
+ font-size: 11px;
1229
+ }
1230
+
1231
+ .tool-result-memo .memo-table tr:nth-child(even) {
1232
+ background: rgba(0, 0, 0, 0.15);
1233
+ }
1234
+
1235
+ .tool-result-memo .memo-key {
1236
+ color: var(--accent-blue);
1237
+ word-break: break-all;
1238
+ }
1239
+
1240
+ .tool-result-memo .memo-date {
1241
+ color: var(--text-dimmed);
1242
+ font-size: 11px;
1243
+ white-space: nowrap;
1244
+ }
1245
+
1246
+ /* Memo 工具使用 */
1247
+ .memo-action-badge {
1248
+ background: var(--accent-green);
1249
+ color: #000;
1250
+ font-weight: 600;
1251
+ }
1252
+
1253
+ /* 详情展开/收起切换(Agent prompt / Memo content) */
1254
+ .detail-toggle {
1255
+ display: inline-block;
1256
+ color: var(--accent-blue);
1257
+ font-size: 11px;
1258
+ cursor: pointer;
1259
+ padding: 2px 6px;
1260
+ border-radius: 3px;
1261
+ border: 1px solid var(--border-color);
1262
+ transition: all 0.15s ease;
1263
+ }
1264
+
1265
+ .detail-toggle:hover {
1266
+ background: var(--bg-hover);
1267
+ color: var(--accent-blue);
1268
+ }
1269
+
1270
+ .agent-prompt-detail,
1271
+ .memo-content-detail {
1272
+ width: 100%;
1273
+ margin-top: 4px;
1274
+ background: rgba(0, 0, 0, 0.2);
1275
+ padding: 6px 8px;
1276
+ border-radius: 4px;
1277
+ font-size: 12px;
1278
+ line-height: 1.5;
1279
+ white-space: pre-wrap;
1280
+ word-break: break-word;
1281
+ color: var(--text-secondary);
1282
+ max-height: 400px;
1283
+ overflow-y: auto;
1284
+ }
1285
+
1286
+ .agent-prompt-detail code,
1287
+ .memo-content-detail code {
1288
+ background: none;
1289
+ padding: 0;
1290
+ }