@copilotkit/react-ui 1.8.4 → 1.8.5-next.0

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.
Files changed (66) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/{chunk-LGMQR7XG.mjs → chunk-4LA24FID.mjs} +2 -2
  3. package/dist/{chunk-QTD2KREC.mjs → chunk-6YTN3554.mjs} +2 -2
  4. package/dist/{chunk-6F2ZAK7T.mjs → chunk-AENUXMIK.mjs} +2 -2
  5. package/dist/{chunk-7RIBDD4K.mjs → chunk-GOJ36LAI.mjs} +21 -6
  6. package/dist/chunk-GOJ36LAI.mjs.map +1 -0
  7. package/dist/{chunk-XB6QCUPB.mjs → chunk-NMNC4ROZ.mjs} +20 -8
  8. package/dist/chunk-NMNC4ROZ.mjs.map +1 -0
  9. package/dist/{chunk-UWWMAJ7R.mjs → chunk-Q2YY2NX3.mjs} +20 -8
  10. package/dist/chunk-Q2YY2NX3.mjs.map +1 -0
  11. package/dist/{chunk-7EDMOLGH.mjs → chunk-T2MTGCY3.mjs} +8 -8
  12. package/dist/{chunk-WEYDZBT7.mjs → chunk-WNC6OCIB.mjs} +16 -4
  13. package/dist/chunk-WNC6OCIB.mjs.map +1 -0
  14. package/dist/components/chat/Chat.js +320 -300
  15. package/dist/components/chat/Chat.js.map +1 -1
  16. package/dist/components/chat/Chat.mjs +5 -5
  17. package/dist/components/chat/Modal.js +320 -300
  18. package/dist/components/chat/Modal.js.map +1 -1
  19. package/dist/components/chat/Modal.mjs +6 -6
  20. package/dist/components/chat/Popup.js +320 -300
  21. package/dist/components/chat/Popup.js.map +1 -1
  22. package/dist/components/chat/Popup.mjs +7 -7
  23. package/dist/components/chat/Sidebar.js +320 -300
  24. package/dist/components/chat/Sidebar.js.map +1 -1
  25. package/dist/components/chat/Sidebar.mjs +7 -7
  26. package/dist/components/chat/index.js +320 -300
  27. package/dist/components/chat/index.js.map +1 -1
  28. package/dist/components/chat/index.mjs +8 -8
  29. package/dist/components/chat/messages/RenderActionExecutionMessage.d.ts +1 -1
  30. package/dist/components/chat/messages/RenderActionExecutionMessage.js +696 -15
  31. package/dist/components/chat/messages/RenderActionExecutionMessage.js.map +1 -1
  32. package/dist/components/chat/messages/RenderActionExecutionMessage.mjs +7 -1
  33. package/dist/components/chat/messages/RenderAgentStateMessage.d.ts +1 -1
  34. package/dist/components/chat/messages/RenderAgentStateMessage.js +693 -12
  35. package/dist/components/chat/messages/RenderAgentStateMessage.js.map +1 -1
  36. package/dist/components/chat/messages/RenderAgentStateMessage.mjs +7 -1
  37. package/dist/components/chat/messages/RenderResultMessage.d.ts +1 -1
  38. package/dist/components/chat/messages/RenderResultMessage.js +685 -4
  39. package/dist/components/chat/messages/RenderResultMessage.js.map +1 -1
  40. package/dist/components/chat/messages/RenderResultMessage.mjs +7 -1
  41. package/dist/components/chat/messages/RenderTextMessage.d.ts +1 -1
  42. package/dist/components/chat/messages/RenderTextMessage.js +694 -7
  43. package/dist/components/chat/messages/RenderTextMessage.js.map +1 -1
  44. package/dist/components/chat/messages/RenderTextMessage.mjs +8 -1
  45. package/dist/components/chat/props.d.ts +2 -2
  46. package/dist/components/chat/props.js.map +1 -1
  47. package/dist/components/index.js +320 -300
  48. package/dist/components/index.js.map +1 -1
  49. package/dist/components/index.mjs +8 -8
  50. package/dist/index.js +320 -300
  51. package/dist/index.js.map +1 -1
  52. package/dist/index.mjs +8 -8
  53. package/package.json +6 -6
  54. package/src/components/chat/messages/RenderActionExecutionMessage.tsx +6 -2
  55. package/src/components/chat/messages/RenderAgentStateMessage.tsx +6 -2
  56. package/src/components/chat/messages/RenderResultMessage.tsx +6 -2
  57. package/src/components/chat/messages/RenderTextMessage.tsx +7 -3
  58. package/src/components/chat/props.ts +2 -2
  59. package/dist/chunk-7RIBDD4K.mjs.map +0 -1
  60. package/dist/chunk-UWWMAJ7R.mjs.map +0 -1
  61. package/dist/chunk-WEYDZBT7.mjs.map +0 -1
  62. package/dist/chunk-XB6QCUPB.mjs.map +0 -1
  63. /package/dist/{chunk-LGMQR7XG.mjs.map → chunk-4LA24FID.mjs.map} +0 -0
  64. /package/dist/{chunk-QTD2KREC.mjs.map → chunk-6YTN3554.mjs.map} +0 -0
  65. /package/dist/{chunk-6F2ZAK7T.mjs.map → chunk-AENUXMIK.mjs.map} +0 -0
  66. /package/dist/{chunk-7EDMOLGH.mjs.map → chunk-T2MTGCY3.mjs.map} +0 -0
