@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.
- package/CHANGELOG.md +15 -5
- package/dist/{chunk-LGS6B47Q.mjs → chunk-3KBQXU44.mjs} +10 -10
- package/dist/{chunk-XSUSSWDS.mjs → chunk-3XAXY2Z3.mjs} +2 -2
- package/dist/{chunk-FUCEBN2P.mjs → chunk-47OPG5FM.mjs} +9 -9
- package/dist/{chunk-CTPEKUNX.mjs → chunk-4FIGRRFS.mjs} +5 -7
- package/dist/chunk-4FIGRRFS.mjs.map +1 -0
- package/dist/{chunk-YH2STM73.mjs → chunk-6BL5C56L.mjs} +4 -4
- package/dist/chunk-6BL5C56L.mjs.map +1 -0
- package/dist/{chunk-GOTHQ665.mjs → chunk-6INMITFA.mjs} +3 -4
- package/dist/chunk-6INMITFA.mjs.map +1 -0
- package/dist/{chunk-BJPGMY3I.mjs → chunk-CBBFRI3Q.mjs} +19 -8
- package/dist/{chunk-BJPGMY3I.mjs.map → chunk-CBBFRI3Q.mjs.map} +1 -1
- package/dist/{chunk-GDNJRSD4.mjs → chunk-CPMIEVKK.mjs} +9 -11
- package/dist/chunk-CPMIEVKK.mjs.map +1 -0
- package/dist/{chunk-HBZPOT37.mjs → chunk-JTINVYPK.mjs} +3 -3
- package/dist/{chunk-CPWFYV3U.mjs → chunk-KCAVDFB6.mjs} +2 -2
- package/dist/{chunk-YOH25I6N.mjs → chunk-RQNJNK2W.mjs} +2 -2
- package/dist/{chunk-QI3OM75G.mjs → chunk-RS6UPR5N.mjs} +2 -2
- package/dist/{chunk-5DT3MDBZ.mjs → chunk-S5MBUNGN.mjs} +2 -3
- package/dist/{chunk-5DT3MDBZ.mjs.map → chunk-S5MBUNGN.mjs.map} +1 -1
- package/dist/{chunk-PJNNEX4L.mjs → chunk-SWADR6EH.mjs} +2 -2
- package/dist/{chunk-FLV3J3VX.mjs → chunk-VEC45H6Q.mjs} +2 -2
- package/dist/{chunk-MA5B5ELM.mjs → chunk-WYMTXCQU.mjs} +3 -4
- package/dist/chunk-WYMTXCQU.mjs.map +1 -0
- package/dist/{chunk-FO7Z5LAL.mjs → chunk-YAGE7RCE.mjs} +2 -2
- package/dist/{chunk-RF3KLUPD.mjs → chunk-ZABXREBH.mjs} +3 -4
- package/dist/chunk-ZABXREBH.mjs.map +1 -0
- package/dist/components/chat/Button.js.map +1 -1
- package/dist/components/chat/Button.mjs +2 -2
- package/dist/components/chat/Chat.js +39 -36
- package/dist/components/chat/Chat.js.map +1 -1
- package/dist/components/chat/Chat.mjs +12 -12
- package/dist/components/chat/ChatContext.js +17 -6
- package/dist/components/chat/ChatContext.js.map +1 -1
- package/dist/components/chat/ChatContext.mjs +1 -1
- package/dist/components/chat/Header.js.map +1 -1
- package/dist/components/chat/Header.mjs +2 -2
- package/dist/components/chat/Input.js +1 -2
- package/dist/components/chat/Input.js.map +1 -1
- package/dist/components/chat/Input.mjs +3 -3
- package/dist/components/chat/Messages.js +6 -6
- package/dist/components/chat/Messages.js.map +1 -1
- package/dist/components/chat/Messages.mjs +2 -2
- package/dist/components/chat/Modal.js +39 -36
- package/dist/components/chat/Modal.js.map +1 -1
- package/dist/components/chat/Modal.mjs +16 -16
- package/dist/components/chat/Popup.js +39 -36
- package/dist/components/chat/Popup.js.map +1 -1
- package/dist/components/chat/Popup.mjs +17 -17
- package/dist/components/chat/Response.js.map +1 -1
- package/dist/components/chat/Response.mjs +2 -2
- package/dist/components/chat/Sidebar.js +39 -36
- package/dist/components/chat/Sidebar.js.map +1 -1
- package/dist/components/chat/Sidebar.mjs +17 -17
- package/dist/components/chat/Window.js.map +1 -1
- package/dist/components/chat/Window.mjs +2 -2
- package/dist/components/chat/index.js +39 -36
- package/dist/components/chat/index.js.map +1 -1
- package/dist/components/chat/index.mjs +18 -18
- package/dist/components/chat/messages/RenderActionExecutionMessage.js +1 -1
- package/dist/components/chat/messages/RenderActionExecutionMessage.js.map +1 -1
- package/dist/components/chat/messages/RenderActionExecutionMessage.mjs +2 -2
- package/dist/components/chat/messages/RenderAgentStateMessage.js +1 -2
- package/dist/components/chat/messages/RenderAgentStateMessage.js.map +1 -1
- package/dist/components/chat/messages/RenderAgentStateMessage.mjs +2 -2
- package/dist/components/chat/messages/RenderResultMessage.js +1 -2
- package/dist/components/chat/messages/RenderResultMessage.js.map +1 -1
- package/dist/components/chat/messages/RenderResultMessage.mjs +2 -2
- package/dist/components/chat/messages/RenderTextMessage.js +1 -2
- package/dist/components/chat/messages/RenderTextMessage.js.map +1 -1
- package/dist/components/chat/messages/RenderTextMessage.mjs +2 -2
- package/dist/components/dev-console/console.js +4 -6
- package/dist/components/dev-console/console.js.map +1 -1
- package/dist/components/dev-console/console.mjs +2 -2
- package/dist/components/dev-console/index.js +4 -6
- package/dist/components/dev-console/index.js.map +1 -1
- package/dist/components/dev-console/index.mjs +2 -2
- package/dist/components/dev-console/utils.js +4 -6
- package/dist/components/dev-console/utils.js.map +1 -1
- package/dist/components/dev-console/utils.mjs +1 -1
- package/dist/components/index.js +39 -36
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +18 -18
- package/dist/hooks/use-push-to-talk.js +1 -2
- package/dist/hooks/use-push-to-talk.js.map +1 -1
- package/dist/hooks/use-push-to-talk.mjs +1 -1
- package/dist/index.js +39 -36
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +18 -18
- package/package.json +8 -8
- package/src/components/chat/ChatContext.tsx +21 -8
- package/src/components/chat/Messages.tsx +6 -6
- package/src/components/chat/messages/RenderActionExecutionMessage.tsx +1 -1
- package/src/components/chat/messages/RenderAgentStateMessage.tsx +1 -1
- package/src/components/chat/messages/RenderResultMessage.tsx +1 -1
- package/src/components/chat/messages/RenderTextMessage.tsx +1 -1
- package/src/components/dev-console/utils.ts +4 -4
- package/src/hooks/use-push-to-talk.tsx +1 -1
- package/dist/chunk-CTPEKUNX.mjs.map +0 -1
- package/dist/chunk-GDNJRSD4.mjs.map +0 -1
- package/dist/chunk-GOTHQ665.mjs.map +0 -1
- package/dist/chunk-MA5B5ELM.mjs.map +0 -1
- package/dist/chunk-RF3KLUPD.mjs.map +0 -1
- package/dist/chunk-YH2STM73.mjs.map +0 -1
- /package/dist/{chunk-LGS6B47Q.mjs.map → chunk-3KBQXU44.mjs.map} +0 -0
- /package/dist/{chunk-XSUSSWDS.mjs.map → chunk-3XAXY2Z3.mjs.map} +0 -0
- /package/dist/{chunk-FUCEBN2P.mjs.map → chunk-47OPG5FM.mjs.map} +0 -0
- /package/dist/{chunk-HBZPOT37.mjs.map → chunk-JTINVYPK.mjs.map} +0 -0
- /package/dist/{chunk-CPWFYV3U.mjs.map → chunk-KCAVDFB6.mjs.map} +0 -0
- /package/dist/{chunk-YOH25I6N.mjs.map → chunk-RQNJNK2W.mjs.map} +0 -0
- /package/dist/{chunk-QI3OM75G.mjs.map → chunk-RS6UPR5N.mjs.map} +0 -0
- /package/dist/{chunk-PJNNEX4L.mjs.map → chunk-SWADR6EH.mjs.map} +0 -0
- /package/dist/{chunk-FLV3J3VX.mjs.map → chunk-VEC45H6Q.mjs.map} +0 -0
- /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-
|
|
4
|
-
import "../../chunk-
|
|
5
|
-
import "../../chunk-
|
|
6
|
-
import "../../chunk-
|
|
7
|
-
import "../../chunk-
|
|
8
|
-
import "../../chunk-
|
|
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-
|
|
11
|
-
import "../../chunk-
|
|
12
|
-
import "../../chunk-
|
|
13
|
-
import "../../chunk-
|
|
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-
|
|
16
|
-
import "../../chunk-
|
|
15
|
+
import "../../chunk-RS6UPR5N.mjs";
|
|
16
|
+
import "../../chunk-4FIGRRFS.mjs";
|
|
17
17
|
import "../../chunk-OTPAZXVR.mjs";
|
|
18
|
-
import "../../chunk-
|
|
18
|
+
import "../../chunk-JTINVYPK.mjs";
|
|
19
19
|
import "../../chunk-YQFVRDNC.mjs";
|
|
20
20
|
import "../../chunk-YQ3D5IQV.mjs";
|
|
21
|
-
import "../../chunk-
|
|
22
|
-
import "../../chunk-
|
|
23
|
-
import "../../chunk-
|
|
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-
|
|
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
|
|
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"]}
|
|
@@ -352,8 +352,8 @@ var ChatContextProvider = ({
|
|
|
352
352
|
open,
|
|
353
353
|
setOpen
|
|
354
354
|
}) => {
|
|
355
|
-
const
|
|
356
|
-
|
|
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
|
-
|
|
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
|
-
|
|
376
|
-
|
|
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]
|
|
550
|
+
if (messages[i].isActionExecutionMessage()) {
|
|
540
551
|
const id = messages[i].id;
|
|
541
552
|
const resultMessage = messages.find(
|
|
542
|
-
(message) => message
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 !==
|
|
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
|
|
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
|
|
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
|
|
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:
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
2139
|
+
const message = new import_runtime_client_gql4.TextMessage({
|
|
2137
2140
|
content: messageContent,
|
|
2138
|
-
role:
|
|
2141
|
+
role: import_runtime_client_gql4.Role.User
|
|
2139
2142
|
});
|
|
2140
2143
|
if (onSubmitMessage) {
|
|
2141
2144
|
try {
|