@copilotkit/react-ui 1.3.7-fix-chat-interactions-rerenders.0 → 1.3.8-fix-memoize-chat-ui-context.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/CHANGELOG.md +15 -5
  2. package/dist/{chunk-LGS6B47Q.mjs → chunk-3KBQXU44.mjs} +10 -10
  3. package/dist/{chunk-XSUSSWDS.mjs → chunk-3XAXY2Z3.mjs} +2 -2
  4. package/dist/{chunk-FUCEBN2P.mjs → chunk-47OPG5FM.mjs} +9 -9
  5. package/dist/{chunk-CTPEKUNX.mjs → chunk-4FIGRRFS.mjs} +5 -7
  6. package/dist/chunk-4FIGRRFS.mjs.map +1 -0
  7. package/dist/{chunk-YH2STM73.mjs → chunk-6BL5C56L.mjs} +4 -4
  8. package/dist/chunk-6BL5C56L.mjs.map +1 -0
  9. package/dist/{chunk-GOTHQ665.mjs → chunk-6INMITFA.mjs} +3 -4
  10. package/dist/chunk-6INMITFA.mjs.map +1 -0
  11. package/dist/{chunk-BJPGMY3I.mjs → chunk-CBBFRI3Q.mjs} +19 -8
  12. package/dist/{chunk-BJPGMY3I.mjs.map → chunk-CBBFRI3Q.mjs.map} +1 -1
  13. package/dist/{chunk-GDNJRSD4.mjs → chunk-CPMIEVKK.mjs} +9 -11
  14. package/dist/chunk-CPMIEVKK.mjs.map +1 -0
  15. package/dist/{chunk-HBZPOT37.mjs → chunk-JTINVYPK.mjs} +3 -3
  16. package/dist/{chunk-CPWFYV3U.mjs → chunk-KCAVDFB6.mjs} +2 -2
  17. package/dist/{chunk-YOH25I6N.mjs → chunk-RQNJNK2W.mjs} +2 -2
  18. package/dist/{chunk-QI3OM75G.mjs → chunk-RS6UPR5N.mjs} +2 -2
  19. package/dist/{chunk-5DT3MDBZ.mjs → chunk-S5MBUNGN.mjs} +2 -3
  20. package/dist/{chunk-5DT3MDBZ.mjs.map → chunk-S5MBUNGN.mjs.map} +1 -1
  21. package/dist/{chunk-PJNNEX4L.mjs → chunk-SWADR6EH.mjs} +2 -2
  22. package/dist/{chunk-FLV3J3VX.mjs → chunk-VEC45H6Q.mjs} +2 -2
  23. package/dist/{chunk-MA5B5ELM.mjs → chunk-WYMTXCQU.mjs} +3 -4
  24. package/dist/chunk-WYMTXCQU.mjs.map +1 -0
  25. package/dist/{chunk-FO7Z5LAL.mjs → chunk-YAGE7RCE.mjs} +2 -2
  26. package/dist/{chunk-RF3KLUPD.mjs → chunk-ZABXREBH.mjs} +3 -4
  27. package/dist/chunk-ZABXREBH.mjs.map +1 -0
  28. package/dist/components/chat/Button.js.map +1 -1
  29. package/dist/components/chat/Button.mjs +2 -2
  30. package/dist/components/chat/Chat.js +39 -36
  31. package/dist/components/chat/Chat.js.map +1 -1
  32. package/dist/components/chat/Chat.mjs +12 -12
  33. package/dist/components/chat/ChatContext.js +17 -6
  34. package/dist/components/chat/ChatContext.js.map +1 -1
  35. package/dist/components/chat/ChatContext.mjs +1 -1
  36. package/dist/components/chat/Header.js.map +1 -1
  37. package/dist/components/chat/Header.mjs +2 -2
  38. package/dist/components/chat/Input.js +1 -2
  39. package/dist/components/chat/Input.js.map +1 -1
  40. package/dist/components/chat/Input.mjs +3 -3
  41. package/dist/components/chat/Messages.js +6 -6
  42. package/dist/components/chat/Messages.js.map +1 -1
  43. package/dist/components/chat/Messages.mjs +2 -2
  44. package/dist/components/chat/Modal.js +39 -36
  45. package/dist/components/chat/Modal.js.map +1 -1
  46. package/dist/components/chat/Modal.mjs +16 -16
  47. package/dist/components/chat/Popup.js +39 -36
  48. package/dist/components/chat/Popup.js.map +1 -1
  49. package/dist/components/chat/Popup.mjs +17 -17
  50. package/dist/components/chat/Response.js.map +1 -1
  51. package/dist/components/chat/Response.mjs +2 -2
  52. package/dist/components/chat/Sidebar.js +39 -36
  53. package/dist/components/chat/Sidebar.js.map +1 -1
  54. package/dist/components/chat/Sidebar.mjs +17 -17
  55. package/dist/components/chat/Window.js.map +1 -1
  56. package/dist/components/chat/Window.mjs +2 -2
  57. package/dist/components/chat/index.js +39 -36
  58. package/dist/components/chat/index.js.map +1 -1
  59. package/dist/components/chat/index.mjs +18 -18
  60. package/dist/components/chat/messages/RenderActionExecutionMessage.js +1 -1
  61. package/dist/components/chat/messages/RenderActionExecutionMessage.js.map +1 -1
  62. package/dist/components/chat/messages/RenderActionExecutionMessage.mjs +2 -2
  63. package/dist/components/chat/messages/RenderAgentStateMessage.js +1 -2
  64. package/dist/components/chat/messages/RenderAgentStateMessage.js.map +1 -1
  65. package/dist/components/chat/messages/RenderAgentStateMessage.mjs +2 -2
  66. package/dist/components/chat/messages/RenderResultMessage.js +1 -2
  67. package/dist/components/chat/messages/RenderResultMessage.js.map +1 -1
  68. package/dist/components/chat/messages/RenderResultMessage.mjs +2 -2
  69. package/dist/components/chat/messages/RenderTextMessage.js +1 -2
  70. package/dist/components/chat/messages/RenderTextMessage.js.map +1 -1
  71. package/dist/components/chat/messages/RenderTextMessage.mjs +2 -2
  72. package/dist/components/dev-console/console.js +4 -6
  73. package/dist/components/dev-console/console.js.map +1 -1
  74. package/dist/components/dev-console/console.mjs +2 -2
  75. package/dist/components/dev-console/index.js +4 -6
  76. package/dist/components/dev-console/index.js.map +1 -1
  77. package/dist/components/dev-console/index.mjs +2 -2
  78. package/dist/components/dev-console/utils.js +4 -6
  79. package/dist/components/dev-console/utils.js.map +1 -1
  80. package/dist/components/dev-console/utils.mjs +1 -1
  81. package/dist/components/index.js +39 -36
  82. package/dist/components/index.js.map +1 -1
  83. package/dist/components/index.mjs +18 -18
  84. package/dist/hooks/use-push-to-talk.js +1 -2
  85. package/dist/hooks/use-push-to-talk.js.map +1 -1
  86. package/dist/hooks/use-push-to-talk.mjs +1 -1
  87. package/dist/index.js +39 -36
  88. package/dist/index.js.map +1 -1
  89. package/dist/index.mjs +18 -18
  90. package/package.json +8 -8
  91. package/src/components/chat/ChatContext.tsx +21 -8
  92. package/src/components/chat/Messages.tsx +6 -6
  93. package/src/components/chat/messages/RenderActionExecutionMessage.tsx +1 -1
  94. package/src/components/chat/messages/RenderAgentStateMessage.tsx +1 -1
  95. package/src/components/chat/messages/RenderResultMessage.tsx +1 -1
  96. package/src/components/chat/messages/RenderTextMessage.tsx +1 -1
  97. package/src/components/dev-console/utils.ts +4 -4
  98. package/src/hooks/use-push-to-talk.tsx +1 -1
  99. package/dist/chunk-CTPEKUNX.mjs.map +0 -1
  100. package/dist/chunk-GDNJRSD4.mjs.map +0 -1
  101. package/dist/chunk-GOTHQ665.mjs.map +0 -1
  102. package/dist/chunk-MA5B5ELM.mjs.map +0 -1
  103. package/dist/chunk-RF3KLUPD.mjs.map +0 -1
  104. package/dist/chunk-YH2STM73.mjs.map +0 -1
  105. /package/dist/{chunk-LGS6B47Q.mjs.map → chunk-3KBQXU44.mjs.map} +0 -0
  106. /package/dist/{chunk-XSUSSWDS.mjs.map → chunk-3XAXY2Z3.mjs.map} +0 -0
  107. /package/dist/{chunk-FUCEBN2P.mjs.map → chunk-47OPG5FM.mjs.map} +0 -0
  108. /package/dist/{chunk-HBZPOT37.mjs.map → chunk-JTINVYPK.mjs.map} +0 -0
  109. /package/dist/{chunk-CPWFYV3U.mjs.map → chunk-KCAVDFB6.mjs.map} +0 -0
  110. /package/dist/{chunk-YOH25I6N.mjs.map → chunk-RQNJNK2W.mjs.map} +0 -0
  111. /package/dist/{chunk-QI3OM75G.mjs.map → chunk-RS6UPR5N.mjs.map} +0 -0
  112. /package/dist/{chunk-PJNNEX4L.mjs.map → chunk-SWADR6EH.mjs.map} +0 -0
  113. /package/dist/{chunk-FLV3J3VX.mjs.map → chunk-VEC45H6Q.mjs.map} +0 -0
  114. /package/dist/{chunk-FO7Z5LAL.mjs.map → chunk-YAGE7RCE.mjs.map} +0 -0
