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