@copilotkit/react-ui 1.8.4-next.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 +21 -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
@@ -1455,276 +1455,11 @@ var Input = ({ inProgress, onSend, isVisible = false, onStop }) => {
1455
1455
  ] }) });
1456
1456
  };
1457
1457
 
1458
- // src/components/chat/messages/RenderTextMessage.tsx
1458
+ // src/components/chat/messages/UserMessage.tsx
1459
1459
  var import_jsx_runtime13 = require("react/jsx-runtime");
1460
- function RenderTextMessage(props) {
1461
- const {
1462
- message,
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 import_jsx_runtime17 = require("react/jsx-runtime");
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, import_jsx_runtime17.jsxs)("div", { className: "copilotKitCodeBlock", children: [
1824
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "copilotKitCodeBlockToolbar", children: [
1825
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("span", { className: "copilotKitCodeBlockToolbarLanguage", children: language }),
1826
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: "copilotKitCodeBlockToolbarButtons", children: [
1827
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("button", { className: "copilotKitCodeBlockToolbarButton", onClick: downloadAsFile, children: DownloadIcon }),
1828
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("button", { className: "copilotKitCodeBlockToolbarButton", onClick: onCopy, children: isCopied ? CheckIcon : CopyIcon })
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, import_jsx_runtime17.jsx)(
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 import_jsx_runtime18 = require("react/jsx-runtime");
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, 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 }) });
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, import_jsx_runtime18.jsx)(
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, import_jsx_runtime18.jsx)(
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, import_jsx_runtime18.jsx)("code", __spreadProps(__spreadValues({ className }, props), { children }));
1910
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("code", __spreadProps(__spreadValues({ className }, props), { children }));
2176
1911
  }
2177
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
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 import_jsx_runtime19 = require("react/jsx-runtime");
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, import_jsx_runtime19.jsx)("span", { children: icons.activityIcon });
2232
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_jsx_runtime19.Fragment, { children: [
2233
- (message || isLoading) && /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "copilotKitMessage copilotKitAssistantMessage", children: [
2234
- message && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Markdown, { content: message || "" }),
2235
- isLoading && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(LoadingIcon, {}),
2236
- message && !isLoading && /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
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, import_jsx_runtime19.jsx)(
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, import_jsx_runtime19.jsx)(
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, import_jsx_runtime19.jsx)("span", { style: { fontSize: "10px", fontWeight: "bold" }, children: "\u2713" }) : icons.copyIcon
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, import_jsx_runtime19.jsx)(
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, import_jsx_runtime19.jsx)(
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, import_jsx_runtime19.jsx)("div", { style: { marginBottom: "0.5rem" }, children: subComponent })
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/UserMessage.tsx
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,
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
- var UserMessage = (props) => {
2292
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "copilotKitMessage copilotKitUserMessage", children: props.message });
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");