@@ -1,30 +1,30 @@
1
1
  import {
2
2
  CopilotPopup
3
- } from "../../chunk-PJNNEX4L.mjs";
4
- import "../../chunk-FUCEBN2P.mjs";
5
- import "../../chunk-FO7Z5LAL.mjs";
6
- import "../../chunk-FLV3J3VX.mjs";
7
- import "../../chunk-YOH25I6N.mjs";
8
- import "../../chunk-LGS6B47Q.mjs";
3
+ } from "../../chunk-SWADR6EH.mjs";
4
+ import "../../chunk-47OPG5FM.mjs";
5
+ import "../../chunk-YAGE7RCE.mjs";
6
+ import "../../chunk-VEC45H6Q.mjs";
7
+ import "../../chunk-RQNJNK2W.mjs";
8
+ import "../../chunk-3KBQXU44.mjs";
9
9
  import "../../chunk-V7W6IM2V.mjs";
10
- import "../../chunk-YH2STM73.mjs";
11
- import "../../chunk-RF3KLUPD.mjs";
12
- import "../../chunk-GOTHQ665.mjs";
13
- import "../../chunk-MA5B5ELM.mjs";
10
+ import "../../chunk-6BL5C56L.mjs";
11
+ import "../../chunk-ZABXREBH.mjs";
12
+ import "../../chunk-6INMITFA.mjs";
13
+ import "../../chunk-WYMTXCQU.mjs";
14
14
  import "../../chunk-KFQYJ5R5.mjs";