@@ -1460,276 +1460,11 @@ var Input = ({ inProgress, onSend, isVisible = false, onStop }) => {
1460
1460
  ] }) });
1461
1461
  };
1462
1462
 
1463
- // src/components/chat/messages/RenderTextMessage.tsx
1463
+ // src/components/chat/messages/UserMessage.tsx
1464
1464
  var import_jsx_runtime13 = require("react/jsx-runtime");
1465
- function RenderTextMessage(props) {
1466
- const {
1467
- message,
1468
- inProgress,
1469
- index,
1470
- isCurrentMessage,
1471
- UserMessage: UserMessage2,
1472
- AssistantMessage: AssistantMessage2,
1473
- onRegenerate,
1474
- onCopy,
1475
- onThumbsUp,
1476
- onThumbsDown
1477
- } = props;
1478
- if (message.isTextMessage()) {
1479
- if (message.role === "user") {
1480
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1481
- UserMessage2,
1482
- {
1483
- "data-message-role": "user",
1484
- message: message.content,
1485
- rawData: message
1486
- },
1487
- index
1488
- );
1489
- } else if (message.role == "assistant") {
1490
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1491
- AssistantMessage2,
1492
- {
1493
- "data-message-role": "assistant",
1494
- message: message.content,
1495
- rawData: message,
1496
- isLoading: inProgress && isCurrentMessage && !message.content,
1497
- isGenerating: inProgress && isCurrentMessage && !!message.content,
1498
- isCurrentMessage,
1499
- onRegenerate,
1500
- onCopy,
1501
- onThumbsUp,
1502
- onThumbsDown
1503
- },
1504
- index
1505
- );
1506
- }
1507
- }
1508
- }
1509
-
1510
- // src/components/chat/messages/RenderActionExecutionMessage.tsx
1511
- var import_runtime_client_gql2 = require("@copilotkit/runtime-client-gql");
1512
- var import_react_core6 = require("@copilotkit/react-core");
1513
- var import_jsx_runtime14 = require("react/jsx-runtime");
1514
- function RenderActionExecutionMessage(props) {
1515
- const { chatComponentsCache } = (0, import_react_core6.useCopilotContext)();
1516
- const { message, inProgress, index, isCurrentMessage, actionResult, AssistantMessage: AssistantMessage2 } = props;
1517
- if (message.isActionExecutionMessage()) {
1518
- if (chatComponentsCache.current !== null && (chatComponentsCache.current.actions[message.name] || chatComponentsCache.current.actions["*"])) {
1519
- const render = chatComponentsCache.current.actions[message.name] || chatComponentsCache.current.actions["*"];
1520
- if (typeof render === "string") {
1521
- if (isCurrentMessage && inProgress) {
1522
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1523
- AssistantMessage2,
1524
- {
1525
- rawData: message,
1526
- "data-message-role": "assistant",
1527
- isLoading: false,
1528
- isGenerating: true,
1529
- message: render
1530
- },
1531
- index
1532
- );
1533
- } else {
1534
- return null;
1535
- }
1536
- } else {
1537
- const args = message.arguments;
1538
- let status = "inProgress";
1539
- if (actionResult !== void 0) {
1540
- status = "complete";
1541
- } else if (message.status.code !== import_runtime_client_gql2.MessageStatusCode.Pending) {
1542
- status = "executing";
1543
- }
1544
- try {
1545
- const toRender = render({
1546
- status,
1547
- args,
1548
- result: actionResult,
1549
- name: message.name
1550
- });
1551
- if (!toRender && status === "complete") {
1552
- return null;
1553
- }
1554
- if (typeof toRender === "string") {
1555
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1556
- AssistantMessage2,
1557
- {
1558
- rawData: message,
1559
- "data-message-role": "assistant",
1560
- isLoading: false,
1561
- isGenerating: false,
1562
- message: toRender
1563
- },
1564
- index
1565
- );
1566
- } else {
1567
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1568
- AssistantMessage2,
1569
- {
1570
- rawData: message,
1571
- "data-message-role": "action-render",
1572
- isLoading: false,
1573
- isGenerating: false,
1574
- subComponent: toRender
1575
- },
1576
- index
1577
- );
1578
- }
1579
- } catch (e) {
1580
- console.error(`Error executing render function for action ${message.name}: ${e}`);
1581
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1582
- AssistantMessage2,
1583
- {
1584
- rawData: message,
1585
- "data-message-role": "assistant",
1586
- isLoading: false,
1587
- isGenerating: false,
1588
- subComponent: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "copilotKitMessage copilotKitAssistantMessage", children: [
1589
- /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("b", { children: [
1590
- "\u274C Error executing render function for action ",
1591
- message.name,
1592
- ":"
1593
- ] }),
1594
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("pre", { children: e instanceof Error ? e.message : String(e) })
1595
- ] })
1596
- },
1597
- index
1598
- );
1599
- }
1600
- }
1601
- } else if (!inProgress || !isCurrentMessage) {
1602
- return null;
1603
- } else {
1604
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1605
- AssistantMessage2,
1606
- {
1607
- rawData: message,
1608
- "data-message-role": "assistant",
1609
- isLoading: true,
1610
- isGenerating: true
1611
- },
1612
- index
1613
- );
1614
- }
1615
- }
1616
- }
1617
-
1618
- // src/components/chat/messages/RenderResultMessage.tsx
1619
- var import_jsx_runtime15 = require("react/jsx-runtime");
1620
- function RenderResultMessage(props) {
1621
- const { message, inProgress, index, isCurrentMessage, AssistantMessage: AssistantMessage2 } = props;
1622
- if (message.isResultMessage() && inProgress && isCurrentMessage) {
1623
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1624
- AssistantMessage2,
1625
- {
1626
- "data-message-role": "assistant",
1627
- rawData: message,
1628
- isLoading: true,
1629
- isGenerating: true
1630
- },
1631
- index
1632
- );
1633
- } else {
1634
- return null;
1635
- }
1636
- }
1637
-
1638
- // src/components/chat/messages/RenderAgentStateMessage.tsx
1639
- var import_react_core7 = require("@copilotkit/react-core");
1640
- var import_jsx_runtime16 = require("react/jsx-runtime");
1641
- function RenderAgentStateMessage(props) {
1642
- const { chatComponentsCache } = (0, import_react_core7.useCopilotContext)();
1643
- const { message, inProgress, index, isCurrentMessage, AssistantMessage: AssistantMessage2 } = props;
1644
- if (message.isAgentStateMessage()) {
1645
- let render;
1646
- if (chatComponentsCache.current !== null) {
1647
- render = chatComponentsCache.current.coAgentStateRenders[`${message.agentName}-${message.nodeName}`] || chatComponentsCache.current.coAgentStateRenders[`${message.agentName}-global`];
1648
- }
1649
- if (render) {
1650
- if (typeof render === "string") {
1651
- if (isCurrentMessage && inProgress) {
1652
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1653
- AssistantMessage2,
1654
- {
1655
- rawData: message,
1656
- message: render,
1657
- "data-message-role": "assistant",
1658
- isLoading: true,
1659
- isGenerating: true
1660
- },
1661
- index
1662
- );
1663
- } else {
1664
- return null;
1665
- }
1666
- } else {
1667
- const state = message.state;
1668
- let status = message.active ? "inProgress" : "complete";
1669
- const toRender = render({
1670
- status,
1671
- state,
1672
- nodeName: message.nodeName
1673
- });
1674
- if (!toRender && status === "complete") {
1675
- return null;
1676
- }
1677
- if (!toRender && isCurrentMessage && inProgress) {
1678
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1679
- AssistantMessage2,
1680
- {
1681
- "data-message-role": "assistant",
1682
- rawData: message,
1683
- isLoading: true,
1684
- isGenerating: true
1685
- },
1686
- index
1687
- );
1688
- } else if (!toRender) {
1689
- return null;
1690
- }
1691
- if (typeof toRender === "string") {
1692
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1693
- AssistantMessage2,
1694
- {
1695
- rawData: message,
1696
- message: toRender,
1697
- isLoading: true,
1698
- isGenerating: true,
1699
- "data-message-role": "assistant"
1700
- },
1701
- index
1702
- );
1703
- } else {
1704
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1705
- AssistantMessage2,
1706
- {
1707
- rawData: message,
1708
- "data-message-role": "agent-state-render",
1709
- isLoading: false,
1710
- isGenerating: false,
1711
- subComponent: toRender
1712
- },
1713
- index
1714
- );
1715
- }
1716
- }
1717
- } else if (!inProgress || !isCurrentMessage) {
1718
- return null;
1719
- } else {
1720
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1721
- AssistantMessage2,
1722
- {
1723
- rawData: message,
1724
- isLoading: true,
1725
- isGenerating: true,
1726
- "data-message-role": "assistant"
1727
- },
1728
- index
1729
- );
1730
- }
1731
- }
1732
- }
1465
+ var UserMessage = (props) => {
1466
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "copilotKitMessage copilotKitUserMessage", children: props.message });
1467
+ };
1733
1468
 
