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