@copilotkit/react-core 1.8.7 → 1.8.8-next.1

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 (115) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/{chunk-GOK4PDQO.mjs → chunk-2ZKWBDBN.mjs} +2 -2
  3. package/dist/{chunk-UR6DW5BN.mjs → chunk-477456TY.mjs} +2 -2
  4. package/dist/{chunk-7VCWAAWC.mjs → chunk-4EXRQ5D5.mjs} +2 -2
  5. package/dist/{chunk-UDUFMGWQ.mjs → chunk-7WG4MNRX.mjs} +1 -1
  6. package/dist/chunk-7WG4MNRX.mjs.map +1 -0
  7. package/dist/{chunk-7HP5NS5T.mjs → chunk-A4DYMTV4.mjs} +3 -3
  8. package/dist/{chunk-5TVV6FJD.mjs → chunk-B3CERZDI.mjs} +2 -2
  9. package/dist/{chunk-KF5SB2VB.mjs → chunk-GBAZTXPQ.mjs} +2 -2
  10. package/dist/{chunk-JWE4IXSG.mjs → chunk-INRN7B2F.mjs} +2 -2
  11. package/dist/{chunk-Y3N54L72.mjs → chunk-IWOK6HLS.mjs} +36 -21
  12. package/dist/chunk-IWOK6HLS.mjs.map +1 -0
  13. package/dist/{chunk-JF5EIUQ7.mjs → chunk-K5FB4UFF.mjs} +2 -2
  14. package/dist/{chunk-KAMKS5U6.mjs → chunk-LDZIBBRX.mjs} +4 -6
  15. package/dist/chunk-LDZIBBRX.mjs.map +1 -0
  16. package/dist/{chunk-DMQB35FC.mjs → chunk-OSVDTMKA.mjs} +2 -2
  17. package/dist/{chunk-FRRPZKXW.mjs → chunk-W3QHAZKD.mjs} +3 -3
  18. package/dist/{chunk-FNTV7DBR.mjs → chunk-YN3P6OCX.mjs} +3 -3
  19. package/dist/{chunk-6OMSQLHC.mjs → chunk-ZXJHNU6Q.mjs} +20 -13
  20. package/dist/chunk-ZXJHNU6Q.mjs.map +1 -0
  21. package/dist/components/copilot-provider/copilot-messages.js.map +1 -1
  22. package/dist/components/copilot-provider/copilot-messages.mjs +2 -2
  23. package/dist/components/copilot-provider/copilotkit-props.d.ts +1 -18
  24. package/dist/components/copilot-provider/copilotkit-props.js.map +1 -1
  25. package/dist/components/copilot-provider/copilotkit.d.ts +1 -1
  26. package/dist/components/copilot-provider/copilotkit.js +1 -3
  27. package/dist/components/copilot-provider/copilotkit.js.map +1 -1
  28. package/dist/components/copilot-provider/copilotkit.mjs +3 -3
  29. package/dist/components/copilot-provider/index.d.ts +1 -1
  30. package/dist/components/copilot-provider/index.js +1 -3
  31. package/dist/components/copilot-provider/index.js.map +1 -1
  32. package/dist/components/copilot-provider/index.mjs +3 -3
  33. package/dist/components/index.d.ts +1 -1
  34. package/dist/components/index.js +1 -3
  35. package/dist/components/index.js.map +1 -1
  36. package/dist/components/index.mjs +3 -3
  37. package/dist/context/copilot-context.d.ts +1 -1
  38. package/dist/context/copilot-context.js.map +1 -1
  39. package/dist/context/copilot-context.mjs +1 -1
  40. package/dist/context/index.d.ts +1 -1
  41. package/dist/context/index.js.map +1 -1
  42. package/dist/context/index.mjs +1 -1
  43. package/dist/{copilot-context-0e923eb1.d.ts → copilot-context-8fb74a85.d.ts} +1 -1
  44. package/dist/hooks/index.d.ts +1 -1
  45. package/dist/hooks/index.js +50 -28
  46. package/dist/hooks/index.js.map +1 -1
  47. package/dist/hooks/index.mjs +14 -14
  48. package/dist/hooks/use-chat.d.ts +1 -1
  49. package/dist/hooks/use-chat.js +19 -12
  50. package/dist/hooks/use-chat.js.map +1 -1
  51. package/dist/hooks/use-chat.mjs +1 -1
  52. package/dist/hooks/use-coagent-state-render.js.map +1 -1
  53. package/dist/hooks/use-coagent-state-render.mjs +2 -2
  54. package/dist/hooks/use-coagent.d.ts +1 -1
  55. package/dist/hooks/use-coagent.js +50 -28
  56. package/dist/hooks/use-coagent.js.map +1 -1
  57. package/dist/hooks/use-coagent.mjs +6 -6
  58. package/dist/hooks/use-copilot-action.js.map +1 -1
  59. package/dist/hooks/use-copilot-action.mjs +2 -2
  60. package/dist/hooks/use-copilot-additional-instructions.js.map +1 -1
  61. package/dist/hooks/use-copilot-additional-instructions.mjs +2 -2
  62. package/dist/hooks/use-copilot-authenticated-action.js.map +1 -1
  63. package/dist/hooks/use-copilot-authenticated-action.mjs +3 -3
  64. package/dist/hooks/use-copilot-chat.d.ts +8 -2
  65. package/dist/hooks/use-copilot-chat.js +50 -28
  66. package/dist/hooks/use-copilot-chat.js.map +1 -1
  67. package/dist/hooks/use-copilot-chat.mjs +5 -5
  68. package/dist/hooks/use-copilot-readable.js.map +1 -1
  69. package/dist/hooks/use-copilot-readable.mjs +2 -2
  70. package/dist/hooks/use-langgraph-interrupt-render.js.map +1 -1
  71. package/dist/hooks/use-langgraph-interrupt-render.mjs +2 -2
  72. package/dist/hooks/use-langgraph-interrupt.d.ts +1 -1
  73. package/dist/hooks/use-langgraph-interrupt.js +50 -28
  74. package/dist/hooks/use-langgraph-interrupt.js.map +1 -1
  75. package/dist/hooks/use-langgraph-interrupt.mjs +6 -6
  76. package/dist/hooks/use-make-copilot-document-readable.js.map +1 -1
  77. package/dist/hooks/use-make-copilot-document-readable.mjs +2 -2
  78. package/dist/index.d.ts +1 -1
  79. package/dist/index.js +51 -31
  80. package/dist/index.js.map +1 -1
  81. package/dist/index.mjs +15 -15
  82. package/dist/lib/copilot-task.d.ts +1 -1
  83. package/dist/lib/copilot-task.js.map +1 -1
  84. package/dist/lib/copilot-task.mjs +4 -4
  85. package/dist/lib/index.d.ts +1 -1
  86. package/dist/lib/index.js.map +1 -1
  87. package/dist/lib/index.mjs +4 -4
  88. package/dist/types/interrupt-action.d.ts +1 -1
  89. package/dist/utils/extract.d.ts +1 -1
  90. package/dist/utils/extract.js.map +1 -1
  91. package/dist/utils/extract.mjs +3 -3
  92. package/dist/utils/index.d.ts +1 -1
  93. package/dist/utils/index.js.map +1 -1
  94. package/dist/utils/index.mjs +3 -3
  95. package/package.json +3 -3
  96. package/src/components/copilot-provider/copilotkit-props.tsx +0 -16
  97. package/src/components/copilot-provider/copilotkit.tsx +0 -2
  98. package/src/context/copilot-context.tsx +1 -1
  99. package/src/hooks/use-chat.ts +30 -4
  100. package/src/hooks/use-copilot-chat.ts +52 -27
  101. package/dist/chunk-6OMSQLHC.mjs.map +0 -1
  102. package/dist/chunk-KAMKS5U6.mjs.map +0 -1
  103. package/dist/chunk-UDUFMGWQ.mjs.map +0 -1
  104. package/dist/chunk-Y3N54L72.mjs.map +0 -1
  105. /package/dist/{chunk-GOK4PDQO.mjs.map → chunk-2ZKWBDBN.mjs.map} +0 -0
  106. /package/dist/{chunk-UR6DW5BN.mjs.map → chunk-477456TY.mjs.map} +0 -0
  107. /package/dist/{chunk-7VCWAAWC.mjs.map → chunk-4EXRQ5D5.mjs.map} +0 -0
  108. /package/dist/{chunk-7HP5NS5T.mjs.map → chunk-A4DYMTV4.mjs.map} +0 -0
  109. /package/dist/{chunk-5TVV6FJD.mjs.map → chunk-B3CERZDI.mjs.map} +0 -0
  110. /package/dist/{chunk-KF5SB2VB.mjs.map → chunk-GBAZTXPQ.mjs.map} +0 -0
  111. /package/dist/{chunk-JWE4IXSG.mjs.map → chunk-INRN7B2F.mjs.map} +0 -0
  112. /package/dist/{chunk-JF5EIUQ7.mjs.map → chunk-K5FB4UFF.mjs.map} +0 -0
  113. /package/dist/{chunk-DMQB35FC.mjs.map → chunk-OSVDTMKA.mjs.map} +0 -0
  114. /package/dist/{chunk-FRRPZKXW.mjs.map → chunk-W3QHAZKD.mjs.map} +0 -0
  115. /package/dist/{chunk-FNTV7DBR.mjs.map → chunk-YN3P6OCX.mjs.map} +0 -0