1734
1469
  // src/components/chat/Markdown.tsx
1735
1470
  var import_react11 = require("react");
@@ -1762,7 +1497,7 @@ function useCopyToClipboard({ timeout = 2e3 }) {
1762
1497
  }
1763
1498
 
1764
1499
  // src/components/chat/CodeBlock.tsx
1765
- var import_jsx_runtime17 = require("react/jsx-runtime");
1500
+ var import_jsx_runtime14 = require("react/jsx-runtime");
1766
1501
  var programmingLanguages = {
1767
1502
  javascript: ".js",
1768
1503
  python: ".py",
@@ -1825,15 +1560,15 @@ var CodeBlock = (0, import_react10.memo)(({ language, value }) => {
1825
1560
  return;
1826
1561
  copyToClipboard(value);
1827
1562
  };
1828
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "copilotKitCodeBlock", children: [
1829
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "copilotKitCodeBlockToolbar", children: [
1830
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: "copilotKitCodeBlockToolbarLanguage", children: language }),
1831
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "copilotKitCodeBlockToolbarButtons", children: [
1832
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("button", { className: "copilotKitCodeBlockToolbarButton", onClick: downloadAsFile, children: DownloadIcon }),
1833
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("button", { className: "copilotKitCodeBlockToolbarButton", onClick: onCopy, children: isCopied ? CheckIcon : CopyIcon })
1563
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "copilotKitCodeBlock", children: [
1564
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "copilotKitCodeBlockToolbar", children: [
1565
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: "copilotKitCodeBlockToolbarLanguage", children: language }),
1566
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "copilotKitCodeBlockToolbarButtons", children: [
1567
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("button", { className: "copilotKitCodeBlockToolbarButton", onClick: downloadAsFile, children: DownloadIcon }),
1568
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("button", { className: "copilotKitCodeBlockToolbarButton", onClick: onCopy, children: isCopied ? CheckIcon : CopyIcon })
1834
1569
  ] })
1835
1570
  ] }),
