@copilotkit/react-core 1.10.5-next.10 → 1.10.5-next.2

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 (156) hide show
  1. package/CHANGELOG.md +0 -59
  2. package/dist/{chunk-M37URBJS.mjs → chunk-2MGJO3FY.mjs} +7 -7
  3. package/dist/{chunk-3WUDRJTT.mjs → chunk-2QZSAQTX.mjs} +4 -4
  4. package/dist/{chunk-HDOG2RTM.mjs → chunk-36FJAVOF.mjs} +2 -2
  5. package/dist/{chunk-BBUQMG45.mjs → chunk-CXDK6XA5.mjs} +2 -2
  6. package/dist/{chunk-TUTNHDM3.mjs → chunk-DSDAZA3B.mjs} +4 -4
  7. package/dist/{chunk-CUWOXXM5.mjs → chunk-FRXYSJGZ.mjs} +3 -3
  8. package/dist/{chunk-HI6SPUOX.mjs → chunk-JEMBA7PE.mjs} +4 -4
  9. package/dist/{chunk-GIGUZ2OK.mjs → chunk-KWS75AOU.mjs} +3 -3
  10. package/dist/{chunk-MGWRDFBE.mjs → chunk-MZ37BAAE.mjs} +2 -2
  11. package/dist/{chunk-L3I57GMV.mjs → chunk-N4VN2B5S.mjs} +4 -4
  12. package/dist/{chunk-7LTRT3IV.mjs → chunk-O73FZGSU.mjs} +8 -8
  13. package/dist/{chunk-HYJUBYMU.mjs → chunk-OLXYK6PP.mjs} +10 -10
  14. package/dist/{chunk-ZVOLWJCY.mjs → chunk-QF3Q5LUN.mjs} +5 -5
  15. package/dist/chunk-QF3Q5LUN.mjs.map +1 -0
  16. package/dist/{chunk-JCHRWCYH.mjs → chunk-RLT4KZR4.mjs} +3 -3
  17. package/dist/{chunk-IHV5PTID.mjs → chunk-UPQPBCUW.mjs} +4 -4
  18. package/dist/{chunk-3N4MVKFZ.mjs → chunk-WBBJMOZI.mjs} +18 -20
  19. package/dist/chunk-WBBJMOZI.mjs.map +1 -0
  20. package/dist/{chunk-L5MS4UDD.mjs → chunk-WRPXFDFL.mjs} +7 -13
  21. package/dist/chunk-WRPXFDFL.mjs.map +1 -0
  22. package/dist/{chunk-JBACWIFW.mjs → chunk-XFJNMZ6X.mjs} +2 -2
  23. package/dist/{chunk-EUX2P2E7.mjs → chunk-YHT6CWIY.mjs} +3 -5
  24. package/dist/{chunk-EUX2P2E7.mjs.map → chunk-YHT6CWIY.mjs.map} +1 -1
  25. package/dist/{chunk-ITDKIB5E.mjs → chunk-ZRDV3MVW.mjs} +30 -37
  26. package/dist/chunk-ZRDV3MVW.mjs.map +1 -0
  27. package/dist/components/copilot-provider/copilot-messages.js +2 -4
  28. package/dist/components/copilot-provider/copilot-messages.js.map +1 -1
  29. package/dist/components/copilot-provider/copilot-messages.mjs +3 -3
  30. package/dist/components/copilot-provider/copilotkit-props.d.ts +1 -1
  31. package/dist/components/copilot-provider/copilotkit.d.ts +1 -1
  32. package/dist/components/copilot-provider/copilotkit.js +21 -30
  33. package/dist/components/copilot-provider/copilotkit.js.map +1 -1
  34. package/dist/components/copilot-provider/copilotkit.mjs +10 -10
  35. package/dist/components/copilot-provider/index.d.ts +1 -1
  36. package/dist/components/copilot-provider/index.js +21 -30
  37. package/dist/components/copilot-provider/index.js.map +1 -1
  38. package/dist/components/copilot-provider/index.mjs +10 -10
  39. package/dist/components/dev-console/console-trigger.js +2 -4
  40. package/dist/components/dev-console/console-trigger.js.map +1 -1
  41. package/dist/components/dev-console/console-trigger.mjs +3 -3
  42. package/dist/components/dev-console/developer-console-modal.js +2 -4
  43. package/dist/components/dev-console/developer-console-modal.js.map +1 -1
  44. package/dist/components/dev-console/developer-console-modal.mjs +2 -2
  45. package/dist/components/error-boundary/error-boundary.mjs +2 -2
  46. package/dist/components/index.d.ts +1 -1
  47. package/dist/components/index.js +21 -30
  48. package/dist/components/index.js.map +1 -1
  49. package/dist/components/index.mjs +10 -10
  50. package/dist/context/copilot-context.d.ts +1 -1
  51. package/dist/context/copilot-context.js +2 -4
  52. package/dist/context/copilot-context.js.map +1 -1
  53. package/dist/context/copilot-context.mjs +1 -1
  54. package/dist/context/copilot-messages-context.d.ts +2 -2
  55. package/dist/context/index.d.ts +2 -2
  56. package/dist/context/index.js +2 -4
  57. package/dist/context/index.js.map +1 -1
  58. package/dist/context/index.mjs +4 -4
  59. package/dist/{copilot-context-cf9de848.d.ts → copilot-context-59740e82.d.ts} +2 -2
  60. package/dist/hooks/index.d.ts +2 -2
  61. package/dist/hooks/index.js +18 -28
  62. package/dist/hooks/index.js.map +1 -1
  63. package/dist/hooks/index.mjs +34 -34
  64. package/dist/hooks/use-chat.d.ts +1 -1
  65. package/dist/hooks/use-chat.js +13 -17
  66. package/dist/hooks/use-chat.js.map +1 -1
  67. package/dist/hooks/use-chat.mjs +4 -4
  68. package/dist/hooks/use-coagent-state-render.js +2 -4
  69. package/dist/hooks/use-coagent-state-render.js.map +1 -1
  70. package/dist/hooks/use-coagent-state-render.mjs +2 -2
  71. package/dist/hooks/use-coagent.d.ts +1 -1
  72. package/dist/hooks/use-coagent.js +16 -20
  73. package/dist/hooks/use-coagent.js.map +1 -1
  74. package/dist/hooks/use-coagent.mjs +16 -16
  75. package/dist/hooks/use-copilot-action.js +2 -4
  76. package/dist/hooks/use-copilot-action.js.map +1 -1
  77. package/dist/hooks/use-copilot-action.mjs +2 -2
  78. package/dist/hooks/use-copilot-additional-instructions.js +2 -4
  79. package/dist/hooks/use-copilot-additional-instructions.js.map +1 -1
  80. package/dist/hooks/use-copilot-additional-instructions.mjs +2 -2
  81. package/dist/hooks/use-copilot-authenticated-action.js +2 -4
  82. package/dist/hooks/use-copilot-authenticated-action.js.map +1 -1
  83. package/dist/hooks/use-copilot-authenticated-action.mjs +3 -3
  84. package/dist/hooks/use-copilot-chat-headless_c.d.ts +2 -2
  85. package/dist/hooks/use-copilot-chat-headless_c.js +16 -20
  86. package/dist/hooks/use-copilot-chat-headless_c.js.map +1 -1
  87. package/dist/hooks/use-copilot-chat-headless_c.mjs +16 -16
  88. package/dist/hooks/use-copilot-chat.d.ts +2 -2
  89. package/dist/hooks/use-copilot-chat.js +16 -20
  90. package/dist/hooks/use-copilot-chat.js.map +1 -1
  91. package/dist/hooks/use-copilot-chat.mjs +16 -16
  92. package/dist/hooks/use-copilot-chat_internal.d.ts +2 -2
  93. package/dist/hooks/use-copilot-chat_internal.js +16 -20
  94. package/dist/hooks/use-copilot-chat_internal.js.map +1 -1
  95. package/dist/hooks/use-copilot-chat_internal.mjs +15 -15
  96. package/dist/hooks/use-copilot-readable.js +2 -4
  97. package/dist/hooks/use-copilot-readable.js.map +1 -1
  98. package/dist/hooks/use-copilot-readable.mjs +2 -2
  99. package/dist/hooks/use-langgraph-interrupt-render.js +5 -7
  100. package/dist/hooks/use-langgraph-interrupt-render.js.map +1 -1
  101. package/dist/hooks/use-langgraph-interrupt-render.mjs +2 -2
  102. package/dist/hooks/use-langgraph-interrupt.d.ts +1 -1
  103. package/dist/hooks/use-langgraph-interrupt.js +18 -28
  104. package/dist/hooks/use-langgraph-interrupt.js.map +1 -1
  105. package/dist/hooks/use-langgraph-interrupt.mjs +16 -16
  106. package/dist/hooks/use-make-copilot-document-readable.js +2 -4
  107. package/dist/hooks/use-make-copilot-document-readable.js.map +1 -1
  108. package/dist/hooks/use-make-copilot-document-readable.mjs +2 -2
  109. package/dist/{index-1f5b66ac.d.ts → index-d1743abe.d.ts} +1 -1
  110. package/dist/index.d.ts +2 -2
  111. package/dist/index.js +37 -54
  112. package/dist/index.js.map +1 -1
  113. package/dist/index.mjs +39 -39
  114. package/dist/lib/copilot-task.d.ts +1 -1
  115. package/dist/lib/copilot-task.js.map +1 -1
  116. package/dist/lib/copilot-task.mjs +12 -12
  117. package/dist/lib/index.d.ts +1 -1
  118. package/dist/lib/index.js.map +1 -1
  119. package/dist/lib/index.mjs +12 -12
  120. package/dist/types/interrupt-action.d.ts +1 -1
  121. package/dist/types/interrupt-action.js.map +1 -1
  122. package/dist/utils/extract.d.ts +2 -2
  123. package/dist/utils/extract.js.map +1 -1
  124. package/dist/utils/extract.mjs +10 -10
  125. package/dist/utils/index.d.ts +2 -2
  126. package/dist/utils/index.js.map +1 -1
  127. package/dist/utils/index.mjs +10 -10
  128. package/dist/utils/suggestions.d.ts +2 -2
  129. package/dist/utils/suggestions.js.map +1 -1
  130. package/dist/utils/suggestions.mjs +10 -10
  131. package/package.json +3 -3
  132. package/src/components/copilot-provider/copilotkit.tsx +17 -27
  133. package/src/context/copilot-context.tsx +3 -3
  134. package/src/hooks/use-chat.ts +7 -9
  135. package/src/hooks/use-langgraph-interrupt-render.ts +3 -4
  136. package/src/hooks/use-langgraph-interrupt.ts +3 -8
  137. package/src/types/interrupt-action.ts +1 -4
  138. package/dist/chunk-3N4MVKFZ.mjs.map +0 -1
  139. package/dist/chunk-ITDKIB5E.mjs.map +0 -1
  140. package/dist/chunk-L5MS4UDD.mjs.map +0 -1
  141. package/dist/chunk-ZVOLWJCY.mjs.map +0 -1
  142. /package/dist/{chunk-M37URBJS.mjs.map → chunk-2MGJO3FY.mjs.map} +0 -0
  143. /package/dist/{chunk-3WUDRJTT.mjs.map → chunk-2QZSAQTX.mjs.map} +0 -0
  144. /package/dist/{chunk-HDOG2RTM.mjs.map → chunk-36FJAVOF.mjs.map} +0 -0
  145. /package/dist/{chunk-BBUQMG45.mjs.map → chunk-CXDK6XA5.mjs.map} +0 -0
  146. /package/dist/{chunk-TUTNHDM3.mjs.map → chunk-DSDAZA3B.mjs.map} +0 -0
  147. /package/dist/{chunk-CUWOXXM5.mjs.map → chunk-FRXYSJGZ.mjs.map} +0 -0
  148. /package/dist/{chunk-HI6SPUOX.mjs.map → chunk-JEMBA7PE.mjs.map} +0 -0
  149. /package/dist/{chunk-GIGUZ2OK.mjs.map → chunk-KWS75AOU.mjs.map} +0 -0
  150. /package/dist/{chunk-MGWRDFBE.mjs.map → chunk-MZ37BAAE.mjs.map} +0 -0
  151. /package/dist/{chunk-L3I57GMV.mjs.map → chunk-N4VN2B5S.mjs.map} +0 -0
  152. /package/dist/{chunk-7LTRT3IV.mjs.map → chunk-O73FZGSU.mjs.map} +0 -0
  153. /package/dist/{chunk-HYJUBYMU.mjs.map → chunk-OLXYK6PP.mjs.map} +0 -0
  154. /package/dist/{chunk-JCHRWCYH.mjs.map → chunk-RLT4KZR4.mjs.map} +0 -0
  155. /package/dist/{chunk-IHV5PTID.mjs.map → chunk-UPQPBCUW.mjs.map} +0 -0
  156. /package/dist/{chunk-JBACWIFW.mjs.map → chunk-XFJNMZ6X.mjs.map} +0 -0
