react-ai-renderer 0.1.2 → 0.1.4
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/{MermaidRenderer-a25ae84f.js → MermaidRenderer-62cbf217.js} +1 -1
- package/dist/{MermaidRenderer-d8836800.js → MermaidRenderer-680adac3.js} +1 -1
- package/dist/{index-415b51ad.js → index-543584d8.js} +237 -135
- package/dist/{index-bb96fdaf.js → index-58ab9759.js} +237 -135
- package/dist/index.d.ts +30 -9
- package/dist/index.es.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/dist/MermaidRenderer-0ef71453.js +0 -170
- package/dist/MermaidRenderer-0ef71453.js.map +0 -1
- package/dist/MermaidRenderer-13e4a89a.js +0 -172
- package/dist/MermaidRenderer-13e4a89a.js.map +0 -1
- package/dist/MermaidRenderer-321bfe50.js +0 -170
- package/dist/MermaidRenderer-321bfe50.js.map +0 -1
- package/dist/MermaidRenderer-325a9dee.js +0 -170
- package/dist/MermaidRenderer-325a9dee.js.map +0 -1
- package/dist/MermaidRenderer-4bae11d6.js +0 -170
- package/dist/MermaidRenderer-4bae11d6.js.map +0 -1
- package/dist/MermaidRenderer-6237d7da.js +0 -170
- package/dist/MermaidRenderer-6237d7da.js.map +0 -1
- package/dist/MermaidRenderer-653a4dab.js +0 -172
- package/dist/MermaidRenderer-653a4dab.js.map +0 -1
- package/dist/MermaidRenderer-67edae8e.js +0 -172
- package/dist/MermaidRenderer-67edae8e.js.map +0 -1
- package/dist/MermaidRenderer-6f071d8e.js +0 -170
- package/dist/MermaidRenderer-6f071d8e.js.map +0 -1
- package/dist/MermaidRenderer-75832c15.js +0 -172
- package/dist/MermaidRenderer-75832c15.js.map +0 -1
- package/dist/MermaidRenderer-7cb138d1.js +0 -170
- package/dist/MermaidRenderer-7cb138d1.js.map +0 -1
- package/dist/MermaidRenderer-8a8fb725.js +0 -172
- package/dist/MermaidRenderer-8a8fb725.js.map +0 -1
- package/dist/MermaidRenderer-91a0a7d8.js +0 -170
- package/dist/MermaidRenderer-91a0a7d8.js.map +0 -1
- package/dist/MermaidRenderer-9ff856f3.js +0 -172
- package/dist/MermaidRenderer-9ff856f3.js.map +0 -1
- package/dist/MermaidRenderer-a25ae84f.js.map +0 -1
- package/dist/MermaidRenderer-c3014102.js +0 -172
- package/dist/MermaidRenderer-c3014102.js.map +0 -1
- package/dist/MermaidRenderer-c664aa66.js +0 -170
- package/dist/MermaidRenderer-c664aa66.js.map +0 -1
- package/dist/MermaidRenderer-d1518f28.js +0 -172
- package/dist/MermaidRenderer-d1518f28.js.map +0 -1
- package/dist/MermaidRenderer-d7545a7e.js +0 -172
- package/dist/MermaidRenderer-d7545a7e.js.map +0 -1
- package/dist/MermaidRenderer-d8836800.js.map +0 -1
- package/dist/MermaidRenderer-d9c8351a.js +0 -172
- package/dist/MermaidRenderer-d9c8351a.js.map +0 -1
- package/dist/MermaidRenderer-dc0ac92e.js +0 -170
- package/dist/MermaidRenderer-dc0ac92e.js.map +0 -1
- package/dist/MermaidRenderer-e549ab85.js +0 -172
- package/dist/MermaidRenderer-e549ab85.js.map +0 -1
- package/dist/MermaidRenderer-e5d81a6f.js +0 -172
- package/dist/MermaidRenderer-e5d81a6f.js.map +0 -1
- package/dist/MermaidRenderer-e82f36e4.js +0 -172
- package/dist/MermaidRenderer-e82f36e4.js.map +0 -1
- package/dist/MermaidRenderer-f04366c1.js +0 -170
- package/dist/MermaidRenderer-f04366c1.js.map +0 -1
- package/dist/MermaidRenderer-f6473da3.js +0 -170
- package/dist/MermaidRenderer-f6473da3.js.map +0 -1
- package/dist/MermaidRenderer-f82d0d11.js +0 -170
- package/dist/MermaidRenderer-f82d0d11.js.map +0 -1
- package/dist/index-02f4473f.js +0 -1313
- package/dist/index-02f4473f.js.map +0 -1
- package/dist/index-172582eb.js +0 -1294
- package/dist/index-172582eb.js.map +0 -1
- package/dist/index-1d051ba8.js +0 -1286
- package/dist/index-1d051ba8.js.map +0 -1
- package/dist/index-283b43ef.js +0 -1285
- package/dist/index-283b43ef.js.map +0 -1
- package/dist/index-2d979ad5.js +0 -1314
- package/dist/index-2d979ad5.js.map +0 -1
- package/dist/index-349401d2.js +0 -1288
- package/dist/index-349401d2.js.map +0 -1
- package/dist/index-398258c5.js +0 -1314
- package/dist/index-398258c5.js.map +0 -1
- package/dist/index-3cf82be4.js +0 -1287
- package/dist/index-3cf82be4.js.map +0 -1
- package/dist/index-3de28f18.js +0 -1319
- package/dist/index-3de28f18.js.map +0 -1
- package/dist/index-415b51ad.js.map +0 -1
- package/dist/index-4592abf8.js +0 -1311
- package/dist/index-4592abf8.js.map +0 -1
- package/dist/index-4edeb553.js +0 -1313
- package/dist/index-4edeb553.js.map +0 -1
- package/dist/index-534d3bce.js +0 -1312
- package/dist/index-534d3bce.js.map +0 -1
- package/dist/index-6ceb7256.js +0 -1287
- package/dist/index-6ceb7256.js.map +0 -1
- package/dist/index-7e8dc866.js +0 -1304
- package/dist/index-7e8dc866.js.map +0 -1
- package/dist/index-896de550.js +0 -1313
- package/dist/index-896de550.js.map +0 -1
- package/dist/index-8dbf398a.js +0 -1313
- package/dist/index-8dbf398a.js.map +0 -1
- package/dist/index-922bbd30.js +0 -1339
- package/dist/index-922bbd30.js.map +0 -1
- package/dist/index-a5a2c748.js +0 -1288
- package/dist/index-a5a2c748.js.map +0 -1
- package/dist/index-abed2ed7.js +0 -1286
- package/dist/index-abed2ed7.js.map +0 -1
- package/dist/index-ae31bd04.js +0 -1312
- package/dist/index-ae31bd04.js.map +0 -1
- package/dist/index-b0cab34f.js +0 -1287
- package/dist/index-b0cab34f.js.map +0 -1
- package/dist/index-bb96fdaf.js.map +0 -1
- package/dist/index-c0acef6b.js +0 -1330
- package/dist/index-c0acef6b.js.map +0 -1
- package/dist/index-c6ab333d.js +0 -1293
- package/dist/index-c6ab333d.js.map +0 -1
- package/dist/index-d4f12a68.js +0 -1287
- package/dist/index-d4f12a68.js.map +0 -1
- package/dist/index-e07ca144.js +0 -1320
- package/dist/index-e07ca144.js.map +0 -1
- package/dist/index-fdaa9757.js +0 -1313
- package/dist/index-fdaa9757.js.map +0 -1
- package/dist/index.es.js.map +0 -1
- package/dist/index.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as __read, a as __awaiter, b as __generator } from './index-
|
|
1
|
+
import { _ as __read, a as __awaiter, b as __generator } from './index-543584d8.js';
|
|
2
2
|
import { useRef, useState, useMemo, useCallback, useEffect } from 'react';
|
|
3
3
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
4
4
|
import 'remark-math';
|
|
@@ -455,18 +455,6 @@ function __generator(thisArg, body) {
|
|
|
455
455
|
}
|
|
456
456
|
}
|
|
457
457
|
|
|
458
|
-
function __values(o) {
|
|
459
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
460
|
-
if (m) return m.call(o);
|
|
461
|
-
if (o && typeof o.length === "number") return {
|
|
462
|
-
next: function () {
|
|
463
|
-
if (o && i >= o.length) o = void 0;
|
|
464
|
-
return { value: o && o[i++], done: !o };
|
|
465
|
-
}
|
|
466
|
-
};
|
|
467
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
468
|
-
}
|
|
469
|
-
|
|
470
458
|
function __read(o, n) {
|
|
471
459
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
472
460
|
if (!m) return o;
|
|
@@ -549,7 +537,7 @@ var CodeHighlight = function (_a) {
|
|
|
549
537
|
if (language === "mermaid") {
|
|
550
538
|
// 动态导入 MermaidRenderer 组件
|
|
551
539
|
var MermaidRenderer = /*#__PURE__*/React__default.lazy(function () {
|
|
552
|
-
return import('./MermaidRenderer-
|
|
540
|
+
return import('./MermaidRenderer-680adac3.js').catch(function () {
|
|
553
541
|
return {
|
|
554
542
|
default: function () {
|
|
555
543
|
return /*#__PURE__*/jsx("div", {});
|
|
@@ -617,39 +605,71 @@ var CodeHighlight = function (_a) {
|
|
|
617
605
|
var Think = function (_a) {
|
|
618
606
|
var content = _a.content,
|
|
619
607
|
children = _a.children;
|
|
608
|
+
var _b = __read(useState(true), 2),
|
|
609
|
+
isExpanded = _b[0],
|
|
610
|
+
setIsExpanded = _b[1];
|
|
620
611
|
var thinkContent = content || children;
|
|
621
612
|
if (!thinkContent) {
|
|
622
613
|
return /*#__PURE__*/jsx("div", {});
|
|
623
614
|
}
|
|
624
|
-
return /*#__PURE__*/
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
615
|
+
return /*#__PURE__*/jsxs("div", {
|
|
616
|
+
className: "funq-think border rounded-lg p-3 mb-3 bg-blue-50 border-blue-200",
|
|
617
|
+
children: [/*#__PURE__*/jsxs("div", {
|
|
618
|
+
className: "flex items-center justify-between cursor-pointer",
|
|
619
|
+
onClick: function () {
|
|
620
|
+
return setIsExpanded(!isExpanded);
|
|
621
|
+
},
|
|
622
|
+
children: [/*#__PURE__*/jsxs("div", {
|
|
623
|
+
className: "flex items-center gap-2",
|
|
624
|
+
children: [/*#__PURE__*/jsx("div", {
|
|
625
|
+
className: "w-4 h-4 rounded-full bg-blue-500 flex items-center justify-center",
|
|
626
|
+
children: /*#__PURE__*/jsx("svg", {
|
|
627
|
+
className: "w-3 h-3 text-white",
|
|
628
|
+
fill: "none",
|
|
629
|
+
stroke: "currentColor",
|
|
630
|
+
viewBox: "0 0 24 24",
|
|
631
|
+
children: /*#__PURE__*/jsx("path", {
|
|
632
|
+
strokeLinecap: "round",
|
|
633
|
+
strokeLinejoin: "round",
|
|
634
|
+
strokeWidth: "2",
|
|
635
|
+
d: "M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z"
|
|
636
|
+
})
|
|
637
|
+
})
|
|
638
|
+
}), /*#__PURE__*/jsx("span", {
|
|
639
|
+
className: "font-medium text-sm",
|
|
640
|
+
children: "AI \u601D\u8003\u8FC7\u7A0B"
|
|
641
|
+
})]
|
|
642
|
+
}), /*#__PURE__*/jsx("div", {
|
|
643
|
+
className: "w-4 h-4 text-muted-foreground",
|
|
644
|
+
children: isExpanded ? /*#__PURE__*/jsx("svg", {
|
|
645
|
+
fill: "none",
|
|
646
|
+
stroke: "currentColor",
|
|
647
|
+
viewBox: "0 0 24 24",
|
|
648
|
+
children: /*#__PURE__*/jsx("path", {
|
|
649
|
+
strokeLinecap: "round",
|
|
650
|
+
strokeLinejoin: "round",
|
|
651
|
+
strokeWidth: "2",
|
|
652
|
+
d: "M5 15l7-7 7 7"
|
|
653
|
+
})
|
|
654
|
+
}) : /*#__PURE__*/jsx("svg", {
|
|
655
|
+
fill: "none",
|
|
656
|
+
stroke: "currentColor",
|
|
657
|
+
viewBox: "0 0 24 24",
|
|
658
|
+
children: /*#__PURE__*/jsx("path", {
|
|
659
|
+
strokeLinecap: "round",
|
|
660
|
+
strokeLinejoin: "round",
|
|
661
|
+
strokeWidth: "2",
|
|
662
|
+
d: "M19 9l-7 7-7-7"
|
|
663
|
+
})
|
|
664
|
+
})
|
|
651
665
|
})]
|
|
652
|
-
})
|
|
666
|
+
}), isExpanded && /*#__PURE__*/jsx("div", {
|
|
667
|
+
className: "mt-3 pt-3 border-t border-blue-200",
|
|
668
|
+
children: /*#__PURE__*/jsx("blockquote", {
|
|
669
|
+
className: "text-sm text-blue-800 bg-blue-100 p-2 rounded",
|
|
670
|
+
children: typeof thinkContent === 'string' ? decodeURIComponent(thinkContent) : thinkContent
|
|
671
|
+
})
|
|
672
|
+
})]
|
|
653
673
|
});
|
|
654
674
|
};
|
|
655
675
|
|
|
@@ -790,7 +810,8 @@ var PreComponent = function (props) {
|
|
|
790
810
|
});
|
|
791
811
|
};
|
|
792
812
|
var BuiltInComponents = {
|
|
793
|
-
|
|
813
|
+
_THINK: Think,
|
|
814
|
+
// _TOOL_CALL: ToolCall,
|
|
794
815
|
pre: PreComponent,
|
|
795
816
|
code: CodeComponent,
|
|
796
817
|
p: PComponent,
|
|
@@ -836,7 +857,7 @@ function MdxLayout(_a) {
|
|
|
836
857
|
|
|
837
858
|
var THINK_BEGIN_TAG = '<think>';
|
|
838
859
|
var THINK_END_TAG = '</think>';
|
|
839
|
-
var CUSTOMER_THINK_COMPONENT_DISPLAY = '
|
|
860
|
+
var CUSTOMER_THINK_COMPONENT_DISPLAY = '_THINK';
|
|
840
861
|
function fixMDXContent(content) {
|
|
841
862
|
// 替换中文括号为英文括号
|
|
842
863
|
return content.replace(/\\\[/g, '$$').replace(/\\\]/g, '$$')
|
|
@@ -913,12 +934,11 @@ function formatProps(props) {
|
|
|
913
934
|
}
|
|
914
935
|
function renderMdx(mdxContent, scope, registeredComponents) {
|
|
915
936
|
return __awaiter(this, void 0, void 0, function () {
|
|
916
|
-
var componentTagRegex, usedComponents, match,
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
switch (_b.label) {
|
|
937
|
+
var componentTagRegex, usedComponents, match, vf, XComponent;
|
|
938
|
+
return __generator(this, function (_a) {
|
|
939
|
+
switch (_a.label) {
|
|
920
940
|
case 0:
|
|
921
|
-
|
|
941
|
+
_a.trys.push([0, 3,, 4]);
|
|
922
942
|
renderTimer && clearTimeout(renderTimer);
|
|
923
943
|
componentTagRegex = /<([A-Z][a-zA-Z]*)\b/g;
|
|
924
944
|
usedComponents = new Set();
|
|
@@ -926,25 +946,6 @@ function renderMdx(mdxContent, scope, registeredComponents) {
|
|
|
926
946
|
while ((match = componentTagRegex.exec(mdxContent)) !== null) {
|
|
927
947
|
usedComponents.add(match[1]);
|
|
928
948
|
}
|
|
929
|
-
_registeredComponents = new Set(Object.keys(registeredComponents));
|
|
930
|
-
try {
|
|
931
|
-
for (usedComponents_1 = __values(usedComponents), usedComponents_1_1 = usedComponents_1.next(); !usedComponents_1_1.done; usedComponents_1_1 = usedComponents_1.next()) {
|
|
932
|
-
component = usedComponents_1_1.value;
|
|
933
|
-
if (!_registeredComponents.has(component)) {
|
|
934
|
-
throw new Error("Component ".concat(component, " is used but not registered in the components object."));
|
|
935
|
-
}
|
|
936
|
-
}
|
|
937
|
-
} catch (e_2_1) {
|
|
938
|
-
e_2 = {
|
|
939
|
-
error: e_2_1
|
|
940
|
-
};
|
|
941
|
-
} finally {
|
|
942
|
-
try {
|
|
943
|
-
if (usedComponents_1_1 && !usedComponents_1_1.done && (_a = usedComponents_1.return)) _a.call(usedComponents_1);
|
|
944
|
-
} finally {
|
|
945
|
-
if (e_2) throw e_2.error;
|
|
946
|
-
}
|
|
947
|
-
}
|
|
948
949
|
return [4 /*yield*/, compile(mdxContent, {
|
|
949
950
|
outputFormat: "function-body",
|
|
950
951
|
remarkPlugins: [[RemarkMath, {
|
|
@@ -957,29 +958,27 @@ function renderMdx(mdxContent, scope, registeredComponents) {
|
|
|
957
958
|
}]]
|
|
958
959
|
})];
|
|
959
960
|
case 1:
|
|
960
|
-
vf =
|
|
961
|
+
vf = _a.sent();
|
|
961
962
|
return [4 /*yield*/, run(vf, __assign(__assign(__assign({}, runtime), scope), {
|
|
962
963
|
Fragment: MdxLayout
|
|
963
964
|
}))];
|
|
964
965
|
case 2:
|
|
965
|
-
XComponent =
|
|
966
|
+
XComponent = _a.sent().default;
|
|
966
967
|
return [2 /*return*/, /*#__PURE__*/React.createElement(XComponent, {
|
|
967
968
|
components: registeredComponents,
|
|
968
969
|
scope: scope
|
|
969
970
|
})];
|
|
970
971
|
case 3:
|
|
971
|
-
|
|
972
|
+
_a.sent();
|
|
972
973
|
return [2 /*return*/, new Promise(function (resolve) {
|
|
973
974
|
renderTimer = setTimeout(function () {
|
|
974
|
-
console.log(e_1, 'e');
|
|
975
|
-
console.log(mdxContent, 'mdxContent');
|
|
976
975
|
resolve(/*#__PURE__*/React.createElement('div', {
|
|
977
976
|
style: {
|
|
978
977
|
backgroundColor: 'transparent'
|
|
979
978
|
}
|
|
980
979
|
}, mdxContent));
|
|
981
980
|
clearTimeout(renderTimer); // 清理定时器
|
|
982
|
-
},
|
|
981
|
+
}, 2000); // 1秒延迟
|
|
983
982
|
})];
|
|
984
983
|
case 4:
|
|
985
984
|
return [2 /*return*/];
|
|
@@ -1136,11 +1135,12 @@ function ReactAIRenderer(_a) {
|
|
|
1136
1135
|
var content = _a.content,
|
|
1137
1136
|
_b = _a.scope,
|
|
1138
1137
|
scope = _b === void 0 ? {} : _b,
|
|
1139
|
-
|
|
1138
|
+
_c = _a.components,
|
|
1139
|
+
components = _c === void 0 ? {} : _c,
|
|
1140
1140
|
children = _a.children,
|
|
1141
|
-
|
|
1142
|
-
componentHandlers =
|
|
1143
|
-
content = content || children;
|
|
1141
|
+
_d = _a.componentHandlers,
|
|
1142
|
+
componentHandlers = _d === void 0 ? [] : _d;
|
|
1143
|
+
content = content || children || '';
|
|
1144
1144
|
var allComponents = __assign(__assign({}, BuiltInComponents), components);
|
|
1145
1145
|
// 修复:确保 components 是一个对象后再使用 Object.entries
|
|
1146
1146
|
var allComponentHandlers = __spreadArray(__spreadArray([], __read(components ? Object.entries(components).filter(function (_a) {
|
|
@@ -1160,11 +1160,11 @@ function ReactAIRenderer(_a) {
|
|
|
1160
1160
|
selfClosing: selfClosing
|
|
1161
1161
|
};
|
|
1162
1162
|
}) : []), false), __read(componentHandlers), false);
|
|
1163
|
-
var
|
|
1164
|
-
component =
|
|
1165
|
-
setComponent =
|
|
1163
|
+
var _e = __read(useState(null), 2),
|
|
1164
|
+
component = _e[0],
|
|
1165
|
+
setComponent = _e[1];
|
|
1166
1166
|
var parser = new MDXStreamingParser(allComponentHandlers);
|
|
1167
|
-
var mdxContent = content;
|
|
1167
|
+
var mdxContent = content || '';
|
|
1168
1168
|
useEffect(function () {
|
|
1169
1169
|
var parseMDX = function () {
|
|
1170
1170
|
return __awaiter(_this, void 0, void 0, function () {
|
|
@@ -1226,64 +1226,167 @@ function ReactAIRenderer(_a) {
|
|
|
1226
1226
|
}
|
|
1227
1227
|
|
|
1228
1228
|
var ToolCall = function (_a) {
|
|
1229
|
-
var
|
|
1230
|
-
args = _a.args,
|
|
1229
|
+
var toolCall = _a.toolCall,
|
|
1231
1230
|
children = _a.children;
|
|
1231
|
+
var _b = __read(useState(false), 2),
|
|
1232
|
+
isExpanded = _b[0],
|
|
1233
|
+
setIsExpanded = _b[1];
|
|
1234
|
+
var getStateIcon = function () {
|
|
1235
|
+
switch (toolCall.state) {
|
|
1236
|
+
case 'loading':
|
|
1237
|
+
return /*#__PURE__*/jsx("div", {
|
|
1238
|
+
className: "w-4 h-4 animate-spin border-2 border-blue-500 border-t-transparent rounded-full"
|
|
1239
|
+
});
|
|
1240
|
+
case 'done':
|
|
1241
|
+
return /*#__PURE__*/jsx("div", {
|
|
1242
|
+
className: "w-4 h-4 rounded-full bg-green-500 flex items-center justify-center",
|
|
1243
|
+
children: /*#__PURE__*/jsx("svg", {
|
|
1244
|
+
className: "w-3 h-3 text-white",
|
|
1245
|
+
fill: "none",
|
|
1246
|
+
stroke: "currentColor",
|
|
1247
|
+
viewBox: "0 0 24 24",
|
|
1248
|
+
children: /*#__PURE__*/jsx("path", {
|
|
1249
|
+
strokeLinecap: "round",
|
|
1250
|
+
strokeLinejoin: "round",
|
|
1251
|
+
strokeWidth: "2",
|
|
1252
|
+
d: "M5 13l4 4L19 7"
|
|
1253
|
+
})
|
|
1254
|
+
})
|
|
1255
|
+
});
|
|
1256
|
+
case 'error':
|
|
1257
|
+
return /*#__PURE__*/jsx("div", {
|
|
1258
|
+
className: "w-4 h-4 rounded-full bg-red-500 flex items-center justify-center",
|
|
1259
|
+
children: /*#__PURE__*/jsx("svg", {
|
|
1260
|
+
className: "w-3 h-3 text-white",
|
|
1261
|
+
fill: "none",
|
|
1262
|
+
stroke: "currentColor",
|
|
1263
|
+
viewBox: "0 0 24 24",
|
|
1264
|
+
children: /*#__PURE__*/jsx("path", {
|
|
1265
|
+
strokeLinecap: "round",
|
|
1266
|
+
strokeLinejoin: "round",
|
|
1267
|
+
strokeWidth: "2",
|
|
1268
|
+
d: "M6 18L18 6M6 6l12 12"
|
|
1269
|
+
})
|
|
1270
|
+
})
|
|
1271
|
+
});
|
|
1272
|
+
default:
|
|
1273
|
+
return /*#__PURE__*/jsx("div", {
|
|
1274
|
+
className: "w-4 h-4 animate-spin border-2 border-blue-500 border-t-transparent rounded-full"
|
|
1275
|
+
});
|
|
1276
|
+
}
|
|
1277
|
+
};
|
|
1278
|
+
var getStateText = function () {
|
|
1279
|
+
switch (toolCall.state) {
|
|
1280
|
+
case 'loading':
|
|
1281
|
+
return '执行中...';
|
|
1282
|
+
case 'done':
|
|
1283
|
+
return '执行完成';
|
|
1284
|
+
case 'error':
|
|
1285
|
+
return '执行出错';
|
|
1286
|
+
default:
|
|
1287
|
+
return '执行中...';
|
|
1288
|
+
}
|
|
1289
|
+
};
|
|
1290
|
+
var getStateClass = function () {
|
|
1291
|
+
switch (toolCall.state) {
|
|
1292
|
+
case 'loading':
|
|
1293
|
+
return 'bg-blue-50 border-blue-200';
|
|
1294
|
+
case 'done':
|
|
1295
|
+
return 'bg-green-50 border-green-200';
|
|
1296
|
+
case 'error':
|
|
1297
|
+
return 'bg-red-50 border-red-200';
|
|
1298
|
+
default:
|
|
1299
|
+
return 'bg-blue-50 border-blue-200';
|
|
1300
|
+
}
|
|
1301
|
+
};
|
|
1302
|
+
// 解析工具调用结果,如果是JSON字符串则格式化显示
|
|
1303
|
+
var formatResult = function (result) {
|
|
1304
|
+
if (!result) return result;
|
|
1305
|
+
try {
|
|
1306
|
+
// 尝试解析为JSON
|
|
1307
|
+
var parsed = JSON.parse(result);
|
|
1308
|
+
return JSON.stringify(parsed, null, 2);
|
|
1309
|
+
} catch (e) {
|
|
1310
|
+
// 如果不是有效的JSON,直接返回原始字符串
|
|
1311
|
+
return result;
|
|
1312
|
+
}
|
|
1313
|
+
};
|
|
1232
1314
|
return /*#__PURE__*/jsxs("div", {
|
|
1233
|
-
|
|
1234
|
-
border: '1px solid #e0e0e0',
|
|
1235
|
-
borderRadius: '4px',
|
|
1236
|
-
margin: '8px 0',
|
|
1237
|
-
backgroundColor: '#fafafa'
|
|
1238
|
-
},
|
|
1315
|
+
className: "funq-tool-call border rounded-lg p-3 mb-3 ".concat(getStateClass()),
|
|
1239
1316
|
children: [/*#__PURE__*/jsxs("div", {
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
borderBottom: '1px solid #e0e0e0',
|
|
1244
|
-
fontWeight: 'bold',
|
|
1245
|
-
display: 'flex',
|
|
1246
|
-
alignItems: 'center'
|
|
1317
|
+
className: "flex items-center justify-between cursor-pointer",
|
|
1318
|
+
onClick: function () {
|
|
1319
|
+
return setIsExpanded(!isExpanded);
|
|
1247
1320
|
},
|
|
1248
|
-
children: [/*#__PURE__*/
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1321
|
+
children: [/*#__PURE__*/jsxs("div", {
|
|
1322
|
+
className: "flex items-center gap-2",
|
|
1323
|
+
children: [getStateIcon(), /*#__PURE__*/jsxs("span", {
|
|
1324
|
+
className: "font-medium text-sm",
|
|
1325
|
+
children: ["\u5DE5\u5177\u8C03\u7528: ", toolCall.toolCallName]
|
|
1326
|
+
}), /*#__PURE__*/jsx("span", {
|
|
1327
|
+
className: "text-xs text-muted-foreground",
|
|
1328
|
+
children: getStateText()
|
|
1329
|
+
})]
|
|
1330
|
+
}), /*#__PURE__*/jsxs("div", {
|
|
1331
|
+
className: "flex items-center gap-2",
|
|
1332
|
+
children: [toolCall.startTime && /*#__PURE__*/jsxs("span", {
|
|
1333
|
+
className: "text-xs text-muted-foreground",
|
|
1334
|
+
children: ["\u5F00\u59CB: ", new Date(toolCall.startTime).toLocaleTimeString()]
|
|
1335
|
+
}), toolCall.endTime && toolCall.executionTime && /*#__PURE__*/jsxs("span", {
|
|
1336
|
+
className: "text-xs text-muted-foreground",
|
|
1337
|
+
children: ["\u8017\u65F6: ", toolCall.executionTime, "ms"]
|
|
1338
|
+
}), /*#__PURE__*/jsx("div", {
|
|
1339
|
+
className: "w-4 h-4 text-muted-foreground",
|
|
1340
|
+
children: isExpanded ? /*#__PURE__*/jsx("svg", {
|
|
1341
|
+
fill: "none",
|
|
1342
|
+
stroke: "currentColor",
|
|
1343
|
+
viewBox: "0 0 24 24",
|
|
1344
|
+
children: /*#__PURE__*/jsx("path", {
|
|
1345
|
+
strokeLinecap: "round",
|
|
1346
|
+
strokeLinejoin: "round",
|
|
1347
|
+
strokeWidth: "2",
|
|
1348
|
+
d: "M5 15l7-7 7 7"
|
|
1349
|
+
})
|
|
1350
|
+
}) : /*#__PURE__*/jsx("svg", {
|
|
1351
|
+
fill: "none",
|
|
1352
|
+
stroke: "currentColor",
|
|
1353
|
+
viewBox: "0 0 24 24",
|
|
1354
|
+
children: /*#__PURE__*/jsx("path", {
|
|
1355
|
+
strokeLinecap: "round",
|
|
1356
|
+
strokeLinejoin: "round",
|
|
1357
|
+
strokeWidth: "2",
|
|
1358
|
+
d: "M19 9l-7 7-7-7"
|
|
1359
|
+
})
|
|
1360
|
+
})
|
|
1361
|
+
})]
|
|
1255
1362
|
})]
|
|
1256
|
-
}),
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
|
|
1264
|
-
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
marginBottom: '4px'
|
|
1284
|
-
},
|
|
1285
|
-
children: "\u7ED3\u679C:"
|
|
1286
|
-
}), /*#__PURE__*/jsx("div", {
|
|
1363
|
+
}), isExpanded && /*#__PURE__*/jsxs("div", {
|
|
1364
|
+
className: "mt-3 pt-3 border-t border-border",
|
|
1365
|
+
children: [toolCall.toolCallArgs && /*#__PURE__*/jsxs("div", {
|
|
1366
|
+
className: "mb-3",
|
|
1367
|
+
children: [/*#__PURE__*/jsx("h4", {
|
|
1368
|
+
className: "text-sm font-medium mb-1",
|
|
1369
|
+
children: "\u53C2\u6570:"
|
|
1370
|
+
}), /*#__PURE__*/jsx("pre", {
|
|
1371
|
+
className: "text-xs bg-muted p-2 rounded overflow-x-auto break-words whitespace-pre-wrap",
|
|
1372
|
+
children: toolCall.toolCallArgs
|
|
1373
|
+
})]
|
|
1374
|
+
}), (toolCall.delta || toolCall.state === 'error') && /*#__PURE__*/jsxs("div", {
|
|
1375
|
+
children: [/*#__PURE__*/jsx("h4", {
|
|
1376
|
+
className: "text-sm font-medium mb-1",
|
|
1377
|
+
children: "\u7ED3\u679C:"
|
|
1378
|
+
}), /*#__PURE__*/jsx("div", {
|
|
1379
|
+
className: "text-sm p-2 rounded ".concat(toolCall.state === 'error' ? 'bg-red-100 text-red-800' : 'bg-muted'),
|
|
1380
|
+
children: toolCall.state === 'error' ? /*#__PURE__*/jsx("pre", {
|
|
1381
|
+
className: "whitespace-pre-wrap break-words overflow-x-auto",
|
|
1382
|
+
children: formatResult(toolCall.delta) || '工具执行出错'
|
|
1383
|
+
}) : /*#__PURE__*/jsx("pre", {
|
|
1384
|
+
className: "whitespace-pre-wrap break-words overflow-x-auto",
|
|
1385
|
+
children: formatResult(toolCall.delta)
|
|
1386
|
+
})
|
|
1387
|
+
})]
|
|
1388
|
+
}), children && /*#__PURE__*/jsx("div", {
|
|
1389
|
+
className: "mt-2",
|
|
1287
1390
|
children: children
|
|
1288
1391
|
})]
|
|
1289
1392
|
})]
|
|
@@ -1293,4 +1396,3 @@ var ToolCall = function (_a) {
|
|
|
1293
1396
|
// 导出 MDXStreamingParser 类
|
|
1294
1397
|
|
|
1295
1398
|
export { MDXStreamingParser as M, ReactAIRenderer as R, Think as T, __read as _, __awaiter as a, __generator as b, ToolCall as c };
|
|
1296
|
-
//# sourceMappingURL=index-415b51ad.js.map
|