1836
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1571
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1837
1572
  import_react_syntax_highlighter.Prism,
1838
1573
  {
1839
1574
  language,
@@ -2136,18 +1871,18 @@ var highlightStyle = {
2136
1871
  // src/components/chat/Markdown.tsx
2137
1872
  var import_remark_gfm = __toESM(require("remark-gfm"));
2138
1873
  var import_remark_math = __toESM(require("remark-math"));
2139
- var import_jsx_runtime18 = require("react/jsx-runtime");
1874
+ var import_jsx_runtime15 = require("react/jsx-runtime");
2140
1875
  var MemoizedReactMarkdown = (0, import_react11.memo)(
2141
1876
  import_react_markdown.default,
2142
1877
  (prevProps, nextProps) => prevProps.children === nextProps.children && prevProps.className === nextProps.className
2143
1878
  );
2144
1879
  var Markdown = ({ content }) => {
2145
- 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 }) });
1880
+ 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 }) });
2146
1881
  };
2147
1882
  var components = {
2148
1883
  a(_a) {
2149
1884
  var _b = _a, { children } = _b, props = __objRest(_b, ["children"]);
2150
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1885
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
2151
1886
  "a",
2152
1887
  __spreadProps(__spreadValues({
2153
1888
  style: { color: "blue", textDecoration: "underline" }
@@ -2162,7 +1897,7 @@ var components = {
2162
1897
  var _d = _c, { children, className, inline } = _d, props = __objRest(_d, ["children", "className", "inline"]);
2163
1898
  if (children.length) {
2164
1899
  if (children[0] == "\u258D") {
2165
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1900
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
2166
1901
  "span",
2167
1902
  {
2168
1903
  style: {
@@ -2177,9 +1912,9 @@ var components = {
2177
1912
  }
2178
1913
  const match = /language-(\w+)/.exec(className || "");
2179
1914
  if (inline) {
2180
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("code", __spreadProps(__spreadValues({ className }, props), { children }));
1915
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("code", __spreadProps(__spreadValues({ className }, props), { children }));
2181
1916
  }
2182
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1917
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
2183
1918
  CodeBlock,
2184
1919
  __spreadValues({
2185
1920
  language: match && match[1] || "",
@@ -2192,7 +1927,7 @@ var components = {
2192
1927
 
2193
1928
  // src/components/chat/messages/AssistantMessage.tsx
2194
1929
  var import_react12 = require("react");
2195
- var import_jsx_runtime19 = require("react/jsx-runtime");
1930
+ var import_jsx_runtime16 = require("react/jsx-runtime");
2196
1931
  var AssistantMessage = (props) => {
2197
1932
  const { icons, labels } = useChatContext();
2198
1933
  const {
@@ -2233,17 +1968,17 @@ var AssistantMessage = (props) => {
2233
1968
  onThumbsDown(message);
2234
1969
  }
2235
1970
  };
2236
- const LoadingIcon = () => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { children: icons.activityIcon });
2237
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_jsx_runtime19.Fragment, { children: [
2238
- (message || isLoading) && /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "copilotKitMessage copilotKitAssistantMessage", children: [
2239
- message && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Markdown, { content: message || "" }),
2240
- isLoading && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(LoadingIcon, {}),
2241
- message && !isLoading && /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
1971
+ const LoadingIcon = () => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { children: icons.activityIcon });
1972
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_jsx_runtime16.Fragment, { children: [
1973
+ (message || isLoading) && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "copilotKitMessage copilotKitAssistantMessage", children: [
1974
+ message && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Markdown, { content: message || "" }),
1975
+ isLoading && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(LoadingIcon, {}),
1976
+ message && !isLoading && /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
2242
1977
  "div",
2243
1978
  {
2244
1979
  className: `copilotKitMessageControls ${isCurrentMessage ? "currentMessage" : ""}`,
2245
1980
  children: [
2246
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1981
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
2247
1982
  "button",
2248
1983
  {
2249
1984
  className: "copilotKitMessageControlButton",
@@ -2253,17 +1988,17 @@ var AssistantMessage = (props) => {
2253
1988
  children: icons.regenerateIcon
2254
1989
  }
2255
1990
  ),
2256
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1991
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
2257
1992
  "button",
2258
1993
  {
2259
1994
  className: "copilotKitMessageControlButton",
2260
1995
  onClick: handleCopy,
2261
1996
  "aria-label": labels.copyToClipboard,
2262
1997
  title: labels.copyToClipboard,
2263
- children: copied ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { style: { fontSize: "10px", fontWeight: "bold" }, children: "\u2713" }) : icons.copyIcon
1998
+ children: copied ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("span", { style: { fontSize: "10px", fontWeight: "bold" }, children: "\u2713" }) : icons.copyIcon
2264
1999
  }
2265
2000
  ),
2266
- onThumbsUp && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
2001
+ onThumbsUp && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
2267
2002
  "button",
2268
2003
  {
2269
2004
  className: "copilotKitMessageControlButton",
@@ -2273,7 +2008,7 @@ var AssistantMessage = (props) => {
2273
2008
  children: icons.thumbsUpIcon
2274
2009
  }
2275
2010
  ),
2276
- onThumbsDown && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
2011
+ onThumbsDown && /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
2277
2012
  "button",
2278
2013
  {
2279
2014
  className: "copilotKitMessageControlButton",
@@ -2287,15 +2022,300 @@ var AssistantMessage = (props) => {
2287
2022
  }
2288
2023
  )
2289
2024
  ] }),
2290
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { style: { marginBottom: "0.5rem" }, children: subComponent })
2025
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { style: { marginBottom: "0.5rem" }, children: subComponent })
2291
2026
  ] });
2292
2027
  };
2293
2028
 
2294
- // src/components/chat/messages/UserMessage.tsx
2029
+ // src/components/chat/messages/RenderTextMessage.tsx
2030
+ var import_jsx_runtime17 = require("react/jsx-runtime");
2031
+ function RenderTextMessage(_a) {
2032
+ var _b = _a, {
2033
+ UserMessage: UserMessage2 = UserMessage,
2034
+ AssistantMessage: AssistantMessage2 = AssistantMessage
2035
+ } = _b, props = __objRest(_b, [
2036
+ "UserMessage",
2037
+ "AssistantMessage"
2038
+ ]);
2039
+ const {
2040
+ message,
2041
+ inProgress,
2042
+ index,
2043
+ isCurrentMessage,
2044
+ onRegenerate,
2045
+ onCopy,
2046
+ onThumbsUp,
2047
+ onThumbsDown
2048
+ } = props;
2049
+ if (message.isTextMessage()) {
2050
+ if (message.role === "user") {
2051
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
2052
+ UserMessage2,
2053
+ {
2054
+ "data-message-role": "user",
2055
+ message: message.content,
2056
+ rawData: message
2057
+ },
2058
+ index
2059
+ );
2060
+ } else if (message.role == "assistant") {
2061
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
2062
+ AssistantMessage2,
2063
+ {
2064
+ "data-message-role": "assistant",
2065
+ message: message.content,
2066
+ rawData: message,
2067
+ isLoading: inProgress && isCurrentMessage && !message.content,
2068
+ isGenerating: inProgress && isCurrentMessage && !!message.content,
2069
+ isCurrentMessage,
2070
+ onRegenerate,
2071
+ onCopy,
2072
+ onThumbsUp,
2073
+ onThumbsDown
2074
+ },
2075
+ index
2076
+ );
2077
+ }
2078
+ }
2079
+ }
2080
+
2081
+ // src/components/chat/messages/RenderActionExecutionMessage.tsx
2082
+ var import_runtime_client_gql2 = require("@copilotkit/runtime-client-gql");
2083
+ var import_react_core6 = require("@copilotkit/react-core");
2084
+ var import_jsx_runtime18 = require("react/jsx-runtime");
2085
+ function RenderActionExecutionMessage(_a) {
2086
+ var _b = _a, {
2087
+ AssistantMessage: AssistantMessage2 = AssistantMessage
2088
+ } = _b, props = __objRest(_b, [
2089
+ "AssistantMessage"
2090
+ ]);
2091
+ const { chatComponentsCache } = (0, import_react_core6.useCopilotContext)();
2092
+ const { message, inProgress, index, isCurrentMessage, actionResult } = props;
2093
+ if (message.isActionExecutionMessage()) {
2094
+ if (chatComponentsCache.current !== null && (chatComponentsCache.current.actions[message.name] || chatComponentsCache.current.actions["*"])) {
2095
+ const render = chatComponentsCache.current.actions[message.name] || chatComponentsCache.current.actions["*"];
2096
+ if (typeof render === "string") {
2097
+ if (isCurrentMessage && inProgress) {
2098
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
2099
+ AssistantMessage2,
2100
+ {
2101
+ rawData: message,
2102
+ "data-message-role": "assistant",
2103
+ isLoading: false,
2104
+ isGenerating: true,
2105
+ message: render
2106
+ },
2107
+ index
2108
+ );
2109
+ } else {
2110
+ return null;
2111
+ }
2112
+ } else {
2113
+ const args = message.arguments;
2114
+ let status = "inProgress";
2115
+ if (actionResult !== void 0) {
2116
+ status = "complete";
2117
+ } else if (message.status.code !== import_runtime_client_gql2.MessageStatusCode.Pending) {
2118
+ status = "executing";
2119
+ }
2120
+ try {
2121
+ const toRender = render({
2122
+ status,
2123
+ args,
2124
+ result: actionResult,
2125
+ name: message.name
2126
+ });
2127
+ if (!toRender && status === "complete") {
2128
+ return null;
2129
+ }
2130
+ if (typeof toRender === "string") {
2131
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
2132
+ AssistantMessage2,
2133
+ {
2134
+ rawData: message,
2135
+ "data-message-role": "assistant",
2136
+ isLoading: false,
2137
+ isGenerating: false,
2138
+ message: toRender
2139
+ },
2140
+ index
2141
+ );
2142
+ } else {
2143
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
2144
+ AssistantMessage2,
2145
+ {
2146
+ rawData: message,
2147
+ "data-message-role": "action-render",
2148
+ isLoading: false,
2149
+ isGenerating: false,
2150
+ subComponent: toRender
2151
+ },
2152
+ index
2153
+ );
2154
+ }
2155
+ } catch (e) {
2156
+ console.error(`Error executing render function for action ${message.name}: ${e}`);
2157
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
2158
+ AssistantMessage2,
2159
+ {
2160
+ rawData: message,
2161
+ "data-message-role": "assistant",
2162
+ isLoading: false,
2163
+ isGenerating: false,
2164
+ subComponent: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "copilotKitMessage copilotKitAssistantMessage", children: [
2165
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("b", { children: [
2166
+ "\u274C Error executing render function for action ",
2167
+ message.name,
2168
+ ":"
2169
+ ] }),
2170
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("pre", { children: e instanceof Error ? e.message : String(e) })
2171
+ ] })
2172
+ },
2173
+ index
2174
+ );
2175
+ }
2176
+ }
2177
+ } else if (!inProgress || !isCurrentMessage) {
2178
+ return null;
2179
+ } else {
2180
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
2181
+ AssistantMessage2,
2182
+ {
2183
+ rawData: message,
2184
+ "data-message-role": "assistant",
2185
+ isLoading: true,
2186
+ isGenerating: true
2187
+ },
2188
+ index
2189
+ );
2190
+ }
2191
+ }
2192
+ }
2193
+
2194
+ // src/components/chat/messages/RenderResultMessage.tsx
2195
+ var import_jsx_runtime19 = require("react/jsx-runtime");
2196
+ function RenderResultMessage(_a) {
2197
+ var _b = _a, {
2198
+ AssistantMessage: AssistantMessage2 = AssistantMessage
2199
+ } = _b, props = __objRest(_b, [
2200
+ "AssistantMessage"
2201
+ ]);
2202
+ const { message, inProgress, index, isCurrentMessage } = props;
2203
+ if (message.isResultMessage() && inProgress && isCurrentMessage) {
2204
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
2205
+ AssistantMessage2,
2206
+ {
2207
+ "data-message-role": "assistant",
2208
+ rawData: message,
2209
+ isLoading: true,
2210
+ isGenerating: true
2211
+ },
2212
+ index
2213
+ );
2214
+ } else {
2215
+ return null;
2216
+ }
2217
+ }
2218
+
2219
+ // src/components/chat/messages/RenderAgentStateMessage.tsx
2220
+ var import_react_core7 = require("@copilotkit/react-core");
2295
2221
  var import_jsx_runtime20 = require("react/jsx-runtime");