@@ -1,29 +1,29 @@
1
1
  import {
2
2
  useLangGraphInterrupt
3
- } from "../chunk-L5MS4UDD.mjs";
4
- import "../chunk-HYJUBYMU.mjs";
5
- import "../chunk-ZVOLWJCY.mjs";
6
- import "../chunk-YPSGKPDA.mjs";
7
- import "../chunk-ITDKIB5E.mjs";
8
- import "../chunk-L3I57GMV.mjs";
9
- import "../chunk-M37URBJS.mjs";
10
- import "../chunk-CUWOXXM5.mjs";
11
- import "../chunk-TUTNHDM3.mjs";
3
+ } from "../chunk-WRPXFDFL.mjs";
4
+ import "../chunk-OLXYK6PP.mjs";
5
+ import "../chunk-QF3Q5LUN.mjs";
6
+ import "../chunk-WBBJMOZI.mjs";
7
+ import "../chunk-4CEQJ2X6.mjs";
8
+ import "../chunk-ZRDV3MVW.mjs";
9
+ import "../chunk-N4VN2B5S.mjs";
10
+ import "../chunk-2MGJO3FY.mjs";
11
+ import "../chunk-FRXYSJGZ.mjs";
12
+ import "../chunk-DSDAZA3B.mjs";
12
13
  import "../chunk-PIF5KJYI.mjs";