15
- import "../../chunk-QI3OM75G.mjs";
16
- import "../../chunk-CTPEKUNX.mjs";
15
+ import "../../chunk-RS6UPR5N.mjs";
16
+ import "../../chunk-4FIGRRFS.mjs";
17
17
  import "../../chunk-OTPAZXVR.mjs";
18
- import "../../chunk-HBZPOT37.mjs";
18
+ import "../../chunk-JTINVYPK.mjs";
19
19
  import "../../chunk-YQFVRDNC.mjs";
20
20
  import "../../chunk-YQ3D5IQV.mjs";
21
- import "../../chunk-GDNJRSD4.mjs";
22
- import "../../chunk-XSUSSWDS.mjs";
23
- import "../../chunk-BJPGMY3I.mjs";
21
+ import "../../chunk-CPMIEVKK.mjs";
22
+ import "../../chunk-3XAXY2Z3.mjs";
23
+ import "../../chunk-CBBFRI3Q.mjs";
24
24
  import "../../chunk-UPTB2MVO.mjs";
25
25
  import "../../chunk-FZC7X5PK.mjs";
26
26
  import "../../chunk-54JAUBUJ.mjs";
27
- import "../../chunk-5DT3MDBZ.mjs";
27
+ import "../../chunk-S5MBUNGN.mjs";
28
28
  import "../../chunk-MRXNTQOX.mjs";
