@copilotkit/react-ui 1.8.4 → 1.8.5-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/dist/{chunk-6F2ZAK7T.mjs → chunk-4TWPMWD4.mjs} +2 -2
- package/dist/{chunk-7RIBDD4K.mjs → chunk-62QMTKMJ.mjs} +22 -7
- package/dist/chunk-62QMTKMJ.mjs.map +1 -0
- package/dist/{chunk-LGMQR7XG.mjs → chunk-6QV7AIIG.mjs} +2 -2
- package/dist/{chunk-7EDMOLGH.mjs → chunk-MYUOPOIL.mjs} +15 -14
- package/dist/chunk-MYUOPOIL.mjs.map +1 -0
- package/dist/{chunk-XB6QCUPB.mjs → chunk-NMNC4ROZ.mjs} +20 -8
- package/dist/chunk-NMNC4ROZ.mjs.map +1 -0
- package/dist/{chunk-UWWMAJ7R.mjs → chunk-Q2YY2NX3.mjs} +20 -8
- package/dist/chunk-Q2YY2NX3.mjs.map +1 -0
- package/dist/{chunk-QTD2KREC.mjs → chunk-U6ISBBRF.mjs} +2 -2
- package/dist/{chunk-WEYDZBT7.mjs → chunk-WNC6OCIB.mjs} +16 -4
- package/dist/chunk-WNC6OCIB.mjs.map +1 -0
- package/dist/components/chat/Chat.d.ts +8 -3
- package/dist/components/chat/Chat.js +327 -306
- package/dist/components/chat/Chat.js.map +1 -1
- package/dist/components/chat/Chat.mjs +5 -5
- package/dist/components/chat/Modal.js +327 -306
- package/dist/components/chat/Modal.js.map +1 -1
- package/dist/components/chat/Modal.mjs +6 -6
- package/dist/components/chat/Popup.js +327 -306
- package/dist/components/chat/Popup.js.map +1 -1
- package/dist/components/chat/Popup.mjs +7 -7
- package/dist/components/chat/Sidebar.js +327 -306
- package/dist/components/chat/Sidebar.js.map +1 -1
- package/dist/components/chat/Sidebar.mjs +7 -7
- package/dist/components/chat/index.js +327 -306
- package/dist/components/chat/index.js.map +1 -1
- package/dist/components/chat/index.mjs +8 -8
- package/dist/components/chat/messages/RenderActionExecutionMessage.d.ts +1 -1
- package/dist/components/chat/messages/RenderActionExecutionMessage.js +696 -15
- package/dist/components/chat/messages/RenderActionExecutionMessage.js.map +1 -1
- package/dist/components/chat/messages/RenderActionExecutionMessage.mjs +7 -1
- package/dist/components/chat/messages/RenderAgentStateMessage.d.ts +1 -1
- package/dist/components/chat/messages/RenderAgentStateMessage.js +693 -12
- package/dist/components/chat/messages/RenderAgentStateMessage.js.map +1 -1
- package/dist/components/chat/messages/RenderAgentStateMessage.mjs +7 -1
- package/dist/components/chat/messages/RenderResultMessage.d.ts +1 -1
- package/dist/components/chat/messages/RenderResultMessage.js +685 -4
- package/dist/components/chat/messages/RenderResultMessage.js.map +1 -1
- package/dist/components/chat/messages/RenderResultMessage.mjs +7 -1
- package/dist/components/chat/messages/RenderTextMessage.d.ts +1 -1
- package/dist/components/chat/messages/RenderTextMessage.js +695 -8
- package/dist/components/chat/messages/RenderTextMessage.js.map +1 -1
- package/dist/components/chat/messages/RenderTextMessage.mjs +8 -1
- package/dist/components/chat/props.d.ts +4 -4
- package/dist/components/chat/props.js.map +1 -1
- package/dist/components/index.js +327 -306
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +8 -8
- package/dist/index.js +327 -306
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +8 -8
- package/package.json +4 -4
- package/src/components/chat/Chat.tsx +13 -7
- package/src/components/chat/messages/RenderActionExecutionMessage.tsx +6 -2
- package/src/components/chat/messages/RenderAgentStateMessage.tsx +6 -2
- package/src/components/chat/messages/RenderResultMessage.tsx +6 -2
- package/src/components/chat/messages/RenderTextMessage.tsx +8 -4
- package/src/components/chat/props.ts +4 -4
- package/dist/chunk-7EDMOLGH.mjs.map +0 -1
- package/dist/chunk-7RIBDD4K.mjs.map +0 -1
- package/dist/chunk-UWWMAJ7R.mjs.map +0 -1
- package/dist/chunk-WEYDZBT7.mjs.map +0 -1
- package/dist/chunk-XB6QCUPB.mjs.map +0 -1
- /package/dist/{chunk-6F2ZAK7T.mjs.map → chunk-4TWPMWD4.mjs.map} +0 -0
- /package/dist/{chunk-LGMQR7XG.mjs.map → chunk-6QV7AIIG.mjs.map} +0 -0
- /package/dist/{chunk-QTD2KREC.mjs.map → chunk-U6ISBBRF.mjs.map} +0 -0
|
@@ -1454,276 +1454,11 @@ var Input = ({ inProgress, onSend, isVisible = false, onStop }) => {
|
|
|
1454
1454
|
] }) });
|
|
1455
1455
|
};
|
|
1456
1456
|
|
|
1457
|
-
// src/components/chat/messages/
|
|
1457
|
+
// src/components/chat/messages/UserMessage.tsx
|
|
1458
1458
|
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
inProgress,
|
|
1463
|
-
index,
|
|
1464
|
-
isCurrentMessage,
|
|
1465
|
-
UserMessage: UserMessage2,
|
|
1466
|
-
AssistantMessage: AssistantMessage2,
|
|
1467
|
-
onRegenerate,
|
|
1468
|
-
onCopy,
|
|
1469
|
-
onThumbsUp,
|
|
1470
|
-
onThumbsDown
|
|
1471
|
-
} = props;
|
|
1472
|
-
if (message.isTextMessage()) {
|
|
1473
|
-
if (message.role === "user") {
|
|
1474
|
-
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
1475
|
-
UserMessage2,
|
|
1476
|
-
{
|
|
1477
|
-
"data-message-role": "user",
|
|
1478
|
-
message: message.content,
|
|
1479
|
-
rawData: message
|
|
1480
|
-
},
|
|
1481
|
-
index
|
|
1482
|
-
);
|
|
1483
|
-
} else if (message.role == "assistant") {
|
|
1484
|
-
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
1485
|
-
AssistantMessage2,
|
|
1486
|
-
{
|
|
1487
|
-
"data-message-role": "assistant",
|
|
1488
|
-
message: message.content,
|
|
1489
|
-
rawData: message,
|
|
1490
|
-
isLoading: inProgress && isCurrentMessage && !message.content,
|
|
1491
|
-
isGenerating: inProgress && isCurrentMessage && !!message.content,
|
|
1492
|
-
isCurrentMessage,
|
|
1493
|
-
onRegenerate,
|
|
1494
|
-
onCopy,
|
|
1495
|
-
onThumbsUp,
|
|
1496
|
-
onThumbsDown
|
|
1497
|
-
},
|
|
1498
|
-
index
|
|
1499
|
-
);
|
|
1500
|
-
}
|
|
1501
|
-
}
|
|
1502
|
-
}
|
|
1503
|
-
|
|
1504
|
-
// src/components/chat/messages/RenderActionExecutionMessage.tsx
|
|
1505
|
-
var import_runtime_client_gql2 = require("@copilotkit/runtime-client-gql");
|
|
1506
|
-
var import_react_core6 = require("@copilotkit/react-core");
|
|
1507
|
-
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
1508
|
-
function RenderActionExecutionMessage(props) {
|
|
1509
|
-
const { chatComponentsCache } = (0, import_react_core6.useCopilotContext)();
|
|
1510
|
-
const { message, inProgress, index, isCurrentMessage, actionResult, AssistantMessage: AssistantMessage2 } = props;
|
|
1511
|
-
if (message.isActionExecutionMessage()) {
|
|
1512
|
-
if (chatComponentsCache.current !== null && (chatComponentsCache.current.actions[message.name] || chatComponentsCache.current.actions["*"])) {
|
|
1513
|
-
const render = chatComponentsCache.current.actions[message.name] || chatComponentsCache.current.actions["*"];
|
|
1514
|
-
if (typeof render === "string") {
|
|
1515
|
-
if (isCurrentMessage && inProgress) {
|
|
1516
|
-
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
1517
|
-
AssistantMessage2,
|
|
1518
|
-
{
|
|
1519
|
-
rawData: message,
|
|
1520
|
-
"data-message-role": "assistant",
|
|
1521
|
-
isLoading: false,
|
|
1522
|
-
isGenerating: true,
|
|
1523
|
-
message: render
|
|
1524
|
-
},
|
|
1525
|
-
index
|
|
1526
|
-
);
|
|
1527
|
-
} else {
|
|
1528
|
-
return null;
|
|
1529
|
-
}
|
|
1530
|
-
} else {
|
|
1531
|
-
const args = message.arguments;
|
|
1532
|
-
let status = "inProgress";
|
|
1533
|
-
if (actionResult !== void 0) {
|
|
1534
|
-
status = "complete";
|
|
1535
|
-
} else if (message.status.code !== import_runtime_client_gql2.MessageStatusCode.Pending) {
|
|
1536
|
-
status = "executing";
|
|
1537
|
-
}
|
|
1538
|
-
try {
|
|
1539
|
-
const toRender = render({
|
|
1540
|
-
status,
|
|
1541
|
-
args,
|
|
1542
|
-
result: actionResult,
|
|
1543
|
-
name: message.name
|
|
1544
|
-
});
|
|
1545
|
-
if (!toRender && status === "complete") {
|
|
1546
|
-
return null;
|
|
1547
|
-
}
|
|
1548
|
-
if (typeof toRender === "string") {
|
|
1549
|
-
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
1550
|
-
AssistantMessage2,
|
|
1551
|
-
{
|
|
1552
|
-
rawData: message,
|
|
1553
|
-
"data-message-role": "assistant",
|
|
1554
|
-
isLoading: false,
|
|
1555
|
-
isGenerating: false,
|
|
1556
|
-
message: toRender
|
|
1557
|
-
},
|
|
1558
|
-
index
|
|
1559
|
-
);
|
|
1560
|
-
} else {
|
|
1561
|
-
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
1562
|
-
AssistantMessage2,
|
|
1563
|
-
{
|
|
1564
|
-
rawData: message,
|
|
1565
|
-
"data-message-role": "action-render",
|
|
1566
|
-
isLoading: false,
|
|
1567
|
-
isGenerating: false,
|
|
1568
|
-
subComponent: toRender
|
|
1569
|
-
},
|
|
1570
|
-
index
|
|
1571
|
-
);
|
|
1572
|
-
}
|
|
1573
|
-
} catch (e) {
|
|
1574
|
-
console.error(`Error executing render function for action ${message.name}: ${e}`);
|
|
1575
|
-
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
1576
|
-
AssistantMessage2,
|
|
1577
|
-
{
|
|
1578
|
-
rawData: message,
|
|
1579
|
-
"data-message-role": "assistant",
|
|
1580
|
-
isLoading: false,
|
|
1581
|
-
isGenerating: false,
|
|
1582
|
-
subComponent: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "copilotKitMessage copilotKitAssistantMessage", children: [
|
|
1583
|
-
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("b", { children: [
|
|
1584
|
-
"\u274C Error executing render function for action ",
|
|
1585
|
-
message.name,
|
|
1586
|
-
":"
|
|
1587
|
-
] }),
|
|
1588
|
-
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("pre", { children: e instanceof Error ? e.message : String(e) })
|
|
1589
|
-
] })
|
|
1590
|
-
},
|
|
1591
|
-
index
|
|
1592
|
-
);
|
|
1593
|
-
}
|
|
1594
|
-
}
|
|
1595
|
-
} else if (!inProgress || !isCurrentMessage) {
|
|
1596
|
-
return null;
|
|
1597
|
-
} else {
|
|
1598
|
-
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
1599
|
-
AssistantMessage2,
|
|
1600
|
-
{
|
|
1601
|
-
rawData: message,
|
|
1602
|
-
"data-message-role": "assistant",
|
|
1603
|
-
isLoading: true,
|
|
1604
|
-
isGenerating: true
|
|
1605
|
-
},
|
|
1606
|
-
index
|
|
1607
|
-
);
|
|
1608
|
-
}
|
|
1609
|
-
}
|
|
1610
|
-
}
|
|
1611
|
-
|
|
1612
|
-
// src/components/chat/messages/RenderResultMessage.tsx
|
|
1613
|
-
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
1614
|
-
function RenderResultMessage(props) {
|
|
1615
|
-
const { message, inProgress, index, isCurrentMessage, AssistantMessage: AssistantMessage2 } = props;
|
|
1616
|
-
if (message.isResultMessage() && inProgress && isCurrentMessage) {
|
|
1617
|
-
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
1618
|
-
AssistantMessage2,
|
|
1619
|
-
{
|
|
1620
|
-
"data-message-role": "assistant",
|
|
1621
|
-
rawData: message,
|
|
1622
|
-
isLoading: true,
|
|
1623
|
-
isGenerating: true
|
|
1624
|
-
},
|
|
1625
|
-
index
|
|
1626
|
-
);
|
|
1627
|
-
} else {
|
|
1628
|
-
return null;
|
|
1629
|
-
}
|
|
1630
|
-
}
|
|
1631
|
-
|
|
1632
|
-
// src/components/chat/messages/RenderAgentStateMessage.tsx
|
|
1633
|
-
var import_react_core7 = require("@copilotkit/react-core");
|
|
1634
|
-
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
1635
|
-
function RenderAgentStateMessage(props) {
|
|
1636
|
-
const { chatComponentsCache } = (0, import_react_core7.useCopilotContext)();
|
|
1637
|
-
const { message, inProgress, index, isCurrentMessage, AssistantMessage: AssistantMessage2 } = props;
|
|
1638
|
-
if (message.isAgentStateMessage()) {
|
|
1639
|
-
let render;
|
|
1640
|
-
if (chatComponentsCache.current !== null) {
|
|
1641
|
-
render = chatComponentsCache.current.coAgentStateRenders[`${message.agentName}-${message.nodeName}`] || chatComponentsCache.current.coAgentStateRenders[`${message.agentName}-global`];
|
|
1642
|
-
}
|
|
1643
|
-
if (render) {
|
|
1644
|
-
if (typeof render === "string") {
|
|
1645
|
-
if (isCurrentMessage && inProgress) {
|
|
1646
|
-
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1647
|
-
AssistantMessage2,
|
|
1648
|
-
{
|
|
1649
|
-
rawData: message,
|
|
1650
|
-
message: render,
|
|
1651
|
-
"data-message-role": "assistant",
|
|
1652
|
-
isLoading: true,
|
|
1653
|
-
isGenerating: true
|
|
1654
|
-
},
|
|
1655
|
-
index
|
|
1656
|
-
);
|
|
1657
|
-
} else {
|
|
1658
|
-
return null;
|
|
1659
|
-
}
|
|
1660
|
-
} else {
|
|
1661
|
-
const state = message.state;
|
|
1662
|
-
let status = message.active ? "inProgress" : "complete";
|
|
1663
|
-
const toRender = render({
|
|
1664
|
-
status,
|
|
1665
|
-
state,
|
|
1666
|
-
nodeName: message.nodeName
|
|
1667
|
-
});
|
|
1668
|
-
if (!toRender && status === "complete") {
|
|
1669
|
-
return null;
|
|
1670
|
-
}
|
|
1671
|
-
if (!toRender && isCurrentMessage && inProgress) {
|
|
1672
|
-
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1673
|
-
AssistantMessage2,
|
|
1674
|
-
{
|
|
1675
|
-
"data-message-role": "assistant",
|
|
1676
|
-
rawData: message,
|
|
1677
|
-
isLoading: true,
|
|
1678
|
-
isGenerating: true
|
|
1679
|
-
},
|
|
1680
|
-
index
|
|
1681
|
-
);
|
|
1682
|
-
} else if (!toRender) {
|
|
1683
|
-
return null;
|
|
1684
|
-
}
|
|
1685
|
-
if (typeof toRender === "string") {
|
|
1686
|
-
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1687
|
-
AssistantMessage2,
|
|
1688
|
-
{
|
|
1689
|
-
rawData: message,
|
|
1690
|
-
message: toRender,
|
|
1691
|
-
isLoading: true,
|
|
1692
|
-
isGenerating: true,
|
|
1693
|
-
"data-message-role": "assistant"
|
|
1694
|
-
},
|
|
1695
|
-
index
|
|
1696
|
-
);
|
|
1697
|
-
} else {
|
|
1698
|
-
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1699
|
-
AssistantMessage2,
|
|
1700
|
-
{
|
|
1701
|
-
rawData: message,
|
|
1702
|
-
"data-message-role": "agent-state-render",
|
|
1703
|
-
isLoading: false,
|
|
1704
|
-
isGenerating: false,
|
|
1705
|
-
subComponent: toRender
|
|
1706
|
-
},
|
|
1707
|
-
index
|
|
1708
|
-
);
|
|
1709
|
-
}
|
|
1710
|
-
}
|
|
1711
|
-
} else if (!inProgress || !isCurrentMessage) {
|
|
1712
|
-
return null;
|
|
1713
|
-
} else {
|
|
1714
|
-
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
1715
|
-
AssistantMessage2,
|
|
1716
|
-
{
|
|
1717
|
-
rawData: message,
|
|
1718
|
-
isLoading: true,
|
|
1719
|
-
isGenerating: true,
|
|
1720
|
-
"data-message-role": "assistant"
|
|
1721
|
-
},
|
|
1722
|
-
index
|
|
1723
|
-
);
|
|
1724
|
-
}
|
|
1725
|
-
}
|
|
1726
|
-
}
|
|
1459
|
+
var UserMessage = (props) => {
|
|
1460
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "copilotKitMessage copilotKitUserMessage", children: props.message });
|
|
1461
|
+
};
|
|
1727
1462
|
|
|
1728
1463
|
// src/components/chat/Markdown.tsx
|
|
1729
1464
|
var import_react11 = require("react");
|
|
@@ -1756,7 +1491,7 @@ function useCopyToClipboard({ timeout = 2e3 }) {
|
|
|
1756
1491
|
}
|
|
1757
1492
|
|
|
1758
1493
|
// src/components/chat/CodeBlock.tsx
|
|
1759
|
-
var
|
|
1494
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
1760
1495
|
var programmingLanguages = {
|
|
1761
1496
|
javascript: ".js",
|
|
1762
1497
|
python: ".py",
|
|
@@ -1819,15 +1554,15 @@ var CodeBlock = (0, import_react10.memo)(({ language, value }) => {
|
|
|
1819
1554
|
return;
|
|
1820
1555
|
copyToClipboard(value);
|
|
1821
1556
|
};
|
|
1822
|
-
return /* @__PURE__ */ (0,
|
|
1823
|
-
/* @__PURE__ */ (0,
|
|
1824
|
-
/* @__PURE__ */ (0,
|
|
1825
|
-
/* @__PURE__ */ (0,
|
|
1826
|
-
/* @__PURE__ */ (0,
|
|
1827
|
-
/* @__PURE__ */ (0,
|
|
1557
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "copilotKitCodeBlock", children: [
|
|
1558
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "copilotKitCodeBlockToolbar", children: [
|
|
1559
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "copilotKitCodeBlockToolbarLanguage", children: language }),
|
|
1560
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "copilotKitCodeBlockToolbarButtons", children: [
|
|
1561
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("button", { className: "copilotKitCodeBlockToolbarButton", onClick: downloadAsFile, children: DownloadIcon }),
|
|
1562
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("button", { className: "copilotKitCodeBlockToolbarButton", onClick: onCopy, children: isCopied ? CheckIcon : CopyIcon })
|
|
1828
1563
|
] })
|
|
1829
1564
|
] }),
|
|
1830
|
-
/* @__PURE__ */ (0,
|
|
1565
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
1831
1566
|
import_react_syntax_highlighter.Prism,
|
|
1832
1567
|
{
|
|
1833
1568
|
language,
|
|
@@ -2130,18 +1865,18 @@ var highlightStyle = {
|
|
|
2130
1865
|
// src/components/chat/Markdown.tsx
|
|
2131
1866
|
var import_remark_gfm = __toESM(require("remark-gfm"));
|
|
2132
1867
|
var import_remark_math = __toESM(require("remark-math"));
|
|
2133
|
-
var
|
|
1868
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
2134
1869
|
var MemoizedReactMarkdown = (0, import_react11.memo)(
|
|
2135
1870
|
import_react_markdown.default,
|
|
2136
1871
|
(prevProps, nextProps) => prevProps.children === nextProps.children && prevProps.className === nextProps.className
|
|
2137
1872
|
);
|
|
2138
1873
|
var Markdown = ({ content }) => {
|
|
2139
|
-
return /* @__PURE__ */ (0,
|
|
1874
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "copilotKitMarkdown", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(MemoizedReactMarkdown, { components, remarkPlugins: [import_remark_gfm.default, import_remark_math.default], children: content }) });
|
|
2140
1875
|
};
|
|
2141
1876
|
var components = {
|
|
2142
1877
|
a(_a) {
|
|
2143
1878
|
var _b = _a, { children } = _b, props = __objRest(_b, ["children"]);
|
|
2144
|
-
return /* @__PURE__ */ (0,
|
|
1879
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
2145
1880
|
"a",
|
|
2146
1881
|
__spreadProps(__spreadValues({
|
|
2147
1882
|
style: { color: "blue", textDecoration: "underline" }
|
|
@@ -2156,7 +1891,7 @@ var components = {
|
|
|
2156
1891
|
var _d = _c, { children, className, inline } = _d, props = __objRest(_d, ["children", "className", "inline"]);
|
|
2157
1892
|
if (children.length) {
|
|
2158
1893
|
if (children[0] == "\u258D") {
|
|
2159
|
-
return /* @__PURE__ */ (0,
|
|
1894
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
2160
1895
|
"span",
|
|
2161
1896
|
{
|
|
2162
1897
|
style: {
|
|
@@ -2171,9 +1906,9 @@ var components = {
|
|
|
2171
1906
|
}
|
|
2172
1907
|
const match = /language-(\w+)/.exec(className || "");
|
|
2173
1908
|
if (inline) {
|
|
2174
|
-
return /* @__PURE__ */ (0,
|
|
1909
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("code", __spreadProps(__spreadValues({ className }, props), { children }));
|
|
2175
1910
|
}
|
|
2176
|
-
return /* @__PURE__ */ (0,
|
|
1911
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
2177
1912
|
CodeBlock,
|
|
2178
1913
|
__spreadValues({
|
|
2179
1914
|
language: match && match[1] || "",
|
|
@@ -2186,7 +1921,7 @@ var components = {
|
|
|
2186
1921
|
|
|
2187
1922
|
// src/components/chat/messages/AssistantMessage.tsx
|
|
2188
1923
|
var import_react12 = require("react");
|
|
2189
|
-
var
|
|
1924
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
2190
1925
|
var AssistantMessage = (props) => {
|
|
2191
1926
|
const { icons, labels } = useChatContext();
|
|
2192
1927
|
const {
|
|
@@ -2227,17 +1962,17 @@ var AssistantMessage = (props) => {
|
|
|
2227
1962
|
onThumbsDown(message);
|
|
2228
1963
|
}
|
|
2229
1964
|
};
|
|
2230
|
-
const LoadingIcon = () => /* @__PURE__ */ (0,
|
|
2231
|
-
return /* @__PURE__ */ (0,
|
|
2232
|
-
(message || isLoading) && /* @__PURE__ */ (0,
|
|
2233
|
-
message && /* @__PURE__ */ (0,
|
|
2234
|
-
isLoading && /* @__PURE__ */ (0,
|
|
2235
|
-
message && !isLoading && /* @__PURE__ */ (0,
|
|
1965
|
+
const LoadingIcon = () => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { children: icons.activityIcon });
|
|
1966
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_jsx_runtime16.Fragment, { children: [
|
|
1967
|
+
(message || isLoading) && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "copilotKitMessage copilotKitAssistantMessage", children: [
|
|
1968
|
+
message && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Markdown, { content: message || "" }),
|
|
1969
|
+
isLoading && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(LoadingIcon, {}),
|
|
1970
|
+
message && !isLoading && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
|
|
2236
1971
|
"div",
|
|
2237
1972
|
{
|
|
2238
1973
|
className: `copilotKitMessageControls ${isCurrentMessage ? "currentMessage" : ""}`,
|
|
2239
1974
|
children: [
|
|
2240
|
-
/* @__PURE__ */ (0,
|
|
1975
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
2241
1976
|
"button",
|
|
2242
1977
|
{
|
|
2243
1978
|
className: "copilotKitMessageControlButton",
|
|
@@ -2247,17 +1982,17 @@ var AssistantMessage = (props) => {
|
|
|
2247
1982
|
children: icons.regenerateIcon
|
|
2248
1983
|
}
|
|
2249
1984
|
),
|
|
2250
|
-
/* @__PURE__ */ (0,
|
|
1985
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
2251
1986
|
"button",
|
|
2252
1987
|
{
|
|
2253
1988
|
className: "copilotKitMessageControlButton",
|
|
2254
1989
|
onClick: handleCopy,
|
|
2255
1990
|
"aria-label": labels.copyToClipboard,
|
|
2256
1991
|
title: labels.copyToClipboard,
|
|
2257
|
-
children: copied ? /* @__PURE__ */ (0,
|
|
1992
|
+
children: copied ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { style: { fontSize: "10px", fontWeight: "bold" }, children: "\u2713" }) : icons.copyIcon
|
|
2258
1993
|
}
|
|
2259
1994
|
),
|
|
2260
|
-
onThumbsUp && /* @__PURE__ */ (0,
|
|
1995
|
+
onThumbsUp && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
2261
1996
|
"button",
|
|
2262
1997
|
{
|
|
2263
1998
|
className: "copilotKitMessageControlButton",
|
|
@@ -2267,7 +2002,7 @@ var AssistantMessage = (props) => {
|
|
|
2267
2002
|
children: icons.thumbsUpIcon
|
|
2268
2003
|
}
|
|
2269
2004
|
),
|
|
2270
|
-
onThumbsDown && /* @__PURE__ */ (0,
|
|
2005
|
+
onThumbsDown && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
2271
2006
|
"button",
|
|
2272
2007
|
{
|
|
2273
2008
|
className: "copilotKitMessageControlButton",
|
|
@@ -2281,15 +2016,300 @@ var AssistantMessage = (props) => {
|
|
|
2281
2016
|
}
|
|
2282
2017
|
)
|
|
2283
2018
|
] }),
|
|
2284
|
-
/* @__PURE__ */ (0,
|
|
2019
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { style: { marginBottom: "0.5rem" }, children: subComponent })
|
|
2285
2020
|
] });
|
|
2286
2021
|
};
|
|
2287
2022
|
|
|
2288
|
-
// src/components/chat/messages/
|
|
2023
|
+
// src/components/chat/messages/RenderTextMessage.tsx
|
|
2024
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
2025
|
+
function RenderTextMessage(_a) {
|
|
2026
|
+
var _b = _a, {
|
|
2027
|
+
UserMessage: UserMessage2 = UserMessage,
|
|
2028
|
+
AssistantMessage: AssistantMessage2 = AssistantMessage
|
|
2029
|
+
} = _b, props = __objRest(_b, [
|
|
2030
|
+
"UserMessage",
|
|
2031
|
+
"AssistantMessage"
|
|
2032
|
+
]);
|
|
2033
|
+
const {
|
|
2034
|
+
message,
|
|
2035
|
+
inProgress,
|
|
2036
|
+
index,
|
|
2037
|
+
isCurrentMessage,
|
|
2038
|
+
onRegenerate,
|
|
2039
|
+
onCopy,
|
|
2040
|
+
onThumbsUp,
|
|
2041
|
+
onThumbsDown
|
|
2042
|
+
} = props;
|
|
2043
|
+
if (message.isTextMessage()) {
|
|
2044
|
+
if (message.role === "user") {
|
|
2045
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
2046
|
+
UserMessage2,
|
|
2047
|
+
{
|
|
2048
|
+
"data-message-role": "user",
|
|
2049
|
+
message: message.content,
|
|
2050
|
+
rawData: message
|
|
2051
|
+
},
|
|
2052
|
+
index
|
|
2053
|
+
);
|
|
2054
|
+
} else if (message.role == "assistant") {
|
|
2055
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
2056
|
+
AssistantMessage2,
|
|
2057
|
+
{
|
|
2058
|
+
"data-message-role": "assistant",
|
|
2059
|
+
message: message.content,
|
|
2060
|
+
rawData: message,
|
|
2061
|
+
isLoading: inProgress && isCurrentMessage && !message.content,
|
|
2062
|
+
isGenerating: inProgress && isCurrentMessage && !!message.content,
|
|
2063
|
+
isCurrentMessage,
|
|
2064
|
+
onRegenerate: () => onRegenerate == null ? void 0 : onRegenerate(message.id),
|
|
2065
|
+
onCopy,
|
|
2066
|
+
onThumbsUp,
|
|
2067
|
+
onThumbsDown
|
|
2068
|
+
},
|
|
2069
|
+
index
|
|
2070
|
+
);
|
|
2071
|
+
}
|
|
2072
|
+
}
|
|
2073
|
+
}
|
|
2074
|
+
|
|
2075
|
+
// src/components/chat/messages/RenderActionExecutionMessage.tsx
|
|
2076
|
+
var import_runtime_client_gql2 = require("@copilotkit/runtime-client-gql");
|
|
2077
|
+
var import_react_core6 = require("@copilotkit/react-core");
|
|
2078
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
2079
|
+
function RenderActionExecutionMessage(_a) {
|
|
2080
|
+
var _b = _a, {
|
|
2081
|
+
AssistantMessage: AssistantMessage2 = AssistantMessage
|
|
2082
|
+
} = _b, props = __objRest(_b, [
|
|
2083
|
+
"AssistantMessage"
|
|
2084
|
+
]);
|
|
2085
|
+
const { chatComponentsCache } = (0, import_react_core6.useCopilotContext)();
|
|
2086
|
+
const { message, inProgress, index, isCurrentMessage, actionResult } = props;
|
|
2087
|
+
if (message.isActionExecutionMessage()) {
|
|
2088
|
+
if (chatComponentsCache.current !== null && (chatComponentsCache.current.actions[message.name] || chatComponentsCache.current.actions["*"])) {
|
|
2089
|
+
const render = chatComponentsCache.current.actions[message.name] || chatComponentsCache.current.actions["*"];
|
|
2090
|
+
if (typeof render === "string") {
|
|
2091
|
+
if (isCurrentMessage && inProgress) {
|
|
2092
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
2093
|
+
AssistantMessage2,
|
|
2094
|
+
{
|
|
2095
|
+
rawData: message,
|
|
2096
|
+
"data-message-role": "assistant",
|
|
2097
|
+
isLoading: false,
|
|
2098
|
+
isGenerating: true,
|
|
2099
|
+
message: render
|
|
2100
|
+
},
|
|
2101
|
+
index
|
|
2102
|
+
);
|
|
2103
|
+
} else {
|
|
2104
|
+
return null;
|
|
2105
|
+
}
|
|
2106
|
+
} else {
|
|
2107
|
+
const args = message.arguments;
|
|
2108
|
+
let status = "inProgress";
|
|
2109
|
+
if (actionResult !== void 0) {
|
|
2110
|
+
status = "complete";
|
|
2111
|
+
} else if (message.status.code !== import_runtime_client_gql2.MessageStatusCode.Pending) {
|
|
2112
|
+
status = "executing";
|
|
2113
|
+
}
|
|
2114
|
+
try {
|
|
2115
|
+
const toRender = render({
|
|
2116
|
+
status,
|
|
2117
|
+
args,
|
|
2118
|
+
result: actionResult,
|
|
2119
|
+
name: message.name
|
|
2120
|
+
});
|
|
2121
|
+
if (!toRender && status === "complete") {
|
|
2122
|
+
return null;
|
|
2123
|
+
}
|
|
2124
|
+
if (typeof toRender === "string") {
|
|
2125
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
2126
|
+
AssistantMessage2,
|
|
2127
|
+
{
|
|
2128
|
+
rawData: message,
|
|
2129
|
+
"data-message-role": "assistant",
|
|
2130
|
+
isLoading: false,
|
|
2131
|
+
isGenerating: false,
|
|
2132
|
+
message: toRender
|
|
2133
|
+
},
|
|
2134
|
+
index
|
|
2135
|
+
);
|
|
2136
|
+
} else {
|
|
2137
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
2138
|
+
AssistantMessage2,
|
|
2139
|
+
{
|
|
2140
|
+
rawData: message,
|
|
2141
|
+
"data-message-role": "action-render",
|
|
2142
|
+
isLoading: false,
|
|
2143
|
+
isGenerating: false,
|
|
2144
|
+
subComponent: toRender
|
|
2145
|
+
},
|
|
2146
|
+
index
|
|
2147
|
+
);
|
|
2148
|
+
}
|
|
2149
|
+
} catch (e) {
|
|
2150
|
+
console.error(`Error executing render function for action ${message.name}: ${e}`);
|
|
2151
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
2152
|
+
AssistantMessage2,
|
|
2153
|
+
{
|
|
2154
|
+
rawData: message,
|
|
2155
|
+
"data-message-role": "assistant",
|
|
2156
|
+
isLoading: false,
|
|
2157
|
+
isGenerating: false,
|
|
2158
|
+
subComponent: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "copilotKitMessage copilotKitAssistantMessage", children: [
|
|
2159
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("b", { children: [
|
|
2160
|
+
"\u274C Error executing render function for action ",
|
|
2161
|
+
message.name,
|
|
2162
|
+
":"
|
|
2163
|
+
] }),
|
|
2164
|
+
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("pre", { children: e instanceof Error ? e.message : String(e) })
|
|
2165
|
+
] })
|
|
2166
|
+
},
|
|
2167
|
+
index
|
|
2168
|
+
);
|
|
2169
|
+
}
|
|
2170
|
+
}
|
|
2171
|
+
} else if (!inProgress || !isCurrentMessage) {
|
|
2172
|
+
return null;
|
|
2173
|
+
} else {
|
|
2174
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
2175
|
+
AssistantMessage2,
|
|
2176
|
+
{
|
|
2177
|
+
rawData: message,
|
|
2178
|
+
"data-message-role": "assistant",
|
|
2179
|
+
isLoading: true,
|
|
2180
|
+
isGenerating: true
|
|
2181
|
+
},
|
|
2182
|
+
index
|
|
2183
|
+
);
|
|
2184
|
+
}
|
|
2185
|
+
}
|
|
2186
|
+
}
|
|
2187
|
+
|
|
2188
|
+
// src/components/chat/messages/RenderResultMessage.tsx
|
|
2189
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
2190
|
+
function RenderResultMessage(_a) {
|
|
2191
|
+
var _b = _a, {
|
|
2192
|
+
AssistantMessage: AssistantMessage2 = AssistantMessage
|
|
2193
|
+
} = _b, props = __objRest(_b, [
|
|
2194
|
+
"AssistantMessage"
|
|
2195
|
+
]);
|
|
2196
|
+
const { message, inProgress, index, isCurrentMessage } = props;
|
|
2197
|
+
if (message.isResultMessage() && inProgress && isCurrentMessage) {
|
|
2198
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
2199
|
+
AssistantMessage2,
|
|
2200
|
+
{
|
|
2201
|
+
"data-message-role": "assistant",
|
|
2202
|
+
rawData: message,
|
|
2203
|
+
isLoading: true,
|
|
2204
|
+
isGenerating: true
|
|
2205
|
+
},
|
|
2206
|
+
index
|
|
2207
|
+
);
|
|
2208
|
+
} else {
|
|
2209
|
+
return null;
|
|
2210
|
+
}
|
|
2211
|
+
}
|
|
2212
|
+
|
|
2213
|
+
// src/components/chat/messages/RenderAgentStateMessage.tsx
|
|
2214
|
+
var import_react_core7 = require("@copilotkit/react-core");
|
|
2289
2215
|
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
2290
|
-
|
|
2291
|
-
|
|
2292
|
-
|
|
2216
|
+
function RenderAgentStateMessage(_a) {
|
|
2217
|
+
var _b = _a, {
|
|
2218
|
+
AssistantMessage: AssistantMessage2 = AssistantMessage
|
|
2219
|
+
} = _b, props = __objRest(_b, [
|
|
2220
|
+
"AssistantMessage"
|
|
2221
|
+
]);
|
|
2222
|
+
const { chatComponentsCache } = (0, import_react_core7.useCopilotContext)();
|
|
2223
|
+
const { message, inProgress, index, isCurrentMessage } = props;
|
|
2224
|
+
if (message.isAgentStateMessage()) {
|
|
2225
|
+
let render;
|
|
2226
|
+
if (chatComponentsCache.current !== null) {
|
|
2227
|
+
render = chatComponentsCache.current.coAgentStateRenders[`${message.agentName}-${message.nodeName}`] || chatComponentsCache.current.coAgentStateRenders[`${message.agentName}-global`];
|
|
2228
|
+
}
|
|
2229
|
+
if (render) {
|
|
2230
|
+
if (typeof render === "string") {
|
|
2231
|
+
if (isCurrentMessage && inProgress) {
|
|
2232
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
2233
|
+
AssistantMessage2,
|
|
2234
|
+
{
|
|
2235
|
+
rawData: message,
|
|
2236
|
+
message: render,
|
|
2237
|
+
"data-message-role": "assistant",
|
|
2238
|
+
isLoading: true,
|
|
2239
|
+
isGenerating: true
|
|
2240
|
+
},
|
|
2241
|
+
index
|
|
2242
|
+
);
|
|
2243
|
+
} else {
|
|
2244
|
+
return null;
|
|
2245
|
+
}
|
|
2246
|
+
} else {
|
|
2247
|
+
const state = message.state;
|
|
2248
|
+
let status = message.active ? "inProgress" : "complete";
|
|
2249
|
+
const toRender = render({
|
|
2250
|
+
status,
|
|
2251
|
+
state,
|
|
2252
|
+
nodeName: message.nodeName
|
|
2253
|
+
});
|
|
2254
|
+
if (!toRender && status === "complete") {
|
|
2255
|
+
return null;
|
|
2256
|
+
}
|
|
2257
|
+
if (!toRender && isCurrentMessage && inProgress) {
|
|
2258
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
2259
|
+
AssistantMessage2,
|
|
2260
|
+
{
|
|
2261
|
+
"data-message-role": "assistant",
|
|
2262
|
+
rawData: message,
|
|
2263
|
+
isLoading: true,
|
|
2264
|
+
isGenerating: true
|
|
2265
|
+
},
|
|
2266
|
+
index
|
|
2267
|
+
);
|
|
2268
|
+
} else if (!toRender) {
|
|
2269
|
+
return null;
|
|
2270
|
+
}
|
|
2271
|
+
if (typeof toRender === "string") {
|
|
2272
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
2273
|
+
AssistantMessage2,
|
|
2274
|
+
{
|
|
2275
|
+
rawData: message,
|
|
2276
|
+
message: toRender,
|
|
2277
|
+
isLoading: true,
|
|
2278
|
+
isGenerating: true,
|
|
2279
|
+
"data-message-role": "assistant"
|
|
2280
|
+
},
|
|
2281
|
+
index
|
|
2282
|
+
);
|
|
2283
|
+
} else {
|
|
2284
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
2285
|
+
AssistantMessage2,
|
|
2286
|
+
{
|
|
2287
|
+
rawData: message,
|
|
2288
|
+
"data-message-role": "agent-state-render",
|
|
2289
|
+
isLoading: false,
|
|
2290
|
+
isGenerating: false,
|
|
2291
|
+
subComponent: toRender
|
|
2292
|
+
},
|
|
2293
|
+
index
|
|
2294
|
+
);
|
|
2295
|
+
}
|
|
2296
|
+
}
|
|
2297
|
+
} else if (!inProgress || !isCurrentMessage) {
|
|
2298
|
+
return null;
|
|
2299
|
+
} else {
|
|
2300
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
2301
|
+
AssistantMessage2,
|
|
2302
|
+
{
|
|
2303
|
+
rawData: message,
|
|
2304
|
+
isLoading: true,
|
|
2305
|
+
isGenerating: true,
|
|
2306
|
+
"data-message-role": "assistant"
|
|
2307
|
+
},
|
|
2308
|
+
index
|
|
2309
|
+
);
|
|
2310
|
+
}
|
|
2311
|
+
}
|
|
2312
|
+
}
|
|
2293
2313
|
|
|
2294
2314
|
// src/components/chat/Suggestion.tsx
|
|
2295
2315
|
var import_react_core8 = require("@copilotkit/react-core");
|
|
@@ -2441,11 +2461,11 @@ function CopilotChat({
|
|
|
2441
2461
|
);
|
|
2442
2462
|
const chatContext = import_react13.default.useContext(ChatContext);
|
|
2443
2463
|
const isVisible = chatContext ? chatContext.open : true;
|
|
2444
|
-
const handleRegenerate = () => {
|
|
2464
|
+
const handleRegenerate = (messageId) => {
|
|
2445
2465
|
if (onRegenerate) {
|
|
2446
|
-
onRegenerate();
|
|
2466
|
+
onRegenerate(messageId);
|
|
2447
2467
|
}
|
|
2448
|
-
reloadMessages();
|
|
2468
|
+
reloadMessages(messageId);
|
|
2449
2469
|
};
|
|
2450
2470
|
const handleCopy = (message) => {
|
|
2451
2471
|
if (onCopy) {
|
|
@@ -2637,7 +2657,7 @@ var useCopilotChatLogic = (makeSystemMessage, onInProgress, onSubmitMessage, onS
|
|
|
2637
2657
|
defaultStopGeneration();
|
|
2638
2658
|
}
|
|
2639
2659
|
}
|
|
2640
|
-
function reloadMessages() {
|
|
2660
|
+
function reloadMessages(messageId) {
|
|
2641
2661
|
if (onReloadMessages) {
|
|
2642
2662
|
onReloadMessages({
|
|
2643
2663
|
messages,
|
|
@@ -2647,10 +2667,11 @@ var useCopilotChatLogic = (makeSystemMessage, onInProgress, onSubmitMessage, onS
|
|
|
2647
2667
|
restartCurrentAgent,
|
|
2648
2668
|
stopCurrentAgent,
|
|
2649
2669
|
runCurrentAgent,
|
|
2650
|
-
setCurrentAgentState
|
|
2670
|
+
setCurrentAgentState,
|
|
2671
|
+
messageId
|
|
2651
2672
|
});
|
|
2652
2673
|
} else {
|
|
2653
|
-
defaultReloadMessages();
|
|
2674
|
+
defaultReloadMessages(messageId);
|
|
2654
2675
|
}
|
|
2655
2676
|
}
|
|
2656
2677
|
return {
|