13
14
  import "../chunk-2IDV5OHF.mjs";
14
15
  import "../chunk-PMAFHQ7P.mjs";
15
16
  import "../chunk-5FHSUKQL.mjs";
16
17
  import "../chunk-RKTVJRK7.mjs";
17
- import "../chunk-ZLQVRPDS.mjs";
18
- import "../chunk-6ZLPNY7X.mjs";
19
- import "../chunk-3N4MVKFZ.mjs";
20
- import "../chunk-4CEQJ2X6.mjs";
21
- import "../chunk-N4WEHORG.mjs";
22
- import "../chunk-O7ARI5CV.mjs";
23
18
  import "../chunk-Q3MCVRO3.mjs";
24
19
  import "../chunk-ICIK2BSB.mjs";
25
- import "../chunk-EUX2P2E7.mjs";
20
+ import "../chunk-N4WEHORG.mjs";
21
+ import "../chunk-O7ARI5CV.mjs";
26
22
  import "../chunk-EFL5OBKN.mjs";
23
+ import "../chunk-6ZLPNY7X.mjs";
24
+ import "../chunk-YPSGKPDA.mjs";
25
+ import "../chunk-YHT6CWIY.mjs";
26
+ import "../chunk-ZLQVRPDS.mjs";
27
27
  import "../chunk-SKC7AJIV.mjs";
