@copilotkit/react-ui 1.4.8 → 1.5.0-coagents-v0-3.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 (65) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/{chunk-CVHT5XCA.mjs → chunk-375NVWZM.mjs} +2 -2
  3. package/dist/{chunk-OMTPWC7T.mjs → chunk-3E7HY2UN.mjs} +5 -4
  4. package/dist/chunk-3E7HY2UN.mjs.map +1 -0
  5. package/dist/{chunk-RKPANT3F.mjs → chunk-7II4YL7R.mjs} +2 -6
  6. package/dist/chunk-7II4YL7R.mjs.map +1 -0
  7. package/dist/{chunk-46UJJGXP.mjs → chunk-DCNCY2PL.mjs} +113 -10
  8. package/dist/chunk-DCNCY2PL.mjs.map +1 -0
  9. package/dist/{chunk-DVMTTXGZ.mjs → chunk-F2W5FD7L.mjs} +2 -2
  10. package/dist/{chunk-4FIGRRFS.mjs → chunk-PNQVKBPN.mjs} +2 -2
  11. package/dist/{chunk-4FIGRRFS.mjs.map → chunk-PNQVKBPN.mjs.map} +1 -1
  12. package/dist/{chunk-752NGHCE.mjs → chunk-UWVGLGFQ.mjs} +7 -3
  13. package/dist/chunk-UWVGLGFQ.mjs.map +1 -0
  14. package/dist/{chunk-PNKBFDUI.mjs → chunk-WSMMTZCM.mjs} +2 -2
  15. package/dist/components/chat/Chat.d.ts +50 -5
  16. package/dist/components/chat/Chat.js +115 -12
  17. package/dist/components/chat/Chat.js.map +1 -1
  18. package/dist/components/chat/Chat.mjs +5 -5
  19. package/dist/components/chat/Messages.d.ts +3 -3
  20. package/dist/components/chat/Messages.js.map +1 -1
  21. package/dist/components/chat/Messages.mjs +1 -1
  22. package/dist/components/chat/Modal.d.ts +1 -1
  23. package/dist/components/chat/Modal.js +119 -12
  24. package/dist/components/chat/Modal.js.map +1 -1
  25. package/dist/components/chat/Modal.mjs +6 -6
  26. package/dist/components/chat/Popup.js +119 -12
  27. package/dist/components/chat/Popup.js.map +1 -1
  28. package/dist/components/chat/Popup.mjs +7 -7
  29. package/dist/components/chat/Sidebar.js +119 -12
  30. package/dist/components/chat/Sidebar.js.map +1 -1
  31. package/dist/components/chat/Sidebar.mjs +7 -7
  32. package/dist/components/chat/index.js +119 -12
  33. package/dist/components/chat/index.js.map +1 -1
  34. package/dist/components/chat/index.mjs +8 -8
  35. package/dist/components/chat/messages/RenderActionExecutionMessage.js +4 -3
  36. package/dist/components/chat/messages/RenderActionExecutionMessage.js.map +1 -1
  37. package/dist/components/chat/messages/RenderActionExecutionMessage.mjs +1 -1
  38. package/dist/components/dev-console/console.js +1 -1
  39. package/dist/components/dev-console/console.js.map +1 -1
  40. package/dist/components/dev-console/console.mjs +2 -2
  41. package/dist/components/dev-console/index.js +1 -1
  42. package/dist/components/dev-console/index.js.map +1 -1
  43. package/dist/components/dev-console/index.mjs +2 -2
  44. package/dist/components/dev-console/utils.js +1 -1
  45. package/dist/components/dev-console/utils.js.map +1 -1
  46. package/dist/components/dev-console/utils.mjs +1 -1
  47. package/dist/components/index.js +119 -12
  48. package/dist/components/index.js.map +1 -1
  49. package/dist/components/index.mjs +8 -8
  50. package/dist/index.js +121 -14
  51. package/dist/index.js.map +1 -1
  52. package/dist/index.mjs +8 -8
  53. package/package.json +4 -4
  54. package/src/components/chat/Chat.tsx +173 -7
  55. package/src/components/chat/Messages.tsx +2 -9
  56. package/src/components/chat/Modal.tsx +4 -0
  57. package/src/components/chat/messages/RenderActionExecutionMessage.tsx +10 -3
  58. package/src/components/dev-console/utils.ts +1 -1
  59. package/dist/chunk-46UJJGXP.mjs.map +0 -1
  60. package/dist/chunk-752NGHCE.mjs.map +0 -1
  61. package/dist/chunk-OMTPWC7T.mjs.map +0 -1
  62. package/dist/chunk-RKPANT3F.mjs.map +0 -1
  63. /package/dist/{chunk-CVHT5XCA.mjs.map → chunk-375NVWZM.mjs.map} +0 -0
  64. /package/dist/{chunk-DVMTTXGZ.mjs.map → chunk-F2W5FD7L.mjs.map} +0 -0
  65. /package/dist/{chunk-PNKBFDUI.mjs.map → chunk-WSMMTZCM.mjs.map} +0 -0
