@copilotkit/react-ui 1.8.0-next.6 → 1.8.0-next.8
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/CHANGELOG.md +19 -0
- package/dist/{chunk-FBYETUFL.mjs → chunk-5M7ODWKH.mjs} +6 -12
- package/dist/chunk-5M7ODWKH.mjs.map +1 -0
- package/dist/{chunk-GBXUOB6L.mjs → chunk-7BXD65QV.mjs} +3 -3
- package/dist/{chunk-6H7IQRIU.mjs → chunk-DKYAA4DM.mjs} +2 -2
- package/dist/{chunk-DFHFPZQD.mjs → chunk-FGVMRZ5D.mjs} +9 -16
- package/dist/chunk-FGVMRZ5D.mjs.map +1 -0
- package/dist/{chunk-Z6YOBQUJ.mjs → chunk-HGA4N4ME.mjs} +8 -13
- package/dist/chunk-HGA4N4ME.mjs.map +1 -0
- package/dist/{chunk-FFNESJSG.mjs → chunk-N5QWMFFT.mjs} +2 -2
- package/dist/{chunk-YC4NBUGE.mjs → chunk-NRA3CFEE.mjs} +3 -3
- package/dist/chunk-NRA3CFEE.mjs.map +1 -0
- package/dist/{chunk-CGVOCLHN.mjs → chunk-P7S3E5UW.mjs} +2 -2
- package/dist/{chunk-OTPAZXVR.mjs → chunk-Q5V6S67N.mjs} +17 -6
- package/dist/chunk-Q5V6S67N.mjs.map +1 -0
- package/dist/{chunk-LYHZXHTJ.mjs → chunk-SNLHKLW3.mjs} +2 -2
- package/dist/{chunk-5JY5QJ2W.mjs → chunk-UN2E3HCK.mjs} +9 -3
- package/dist/chunk-UN2E3HCK.mjs.map +1 -0
- package/dist/{chunk-QS7UFQFD.mjs → chunk-Y5RNSFAD.mjs} +3 -3
- package/dist/{chunk-VC4NO5QZ.mjs → chunk-YOEL33HG.mjs} +2 -2
- package/dist/{chunk-GJME6MK4.mjs → chunk-ZY25LVYR.mjs} +2 -2
- package/dist/components/chat/Button.js.map +1 -1
- package/dist/components/chat/Button.mjs +2 -2
- package/dist/components/chat/Chat.d.ts +2 -11
- package/dist/components/chat/Chat.js +67 -76
- package/dist/components/chat/Chat.js.map +1 -1
- package/dist/components/chat/Chat.mjs +6 -7
- package/dist/components/chat/ChatContext.d.ts +15 -0
- package/dist/components/chat/ChatContext.js +67 -1
- package/dist/components/chat/ChatContext.js.map +1 -1
- package/dist/components/chat/ChatContext.mjs +1 -1
- package/dist/components/chat/Header.js +18 -7
- package/dist/components/chat/Header.js.map +1 -1
- package/dist/components/chat/Header.mjs +5 -5
- package/dist/components/chat/Input.js.map +1 -1
- package/dist/components/chat/Input.mjs +2 -2
- package/dist/components/chat/Messages.js.map +1 -1
- package/dist/components/chat/Messages.mjs +2 -2
- package/dist/components/chat/Modal.d.ts +1 -1
- package/dist/components/chat/Modal.js +92 -94
- package/dist/components/chat/Modal.js.map +1 -1
- package/dist/components/chat/Modal.mjs +13 -14
- package/dist/components/chat/Popup.js +94 -96
- package/dist/components/chat/Popup.js.map +1 -1
- package/dist/components/chat/Popup.mjs +14 -15
- package/dist/components/chat/Sidebar.js +94 -96
- package/dist/components/chat/Sidebar.js.map +1 -1
- package/dist/components/chat/Sidebar.mjs +14 -15
- package/dist/components/chat/Window.js.map +1 -1
- package/dist/components/chat/Window.mjs +2 -2
- package/dist/components/chat/index.d.ts +1 -1
- package/dist/components/chat/index.js +96 -98
- package/dist/components/chat/index.js.map +1 -1
- package/dist/components/chat/index.mjs +17 -18
- package/dist/components/chat/messages/AssistantMessage.js +4 -67
- package/dist/components/chat/messages/AssistantMessage.js.map +1 -1
- package/dist/components/chat/messages/AssistantMessage.mjs +2 -2
- package/dist/components/chat/props.d.ts +1 -5
- package/dist/components/chat/props.js.map +1 -1
- package/dist/components/dev-console/console.js +18 -7
- package/dist/components/dev-console/console.js.map +1 -1
- package/dist/components/dev-console/console.mjs +3 -3
- package/dist/components/dev-console/icons.js +16 -5
- package/dist/components/dev-console/icons.js.map +1 -1
- package/dist/components/dev-console/icons.mjs +1 -1
- package/dist/components/dev-console/index.js +18 -7
- package/dist/components/dev-console/index.js.map +1 -1
- package/dist/components/dev-console/index.mjs +3 -3
- package/dist/components/help-modal/index.js +2 -2
- package/dist/components/help-modal/index.js.map +1 -1
- package/dist/components/help-modal/index.mjs +1 -1
- package/dist/components/help-modal/modal.js +2 -2
- package/dist/components/help-modal/modal.js.map +1 -1
- package/dist/components/help-modal/modal.mjs +1 -1
- package/dist/components/index.d.ts +1 -1
- package/dist/components/index.js +96 -98
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +17 -18
- package/dist/index.css +39 -34
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +96 -98
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +18 -19
- package/dist/types/css.d.ts +2 -0
- package/dist/types/css.js.map +1 -1
- package/package.json +4 -4
- package/src/components/chat/Chat.tsx +0 -16
- package/src/components/chat/ChatContext.tsx +25 -0
- package/src/components/chat/Modal.tsx +0 -6
- package/src/components/chat/messages/AssistantMessage.tsx +4 -5
- package/src/components/chat/props.ts +0 -5
- package/src/components/dev-console/icons.tsx +9 -2
- package/src/components/help-modal/modal.tsx +2 -2
- package/src/css/colors.css +3 -0
- package/src/css/console.css +44 -9
- package/src/styles.css +0 -1
- package/src/types/css.ts +2 -0
- package/dist/chunk-5JY5QJ2W.mjs.map +0 -1
- package/dist/chunk-DFHFPZQD.mjs.map +0 -1
- package/dist/chunk-FBYETUFL.mjs.map +0 -1
- package/dist/chunk-OTPAZXVR.mjs.map +0 -1
- package/dist/chunk-UZTZXMYS.mjs +0 -18
- package/dist/chunk-UZTZXMYS.mjs.map +0 -1
- package/dist/chunk-YC4NBUGE.mjs.map +0 -1
- package/dist/chunk-Z6YOBQUJ.mjs.map +0 -1
- package/dist/components/chat/Response.d.ts +0 -7
- package/dist/components/chat/Response.js +0 -64
- package/dist/components/chat/Response.js.map +0 -1
- package/dist/components/chat/Response.mjs +0 -10
- package/dist/components/chat/Response.mjs.map +0 -1
- package/src/components/chat/Response.tsx +0 -12
- package/src/css/response.css +0 -26
- /package/dist/{chunk-GBXUOB6L.mjs.map → chunk-7BXD65QV.mjs.map} +0 -0
- /package/dist/{chunk-6H7IQRIU.mjs.map → chunk-DKYAA4DM.mjs.map} +0 -0
- /package/dist/{chunk-FFNESJSG.mjs.map → chunk-N5QWMFFT.mjs.map} +0 -0
- /package/dist/{chunk-CGVOCLHN.mjs.map → chunk-P7S3E5UW.mjs.map} +0 -0
- /package/dist/{chunk-LYHZXHTJ.mjs.map → chunk-SNLHKLW3.mjs.map} +0 -0
- /package/dist/{chunk-QS7UFQFD.mjs.map → chunk-Y5RNSFAD.mjs.map} +0 -0
- /package/dist/{chunk-VC4NO5QZ.mjs.map → chunk-YOEL33HG.mjs.map} +0 -0
- /package/dist/{chunk-GJME6MK4.mjs.map → chunk-ZY25LVYR.mjs.map} +0 -0
package/dist/components/index.js
CHANGED
|
@@ -370,7 +370,10 @@ var ChatContextProvider = ({
|
|
|
370
370
|
spinnerIcon: SpinnerIcon,
|
|
371
371
|
stopIcon: StopIcon,
|
|
372
372
|
regenerateIcon: RegenerateIcon,
|
|
373
|
-
pushToTalkIcon: MicrophoneIcon
|
|
373
|
+
pushToTalkIcon: MicrophoneIcon,
|
|
374
|
+
copyIcon: CopyIcon,
|
|
375
|
+
thumbsUpIcon: ThumbsUpIcon,
|
|
376
|
+
thumbsDownIcon: ThumbsDownIcon
|
|
374
377
|
}), icons),
|
|
375
378
|
[icons]
|
|
376
379
|
);
|
|
@@ -685,13 +688,24 @@ var ExclamationMarkIcon = /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
|
685
688
|
) }) })
|
|
686
689
|
}
|
|
687
690
|
);
|
|
688
|
-
var ChevronDownIcon = /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
689
|
-
"
|
|
691
|
+
var ChevronDownIcon = /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
692
|
+
"svg",
|
|
690
693
|
{
|
|
691
|
-
|
|
692
|
-
|
|
694
|
+
width: "7px",
|
|
695
|
+
height: "4px",
|
|
696
|
+
viewBox: "0 0 7 4",
|
|
697
|
+
version: "1.1",
|
|
698
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
699
|
+
fill: "currentColor",
|
|
700
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("g", { id: "Page-1", stroke: "none", strokeWidth: "1", fill: "none", fillRule: "evenodd", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("g", { id: "Group", fill: "currentColor", fillRule: "nonzero", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
701
|
+
"path",
|
|
702
|
+
{
|
|
703
|
+
d: "M3.71690723,3.90271086 C3.59268176,4.03242971 3.39143629,4.03242971 3.26721082,3.90271086 L0.0853966595,0.57605615 C-0.0314221035,0.444981627 -0.0279751448,0.240725043 0.0931934622,0.114040675 C0.214362069,-0.0126436935 0.409725445,-0.0162475626 0.535093061,0.105888951 L3.49205902,3.19746006 L6.44902499,0.105888951 C6.52834574,0.0168884389 6.64780588,-0.0197473458 6.7605411,0.0103538404 C6.87327633,0.0404550266 6.96130636,0.132492308 6.99009696,0.250359396 C7.01888756,0.368226483 6.98384687,0.493124608 6.89872139,0.57605615 L3.71690723,3.90271086 Z",
|
|
704
|
+
id: "Path"
|
|
705
|
+
}
|
|
706
|
+
) }) })
|
|
693
707
|
}
|
|
694
|
-
)
|
|
708
|
+
);
|
|
695
709
|
var CheckIcon2 = /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
696
710
|
"svg",
|
|
697
711
|
{
|
|
@@ -774,11 +788,11 @@ function CopilotKitHelpModal() {
|
|
|
774
788
|
right: "-120px",
|
|
775
789
|
width: "380px"
|
|
776
790
|
},
|
|
777
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "
|
|
791
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)("div", { className: "copilotKitHelpModal rounded-lg shadow-xl w-full p-4 flex-col relative", children: [
|
|
778
792
|
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
779
793
|
"button",
|
|
780
794
|
{
|
|
781
|
-
className: "absolute text-gray-400 hover:text-gray-600 focus:outline-none",
|
|
795
|
+
className: "copilotKitHelpModalCloseButton absolute text-gray-400 hover:text-gray-600 focus:outline-none",
|
|
782
796
|
style: { top: "10px", right: "10px" },
|
|
783
797
|
onClick: () => setShowHelpModal(false),
|
|
784
798
|
"aria-label": "Close",
|
|
@@ -1437,18 +1451,8 @@ var Input = ({ inProgress, onSend, isVisible = false, onStop }) => {
|
|
|
1437
1451
|
] }) });
|
|
1438
1452
|
};
|
|
1439
1453
|
|
|
1440
|
-
// src/components/chat/Response.tsx
|
|
1441
|
-
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
1442
|
-
var ResponseButton = ({ onClick, inProgress }) => {
|
|
1443
|
-
const context = useChatContext();
|
|
1444
|
-
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("button", { onClick, className: "copilotKitResponseButton", children: [
|
|
1445
|
-
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { children: inProgress ? context.icons.stopIcon : context.icons.regenerateIcon }),
|
|
1446
|
-
inProgress ? context.labels.stopGenerating : context.labels.regenerateResponse
|
|
1447
|
-
] });
|
|
1448
|
-
};
|
|
1449
|
-
|
|
1450
1454
|
// src/components/chat/messages/RenderTextMessage.tsx
|
|
1451
|
-
var
|
|
1455
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
1452
1456
|
function RenderTextMessage(props) {
|
|
1453
1457
|
const {
|
|
1454
1458
|
message,
|
|
@@ -1464,7 +1468,7 @@ function RenderTextMessage(props) {
|
|
|
1464
1468
|
} = props;
|
|
1465
1469
|
if (message.isTextMessage()) {
|
|
1466
1470
|
if (message.role === "user") {
|
|
1467
|
-
return /* @__PURE__ */ (0,
|
|
1471
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
1468
1472
|
UserMessage2,
|
|
1469
1473
|
{
|
|
1470
1474
|
"data-message-role": "user",
|
|
@@ -1474,7 +1478,7 @@ function RenderTextMessage(props) {
|
|
|
1474
1478
|
index
|
|
1475
1479
|
);
|
|
1476
1480
|
} else if (message.role == "assistant") {
|
|
1477
|
-
return /* @__PURE__ */ (0,
|
|
1481
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
1478
1482
|
AssistantMessage2,
|
|
1479
1483
|
{
|
|
1480
1484
|
"data-message-role": "assistant",
|
|
@@ -1497,7 +1501,7 @@ function RenderTextMessage(props) {
|
|
|
1497
1501
|
// src/components/chat/messages/RenderActionExecutionMessage.tsx
|
|
1498
1502
|
var import_runtime_client_gql2 = require("@copilotkit/runtime-client-gql");
|
|
1499
1503
|
var import_react_core6 = require("@copilotkit/react-core");
|
|
1500
|
-
var
|
|
1504
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
1501
1505
|
function RenderActionExecutionMessage(props) {
|
|
1502
1506
|
const { chatComponentsCache } = (0, import_react_core6.useCopilotContext)();
|
|
1503
1507
|
const { message, inProgress, index, isCurrentMessage, actionResult, AssistantMessage: AssistantMessage2 } = props;
|
|
@@ -1506,7 +1510,7 @@ function RenderActionExecutionMessage(props) {
|
|
|
1506
1510
|
const render = chatComponentsCache.current.actions[message.name] || chatComponentsCache.current.actions["*"];
|
|
1507
1511
|
if (typeof render === "string") {
|
|
1508
1512
|
if (isCurrentMessage && inProgress) {
|
|
1509
|
-
return /* @__PURE__ */ (0,
|
|
1513
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
1510
1514
|
AssistantMessage2,
|
|
1511
1515
|
{
|
|
1512
1516
|
rawData: message,
|
|
@@ -1539,7 +1543,7 @@ function RenderActionExecutionMessage(props) {
|
|
|
1539
1543
|
return null;
|
|
1540
1544
|
}
|
|
1541
1545
|
if (typeof toRender === "string") {
|
|
1542
|
-
return /* @__PURE__ */ (0,
|
|
1546
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
1543
1547
|
AssistantMessage2,
|
|
1544
1548
|
{
|
|
1545
1549
|
rawData: message,
|
|
@@ -1551,7 +1555,7 @@ function RenderActionExecutionMessage(props) {
|
|
|
1551
1555
|
index
|
|
1552
1556
|
);
|
|
1553
1557
|
} else {
|
|
1554
|
-
return /* @__PURE__ */ (0,
|
|
1558
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
1555
1559
|
AssistantMessage2,
|
|
1556
1560
|
{
|
|
1557
1561
|
rawData: message,
|
|
@@ -1565,20 +1569,20 @@ function RenderActionExecutionMessage(props) {
|
|
|
1565
1569
|
}
|
|
1566
1570
|
} catch (e) {
|
|
1567
1571
|
console.error(`Error executing render function for action ${message.name}: ${e}`);
|
|
1568
|
-
return /* @__PURE__ */ (0,
|
|
1572
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
1569
1573
|
AssistantMessage2,
|
|
1570
1574
|
{
|
|
1571
1575
|
rawData: message,
|
|
1572
1576
|
"data-message-role": "assistant",
|
|
1573
1577
|
isLoading: false,
|
|
1574
1578
|
isGenerating: false,
|
|
1575
|
-
subComponent: /* @__PURE__ */ (0,
|
|
1576
|
-
/* @__PURE__ */ (0,
|
|
1579
|
+
subComponent: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "copilotKitMessage copilotKitAssistantMessage", children: [
|
|
1580
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("b", { children: [
|
|
1577
1581
|
"\u274C Error executing render function for action ",
|
|
1578
1582
|
message.name,
|
|
1579
1583
|
":"
|
|
1580
1584
|
] }),
|
|
1581
|
-
/* @__PURE__ */ (0,
|
|
1585
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("pre", { children: e instanceof Error ? e.message : String(e) })
|
|
1582
1586
|
] })
|
|
1583
1587
|
},
|
|
1584
1588
|
index
|
|
@@ -1588,7 +1592,7 @@ function RenderActionExecutionMessage(props) {
|
|
|
1588
1592
|
} else if (!inProgress || !isCurrentMessage) {
|
|
1589
1593
|
return null;
|
|
1590
1594
|
} else {
|
|
1591
|
-
return /* @__PURE__ */ (0,
|
|
1595
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
1592
1596
|
AssistantMessage2,
|
|
1593
1597
|
{
|
|
1594
1598
|
rawData: message,
|
|
@@ -1603,11 +1607,11 @@ function RenderActionExecutionMessage(props) {
|
|
|
1603
1607
|
}
|
|
1604
1608
|
|
|
1605
1609
|
// src/components/chat/messages/RenderResultMessage.tsx
|
|
1606
|
-
var
|
|
1610
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
1607
1611
|
function RenderResultMessage(props) {
|
|
1608
1612
|
const { message, inProgress, index, isCurrentMessage, AssistantMessage: AssistantMessage2 } = props;
|
|
1609
1613
|
if (message.isResultMessage() && inProgress && isCurrentMessage) {
|
|
1610
|
-
return /* @__PURE__ */ (0,
|
|
1614
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
1611
1615
|
AssistantMessage2,
|
|
1612
1616
|
{
|
|
1613
1617
|
"data-message-role": "assistant",
|
|
@@ -1624,7 +1628,7 @@ function RenderResultMessage(props) {
|
|
|
1624
1628
|
|
|
1625
1629
|
// src/components/chat/messages/RenderAgentStateMessage.tsx
|
|
1626
1630
|
var import_react_core7 = require("@copilotkit/react-core");
|
|
1627
|
-
var
|
|
1631
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
1628
1632
|
function RenderAgentStateMessage(props) {
|
|
1629
1633
|
const { chatComponentsCache } = (0, import_react_core7.useCopilotContext)();
|
|
1630
1634
|
const { message, inProgress, index, isCurrentMessage, AssistantMessage: AssistantMessage2 } = props;
|
|
@@ -1636,7 +1640,7 @@ function RenderAgentStateMessage(props) {
|
|
|
1636
1640
|
if (render) {
|
|
1637
1641
|
if (typeof render === "string") {
|
|
1638
1642
|
if (isCurrentMessage && inProgress) {
|
|
1639
|
-
return /* @__PURE__ */ (0,
|
|
1643
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1640
1644
|
AssistantMessage2,
|
|
1641
1645
|
{
|
|
1642
1646
|
rawData: message,
|
|
@@ -1662,7 +1666,7 @@ function RenderAgentStateMessage(props) {
|
|
|
1662
1666
|
return null;
|
|
1663
1667
|
}
|
|
1664
1668
|
if (!toRender && isCurrentMessage && inProgress) {
|
|
1665
|
-
return /* @__PURE__ */ (0,
|
|
1669
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1666
1670
|
AssistantMessage2,
|
|
1667
1671
|
{
|
|
1668
1672
|
"data-message-role": "assistant",
|
|
@@ -1676,7 +1680,7 @@ function RenderAgentStateMessage(props) {
|
|
|
1676
1680
|
return null;
|
|
1677
1681
|
}
|
|
1678
1682
|
if (typeof toRender === "string") {
|
|
1679
|
-
return /* @__PURE__ */ (0,
|
|
1683
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1680
1684
|
AssistantMessage2,
|
|
1681
1685
|
{
|
|
1682
1686
|
rawData: message,
|
|
@@ -1688,7 +1692,7 @@ function RenderAgentStateMessage(props) {
|
|
|
1688
1692
|
index
|
|
1689
1693
|
);
|
|
1690
1694
|
} else {
|
|
1691
|
-
return /* @__PURE__ */ (0,
|
|
1695
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1692
1696
|
AssistantMessage2,
|
|
1693
1697
|
{
|
|
1694
1698
|
rawData: message,
|
|
@@ -1704,7 +1708,7 @@ function RenderAgentStateMessage(props) {
|
|
|
1704
1708
|
} else if (!inProgress || !isCurrentMessage) {
|
|
1705
1709
|
return null;
|
|
1706
1710
|
} else {
|
|
1707
|
-
return /* @__PURE__ */ (0,
|
|
1711
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1708
1712
|
AssistantMessage2,
|
|
1709
1713
|
{
|
|
1710
1714
|
rawData: message,
|
|
@@ -1749,7 +1753,7 @@ function useCopyToClipboard({ timeout = 2e3 }) {
|
|
|
1749
1753
|
}
|
|
1750
1754
|
|
|
1751
1755
|
// src/components/chat/CodeBlock.tsx
|
|
1752
|
-
var
|
|
1756
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
1753
1757
|
var programmingLanguages = {
|
|
1754
1758
|
javascript: ".js",
|
|
1755
1759
|
python: ".py",
|
|
@@ -1812,15 +1816,15 @@ var CodeBlock = (0, import_react10.memo)(({ language, value }) => {
|
|
|
1812
1816
|
return;
|
|
1813
1817
|
copyToClipboard(value);
|
|
1814
1818
|
};
|
|
1815
|
-
return /* @__PURE__ */ (0,
|
|
1816
|
-
/* @__PURE__ */ (0,
|
|
1817
|
-
/* @__PURE__ */ (0,
|
|
1818
|
-
/* @__PURE__ */ (0,
|
|
1819
|
-
/* @__PURE__ */ (0,
|
|
1820
|
-
/* @__PURE__ */ (0,
|
|
1819
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "copilotKitCodeBlock", children: [
|
|
1820
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "copilotKitCodeBlockToolbar", children: [
|
|
1821
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: "copilotKitCodeBlockToolbarLanguage", children: language }),
|
|
1822
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "copilotKitCodeBlockToolbarButtons", children: [
|
|
1823
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("button", { className: "copilotKitCodeBlockToolbarButton", onClick: downloadAsFile, children: DownloadIcon }),
|
|
1824
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)("button", { className: "copilotKitCodeBlockToolbarButton", onClick: onCopy, children: isCopied ? CheckIcon : CopyIcon })
|
|
1821
1825
|
] })
|
|
1822
1826
|
] }),
|
|
1823
|
-
/* @__PURE__ */ (0,
|
|
1827
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
1824
1828
|
import_react_syntax_highlighter.Prism,
|
|
1825
1829
|
{
|
|
1826
1830
|
language,
|
|
@@ -2123,18 +2127,18 @@ var highlightStyle = {
|
|
|
2123
2127
|
// src/components/chat/Markdown.tsx
|
|
2124
2128
|
var import_remark_gfm = __toESM(require("remark-gfm"));
|
|
2125
2129
|
var import_remark_math = __toESM(require("remark-math"));
|
|
2126
|
-
var
|
|
2130
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
2127
2131
|
var MemoizedReactMarkdown = (0, import_react11.memo)(
|
|
2128
2132
|
import_react_markdown.default,
|
|
2129
2133
|
(prevProps, nextProps) => prevProps.children === nextProps.children && prevProps.className === nextProps.className
|
|
2130
2134
|
);
|
|
2131
2135
|
var Markdown = ({ content }) => {
|
|
2132
|
-
return /* @__PURE__ */ (0,
|
|
2136
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "copilotKitMarkdown", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(MemoizedReactMarkdown, { components, remarkPlugins: [import_remark_gfm.default, import_remark_math.default], children: content }) });
|
|
2133
2137
|
};
|
|
2134
2138
|
var components = {
|
|
2135
2139
|
a(_a) {
|
|
2136
2140
|
var _b = _a, { children } = _b, props = __objRest(_b, ["children"]);
|
|
2137
|
-
return /* @__PURE__ */ (0,
|
|
2141
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
2138
2142
|
"a",
|
|
2139
2143
|
__spreadProps(__spreadValues({
|
|
2140
2144
|
style: { color: "blue", textDecoration: "underline" }
|
|
@@ -2149,7 +2153,7 @@ var components = {
|
|
|
2149
2153
|
var _d = _c, { children, className, inline } = _d, props = __objRest(_d, ["children", "className", "inline"]);
|
|
2150
2154
|
if (children.length) {
|
|
2151
2155
|
if (children[0] == "\u258D") {
|
|
2152
|
-
return /* @__PURE__ */ (0,
|
|
2156
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
2153
2157
|
"span",
|
|
2154
2158
|
{
|
|
2155
2159
|
style: {
|
|
@@ -2164,9 +2168,9 @@ var components = {
|
|
|
2164
2168
|
}
|
|
2165
2169
|
const match = /language-(\w+)/.exec(className || "");
|
|
2166
2170
|
if (inline) {
|
|
2167
|
-
return /* @__PURE__ */ (0,
|
|
2171
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("code", __spreadProps(__spreadValues({ className }, props), { children }));
|
|
2168
2172
|
}
|
|
2169
|
-
return /* @__PURE__ */ (0,
|
|
2173
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
2170
2174
|
CodeBlock,
|
|
2171
2175
|
__spreadValues({
|
|
2172
2176
|
language: match && match[1] || "",
|
|
@@ -2179,7 +2183,7 @@ var components = {
|
|
|
2179
2183
|
|
|
2180
2184
|
// src/components/chat/messages/AssistantMessage.tsx
|
|
2181
2185
|
var import_react12 = require("react");
|
|
2182
|
-
var
|
|
2186
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
2183
2187
|
var AssistantMessage = (props) => {
|
|
2184
2188
|
const { icons, labels } = useChatContext();
|
|
2185
2189
|
const {
|
|
@@ -2220,77 +2224,77 @@ var AssistantMessage = (props) => {
|
|
|
2220
2224
|
onThumbsDown(message);
|
|
2221
2225
|
}
|
|
2222
2226
|
};
|
|
2223
|
-
const LoadingIcon = () => /* @__PURE__ */ (0,
|
|
2224
|
-
return /* @__PURE__ */ (0,
|
|
2225
|
-
(message || isLoading) && /* @__PURE__ */ (0,
|
|
2226
|
-
message && /* @__PURE__ */ (0,
|
|
2227
|
-
isLoading && /* @__PURE__ */ (0,
|
|
2228
|
-
message && !isLoading && /* @__PURE__ */ (0,
|
|
2227
|
+
const LoadingIcon = () => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { children: icons.activityIcon });
|
|
2228
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_jsx_runtime19.Fragment, { children: [
|
|
2229
|
+
(message || isLoading) && /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "copilotKitMessage copilotKitAssistantMessage", children: [
|
|
2230
|
+
message && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Markdown, { content: message || "" }),
|
|
2231
|
+
isLoading && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(LoadingIcon, {}),
|
|
2232
|
+
message && !isLoading && /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
2229
2233
|
"div",
|
|
2230
2234
|
{
|
|
2231
2235
|
className: `copilotKitMessageControls ${isCurrentMessage ? "currentMessage" : ""}`,
|
|
2232
2236
|
children: [
|
|
2233
|
-
/* @__PURE__ */ (0,
|
|
2237
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
2234
2238
|
"button",
|
|
2235
2239
|
{
|
|
2236
2240
|
className: "copilotKitMessageControlButton",
|
|
2237
2241
|
onClick: handleRegenerate,
|
|
2238
2242
|
"aria-label": labels.regenerateResponse,
|
|
2239
2243
|
title: labels.regenerateResponse,
|
|
2240
|
-
children:
|
|
2244
|
+
children: icons.regenerateIcon
|
|
2241
2245
|
}
|
|
2242
2246
|
),
|
|
2243
|
-
/* @__PURE__ */ (0,
|
|
2247
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
2244
2248
|
"button",
|
|
2245
2249
|
{
|
|
2246
2250
|
className: "copilotKitMessageControlButton",
|
|
2247
2251
|
onClick: handleCopy,
|
|
2248
2252
|
"aria-label": labels.copyToClipboard,
|
|
2249
2253
|
title: labels.copyToClipboard,
|
|
2250
|
-
children: copied ? /* @__PURE__ */ (0,
|
|
2254
|
+
children: copied ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { style: { fontSize: "10px", fontWeight: "bold" }, children: "\u2713" }) : icons.copyIcon
|
|
2251
2255
|
}
|
|
2252
2256
|
),
|
|
2253
|
-
onThumbsUp && /* @__PURE__ */ (0,
|
|
2257
|
+
onThumbsUp && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
2254
2258
|
"button",
|
|
2255
2259
|
{
|
|
2256
2260
|
className: "copilotKitMessageControlButton",
|
|
2257
2261
|
onClick: handleThumbsUp,
|
|
2258
2262
|
"aria-label": labels.thumbsUp,
|
|
2259
2263
|
title: labels.thumbsUp,
|
|
2260
|
-
children:
|
|
2264
|
+
children: icons.thumbsUpIcon
|
|
2261
2265
|
}
|
|
2262
2266
|
),
|
|
2263
|
-
onThumbsDown && /* @__PURE__ */ (0,
|
|
2267
|
+
onThumbsDown && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
2264
2268
|
"button",
|
|
2265
2269
|
{
|
|
2266
2270
|
className: "copilotKitMessageControlButton",
|
|
2267
2271
|
onClick: handleThumbsDown,
|
|
2268
2272
|
"aria-label": labels.thumbsDown,
|
|
2269
2273
|
title: labels.thumbsDown,
|
|
2270
|
-
children:
|
|
2274
|
+
children: icons.thumbsDownIcon
|
|
2271
2275
|
}
|
|
2272
2276
|
)
|
|
2273
2277
|
]
|
|
2274
2278
|
}
|
|
2275
2279
|
)
|
|
2276
2280
|
] }),
|
|
2277
|
-
/* @__PURE__ */ (0,
|
|
2281
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { style: { marginBottom: "0.5rem" }, children: subComponent })
|
|
2278
2282
|
] });
|
|
2279
2283
|
};
|
|
2280
2284
|
|
|
2281
2285
|
// src/components/chat/messages/UserMessage.tsx
|
|
2282
|
-
var
|
|
2286
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
2283
2287
|
var UserMessage = (props) => {
|
|
2284
|
-
return /* @__PURE__ */ (0,
|
|
2288
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "copilotKitMessage copilotKitUserMessage", children: props.message });
|
|
2285
2289
|
};
|
|
2286
2290
|
|
|
2287
2291
|
// src/components/chat/Suggestion.tsx
|
|
2288
2292
|
var import_react_core8 = require("@copilotkit/react-core");
|
|
2289
2293
|
var import_shared2 = require("@copilotkit/shared");
|
|
2290
2294
|
var import_runtime_client_gql3 = require("@copilotkit/runtime-client-gql");
|
|
2291
|
-
var
|
|
2295
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
2292
2296
|
function Suggestion({ title, message, onClick, partial, className }) {
|
|
2293
|
-
return /* @__PURE__ */ (0,
|
|
2297
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
2294
2298
|
"button",
|
|
2295
2299
|
{
|
|
2296
2300
|
disabled: partial,
|
|
@@ -2300,7 +2304,7 @@ function Suggestion({ title, message, onClick, partial, className }) {
|
|
|
2300
2304
|
},
|
|
2301
2305
|
className: className || (partial ? "suggestion loading" : "suggestion"),
|
|
2302
2306
|
"data-test-id": "suggestion",
|
|
2303
|
-
children: partial ? SmallSpinnerIcon : /* @__PURE__ */ (0,
|
|
2307
|
+
children: partial ? SmallSpinnerIcon : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("span", { children: title })
|
|
2304
2308
|
}
|
|
2305
2309
|
);
|
|
2306
2310
|
}
|
|
@@ -2380,12 +2384,11 @@ var import_react_core9 = require("@copilotkit/react-core");
|
|
|
2380
2384
|
var import_runtime_client_gql4 = require("@copilotkit/runtime-client-gql");
|
|
2381
2385
|
var import_shared3 = require("@copilotkit/shared");
|
|
2382
2386
|
var import_react_core10 = require("@copilotkit/react-core");
|
|
2383
|
-
var
|
|
2387
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
2384
2388
|
function CopilotChat({
|
|
2385
2389
|
instructions,
|
|
2386
2390
|
onSubmitMessage,
|
|
2387
2391
|
makeSystemMessage,
|
|
2388
|
-
showResponseButton = true,
|
|
2389
2392
|
onInProgress,
|
|
2390
2393
|
onStopGeneration,
|
|
2391
2394
|
onReloadMessages,
|
|
@@ -2399,7 +2402,6 @@ function CopilotChat({
|
|
|
2399
2402
|
RenderAgentStateMessage: RenderAgentStateMessage2 = RenderAgentStateMessage,
|
|
2400
2403
|
RenderResultMessage: RenderResultMessage2 = RenderResultMessage,
|
|
2401
2404
|
Input: Input2 = Input,
|
|
2402
|
-
ResponseButton: ResponseButton2 = ResponseButton,
|
|
2403
2405
|
className,
|
|
2404
2406
|
icons,
|
|
2405
2407
|
labels,
|
|
@@ -2447,8 +2449,8 @@ function CopilotChat({
|
|
|
2447
2449
|
onCopy(message);
|
|
2448
2450
|
}
|
|
2449
2451
|
};
|
|
2450
|
-
return /* @__PURE__ */ (0,
|
|
2451
|
-
/* @__PURE__ */ (0,
|
|
2452
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(WrappedCopilotChat, { icons, labels, className, children: [
|
|
2453
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
2452
2454
|
Messages2,
|
|
2453
2455
|
{
|
|
2454
2456
|
AssistantMessage: AssistantMessage2,
|
|
@@ -2463,7 +2465,7 @@ function CopilotChat({
|
|
|
2463
2465
|
onCopy: handleCopy,
|
|
2464
2466
|
onThumbsUp,
|
|
2465
2467
|
onThumbsDown,
|
|
2466
|
-
children: currentSuggestions.length > 0 && /* @__PURE__ */ (0,
|
|
2468
|
+
children: currentSuggestions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "suggestions", children: currentSuggestions.map((suggestion, index) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
2467
2469
|
Suggestion,
|
|
2468
2470
|
{
|
|
2469
2471
|
title: suggestion.title,
|
|
@@ -2476,7 +2478,7 @@ function CopilotChat({
|
|
|
2476
2478
|
)) })
|
|
2477
2479
|
}
|
|
2478
2480
|
),
|
|
2479
|
-
/* @__PURE__ */ (0,
|
|
2481
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
|
|
2480
2482
|
Input2,
|
|
2481
2483
|
{
|
|
2482
2484
|
inProgress: isLoading,
|
|
@@ -2495,10 +2497,10 @@ function WrappedCopilotChat({
|
|
|
2495
2497
|
}) {
|
|
2496
2498
|
const chatContext = import_react13.default.useContext(ChatContext);
|
|
2497
2499
|
if (!chatContext) {
|
|
2498
|
-
return /* @__PURE__ */ (0,
|
|
2499
|
-
}, children: /* @__PURE__ */ (0,
|
|
2500
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ChatContextProvider, { icons, labels, open: true, setOpen: () => {
|
|
2501
|
+
}, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: `copilotKitChat ${className}`, children }) });
|
|
2500
2502
|
}
|
|
2501
|
-
return /* @__PURE__ */ (0,
|
|
2503
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_jsx_runtime22.Fragment, { children });
|
|
2502
2504
|
}
|
|
2503
2505
|
var SUGGESTIONS_DEBOUNCE_TIMEOUT = 1e3;
|
|
2504
2506
|
var useCopilotChatLogic = (makeSystemMessage, onInProgress, onSubmitMessage, onStopGeneration, onReloadMessages) => {
|
|
@@ -2659,7 +2661,7 @@ var useCopilotChatLogic = (makeSystemMessage, onInProgress, onSubmitMessage, onS
|
|
|
2659
2661
|
};
|
|
2660
2662
|
|
|
2661
2663
|
// src/components/chat/Modal.tsx
|
|
2662
|
-
var
|
|
2664
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
2663
2665
|
var CopilotModal = ({
|
|
2664
2666
|
instructions,
|
|
2665
2667
|
defaultOpen = false,
|
|
@@ -2673,14 +2675,12 @@ var CopilotModal = ({
|
|
|
2673
2675
|
icons,
|
|
2674
2676
|
labels,
|
|
2675
2677
|
makeSystemMessage,
|
|
2676
|
-
showResponseButton = true,
|
|
2677
2678
|
onInProgress,
|
|
2678
2679
|
Window: Window2 = Window,
|
|
2679
2680
|
Button: Button2 = Button,
|
|
2680
2681
|
Header: Header2 = Header,
|
|
2681
2682
|
Messages: Messages2 = Messages,
|
|
2682
2683
|
Input: Input2 = Input,
|
|
2683
|
-
ResponseButton: ResponseButton2 = ResponseButton,
|
|
2684
2684
|
AssistantMessage: AssistantMessage2 = AssistantMessage,
|
|
2685
2685
|
UserMessage: UserMessage2 = UserMessage,
|
|
2686
2686
|
className,
|
|
@@ -2691,19 +2691,19 @@ var CopilotModal = ({
|
|
|
2691
2691
|
onSetOpen == null ? void 0 : onSetOpen(open);
|
|
2692
2692
|
setOpenState(open);
|
|
2693
2693
|
};
|
|
2694
|
-
return /* @__PURE__ */ (0,
|
|
2694
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(ChatContextProvider, { icons, labels, open: openState, setOpen, children: [
|
|
2695
2695
|
children,
|
|
2696
|
-
/* @__PURE__ */ (0,
|
|
2697
|
-
/* @__PURE__ */ (0,
|
|
2698
|
-
/* @__PURE__ */ (0,
|
|
2696
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className, children: [
|
|
2697
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Button2, {}),
|
|
2698
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
|
|
2699
2699
|
Window2,
|
|
2700
2700
|
{
|
|
2701
2701
|
clickOutsideToClose,
|
|
2702
2702
|
shortcut,
|
|
2703
2703
|
hitEscapeToClose,
|
|
2704
2704
|
children: [
|
|
2705
|
-
/* @__PURE__ */ (0,
|
|
2706
|
-
/* @__PURE__ */ (0,
|
|
2705
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Header2, {}),
|
|
2706
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
2707
2707
|
CopilotChat,
|
|
2708
2708
|
{
|
|
2709
2709
|
instructions,
|
|
@@ -2711,11 +2711,9 @@ var CopilotModal = ({
|
|
|
2711
2711
|
onStopGeneration,
|
|
2712
2712
|
onReloadMessages,
|
|
2713
2713
|
makeSystemMessage,
|
|
2714
|
-
showResponseButton,
|
|
2715
2714
|
onInProgress,
|
|
2716
2715
|
Messages: Messages2,
|
|
2717
2716
|
Input: Input2,
|
|
2718
|
-
ResponseButton: ResponseButton2,
|
|
2719
2717
|
AssistantMessage: AssistantMessage2,
|
|
2720
2718
|
UserMessage: UserMessage2
|
|
2721
2719
|
}
|
|
@@ -2728,17 +2726,17 @@ var CopilotModal = ({
|
|
|
2728
2726
|
};
|
|
2729
2727
|
|
|
2730
2728
|
// src/components/chat/Popup.tsx
|
|
2731
|
-
var
|
|
2729
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
2732
2730
|
function CopilotPopup(props) {
|
|
2733
2731
|
props = __spreadProps(__spreadValues({}, props), {
|
|
2734
2732
|
className: props.className ? props.className + " copilotKitPopup" : "copilotKitPopup"
|
|
2735
2733
|
});
|
|
2736
|
-
return /* @__PURE__ */ (0,
|
|
2734
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(CopilotModal, __spreadProps(__spreadValues({}, props), { children: props.children }));
|
|
2737
2735
|
}
|
|
2738
2736
|
|
|
2739
2737
|
// src/components/chat/Sidebar.tsx
|
|
2740
2738
|
var import_react15 = require("react");
|
|
2741
|
-
var
|
|
2739
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
2742
2740
|
function CopilotSidebar(props) {
|
|
2743
2741
|
props = __spreadProps(__spreadValues({}, props), {
|
|
2744
2742
|
className: props.className ? props.className + " copilotKitSidebar" : "copilotKitSidebar"
|
|
@@ -2751,7 +2749,7 @@ function CopilotSidebar(props) {
|
|
|
2751
2749
|
(_a = props.onSetOpen) == null ? void 0 : _a.call(props, open);
|
|
2752
2750
|
setExpandedClassName(open ? "sidebarExpanded" : "");
|
|
2753
2751
|
};
|
|
2754
|
-
return /* @__PURE__ */ (0,
|
|
2752
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `copilotKitSidebarContentWrapper ${expandedClassName}`, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(CopilotModal, __spreadProps(__spreadValues(__spreadValues({}, props), { onSetOpen }), { children: props.children })) });
|
|
2755
2753
|
}
|
|
2756
2754
|
// Annotate the CommonJS export names for ESM import in node:
|
|
2757
2755
|
0 && (module.exports = {
|