28
28
  export {
29
29
  useLangGraphInterrupt
@@ -127,10 +127,8 @@ var emptyCopilotContext = {
127
127
  setExtensions: () => {
128
128
  },
129
129
  langGraphInterruptAction: null,
130
- setLangGraphInterruptAction: () => {
131
- },
132
- removeLangGraphInterruptAction: () => {
133
- },
130
+ setLangGraphInterruptAction: () => null,
131
+ removeLangGraphInterruptAction: () => null,
134
132
  onError: () => {
135
133
  },
136
134
  bannerError: null,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/use-make-copilot-document-readable.ts","../../src/context/copilot-context.tsx"],"sourcesContent":["import { useEffect, useRef } from \"react\";\nimport { useCopilotContext } from \"../context/copilot-context\";\nimport { DocumentPointer } from \"../types\";\n\n/**\n * Makes a document readable by Copilot.\n * @param document The document to make readable.\n * @param categories The categories to associate with the document.\n * @param dependencies The dependencies to use for the effect.\n * @returns The id of the document.\n */\nexport function useMakeCopilotDocumentReadable(\n document: DocumentPointer,\n categories?: string[],\n dependencies: any[] = [],\n): string | undefined {\n const { addDocumentContext, removeDocumentContext } = useCopilotContext();\n const idRef = useRef<string>();\n\n useEffect(() => {\n const id = addDocumentContext(document, categories);\n idRef.current = id;\n\n return () => {\n removeDocumentContext(id);\n };\n }, [addDocumentContext, removeDocumentContext, ...dependencies]);\n\n return idRef.current;\n}\n","import {\n CopilotCloudConfig,\n FunctionCallHandler,\n CopilotErrorHandler,\n CopilotKitError,\n} from \"@copilotkit/shared\";\nimport {\n ActionRenderProps,\n CatchAllActionRenderProps,\n FrontendAction,\n} from \"../types/frontend-action\";\nimport React from \"react\";\nimport { TreeNodeId, Tree } from \"../hooks/use-tree\";\nimport { DocumentPointer } from \"../types\";\nimport { CopilotChatSuggestionConfiguration } from \"../types/chat-suggestion-configuration\";\nimport { CoAgentStateRender, CoAgentStateRenderProps } from \"../types/coagent-action\";\nimport { CoagentState } from \"../types/coagent-state\";\nimport {\n CopilotRuntimeClient,\n ExtensionsInput,\n ForwardedParametersInput,\n} from \"@copilotkit/runtime-client-gql\";\nimport { Agent } from \"@copilotkit/runtime-client-gql\";\nimport {\n LangGraphInterruptAction,\n LangGraphInterruptActionSetter,\n} from \"../types/interrupt-action\";\nimport { SuggestionItem } from \"../utils/suggestions\";\n\n/**\n * Interface for the configuration of the Copilot API.\n */\nexport interface CopilotApiConfig {\n /**\n * The public API key for Copilot Cloud.\n */\n publicApiKey?: string;\n\n /**\n * The configuration for Copilot Cloud.\n */\n cloud?: CopilotCloudConfig;\n\n /**\n * The endpoint for the chat API.\n */\n chatApiEndpoint: string;\n\n /**\n * The endpoint for the Copilot transcribe audio service.\n */\n transcribeAudioUrl?: string;\n\n /**\n * The endpoint for the Copilot text to speech service.\n */\n textToSpeechUrl?: string;\n\n /**\n * additional headers to be sent with the request\n * @default {}\n * @example\n * ```\n * {\n * 'Authorization': 'Bearer your_token_here'\n * }\n * ```\n */\n headers: Record<string, string>;\n\n /**\n * Custom properties to be sent with the request\n * @default {}\n * @example\n * ```\n * {\n * 'user_id': 'user_id'\n * }\n * ```\n */\n properties?: Record<string, any>;\n\n /**\n * Indicates whether the user agent should send or receive cookies from the other domain\n * in the case of cross-origin requests.\n */\n credentials?: RequestCredentials;\n\n /**\n * Optional configuration for connecting to Model Context Protocol (MCP) servers.\n * This is typically derived from the CopilotKitProps and used internally.\n * @experimental\n */\n mcpServers?: Array<{ endpoint: string; apiKey?: string }>;\n}\n\nexport type InChatRenderFunction<TProps = ActionRenderProps<any> | CatchAllActionRenderProps<any>> =\n (props: TProps) => string | JSX.Element;\nexport type CoagentInChatRenderFunction = (\n props: CoAgentStateRenderProps<any>,\n) => string | JSX.Element | undefined | null;\n\nexport interface ChatComponentsCache {\n actions: Record<string, InChatRenderFunction | string>;\n coAgentStateRenders: Record<string, CoagentInChatRenderFunction | string>;\n}\n\nexport interface AgentSession {\n agentName: string;\n threadId?: string;\n nodeName?: string;\n}\n\nexport interface AuthState {\n status: \"authenticated\" | \"unauthenticated\";\n authHeaders: Record<string, string>;\n userId?: string;\n metadata?: Record<string, any>;\n}\n\nexport type ActionName = string;\nexport type ContextTree = Tree;\n\nexport interface CopilotContextParams {\n // function-calling\n actions: Record<string, FrontendAction<any>>;\n setAction: (id: string, action: FrontendAction<any>) => void;\n removeAction: (id: string) => void;\n\n // coagent actions\n coAgentStateRenders: Record<string, CoAgentStateRender<any>>;\n setCoAgentStateRender: (id: string, stateRender: CoAgentStateRender<any>) => void;\n removeCoAgentStateRender: (id: string) => void;\n\n chatComponentsCache: React.RefObject<ChatComponentsCache>;\n\n getFunctionCallHandler: (\n customEntryPoints?: Record<string, FrontendAction<any>>,\n ) => FunctionCallHandler;\n\n // text context\n addContext: (context: string, parentId?: string, categories?: string[]) => TreeNodeId;\n removeContext: (id: TreeNodeId) => void;\n getAllContext: () => Tree;\n getContextString: (documents: DocumentPointer[], categories: string[]) => string;\n\n // document context\n addDocumentContext: (documentPointer: DocumentPointer, categories?: string[]) => TreeNodeId;\n removeDocumentContext: (documentId: string) => void;\n getDocumentsContext: (categories: string[]) => DocumentPointer[];\n\n isLoading: boolean;\n setIsLoading: React.Dispatch<React.SetStateAction<boolean>>;\n\n chatSuggestionConfiguration: { [key: string]: CopilotChatSuggestionConfiguration };\n addChatSuggestionConfiguration: (\n id: string,\n suggestion: CopilotChatSuggestionConfiguration,\n ) => void;\n removeChatSuggestionConfiguration: (id: string) => void;\n\n chatInstructions: string;\n setChatInstructions: React.Dispatch<React.SetStateAction<string>>;\n\n additionalInstructions?: string[];\n setAdditionalInstructions: React.Dispatch<React.SetStateAction<string[]>>;\n\n // api endpoints\n copilotApiConfig: CopilotApiConfig;\n\n showDevConsole: boolean;\n\n // agents\n coagentStates: Record<string, CoagentState>;\n setCoagentStates: React.Dispatch<React.SetStateAction<Record<string, CoagentState>>>;\n coagentStatesRef: React.RefObject<Record<string, CoagentState>>;\n setCoagentStatesWithRef: (\n value:\n | Record<string, CoagentState>\n | ((prev: Record<string, CoagentState>) => Record<string, CoagentState>),\n ) => void;\n\n agentSession: AgentSession | null;\n setAgentSession: React.Dispatch<React.SetStateAction<AgentSession | null>>;\n\n agentLock: string | null;\n\n threadId: string;\n setThreadId: React.Dispatch<React.SetStateAction<string>>;\n\n runId: string | null;\n setRunId: React.Dispatch<React.SetStateAction<string | null>>;\n\n // The chat abort controller can be used to stop generation globally,\n // i.e. when using `stop()` from `useChat`\n chatAbortControllerRef: React.MutableRefObject<AbortController | null>;\n\n // runtime\n runtimeClient: CopilotRuntimeClient;\n\n /**\n * The forwarded parameters to use for the task.\n */\n forwardedParameters?: Partial<Pick<ForwardedParametersInput, \"temperature\">>;\n availableAgents: Agent[];\n\n /**\n * The auth states for the CopilotKit.\n */\n authStates_c?: Record<ActionName, AuthState>;\n setAuthStates_c?: React.Dispatch<React.SetStateAction<Record<ActionName, AuthState>>>;\n\n /**\n * The auth config for the CopilotKit.\n */\n authConfig_c?: {\n SignInComponent: React.ComponentType<{\n onSignInComplete: (authState: AuthState) => void;\n }>;\n };\n\n extensions: ExtensionsInput;\n setExtensions: React.Dispatch<React.SetStateAction<ExtensionsInput>>;\n langGraphInterruptAction: LangGraphInterruptAction | null;\n setLangGraphInterruptAction: LangGraphInterruptActionSetter;\n removeLangGraphInterruptAction: (threadId: string) => void;\n\n /**\n * Optional trace handler for comprehensive debugging and observability.\n */\n onError: CopilotErrorHandler;\n\n // banner error state\n bannerError: CopilotKitError | null;\n setBannerError: React.Dispatch<React.SetStateAction<CopilotKitError | null>>;\n // Internal error handlers\n // These are used to handle errors that occur during the execution of the chat.\n // They are not intended for use by the developer. A component can register itself an error listener to be activated somewhere else as needed\n internalErrorHandlers: Record<string, CopilotErrorHandler>;\n setInternalErrorHandler: (handler: Record<string, CopilotErrorHandler>) => void;\n removeInternalErrorHandler: (id: string) => void;\n}\n\nconst emptyCopilotContext: CopilotContextParams = {\n actions: {},\n setAction: () => {},\n removeAction: () => {},\n\n coAgentStateRenders: {},\n setCoAgentStateRender: () => {},\n removeCoAgentStateRender: () => {},\n\n chatComponentsCache: { current: { actions: {}, coAgentStateRenders: {} } },\n getContextString: (documents: DocumentPointer[], categories: string[]) =>\n returnAndThrowInDebug(\"\"),\n addContext: () => \"\",\n removeContext: () => {},\n getAllContext: () => [],\n\n getFunctionCallHandler: () => returnAndThrowInDebug(async () => {}),\n\n isLoading: false,\n setIsLoading: () => returnAndThrowInDebug(false),\n\n chatInstructions: \"\",\n setChatInstructions: () => returnAndThrowInDebug(\"\"),\n\n additionalInstructions: [],\n setAdditionalInstructions: () => returnAndThrowInDebug([]),\n\n getDocumentsContext: (categories: string[]) => returnAndThrowInDebug([]),\n addDocumentContext: () => returnAndThrowInDebug(\"\"),\n removeDocumentContext: () => {},\n runtimeClient: {} as any,\n\n copilotApiConfig: new (class implements CopilotApiConfig {\n get chatApiEndpoint(): string {\n throw new Error(\"Remember to wrap your app in a `<CopilotKit> {...} </CopilotKit>` !!!\");\n }\n\n get headers(): Record<string, string> {\n return {};\n }\n get body(): Record<string, any> {\n return {};\n }\n })(),\n\n chatSuggestionConfiguration: {},\n addChatSuggestionConfiguration: () => {},\n removeChatSuggestionConfiguration: () => {},\n showDevConsole: false,\n coagentStates: {},\n setCoagentStates: () => {},\n coagentStatesRef: { current: {} },\n setCoagentStatesWithRef: () => {},\n agentSession: null,\n setAgentSession: () => {},\n forwardedParameters: {},\n agentLock: null,\n threadId: \"\",\n setThreadId: () => {},\n runId: null,\n setRunId: () => {},\n chatAbortControllerRef: { current: null },\n availableAgents: [],\n extensions: {},\n setExtensions: () => {},\n langGraphInterruptAction: null,\n setLangGraphInterruptAction: () => {},\n removeLangGraphInterruptAction: () => {},\n onError: () => {},\n bannerError: null,\n setBannerError: () => {},\n internalErrorHandlers: {},\n setInternalErrorHandler: () => {},\n removeInternalErrorHandler: () => {},\n};\n\nexport const CopilotContext = React.createContext<CopilotContextParams>(emptyCopilotContext);\n\nexport function useCopilotContext(): CopilotContextParams {\n const context = React.useContext(CopilotContext);\n if (context === emptyCopilotContext) {\n throw new Error(\"Remember to wrap your app in a `<CopilotKit> {...} </CopilotKit>` !!!\");\n }\n return context;\n}\n\nfunction returnAndThrowInDebug<T>(_value: T): T {\n throw new Error(\"Remember to wrap your app in a `<CopilotKit> {...} </CopilotKit>` !!!\");\n}\n"],"mappings":"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","names":["import_react","React"]}
