@oscloudlab/vgen-agent-assistant 0.0.8 → 0.0.9
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/dist/types/src/api/index.d.ts +3 -3
- package/dist/types/src/components/TagsTextarea/index.d.ts +1 -0
- package/dist/types/src/components/VgenAgent/components/KnowledgeContinueMsg.d.ts +14 -0
- package/dist/types/src/components/VgenAgent/components/KnowledgeStartMsg.d.ts +14 -0
- package/dist/types/src/components/VgenAgent/type.d.ts +8 -1
- package/dist/vgen-agent-assistant.css +1 -1
- package/dist/vgen-agent-assistant.css.gz +0 -0
- package/dist/vgen-agent-assistant.es.js +437 -276
- package/dist/vgen-agent-assistant.es.js.gz +0 -0
- package/dist/vgen-agent-assistant.umd.js +8 -8
- package/dist/vgen-agent-assistant.umd.js.gz +0 -0
- package/package.json +1 -1
|
@@ -1024,18 +1024,18 @@ const createLucideIcon = (iconName, iconNode) => {
|
|
|
1024
1024
|
* This source code is licensed under the ISC license.
|
|
1025
1025
|
* See the LICENSE file in the root directory of this source tree.
|
|
1026
1026
|
*/
|
|
1027
|
-
const __iconNode$
|
|
1027
|
+
const __iconNode$D = [
|
|
1028
1028
|
["path", { d: "M5 12h14", key: "1ays0h" }],
|
|
1029
1029
|
["path", { d: "m12 5 7 7-7 7", key: "xquz4c" }]
|
|
1030
1030
|
];
|
|
1031
|
-
const ArrowRight = createLucideIcon("arrow-right", __iconNode$
|
|
1031
|
+
const ArrowRight = createLucideIcon("arrow-right", __iconNode$D);
|
|
1032
1032
|
/**
|
|
1033
1033
|
* @license lucide-react v0.544.0 - ISC
|
|
1034
1034
|
*
|
|
1035
1035
|
* This source code is licensed under the ISC license.
|
|
1036
1036
|
* See the LICENSE file in the root directory of this source tree.
|
|
1037
1037
|
*/
|
|
1038
|
-
const __iconNode$
|
|
1038
|
+
const __iconNode$C = [
|
|
1039
1039
|
["path", { d: "M12 7v14", key: "1akyts" }],
|
|
1040
1040
|
["path", { d: "M16 12h2", key: "7q9ll5" }],
|
|
1041
1041
|
["path", { d: "M16 8h2", key: "msurwy" }],
|
|
@@ -1049,14 +1049,14 @@ const __iconNode$E = [
|
|
|
1049
1049
|
["path", { d: "M6 12h2", key: "32wvfc" }],
|
|
1050
1050
|
["path", { d: "M6 8h2", key: "30oboj" }]
|
|
1051
1051
|
];
|
|
1052
|
-
const BookOpenText = createLucideIcon("book-open-text", __iconNode$
|
|
1052
|
+
const BookOpenText = createLucideIcon("book-open-text", __iconNode$C);
|
|
1053
1053
|
/**
|
|
1054
1054
|
* @license lucide-react v0.544.0 - ISC
|
|
1055
1055
|
*
|
|
1056
1056
|
* This source code is licensed under the ISC license.
|
|
1057
1057
|
* See the LICENSE file in the root directory of this source tree.
|
|
1058
1058
|
*/
|
|
1059
|
-
const __iconNode$
|
|
1059
|
+
const __iconNode$B = [
|
|
1060
1060
|
["path", { d: "M12 7v14", key: "1akyts" }],
|
|
1061
1061
|
[
|
|
1062
1062
|
"path",
|
|
@@ -1066,14 +1066,14 @@ const __iconNode$D = [
|
|
|
1066
1066
|
}
|
|
1067
1067
|
]
|
|
1068
1068
|
];
|
|
1069
|
-
const BookOpen = createLucideIcon("book-open", __iconNode$
|
|
1069
|
+
const BookOpen = createLucideIcon("book-open", __iconNode$B);
|
|
1070
1070
|
/**
|
|
1071
1071
|
* @license lucide-react v0.544.0 - ISC
|
|
1072
1072
|
*
|
|
1073
1073
|
* This source code is licensed under the ISC license.
|
|
1074
1074
|
* See the LICENSE file in the root directory of this source tree.
|
|
1075
1075
|
*/
|
|
1076
|
-
const __iconNode$
|
|
1076
|
+
const __iconNode$A = [
|
|
1077
1077
|
["path", { d: "M12 8V4H8", key: "hb8ula" }],
|
|
1078
1078
|
["rect", { width: "16", height: "12", x: "4", y: "8", rx: "2", key: "enze0r" }],
|
|
1079
1079
|
["path", { d: "M2 14h2", key: "vft8re" }],
|
|
@@ -1081,22 +1081,22 @@ const __iconNode$C = [
|
|
|
1081
1081
|
["path", { d: "M15 13v2", key: "1xurst" }],
|
|
1082
1082
|
["path", { d: "M9 13v2", key: "rq6x2g" }]
|
|
1083
1083
|
];
|
|
1084
|
-
const Bot = createLucideIcon("bot", __iconNode$
|
|
1084
|
+
const Bot = createLucideIcon("bot", __iconNode$A);
|
|
1085
1085
|
/**
|
|
1086
1086
|
* @license lucide-react v0.544.0 - ISC
|
|
1087
1087
|
*
|
|
1088
1088
|
* This source code is licensed under the ISC license.
|
|
1089
1089
|
* See the LICENSE file in the root directory of this source tree.
|
|
1090
1090
|
*/
|
|
1091
|
-
const __iconNode$
|
|
1092
|
-
const ChevronDown = createLucideIcon("chevron-down", __iconNode$
|
|
1091
|
+
const __iconNode$z = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
|
|
1092
|
+
const ChevronDown = createLucideIcon("chevron-down", __iconNode$z);
|
|
1093
1093
|
/**
|
|
1094
1094
|
* @license lucide-react v0.544.0 - ISC
|
|
1095
1095
|
*
|
|
1096
1096
|
* This source code is licensed under the ISC license.
|
|
1097
1097
|
* See the LICENSE file in the root directory of this source tree.
|
|
1098
1098
|
*/
|
|
1099
|
-
const __iconNode$
|
|
1099
|
+
const __iconNode$y = [
|
|
1100
1100
|
[
|
|
1101
1101
|
"path",
|
|
1102
1102
|
{
|
|
@@ -1106,48 +1106,48 @@ const __iconNode$A = [
|
|
|
1106
1106
|
],
|
|
1107
1107
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }]
|
|
1108
1108
|
];
|
|
1109
|
-
const CirclePlay = createLucideIcon("circle-play", __iconNode$
|
|
1109
|
+
const CirclePlay = createLucideIcon("circle-play", __iconNode$y);
|
|
1110
1110
|
/**
|
|
1111
1111
|
* @license lucide-react v0.544.0 - ISC
|
|
1112
1112
|
*
|
|
1113
1113
|
* This source code is licensed under the ISC license.
|
|
1114
1114
|
* See the LICENSE file in the root directory of this source tree.
|
|
1115
1115
|
*/
|
|
1116
|
-
const __iconNode$
|
|
1116
|
+
const __iconNode$x = [
|
|
1117
1117
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
1118
1118
|
["rect", { x: "9", y: "9", width: "6", height: "6", rx: "1", key: "1ssd4o" }]
|
|
1119
1119
|
];
|
|
1120
|
-
const CircleStop = createLucideIcon("circle-stop", __iconNode$
|
|
1120
|
+
const CircleStop = createLucideIcon("circle-stop", __iconNode$x);
|
|
1121
1121
|
/**
|
|
1122
1122
|
* @license lucide-react v0.544.0 - ISC
|
|
1123
1123
|
*
|
|
1124
1124
|
* This source code is licensed under the ISC license.
|
|
1125
1125
|
* See the LICENSE file in the root directory of this source tree.
|
|
1126
1126
|
*/
|
|
1127
|
-
const __iconNode$
|
|
1127
|
+
const __iconNode$w = [
|
|
1128
1128
|
["path", { d: "m18 16 4-4-4-4", key: "1inbqp" }],
|
|
1129
1129
|
["path", { d: "m6 8-4 4 4 4", key: "15zrgr" }],
|
|
1130
1130
|
["path", { d: "m14.5 4-5 16", key: "e7oirm" }]
|
|
1131
1131
|
];
|
|
1132
|
-
const CodeXml = createLucideIcon("code-xml", __iconNode$
|
|
1132
|
+
const CodeXml = createLucideIcon("code-xml", __iconNode$w);
|
|
1133
1133
|
/**
|
|
1134
1134
|
* @license lucide-react v0.544.0 - ISC
|
|
1135
1135
|
*
|
|
1136
1136
|
* This source code is licensed under the ISC license.
|
|
1137
1137
|
* See the LICENSE file in the root directory of this source tree.
|
|
1138
1138
|
*/
|
|
1139
|
-
const __iconNode$
|
|
1139
|
+
const __iconNode$v = [
|
|
1140
1140
|
["path", { d: "m16 18 6-6-6-6", key: "eg8j8" }],
|
|
1141
1141
|
["path", { d: "m8 6-6 6 6 6", key: "ppft3o" }]
|
|
1142
1142
|
];
|
|
1143
|
-
const Code = createLucideIcon("code", __iconNode$
|
|
1143
|
+
const Code = createLucideIcon("code", __iconNode$v);
|
|
1144
1144
|
/**
|
|
1145
1145
|
* @license lucide-react v0.544.0 - ISC
|
|
1146
1146
|
*
|
|
1147
1147
|
* This source code is licensed under the ISC license.
|
|
1148
1148
|
* See the LICENSE file in the root directory of this source tree.
|
|
1149
1149
|
*/
|
|
1150
|
-
const __iconNode$
|
|
1150
|
+
const __iconNode$u = [
|
|
1151
1151
|
["path", { d: "M12 2a10 10 0 1 0 10 10 4 4 0 0 1-5-5 4 4 0 0 1-5-5", key: "laymnq" }],
|
|
1152
1152
|
["path", { d: "M8.5 8.5v.01", key: "ue8clq" }],
|
|
1153
1153
|
["path", { d: "M16 15.5v.01", key: "14dtrp" }],
|
|
@@ -1155,25 +1155,25 @@ const __iconNode$w = [
|
|
|
1155
1155
|
["path", { d: "M11 17v.01", key: "1hyl5a" }],
|
|
1156
1156
|
["path", { d: "M7 14v.01", key: "uct60s" }]
|
|
1157
1157
|
];
|
|
1158
|
-
const Cookie = createLucideIcon("cookie", __iconNode$
|
|
1158
|
+
const Cookie = createLucideIcon("cookie", __iconNode$u);
|
|
1159
1159
|
/**
|
|
1160
1160
|
* @license lucide-react v0.544.0 - ISC
|
|
1161
1161
|
*
|
|
1162
1162
|
* This source code is licensed under the ISC license.
|
|
1163
1163
|
* See the LICENSE file in the root directory of this source tree.
|
|
1164
1164
|
*/
|
|
1165
|
-
const __iconNode$
|
|
1165
|
+
const __iconNode$t = [
|
|
1166
1166
|
["rect", { width: "14", height: "14", x: "8", y: "8", rx: "2", ry: "2", key: "17jyea" }],
|
|
1167
1167
|
["path", { d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2", key: "zix9uf" }]
|
|
1168
1168
|
];
|
|
1169
|
-
const Copy = createLucideIcon("copy", __iconNode$
|
|
1169
|
+
const Copy = createLucideIcon("copy", __iconNode$t);
|
|
1170
1170
|
/**
|
|
1171
1171
|
* @license lucide-react v0.544.0 - ISC
|
|
1172
1172
|
*
|
|
1173
1173
|
* This source code is licensed under the ISC license.
|
|
1174
1174
|
* See the LICENSE file in the root directory of this source tree.
|
|
1175
1175
|
*/
|
|
1176
|
-
const __iconNode$
|
|
1176
|
+
const __iconNode$s = [
|
|
1177
1177
|
[
|
|
1178
1178
|
"path",
|
|
1179
1179
|
{
|
|
@@ -1183,51 +1183,51 @@ const __iconNode$u = [
|
|
|
1183
1183
|
],
|
|
1184
1184
|
["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
|
|
1185
1185
|
];
|
|
1186
|
-
const Eye = createLucideIcon("eye", __iconNode$
|
|
1186
|
+
const Eye = createLucideIcon("eye", __iconNode$s);
|
|
1187
1187
|
/**
|
|
1188
1188
|
* @license lucide-react v0.544.0 - ISC
|
|
1189
1189
|
*
|
|
1190
1190
|
* This source code is licensed under the ISC license.
|
|
1191
1191
|
* See the LICENSE file in the root directory of this source tree.
|
|
1192
1192
|
*/
|
|
1193
|
-
const __iconNode$
|
|
1193
|
+
const __iconNode$r = [
|
|
1194
1194
|
["path", { d: "M10 12.5 8 15l2 2.5", key: "1tg20x" }],
|
|
1195
1195
|
["path", { d: "m14 12.5 2 2.5-2 2.5", key: "yinavb" }],
|
|
1196
1196
|
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
|
|
1197
1197
|
["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z", key: "1mlx9k" }]
|
|
1198
1198
|
];
|
|
1199
|
-
const FileCode = createLucideIcon("file-code", __iconNode$
|
|
1199
|
+
const FileCode = createLucideIcon("file-code", __iconNode$r);
|
|
1200
1200
|
/**
|
|
1201
1201
|
* @license lucide-react v0.544.0 - ISC
|
|
1202
1202
|
*
|
|
1203
1203
|
* This source code is licensed under the ISC license.
|
|
1204
1204
|
* See the LICENSE file in the root directory of this source tree.
|
|
1205
1205
|
*/
|
|
1206
|
-
const __iconNode$
|
|
1206
|
+
const __iconNode$q = [
|
|
1207
1207
|
["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
|
|
1208
1208
|
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
|
|
1209
1209
|
["path", { d: "M10 9H8", key: "b1mrlr" }],
|
|
1210
1210
|
["path", { d: "M16 13H8", key: "t4e002" }],
|
|
1211
1211
|
["path", { d: "M16 17H8", key: "z1uh3a" }]
|
|
1212
1212
|
];
|
|
1213
|
-
const FileText = createLucideIcon("file-text", __iconNode$
|
|
1213
|
+
const FileText = createLucideIcon("file-text", __iconNode$q);
|
|
1214
1214
|
/**
|
|
1215
1215
|
* @license lucide-react v0.544.0 - ISC
|
|
1216
1216
|
*
|
|
1217
1217
|
* This source code is licensed under the ISC license.
|
|
1218
1218
|
* See the LICENSE file in the root directory of this source tree.
|
|
1219
1219
|
*/
|
|
1220
|
-
const __iconNode$
|
|
1220
|
+
const __iconNode$p = [
|
|
1221
1221
|
["path", { d: "M2 16s9-15 20-4C11 23 2 8 2 8", key: "h4oh4o" }]
|
|
1222
1222
|
];
|
|
1223
|
-
const FishSymbol = createLucideIcon("fish-symbol", __iconNode$
|
|
1223
|
+
const FishSymbol = createLucideIcon("fish-symbol", __iconNode$p);
|
|
1224
1224
|
/**
|
|
1225
1225
|
* @license lucide-react v0.544.0 - ISC
|
|
1226
1226
|
*
|
|
1227
1227
|
* This source code is licensed under the ISC license.
|
|
1228
1228
|
* See the LICENSE file in the root directory of this source tree.
|
|
1229
1229
|
*/
|
|
1230
|
-
const __iconNode$
|
|
1230
|
+
const __iconNode$o = [
|
|
1231
1231
|
[
|
|
1232
1232
|
"path",
|
|
1233
1233
|
{
|
|
@@ -1236,27 +1236,27 @@ const __iconNode$q = [
|
|
|
1236
1236
|
}
|
|
1237
1237
|
]
|
|
1238
1238
|
];
|
|
1239
|
-
const Folder = createLucideIcon("folder", __iconNode$
|
|
1239
|
+
const Folder = createLucideIcon("folder", __iconNode$o);
|
|
1240
1240
|
/**
|
|
1241
1241
|
* @license lucide-react v0.544.0 - ISC
|
|
1242
1242
|
*
|
|
1243
1243
|
* This source code is licensed under the ISC license.
|
|
1244
1244
|
* See the LICENSE file in the root directory of this source tree.
|
|
1245
1245
|
*/
|
|
1246
|
-
const __iconNode$
|
|
1246
|
+
const __iconNode$n = [
|
|
1247
1247
|
["line", { x1: "6", x2: "6", y1: "3", y2: "15", key: "17qcm7" }],
|
|
1248
1248
|
["circle", { cx: "18", cy: "6", r: "3", key: "1h7g24" }],
|
|
1249
1249
|
["circle", { cx: "6", cy: "18", r: "3", key: "fqmcym" }],
|
|
1250
1250
|
["path", { d: "M18 9a9 9 0 0 1-9 9", key: "n2h4wq" }]
|
|
1251
1251
|
];
|
|
1252
|
-
const GitBranch = createLucideIcon("git-branch", __iconNode$
|
|
1252
|
+
const GitBranch = createLucideIcon("git-branch", __iconNode$n);
|
|
1253
1253
|
/**
|
|
1254
1254
|
* @license lucide-react v0.544.0 - ISC
|
|
1255
1255
|
*
|
|
1256
1256
|
* This source code is licensed under the ISC license.
|
|
1257
1257
|
* See the LICENSE file in the root directory of this source tree.
|
|
1258
1258
|
*/
|
|
1259
|
-
const __iconNode$
|
|
1259
|
+
const __iconNode$m = [
|
|
1260
1260
|
[
|
|
1261
1261
|
"path",
|
|
1262
1262
|
{
|
|
@@ -1267,26 +1267,26 @@ const __iconNode$o = [
|
|
|
1267
1267
|
["path", { d: "M22 10v6", key: "1lu8f3" }],
|
|
1268
1268
|
["path", { d: "M6 12.5V16a6 3 0 0 0 12 0v-3.5", key: "1r8lef" }]
|
|
1269
1269
|
];
|
|
1270
|
-
const GraduationCap = createLucideIcon("graduation-cap", __iconNode$
|
|
1270
|
+
const GraduationCap = createLucideIcon("graduation-cap", __iconNode$m);
|
|
1271
1271
|
/**
|
|
1272
1272
|
* @license lucide-react v0.544.0 - ISC
|
|
1273
1273
|
*
|
|
1274
1274
|
* This source code is licensed under the ISC license.
|
|
1275
1275
|
* See the LICENSE file in the root directory of this source tree.
|
|
1276
1276
|
*/
|
|
1277
|
-
const __iconNode$
|
|
1277
|
+
const __iconNode$l = [
|
|
1278
1278
|
["path", { d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8", key: "1357e3" }],
|
|
1279
1279
|
["path", { d: "M3 3v5h5", key: "1xhq8a" }],
|
|
1280
1280
|
["path", { d: "M12 7v5l4 2", key: "1fdv2h" }]
|
|
1281
1281
|
];
|
|
1282
|
-
const History = createLucideIcon("history", __iconNode$
|
|
1282
|
+
const History = createLucideIcon("history", __iconNode$l);
|
|
1283
1283
|
/**
|
|
1284
1284
|
* @license lucide-react v0.544.0 - ISC
|
|
1285
1285
|
*
|
|
1286
1286
|
* This source code is licensed under the ISC license.
|
|
1287
1287
|
* See the LICENSE file in the root directory of this source tree.
|
|
1288
1288
|
*/
|
|
1289
|
-
const __iconNode$
|
|
1289
|
+
const __iconNode$k = [
|
|
1290
1290
|
[
|
|
1291
1291
|
"path",
|
|
1292
1292
|
{
|
|
@@ -1297,14 +1297,14 @@ const __iconNode$m = [
|
|
|
1297
1297
|
["path", { d: "M9 18h6", key: "x1upvd" }],
|
|
1298
1298
|
["path", { d: "M10 22h4", key: "ceow96" }]
|
|
1299
1299
|
];
|
|
1300
|
-
const Lightbulb = createLucideIcon("lightbulb", __iconNode$
|
|
1300
|
+
const Lightbulb = createLucideIcon("lightbulb", __iconNode$k);
|
|
1301
1301
|
/**
|
|
1302
1302
|
* @license lucide-react v0.544.0 - ISC
|
|
1303
1303
|
*
|
|
1304
1304
|
* This source code is licensed under the ISC license.
|
|
1305
1305
|
* See the LICENSE file in the root directory of this source tree.
|
|
1306
1306
|
*/
|
|
1307
|
-
const __iconNode$
|
|
1307
|
+
const __iconNode$j = [
|
|
1308
1308
|
[
|
|
1309
1309
|
"path",
|
|
1310
1310
|
{
|
|
@@ -1313,39 +1313,27 @@ const __iconNode$l = [
|
|
|
1313
1313
|
}
|
|
1314
1314
|
]
|
|
1315
1315
|
];
|
|
1316
|
-
const MessageSquare = createLucideIcon("message-square", __iconNode$
|
|
1316
|
+
const MessageSquare = createLucideIcon("message-square", __iconNode$j);
|
|
1317
1317
|
/**
|
|
1318
1318
|
* @license lucide-react v0.544.0 - ISC
|
|
1319
1319
|
*
|
|
1320
1320
|
* This source code is licensed under the ISC license.
|
|
1321
1321
|
* See the LICENSE file in the root directory of this source tree.
|
|
1322
1322
|
*/
|
|
1323
|
-
const __iconNode$
|
|
1323
|
+
const __iconNode$i = [
|
|
1324
1324
|
["path", { d: "m14 10 7-7", key: "oa77jy" }],
|
|
1325
1325
|
["path", { d: "M20 10h-6V4", key: "mjg0md" }],
|
|
1326
1326
|
["path", { d: "m3 21 7-7", key: "tjx5ai" }],
|
|
1327
1327
|
["path", { d: "M4 14h6v6", key: "rmj7iw" }]
|
|
1328
1328
|
];
|
|
1329
|
-
const Minimize2 = createLucideIcon("minimize-2", __iconNode$
|
|
1330
|
-
/**
|
|
1331
|
-
* @license lucide-react v0.544.0 - ISC
|
|
1332
|
-
*
|
|
1333
|
-
* This source code is licensed under the ISC license.
|
|
1334
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
1335
|
-
*/
|
|
1336
|
-
const __iconNode$j = [
|
|
1337
|
-
["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
|
|
1338
|
-
["path", { d: "M3 9h18", key: "1pudct" }],
|
|
1339
|
-
["path", { d: "M9 21V9", key: "1oto5p" }]
|
|
1340
|
-
];
|
|
1341
|
-
const PanelsTopLeft = createLucideIcon("panels-top-left", __iconNode$j);
|
|
1329
|
+
const Minimize2 = createLucideIcon("minimize-2", __iconNode$i);
|
|
1342
1330
|
/**
|
|
1343
1331
|
* @license lucide-react v0.544.0 - ISC
|
|
1344
1332
|
*
|
|
1345
1333
|
* This source code is licensed under the ISC license.
|
|
1346
1334
|
* See the LICENSE file in the root directory of this source tree.
|
|
1347
1335
|
*/
|
|
1348
|
-
const __iconNode$
|
|
1336
|
+
const __iconNode$h = [
|
|
1349
1337
|
["path", { d: "M13 21h8", key: "1jsn5i" }],
|
|
1350
1338
|
[
|
|
1351
1339
|
"path",
|
|
@@ -1355,14 +1343,14 @@ const __iconNode$i = [
|
|
|
1355
1343
|
}
|
|
1356
1344
|
]
|
|
1357
1345
|
];
|
|
1358
|
-
const PenLine = createLucideIcon("pen-line", __iconNode$
|
|
1346
|
+
const PenLine = createLucideIcon("pen-line", __iconNode$h);
|
|
1359
1347
|
/**
|
|
1360
1348
|
* @license lucide-react v0.544.0 - ISC
|
|
1361
1349
|
*
|
|
1362
1350
|
* This source code is licensed under the ISC license.
|
|
1363
1351
|
* See the LICENSE file in the root directory of this source tree.
|
|
1364
1352
|
*/
|
|
1365
|
-
const __iconNode$
|
|
1353
|
+
const __iconNode$g = [
|
|
1366
1354
|
[
|
|
1367
1355
|
"path",
|
|
1368
1356
|
{
|
|
@@ -1372,14 +1360,14 @@ const __iconNode$h = [
|
|
|
1372
1360
|
],
|
|
1373
1361
|
["path", { d: "m15 5 4 4", key: "1mk7zo" }]
|
|
1374
1362
|
];
|
|
1375
|
-
const Pencil = createLucideIcon("pencil", __iconNode$
|
|
1363
|
+
const Pencil = createLucideIcon("pencil", __iconNode$g);
|
|
1376
1364
|
/**
|
|
1377
1365
|
* @license lucide-react v0.544.0 - ISC
|
|
1378
1366
|
*
|
|
1379
1367
|
* This source code is licensed under the ISC license.
|
|
1380
1368
|
* See the LICENSE file in the root directory of this source tree.
|
|
1381
1369
|
*/
|
|
1382
|
-
const __iconNode$
|
|
1370
|
+
const __iconNode$f = [
|
|
1383
1371
|
[
|
|
1384
1372
|
"path",
|
|
1385
1373
|
{
|
|
@@ -1388,41 +1376,18 @@ const __iconNode$g = [
|
|
|
1388
1376
|
}
|
|
1389
1377
|
]
|
|
1390
1378
|
];
|
|
1391
|
-
const Play = createLucideIcon("play", __iconNode$
|
|
1379
|
+
const Play = createLucideIcon("play", __iconNode$f);
|
|
1392
1380
|
/**
|
|
1393
1381
|
* @license lucide-react v0.544.0 - ISC
|
|
1394
1382
|
*
|
|
1395
1383
|
* This source code is licensed under the ISC license.
|
|
1396
1384
|
* See the LICENSE file in the root directory of this source tree.
|
|
1397
1385
|
*/
|
|
1398
|
-
const __iconNode$
|
|
1386
|
+
const __iconNode$e = [
|
|
1399
1387
|
["path", { d: "M5 12h14", key: "1ays0h" }],
|
|
1400
1388
|
["path", { d: "M12 5v14", key: "s699le" }]
|
|
1401
1389
|
];
|
|
1402
|
-
const Plus = createLucideIcon("plus", __iconNode$
|
|
1403
|
-
/**
|
|
1404
|
-
* @license lucide-react v0.544.0 - ISC
|
|
1405
|
-
*
|
|
1406
|
-
* This source code is licensed under the ISC license.
|
|
1407
|
-
* See the LICENSE file in the root directory of this source tree.
|
|
1408
|
-
*/
|
|
1409
|
-
const __iconNode$e = [
|
|
1410
|
-
[
|
|
1411
|
-
"path",
|
|
1412
|
-
{
|
|
1413
|
-
d: "M16 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",
|
|
1414
|
-
key: "rib7q0"
|
|
1415
|
-
}
|
|
1416
|
-
],
|
|
1417
|
-
[
|
|
1418
|
-
"path",
|
|
1419
|
-
{
|
|
1420
|
-
d: "M5 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2 1 1 0 0 1 1 1v1a2 2 0 0 1-2 2 1 1 0 0 0-1 1v2a1 1 0 0 0 1 1 6 6 0 0 0 6-6V5a2 2 0 0 0-2-2z",
|
|
1421
|
-
key: "1ymkrd"
|
|
1422
|
-
}
|
|
1423
|
-
]
|
|
1424
|
-
];
|
|
1425
|
-
const Quote = createLucideIcon("quote", __iconNode$e);
|
|
1390
|
+
const Plus = createLucideIcon("plus", __iconNode$e);
|
|
1426
1391
|
/**
|
|
1427
1392
|
* @license lucide-react v0.544.0 - ISC
|
|
1428
1393
|
*
|
|
@@ -21457,7 +21422,7 @@ const CookieLife = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAACAAAAAgACAYAAA
|
|
|
21457
21422
|
const CourseContinueMsg = (props) => {
|
|
21458
21423
|
const { courseInfo, handleSendMessage } = props;
|
|
21459
21424
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-4", children: [
|
|
21460
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2 text-
|
|
21425
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2 text-primary-600 font-bold text-sm", children: [
|
|
21461
21426
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Star, { className: "w-4 h-4" }),
|
|
21462
21427
|
"欢迎回来~ 继续学习《",
|
|
21463
21428
|
courseInfo.name,
|
|
@@ -22000,12 +21965,12 @@ const currentFeatures = [
|
|
|
22000
21965
|
icon: /* @__PURE__ */ jsxRuntimeExports.jsx(FileText, { className: "w-3.5 h-3.5" }),
|
|
22001
21966
|
color: "text-blue-600"
|
|
22002
21967
|
},
|
|
22003
|
-
{
|
|
22004
|
-
|
|
22005
|
-
|
|
22006
|
-
|
|
22007
|
-
|
|
22008
|
-
},
|
|
21968
|
+
// {
|
|
21969
|
+
// id: "card",
|
|
21970
|
+
// label: "知识卡片",
|
|
21971
|
+
// icon: <Layout className="w-3.5 h-3.5" />,
|
|
21972
|
+
// color: "text-indigo-600",
|
|
21973
|
+
// },
|
|
22009
21974
|
// {
|
|
22010
21975
|
// id: "ask",
|
|
22011
21976
|
// label: "划线答疑",
|
|
@@ -22106,7 +22071,7 @@ const CourseStartMsg = (props) => {
|
|
|
22106
22071
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "h-px bg-gray-100" }),
|
|
22107
22072
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-4", children: [
|
|
22108
22073
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
22109
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(BookOpen, { className: "w-4 h-4 text-
|
|
22074
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(BookOpen, { className: "w-4 h-4 text-primary-500" }),
|
|
22110
22075
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "text-[12px] font-bold text-gray-800", children: [
|
|
22111
22076
|
"当前章节:",
|
|
22112
22077
|
courseInfo.chapter
|
|
@@ -22120,8 +22085,8 @@ const CourseStartMsg = (props) => {
|
|
|
22120
22085
|
onClick: () => handleSendMessage({ input: item.label }),
|
|
22121
22086
|
className: "flex items-center gap-2 group hover:translate-x-1 transition-all active:scale-95",
|
|
22122
22087
|
children: [
|
|
22123
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-1.5 h-1.5 rounded-full bg-
|
|
22124
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-[12px] text-gray-600 group-hover:text-
|
|
22088
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-1.5 h-1.5 rounded-full bg-primary-400 group-hover:bg-primary-600 group-hover:scale-125 transition-all" }),
|
|
22089
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-[12px] text-gray-600 group-hover:text-primary-600 group-hover:font-bold group-hover:underline underline-offset-4 decoration-primary-200 text-left transition-all", children: item.label })
|
|
22125
22090
|
]
|
|
22126
22091
|
},
|
|
22127
22092
|
item.id
|
|
@@ -22147,7 +22112,7 @@ const CourseStartMsg = (props) => {
|
|
|
22147
22112
|
].map((link2) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
22148
22113
|
"button",
|
|
22149
22114
|
{
|
|
22150
|
-
className: "text-[11px] text-gray-500 hover:text-
|
|
22115
|
+
className: "text-[11px] text-gray-500 hover:text-primary-600 flex items-center gap-1.5 transition-colors",
|
|
22151
22116
|
children: [
|
|
22152
22117
|
link2.icon,
|
|
22153
22118
|
link2.label
|
|
@@ -55571,20 +55536,20 @@ const MyReactMarkdown = memo$1(({ children }) => {
|
|
|
55571
55536
|
}
|
|
55572
55537
|
) });
|
|
55573
55538
|
});
|
|
55574
|
-
const searchResults = "
|
|
55575
|
-
const searchResultsHeader = "
|
|
55576
|
-
const searchResultsTitle = "
|
|
55577
|
-
const resultTitle = "
|
|
55578
|
-
const resultDot = "
|
|
55579
|
-
const searchResultsActions = "
|
|
55580
|
-
const actionButton = "
|
|
55581
|
-
const refreshButton = "
|
|
55582
|
-
const externalButton = "
|
|
55583
|
-
const clearButton = "
|
|
55584
|
-
const resultsList = "
|
|
55585
|
-
const resultsFooter = "
|
|
55586
|
-
const footerText = "
|
|
55587
|
-
const footerActions = "
|
|
55539
|
+
const searchResults = "_searchResults_1ec6f_32";
|
|
55540
|
+
const searchResultsHeader = "_searchResultsHeader_1ec6f_32";
|
|
55541
|
+
const searchResultsTitle = "_searchResultsTitle_1ec6f_38";
|
|
55542
|
+
const resultTitle = "_resultTitle_1ec6f_43";
|
|
55543
|
+
const resultDot = "_resultDot_1ec6f_47";
|
|
55544
|
+
const searchResultsActions = "_searchResultsActions_1ec6f_57";
|
|
55545
|
+
const actionButton = "_actionButton_1ec6f_62";
|
|
55546
|
+
const refreshButton = "_refreshButton_1ec6f_74";
|
|
55547
|
+
const externalButton = "_externalButton_1ec6f_81";
|
|
55548
|
+
const clearButton = "_clearButton_1ec6f_88";
|
|
55549
|
+
const resultsList = "_resultsList_1ec6f_95";
|
|
55550
|
+
const resultsFooter = "_resultsFooter_1ec6f_241";
|
|
55551
|
+
const footerText = "_footerText_1ec6f_249";
|
|
55552
|
+
const footerActions = "_footerActions_1ec6f_253";
|
|
55588
55553
|
const styles$2 = {
|
|
55589
55554
|
searchResults,
|
|
55590
55555
|
searchResultsHeader,
|
|
@@ -55702,7 +55667,7 @@ const BiliRecommend = (props) => {
|
|
|
55702
55667
|
),
|
|
55703
55668
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 bg-black/10 group-hover/video:bg-black/30 transition-colors" }),
|
|
55704
55669
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute bottom-1 right-1 rounded bg-black/70 px-1 py-0.5 text-[9px] font-medium text-white backdrop-blur-sm", children: result.duration }),
|
|
55705
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 flex items-center justify-center opacity-0 group-hover/video:opacity-100 transition-opacity", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex h-7 w-7 items-center justify-center rounded-full bg-primary/50 text-primary-foreground", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Play, { className: "h-3.5 w-3.5 text-
|
|
55670
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute inset-0 flex items-center justify-center opacity-0 group-hover/video:opacity-100 transition-opacity", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex h-7 w-7 items-center justify-center rounded-full bg-primary/50 text-primary-foreground", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Play, { className: "h-3.5 w-3.5 text-primary-600" }) }) })
|
|
55706
55671
|
] }),
|
|
55707
55672
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex h-full flex-1 flex-col justify-between py-0.5", children: [
|
|
55708
55673
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-1", children: [
|
|
@@ -55756,18 +55721,18 @@ const BiliRecommend = (props) => {
|
|
|
55756
55721
|
] }) });
|
|
55757
55722
|
};
|
|
55758
55723
|
const BiliRecommend$1 = memo$1(BiliRecommend);
|
|
55759
|
-
const modalWrapper = "
|
|
55760
|
-
const modalTipWrapper = "
|
|
55761
|
-
const vgenModal = "
|
|
55762
|
-
const modalContent = "
|
|
55763
|
-
const modalTitleLeft = "
|
|
55764
|
-
const modalTitle = "
|
|
55765
|
-
const modalContentText = "
|
|
55766
|
-
const modalFooter = "
|
|
55767
|
-
const btnOk = "
|
|
55768
|
-
const btnCancel = "
|
|
55769
|
-
const blackMode = "
|
|
55770
|
-
const modalLeft = "
|
|
55724
|
+
const modalWrapper = "_modalWrapper_143da_32";
|
|
55725
|
+
const modalTipWrapper = "_modalTipWrapper_143da_37";
|
|
55726
|
+
const vgenModal = "_vgenModal_143da_40";
|
|
55727
|
+
const modalContent = "_modalContent_143da_49";
|
|
55728
|
+
const modalTitleLeft = "_modalTitleLeft_143da_52";
|
|
55729
|
+
const modalTitle = "_modalTitle_143da_52";
|
|
55730
|
+
const modalContentText = "_modalContentText_143da_71";
|
|
55731
|
+
const modalFooter = "_modalFooter_143da_77";
|
|
55732
|
+
const btnOk = "_btnOk_143da_85";
|
|
55733
|
+
const btnCancel = "_btnCancel_143da_90";
|
|
55734
|
+
const blackMode = "_blackMode_143da_101";
|
|
55735
|
+
const modalLeft = "_modalLeft_143da_107";
|
|
55771
55736
|
const styles$1 = {
|
|
55772
55737
|
modalWrapper,
|
|
55773
55738
|
modalTipWrapper,
|
|
@@ -59164,6 +59129,41 @@ const VgenModal = (props) => {
|
|
|
59164
59129
|
}
|
|
59165
59130
|
) });
|
|
59166
59131
|
};
|
|
59132
|
+
const parseQuotedContent = (content2) => {
|
|
59133
|
+
const segments = [];
|
|
59134
|
+
const regex = /<<<([\s\S]*?)>>>/g;
|
|
59135
|
+
let lastIndex = 0;
|
|
59136
|
+
let match5;
|
|
59137
|
+
while ((match5 = regex.exec(content2)) !== null) {
|
|
59138
|
+
if (match5.index > lastIndex) {
|
|
59139
|
+
segments.push({
|
|
59140
|
+
type: "text",
|
|
59141
|
+
content: content2.slice(lastIndex, match5.index)
|
|
59142
|
+
});
|
|
59143
|
+
}
|
|
59144
|
+
segments.push({
|
|
59145
|
+
type: "quoted",
|
|
59146
|
+
content: match5[1].trim()
|
|
59147
|
+
});
|
|
59148
|
+
lastIndex = regex.lastIndex;
|
|
59149
|
+
}
|
|
59150
|
+
if (lastIndex < content2.length) {
|
|
59151
|
+
segments.push({
|
|
59152
|
+
type: "text",
|
|
59153
|
+
content: content2.slice(lastIndex)
|
|
59154
|
+
});
|
|
59155
|
+
}
|
|
59156
|
+
return segments;
|
|
59157
|
+
};
|
|
59158
|
+
const RenderContentWithQuotes = memo$1(({ content: content2 }) => {
|
|
59159
|
+
const segments = useMemo$1(() => parseQuotedContent(content2), [content2]);
|
|
59160
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment, { children: segments.map((segment, index2) => {
|
|
59161
|
+
if (segment.type === "quoted") {
|
|
59162
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "mb-1 qouteSpan relative inline-flex items-center mx-1 pl-4 pr-2 py-1 rounded-md text-sm font-medium bg-primary-100 text-primary-600 border border-primary-200 select-none transition-all", children: segment.content.length > 10 ? segment.content.substring(0, 10) + "..." : segment.content }, index2);
|
|
59163
|
+
}
|
|
59164
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "whitespace-pre-wrap", children: segment.content }, index2);
|
|
59165
|
+
}) });
|
|
59166
|
+
});
|
|
59167
59167
|
const formSubmitTextMap = {
|
|
59168
59168
|
[msgType.FROM_LEARN_PATH]: "定制学习路径",
|
|
59169
59169
|
[msgType.FROM_KNOWLEDGE_CARD]: "生成知识点",
|
|
@@ -59352,28 +59352,28 @@ const MessageContent = (props) => {
|
|
|
59352
59352
|
{
|
|
59353
59353
|
className: cn(
|
|
59354
59354
|
"w-10 h-10 rounded-2xl flex items-center justify-center shrink-0 shadow-sm",
|
|
59355
|
-
msg.role === "user" ? "bg-
|
|
59355
|
+
msg.role === "user" ? "bg-primary-600 text-white" : "bg-white text-primary-600 border border-gray-100"
|
|
59356
59356
|
),
|
|
59357
59357
|
children: msg.role === "user" ? /* @__PURE__ */ jsxRuntimeExports.jsx(User, { className: "w-5 h-5" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(Bot, { className: "w-5 h-5" })
|
|
59358
59358
|
}
|
|
59359
59359
|
),
|
|
59360
|
-
thinkContent && !answerIsDone && index2 === messages2.length - 1 ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: cn("max-w-[85%] bg-gradient-to-r from-
|
|
59361
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: cn("absolute top-0 left-0 w-full h-1 bg-gradient-to-r from-
|
|
59360
|
+
thinkContent && !answerIsDone && index2 === messages2.length - 1 ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: cn("max-w-[85%] bg-gradient-to-r from-primary-50 to-purple-50 px-4 py-3 rounded-lg border border-primary-100 shadow-sm relative overflow-hidden", "chat-animate-pulse"), children: [
|
|
59361
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: cn("absolute top-0 left-0 w-full h-1 bg-gradient-to-r from-primary-400 via-purple-400 to-pink-400", "chat-animate-progress") }),
|
|
59362
59362
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative z-10 text-[13px]", children: [
|
|
59363
59363
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center mb-2", children: [
|
|
59364
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: cn("w-2 h-2 bg-
|
|
59364
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: cn("w-2 h-2 bg-primary-500 rounded-full mr-2", "chat-animate-bounce") }),
|
|
59365
59365
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: cn("w-2 h-2 bg-purple-500 rounded-full mr-2", "chat-animate-bounce"), style: { animationDelay: "0.2s" } }),
|
|
59366
59366
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: cn("w-2 h-2 bg-pink-500 rounded-full", "chat-animate-bounce"), style: { animationDelay: "0.4s" } }),
|
|
59367
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ml-2 text-sm font-medium text-
|
|
59367
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "ml-2 text-sm font-medium text-primary-600", children: "AI 思考中..." })
|
|
59368
59368
|
] }),
|
|
59369
59369
|
/* @__PURE__ */ jsxRuntimeExports.jsx(MyReactMarkdown, { children: thinkContent })
|
|
59370
59370
|
] }),
|
|
59371
59371
|
recommendScene && recommendSceneData ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mt-4", children: [
|
|
59372
59372
|
recommendScene === agentScene.SYSTEMATIZE_LEARNING && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
59373
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex items-center mb-4", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-sm font-medium text-
|
|
59373
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex items-center mb-4", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-sm font-medium text-primary-600", children: "学习路径正在来的路上,可以先试试看:" }) }),
|
|
59374
59374
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "grid grid-cols-1 gap-4", children: recommendSceneData.map((path2) => /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "bg-white rounded-xl shadow-sm border border-gray-200 p-6 hover:shadow-md transition-all group relative overflow-hidden", children: [
|
|
59375
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute top-0 left-0 w-full h-1 bg-gradient-to-r from-
|
|
59376
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex justify-between items-start mb-4", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, { title: path2.name, children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-lg font-bold text-gray-900 line-clamp-1 group-hover:text-
|
|
59375
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute top-0 left-0 w-full h-1 bg-gradient-to-r from-primary-400 via-purple-400 to-pink-400" }),
|
|
59376
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex justify-between items-start mb-4", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, { title: path2.name, children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-lg font-bold text-gray-900 line-clamp-1 group-hover:text-primary-600 transition-colors", children: path2.name }) }) }) }),
|
|
59377
59377
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mb-4", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, { title: path2.desc, children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-sm text-gray-700 line-clamp-2", children: path2.desc }) }) }),
|
|
59378
59378
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex gap-2", children: [
|
|
59379
59379
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
@@ -59389,7 +59389,7 @@ const MessageContent = (props) => {
|
|
|
59389
59389
|
window.open(url, "_blank");
|
|
59390
59390
|
}
|
|
59391
59391
|
},
|
|
59392
|
-
className: "flex-1 flex items-center justify-center px-3 py-2 bg-gradient-to-r from-
|
|
59392
|
+
className: "flex-1 flex items-center justify-center px-3 py-2 bg-gradient-to-r from-primary-50 via-purple-50 to-pink-50 text-primary-600 text-sm font-medium rounded-lg hover:from-primary-100 hover:via-purple-100 hover:to-pink-100 transition-all shadow-sm hover:shadow",
|
|
59393
59393
|
children: [
|
|
59394
59394
|
/* @__PURE__ */ jsxRuntimeExports.jsx(CirclePlay, { className: "h-4 w-4 mr-2" }),
|
|
59395
59395
|
"开始学习"
|
|
@@ -59403,7 +59403,7 @@ const MessageContent = (props) => {
|
|
|
59403
59403
|
const url = `${window.location.origin}/editStudyPath/${path2.id}`;
|
|
59404
59404
|
window.open(url, "_blank");
|
|
59405
59405
|
},
|
|
59406
|
-
className: "flex items-center justify-center px-3 py-2 bg-white border border-gray-200 text-gray-600 text-sm font-medium rounded-lg hover:bg-gray-50 hover:border-
|
|
59406
|
+
className: "flex items-center justify-center px-3 py-2 bg-white border border-gray-200 text-gray-600 text-sm font-medium rounded-lg hover:bg-gray-50 hover:border-primary-300 transition-colors",
|
|
59407
59407
|
title: "编辑路径",
|
|
59408
59408
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx(PenLine, { className: "h-4 w-4" })
|
|
59409
59409
|
}
|
|
@@ -59412,19 +59412,19 @@ const MessageContent = (props) => {
|
|
|
59412
59412
|
] }, path2.id)) })
|
|
59413
59413
|
] }),
|
|
59414
59414
|
recommendScene === agentScene.SKILL_TO_KNOWLEDGE && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
59415
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex items-center mb-4", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-sm font-medium text-
|
|
59415
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex items-center mb-4", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-sm font-medium text-primary-600", children: "知识点正在来的路上,可以先试试看:" }) }),
|
|
59416
59416
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "grid grid-cols-1 gap-4", children: recommendSceneData.map((item) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
59417
59417
|
"div",
|
|
59418
59418
|
{
|
|
59419
59419
|
className: "bg-white rounded-xl shadow-sm border border-gray-200 p-6 hover:shadow-md transition-all group relative overflow-hidden",
|
|
59420
59420
|
children: [
|
|
59421
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute top-0 left-0 w-full h-1 bg-gradient-to-r from-
|
|
59421
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute top-0 left-0 w-full h-1 bg-gradient-to-r from-primary-400 via-purple-400 to-pink-400" }),
|
|
59422
59422
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex justify-between items-start mb-4", children: [
|
|
59423
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, { title: item.title, children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-lg font-bold text-gray-900 line-clamp-1 group-hover:text-
|
|
59423
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, { title: item.title, children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-lg font-bold text-gray-900 line-clamp-1 group-hover:text-primary-600 transition-colors", children: item.title }) }) }),
|
|
59424
59424
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
59425
59425
|
"div",
|
|
59426
59426
|
{
|
|
59427
|
-
className: `px-2 py-1 text-xs font-medium rounded-full ${item.type === "conceptual_knowledge" ? "bg-
|
|
59427
|
+
className: `px-2 py-1 text-xs font-medium rounded-full ${item.type === "conceptual_knowledge" ? "bg-primary-100 text-primary-700" : "bg-purple-100 text-purple-700"}`,
|
|
59428
59428
|
children: item.type === "conceptual_knowledge" ? "概念型" : "实操型"
|
|
59429
59429
|
}
|
|
59430
59430
|
)
|
|
@@ -59441,7 +59441,7 @@ const MessageContent = (props) => {
|
|
|
59441
59441
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-4 flex gap-2", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
59442
59442
|
"button",
|
|
59443
59443
|
{
|
|
59444
|
-
className: "flex-1 flex items-center justify-center px-3 py-2 bg-gradient-to-r from-
|
|
59444
|
+
className: "flex-1 flex items-center justify-center px-3 py-2 bg-gradient-to-r from-primary-50 via-purple-50 to-pink-50 text-primary-600 text-sm font-medium rounded-lg hover:from-primary-100 hover:via-purple-100 hover:to-pink-100 transition-all shadow-sm hover:shadow",
|
|
59445
59445
|
onClick: () => {
|
|
59446
59446
|
const { viewDetail, shareUserId, knowledgeId } = item;
|
|
59447
59447
|
if (viewDetail) {
|
|
@@ -59461,7 +59461,7 @@ const MessageContent = (props) => {
|
|
|
59461
59461
|
)) })
|
|
59462
59462
|
] }),
|
|
59463
59463
|
recommendScene === agentScene.QUESTION_GENERATION && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { children: [
|
|
59464
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex items-center mb-4", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-sm font-medium text-
|
|
59464
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex items-center mb-4", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-sm font-medium text-primary-600", children: "练习题正在来的路上,可以先试试看:" }) }),
|
|
59465
59465
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "grid grid-cols-1 gap-4", children: recommendSceneData.map((ex) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
59466
59466
|
motion.div,
|
|
59467
59467
|
{
|
|
@@ -59469,8 +59469,8 @@ const MessageContent = (props) => {
|
|
|
59469
59469
|
animate: { opacity: 1, x: 0 },
|
|
59470
59470
|
className: "bg-white rounded-xl shadow-sm border border-gray-200 p-6 hover:shadow-md transition-all group relative overflow-hidden cursor-pointer",
|
|
59471
59471
|
children: [
|
|
59472
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute top-0 left-0 w-full h-1 bg-gradient-to-r from-
|
|
59473
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex justify-between items-start mb-4", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { title: ex.topic, className: "text-lg font-bold text-gray-900 line-clamp-1 group-hover:text-
|
|
59472
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "absolute top-0 left-0 w-full h-1 bg-gradient-to-r from-primary-400 via-purple-400 to-pink-400" }),
|
|
59473
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex justify-between items-start mb-4", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex-1", children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { title: ex.topic, className: "text-lg font-bold text-gray-900 line-clamp-1 group-hover:text-primary-600 transition-colors", children: ex.topic }) }) }),
|
|
59474
59474
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mb-4 flex items-center gap-4 text-sm text-gray-400 font-medium", children: [
|
|
59475
59475
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "flex items-center gap-1.5", children: [
|
|
59476
59476
|
getQuestionTypeIcon(ex.type),
|
|
@@ -59490,7 +59490,7 @@ const MessageContent = (props) => {
|
|
|
59490
59490
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex gap-2", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
59491
59491
|
"button",
|
|
59492
59492
|
{
|
|
59493
|
-
className: "flex-1 flex items-center justify-center px-3 py-2 bg-gradient-to-r from-
|
|
59493
|
+
className: "flex-1 flex items-center justify-center px-3 py-2 bg-gradient-to-r from-primary-50 via-purple-50 to-pink-50 text-primary-600 text-sm font-medium rounded-lg hover:from-primary-100 hover:via-purple-100 hover:to-pink-100 transition-all shadow-sm hover:shadow",
|
|
59494
59494
|
onClick: () => {
|
|
59495
59495
|
const url = `${window.location.origin}/mySpaces/practices?questionIdForRightNow=${ex.id}`;
|
|
59496
59496
|
localStorage.setItem("questionIdForRightNowData", ex);
|
|
@@ -59519,11 +59519,11 @@ const MessageContent = (props) => {
|
|
|
59519
59519
|
{
|
|
59520
59520
|
className: cn(
|
|
59521
59521
|
"w-full px-4 rounded-[24px] text-[13px] leading-relaxed shadow-sm",
|
|
59522
|
-
msg.role === "user" ? "bg-
|
|
59522
|
+
msg.role === "user" ? "bg-primary-600 text-white rounded-tr-none" : "bg-white text-gray-800 border border-gray-100 rounded-tl-none"
|
|
59523
59523
|
),
|
|
59524
59524
|
children: [
|
|
59525
59525
|
msg.messageType === msgType.NODE && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "px-1 py-2 whitespace-pre-wrap break-words", children: msg.content }),
|
|
59526
|
-
(msg.messageType === msgType.TEXT || !msg.messageType) && typeof (msg == null ? void 0 : msg.content) === "string" && ((_a2 = msg == null ? void 0 : msg.content) == null ? void 0 : _a2.indexOf("<think>")) === -1 ? msg.role === "user" ? /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "px-1 py-2 whitespace-pre-wrap break-words
|
|
59526
|
+
(msg.messageType === msgType.TEXT || !msg.messageType) && typeof (msg == null ? void 0 : msg.content) === "string" && ((_a2 = msg == null ? void 0 : msg.content) == null ? void 0 : _a2.indexOf("<think>")) === -1 ? msg.role === "user" ? /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "px-1 py-2 whitespace-pre-wrap break-words", children: /* @__PURE__ */ jsxRuntimeExports.jsx(RenderContentWithQuotes, { content: msg.content, role: msg.role }) }) : /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "relative", children: /* @__PURE__ */ jsxRuntimeExports.jsx(MyReactMarkdown, { children: msg.content }) }) : msg.messageType === msgType.TEXT || !msg.messageType ? /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "py-4 text-red-400", children: "思考已中断..." }) : null,
|
|
59527
59527
|
msg.messageType === msgType.FROM_PARSE_VIDEO && (extraInfo == null ? void 0 : extraInfo.form) && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "py-4 italic text-purple-600", children: extraInfo.form.url ? "视频解析请求" : "视频推荐" }),
|
|
59528
59528
|
msg.messageType === msgType.RECOMMEND_VIDEO && (extraInfo == null ? void 0 : extraInfo.form) && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "py-4 italic text-purple-600", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
59529
59529
|
BiliRecommend$1,
|
|
@@ -59837,7 +59837,7 @@ const MessageContent = (props) => {
|
|
|
59837
59837
|
type: "primary",
|
|
59838
59838
|
disabled: studyPathSaving,
|
|
59839
59839
|
loading: studyPathSaving,
|
|
59840
|
-
className: "w-full bg-
|
|
59840
|
+
className: "w-full bg-primary-600 mt-2 flex items-center justify-center px-4 py-4 text-white text-sm font-bold shadow-md hover:shadow-lg disabled:opacity-50 disabled:shadow-none transform active:scale-[0.98]",
|
|
59841
59841
|
children: [
|
|
59842
59842
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Zap, { className: "h-4 w-4 mr-2" }),
|
|
59843
59843
|
"保存路径"
|
|
@@ -59867,7 +59867,7 @@ const MessageContent = (props) => {
|
|
|
59867
59867
|
const url = `${vgenBaseUrl}/studyMap/${extraInfo.id}`;
|
|
59868
59868
|
window.open(url, "_blank");
|
|
59869
59869
|
},
|
|
59870
|
-
className: "bg-
|
|
59870
|
+
className: "bg-primary-600 hover:bg-primary-700 text-white rounded-xl h-9 px-4 font-bold text-xs gap-2",
|
|
59871
59871
|
children: "去学习"
|
|
59872
59872
|
}
|
|
59873
59873
|
)
|
|
@@ -59885,7 +59885,7 @@ const MessageContent = (props) => {
|
|
|
59885
59885
|
const url = `${vgenBaseUrl}/knowledgeDetailPage/${extraInfo.knowledgeId}`;
|
|
59886
59886
|
window.open(url, "_blank");
|
|
59887
59887
|
},
|
|
59888
|
-
className: "bg-
|
|
59888
|
+
className: "bg-primary-600 hover:bg-primary-700 text-white rounded-xl h-9 px-4 font-bold text-xs gap-2",
|
|
59889
59889
|
children: "立即查看"
|
|
59890
59890
|
}
|
|
59891
59891
|
)
|
|
@@ -59905,7 +59905,7 @@ const MessageContent = (props) => {
|
|
|
59905
59905
|
e.stopPropagation();
|
|
59906
59906
|
toCheckQuestions == null ? void 0 : toCheckQuestions(extraInfo);
|
|
59907
59907
|
},
|
|
59908
|
-
className: "whitespace-nowrap bg-
|
|
59908
|
+
className: "whitespace-nowrap bg-primary-600 hover:bg-primary-700 text-white rounded-xl h-9 px-4 font-bold text-xs gap-2",
|
|
59909
59909
|
children: [
|
|
59910
59910
|
"去答题 (共",
|
|
59911
59911
|
extraInfo.questionCenterIds.length,
|
|
@@ -59918,12 +59918,12 @@ const MessageContent = (props) => {
|
|
|
59918
59918
|
msg.messageType === msgType.REL_RECORD && extraInfo && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "py-4", children: [
|
|
59919
59919
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "pt-4 max-w-[300px]", children: [
|
|
59920
59920
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex gap-2 items-start mb-2", children: [
|
|
59921
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Video, { className: "w-[44px] h-[26px] text-
|
|
59921
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Video, { className: "w-[44px] h-[26px] text-primary-400" }),
|
|
59922
59922
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { title: extraInfo.title, className: "text-[16px] font-bold text-gray-900 line-clamp-1", children: extraInfo.title })
|
|
59923
59923
|
] }),
|
|
59924
59924
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-sm text-gray-500 mb-2 leading-relaxed line-clamp-3", children: "点击查看视频分析结果,获取详细的视频内容解析和学习建议。" }),
|
|
59925
59925
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-between pt-4 border-t border-gray-50", children: [
|
|
59926
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-[12px] font-bold text-
|
|
59926
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-[12px] font-bold text-primary-400 uppercase tracking-wider" }),
|
|
59927
59927
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
59928
59928
|
"button",
|
|
59929
59929
|
{
|
|
@@ -59931,7 +59931,7 @@ const MessageContent = (props) => {
|
|
|
59931
59931
|
e.stopPropagation();
|
|
59932
59932
|
toCheckVideo == null ? void 0 : toCheckVideo(extraInfo.recordId || extraInfo.id);
|
|
59933
59933
|
},
|
|
59934
|
-
className: "bg-
|
|
59934
|
+
className: "bg-primary-600 hover:bg-primary-700 text-white rounded-xl h-9 px-4 font-bold text-xs gap-2",
|
|
59935
59935
|
children: [
|
|
59936
59936
|
"查看视频",
|
|
59937
59937
|
/* @__PURE__ */ jsxRuntimeExports.jsx(ArrowRight, { className: "w-3.5 h-3.5" })
|
|
@@ -59942,13 +59942,13 @@ const MessageContent = (props) => {
|
|
|
59942
59942
|
] }),
|
|
59943
59943
|
(recommendVideos == null ? void 0 : recommendVideos.length) && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mt-4 max-w-[300px] pt-4 border-t border-gray-100", children: [
|
|
59944
59944
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2 mb-3", children: [
|
|
59945
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-1 h-4 bg-gradient-to-b from-
|
|
59945
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-1 h-4 bg-gradient-to-b from-primary-400 to-primary-600 rounded-full" }),
|
|
59946
59946
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-sm font-bold text-gray-800", children: "视频拼命解析中,先来看看这些吧~" })
|
|
59947
59947
|
] }),
|
|
59948
59948
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "space-y-2", children: recommendVideos.map((video) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
59949
59949
|
"div",
|
|
59950
59950
|
{
|
|
59951
|
-
className: "flex items-center gap-3 p-2.5 rounded-xl bg-gradient-to-r from-gray-50 to-white hover:from-
|
|
59951
|
+
className: "flex items-center gap-3 p-2.5 rounded-xl bg-gradient-to-r from-gray-50 to-white hover:from-primary-50 hover:to-primary-50 transition-all duration-200 cursor-pointer group/item border border-gray-100 hover:border-primary-200 hover:shadow-md",
|
|
59952
59952
|
onClick: (e) => {
|
|
59953
59953
|
e.stopPropagation();
|
|
59954
59954
|
recommendVideoSelect(video);
|
|
@@ -59963,7 +59963,7 @@ const MessageContent = (props) => {
|
|
|
59963
59963
|
}
|
|
59964
59964
|
),
|
|
59965
59965
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex-1 min-w-0", children: [
|
|
59966
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { title: video.title, className: "text-sm font-semibold text-gray-900 line-clamp-2 group-hover/item:text-
|
|
59966
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { title: video.title, className: "text-sm font-semibold text-gray-900 line-clamp-2 group-hover/item:text-primary-600 transition-colors", children: video.title }),
|
|
59967
59967
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2 mt-1", children: [
|
|
59968
59968
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs text-gray-500 whitespace-nowrap", children: video.createTime.split(" ")[0] }),
|
|
59969
59969
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs text-gray-300", children: "•" }),
|
|
@@ -59973,7 +59973,7 @@ const MessageContent = (props) => {
|
|
|
59973
59973
|
] })
|
|
59974
59974
|
] })
|
|
59975
59975
|
] }),
|
|
59976
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "opacity-0 group-hover/item:opacity-100 transition-opacity", children: /* @__PURE__ */ jsxRuntimeExports.jsx(ArrowRight, { className: "w-4 h-4 text-
|
|
59976
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "opacity-0 group-hover/item:opacity-100 transition-opacity", children: /* @__PURE__ */ jsxRuntimeExports.jsx(ArrowRight, { className: "w-4 h-4 text-primary-500" }) })
|
|
59977
59977
|
]
|
|
59978
59978
|
},
|
|
59979
59979
|
video.recordId
|
|
@@ -60015,7 +60015,7 @@ const MessageContent = (props) => {
|
|
|
60015
60015
|
const url = `${window.location.origin}/taskManagement`;
|
|
60016
60016
|
window.open(url, "_blank");
|
|
60017
60017
|
},
|
|
60018
|
-
className: "bg-
|
|
60018
|
+
className: "bg-primary-600 hover:bg-primary-700 text-white rounded-xl h-9 px-4 font-bold text-xs gap-2",
|
|
60019
60019
|
children: [
|
|
60020
60020
|
"查看任务",
|
|
60021
60021
|
/* @__PURE__ */ jsxRuntimeExports.jsx(ArrowRight, { className: "w-3.5 h-3.5" })
|
|
@@ -60100,16 +60100,16 @@ const MessageContent = (props) => {
|
|
|
60100
60100
|
onClick: () => {
|
|
60101
60101
|
handleSend({ input: wholeTip, scene: item.scene });
|
|
60102
60102
|
},
|
|
60103
|
-
className: "w-full group/recommend flex items-center justify-between p-4 bg-white/80 backdrop-blur-sm border border-slate-100 rounded-xl hover:border-
|
|
60103
|
+
className: "w-full group/recommend flex items-center justify-between p-4 bg-white/80 backdrop-blur-sm border border-slate-100 rounded-xl hover:border-primary-200 hover:bg-primary-50/30 transition-all duration-300 text-left shadow-sm hover:shadow-md",
|
|
60104
60104
|
children: [
|
|
60105
60105
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-3", children: [
|
|
60106
60106
|
Icon2 && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-sm px-2 py-1.5 flex items-center gap-1 transition-colors rounded-md bg-primary/10 text-primary border border-primary/20", children: [
|
|
60107
60107
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Icon2, { className: `${sceneIconColorMap[item.scene]} w-5 h-5` }),
|
|
60108
60108
|
sceneTitleMap[item.scene]
|
|
60109
60109
|
] }),
|
|
60110
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { title: item.topic, className: "flex-1 text-[15px] text-slate-700 font-medium group-hover/recommend:text-
|
|
60110
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { title: item.topic, className: "flex-1 text-[15px] text-slate-700 font-medium group-hover/recommend:text-primary-600 transition-colors line-clamp-1", children: wholeTip })
|
|
60111
60111
|
] }),
|
|
60112
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(RefIcon, { className: "text-slate-300 group-hover/recommend:text-
|
|
60112
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(RefIcon, { className: "text-slate-300 group-hover/recommend:text-primary-400 opacity-100 group-hover/recommend:opacity-100 -translate-x-2 group-hover/recommend:translate-x-0 transition-all" })
|
|
60113
60113
|
]
|
|
60114
60114
|
}
|
|
60115
60115
|
)
|
|
@@ -60133,7 +60133,7 @@ const MessageContent = (props) => {
|
|
|
60133
60133
|
open: sessionToKnowledgeModalVisible,
|
|
60134
60134
|
title: sessionToKnowledgeLoading ? "正在转化..." : "转化完成",
|
|
60135
60135
|
content: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-[140px]", children: sessionToKnowledgeLoading ? /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col items-center justify-center py-8", children: [
|
|
60136
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-16 h-16 bg-
|
|
60136
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "w-16 h-16 bg-primary-50 text-primary-600 rounded-2xl flex items-center justify-center mx-auto mb-6 animate-bounce", children: /* @__PURE__ */ jsxRuntimeExports.jsx(BookOpenText, { className: "w-8 h-8 opacity-50" }) }),
|
|
60137
60137
|
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-gray-600", children: sessionToKnowledgeLoadingText || "正在将对话内容转化为知识点..." })
|
|
60138
60138
|
] }) : /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "text-center py-4", children: [
|
|
60139
60139
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mx-auto w-16 h-16 bg-green-100 rounded-full flex items-center justify-center mb-4", children: /* @__PURE__ */ jsxRuntimeExports.jsx("svg", { className: "w-8 h-8 text-green-500", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: /* @__PURE__ */ jsxRuntimeExports.jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M5 13l4 4L19 7" }) }) }),
|
|
@@ -60213,6 +60213,7 @@ const TagsTextarea = forwardRef((props, ref) => {
|
|
|
60213
60213
|
getStructuredData: () => structuredData,
|
|
60214
60214
|
addText,
|
|
60215
60215
|
addTag,
|
|
60216
|
+
addQuotedText,
|
|
60216
60217
|
addInput,
|
|
60217
60218
|
addDropdown,
|
|
60218
60219
|
focusInput,
|
|
@@ -60223,10 +60224,12 @@ const TagsTextarea = forwardRef((props, ref) => {
|
|
|
60223
60224
|
const results = [];
|
|
60224
60225
|
const nodes = editorRef.current.childNodes;
|
|
60225
60226
|
nodes.forEach((node2) => {
|
|
60226
|
-
var _a2;
|
|
60227
|
+
var _a2, _b, _c;
|
|
60227
60228
|
if (node2.nodeType === Node.TEXT_NODE) {
|
|
60228
60229
|
const text2 = (_a2 = node2.textContent) == null ? void 0 : _a2.trim();
|
|
60229
60230
|
if (text2) results.push({ type: "text", value: text2 });
|
|
60231
|
+
} else if (node2.nodeType === Node.ELEMENT_NODE && ((_b = node2 == null ? void 0 : node2.dataset) == null ? void 0 : _b.quote)) {
|
|
60232
|
+
results.push({ type: "text", value: (_c = node2 == null ? void 0 : node2.dataset) == null ? void 0 : _c.quote });
|
|
60230
60233
|
} else if (node2.nodeType === Node.ELEMENT_NODE && node2.nodeName === "BR") {
|
|
60231
60234
|
results.push({ type: "br", value: "" });
|
|
60232
60235
|
} else if (node2.nodeType === Node.ELEMENT_NODE) {
|
|
@@ -60355,6 +60358,20 @@ const TagsTextarea = forwardRef((props, ref) => {
|
|
|
60355
60358
|
span.appendChild(createDeleteBtn(span));
|
|
60356
60359
|
insertNode(span);
|
|
60357
60360
|
};
|
|
60361
|
+
const addQuotedText = (text2) => {
|
|
60362
|
+
const span = document.createElement("span");
|
|
60363
|
+
span.contentEditable = "false";
|
|
60364
|
+
span.className = "mb-1 qouteSpan relative inline-flex items-center mx-1 pl-4 pr-2 py-1 rounded-md text-sm font-medium bg-blue-50 text-blue-600 border border-blue-200 select-none transition-all hover:bg-blue-100";
|
|
60365
|
+
const content2 = document.createElement("span");
|
|
60366
|
+
const quotedMatch = text2.match(/<<<(.*?)>>>/);
|
|
60367
|
+
const quotedDisplay = quotedMatch == null ? void 0 : quotedMatch[1];
|
|
60368
|
+
if (!quotedDisplay) return;
|
|
60369
|
+
const quotedPrefix = quotedDisplay.slice(0, 10);
|
|
60370
|
+
content2.innerHTML = `${quotedPrefix}...`;
|
|
60371
|
+
span.dataset.quote = text2;
|
|
60372
|
+
span.appendChild(content2);
|
|
60373
|
+
insertNode(span);
|
|
60374
|
+
};
|
|
60358
60375
|
const addInput = (value, placeholder2) => {
|
|
60359
60376
|
const span = document.createElement("span");
|
|
60360
60377
|
span.contentEditable = "false";
|
|
@@ -60548,20 +60565,20 @@ const TagsTextarea = forwardRef((props, ref) => {
|
|
|
60548
60565
|
}
|
|
60549
60566
|
) });
|
|
60550
60567
|
});
|
|
60551
|
-
const analyzeCom = "
|
|
60552
|
-
const colletionList = "
|
|
60553
|
-
const colletionListHeader = "
|
|
60554
|
-
const buyVip = "
|
|
60555
|
-
const countText = "
|
|
60556
|
-
const collectionList = "
|
|
60557
|
-
const videoList = "
|
|
60558
|
-
const videoItem = "
|
|
60559
|
-
const title = "
|
|
60560
|
-
const freeBadge = "
|
|
60561
|
-
const icon = "
|
|
60562
|
-
const selected = "
|
|
60563
|
-
const collectionTitle = "
|
|
60564
|
-
const freeCount = "
|
|
60568
|
+
const analyzeCom = "_analyzeCom_1r6dj_32";
|
|
60569
|
+
const colletionList = "_colletionList_1r6dj_129";
|
|
60570
|
+
const colletionListHeader = "_colletionListHeader_1r6dj_132";
|
|
60571
|
+
const buyVip = "_buyVip_1r6dj_142";
|
|
60572
|
+
const countText = "_countText_1r6dj_150";
|
|
60573
|
+
const collectionList = "_collectionList_1r6dj_156";
|
|
60574
|
+
const videoList = "_videoList_1r6dj_181";
|
|
60575
|
+
const videoItem = "_videoItem_1r6dj_190";
|
|
60576
|
+
const title = "_title_1r6dj_203";
|
|
60577
|
+
const freeBadge = "_freeBadge_1r6dj_209";
|
|
60578
|
+
const icon = "_icon_1r6dj_222";
|
|
60579
|
+
const selected = "_selected_1r6dj_230";
|
|
60580
|
+
const collectionTitle = "_collectionTitle_1r6dj_240";
|
|
60581
|
+
const freeCount = "_freeCount_1r6dj_252";
|
|
60565
60582
|
const styles = {
|
|
60566
60583
|
analyzeCom,
|
|
60567
60584
|
colletionList,
|
|
@@ -61061,6 +61078,30 @@ const AnalyzeUrl = (props) => {
|
|
|
61061
61078
|
)
|
|
61062
61079
|
] });
|
|
61063
61080
|
};
|
|
61081
|
+
const KnowledgeContinueMsg = (props) => {
|
|
61082
|
+
const { knowledgeInfo } = props;
|
|
61083
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-1", children: [
|
|
61084
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-[15px] font-bold text-gray-900", children: [
|
|
61085
|
+
"欢迎继续学习《",
|
|
61086
|
+
knowledgeInfo == null ? void 0 : knowledgeInfo.title,
|
|
61087
|
+
"》!"
|
|
61088
|
+
] }),
|
|
61089
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-[13px] text-gray-600 leading-relaxed", children: "我是你的 AI 学伴饼干,有什么不明白的,随时都可以问我哦~ (。•̀ᴗ-)و✧" })
|
|
61090
|
+
] }) });
|
|
61091
|
+
};
|
|
61092
|
+
const KnowledgeContinueMsg$1 = memo$1(KnowledgeContinueMsg);
|
|
61093
|
+
const KnowledgeStartMsg = (props) => {
|
|
61094
|
+
const { knowledgeInfo } = props;
|
|
61095
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-1", children: [
|
|
61096
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-[15px] font-bold text-gray-900", children: [
|
|
61097
|
+
"欢迎学习《",
|
|
61098
|
+
knowledgeInfo == null ? void 0 : knowledgeInfo.title,
|
|
61099
|
+
"》!"
|
|
61100
|
+
] }),
|
|
61101
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-[13px] text-gray-600 leading-relaxed", children: "我是你的 AI 学伴饼干,有什么不明白的,随时都可以问我哦~ (。•̀ᴗ-)و✧" })
|
|
61102
|
+
] }) });
|
|
61103
|
+
};
|
|
61104
|
+
const KnowledgeStartMsg$1 = memo$1(KnowledgeStartMsg);
|
|
61064
61105
|
const VgenAgent = forwardRef((props, ref) => {
|
|
61065
61106
|
const {
|
|
61066
61107
|
containerRef,
|
|
@@ -61068,10 +61109,12 @@ const VgenAgent = forwardRef((props, ref) => {
|
|
|
61068
61109
|
viewMode = "default",
|
|
61069
61110
|
courseInfo,
|
|
61070
61111
|
videoInfo,
|
|
61112
|
+
knowledgeInfo,
|
|
61071
61113
|
initPos,
|
|
61072
61114
|
initStyle,
|
|
61073
61115
|
hoverTip,
|
|
61074
|
-
isDev
|
|
61116
|
+
isDev,
|
|
61117
|
+
chatId: chatIdFromPorps
|
|
61075
61118
|
} = props;
|
|
61076
61119
|
const [isLogin, setIsLogin] = useState(false);
|
|
61077
61120
|
const [isAiPanelOpen, setIsAiPanelOpen] = useState(false);
|
|
@@ -61079,7 +61122,7 @@ const VgenAgent = forwardRef((props, ref) => {
|
|
|
61079
61122
|
const [messages2, setMessages] = useState([]);
|
|
61080
61123
|
const [inputValue, setInputValue] = useState("");
|
|
61081
61124
|
const [showPracticeGuide, setShowPracticeGuide] = useState(false);
|
|
61082
|
-
const [chatId, setChatId] = useState(
|
|
61125
|
+
const [chatId, setChatId] = useState(-1);
|
|
61083
61126
|
const [inputPlaceholder, setInputPlaceholder] = useState("在此输入你的需求或问题...");
|
|
61084
61127
|
const [sceneNow, setSceneNow] = useState("");
|
|
61085
61128
|
const [generatedResources, setGeneratedResources] = useState([]);
|
|
@@ -61100,12 +61143,34 @@ const VgenAgent = forwardRef((props, ref) => {
|
|
|
61100
61143
|
const [isMoreActionsOpen, setIsMoreActionsOpen] = useState(false);
|
|
61101
61144
|
const [quotedText, setQuotedText] = useState("");
|
|
61102
61145
|
const [sessionList, setSessionList] = useState([]);
|
|
61146
|
+
const quotedTextRef = useRef("");
|
|
61103
61147
|
const isDragging2 = useRef(false);
|
|
61104
61148
|
const scrollRef = useRef(null);
|
|
61105
61149
|
const scrollToBottomTimer = useRef(null);
|
|
61106
61150
|
const tagsTextareaRef = useRef(null);
|
|
61151
|
+
useEffect(() => {
|
|
61152
|
+
return () => {
|
|
61153
|
+
addQuoteTimer.current && clearTimeout(addQuoteTimer.current);
|
|
61154
|
+
};
|
|
61155
|
+
}, []);
|
|
61156
|
+
const addQuoteTimer = useRef(null);
|
|
61157
|
+
const setQuotedTextAndInput = (text2) => {
|
|
61158
|
+
if (!text2) {
|
|
61159
|
+
setQuotedText("");
|
|
61160
|
+
quotedTextRef.current = "";
|
|
61161
|
+
return;
|
|
61162
|
+
}
|
|
61163
|
+
quotedTextRef.current = text2;
|
|
61164
|
+
setQuotedText(text2);
|
|
61165
|
+
setIsAiPanelOpen(true);
|
|
61166
|
+
addQuoteTimer.current = setTimeout(() => {
|
|
61167
|
+
var _a2, _b;
|
|
61168
|
+
(_a2 = tagsTextareaRef.current) == null ? void 0 : _a2.focusInput();
|
|
61169
|
+
(_b = tagsTextareaRef.current) == null ? void 0 : _b.addQuotedText(`<<<${text2}>>>`);
|
|
61170
|
+
}, 100);
|
|
61171
|
+
};
|
|
61107
61172
|
useImperativeHandle(ref, () => ({
|
|
61108
|
-
setQuotedText: (val) =>
|
|
61173
|
+
setQuotedText: (val) => setQuotedTextAndInput(val)
|
|
61109
61174
|
}));
|
|
61110
61175
|
useEffect(() => {
|
|
61111
61176
|
if (typeof window !== "undefined") {
|
|
@@ -61125,12 +61190,15 @@ const VgenAgent = forwardRef((props, ref) => {
|
|
|
61125
61190
|
toGetAgentFormFields();
|
|
61126
61191
|
}
|
|
61127
61192
|
}, [isLogin]);
|
|
61193
|
+
useEffect(() => {
|
|
61194
|
+
setChatId(chatIdFromPorps || -1);
|
|
61195
|
+
}, [chatIdFromPorps]);
|
|
61128
61196
|
useEffect(() => {
|
|
61129
61197
|
if (!isLogin) {
|
|
61130
61198
|
return;
|
|
61131
61199
|
}
|
|
61132
61200
|
initGet();
|
|
61133
|
-
}, [isLogin, viewMode]);
|
|
61201
|
+
}, [isLogin, viewMode, videoInfo, courseInfo]);
|
|
61134
61202
|
const toGetAgentFormFields = async () => {
|
|
61135
61203
|
const res = await getAgentFormFields();
|
|
61136
61204
|
setAgentFormFields(res.data);
|
|
@@ -61140,6 +61208,11 @@ const VgenAgent = forwardRef((props, ref) => {
|
|
|
61140
61208
|
case "video":
|
|
61141
61209
|
videoInitGet();
|
|
61142
61210
|
break;
|
|
61211
|
+
case "course":
|
|
61212
|
+
break;
|
|
61213
|
+
case "knowledgeCard":
|
|
61214
|
+
knowledgeCardInitGet();
|
|
61215
|
+
break;
|
|
61143
61216
|
}
|
|
61144
61217
|
};
|
|
61145
61218
|
const videoInitGet = () => {
|
|
@@ -61162,7 +61235,7 @@ const VgenAgent = forwardRef((props, ref) => {
|
|
|
61162
61235
|
if (!res.dataList.length) {
|
|
61163
61236
|
createSession({
|
|
61164
61237
|
btype: 2,
|
|
61165
|
-
|
|
61238
|
+
dataType: 10,
|
|
61166
61239
|
dataId: videoInfo.recordId
|
|
61167
61240
|
}).then((res2) => {
|
|
61168
61241
|
setChatId(res2);
|
|
@@ -61176,6 +61249,46 @@ const VgenAgent = forwardRef((props, ref) => {
|
|
|
61176
61249
|
}
|
|
61177
61250
|
});
|
|
61178
61251
|
};
|
|
61252
|
+
const knowledgeCardInitGet = () => {
|
|
61253
|
+
if (!knowledgeInfo) {
|
|
61254
|
+
message.error("知识卡片信息未传入!");
|
|
61255
|
+
return;
|
|
61256
|
+
}
|
|
61257
|
+
if (chatIdFromPorps) {
|
|
61258
|
+
setChatId(chatIdFromPorps);
|
|
61259
|
+
setSessionList([]);
|
|
61260
|
+
toGetHistoryList(chatIdFromPorps);
|
|
61261
|
+
return;
|
|
61262
|
+
}
|
|
61263
|
+
getSessionListByBiz({
|
|
61264
|
+
currentPage: 1,
|
|
61265
|
+
pageSize: 20,
|
|
61266
|
+
dataBtype: 1,
|
|
61267
|
+
dataId: knowledgeInfo.knowledgeId,
|
|
61268
|
+
orders: [
|
|
61269
|
+
{
|
|
61270
|
+
key: "create_time",
|
|
61271
|
+
asc: false
|
|
61272
|
+
}
|
|
61273
|
+
]
|
|
61274
|
+
}).then((res) => {
|
|
61275
|
+
if (!res.dataList.length) {
|
|
61276
|
+
createSession({
|
|
61277
|
+
btype: 2,
|
|
61278
|
+
dataType: 1,
|
|
61279
|
+
dataId: knowledgeInfo.knowledgeId
|
|
61280
|
+
}).then((res2) => {
|
|
61281
|
+
setChatId(res2);
|
|
61282
|
+
sceneMsgSend(res2);
|
|
61283
|
+
toGetHistoryList(res2);
|
|
61284
|
+
});
|
|
61285
|
+
} else {
|
|
61286
|
+
setChatId(res.dataList[0].id);
|
|
61287
|
+
setSessionList(res.dataList);
|
|
61288
|
+
toGetHistoryList(res.dataList[0].id);
|
|
61289
|
+
}
|
|
61290
|
+
});
|
|
61291
|
+
};
|
|
61179
61292
|
const toSetViewModeTem = () => {
|
|
61180
61293
|
switch (viewMode) {
|
|
61181
61294
|
case "video":
|
|
@@ -61184,6 +61297,9 @@ const VgenAgent = forwardRef((props, ref) => {
|
|
|
61184
61297
|
case "course":
|
|
61185
61298
|
toSetCourseTem();
|
|
61186
61299
|
break;
|
|
61300
|
+
case "knowledgeCard":
|
|
61301
|
+
toSetKnowledgeCardTem();
|
|
61302
|
+
break;
|
|
61187
61303
|
default:
|
|
61188
61304
|
toSetDefaultTem();
|
|
61189
61305
|
break;
|
|
@@ -61234,6 +61350,51 @@ const VgenAgent = forwardRef((props, ref) => {
|
|
|
61234
61350
|
]);
|
|
61235
61351
|
}
|
|
61236
61352
|
};
|
|
61353
|
+
const toSetKnowledgeCardTem = () => {
|
|
61354
|
+
let hasHistory = messages2.length > 0;
|
|
61355
|
+
if (!knowledgeInfo) {
|
|
61356
|
+
setMessages([
|
|
61357
|
+
{
|
|
61358
|
+
role: "ai",
|
|
61359
|
+
messageType: msgType$1.NODE,
|
|
61360
|
+
id: randomNumber(),
|
|
61361
|
+
content: /* @__PURE__ */ jsxRuntimeExports.jsx(DefalutWelcomeMsg, { videoMode: viewMode })
|
|
61362
|
+
}
|
|
61363
|
+
]);
|
|
61364
|
+
return;
|
|
61365
|
+
}
|
|
61366
|
+
if (hasHistory) {
|
|
61367
|
+
setMessages([
|
|
61368
|
+
{
|
|
61369
|
+
role: "ai",
|
|
61370
|
+
messageType: msgType$1.NODE,
|
|
61371
|
+
id: randomNumber(),
|
|
61372
|
+
content: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
61373
|
+
KnowledgeContinueMsg$1,
|
|
61374
|
+
{
|
|
61375
|
+
knowledgeInfo,
|
|
61376
|
+
handleSendMessage: handleSend
|
|
61377
|
+
}
|
|
61378
|
+
)
|
|
61379
|
+
}
|
|
61380
|
+
]);
|
|
61381
|
+
} else {
|
|
61382
|
+
setMessages([
|
|
61383
|
+
{
|
|
61384
|
+
role: "ai",
|
|
61385
|
+
messageType: msgType$1.NODE,
|
|
61386
|
+
id: randomNumber(),
|
|
61387
|
+
content: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
61388
|
+
KnowledgeStartMsg$1,
|
|
61389
|
+
{
|
|
61390
|
+
knowledgeInfo,
|
|
61391
|
+
handleSendMessage: handleSend
|
|
61392
|
+
}
|
|
61393
|
+
)
|
|
61394
|
+
}
|
|
61395
|
+
]);
|
|
61396
|
+
}
|
|
61397
|
+
};
|
|
61237
61398
|
const toSetCourseTem = () => {
|
|
61238
61399
|
if (!courseInfo) {
|
|
61239
61400
|
setMessages([
|
|
@@ -61422,16 +61583,23 @@ const VgenAgent = forwardRef((props, ref) => {
|
|
|
61422
61583
|
setRecommendSceneData(null);
|
|
61423
61584
|
let systemContext = "";
|
|
61424
61585
|
systemContext += `<scene>${scene || sceneNow}</scene>`;
|
|
61586
|
+
const hasQuotedText = quotedTextRef.current && input.startsWith("[");
|
|
61587
|
+
const extraInfo = hasQuotedText ? JSON.stringify({
|
|
61588
|
+
quotedText: quotedTextRef.current
|
|
61589
|
+
}) : void 0;
|
|
61425
61590
|
saveMsg({
|
|
61426
61591
|
role: "user",
|
|
61427
61592
|
content: input,
|
|
61428
61593
|
toPost: false,
|
|
61429
61594
|
currnetMsgId: randomNumber(1e4, 1e5),
|
|
61430
|
-
messageType: msgType$1.TEXT
|
|
61595
|
+
messageType: msgType$1.TEXT,
|
|
61596
|
+
extraInfo
|
|
61431
61597
|
});
|
|
61432
61598
|
scrollToBottom();
|
|
61433
61599
|
setInputValue("");
|
|
61434
61600
|
setSceneNow("");
|
|
61601
|
+
setQuotedText("");
|
|
61602
|
+
quotedTextRef.current = "";
|
|
61435
61603
|
const currnetMsgId = randomNumber(1e4, 1e5);
|
|
61436
61604
|
const extraObj = {
|
|
61437
61605
|
enableSearch: enableGlobalSearch,
|
|
@@ -61713,7 +61881,7 @@ const VgenAgent = forwardRef((props, ref) => {
|
|
|
61713
61881
|
const renderGeneratedResources = () => /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex flex-col gap-1 max-h-72 overflow-y-auto p-1 custom-scrollbar", children: generatedResources.length > 0 ? generatedResources.map((res) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
61714
61882
|
"div",
|
|
61715
61883
|
{
|
|
61716
|
-
className: "flex items-center gap-3 p-2.5 rounded-xl cursor-pointer hover:bg-
|
|
61884
|
+
className: "flex items-center gap-3 p-2.5 rounded-xl cursor-pointer hover:bg-primary-50 group transition-colors",
|
|
61717
61885
|
onClick: () => {
|
|
61718
61886
|
switch (res.type) {
|
|
61719
61887
|
case msgType$1.REL_KNOWLEDGE_CARD:
|
|
@@ -61735,13 +61903,13 @@ const VgenAgent = forwardRef((props, ref) => {
|
|
|
61735
61903
|
{
|
|
61736
61904
|
className: cn(
|
|
61737
61905
|
"w-8 h-8 rounded-lg flex items-center justify-center shrink-0",
|
|
61738
|
-
res.type === msgType$1.REL_LEARN_PATH ? "bg-
|
|
61906
|
+
res.type === msgType$1.REL_LEARN_PATH ? "bg-primary-50 text-primary-600" : res.type === msgType$1.REL_RECORD ? "bg-purple-50 text-purple-600" : res.type === msgType$1.REL_QUESTION ? "bg-emerald-50 text-emerald-600" : "bg-gray-50 text-gray-600"
|
|
61739
61907
|
),
|
|
61740
61908
|
children: res.type === msgType$1.REL_LEARN_PATH ? /* @__PURE__ */ jsxRuntimeExports.jsx(GraduationCap, { className: "w-4 h-4" }) : res.type === msgType$1.REL_RECORD ? /* @__PURE__ */ jsxRuntimeExports.jsx(Video, { className: "w-4 h-4" }) : res.type === msgType$1.REL_QUESTION ? /* @__PURE__ */ jsxRuntimeExports.jsx(BookOpen, { className: "w-4 h-4" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(FileText, { className: "w-4 h-4" })
|
|
61741
61909
|
}
|
|
61742
61910
|
),
|
|
61743
61911
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex-1 min-w-0", children: [
|
|
61744
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-[12px] font-bold text-gray-900 truncate group-hover:text-
|
|
61912
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-[12px] font-bold text-gray-900 truncate group-hover:text-primary-600", children: res.type === msgType$1.REL_LEARN_PATH ? res.extraInfo.name : res.type === msgType$1.REL_RECORD ? res.extraInfo.title : res.type === msgType$1.REL_QUESTION ? `题目批次ID:${res.extraInfo.batchId}` : res.extraInfo.title }),
|
|
61745
61913
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-[10px] text-gray-400 font-medium", children: res.type === msgType$1.REL_LEARN_PATH ? "学习路径" : res.type === msgType$1.REL_RECORD ? "视频解析" : res.type === msgType$1.REL_QUESTION ? "练习题" : "知识讲解" })
|
|
61746
61914
|
] })
|
|
61747
61915
|
]
|
|
@@ -61847,8 +62015,8 @@ const VgenAgent = forwardRef((props, ref) => {
|
|
|
61847
62015
|
"div",
|
|
61848
62016
|
{
|
|
61849
62017
|
className: cn(
|
|
61850
|
-
"bg-white p-3 rounded-xl border border-gray-100 shadow-sm hover:border-
|
|
61851
|
-
item.id === chatId && "border-
|
|
62018
|
+
"bg-white p-3 rounded-xl border border-gray-100 shadow-sm hover:border-primary-200 transition-colors cursor-pointer group relative",
|
|
62019
|
+
item.id === chatId && "border-primary-300"
|
|
61852
62020
|
),
|
|
61853
62021
|
onClick: () => {
|
|
61854
62022
|
toGetHistoryList(item.id);
|
|
@@ -61900,6 +62068,18 @@ const VgenAgent = forwardRef((props, ref) => {
|
|
|
61900
62068
|
messageType: msgType$1.INVISIBLE_TEXT
|
|
61901
62069
|
});
|
|
61902
62070
|
break;
|
|
62071
|
+
case "course":
|
|
62072
|
+
break;
|
|
62073
|
+
case "knowledgeCard":
|
|
62074
|
+
saveMsg({
|
|
62075
|
+
role: "user",
|
|
62076
|
+
content: (knowledgeInfo == null ? void 0 : knowledgeInfo.content) || "",
|
|
62077
|
+
onlyPost: true,
|
|
62078
|
+
toPost: true,
|
|
62079
|
+
chatId: chatIdHere,
|
|
62080
|
+
messageType: msgType$1.INVISIBLE_TEXT
|
|
62081
|
+
});
|
|
62082
|
+
break;
|
|
61903
62083
|
}
|
|
61904
62084
|
};
|
|
61905
62085
|
const addNewSession = () => {
|
|
@@ -61907,7 +62087,7 @@ const VgenAgent = forwardRef((props, ref) => {
|
|
|
61907
62087
|
case "video":
|
|
61908
62088
|
createSession({
|
|
61909
62089
|
btype: 2,
|
|
61910
|
-
|
|
62090
|
+
dataType: 10,
|
|
61911
62091
|
dataId: videoInfo == null ? void 0 : videoInfo.recordId
|
|
61912
62092
|
}).then((res) => {
|
|
61913
62093
|
setChatId(res);
|
|
@@ -62026,17 +62206,17 @@ const VgenAgent = forwardRef((props, ref) => {
|
|
|
62026
62206
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-[13px] font-bold text-gray-800", children: "饼干 AI 学伴" })
|
|
62027
62207
|
] }),
|
|
62028
62208
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-1 z-10", children: [
|
|
62029
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, { title: "开启新对话", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
62209
|
+
viewMode !== "knowledgeCard" && /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, { title: "开启新对话", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
62030
62210
|
"button",
|
|
62031
62211
|
{
|
|
62032
62212
|
onClick: () => {
|
|
62033
62213
|
addNewSession();
|
|
62034
62214
|
},
|
|
62035
|
-
className: "p-1.5 hover:bg-gray-100 rounded-lg text-gray-400 hover:text-
|
|
62215
|
+
className: "p-1.5 hover:bg-gray-100 rounded-lg text-gray-400 hover:text-primary-600 transition-colors",
|
|
62036
62216
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Plus, { className: "w-4 h-4" })
|
|
62037
62217
|
}
|
|
62038
62218
|
) }),
|
|
62039
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
62219
|
+
viewMode !== "knowledgeCard" && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
62040
62220
|
Popover,
|
|
62041
62221
|
{
|
|
62042
62222
|
placement: "bottomRight",
|
|
@@ -62045,7 +62225,7 @@ const VgenAgent = forwardRef((props, ref) => {
|
|
|
62045
62225
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
62046
62226
|
"button",
|
|
62047
62227
|
{
|
|
62048
|
-
className: "p-1.5 hover:bg-gray-100 rounded-lg text-gray-400 hover:text-
|
|
62228
|
+
className: "p-1.5 hover:bg-gray-100 rounded-lg text-gray-400 hover:text-primary-600 transition-colors",
|
|
62049
62229
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx(History, { className: "w-4 h-4" })
|
|
62050
62230
|
}
|
|
62051
62231
|
)
|
|
@@ -62063,13 +62243,13 @@ const VgenAgent = forwardRef((props, ref) => {
|
|
|
62063
62243
|
]
|
|
62064
62244
|
}
|
|
62065
62245
|
),
|
|
62066
|
-
viewMode === "video" && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "bg-
|
|
62067
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { title: videoInfo == null ? void 0 : videoInfo.name, className: "text-[11px] font-medium text-
|
|
62246
|
+
viewMode === "video" && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "bg-primary-50 px-4 py-3 border-b border-primary-100 animate-in slide-in-from-top-2 duration-300", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center justify-between", children: [
|
|
62247
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { title: videoInfo == null ? void 0 : videoInfo.name, className: "text-[11px] font-medium text-primary-900 truncate pr-4 flex-1 text-ellipsis", children: videoInfo == null ? void 0 : videoInfo.name }),
|
|
62068
62248
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex flex-wrap gap-2", children: ["视频总结", "章节大纲"].map(
|
|
62069
62249
|
(item) => /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
62070
62250
|
"button",
|
|
62071
62251
|
{
|
|
62072
|
-
className: "px-2 py-1 bg-white border border-
|
|
62252
|
+
className: "px-2 py-1 bg-white border border-primary-100 rounded text-[10px] text-primary-700 shadow-sm hover:bg-primary-50 transition-colors",
|
|
62073
62253
|
children: item
|
|
62074
62254
|
},
|
|
62075
62255
|
item
|
|
@@ -62138,7 +62318,7 @@ const VgenAgent = forwardRef((props, ref) => {
|
|
|
62138
62318
|
] }),
|
|
62139
62319
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "h-px bg-gray-100" }),
|
|
62140
62320
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-3", children: [
|
|
62141
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-[12px] font-bold text-
|
|
62321
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("p", { className: "text-[12px] font-bold text-primary-900 flex items-center gap-1.5 justify-center", children: [
|
|
62142
62322
|
/* @__PURE__ */ jsxRuntimeExports.jsx(Star, { className: "w-4 h-4 text-yellow-500 fill-yellow-500" }),
|
|
62143
62323
|
" ",
|
|
62144
62324
|
"🌟 Vgen 深度学习"
|
|
@@ -62164,7 +62344,7 @@ const VgenAgent = forwardRef((props, ref) => {
|
|
|
62164
62344
|
Button,
|
|
62165
62345
|
{
|
|
62166
62346
|
type: "primary",
|
|
62167
|
-
className: "w-full bg-
|
|
62347
|
+
className: "w-full bg-primary-600 text-white h-10 font-bold border-none",
|
|
62168
62348
|
onClick: () => {
|
|
62169
62349
|
setShowPracticeGuide(false);
|
|
62170
62350
|
window.open(
|
|
@@ -62196,10 +62376,10 @@ const VgenAgent = forwardRef((props, ref) => {
|
|
|
62196
62376
|
"button",
|
|
62197
62377
|
{
|
|
62198
62378
|
onClick: () => handleSend({ input: item.label }),
|
|
62199
|
-
className: "flex items-center gap-1.5 px-3 py-1.5 bg-white border border-gray-100 rounded-full shadow-sm hover:border-
|
|
62379
|
+
className: "flex items-center gap-1.5 px-3 py-1.5 bg-white border border-gray-100 rounded-full shadow-sm hover:border-primary-200 hover:bg-primary-50 transition-all group active:scale-95",
|
|
62200
62380
|
children: [
|
|
62201
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: cn("text-
|
|
62202
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-[11px] font-medium text-gray-600 group-hover:text-
|
|
62381
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: cn("text-primary-500", "w-3.5 h-3.5"), children: item.icon }),
|
|
62382
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-[11px] font-medium text-gray-600 group-hover:text-primary-600 whitespace-nowrap", children: item.label })
|
|
62203
62383
|
]
|
|
62204
62384
|
},
|
|
62205
62385
|
item.id
|
|
@@ -62211,10 +62391,10 @@ const VgenAgent = forwardRef((props, ref) => {
|
|
|
62211
62391
|
onClick: () => setIsMoreActionsOpen(!isMoreActionsOpen),
|
|
62212
62392
|
className: cn(
|
|
62213
62393
|
"flex items-center gap-1.5 px-3 py-1.5 border rounded-full shadow-sm transition-all active:scale-95",
|
|
62214
|
-
isMoreActionsOpen ? "bg-
|
|
62394
|
+
isMoreActionsOpen ? "bg-primary-600 border-primary-600 text-white" : "bg-primary-50 border-primary-100 text-primary-700 hover:bg-primary-100"
|
|
62215
62395
|
),
|
|
62216
62396
|
children: [
|
|
62217
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(Sparkles, { className: cn("w-3.5 h-3.5", isMoreActionsOpen ? "text-white" : "text-
|
|
62397
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Sparkles, { className: cn("w-3.5 h-3.5", isMoreActionsOpen ? "text-white" : "text-primary-600") }),
|
|
62218
62398
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-[11px] font-bold whitespace-nowrap", children: "更多" })
|
|
62219
62399
|
]
|
|
62220
62400
|
}
|
|
@@ -62243,7 +62423,7 @@ const VgenAgent = forwardRef((props, ref) => {
|
|
|
62243
62423
|
label: "生成学习路径",
|
|
62244
62424
|
desc: "帮我生成学习路径",
|
|
62245
62425
|
icon: /* @__PURE__ */ jsxRuntimeExports.jsx(GitBranch, { className: "w-3.5 h-3.5" }),
|
|
62246
|
-
color: "text-
|
|
62426
|
+
color: "text-primary-500"
|
|
62247
62427
|
},
|
|
62248
62428
|
{
|
|
62249
62429
|
label: "AI智能出题",
|
|
@@ -62276,78 +62456,59 @@ const VgenAgent = forwardRef((props, ref) => {
|
|
|
62276
62456
|
] })
|
|
62277
62457
|
] })
|
|
62278
62458
|
] }) }),
|
|
62279
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
62280
|
-
|
|
62281
|
-
|
|
62282
|
-
|
|
62283
|
-
|
|
62284
|
-
|
|
62285
|
-
|
|
62286
|
-
|
|
62287
|
-
|
|
62288
|
-
|
|
62289
|
-
|
|
62290
|
-
|
|
62291
|
-
|
|
62292
|
-
|
|
62293
|
-
|
|
62294
|
-
|
|
62295
|
-
|
|
62296
|
-
|
|
62297
|
-
|
|
62298
|
-
|
|
62299
|
-
|
|
62300
|
-
|
|
62301
|
-
|
|
62302
|
-
|
|
62303
|
-
|
|
62304
|
-
|
|
62305
|
-
|
|
62306
|
-
|
|
62307
|
-
|
|
62308
|
-
|
|
62309
|
-
|
|
62310
|
-
|
|
62311
|
-
|
|
62312
|
-
|
|
62313
|
-
|
|
62314
|
-
|
|
62315
|
-
|
|
62316
|
-
|
|
62317
|
-
|
|
62318
|
-
|
|
62319
|
-
|
|
62320
|
-
|
|
62321
|
-
|
|
62322
|
-
{
|
|
62323
|
-
|
|
62324
|
-
|
|
62325
|
-
|
|
62326
|
-
|
|
62327
|
-
|
|
62328
|
-
|
|
62329
|
-
|
|
62330
|
-
|
|
62331
|
-
|
|
62332
|
-
inputValue.trim() ? "bg-blue-600 text-white shadow-blue-200" : "bg-gray-200 text-white"
|
|
62333
|
-
),
|
|
62334
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Send, { className: "w-4 h-4" })
|
|
62335
|
-
}
|
|
62336
|
-
) : /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, { title: "停止回答", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
62337
|
-
Button,
|
|
62338
|
-
{
|
|
62339
|
-
type: "primary",
|
|
62340
|
-
onClick: () => {
|
|
62341
|
-
sendMsgController.current.close();
|
|
62342
|
-
setAnswerIsDone(true);
|
|
62343
|
-
setInputValue("");
|
|
62344
|
-
},
|
|
62345
|
-
className: "rounded-xl h-10 px-3 shadow-lg transition-all flex items-center justify-center bg-blue-500 text-white",
|
|
62346
|
-
children: /* @__PURE__ */ jsxRuntimeExports.jsx(CircleStop, { className: "w-5 h-5" })
|
|
62347
|
-
}
|
|
62348
|
-
) })
|
|
62349
|
-
] })
|
|
62350
|
-
] })
|
|
62459
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "relative flex-1 flex flex-col gap-2", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "relative flex items-center gap-2", children: [
|
|
62460
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
62461
|
+
"div",
|
|
62462
|
+
{
|
|
62463
|
+
className: "w-full px-4 pb-1 pt-1.5 bg-white rounded-[12px] cursor-text border border-gray-100 focus-within:border-primary-200 transition-all overflow-hidden",
|
|
62464
|
+
style: {
|
|
62465
|
+
paddingTop: "6px"
|
|
62466
|
+
},
|
|
62467
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
62468
|
+
TagsTextarea,
|
|
62469
|
+
{
|
|
62470
|
+
minHeight: 30,
|
|
62471
|
+
maxHeight: 120,
|
|
62472
|
+
onChange: tagsTextareaValueChange,
|
|
62473
|
+
placeholder: inputPlaceholder,
|
|
62474
|
+
sendMsg: () => {
|
|
62475
|
+
handleSend({ input: inputValue });
|
|
62476
|
+
},
|
|
62477
|
+
ref: tagsTextareaRef
|
|
62478
|
+
}
|
|
62479
|
+
)
|
|
62480
|
+
}
|
|
62481
|
+
),
|
|
62482
|
+
answerIsDone ? /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
62483
|
+
Button,
|
|
62484
|
+
{
|
|
62485
|
+
type: "primary",
|
|
62486
|
+
onClick: () => {
|
|
62487
|
+
var _a2;
|
|
62488
|
+
handleSend({ input: inputValue });
|
|
62489
|
+
(_a2 = tagsTextareaRef.current) == null ? void 0 : _a2.clearContent();
|
|
62490
|
+
},
|
|
62491
|
+
disabled: !inputValue.trim(),
|
|
62492
|
+
className: cn(
|
|
62493
|
+
"rounded-xl h-10 px-3 shadow-lg transition-all flex items-center justify-center",
|
|
62494
|
+
inputValue.trim() ? "bg-primary-600 text-white shadow-primary-200" : "bg-gray-200 text-white"
|
|
62495
|
+
),
|
|
62496
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Send, { className: "w-4 h-4" })
|
|
62497
|
+
}
|
|
62498
|
+
) : /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, { title: "停止回答", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
62499
|
+
Button,
|
|
62500
|
+
{
|
|
62501
|
+
type: "primary",
|
|
62502
|
+
onClick: () => {
|
|
62503
|
+
sendMsgController.current.close();
|
|
62504
|
+
setAnswerIsDone(true);
|
|
62505
|
+
setInputValue("");
|
|
62506
|
+
},
|
|
62507
|
+
className: "rounded-xl h-10 px-3 shadow-lg transition-all flex items-center justify-center bg-primary-500 text-white hover:!bg-primary-600",
|
|
62508
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(CircleStop, { className: "w-5 h-5" })
|
|
62509
|
+
}
|
|
62510
|
+
) })
|
|
62511
|
+
] }) })
|
|
62351
62512
|
] })
|
|
62352
62513
|
]
|
|
62353
62514
|
}
|