@copilotkit/react-core 1.6.0-next.11 → 1.6.0-next.12

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 (123) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/{chunk-5M47BILE.mjs → chunk-37LXOL6B.mjs} +2 -2
  3. package/dist/{chunk-Y2T56VSE.mjs → chunk-4X4XFBC6.mjs} +2 -2
  4. package/dist/{chunk-F7O6L7C3.mjs → chunk-7XNZHQWJ.mjs} +2 -2
  5. package/dist/{chunk-7HWSAEOY.mjs → chunk-AT4ALBK4.mjs} +13 -4
  6. package/dist/{chunk-7HWSAEOY.mjs.map → chunk-AT4ALBK4.mjs.map} +1 -1
  7. package/dist/{chunk-HBCP2KNA.mjs → chunk-CJTSYEYG.mjs} +3 -3
  8. package/dist/chunk-CQPYJIBH.mjs +1 -0
  9. package/dist/{chunk-XOHLZIZK.mjs → chunk-JHPCDBBM.mjs} +2 -2
  10. package/dist/{chunk-PR5R5TTF.mjs → chunk-JMFYGW35.mjs} +2 -2
  11. package/dist/{chunk-T2EFA3D5.mjs → chunk-NY3BUYYZ.mjs} +2 -2
  12. package/dist/chunk-O3IIH54P.mjs +24 -0
  13. package/dist/chunk-O3IIH54P.mjs.map +1 -0
  14. package/dist/{chunk-7YXUCWXF.mjs → chunk-PRWPZCKZ.mjs} +10 -8
  15. package/dist/chunk-PRWPZCKZ.mjs.map +1 -0
  16. package/dist/{chunk-ZM56S3LJ.mjs → chunk-PTSWFERP.mjs} +3 -1
  17. package/dist/chunk-PTSWFERP.mjs.map +1 -0
  18. package/dist/{chunk-4EC4JK7H.mjs → chunk-RPSMTOER.mjs} +3 -3
  19. package/dist/{chunk-2F6RYBYS.mjs → chunk-YI7LPACV.mjs} +3 -3
  20. package/dist/{chunk-T4CAQC6B.mjs → chunk-ZNWM2EVT.mjs} +3 -3
  21. package/dist/components/copilot-provider/copilot-messages.js +2 -0
  22. package/dist/components/copilot-provider/copilot-messages.js.map +1 -1
  23. package/dist/components/copilot-provider/copilot-messages.mjs +2 -2
  24. package/dist/components/copilot-provider/copilotkit-props.d.ts +1 -1
  25. package/dist/components/copilot-provider/copilotkit.d.ts +1 -1
  26. package/dist/components/copilot-provider/copilotkit.js +5 -1
  27. package/dist/components/copilot-provider/copilotkit.js.map +1 -1
  28. package/dist/components/copilot-provider/copilotkit.mjs +4 -4
  29. package/dist/components/copilot-provider/index.d.ts +1 -1
  30. package/dist/components/copilot-provider/index.js +5 -1
  31. package/dist/components/copilot-provider/index.js.map +1 -1
  32. package/dist/components/copilot-provider/index.mjs +4 -4
  33. package/dist/components/index.d.ts +1 -1
  34. package/dist/components/index.js +5 -1
  35. package/dist/components/index.js.map +1 -1
  36. package/dist/components/index.mjs +4 -4
  37. package/dist/context/copilot-context.d.ts +1 -1
  38. package/dist/context/copilot-context.js +2 -0
  39. package/dist/context/copilot-context.js.map +1 -1
  40. package/dist/context/copilot-context.mjs +1 -1
  41. package/dist/context/index.d.ts +1 -1
  42. package/dist/context/index.js +2 -0
  43. package/dist/context/index.js.map +1 -1
  44. package/dist/context/index.mjs +1 -1
  45. package/dist/{copilot-context-9ae8990b.d.ts → copilot-context-c402f48d.d.ts} +2 -0
  46. package/dist/hooks/index.d.ts +2 -1
  47. package/dist/hooks/index.js +31 -2
  48. package/dist/hooks/index.js.map +1 -1
  49. package/dist/hooks/index.mjs +18 -14
  50. package/dist/hooks/use-chat.d.ts +1 -1
  51. package/dist/hooks/use-coagent-state-render.js +2 -0
  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 +2 -0
  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 +2 -0
  59. package/dist/hooks/use-copilot-action.js.map +1 -1
  60. package/dist/hooks/use-copilot-action.mjs +2 -2
  61. package/dist/hooks/use-copilot-additional-instructions.d.ts +26 -0
  62. package/dist/hooks/use-copilot-additional-instructions.js +162 -0
  63. package/dist/hooks/use-copilot-additional-instructions.js.map +1 -0
  64. package/dist/hooks/use-copilot-additional-instructions.mjs +9 -0
  65. package/dist/hooks/use-copilot-additional-instructions.mjs.map +1 -0
  66. package/dist/hooks/use-copilot-authenticated-action.js +2 -0
  67. package/dist/hooks/use-copilot-authenticated-action.js.map +1 -1
  68. package/dist/hooks/use-copilot-authenticated-action.mjs +3 -3
  69. package/dist/hooks/use-copilot-chat.d.ts +1 -1
  70. package/dist/hooks/use-copilot-chat.js +2 -0
  71. package/dist/hooks/use-copilot-chat.js.map +1 -1
  72. package/dist/hooks/use-copilot-chat.mjs +5 -5
  73. package/dist/hooks/use-copilot-readable.d.ts +5 -1
  74. package/dist/hooks/use-copilot-readable.js +13 -2
  75. package/dist/hooks/use-copilot-readable.js.map +1 -1
  76. package/dist/hooks/use-copilot-readable.mjs +2 -2
  77. package/dist/hooks/use-langgraph-interrupt-render.js +2 -0
  78. package/dist/hooks/use-langgraph-interrupt-render.js.map +1 -1
  79. package/dist/hooks/use-langgraph-interrupt-render.mjs +2 -2
  80. package/dist/hooks/use-langgraph-interrupt.d.ts +1 -1
  81. package/dist/hooks/use-langgraph-interrupt.js +2 -0
  82. package/dist/hooks/use-langgraph-interrupt.js.map +1 -1
  83. package/dist/hooks/use-langgraph-interrupt.mjs +6 -6
  84. package/dist/hooks/use-make-copilot-document-readable.js +2 -0
  85. package/dist/hooks/use-make-copilot-document-readable.js.map +1 -1
  86. package/dist/hooks/use-make-copilot-document-readable.mjs +2 -2
  87. package/dist/index.d.ts +2 -1
  88. package/dist/index.js +34 -3
  89. package/dist/index.js.map +1 -1
  90. package/dist/index.mjs +19 -15
  91. package/dist/lib/copilot-task.d.ts +1 -1
  92. package/dist/lib/copilot-task.js.map +1 -1
  93. package/dist/lib/copilot-task.mjs +5 -5
  94. package/dist/lib/index.d.ts +1 -1
  95. package/dist/lib/index.js.map +1 -1
  96. package/dist/lib/index.mjs +5 -5
  97. package/dist/types/interrupt-action.d.ts +1 -1
  98. package/dist/utils/extract.d.ts +1 -1
  99. package/dist/utils/extract.js.map +1 -1
  100. package/dist/utils/extract.mjs +4 -4
  101. package/dist/utils/index.d.ts +1 -1
  102. package/dist/utils/index.js.map +1 -1
  103. package/dist/utils/index.mjs +4 -4
  104. package/package.json +3 -3
  105. package/src/components/copilot-provider/copilotkit.tsx +3 -1
  106. package/src/context/copilot-context.tsx +6 -0
  107. package/src/hooks/index.ts +1 -0
  108. package/src/hooks/use-copilot-additional-instructions.ts +85 -0
  109. package/src/hooks/use-copilot-readable.ts +16 -2
  110. package/dist/chunk-7YXUCWXF.mjs.map +0 -1
  111. package/dist/chunk-IGLITGLC.mjs +0 -1
  112. package/dist/chunk-ZM56S3LJ.mjs.map +0 -1
  113. /package/dist/{chunk-5M47BILE.mjs.map → chunk-37LXOL6B.mjs.map} +0 -0
  114. /package/dist/{chunk-Y2T56VSE.mjs.map → chunk-4X4XFBC6.mjs.map} +0 -0
  115. /package/dist/{chunk-F7O6L7C3.mjs.map → chunk-7XNZHQWJ.mjs.map} +0 -0
  116. /package/dist/{chunk-HBCP2KNA.mjs.map → chunk-CJTSYEYG.mjs.map} +0 -0
  117. /package/dist/{chunk-IGLITGLC.mjs.map → chunk-CQPYJIBH.mjs.map} +0 -0
  118. /package/dist/{chunk-XOHLZIZK.mjs.map → chunk-JHPCDBBM.mjs.map} +0 -0
  119. /package/dist/{chunk-PR5R5TTF.mjs.map → chunk-JMFYGW35.mjs.map} +0 -0
  120. /package/dist/{chunk-T2EFA3D5.mjs.map → chunk-NY3BUYYZ.mjs.map} +0 -0
  121. /package/dist/{chunk-4EC4JK7H.mjs.map → chunk-RPSMTOER.mjs.map} +0 -0
  122. /package/dist/{chunk-2F6RYBYS.mjs.map → chunk-YI7LPACV.mjs.map} +0 -0
  123. /package/dist/{chunk-T4CAQC6B.mjs.map → chunk-ZNWM2EVT.mjs.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/context/index.ts","../../src/context/copilot-context.tsx","../../src/context/copilot-messages-context.tsx"],"sourcesContent":["export { CopilotContext, useCopilotContext } from \"./copilot-context\";\nexport { CopilotMessagesContext, useCopilotMessagesContext } from \"./copilot-messages-context\";\nexport type {\n CopilotContextParams,\n CoagentInChatRenderFunction,\n CopilotApiConfig,\n} from \"./copilot-context\";\nexport type { CopilotMessagesContextParams } from \"./copilot-messages-context\";\n","import { CopilotCloudConfig, FunctionCallHandler } from \"@copilotkit/shared\";\nimport {\n ActionRenderProps,\n CatchAllActionRenderProps,\n FrontendAction,\n} from \"../types/frontend-action\";\nimport React from \"react\";\nimport { TreeNodeId } 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\";\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\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;\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 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 // api endpoints\n copilotApiConfig: CopilotApiConfig;\n\n showDevConsole: boolean | \"auto\";\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?: 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\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\n getFunctionCallHandler: () => returnAndThrowInDebug(async () => {}),\n\n isLoading: false,\n setIsLoading: () => returnAndThrowInDebug(false),\n\n chatInstructions: \"\",\n setChatInstructions: () => 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: \"auto\",\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};\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","/**\n * An internal context to separate the messages state (which is constantly changing) from the rest of CopilotKit context\n */\n\nimport { Message } from \"@copilotkit/runtime-client-gql\";\nimport React from \"react\";\n\nexport interface CopilotMessagesContextParams {\n messages: Message[];\n setMessages: React.Dispatch<React.SetStateAction<Message[]>>;\n}\n\nconst emptyCopilotContext: CopilotMessagesContextParams = {\n messages: [],\n setMessages: () => [],\n};\n\nexport const CopilotMessagesContext =\n React.createContext<CopilotMessagesContextParams>(emptyCopilotContext);\n\nexport function useCopilotMessagesContext(): CopilotMessagesContextParams {\n const context = React.useContext(CopilotMessagesContext);\n if (context === emptyCopilotContext) {\n throw new Error(\n \"A messages consuming component was not wrapped with `<CopilotMessages> {...} </CopilotMessages>`\",\n );\n }\n return context;\n}\n"],"mappings":"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","names":["React","import_react","emptyCopilotContext","React"]}
