@copilotkit/react-ui 1.1.3-feat-runtime-remote-actions.2 → 1.2.1
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 +21 -19
- package/dist/components/chat/Button.d.mts +7 -0
- package/dist/components/chat/Button.js.map +1 -1
- package/dist/components/chat/Button.mjs +30 -6
- package/dist/components/chat/Button.mjs.map +1 -1
- package/dist/components/chat/Chat.d.mts +87 -0
- package/dist/components/chat/Chat.d.ts +2 -2
- package/dist/components/chat/Chat.js +8 -107
- package/dist/components/chat/Chat.js.map +1 -1
- package/dist/components/chat/Chat.mjs +1754 -20
- package/dist/components/chat/Chat.mjs.map +1 -1
- package/dist/components/chat/ChatContext.d.mts +105 -0
- package/dist/components/chat/ChatContext.d.ts +1 -1
- package/dist/components/chat/ChatContext.mjs +228 -7
- package/dist/components/chat/ChatContext.mjs.map +1 -1
- package/dist/components/chat/CodeBlock.d.mts +14 -0
- package/dist/components/chat/CodeBlock.js +1 -2
- package/dist/components/chat/CodeBlock.js.map +1 -1
- package/dist/components/chat/CodeBlock.mjs +482 -8
- package/dist/components/chat/CodeBlock.mjs.map +1 -1
- package/dist/components/chat/Header.d.mts +7 -0
- package/dist/components/chat/Header.mjs +23 -6
- package/dist/components/chat/Header.mjs.map +1 -1
- package/dist/components/chat/Icons.d.mts +18 -0
- package/dist/components/chat/Icons.mjs +271 -16
- package/dist/components/chat/Icons.mjs.map +1 -1
- package/dist/components/chat/Input.d.mts +7 -0
- package/dist/components/chat/Input.js +2 -4
- package/dist/components/chat/Input.js.map +1 -1
- package/dist/components/chat/Input.mjs +255 -8
- package/dist/components/chat/Input.mjs.map +1 -1
- package/dist/components/chat/Markdown.d.mts +8 -0
- package/dist/components/chat/Markdown.js +1 -2
- package/dist/components/chat/Markdown.js.map +1 -1
- package/dist/components/chat/Markdown.mjs +546 -7
- package/dist/components/chat/Markdown.mjs.map +1 -1
- package/dist/components/chat/Messages.d.mts +7 -0
- package/dist/components/chat/Messages.js +3 -48
- package/dist/components/chat/Messages.js.map +1 -1
- package/dist/components/chat/Messages.mjs +678 -8
- package/dist/components/chat/Messages.mjs.map +1 -1
- package/dist/components/chat/Modal.d.mts +51 -0
- package/dist/components/chat/Modal.d.ts +1 -1
- package/dist/components/chat/Modal.js +9 -107
- package/dist/components/chat/Modal.js.map +1 -1
- package/dist/components/chat/Modal.mjs +1956 -22
- package/dist/components/chat/Modal.mjs.map +1 -1
- package/dist/components/chat/Popup.d.mts +13 -0
- package/dist/components/chat/Popup.js +9 -107
- package/dist/components/chat/Popup.js.map +1 -1
- package/dist/components/chat/Popup.mjs +1965 -23
- package/dist/components/chat/Popup.mjs.map +1 -1
- package/dist/components/chat/Response.d.mts +7 -0
- package/dist/components/chat/Response.mjs +23 -6
- package/dist/components/chat/Response.mjs.map +1 -1
- package/dist/components/chat/Sidebar.d.mts +13 -0
- package/dist/components/chat/Sidebar.js +10 -107
- package/dist/components/chat/Sidebar.js.map +1 -1
- package/dist/components/chat/Sidebar.mjs +1977 -23
- package/dist/components/chat/Sidebar.mjs.map +1 -1
- package/dist/components/chat/Suggestion.d.mts +14 -0
- package/dist/components/chat/Suggestion.js.map +1 -1
- package/dist/components/chat/Suggestion.mjs +152 -5
- package/dist/components/chat/Suggestion.mjs.map +1 -1
- package/dist/components/chat/Textarea.d.mts +13 -0
- package/dist/components/chat/Textarea.js.map +1 -1
- package/dist/components/chat/Textarea.mjs +48 -4
- package/dist/components/chat/Textarea.mjs.map +1 -1
- package/dist/components/chat/Window.d.mts +7 -0
- package/dist/components/chat/Window.js.map +1 -1
- package/dist/components/chat/Window.mjs +125 -6
- package/dist/components/chat/Window.mjs.map +1 -1
- package/dist/components/chat/index.d.mts +11 -0
- package/dist/components/chat/index.js +10 -107
- package/dist/components/chat/index.js.map +1 -1
- package/dist/components/chat/index.mjs +1983 -31
- package/dist/components/chat/index.mjs.map +1 -1
- package/dist/components/chat/props.d.mts +35 -0
- package/dist/components/chat/props.d.ts +1 -1
- package/dist/components/chat/props.mjs +0 -1
- package/dist/components/dev-console/console.d.mts +10 -0
- package/dist/components/dev-console/console.js +0 -52
- package/dist/components/dev-console/console.js.map +1 -1
- package/dist/components/dev-console/console.mjs +426 -8
- package/dist/components/dev-console/console.mjs.map +1 -1
- package/dist/components/dev-console/icons.d.mts +9 -0
- package/dist/components/dev-console/icons.mjs +83 -8
- package/dist/components/dev-console/icons.mjs.map +1 -1
- package/dist/components/dev-console/index.d.mts +5 -0
- package/dist/components/dev-console/index.js +0 -52
- package/dist/components/dev-console/index.js.map +1 -1
- package/dist/components/dev-console/index.mjs +424 -10
- package/dist/components/dev-console/index.mjs.map +1 -1
- package/dist/components/dev-console/types.d.mts +9 -0
- package/dist/components/dev-console/types.d.ts +1 -1
- package/dist/components/dev-console/utils.d.mts +9 -0
- package/dist/components/dev-console/utils.d.ts +1 -2
- package/dist/components/dev-console/utils.js +0 -53
- package/dist/components/dev-console/utils.js.map +1 -1
- package/dist/components/dev-console/utils.mjs +103 -9
- package/dist/components/dev-console/utils.mjs.map +1 -1
- package/dist/components/index.d.mts +11 -0
- package/dist/components/index.js +10 -107
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +1983 -32
- package/dist/components/index.mjs.map +1 -1
- package/dist/context/index.d.mts +2 -0
- package/dist/context/index.d.ts +1 -1
- package/dist/context/index.mjs +0 -1
- package/dist/hooks/index.d.mts +1 -0
- package/dist/hooks/index.mjs +24 -5
- package/dist/hooks/index.mjs.map +1 -1
- package/dist/hooks/use-copilot-chat-suggestions.d.mts +83 -0
- package/dist/hooks/use-copilot-chat-suggestions.mjs +24 -4
- package/dist/hooks/use-copilot-chat-suggestions.mjs.map +1 -1
- package/dist/hooks/use-copy-to-clipboard.d.mts +9 -0
- package/dist/hooks/use-copy-to-clipboard.d.ts +1 -1
- package/dist/hooks/use-copy-to-clipboard.mjs +21 -4
- package/dist/hooks/use-copy-to-clipboard.mjs.map +1 -1
- package/dist/hooks/use-push-to-talk.d.mts +19 -0
- package/dist/hooks/use-push-to-talk.d.ts +1 -1
- package/dist/hooks/use-push-to-talk.js.map +1 -1
- package/dist/hooks/use-push-to-talk.mjs +148 -6
- package/dist/hooks/use-push-to-talk.mjs.map +1 -1
- package/dist/index.css +1 -747
- package/dist/index.d.mts +13 -0
- package/dist/index.js +17 -107
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2015 -38
- package/dist/index.mjs.map +1 -1
- package/dist/lib/utils.d.mts +4 -0
- package/dist/lib/utils.mjs +20 -3
- package/dist/lib/utils.mjs.map +1 -1
- package/dist/lib/utils.test.d.mts +2 -0
- package/dist/lib/utils.test.d.ts +1 -1
- package/dist/types/css.d.mts +16 -0
- package/dist/types/css.d.ts +1 -1
- package/dist/types/index.d.mts +2 -0
- package/dist/types/index.mjs +0 -1
- package/dist/types/suggestions.d.mts +8 -0
- package/dist/types/suggestions.d.ts +1 -1
- package/package.json +19 -11
- package/src/components/chat/Chat.tsx +2 -5
- package/src/components/chat/Messages.tsx +2 -83
- package/src/components/chat/Modal.tsx +1 -0
- package/src/components/chat/Popup.tsx +1 -4
- package/src/components/chat/Sidebar.tsx +2 -3
- package/src/components/chat/Suggestion.tsx +0 -2
- package/src/components/dev-console/console.tsx +0 -6
- package/src/components/dev-console/utils.ts +0 -56
- package/tsup.config.ts +59 -15
- package/dist/chunk-54JAUBUJ.mjs +0 -26
- package/dist/chunk-54JAUBUJ.mjs.map +0 -1
- package/dist/chunk-5HHVL5WK.mjs +0 -29
- package/dist/chunk-5HHVL5WK.mjs.map +0 -1
- package/dist/chunk-B2KQEX2R.mjs +0 -91
- package/dist/chunk-B2KQEX2R.mjs.map +0 -1
- package/dist/chunk-BJPGMY3I.mjs +0 -70
- package/dist/chunk-BJPGMY3I.mjs.map +0 -1
- package/dist/chunk-EFZPSZWO.mjs +0 -1
- package/dist/chunk-EFZPSZWO.mjs.map +0 -1
- package/dist/chunk-FL4ETWFB.mjs +0 -21
- package/dist/chunk-FL4ETWFB.mjs.map +0 -1
- package/dist/chunk-FLV3J3VX.mjs +0 -18
- package/dist/chunk-FLV3J3VX.mjs.map +0 -1
- package/dist/chunk-FO7Z5LAL.mjs +0 -118
- package/dist/chunk-FO7Z5LAL.mjs.map +0 -1
- package/dist/chunk-FOZVHL73.mjs +0 -171
- package/dist/chunk-FOZVHL73.mjs.map +0 -1
- package/dist/chunk-FZC7X5PK.mjs +0 -262
- package/dist/chunk-FZC7X5PK.mjs.map +0 -1
- package/dist/chunk-H7TM5JE6.mjs +0 -146
- package/dist/chunk-H7TM5JE6.mjs.map +0 -1
- package/dist/chunk-HR36Y2FQ.mjs +0 -167
- package/dist/chunk-HR36Y2FQ.mjs.map +0 -1
- package/dist/chunk-I4QG2ZZU.mjs +0 -220
- package/dist/chunk-I4QG2ZZU.mjs.map +0 -1
- package/dist/chunk-IU3WTXLQ.mjs +0 -1
- package/dist/chunk-IU3WTXLQ.mjs.map +0 -1
- package/dist/chunk-JD7BAH7U.mjs +0 -1
- package/dist/chunk-JD7BAH7U.mjs.map +0 -1
- package/dist/chunk-MRFF7GSQ.mjs +0 -1
- package/dist/chunk-MRFF7GSQ.mjs.map +0 -1
- package/dist/chunk-MRXNTQOX.mjs +0 -59
- package/dist/chunk-MRXNTQOX.mjs.map +0 -1
- package/dist/chunk-OTPAZXVR.mjs +0 -92
- package/dist/chunk-OTPAZXVR.mjs.map +0 -1
- package/dist/chunk-QOEAEMUQ.mjs +0 -30
- package/dist/chunk-QOEAEMUQ.mjs.map +0 -1
- package/dist/chunk-T26KLXLH.mjs +0 -1
- package/dist/chunk-T26KLXLH.mjs.map +0 -1
- package/dist/chunk-U6J5DGOE.mjs +0 -83
- package/dist/chunk-U6J5DGOE.mjs.map +0 -1
- package/dist/chunk-UPTB2MVO.mjs +0 -395
- package/dist/chunk-UPTB2MVO.mjs.map +0 -1
- package/dist/chunk-V7W6IM2V.mjs +0 -1
- package/dist/chunk-V7W6IM2V.mjs.map +0 -1
- package/dist/chunk-VOBX4JOA.mjs +0 -138
- package/dist/chunk-VOBX4JOA.mjs.map +0 -1
- package/dist/chunk-WB3YULQ4.mjs +0 -1
- package/dist/chunk-WB3YULQ4.mjs.map +0 -1
- package/dist/chunk-WCPLXRZX.mjs +0 -106
- package/dist/chunk-WCPLXRZX.mjs.map +0 -1
- package/dist/chunk-XSUSSWDS.mjs +0 -18
- package/dist/chunk-XSUSSWDS.mjs.map +0 -1
- package/dist/chunk-YOH25I6N.mjs +0 -25
- package/dist/chunk-YOH25I6N.mjs.map +0 -1
- package/dist/chunk-YQ3D5IQV.mjs +0 -75
- package/dist/chunk-YQ3D5IQV.mjs.map +0 -1
- package/dist/chunk-YQFVRDNC.mjs +0 -53
- package/dist/chunk-YQFVRDNC.mjs.map +0 -1
- package/dist/index.css.map +0 -1
package/dist/chunk-H7TM5JE6.mjs
DELETED
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
__async
|
|
3
|
-
} from "./chunk-MRXNTQOX.mjs";
|
|
4
|
-
|
|
5
|
-
// src/components/dev-console/utils.ts
|
|
6
|
-
import { defaultCopilotContextCategories } from "@copilotkit/react-core";
|
|
7
|
-
import { ActionExecutionMessage, ResultMessage, TextMessage } from "@copilotkit/runtime-client-gql";
|
|
8
|
-
import { AgentStateMessage } from "@copilotkit/runtime-client-gql";
|
|
9
|
-
function shouldShowDevConsole(showDevConsole) {
|
|
10
|
-
if (typeof showDevConsole === "boolean") {
|
|
11
|
-
return showDevConsole;
|
|
12
|
-
}
|
|
13
|
-
return getHostname() === "localhost" || getHostname() === "127.0.0.1" || getHostname() === "0.0.0.0" || getHostname() === "::1";
|
|
14
|
-
}
|
|
15
|
-
function getHostname() {
|
|
16
|
-
if (typeof window !== "undefined" && window.location) {
|
|
17
|
-
return window.location.hostname;
|
|
18
|
-
}
|
|
19
|
-
return "";
|
|
20
|
-
}
|
|
21
|
-
function getPublishedCopilotKitVersion(current, forceCheck = false) {
|
|
22
|
-
return __async(this, null, function* () {
|
|
23
|
-
const LOCAL_STORAGE_KEY = "__copilotkit_version_check__";
|
|
24
|
-
const serializedVersion = localStorage.getItem(LOCAL_STORAGE_KEY);
|
|
25
|
-
if (serializedVersion && !forceCheck) {
|
|
26
|
-
try {
|
|
27
|
-
const parsedVersion = JSON.parse(serializedVersion);
|
|
28
|
-
const oneHour = 60 * 60 * 1e3;
|
|
29
|
-
const now = (/* @__PURE__ */ new Date()).getTime();
|
|
30
|
-
if (parsedVersion.current === current && now - new Date(parsedVersion.lastChecked).getTime() < oneHour) {
|
|
31
|
-
return parsedVersion;
|
|
32
|
-
}
|
|
33
|
-
} catch (error) {
|
|
34
|
-
console.error("Failed to parse CopilotKitVersion from localStorage", error);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
try {
|
|
38
|
-
const response = yield fetch("https://api.cloud.stagingcopilotkit.ai/check-for-updates", {
|
|
39
|
-
method: "POST",
|
|
40
|
-
headers: {
|
|
41
|
-
"Content-Type": "application/json"
|
|
42
|
-
},
|
|
43
|
-
body: JSON.stringify({
|
|
44
|
-
packages: [
|
|
45
|
-
{
|
|
46
|
-
packageName: "@copilotkit/shared",
|
|
47
|
-
packageVersion: current
|
|
48
|
-
}
|
|
49
|
-
]
|
|
50
|
-
})
|
|
51
|
-
});
|
|
52
|
-
const data = yield response.json();
|
|
53
|
-
const version = {
|
|
54
|
-
current,
|
|
55
|
-
lastChecked: (/* @__PURE__ */ new Date()).getTime(),
|
|
56
|
-
latest: data.packages[0].latestVersion,
|
|
57
|
-
severity: data.packages[0].severity,
|
|
58
|
-
advisory: data.packages[0].advisory || null
|
|
59
|
-
};
|
|
60
|
-
localStorage.setItem(LOCAL_STORAGE_KEY, JSON.stringify(version));
|
|
61
|
-
return version;
|
|
62
|
-
} catch (error) {
|
|
63
|
-
console.error("Failed to check for updates", error);
|
|
64
|
-
throw error;
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
function logReadables(context) {
|
|
69
|
-
console.log("%cCurrent Readables:", "font-size: 16px; font-weight: bold;");
|
|
70
|
-
const readables = context.getContextString([], defaultCopilotContextCategories).trim();
|
|
71
|
-
if (readables.length === 0) {
|
|
72
|
-
console.log("No readables found");
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
console.log(readables);
|
|
76
|
-
}
|
|
77
|
-
function logActions(context) {
|
|
78
|
-
console.log("%cCurrent Actions:", "font-size: 16px; font-weight: bold;");
|
|
79
|
-
if (Object.values(context.actions).length === 0) {
|
|
80
|
-
console.log("No actions found");
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
for (const action of Object.values(context.actions)) {
|
|
84
|
-
console.group(action.name);
|
|
85
|
-
console.log("name", action.name);
|
|
86
|
-
console.log("description", action.description);
|
|
87
|
-
console.log("parameters", action.parameters);
|
|
88
|
-
console.groupEnd();
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
function logMessages(context) {
|
|
92
|
-
console.log("%cCurrent Messages:", "font-size: 16px; font-weight: bold;");
|
|
93
|
-
if (context.messages.length === 0) {
|
|
94
|
-
console.log("No messages found");
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
const tableData = context.messages.map((message) => {
|
|
98
|
-
if (message instanceof TextMessage) {
|
|
99
|
-
return {
|
|
100
|
-
id: message.id,
|
|
101
|
-
type: "TextMessage",
|
|
102
|
-
role: message.role,
|
|
103
|
-
name: void 0,
|
|
104
|
-
scope: void 0,
|
|
105
|
-
content: message.content
|
|
106
|
-
};
|
|
107
|
-
} else if (message instanceof ActionExecutionMessage) {
|
|
108
|
-
return {
|
|
109
|
-
id: message.id,
|
|
110
|
-
type: "ActionExecutionMessage",
|
|
111
|
-
role: void 0,
|
|
112
|
-
name: message.name,
|
|
113
|
-
scope: message.scope,
|
|
114
|
-
content: message.arguments
|
|
115
|
-
};
|
|
116
|
-
} else if (message instanceof ResultMessage) {
|
|
117
|
-
return {
|
|
118
|
-
id: message.id,
|
|
119
|
-
type: "ResultMessage",
|
|
120
|
-
role: void 0,
|
|
121
|
-
name: message.actionName,
|
|
122
|
-
scope: message.actionExecutionId,
|
|
123
|
-
content: message.result
|
|
124
|
-
};
|
|
125
|
-
} else if (message instanceof AgentStateMessage) {
|
|
126
|
-
return {
|
|
127
|
-
id: message.id,
|
|
128
|
-
type: `AgentStateMessage (running: ${message.running})`,
|
|
129
|
-
role: message.role,
|
|
130
|
-
name: void 0,
|
|
131
|
-
scope: message.threadId,
|
|
132
|
-
content: message.state
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
});
|
|
136
|
-
console.table(tableData);
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
export {
|
|
140
|
-
shouldShowDevConsole,
|
|
141
|
-
getPublishedCopilotKitVersion,
|
|
142
|
-
logReadables,
|
|
143
|
-
logActions,
|
|
144
|
-
logMessages
|
|
145
|
-
};
|
|
146
|
-
//# sourceMappingURL=chunk-H7TM5JE6.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/dev-console/utils.ts"],"sourcesContent":["import { CopilotContextParams, defaultCopilotContextCategories } from \"@copilotkit/react-core\";\nimport { CopilotKitVersion } from \"./types\";\nimport { ActionExecutionMessage, ResultMessage, TextMessage } from \"@copilotkit/runtime-client-gql\";\nimport { AgentStateMessage } from \"@copilotkit/runtime-client-gql\";\n\nexport function shouldShowDevConsole(showDevConsole: boolean | \"auto\"): boolean {\n if (typeof showDevConsole === \"boolean\") {\n return showDevConsole;\n }\n return (\n getHostname() === \"localhost\" ||\n getHostname() === \"127.0.0.1\" ||\n getHostname() === \"0.0.0.0\" ||\n getHostname() === \"::1\"\n );\n}\n\nfunction getHostname(): string {\n if (typeof window !== \"undefined\" && window.location) {\n return window.location.hostname;\n }\n return \"\";\n}\n\nexport async function getPublishedCopilotKitVersion(\n current: string,\n forceCheck: boolean = false,\n): Promise<CopilotKitVersion> {\n const LOCAL_STORAGE_KEY = \"__copilotkit_version_check__\";\n const serializedVersion = localStorage.getItem(LOCAL_STORAGE_KEY);\n if (serializedVersion && !forceCheck) {\n try {\n const parsedVersion: CopilotKitVersion = JSON.parse(serializedVersion);\n const oneHour = 60 * 60 * 1000;\n const now = new Date().getTime();\n\n if (\n parsedVersion.current === current &&\n now - new Date(parsedVersion.lastChecked).getTime() < oneHour\n ) {\n return parsedVersion;\n }\n } catch (error) {\n console.error(\"Failed to parse CopilotKitVersion from localStorage\", error);\n }\n }\n\n try {\n const response = await fetch(\"https://api.cloud.stagingcopilotkit.ai/check-for-updates\", {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({\n packages: [\n {\n packageName: \"@copilotkit/shared\",\n packageVersion: current,\n },\n ],\n }),\n });\n\n const data = await response.json();\n\n const version: CopilotKitVersion = {\n current,\n lastChecked: new Date().getTime(),\n latest: data.packages[0].latestVersion,\n severity: data.packages[0].severity,\n advisory: data.packages[0].advisory || null,\n };\n\n localStorage.setItem(LOCAL_STORAGE_KEY, JSON.stringify(version));\n return version;\n } catch (error) {\n console.error(\"Failed to check for updates\", error);\n throw error;\n }\n}\n\nexport function logReadables(context: CopilotContextParams) {\n console.log(\"%cCurrent Readables:\", \"font-size: 16px; font-weight: bold;\");\n\n const readables = context.getContextString([], defaultCopilotContextCategories).trim();\n if (readables.length === 0) {\n console.log(\"No readables found\");\n return;\n }\n console.log(readables);\n}\n\nexport function logActions(context: CopilotContextParams) {\n console.log(\"%cCurrent Actions:\", \"font-size: 16px; font-weight: bold;\");\n\n if (Object.values(context.actions).length === 0) {\n console.log(\"No actions found\");\n return;\n }\n for (const action of Object.values(context.actions)) {\n console.group(action.name);\n console.log(\"name\", action.name);\n console.log(\"description\", action.description);\n console.log(\"parameters\", action.parameters);\n\n console.groupEnd();\n }\n}\n\nexport function logMessages(context: CopilotContextParams) {\n console.log(\"%cCurrent Messages:\", \"font-size: 16px; font-weight: bold;\");\n\n if (context.messages.length === 0) {\n console.log(\"No messages found\");\n return;\n }\n\n const tableData = context.messages.map((message) => {\n if (message instanceof TextMessage) {\n return {\n id: message.id,\n type: \"TextMessage\",\n role: message.role,\n name: undefined,\n scope: undefined,\n content: message.content,\n };\n } else if (message instanceof ActionExecutionMessage) {\n return {\n id: message.id,\n type: \"ActionExecutionMessage\",\n role: undefined,\n name: message.name,\n scope: message.scope,\n content: message.arguments,\n };\n } else if (message instanceof ResultMessage) {\n return {\n id: message.id,\n type: \"ResultMessage\",\n role: undefined,\n name: message.actionName,\n scope: message.actionExecutionId,\n content: message.result,\n };\n } else if (message instanceof AgentStateMessage) {\n return {\n id: message.id,\n type: `AgentStateMessage (running: ${message.running})`,\n role: message.role,\n name: undefined,\n scope: message.threadId,\n content: message.state,\n };\n }\n });\n console.table(tableData);\n}\n"],"mappings":"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","names":[]}
|
package/dist/chunk-HR36Y2FQ.mjs
DELETED
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Suggestion,
|
|
3
|
-
reloadSuggestions
|
|
4
|
-
} from "./chunk-WCPLXRZX.mjs";
|
|
5
|
-
import {
|
|
6
|
-
CopilotDevConsole
|
|
7
|
-
} from "./chunk-I4QG2ZZU.mjs";
|
|
8
|
-
import {
|
|
9
|
-
Input
|
|
10
|
-
} from "./chunk-U6J5DGOE.mjs";
|
|
11
|
-
import {
|
|
12
|
-
Messages
|
|
13
|
-
} from "./chunk-FOZVHL73.mjs";
|
|
14
|
-
import {
|
|
15
|
-
ResponseButton
|
|
16
|
-
} from "./chunk-XSUSSWDS.mjs";
|
|
17
|
-
import {
|
|
18
|
-
ChatContext,
|
|
19
|
-
ChatContextProvider
|
|
20
|
-
} from "./chunk-BJPGMY3I.mjs";
|
|
21
|
-
import {
|
|
22
|
-
__async
|
|
23
|
-
} from "./chunk-MRXNTQOX.mjs";
|
|
24
|
-
|
|
25
|
-
// src/components/chat/Chat.tsx
|
|
26
|
-
import React, { useEffect, useRef, useState } from "react";
|
|
27
|
-
import { useCopilotChat, useCopilotContext } from "@copilotkit/react-core";
|
|
28
|
-
import { Role, TextMessage } from "@copilotkit/runtime-client-gql";
|
|
29
|
-
import { randomId } from "@copilotkit/shared";
|
|
30
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
31
|
-
function CopilotChat({
|
|
32
|
-
instructions,
|
|
33
|
-
onSubmitMessage,
|
|
34
|
-
makeSystemMessage,
|
|
35
|
-
showResponseButton = true,
|
|
36
|
-
onInProgress,
|
|
37
|
-
Messages: Messages2 = Messages,
|
|
38
|
-
Input: Input2 = Input,
|
|
39
|
-
ResponseButton: ResponseButton2 = ResponseButton,
|
|
40
|
-
className,
|
|
41
|
-
icons,
|
|
42
|
-
labels
|
|
43
|
-
}) {
|
|
44
|
-
const context = useCopilotContext();
|
|
45
|
-
useEffect(() => {
|
|
46
|
-
context.setChatInstructions(instructions || "");
|
|
47
|
-
}, [instructions]);
|
|
48
|
-
const {
|
|
49
|
-
visibleMessages,
|
|
50
|
-
isLoading,
|
|
51
|
-
currentSuggestions,
|
|
52
|
-
sendMessage,
|
|
53
|
-
stopGeneration,
|
|
54
|
-
reloadMessages
|
|
55
|
-
} = useCopilotChatLogic(makeSystemMessage, onInProgress, onSubmitMessage);
|
|
56
|
-
const chatContext = React.useContext(ChatContext);
|
|
57
|
-
const isVisible = chatContext ? chatContext.open : true;
|
|
58
|
-
return /* @__PURE__ */ jsxs(WrappedCopilotChat, { icons, labels, className, children: [
|
|
59
|
-
/* @__PURE__ */ jsx(CopilotDevConsole, {}),
|
|
60
|
-
/* @__PURE__ */ jsxs(Messages2, { messages: visibleMessages, inProgress: isLoading, children: [
|
|
61
|
-
currentSuggestions.length > 0 && /* @__PURE__ */ jsxs("div", { children: [
|
|
62
|
-
/* @__PURE__ */ jsx("h6", { children: "Suggested:" }),
|
|
63
|
-
/* @__PURE__ */ jsx("div", { className: "suggestions", children: currentSuggestions.map((suggestion, index) => /* @__PURE__ */ jsx(
|
|
64
|
-
Suggestion,
|
|
65
|
-
{
|
|
66
|
-
title: suggestion.title,
|
|
67
|
-
message: suggestion.message,
|
|
68
|
-
partial: suggestion.partial,
|
|
69
|
-
className: suggestion.className,
|
|
70
|
-
onClick: (message) => sendMessage(message)
|
|
71
|
-
},
|
|
72
|
-
index
|
|
73
|
-
)) })
|
|
74
|
-
] }),
|
|
75
|
-
showResponseButton && visibleMessages.length > 0 && /* @__PURE__ */ jsx(
|
|
76
|
-
ResponseButton2,
|
|
77
|
-
{
|
|
78
|
-
onClick: isLoading ? stopGeneration : reloadMessages,
|
|
79
|
-
inProgress: isLoading
|
|
80
|
-
}
|
|
81
|
-
)
|
|
82
|
-
] }),
|
|
83
|
-
/* @__PURE__ */ jsx(Input2, { inProgress: isLoading, onSend: sendMessage, isVisible })
|
|
84
|
-
] });
|
|
85
|
-
}
|
|
86
|
-
function WrappedCopilotChat({
|
|
87
|
-
children,
|
|
88
|
-
icons,
|
|
89
|
-
labels,
|
|
90
|
-
className
|
|
91
|
-
}) {
|
|
92
|
-
const chatContext = React.useContext(ChatContext);
|
|
93
|
-
if (!chatContext) {
|
|
94
|
-
return /* @__PURE__ */ jsx(ChatContextProvider, { icons, labels, open: true, setOpen: () => {
|
|
95
|
-
}, children: /* @__PURE__ */ jsx("div", { className: `copilotKitChat ${className}`, children }) });
|
|
96
|
-
}
|
|
97
|
-
return /* @__PURE__ */ jsx(Fragment, { children });
|
|
98
|
-
}
|
|
99
|
-
var SUGGESTIONS_DEBOUNCE_TIMEOUT = 1e3;
|
|
100
|
-
var useCopilotChatLogic = (makeSystemMessage, onInProgress, onSubmitMessage) => {
|
|
101
|
-
const { visibleMessages, appendMessage, reloadMessages, stopGeneration, isLoading } = useCopilotChat({
|
|
102
|
-
id: randomId(),
|
|
103
|
-
makeSystemMessage
|
|
104
|
-
});
|
|
105
|
-
const [currentSuggestions, setCurrentSuggestions] = useState([]);
|
|
106
|
-
const suggestionsAbortControllerRef = useRef(null);
|
|
107
|
-
const debounceTimerRef = useRef();
|
|
108
|
-
const abortSuggestions = () => {
|
|
109
|
-
var _a;
|
|
110
|
-
(_a = suggestionsAbortControllerRef.current) == null ? void 0 : _a.abort();
|
|
111
|
-
suggestionsAbortControllerRef.current = null;
|
|
112
|
-
};
|
|
113
|
-
const context = useCopilotContext();
|
|
114
|
-
useEffect(() => {
|
|
115
|
-
onInProgress == null ? void 0 : onInProgress(isLoading);
|
|
116
|
-
abortSuggestions();
|
|
117
|
-
debounceTimerRef.current = setTimeout(
|
|
118
|
-
() => {
|
|
119
|
-
if (!isLoading && Object.keys(context.chatSuggestionConfiguration).length !== 0) {
|
|
120
|
-
suggestionsAbortControllerRef.current = new AbortController();
|
|
121
|
-
reloadSuggestions(
|
|
122
|
-
context,
|
|
123
|
-
context.chatSuggestionConfiguration,
|
|
124
|
-
setCurrentSuggestions,
|
|
125
|
-
suggestionsAbortControllerRef
|
|
126
|
-
);
|
|
127
|
-
}
|
|
128
|
-
},
|
|
129
|
-
currentSuggestions.length == 0 ? 0 : SUGGESTIONS_DEBOUNCE_TIMEOUT
|
|
130
|
-
);
|
|
131
|
-
return () => {
|
|
132
|
-
clearTimeout(debounceTimerRef.current);
|
|
133
|
-
};
|
|
134
|
-
}, [isLoading, context.chatSuggestionConfiguration]);
|
|
135
|
-
const sendMessage = (messageContent) => __async(void 0, null, function* () {
|
|
136
|
-
abortSuggestions();
|
|
137
|
-
setCurrentSuggestions([]);
|
|
138
|
-
const message = new TextMessage({
|
|
139
|
-
content: messageContent,
|
|
140
|
-
role: Role.User
|
|
141
|
-
});
|
|
142
|
-
appendMessage(message);
|
|
143
|
-
if (onSubmitMessage) {
|
|
144
|
-
try {
|
|
145
|
-
yield onSubmitMessage(messageContent);
|
|
146
|
-
} catch (error) {
|
|
147
|
-
console.error("Error in onSubmitMessage:", error);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
return message;
|
|
151
|
-
});
|
|
152
|
-
return {
|
|
153
|
-
visibleMessages,
|
|
154
|
-
isLoading,
|
|
155
|
-
currentSuggestions,
|
|
156
|
-
sendMessage,
|
|
157
|
-
stopGeneration,
|
|
158
|
-
reloadMessages
|
|
159
|
-
};
|
|
160
|
-
};
|
|
161
|
-
|
|
162
|
-
export {
|
|
163
|
-
CopilotChat,
|
|
164
|
-
WrappedCopilotChat,
|
|
165
|
-
useCopilotChatLogic
|
|
166
|
-
};
|
|
167
|
-
//# sourceMappingURL=chunk-HR36Y2FQ.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/chat/Chat.tsx"],"sourcesContent":["/**\n * <br/>\n * <img src=\"/images/CopilotChat.gif\" width=\"500\" />\n *\n * A chatbot panel component for the CopilotKit framework. The component allows for a high degree\n * of customization through various props and custom CSS.\n *\n * ## Install Dependencies\n *\n * This component is part of the [@copilotkit/react-ui](https://npmjs.com/package/@copilotkit/react-ui) package.\n *\n * ```shell npm2yarn \\\"@copilotkit/react-ui\"\\\n * npm install @copilotkit/react-core @copilotkit/react-ui\n * ```\n *\n * ## Usage\n *\n * ```tsx\n * import { CopilotChat } from \"@copilotkit/react-ui\";\n * import \"@copilotkit/react-ui/styles.css\";\n *\n * <CopilotChat\n * labels={{\n * title: \"Your Assistant\",\n * initial: \"Hi! 👋 How can I assist you today?\",\n * }}\n * />\n * ```\n *\n * ### Look & Feel\n *\n * By default, CopilotKit components do not have any styles. You can import CopilotKit's stylesheet at the root of your project:\n * ```tsx fileName=\"YourRootComponent.tsx\" {2}\n * ...\n * import \"@copilotkit/react-ui/styles.css\";\n *\n * export function YourRootComponent() {\n * return (\n * <CopilotKit>\n * ...\n * </CopilotKit>\n * );\n * }\n * ```\n * For more information about how to customize the styles, check out the [Customize Look & Feel](/concepts/customize-look-and-feel) guide.\n */\n\nimport {\n ChatContext,\n ChatContextProvider,\n CopilotChatIcons,\n CopilotChatLabels,\n} from \"./ChatContext\";\nimport { Messages as DefaultMessages } from \"./Messages\";\nimport { Input as DefaultInput } from \"./Input\";\nimport { ResponseButton as DefaultResponseButton } from \"./Response\";\nimport { Suggestion } from \"./Suggestion\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { SystemMessageFunction, useCopilotChat, useCopilotContext } from \"@copilotkit/react-core\";\nimport { reloadSuggestions } from \"./Suggestion\";\nimport { CopilotChatSuggestion } from \"../../types/suggestions\";\nimport { Message, Role, TextMessage } from \"@copilotkit/runtime-client-gql\";\nimport { InputProps, MessagesProps, ResponseButtonProps } from \"./props\";\nimport { randomId } from \"@copilotkit/shared\";\n\nimport { CopilotDevConsole } from \"../dev-console\";\n\n/**\n * Props for CopilotChat component.\n */\nexport interface CopilotChatProps {\n /**\n * Custom instructions to be added to the system message. Use this property to\n * provide additional context or guidance to the language model, influencing\n * its responses. These instructions can include specific directions,\n * preferences, or criteria that the model should consider when generating\n * its output, thereby tailoring the conversation more precisely to the\n * user's needs or the application's requirements.\n */\n instructions?: string;\n\n /**\n * A callback that gets called when the in progress state changes.\n */\n onInProgress?: (inProgress: boolean) => void;\n\n /**\n * A callback that gets called when a new message it submitted.\n */\n onSubmitMessage?: (message: string) => void | Promise<void>;\n\n /**\n * Icons can be used to set custom icons for the chat window.\n */\n icons?: CopilotChatIcons;\n\n /**\n * Labels can be used to set custom labels for the chat window.\n */\n labels?: CopilotChatLabels;\n\n /**\n * A function that takes in context string and instructions and returns\n * the system message to include in the chat request.\n * Use this to completely override the system message, when providing\n * instructions is not enough.\n */\n makeSystemMessage?: SystemMessageFunction;\n\n /**\n * Whether to show the response button.\n * @default true\n */\n showResponseButton?: boolean;\n\n /**\n * A custom Messages component to use instead of the default.\n */\n Messages?: React.ComponentType<MessagesProps>;\n\n /**\n * A custom Input component to use instead of the default.\n */\n Input?: React.ComponentType<InputProps>;\n\n /**\n * A custom ResponseButton component to use instead of the default.\n */\n ResponseButton?: React.ComponentType<ResponseButtonProps>;\n\n /**\n * A class name to apply to the root element.\n */\n className?: string;\n\n /**\n * Children to render.\n */\n children?: React.ReactNode;\n}\n\nexport function CopilotChat({\n instructions,\n onSubmitMessage,\n makeSystemMessage,\n showResponseButton = true,\n onInProgress,\n Messages = DefaultMessages,\n Input = DefaultInput,\n ResponseButton = DefaultResponseButton,\n className,\n icons,\n labels,\n}: CopilotChatProps) {\n const context = useCopilotContext();\n\n useEffect(() => {\n context.setChatInstructions(instructions || \"\");\n }, [instructions]);\n\n const {\n visibleMessages,\n isLoading,\n currentSuggestions,\n sendMessage,\n stopGeneration,\n reloadMessages,\n } = useCopilotChatLogic(makeSystemMessage, onInProgress, onSubmitMessage);\n\n const chatContext = React.useContext(ChatContext);\n const isVisible = chatContext ? chatContext.open : true;\n\n return (\n <WrappedCopilotChat icons={icons} labels={labels} className={className}>\n <CopilotDevConsole />\n <Messages messages={visibleMessages} inProgress={isLoading}>\n {currentSuggestions.length > 0 && (\n <div>\n <h6>Suggested:</h6>\n <div className=\"suggestions\">\n {currentSuggestions.map((suggestion, index) => (\n <Suggestion\n key={index}\n title={suggestion.title}\n message={suggestion.message}\n partial={suggestion.partial}\n className={suggestion.className}\n onClick={(message) => sendMessage(message)}\n />\n ))}\n </div>\n </div>\n )}\n {showResponseButton && visibleMessages.length > 0 && (\n <ResponseButton\n onClick={isLoading ? stopGeneration : reloadMessages}\n inProgress={isLoading}\n />\n )}\n </Messages>\n <Input inProgress={isLoading} onSend={sendMessage} isVisible={isVisible} />\n </WrappedCopilotChat>\n );\n}\n\nexport function WrappedCopilotChat({\n children,\n icons,\n labels,\n className,\n}: {\n children: React.ReactNode;\n icons?: CopilotChatIcons;\n labels?: CopilotChatLabels;\n className?: string;\n}) {\n const chatContext = React.useContext(ChatContext);\n if (!chatContext) {\n return (\n <ChatContextProvider icons={icons} labels={labels} open={true} setOpen={() => {}}>\n <div className={`copilotKitChat ${className}`}>{children}</div>\n </ChatContextProvider>\n );\n }\n return <>{children}</>;\n}\n\nconst SUGGESTIONS_DEBOUNCE_TIMEOUT = 1000;\n\nexport const useCopilotChatLogic = (\n makeSystemMessage?: SystemMessageFunction,\n onInProgress?: (isLoading: boolean) => void,\n onSubmitMessage?: (messageContent: string) => Promise<void> | void,\n) => {\n const { visibleMessages, appendMessage, reloadMessages, stopGeneration, isLoading } =\n useCopilotChat({\n id: randomId(),\n makeSystemMessage,\n });\n\n const [currentSuggestions, setCurrentSuggestions] = useState<CopilotChatSuggestion[]>([]);\n const suggestionsAbortControllerRef = useRef<AbortController | null>(null);\n const debounceTimerRef = useRef<any>();\n\n const abortSuggestions = () => {\n suggestionsAbortControllerRef.current?.abort();\n suggestionsAbortControllerRef.current = null;\n };\n\n const context = useCopilotContext();\n\n useEffect(() => {\n onInProgress?.(isLoading);\n\n abortSuggestions();\n\n debounceTimerRef.current = setTimeout(\n () => {\n if (!isLoading && Object.keys(context.chatSuggestionConfiguration).length !== 0) {\n suggestionsAbortControllerRef.current = new AbortController();\n reloadSuggestions(\n context,\n context.chatSuggestionConfiguration,\n setCurrentSuggestions,\n suggestionsAbortControllerRef,\n );\n }\n },\n currentSuggestions.length == 0 ? 0 : SUGGESTIONS_DEBOUNCE_TIMEOUT,\n );\n\n return () => {\n clearTimeout(debounceTimerRef.current);\n };\n }, [isLoading, context.chatSuggestionConfiguration]);\n\n const sendMessage = async (messageContent: string) => {\n abortSuggestions();\n setCurrentSuggestions([]);\n\n const message: Message = new TextMessage({\n content: messageContent,\n role: Role.User,\n });\n\n // Append the message immediately to make it visible\n appendMessage(message);\n\n if (onSubmitMessage) {\n try {\n await onSubmitMessage(messageContent);\n } catch (error) {\n console.error(\"Error in onSubmitMessage:\", error);\n }\n }\n\n return message;\n };\n\n return {\n visibleMessages,\n isLoading,\n currentSuggestions,\n sendMessage,\n stopGeneration,\n reloadMessages,\n };\n};\n"],"mappings":"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","names":["Messages","Input","ResponseButton"]}
|
package/dist/chunk-I4QG2ZZU.mjs
DELETED
|
@@ -1,220 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
getPublishedCopilotKitVersion,
|
|
3
|
-
logActions,
|
|
4
|
-
logMessages,
|
|
5
|
-
logReadables,
|
|
6
|
-
shouldShowDevConsole
|
|
7
|
-
} from "./chunk-H7TM5JE6.mjs";
|
|
8
|
-
import {
|
|
9
|
-
CheckIcon,
|
|
10
|
-
ChevronDownIcon,
|
|
11
|
-
CopilotKitIcon,
|
|
12
|
-
ExclamationMarkIcon,
|
|
13
|
-
ExclamationMarkTriangleIcon
|
|
14
|
-
} from "./chunk-OTPAZXVR.mjs";
|
|
15
|
-
import {
|
|
16
|
-
SmallSpinnerIcon
|
|
17
|
-
} from "./chunk-FZC7X5PK.mjs";
|
|
18
|
-
|
|
19
|
-
// src/components/dev-console/console.tsx
|
|
20
|
-
import { useCopilotContext } from "@copilotkit/react-core";
|
|
21
|
-
import { useEffect, useRef, useState } from "react";
|
|
22
|
-
import { Menu, MenuButton, MenuItem, MenuItems } from "@headlessui/react";
|
|
23
|
-
import { COPILOTKIT_VERSION } from "@copilotkit/shared";
|
|
24
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
25
|
-
function CopilotDevConsole() {
|
|
26
|
-
const currentVersion = COPILOTKIT_VERSION;
|
|
27
|
-
const context = useCopilotContext();
|
|
28
|
-
const [showDevConsole, setShowDevConsole] = useState(false);
|
|
29
|
-
useEffect(() => {
|
|
30
|
-
setShowDevConsole(shouldShowDevConsole(context.showDevConsole));
|
|
31
|
-
}, [context.showDevConsole]);
|
|
32
|
-
const dontRunTwiceInDevMode = useRef(false);
|
|
33
|
-
const [versionStatus, setVersionStatus] = useState("unknown");
|
|
34
|
-
const [latestVersion, setLatestVersion] = useState("");
|
|
35
|
-
const consoleRef = useRef(null);
|
|
36
|
-
const [debugButtonMode, setDebugButtonMode] = useState("full");
|
|
37
|
-
const checkForUpdates = (force = false) => {
|
|
38
|
-
setVersionStatus("checking");
|
|
39
|
-
getPublishedCopilotKitVersion(currentVersion, force).then((v) => {
|
|
40
|
-
setLatestVersion(v.latest);
|
|
41
|
-
let versionOk = false;
|
|
42
|
-
if (v.current === v.latest) {
|
|
43
|
-
versionOk = true;
|
|
44
|
-
} else if (/[a-zA-Z]/.test(v.current)) {
|
|
45
|
-
versionOk = true;
|
|
46
|
-
}
|
|
47
|
-
if (versionOk) {
|
|
48
|
-
setVersionStatus("latest");
|
|
49
|
-
} else if (v.severity !== "low") {
|
|
50
|
-
setVersionStatus("outdated");
|
|
51
|
-
} else {
|
|
52
|
-
setVersionStatus("update-available");
|
|
53
|
-
}
|
|
54
|
-
}).catch((e) => {
|
|
55
|
-
console.error(e);
|
|
56
|
-
setVersionStatus("unknown");
|
|
57
|
-
});
|
|
58
|
-
};
|
|
59
|
-
useEffect(() => {
|
|
60
|
-
if (dontRunTwiceInDevMode.current === true) {
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
dontRunTwiceInDevMode.current = true;
|
|
64
|
-
checkForUpdates();
|
|
65
|
-
}, []);
|
|
66
|
-
useEffect(() => {
|
|
67
|
-
const handleResize = (entries) => {
|
|
68
|
-
for (let entry of entries) {
|
|
69
|
-
if (entry.target === consoleRef.current) {
|
|
70
|
-
const width = entry.contentRect.width;
|
|
71
|
-
if (width < 400) {
|
|
72
|
-
setDebugButtonMode("compact");
|
|
73
|
-
} else {
|
|
74
|
-
setDebugButtonMode("full");
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
};
|
|
79
|
-
const observer = new ResizeObserver(handleResize);
|
|
80
|
-
if (consoleRef.current) {
|
|
81
|
-
observer.observe(consoleRef.current);
|
|
82
|
-
const initialWidth = consoleRef.current.getBoundingClientRect().width;
|
|
83
|
-
if (initialWidth < 400) {
|
|
84
|
-
setDebugButtonMode("compact");
|
|
85
|
-
} else {
|
|
86
|
-
setDebugButtonMode("full");
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
return () => {
|
|
90
|
-
if (consoleRef.current) {
|
|
91
|
-
observer.unobserve(consoleRef.current);
|
|
92
|
-
}
|
|
93
|
-
};
|
|
94
|
-
}, [consoleRef.current]);
|
|
95
|
-
if (!showDevConsole) {
|
|
96
|
-
return null;
|
|
97
|
-
}
|
|
98
|
-
return /* @__PURE__ */ jsxs(
|
|
99
|
-
"div",
|
|
100
|
-
{
|
|
101
|
-
ref: consoleRef,
|
|
102
|
-
className: "copilotKitDevConsole " + (versionStatus === "update-available" ? "copilotKitDevConsoleUpgrade" : "") + (versionStatus === "outdated" ? "copilotKitDevConsoleWarnOutdated" : ""),
|
|
103
|
-
children: [
|
|
104
|
-
/* @__PURE__ */ jsx("div", { className: "copilotKitDevConsoleLogo", children: /* @__PURE__ */ jsx("a", { href: "https://copilotkit.ai", target: "_blank", children: CopilotKitIcon }) }),
|
|
105
|
-
/* @__PURE__ */ jsx(
|
|
106
|
-
VersionInfo,
|
|
107
|
-
{
|
|
108
|
-
showDevConsole: context.showDevConsole,
|
|
109
|
-
versionStatus,
|
|
110
|
-
currentVersion,
|
|
111
|
-
latestVersion
|
|
112
|
-
}
|
|
113
|
-
),
|
|
114
|
-
/* @__PURE__ */ jsx(
|
|
115
|
-
DebugMenuButton,
|
|
116
|
-
{
|
|
117
|
-
setShowDevConsole,
|
|
118
|
-
checkForUpdates,
|
|
119
|
-
mode: debugButtonMode
|
|
120
|
-
}
|
|
121
|
-
)
|
|
122
|
-
]
|
|
123
|
-
}
|
|
124
|
-
);
|
|
125
|
-
}
|
|
126
|
-
function VersionInfo({
|
|
127
|
-
showDevConsole,
|
|
128
|
-
versionStatus,
|
|
129
|
-
currentVersion,
|
|
130
|
-
latestVersion
|
|
131
|
-
}) {
|
|
132
|
-
const [copyStatus, setCopyStatus] = useState("");
|
|
133
|
-
let versionLabel = "";
|
|
134
|
-
let versionIcon = "";
|
|
135
|
-
let currentVersionLabel = currentVersion;
|
|
136
|
-
if (versionStatus === "latest") {
|
|
137
|
-
versionLabel = "latest";
|
|
138
|
-
versionIcon = CheckIcon;
|
|
139
|
-
} else if (versionStatus === "checking") {
|
|
140
|
-
versionLabel = "checking";
|
|
141
|
-
versionIcon = SmallSpinnerIcon;
|
|
142
|
-
} else if (versionStatus === "update-available") {
|
|
143
|
-
versionLabel = "update available";
|
|
144
|
-
versionIcon = ExclamationMarkIcon;
|
|
145
|
-
currentVersionLabel = `${currentVersion} \u2192 ${latestVersion}`;
|
|
146
|
-
} else if (versionStatus === "outdated") {
|
|
147
|
-
versionLabel = "outdated";
|
|
148
|
-
versionIcon = ExclamationMarkTriangleIcon;
|
|
149
|
-
currentVersionLabel = `${currentVersion} \u2192 ${latestVersion}`;
|
|
150
|
-
}
|
|
151
|
-
let asideLabel = "";
|
|
152
|
-
if (showDevConsole === "auto") {
|
|
153
|
-
asideLabel = "(localhost only)";
|
|
154
|
-
} else if (showDevConsole === true) {
|
|
155
|
-
asideLabel = "(always on)";
|
|
156
|
-
}
|
|
157
|
-
const installCommand = [
|
|
158
|
-
`npm install`,
|
|
159
|
-
`@copilotkit/react-core@${latestVersion}`,
|
|
160
|
-
`@copilotkit/react-ui@${latestVersion}`,
|
|
161
|
-
`@copilotkit/react-textarea@${latestVersion}`
|
|
162
|
-
].join(" ");
|
|
163
|
-
const handleCopyClick = () => {
|
|
164
|
-
navigator.clipboard.writeText(installCommand.trim()).then(() => {
|
|
165
|
-
setCopyStatus("Command copied to clipboard!");
|
|
166
|
-
setTimeout(() => setCopyStatus(""), 1e3);
|
|
167
|
-
});
|
|
168
|
-
};
|
|
169
|
-
return /* @__PURE__ */ jsxs("div", { className: "copilotKitVersionInfo", children: [
|
|
170
|
-
/* @__PURE__ */ jsxs("header", { children: [
|
|
171
|
-
"COPILOTKIT DEV CONSOLE",
|
|
172
|
-
showDevConsole === "auto" && /* @__PURE__ */ jsx("aside", { children: asideLabel })
|
|
173
|
-
] }),
|
|
174
|
-
/* @__PURE__ */ jsxs("section", { children: [
|
|
175
|
-
"Version: ",
|
|
176
|
-
versionLabel,
|
|
177
|
-
" (",
|
|
178
|
-
currentVersionLabel,
|
|
179
|
-
") ",
|
|
180
|
-
versionIcon
|
|
181
|
-
] }),
|
|
182
|
-
(versionStatus === "update-available" || versionStatus === "outdated") && /* @__PURE__ */ jsx("footer", { children: /* @__PURE__ */ jsx("button", { onClick: handleCopyClick, children: copyStatus || installCommand }) })
|
|
183
|
-
] });
|
|
184
|
-
}
|
|
185
|
-
function DebugMenuButton({
|
|
186
|
-
setShowDevConsole,
|
|
187
|
-
checkForUpdates,
|
|
188
|
-
mode
|
|
189
|
-
}) {
|
|
190
|
-
const context = useCopilotContext();
|
|
191
|
-
return /* @__PURE__ */ jsx("div", { className: "bg-black fixed top-24 w-52 text-right", children: /* @__PURE__ */ jsxs(Menu, { children: [
|
|
192
|
-
/* @__PURE__ */ jsx(MenuButton, { className: `copilotKitDebugMenuButton ${mode === "compact" ? "compact" : ""}`, children: mode == "compact" ? "Debug" : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
193
|
-
"Debug ",
|
|
194
|
-
ChevronDownIcon
|
|
195
|
-
] }) }),
|
|
196
|
-
/* @__PURE__ */ jsxs(
|
|
197
|
-
MenuItems,
|
|
198
|
-
{
|
|
199
|
-
transition: true,
|
|
200
|
-
anchor: "bottom end",
|
|
201
|
-
className: "copilotKitDebugMenu",
|
|
202
|
-
style: { zIndex: 40 },
|
|
203
|
-
children: [
|
|
204
|
-
/* @__PURE__ */ jsx(MenuItem, { children: /* @__PURE__ */ jsx("button", { className: "copilotKitDebugMenuItem", onClick: () => logReadables(context), children: "Log Readables" }) }),
|
|
205
|
-
/* @__PURE__ */ jsx(MenuItem, { children: /* @__PURE__ */ jsx("button", { className: "copilotKitDebugMenuItem", onClick: () => logActions(context), children: "Log Actions" }) }),
|
|
206
|
-
/* @__PURE__ */ jsx(MenuItem, { children: /* @__PURE__ */ jsx("button", { className: "copilotKitDebugMenuItem", onClick: () => logMessages(context), children: "Log Messages" }) }),
|
|
207
|
-
/* @__PURE__ */ jsx(MenuItem, { children: /* @__PURE__ */ jsx("button", { className: "copilotKitDebugMenuItem", onClick: () => checkForUpdates(true), children: "Check for Updates" }) }),
|
|
208
|
-
/* @__PURE__ */ jsx("hr", {}),
|
|
209
|
-
/* @__PURE__ */ jsx(MenuItem, { children: /* @__PURE__ */ jsx("button", { className: "copilotKitDebugMenuItem", onClick: () => setShowDevConsole(false), children: "Hide Dev Console" }) })
|
|
210
|
-
]
|
|
211
|
-
}
|
|
212
|
-
)
|
|
213
|
-
] }) });
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
export {
|
|
217
|
-
CopilotDevConsole,
|
|
218
|
-
DebugMenuButton
|
|
219
|
-
};
|
|
220
|
-
//# sourceMappingURL=chunk-I4QG2ZZU.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/dev-console/console.tsx"],"sourcesContent":["\"use client\";\n\nimport { useCopilotContext } from \"@copilotkit/react-core\";\nimport {\n getPublishedCopilotKitVersion,\n logActions,\n logMessages,\n logReadables,\n shouldShowDevConsole,\n} from \"./utils\";\nimport { useEffect, useRef, useState } from \"react\";\nimport {\n CheckIcon,\n ChevronDownIcon,\n CopilotKitIcon,\n ExclamationMarkIcon,\n ExclamationMarkTriangleIcon,\n} from \"./icons\";\nimport { Menu, MenuButton, MenuItem, MenuItems } from \"@headlessui/react\";\nimport { COPILOTKIT_VERSION } from \"@copilotkit/shared\";\nimport { SmallSpinnerIcon } from \"../chat/Icons\";\n\ntype VersionStatus = \"unknown\" | \"checking\" | \"latest\" | \"update-available\" | \"outdated\";\n\nexport function CopilotDevConsole() {\n const currentVersion = COPILOTKIT_VERSION;\n const context = useCopilotContext();\n\n // to prevent hydration errors, ensure that the component renders the same content\n // server-side as it does during the initial client-side render to prevent a hydration\n // mismatch\n // see: https://nextjs.org/docs/messages/react-hydration-error#solution-1-using-useeffect-to-run-on-the-client-only\n\n const [showDevConsole, setShowDevConsole] = useState(false);\n\n useEffect(() => {\n setShowDevConsole(shouldShowDevConsole(context.showDevConsole));\n }, [context.showDevConsole]);\n\n const dontRunTwiceInDevMode = useRef(false);\n const [versionStatus, setVersionStatus] = useState<VersionStatus>(\"unknown\");\n const [latestVersion, setLatestVersion] = useState<string>(\"\");\n const consoleRef = useRef<HTMLDivElement>(null);\n const [debugButtonMode, setDebugButtonMode] = useState<\"full\" | \"compact\">(\"full\");\n\n const checkForUpdates = (force: boolean = false) => {\n setVersionStatus(\"checking\");\n\n getPublishedCopilotKitVersion(currentVersion, force)\n .then((v) => {\n setLatestVersion(v.latest);\n let versionOk = false;\n\n // match exact version or a version with a letter (e.g. 1.0.0-alpha.1)\n if (v.current === v.latest) {\n versionOk = true;\n } else if (/[a-zA-Z]/.test(v.current)) {\n versionOk = true;\n }\n\n if (versionOk) {\n setVersionStatus(\"latest\");\n } else if (v.severity !== \"low\") {\n setVersionStatus(\"outdated\");\n } else {\n setVersionStatus(\"update-available\");\n }\n })\n .catch((e) => {\n console.error(e);\n setVersionStatus(\"unknown\");\n });\n };\n\n useEffect(() => {\n if (dontRunTwiceInDevMode.current === true) {\n return;\n }\n dontRunTwiceInDevMode.current = true;\n\n checkForUpdates();\n }, []);\n\n useEffect(() => {\n const handleResize = (entries: ResizeObserverEntry[]) => {\n for (let entry of entries) {\n if (entry.target === consoleRef.current) {\n const width = entry.contentRect.width;\n if (width < 400) {\n setDebugButtonMode(\"compact\");\n } else {\n setDebugButtonMode(\"full\");\n }\n }\n }\n };\n\n const observer = new ResizeObserver(handleResize);\n if (consoleRef.current) {\n observer.observe(consoleRef.current);\n\n const initialWidth = consoleRef.current.getBoundingClientRect().width;\n if (initialWidth < 400) {\n setDebugButtonMode(\"compact\");\n } else {\n setDebugButtonMode(\"full\");\n }\n }\n\n return () => {\n if (consoleRef.current) {\n observer.unobserve(consoleRef.current);\n }\n };\n }, [consoleRef.current]);\n\n if (!showDevConsole) {\n return null;\n }\n return (\n <div\n ref={consoleRef}\n className={\n \"copilotKitDevConsole \" +\n (versionStatus === \"update-available\" ? \"copilotKitDevConsoleUpgrade\" : \"\") +\n (versionStatus === \"outdated\" ? \"copilotKitDevConsoleWarnOutdated\" : \"\")\n }\n >\n <div className=\"copilotKitDevConsoleLogo\">\n <a href=\"https://copilotkit.ai\" target=\"_blank\">\n {CopilotKitIcon}\n </a>\n </div>\n <VersionInfo\n showDevConsole={context.showDevConsole}\n versionStatus={versionStatus}\n currentVersion={currentVersion}\n latestVersion={latestVersion}\n />\n\n <DebugMenuButton\n setShowDevConsole={setShowDevConsole}\n checkForUpdates={checkForUpdates}\n mode={debugButtonMode}\n />\n </div>\n );\n}\n\nfunction VersionInfo({\n showDevConsole,\n versionStatus,\n currentVersion,\n latestVersion,\n}: {\n showDevConsole: boolean | \"auto\";\n versionStatus: VersionStatus;\n currentVersion: string;\n latestVersion: string;\n}) {\n const [copyStatus, setCopyStatus] = useState<string>(\"\");\n\n let versionLabel = \"\";\n let versionIcon: any = \"\";\n let currentVersionLabel = currentVersion;\n\n if (versionStatus === \"latest\") {\n versionLabel = \"latest\";\n versionIcon = CheckIcon;\n } else if (versionStatus === \"checking\") {\n versionLabel = \"checking\";\n versionIcon = SmallSpinnerIcon;\n } else if (versionStatus === \"update-available\") {\n versionLabel = \"update available\";\n versionIcon = ExclamationMarkIcon;\n currentVersionLabel = `${currentVersion} → ${latestVersion}`;\n } else if (versionStatus === \"outdated\") {\n versionLabel = \"outdated\";\n versionIcon = ExclamationMarkTriangleIcon;\n currentVersionLabel = `${currentVersion} → ${latestVersion}`;\n }\n\n let asideLabel = \"\";\n if (showDevConsole === \"auto\") {\n asideLabel = \"(localhost only)\";\n } else if (showDevConsole === true) {\n asideLabel = \"(always on)\";\n }\n\n const installCommand = [\n `npm install`,\n `@copilotkit/react-core@${latestVersion}`,\n `@copilotkit/react-ui@${latestVersion}`,\n `@copilotkit/react-textarea@${latestVersion}`,\n ].join(\" \");\n\n const handleCopyClick = () => {\n navigator.clipboard.writeText(installCommand.trim()).then(() => {\n setCopyStatus(\"Command copied to clipboard!\");\n setTimeout(() => setCopyStatus(\"\"), 1000);\n });\n };\n\n return (\n <div className=\"copilotKitVersionInfo\">\n <header>\n COPILOTKIT DEV CONSOLE{showDevConsole === \"auto\" && <aside>{asideLabel}</aside>}\n </header>\n <section>\n Version: {versionLabel} ({currentVersionLabel}) {versionIcon}\n </section>\n {(versionStatus === \"update-available\" || versionStatus === \"outdated\") && (\n <footer>\n <button onClick={handleCopyClick}>{copyStatus || installCommand}</button>\n </footer>\n )}\n </div>\n );\n}\nexport default function DebugMenuButton({\n setShowDevConsole,\n checkForUpdates,\n mode,\n}: {\n setShowDevConsole: (show: boolean) => void;\n checkForUpdates: (force: boolean) => void;\n mode: \"full\" | \"compact\";\n}) {\n const context = useCopilotContext();\n\n return (\n <div className=\"bg-black fixed top-24 w-52 text-right\">\n <Menu>\n <MenuButton className={`copilotKitDebugMenuButton ${mode === \"compact\" ? \"compact\" : \"\"}`}>\n {mode == \"compact\" ? \"Debug\" : <>Debug {ChevronDownIcon}</>}\n </MenuButton>\n\n <MenuItems\n transition\n anchor=\"bottom end\"\n className=\"copilotKitDebugMenu\"\n style={{ zIndex: 40 }}\n >\n <MenuItem>\n <button className=\"copilotKitDebugMenuItem\" onClick={() => logReadables(context)}>\n Log Readables\n </button>\n </MenuItem>\n <MenuItem>\n <button className=\"copilotKitDebugMenuItem\" onClick={() => logActions(context)}>\n Log Actions\n </button>\n </MenuItem>\n <MenuItem>\n <button className=\"copilotKitDebugMenuItem\" onClick={() => logMessages(context)}>\n Log Messages\n </button>\n </MenuItem>\n <MenuItem>\n <button className=\"copilotKitDebugMenuItem\" onClick={() => checkForUpdates(true)}>\n Check for Updates\n </button>\n </MenuItem>\n <hr />\n <MenuItem>\n <button className=\"copilotKitDebugMenuItem\" onClick={() => setShowDevConsole(false)}>\n Hide Dev Console\n </button>\n </MenuItem>\n </MenuItems>\n </Menu>\n </div>\n );\n}\n"],"mappings":"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","names":[]}
|
package/dist/chunk-IU3WTXLQ.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=chunk-IU3WTXLQ.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/chunk-JD7BAH7U.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=chunk-JD7BAH7U.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/chunk-MRFF7GSQ.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=chunk-MRFF7GSQ.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|