@copilotkit/react-core 1.10.0-next.1 → 1.10.0-next.10
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 +87 -0
- package/dist/{chunk-KV25ZRMH.mjs → chunk-2TSNHEIS.mjs} +6 -6
- package/dist/chunk-2TSNHEIS.mjs.map +1 -0
- package/dist/{chunk-DF4YG4PF.mjs → chunk-3RHHNUVV.mjs} +2 -2
- package/dist/{chunk-LNAQ7JG3.mjs → chunk-6EKLRL7B.mjs} +2 -2
- package/dist/{chunk-JZQOCH4A.mjs → chunk-ADZDXHVC.mjs} +4 -4
- package/dist/{chunk-4CFY3CON.mjs → chunk-CLMDRYEN.mjs} +2 -2
- package/dist/{chunk-VM7CVIET.mjs → chunk-COEUPDRL.mjs} +20 -21
- package/dist/chunk-COEUPDRL.mjs.map +1 -0
- package/dist/{chunk-RGKZCCPA.mjs → chunk-DLEXVOQE.mjs} +5 -5
- package/dist/{chunk-YAF2LATQ.mjs → chunk-EFL5OBKN.mjs} +1 -1
- package/dist/chunk-EFL5OBKN.mjs.map +1 -0
- package/dist/{chunk-JWAXDYOW.mjs → chunk-FAUNHSQU.mjs} +3 -3
- package/dist/chunk-ICIK2BSB.mjs +17 -0
- package/dist/chunk-ICIK2BSB.mjs.map +1 -0
- package/dist/chunk-IHAZJF3V.mjs +34 -0
- package/dist/chunk-IHAZJF3V.mjs.map +1 -0
- package/dist/{chunk-Q6FZZJ5A.mjs → chunk-IN7GE4NO.mjs} +2 -2
- package/dist/{chunk-4XVBXDCX.mjs → chunk-JBLMXZ3O.mjs} +8 -8
- package/dist/{chunk-NXCJELW7.mjs → chunk-JJDXTTEN.mjs} +3 -3
- package/dist/chunk-KDAZGZ24.mjs +1 -0
- package/dist/{chunk-VOMGRGWT.mjs → chunk-L6HQIJ74.mjs} +33 -17
- package/dist/chunk-L6HQIJ74.mjs.map +1 -0
- package/dist/{chunk-OMVNJ7S3.mjs → chunk-LVWV62JZ.mjs} +37 -24
- package/dist/chunk-LVWV62JZ.mjs.map +1 -0
- package/dist/{chunk-3OQM3NEK.mjs → chunk-N4WEHORG.mjs} +2 -2
- package/dist/chunk-OKRZF3DD.mjs +225 -0
- package/dist/chunk-OKRZF3DD.mjs.map +1 -0
- package/dist/{chunk-SGF6C7I6.mjs → chunk-Q42NJFXR.mjs} +11 -16
- package/dist/chunk-Q42NJFXR.mjs.map +1 -0
- package/dist/chunk-QGE7U4NV.mjs +85 -0
- package/dist/chunk-QGE7U4NV.mjs.map +1 -0
- package/dist/{chunk-XGRBCWK6.mjs → chunk-TEMLWRRT.mjs} +3 -3
- package/dist/chunk-TEMLWRRT.mjs.map +1 -0
- package/dist/{chunk-PYULBXCD.mjs → chunk-TWYUYC4F.mjs} +44 -10
- package/dist/chunk-TWYUYC4F.mjs.map +1 -0
- package/dist/{chunk-WUORFPJ7.mjs → chunk-X2DNXTME.mjs} +6 -6
- package/dist/{chunk-DCTJZ742.mjs → chunk-ZLQVRPDS.mjs} +5 -2
- package/dist/chunk-ZLQVRPDS.mjs.map +1 -0
- package/dist/components/copilot-provider/copilot-messages.d.ts +17 -1
- package/dist/components/copilot-provider/copilot-messages.js +46 -7
- package/dist/components/copilot-provider/copilot-messages.js.map +1 -1
- package/dist/components/copilot-provider/copilot-messages.mjs +11 -7
- package/dist/components/copilot-provider/copilotkit-props.d.ts +5 -3
- package/dist/components/copilot-provider/copilotkit-props.js.map +1 -1
- package/dist/components/copilot-provider/copilotkit.d.ts +1 -2
- package/dist/components/copilot-provider/copilotkit.js +337 -555
- package/dist/components/copilot-provider/copilotkit.js.map +1 -1
- package/dist/components/copilot-provider/copilotkit.mjs +10 -10
- package/dist/components/copilot-provider/index.d.ts +1 -2
- package/dist/components/copilot-provider/index.js +337 -555
- package/dist/components/copilot-provider/index.js.map +1 -1
- package/dist/components/copilot-provider/index.mjs +10 -10
- package/dist/components/error-boundary/error-boundary.js +176 -323
- package/dist/components/error-boundary/error-boundary.js.map +1 -1
- package/dist/components/error-boundary/error-boundary.mjs +4 -4
- package/dist/components/error-boundary/error-utils.js.map +1 -1
- package/dist/components/error-boundary/error-utils.mjs +2 -2
- package/dist/components/index.d.ts +1 -2
- package/dist/components/index.js +337 -555
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +10 -10
- package/dist/components/toast/toast-provider.js.map +1 -1
- package/dist/components/toast/toast-provider.mjs +1 -1
- package/dist/components/usage-banner.d.ts +10 -4
- package/dist/components/usage-banner.js +176 -302
- package/dist/components/usage-banner.js.map +1 -1
- package/dist/components/usage-banner.mjs +3 -1
- package/dist/context/copilot-context.d.ts +1 -2
- package/dist/context/copilot-context.js +2 -2
- package/dist/context/copilot-context.js.map +1 -1
- package/dist/context/copilot-context.mjs +1 -1
- package/dist/context/copilot-messages-context.d.ts +11 -15
- package/dist/context/copilot-messages-context.js +4 -1
- package/dist/context/copilot-messages-context.js.map +1 -1
- package/dist/context/copilot-messages-context.mjs +1 -1
- package/dist/context/index.d.ts +2 -2
- package/dist/context/index.js +6 -3
- package/dist/context/index.js.map +1 -1
- package/dist/context/index.mjs +5 -5
- package/dist/{copilot-context-bd88d30d.d.ts → copilot-context-256f9020.d.ts} +4 -22
- package/dist/hooks/index.d.ts +7 -5
- package/dist/hooks/index.js +250 -122
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/index.mjs +42 -34
- package/dist/hooks/use-chat.d.ts +1 -2
- package/dist/hooks/use-chat.js +11 -3
- package/dist/hooks/use-chat.js.map +1 -1
- package/dist/hooks/use-chat.mjs +6 -6
- package/dist/hooks/use-coagent-state-render.js +2 -2
- package/dist/hooks/use-coagent-state-render.js.map +1 -1
- package/dist/hooks/use-coagent-state-render.mjs +3 -3
- package/dist/hooks/use-coagent.d.ts +3 -4
- package/dist/hooks/use-coagent.js +114 -81
- package/dist/hooks/use-coagent.js.map +1 -1
- package/dist/hooks/use-coagent.mjs +16 -16
- package/dist/hooks/use-copilot-action.js +2 -2
- package/dist/hooks/use-copilot-action.js.map +1 -1
- package/dist/hooks/use-copilot-action.mjs +4 -4
- package/dist/hooks/use-copilot-additional-instructions.js +2 -2
- package/dist/hooks/use-copilot-additional-instructions.js.map +1 -1
- package/dist/hooks/use-copilot-additional-instructions.mjs +2 -2
- package/dist/hooks/use-copilot-authenticated-action.js +2 -2
- package/dist/hooks/use-copilot-authenticated-action.js.map +1 -1
- package/dist/hooks/use-copilot-authenticated-action.mjs +5 -5
- package/dist/hooks/use-copilot-chat-headless_c.d.ts +33 -0
- package/dist/hooks/use-copilot-chat-headless_c.js +1837 -0
- package/dist/hooks/use-copilot-chat-headless_c.js.map +1 -0
- package/dist/hooks/use-copilot-chat-headless_c.mjs +31 -0
- package/dist/hooks/use-copilot-chat-headless_c.mjs.map +1 -0
- package/dist/hooks/use-copilot-chat.d.ts +52 -82
- package/dist/hooks/use-copilot-chat.js +60 -13
- package/dist/hooks/use-copilot-chat.js.map +1 -1
- package/dist/hooks/use-copilot-chat.mjs +16 -17
- package/dist/hooks/use-copilot-chat_internal.d.ts +177 -0
- package/dist/hooks/use-copilot-chat_internal.js +1770 -0
- package/dist/hooks/use-copilot-chat_internal.js.map +1 -0
- package/dist/hooks/use-copilot-chat_internal.mjs +29 -0
- package/dist/hooks/use-copilot-chat_internal.mjs.map +1 -0
- package/dist/hooks/use-copilot-readable.js +2 -2
- package/dist/hooks/use-copilot-readable.js.map +1 -1
- package/dist/hooks/use-copilot-readable.mjs +2 -2
- package/dist/hooks/use-copilot-runtime-client.js +9 -1
- package/dist/hooks/use-copilot-runtime-client.js.map +1 -1
- package/dist/hooks/use-copilot-runtime-client.mjs +3 -3
- package/dist/hooks/use-langgraph-interrupt-render.js +2 -2
- package/dist/hooks/use-langgraph-interrupt-render.js.map +1 -1
- package/dist/hooks/use-langgraph-interrupt-render.mjs +3 -3
- package/dist/hooks/use-langgraph-interrupt.d.ts +3 -4
- package/dist/hooks/use-langgraph-interrupt.js +32 -11
- package/dist/hooks/use-langgraph-interrupt.js.map +1 -1
- package/dist/hooks/use-langgraph-interrupt.mjs +16 -16
- package/dist/hooks/use-make-copilot-document-readable.js +2 -2
- package/dist/hooks/use-make-copilot-document-readable.js.map +1 -1
- package/dist/hooks/use-make-copilot-document-readable.mjs +2 -2
- package/dist/index-08c43df1.d.ts +36 -0
- package/dist/index.d.ts +5 -3
- package/dist/index.js +460 -471
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +47 -39
- package/dist/lib/copilot-task.d.ts +1 -2
- package/dist/lib/copilot-task.js.map +1 -1
- package/dist/lib/copilot-task.mjs +12 -12
- package/dist/lib/index.d.ts +1 -2
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/index.mjs +12 -12
- package/dist/types/interrupt-action.d.ts +2 -3
- package/dist/utils/dev-console.d.ts +1 -1
- package/dist/utils/dev-console.js +9 -1
- package/dist/utils/dev-console.js.map +1 -1
- package/dist/utils/dev-console.mjs +1 -1
- package/dist/utils/extract.d.ts +2 -2
- package/dist/utils/extract.js.map +1 -1
- package/dist/utils/extract.mjs +10 -10
- package/dist/utils/index.d.ts +3 -3
- package/dist/utils/index.js +9 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/index.mjs +11 -11
- package/dist/utils/suggestions.d.ts +2 -2
- package/dist/utils/suggestions.js.map +1 -1
- package/dist/utils/suggestions.mjs +10 -10
- package/package.json +3 -3
- package/src/components/copilot-provider/copilot-messages.tsx +57 -1
- package/src/components/copilot-provider/copilotkit-props.tsx +4 -1
- package/src/components/copilot-provider/copilotkit.tsx +20 -10
- package/src/components/error-boundary/error-boundary.tsx +5 -15
- package/src/components/toast/toast-provider.tsx +1 -3
- package/src/components/usage-banner.tsx +193 -316
- package/src/context/copilot-context.tsx +12 -6
- package/src/context/copilot-messages-context.tsx +7 -1
- package/src/hooks/__tests__/use-coagent-config.test.ts +8 -1
- package/src/hooks/index.ts +7 -2
- package/src/hooks/use-coagent.ts +17 -19
- package/src/hooks/use-copilot-chat-headless_c.ts +187 -0
- package/src/hooks/use-copilot-chat.ts +64 -495
- package/src/hooks/use-copilot-chat_internal.ts +543 -0
- package/src/hooks/use-langgraph-interrupt.ts +1 -1
- package/src/utils/dev-console.ts +18 -2
- package/dist/chunk-57K2ZJ5F.mjs +0 -348
- package/dist/chunk-57K2ZJ5F.mjs.map +0 -1
- package/dist/chunk-CQPYJIBH.mjs +0 -1
- package/dist/chunk-DCTJZ742.mjs.map +0 -1
- package/dist/chunk-GFJW4RIM.mjs +0 -9
- package/dist/chunk-GFJW4RIM.mjs.map +0 -1
- package/dist/chunk-KV25ZRMH.mjs.map +0 -1
- package/dist/chunk-OMVNJ7S3.mjs.map +0 -1
- package/dist/chunk-PYULBXCD.mjs.map +0 -1
- package/dist/chunk-SGF6C7I6.mjs.map +0 -1
- package/dist/chunk-VM7CVIET.mjs.map +0 -1
- package/dist/chunk-VOMGRGWT.mjs.map +0 -1
- package/dist/chunk-XGRBCWK6.mjs.map +0 -1
- package/dist/chunk-YAF2LATQ.mjs.map +0 -1
- /package/dist/{chunk-DF4YG4PF.mjs.map → chunk-3RHHNUVV.mjs.map} +0 -0
- /package/dist/{chunk-LNAQ7JG3.mjs.map → chunk-6EKLRL7B.mjs.map} +0 -0
- /package/dist/{chunk-JZQOCH4A.mjs.map → chunk-ADZDXHVC.mjs.map} +0 -0
- /package/dist/{chunk-4CFY3CON.mjs.map → chunk-CLMDRYEN.mjs.map} +0 -0
- /package/dist/{chunk-RGKZCCPA.mjs.map → chunk-DLEXVOQE.mjs.map} +0 -0
- /package/dist/{chunk-JWAXDYOW.mjs.map → chunk-FAUNHSQU.mjs.map} +0 -0
- /package/dist/{chunk-Q6FZZJ5A.mjs.map → chunk-IN7GE4NO.mjs.map} +0 -0
- /package/dist/{chunk-4XVBXDCX.mjs.map → chunk-JBLMXZ3O.mjs.map} +0 -0
- /package/dist/{chunk-NXCJELW7.mjs.map → chunk-JJDXTTEN.mjs.map} +0 -0
- /package/dist/{chunk-CQPYJIBH.mjs.map → chunk-KDAZGZ24.mjs.map} +0 -0
- /package/dist/{chunk-3OQM3NEK.mjs.map → chunk-N4WEHORG.mjs.map} +0 -0
- /package/dist/{chunk-WUORFPJ7.mjs.map → chunk-X2DNXTME.mjs.map} +0 -0
|
@@ -85,7 +85,7 @@ __export(use_coagent_exports, {
|
|
|
85
85
|
useCoAgent: () => useCoAgent
|
|
86
86
|
});
|
|
87
87
|
module.exports = __toCommonJS(use_coagent_exports);
|
|
88
|
-
var
|
|
88
|
+
var import_react11 = require("react");
|
|
89
89
|
|
|
90
90
|
// src/context/copilot-context.tsx
|
|
91
91
|
var import_react = __toESM(require("react"));
|
|
@@ -162,8 +162,8 @@ var emptyCopilotContext = {
|
|
|
162
162
|
setLangGraphInterruptAction: () => null,
|
|
163
163
|
removeLangGraphInterruptAction: () => null,
|
|
164
164
|
onError: void 0,
|
|
165
|
-
|
|
166
|
-
|
|
165
|
+
bannerError: null,
|
|
166
|
+
setBannerError: () => {
|
|
167
167
|
}
|
|
168
168
|
};
|
|
169
169
|
var CopilotContext = import_react.default.createContext(emptyCopilotContext);
|
|
@@ -182,7 +182,10 @@ function returnAndThrowInDebug(_value) {
|
|
|
182
182
|
var import_react2 = __toESM(require("react"));
|
|
183
183
|
var emptyCopilotContext2 = {
|
|
184
184
|
messages: [],
|
|
185
|
-
setMessages: () => []
|
|
185
|
+
setMessages: () => [],
|
|
186
|
+
// suggestions state
|
|
187
|
+
suggestions: [],
|
|
188
|
+
setSuggestions: () => []
|
|
186
189
|
};
|
|
187
190
|
var CopilotMessagesContext = import_react2.default.createContext(emptyCopilotContext2);
|
|
188
191
|
function useCopilotMessagesContext() {
|
|
@@ -195,8 +198,8 @@ function useCopilotMessagesContext() {
|
|
|
195
198
|
return context;
|
|
196
199
|
}
|
|
197
200
|
|
|
198
|
-
// src/hooks/use-copilot-
|
|
199
|
-
var
|
|
201
|
+
// src/hooks/use-copilot-chat_internal.ts
|
|
202
|
+
var import_react10 = require("react");
|
|
200
203
|
|
|
201
204
|
// src/hooks/use-chat.ts
|
|
202
205
|
var import_react6 = require("react");
|
|
@@ -250,8 +253,16 @@ var import_react4 = require("react");
|
|
|
250
253
|
var import_shared3 = require("@copilotkit/shared");
|
|
251
254
|
|
|
252
255
|
// src/utils/dev-console.ts
|
|
256
|
+
function isLocalhost() {
|
|
257
|
+
if (typeof window === "undefined")
|
|
258
|
+
return false;
|
|
259
|
+
return window.location.hostname === "localhost" || window.location.hostname === "127.0.0.1" || window.location.hostname === "0.0.0.0";
|
|
260
|
+
}
|
|
253
261
|
function shouldShowDevConsole(showDevConsole) {
|
|
254
|
-
|
|
262
|
+
if (showDevConsole !== void 0) {
|
|
263
|
+
return showDevConsole;
|
|
264
|
+
}
|
|
265
|
+
return isLocalhost();
|
|
255
266
|
}
|
|
256
267
|
|
|
257
268
|
// src/hooks/use-copilot-runtime-client.ts
|
|
@@ -1147,14 +1158,27 @@ function getPairedFeAction(actions, message) {
|
|
|
1147
1158
|
}
|
|
1148
1159
|
|
|
1149
1160
|
// src/components/copilot-provider/copilotkit.tsx
|
|
1150
|
-
var
|
|
1161
|
+
var import_react8 = require("react");
|
|
1151
1162
|
var import_react_dom2 = require("react-dom");
|
|
1152
|
-
var
|
|
1163
|
+
var import_shared8 = require("@copilotkit/shared");
|
|
1153
1164
|
|
|
1154
|
-
// src/
|
|
1155
|
-
var
|
|
1165
|
+
// src/components/copilot-provider/copilot-messages.tsx
|
|
1166
|
+
var import_react7 = require("react");
|
|
1156
1167
|
var import_runtime_client_gql4 = require("@copilotkit/runtime-client-gql");
|
|
1168
|
+
var import_shared5 = require("@copilotkit/shared");
|
|
1169
|
+
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
1170
|
+
var MessagesTapContext = (0, import_react7.createContext)(null);
|
|
1171
|
+
function useMessagesTap() {
|
|
1172
|
+
const tap = (0, import_react7.useContext)(MessagesTapContext);
|
|
1173
|
+
if (!tap)
|
|
1174
|
+
throw new Error("useMessagesTap must be used inside <MessagesTapProvider>");
|
|
1175
|
+
return tap;
|
|
1176
|
+
}
|
|
1177
|
+
|
|
1178
|
+
// src/utils/extract.ts
|
|
1179
|
+
var import_shared6 = require("@copilotkit/shared");
|
|
1157
1180
|
var import_runtime_client_gql5 = require("@copilotkit/runtime-client-gql");
|
|
1181
|
+
var import_runtime_client_gql6 = require("@copilotkit/runtime-client-gql");
|
|
1158
1182
|
function extract(_0) {
|
|
1159
1183
|
return __async(this, arguments, function* ({
|
|
1160
1184
|
context,
|
|
@@ -1164,7 +1188,7 @@ function extract(_0) {
|
|
|
1164
1188
|
data,
|
|
1165
1189
|
abortSignal,
|
|
1166
1190
|
stream,
|
|
1167
|
-
requestType =
|
|
1191
|
+
requestType = import_runtime_client_gql5.CopilotRequestType.Task,
|
|
1168
1192
|
forwardedParameters
|
|
1169
1193
|
}) {
|
|
1170
1194
|
var _a, _b;
|
|
@@ -1185,13 +1209,13 @@ function extract(_0) {
|
|
|
1185
1209
|
if (includeReadable) {
|
|
1186
1210
|
contextString += context.getContextString([], defaultCopilotContextCategories);
|
|
1187
1211
|
}
|
|
1188
|
-
const systemMessage = new
|
|
1212
|
+
const systemMessage = new import_runtime_client_gql5.TextMessage({
|
|
1189
1213
|
content: makeSystemMessage(contextString, instructions),
|
|
1190
|
-
role:
|
|
1214
|
+
role: import_runtime_client_gql5.Role.System
|
|
1191
1215
|
});
|
|
1192
|
-
const instructionsMessage = new
|
|
1216
|
+
const instructionsMessage = new import_runtime_client_gql5.TextMessage({
|
|
1193
1217
|
content: makeInstructionsMessage(instructions),
|
|
1194
|
-
role:
|
|
1218
|
+
role: import_runtime_client_gql5.Role.User
|
|
1195
1219
|
});
|
|
1196
1220
|
const response = context.runtimeClient.asStream(
|
|
1197
1221
|
context.runtimeClient.generateCopilotResponse({
|
|
@@ -1201,13 +1225,13 @@ function extract(_0) {
|
|
|
1201
1225
|
{
|
|
1202
1226
|
name: action.name,
|
|
1203
1227
|
description: action.description || "",
|
|
1204
|
-
jsonSchema: JSON.stringify((0,
|
|
1228
|
+
jsonSchema: JSON.stringify((0, import_shared6.actionParametersToJsonSchema)(action.parameters || []))
|
|
1205
1229
|
}
|
|
1206
1230
|
],
|
|
1207
1231
|
url: window.location.href
|
|
1208
1232
|
},
|
|
1209
|
-
messages: (0,
|
|
1210
|
-
includeMessages ? [systemMessage, instructionsMessage, ...(0,
|
|
1233
|
+
messages: (0, import_runtime_client_gql6.convertMessagesToGqlInput)(
|
|
1234
|
+
includeMessages ? [systemMessage, instructionsMessage, ...(0, import_runtime_client_gql6.filterAgentStateMessages)(messages)] : [systemMessage, instructionsMessage]
|
|
1211
1235
|
),
|
|
1212
1236
|
metadata: {
|
|
1213
1237
|
requestType
|
|
@@ -1232,7 +1256,7 @@ function extract(_0) {
|
|
|
1232
1256
|
if (abortSignal == null ? void 0 : abortSignal.aborted) {
|
|
1233
1257
|
throw new Error("Aborted");
|
|
1234
1258
|
}
|
|
1235
|
-
actionExecutionMessage = (0,
|
|
1259
|
+
actionExecutionMessage = (0, import_runtime_client_gql5.convertGqlOutputToMessages)(
|
|
1236
1260
|
value.generateCopilotResponse.messages
|
|
1237
1261
|
).find((msg) => msg.isActionExecutionMessage());
|
|
1238
1262
|
if (!actionExecutionMessage) {
|
|
@@ -1286,8 +1310,8 @@ This is not a conversation, so please do not ask questions. Just call the functi
|
|
|
1286
1310
|
}
|
|
1287
1311
|
|
|
1288
1312
|
// src/utils/suggestions.ts
|
|
1289
|
-
var
|
|
1290
|
-
var
|
|
1313
|
+
var import_shared7 = require("@copilotkit/shared");
|
|
1314
|
+
var import_runtime_client_gql7 = require("@copilotkit/runtime-client-gql");
|
|
1291
1315
|
var reloadSuggestions = (context, chatSuggestionConfiguration, setCurrentSuggestions, abortControllerRef) => __async(void 0, null, function* () {
|
|
1292
1316
|
const abortController = abortControllerRef.current;
|
|
1293
1317
|
if (abortController == null ? void 0 : abortController.signal.aborted) {
|
|
@@ -1303,7 +1327,7 @@ var reloadSuggestions = (context, chatSuggestionConfiguration, setCurrentSuggest
|
|
|
1303
1327
|
Object.values(context.actions).map((action) => ({
|
|
1304
1328
|
name: action.name,
|
|
1305
1329
|
description: action.description,
|
|
1306
|
-
jsonSchema: JSON.stringify((0,
|
|
1330
|
+
jsonSchema: JSON.stringify((0, import_shared7.actionParametersToJsonSchema)(action.parameters))
|
|
1307
1331
|
}))
|
|
1308
1332
|
);
|
|
1309
1333
|
const allSuggestions = [];
|
|
@@ -1331,7 +1355,7 @@ var reloadSuggestions = (context, chatSuggestionConfiguration, setCurrentSuggest
|
|
|
1331
1355
|
Available tools: ${tools}
|
|
1332
1356
|
|
|
1333
1357
|
`,
|
|
1334
|
-
requestType:
|
|
1358
|
+
requestType: import_runtime_client_gql7.CopilotRequestType.Task,
|
|
1335
1359
|
parameters: [
|
|
1336
1360
|
{
|
|
1337
1361
|
name: "suggestions",
|
|
@@ -1419,21 +1443,21 @@ Available tools: ${tools}
|
|
|
1419
1443
|
});
|
|
1420
1444
|
|
|
1421
1445
|
// src/components/copilot-provider/copilotkit.tsx
|
|
1422
|
-
var
|
|
1446
|
+
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
1423
1447
|
var defaultCopilotContextCategories = ["global"];
|
|
1424
1448
|
|
|
1425
|
-
// src/hooks/use-copilot-
|
|
1426
|
-
var
|
|
1449
|
+
// src/hooks/use-copilot-chat_internal.ts
|
|
1450
|
+
var import_runtime_client_gql8 = require("@copilotkit/runtime-client-gql");
|
|
1427
1451
|
|
|
1428
1452
|
// src/hooks/use-langgraph-interrupt-render.ts
|
|
1429
|
-
var
|
|
1453
|
+
var import_react9 = __toESM(require("react"));
|
|
1430
1454
|
var InterruptRenderer = ({ event, result, render, resolve }) => {
|
|
1431
1455
|
return render({ event, result, resolve });
|
|
1432
1456
|
};
|
|
1433
1457
|
function useLangGraphInterruptRender() {
|
|
1434
1458
|
const { langGraphInterruptAction, setLangGraphInterruptAction, agentSession } = useCopilotContext();
|
|
1435
|
-
const responseRef =
|
|
1436
|
-
const resolveInterrupt = (0,
|
|
1459
|
+
const responseRef = import_react9.default.useRef();
|
|
1460
|
+
const resolveInterrupt = (0, import_react9.useCallback)(
|
|
1437
1461
|
(response) => {
|
|
1438
1462
|
responseRef.current = response;
|
|
1439
1463
|
setTimeout(() => {
|
|
@@ -1456,7 +1480,7 @@ function useLangGraphInterruptRender() {
|
|
|
1456
1480
|
resolve: resolveInterrupt
|
|
1457
1481
|
});
|
|
1458
1482
|
}
|
|
1459
|
-
return
|
|
1483
|
+
return import_react9.default.createElement(InterruptRenderer, {
|
|
1460
1484
|
event,
|
|
1461
1485
|
result,
|
|
1462
1486
|
render,
|
|
@@ -1464,7 +1488,7 @@ function useLangGraphInterruptRender() {
|
|
|
1464
1488
|
});
|
|
1465
1489
|
}
|
|
1466
1490
|
|
|
1467
|
-
// src/hooks/use-copilot-
|
|
1491
|
+
// src/hooks/use-copilot-chat_internal.ts
|
|
1468
1492
|
var globalSuggestionPromise = null;
|
|
1469
1493
|
function useCopilotChat(options = {}) {
|
|
1470
1494
|
var _a;
|
|
@@ -1494,15 +1518,13 @@ function useCopilotChat(options = {}) {
|
|
|
1494
1518
|
langGraphInterruptAction,
|
|
1495
1519
|
setLangGraphInterruptAction,
|
|
1496
1520
|
chatSuggestionConfiguration,
|
|
1497
|
-
suggestions,
|
|
1498
|
-
setSuggestions,
|
|
1499
1521
|
runtimeClient
|
|
1500
1522
|
} = useCopilotContext();
|
|
1501
|
-
const { messages, setMessages } = useCopilotMessagesContext();
|
|
1502
|
-
const [mcpServers, setLocalMcpServers] = (0,
|
|
1503
|
-
const suggestionsAbortControllerRef = (0,
|
|
1504
|
-
const isLoadingSuggestionsRef = (0,
|
|
1505
|
-
const abortSuggestions = (0,
|
|
1523
|
+
const { messages, setMessages, suggestions, setSuggestions } = useCopilotMessagesContext();
|
|
1524
|
+
const [mcpServers, setLocalMcpServers] = (0, import_react10.useState)([]);
|
|
1525
|
+
const suggestionsAbortControllerRef = (0, import_react10.useRef)(null);
|
|
1526
|
+
const isLoadingSuggestionsRef = (0, import_react10.useRef)(false);
|
|
1527
|
+
const abortSuggestions = (0, import_react10.useCallback)(
|
|
1506
1528
|
(clear = true) => {
|
|
1507
1529
|
var _a2;
|
|
1508
1530
|
(_a2 = suggestionsAbortControllerRef.current) == null ? void 0 : _a2.abort("suggestions aborted by user");
|
|
@@ -1513,7 +1535,7 @@ function useCopilotChat(options = {}) {
|
|
|
1513
1535
|
},
|
|
1514
1536
|
[setSuggestions]
|
|
1515
1537
|
);
|
|
1516
|
-
const stableContext = (0,
|
|
1538
|
+
const stableContext = (0, import_react10.useMemo)(() => {
|
|
1517
1539
|
return {
|
|
1518
1540
|
actions,
|
|
1519
1541
|
copilotApiConfig,
|
|
@@ -1529,7 +1551,7 @@ function useCopilotChat(options = {}) {
|
|
|
1529
1551
|
messages.length,
|
|
1530
1552
|
Object.keys(chatSuggestionConfiguration).length
|
|
1531
1553
|
]);
|
|
1532
|
-
const generateSuggestionsFunc = (0,
|
|
1554
|
+
const generateSuggestionsFunc = (0, import_react10.useCallback)(() => __async(this, null, function* () {
|
|
1533
1555
|
if (globalSuggestionPromise) {
|
|
1534
1556
|
return globalSuggestionPromise;
|
|
1535
1557
|
}
|
|
@@ -1554,10 +1576,10 @@ function useCopilotChat(options = {}) {
|
|
|
1554
1576
|
}))();
|
|
1555
1577
|
return globalSuggestionPromise;
|
|
1556
1578
|
}), [stableContext, chatSuggestionConfiguration, setSuggestions, abortSuggestions]);
|
|
1557
|
-
const resetSuggestions = (0,
|
|
1579
|
+
const resetSuggestions = (0, import_react10.useCallback)(() => {
|
|
1558
1580
|
setSuggestions([]);
|
|
1559
1581
|
}, [setSuggestions]);
|
|
1560
|
-
(0,
|
|
1582
|
+
(0, import_react10.useEffect)(() => {
|
|
1561
1583
|
if (mcpServers.length > 0) {
|
|
1562
1584
|
const serversCopy = [...mcpServers];
|
|
1563
1585
|
copilotApiConfig.mcpServers = serversCopy;
|
|
@@ -1567,7 +1589,7 @@ function useCopilotChat(options = {}) {
|
|
|
1567
1589
|
copilotApiConfig.properties.mcpServers = serversCopy;
|
|
1568
1590
|
}
|
|
1569
1591
|
}, [mcpServers, copilotApiConfig]);
|
|
1570
|
-
const setMcpServers = (0,
|
|
1592
|
+
const setMcpServers = (0, import_react10.useCallback)((servers) => {
|
|
1571
1593
|
setLocalMcpServers(servers);
|
|
1572
1594
|
}, []);
|
|
1573
1595
|
const onCoAgentStateRender = useAsyncCallback(
|
|
@@ -1588,15 +1610,15 @@ function useCopilotChat(options = {}) {
|
|
|
1588
1610
|
}),
|
|
1589
1611
|
[coAgentStateRenders]
|
|
1590
1612
|
);
|
|
1591
|
-
const makeSystemMessageCallback = (0,
|
|
1613
|
+
const makeSystemMessageCallback = (0, import_react10.useCallback)(() => {
|
|
1592
1614
|
const systemMessageMaker = makeSystemMessage2 || defaultSystemMessage;
|
|
1593
1615
|
const contextString = getContextString([], defaultCopilotContextCategories);
|
|
1594
|
-
return new
|
|
1616
|
+
return new import_runtime_client_gql8.TextMessage({
|
|
1595
1617
|
content: systemMessageMaker(contextString, chatInstructions),
|
|
1596
|
-
role:
|
|
1618
|
+
role: import_runtime_client_gql8.Role.System
|
|
1597
1619
|
});
|
|
1598
1620
|
}, [getContextString, makeSystemMessage2, chatInstructions]);
|
|
1599
|
-
const deleteMessage = (0,
|
|
1621
|
+
const deleteMessage = (0, import_react10.useCallback)(
|
|
1600
1622
|
(messageId) => {
|
|
1601
1623
|
setMessages((prev) => prev.filter((message) => message.id !== messageId));
|
|
1602
1624
|
},
|
|
@@ -1605,7 +1627,7 @@ function useCopilotChat(options = {}) {
|
|
|
1605
1627
|
const { append, reload, stop, runChatCompletion } = useChat(__spreadProps(__spreadValues({}, options), {
|
|
1606
1628
|
actions: Object.values(actions),
|
|
1607
1629
|
copilotConfig: copilotApiConfig,
|
|
1608
|
-
initialMessages: (0,
|
|
1630
|
+
initialMessages: (0, import_runtime_client_gql8.aguiToGQL)(options.initialMessages || []),
|
|
1609
1631
|
onFunctionCall: getFunctionCallHandler(),
|
|
1610
1632
|
onCoAgentStateRender,
|
|
1611
1633
|
messages,
|
|
@@ -1633,7 +1655,14 @@ function useCopilotChat(options = {}) {
|
|
|
1633
1655
|
const latestAppendFunc = useAsyncCallback(
|
|
1634
1656
|
(message, options2) => __async(this, null, function* () {
|
|
1635
1657
|
abortSuggestions(options2 == null ? void 0 : options2.clearSuggestions);
|
|
1636
|
-
return yield latestAppend.current(
|
|
1658
|
+
return yield latestAppend.current(message, options2);
|
|
1659
|
+
}),
|
|
1660
|
+
[latestAppend]
|
|
1661
|
+
);
|
|
1662
|
+
const latestSendMessageFunc = useAsyncCallback(
|
|
1663
|
+
(message, options2) => __async(this, null, function* () {
|
|
1664
|
+
abortSuggestions(options2 == null ? void 0 : options2.clearSuggestions);
|
|
1665
|
+
return yield latestAppend.current((0, import_runtime_client_gql8.aguiToGQL)([message])[0], options2);
|
|
1637
1666
|
}),
|
|
1638
1667
|
[latestAppend]
|
|
1639
1668
|
);
|
|
@@ -1645,20 +1674,23 @@ function useCopilotChat(options = {}) {
|
|
|
1645
1674
|
[latestReload]
|
|
1646
1675
|
);
|
|
1647
1676
|
const latestStop = useUpdatedRef(stop);
|
|
1648
|
-
const latestStopFunc = (0,
|
|
1677
|
+
const latestStopFunc = (0, import_react10.useCallback)(() => {
|
|
1649
1678
|
return latestStop.current();
|
|
1650
1679
|
}, [latestStop]);
|
|
1651
1680
|
const latestDelete = useUpdatedRef(deleteMessage);
|
|
1652
|
-
const latestDeleteFunc = (0,
|
|
1681
|
+
const latestDeleteFunc = (0, import_react10.useCallback)(
|
|
1653
1682
|
(messageId) => {
|
|
1654
1683
|
return latestDelete.current(messageId);
|
|
1655
1684
|
},
|
|
1656
1685
|
[latestDelete]
|
|
1657
1686
|
);
|
|
1658
1687
|
const latestSetMessages = useUpdatedRef(setMessages);
|
|
1659
|
-
const latestSetMessagesFunc = (0,
|
|
1688
|
+
const latestSetMessagesFunc = (0, import_react10.useCallback)(
|
|
1660
1689
|
(messages2) => {
|
|
1661
|
-
|
|
1690
|
+
if (messages2.every((message) => message instanceof import_runtime_client_gql8.Message)) {
|
|
1691
|
+
return latestSetMessages.current(messages2);
|
|
1692
|
+
}
|
|
1693
|
+
return latestSetMessages.current((0, import_runtime_client_gql8.aguiToGQL)(messages2));
|
|
1662
1694
|
},
|
|
1663
1695
|
[latestSetMessages]
|
|
1664
1696
|
);
|
|
@@ -1666,7 +1698,7 @@ function useCopilotChat(options = {}) {
|
|
|
1666
1698
|
const latestRunChatCompletionFunc = useAsyncCallback(() => __async(this, null, function* () {
|
|
1667
1699
|
return yield latestRunChatCompletion.current();
|
|
1668
1700
|
}), [latestRunChatCompletion]);
|
|
1669
|
-
const reset = (0,
|
|
1701
|
+
const reset = (0, import_react10.useCallback)(() => {
|
|
1670
1702
|
latestStopFunc();
|
|
1671
1703
|
setMessages([]);
|
|
1672
1704
|
setRunId(null);
|
|
@@ -1689,12 +1721,14 @@ function useCopilotChat(options = {}) {
|
|
|
1689
1721
|
resetSuggestions
|
|
1690
1722
|
]);
|
|
1691
1723
|
const latestReset = useUpdatedRef(reset);
|
|
1692
|
-
const latestResetFunc = (0,
|
|
1724
|
+
const latestResetFunc = (0, import_react10.useCallback)(() => {
|
|
1693
1725
|
return latestReset.current();
|
|
1694
1726
|
}, [latestReset]);
|
|
1695
1727
|
const interrupt = useLangGraphInterruptRender();
|
|
1696
1728
|
return {
|
|
1697
|
-
visibleMessages:
|
|
1729
|
+
visibleMessages: messages,
|
|
1730
|
+
messages: (0, import_runtime_client_gql8.gqlToAGUI)(messages, actions, coAgentStateRenders),
|
|
1731
|
+
sendMessage: latestSendMessageFunc,
|
|
1698
1732
|
appendMessage: latestAppendFunc,
|
|
1699
1733
|
setMessages: latestSetMessagesFunc,
|
|
1700
1734
|
reloadMessages: latestReloadFunc,
|
|
@@ -1714,8 +1748,8 @@ function useCopilotChat(options = {}) {
|
|
|
1714
1748
|
};
|
|
1715
1749
|
}
|
|
1716
1750
|
function useUpdatedRef(value) {
|
|
1717
|
-
const ref = (0,
|
|
1718
|
-
(0,
|
|
1751
|
+
const ref = (0, import_react10.useRef)(value);
|
|
1752
|
+
(0, import_react10.useEffect)(() => {
|
|
1719
1753
|
ref.current = value;
|
|
1720
1754
|
}, [value]);
|
|
1721
1755
|
return ref;
|
|
@@ -1748,29 +1782,28 @@ ${additionalInstructions}` : "");
|
|
|
1748
1782
|
}
|
|
1749
1783
|
|
|
1750
1784
|
// src/hooks/use-coagent.ts
|
|
1751
|
-
var
|
|
1785
|
+
var import_shared9 = require("@copilotkit/shared");
|
|
1752
1786
|
function useCoAgent(options) {
|
|
1753
|
-
const
|
|
1754
|
-
const { availableAgents } =
|
|
1787
|
+
const context = useCopilotContext();
|
|
1788
|
+
const { availableAgents } = context;
|
|
1755
1789
|
const { setBannerError } = useToast();
|
|
1756
|
-
const lastLoadedThreadId = (0,
|
|
1757
|
-
const lastLoadedState = (0,
|
|
1790
|
+
const lastLoadedThreadId = (0, import_react11.useRef)();
|
|
1791
|
+
const lastLoadedState = (0, import_react11.useRef)();
|
|
1758
1792
|
const { name } = options;
|
|
1759
|
-
(0,
|
|
1793
|
+
(0, import_react11.useEffect)(() => {
|
|
1760
1794
|
if ((availableAgents == null ? void 0 : availableAgents.length) && !availableAgents.some((a) => a.name === name)) {
|
|
1761
1795
|
const message = `(useCoAgent): Agent "${name}" not found. Make sure the agent exists and is properly configured.`;
|
|
1762
1796
|
console.warn(message);
|
|
1763
|
-
const agentError = new
|
|
1797
|
+
const agentError = new import_shared9.CopilotKitAgentDiscoveryError({
|
|
1764
1798
|
agentName: name,
|
|
1765
1799
|
availableAgents: availableAgents.map((a) => ({ name: a.name, id: a.id }))
|
|
1766
1800
|
});
|
|
1767
1801
|
setBannerError(agentError);
|
|
1768
1802
|
}
|
|
1769
1803
|
}, [availableAgents]);
|
|
1770
|
-
const
|
|
1771
|
-
const context = __spreadValues(__spreadValues({}, generalContext), messagesContext);
|
|
1804
|
+
const { getMessagesFromTap } = useMessagesTap();
|
|
1772
1805
|
const { coagentStates, coagentStatesRef, setCoagentStatesWithRef, threadId, copilotApiConfig } = context;
|
|
1773
|
-
const {
|
|
1806
|
+
const { sendMessage, runChatCompletion } = useCopilotChat();
|
|
1774
1807
|
const headers = __spreadValues({}, copilotApiConfig.headers || {});
|
|
1775
1808
|
const runtimeClient = useCopilotRuntimeClient({
|
|
1776
1809
|
url: copilotApiConfig.chatApiEndpoint,
|
|
@@ -1779,7 +1812,7 @@ function useCoAgent(options) {
|
|
|
1779
1812
|
credentials: copilotApiConfig.credentials,
|
|
1780
1813
|
showDevConsole: context.showDevConsole
|
|
1781
1814
|
});
|
|
1782
|
-
const setState = (0,
|
|
1815
|
+
const setState = (0, import_react11.useCallback)(
|
|
1783
1816
|
(newState) => {
|
|
1784
1817
|
let coagentState = getCoagentState({ coagentStates, name, options });
|
|
1785
1818
|
const updatedState = typeof newState === "function" ? newState(coagentState.state) : newState;
|
|
@@ -1791,7 +1824,7 @@ function useCoAgent(options) {
|
|
|
1791
1824
|
},
|
|
1792
1825
|
[coagentStates, name]
|
|
1793
1826
|
);
|
|
1794
|
-
(0,
|
|
1827
|
+
(0, import_react11.useEffect)(() => {
|
|
1795
1828
|
const fetchAgentState = () => __async(this, null, function* () {
|
|
1796
1829
|
var _a, _b, _c, _d;
|
|
1797
1830
|
if (!threadId || threadId === lastLoadedThreadId.current)
|
|
@@ -1809,13 +1842,13 @@ function useCoAgent(options) {
|
|
|
1809
1842
|
if (((_d = (_c = result.data) == null ? void 0 : _c.loadAgentState) == null ? void 0 : _d.threadExists) && newState && newState != "{}") {
|
|
1810
1843
|
lastLoadedState.current = newState;
|
|
1811
1844
|
lastLoadedThreadId.current = threadId;
|
|
1812
|
-
const fetchedState = (0,
|
|
1845
|
+
const fetchedState = (0, import_shared9.parseJson)(newState, {});
|
|
1813
1846
|
isExternalStateManagement(options) ? options.setState(fetchedState) : setState(fetchedState);
|
|
1814
1847
|
}
|
|
1815
1848
|
});
|
|
1816
1849
|
void fetchAgentState();
|
|
1817
1850
|
}, [threadId]);
|
|
1818
|
-
(0,
|
|
1851
|
+
(0, import_react11.useEffect)(() => {
|
|
1819
1852
|
if (isExternalStateManagement(options)) {
|
|
1820
1853
|
setState(options.state);
|
|
1821
1854
|
} else if (coagentStates[name] === void 0) {
|
|
@@ -1826,7 +1859,7 @@ function useCoAgent(options) {
|
|
|
1826
1859
|
// reset initialstate on reset
|
|
1827
1860
|
coagentStates[name] === void 0
|
|
1828
1861
|
]);
|
|
1829
|
-
(0,
|
|
1862
|
+
(0, import_react11.useEffect)(() => {
|
|
1830
1863
|
const newConfig = options.config ? options.config : options.configurable ? { configurable: options.configurable } : void 0;
|
|
1831
1864
|
if (newConfig === void 0)
|
|
1832
1865
|
return;
|
|
@@ -1854,11 +1887,11 @@ function useCoAgent(options) {
|
|
|
1854
1887
|
}, [JSON.stringify(options.config), JSON.stringify(options.configurable)]);
|
|
1855
1888
|
const runAgentCallback = useAsyncCallback(
|
|
1856
1889
|
(hint) => __async(this, null, function* () {
|
|
1857
|
-
yield runAgent(name, context,
|
|
1890
|
+
yield runAgent(name, context, getMessagesFromTap(), sendMessage, runChatCompletion, hint);
|
|
1858
1891
|
}),
|
|
1859
|
-
[name, context,
|
|
1892
|
+
[name, context, sendMessage, runChatCompletion]
|
|
1860
1893
|
);
|
|
1861
|
-
return (0,
|
|
1894
|
+
return (0, import_react11.useMemo)(() => {
|
|
1862
1895
|
const coagentState = getCoagentState({ coagentStates, name, options });
|
|
1863
1896
|
return {
|
|
1864
1897
|
name,
|
|
@@ -1898,7 +1931,7 @@ function stopAgent(name, context) {
|
|
|
1898
1931
|
console.warn(`No agent session found for ${name}`);
|
|
1899
1932
|
}
|
|
1900
1933
|
}
|
|
1901
|
-
function runAgent(name, context,
|
|
1934
|
+
function runAgent(name, context, messages, sendMessage, runChatCompletion, hint) {
|
|
1902
1935
|
return __async(this, null, function* () {
|
|
1903
1936
|
var _a, _b;
|
|
1904
1937
|
const { agentSession, setAgentSession } = context;
|
|
@@ -1908,8 +1941,8 @@ function runAgent(name, context, appendMessage, runChatCompletion, hint) {
|
|
|
1908
1941
|
});
|
|
1909
1942
|
}
|
|
1910
1943
|
let previousState = null;
|
|
1911
|
-
for (let i =
|
|
1912
|
-
const message =
|
|
1944
|
+
for (let i = messages.length - 1; i >= 0; i--) {
|
|
1945
|
+
const message = messages[i];
|
|
1913
1946
|
if (message.isAgentStateMessage() && message.agentName === name) {
|
|
1914
1947
|
previousState = message.state;
|
|
1915
1948
|
}
|
|
@@ -1918,7 +1951,7 @@ function runAgent(name, context, appendMessage, runChatCompletion, hint) {
|
|
|
1918
1951
|
if (hint) {
|
|
1919
1952
|
const hintMessage = hint({ previousState, currentState: state });
|
|
1920
1953
|
if (hintMessage) {
|
|
1921
|
-
yield
|
|
1954
|
+
yield sendMessage(hintMessage);
|
|
1922
1955
|
} else {
|
|
1923
1956
|
yield runChatCompletion();
|
|
1924
1957
|
}
|