@copilotkit/react-ui 1.9.3 → 1.10.0-next.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 +30 -0
- package/dist/{chunk-KENCH7RN.mjs → chunk-B5IFB5YJ.mjs} +1 -1
- package/dist/chunk-B5IFB5YJ.mjs.map +1 -0
- package/dist/chunk-DBKRAOH7.mjs +34 -0
- package/dist/chunk-DBKRAOH7.mjs.map +1 -0
- package/dist/{chunk-4HUXYD3B.mjs → chunk-DTRPPNSA.mjs} +2 -2
- package/dist/{chunk-YTXEWDNC.mjs → chunk-E6MQUIZW.mjs} +15 -4
- package/dist/chunk-E6MQUIZW.mjs.map +1 -0
- package/dist/{chunk-L3GZ7TXC.mjs → chunk-GCKKSSBU.mjs} +21 -24
- package/dist/chunk-GCKKSSBU.mjs.map +1 -0
- package/dist/{chunk-KN2GCKBE.mjs → chunk-GJ3MFNBX.mjs} +6 -6
- package/dist/{chunk-32MUWKL3.mjs → chunk-JHUTTP5C.mjs} +21 -17
- package/dist/chunk-JHUTTP5C.mjs.map +1 -0
- package/dist/{chunk-HKTWKCPS.mjs → chunk-LXCD3K7B.mjs} +127 -92
- package/dist/chunk-LXCD3K7B.mjs.map +1 -0
- package/dist/{chunk-S5MBUNGN.mjs → chunk-O72ZB5V3.mjs} +4 -4
- package/dist/chunk-O72ZB5V3.mjs.map +1 -0
- package/dist/{chunk-QGSPTXOV.mjs → chunk-O7KTFUAN.mjs} +2 -2
- package/dist/chunk-O7KTFUAN.mjs.map +1 -0
- package/dist/chunk-Q2467VHZ.mjs +30 -0
- package/dist/chunk-Q2467VHZ.mjs.map +1 -0
- package/dist/{chunk-H3EM63WS.mjs → chunk-VLNT34X3.mjs} +2 -2
- package/dist/chunk-VVL6JFCJ.mjs +16 -0
- package/dist/chunk-VVL6JFCJ.mjs.map +1 -0
- package/dist/chunk-WHDNKXMP.mjs +135 -0
- package/dist/chunk-WHDNKXMP.mjs.map +1 -0
- package/dist/{chunk-ALIBUJML.mjs → chunk-WPVTPQ7X.mjs} +2 -2
- package/dist/components/chat/Button.d.ts +1 -1
- package/dist/components/chat/Chat.d.ts +119 -28
- package/dist/components/chat/Chat.js +298 -658
- package/dist/components/chat/Chat.js.map +1 -1
- package/dist/components/chat/Chat.mjs +12 -15
- package/dist/components/chat/CodeBlock.js.map +1 -1
- package/dist/components/chat/CodeBlock.mjs +1 -1
- package/dist/components/chat/Header.d.ts +1 -1
- package/dist/components/chat/Input.d.ts +1 -1
- package/dist/components/chat/Input.js +3 -3
- package/dist/components/chat/Input.js.map +1 -1
- package/dist/components/chat/Input.mjs +2 -2
- package/dist/components/chat/Markdown.js +13 -2
- package/dist/components/chat/Markdown.js.map +1 -1
- package/dist/components/chat/Markdown.mjs +2 -2
- package/dist/components/chat/Messages.d.ts +3 -3
- package/dist/components/chat/Messages.js +40 -116
- package/dist/components/chat/Messages.js.map +1 -1
- package/dist/components/chat/Messages.mjs +1 -1
- package/dist/components/chat/Modal.d.ts +7 -2
- package/dist/components/chat/Modal.js +308 -668
- package/dist/components/chat/Modal.js.map +1 -1
- package/dist/components/chat/Modal.mjs +13 -16
- package/dist/components/chat/Popup.d.ts +7 -2
- package/dist/components/chat/Popup.js +310 -670
- package/dist/components/chat/Popup.js.map +1 -1
- package/dist/components/chat/Popup.mjs +14 -17
- package/dist/components/chat/Sidebar.d.ts +7 -2
- package/dist/components/chat/Sidebar.js +312 -672
- package/dist/components/chat/Sidebar.js.map +1 -1
- package/dist/components/chat/Sidebar.mjs +14 -17
- package/dist/components/chat/Suggestion.d.ts +2 -9
- package/dist/components/chat/Suggestion.js +6 -96
- package/dist/components/chat/Suggestion.js.map +1 -1
- package/dist/components/chat/Suggestion.mjs +3 -5
- package/dist/components/chat/Suggestions.d.ts +1 -1
- package/dist/components/chat/Suggestions.js +4 -3
- package/dist/components/chat/Suggestions.js.map +1 -1
- package/dist/components/chat/Suggestions.mjs +2 -2
- package/dist/components/chat/Window.d.ts +1 -1
- package/dist/components/chat/index.d.ts +8 -3
- package/dist/components/chat/index.js +316 -676
- package/dist/components/chat/index.js.map +1 -1
- package/dist/components/chat/index.mjs +18 -21
- package/dist/components/chat/messages/AssistantMessage.d.ts +1 -1
- package/dist/components/chat/messages/AssistantMessage.js +32 -24
- package/dist/components/chat/messages/AssistantMessage.js.map +1 -1
- package/dist/components/chat/messages/AssistantMessage.mjs +3 -3
- package/dist/components/chat/messages/ImageRenderer.d.ts +12 -0
- package/dist/components/chat/messages/ImageRenderer.js +58 -0
- package/dist/components/chat/messages/ImageRenderer.js.map +1 -0
- package/dist/components/chat/messages/ImageRenderer.mjs +8 -0
- package/dist/components/chat/messages/RenderMessage.d.ts +9 -0
- package/dist/components/chat/messages/{RenderTextMessage.js → RenderMessage.js} +92 -47
- package/dist/components/chat/messages/RenderMessage.js.map +1 -0
- package/dist/components/chat/messages/RenderMessage.mjs +16 -0
- package/dist/components/chat/messages/UserMessage.d.ts +1 -1
- package/dist/components/chat/messages/UserMessage.js +7 -1
- package/dist/components/chat/messages/UserMessage.js.map +1 -1
- package/dist/components/chat/messages/UserMessage.mjs +1 -1
- package/dist/components/chat/props.d.ts +32 -27
- package/dist/components/chat/props.js.map +1 -1
- package/dist/components/index.d.ts +8 -3
- package/dist/components/index.js +316 -676
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +18 -21
- package/dist/hooks/use-push-to-talk.d.ts +1 -1
- package/dist/hooks/use-push-to-talk.js +3 -3
- package/dist/hooks/use-push-to-talk.js.map +1 -1
- package/dist/hooks/use-push-to-talk.mjs +1 -1
- package/dist/index.css +59 -3
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +8 -3
- package/dist/index.js +322 -682
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +18 -21
- package/dist/types/css.d.ts +3 -0
- package/dist/types/css.js.map +1 -1
- package/package.json +4 -4
- package/src/components/chat/Chat.tsx +193 -105
- package/src/components/chat/CodeBlock.tsx +1 -1
- package/src/components/chat/Markdown.tsx +12 -2
- package/src/components/chat/Messages.tsx +43 -122
- package/src/components/chat/Suggestion.tsx +5 -108
- package/src/components/chat/Suggestions.tsx +0 -1
- package/src/components/chat/index.tsx +1 -1
- package/src/components/chat/messages/AssistantMessage.tsx +15 -23
- package/src/components/chat/messages/ImageRenderer.tsx +37 -0
- package/src/components/chat/messages/{RenderTextMessage.tsx → RenderMessage.tsx} +10 -9
- package/src/components/chat/messages/UserMessage.tsx +16 -5
- package/src/components/chat/props.ts +36 -28
- package/src/css/colors.css +10 -0
- package/src/css/markdown.css +8 -0
- package/src/css/messages.css +54 -5
- package/src/css/suggestions.css +1 -1
- package/src/hooks/use-push-to-talk.tsx +6 -5
- package/src/styles.css +1 -1
- package/src/types/css.ts +3 -0
- package/dist/chunk-2II3Q27P.mjs +0 -112
- package/dist/chunk-2II3Q27P.mjs.map +0 -1
- package/dist/chunk-32MUWKL3.mjs.map +0 -1
- package/dist/chunk-53CVDVS5.mjs +0 -127
- package/dist/chunk-53CVDVS5.mjs.map +0 -1
- package/dist/chunk-B3D7U7TJ.mjs +0 -211
- package/dist/chunk-B3D7U7TJ.mjs.map +0 -1
- package/dist/chunk-C7OB63U5.mjs +0 -36
- package/dist/chunk-C7OB63U5.mjs.map +0 -1
- package/dist/chunk-HKTWKCPS.mjs.map +0 -1
- package/dist/chunk-HWMFMBJC.mjs +0 -10
- package/dist/chunk-HWMFMBJC.mjs.map +0 -1
- package/dist/chunk-IMBPSLL4.mjs +0 -104
- package/dist/chunk-IMBPSLL4.mjs.map +0 -1
- package/dist/chunk-KENCH7RN.mjs.map +0 -1
- package/dist/chunk-L3GZ7TXC.mjs.map +0 -1
- package/dist/chunk-QGSPTXOV.mjs.map +0 -1
- package/dist/chunk-S5MBUNGN.mjs.map +0 -1
- package/dist/chunk-ULDQXCED.mjs +0 -78
- package/dist/chunk-ULDQXCED.mjs.map +0 -1
- package/dist/chunk-YTXEWDNC.mjs.map +0 -1
- package/dist/components/chat/messages/RenderActionExecutionMessage.d.ts +0 -9
- package/dist/components/chat/messages/RenderActionExecutionMessage.js +0 -869
- package/dist/components/chat/messages/RenderActionExecutionMessage.js.map +0 -1
- package/dist/components/chat/messages/RenderActionExecutionMessage.mjs +0 -14
- package/dist/components/chat/messages/RenderAgentStateMessage.d.ts +0 -9
- package/dist/components/chat/messages/RenderAgentStateMessage.js +0 -854
- package/dist/components/chat/messages/RenderAgentStateMessage.js.map +0 -1
- package/dist/components/chat/messages/RenderAgentStateMessage.mjs +0 -14
- package/dist/components/chat/messages/RenderImageMessage.d.ts +0 -9
- package/dist/components/chat/messages/RenderImageMessage.js +0 -823
- package/dist/components/chat/messages/RenderImageMessage.js.map +0 -1
- package/dist/components/chat/messages/RenderImageMessage.mjs +0 -15
- package/dist/components/chat/messages/RenderImageMessage.mjs.map +0 -1
- package/dist/components/chat/messages/RenderResultMessage.d.ts +0 -9
- package/dist/components/chat/messages/RenderResultMessage.js +0 -778
- package/dist/components/chat/messages/RenderResultMessage.js.map +0 -1
- package/dist/components/chat/messages/RenderResultMessage.mjs +0 -14
- package/dist/components/chat/messages/RenderResultMessage.mjs.map +0 -1
- package/dist/components/chat/messages/RenderTextMessage.d.ts +0 -9
- package/dist/components/chat/messages/RenderTextMessage.js.map +0 -1
- package/dist/components/chat/messages/RenderTextMessage.mjs +0 -15
- package/dist/components/chat/messages/RenderTextMessage.mjs.map +0 -1
- package/src/components/chat/messages/RenderActionExecutionMessage.tsx +0 -127
- package/src/components/chat/messages/RenderAgentStateMessage.tsx +0 -116
- package/src/components/chat/messages/RenderImageMessage.tsx +0 -64
- package/src/components/chat/messages/RenderResultMessage.tsx +0 -26
- /package/dist/{chunk-4HUXYD3B.mjs.map → chunk-DTRPPNSA.mjs.map} +0 -0
- /package/dist/{chunk-KN2GCKBE.mjs.map → chunk-GJ3MFNBX.mjs.map} +0 -0
- /package/dist/{chunk-H3EM63WS.mjs.map → chunk-VLNT34X3.mjs.map} +0 -0
- /package/dist/{chunk-ALIBUJML.mjs.map → chunk-WPVTPQ7X.mjs.map} +0 -0
- /package/dist/components/chat/messages/{RenderActionExecutionMessage.mjs.map → ImageRenderer.mjs.map} +0 -0
- /package/dist/components/chat/messages/{RenderAgentStateMessage.mjs.map → RenderMessage.mjs.map} +0 -0
|
@@ -2,12 +2,12 @@ import "../chunk-MMVDU6DF.mjs";
|
|
|
2
2
|
import "../chunk-SC6JRFAJ.mjs";
|
|
3
3
|
import {
|
|
4
4
|
CopilotSidebar
|
|
5
|
-
} from "../chunk-
|
|
5
|
+
} from "../chunk-WPVTPQ7X.mjs";
|
|
6
6
|
import "../chunk-WB3YULQ4.mjs";
|
|
7
7
|
import {
|
|
8
8
|
CopilotPopup
|
|
9
|
-
} from "../chunk-
|
|
10
|
-
import "../chunk-
|
|
9
|
+
} from "../chunk-VLNT34X3.mjs";
|
|
10
|
+
import "../chunk-GJ3MFNBX.mjs";
|
|
11
11
|
import "../chunk-C3GSYRC3.mjs";
|
|
12
12
|
import "../chunk-GVKA7RQQ.mjs";
|
|
13
13
|
import "../chunk-V7W6IM2V.mjs";
|
|
@@ -24,42 +24,39 @@ import "../chunk-BH6PCAAL.mjs";
|
|
|
24
24
|
import "../chunk-UFN2VWSR.mjs";
|
|
25
25
|
import {
|
|
26
26
|
CopilotChat
|
|
27
|
-
} from "../chunk-
|
|
28
|
-
import "../chunk-
|
|
29
|
-
import "../chunk-2II3Q27P.mjs";
|
|
30
|
-
import {
|
|
31
|
-
RenderImageMessage
|
|
32
|
-
} from "../chunk-ULDQXCED.mjs";
|
|
33
|
-
import "../chunk-C7OB63U5.mjs";
|
|
34
|
-
import "../chunk-32MUWKL3.mjs";
|
|
27
|
+
} from "../chunk-LXCD3K7B.mjs";
|
|
28
|
+
import "../chunk-JHUTTP5C.mjs";
|
|
35
29
|
import {
|
|
36
30
|
AssistantMessage
|
|
37
|
-
} from "../chunk-
|
|
31
|
+
} from "../chunk-GCKKSSBU.mjs";
|
|
32
|
+
import {
|
|
33
|
+
ImageRenderer
|
|
34
|
+
} from "../chunk-DBKRAOH7.mjs";
|
|
38
35
|
import {
|
|
39
36
|
UserMessage
|
|
40
|
-
} from "../chunk-
|
|
37
|
+
} from "../chunk-VVL6JFCJ.mjs";
|
|
41
38
|
import {
|
|
42
39
|
Suggestions
|
|
43
|
-
} from "../chunk-
|
|
40
|
+
} from "../chunk-O7KTFUAN.mjs";
|
|
44
41
|
import {
|
|
45
42
|
Suggestion
|
|
46
|
-
} from "../chunk-
|
|
43
|
+
} from "../chunk-Q2467VHZ.mjs";
|
|
47
44
|
import "../chunk-PLHTVHUW.mjs";
|
|
48
|
-
import "../chunk-
|
|
45
|
+
import "../chunk-DTRPPNSA.mjs";
|
|
49
46
|
import "../chunk-CGEAG65D.mjs";
|
|
50
47
|
import "../chunk-QIOJXTIQ.mjs";
|
|
51
48
|
import {
|
|
52
49
|
Markdown
|
|
53
|
-
} from "../chunk-
|
|
54
|
-
import "../chunk-
|
|
50
|
+
} from "../chunk-E6MQUIZW.mjs";
|
|
51
|
+
import "../chunk-WHDNKXMP.mjs";
|
|
55
52
|
import {
|
|
56
53
|
useChatContext
|
|
57
54
|
} from "../chunk-IEMQ2SQW.mjs";
|
|
58
|
-
import "../chunk-
|
|
55
|
+
import "../chunk-B5IFB5YJ.mjs";
|
|
59
56
|
import "../chunk-XWG3L6QC.mjs";
|
|
60
57
|
import "../chunk-54JAUBUJ.mjs";
|
|
61
58
|
import "../chunk-JGMFJZMG.mjs";
|
|
62
|
-
import "../chunk-
|
|
59
|
+
import "../chunk-O72ZB5V3.mjs";
|
|
63
60
|
import "../chunk-MRXNTQOX.mjs";
|
|
64
61
|
export {
|
|
65
62
|
AssistantMessage,
|
|
@@ -67,8 +64,8 @@ export {
|
|
|
67
64
|
CopilotDevConsole,
|
|
68
65
|
CopilotPopup,
|
|
69
66
|
CopilotSidebar,
|
|
67
|
+
ImageRenderer,
|
|
70
68
|
Markdown,
|
|
71
|
-
RenderImageMessage,
|
|
72
69
|
Suggestion as RenderSuggestion,
|
|
73
70
|
Suggestions as RenderSuggestionsList,
|
|
74
71
|
UserMessage,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { Message } from '@copilotkit/
|
|
2
|
+
import { Message } from '@copilotkit/shared';
|
|
3
3
|
|
|
4
4
|
declare const checkMicrophonePermission: () => Promise<boolean | undefined>;
|
|
5
5
|
declare const requestMicAndPlaybackPermission: () => Promise<{
|
|
@@ -60,6 +60,7 @@ __export(use_push_to_talk_exports, {
|
|
|
60
60
|
});
|
|
61
61
|
module.exports = __toCommonJS(use_push_to_talk_exports);
|
|
62
62
|
var import_react_core = require("@copilotkit/react-core");
|
|
63
|
+
var import_runtime_client_gql = require("@copilotkit/runtime-client-gql");
|
|
63
64
|
var import_react = require("react");
|
|
64
65
|
var checkMicrophonePermission = () => __async(void 0, null, function* () {
|
|
65
66
|
try {
|
|
@@ -176,9 +177,8 @@ var usePushToTalk = ({
|
|
|
176
177
|
const lastMessageIndex = context.messages.findIndex(
|
|
177
178
|
(message) => message.id === startReadingFromMessageId
|
|
178
179
|
);
|
|
179
|
-
const
|
|
180
|
-
|
|
181
|
-
);
|
|
180
|
+
const aguiMessages = (0, import_runtime_client_gql.gqlToAGUI)(context.messages);
|
|
181
|
+
const messagesAfterLast = aguiMessages.slice(lastMessageIndex + 1).filter((message) => message.role === "assistant");
|
|
182
182
|
const text = messagesAfterLast.map((message) => message.content).join("\n");
|
|
183
183
|
playAudioResponse(text, context.copilotApiConfig.textToSpeechUrl, audioContextRef.current);
|
|
184
184
|
setStartReadingFromMessageId(null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/hooks/use-push-to-talk.tsx"],"sourcesContent":["import { useCopilotContext, useCopilotMessagesContext } from \"@copilotkit/react-core\";\nimport {
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/use-push-to-talk.tsx"],"sourcesContent":["import { useCopilotContext, useCopilotMessagesContext } from \"@copilotkit/react-core\";\nimport { gqlToAGUI } from \"@copilotkit/runtime-client-gql\";\nimport { Message } from \"@copilotkit/shared\";\nimport { MutableRefObject, useEffect, useRef, useState } from \"react\";\n\nexport const checkMicrophonePermission = async () => {\n try {\n const permissionStatus = await navigator.permissions.query({\n name: \"microphone\" as PermissionName,\n });\n if (permissionStatus.state === \"granted\") {\n return true;\n } else {\n return false;\n }\n } catch (err) {\n console.error(\"Error checking microphone permission\", err);\n }\n};\n\nexport const requestMicAndPlaybackPermission = async () => {\n try {\n const stream = await navigator.mediaDevices.getUserMedia({ audio: true });\n const audioContext = new window.AudioContext();\n await audioContext.resume();\n return { stream, audioContext };\n } catch (err) {\n console.error(\"Error requesting microphone and playback permissions\", err);\n return null;\n }\n};\n\nconst startRecording = async (\n mediaStreamRef: MutableRefObject<MediaStream | null>,\n mediaRecorderRef: MutableRefObject<MediaRecorder | null>,\n audioContextRef: MutableRefObject<AudioContext | null>,\n recordedChunks: Blob[],\n onStop: () => void,\n) => {\n if (!mediaStreamRef.current || !audioContextRef.current) {\n mediaStreamRef.current = await navigator.mediaDevices.getUserMedia({ audio: true });\n audioContextRef.current = new window.AudioContext();\n await audioContextRef.current.resume();\n }\n\n mediaRecorderRef.current = new MediaRecorder(mediaStreamRef.current!);\n mediaRecorderRef.current.start(1000);\n mediaRecorderRef.current.ondataavailable = (event) => {\n recordedChunks.push(event.data);\n };\n mediaRecorderRef.current.onstop = onStop;\n};\n\nconst stopRecording = (mediaRecorderRef: MutableRefObject<MediaRecorder | null>) => {\n if (mediaRecorderRef.current && mediaRecorderRef.current.state !== \"inactive\") {\n mediaRecorderRef.current.stop();\n }\n};\n\nconst transcribeAudio = async (recordedChunks: Blob[], transcribeAudioUrl: string) => {\n const completeBlob = new Blob(recordedChunks, { type: \"audio/mp4\" });\n const formData = new FormData();\n formData.append(\"file\", completeBlob, \"recording.mp4\");\n\n const response = await fetch(transcribeAudioUrl, {\n method: \"POST\",\n body: formData,\n });\n\n if (!response.ok) {\n throw new Error(`Error: ${response.statusText}`);\n }\n\n const transcription = await response.json();\n return transcription.text;\n};\n\nconst playAudioResponse = (text: string, textToSpeechUrl: string, audioContext: AudioContext) => {\n const encodedText = encodeURIComponent(text);\n const url = `${textToSpeechUrl}?text=${encodedText}`;\n\n fetch(url)\n .then((response) => response.arrayBuffer())\n .then((arrayBuffer) => audioContext.decodeAudioData(arrayBuffer))\n .then((audioBuffer) => {\n const source = audioContext.createBufferSource();\n source.buffer = audioBuffer;\n source.connect(audioContext.destination);\n source.start(0);\n })\n .catch((error) => {\n console.error(\"Error with decoding audio data\", error);\n });\n};\n\nexport type PushToTalkState = \"idle\" | \"recording\" | \"transcribing\";\n\nexport type SendFunction = (text: string) => Promise<Message>;\n\nexport const usePushToTalk = ({\n sendFunction,\n inProgress,\n}: {\n sendFunction: SendFunction;\n inProgress: boolean;\n}) => {\n const [pushToTalkState, setPushToTalkState] = useState<PushToTalkState>(\"idle\");\n const mediaStreamRef = useRef<MediaStream | null>(null);\n const audioContextRef = useRef<AudioContext | null>(null);\n const mediaRecorderRef = useRef<MediaRecorder | null>(null);\n const recordedChunks = useRef<Blob[]>([]);\n const generalContext = useCopilotContext();\n const messagesContext = useCopilotMessagesContext();\n const context = { ...generalContext, ...messagesContext };\n const [startReadingFromMessageId, setStartReadingFromMessageId] = useState<string | null>(null);\n\n useEffect(() => {\n if (pushToTalkState === \"recording\") {\n startRecording(\n mediaStreamRef,\n mediaRecorderRef,\n audioContextRef,\n recordedChunks.current,\n () => {\n setPushToTalkState(\"transcribing\");\n },\n );\n } else {\n stopRecording(mediaRecorderRef);\n if (pushToTalkState === \"transcribing\") {\n transcribeAudio(recordedChunks.current, context.copilotApiConfig.transcribeAudioUrl!).then(\n async (transcription) => {\n recordedChunks.current = [];\n setPushToTalkState(\"idle\");\n const message = await sendFunction(transcription);\n setStartReadingFromMessageId(message.id);\n },\n );\n }\n }\n\n return () => {\n stopRecording(mediaRecorderRef);\n };\n }, [pushToTalkState]);\n\n useEffect(() => {\n if (inProgress === false && startReadingFromMessageId) {\n const lastMessageIndex = context.messages.findIndex(\n (message) => message.id === startReadingFromMessageId,\n );\n\n const aguiMessages = gqlToAGUI(context.messages);\n\n const messagesAfterLast = aguiMessages\n .slice(lastMessageIndex + 1)\n .filter((message) => message.role === \"assistant\");\n\n const text = messagesAfterLast.map((message) => message.content).join(\"\\n\");\n playAudioResponse(text, context.copilotApiConfig.textToSpeechUrl!, audioContextRef.current!);\n\n setStartReadingFromMessageId(null);\n }\n }, [startReadingFromMessageId, inProgress]);\n\n return { pushToTalkState, setPushToTalkState };\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAA6D;AAC7D,gCAA0B;AAE1B,mBAA8D;AAEvD,IAAM,4BAA4B,MAAY;AACnD,MAAI;AACF,UAAM,mBAAmB,MAAM,UAAU,YAAY,MAAM;AAAA,MACzD,MAAM;AAAA,IACR,CAAC;AACD,QAAI,iBAAiB,UAAU,WAAW;AACxC,aAAO;AAAA,IACT,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF,SAAS,KAAP;AACA,YAAQ,MAAM,wCAAwC,GAAG;AAAA,EAC3D;AACF;AAEO,IAAM,kCAAkC,MAAY;AACzD,MAAI;AACF,UAAM,SAAS,MAAM,UAAU,aAAa,aAAa,EAAE,OAAO,KAAK,CAAC;AACxE,UAAM,eAAe,IAAI,OAAO,aAAa;AAC7C,UAAM,aAAa,OAAO;AAC1B,WAAO,EAAE,QAAQ,aAAa;AAAA,EAChC,SAAS,KAAP;AACA,YAAQ,MAAM,wDAAwD,GAAG;AACzE,WAAO;AAAA,EACT;AACF;AAEA,IAAM,iBAAiB,CACrB,gBACA,kBACA,iBACA,gBACA,WACG;AACH,MAAI,CAAC,eAAe,WAAW,CAAC,gBAAgB,SAAS;AACvD,mBAAe,UAAU,MAAM,UAAU,aAAa,aAAa,EAAE,OAAO,KAAK,CAAC;AAClF,oBAAgB,UAAU,IAAI,OAAO,aAAa;AAClD,UAAM,gBAAgB,QAAQ,OAAO;AAAA,EACvC;AAEA,mBAAiB,UAAU,IAAI,cAAc,eAAe,OAAQ;AACpE,mBAAiB,QAAQ,MAAM,GAAI;AACnC,mBAAiB,QAAQ,kBAAkB,CAAC,UAAU;AACpD,mBAAe,KAAK,MAAM,IAAI;AAAA,EAChC;AACA,mBAAiB,QAAQ,SAAS;AACpC;AAEA,IAAM,gBAAgB,CAAC,qBAA6D;AAClF,MAAI,iBAAiB,WAAW,iBAAiB,QAAQ,UAAU,YAAY;AAC7E,qBAAiB,QAAQ,KAAK;AAAA,EAChC;AACF;AAEA,IAAM,kBAAkB,CAAO,gBAAwB,uBAA+B;AACpF,QAAM,eAAe,IAAI,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnE,QAAM,WAAW,IAAI,SAAS;AAC9B,WAAS,OAAO,QAAQ,cAAc,eAAe;AAErD,QAAM,WAAW,MAAM,MAAM,oBAAoB;AAAA,IAC/C,QAAQ;AAAA,IACR,MAAM;AAAA,EACR,CAAC;AAED,MAAI,CAAC,SAAS,IAAI;AAChB,UAAM,IAAI,MAAM,UAAU,SAAS,YAAY;AAAA,EACjD;AAEA,QAAM,gBAAgB,MAAM,SAAS,KAAK;AAC1C,SAAO,cAAc;AACvB;AAEA,IAAM,oBAAoB,CAAC,MAAc,iBAAyB,iBAA+B;AAC/F,QAAM,cAAc,mBAAmB,IAAI;AAC3C,QAAM,MAAM,GAAG,wBAAwB;AAEvC,QAAM,GAAG,EACN,KAAK,CAAC,aAAa,SAAS,YAAY,CAAC,EACzC,KAAK,CAAC,gBAAgB,aAAa,gBAAgB,WAAW,CAAC,EAC/D,KAAK,CAAC,gBAAgB;AACrB,UAAM,SAAS,aAAa,mBAAmB;AAC/C,WAAO,SAAS;AAChB,WAAO,QAAQ,aAAa,WAAW;AACvC,WAAO,MAAM,CAAC;AAAA,EAChB,CAAC,EACA,MAAM,CAAC,UAAU;AAChB,YAAQ,MAAM,kCAAkC,KAAK;AAAA,EACvD,CAAC;AACL;AAMO,IAAM,gBAAgB,CAAC;AAAA,EAC5B;AAAA,EACA;AACF,MAGM;AACJ,QAAM,CAAC,iBAAiB,kBAAkB,QAAI,uBAA0B,MAAM;AAC9E,QAAM,qBAAiB,qBAA2B,IAAI;AACtD,QAAM,sBAAkB,qBAA4B,IAAI;AACxD,QAAM,uBAAmB,qBAA6B,IAAI;AAC1D,QAAM,qBAAiB,qBAAe,CAAC,CAAC;AACxC,QAAM,qBAAiB,qCAAkB;AACzC,QAAM,sBAAkB,6CAA0B;AAClD,QAAM,UAAU,kCAAK,iBAAmB;AACxC,QAAM,CAAC,2BAA2B,4BAA4B,QAAI,uBAAwB,IAAI;AAE9F,8BAAU,MAAM;AACd,QAAI,oBAAoB,aAAa;AACnC;AAAA,QACE;AAAA,QACA;AAAA,QACA;AAAA,QACA,eAAe;AAAA,QACf,MAAM;AACJ,6BAAmB,cAAc;AAAA,QACnC;AAAA,MACF;AAAA,IACF,OAAO;AACL,oBAAc,gBAAgB;AAC9B,UAAI,oBAAoB,gBAAgB;AACtC,wBAAgB,eAAe,SAAS,QAAQ,iBAAiB,kBAAmB,EAAE;AAAA,UACpF,CAAO,kBAAkB;AACvB,2BAAe,UAAU,CAAC;AAC1B,+BAAmB,MAAM;AACzB,kBAAM,UAAU,MAAM,aAAa,aAAa;AAChD,yCAA6B,QAAQ,EAAE;AAAA,UACzC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,WAAO,MAAM;AACX,oBAAc,gBAAgB;AAAA,IAChC;AAAA,EACF,GAAG,CAAC,eAAe,CAAC;AAEpB,8BAAU,MAAM;AACd,QAAI,eAAe,SAAS,2BAA2B;AACrD,YAAM,mBAAmB,QAAQ,SAAS;AAAA,QACxC,CAAC,YAAY,QAAQ,OAAO;AAAA,MAC9B;AAEA,YAAM,mBAAe,qCAAU,QAAQ,QAAQ;AAE/C,YAAM,oBAAoB,aACvB,MAAM,mBAAmB,CAAC,EAC1B,OAAO,CAAC,YAAY,QAAQ,SAAS,WAAW;AAEnD,YAAM,OAAO,kBAAkB,IAAI,CAAC,YAAY,QAAQ,OAAO,EAAE,KAAK,IAAI;AAC1E,wBAAkB,MAAM,QAAQ,iBAAiB,iBAAkB,gBAAgB,OAAQ;AAE3F,mCAA6B,IAAI;AAAA,IACnC;AAAA,EACF,GAAG,CAAC,2BAA2B,UAAU,CAAC;AAE1C,SAAO,EAAE,iBAAiB,mBAAmB;AAC/C;","names":[]}
|
package/dist/index.css
CHANGED
|
@@ -8,6 +8,9 @@
|
|
|
8
8
|
--copilot-kit-secondary-contrast-color: rgb(28, 28, 28);
|
|
9
9
|
--copilot-kit-separator-color: rgb(200 200 200);
|
|
10
10
|
--copilot-kit-muted-color: rgb(200 200 200);
|
|
11
|
+
--copilot-kit-error-background: #fef2f2;
|
|
12
|
+
--copilot-kit-error-border: #fecaca;
|
|
13
|
+
--copilot-kit-error-text: #dc2626;
|
|
11
14
|
--copilot-kit-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
|
|
12
15
|
--copilot-kit-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
|
|
13
16
|
--copilot-kit-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
|
|
@@ -28,6 +31,9 @@ body[style*="color-scheme: dark"] :root {
|
|
|
28
31
|
--copilot-kit-secondary-contrast-color: rgb(255, 255, 255);
|
|
29
32
|
--copilot-kit-separator-color: rgb(45, 45, 45);
|
|
30
33
|
--copilot-kit-muted-color: rgb(45, 45, 45);
|
|
34
|
+
--copilot-kit-error-background: #7f1d1d;
|
|
35
|
+
--copilot-kit-error-border: #dc2626;
|
|
36
|
+
--copilot-kit-error-text: #fca5a5;
|
|
31
37
|
--copilot-kit-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
|
|
32
38
|
--copilot-kit-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -1px rgba(0, 0, 0, 0.3);
|
|
33
39
|
--copilot-kit-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.4), 0 4px 6px -2px rgba(0, 0, 0, 0.3);
|
|
@@ -382,11 +388,11 @@ body[style*="color-scheme: dark"] .poweredBy {
|
|
|
382
388
|
}
|
|
383
389
|
.copilotKitMessagesFooter {
|
|
384
390
|
display: flex;
|
|
385
|
-
padding: 0;
|
|
386
|
-
margin:
|
|
391
|
+
padding: 0.5rem 0.75rem;
|
|
392
|
+
margin: 8px auto 0 auto;
|
|
387
393
|
justify-content: flex-start;
|
|
388
394
|
flex-direction: column;
|
|
389
|
-
width:
|
|
395
|
+
width: 97%;
|
|
390
396
|
}
|
|
391
397
|
.copilotKitMessages::-webkit-scrollbar {
|
|
392
398
|
width: 6px;
|
|
@@ -524,6 +530,49 @@ body[style*="color-scheme: dark"] .poweredBy {
|
|
|
524
530
|
background-color: var(--copilot-kit-primary-color);
|
|
525
531
|
animation: copilotKitActivityDotAnimation 1.4s infinite ease-in-out both;
|
|
526
532
|
}
|
|
533
|
+
.copilotKitImageRendering {
|
|
534
|
+
display: flex;
|
|
535
|
+
flex-direction: column;
|
|
536
|
+
gap: 8px;
|
|
537
|
+
}
|
|
538
|
+
.copilotKitImageRenderingImage {
|
|
539
|
+
max-width: 100%;
|
|
540
|
+
height: auto;
|
|
541
|
+
border-radius: 8px;
|
|
542
|
+
box-shadow: var(--copilot-kit-shadow-sm);
|
|
543
|
+
}
|
|
544
|
+
.copilotKitImageRenderingContent {
|
|
545
|
+
margin-top: 8px;
|
|
546
|
+
padding: 0 16px;
|
|
547
|
+
font-size: 0.875rem;
|
|
548
|
+
line-height: 1.5;
|
|
549
|
+
color: var(--copilot-kit-secondary-contrast-color);
|
|
550
|
+
}
|
|
551
|
+
.copilotKitImageRenderingError {
|
|
552
|
+
display: flex;
|
|
553
|
+
flex-direction: column;
|
|
554
|
+
gap: 8px;
|
|
555
|
+
padding: 12px;
|
|
556
|
+
border: 1px solid var(--copilot-kit-separator-color);
|
|
557
|
+
border-radius: 8px;
|
|
558
|
+
background-color: var(--copilot-kit-input-background-color);
|
|
559
|
+
}
|
|
560
|
+
.copilotKitImageRenderingErrorMessage {
|
|
561
|
+
display: flex;
|
|
562
|
+
align-items: center;
|
|
563
|
+
gap: 8px;
|
|
564
|
+
padding: 8px 12px;
|
|
565
|
+
background-color: var(--copilot-kit-error-background);
|
|
566
|
+
border: 1px solid var(--copilot-kit-error-border);
|
|
567
|
+
border-radius: 6px;
|
|
568
|
+
color: var(--copilot-kit-error-text);
|
|
569
|
+
font-size: 0.875rem;
|
|
570
|
+
font-weight: 500;
|
|
571
|
+
}
|
|
572
|
+
.copilotKitImageRenderingErrorMessage::before {
|
|
573
|
+
content: "\26a0\fe0f";
|
|
574
|
+
font-size: 1rem;
|
|
575
|
+
}
|
|
527
576
|
|
|
528
577
|
/* src/css/window.css */
|
|
529
578
|
.copilotKitWindow {
|
|
@@ -737,6 +786,13 @@ li.copilotKitMarkdownElement {
|
|
|
737
786
|
.copilotKitCodeBlockToolbarButton:hover {
|
|
738
787
|
background-color: rgb(55, 55, 58);
|
|
739
788
|
}
|
|
789
|
+
.copilotKitInlineCode {
|
|
790
|
+
background-color: var(--copilot-kit-input-background-color);
|
|
791
|
+
border: 1px solid var(--copilot-kit-separator-color);
|
|
792
|
+
border-radius: 0.375rem;
|
|
793
|
+
padding: 0.05rem 0.4rem;
|
|
794
|
+
font-size: 15px;
|
|
795
|
+
}
|
|
740
796
|
|
|
741
797
|
/* src/css/suggestions.css */
|
|
742
798
|
.copilotKitMessages footer .suggestions {
|
package/dist/index.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/css/colors.css","../src/css/popup.css","../src/css/sidebar.css","../src/css/button.css","../src/css/header.css","../src/css/input.css","../src/css/messages.css","../src/css/window.css","../src/css/animations.css","../src/css/markdown.css","../src/css/suggestions.css","../src/css/panel.css","../src/css/console.css","../src/css/crew.css"],"sourcesContent":["/* IMPORTANT NOTE:\nTHE DARK AND LIGHT COLORS HERE ARE DUPLICATED BECAUSE NO REUSE METHOD POSSIBLE.\nWHEN MAKING ANY CHANGE, MAKE SURE TO INCLUDE IT IN ALL DUPLICATIONS.\n*/\n\n/* BASE LIGHT THEME */\n:root {\n /* Semantic color tokens */\n /* Main brand/action color - used for buttons, interactive elements */\n --copilot-kit-primary-color: rgb(28, 28, 28);\n /* Color that contrasts with primary - used for text on primary elements */\n --copilot-kit-contrast-color: rgb(255, 255, 255);\n /* Main page/container background color */\n --copilot-kit-background-color: rgb(255 255 255);\n /* Input box background color */\n --copilot-kit-input-background-color: #fbfbfb;\n /* Secondary background - used for cards, panels, elevated surfaces */\n --copilot-kit-secondary-color: rgb(255 255 255);\n /* Primary text color for main content */\n --copilot-kit-secondary-contrast-color: rgb(28, 28, 28);\n /* Border color for dividers and containers */\n --copilot-kit-separator-color: rgb(200 200 200);\n /* Muted color for disabled/inactive states */\n --copilot-kit-muted-color: rgb(200 200 200);\n\n /* Shadow tokens */\n /* Small shadow for subtle elevation */\n --copilot-kit-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);\n /* Medium shadow for cards */\n --copilot-kit-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);\n /* Large shadow for modals */\n --copilot-kit-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);\n\n --copilot-kit-dev-console-bg: #f8f8fa;\n --copilot-kit-dev-console-text: black;\n}\n\n/* BASE DARK THEME */\n.dark,\nhtml.dark,\nbody.dark,\n[data-theme=\"dark\"],\nhtml[style*=\"color-scheme: dark\"],\nbody[style*=\"color-scheme: dark\"] :root {\n /* Main brand/action color - used for buttons, interactive elements */\n --copilot-kit-primary-color: rgb(255, 255, 255);\n /* Color that contrasts with primary - used for text on primary elements */\n --copilot-kit-contrast-color: rgb(28, 28, 28);\n /* Main page/container background color */\n --copilot-kit-background-color: rgb(17, 17, 17);\n /* Input box background color */\n --copilot-kit-input-background-color: #2c2c2c;\n /* Secondary background - used for cards, panels, elevated surfaces */\n --copilot-kit-secondary-color: rgb(28, 28, 28);\n /* Primary text color for main content */\n --copilot-kit-secondary-contrast-color: rgb(255, 255, 255);\n /* Border color for dividers and containers */\n --copilot-kit-separator-color: rgb(45, 45, 45);\n /* Muted color for disabled/inactive states */\n --copilot-kit-muted-color: rgb(45, 45, 45);\n\n /* Small shadow for subtle elevation */\n --copilot-kit-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);\n /* Medium shadow for cards */\n --copilot-kit-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -1px rgba(0, 0, 0, 0.3);\n /* Large shadow for modals */\n --copilot-kit-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.4), 0 4px 6px -2px rgba(0, 0, 0, 0.3);\n}\n",".copilotKitPopup {\n position: fixed;\n bottom: 1rem;\n right: 1rem;\n z-index: 30;\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto,\n \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\",\n \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-feature-settings: normal;\n font-variation-settings: normal;\n touch-action: manipulation;\n}\n\n.copilotKitPopup svg {\n display: inline-block;\n vertical-align: middle;\n}\n",".copilotKitSidebar {\n position: fixed;\n bottom: 1rem;\n right: 1rem;\n z-index: 30;\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto,\n \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\",\n \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-feature-settings: normal;\n font-variation-settings: normal;\n touch-action: manipulation;\n}\n\n.copilotKitSidebar svg {\n display: inline-block;\n vertical-align: middle;\n}\n\n.copilotKitSidebarContentWrapper {\n overflow: visible;\n margin-right: 0px;\n transition: margin-right 0.3s ease;\n}\n\n@media (min-width: 640px) {\n .copilotKitSidebarContentWrapper.sidebarExpanded {\n margin-right: 28rem;\n }\n}\n",".copilotKitButton {\n width: 3.5rem;\n height: 3.5rem;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n border: 1px solid var(--copilot-kit-primary-color);\n outline: none;\n position: relative;\n transform: scale(1);\n transition: all 0.2s ease;\n background-color: var(--copilot-kit-primary-color);\n color: var(--copilot-kit-contrast-color);\n cursor: pointer;\n box-shadow: var(--copilot-kit-shadow-sm);\n}\n\n.copilotKitButton:hover {\n transform: scale(1.05);\n box-shadow: var(--copilot-kit-shadow-md);\n}\n\n.copilotKitButton:active {\n transform: scale(0.95);\n box-shadow: var(--copilot-kit-shadow-sm);\n}\n\n.copilotKitButtonIcon {\n transition:\n opacity 100ms,\n transform 300ms;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.copilotKitButtonIcon svg {\n width: 1.5rem;\n height: 1.5rem;\n}\n\n/* State when the chat is open */\n.copilotKitButton.open .copilotKitButtonIconOpen {\n transform: translate(-50%, -50%) scale(0) rotate(90deg);\n opacity: 0;\n}\n\n.copilotKitButton.open .copilotKitButtonIconClose {\n transform: translate(-50%, -50%) scale(1) rotate(0deg);\n opacity: 1;\n}\n\n/* State when the chat is closed */\n.copilotKitButton:not(.open) .copilotKitButtonIconOpen {\n transform: translate(-50%, -50%) scale(1) rotate(0deg);\n opacity: 1;\n}\n\n.copilotKitButton:not(.open) .copilotKitButtonIconClose {\n transform: translate(-50%, -50%) scale(0) rotate(-90deg);\n opacity: 0;\n}\n",".copilotKitHeader {\n height: 56px;\n font-weight: 500;\n display: flex;\n align-items: center;\n position: relative;\n color: var(--copilot-kit-primary-color);\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom: 1px solid var(--copilot-kit-separator-color);\n padding-left: 1.5rem;\n background-color: var(--copilot-kit-contrast-color);\n justify-content: space-between;\n z-index: 2;\n}\n\n.copilotKitSidebar .copilotKitHeader {\n border-radius: 0;\n}\n\n.copilotKitHeaderControls {\n display: flex;\n}\n\n.copilotKitHeaderCloseButton {\n background: none;\n border: none;\n}\n\n@media (min-width: 640px) {\n .copilotKitHeader {\n padding-left: 1.5rem;\n padding-right: 24px;\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n }\n}\n\n.copilotKitHeader > button {\n border: 0;\n padding: 8px;\n position: absolute;\n top: 50%;\n right: 16px;\n transform: translateY(-50%);\n outline: none;\n color: var(--copilot-kit-muted-color);\n background-color: transparent;\n cursor: pointer;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background-color 0.2s ease;\n width: 35px;\n height: 35px;\n}\n\n.copilotKitHeader > button:hover {\n color: color-mix(in srgb, var(--copilot-kit-muted-color) 80%, black);\n}\n\n.copilotKitHeader > button:focus {\n outline: none;\n}\n",".copilotKitInput {\n cursor: text;\n position: relative;\n background-color: var(--copilot-kit-input-background-color);\n border-radius: 20px;\n border: 1px solid var(--copilot-kit-separator-color);\n padding: 12px 14px;\n min-height: 75px;\n margin: 0 auto;\n width: 95%;\n}\n\n.copilotKitInputContainer {\n width: 100%;\n padding: 0;\n padding-bottom: 15px;\n background: var(--copilot-kit-background-color);\n border-bottom-left-radius: 0.75rem;\n border-bottom-right-radius: 0.75rem;\n}\n\n.copilotKitSidebar .copilotKitInputContainer {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.copilotKitInputControlButton {\n padding: 0;\n cursor: pointer;\n transition-property: transform;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 200ms;\n transform: scale(1);\n color: rgba(0, 0, 0, 0.25);\n -webkit-appearance: button;\n appearance: button;\n background-color: transparent;\n background-image: none;\n text-transform: none;\n font-family: inherit;\n font-size: 100%;\n font-weight: inherit;\n line-height: inherit;\n border: 0;\n margin: 0;\n text-indent: 0px;\n text-shadow: none;\n display: inline-block;\n text-align: center;\n width: 24px;\n height: 24px;\n}\n\n.copilotKitInputControlButton:not([disabled]) {\n color: var(--copilot-kit-primary-color);\n}\n\n.copilotKitInputControlButton:not([disabled]):hover {\n color: color-mix(in srgb, var(--copilot-kit-primary-color) 80%, black);\n transform: scale(1.05);\n}\n\n.copilotKitInputControlButton[disabled] {\n color: var(--copilot-kit-muted-color);\n cursor: default;\n}\n\n.copilotKitInputControls {\n display: flex;\n gap: 3px;\n}\n\n.copilotKitInput > textarea {\n flex: 1; /* Allow textarea to take up remaining space */\n outline: 2px solid transparent;\n outline-offset: 2px;\n resize: none;\n white-space: pre-wrap;\n overflow-wrap: break-word;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n cursor: text;\n font-size: 0.875rem;\n line-height: 1.5rem;\n margin: 0;\n padding: 0;\n font-family: inherit;\n font-weight: inherit;\n color: var(--copilot-kit-secondary-contrast-color);\n border: 0px;\n background-color: transparent;\n width: 100%;\n}\n\n.copilotKitInput > textarea::placeholder {\n color: #808080;\n opacity: 1;\n}\n\n.copilotKitInputControlButton.copilotKitPushToTalkRecording {\n background-color: #ec0000;\n color: white;\n border-radius: 50%;\n animation: copilotKitPulseAnimation 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n}\n\n/* Scrollbar styles */\n.copilotKitInput textarea::-webkit-scrollbar {\n width: 9px; /* Width of the entire scrollbar */\n}\n\n.copilotKitInput textarea::-webkit-scrollbar-track {\n background: transparent; /* Color of the tracking area */\n}\n\n.copilotKitInput textarea::-webkit-scrollbar-thumb {\n background-color: rgb(200 200 200); /* Color of the scroll thumb */\n border-radius: 10px; /* Roundness of the scroll thumb */\n border: 2px solid transparent; /* Creates padding around scroll thumb */\n background-clip: content-box;\n cursor: pointer;\n}\n\n.copilotKitInput textarea::-webkit-scrollbar-thumb:hover {\n background-color: color-mix(in srgb, rgb(200 200 200) 80%, black); /* Darker color on hover */\n}\n\n.poweredByContainer {\n padding: 0;\n}\n\n.poweredBy {\n background: var(--copilot-kit-background-color) !important;\n visibility: visible !important;\n display: block !important;\n position: static !important;\n text-align: center !important;\n font-size: 12px !important;\n padding: 3px 0 !important;\n color: rgb(214, 214, 214) !important;\n margin: 0 !important;\n}\n\n.dark,\nhtml.dark,\nbody.dark,\n[data-theme=\"dark\"],\nhtml[style*=\"color-scheme: dark\"],\nbody[style*=\"color-scheme: dark\"] .poweredBy {\n color: rgb(69, 69, 69) !important;\n}\n\n",".copilotKitMessages {\n overflow-y: scroll;\n flex: 1;\n display: flex;\n flex-direction: column;\n background-color: var(--copilot-kit-background-color);\n justify-content: space-between;\n z-index: 1;\n}\n\n.copilotKitMessagesContainer {\n /*overflow-y: scroll;*/\n /*flex: 1;*/\n padding: 1rem 24px;\n display: flex;\n flex-direction: column;\n}\n\n.copilotKitMessagesFooter {\n display: flex;\n padding: 0;\n margin: 0 auto 8px auto;\n justify-content: flex-start;\n flex-direction: column;\n width: 90%;\n}\n\n.copilotKitMessages::-webkit-scrollbar {\n width: 6px;\n}\n\n.copilotKitMessages::-webkit-scrollbar-thumb {\n background-color: var(--copilot-kit-separator-color);\n border-radius: 10rem;\n border: 2px solid var(--copilot-kit-background-color);\n}\n\n.copilotKitMessages::-webkit-scrollbar-track-piece:start {\n background: transparent;\n}\n\n.copilotKitMessages::-webkit-scrollbar-track-piece:end {\n background: transparent;\n}\n\n.copilotKitMessage {\n border-radius: 15px;\n padding: 8px 12px;\n font-size: 1rem;\n line-height: 1.5;\n overflow-wrap: break-word;\n max-width: 80%;\n margin-bottom: 0.5rem;\n}\n\n.copilotKitMessage.copilotKitUserMessage {\n background: var(--copilot-kit-primary-color);\n color: var(--copilot-kit-contrast-color);\n margin-left: auto;\n white-space: pre-wrap;\n line-height: 1.75;\n font-size: 1rem;\n}\n\n.copilotKitMessage.copilotKitAssistantMessage {\n background: transparent;\n margin-right: auto;\n padding-left: 0;\n position: relative;\n max-width: 100%;\n color: var(--copilot-kit-secondary-contrast-color);\n}\n\n.copilotKitMessage.copilotKitAssistantMessage .copilotKitMessageControls {\n position: absolute;\n left: 0;\n display: flex;\n gap: 1rem;\n opacity: 0;\n transition: opacity 0.2s ease;\n padding: 5px 0 0 0;\n}\n\n.copilotKitMessageControls.currentMessage {\n opacity: 1 !important;\n}\n\n.copilotKitMessage.copilotKitAssistantMessage:hover .copilotKitMessageControls {\n opacity: 1;\n}\n\n/* Always show controls on mobile */\n@media (max-width: 768px) {\n .copilotKitMessage.copilotKitAssistantMessage .copilotKitMessageControls {\n opacity: 1;\n }\n}\n\n.copilotKitMessageControlButton {\n width: 20px;\n height: 20px;\n display: flex;\n align-items: center;\n border-radius: 0.5rem;\n justify-content: center;\n color: var(--copilot-kit-primary-color);\n cursor: pointer;\n transition: all 0.2s ease;\n padding: 0;\n z-index: 10;\n margin: 0;\n background: transparent;\n border: none;\n}\n\n.copilotKitMessageControlButton:hover {\n color: color-mix(in srgb, var(--copilot-kit-primary-color) 80%, black);\n transform: scale(1.05);\n}\n\n.copilotKitMessageControlButton:active {\n color: color-mix(in srgb, var(--copilot-kit-primary-color) 80%, black);\n transform: scale(1.05);\n}\n\n.copilotKitMessageControlButton svg {\n width: 1rem;\n height: 1rem;\n display: block;\n pointer-events: none;\n}\n\n.copilotKitMessage.copilotKitAssistantMessage + .copilotKitMessage.copilotKitUserMessage {\n margin-top: 1.5rem;\n}\n\n.copilotKitCustomAssistantMessage {\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n}\n\n.copilotKitMessage .inProgressLabel {\n margin-left: 10px;\n opacity: 0.7;\n}\n\n@keyframes copilotKitSpinAnimation {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.copilotKitSpinner {\n display: inline-block;\n width: 16px;\n height: 16px;\n border: 2px solid var(--copilot-kit-contrast-color);\n border-radius: 50%;\n border-top-color: var(--copilot-kit-primary-color);\n animation: copilotKitSpinAnimation 1s linear infinite;\n margin-left: 8px;\n}\n\n@keyframes copilotKitActivityDotAnimation {\n 0%, 80%, 100% {\n transform: scale(0.5);\n opacity: 0.5;\n }\n 40% {\n transform: scale(1);\n opacity: 1;\n }\n}\n\n.copilotKitActivityDot {\n display: inline-block;\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background-color: var(--copilot-kit-primary-color);\n animation: copilotKitActivityDotAnimation 1.4s infinite ease-in-out both;\n}\n",".copilotKitWindow {\n position: fixed;\n inset: 0px;\n transform-origin: bottom;\n border-color: rgb(229 231 235);\n background-color: var(--copilot-kit-background-color);\n border-radius: 0.75rem;\n box-shadow: rgba(0, 0, 0, 0.16) 0px 5px 40px;\n flex-direction: column;\n transition:\n opacity 100ms ease-out,\n transform 200ms ease-out;\n opacity: 0;\n transform: scale(0.95) translateY(20px);\n display: flex;\n pointer-events: none;\n}\n\n.copilotKitSidebar .copilotKitWindow {\n border-radius: 0;\n opacity: 1;\n transform: translateX(100%);\n}\n\n.copilotKitWindow.open {\n opacity: 1;\n transform: scale(1) translateY(0);\n pointer-events: auto;\n}\n\n.copilotKitSidebar .copilotKitWindow.open {\n transform: translateX(0);\n}\n\n@media (min-width: 640px) {\n .copilotKitWindow {\n transform-origin: bottom right;\n bottom: 5rem;\n right: 1rem;\n top: auto;\n left: auto;\n border-width: 0px;\n margin-bottom: 1rem;\n width: 24rem;\n height: 600px;\n min-height: 200px;\n max-height: calc(100% - 6rem);\n }\n\n .copilotKitSidebar .copilotKitWindow {\n bottom: 0;\n right: 0;\n top: auto;\n left: auto;\n width: 28rem;\n min-height: 100%;\n margin-bottom: 0;\n max-height: none;\n }\n}\n",".copilotKitActivityDot1 {\n animation: copilotKitActivityDotsAnimation 1.05s infinite;\n}\n.copilotKitActivityDot2 {\n animation-delay: 0.1s;\n}\n.copilotKitActivityDot3 {\n animation-delay: 0.2s;\n}\n@keyframes copilotKitActivityDotsAnimation {\n 0%,\n 57.14% {\n animation-timing-function: cubic-bezier(0.33, 0.66, 0.66, 1);\n transform: translate(0);\n }\n 28.57% {\n animation-timing-function: cubic-bezier(0.33, 0, 0.66, 0.33);\n transform: translateY(-6px);\n }\n 100% {\n transform: translate(0);\n }\n}\n\n@keyframes copilotKitSpinAnimation {\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes copilotKitPulseAnimation {\n 50% {\n opacity: 0.5;\n }\n}\n","h1.copilotKitMarkdownElement,\nh2.copilotKitMarkdownElement,\nh3.copilotKitMarkdownElement,\nh4.copilotKitMarkdownElement,\nh5.copilotKitMarkdownElement,\nh6.copilotKitMarkdownElement {\n font-weight: bold;\n line-height: 1.2;\n}\n\nh1.copilotKitMarkdownElement:not(:last-child),\nh2.copilotKitMarkdownElement:not(:last-child),\nh3.copilotKitMarkdownElement:not(:last-child),\nh4.copilotKitMarkdownElement:not(:last-child),\nh5.copilotKitMarkdownElement:not(:last-child),\nh6.copilotKitMarkdownElement:not(:last-child) {\n margin-bottom: 1rem;\n}\n\nh1.copilotKitMarkdownElement {\n font-size: 1.5em;\n}\n\nh2.copilotKitMarkdownElement {\n font-size: 1.25em;\n font-weight: 600;\n}\n\nh3.copilotKitMarkdownElement {\n font-size: 1.1em;\n}\n\nh4.copilotKitMarkdownElement {\n font-size: 1em;\n}\n\nh5.copilotKitMarkdownElement {\n font-size: 0.9em;\n}\n\nh6.copilotKitMarkdownElement {\n font-size: 0.8em;\n}\n\na.copilotKitMarkdownElement {\n color: blue;\n text-decoration: underline;\n}\n\np.copilotKitMarkdownElement {\n padding: 0px;\n margin: 0px;\n line-height: 1.75;\n font-size: 1rem;\n}\n\np.copilotKitMarkdownElement:not(:last-child),\npre.copilotKitMarkdownElement:not(:last-child),\nol.copilotKitMarkdownElement:not(:last-child),\nul.copilotKitMarkdownElement:not(:last-child),\nblockquote.copilotKitMarkdownElement:not(:last-child) {\n margin-bottom: 1.25em;\n}\n\nblockquote.copilotKitMarkdownElement {\n border-color: rgb(142, 142, 160);\n border-left-width: 2px;\n border-left-style: solid;\n line-height: 1.2;\n padding-left: 10px;\n}\n\nblockquote.copilotKitMarkdownElement p {\n padding: 0.7em 0;\n}\n\nul.copilotKitMarkdownElement {\n list-style-type: disc;\n padding-left: 20px;\n overflow: visible;\n}\n\nli.copilotKitMarkdownElement {\n list-style-type: inherit;\n list-style-position: outside;\n margin-left: 0;\n padding-left: 0;\n position: relative;\n overflow: visible;\n}\n\n.copilotKitCodeBlock {\n position: relative;\n width: 100%;\n background-color: rgb(9 9 11);\n border-radius: 0.375rem;\n}\n\n.copilotKitCodeBlockToolbar {\n display: flex;\n width: 100%;\n align-items: center;\n justify-content: space-between;\n background-color: rgb(39 39 42);\n padding-left: 1rem;\n padding-top: 0.09rem;\n padding-bottom: 0.09rem;\n color: rgb(228, 228, 228);\n border-top-left-radius: 0.375rem;\n border-top-right-radius: 0.375rem;\n font-family: sans-serif;\n}\n\n.copilotKitCodeBlockToolbarLanguage {\n font-size: 0.75rem;\n line-height: 1rem;\n text-transform: lowercase;\n}\n\n.copilotKitCodeBlockToolbarButtons {\n display: flex;\n align-items: center;\n margin-right: 0.25rem;\n margin-left: 0.25rem;\n}\n\n.copilotKitCodeBlockToolbarButton {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: 0.375rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n font-weight: 500;\n height: 2.5rem;\n padding: 3px;\n margin: 2px;\n}\n\n.copilotKitCodeBlockToolbarButton:hover {\n background-color: rgb(55, 55, 58);\n}\n",".copilotKitMessages footer .suggestions {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n}\n\n.copilotKitMessages footer h6 {\n font-weight: 500;\n font-size: 0.7rem;\n margin-bottom: 8px;\n}\n\n.copilotKitMessages footer .suggestions .suggestion {\n padding: 6px 10px;\n font-size: 0.7rem;\n border-radius: 15px;\n border: 1px solid var(--copilot-kit-muted-color);\n color: var(--copilot-kit-secondary-contrast-color);\n box-shadow: 0 5px 5px 0px rgba(0,0,0,.01),0 2px 3px 0px rgba(0,0,0,.02);\n}\n\n.copilotKitMessages footer .suggestions .suggestion.loading {\n padding: 0;\n font-size: 0.7rem;\n border: none;\n color: var(--copilot-kit-secondary-contrast-color);\n}\n\n.copilotKitMessages footer .suggestions button {\n transition: transform 0.3s ease;\n}\n\n.copilotKitMessages footer .suggestions button:not(:disabled):hover {\n transform: scale(1.03);\n}\n\n.copilotKitMessages footer .suggestions button:disabled {\n cursor: wait;\n}\n\n.copilotKitMessages footer .suggestions button svg {\n margin-right: 6px;\n}\n",".copilotKitChat {\n z-index: 30;\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n background: var(--copilot-kit-background-color);\n font-family:\n ui-sans-serif,\n system-ui,\n -apple-system,\n BlinkMacSystemFont,\n \"Segoe UI\",\n Roboto,\n \"Helvetica Neue\",\n Arial,\n \"Noto Sans\",\n sans-serif,\n \"Apple Color Emoji\",\n \"Segoe UI Emoji\",\n \"Segoe UI Symbol\",\n \"Noto Color Emoji\";\n font-feature-settings: normal;\n font-variation-settings: normal;\n touch-action: manipulation;\n display: flex;\n flex-direction: column;\n /* height: 100%; */\n}\n\n.copilotKitChat svg {\n display: inline-block;\n vertical-align: middle;\n}\n\n.copilotKitChat .copilotKitMessages {\n flex-grow: 1;\n}\n",".copilotKitDevConsole {\n display: flex;\n align-items: center;\n gap: 5px;\n margin: 0 15px;\n}\n\n.copilotKitDevConsole.copilotKitDevConsoleWarnOutdated {\n background-color: var(--copilot-kit-dev-console-bg);\n}\n\n.copilotKitDevConsole .copilotKitVersionInfo {\n display: flex;\n position: absolute;\n bottom: -25px;\n padding: 3px 5px;\n left: 0;\n width: 100%;\n justify-content: center;\n gap: 10px;\n font-size: 0.8rem;\n align-items: center;\n background: #ebb305;\n}\n\n.copilotKitDevConsole .copilotKitVersionInfo button {\n font-size: 11px;\n font-weight: normal;\n font-family: monospace;\n background-color: var(--copilot-kit-dev-console-bg);\n border: 1px solid #979797;\n padding: 1px 12px;\n padding-left: 5px;\n border-radius: 4px;\n display: inline-block;\n text-align: left;\n overflow: hidden;\n white-space: nowrap;\n width: 260px;\n text-overflow: ellipsis;\n}\n\n.copilotKitDevConsole .copilotKitVersionInfo aside {\n display: inline;\n font-weight: normal;\n color: #7f7a7a;\n margin-left: 5px;\n}\n\n.copilotKitDevConsole .copilotKitVersionInfo svg {\n margin-left: 3px;\n margin-top: -3px;\n}\n\n.copilotKitDevConsole .copilotKitDebugMenuTriggerButton {\n font-size: 11px;\n font-weight: bold;\n display: flex;\n padding: 0 10px;\n height: 30px;\n background-color: transparent;\n border: 1px solid var(--copilot-kit-muted-color);\n border-radius: 20px;\n align-items: center;\n justify-content: center;\n outline: none;\n}\n\n.copilotKitDebugMenuTriggerButton.compact {\n width: 35px;\n color: var(--copilot-kit-dev-console-bg);\n justify-content: center;\n outline: none;\n font-size: 8px;\n}\n\n.copilotKitDevConsole .copilotKitDebugMenuTriggerButton:hover {\n background-color: color-mix(in srgb, var(--copilot-kit-dev-console-bg) 85%, black);\n color: var(--copilot-kit-dev-console-text);\n}\n\n.dark,\nhtml.dark,\nbody.dark,\n[data-theme=\"dark\"],\nhtml[style*=\"color-scheme: dark\"],\nbody[style*=\"color-scheme: dark\"] .copilotKitDevConsole .copilotKitDebugMenuTriggerButton {\n color: white;\n}\n\n.dark,\nhtml.dark,\nbody.dark,\n[data-theme=\"dark\"],\nhtml[style*=\"color-scheme: dark\"],\nbody[style*=\"color-scheme: dark\"] .copilotKitDevConsole .copilotKitDebugMenuTriggerButton:hover {\n background-color: color-mix(in srgb, var(--copilot-kit-dev-console-bg) 20%, black);\n}\n\n.copilotKitDevConsole .copilotKitDebugMenuTriggerButton > svg {\n margin-left: 10px;\n}\n\n.copilotKitDebugMenu {\n --copilot-kit-dev-console-border: color-mix(in srgb, var(--copilot-kit-dev-console-bg) 80%, black);\n margin-top: 2px;\n border-radius: 6px;\n background-color: var(--copilot-kit-dev-console-bg);\n border: 1px solid var(--copilot-kit-dev-console-border);\n padding: 0.25rem;\n outline: none;\n font-size: 13px;\n}\n\n.copilotKitDebugMenuItem {\n padding-top: 3px;\n padding-bottom: 3px;\n padding-left: 10px;\n padding-right: 10px;\n display: block;\n width: 100%;\n text-align: left;\n background: none;\n border: none;\n cursor: pointer;\n color: var(--copilot-kit-dev-console-text);\n}\n\n.copilotKitDebugMenuItem:hover {\n background-color: color-mix(in srgb, var(--copilot-kit-dev-console-bg) 95%, black);\n border-radius: 4px;\n}\n\n.copilotKitDebugMenu[data-closed] {\n transform: scale(0.95); /* data-[closed]:scale-95 */\n opacity: 0; /* data-[closed]:opacity-0 */\n}\n\n.copilotKitDebugMenu hr {\n height: 1px;\n border: none; /* Remove 3D look */\n background-color: var(--copilot-kit-dev-console-border);\n margin: 0.25rem;\n}\n\n.copilotKitHelpModal {\n background-color: var(--copilot-kit-dev-console-bg);\n color: var(--copilot-kit-dev-console-text);\n}\n\n.copilotKitHelpItemButton {\n display: block;\n text-align: center;\n width: 100%;\n padding: 4px 6px;\n border-radius: 15px;\n font-size: 0.8rem;\n border: 1px solid var(--copilot-kit-muted-color);\n color: var(--copilot-kit-dev-console-text);\n box-shadow: 0 5px 5px 0px rgba(0,0,0,.01),0 2px 3px 0px rgba(0,0,0,.02);\n background-color: var(--copilot-kit-dev-console-bg);\n}\n.copilotKitHelpItemButton:hover {\n background-color: color-mix(in srgb, var(--copilot-kit-dev-console-bg) 95%, black);\n}\n\n","/* Default styles for the ResponseRenderer component */\n\n.copilotkit-response {\n text-align: right;\n}\n\n.copilotkit-response-content {\n margin-bottom: 0.5rem;\n font-size: 0.875rem;\n color: #4b5563;\n background-color: #f9fafb;\n padding: 0.5rem;\n border-radius: 0.25rem;\n text-align: left;\n}\n\n.copilotkit-response-actions {\n display: inline-flex;\n flex-direction: column;\n align-items: flex-end;\n}\n\n.copilotkit-response-label {\n font-size: 0.75rem;\n color: #6b7280;\n margin-bottom: 0.25rem;\n display: flex;\n align-items: center;\n}\n\n.copilotkit-toggle-button {\n margin-right: 0.25rem;\n background: none;\n border: none;\n padding: 0;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.copilotkit-icon {\n height: 0.75rem;\n width: 0.75rem;\n color: #6b7280;\n}\n\n.copilotkit-response-buttons {\n display: flex;\n gap: 0.5rem;\n}\n\n.copilotkit-response-button {\n padding: 0.25rem 0.5rem;\n font-size: 0.75rem;\n background-color: #f3f4f6;\n color: #4b5563;\n border-radius: 0.25rem;\n border: none;\n cursor: pointer;\n transition: background-color 0.2s;\n}\n\n.copilotkit-response-button:hover {\n background-color: #e5e7eb;\n}\n\n.copilotkit-response-button:focus {\n outline: none;\n}\n\n.copilotkit-response-completed-feedback {\n background-color: #f9fafb;\n padding: 0.5rem;\n border-radius: 0.375rem;\n display: inline-flex;\n align-items: center;\n}\n\n.copilotkit-response-completed-feedback span {\n color: #4b5563;\n font-size: 0.75rem;\n font-weight: 500;\n}\n\n/* DefaultStateRenderer styles */\n\n.copilotkit-state {\n font-size: 0.875rem;\n margin-bottom: 1rem;\n}\n\n.copilotkit-state-header {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n cursor: pointer;\n user-select: none;\n margin-bottom: 0.25rem;\n}\n\n.copilotkit-state-label {\n color: #4b5563;\n font-size: 0.875rem;\n}\n\n.copilotkit-state-label-loading {\n display: inline-flex;\n align-items: center;\n animation: pulse 1.5s infinite;\n}\n\n.copilotkit-state-content {\n padding-left: 1rem;\n max-height: 250px;\n overflow: auto;\n padding-top: 0.375rem;\n border-left: 1px solid #e5e7eb;\n margin-left: 0.375rem;\n}\n\n.copilotkit-state-item {\n padding: 0.25rem 0;\n margin-bottom: 0.25rem;\n transition: all 0.3s ease;\n}\n\n.copilotkit-state-item-newest {\n animation: appear 0.5s ease-out;\n}\n\n.copilotkit-state-item-header {\n font-size: 0.75rem;\n opacity: 0.7;\n}\n\n.copilotkit-state-item-thought {\n margin-top: 0.125rem;\n font-size: 0.75rem;\n opacity: 0.8;\n}\n\n.copilotkit-state-item-result {\n margin-top: 0.125rem;\n font-size: 0.75rem;\n}\n\n.copilotkit-state-item-description {\n margin-top: 0.125rem;\n font-size: 0.75rem;\n opacity: 0.8;\n}\n\n.copilotkit-state-empty {\n padding: 0.25rem 0;\n font-size: 0.75rem;\n opacity: 0.7;\n}\n\n.copilotkit-skeleton {\n padding: 0.125rem 0;\n animation: pulse 1.5s infinite;\n}\n\n.copilotkit-skeleton-header {\n display: flex;\n justify-content: space-between;\n}\n\n.copilotkit-skeleton-title {\n height: 0.625rem;\n width: 4rem;\n background-color: #e5e7eb;\n border-radius: 0.25rem;\n}\n\n.copilotkit-skeleton-subtitle {\n height: 0.5rem;\n width: 2rem;\n background-color: #e5e7eb;\n border-radius: 0.25rem;\n}\n\n.copilotkit-skeleton-content {\n margin-top: 0.125rem;\n height: 1.5rem;\n background-color: #e5e7eb;\n border-radius: 0.25rem;\n}\n\n.copilotkit-loader {\n animation: spin 1.5s linear infinite;\n}\n\n.copilotkit-spinner {\n animation: spin 1.5s linear infinite;\n}\n\n/* Animations */\n@keyframes appear {\n 0% {\n opacity: 0;\n transform: translateY(8px);\n }\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes pulse {\n 0%,\n 100% {\n opacity: 0.4;\n }\n 50% {\n opacity: 1;\n }\n}\n\n@keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n\n/* Dark mode styles */\n@media (prefers-color-scheme: dark) {\n /* DefaultResponseRenderer dark styles */\n .copilotkit-response-content {\n color: #9ca3af;\n background-color: #1f2937;\n }\n\n .copilotkit-response-label {\n color: #9ca3af;\n }\n\n .copilotkit-icon {\n color: #9ca3af;\n }\n\n .copilotkit-response-button {\n background-color: #1f2937;\n color: #d1d5db;\n }\n\n .copilotkit-response-button:hover {\n background-color: #374151;\n }\n\n .copilotkit-response-completed-feedback {\n background-color: #1f2937;\n }\n\n .copilotkit-response-completed-feedback span {\n color: #e5e7eb;\n }\n\n /* DefaultStateRenderer dark styles */\n .copilotkit-state-label {\n color: #d1d5db;\n }\n\n .copilotkit-state-content {\n border-left-color: #374151;\n }\n\n .copilotkit-skeleton-title,\n .copilotkit-skeleton-subtitle,\n .copilotkit-skeleton-content {\n background-color: #374151;\n }\n}\n"],"mappings":";AAMA;AAGE;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAIA;AAEA;AAEA;AAEA;AACA;AAAA;AAIF;AAAA;AAAA;AAAA;AAAA;AAAA;AAOE;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAGA;AAEA;AAEA;AAAA;;;AClEF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;;;ACpBF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACE;AAAA;AAAA;;;AC/BJ;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAIF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAIF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;;;ACjEF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACE;AACA;AACA;AACA;AAAA;AAAA;AAIJ;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;;;AC/DF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAIF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAME;AAAA;;;ACrJF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AAGE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAIF;AACE;AACE;AAAA;AAAA;AAIJ;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AAAA;AAEI;AAAA;AAAA;AAGA;AAAA;AAAA;AAIJ;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AAAA;AAEI;AACA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAIJ;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;;;ACvLF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;;;ACzDJ;AACE;AAAA;AAEF;AACE;AAAA;AAEF;AACE;AAAA;AAEF;AAAA;AAGI;AACA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAGA;AAAA;AAAA;AAIJ;AAAA;AAEI;AAAA;AAAA;AAIJ;AAAA;AAEI;AAAA;AAAA;;;AChCJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAME;AACA;AAAA;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAME;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AAAA;AAAA;AAAA;AAAA;AAKE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;;;AC5IF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;;;ACzCF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AACA;AACA;AACA;AACA;AAAA;AAIF;AACE;AACA;AAAA;AAGF;AACE;AAAA;;;ACrCF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAME;AAAA;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAME;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEF;AACE;AAAA;;;ACjKF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAKF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAIF;AAAA;AAEI;AACA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAIJ;AAAA;AAGI;AAAA;AAAA;AAGA;AAAA;AAAA;AAIJ;AAAA;AAEI;AAAA;AAAA;AAGA;AAAA;AAAA;AAKJ;AAEE;AACE;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAIF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AAAA;AAAA;AAGE;AAAA;AAAA;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/css/colors.css","../src/css/popup.css","../src/css/sidebar.css","../src/css/button.css","../src/css/header.css","../src/css/input.css","../src/css/messages.css","../src/css/window.css","../src/css/animations.css","../src/css/markdown.css","../src/css/suggestions.css","../src/css/panel.css","../src/css/console.css","../src/css/crew.css"],"sourcesContent":["/* IMPORTANT NOTE:\nTHE DARK AND LIGHT COLORS HERE ARE DUPLICATED BECAUSE NO REUSE METHOD POSSIBLE.\nWHEN MAKING ANY CHANGE, MAKE SURE TO INCLUDE IT IN ALL DUPLICATIONS.\n*/\n\n/* BASE LIGHT THEME */\n:root {\n /* Semantic color tokens */\n /* Main brand/action color - used for buttons, interactive elements */\n --copilot-kit-primary-color: rgb(28, 28, 28);\n /* Color that contrasts with primary - used for text on primary elements */\n --copilot-kit-contrast-color: rgb(255, 255, 255);\n /* Main page/container background color */\n --copilot-kit-background-color: rgb(255 255 255);\n /* Input box background color */\n --copilot-kit-input-background-color: #fbfbfb;\n /* Secondary background - used for cards, panels, elevated surfaces */\n --copilot-kit-secondary-color: rgb(255 255 255);\n /* Primary text color for main content */\n --copilot-kit-secondary-contrast-color: rgb(28, 28, 28);\n /* Border color for dividers and containers */\n --copilot-kit-separator-color: rgb(200 200 200);\n /* Muted color for disabled/inactive states */\n --copilot-kit-muted-color: rgb(200 200 200);\n\n /* Error colors */\n --copilot-kit-error-background: #fef2f2;\n --copilot-kit-error-border: #fecaca;\n --copilot-kit-error-text: #dc2626;\n\n /* Shadow tokens */\n /* Small shadow for subtle elevation */\n --copilot-kit-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);\n /* Medium shadow for cards */\n --copilot-kit-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);\n /* Large shadow for modals */\n --copilot-kit-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);\n\n --copilot-kit-dev-console-bg: #f8f8fa;\n --copilot-kit-dev-console-text: black;\n}\n\n/* BASE DARK THEME */\n.dark,\nhtml.dark,\nbody.dark,\n[data-theme=\"dark\"],\nhtml[style*=\"color-scheme: dark\"],\nbody[style*=\"color-scheme: dark\"] :root {\n /* Main brand/action color - used for buttons, interactive elements */\n --copilot-kit-primary-color: rgb(255, 255, 255);\n /* Color that contrasts with primary - used for text on primary elements */\n --copilot-kit-contrast-color: rgb(28, 28, 28);\n /* Main page/container background color */\n --copilot-kit-background-color: rgb(17, 17, 17);\n /* Input box background color */\n --copilot-kit-input-background-color: #2c2c2c;\n /* Secondary background - used for cards, panels, elevated surfaces */\n --copilot-kit-secondary-color: rgb(28, 28, 28);\n /* Primary text color for main content */\n --copilot-kit-secondary-contrast-color: rgb(255, 255, 255);\n /* Border color for dividers and containers */\n --copilot-kit-separator-color: rgb(45, 45, 45);\n /* Muted color for disabled/inactive states */\n --copilot-kit-muted-color: rgb(45, 45, 45);\n\n /* Error colors */\n --copilot-kit-error-background: #7f1d1d;\n --copilot-kit-error-border: #dc2626;\n --copilot-kit-error-text: #fca5a5;\n\n /* Small shadow for subtle elevation */\n --copilot-kit-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);\n /* Medium shadow for cards */\n --copilot-kit-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -1px rgba(0, 0, 0, 0.3);\n /* Large shadow for modals */\n --copilot-kit-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.4), 0 4px 6px -2px rgba(0, 0, 0, 0.3);\n}\n",".copilotKitPopup {\n position: fixed;\n bottom: 1rem;\n right: 1rem;\n z-index: 30;\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto,\n \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\",\n \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-feature-settings: normal;\n font-variation-settings: normal;\n touch-action: manipulation;\n}\n\n.copilotKitPopup svg {\n display: inline-block;\n vertical-align: middle;\n}\n",".copilotKitSidebar {\n position: fixed;\n bottom: 1rem;\n right: 1rem;\n z-index: 30;\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto,\n \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\",\n \"Segoe UI Symbol\", \"Noto Color Emoji\";\n font-feature-settings: normal;\n font-variation-settings: normal;\n touch-action: manipulation;\n}\n\n.copilotKitSidebar svg {\n display: inline-block;\n vertical-align: middle;\n}\n\n.copilotKitSidebarContentWrapper {\n overflow: visible;\n margin-right: 0px;\n transition: margin-right 0.3s ease;\n}\n\n@media (min-width: 640px) {\n .copilotKitSidebarContentWrapper.sidebarExpanded {\n margin-right: 28rem;\n }\n}\n",".copilotKitButton {\n width: 3.5rem;\n height: 3.5rem;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 50%;\n border: 1px solid var(--copilot-kit-primary-color);\n outline: none;\n position: relative;\n transform: scale(1);\n transition: all 0.2s ease;\n background-color: var(--copilot-kit-primary-color);\n color: var(--copilot-kit-contrast-color);\n cursor: pointer;\n box-shadow: var(--copilot-kit-shadow-sm);\n}\n\n.copilotKitButton:hover {\n transform: scale(1.05);\n box-shadow: var(--copilot-kit-shadow-md);\n}\n\n.copilotKitButton:active {\n transform: scale(0.95);\n box-shadow: var(--copilot-kit-shadow-sm);\n}\n\n.copilotKitButtonIcon {\n transition:\n opacity 100ms,\n transform 300ms;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.copilotKitButtonIcon svg {\n width: 1.5rem;\n height: 1.5rem;\n}\n\n/* State when the chat is open */\n.copilotKitButton.open .copilotKitButtonIconOpen {\n transform: translate(-50%, -50%) scale(0) rotate(90deg);\n opacity: 0;\n}\n\n.copilotKitButton.open .copilotKitButtonIconClose {\n transform: translate(-50%, -50%) scale(1) rotate(0deg);\n opacity: 1;\n}\n\n/* State when the chat is closed */\n.copilotKitButton:not(.open) .copilotKitButtonIconOpen {\n transform: translate(-50%, -50%) scale(1) rotate(0deg);\n opacity: 1;\n}\n\n.copilotKitButton:not(.open) .copilotKitButtonIconClose {\n transform: translate(-50%, -50%) scale(0) rotate(-90deg);\n opacity: 0;\n}\n",".copilotKitHeader {\n height: 56px;\n font-weight: 500;\n display: flex;\n align-items: center;\n position: relative;\n color: var(--copilot-kit-primary-color);\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom: 1px solid var(--copilot-kit-separator-color);\n padding-left: 1.5rem;\n background-color: var(--copilot-kit-contrast-color);\n justify-content: space-between;\n z-index: 2;\n}\n\n.copilotKitSidebar .copilotKitHeader {\n border-radius: 0;\n}\n\n.copilotKitHeaderControls {\n display: flex;\n}\n\n.copilotKitHeaderCloseButton {\n background: none;\n border: none;\n}\n\n@media (min-width: 640px) {\n .copilotKitHeader {\n padding-left: 1.5rem;\n padding-right: 24px;\n border-top-left-radius: 8px;\n border-top-right-radius: 8px;\n }\n}\n\n.copilotKitHeader > button {\n border: 0;\n padding: 8px;\n position: absolute;\n top: 50%;\n right: 16px;\n transform: translateY(-50%);\n outline: none;\n color: var(--copilot-kit-muted-color);\n background-color: transparent;\n cursor: pointer;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: background-color 0.2s ease;\n width: 35px;\n height: 35px;\n}\n\n.copilotKitHeader > button:hover {\n color: color-mix(in srgb, var(--copilot-kit-muted-color) 80%, black);\n}\n\n.copilotKitHeader > button:focus {\n outline: none;\n}\n",".copilotKitInput {\n cursor: text;\n position: relative;\n background-color: var(--copilot-kit-input-background-color);\n border-radius: 20px;\n border: 1px solid var(--copilot-kit-separator-color);\n padding: 12px 14px;\n min-height: 75px;\n margin: 0 auto;\n width: 95%;\n}\n\n.copilotKitInputContainer {\n width: 100%;\n padding: 0;\n padding-bottom: 15px;\n background: var(--copilot-kit-background-color);\n border-bottom-left-radius: 0.75rem;\n border-bottom-right-radius: 0.75rem;\n}\n\n.copilotKitSidebar .copilotKitInputContainer {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.copilotKitInputControlButton {\n padding: 0;\n cursor: pointer;\n transition-property: transform;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 200ms;\n transform: scale(1);\n color: rgba(0, 0, 0, 0.25);\n -webkit-appearance: button;\n appearance: button;\n background-color: transparent;\n background-image: none;\n text-transform: none;\n font-family: inherit;\n font-size: 100%;\n font-weight: inherit;\n line-height: inherit;\n border: 0;\n margin: 0;\n text-indent: 0px;\n text-shadow: none;\n display: inline-block;\n text-align: center;\n width: 24px;\n height: 24px;\n}\n\n.copilotKitInputControlButton:not([disabled]) {\n color: var(--copilot-kit-primary-color);\n}\n\n.copilotKitInputControlButton:not([disabled]):hover {\n color: color-mix(in srgb, var(--copilot-kit-primary-color) 80%, black);\n transform: scale(1.05);\n}\n\n.copilotKitInputControlButton[disabled] {\n color: var(--copilot-kit-muted-color);\n cursor: default;\n}\n\n.copilotKitInputControls {\n display: flex;\n gap: 3px;\n}\n\n.copilotKitInput > textarea {\n flex: 1; /* Allow textarea to take up remaining space */\n outline: 2px solid transparent;\n outline-offset: 2px;\n resize: none;\n white-space: pre-wrap;\n overflow-wrap: break-word;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n cursor: text;\n font-size: 0.875rem;\n line-height: 1.5rem;\n margin: 0;\n padding: 0;\n font-family: inherit;\n font-weight: inherit;\n color: var(--copilot-kit-secondary-contrast-color);\n border: 0px;\n background-color: transparent;\n width: 100%;\n}\n\n.copilotKitInput > textarea::placeholder {\n color: #808080;\n opacity: 1;\n}\n\n.copilotKitInputControlButton.copilotKitPushToTalkRecording {\n background-color: #ec0000;\n color: white;\n border-radius: 50%;\n animation: copilotKitPulseAnimation 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n}\n\n/* Scrollbar styles */\n.copilotKitInput textarea::-webkit-scrollbar {\n width: 9px; /* Width of the entire scrollbar */\n}\n\n.copilotKitInput textarea::-webkit-scrollbar-track {\n background: transparent; /* Color of the tracking area */\n}\n\n.copilotKitInput textarea::-webkit-scrollbar-thumb {\n background-color: rgb(200 200 200); /* Color of the scroll thumb */\n border-radius: 10px; /* Roundness of the scroll thumb */\n border: 2px solid transparent; /* Creates padding around scroll thumb */\n background-clip: content-box;\n cursor: pointer;\n}\n\n.copilotKitInput textarea::-webkit-scrollbar-thumb:hover {\n background-color: color-mix(in srgb, rgb(200 200 200) 80%, black); /* Darker color on hover */\n}\n\n.poweredByContainer {\n padding: 0;\n}\n\n.poweredBy {\n background: var(--copilot-kit-background-color) !important;\n visibility: visible !important;\n display: block !important;\n position: static !important;\n text-align: center !important;\n font-size: 12px !important;\n padding: 3px 0 !important;\n color: rgb(214, 214, 214) !important;\n margin: 0 !important;\n}\n\n.dark,\nhtml.dark,\nbody.dark,\n[data-theme=\"dark\"],\nhtml[style*=\"color-scheme: dark\"],\nbody[style*=\"color-scheme: dark\"] .poweredBy {\n color: rgb(69, 69, 69) !important;\n}\n\n",".copilotKitMessages {\n overflow-y: scroll;\n flex: 1;\n display: flex;\n flex-direction: column;\n background-color: var(--copilot-kit-background-color);\n justify-content: space-between;\n z-index: 1;\n}\n\n.copilotKitMessagesContainer {\n padding: 1rem 24px;\n display: flex;\n flex-direction: column;\n}\n\n.copilotKitMessagesFooter {\n display: flex;\n padding: 0.5rem 0.75rem;\n margin: 8px auto 0 auto;\n justify-content: flex-start;\n flex-direction: column;\n width: 97%;\n}\n\n.copilotKitMessages::-webkit-scrollbar {\n width: 6px;\n}\n\n.copilotKitMessages::-webkit-scrollbar-thumb {\n background-color: var(--copilot-kit-separator-color);\n border-radius: 10rem;\n border: 2px solid var(--copilot-kit-background-color);\n}\n\n.copilotKitMessages::-webkit-scrollbar-track-piece:start {\n background: transparent;\n}\n\n.copilotKitMessages::-webkit-scrollbar-track-piece:end {\n background: transparent;\n}\n\n.copilotKitMessage {\n border-radius: 15px;\n padding: 8px 12px;\n font-size: 1rem;\n line-height: 1.5;\n overflow-wrap: break-word;\n max-width: 80%;\n margin-bottom: 0.5rem;\n}\n\n.copilotKitMessage.copilotKitUserMessage {\n background: var(--copilot-kit-primary-color);\n color: var(--copilot-kit-contrast-color);\n margin-left: auto;\n white-space: pre-wrap;\n line-height: 1.75;\n font-size: 1rem;\n}\n\n.copilotKitMessage.copilotKitAssistantMessage {\n background: transparent;\n margin-right: auto;\n padding-left: 0;\n position: relative;\n max-width: 100%;\n color: var(--copilot-kit-secondary-contrast-color);\n}\n\n.copilotKitMessage.copilotKitAssistantMessage .copilotKitMessageControls {\n position: absolute;\n left: 0;\n display: flex;\n gap: 1rem;\n opacity: 0;\n transition: opacity 0.2s ease;\n padding: 5px 0 0 0;\n}\n\n.copilotKitMessageControls.currentMessage {\n opacity: 1 !important;\n}\n\n.copilotKitMessage.copilotKitAssistantMessage:hover .copilotKitMessageControls {\n opacity: 1;\n}\n\n/* Always show controls on mobile */\n@media (max-width: 768px) {\n .copilotKitMessage.copilotKitAssistantMessage .copilotKitMessageControls {\n opacity: 1;\n }\n}\n\n.copilotKitMessageControlButton {\n width: 20px;\n height: 20px;\n display: flex;\n align-items: center;\n border-radius: 0.5rem;\n justify-content: center;\n color: var(--copilot-kit-primary-color);\n cursor: pointer;\n transition: all 0.2s ease;\n padding: 0;\n z-index: 10;\n margin: 0;\n background: transparent;\n border: none;\n}\n\n.copilotKitMessageControlButton:hover {\n color: color-mix(in srgb, var(--copilot-kit-primary-color) 80%, black);\n transform: scale(1.05);\n}\n\n.copilotKitMessageControlButton:active {\n color: color-mix(in srgb, var(--copilot-kit-primary-color) 80%, black);\n transform: scale(1.05);\n}\n\n.copilotKitMessageControlButton svg {\n width: 1rem;\n height: 1rem;\n display: block;\n pointer-events: none;\n}\n\n.copilotKitMessage.copilotKitAssistantMessage + .copilotKitMessage.copilotKitUserMessage {\n margin-top: 1.5rem;\n}\n\n.copilotKitCustomAssistantMessage {\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n}\n\n.copilotKitMessage .inProgressLabel {\n margin-left: 10px;\n opacity: 0.7;\n}\n\n@keyframes copilotKitSpinAnimation {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.copilotKitSpinner {\n display: inline-block;\n width: 16px;\n height: 16px;\n border: 2px solid var(--copilot-kit-contrast-color);\n border-radius: 50%;\n border-top-color: var(--copilot-kit-primary-color);\n animation: copilotKitSpinAnimation 1s linear infinite;\n margin-left: 8px;\n}\n\n@keyframes copilotKitActivityDotAnimation {\n 0%, 80%, 100% {\n transform: scale(0.5);\n opacity: 0.5;\n }\n 40% {\n transform: scale(1);\n opacity: 1;\n }\n}\n\n.copilotKitActivityDot {\n display: inline-block;\n width: 6px;\n height: 6px;\n border-radius: 50%;\n background-color: var(--copilot-kit-primary-color);\n animation: copilotKitActivityDotAnimation 1.4s infinite ease-in-out both;\n}\n\n/* Image Rendering Styles */\n.copilotKitImageRendering {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.copilotKitImageRenderingImage {\n max-width: 100%;\n height: auto;\n border-radius: 8px;\n box-shadow: var(--copilot-kit-shadow-sm);\n}\n\n.copilotKitImageRenderingContent {\n margin-top: 8px;\n padding: 0 16px;\n font-size: 0.875rem;\n line-height: 1.5;\n color: var(--copilot-kit-secondary-contrast-color);\n}\n\n/* Image Error State Styles */\n.copilotKitImageRenderingError {\n display: flex;\n flex-direction: column;\n gap: 8px;\n padding: 12px;\n border: 1px solid var(--copilot-kit-separator-color);\n border-radius: 8px;\n background-color: var(--copilot-kit-input-background-color);\n}\n\n.copilotKitImageRenderingErrorMessage {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background-color: var(--copilot-kit-error-background);\n border: 1px solid var(--copilot-kit-error-border);\n border-radius: 6px;\n color: var(--copilot-kit-error-text);\n font-size: 0.875rem;\n font-weight: 500;\n}\n\n.copilotKitImageRenderingErrorMessage::before {\n content: \"⚠️\";\n font-size: 1rem;\n}",".copilotKitWindow {\n position: fixed;\n inset: 0px;\n transform-origin: bottom;\n border-color: rgb(229 231 235);\n background-color: var(--copilot-kit-background-color);\n border-radius: 0.75rem;\n box-shadow: rgba(0, 0, 0, 0.16) 0px 5px 40px;\n flex-direction: column;\n transition:\n opacity 100ms ease-out,\n transform 200ms ease-out;\n opacity: 0;\n transform: scale(0.95) translateY(20px);\n display: flex;\n pointer-events: none;\n}\n\n.copilotKitSidebar .copilotKitWindow {\n border-radius: 0;\n opacity: 1;\n transform: translateX(100%);\n}\n\n.copilotKitWindow.open {\n opacity: 1;\n transform: scale(1) translateY(0);\n pointer-events: auto;\n}\n\n.copilotKitSidebar .copilotKitWindow.open {\n transform: translateX(0);\n}\n\n@media (min-width: 640px) {\n .copilotKitWindow {\n transform-origin: bottom right;\n bottom: 5rem;\n right: 1rem;\n top: auto;\n left: auto;\n border-width: 0px;\n margin-bottom: 1rem;\n width: 24rem;\n height: 600px;\n min-height: 200px;\n max-height: calc(100% - 6rem);\n }\n\n .copilotKitSidebar .copilotKitWindow {\n bottom: 0;\n right: 0;\n top: auto;\n left: auto;\n width: 28rem;\n min-height: 100%;\n margin-bottom: 0;\n max-height: none;\n }\n}\n",".copilotKitActivityDot1 {\n animation: copilotKitActivityDotsAnimation 1.05s infinite;\n}\n.copilotKitActivityDot2 {\n animation-delay: 0.1s;\n}\n.copilotKitActivityDot3 {\n animation-delay: 0.2s;\n}\n@keyframes copilotKitActivityDotsAnimation {\n 0%,\n 57.14% {\n animation-timing-function: cubic-bezier(0.33, 0.66, 0.66, 1);\n transform: translate(0);\n }\n 28.57% {\n animation-timing-function: cubic-bezier(0.33, 0, 0.66, 0.33);\n transform: translateY(-6px);\n }\n 100% {\n transform: translate(0);\n }\n}\n\n@keyframes copilotKitSpinAnimation {\n to {\n transform: rotate(360deg);\n }\n}\n\n@keyframes copilotKitPulseAnimation {\n 50% {\n opacity: 0.5;\n }\n}\n","h1.copilotKitMarkdownElement,\nh2.copilotKitMarkdownElement,\nh3.copilotKitMarkdownElement,\nh4.copilotKitMarkdownElement,\nh5.copilotKitMarkdownElement,\nh6.copilotKitMarkdownElement {\n font-weight: bold;\n line-height: 1.2;\n}\n\nh1.copilotKitMarkdownElement:not(:last-child),\nh2.copilotKitMarkdownElement:not(:last-child),\nh3.copilotKitMarkdownElement:not(:last-child),\nh4.copilotKitMarkdownElement:not(:last-child),\nh5.copilotKitMarkdownElement:not(:last-child),\nh6.copilotKitMarkdownElement:not(:last-child) {\n margin-bottom: 1rem;\n}\n\nh1.copilotKitMarkdownElement {\n font-size: 1.5em;\n}\n\nh2.copilotKitMarkdownElement {\n font-size: 1.25em;\n font-weight: 600;\n}\n\nh3.copilotKitMarkdownElement {\n font-size: 1.1em;\n}\n\nh4.copilotKitMarkdownElement {\n font-size: 1em;\n}\n\nh5.copilotKitMarkdownElement {\n font-size: 0.9em;\n}\n\nh6.copilotKitMarkdownElement {\n font-size: 0.8em;\n}\n\na.copilotKitMarkdownElement {\n color: blue;\n text-decoration: underline;\n}\n\np.copilotKitMarkdownElement {\n padding: 0px;\n margin: 0px;\n line-height: 1.75;\n font-size: 1rem;\n}\n\np.copilotKitMarkdownElement:not(:last-child),\npre.copilotKitMarkdownElement:not(:last-child),\nol.copilotKitMarkdownElement:not(:last-child),\nul.copilotKitMarkdownElement:not(:last-child),\nblockquote.copilotKitMarkdownElement:not(:last-child) {\n margin-bottom: 1.25em;\n}\n\nblockquote.copilotKitMarkdownElement {\n border-color: rgb(142, 142, 160);\n border-left-width: 2px;\n border-left-style: solid;\n line-height: 1.2;\n padding-left: 10px;\n}\n\nblockquote.copilotKitMarkdownElement p {\n padding: 0.7em 0;\n}\n\nul.copilotKitMarkdownElement {\n list-style-type: disc;\n padding-left: 20px;\n overflow: visible;\n}\n\nli.copilotKitMarkdownElement {\n list-style-type: inherit;\n list-style-position: outside;\n margin-left: 0;\n padding-left: 0;\n position: relative;\n overflow: visible;\n}\n\n.copilotKitCodeBlock {\n position: relative;\n width: 100%;\n background-color: rgb(9 9 11);\n border-radius: 0.375rem;\n}\n\n.copilotKitCodeBlockToolbar {\n display: flex;\n width: 100%;\n align-items: center;\n justify-content: space-between;\n background-color: rgb(39 39 42);\n padding-left: 1rem;\n padding-top: 0.09rem;\n padding-bottom: 0.09rem;\n color: rgb(228, 228, 228);\n border-top-left-radius: 0.375rem;\n border-top-right-radius: 0.375rem;\n font-family: sans-serif;\n}\n\n.copilotKitCodeBlockToolbarLanguage {\n font-size: 0.75rem;\n line-height: 1rem;\n text-transform: lowercase;\n}\n\n.copilotKitCodeBlockToolbarButtons {\n display: flex;\n align-items: center;\n margin-right: 0.25rem;\n margin-left: 0.25rem;\n}\n\n.copilotKitCodeBlockToolbarButton {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: 0.375rem;\n font-size: 0.875rem;\n line-height: 1.25rem;\n font-weight: 500;\n height: 2.5rem;\n padding: 3px;\n margin: 2px;\n}\n\n.copilotKitCodeBlockToolbarButton:hover {\n background-color: rgb(55, 55, 58);\n}\n\n.copilotKitInlineCode {\n background-color: var(--copilot-kit-input-background-color);\n border: 1px solid var(--copilot-kit-separator-color);\n border-radius: 0.375rem;\n padding: 0.05rem 0.4rem;\n font-size: 15px;\n}",".copilotKitMessages footer .suggestions {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n}\n\n.copilotKitMessages footer h6 {\n font-weight: 500;\n font-size: 0.7rem;\n margin-bottom: 8px;\n}\n\n.copilotKitMessages footer .suggestions .suggestion {\n padding: 6px 10px;\n font-size: 0.7rem;\n border-radius: 15px;\n border: 1px solid var(--copilot-kit-muted-color);\n color: var(--copilot-kit-secondary-contrast-color);\n box-shadow: 0 5px 5px 0px rgba(0,0,0,.01),0 2px 3px 0px rgba(0,0,0,.02);\n}\n\n.copilotKitMessages footer .suggestions .suggestion.loading {\n padding: 0;\n font-size: 0.7rem;\n border: none;\n color: var(--copilot-kit-secondary-contrast-color);\n}\n\n.copilotKitMessages footer .suggestions button {\n transition: transform 0.3s ease;\n}\n\n.copilotKitMessages footer .suggestions button:not(:disabled):hover {\n transform: scale(1.03);\n}\n\n.copilotKitMessages footer .suggestions button:disabled {\n cursor: wait;\n}\n\n.copilotKitMessages footer .suggestions button svg {\n margin-right: 6px;\n}",".copilotKitChat {\n z-index: 30;\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n background: var(--copilot-kit-background-color);\n font-family:\n ui-sans-serif,\n system-ui,\n -apple-system,\n BlinkMacSystemFont,\n \"Segoe UI\",\n Roboto,\n \"Helvetica Neue\",\n Arial,\n \"Noto Sans\",\n sans-serif,\n \"Apple Color Emoji\",\n \"Segoe UI Emoji\",\n \"Segoe UI Symbol\",\n \"Noto Color Emoji\";\n font-feature-settings: normal;\n font-variation-settings: normal;\n touch-action: manipulation;\n display: flex;\n flex-direction: column;\n /* height: 100%; */\n}\n\n.copilotKitChat svg {\n display: inline-block;\n vertical-align: middle;\n}\n\n.copilotKitChat .copilotKitMessages {\n flex-grow: 1;\n}\n",".copilotKitDevConsole {\n display: flex;\n align-items: center;\n gap: 5px;\n margin: 0 15px;\n}\n\n.copilotKitDevConsole.copilotKitDevConsoleWarnOutdated {\n background-color: var(--copilot-kit-dev-console-bg);\n}\n\n.copilotKitDevConsole .copilotKitVersionInfo {\n display: flex;\n position: absolute;\n bottom: -25px;\n padding: 3px 5px;\n left: 0;\n width: 100%;\n justify-content: center;\n gap: 10px;\n font-size: 0.8rem;\n align-items: center;\n background: #ebb305;\n}\n\n.copilotKitDevConsole .copilotKitVersionInfo button {\n font-size: 11px;\n font-weight: normal;\n font-family: monospace;\n background-color: var(--copilot-kit-dev-console-bg);\n border: 1px solid #979797;\n padding: 1px 12px;\n padding-left: 5px;\n border-radius: 4px;\n display: inline-block;\n text-align: left;\n overflow: hidden;\n white-space: nowrap;\n width: 260px;\n text-overflow: ellipsis;\n}\n\n.copilotKitDevConsole .copilotKitVersionInfo aside {\n display: inline;\n font-weight: normal;\n color: #7f7a7a;\n margin-left: 5px;\n}\n\n.copilotKitDevConsole .copilotKitVersionInfo svg {\n margin-left: 3px;\n margin-top: -3px;\n}\n\n.copilotKitDevConsole .copilotKitDebugMenuTriggerButton {\n font-size: 11px;\n font-weight: bold;\n display: flex;\n padding: 0 10px;\n height: 30px;\n background-color: transparent;\n border: 1px solid var(--copilot-kit-muted-color);\n border-radius: 20px;\n align-items: center;\n justify-content: center;\n outline: none;\n}\n\n.copilotKitDebugMenuTriggerButton.compact {\n width: 35px;\n color: var(--copilot-kit-dev-console-bg);\n justify-content: center;\n outline: none;\n font-size: 8px;\n}\n\n.copilotKitDevConsole .copilotKitDebugMenuTriggerButton:hover {\n background-color: color-mix(in srgb, var(--copilot-kit-dev-console-bg) 85%, black);\n color: var(--copilot-kit-dev-console-text);\n}\n\n.dark,\nhtml.dark,\nbody.dark,\n[data-theme=\"dark\"],\nhtml[style*=\"color-scheme: dark\"],\nbody[style*=\"color-scheme: dark\"] .copilotKitDevConsole .copilotKitDebugMenuTriggerButton {\n color: white;\n}\n\n.dark,\nhtml.dark,\nbody.dark,\n[data-theme=\"dark\"],\nhtml[style*=\"color-scheme: dark\"],\nbody[style*=\"color-scheme: dark\"] .copilotKitDevConsole .copilotKitDebugMenuTriggerButton:hover {\n background-color: color-mix(in srgb, var(--copilot-kit-dev-console-bg) 20%, black);\n}\n\n.copilotKitDevConsole .copilotKitDebugMenuTriggerButton > svg {\n margin-left: 10px;\n}\n\n.copilotKitDebugMenu {\n --copilot-kit-dev-console-border: color-mix(in srgb, var(--copilot-kit-dev-console-bg) 80%, black);\n margin-top: 2px;\n border-radius: 6px;\n background-color: var(--copilot-kit-dev-console-bg);\n border: 1px solid var(--copilot-kit-dev-console-border);\n padding: 0.25rem;\n outline: none;\n font-size: 13px;\n}\n\n.copilotKitDebugMenuItem {\n padding-top: 3px;\n padding-bottom: 3px;\n padding-left: 10px;\n padding-right: 10px;\n display: block;\n width: 100%;\n text-align: left;\n background: none;\n border: none;\n cursor: pointer;\n color: var(--copilot-kit-dev-console-text);\n}\n\n.copilotKitDebugMenuItem:hover {\n background-color: color-mix(in srgb, var(--copilot-kit-dev-console-bg) 95%, black);\n border-radius: 4px;\n}\n\n.copilotKitDebugMenu[data-closed] {\n transform: scale(0.95); /* data-[closed]:scale-95 */\n opacity: 0; /* data-[closed]:opacity-0 */\n}\n\n.copilotKitDebugMenu hr {\n height: 1px;\n border: none; /* Remove 3D look */\n background-color: var(--copilot-kit-dev-console-border);\n margin: 0.25rem;\n}\n\n.copilotKitHelpModal {\n background-color: var(--copilot-kit-dev-console-bg);\n color: var(--copilot-kit-dev-console-text);\n}\n\n.copilotKitHelpItemButton {\n display: block;\n text-align: center;\n width: 100%;\n padding: 4px 6px;\n border-radius: 15px;\n font-size: 0.8rem;\n border: 1px solid var(--copilot-kit-muted-color);\n color: var(--copilot-kit-dev-console-text);\n box-shadow: 0 5px 5px 0px rgba(0,0,0,.01),0 2px 3px 0px rgba(0,0,0,.02);\n background-color: var(--copilot-kit-dev-console-bg);\n}\n.copilotKitHelpItemButton:hover {\n background-color: color-mix(in srgb, var(--copilot-kit-dev-console-bg) 95%, black);\n}\n\n","/* Default styles for the ResponseRenderer component */\n\n.copilotkit-response {\n text-align: right;\n}\n\n.copilotkit-response-content {\n margin-bottom: 0.5rem;\n font-size: 0.875rem;\n color: #4b5563;\n background-color: #f9fafb;\n padding: 0.5rem;\n border-radius: 0.25rem;\n text-align: left;\n}\n\n.copilotkit-response-actions {\n display: inline-flex;\n flex-direction: column;\n align-items: flex-end;\n}\n\n.copilotkit-response-label {\n font-size: 0.75rem;\n color: #6b7280;\n margin-bottom: 0.25rem;\n display: flex;\n align-items: center;\n}\n\n.copilotkit-toggle-button {\n margin-right: 0.25rem;\n background: none;\n border: none;\n padding: 0;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.copilotkit-icon {\n height: 0.75rem;\n width: 0.75rem;\n color: #6b7280;\n}\n\n.copilotkit-response-buttons {\n display: flex;\n gap: 0.5rem;\n}\n\n.copilotkit-response-button {\n padding: 0.25rem 0.5rem;\n font-size: 0.75rem;\n background-color: #f3f4f6;\n color: #4b5563;\n border-radius: 0.25rem;\n border: none;\n cursor: pointer;\n transition: background-color 0.2s;\n}\n\n.copilotkit-response-button:hover {\n background-color: #e5e7eb;\n}\n\n.copilotkit-response-button:focus {\n outline: none;\n}\n\n.copilotkit-response-completed-feedback {\n background-color: #f9fafb;\n padding: 0.5rem;\n border-radius: 0.375rem;\n display: inline-flex;\n align-items: center;\n}\n\n.copilotkit-response-completed-feedback span {\n color: #4b5563;\n font-size: 0.75rem;\n font-weight: 500;\n}\n\n/* DefaultStateRenderer styles */\n\n.copilotkit-state {\n font-size: 0.875rem;\n margin-bottom: 1rem;\n}\n\n.copilotkit-state-header {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n cursor: pointer;\n user-select: none;\n margin-bottom: 0.25rem;\n}\n\n.copilotkit-state-label {\n color: #4b5563;\n font-size: 0.875rem;\n}\n\n.copilotkit-state-label-loading {\n display: inline-flex;\n align-items: center;\n animation: pulse 1.5s infinite;\n}\n\n.copilotkit-state-content {\n padding-left: 1rem;\n max-height: 250px;\n overflow: auto;\n padding-top: 0.375rem;\n border-left: 1px solid #e5e7eb;\n margin-left: 0.375rem;\n}\n\n.copilotkit-state-item {\n padding: 0.25rem 0;\n margin-bottom: 0.25rem;\n transition: all 0.3s ease;\n}\n\n.copilotkit-state-item-newest {\n animation: appear 0.5s ease-out;\n}\n\n.copilotkit-state-item-header {\n font-size: 0.75rem;\n opacity: 0.7;\n}\n\n.copilotkit-state-item-thought {\n margin-top: 0.125rem;\n font-size: 0.75rem;\n opacity: 0.8;\n}\n\n.copilotkit-state-item-result {\n margin-top: 0.125rem;\n font-size: 0.75rem;\n}\n\n.copilotkit-state-item-description {\n margin-top: 0.125rem;\n font-size: 0.75rem;\n opacity: 0.8;\n}\n\n.copilotkit-state-empty {\n padding: 0.25rem 0;\n font-size: 0.75rem;\n opacity: 0.7;\n}\n\n.copilotkit-skeleton {\n padding: 0.125rem 0;\n animation: pulse 1.5s infinite;\n}\n\n.copilotkit-skeleton-header {\n display: flex;\n justify-content: space-between;\n}\n\n.copilotkit-skeleton-title {\n height: 0.625rem;\n width: 4rem;\n background-color: #e5e7eb;\n border-radius: 0.25rem;\n}\n\n.copilotkit-skeleton-subtitle {\n height: 0.5rem;\n width: 2rem;\n background-color: #e5e7eb;\n border-radius: 0.25rem;\n}\n\n.copilotkit-skeleton-content {\n margin-top: 0.125rem;\n height: 1.5rem;\n background-color: #e5e7eb;\n border-radius: 0.25rem;\n}\n\n.copilotkit-loader {\n animation: spin 1.5s linear infinite;\n}\n\n.copilotkit-spinner {\n animation: spin 1.5s linear infinite;\n}\n\n/* Animations */\n@keyframes appear {\n 0% {\n opacity: 0;\n transform: translateY(8px);\n }\n 100% {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes pulse {\n 0%,\n 100% {\n opacity: 0.4;\n }\n 50% {\n opacity: 1;\n }\n}\n\n@keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n}\n\n/* Dark mode styles */\n@media (prefers-color-scheme: dark) {\n /* DefaultResponseRenderer dark styles */\n .copilotkit-response-content {\n color: #9ca3af;\n background-color: #1f2937;\n }\n\n .copilotkit-response-label {\n color: #9ca3af;\n }\n\n .copilotkit-icon {\n color: #9ca3af;\n }\n\n .copilotkit-response-button {\n background-color: #1f2937;\n color: #d1d5db;\n }\n\n .copilotkit-response-button:hover {\n background-color: #374151;\n }\n\n .copilotkit-response-completed-feedback {\n background-color: #1f2937;\n }\n\n .copilotkit-response-completed-feedback span {\n color: #e5e7eb;\n }\n\n /* DefaultStateRenderer dark styles */\n .copilotkit-state-label {\n color: #d1d5db;\n }\n\n .copilotkit-state-content {\n border-left-color: #374151;\n }\n\n .copilotkit-skeleton-title,\n .copilotkit-skeleton-subtitle,\n .copilotkit-skeleton-content {\n background-color: #374151;\n }\n}\n"],"mappings":";AAMA;AAGE;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAGA;AACA;AACA;AAIA;AAEA;AAEA;AAEA;AACA;AAAA;AAIF;AAAA;AAAA;AAAA;AAAA;AAAA;AAOE;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAEA;AAGA;AACA;AACA;AAGA;AAEA;AAEA;AAAA;;;AC5EF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;;;ACpBF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACE;AAAA;AAAA;;;AC/BJ;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAIF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAIF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;;;ACjEF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACE;AACA;AACA;AACA;AAAA;AAAA;AAIJ;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;;;AC/DF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAIF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAME;AAAA;;;ACrJF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAIF;AACE;AACE;AAAA;AAAA;AAIJ;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AAAA;AAEI;AAAA;AAAA;AAGA;AAAA;AAAA;AAIJ;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AAAA;AAEI;AACA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAIJ;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAIF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAIF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;;;ACxOF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;;;ACzDJ;AACE;AAAA;AAEF;AACE;AAAA;AAEF;AACE;AAAA;AAEF;AAAA;AAGI;AACA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAGA;AAAA;AAAA;AAIJ;AAAA;AAEI;AAAA;AAAA;AAIJ;AAAA;AAEI;AAAA;AAAA;;;AChCJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAME;AACA;AAAA;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAME;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AAAA;AAAA;AAAA;AAAA;AAKE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;;;ACpJF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;;;ACzCF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAeA;AACA;AACA;AACA;AACA;AAAA;AAIF;AACE;AACA;AAAA;AAGF;AACE;AAAA;;;ACrCF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAME;AAAA;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAME;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEF;AACE;AAAA;;;ACjKF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAKF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AACA;AACA;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAIF;AAAA;AAEI;AACA;AAAA;AAAA;AAGA;AACA;AAAA;AAAA;AAIJ;AAAA;AAGI;AAAA;AAAA;AAGA;AAAA;AAAA;AAIJ;AAAA;AAEI;AAAA;AAAA;AAGA;AAAA;AAAA;AAKJ;AAEE;AACE;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AACA;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AACE;AAAA;AAIF;AACE;AAAA;AAGF;AACE;AAAA;AAGF;AAAA;AAAA;AAGE;AAAA;AAAA;","names":[]}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
export { AssistantMessageProps, ButtonProps, ComponentsMap, HeaderProps, InputProps, MessagesProps, RenderMessageProps, RenderSuggestionsListProps, Renderer, SuggestionsProps, UserMessageProps, WindowProps } from './components/chat/props.js';
|
|
1
|
+
export { AssistantMessageProps, ButtonProps, ComponentsMap, HeaderProps, ImageRendererProps, InputProps, MessagesProps, RenderMessageProps, RenderSuggestionsListProps, Renderer, SuggestionsProps, UserMessageProps, WindowProps } from './components/chat/props.js';
|
|
2
2
|
export { CopilotPopup } from './components/chat/Popup.js';
|
|
3
3
|
export { CopilotSidebar } from './components/chat/Sidebar.js';
|
|
4
4
|
export { CopilotChat } from './components/chat/Chat.js';
|
|
5
5
|
export { Markdown } from './components/chat/Markdown.js';
|
|
6
6
|
export { AssistantMessage } from './components/chat/messages/AssistantMessage.js';
|
|
7
7
|
export { UserMessage } from './components/chat/messages/UserMessage.js';
|
|
8
|
+
export { ImageRenderer } from './components/chat/messages/ImageRenderer.js';
|
|
8
9
|
export { useChatContext } from './components/chat/ChatContext.js';
|
|
9
|
-
export { RenderImageMessage } from './components/chat/messages/RenderImageMessage.js';
|
|
10
10
|
export { Suggestions as RenderSuggestionsList } from './components/chat/Suggestions.js';
|
|
11
11
|
export { Suggestion as RenderSuggestion } from './components/chat/Suggestion.js';
|
|
12
12
|
export { shouldShowDevConsole } from './components/dev-console/utils.js';
|
|
@@ -14,10 +14,15 @@ export { CopilotDevConsole } from './components/dev-console/console.js';
|
|
|
14
14
|
export { useCopilotChatSuggestions } from './hooks/use-copilot-chat-suggestions.js';
|
|
15
15
|
export { CopilotKitCSSProperties } from './types/css.js';
|
|
16
16
|
export { CopilotChatSuggestion } from './types/suggestions.js';
|
|
17
|
-
import '@copilotkit/
|
|
17
|
+
import '@copilotkit/shared';
|
|
18
18
|
import 'react';
|
|
19
19
|
import 'react/jsx-runtime';
|
|
20
20
|
import './components/chat/Modal.js';
|
|
21
|
+
import '@copilotkit/react-core/dist/types/coagent-state';
|
|
22
|
+
import '@copilotkit/react-core/dist/hooks/use-tree';
|
|
23
|
+
import '@copilotkit/react-core/dist/copilot-context-bd88d30d';
|
|
24
|
+
import '@copilotkit/react-core/dist/types/coagent-action';
|
|
21
25
|
import '@copilotkit/react-core';
|
|
26
|
+
import '@copilotkit/runtime-client-gql';
|
|
22
27
|
import 'react-markdown';
|
|
23
28
|
import './components/dev-console/types.js';
|