1
+ {"version":3,"sources":["../../src/hooks/use-make-copilot-document-readable.ts","../../src/context/copilot-context.tsx"],"sourcesContent":["import { useEffect, useRef } from \"react\";\nimport { useCopilotContext } from \"../context/copilot-context\";\nimport { DocumentPointer } from \"../types\";\n\n/**\n * Makes a document readable by Copilot.\n * @param document The document to make readable.\n * @param categories The categories to associate with the document.\n * @param dependencies The dependencies to use for the effect.\n * @returns The id of the document.\n */\nexport function useMakeCopilotDocumentReadable(\n document: DocumentPointer,\n categories?: string[],\n dependencies: any[] = [],\n): string | undefined {\n const { addDocumentContext, removeDocumentContext } = useCopilotContext();\n const idRef = useRef<string>();\n\n useEffect(() => {\n const id = addDocumentContext(document, categories);\n idRef.current = id;\n\n return () => {\n removeDocumentContext(id);\n };\n }, [addDocumentContext, removeDocumentContext, ...dependencies]);\n\n return idRef.current;\n}\n","import {\n CopilotCloudConfig,\n FunctionCallHandler,\n CopilotErrorHandler,\n CopilotKitError,\n} from \"@copilotkit/shared\";\nimport {\n ActionRenderProps,\n CatchAllActionRenderProps,\n FrontendAction,\n} from \"../types/frontend-action\";\nimport React from \"react\";\nimport { TreeNodeId, Tree } from \"../hooks/use-tree\";\nimport { DocumentPointer } from \"../types\";\nimport { CopilotChatSuggestionConfiguration } from \"../types/chat-suggestion-configuration\";\nimport { CoAgentStateRender, CoAgentStateRenderProps } from \"../types/coagent-action\";\nimport { CoagentState } from \"../types/coagent-state\";\nimport {\n CopilotRuntimeClient,\n ExtensionsInput,\n ForwardedParametersInput,\n} from \"@copilotkit/runtime-client-gql\";\nimport { Agent } from \"@copilotkit/runtime-client-gql\";\nimport {\n LangGraphInterruptAction,\n LangGraphInterruptActionSetter,\n} from \"../types/interrupt-action\";\nimport { SuggestionItem } from \"../utils/suggestions\";\n\n/**\n * Interface for the configuration of the Copilot API.\n */\nexport interface CopilotApiConfig {\n /**\n * The public API key for Copilot Cloud.\n */\n publicApiKey?: string;\n\n /**\n * The configuration for Copilot Cloud.\n */\n cloud?: CopilotCloudConfig;\n\n /**\n * The endpoint for the chat API.\n */\n chatApiEndpoint: string;\n\n /**\n * The endpoint for the Copilot transcribe audio service.\n */\n transcribeAudioUrl?: string;\n\n /**\n * The endpoint for the Copilot text to speech service.\n */\n textToSpeechUrl?: string;\n\n /**\n * additional headers to be sent with the request\n * @default {}\n * @example\n * ```\n * {\n * 'Authorization': 'Bearer your_token_here'\n * }\n * ```\n */\n headers: Record<string, string>;\n\n /**\n * Custom properties to be sent with the request\n * @default {}\n * @example\n * ```\n * {\n * 'user_id': 'user_id'\n * }\n * ```\n */\n properties?: Record<string, any>;\n\n /**\n * Indicates whether the user agent should send or receive cookies from the other domain\n * in the case of cross-origin requests.\n */\n credentials?: RequestCredentials;\n\n /**\n * Optional configuration for connecting to Model Context Protocol (MCP) servers.\n * This is typically derived from the CopilotKitProps and used internally.\n * @experimental\n */\n mcpServers?: Array<{ endpoint: string; apiKey?: string }>;\n}\n\nexport type InChatRenderFunction<TProps = ActionRenderProps<any> | CatchAllActionRenderProps<any>> =\n (props: TProps) => string | JSX.Element;\nexport type CoagentInChatRenderFunction = (\n props: CoAgentStateRenderProps<any>,\n) => string | JSX.Element | undefined | null;\n\nexport interface ChatComponentsCache {\n actions: Record<string, InChatRenderFunction | string>;\n coAgentStateRenders: Record<string, CoagentInChatRenderFunction | string>;\n}\n\nexport interface AgentSession {\n agentName: string;\n threadId?: string;\n nodeName?: string;\n}\n\nexport interface AuthState {\n status: \"authenticated\" | \"unauthenticated\";\n authHeaders: Record<string, string>;\n userId?: string;\n metadata?: Record<string, any>;\n}\n\nexport type ActionName = string;\nexport type ContextTree = Tree;\n\nexport interface CopilotContextParams {\n // function-calling\n actions: Record<string, FrontendAction<any>>;\n setAction: (id: string, action: FrontendAction<any>) => void;\n removeAction: (id: string) => void;\n\n // coagent actions\n coAgentStateRenders: Record<string, CoAgentStateRender<any>>;\n setCoAgentStateRender: (id: string, stateRender: CoAgentStateRender<any>) => void;\n removeCoAgentStateRender: (id: string) => void;\n\n chatComponentsCache: React.RefObject<ChatComponentsCache>;\n\n getFunctionCallHandler: (\n customEntryPoints?: Record<string, FrontendAction<any>>,\n ) => FunctionCallHandler;\n\n // text context\n addContext: (context: string, parentId?: string, categories?: string[]) => TreeNodeId;\n removeContext: (id: TreeNodeId) => void;\n getAllContext: () => Tree;\n getContextString: (documents: DocumentPointer[], categories: string[]) => string;\n\n // document context\n addDocumentContext: (documentPointer: DocumentPointer, categories?: string[]) => TreeNodeId;\n removeDocumentContext: (documentId: string) => void;\n getDocumentsContext: (categories: string[]) => DocumentPointer[];\n\n isLoading: boolean;\n setIsLoading: React.Dispatch<React.SetStateAction<boolean>>;\n\n chatSuggestionConfiguration: { [key: string]: CopilotChatSuggestionConfiguration };\n addChatSuggestionConfiguration: (\n id: string,\n suggestion: CopilotChatSuggestionConfiguration,\n ) => void;\n removeChatSuggestionConfiguration: (id: string) => void;\n\n chatInstructions: string;\n setChatInstructions: React.Dispatch<React.SetStateAction<string>>;\n\n additionalInstructions?: string[];\n setAdditionalInstructions: React.Dispatch<React.SetStateAction<string[]>>;\n\n // api endpoints\n copilotApiConfig: CopilotApiConfig;\n\n showDevConsole: boolean;\n\n // agents\n coagentStates: Record<string, CoagentState>;\n setCoagentStates: React.Dispatch<React.SetStateAction<Record<string, CoagentState>>>;\n coagentStatesRef: React.RefObject<Record<string, CoagentState>>;\n setCoagentStatesWithRef: (\n value:\n | Record<string, CoagentState>\n | ((prev: Record<string, CoagentState>) => Record<string, CoagentState>),\n ) => void;\n\n agentSession: AgentSession | null;\n setAgentSession: React.Dispatch<React.SetStateAction<AgentSession | null>>;\n\n agentLock: string | null;\n\n threadId: string;\n setThreadId: React.Dispatch<React.SetStateAction<string>>;\n\n runId: string | null;\n setRunId: React.Dispatch<React.SetStateAction<string | null>>;\n\n // The chat abort controller can be used to stop generation globally,\n // i.e. when using `stop()` from `useChat`\n chatAbortControllerRef: React.MutableRefObject<AbortController | null>;\n\n // runtime\n runtimeClient: CopilotRuntimeClient;\n\n /**\n * The forwarded parameters to use for the task.\n */\n forwardedParameters?: Partial<Pick<ForwardedParametersInput, \"temperature\">>;\n availableAgents: Agent[];\n\n /**\n * The auth states for the CopilotKit.\n */\n authStates_c?: Record<ActionName, AuthState>;\n setAuthStates_c?: React.Dispatch<React.SetStateAction<Record<ActionName, AuthState>>>;\n\n /**\n * The auth config for the CopilotKit.\n */\n authConfig_c?: {\n SignInComponent: React.ComponentType<{\n onSignInComplete: (authState: AuthState) => void;\n }>;\n };\n\n extensions: ExtensionsInput;\n setExtensions: React.Dispatch<React.SetStateAction<ExtensionsInput>>;\n langGraphInterruptAction: LangGraphInterruptAction | null;\n setLangGraphInterruptAction: LangGraphInterruptActionSetter;\n removeLangGraphInterruptAction: () => void;\n\n /**\n * Optional trace handler for comprehensive debugging and observability.\n */\n onError: CopilotErrorHandler;\n\n // banner error state\n bannerError: CopilotKitError | null;\n setBannerError: React.Dispatch<React.SetStateAction<CopilotKitError | null>>;\n // Internal error handlers\n // These are used to handle errors that occur during the execution of the chat.\n // They are not intended for use by the developer. A component can register itself an error listener to be activated somewhere else as needed\n internalErrorHandlers: Record<string, CopilotErrorHandler>;\n setInternalErrorHandler: (handler: Record<string, CopilotErrorHandler>) => void;\n removeInternalErrorHandler: (id: string) => void;\n}\n\nconst emptyCopilotContext: CopilotContextParams = {\n actions: {},\n setAction: () => {},\n removeAction: () => {},\n\n coAgentStateRenders: {},\n setCoAgentStateRender: () => {},\n removeCoAgentStateRender: () => {},\n\n chatComponentsCache: { current: { actions: {}, coAgentStateRenders: {} } },\n getContextString: (documents: DocumentPointer[], categories: string[]) =>\n returnAndThrowInDebug(\"\"),\n addContext: () => \"\",\n removeContext: () => {},\n getAllContext: () => [],\n\n getFunctionCallHandler: () => returnAndThrowInDebug(async () => {}),\n\n isLoading: false,\n setIsLoading: () => returnAndThrowInDebug(false),\n\n chatInstructions: \"\",\n setChatInstructions: () => returnAndThrowInDebug(\"\"),\n\n additionalInstructions: [],\n setAdditionalInstructions: () => returnAndThrowInDebug([]),\n\n getDocumentsContext: (categories: string[]) => returnAndThrowInDebug([]),\n addDocumentContext: () => returnAndThrowInDebug(\"\"),\n removeDocumentContext: () => {},\n runtimeClient: {} as any,\n\n copilotApiConfig: new (class implements CopilotApiConfig {\n get chatApiEndpoint(): string {\n throw new Error(\"Remember to wrap your app in a `<CopilotKit> {...} </CopilotKit>` !!!\");\n }\n\n get headers(): Record<string, string> {\n return {};\n }\n get body(): Record<string, any> {\n return {};\n }\n })(),\n\n chatSuggestionConfiguration: {},\n addChatSuggestionConfiguration: () => {},\n removeChatSuggestionConfiguration: () => {},\n showDevConsole: false,\n coagentStates: {},\n setCoagentStates: () => {},\n coagentStatesRef: { current: {} },\n setCoagentStatesWithRef: () => {},\n agentSession: null,\n setAgentSession: () => {},\n forwardedParameters: {},\n agentLock: null,\n threadId: \"\",\n setThreadId: () => {},\n runId: null,\n setRunId: () => {},\n chatAbortControllerRef: { current: null },\n availableAgents: [],\n extensions: {},\n setExtensions: () => {},\n langGraphInterruptAction: null,\n setLangGraphInterruptAction: () => null,\n removeLangGraphInterruptAction: () => null,\n onError: () => {},\n bannerError: null,\n setBannerError: () => {},\n internalErrorHandlers: {},\n setInternalErrorHandler: () => {},\n removeInternalErrorHandler: () => {},\n};\n\nexport const CopilotContext = React.createContext<CopilotContextParams>(emptyCopilotContext);\n\nexport function useCopilotContext(): CopilotContextParams {\n const context = React.useContext(CopilotContext);\n if (context === emptyCopilotContext) {\n throw new Error(\"Remember to wrap your app in a `<CopilotKit> {...} </CopilotKit>` !!!\");\n }\n return context;\n}\n\nfunction returnAndThrowInDebug<T>(_value: T): T {\n throw new Error(\"Remember to wrap your app in a `<CopilotKit> {...} </CopilotKit>` !!!\");\n}\n"],"mappings":"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","names":["import_react","React"]}
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  useMakeCopilotDocumentReadable
3
- } from "../chunk-BBUQMG45.mjs";
4
- import "../chunk-EUX2P2E7.mjs";
3
+ } from "../chunk-CXDK6XA5.mjs";
4
+ import "../chunk-YHT6CWIY.mjs";
5
5
  import "../chunk-SKC7AJIV.mjs";
