@copilotkit/react-core 1.5.15-next.3 → 1.5.15-next.5

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 (131) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/{chunk-DZCTHC4G.mjs → chunk-5SGZKEPX.mjs} +3 -3
  3. package/dist/chunk-6PNZ77RB.mjs +66 -0
  4. package/dist/chunk-6PNZ77RB.mjs.map +1 -0
  5. package/dist/{chunk-7QGQVBD7.mjs → chunk-7HWSAEOY.mjs} +2 -2
  6. package/dist/{chunk-YJT6IYNV.mjs → chunk-AL3MOOKF.mjs} +2 -2
  7. package/dist/{chunk-67W2A4DM.mjs → chunk-DEPX7JPX.mjs} +10 -6
  8. package/dist/chunk-DEPX7JPX.mjs.map +1 -0
  9. package/dist/{chunk-KGCYVAIN.mjs → chunk-FMROB4TE.mjs} +49 -10
  10. package/dist/chunk-FMROB4TE.mjs.map +1 -0
  11. package/dist/{chunk-PMHLIIAI.mjs → chunk-GANI4ZZM.mjs} +3 -3
  12. package/dist/{chunk-VEQGQAGN.mjs → chunk-H2OR7FUU.mjs} +2 -2
  13. package/dist/chunk-IGLITGLC.mjs +1 -0
  14. package/dist/{chunk-V74U56PX.mjs → chunk-IHWTLSHY.mjs} +2 -2
  15. package/dist/{chunk-TJTOQRGB.mjs → chunk-IU7OLWWW.mjs} +26 -6
  16. package/dist/chunk-IU7OLWWW.mjs.map +1 -0
  17. package/dist/{chunk-GPWNMXSU.mjs → chunk-WU53OU3E.mjs} +2 -2
  18. package/dist/{chunk-S5MSFDGS.mjs → chunk-XOHLZIZK.mjs} +2 -2
  19. package/dist/chunk-ZAU4EMBM.mjs +48 -0
  20. package/dist/chunk-ZAU4EMBM.mjs.map +1 -0
  21. package/dist/{chunk-RKYHRYN3.mjs → chunk-ZM56S3LJ.mjs} +5 -2
  22. package/dist/chunk-ZM56S3LJ.mjs.map +1 -0
  23. package/dist/components/copilot-provider/copilot-messages.js +4 -1
  24. package/dist/components/copilot-provider/copilot-messages.js.map +1 -1
  25. package/dist/components/copilot-provider/copilot-messages.mjs +2 -2
  26. package/dist/components/copilot-provider/copilotkit-props.d.ts +1 -0
  27. package/dist/components/copilot-provider/copilotkit.d.ts +1 -0
  28. package/dist/components/copilot-provider/copilotkit.js +25 -2
  29. package/dist/components/copilot-provider/copilotkit.js.map +1 -1
  30. package/dist/components/copilot-provider/copilotkit.mjs +3 -3
  31. package/dist/components/copilot-provider/index.d.ts +1 -0
  32. package/dist/components/copilot-provider/index.js +25 -2
  33. package/dist/components/copilot-provider/index.js.map +1 -1
  34. package/dist/components/copilot-provider/index.mjs +3 -3
  35. package/dist/components/index.d.ts +1 -0
  36. package/dist/components/index.js +25 -2
  37. package/dist/components/index.js.map +1 -1
  38. package/dist/components/index.mjs +3 -3
  39. package/dist/context/copilot-context.d.ts +5 -1
  40. package/dist/context/copilot-context.js +4 -1
  41. package/dist/context/copilot-context.js.map +1 -1
  42. package/dist/context/copilot-context.mjs +1 -1
  43. package/dist/context/index.d.ts +1 -0
  44. package/dist/context/index.js +4 -1
  45. package/dist/context/index.js.map +1 -1
  46. package/dist/context/index.mjs +1 -1
  47. package/dist/hooks/index.d.ts +3 -0
  48. package/dist/hooks/index.js +150 -13
  49. package/dist/hooks/index.js.map +1 -1
  50. package/dist/hooks/index.mjs +20 -12
  51. package/dist/hooks/use-chat.d.ts +4 -1
  52. package/dist/hooks/use-chat.js +45 -7
  53. package/dist/hooks/use-chat.js.map +1 -1
  54. package/dist/hooks/use-chat.mjs +1 -1
  55. package/dist/hooks/use-coagent-state-render.js +4 -1
  56. package/dist/hooks/use-coagent-state-render.js.map +1 -1
  57. package/dist/hooks/use-coagent-state-render.mjs +2 -2
  58. package/dist/hooks/use-coagent.d.ts +1 -0
  59. package/dist/hooks/use-coagent.js +58 -13
  60. package/dist/hooks/use-coagent.js.map +1 -1
  61. package/dist/hooks/use-coagent.mjs +6 -6
  62. package/dist/hooks/use-copilot-action.js +4 -1
  63. package/dist/hooks/use-copilot-action.js.map +1 -1
  64. package/dist/hooks/use-copilot-action.mjs +2 -2
  65. package/dist/hooks/use-copilot-authenticated-action.js +4 -1
  66. package/dist/hooks/use-copilot-authenticated-action.js.map +1 -1
  67. package/dist/hooks/use-copilot-authenticated-action.mjs +3 -3
  68. package/dist/hooks/use-copilot-chat.d.ts +2 -1
  69. package/dist/hooks/use-copilot-chat.js +58 -13
  70. package/dist/hooks/use-copilot-chat.js.map +1 -1
  71. package/dist/hooks/use-copilot-chat.mjs +5 -5
  72. package/dist/hooks/use-copilot-readable.js +4 -1
  73. package/dist/hooks/use-copilot-readable.js.map +1 -1
  74. package/dist/hooks/use-copilot-readable.mjs +2 -2
  75. package/dist/hooks/use-langgraph-interrupt-render.d.ts +5 -0
  76. package/dist/hooks/use-langgraph-interrupt-render.js +184 -0
  77. package/dist/hooks/use-langgraph-interrupt-render.js.map +1 -0
  78. package/dist/hooks/use-langgraph-interrupt-render.mjs +11 -0
  79. package/dist/hooks/use-langgraph-interrupt-render.mjs.map +1 -0
  80. package/dist/hooks/use-langgraph-interrupt.d.ts +7 -0
  81. package/dist/hooks/use-langgraph-interrupt.js +1050 -0
  82. package/dist/hooks/use-langgraph-interrupt.js.map +1 -0
  83. package/dist/hooks/use-langgraph-interrupt.mjs +25 -0
  84. package/dist/hooks/use-langgraph-interrupt.mjs.map +1 -0
  85. package/dist/hooks/use-make-copilot-document-readable.js +4 -1
  86. package/dist/hooks/use-make-copilot-document-readable.js.map +1 -1
  87. package/dist/hooks/use-make-copilot-document-readable.mjs +2 -2
  88. package/dist/index.d.ts +3 -0
  89. package/dist/index.js +178 -21
  90. package/dist/index.js.map +1 -1
  91. package/dist/index.mjs +21 -13
  92. package/dist/lib/copilot-task.d.ts +1 -0
  93. package/dist/lib/copilot-task.js.map +1 -1
  94. package/dist/lib/copilot-task.mjs +4 -4
  95. package/dist/lib/index.d.ts +1 -0
  96. package/dist/lib/index.js.map +1 -1
  97. package/dist/lib/index.mjs +4 -4
  98. package/dist/types/interrupt-action.d.ts +35 -0
  99. package/dist/types/interrupt-action.js +19 -0
  100. package/dist/types/interrupt-action.js.map +1 -0
  101. package/dist/types/interrupt-action.mjs +1 -0
  102. package/dist/types/interrupt-action.mjs.map +1 -0
  103. package/dist/utils/extract.d.ts +1 -0
  104. package/dist/utils/extract.js.map +1 -1
  105. package/dist/utils/extract.mjs +3 -3
  106. package/dist/utils/index.d.ts +1 -0
  107. package/dist/utils/index.js.map +1 -1
  108. package/dist/utils/index.mjs +3 -3
  109. package/package.json +3 -3
  110. package/src/components/copilot-provider/copilotkit.tsx +25 -0
  111. package/src/context/copilot-context.tsx +12 -3
  112. package/src/hooks/index.ts +2 -0
  113. package/src/hooks/use-chat.ts +52 -1
  114. package/src/hooks/use-copilot-chat.ts +4 -0
  115. package/src/hooks/use-langgraph-interrupt-render.ts +63 -0
  116. package/src/hooks/use-langgraph-interrupt.ts +62 -0
  117. package/src/types/interrupt-action.ts +35 -0
  118. package/dist/chunk-67W2A4DM.mjs.map +0 -1
  119. package/dist/chunk-KGCYVAIN.mjs.map +0 -1
  120. package/dist/chunk-NR2BTA6Z.mjs +0 -1
  121. package/dist/chunk-RKYHRYN3.mjs.map +0 -1
  122. package/dist/chunk-TJTOQRGB.mjs.map +0 -1
  123. /package/dist/{chunk-DZCTHC4G.mjs.map → chunk-5SGZKEPX.mjs.map} +0 -0
  124. /package/dist/{chunk-7QGQVBD7.mjs.map → chunk-7HWSAEOY.mjs.map} +0 -0
  125. /package/dist/{chunk-YJT6IYNV.mjs.map → chunk-AL3MOOKF.mjs.map} +0 -0
  126. /package/dist/{chunk-PMHLIIAI.mjs.map → chunk-GANI4ZZM.mjs.map} +0 -0
  127. /package/dist/{chunk-VEQGQAGN.mjs.map → chunk-H2OR7FUU.mjs.map} +0 -0
  128. /package/dist/{chunk-NR2BTA6Z.mjs.map → chunk-IGLITGLC.mjs.map} +0 -0
  129. /package/dist/{chunk-V74U56PX.mjs.map → chunk-IHWTLSHY.mjs.map} +0 -0
  130. /package/dist/{chunk-GPWNMXSU.mjs.map → chunk-WU53OU3E.mjs.map} +0 -0
  131. /package/dist/{chunk-S5MSFDGS.mjs.map → chunk-XOHLZIZK.mjs.map} +0 -0
