@copilotkit/react-ui 1.2.0 → 1.2.2-feat-runtime-remote-actions.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 (59) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/dist/components/chat/Chat.d.mts +1 -1
  3. package/dist/components/chat/Chat.d.ts +1 -1
  4. package/dist/components/chat/Chat.js +101 -5
  5. package/dist/components/chat/Chat.js.map +1 -1
  6. package/dist/components/chat/Chat.mjs +108 -11
  7. package/dist/components/chat/Chat.mjs.map +1 -1
  8. package/dist/components/chat/Messages.js +46 -2
  9. package/dist/components/chat/Messages.js.map +1 -1
  10. package/dist/components/chat/Messages.mjs +48 -3
  11. package/dist/components/chat/Messages.mjs.map +1 -1
  12. package/dist/components/chat/Modal.js +101 -6
  13. package/dist/components/chat/Modal.js.map +1 -1
  14. package/dist/components/chat/Modal.mjs +108 -12
  15. package/dist/components/chat/Modal.mjs.map +1 -1
  16. package/dist/components/chat/Popup.js +101 -6
  17. package/dist/components/chat/Popup.js.map +1 -1
  18. package/dist/components/chat/Popup.mjs +108 -12
  19. package/dist/components/chat/Popup.mjs.map +1 -1
  20. package/dist/components/chat/Sidebar.js +101 -7
  21. package/dist/components/chat/Sidebar.js.map +1 -1
  22. package/dist/components/chat/Sidebar.mjs +108 -13
  23. package/dist/components/chat/Sidebar.mjs.map +1 -1
  24. package/dist/components/chat/Suggestion.js.map +1 -1
  25. package/dist/components/chat/Suggestion.mjs.map +1 -1
  26. package/dist/components/chat/index.js +101 -7
  27. package/dist/components/chat/index.js.map +1 -1
  28. package/dist/components/chat/index.mjs +108 -13
  29. package/dist/components/chat/index.mjs.map +1 -1
  30. package/dist/components/dev-console/console.js +52 -0
  31. package/dist/components/dev-console/console.js.map +1 -1
  32. package/dist/components/dev-console/console.mjs +52 -0
  33. package/dist/components/dev-console/console.mjs.map +1 -1
  34. package/dist/components/dev-console/index.js +52 -0
  35. package/dist/components/dev-console/index.js.map +1 -1
  36. package/dist/components/dev-console/index.mjs +52 -0
  37. package/dist/components/dev-console/index.mjs.map +1 -1
  38. package/dist/components/dev-console/utils.d.mts +2 -1
  39. package/dist/components/dev-console/utils.d.ts +2 -1
  40. package/dist/components/dev-console/utils.js +53 -0
  41. package/dist/components/dev-console/utils.js.map +1 -1
  42. package/dist/components/dev-console/utils.mjs +52 -0
  43. package/dist/components/dev-console/utils.mjs.map +1 -1
  44. package/dist/components/index.js +101 -7
  45. package/dist/components/index.js.map +1 -1
  46. package/dist/components/index.mjs +108 -13
  47. package/dist/components/index.mjs.map +1 -1
  48. package/dist/index.js +101 -7
  49. package/dist/index.js.map +1 -1
  50. package/dist/index.mjs +110 -15
  51. package/dist/index.mjs.map +1 -1
  52. package/package.json +7 -7
  53. package/src/components/chat/Chat.tsx +1 -1
  54. package/src/components/chat/Messages.tsx +83 -2
  55. package/src/components/chat/Modal.tsx +0 -1
  56. package/src/components/chat/Sidebar.tsx +0 -1
  57. package/src/components/chat/Suggestion.tsx +2 -0
  58. package/src/components/dev-console/console.tsx +6 -0
  59. package/src/components/dev-console/utils.ts +56 -0
@@ -961,7 +961,8 @@ import {
961
961
  ActionExecutionMessage,
962
962
  ResultMessage,
963
963
  TextMessage,
964
- Role
964
+ Role,
965
+ AgentStateMessage
965
966
  } from "@copilotkit/runtime-client-gql";
966
967
  import { jsx as jsx8, jsxs as jsxs5 } from "react/jsx-runtime";