2296
- var UserMessage = (props) => {
2297
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "copilotKitMessage copilotKitUserMessage", children: props.message });
2298
- };
2222
+ function RenderAgentStateMessage(_a) {
2223
+ var _b = _a, {
2224
+ AssistantMessage: AssistantMessage2 = AssistantMessage
2225
+ } = _b, props = __objRest(_b, [
2226
+ "AssistantMessage"
2227
+ ]);
2228
+ const { chatComponentsCache } = (0, import_react_core7.useCopilotContext)();
2229
+ const { message, inProgress, index, isCurrentMessage } = props;
2230
+ if (message.isAgentStateMessage()) {
2231
+ let render;
2232
+ if (chatComponentsCache.current !== null) {
2233
+ render = chatComponentsCache.current.coAgentStateRenders[`${message.agentName}-${message.nodeName}`] || chatComponentsCache.current.coAgentStateRenders[`${message.agentName}-global`];
2234
+ }
2235
+ if (render) {
2236
+ if (typeof render === "string") {
2237
+ if (isCurrentMessage && inProgress) {
2238
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
2239
+ AssistantMessage2,
2240
+ {
2241
+ rawData: message,
2242
+ message: render,
2243
+ "data-message-role": "assistant",
2244
+ isLoading: true,
2245
+ isGenerating: true
2246
+ },
2247
+ index
2248
+ );
2249
+ } else {
2250
+ return null;
2251
+ }
2252
+ } else {
2253
+ const state = message.state;
2254
+ let status = message.active ? "inProgress" : "complete";
2255
+ const toRender = render({
2256
+ status,
2257
+ state,
2258
+ nodeName: message.nodeName
2259
+ });
2260
+ if (!toRender && status === "complete") {
2261
+ return null;
2262
+ }
2263
+ if (!toRender && isCurrentMessage && inProgress) {
2264
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
2265
+ AssistantMessage2,
2266
+ {
2267
+ "data-message-role": "assistant",
2268
+ rawData: message,
2269
+ isLoading: true,
2270
+ isGenerating: true
2271
+ },
2272
+ index
2273
+ );
2274
+ } else if (!toRender) {
2275
+ return null;
2276
+ }
2277
+ if (typeof toRender === "string") {
2278
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
2279
+ AssistantMessage2,
2280
+ {
2281
+ rawData: message,
2282
+ message: toRender,
2283
+ isLoading: true,
2284
+ isGenerating: true,
2285
+ "data-message-role": "assistant"
2286
+ },
2287
+ index
2288
+ );
2289
+ } else {
2290
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
2291
+ AssistantMessage2,
2292
+ {
2293
+ rawData: message,
2294
+ "data-message-role": "agent-state-render",
2295
+ isLoading: false,
2296
+ isGenerating: false,
2297
+ subComponent: toRender
2298
+ },
2299
+ index
2300
+ );
2301
+ }
2302
+ }
2303
+ } else if (!inProgress || !isCurrentMessage) {
2304
+ return null;
2305
+ } else {
2306
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
2307
+ AssistantMessage2,
2308
+ {
2309
+ rawData: message,
2310
+ isLoading: true,
2311
+ isGenerating: true,
2312
+ "data-message-role": "assistant"
2313
+ },
2314
+ index
2315
+ );
2316
+ }
2317
+ }
2318
+ }
2299
2319
 
2300
2320
  // src/components/chat/Suggestion.tsx
2301
2321
  var import_react_core8 = require("@copilotkit/react-core");