@@ -805,9 +805,9 @@ var import_react6 = require("react");
805
805
  var import_react_syntax_highlighter = require("react-syntax-highlighter");
806
806
 
807
807
  // src/hooks/use-copy-to-clipboard.tsx
808
- var React5 = __toESM(require("react"));
808
+ var React4 = __toESM(require("react"));
809
809
  function useCopyToClipboard({ timeout = 2e3 }) {
810
- const [isCopied, setIsCopied] = React5.useState(false);
810
+ const [isCopied, setIsCopied] = React4.useState(false);
811
811
  const copyToClipboard = (value) => {
812
812
  var _a;
813
813
  if (typeof window === "undefined" || !((_a = navigator.clipboard) == null ? void 0 : _a.writeText)) {
@@ -1303,8 +1303,8 @@ function RenderActionExecutionMessage(props) {
1303
1303
  const { chatComponentsCache } = (0, import_react_core3.useCopilotContext)();
1304
1304
  const { icons } = useChatContext();
1305
1305
  if (message.isActionExecutionMessage()) {
1306
- if (chatComponentsCache.current !== null && chatComponentsCache.current.actions[message.name]) {
1307
- const render = chatComponentsCache.current.actions[message.name];
1306
+ if (chatComponentsCache.current !== null && (chatComponentsCache.current.actions[message.name] || chatComponentsCache.current.actions["*"])) {
1307
+ const render = chatComponentsCache.current.actions[message.name] || chatComponentsCache.current.actions["*"];
1308
1308
  if (typeof render === "string") {
1309
1309
  if (isCurrentMessage && inProgress) {
1310
1310
  return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: [
@@ -1327,7 +1327,8 @@ function RenderActionExecutionMessage(props) {
1327
1327
  const toRender = render({
1328
1328
  status,
1329
1329
  args,
1330
- result: actionResult
1330
+ result: actionResult,
1331
+ name: message.name
1331
1332
  });
1332
1333
  if (!toRender && status === "complete") {
1333
1334
  return null;
@@ -1641,7 +1642,7 @@ function logMessages(context) {
1641
1642
  type: "ActionExecutionMessage",
1642
1643
  role: void 0,
1643
1644
  name: message.name,
1644
- scope: message.scope,
1645
+ scope: message.parentMessageId,
1645
1646
  content: message.arguments
1646
1647
  };
1647
1648
  } else if (message.isResultMessage()) {
@@ -2167,6 +2168,7 @@ function DebugMenuButton({
2167
2168
  }
2168
2169
 
2169
2170
  // src/components/chat/Chat.tsx
2171
+ var import_react_core9 = require("@copilotkit/react-core");
2170
2172
  var import_jsx_runtime18 = require("react/jsx-runtime");
2171
2173
  function CopilotChat({
2172
2174
  instructions,
@@ -2174,6 +2176,8 @@ function CopilotChat({
2174
2176
  makeSystemMessage,
2175
2177
  showResponseButton = true,
2176
2178
  onInProgress,
2179
+ onStopGeneration,
2180
+ onReloadMessages,
2177
2181
  Messages: Messages2 = Messages,
2178
2182
  RenderTextMessage: RenderTextMessage2 = RenderTextMessage,
2179
2183
  RenderActionExecutionMessage: RenderActionExecutionMessage2 = RenderActionExecutionMessage,
@@ -2196,7 +2200,13 @@ function CopilotChat({
2196
2200
  sendMessage,
2197
2201
  stopGeneration,
2198
2202
  reloadMessages
2199
- } = useCopilotChatLogic(makeSystemMessage, onInProgress, onSubmitMessage);
2203
+ } = useCopilotChatLogic(
2204
+ makeSystemMessage,
2205
+ onInProgress,
2206
+ onSubmitMessage,
2207
+ onStopGeneration,
2208
+ onReloadMessages
2209
+ );
2200
2210
  const chatContext = import_react11.default.useContext(ChatContext);
2201
2211
  const isVisible = chatContext ? chatContext.open : true;
2202
2212
  return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(WrappedCopilotChat, { icons, labels, className, children: [
@@ -2252,8 +2262,16 @@ function WrappedCopilotChat({
2252
2262
  return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_jsx_runtime18.Fragment, { children });
2253
2263
  }
2254
2264
  var SUGGESTIONS_DEBOUNCE_TIMEOUT = 1e3;
2255
- var useCopilotChatLogic = (makeSystemMessage, onInProgress, onSubmitMessage) => {
2256
- const { visibleMessages, appendMessage, reloadMessages, stopGeneration, isLoading } = (0, import_react_core8.useCopilotChat)({
2265
+ var useCopilotChatLogic = (makeSystemMessage, onInProgress, onSubmitMessage, onStopGeneration, onReloadMessages) => {
2266
+ var _a;
2267
+ const {
2268
+ visibleMessages,
2269
+ appendMessage,
2270
+ reloadMessages: defaultReloadMessages,
2271
+ stopGeneration: defaultStopGeneration,
2272
+ runChatCompletion,
2273
+ isLoading
2274
+ } = (0, import_react_core8.useCopilotChat)({
2257
2275
  id: (0, import_shared3.randomId)(),
2258
2276
  makeSystemMessage
2259
2277
  });
@@ -2261,8 +2279,8 @@ var useCopilotChatLogic = (makeSystemMessage, onInProgress, onSubmitMessage) =>
2261
2279
  const suggestionsAbortControllerRef = (0, import_react11.useRef)(null);
2262
2280
  const debounceTimerRef = (0, import_react11.useRef)();
2263
2281
  const abortSuggestions = () => {
2264
- var _a;
2265
- (_a = suggestionsAbortControllerRef.current) == null ? void 0 : _a.abort();
2282
+ var _a2;
2283
+ (_a2 = suggestionsAbortControllerRef.current) == null ? void 0 : _a2.abort();
2266
2284
  suggestionsAbortControllerRef.current = null;
2267
2285
  };
2268
2286
  const generalContext = (0, import_react_core8.useCopilotContext)();
@@ -2288,7 +2306,13 @@ var useCopilotChatLogic = (makeSystemMessage, onInProgress, onSubmitMessage) =>
2288
2306
  return () => {
2289
2307
  clearTimeout(debounceTimerRef.current);
2290
2308
  };
2291
- }, [isLoading, context.chatSuggestionConfiguration]);
2309
+ }, [
2310
+ isLoading,
2311
+ context.chatSuggestionConfiguration,
2312
+ // hackish way to trigger suggestions reload on reset, but better than moving suggestions to the
2313
+ // global context
2314
+ visibleMessages.length == 0
2315
+ ]);
2292
2316
  const sendMessage = (messageContent) => __async(void 0, null, function* () {
2293
2317
  abortSuggestions();
2294
2318
  setCurrentSuggestions([]);
@@ -2306,6 +2330,85 @@ var useCopilotChatLogic = (makeSystemMessage, onInProgress, onSubmitMessage) =>
2306
2330
  appendMessage(message);
2307
2331
  return message;
2308
2332
  });
2333
+ const messages = visibleMessages;
2334
+ const { setMessages } = messagesContext;
2335
+ const currentAgentName = (_a = generalContext.agentSession) == null ? void 0 : _a.agentName;
2336
+ const restartCurrentAgent = (hint) => __async(void 0, null, function* () {
2337
+ if (generalContext.agentSession) {
2338
+ generalContext.setAgentSession(__spreadProps(__spreadValues({}, generalContext.agentSession), {
2339
+ nodeName: void 0,
2340
+ threadId: void 0
2341
+ }));
2342
+ generalContext.setCoagentStates((prevAgentStates) => {
2343
+ return __spreadProps(__spreadValues({}, prevAgentStates), {
2344
+ [generalContext.agentSession.agentName]: __spreadProps(__spreadValues({}, prevAgentStates[generalContext.agentSession.agentName]), {
2345
+ threadId: void 0,
2346
+ nodeName: void 0,
2347
+ runId: void 0
2348
+ })
2349
+ });
2350
+ });
2351
+ }
2352
+ });
2353
+ const runCurrentAgent = (hint) => __async(void 0, null, function* () {
2354
+ if (generalContext.agentSession) {
2355
+ yield (0, import_react_core9.runAgent)(
2356
+ generalContext.agentSession.agentName,
2357
+ context,
2358
+ appendMessage,
2359
+ runChatCompletion,
2360
+ hint
2361
+ );
2362
+ }
2363
+ });
2364
+ const stopCurrentAgent = () => {
2365
+ if (generalContext.agentSession) {
2366
+ (0, import_react_core9.stopAgent)(generalContext.agentSession.agentName, context);
2367
+ }
2368
+ };
2369
+ const setCurrentAgentState = (state) => {
2370
+ if (generalContext.agentSession) {
2371
+ generalContext.setCoagentStates((prevAgentStates) => {
2372
+ return __spreadProps(__spreadValues({}, prevAgentStates), {
2373
+ [generalContext.agentSession.agentName]: {
2374
+ state
2375
+ }
2376
+ });
2377
+ });
2378
+ }
2379
+ };
2380
+ function stopGeneration() {
2381
+ if (onStopGeneration) {
2382
+ onStopGeneration({
2383
+ messages,
2384
+ setMessages,
2385
+ stopGeneration: defaultStopGeneration,
2386
+ currentAgentName,
2387
+ restartCurrentAgent,
2388
+ stopCurrentAgent,
2389
+ runCurrentAgent,
2390
+ setCurrentAgentState
2391
+ });
2392
+ } else {
2393
+ defaultStopGeneration();
2394
+ }
2395
+ }
2396
+ function reloadMessages() {
2397
+ if (onReloadMessages) {
2398
+ onReloadMessages({
2399
+ messages,
2400
+ setMessages,
2401
+ stopGeneration: defaultStopGeneration,
2402
+ currentAgentName,
2403
+ restartCurrentAgent,
2404
+ stopCurrentAgent,
2405
+ runCurrentAgent,
2406
+ setCurrentAgentState
2407
+ });
2408
+ } else {
2409
+ defaultReloadMessages();
2410
+ }
2411
+ }
2309
2412
  return {
2310
2413
  visibleMessages,
2311
2414
  isLoading,