@copilotkit/runtime 1.6.0-next.1 → 1.6.0-next.11
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 +75 -0
- package/__snapshots__/schema/schema.graphql +1 -0
- package/dist/{chunk-CCQ73DAH.mjs → chunk-6L2NPMPT.mjs} +2 -2
- package/dist/{chunk-CHDIEE43.mjs → chunk-DVFBTXBT.mjs} +87 -44
- package/dist/chunk-DVFBTXBT.mjs.map +1 -0
- package/dist/{chunk-OS5YD32G.mjs → chunk-FZJAYGIR.mjs} +45 -12
- package/dist/chunk-FZJAYGIR.mjs.map +1 -0
- package/dist/{chunk-C7GTLEVO.mjs → chunk-LGQL6LK4.mjs} +2 -2
- package/dist/{chunk-A25FIW7J.mjs → chunk-O3Q4BRZA.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 +199 -123
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +5 -5
- 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 +192 -116
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/index.mjs +5 -5
- package/dist/lib/integrations/index.d.ts +4 -4
- package/dist/lib/integrations/index.js +5 -3
- 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 +5 -3
- 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 +5 -3
- 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 +5 -3
- 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 +70 -37
- package/dist/service-adapters/index.js.map +1 -1
- package/dist/service-adapters/index.mjs +1 -1
- package/package.json +5 -4
- package/src/agents/langgraph/event-source.ts +21 -5
- package/src/graphql/types/enums.ts +1 -0
- package/src/lib/runtime/__tests__/remote-action-constructors.test.ts +236 -0
- package/src/lib/runtime/copilot-runtime.ts +9 -3
- package/src/lib/runtime/remote-action-constructors.ts +9 -7
- package/src/lib/runtime/remote-lg-action.ts +35 -7
- package/src/service-adapters/conversion.ts +39 -46
- 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 +39 -13
- package/src/service-adapters/unify/unify-adapter.ts +1 -1
- package/tsconfig.json +3 -2
- package/dist/chunk-CHDIEE43.mjs.map +0 -1
- package/dist/chunk-OS5YD32G.mjs.map +0 -1
- /package/dist/{chunk-CCQ73DAH.mjs.map → chunk-6L2NPMPT.mjs.map} +0 -0
- /package/dist/{chunk-C7GTLEVO.mjs.map → chunk-LGQL6LK4.mjs.map} +0 -0
- /package/dist/{chunk-A25FIW7J.mjs.map → chunk-O3Q4BRZA.mjs.map} +0 -0
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { Message } from "../../graphql/types/converted";
|
|
2
2
|
import { ActionInput } from "../../graphql/inputs/action.input";
|
|
3
3
|
import {
|
|
4
|
+
ChatCompletionAssistantMessageParam,
|
|
4
5
|
ChatCompletionMessageParam,
|
|
6
|
+
ChatCompletionSystemMessageParam,
|
|
5
7
|
ChatCompletionTool,
|
|
6
8
|
ChatCompletionUserMessageParam,
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
} from "
|
|
9
|
+
ChatCompletionDeveloperMessageParam,
|
|
10
|
+
} from "openai/resources/chat";
|
|
11
|
+
import { parseJson } from "@copilotkit/shared";
|
|
10
12
|
|
|
11
13
|
export function limitMessagesToTokenCount(
|
|
12
14
|
messages: any[],
|
|
@@ -24,7 +26,7 @@ export function limitMessagesToTokenCount(
|
|
|
24
26
|
maxTokens -= toolsNumTokens;
|
|
25
27
|
|
|
26
28
|
for (const message of messages) {
|
|
27
|
-
if (message.role
|
|
29
|
+
if (["system", "developer"].includes(message.role)) {
|
|
28
30
|
const numTokens = countMessageTokens(model, message);
|
|
29
31
|
maxTokens -= numTokens;
|
|
30
32
|
|
|
@@ -38,7 +40,7 @@ export function limitMessagesToTokenCount(
|
|
|
38
40
|
|
|
39
41
|
const reversedMessages = [...messages].reverse();
|
|
40
42
|
for (const message of reversedMessages) {
|
|
41
|
-
if (message.role
|
|
43
|
+
if (["system", "developer"].includes(message.role)) {
|
|
42
44
|
result.unshift(message);
|
|
43
45
|
continue;
|
|
44
46
|
} else if (cutoff) {
|
|
@@ -63,9 +65,23 @@ export function maxTokensForOpenAIModel(model: string): number {
|
|
|
63
65
|
const DEFAULT_MAX_TOKENS = 128000;
|
|
64
66
|
|
|
65
67
|
const maxTokensByModel: { [key: string]: number } = {
|
|
68
|
+
// o1
|
|
69
|
+
o1: 200000,
|
|
70
|
+
"o1-2024-12-17": 200000,
|
|
71
|
+
"o1-mini": 128000,
|
|
72
|
+
"o1-mini-2024-09-12": 128000,
|
|
73
|
+
"o1-preview": 128000,
|
|
74
|
+
"o1-preview-2024-09-12": 128000,
|
|
75
|
+
// o3-mini
|
|
76
|
+
"o3-mini": 200000,
|
|
77
|
+
"o3-mini-2025-01-31": 200000,
|
|
66
78
|
// GPT-4
|
|
67
79
|
"gpt-4o": 128000,
|
|
80
|
+
"chatgpt-4o-latest": 128000,
|
|
81
|
+
"gpt-4o-2024-08-06": 128000,
|
|
68
82
|
"gpt-4o-2024-05-13": 128000,
|
|
83
|
+
"gpt-4o-mini": 128000,
|
|
84
|
+
"gpt-4o-mini-2024-07-18": 128000,
|
|
69
85
|
"gpt-4-turbo": 128000,
|
|
70
86
|
"gpt-4-turbo-2024-04-09": 128000,
|
|
71
87
|
"gpt-4-0125-preview": 128000,
|
|
@@ -113,20 +129,30 @@ export function convertActionInputToOpenAITool(action: ActionInput): ChatComplet
|
|
|
113
129
|
function: {
|
|
114
130
|
name: action.name,
|
|
115
131
|
description: action.description,
|
|
116
|
-
parameters:
|
|
132
|
+
parameters: parseJson(action.jsonSchema, {}),
|
|
117
133
|
},
|
|
118
134
|
};
|
|
119
135
|
}
|
|
120
136
|
|
|
121
|
-
|
|
137
|
+
type UsedMessageParams =
|
|
138
|
+
| ChatCompletionUserMessageParam
|
|
139
|
+
| ChatCompletionAssistantMessageParam
|
|
140
|
+
| ChatCompletionDeveloperMessageParam
|
|
141
|
+
| ChatCompletionSystemMessageParam;
|
|
142
|
+
export function convertMessageToOpenAIMessage(
|
|
143
|
+
message: Message,
|
|
144
|
+
options?: { keepSystemRole: boolean },
|
|
145
|
+
): ChatCompletionMessageParam {
|
|
146
|
+
const { keepSystemRole } = options || { keepSystemRole: false };
|
|
122
147
|
if (message.isTextMessage()) {
|
|
148
|
+
let role = message.role as UsedMessageParams["role"];
|
|
149
|
+
if (message.role === "system" && !keepSystemRole) {
|
|
150
|
+
role = "developer";
|
|
151
|
+
}
|
|
123
152
|
return {
|
|
124
|
-
role
|
|
153
|
+
role,
|
|
125
154
|
content: message.content,
|
|
126
|
-
} satisfies
|
|
127
|
-
| ChatCompletionUserMessageParam
|
|
128
|
-
| ChatCompletionAssistantMessageParam
|
|
129
|
-
| ChatCompletionSystemMessageParam;
|
|
155
|
+
} satisfies UsedMessageParams;
|
|
130
156
|
} else if (message.isActionExecutionMessage()) {
|
|
131
157
|
return {
|
|
132
158
|
role: "assistant",
|
|
@@ -153,7 +179,7 @@ export function convertMessageToOpenAIMessage(message: Message): ChatCompletionM
|
|
|
153
179
|
export function convertSystemMessageToAssistantAPI(message: ChatCompletionMessageParam) {
|
|
154
180
|
return {
|
|
155
181
|
...message,
|
|
156
|
-
...(message.role
|
|
182
|
+
...(["system", "developer"].includes(message.role) && {
|
|
157
183
|
role: "assistant",
|
|
158
184
|
content: "THE FOLLOWING MESSAGE IS A SYSTEM MESSAGE: " + message.content,
|
|
159
185
|
}),
|
|
@@ -56,7 +56,7 @@ export class UnifyAdapter implements CopilotServiceAdapter {
|
|
|
56
56
|
});
|
|
57
57
|
const forwardedParameters = request.forwardedParameters;
|
|
58
58
|
|
|
59
|
-
const messages = request.messages.map(convertMessageToOpenAIMessage);
|
|
59
|
+
const messages = request.messages.map((m) => convertMessageToOpenAIMessage(m));
|
|
60
60
|
|
|
61
61
|
const stream = await openai.chat.completions.create({
|
|
62
62
|
model: this.model,
|
package/tsconfig.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"extends": "../../utilities/tsconfig/base.json",
|
|
3
3
|
"compilerOptions": {
|
|
4
|
+
"types": ["node", "jest"],
|
|
4
5
|
"lib": ["es2017", "dom"],
|
|
5
6
|
"emitDecoratorMetadata": true,
|
|
6
7
|
"experimentalDecorators": true,
|
|
7
8
|
"strict": false,
|
|
8
9
|
"resolveJsonModule": true
|
|
9
10
|
},
|
|
10
|
-
"include": ["./src/**/*.ts"],
|
|
11
|
-
"exclude": ["dist", "build", "node_modules"
|
|
11
|
+
"include": ["./src/**/*.ts", "./src/**/*.test.ts", "./src/**/__tests__/*"],
|
|
12
|
+
"exclude": ["dist", "build", "node_modules"]
|
|
12
13
|
}
|