1
+ {"version":3,"sources":["../../src/context/index.ts","../../src/context/copilot-context.tsx","../../src/context/copilot-messages-context.tsx"],"sourcesContent":["export { CopilotContext, useCopilotContext } from \"./copilot-context\";\nexport { CopilotMessagesContext, useCopilotMessagesContext } from \"./copilot-messages-context\";\nexport type {\n CopilotContextParams,\n CoagentInChatRenderFunction,\n CopilotApiConfig,\n} from \"./copilot-context\";\nexport type { CopilotMessagesContextParams } from \"./copilot-messages-context\";\n","import { CopilotCloudConfig, FunctionCallHandler } from \"@copilotkit/shared\";\nimport {\n ActionRenderProps,\n CatchAllActionRenderProps,\n FrontendAction,\n} from \"../types/frontend-action\";\nimport React from \"react\";\nimport { TreeNodeId } 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\";\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\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;\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 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 | \"auto\";\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?: 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\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\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: \"auto\",\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};\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","/**\n * An internal context to separate the messages state (which is constantly changing) from the rest of CopilotKit context\n */\n\nimport { Message } from \"@copilotkit/runtime-client-gql\";\nimport React from \"react\";\n\nexport interface CopilotMessagesContextParams {\n messages: Message[];\n setMessages: React.Dispatch<React.SetStateAction<Message[]>>;\n}\n\nconst emptyCopilotContext: CopilotMessagesContextParams = {\n messages: [],\n setMessages: () => [],\n};\n\nexport const CopilotMessagesContext =\n React.createContext<CopilotMessagesContextParams>(emptyCopilotContext);\n\nexport function useCopilotMessagesContext(): CopilotMessagesContextParams {\n const context = React.useContext(CopilotMessagesContext);\n if (context === emptyCopilotContext) {\n throw new Error(\n \"A messages consuming component was not wrapped with `<CopilotMessages> {...} </CopilotMessages>`\",\n );\n }\n return context;\n}\n"],"mappings":"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","names":["React","import_react","emptyCopilotContext","React"]}
@@ -2,7 +2,7 @@ import "../chunk-YPSGKPDA.mjs";
2
2
  import {
3
3
  CopilotContext,
4
4
  useCopilotContext
5
- } from "../chunk-ZM56S3LJ.mjs";
5
+ } from "../chunk-PTSWFERP.mjs";
6
6
  import {
7
7
  CopilotMessagesContext,
8
8
  useCopilotMessagesContext
@@ -138,6 +138,8 @@ interface CopilotContextParams {
138
138
  removeChatSuggestionConfiguration: (id: string) => void;
139
139
  chatInstructions: string;
140
140
  setChatInstructions: React$1.Dispatch<React$1.SetStateAction<string>>;
141
+ additionalInstructions?: string[];
142
+ setAdditionalInstructions: React$1.Dispatch<React$1.SetStateAction<string[]>>;
141
143
  copilotApiConfig: CopilotApiConfig;
142
144
  showDevConsole: boolean | "auto";
143
145
  coagentStates: Record<string, CoagentState>;
@@ -9,6 +9,7 @@ export { useCopilotRuntimeClient } from './use-copilot-runtime-client.js';
9
9
  export { useCopilotAuthenticatedAction_c } from './use-copilot-authenticated-action.js';
10
10
  export { useLangGraphInterrupt } from './use-langgraph-interrupt.js';
11
11
  export { useLangGraphInterruptRender } from './use-langgraph-interrupt-render.js';
12
+ export { useCopilotAdditionalInstructions } from './use-copilot-additional-instructions.js';
12
13
  import '@copilotkit/runtime-client-gql';
13
14
  import '../types/system-message.js';
14
15
  import '@copilotkit/shared';
@@ -16,7 +17,7 @@ import '../types/frontend-action.js';
16
17
  import 'react';
17
18
  import '../types/coagent-action.js';
18
19
  import '../types/document-pointer.js';
19
- import '../copilot-context-9ae8990b.js';
20
+ import '../copilot-context-c402f48d.js';
20
21
  import './use-tree.js';
21
22
  import '../types/chat-suggestion-configuration.js';
22
23
  import '../types/coagent-state.js';
@@ -85,6 +85,7 @@ __export(hooks_exports, {
85
85
  useCoAgent: () => useCoAgent,
86
86
  useCoAgentStateRender: () => useCoAgentStateRender,
87
87
  useCopilotAction: () => useCopilotAction,
88
+ useCopilotAdditionalInstructions: () => useCopilotAdditionalInstructions,
88
89
  useCopilotAuthenticatedAction_c: () => useCopilotAuthenticatedAction_c,
89
90
  useCopilotChat: () => useCopilotChat,
90
91
  useCopilotReadable: () => useCopilotReadable,
@@ -122,6 +123,8 @@ var emptyCopilotContext = {
122
123
  setIsLoading: () => returnAndThrowInDebug(false),
123
124
  chatInstructions: "",
124
125
  setChatInstructions: () => returnAndThrowInDebug(""),
126
+ additionalInstructions: [],
127
+ setAdditionalInstructions: () => returnAndThrowInDebug([]),
125
128
  getDocumentsContext: (categories) => returnAndThrowInDebug([]),
126
129
  addDocumentContext: () => returnAndThrowInDebug(""),
127
130
  removeDocumentContext: () => {
@@ -1295,18 +1298,27 @@ var import_react12 = require("react");
1295
1298
  function convertToJSON(description, value) {
1296
1299
  return `${description}: ${typeof value === "string" ? value : JSON.stringify(value)}`;
1297
1300
  }
1298
- function useCopilotReadable({ description, value, parentId, categories, convert }, dependencies) {
1301
+ function useCopilotReadable({
1302
+ description,
1303
+ value,
1304
+ parentId,
1305
+ categories,
1306
+ convert,
1307
+ available = "enabled"
1308
+ }, dependencies) {
1299
1309
  const { addContext, removeContext } = useCopilotContext();
1300
1310
  const idRef = (0, import_react12.useRef)();
1301
1311
  convert = convert || convertToJSON;
1302
1312
  const information = convert(description, value);
1303
1313
  (0, import_react12.useEffect)(() => {
1314
+ if (available === "disabled")
1315
+ return;
1304
1316
  const id = addContext(information, parentId, categories);
1305
1317
  idRef.current = id;
1306
1318
  return () => {
1307
1319
  removeContext(id);
1308
1320
  };
1309
- }, [information, parentId, addContext, removeContext, ...dependencies || []]);
1321
+ }, [available, information, parentId, addContext, removeContext, ...dependencies || []]);
1310
1322
  return idRef.current;
1311
1323
  }
1312
1324
 
@@ -1612,6 +1624,22 @@ function useLangGraphInterruptRender() {
1612
1624
  resolve: resolveInterrupt
1613
1625
  });
1614
1626
  }
1627
+
1628
+ // src/hooks/use-copilot-additional-instructions.ts
1629
+ var import_react18 = require("react");
1630
+ function useCopilotAdditionalInstructions({ instructions, available = "enabled" }, dependencies) {
1631
+ const { setAdditionalInstructions } = useCopilotContext();
1632
+ (0, import_react18.useEffect)(() => {
1633
+ if (available === "disabled")
1634
+ return;
1635
+ setAdditionalInstructions((prevInstructions) => [...prevInstructions || [], instructions]);
1636
+ return () => {
1637
+ setAdditionalInstructions(
1638
+ (prevInstructions) => (prevInstructions == null ? void 0 : prevInstructions.filter((instruction) => instruction !== instructions)) || []
1639
+ );
1640
+ };
1641
+ }, [available, instructions, setAdditionalInstructions, ...dependencies || []]);
1642
+ }
1615
1643
  // Annotate the CommonJS export names for ESM import in node:
1616
1644
  0 && (module.exports = {
1617
1645
  runAgent,
@@ -1620,6 +1648,7 @@ function useLangGraphInterruptRender() {
1620
1648
  useCoAgent,
1621
1649
  useCoAgentStateRender,
1622
1650
  useCopilotAction,
1651
+ useCopilotAdditionalInstructions,
1623
1652
  useCopilotAuthenticatedAction_c,
1624
1653
  useCopilotChat,
1625
1654
  useCopilotReadable,