6
6
  export {
7
7
  useMakeCopilotDocumentReadable
@@ -1,4 +1,4 @@
1
- import { a as CopilotContextParams } from './copilot-context-cf9de848.js';
1
+ import { a as CopilotContextParams } from './copilot-context-59740e82.js';
2
2
  import { Message } from '@copilotkit/runtime-client-gql';
3
3
  import React$1 from 'react';
4
4
  import { CopilotChatSuggestionConfiguration } from './types/chat-suggestion-configuration.js';
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { CopilotKit, defaultCopilotContextCategories } from './components/copilot-provider/copilotkit.js';
2
2
  export { CopilotKitProps } from './components/copilot-provider/copilotkit-props.js';
3
- export { b as CoagentInChatRenderFunction, c as CopilotApiConfig, C as CopilotContext, a as CopilotContextParams, u as useCopilotContext } from './copilot-context-cf9de848.js';
4
- export { C as CopilotMessagesContext, a as CopilotMessagesContextParams, S as SuggestionItem, r as reloadSuggestions, u as useCopilotMessagesContext } from './index-1f5b66ac.js';
3
+ export { b as CoagentInChatRenderFunction, c as CopilotApiConfig, C as CopilotContext, a as CopilotContextParams, u as useCopilotContext } from './copilot-context-59740e82.js';
4
+ export { C as CopilotMessagesContext, a as CopilotMessagesContextParams, S as SuggestionItem, r as reloadSuggestions, u as useCopilotMessagesContext } from './index-d1743abe.js';
5
5
  export { UseCopilotChatReturn, useCopilotChat } from './hooks/use-copilot-chat.js';
6
6
  export { UseCopilotChatOptions, UseCopilotChatOptions as UseCopilotChatOptions_c, UseCopilotChatReturn as UseCopilotChatReturn_c, useCopilotChat as useCopilotChatInternal } from './hooks/use-copilot-chat_internal.js';
7
7
  export { useCopilotChatHeadless_c } from './hooks/use-copilot-chat-headless_c.js';
package/dist/index.js CHANGED
@@ -186,10 +186,8 @@ var emptyCopilotContext = {
186
186
  setExtensions: () => {
187
187
  },
188
188
  langGraphInterruptAction: null,
189
- setLangGraphInterruptAction: () => {
190
- },
191
- removeLangGraphInterruptAction: () => {
192
- },
189
+ setLangGraphInterruptAction: () => null,
190
+ removeLangGraphInterruptAction: () => null,
193
191
  onError: () => {
194
192
  },
195
193
  bannerError: null,
@@ -2791,7 +2789,6 @@ function CopilotKit(_a) {
2791
2789
  return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(ToastProvider, { enabled, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(CopilotErrorBoundary, { publicApiKey, showUsageBanner: enabled, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(CopilotKitInternal, __spreadProps(__spreadValues({}, props), { children })) }) });
2792
2790
  }
2793
2791
  function CopilotKitInternal(cpkProps) {
2794
- var _b;
2795
2792
  const _a = cpkProps, { children } = _a, props = __objRest(_a, ["children"]);
2796
2793
  validateProps(cpkProps);
2797
2794
  const publicApiKey = props.publicLicenseKey || props.publicApiKey;
@@ -2894,7 +2891,7 @@ ${nonDocumentStrings}`;
2894
2891
  [removeDocument]
2895
2892
  );
2896
2893
  const copilotApiConfig = (0, import_react12.useMemo)(() => {
2897
- var _a2, _b2;
2894
+ var _a2, _b;
2898
2895
  let cloud = void 0;
2899
2896
  if (publicApiKey) {
2900
2897
  cloud = {
@@ -2903,7 +2900,7 @@ ${nonDocumentStrings}`;
2903
2900
  restrictToTopic: {
2904
2901
  enabled: Boolean(props.guardrails_c),
2905
2902
  validTopics: ((_a2 = props.guardrails_c) == null ? void 0 : _a2.validTopics) || [],
2906
- invalidTopics: ((_b2 = props.guardrails_c) == null ? void 0 : _b2.invalidTopics) || []
2903
+ invalidTopics: ((_b = props.guardrails_c) == null ? void 0 : _b.invalidTopics) || []
2907
2904
  }
2908
2905
  }
2909
2906
  }
@@ -3066,28 +3063,22 @@ ${nonDocumentStrings}`;
3066
3063
  const [runId, setRunId] = (0, import_react12.useState)(null);
3067
3064
  const chatAbortControllerRef = (0, import_react12.useRef)(null);
3068
3065
  const showDevConsole = shouldShowDevConsole(props.showDevConsole);
3069
- const [langGraphInterruptActions, _setLangGraphInterruptAction] = (0, import_react12.useState)({});
3070
- const setLangGraphInterruptAction = (0, import_react12.useCallback)(
3071
- (threadId, action) => {
3072
- _setLangGraphInterruptAction((prev) => {
3073
- var _a2, _b2, _c;
3074
- if (action == null)
3075
- return __spreadProps(__spreadValues({}, prev), {
3076
- [threadId]: null
3077
- });
3078
- let event = (_a2 = prev[threadId]) == null ? void 0 : _a2.event;
3079
- if (action.event) {
3080
- event = __spreadValues(__spreadValues({}, ((_b2 = prev[threadId]) == null ? void 0 : _b2.event) || {}), action.event);
3081
- }
3082
- return __spreadProps(__spreadValues({}, prev), {
3083
- [threadId]: __spreadProps(__spreadValues(__spreadValues({}, (_c = prev[threadId]) != null ? _c : {}), action), { event })
3084
- });
3085
- });
3086
- },
3087
- []
3088
- );
3089
- const removeLangGraphInterruptAction = (0, import_react12.useCallback)((threadId) => {
3090
- setLangGraphInterruptAction(threadId, null);
3066
+ const [langGraphInterruptAction, _setLangGraphInterruptAction] = (0, import_react12.useState)(null);
3067
+ const setLangGraphInterruptAction = (0, import_react12.useCallback)((action) => {
3068
+ _setLangGraphInterruptAction((prev) => {
3069
+ if (prev == null)
3070
+ return action;
3071
+ if (action == null)
3072
+ return null;
3073
+ let event = prev.event;
3074
+ if (action.event) {
3075
+ event = __spreadValues(__spreadValues({}, prev.event), action.event);
3076
+ }
3077
+ return __spreadProps(__spreadValues(__spreadValues({}, prev), action), { event });
3078
+ });
3079
+ }, []);
3080
+ const removeLangGraphInterruptAction = (0, import_react12.useCallback)(() => {
3081
+ setLangGraphInterruptAction(null);
3091
3082
  }, []);
3092
3083
  const memoizedChildren = (0, import_react12.useMemo)(() => children, [children]);
3093
3084
  const [bannerError, setBannerError] = (0, import_react12.useState)(null);
@@ -3176,7 +3167,7 @@ ${nonDocumentStrings}`;
3176
3167
  setAuthStates_c: updateAuthStates,
3177
3168
  extensions,
3178
3169
  setExtensions: updateExtensions,
3179
- langGraphInterruptAction: (_b = langGraphInterruptActions[internalThreadId]) != null ? _b : null,
3170
+ langGraphInterruptAction,
3180
3171
  setLangGraphInterruptAction,
3181
3172
  removeLangGraphInterruptAction,
3182
3173
  bannerError,
@@ -3484,7 +3475,7 @@ function useChat(options) {
3484
3475
  if (ev.name === import_runtime_client_gql7.MetaEventName.LangGraphInterruptEvent) {
3485
3476
  let eventValue = (0, import_runtime_client_gql7.langGraphInterruptEvent)(ev).value;
3486
3477
  eventValue = (0, import_shared14.parseJson)(eventValue, eventValue);
3487
- setLangGraphInterruptAction(threadId, {
3478
+ setLangGraphInterruptAction({
3488
3479
  event: __spreadProps(__spreadValues({}, (0, import_runtime_client_gql7.langGraphInterruptEvent)(ev)), {
3489
3480
  value: eventValue
3490
3481
  })
@@ -3547,7 +3538,7 @@ function useChat(options) {
3547
3538
  preservedStructure: !!originalCode
3548
3539
  });
3549
3540
  setIsLoading(false);
3550
- throw new Error(structuredError.message);
3541
+ break;
3551
3542
  } else if (messages2.length > 0) {
3552
3543
  newMessages = [...messages2];
3553
3544
  for (const message of messages2) {
@@ -3668,8 +3659,8 @@ function useChat(options) {
3668
3659
  }
3669
3660
  const currentResultMessagePairedFeAction = message.isResultMessage() ? getPairedFeAction(actions, message) : null;
3670
3661
  if (action && message.isActionExecutionMessage()) {
3671
- const pairedFeAction = getPairedFeAction(actions, message);
3672
- const alreadyProcessed = !pairedFeAction && finalMessages.some(
3662
+ const isRenderAndWaitAction = (action == null ? void 0 : action._isRenderAndWait) || false;
3663
+ const alreadyProcessed = isRenderAndWaitAction && finalMessages.some(
3673
3664
  (fm) => fm.isResultMessage() && fm.actionExecutionId === message.id
3674
3665
  );
3675
3666
  if (alreadyProcessed) {
@@ -3678,16 +3669,16 @@ function useChat(options) {
3678
3669
  action,
3679
3670
  message
3680
3671
  );
3681
- const pairedFeAction2 = getPairedFeAction(actions, resultMessage);
3682
- if (pairedFeAction2) {
3672
+ const pairedFeAction = getPairedFeAction(actions, resultMessage);
3673
+ if (pairedFeAction) {
3683
3674
  const newExecutionMessage = new import_runtime_client_gql7.ActionExecutionMessage({
3684
- name: pairedFeAction2.name,
3675
+ name: pairedFeAction.name,
3685
3676
  arguments: (0, import_shared14.parseJson)(resultMessage.result, resultMessage.result),
3686
3677
  status: message.status,
3687
3678
  createdAt: message.createdAt,
3688
3679
  parentMessageId: message.parentMessageId
3689
3680
  });
3690
- yield executeActionFromMessage(pairedFeAction2, newExecutionMessage);
3681
+ yield executeActionFromMessage(pairedFeAction, newExecutionMessage);
3691
3682
  }
3692
3683
  }
3693
3684
  } else if (message.isResultMessage() && currentResultMessagePairedFeAction) {
@@ -3782,7 +3773,7 @@ function useChat(options) {
3782
3773
  switch (event.name) {
3783
3774
  case import_runtime_client_gql7.MetaEventName.LangGraphInterruptEvent:
3784
3775
  if (event.response) {
3785
- setLangGraphInterruptAction(threadId, null);
3776
+ setLangGraphInterruptAction(null);
3786
3777
  const value = event.value;
3787
3778
  return [
3788
3779
  ...acc,
@@ -3832,8 +3823,8 @@ function useChat(options) {
3832
3823
  console.warn(`Regenerate cannot be performed on ${reloadMessageRole} role`);
3833
3824
  return;
3834
3825
  }
3835
- let historyCutoff = [messages[0]];
3836
- if (messages.length > 2 && reloadMessageIndex !== 0) {
3826
+ let historyCutoff = [];
3827
+ if (messages.length > 2) {
3837
3828
  const lastUserMessageBeforeRegenerate = messages.slice(0, reloadMessageIndex).reverse().find(
3838
3829
  (msg) => (
3839
3830
  // @ts-expect-error -- message has role
@@ -3844,8 +3835,6 @@ function useChat(options) {
3844
3835
  (msg) => msg.id === lastUserMessageBeforeRegenerate.id
3845
3836
  );
3846
3837
  historyCutoff = messages.slice(0, indexOfLastUserMessageBeforeRegenerate + 1);
3847
- } else if (messages.length > 2 && reloadMessageIndex === 0) {
3848
- historyCutoff = [messages[0], messages[1]];
3849
3838
  }
3850
3839
  setMessages(historyCutoff);
3851
3840
  return runChatCompletionAndHandleFunctionCall(historyCutoff);
@@ -3962,16 +3951,16 @@ var InterruptRenderer = ({ event, result, render, resolve }) => {
3962
3951
  return render({ event, result, resolve });
3963
3952
  };
3964
3953
  function useLangGraphInterruptRender() {
3965
- const { langGraphInterruptAction, setLangGraphInterruptAction, agentSession, threadId } = useCopilotContext();
3954
+ const { langGraphInterruptAction, setLangGraphInterruptAction, agentSession } = useCopilotContext();
3966
3955
  const responseRef = import_react14.default.useRef();
3967
3956
  const resolveInterrupt = (0, import_react14.useCallback)(
3968
3957
  (response) => {
3969
3958
  responseRef.current = response;
3970
3959
  setTimeout(() => {
3971
- setLangGraphInterruptAction(threadId, { event: { response } });
3960
+ setLangGraphInterruptAction({ event: { response } });
3972
3961
  }, 0);
3973
3962
  },
3974
- [setLangGraphInterruptAction, threadId]
3963
+ [setLangGraphInterruptAction]
3975
3964
  );
3976
3965
  if (!langGraphInterruptAction || !langGraphInterruptAction.event || !langGraphInterruptAction.render)
3977
3966
  return null;
@@ -4882,12 +4871,7 @@ var import_react24 = require("react");
4882
4871
  var import_shared19 = require("@copilotkit/shared");
4883
4872
  function useLangGraphInterrupt(action, dependencies) {
4884
4873
  var _a;
4885
- const {
4886
- setLangGraphInterruptAction,
4887
- removeLangGraphInterruptAction,
4888
- langGraphInterruptAction,
4889
- threadId
4890
- } = (0, import_react24.useContext)(CopilotContext);
4874
+ const { setLangGraphInterruptAction, removeLangGraphInterruptAction, langGraphInterruptAction } = (0, import_react24.useContext)(CopilotContext);
4891
4875
  const { runChatCompletion } = useCopilotChat();
4892
4876
  const { addToast } = useToast();
4893
4877
  const actionId = (0, import_shared19.dataToUUID)(JSON.stringify(action), "lgAction");
@@ -4918,14 +4902,13 @@ function useLangGraphInterrupt(action, dependencies) {
4918
4902
  if (hasAction && isCurrentAction) {
4919
4903
  return;
4920
4904
  }
4921
- setLangGraphInterruptAction(threadId, __spreadProps(__spreadValues({}, action), { id: actionId }));
4905
+ setLangGraphInterruptAction(__spreadProps(__spreadValues({}, action), { id: actionId }));
4922
4906
  }, [
4923
4907
  action,
4924
4908
  hasAction,
4925
4909
  isCurrentAction,
4926
4910
  setLangGraphInterruptAction,
4927
4911
  removeLangGraphInterruptAction,
4928
- threadId,
4929
4912
  ...dependencies || []
4930
4913
  ]);
4931
4914
  }