@@ -406,7 +406,7 @@ function useChat(options) {
406
406
  });
407
407
  const runChatCompletion = useAsyncCallback(
408
408
  (previousMessages) => __async(this, null, function* () {
409
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
409
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o;
410
410
  setIsLoading(true);
411
411
  const interruptEvent = langGraphInterruptAction == null ? void 0 : langGraphInterruptAction.event;
412
412
  if ((interruptEvent == null ? void 0 : interruptEvent.name) === import_runtime_client_gql3.MetaEventName.LangGraphInterruptEvent && (interruptEvent == null ? void 0 : interruptEvent.value) && !(interruptEvent == null ? void 0 : interruptEvent.response) && agentSessionRef.current) {
@@ -427,8 +427,15 @@ function useChat(options) {
427
427
  const systemMessage = makeSystemMessageCallback();
428
428
  const messagesWithContext = [systemMessage, ...initialMessages || [], ...previousMessages];
429
429
  const finalProperties = __spreadValues({}, copilotConfig.properties || {});
430
- if (copilotConfig.mcpEndpoints && copilotConfig.mcpEndpoints.length > 0) {
431
- finalProperties.mcpEndpoints = copilotConfig.mcpEndpoints;
430
+ let mcpServersToUse = null;
431
+ if (copilotConfig.mcpServers && Array.isArray(copilotConfig.mcpServers) && copilotConfig.mcpServers.length > 0) {
432
+ mcpServersToUse = copilotConfig.mcpServers;
433
+ } else if (((_a = copilotConfig.properties) == null ? void 0 : _a.mcpServers) && Array.isArray(copilotConfig.properties.mcpServers) && copilotConfig.properties.mcpServers.length > 0) {
434
+ mcpServersToUse = copilotConfig.properties.mcpServers;
435
+ }
436
+ if (mcpServersToUse) {
437
+ finalProperties.mcpServers = mcpServersToUse;
438
+ copilotConfig.mcpServers = mcpServersToUse;
432
439
  }
433
440
  const isAgentRun = agentSessionRef.current !== null;
434
441
  const stream = runtimeClient.asStream(
@@ -444,7 +451,7 @@ function useChat(options) {
444
451
  metaEvents: composeAndFlushMetaEventsInput([langGraphInterruptAction == null ? void 0 : langGraphInterruptAction.event]),
445
452
  messages: (0, import_runtime_client_gql3.convertMessagesToGqlInput)((0, import_runtime_client_gql3.filterAgentStateMessages)(messagesWithContext))
446
453
  }, copilotConfig.cloud ? {
447
- cloud: __spreadValues({}, ((_c = (_b = (_a = copilotConfig.cloud.guardrails) == null ? void 0 : _a.input) == null ? void 0 : _b.restrictToTopic) == null ? void 0 : _c.enabled) ? {
454
+ cloud: __spreadValues({}, ((_d = (_c = (_b = copilotConfig.cloud.guardrails) == null ? void 0 : _b.input) == null ? void 0 : _c.restrictToTopic) == null ? void 0 : _d.enabled) ? {
448
455
  guardrails: {
449
456
  inputValidationRules: {
450
457
  allowList: copilotConfig.cloud.guardrails.input.restrictToTopic.validTopics,
@@ -470,10 +477,10 @@ function useChat(options) {
470
477
  forwardedParameters: options.forwardedParameters || {}
471
478
  }),
472
479
  properties: finalProperties,
473
- signal: (_d = chatAbortControllerRef.current) == null ? void 0 : _d.signal
480
+ signal: (_e = chatAbortControllerRef.current) == null ? void 0 : _e.signal
474
481
  })
475
482
  );
476
- const guardrailsEnabled = ((_g = (_f = (_e = copilotConfig.cloud) == null ? void 0 : _e.guardrails) == null ? void 0 : _f.input) == null ? void 0 : _g.restrictToTopic.enabled) || false;
483
+ const guardrailsEnabled = ((_h = (_g = (_f = copilotConfig.cloud) == null ? void 0 : _f.guardrails) == null ? void 0 : _g.input) == null ? void 0 : _h.restrictToTopic.enabled) || false;
477
484
  const reader = stream.getReader();
478
485
  let executedCoAgentStateRenders = [];
479
486
  let followUp = void 0;
@@ -506,7 +513,7 @@ function useChat(options) {
506
513
  setRunId(runIdRef.current);
507
514
  setExtensions(extensionsRef.current);
508
515
  let rawMessagesResponse = value.generateCopilotResponse.messages;
509
- const metaEvents = (_i = (_h = value.generateCopilotResponse) == null ? void 0 : _h.metaEvents) != null ? _i : [];
516
+ const metaEvents = (_j = (_i = value.generateCopilotResponse) == null ? void 0 : _i.metaEvents) != null ? _j : [];
510
517
  (metaEvents != null ? metaEvents : []).forEach((ev) => {
511
518
  if (ev.name === import_runtime_client_gql3.MetaEventName.LangGraphInterruptEvent) {
512
519
  let eventValue = (0, import_runtime_client_gql3.langGraphInterruptEvent)(ev).value;
@@ -533,11 +540,11 @@ function useChat(options) {
533
540
  continue;
534
541
  }
535
542
  newMessages = [];
536
- if (((_j = value.generateCopilotResponse.status) == null ? void 0 : _j.__typename) === "FailedResponseStatus" && value.generateCopilotResponse.status.reason === "GUARDRAILS_VALIDATION_FAILED") {
543
+ if (((_k = value.generateCopilotResponse.status) == null ? void 0 : _k.__typename) === "FailedResponseStatus" && value.generateCopilotResponse.status.reason === "GUARDRAILS_VALIDATION_FAILED") {
537
544
  newMessages = [
538
545
  new import_runtime_client_gql3.TextMessage({
539
546
  role: import_runtime_client_gql3.MessageRole.Assistant,
540
- content: ((_k = value.generateCopilotResponse.status.details) == null ? void 0 : _k.guardrailsReason) || ""
547
+ content: ((_l = value.generateCopilotResponse.status.details) == null ? void 0 : _l.guardrailsReason) || ""
541
548
  })
542
549
  ];
543
550
  setMessages([...previousMessages, ...newMessages]);
@@ -672,11 +679,11 @@ function useChat(options) {
672
679
  followUp !== false && // and we executed an action
673
680
  (didExecuteAction || // the last message is a server side result
674
681
  !isAgentRun && finalMessages.length && finalMessages[finalMessages.length - 1].isResultMessage()) && // the user did not stop generation
675
- !((_l = chatAbortControllerRef.current) == null ? void 0 : _l.signal.aborted)
682
+ !((_m = chatAbortControllerRef.current) == null ? void 0 : _m.signal.aborted)
676
683
  ) {
677
684
  yield new Promise((resolve) => setTimeout(resolve, 10));
678
685
  return yield runChatCompletionRef.current(finalMessages);
679
- } else if ((_m = chatAbortControllerRef.current) == null ? void 0 : _m.signal.aborted) {
686
+ } else if ((_n = chatAbortControllerRef.current) == null ? void 0 : _n.signal.aborted) {
680
687
  const repairedMessages = finalMessages.filter((message, actionExecutionIndex) => {
681
688
  if (message.isActionExecutionMessage()) {
682
689
  return finalMessages.find(
@@ -687,7 +694,7 @@ function useChat(options) {
687
694
  });
688
695
  const repairedMessageIds = repairedMessages.map((message) => message.id);
689
696
  setMessages(repairedMessages);
690
- if ((_n = agentSessionRef.current) == null ? void 0 : _n.nodeName) {
697
+ if ((_o = agentSessionRef.current) == null ? void 0 : _o.nodeName) {
691
698
  setAgentSession({
692
699
  threadId: agentSessionRef.current.threadId,
693
700
  agentName: agentSessionRef.current.agentName,
@@ -936,21 +943,20 @@ function useCopilotChat(_a = {}) {
936
943
  setLangGraphInterruptAction
937
944
  } = useCopilotContext();
938
945
  const { messages, setMessages } = useCopilotMessagesContext();
939
- const latestGetContextString = useUpdatedRef(getContextString);
940
- const deleteMessage = (0, import_react8.useCallback)(
941
- (messageId) => {
942
- setMessages((prev) => prev.filter((message) => message.id !== messageId));
943
- },
944
- [setMessages]
945
- );
946
- const makeSystemMessageCallback = (0, import_react8.useCallback)(() => {
947
- const systemMessageMaker = makeSystemMessage || defaultSystemMessage;
948
- const contextString = latestGetContextString.current([], defaultCopilotContextCategories);
949
- return new import_runtime_client_gql4.TextMessage({
950
- content: systemMessageMaker(contextString, chatInstructions),
951
- role: import_runtime_client_gql4.Role.System
952
- });
953
- }, [getContextString, makeSystemMessage, chatInstructions]);
946
+ const [mcpServers, setLocalMcpServers] = (0, import_react8.useState)([]);
947
+ (0, import_react8.useEffect)(() => {
948
+ if (mcpServers.length > 0) {
949
+ const serversCopy = [...mcpServers];
950
+ copilotApiConfig.mcpServers = serversCopy;
951
+ if (!copilotApiConfig.properties) {
952
+ copilotApiConfig.properties = {};
953
+ }
954
+ copilotApiConfig.properties.mcpServers = serversCopy;
955
+ }
956
+ }, [mcpServers, copilotApiConfig]);
957
+ const setMcpServers = (0, import_react8.useCallback)((servers) => {
958
+ setLocalMcpServers(servers);
959
+ }, []);
954
960
  const onCoAgentStateRender = useAsyncCallback(
955
961
  (args) => __async(this, null, function* () {
956
962
  var _a2;
@@ -969,6 +975,20 @@ function useCopilotChat(_a = {}) {
969
975
  }),
970
976
  [coAgentStateRenders]
971
977
  );
978
+ const makeSystemMessageCallback = (0, import_react8.useCallback)(() => {
979
+ const systemMessageMaker = makeSystemMessage || defaultSystemMessage;
980
+ const contextString = getContextString([], defaultCopilotContextCategories);
981
+ return new import_runtime_client_gql4.TextMessage({
982
+ content: systemMessageMaker(contextString, chatInstructions),
983
+ role: import_runtime_client_gql4.Role.System
984
+ });
985
+ }, [getContextString, makeSystemMessage, chatInstructions]);
986
+ const deleteMessage = (0, import_react8.useCallback)(
987
+ (messageId) => {
988
+ setMessages((prev) => prev.filter((message) => message.id !== messageId));
989
+ },
990
+ [setMessages]
991
+ );
972
992
  const { append, reload, stop, runChatCompletion } = useChat(__spreadProps(__spreadValues({}, options), {
973
993
  actions: Object.values(actions),
974
994
  copilotConfig: copilotApiConfig,
@@ -1065,7 +1085,9 @@ function useCopilotChat(_a = {}) {
1065
1085
  reset: latestResetFunc,
1066
1086
  deleteMessage: latestDeleteFunc,
1067
1087
  runChatCompletion: latestRunChatCompletionFunc,
1068
- isLoading
1088
+ isLoading,
1089
+ mcpServers,
1090
+ setMcpServers
1069
1091
  };
1070
1092
  }
1071
1093
  function useUpdatedRef(value) {