@@ -154,7 +154,10 @@ var emptyCopilotContext = {
154
154
  availableAgents: [],
155
155
  extensions: {},
156
156
  setExtensions: () => {
157
- }
157
+ },
158
+ langGraphInterruptAction: null,
159
+ setLangGraphInterruptAction: () => null,
160
+ removeLangGraphInterruptAction: () => null
158
161
  };
159
162
  var CopilotContext = import_react.default.createContext(emptyCopilotContext);
160
163
  function useCopilotContext() {
@@ -187,7 +190,7 @@ function useCopilotMessagesContext() {
187
190
 
188
191
  // src/hooks/use-copilot-chat.ts
189
192
  var import_react8 = require("react");
190
- var import_runtime_client_gql4 = require("@copilotkit/runtime-client-gql");
193
+ var import_runtime_client_gql5 = require("@copilotkit/runtime-client-gql");
191
194
 
192
195
  // src/hooks/use-chat.ts
193
196
  var import_react6 = require("react");
@@ -371,6 +374,7 @@ var useCopilotRuntimeClient = (options) => {
371
374
  };
372
375
 
373
376
  // src/hooks/use-chat.ts
377
+ var import_runtime_client_gql4 = require("@copilotkit/runtime-client-gql");
374
378
  function useChat(options) {
375
379
  const {
376
380
  messages,
@@ -394,7 +398,9 @@ function useChat(options) {
394
398
  chatAbortControllerRef,
395
399
  agentLock,
396
400
  extensions,
397
- setExtensions
401
+ setExtensions,
402
+ langGraphInterruptAction,
403
+ setLangGraphInterruptAction
398
404
  } = options;
399
405
  const runChatCompletionRef = (0, import_react6.useRef)();
400
406
  const addErrorToast = useErrorToast();
@@ -414,7 +420,7 @@ function useChat(options) {
414
420
  });
415
421
  const runChatCompletion = useAsyncCallback(
416
422
  (previousMessages) => __async(this, null, function* () {
417
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
423
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n;
418
424
  setIsLoading(true);
419
425
  let newMessages = [
420
426
  new import_runtime_client_gql3.TextMessage({
@@ -437,6 +443,7 @@ function useChat(options) {
437
443
  threadId,
438
444
  runId: runIdRef.current,
439
445
  extensions: extensionsRef.current,
446
+ metaEvents: composeAndFlushMetaEventsInput([langGraphInterruptAction == null ? void 0 : langGraphInterruptAction.event]),
440
447
  messages: (0, import_runtime_client_gql3.convertMessagesToGqlInput)((0, import_runtime_client_gql3.filterAgentStateMessages)(messagesWithContext))
441
448
  }, copilotConfig.cloud ? {
442
449
  cloud: __spreadValues({}, ((_c = (_b = (_a = copilotConfig.cloud.guardrails) == null ? void 0 : _a.input) == null ? void 0 : _b.restrictToTopic) == null ? void 0 : _c.enabled) ? {
@@ -498,15 +505,22 @@ function useChat(options) {
498
505
  messages2 = (0, import_runtime_client_gql3.convertGqlOutputToMessages)(
499
506
  (0, import_runtime_client_gql3.filterAdjacentAgentStateMessages)(value.generateCopilotResponse.messages)
500
507
  );
508
+ ((_i = (_h = value.generateCopilotResponse) == null ? void 0 : _h.metaEvents) != null ? _i : []).forEach((ev) => {
509
+ if (ev.name === "LangGraphInterruptEvent") {
510
+ setLangGraphInterruptAction({
511
+ event: (0, import_runtime_client_gql3.langGraphInterruptEvent)(ev)
512
+ });
513
+ }
514
+ });
501
515
  if (messages2.length === 0) {
502
516
  continue;
503
517
  }
504
518
  newMessages = [];
505
- if (((_h = value.generateCopilotResponse.status) == null ? void 0 : _h.__typename) === "FailedResponseStatus" && value.generateCopilotResponse.status.reason === "GUARDRAILS_VALIDATION_FAILED") {
519
+ if (((_j = value.generateCopilotResponse.status) == null ? void 0 : _j.__typename) === "FailedResponseStatus" && value.generateCopilotResponse.status.reason === "GUARDRAILS_VALIDATION_FAILED") {
506
520
  newMessages = [
507
521
  new import_runtime_client_gql3.TextMessage({
508
522
  role: import_runtime_client_gql3.MessageRole.Assistant,
509
- content: ((_i = value.generateCopilotResponse.status.details) == null ? void 0 : _i.guardrailsReason) || ""
523
+ content: ((_k = value.generateCopilotResponse.status.details) == null ? void 0 : _k.guardrailsReason) || ""
510
524
  })
511
525
  ];
512
526
  setMessages([...previousMessages, ...newMessages]);
@@ -644,11 +658,11 @@ function useChat(options) {
644
658
  followUp !== false && // and we executed an action
645
659
  (didExecuteAction || // the last message is a server side result
646
660
  !isAgentRun && finalMessages.length && finalMessages[finalMessages.length - 1].isResultMessage()) && // the user did not stop generation
647
- !((_j = chatAbortControllerRef.current) == null ? void 0 : _j.signal.aborted)
661
+ !((_l = chatAbortControllerRef.current) == null ? void 0 : _l.signal.aborted)
648
662
  ) {
649
663
  yield new Promise((resolve) => setTimeout(resolve, 10));
650
664
  return yield runChatCompletionRef.current(finalMessages);
651
- } else if ((_k = chatAbortControllerRef.current) == null ? void 0 : _k.signal.aborted) {
665
+ } else if ((_m = chatAbortControllerRef.current) == null ? void 0 : _m.signal.aborted) {
652
666
  const repairedMessages = finalMessages.filter((message, actionExecutionIndex) => {
653
667
  if (message.isActionExecutionMessage()) {
654
668
  return finalMessages.find(
@@ -659,7 +673,7 @@ function useChat(options) {
659
673
  });
660
674
  const repairedMessageIds = repairedMessages.map((message) => message.id);
661
675
  setMessages(repairedMessages);
662
- if ((_l = agentSessionRef.current) == null ? void 0 : _l.nodeName) {
676
+ if ((_n = agentSessionRef.current) == null ? void 0 : _n.nodeName) {
663
677
  setAgentSession({
664
678
  threadId: agentSessionRef.current.threadId,
665
679
  agentName: agentSessionRef.current.agentName,
@@ -698,6 +712,33 @@ function useChat(options) {
698
712
  }),
699
713
  [messages]
700
714
  );
715
+ const composeAndFlushMetaEventsInput = (0, import_react6.useCallback)(
716
+ (metaEvents) => {
717
+ return metaEvents.reduce((acc, event) => {
718
+ if (!event)
719
+ return acc;
720
+ switch (event.name) {
721
+ case import_runtime_client_gql4.MetaEventName.LangGraphInterruptEvent:
722
+ if (event.response) {
723
+ setLangGraphInterruptAction(null);
724
+ return [
725
+ ...acc,
726
+ {
727
+ type: event.type,
728
+ name: event.name,
729
+ value: event.value,
730
+ response: event.response
731
+ }
732
+ ];
733
+ }
734
+ return acc;
735
+ default:
736
+ return acc;
737
+ }
738
+ }, []);
739
+ },
740
+ [setLangGraphInterruptAction]
741
+ );
701
742
  const append = useAsyncCallback(
702
743
  (message, options2) => __async(this, null, function* () {
703
744
  var _a;
@@ -789,7 +830,9 @@ function useCopilotChat(_a = {}) {
789
830
  setRunId,
790
831
  chatAbortControllerRef,
791
832
  extensions,
792
- setExtensions
833
+ setExtensions,
834
+ langGraphInterruptAction,
835
+ setLangGraphInterruptAction
793
836
  } = useCopilotContext();
794
837
  const { messages, setMessages } = useCopilotMessagesContext();
795
838
  const latestGetContextString = useUpdatedRef(getContextString);
@@ -802,9 +845,9 @@ function useCopilotChat(_a = {}) {
802
845
  const makeSystemMessageCallback = (0, import_react8.useCallback)(() => {
803
846
  const systemMessageMaker = makeSystemMessage || defaultSystemMessage;
804
847
  const contextString = latestGetContextString.current([], defaultCopilotContextCategories);
805
- return new import_runtime_client_gql4.TextMessage({
848
+ return new import_runtime_client_gql5.TextMessage({
806
849
  content: systemMessageMaker(contextString, chatInstructions),
807
- role: import_runtime_client_gql4.Role.System
850
+ role: import_runtime_client_gql5.Role.System
808
851
  });
809
852
  }, [getContextString, makeSystemMessage, chatInstructions]);
810
853
  const onCoAgentStateRender = useAsyncCallback(
@@ -848,7 +891,9 @@ function useCopilotChat(_a = {}) {
848
891
  chatAbortControllerRef,
849
892
  agentLock,
850
893
  extensions,
851
- setExtensions
894
+ setExtensions,
895
+ langGraphInterruptAction,
896
+ setLangGraphInterruptAction
852
897
  }));
853
898
  const latestAppend = useUpdatedRef(append);
854
899
  const latestAppendFunc = useAsyncCallback(