29
29
  export {
30
30
  CopilotPopup
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/chat/Response.tsx","../../../src/components/chat/ChatContext.tsx"],"sourcesContent":["import { useChatContext } from \"./ChatContext\";\nimport { ResponseButtonProps } from \"./props\";\n\nexport const ResponseButton = ({ onClick, inProgress }: ResponseButtonProps) => {\n const context = useChatContext();\n return (\n <button onClick={onClick} className=\"copilotKitResponseButton\">\n <span>{inProgress ? context.icons.stopIcon : context.icons.regenerateIcon}</span>\n {inProgress ? context.labels.stopGenerating : context.labels.regenerateResponse}\n </button>\n );\n};\n","import React, { useMemo, useState } from \"react\";\nimport * as DefaultIcons from \"./Icons\";\n\n/**\n * Icons for CopilotChat component.\n */\nexport interface CopilotChatIcons {\n /**\n * The icon to use for the open chat button.\n * @default <OpenIcon />\n */\n openIcon?: React.ReactNode;\n\n /**\n * The icon to use for the close chat button.\n * @default <CloseIcon />\n */\n closeIcon?: React.ReactNode;\n\n /**\n * The icon to use for the close chat button in the header.\n * @default <HeaderCloseIcon />\n */\n headerCloseIcon?: React.ReactNode;\n\n /**\n * The icon to use for the send button.\n * @default <SendIcon />\n */\n sendIcon?: React.ReactNode;\n\n /**\n * The icon to use for the activity indicator.\n * @default <ActivityIcon />\n */\n activityIcon?: React.ReactNode;\n\n /**\n * The icon to use for the spinner.\n * @default <SpinnerIcon />\n */\n spinnerIcon?: React.ReactNode;\n\n /**\n * The icon to use for the stop button.\n * @default <StopIcon />\n */\n stopIcon?: React.ReactNode;\n\n /**\n * The icon to use for the regenerate button.\n * @default <RegenerateIcon />\n */\n regenerateIcon?: React.ReactNode;\n\n /**\n * The icons to use for push to talk.\n * @default <PushToTalkIcon />\n */\n\n pushToTalkIcon?: React.ReactNode;\n}\n\n/**\n * Labels for CopilotChat component.\n */\nexport interface CopilotChatLabels {\n /**\n * The initial message(s) to display in the chat window.\n */\n initial?: string | string[];\n\n /**\n * The title to display in the header.\n * @default \"CopilotKit\"\n */\n title?: string;\n\n /**\n * The placeholder to display in the input.\n * @default \"Type a message...\"\n */\n placeholder?: string;\n\n /**\n * The message to display when an error occurs.\n * @default \"❌ An error occurred. Please try again.\"\n */\n error?: string;\n\n /**\n * The label to display on the stop button.\n * @default \"Stop generating\"\n */\n stopGenerating?: string;\n\n /**\n * The label to display on the regenerate button.\n * @default \"Regenerate response\"\n */\n regenerateResponse?: string;\n}\n\ninterface ChatContext {\n labels: Required<CopilotChatLabels>;\n icons: Required<CopilotChatIcons>;\n open: boolean;\n setOpen: (open: boolean) => void;\n}\n\nexport const ChatContext = React.createContext<ChatContext | undefined>(undefined);\n\nexport function useChatContext(): ChatContext {\n const context = React.useContext(ChatContext);\n if (context === undefined) {\n throw new Error(\n \"Context not found. Did you forget to wrap your app in a <ChatContextProvider> component?\",\n );\n }\n return context;\n}\n\ninterface ChatContextProps {\n // temperature?: number;\n // instructions?: string;\n // maxFeedback?: number;\n labels?: CopilotChatLabels;\n icons?: CopilotChatIcons;\n children?: React.ReactNode;\n open: boolean;\n setOpen: (open: boolean) => void;\n}\n\nexport const ChatContextProvider = ({\n // temperature,\n // instructions,\n // maxFeedback,\n labels,\n icons,\n children,\n open,\n setOpen,\n}: ChatContextProps) => {\n const context = {\n labels: {\n ...{\n initial: \"\",\n title: \"CopilotKit\",\n placeholder: \"Type a message...\",\n error: \"❌ An error occurred. Please try again.\",\n stopGenerating: \"Stop generating\",\n regenerateResponse: \"Regenerate response\",\n },\n ...labels,\n },\n\n icons: {\n ...{\n openIcon: DefaultIcons.OpenIcon,\n closeIcon: DefaultIcons.CloseIcon,\n headerCloseIcon: DefaultIcons.HeaderCloseIcon,\n sendIcon: DefaultIcons.SendIcon,\n activityIcon: DefaultIcons.ActivityIcon,\n spinnerIcon: DefaultIcons.SpinnerIcon,\n stopIcon: DefaultIcons.StopIcon,\n regenerateIcon: DefaultIcons.RegenerateIcon,\n pushToTalkIcon: DefaultIcons.PushToTalkIcon,\n },\n ...icons,\n },\n open,\n setOpen,\n };\n return <ChatContext.Provider value={context}>{children}</ChatContext.Provider>;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,mBAAyC;AA6KhC;AA/DF,IAAM,cAAc,aAAAA,QAAM,cAAuC,MAAS;AAE1E,SAAS,iBAA8B;AAC5C,QAAM,UAAU,aAAAA,QAAM,WAAW,WAAW;AAC5C,MAAI,YAAY,QAAW;AACzB,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;;;ADlHI,IAAAC,sBAAA;AAHG,IAAM,iBAAiB,CAAC,EAAE,SAAS,WAAW,MAA2B;AAC9E,QAAM,UAAU,eAAe;AAC/B,SACE,8CAAC,YAAO,SAAkB,WAAU,4BAClC;AAAA,iDAAC,UAAM,uBAAa,QAAQ,MAAM,WAAW,QAAQ,MAAM,gBAAe;AAAA,IACzE,aAAa,QAAQ,OAAO,iBAAiB,QAAQ,OAAO;AAAA,KAC/D;AAEJ;","names":["React","import_jsx_runtime"]}
1
+ {"version":3,"sources":["../../../src/components/chat/Response.tsx","../../../src/components/chat/ChatContext.tsx"],"sourcesContent":["import { useChatContext } from \"./ChatContext\";\nimport { ResponseButtonProps } from \"./props\";\n\nexport const ResponseButton = ({ onClick, inProgress }: ResponseButtonProps) => {\n const context = useChatContext();\n return (\n <button onClick={onClick} className=\"copilotKitResponseButton\">\n <span>{inProgress ? context.icons.stopIcon : context.icons.regenerateIcon}</span>\n {inProgress ? context.labels.stopGenerating : context.labels.regenerateResponse}\n </button>\n );\n};\n","import React, { useMemo, useState } from \"react\";\nimport * as DefaultIcons from \"./Icons\";\n\n/**\n * Icons for CopilotChat component.\n */\nexport interface CopilotChatIcons {\n /**\n * The icon to use for the open chat button.\n * @default <OpenIcon />\n */\n openIcon?: React.ReactNode;\n\n /**\n * The icon to use for the close chat button.\n * @default <CloseIcon />\n */\n closeIcon?: React.ReactNode;\n\n /**\n * The icon to use for the close chat button in the header.\n * @default <HeaderCloseIcon />\n */\n headerCloseIcon?: React.ReactNode;\n\n /**\n * The icon to use for the send button.\n * @default <SendIcon />\n */\n sendIcon?: React.ReactNode;\n\n /**\n * The icon to use for the activity indicator.\n * @default <ActivityIcon />\n */\n activityIcon?: React.ReactNode;\n\n /**\n * The icon to use for the spinner.\n * @default <SpinnerIcon />\n */\n spinnerIcon?: React.ReactNode;\n\n /**\n * The icon to use for the stop button.\n * @default <StopIcon />\n */\n stopIcon?: React.ReactNode;\n\n /**\n * The icon to use for the regenerate button.\n * @default <RegenerateIcon />\n */\n regenerateIcon?: React.ReactNode;\n\n /**\n * The icons to use for push to talk.\n * @default <PushToTalkIcon />\n */\n\n pushToTalkIcon?: React.ReactNode;\n}\n\n/**\n * Labels for CopilotChat component.\n */\nexport interface CopilotChatLabels {\n /**\n * The initial message(s) to display in the chat window.\n */\n initial?: string | string[];\n\n /**\n * The title to display in the header.\n * @default \"CopilotKit\"\n */\n title?: string;\n\n /**\n * The placeholder to display in the input.\n * @default \"Type a message...\"\n */\n placeholder?: string;\n\n /**\n * The message to display when an error occurs.\n * @default \"❌ An error occurred. Please try again.\"\n */\n error?: string;\n\n /**\n * The label to display on the stop button.\n * @default \"Stop generating\"\n */\n stopGenerating?: string;\n\n /**\n * The label to display on the regenerate button.\n * @default \"Regenerate response\"\n */\n regenerateResponse?: string;\n}\n\ninterface ChatContext {\n labels: Required<CopilotChatLabels>;\n icons: Required<CopilotChatIcons>;\n open: boolean;\n setOpen: (open: boolean) => void;\n}\n\nexport const ChatContext = React.createContext<ChatContext | undefined>(undefined);\n\nexport function useChatContext(): ChatContext {\n const context = React.useContext(ChatContext);\n if (context === undefined) {\n throw new Error(\n \"Context not found. Did you forget to wrap your app in a <ChatContextProvider> component?\",\n );\n }\n return context;\n}\n\ninterface ChatContextProps {\n // temperature?: number;\n // instructions?: string;\n // maxFeedback?: number;\n labels?: CopilotChatLabels;\n icons?: CopilotChatIcons;\n children?: React.ReactNode;\n open: boolean;\n setOpen: (open: boolean) => void;\n}\n\nexport const ChatContextProvider = ({\n // temperature,\n // instructions,\n // maxFeedback,\n labels,\n icons,\n children,\n open,\n setOpen,\n}: ChatContextProps) => {\n const memoizedLabels = useMemo(\n () => ({\n ...{\n initial: \"\",\n title: \"CopilotKit\",\n placeholder: \"Type a message...\",\n error: \"❌ An error occurred. Please try again.\",\n stopGenerating: \"Stop generating\",\n regenerateResponse: \"Regenerate response\",\n },\n ...labels,\n }),\n [labels],\n );\n\n const memoizedIcons = useMemo(\n () => ({\n ...{\n openIcon: DefaultIcons.OpenIcon,\n closeIcon: DefaultIcons.CloseIcon,\n headerCloseIcon: DefaultIcons.HeaderCloseIcon,\n sendIcon: DefaultIcons.SendIcon,\n activityIcon: DefaultIcons.ActivityIcon,\n spinnerIcon: DefaultIcons.SpinnerIcon,\n stopIcon: DefaultIcons.StopIcon,\n regenerateIcon: DefaultIcons.RegenerateIcon,\n pushToTalkIcon: DefaultIcons.PushToTalkIcon,\n },\n ...icons,\n }),\n [icons],\n );\n\n const context = useMemo(\n () => ({\n labels: memoizedLabels,\n icons: memoizedIcons,\n open,\n setOpen,\n }),\n [memoizedLabels, memoizedIcons, open, setOpen],\n );\n\n return <ChatContext.Provider value={context}>{children}</ChatContext.Provider>;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,mBAAyC;AA0LhC;AA5EF,IAAM,cAAc,aAAAA,QAAM,cAAuC,MAAS;AAE1E,SAAS,iBAA8B;AAC5C,QAAM,UAAU,aAAAA,QAAM,WAAW,WAAW;AAC5C,MAAI,YAAY,QAAW;AACzB,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;;;ADlHI,IAAAC,sBAAA;AAHG,IAAM,iBAAiB,CAAC,EAAE,SAAS,WAAW,MAA2B;AAC9E,QAAM,UAAU,eAAe;AAC/B,SACE,8CAAC,YAAO,SAAkB,WAAU,4BAClC;AAAA,iDAAC,UAAM,uBAAa,QAAQ,MAAM,WAAW,QAAQ,MAAM,gBAAe;AAAA,IACzE,aAAa,QAAQ,OAAO,iBAAiB,QAAQ,OAAO;AAAA,KAC/D;AAEJ;","names":["React","import_jsx_runtime"]}
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  ResponseButton
3
- } from "../../chunk-XSUSSWDS.mjs";
4
- import "../../chunk-BJPGMY3I.mjs";
3
+ } from "../../chunk-3XAXY2Z3.mjs";
4
+ import "../../chunk-CBBFRI3Q.mjs";
5
5
  import "../../chunk-FZC7X5PK.mjs";
