react-ai-renderer 0.1.2 → 0.1.3
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-0ef71453.js → MermaidRenderer-07b34bcf.js} +2 -2
- package/dist/{MermaidRenderer-321bfe50.js.map → MermaidRenderer-07b34bcf.js.map} +1 -1
- package/dist/{MermaidRenderer-321bfe50.js → MermaidRenderer-0aacea2f.js} +2 -2
- package/dist/{MermaidRenderer-0ef71453.js.map → MermaidRenderer-0aacea2f.js.map} +1 -1
- package/dist/{MermaidRenderer-4bae11d6.js → MermaidRenderer-1c06834c.js} +2 -2
- package/dist/{MermaidRenderer-325a9dee.js.map → MermaidRenderer-1c06834c.js.map} +1 -1
- package/dist/{MermaidRenderer-325a9dee.js → MermaidRenderer-22b8cb81.js} +2 -2
- package/dist/{MermaidRenderer-4bae11d6.js.map → MermaidRenderer-22b8cb81.js.map} +1 -1
- package/dist/MermaidRenderer-2438ceb1.js +170 -0
- package/dist/MermaidRenderer-2438ceb1.js.map +1 -0
- package/dist/MermaidRenderer-2f6d93a2.js +170 -0
- package/dist/MermaidRenderer-2f6d93a2.js.map +1 -0
- package/dist/MermaidRenderer-447e20f0.js +170 -0
- package/dist/MermaidRenderer-447e20f0.js.map +1 -0
- package/dist/MermaidRenderer-456abbe8.js +170 -0
- package/dist/MermaidRenderer-456abbe8.js.map +1 -0
- package/dist/MermaidRenderer-45a1e235.js +170 -0
- package/dist/MermaidRenderer-45a1e235.js.map +1 -0
- package/dist/{MermaidRenderer-653a4dab.js → MermaidRenderer-4b75a3e5.js} +2 -2
- package/dist/{MermaidRenderer-653a4dab.js.map → MermaidRenderer-4b75a3e5.js.map} +1 -1
- package/dist/{MermaidRenderer-67edae8e.js → MermaidRenderer-59cd2aac.js} +2 -2
- package/dist/{MermaidRenderer-67edae8e.js.map → MermaidRenderer-59cd2aac.js.map} +1 -1
- package/dist/{MermaidRenderer-13e4a89a.js → MermaidRenderer-61954263.js} +2 -2
- package/dist/{MermaidRenderer-75832c15.js.map → MermaidRenderer-61954263.js.map} +1 -1
- package/dist/{MermaidRenderer-a25ae84f.js → MermaidRenderer-62cbf217.js} +1 -1
- package/dist/{MermaidRenderer-13e4a89a.js.map → MermaidRenderer-62cbf217.js.map} +1 -1
- package/dist/MermaidRenderer-6323359c.js +170 -0
- package/dist/MermaidRenderer-6323359c.js.map +1 -0
- package/dist/{MermaidRenderer-d8836800.js → MermaidRenderer-680adac3.js} +1 -1
- package/dist/MermaidRenderer-680adac3.js.map +1 -0
- package/dist/{MermaidRenderer-75832c15.js → MermaidRenderer-771db0f2.js} +2 -2
- package/dist/MermaidRenderer-771db0f2.js.map +1 -0
- package/dist/MermaidRenderer-7a5bd531.js +170 -0
- package/dist/MermaidRenderer-7a5bd531.js.map +1 -0
- package/dist/MermaidRenderer-94fceb26.js +172 -0
- package/dist/MermaidRenderer-94fceb26.js.map +1 -0
- package/dist/MermaidRenderer-a6a464ec.js +172 -0
- package/dist/MermaidRenderer-a6a464ec.js.map +1 -0
- package/dist/MermaidRenderer-a8c58389.js +172 -0
- package/dist/MermaidRenderer-a8c58389.js.map +1 -0
- package/dist/MermaidRenderer-b23c2eec.js +172 -0
- package/dist/MermaidRenderer-b23c2eec.js.map +1 -0
- package/dist/MermaidRenderer-b30dda58.js +170 -0
- package/dist/MermaidRenderer-b30dda58.js.map +1 -0
- package/dist/MermaidRenderer-b65fed60.js +172 -0
- package/dist/MermaidRenderer-b65fed60.js.map +1 -0
- package/dist/MermaidRenderer-c594187b.js +172 -0
- package/dist/MermaidRenderer-c594187b.js.map +1 -0
- package/dist/MermaidRenderer-c5f51ccf.js +172 -0
- package/dist/MermaidRenderer-c5f51ccf.js.map +1 -0
- package/dist/MermaidRenderer-cf69f9fc.js +172 -0
- package/dist/MermaidRenderer-cf69f9fc.js.map +1 -0
- package/dist/MermaidRenderer-fa15e3c7.js +172 -0
- package/dist/MermaidRenderer-fa15e3c7.js.map +1 -0
- package/dist/MermaidRenderer-fc75606f.js +170 -0
- package/dist/MermaidRenderer-fc75606f.js.map +1 -0
- package/dist/index-27d5e758.js +1399 -0
- package/dist/index-27d5e758.js.map +1 -0
- package/dist/{index-922bbd30.js → index-2b2eb026.js} +195 -141
- package/dist/{index-bb96fdaf.js.map → index-2b2eb026.js.map} +1 -1
- package/dist/{index-4592abf8.js → index-34e4d478.js} +31 -53
- package/dist/index-34e4d478.js.map +1 -0
- package/dist/index-4881fdf3.js +1458 -0
- package/dist/index-4881fdf3.js.map +1 -0
- package/dist/{index-283b43ef.js → index-4d8e81d1.js} +97 -118
- package/dist/index-4d8e81d1.js.map +1 -0
- package/dist/{index-3de28f18.js → index-4f25eb16.js} +19 -49
- package/dist/index-4f25eb16.js.map +1 -0
- package/dist/index-53d781f0.js +1476 -0
- package/dist/index-53d781f0.js.map +1 -0
- package/dist/index-543584d8.js +1398 -0
- package/dist/index-543584d8.js.map +1 -0
- package/dist/index-54c78282.js +1474 -0
- package/dist/index-54c78282.js.map +1 -0
- package/dist/index-57a0454a.js +1441 -0
- package/dist/index-57a0454a.js.map +1 -0
- package/dist/index-58ab9759.js +1424 -0
- package/dist/index-58ab9759.js.map +1 -0
- package/dist/index-58ee3084.js +1399 -0
- package/dist/index-58ee3084.js.map +1 -0
- package/dist/{index-bb96fdaf.js → index-5edd5559.js} +20 -53
- package/dist/index-5edd5559.js.map +1 -0
- package/dist/{index-415b51ad.js → index-65168e57.js} +20 -53
- package/dist/index-65168e57.js.map +1 -0
- package/dist/index-66021d90.js +1431 -0
- package/dist/index-66021d90.js.map +1 -0
- package/dist/index-71e57dce.js +1425 -0
- package/dist/index-71e57dce.js.map +1 -0
- package/dist/{index-ae31bd04.js → index-742d8be6.js} +97 -119
- package/dist/index-742d8be6.js.map +1 -0
- package/dist/{index-c0acef6b.js → index-813be4d3.js} +254 -159
- package/dist/index-813be4d3.js.map +1 -0
- package/dist/index-82c906b1.js +1448 -0
- package/dist/index-82c906b1.js.map +1 -0
- package/dist/index-a7fb8ff9.js +1432 -0
- package/dist/index-a7fb8ff9.js.map +1 -0
- package/dist/{index-c6ab333d.js → index-b4765fbd.js} +19 -49
- package/dist/index-b4765fbd.js.map +1 -0
- package/dist/{index-fdaa9757.js → index-b78ff7b5.js} +254 -168
- package/dist/index-b78ff7b5.js.map +1 -0
- package/dist/index-c56180b9.js +1425 -0
- package/dist/index-c56180b9.js.map +1 -0
- package/dist/{index-7e8dc866.js → index-d5855b9f.js} +195 -132
- package/dist/{index-415b51ad.js.map → index-d5855b9f.js.map} +1 -1
- package/dist/{index-1d051ba8.js → index-d63be97b.js} +31 -54
- package/dist/index-d63be97b.js.map +1 -0
- package/dist/index-dd9fe728.js +1457 -0
- package/dist/index-dd9fe728.js.map +1 -0
- package/dist/index-e0ce1691.js +1467 -0
- package/dist/index-e0ce1691.js.map +1 -0
- package/dist/index-fadb7b0b.js +1450 -0
- package/dist/index-fadb7b0b.js.map +1 -0
- 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-6237d7da.js +0 -170
- package/dist/MermaidRenderer-6237d7da.js.map +0 -1
- package/dist/MermaidRenderer-6f071d8e.js +0 -170
- package/dist/MermaidRenderer-6f071d8e.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.map +0 -1
- 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.map +0 -1
- 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.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.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.map +0 -1
- package/dist/index-b0cab34f.js +0 -1287
- package/dist/index-b0cab34f.js.map +0 -1
- package/dist/index-c0acef6b.js.map +0 -1
- 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.map +0 -1
|
@@ -475,18 +475,6 @@ function __generator(thisArg, body) {
|
|
|
475
475
|
}
|
|
476
476
|
}
|
|
477
477
|
|
|
478
|
-
function __values(o) {
|
|
479
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
480
|
-
if (m) return m.call(o);
|
|
481
|
-
if (o && typeof o.length === "number") return {
|
|
482
|
-
next: function () {
|
|
483
|
-
if (o && i >= o.length) o = void 0;
|
|
484
|
-
return { value: o && o[i++], done: !o };
|
|
485
|
-
}
|
|
486
|
-
};
|
|
487
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
488
|
-
}
|
|
489
|
-
|
|
490
478
|
function __read(o, n) {
|
|
491
479
|
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
492
480
|
if (!m) return o;
|
|
@@ -569,7 +557,7 @@ var CodeHighlight = function (_a) {
|
|
|
569
557
|
if (language === "mermaid") {
|
|
570
558
|
// 动态导入 MermaidRenderer 组件
|
|
571
559
|
var MermaidRenderer = /*#__PURE__*/React.lazy(function () {
|
|
572
|
-
return Promise.resolve().then(function () { return require('./MermaidRenderer-
|
|
560
|
+
return Promise.resolve().then(function () { return require('./MermaidRenderer-61954263.js'); }).catch(function () {
|
|
573
561
|
return {
|
|
574
562
|
default: function () {
|
|
575
563
|
return /*#__PURE__*/runtime.jsx("div", {});
|
|
@@ -637,57 +625,239 @@ var CodeHighlight = function (_a) {
|
|
|
637
625
|
var Think = function (_a) {
|
|
638
626
|
var content = _a.content,
|
|
639
627
|
children = _a.children;
|
|
628
|
+
var _b = __read(React.useState(true), 2),
|
|
629
|
+
isExpanded = _b[0],
|
|
630
|
+
setIsExpanded = _b[1];
|
|
640
631
|
var thinkContent = content || children;
|
|
641
632
|
if (!thinkContent) {
|
|
642
633
|
return /*#__PURE__*/runtime.jsx("div", {});
|
|
643
634
|
}
|
|
644
|
-
return /*#__PURE__*/runtime.
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
635
|
+
return /*#__PURE__*/runtime.jsxs("div", {
|
|
636
|
+
className: "funq-think border rounded-lg p-3 mb-3 bg-blue-50 border-blue-200",
|
|
637
|
+
children: [/*#__PURE__*/runtime.jsxs("div", {
|
|
638
|
+
className: "flex items-center justify-between cursor-pointer",
|
|
639
|
+
onClick: function () {
|
|
640
|
+
return setIsExpanded(!isExpanded);
|
|
641
|
+
},
|
|
642
|
+
children: [/*#__PURE__*/runtime.jsxs("div", {
|
|
643
|
+
className: "flex items-center gap-2",
|
|
644
|
+
children: [/*#__PURE__*/runtime.jsx("div", {
|
|
645
|
+
className: "w-4 h-4 rounded-full bg-blue-500 flex items-center justify-center",
|
|
646
|
+
children: /*#__PURE__*/runtime.jsx("svg", {
|
|
647
|
+
className: "w-3 h-3 text-white",
|
|
648
|
+
fill: "none",
|
|
649
|
+
stroke: "currentColor",
|
|
650
|
+
viewBox: "0 0 24 24",
|
|
651
|
+
children: /*#__PURE__*/runtime.jsx("path", {
|
|
652
|
+
strokeLinecap: "round",
|
|
653
|
+
strokeLinejoin: "round",
|
|
654
|
+
strokeWidth: "2",
|
|
655
|
+
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"
|
|
656
|
+
})
|
|
657
|
+
})
|
|
658
|
+
}), /*#__PURE__*/runtime.jsx("span", {
|
|
659
|
+
className: "font-medium text-sm",
|
|
660
|
+
children: "AI \u601D\u8003\u8FC7\u7A0B"
|
|
661
|
+
})]
|
|
662
|
+
}), /*#__PURE__*/runtime.jsx("div", {
|
|
663
|
+
className: "w-4 h-4 text-muted-foreground",
|
|
664
|
+
children: isExpanded ? /*#__PURE__*/runtime.jsx("svg", {
|
|
665
|
+
fill: "none",
|
|
666
|
+
stroke: "currentColor",
|
|
667
|
+
viewBox: "0 0 24 24",
|
|
668
|
+
children: /*#__PURE__*/runtime.jsx("path", {
|
|
669
|
+
strokeLinecap: "round",
|
|
670
|
+
strokeLinejoin: "round",
|
|
671
|
+
strokeWidth: "2",
|
|
672
|
+
d: "M5 15l7-7 7 7"
|
|
673
|
+
})
|
|
674
|
+
}) : /*#__PURE__*/runtime.jsx("svg", {
|
|
675
|
+
fill: "none",
|
|
676
|
+
stroke: "currentColor",
|
|
677
|
+
viewBox: "0 0 24 24",
|
|
678
|
+
children: /*#__PURE__*/runtime.jsx("path", {
|
|
679
|
+
strokeLinecap: "round",
|
|
680
|
+
strokeLinejoin: "round",
|
|
681
|
+
strokeWidth: "2",
|
|
682
|
+
d: "M19 9l-7 7-7-7"
|
|
683
|
+
})
|
|
684
|
+
})
|
|
671
685
|
})]
|
|
672
|
-
})
|
|
686
|
+
}), isExpanded && /*#__PURE__*/runtime.jsx("div", {
|
|
687
|
+
className: "mt-3 pt-3 border-t border-blue-200",
|
|
688
|
+
children: /*#__PURE__*/runtime.jsx("blockquote", {
|
|
689
|
+
className: "text-sm text-blue-800 bg-blue-100 p-2 rounded",
|
|
690
|
+
children: typeof thinkContent === 'string' ? decodeURIComponent(thinkContent) : thinkContent
|
|
691
|
+
})
|
|
692
|
+
})]
|
|
673
693
|
});
|
|
674
694
|
};
|
|
675
695
|
|
|
676
|
-
var
|
|
677
|
-
var
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
696
|
+
var ToolCall = function (_a) {
|
|
697
|
+
var toolCall = _a.toolCall,
|
|
698
|
+
children = _a.children;
|
|
699
|
+
var _b = __read(React.useState(false), 2),
|
|
700
|
+
isExpanded = _b[0],
|
|
701
|
+
setIsExpanded = _b[1];
|
|
702
|
+
var getStateIcon = function () {
|
|
703
|
+
switch (toolCall.state) {
|
|
704
|
+
case 'loading':
|
|
705
|
+
return /*#__PURE__*/runtime.jsx("div", {
|
|
706
|
+
className: "w-4 h-4 animate-spin border-2 border-blue-500 border-t-transparent rounded-full"
|
|
707
|
+
});
|
|
708
|
+
case 'done':
|
|
709
|
+
return /*#__PURE__*/runtime.jsx("div", {
|
|
710
|
+
className: "w-4 h-4 rounded-full bg-green-500 flex items-center justify-center",
|
|
711
|
+
children: /*#__PURE__*/runtime.jsx("svg", {
|
|
712
|
+
className: "w-3 h-3 text-white",
|
|
713
|
+
fill: "none",
|
|
714
|
+
stroke: "currentColor",
|
|
715
|
+
viewBox: "0 0 24 24",
|
|
716
|
+
children: /*#__PURE__*/runtime.jsx("path", {
|
|
717
|
+
strokeLinecap: "round",
|
|
718
|
+
strokeLinejoin: "round",
|
|
719
|
+
strokeWidth: "2",
|
|
720
|
+
d: "M5 13l4 4L19 7"
|
|
721
|
+
})
|
|
722
|
+
})
|
|
723
|
+
});
|
|
724
|
+
case 'error':
|
|
725
|
+
return /*#__PURE__*/runtime.jsx("div", {
|
|
726
|
+
className: "w-4 h-4 rounded-full bg-red-500 flex items-center justify-center",
|
|
727
|
+
children: /*#__PURE__*/runtime.jsx("svg", {
|
|
728
|
+
className: "w-3 h-3 text-white",
|
|
729
|
+
fill: "none",
|
|
730
|
+
stroke: "currentColor",
|
|
731
|
+
viewBox: "0 0 24 24",
|
|
732
|
+
children: /*#__PURE__*/runtime.jsx("path", {
|
|
733
|
+
strokeLinecap: "round",
|
|
734
|
+
strokeLinejoin: "round",
|
|
735
|
+
strokeWidth: "2",
|
|
736
|
+
d: "M6 18L18 6M6 6l12 12"
|
|
737
|
+
})
|
|
738
|
+
})
|
|
739
|
+
});
|
|
740
|
+
default:
|
|
741
|
+
return /*#__PURE__*/runtime.jsx("div", {
|
|
742
|
+
className: "w-4 h-4 animate-spin border-2 border-blue-500 border-t-transparent rounded-full"
|
|
743
|
+
});
|
|
744
|
+
}
|
|
745
|
+
};
|
|
746
|
+
var getStateText = function () {
|
|
747
|
+
switch (toolCall.state) {
|
|
748
|
+
case 'loading':
|
|
749
|
+
return '执行中...';
|
|
750
|
+
case 'done':
|
|
751
|
+
return '执行完成';
|
|
752
|
+
case 'error':
|
|
753
|
+
return '执行出错';
|
|
754
|
+
default:
|
|
755
|
+
return '执行中...';
|
|
756
|
+
}
|
|
757
|
+
};
|
|
758
|
+
var getStateClass = function () {
|
|
759
|
+
switch (toolCall.state) {
|
|
760
|
+
case 'loading':
|
|
761
|
+
return 'bg-blue-50 border-blue-200';
|
|
762
|
+
case 'done':
|
|
763
|
+
return 'bg-green-50 border-green-200';
|
|
764
|
+
case 'error':
|
|
765
|
+
return 'bg-red-50 border-red-200';
|
|
766
|
+
default:
|
|
767
|
+
return 'bg-blue-50 border-blue-200';
|
|
768
|
+
}
|
|
769
|
+
};
|
|
770
|
+
// 解析工具调用结果,如果是JSON字符串则格式化显示
|
|
771
|
+
var formatResult = function (result) {
|
|
772
|
+
if (!result) return result;
|
|
681
773
|
try {
|
|
682
|
-
|
|
774
|
+
// 尝试解析为JSON
|
|
775
|
+
var parsed = JSON.parse(result);
|
|
776
|
+
return JSON.stringify(parsed, null, 2);
|
|
683
777
|
} catch (e) {
|
|
684
|
-
|
|
685
|
-
return
|
|
778
|
+
// 如果不是有效的JSON,直接返回原始字符串
|
|
779
|
+
return result;
|
|
686
780
|
}
|
|
687
|
-
}
|
|
688
|
-
return /*#__PURE__*/runtime.
|
|
689
|
-
|
|
690
|
-
children:
|
|
781
|
+
};
|
|
782
|
+
return /*#__PURE__*/runtime.jsxs("div", {
|
|
783
|
+
className: "funq-tool-call border rounded-lg p-3 mb-3 ".concat(getStateClass()),
|
|
784
|
+
children: [/*#__PURE__*/runtime.jsxs("div", {
|
|
785
|
+
className: "flex items-center justify-between cursor-pointer",
|
|
786
|
+
onClick: function () {
|
|
787
|
+
return setIsExpanded(!isExpanded);
|
|
788
|
+
},
|
|
789
|
+
children: [/*#__PURE__*/runtime.jsxs("div", {
|
|
790
|
+
className: "flex items-center gap-2",
|
|
791
|
+
children: [getStateIcon(), /*#__PURE__*/runtime.jsxs("span", {
|
|
792
|
+
className: "font-medium text-sm",
|
|
793
|
+
children: ["\u5DE5\u5177\u8C03\u7528: ", toolCall.toolCallName]
|
|
794
|
+
}), /*#__PURE__*/runtime.jsx("span", {
|
|
795
|
+
className: "text-xs text-muted-foreground",
|
|
796
|
+
children: getStateText()
|
|
797
|
+
})]
|
|
798
|
+
}), /*#__PURE__*/runtime.jsxs("div", {
|
|
799
|
+
className: "flex items-center gap-2",
|
|
800
|
+
children: [toolCall.startTime && /*#__PURE__*/runtime.jsxs("span", {
|
|
801
|
+
className: "text-xs text-muted-foreground",
|
|
802
|
+
children: ["\u5F00\u59CB: ", new Date(toolCall.startTime).toLocaleTimeString()]
|
|
803
|
+
}), toolCall.endTime && toolCall.executionTime && /*#__PURE__*/runtime.jsxs("span", {
|
|
804
|
+
className: "text-xs text-muted-foreground",
|
|
805
|
+
children: ["\u8017\u65F6: ", toolCall.executionTime, "ms"]
|
|
806
|
+
}), /*#__PURE__*/runtime.jsx("div", {
|
|
807
|
+
className: "w-4 h-4 text-muted-foreground",
|
|
808
|
+
children: isExpanded ? /*#__PURE__*/runtime.jsx("svg", {
|
|
809
|
+
fill: "none",
|
|
810
|
+
stroke: "currentColor",
|
|
811
|
+
viewBox: "0 0 24 24",
|
|
812
|
+
children: /*#__PURE__*/runtime.jsx("path", {
|
|
813
|
+
strokeLinecap: "round",
|
|
814
|
+
strokeLinejoin: "round",
|
|
815
|
+
strokeWidth: "2",
|
|
816
|
+
d: "M5 15l7-7 7 7"
|
|
817
|
+
})
|
|
818
|
+
}) : /*#__PURE__*/runtime.jsx("svg", {
|
|
819
|
+
fill: "none",
|
|
820
|
+
stroke: "currentColor",
|
|
821
|
+
viewBox: "0 0 24 24",
|
|
822
|
+
children: /*#__PURE__*/runtime.jsx("path", {
|
|
823
|
+
strokeLinecap: "round",
|
|
824
|
+
strokeLinejoin: "round",
|
|
825
|
+
strokeWidth: "2",
|
|
826
|
+
d: "M19 9l-7 7-7-7"
|
|
827
|
+
})
|
|
828
|
+
})
|
|
829
|
+
})]
|
|
830
|
+
})]
|
|
831
|
+
}), isExpanded && /*#__PURE__*/runtime.jsxs("div", {
|
|
832
|
+
className: "mt-3 pt-3 border-t border-border",
|
|
833
|
+
children: [toolCall.toolCallArgs && /*#__PURE__*/runtime.jsxs("div", {
|
|
834
|
+
className: "mb-3",
|
|
835
|
+
children: [/*#__PURE__*/runtime.jsx("h4", {
|
|
836
|
+
className: "text-sm font-medium mb-1",
|
|
837
|
+
children: "\u53C2\u6570:"
|
|
838
|
+
}), /*#__PURE__*/runtime.jsx("pre", {
|
|
839
|
+
className: "text-xs bg-muted p-2 rounded overflow-x-auto break-words whitespace-pre-wrap",
|
|
840
|
+
children: toolCall.toolCallArgs
|
|
841
|
+
})]
|
|
842
|
+
}), (toolCall.delta || toolCall.state === 'error') && /*#__PURE__*/runtime.jsxs("div", {
|
|
843
|
+
children: [/*#__PURE__*/runtime.jsx("h4", {
|
|
844
|
+
className: "text-sm font-medium mb-1",
|
|
845
|
+
children: "\u7ED3\u679C:"
|
|
846
|
+
}), /*#__PURE__*/runtime.jsx("div", {
|
|
847
|
+
className: "text-sm p-2 rounded ".concat(toolCall.state === 'error' ? 'bg-red-100 text-red-800' : 'bg-muted'),
|
|
848
|
+
children: toolCall.state === 'error' ? /*#__PURE__*/runtime.jsx("pre", {
|
|
849
|
+
className: "whitespace-pre-wrap break-words overflow-x-auto",
|
|
850
|
+
children: formatResult(toolCall.delta) || '工具执行出错'
|
|
851
|
+
}) : /*#__PURE__*/runtime.jsx("pre", {
|
|
852
|
+
className: "whitespace-pre-wrap break-words overflow-x-auto",
|
|
853
|
+
children: formatResult(toolCall.delta)
|
|
854
|
+
})
|
|
855
|
+
})]
|
|
856
|
+
}), children && /*#__PURE__*/runtime.jsx("div", {
|
|
857
|
+
className: "mt-2",
|
|
858
|
+
children: children
|
|
859
|
+
})]
|
|
860
|
+
})]
|
|
691
861
|
});
|
|
692
862
|
};
|
|
693
863
|
|
|
@@ -828,14 +998,14 @@ var PreComponent = function (props) {
|
|
|
828
998
|
});
|
|
829
999
|
};
|
|
830
1000
|
var BuiltInComponents = {
|
|
831
|
-
|
|
1001
|
+
_THINK: Think,
|
|
1002
|
+
_TOOL_CALL: ToolCall,
|
|
832
1003
|
pre: PreComponent,
|
|
833
1004
|
code: CodeComponent,
|
|
834
1005
|
p: PComponent,
|
|
835
1006
|
a: AComponent,
|
|
836
1007
|
video: VideoComponent,
|
|
837
|
-
audio: AudioComponent
|
|
838
|
-
EncodedContent: EncodedContent
|
|
1008
|
+
audio: AudioComponent
|
|
839
1009
|
};
|
|
840
1010
|
|
|
841
1011
|
var ErrorBoundary = /** @class */function (_super) {
|
|
@@ -922,6 +1092,15 @@ function remarkThinkUpdate(content) {
|
|
|
922
1092
|
resultContent: resultContent
|
|
923
1093
|
};
|
|
924
1094
|
}
|
|
1095
|
+
/**
|
|
1096
|
+
* 转义流式内容中的特殊字符,防止MDX解析错误
|
|
1097
|
+
* @param content 需要转义的内容
|
|
1098
|
+
* @returns 转义后的内容
|
|
1099
|
+
*/
|
|
1100
|
+
function escapeContentForStream(content) {
|
|
1101
|
+
if (typeof content !== 'string') return content;
|
|
1102
|
+
return content.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/{/g, '{').replace(/}/g, '}');
|
|
1103
|
+
}
|
|
925
1104
|
|
|
926
1105
|
var renderTimer = null;
|
|
927
1106
|
// 辅助函数:格式化props
|
|
@@ -943,12 +1122,11 @@ function formatProps(props) {
|
|
|
943
1122
|
}
|
|
944
1123
|
function renderMdx(mdxContent, scope, registeredComponents) {
|
|
945
1124
|
return __awaiter(this, void 0, void 0, function () {
|
|
946
|
-
var componentTagRegex, usedComponents, match,
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
switch (_b.label) {
|
|
1125
|
+
var componentTagRegex, usedComponents, match, vf, XComponent;
|
|
1126
|
+
return __generator(this, function (_a) {
|
|
1127
|
+
switch (_a.label) {
|
|
950
1128
|
case 0:
|
|
951
|
-
|
|
1129
|
+
_a.trys.push([0, 3,, 4]);
|
|
952
1130
|
renderTimer && clearTimeout(renderTimer);
|
|
953
1131
|
componentTagRegex = /<([A-Z][a-zA-Z]*)\b/g;
|
|
954
1132
|
usedComponents = new Set();
|
|
@@ -956,25 +1134,6 @@ function renderMdx(mdxContent, scope, registeredComponents) {
|
|
|
956
1134
|
while ((match = componentTagRegex.exec(mdxContent)) !== null) {
|
|
957
1135
|
usedComponents.add(match[1]);
|
|
958
1136
|
}
|
|
959
|
-
_registeredComponents = new Set(Object.keys(registeredComponents));
|
|
960
|
-
try {
|
|
961
|
-
for (usedComponents_1 = __values(usedComponents), usedComponents_1_1 = usedComponents_1.next(); !usedComponents_1_1.done; usedComponents_1_1 = usedComponents_1.next()) {
|
|
962
|
-
component = usedComponents_1_1.value;
|
|
963
|
-
if (!_registeredComponents.has(component)) {
|
|
964
|
-
throw new Error("Component ".concat(component, " is used but not registered in the components object."));
|
|
965
|
-
}
|
|
966
|
-
}
|
|
967
|
-
} catch (e_2_1) {
|
|
968
|
-
e_2 = {
|
|
969
|
-
error: e_2_1
|
|
970
|
-
};
|
|
971
|
-
} finally {
|
|
972
|
-
try {
|
|
973
|
-
if (usedComponents_1_1 && !usedComponents_1_1.done && (_a = usedComponents_1.return)) _a.call(usedComponents_1);
|
|
974
|
-
} finally {
|
|
975
|
-
if (e_2) throw e_2.error;
|
|
976
|
-
}
|
|
977
|
-
}
|
|
978
1137
|
return [4 /*yield*/, mdx.compile(mdxContent, {
|
|
979
1138
|
outputFormat: "function-body",
|
|
980
1139
|
remarkPlugins: [[RemarkMath, {
|
|
@@ -987,18 +1146,18 @@ function renderMdx(mdxContent, scope, registeredComponents) {
|
|
|
987
1146
|
}]]
|
|
988
1147
|
})];
|
|
989
1148
|
case 1:
|
|
990
|
-
vf =
|
|
1149
|
+
vf = _a.sent();
|
|
991
1150
|
return [4 /*yield*/, mdx.run(vf, __assign(__assign(__assign({}, runtime__namespace), scope), {
|
|
992
1151
|
Fragment: MdxLayout
|
|
993
1152
|
}))];
|
|
994
1153
|
case 2:
|
|
995
|
-
XComponent =
|
|
1154
|
+
XComponent = _a.sent().default;
|
|
996
1155
|
return [2 /*return*/, /*#__PURE__*/React__namespace.createElement(XComponent, {
|
|
997
1156
|
components: registeredComponents,
|
|
998
1157
|
scope: scope
|
|
999
1158
|
})];
|
|
1000
1159
|
case 3:
|
|
1001
|
-
|
|
1160
|
+
_a.sent();
|
|
1002
1161
|
return [2 /*return*/, new Promise(function (resolve) {
|
|
1003
1162
|
renderTimer = setTimeout(function () {
|
|
1004
1163
|
resolve(/*#__PURE__*/React__namespace.createElement('div', {
|
|
@@ -1007,7 +1166,7 @@ function renderMdx(mdxContent, scope, registeredComponents) {
|
|
|
1007
1166
|
}
|
|
1008
1167
|
}, mdxContent));
|
|
1009
1168
|
clearTimeout(renderTimer); // 清理定时器
|
|
1010
|
-
},
|
|
1169
|
+
}, 2000); // 1秒延迟
|
|
1011
1170
|
})];
|
|
1012
1171
|
case 4:
|
|
1013
1172
|
return [2 /*return*/];
|
|
@@ -1079,7 +1238,7 @@ function parseComponentRecursively(allComponentHandlers, item, scope) {
|
|
|
1079
1238
|
parsedChildren_1 = _a.sent();
|
|
1080
1239
|
item.children.map(function (item, index) {
|
|
1081
1240
|
if (item.type === 'text') {
|
|
1082
|
-
childrenContent_1 += parsedChildren_1[index]; // encodeURIComponent(parsedChildren[index]);
|
|
1241
|
+
childrenContent_1 += escapeContentForStream(parsedChildren_1[index]); // encodeURIComponent(parsedChildren[index]);
|
|
1083
1242
|
} else {
|
|
1084
1243
|
childrenContent_1 += parsedChildren_1[index];
|
|
1085
1244
|
}
|
|
@@ -1164,11 +1323,12 @@ function ReactAIRenderer(_a) {
|
|
|
1164
1323
|
var content = _a.content,
|
|
1165
1324
|
_b = _a.scope,
|
|
1166
1325
|
scope = _b === void 0 ? {} : _b,
|
|
1167
|
-
|
|
1326
|
+
_c = _a.components,
|
|
1327
|
+
components = _c === void 0 ? {} : _c,
|
|
1168
1328
|
children = _a.children,
|
|
1169
|
-
|
|
1170
|
-
componentHandlers =
|
|
1171
|
-
content = content || children;
|
|
1329
|
+
_d = _a.componentHandlers,
|
|
1330
|
+
componentHandlers = _d === void 0 ? [] : _d;
|
|
1331
|
+
content = content || children || '';
|
|
1172
1332
|
var allComponents = __assign(__assign({}, BuiltInComponents), components);
|
|
1173
1333
|
// 修复:确保 components 是一个对象后再使用 Object.entries
|
|
1174
1334
|
var allComponentHandlers = __spreadArray(__spreadArray([], __read(components ? Object.entries(components).filter(function (_a) {
|
|
@@ -1188,11 +1348,11 @@ function ReactAIRenderer(_a) {
|
|
|
1188
1348
|
selfClosing: selfClosing
|
|
1189
1349
|
};
|
|
1190
1350
|
}) : []), false), __read(componentHandlers), false);
|
|
1191
|
-
var
|
|
1192
|
-
component =
|
|
1193
|
-
setComponent =
|
|
1351
|
+
var _e = __read(React.useState(null), 2),
|
|
1352
|
+
component = _e[0],
|
|
1353
|
+
setComponent = _e[1];
|
|
1194
1354
|
var parser = new MDXStreamingParser(allComponentHandlers);
|
|
1195
|
-
var mdxContent = content;
|
|
1355
|
+
var mdxContent = content || '';
|
|
1196
1356
|
React.useEffect(function () {
|
|
1197
1357
|
var parseMDX = function () {
|
|
1198
1358
|
return __awaiter(_this, void 0, void 0, function () {
|
|
@@ -1253,71 +1413,6 @@ function ReactAIRenderer(_a) {
|
|
|
1253
1413
|
});
|
|
1254
1414
|
}
|
|
1255
1415
|
|
|
1256
|
-
var ToolCall = function (_a) {
|
|
1257
|
-
var name = _a.name,
|
|
1258
|
-
args = _a.args,
|
|
1259
|
-
children = _a.children;
|
|
1260
|
-
return /*#__PURE__*/runtime.jsxs("div", {
|
|
1261
|
-
style: {
|
|
1262
|
-
border: '1px solid #e0e0e0',
|
|
1263
|
-
borderRadius: '4px',
|
|
1264
|
-
margin: '8px 0',
|
|
1265
|
-
backgroundColor: '#fafafa'
|
|
1266
|
-
},
|
|
1267
|
-
children: [/*#__PURE__*/runtime.jsxs("div", {
|
|
1268
|
-
style: {
|
|
1269
|
-
padding: '8px',
|
|
1270
|
-
backgroundColor: '#f5f5f5',
|
|
1271
|
-
borderBottom: '1px solid #e0e0e0',
|
|
1272
|
-
fontWeight: 'bold',
|
|
1273
|
-
display: 'flex',
|
|
1274
|
-
alignItems: 'center'
|
|
1275
|
-
},
|
|
1276
|
-
children: [/*#__PURE__*/runtime.jsx("span", {
|
|
1277
|
-
style: {
|
|
1278
|
-
marginRight: '8px'
|
|
1279
|
-
},
|
|
1280
|
-
children: "\uD83D\uDD27"
|
|
1281
|
-
}), /*#__PURE__*/runtime.jsxs("span", {
|
|
1282
|
-
children: ["\u5DE5\u5177\u8C03\u7528: ", name]
|
|
1283
|
-
})]
|
|
1284
|
-
}), args && /*#__PURE__*/runtime.jsxs("div", {
|
|
1285
|
-
style: {
|
|
1286
|
-
padding: '8px'
|
|
1287
|
-
},
|
|
1288
|
-
children: [/*#__PURE__*/runtime.jsx("div", {
|
|
1289
|
-
style: {
|
|
1290
|
-
fontWeight: 'bold',
|
|
1291
|
-
marginBottom: '4px'
|
|
1292
|
-
},
|
|
1293
|
-
children: "\u53C2\u6570:"
|
|
1294
|
-
}), /*#__PURE__*/runtime.jsx("pre", {
|
|
1295
|
-
style: {
|
|
1296
|
-
backgroundColor: '#f0f0f0',
|
|
1297
|
-
padding: '8px',
|
|
1298
|
-
borderRadius: '4px',
|
|
1299
|
-
overflowX: 'auto',
|
|
1300
|
-
fontSize: '12px'
|
|
1301
|
-
},
|
|
1302
|
-
children: JSON.stringify(args, null, 2)
|
|
1303
|
-
})]
|
|
1304
|
-
}), children && /*#__PURE__*/runtime.jsxs("div", {
|
|
1305
|
-
style: {
|
|
1306
|
-
padding: '8px'
|
|
1307
|
-
},
|
|
1308
|
-
children: [/*#__PURE__*/runtime.jsx("div", {
|
|
1309
|
-
style: {
|
|
1310
|
-
fontWeight: 'bold',
|
|
1311
|
-
marginBottom: '4px'
|
|
1312
|
-
},
|
|
1313
|
-
children: "\u7ED3\u679C:"
|
|
1314
|
-
}), /*#__PURE__*/runtime.jsx("div", {
|
|
1315
|
-
children: children
|
|
1316
|
-
})]
|
|
1317
|
-
})]
|
|
1318
|
-
});
|
|
1319
|
-
};
|
|
1320
|
-
|
|
1321
1416
|
// 导出 MDXStreamingParser 类
|
|
1322
1417
|
|
|
1323
1418
|
exports.MDXStreamingParser = MDXStreamingParser;
|
|
@@ -1327,4 +1422,4 @@ exports.ToolCall = ToolCall;
|
|
|
1327
1422
|
exports.__awaiter = __awaiter;
|
|
1328
1423
|
exports.__generator = __generator;
|
|
1329
1424
|
exports.__read = __read;
|
|
1330
|
-
//# sourceMappingURL=index-
|
|
1425
|
+
//# sourceMappingURL=index-813be4d3.js.map
|