967
968
  var Messages = ({ messages, inProgress, children }) => {
@@ -1003,8 +1004,8 @@ var Messages = ({ messages, inProgress, children }) => {
1003
1004
  } else if (message instanceof TextMessage && message.role == "assistant") {
1004
1005
  return /* @__PURE__ */ jsx8("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: isCurrentMessage && inProgress && !message.content ? context.icons.spinnerIcon : /* @__PURE__ */ jsx8(Markdown, { content: message.content }) }, index);
1005
1006
  } else if (message instanceof ActionExecutionMessage) {
1006
- if (chatComponentsCache.current !== null && chatComponentsCache.current[message.name]) {
1007
- const render = chatComponentsCache.current[message.name];
1007
+ if (chatComponentsCache.current !== null && chatComponentsCache.current.actions[message.name]) {
1008
+ const render = chatComponentsCache.current.actions[message.name];
1008
1009
  if (typeof render === "string") {
1009
1010
  if (isCurrentMessage && inProgress) {
1010
1011
  return /* @__PURE__ */ jsxs5("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: [
@@ -1046,6 +1047,50 @@ var Messages = ({ messages, inProgress, children }) => {
1046
1047
  } else {
1047
1048
  return /* @__PURE__ */ jsx8("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: context.icons.spinnerIcon }, index);
1048
1049
  }
1050
+ } else if (message instanceof AgentStateMessage) {
1051
+ let render;
1052
+ if (chatComponentsCache.current !== null) {
1053
+ render = chatComponentsCache.current.coagentActions[`${message.agentName}-${message.nodeName}`] || chatComponentsCache.current.coagentActions[`${message.agentName}-global`];
1054
+ }
1055
+ if (render) {
1056
+ if (typeof render === "string") {
1057
+ if (isCurrentMessage && inProgress) {
1058
+ return /* @__PURE__ */ jsxs5("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: [
1059
+ context.icons.spinnerIcon,
1060
+ " ",
1061
+ /* @__PURE__ */ jsx8("span", { className: "inProgressLabel", children: render })
1062
+ ] }, index);
1063
+ } else {
1064
+ return null;
1065
+ }
1066
+ } else {
1067
+ const state = message.state;
1068
+ let status = message.active ? "inProgress" : "complete";
1069
+ const toRender = render({
1070
+ status,
1071
+ state,
1072
+ nodeName: message.nodeName
1073
+ });
1074
+ if (!toRender && status === "complete") {
1075
+ return null;
1076
+ }
1077
+ if (typeof toRender === "string") {
1078
+ return /* @__PURE__ */ jsxs5("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: [
1079
+ isCurrentMessage && inProgress && context.icons.spinnerIcon,
1080
+ " ",
1081
+ toRender
1082
+ ] }, index);
1083
+ } else {
1084
+ return /* @__PURE__ */ jsx8("div", { className: "copilotKitCustomAssistantMessage", children: toRender }, index);
1085
+ }
1086
+ }
1087
+ } else if (!inProgress || !isCurrentMessage) {
1088
+ return null;
1089
+ } else {
1090
+ return /* @__PURE__ */ jsx8("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: context.icons.spinnerIcon }, index);
1091
+ }
1092
+ } else if (message instanceof ResultMessage && inProgress && isCurrentMessage) {
1093
+ return /* @__PURE__ */ jsx8("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: context.icons.spinnerIcon }, index);
1049
1094
  }
1050
1095
  }),
1051
1096
  /* @__PURE__ */ jsx8("footer", { ref: messagesEndRef, children })
@@ -1395,12 +1440,14 @@ var reloadSuggestions = (context, chatSuggestionConfiguration, setCurrentSuggest
1395
1440
 
1396
1441
  // src/components/chat/Chat.tsx
1397
1442
  import React7, { useEffect as useEffect7, useRef as useRef5, useState as useState7 } from "react";
1398
- import { useCopilotChat, useCopilotContext as useCopilotContext5 } from "@copilotkit/react-core";
1399
- import { Role as Role2, TextMessage as TextMessage3 } from "@copilotkit/runtime-client-gql";
1443
+ import { useCopilotChat, useCopilotContext as useCopilotContext6 } from "@copilotkit/react-core";
1444
+ import { Role as Role2, TextMessage as TextMessage4 } from "@copilotkit/runtime-client-gql";
1400
1445
  import { randomId } from "@copilotkit/shared";
1401
1446
 
1402
1447
  // src/components/dev-console/utils.ts
1403
1448
  import { defaultCopilotContextCategories } from "@copilotkit/react-core";
1449
+ import { ActionExecutionMessage as ActionExecutionMessage2, ResultMessage as ResultMessage2, TextMessage as TextMessage3 } from "@copilotkit/runtime-client-gql";
1450
+ import { AgentStateMessage as AgentStateMessage2 } from "@copilotkit/runtime-client-gql";
1404
1451
  function shouldShowDevConsole(showDevConsole) {
1405
1452
  if (typeof showDevConsole === "boolean") {
1406
1453
  return showDevConsole;
@@ -1461,6 +1508,7 @@ function getPublishedCopilotKitVersion(current, forceCheck = false) {
1461
1508
  });
1462
1509
  }
1463
1510
  function logReadables(context) {
1511
+ console.log("%cCurrent Readables:", "font-size: 16px; font-weight: bold;");
1464
1512
  const readables = context.getContextString([], defaultCopilotContextCategories).trim();
1465
1513
  if (readables.length === 0) {
1466
1514
  console.log("No readables found");
@@ -1469,6 +1517,7 @@ function logReadables(context) {
1469
1517
  console.log(readables);
1470
1518
  }
1471
1519
  function logActions(context) {
1520
+ console.log("%cCurrent Actions:", "font-size: 16px; font-weight: bold;");
1472
1521
  if (Object.values(context.actions).length === 0) {
1473
1522
  console.log("No actions found");
1474
1523
  return;
@@ -1481,9 +1530,56 @@ function logActions(context) {
1481
1530
  console.groupEnd();
1482
1531
  }
1483
1532
  }
1533
+ function logMessages(context) {
1534
+ console.log("%cCurrent Messages:", "font-size: 16px; font-weight: bold;");
1535
+ if (context.messages.length === 0) {
1536
+ console.log("No messages found");
1537
+ return;
1538
+ }
1539
+ const tableData = context.messages.map((message) => {
1540
+ if (message instanceof TextMessage3) {
1541
+ return {
1542
+ id: message.id,
1543
+ type: "TextMessage",
1544
+ role: message.role,
1545
+ name: void 0,
1546
+ scope: void 0,
1547
+ content: message.content
1548
+ };
1549
+ } else if (message instanceof ActionExecutionMessage2) {
1550
+ return {
1551
+ id: message.id,
1552
+ type: "ActionExecutionMessage",
1553
+ role: void 0,
1554
+ name: message.name,
1555
+ scope: message.scope,
1556
+ content: message.arguments
1557
+ };
1558
+ } else if (message instanceof ResultMessage2) {
1559
+ return {
1560
+ id: message.id,
1561
+ type: "ResultMessage",
1562
+ role: void 0,
1563
+ name: message.actionName,
1564
+ scope: message.actionExecutionId,
1565
+ content: message.result
1566
+ };
1567
+ } else if (message instanceof AgentStateMessage2) {
1568
+ return {
1569
+ id: message.id,
1570
+ type: `AgentStateMessage (running: ${message.running})`,
1571
+ role: message.role,
1572
+ name: void 0,
1573
+ scope: message.threadId,
1574
+ content: message.state
1575
+ };
1576
+ }
1577
+ });
1578
+ console.table(tableData);
1579
+ }
1484
1580
 
1485
1581
  // src/components/dev-console/console.tsx
1486
- import { useCopilotContext as useCopilotContext4 } from "@copilotkit/react-core";
1582
+ import { useCopilotContext as useCopilotContext5 } from "@copilotkit/react-core";
1487
1583
  import { useEffect as useEffect6, useRef as useRef4, useState as useState6 } from "react";
1488
1584
 
1489
1585
  // src/components/dev-console/icons.tsx
@@ -1576,7 +1672,7 @@ import { COPILOTKIT_VERSION } from "@copilotkit/shared";
1576
1672
  import { Fragment, jsx as jsx14, jsxs as jsxs10 } from "react/jsx-runtime";
1577
1673
  function CopilotDevConsole() {
1578
1674
  const currentVersion = COPILOTKIT_VERSION;
1579
- const context = useCopilotContext4();
1675
+ const context = useCopilotContext5();
1580
1676
  const [showDevConsole, setShowDevConsole] = useState6(false);
1581
1677
  useEffect6(() => {
1582
1678
  setShowDevConsole(shouldShowDevConsole(context.showDevConsole));
@@ -1739,7 +1835,7 @@ function DebugMenuButton({
1739
1835
  checkForUpdates,
1740
1836
  mode
1741
1837
  }) {
1742
- const context = useCopilotContext4();
1838
+ const context = useCopilotContext5();
1743
1839
  return /* @__PURE__ */ jsx14("div", { className: "bg-black fixed top-24 w-52 text-right", children: /* @__PURE__ */ jsxs10(Menu, { children: [
1744
1840
  /* @__PURE__ */ jsx14(MenuButton, { className: `copilotKitDebugMenuButton ${mode === "compact" ? "compact" : ""}`, children: mode == "compact" ? "Debug" : /* @__PURE__ */ jsxs10(Fragment, { children: [
1745
1841
  "Debug ",
@@ -1755,6 +1851,7 @@ function DebugMenuButton({
1755
1851
  children: [
1756
1852
  /* @__PURE__ */ jsx14(MenuItem, { children: /* @__PURE__ */ jsx14("button", { className: "copilotKitDebugMenuItem", onClick: () => logReadables(context), children: "Log Readables" }) }),
1757
1853
  /* @__PURE__ */ jsx14(MenuItem, { children: /* @__PURE__ */ jsx14("button", { className: "copilotKitDebugMenuItem", onClick: () => logActions(context), children: "Log Actions" }) }),
1854
+ /* @__PURE__ */ jsx14(MenuItem, { children: /* @__PURE__ */ jsx14("button", { className: "copilotKitDebugMenuItem", onClick: () => logMessages(context), children: "Log Messages" }) }),
1758
1855
  /* @__PURE__ */ jsx14(MenuItem, { children: /* @__PURE__ */ jsx14("button", { className: "copilotKitDebugMenuItem", onClick: () => checkForUpdates(true), children: "Check for Updates" }) }),
1759
1856
  /* @__PURE__ */ jsx14("hr", {}),
1760
1857
  /* @__PURE__ */ jsx14(MenuItem, { children: /* @__PURE__ */ jsx14("button", { className: "copilotKitDebugMenuItem", onClick: () => setShowDevConsole(false), children: "Hide Dev Console" }) })
@@ -1779,7 +1876,7 @@ function CopilotChat({
1779
1876
  icons,
1780
1877
  labels
1781
1878
  }) {
1782
- const context = useCopilotContext5();
1879
+ const context = useCopilotContext6();
1783
1880
  useEffect7(() => {
1784
1881
  context.setChatInstructions(instructions || "");
1785
1882
  }, [instructions]);
@@ -1848,7 +1945,7 @@ var useCopilotChatLogic = (makeSystemMessage, onInProgress, onSubmitMessage) =>
1848
1945
  (_a = suggestionsAbortControllerRef.current) == null ? void 0 : _a.abort();
1849
1946
  suggestionsAbortControllerRef.current = null;
1850
1947
  };
1851
- const context = useCopilotContext5();
1948
+ const context = useCopilotContext6();
1852
1949
  useEffect7(() => {
1853
1950
  onInProgress == null ? void 0 : onInProgress(isLoading);
1854
1951
  abortSuggestions();
@@ -1873,7 +1970,7 @@ var useCopilotChatLogic = (makeSystemMessage, onInProgress, onSubmitMessage) =>
1873
1970
  const sendMessage = (messageContent) => __async(void 0, null, function* () {
1874
1971
  abortSuggestions();
1875
1972
  setCurrentSuggestions([]);
1876
- const message = new TextMessage3({
1973
+ const message = new TextMessage4({
1877
1974
  content: messageContent,
1878
1975
  role: Role2.User
1879
1976
  });
@@ -1923,7 +2020,6 @@ var CopilotModal = ({
1923
2020
  }) => {
1924
2021
  const [openState, setOpenState] = React8.useState(defaultOpen);
1925
2022
  const setOpen = (open) => {
1926
- console.log("setOpen!!", open);
1927
2023
  onSetOpen == null ? void 0 : onSetOpen(open);
1928
2024
  setOpenState(open);
1929
2025
  };
@@ -1970,7 +2066,6 @@ function CopilotSidebar(props) {
1970
2066
  );
1971
2067
  const onSetOpen = (open) => {
1972
2068
  var _a;
1973
- console.log("onSetOpen", open);
1974
2069
  (_a = props.onSetOpen) == null ? void 0 : _a.call(props, open);
1975
2070
  setExpandedClassName(open ? "sidebarExpanded" : "");
1976
2071
  };