6
6
  import "../../chunk-MRXNTQOX.mjs";
7
7
  export {
@@ -352,8 +352,8 @@ var ChatContextProvider = ({
352
352
  open,
353
353
  setOpen
354
354
  }) => {
355
- const context = {
356
- labels: __spreadValues(__spreadValues({}, {
355
+ const memoizedLabels = (0, import_react.useMemo)(
356
+ () => __spreadValues(__spreadValues({}, {
357
357
  initial: "",
358
358
  title: "CopilotKit",
359
359
  placeholder: "Type a message...",
@@ -361,7 +361,10 @@ var ChatContextProvider = ({
361
361
  stopGenerating: "Stop generating",
362
362
  regenerateResponse: "Regenerate response"
363
363
  }), labels),
364
- icons: __spreadValues(__spreadValues({}, {
364
+ [labels]
365
+ );
366
+ const memoizedIcons = (0, import_react.useMemo)(
367
+ () => __spreadValues(__spreadValues({}, {
365
368
  openIcon: OpenIcon,
366
369
  closeIcon: CloseIcon,
367
370
  headerCloseIcon: HeaderCloseIcon,
@@ -372,9 +375,17 @@ var ChatContextProvider = ({
372
375
  regenerateIcon: RegenerateIcon,
373
376
  pushToTalkIcon: PushToTalkIcon
374
377
  }), icons),
375
- open,
376
- setOpen
377
- };
378
+ [icons]
379
+ );
380
+ const context = (0, import_react.useMemo)(
381
+ () => ({
382
+ labels: memoizedLabels,
383
+ icons: memoizedIcons,
384
+ open,
385
+ setOpen
386
+ }),
387
+ [memoizedLabels, memoizedIcons, open, setOpen]
388
+ );
378
389
  return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ChatContext.Provider, { value: context, children });
379
390
  };
380
391
 
@@ -536,10 +547,10 @@ var Messages = ({
536
547
  messages = [...initialMessages, ...messages];
537
548
  const actionResults = {};
538
549
  for (let i = 0; i < messages.length; i++) {
539
- if (messages[i] instanceof import_runtime_client_gql.ActionExecutionMessage) {
550
+ if (messages[i].isActionExecutionMessage()) {
540
551
  const id = messages[i].id;
541
552
  const resultMessage = messages.find(
542
- (message) => message instanceof import_runtime_client_gql.ResultMessage && message.actionExecutionId === id
553
+ (message) => message.isResultMessage() && message.actionExecutionId === id
543
554
  );
544
555
  if (resultMessage) {
545
556
  actionResults[id] = import_runtime_client_gql.ResultMessage.decodeResult(resultMessage.result || "");
@@ -560,7 +571,7 @@ var Messages = ({
560
571
  return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "copilotKitMessages", children: [
561
572
  messages.map((message, index) => {
562
573
  const isCurrentMessage = index === messages.length - 1;
563
- if (message instanceof import_runtime_client_gql.TextMessage) {
574
+ if (message.isTextMessage()) {
564
575
  return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
565
576
  RenderTextMessage2,
566
577
  {
@@ -571,7 +582,7 @@ var Messages = ({
571
582
  },
572
583
  index
573
584
  );
574
- } else if (message instanceof import_runtime_client_gql.ActionExecutionMessage) {
585
+ } else if (message.isActionExecutionMessage()) {
575
586
  return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
576
587
  RenderActionExecutionMessage2,
577
588
  {
@@ -583,7 +594,7 @@ var Messages = ({
583
594
  },
584
595
  index
585
596
  );
586
- } else if (message instanceof import_runtime_client_gql.AgentStateMessage) {
597
+ } else if (message.isAgentStateMessage()) {
587
598
  return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
588
599
  RenderAgentStateMessage2,
589
600
  {
@@ -594,7 +605,7 @@ var Messages = ({
594
605
  },
595
606
  index
596
607
  );
597
- } else if (message instanceof import_runtime_client_gql.ResultMessage) {
608
+ } else if (message.isResultMessage()) {
598
609
  return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
599
610
  RenderResultMessage2,
600
611
  {
@@ -681,7 +692,6 @@ var Textarea_default = AutoResizingTextarea;
681
692
 
682
693
  // src/hooks/use-push-to-talk.tsx
683
694
  var import_react_core = require("@copilotkit/react-core");
684
- var import_runtime_client_gql2 = require("@copilotkit/runtime-client-gql");
685
695
  var import_react5 = require("react");
686
696
  var startRecording = (mediaStreamRef, mediaRecorderRef, audioContextRef, recordedChunks, onStop) => __async(void 0, null, function* () {
687
697
  if (!mediaStreamRef.current || !audioContextRef.current) {
@@ -774,7 +784,7 @@ var usePushToTalk = ({
774
784
  (message) => message.id === startReadingFromMessageId
775
785
  );
776
786
  const messagesAfterLast = context.messages.slice(lastMessageIndex + 1).filter(
777
- (message) => message instanceof import_runtime_client_gql2.TextMessage && message.role === "assistant"
787
+ (message) => message.isTextMessage() && message.role === "assistant"
778
788
  );
779
789
  const text = messagesAfterLast.map((message) => message.content).join("\n");
780
790
  playAudioResponse(text, context.copilotApiConfig.textToSpeechUrl, audioContextRef.current);
@@ -862,9 +872,6 @@ var ResponseButton = ({ onClick, inProgress }) => {
862
872
  ] });
863
873
  };
864
874
 
865
- // src/components/chat/messages/RenderTextMessage.tsx
866
- var import_runtime_client_gql3 = require("@copilotkit/runtime-client-gql");
867
-
868
875
  // src/components/chat/Markdown.tsx
869
876
  var import_react8 = require("react");
870
877
  var import_react_markdown = __toESM(require("react-markdown"));
@@ -1338,7 +1345,7 @@ var import_jsx_runtime12 = require("react/jsx-runtime");
1338
1345
  function RenderTextMessage(props) {
1339
1346
  const { message, inProgress, index, isCurrentMessage } = props;
1340
1347
  const { icons } = useChatContext();
1341
- if (message instanceof import_runtime_client_gql3.TextMessage) {
1348
+ if (message.isTextMessage()) {
1342
1349
  if (message.role === "user") {
1343
1350
  return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "copilotKitMessage copilotKitUserMessage", children: message.content }, index);
1344
1351
  } else if (message.role == "assistant") {
@@ -1348,14 +1355,14 @@ function RenderTextMessage(props) {
1348
1355
  }
1349
1356
 
1350
1357
  // src/components/chat/messages/RenderActionExecutionMessage.tsx
1351
- var import_runtime_client_gql4 = require("@copilotkit/runtime-client-gql");
1358
+ var import_runtime_client_gql2 = require("@copilotkit/runtime-client-gql");
1352
1359
  var import_react_core3 = require("@copilotkit/react-core");
1353
1360
  var import_jsx_runtime13 = require("react/jsx-runtime");
1354
1361
  function RenderActionExecutionMessage(props) {
1355
1362
  const { message, inProgress, index, isCurrentMessage, actionResult } = props;
1356
1363
  const { chatComponentsCache } = (0, import_react_core3.useCopilotContext)();
1357
1364
  const { icons } = useChatContext();
1358
- if (message instanceof import_runtime_client_gql4.ActionExecutionMessage) {
1365
+ if (message.isActionExecutionMessage()) {
1359
1366
  if (chatComponentsCache.current !== null && chatComponentsCache.current.actions[message.name]) {
1360
1367
  const render = chatComponentsCache.current.actions[message.name];
1361
1368
  if (typeof render === "string") {
@@ -1373,7 +1380,7 @@ function RenderActionExecutionMessage(props) {
1373
1380
  let status = "inProgress";
1374
1381
  if (actionResult !== void 0) {
1375
1382
  status = "complete";
1376
- } else if (message.status.code !== import_runtime_client_gql4.MessageStatusCode.Pending) {
1383
+ } else if (message.status.code !== import_runtime_client_gql2.MessageStatusCode.Pending) {
1377
1384
  status = "executing";
1378
1385
  }
1379
1386
  try {
@@ -1416,25 +1423,23 @@ function RenderActionExecutionMessage(props) {
1416
1423
  }
1417
1424
 
1418
1425
  // src/components/chat/messages/RenderResultMessage.tsx
1419
- var import_runtime_client_gql5 = require("@copilotkit/runtime-client-gql");
1420
1426
  var import_jsx_runtime14 = require("react/jsx-runtime");
1421
1427
  function RenderResultMessage(props) {
1422
1428
  const { message, inProgress, index, isCurrentMessage } = props;
1423
1429
  const { icons } = useChatContext();
1424
- if (message instanceof import_runtime_client_gql5.ResultMessage && inProgress && isCurrentMessage) {
1430
+ if (message.isResultMessage() && inProgress && isCurrentMessage) {
1425
1431
  return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: `copilotKitMessage copilotKitAssistantMessage`, children: icons.spinnerIcon }, index);
1426
1432
  }
1427
1433
  }
1428
1434
 
1429
1435
  // src/components/chat/messages/RenderAgentStateMessage.tsx
1430
- var import_runtime_client_gql6 = require("@copilotkit/runtime-client-gql");
1431
1436
  var import_react_core4 = require("@copilotkit/react-core");
1432
1437
  var import_jsx_runtime15 = require("react/jsx-runtime");
1433
1438
  function RenderAgentStateMessage(props) {
1434
1439
  const { message, inProgress, index, isCurrentMessage } = props;
1435
1440
  const { chatComponentsCache } = (0, import_react_core4.useCopilotContext)();
1436
1441
  const { icons } = useChatContext();
1437
- if (message instanceof import_runtime_client_gql6.AgentStateMessage) {
1442
+ if (message.isAgentStateMessage()) {
1438
1443
  let render;
1439
1444
  if (chatComponentsCache.current !== null) {
1440
1445
  render = chatComponentsCache.current.coAgentStateRenders[`${message.agentName}-${message.nodeName}`] || chatComponentsCache.current.coAgentStateRenders[`${message.agentName}-global`];
@@ -1487,7 +1492,7 @@ function RenderAgentStateMessage(props) {
1487
1492
  // src/components/chat/Suggestion.tsx
1488
1493
  var import_react_core5 = require("@copilotkit/react-core");
1489
1494
  var import_shared = require("@copilotkit/shared");
1490
- var import_runtime_client_gql7 = require("@copilotkit/runtime-client-gql");
1495
+ var import_runtime_client_gql3 = require("@copilotkit/runtime-client-gql");
1491
1496
  var import_jsx_runtime16 = require("react/jsx-runtime");
1492
1497
  function Suggestion({ title, message, onClick, partial, className }) {
1493
1498
  return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
@@ -1523,7 +1528,7 @@ var reloadSuggestions = (context, chatSuggestionConfiguration, setCurrentSuggest
1523
1528
  context,
1524
1529
  instructions: "Suggest what the user could say next. Provide clear, highly relevant suggestions. Do not literally suggest function calls. " + config.instructions + "\n\n" + numOfSuggestionsInstructions,
1525
1530
  data: "Available tools: " + tools + "\n\n",
1526
- requestType: import_runtime_client_gql7.CopilotRequestType.Task,
1531
+ requestType: import_runtime_client_gql3.CopilotRequestType.Task,
1527
1532
  parameters: [
1528
1533
  {
1529
1534
  name: "suggestions",
@@ -1579,13 +1584,11 @@ var reloadSuggestions = (context, chatSuggestionConfiguration, setCurrentSuggest
1579
1584
  // src/components/chat/Chat.tsx
1580
1585
  var import_react11 = __toESM(require("react"));
1581
1586
  var import_react_core8 = require("@copilotkit/react-core");
1582
- var import_runtime_client_gql10 = require("@copilotkit/runtime-client-gql");
1587
+ var import_runtime_client_gql4 = require("@copilotkit/runtime-client-gql");
1583
1588
  var import_shared3 = require("@copilotkit/shared");
1584
1589
 
1585
1590
  // src/components/dev-console/utils.ts
1586
1591
  var import_react_core6 = require("@copilotkit/react-core");
1587
- var import_runtime_client_gql8 = require("@copilotkit/runtime-client-gql");
1588
- var import_runtime_client_gql9 = require("@copilotkit/runtime-client-gql");
1589
1592
  function shouldShowDevConsole(showDevConsole) {
1590
1593
  if (typeof showDevConsole === "boolean") {
1591
1594
  return showDevConsole;
@@ -1675,7 +1678,7 @@ function logMessages(context) {
1675
1678
  return;
1676
1679
  }
1677
1680
  const tableData = context.messages.map((message) => {
1678
- if (message instanceof import_runtime_client_gql8.TextMessage) {
1681
+ if (message.isTextMessage()) {
1679
1682
  return {
1680
1683
  id: message.id,
1681
1684
  type: "TextMessage",
@@ -1684,7 +1687,7 @@ function logMessages(context) {
1684
1687
  scope: void 0,
1685
1688
  content: message.content
1686
1689
  };
1687
- } else if (message instanceof import_runtime_client_gql8.ActionExecutionMessage) {
1690
+ } else if (message.isActionExecutionMessage()) {
1688
1691
  return {
1689
1692
  id: message.id,
1690
1693
  type: "ActionExecutionMessage",
@@ -1693,7 +1696,7 @@ function logMessages(context) {
1693
1696
  scope: message.scope,
1694
1697
  content: message.arguments
1695
1698
  };
1696
- } else if (message instanceof import_runtime_client_gql8.ResultMessage) {
1699
+ } else if (message.isResultMessage()) {
1697
1700
  return {
1698
1701
  id: message.id,
1699
1702
  type: "ResultMessage",
@@ -1702,7 +1705,7 @@ function logMessages(context) {
1702
1705
  scope: message.actionExecutionId,
1703
1706
  content: message.result
1704
1707
  };
1705
- } else if (message instanceof import_runtime_client_gql9.AgentStateMessage) {
1708
+ } else if (message.isAgentStateMessage()) {
1706
1709
  return {
1707
1710
  id: message.id,
1708
1711
  type: `AgentStateMessage (running: ${message.running})`,
@@ -2133,9 +2136,9 @@ var useCopilotChatLogic = (makeSystemMessage, onInProgress, onSubmitMessage) =>
2133
2136
  const sendMessage = (messageContent) => __async(void 0, null, function* () {
2134
2137
  abortSuggestions();
2135
2138
  setCurrentSuggestions([]);
2136
- const message = new import_runtime_client_gql10.TextMessage({
2139
+ const message = new import_runtime_client_gql4.TextMessage({
2137
2140
  content: messageContent,
2138
- role: import_runtime_client_gql10.Role.User
2141
+ role: import_runtime_client_gql4.Role.User
2139
2142
  });
2140
2143
  if (onSubmitMessage) {
2141
2144
  try {