@copilotkit/runtime 1.6.0-next.4 → 1.6.0-next.6
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 +17 -0
- package/__snapshots__/schema/schema.graphql +1 -0
- package/dist/{chunk-YUCVJM6E.mjs → chunk-5HTQ3NJN.mjs} +30 -28
- package/dist/chunk-5HTQ3NJN.mjs.map +1 -0
- package/dist/{chunk-7EXH7PVD.mjs → chunk-FZJAYGIR.mjs} +43 -11
- package/dist/chunk-FZJAYGIR.mjs.map +1 -0
- package/dist/{chunk-ROFUPT7E.mjs → chunk-KOZEUHQH.mjs} +2 -2
- package/dist/{chunk-Z5VUD7NL.mjs → chunk-MADVAANL.mjs} +2 -2
- package/dist/{chunk-4FCUC27H.mjs → chunk-USK52PF7.mjs} +2 -2
- package/dist/{copilot-runtime-67033bfa.d.ts → copilot-runtime-15bfc4f4.d.ts} +2 -2
- package/dist/graphql/types/converted/index.d.ts +1 -1
- package/dist/{groq-adapter-9d15c927.d.ts → groq-adapter-fb9aa3ab.d.ts} +1 -1
- package/dist/{index-f6d1f30b.d.ts → index-5bec5424.d.ts} +2 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.js +64 -30
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +10 -10
- package/dist/{langserve-7cc5be48.d.ts → langserve-6f7af8d3.d.ts} +1 -1
- package/dist/lib/index.d.ts +4 -4
- package/dist/lib/index.js +64 -30
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/index.mjs +6 -6
- package/dist/lib/integrations/index.d.ts +4 -4
- package/dist/lib/integrations/index.js +3 -2
- package/dist/lib/integrations/index.js.map +1 -1
- package/dist/lib/integrations/index.mjs +5 -5
- package/dist/lib/integrations/nest/index.d.ts +3 -3
- package/dist/lib/integrations/nest/index.js +3 -2
- package/dist/lib/integrations/nest/index.js.map +1 -1
- package/dist/lib/integrations/nest/index.mjs +3 -3
- package/dist/lib/integrations/node-express/index.d.ts +3 -3
- package/dist/lib/integrations/node-express/index.js +3 -2
- package/dist/lib/integrations/node-express/index.js.map +1 -1
- package/dist/lib/integrations/node-express/index.mjs +3 -3
- package/dist/lib/integrations/node-http/index.d.ts +3 -3
- package/dist/lib/integrations/node-http/index.js +3 -2
- package/dist/lib/integrations/node-http/index.js.map +1 -1
- package/dist/lib/integrations/node-http/index.mjs +2 -2
- package/dist/service-adapters/index.d.ts +4 -4
- package/dist/service-adapters/index.js +42 -10
- package/dist/service-adapters/index.js.map +1 -1
- package/dist/service-adapters/index.mjs +1 -1
- package/package.json +3 -3
- package/src/graphql/types/enums.ts +1 -0
- package/src/lib/runtime/remote-action-constructors.ts +6 -5
- package/src/service-adapters/conversion.ts +39 -47
- package/src/service-adapters/groq/groq-adapter.ts +6 -3
- package/src/service-adapters/openai/openai-adapter.ts +1 -1
- package/src/service-adapters/openai/openai-assistant-adapter.ts +1 -1
- package/src/service-adapters/openai/utils.ts +37 -12
- package/src/service-adapters/unify/unify-adapter.ts +1 -1
- package/dist/chunk-7EXH7PVD.mjs.map +0 -1
- package/dist/chunk-YUCVJM6E.mjs.map +0 -1
- /package/dist/{chunk-ROFUPT7E.mjs.map → chunk-KOZEUHQH.mjs.map} +0 -0
- /package/dist/{chunk-Z5VUD7NL.mjs.map → chunk-MADVAANL.mjs.map} +0 -0
- /package/dist/{chunk-4FCUC27H.mjs.map → chunk-USK52PF7.mjs.map} +0 -0
package/dist/index.js
CHANGED
|
@@ -44,7 +44,7 @@ var require_package = __commonJS({
|
|
|
44
44
|
publishConfig: {
|
|
45
45
|
access: "public"
|
|
46
46
|
},
|
|
47
|
-
version: "1.6.0-next.
|
|
47
|
+
version: "1.6.0-next.6",
|
|
48
48
|
sideEffects: false,
|
|
49
49
|
main: "./dist/index.js",
|
|
50
50
|
module: "./dist/index.mjs",
|
|
@@ -97,7 +97,7 @@ var require_package = __commonJS({
|
|
|
97
97
|
"graphql-yoga": "^5.3.1",
|
|
98
98
|
"groq-sdk": "^0.5.0",
|
|
99
99
|
langchain: "^0.3.3",
|
|
100
|
-
openai: "^4.
|
|
100
|
+
openai: "^4.85.1",
|
|
101
101
|
"partial-json": "^0.1.7",
|
|
102
102
|
pino: "^9.2.0",
|
|
103
103
|
"pino-pretty": "^11.2.1",
|
|
@@ -253,7 +253,10 @@ function limitMessagesToTokenCount(messages, tools, model, maxTokens) {
|
|
|
253
253
|
}
|
|
254
254
|
maxTokens -= toolsNumTokens;
|
|
255
255
|
for (const message of messages) {
|
|
256
|
-
if (
|
|
256
|
+
if ([
|
|
257
|
+
"system",
|
|
258
|
+
"developer"
|
|
259
|
+
].includes(message.role)) {
|
|
257
260
|
const numTokens = countMessageTokens(model, message);
|
|
258
261
|
maxTokens -= numTokens;
|
|
259
262
|
if (maxTokens < 0) {
|
|
@@ -266,7 +269,10 @@ function limitMessagesToTokenCount(messages, tools, model, maxTokens) {
|
|
|
266
269
|
...messages
|
|
267
270
|
].reverse();
|
|
268
271
|
for (const message of reversedMessages) {
|
|
269
|
-
if (
|
|
272
|
+
if ([
|
|
273
|
+
"system",
|
|
274
|
+
"developer"
|
|
275
|
+
].includes(message.role)) {
|
|
270
276
|
result.unshift(message);
|
|
271
277
|
continue;
|
|
272
278
|
} else if (cutoff) {
|
|
@@ -289,9 +295,23 @@ function maxTokensForOpenAIModel(model) {
|
|
|
289
295
|
__name(maxTokensForOpenAIModel, "maxTokensForOpenAIModel");
|
|
290
296
|
var DEFAULT_MAX_TOKENS = 128e3;
|
|
291
297
|
var maxTokensByModel = {
|
|
298
|
+
// o1
|
|
299
|
+
o1: 2e5,
|
|
300
|
+
"o1-2024-12-17": 2e5,
|
|
301
|
+
"o1-mini": 128e3,
|
|
302
|
+
"o1-mini-2024-09-12": 128e3,
|
|
303
|
+
"o1-preview": 128e3,
|
|
304
|
+
"o1-preview-2024-09-12": 128e3,
|
|
305
|
+
// o3-mini
|
|
306
|
+
"o3-mini": 2e5,
|
|
307
|
+
"o3-mini-2025-01-31": 2e5,
|
|
292
308
|
// GPT-4
|
|
293
309
|
"gpt-4o": 128e3,
|
|
310
|
+
"chatgpt-4o-latest": 128e3,
|
|
311
|
+
"gpt-4o-2024-08-06": 128e3,
|
|
294
312
|
"gpt-4o-2024-05-13": 128e3,
|
|
313
|
+
"gpt-4o-mini": 128e3,
|
|
314
|
+
"gpt-4o-mini-2024-07-18": 128e3,
|
|
295
315
|
"gpt-4-turbo": 128e3,
|
|
296
316
|
"gpt-4-turbo-2024-04-09": 128e3,
|
|
297
317
|
"gpt-4-0125-preview": 128e3,
|
|
@@ -342,10 +362,17 @@ function convertActionInputToOpenAITool(action) {
|
|
|
342
362
|
};
|
|
343
363
|
}
|
|
344
364
|
__name(convertActionInputToOpenAITool, "convertActionInputToOpenAITool");
|
|
345
|
-
function convertMessageToOpenAIMessage(message) {
|
|
365
|
+
function convertMessageToOpenAIMessage(message, options) {
|
|
366
|
+
const { keepSystemRole } = options || {
|
|
367
|
+
keepSystemRole: false
|
|
368
|
+
};
|
|
346
369
|
if (message.isTextMessage()) {
|
|
370
|
+
let role = message.role;
|
|
371
|
+
if (message.role === "system" && !keepSystemRole) {
|
|
372
|
+
role = "developer";
|
|
373
|
+
}
|
|
347
374
|
return {
|
|
348
|
-
role
|
|
375
|
+
role,
|
|
349
376
|
content: message.content
|
|
350
377
|
};
|
|
351
378
|
} else if (message.isActionExecutionMessage()) {
|
|
@@ -374,7 +401,10 @@ __name(convertMessageToOpenAIMessage, "convertMessageToOpenAIMessage");
|
|
|
374
401
|
function convertSystemMessageToAssistantAPI(message) {
|
|
375
402
|
return {
|
|
376
403
|
...message,
|
|
377
|
-
...
|
|
404
|
+
...[
|
|
405
|
+
"system",
|
|
406
|
+
"developer"
|
|
407
|
+
].includes(message.role) && {
|
|
378
408
|
role: "assistant",
|
|
379
409
|
content: "THE FOLLOWING MESSAGE IS A SYSTEM MESSAGE: " + message.content
|
|
380
410
|
}
|
|
@@ -403,7 +433,7 @@ var OpenAIAdapter = class {
|
|
|
403
433
|
const { threadId: threadIdFromRequest, model = this.model, messages, actions, eventSource, forwardedParameters } = request;
|
|
404
434
|
const tools = actions.map(convertActionInputToOpenAITool);
|
|
405
435
|
const threadId = threadIdFromRequest ?? (0, import_shared2.randomUUID)();
|
|
406
|
-
let openaiMessages = messages.map(convertMessageToOpenAIMessage);
|
|
436
|
+
let openaiMessages = messages.map((m) => convertMessageToOpenAIMessage(m));
|
|
407
437
|
openaiMessages = limitMessagesToTokenCount(openaiMessages, tools, model);
|
|
408
438
|
let toolChoice = forwardedParameters == null ? void 0 : forwardedParameters.toolChoice;
|
|
409
439
|
if ((forwardedParameters == null ? void 0 : forwardedParameters.toolChoice) === "function") {
|
|
@@ -866,7 +896,7 @@ var OpenAIAssistantAdapter = class {
|
|
|
866
896
|
];
|
|
867
897
|
const instructionsMessage = messages.shift();
|
|
868
898
|
const instructions = instructionsMessage.isTextMessage() ? instructionsMessage.content : "";
|
|
869
|
-
const userMessage = messages.map(convertMessageToOpenAIMessage).map(convertSystemMessageToAssistantAPI).at(-1);
|
|
899
|
+
const userMessage = messages.map((m) => convertMessageToOpenAIMessage(m)).map(convertSystemMessageToAssistantAPI).at(-1);
|
|
870
900
|
if (userMessage.role !== "user") {
|
|
871
901
|
throw new Error("No user message found");
|
|
872
902
|
}
|
|
@@ -1012,7 +1042,7 @@ var UnifyAdapter = class {
|
|
|
1012
1042
|
baseURL: "https://api.unify.ai/v0/"
|
|
1013
1043
|
});
|
|
1014
1044
|
const forwardedParameters = request.forwardedParameters;
|
|
1015
|
-
const messages = request.messages.map(convertMessageToOpenAIMessage);
|
|
1045
|
+
const messages = request.messages.map((m) => convertMessageToOpenAIMessage(m));
|
|
1016
1046
|
const stream = await openai.chat.completions.create({
|
|
1017
1047
|
model: this.model,
|
|
1018
1048
|
messages,
|
|
@@ -1109,7 +1139,7 @@ __name(UnifyAdapter, "UnifyAdapter");
|
|
|
1109
1139
|
// src/service-adapters/groq/groq-adapter.ts
|
|
1110
1140
|
var import_groq_sdk = require("groq-sdk");
|
|
1111
1141
|
var import_shared6 = require("@copilotkit/shared");
|
|
1112
|
-
var DEFAULT_MODEL2 = "
|
|
1142
|
+
var DEFAULT_MODEL2 = "llama-3.3-70b-versatile";
|
|
1113
1143
|
var GroqAdapter = class {
|
|
1114
1144
|
model = DEFAULT_MODEL2;
|
|
1115
1145
|
disableParallelToolCalls = false;
|
|
@@ -1127,7 +1157,9 @@ var GroqAdapter = class {
|
|
|
1127
1157
|
async process(request) {
|
|
1128
1158
|
const { threadId, model = this.model, messages, actions, eventSource, forwardedParameters } = request;
|
|
1129
1159
|
const tools = actions.map(convertActionInputToOpenAITool);
|
|
1130
|
-
let openaiMessages = messages.map(convertMessageToOpenAIMessage
|
|
1160
|
+
let openaiMessages = messages.map((m) => convertMessageToOpenAIMessage(m, {
|
|
1161
|
+
keepSystemRole: true
|
|
1162
|
+
}));
|
|
1131
1163
|
openaiMessages = limitMessagesToTokenCount(openaiMessages, tools, model);
|
|
1132
1164
|
let toolChoice = forwardedParameters == null ? void 0 : forwardedParameters.toolChoice;
|
|
1133
1165
|
if ((forwardedParameters == null ? void 0 : forwardedParameters.toolChoice) === "function") {
|
|
@@ -1850,6 +1882,7 @@ var MessageRole;
|
|
|
1850
1882
|
MessageRole2["assistant"] = "assistant";
|
|
1851
1883
|
MessageRole2["system"] = "system";
|
|
1852
1884
|
MessageRole2["tool"] = "tool";
|
|
1885
|
+
MessageRole2["developer"] = "developer";
|
|
1853
1886
|
})(MessageRole || (MessageRole = {}));
|
|
1854
1887
|
var CopilotRequestType;
|
|
1855
1888
|
(function(CopilotRequestType2) {
|
|
@@ -3036,10 +3069,10 @@ function constructLGCRemoteAction({ endpoint, graphqlContext, logger: logger2, m
|
|
|
3036
3069
|
state,
|
|
3037
3070
|
configurable,
|
|
3038
3071
|
properties: graphqlContext.properties,
|
|
3039
|
-
actions:
|
|
3072
|
+
actions: (0, import_shared15.tryMap)(actionInputsWithoutAgents, (action) => ({
|
|
3040
3073
|
name: action.name,
|
|
3041
3074
|
description: action.description,
|
|
3042
|
-
parameters:
|
|
3075
|
+
parameters: JSON.parse(action.jsonSchema)
|
|
3043
3076
|
})),
|
|
3044
3077
|
metaEvents
|
|
3045
3078
|
});
|
|
@@ -3165,10 +3198,10 @@ function constructRemoteActions({ json, url, onBeforeRequest, graphqlContext, lo
|
|
|
3165
3198
|
state,
|
|
3166
3199
|
configurable,
|
|
3167
3200
|
properties: graphqlContext.properties,
|
|
3168
|
-
actions:
|
|
3201
|
+
actions: (0, import_shared15.tryMap)(actionInputsWithoutAgents, (action) => ({
|
|
3169
3202
|
name: action.name,
|
|
3170
3203
|
description: action.description,
|
|
3171
|
-
parameters:
|
|
3204
|
+
parameters: JSON.parse(action.jsonSchema)
|
|
3172
3205
|
})),
|
|
3173
3206
|
metaEvents
|
|
3174
3207
|
})
|
|
@@ -3864,34 +3897,33 @@ __name(executeAction, "executeAction");
|
|
|
3864
3897
|
var import_class_transformer2 = require("class-transformer");
|
|
3865
3898
|
var import_shared19 = require("@copilotkit/shared");
|
|
3866
3899
|
function convertGqlInputToMessages(inputMessages) {
|
|
3867
|
-
const messages =
|
|
3868
|
-
for (const message of inputMessages) {
|
|
3900
|
+
const messages = (0, import_shared19.tryMap)(inputMessages, (message) => {
|
|
3869
3901
|
if (message.textMessage) {
|
|
3870
|
-
|
|
3902
|
+
return (0, import_class_transformer2.plainToInstance)(TextMessage, {
|
|
3871
3903
|
id: message.id,
|
|
3872
3904
|
createdAt: message.createdAt,
|
|
3873
3905
|
role: message.textMessage.role,
|
|
3874
3906
|
content: message.textMessage.content,
|
|
3875
3907
|
parentMessageId: message.textMessage.parentMessageId
|
|
3876
|
-
})
|
|
3908
|
+
});
|
|
3877
3909
|
} else if (message.actionExecutionMessage) {
|
|
3878
|
-
|
|
3910
|
+
return (0, import_class_transformer2.plainToInstance)(ActionExecutionMessage, {
|
|
3879
3911
|
id: message.id,
|
|
3880
3912
|
createdAt: message.createdAt,
|
|
3881
3913
|
name: message.actionExecutionMessage.name,
|
|
3882
|
-
arguments:
|
|
3914
|
+
arguments: JSON.parse(message.actionExecutionMessage.arguments),
|
|
3883
3915
|
parentMessageId: message.actionExecutionMessage.parentMessageId
|
|
3884
|
-
})
|
|
3916
|
+
});
|
|
3885
3917
|
} else if (message.resultMessage) {
|
|
3886
|
-
|
|
3918
|
+
return (0, import_class_transformer2.plainToInstance)(ResultMessage, {
|
|
3887
3919
|
id: message.id,
|
|
3888
3920
|
createdAt: message.createdAt,
|
|
3889
3921
|
actionExecutionId: message.resultMessage.actionExecutionId,
|
|
3890
3922
|
actionName: message.resultMessage.actionName,
|
|
3891
3923
|
result: message.resultMessage.result
|
|
3892
|
-
})
|
|
3924
|
+
});
|
|
3893
3925
|
} else if (message.agentStateMessage) {
|
|
3894
|
-
|
|
3926
|
+
return (0, import_class_transformer2.plainToInstance)(AgentStateMessage, {
|
|
3895
3927
|
id: message.id,
|
|
3896
3928
|
threadId: message.agentStateMessage.threadId,
|
|
3897
3929
|
createdAt: message.createdAt,
|
|
@@ -3900,12 +3932,14 @@ function convertGqlInputToMessages(inputMessages) {
|
|
|
3900
3932
|
runId: message.agentStateMessage.runId,
|
|
3901
3933
|
active: message.agentStateMessage.active,
|
|
3902
3934
|
role: message.agentStateMessage.role,
|
|
3903
|
-
state:
|
|
3935
|
+
state: JSON.parse(message.agentStateMessage.state),
|
|
3904
3936
|
running: message.agentStateMessage.running
|
|
3905
|
-
})
|
|
3937
|
+
});
|
|
3938
|
+
} else {
|
|
3939
|
+
return null;
|
|
3906
3940
|
}
|
|
3907
|
-
}
|
|
3908
|
-
return messages;
|
|
3941
|
+
});
|
|
3942
|
+
return messages.filter((m) => m);
|
|
3909
3943
|
}
|
|
3910
3944
|
__name(convertGqlInputToMessages, "convertGqlInputToMessages");
|
|
3911
3945
|
|