@copilotkit/runtime 1.50.0-beta.10 → 1.50.0-beta.12
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 +22 -0
- package/dist/chunk-27JKTS6P.mjs +1704 -0
- package/dist/chunk-27JKTS6P.mjs.map +1 -0
- package/dist/{chunk-FMU55SEU.mjs → chunk-2GPTVDTO.mjs} +2 -2
- package/dist/chunk-3AJVKDZX.mjs +3097 -0
- package/dist/chunk-3AJVKDZX.mjs.map +1 -0
- package/dist/{chunk-BJEYMRDD.mjs → chunk-45RCC3ZS.mjs} +2 -2
- package/dist/chunk-4EHJ4XFJ.mjs +25 -0
- package/dist/chunk-4EHJ4XFJ.mjs.map +1 -0
- package/dist/chunk-4IANB4TC.mjs +25 -0
- package/dist/chunk-4IANB4TC.mjs.map +1 -0
- package/dist/{chunk-Z752VE75.mjs → chunk-4KES76K3.mjs} +2 -2
- package/dist/chunk-4OGE3SLW.mjs +3100 -0
- package/dist/chunk-4OGE3SLW.mjs.map +1 -0
- package/dist/chunk-54YJBMCP.mjs +3097 -0
- package/dist/chunk-54YJBMCP.mjs.map +1 -0
- package/dist/chunk-6ER4SZYH.mjs +74 -0
- package/dist/chunk-6ER4SZYH.mjs.map +1 -0
- package/dist/chunk-6TNSLHVR.mjs +74 -0
- package/dist/chunk-6TNSLHVR.mjs.map +1 -0
- package/dist/chunk-7V4BK7TZ.mjs +25 -0
- package/dist/chunk-7V4BK7TZ.mjs.map +1 -0
- package/dist/chunk-7YZIEXD2.mjs +74 -0
- package/dist/chunk-7YZIEXD2.mjs.map +1 -0
- package/dist/chunk-A4XHOAFU.mjs +25 -0
- package/dist/chunk-A4XHOAFU.mjs.map +1 -0
- package/dist/chunk-A555KEAD.mjs +6020 -0
- package/dist/chunk-A555KEAD.mjs.map +1 -0
- package/dist/chunk-AF73TFTX.mjs +74 -0
- package/dist/chunk-AF73TFTX.mjs.map +1 -0
- package/dist/chunk-AQG2SVCA.mjs +25 -0
- package/dist/chunk-AQG2SVCA.mjs.map +1 -0
- package/dist/chunk-BJZHMXND.mjs +74 -0
- package/dist/chunk-BJZHMXND.mjs.map +1 -0
- package/dist/chunk-CB2OJXF6.mjs +25 -0
- package/dist/chunk-CB2OJXF6.mjs.map +1 -0
- package/dist/chunk-CEOMFPJU.mjs +6020 -0
- package/dist/chunk-CEOMFPJU.mjs.map +1 -0
- package/dist/chunk-CZVLR7CC.mjs +175 -0
- package/dist/chunk-CZVLR7CC.mjs.map +1 -0
- package/dist/{chunk-SBCOROE4.mjs → chunk-DCEEHMLJ.mjs} +16 -1
- package/dist/chunk-DCEEHMLJ.mjs.map +1 -0
- package/dist/chunk-DE3CLKUG.mjs +25 -0
- package/dist/chunk-DE3CLKUG.mjs.map +1 -0
- package/dist/chunk-DTPRUTNV.mjs +25 -0
- package/dist/chunk-DTPRUTNV.mjs.map +1 -0
- package/dist/{chunk-TTUAEJLD.mjs → chunk-ERUOA47O.mjs} +11 -2
- package/dist/chunk-ERUOA47O.mjs.map +1 -0
- package/dist/chunk-ESSRC64W.mjs +74 -0
- package/dist/chunk-ESSRC64W.mjs.map +1 -0
- package/dist/chunk-GRAN6K6N.mjs +25 -0
- package/dist/chunk-GRAN6K6N.mjs.map +1 -0
- package/dist/chunk-I27F2UPA.mjs +175 -0
- package/dist/chunk-I27F2UPA.mjs.map +1 -0
- package/dist/chunk-IAZKTOQW.mjs +25 -0
- package/dist/chunk-IAZKTOQW.mjs.map +1 -0
- package/dist/chunk-J6XZ5MFB.mjs +25 -0
- package/dist/chunk-J6XZ5MFB.mjs.map +1 -0
- package/dist/chunk-JJ32MA4C.mjs +73 -0
- package/dist/chunk-JJ32MA4C.mjs.map +1 -0
- package/dist/chunk-JJY4ZTHQ.mjs +25 -0
- package/dist/chunk-JJY4ZTHQ.mjs.map +1 -0
- package/dist/chunk-KEYLBFU2.mjs +3117 -0
- package/dist/chunk-KEYLBFU2.mjs.map +1 -0
- package/dist/chunk-KQ53L4WZ.mjs +3094 -0
- package/dist/chunk-KQ53L4WZ.mjs.map +1 -0
- package/dist/chunk-KTELVQ67.mjs +3098 -0
- package/dist/chunk-KTELVQ67.mjs.map +1 -0
- package/dist/chunk-LPEPX6NH.mjs +25 -0
- package/dist/chunk-LPEPX6NH.mjs.map +1 -0
- package/dist/chunk-MDXE55DK.mjs +3117 -0
- package/dist/chunk-MDXE55DK.mjs.map +1 -0
- package/dist/chunk-MMFUVOXH.mjs +73 -0
- package/dist/chunk-MMFUVOXH.mjs.map +1 -0
- package/dist/chunk-N3Y4U66N.mjs +253 -0
- package/dist/chunk-N3Y4U66N.mjs.map +1 -0
- package/dist/chunk-O7UYB4MH.mjs +25 -0
- package/dist/chunk-O7UYB4MH.mjs.map +1 -0
- package/dist/chunk-OFNVQHNM.mjs +3089 -0
- package/dist/chunk-OFNVQHNM.mjs.map +1 -0
- package/dist/{chunk-DZV4ZIAR.mjs → chunk-OFSV5GET.mjs} +17 -6
- package/dist/chunk-OFSV5GET.mjs.map +1 -0
- package/dist/chunk-OMRST67R.mjs +25 -0
- package/dist/chunk-OMRST67R.mjs.map +1 -0
- package/dist/chunk-PRZHE74A.mjs +25 -0
- package/dist/chunk-PRZHE74A.mjs.map +1 -0
- package/dist/chunk-PTYRVXXP.mjs +80 -0
- package/dist/chunk-PTYRVXXP.mjs.map +1 -0
- package/dist/chunk-R22B5CCO.mjs +25 -0
- package/dist/chunk-R22B5CCO.mjs.map +1 -0
- package/dist/chunk-SHBDMA63.mjs +141 -0
- package/dist/chunk-SHBDMA63.mjs.map +1 -0
- package/dist/chunk-SPVXBPRA.mjs +74 -0
- package/dist/chunk-SPVXBPRA.mjs.map +1 -0
- package/dist/chunk-T72G46ME.mjs +25 -0
- package/dist/chunk-T72G46ME.mjs.map +1 -0
- package/dist/chunk-TGELROPU.mjs +25 -0
- package/dist/chunk-TGELROPU.mjs.map +1 -0
- package/dist/chunk-UNX4IAAD.mjs +25 -0
- package/dist/chunk-UNX4IAAD.mjs.map +1 -0
- package/dist/chunk-V4DHVC7M.mjs +3085 -0
- package/dist/chunk-V4DHVC7M.mjs.map +1 -0
- package/dist/chunk-VVRFOB66.mjs +25 -0
- package/dist/chunk-VVRFOB66.mjs.map +1 -0
- package/dist/chunk-W6NVBYM6.mjs +80 -0
- package/dist/chunk-W6NVBYM6.mjs.map +1 -0
- package/dist/chunk-W7MBACGC.mjs +74 -0
- package/dist/chunk-W7MBACGC.mjs.map +1 -0
- package/dist/chunk-WMD4XZZS.mjs +25 -0
- package/dist/chunk-WMD4XZZS.mjs.map +1 -0
- package/dist/chunk-WX2ZNCRT.mjs +74 -0
- package/dist/chunk-WX2ZNCRT.mjs.map +1 -0
- package/dist/chunk-Y2Z62E2T.mjs +74 -0
- package/dist/chunk-Y2Z62E2T.mjs.map +1 -0
- package/dist/chunk-YO4I6RVI.mjs +25 -0
- package/dist/chunk-YO4I6RVI.mjs.map +1 -0
- package/dist/chunk-Z6Q5IW6I.mjs +3098 -0
- package/dist/chunk-Z6Q5IW6I.mjs.map +1 -0
- package/dist/chunk-Z726O3G2.mjs +25 -0
- package/dist/chunk-Z726O3G2.mjs.map +1 -0
- package/dist/chunk-ZE4SMZZR.mjs +3097 -0
- package/dist/chunk-ZE4SMZZR.mjs.map +1 -0
- package/dist/chunk-ZULZB33C.mjs +73 -0
- package/dist/chunk-ZULZB33C.mjs.map +1 -0
- package/dist/chunk-ZVRGXMY7.mjs +25 -0
- package/dist/chunk-ZVRGXMY7.mjs.map +1 -0
- package/dist/chunk-ZZ35WBYQ.mjs +25 -0
- package/dist/chunk-ZZ35WBYQ.mjs.map +1 -0
- package/dist/graphql/types/converted/index.d.ts +1 -1
- package/dist/graphql/types/converted/index.js +16 -110
- package/dist/graphql/types/converted/index.js.map +1 -1
- package/dist/graphql/types/converted/index.mjs +2 -3
- package/dist/{groq-adapter-50bc6e4a.d.ts → groq-adapter-540da9c3.d.ts} +6 -1
- package/dist/groq-adapter-a6f5e9d2.d.ts +331 -0
- package/dist/groq-adapter-c8aec5c5.d.ts +321 -0
- package/dist/index-96b330da.d.ts +119 -0
- package/dist/index.js +27 -12
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +28 -13
- package/dist/index.mjs.map +1 -1
- package/dist/langserve-0c6100e3.d.ts +257 -0
- package/dist/langserve-978d5790.d.ts +243 -0
- package/dist/{langserve-74a52292.d.ts → langserve-9fc76ce5.d.ts} +1 -0
- package/dist/lib/index.d.ts +5 -59
- package/dist/lib/index.js +3702 -803
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/index.mjs +20 -18
- package/dist/lib/integrations/index.d.ts +15 -9
- package/dist/lib/integrations/index.js +215 -187
- package/dist/lib/integrations/index.js.map +1 -1
- package/dist/lib/integrations/index.mjs +8 -7
- package/dist/lib/integrations/nest/index.d.ts +5 -6
- package/dist/lib/integrations/nest/index.js +197 -175
- package/dist/lib/integrations/nest/index.js.map +1 -1
- package/dist/lib/integrations/nest/index.mjs +6 -5
- package/dist/lib/integrations/node-express/index.d.ts +5 -6
- package/dist/lib/integrations/node-express/index.js +197 -175
- package/dist/lib/integrations/node-express/index.js.map +1 -1
- package/dist/lib/integrations/node-express/index.mjs +6 -5
- package/dist/lib/integrations/node-http/index.d.ts +5 -6
- package/dist/lib/integrations/node-http/index.js +197 -175
- package/dist/lib/integrations/node-http/index.js.map +1 -1
- package/dist/lib/integrations/node-http/index.mjs +5 -4
- package/dist/service-adapters/index.d.ts +7 -11
- package/dist/service-adapters/index.js +8 -21
- package/dist/service-adapters/index.js.map +1 -1
- package/dist/service-adapters/index.mjs +2 -4
- package/dist/shared-0a7346ce.d.ts +466 -0
- package/dist/{shared-f6d43ef8.d.ts → shared-35c6eb04.d.ts} +3 -1
- package/dist/shared-9ed1dc31.d.ts +414 -0
- package/dist/shared-da5708fe.d.ts +449 -0
- package/package.json +4 -4
- package/src/lib/runtime/copilot-runtime.ts +38 -4
- package/dist/chunk-DZV4ZIAR.mjs.map +0 -1
- package/dist/chunk-SBCOROE4.mjs.map +0 -1
- package/dist/chunk-TTUAEJLD.mjs.map +0 -1
- /package/dist/{chunk-FMU55SEU.mjs.map → chunk-2GPTVDTO.mjs.map} +0 -0
- /package/dist/{chunk-BJEYMRDD.mjs.map → chunk-45RCC3ZS.mjs.map} +0 -0
- /package/dist/{chunk-Z752VE75.mjs.map → chunk-4KES76K3.mjs.map} +0 -0
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
import OpenAI from 'openai';
|
|
2
|
+
import { b as CopilotServiceAdapter, C as CopilotRuntimeChatCompletionRequest, a as CopilotRuntimeChatCompletionResponse } from './langserve-0c6100e3.js';
|
|
3
|
+
import { BaseMessageChunk, AIMessage, AIMessageChunk, BaseMessage } from '@langchain/core/messages';
|
|
4
|
+
import { DynamicStructuredTool } from '@langchain/core/tools';
|
|
5
|
+
import { IterableReadableStream, IterableReadableStreamInterface } from '@langchain/core/utils/stream';
|
|
6
|
+
import { Groq } from 'groq-sdk';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Copilot Runtime adapter for OpenAI.
|
|
10
|
+
*
|
|
11
|
+
* ## Example
|
|
12
|
+
*
|
|
13
|
+
* ```ts
|
|
14
|
+
* import { CopilotRuntime, OpenAIAdapter } from "@copilotkit/runtime";
|
|
15
|
+
* import OpenAI from "openai";
|
|
16
|
+
*
|
|
17
|
+
* const copilotKit = new CopilotRuntime();
|
|
18
|
+
*
|
|
19
|
+
* const openai = new OpenAI({
|
|
20
|
+
* organization: "<your-organization-id>", // optional
|
|
21
|
+
* apiKey: "<your-api-key>",
|
|
22
|
+
* });
|
|
23
|
+
*
|
|
24
|
+
* return new OpenAIAdapter({ openai });
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* ## Example with Azure OpenAI
|
|
28
|
+
*
|
|
29
|
+
* ```ts
|
|
30
|
+
* import { CopilotRuntime, OpenAIAdapter } from "@copilotkit/runtime";
|
|
31
|
+
* import OpenAI from "openai";
|
|
32
|
+
*
|
|
33
|
+
* // The name of your Azure OpenAI Instance.
|
|
34
|
+
* // https://learn.microsoft.com/en-us/azure/cognitive-services/openai/how-to/create-resource?pivots=web-portal#create-a-resource
|
|
35
|
+
* const instance = "<your instance name>";
|
|
36
|
+
*
|
|
37
|
+
* // Corresponds to your Model deployment within your OpenAI resource, e.g. my-gpt35-16k-deployment
|
|
38
|
+
* // Navigate to the Azure OpenAI Studio to deploy a model.
|
|
39
|
+
* const model = "<your model>";
|
|
40
|
+
*
|
|
41
|
+
* const apiKey = process.env["AZURE_OPENAI_API_KEY"];
|
|
42
|
+
* if (!apiKey) {
|
|
43
|
+
* throw new Error("The AZURE_OPENAI_API_KEY environment variable is missing or empty.");
|
|
44
|
+
* }
|
|
45
|
+
*
|
|
46
|
+
* const copilotKit = new CopilotRuntime();
|
|
47
|
+
*
|
|
48
|
+
* const openai = new OpenAI({
|
|
49
|
+
* apiKey,
|
|
50
|
+
* baseURL: `https://${instance}.openai.azure.com/openai/deployments/${model}`,
|
|
51
|
+
* defaultQuery: { "api-version": "2024-04-01-preview" },
|
|
52
|
+
* defaultHeaders: { "api-key": apiKey },
|
|
53
|
+
* });
|
|
54
|
+
*
|
|
55
|
+
* return new OpenAIAdapter({ openai });
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
|
|
59
|
+
interface OpenAIAdapterParams {
|
|
60
|
+
/**
|
|
61
|
+
* An optional OpenAI instance to use. If not provided, a new instance will be
|
|
62
|
+
* created.
|
|
63
|
+
*/
|
|
64
|
+
openai?: OpenAI;
|
|
65
|
+
/**
|
|
66
|
+
* The model to use.
|
|
67
|
+
*/
|
|
68
|
+
model?: string;
|
|
69
|
+
/**
|
|
70
|
+
* Whether to disable parallel tool calls.
|
|
71
|
+
* You can disable parallel tool calls to force the model to execute tool calls sequentially.
|
|
72
|
+
* This is useful if you want to execute tool calls in a specific order so that the state changes
|
|
73
|
+
* introduced by one tool call are visible to the next tool call. (i.e. new actions or readables)
|
|
74
|
+
*
|
|
75
|
+
* @default false
|
|
76
|
+
*/
|
|
77
|
+
disableParallelToolCalls?: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Whether to keep the role in system messages as "System".
|
|
80
|
+
* By default, it is converted to "developer", which is used by newer OpenAI models
|
|
81
|
+
*
|
|
82
|
+
* @default false
|
|
83
|
+
*/
|
|
84
|
+
keepSystemRole?: boolean;
|
|
85
|
+
}
|
|
86
|
+
declare class OpenAIAdapter implements CopilotServiceAdapter {
|
|
87
|
+
private model;
|
|
88
|
+
private disableParallelToolCalls;
|
|
89
|
+
private _openai;
|
|
90
|
+
private keepSystemRole;
|
|
91
|
+
get openai(): OpenAI;
|
|
92
|
+
constructor(params?: OpenAIAdapterParams);
|
|
93
|
+
process(request: CopilotRuntimeChatCompletionRequest): Promise<CopilotRuntimeChatCompletionResponse>;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
type LangChainBaseMessageChunkStream = IterableReadableStream<BaseMessageChunk>;
|
|
97
|
+
type LangChainAIMessageChunkStream = IterableReadableStreamInterface<AIMessageChunk>;
|
|
98
|
+
type LangChainReturnType = LangChainBaseMessageChunkStream | LangChainAIMessageChunkStream | BaseMessageChunk | string | AIMessage;
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Copilot Runtime adapter for LangChain.
|
|
102
|
+
*
|
|
103
|
+
* ## Example
|
|
104
|
+
*
|
|
105
|
+
* ```ts
|
|
106
|
+
* import { CopilotRuntime, LangChainAdapter } from "@copilotkit/runtime";
|
|
107
|
+
* import { ChatOpenAI } from "@langchain/openai";
|
|
108
|
+
*
|
|
109
|
+
* const copilotKit = new CopilotRuntime();
|
|
110
|
+
*
|
|
111
|
+
* const model = new ChatOpenAI({
|
|
112
|
+
* model: "gpt-4o",
|
|
113
|
+
* apiKey: "<your-api-key>",
|
|
114
|
+
* });
|
|
115
|
+
*
|
|
116
|
+
* return new LangChainAdapter({
|
|
117
|
+
* chainFn: async ({ messages, tools }) => {
|
|
118
|
+
* return model.bindTools(tools).stream(messages);
|
|
119
|
+
* // or optionally enable strict mode
|
|
120
|
+
* // return model.bindTools(tools, { strict: true }).stream(messages);
|
|
121
|
+
* }
|
|
122
|
+
* });
|
|
123
|
+
* ```
|
|
124
|
+
*
|
|
125
|
+
* The asynchronous handler function (`chainFn`) can return any of the following:
|
|
126
|
+
*
|
|
127
|
+
* - A simple `string` response
|
|
128
|
+
* - A LangChain stream (`IterableReadableStream`)
|
|
129
|
+
* - A LangChain `BaseMessageChunk` object
|
|
130
|
+
* - A LangChain `AIMessage` object
|
|
131
|
+
*/
|
|
132
|
+
|
|
133
|
+
interface ChainFnParameters {
|
|
134
|
+
model: string;
|
|
135
|
+
messages: BaseMessage[];
|
|
136
|
+
tools: DynamicStructuredTool[];
|
|
137
|
+
threadId?: string;
|
|
138
|
+
runId?: string;
|
|
139
|
+
}
|
|
140
|
+
interface LangChainAdapterOptions {
|
|
141
|
+
/**
|
|
142
|
+
* A function that uses the LangChain API to generate a response.
|
|
143
|
+
*/
|
|
144
|
+
chainFn: (parameters: ChainFnParameters) => Promise<LangChainReturnType>;
|
|
145
|
+
}
|
|
146
|
+
declare class LangChainAdapter implements CopilotServiceAdapter {
|
|
147
|
+
private options;
|
|
148
|
+
/**
|
|
149
|
+
* To use LangChain as a backend, provide a handler function to the adapter with your custom LangChain logic.
|
|
150
|
+
*/
|
|
151
|
+
constructor(options: LangChainAdapterOptions);
|
|
152
|
+
process(request: CopilotRuntimeChatCompletionRequest): Promise<CopilotRuntimeChatCompletionResponse>;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
interface GoogleGenerativeAIAdapterOptions {
|
|
156
|
+
/**
|
|
157
|
+
* A custom Google Generative AI model to use.
|
|
158
|
+
*/
|
|
159
|
+
model?: string;
|
|
160
|
+
/**
|
|
161
|
+
* The API key to use.
|
|
162
|
+
*/
|
|
163
|
+
apiKey?: string;
|
|
164
|
+
}
|
|
165
|
+
declare class GoogleGenerativeAIAdapter extends LangChainAdapter {
|
|
166
|
+
constructor(options?: GoogleGenerativeAIAdapterOptions);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Copilot Runtime adapter for the OpenAI Assistant API.
|
|
171
|
+
*
|
|
172
|
+
* ## Example
|
|
173
|
+
*
|
|
174
|
+
* ```ts
|
|
175
|
+
* import { CopilotRuntime, OpenAIAssistantAdapter } from "@copilotkit/runtime";
|
|
176
|
+
* import OpenAI from "openai";
|
|
177
|
+
*
|
|
178
|
+
* const copilotKit = new CopilotRuntime();
|
|
179
|
+
*
|
|
180
|
+
* const openai = new OpenAI({
|
|
181
|
+
* organization: "<your-organization-id>",
|
|
182
|
+
* apiKey: "<your-api-key>",
|
|
183
|
+
* });
|
|
184
|
+
*
|
|
185
|
+
* return new OpenAIAssistantAdapter({
|
|
186
|
+
* openai,
|
|
187
|
+
* assistantId: "<your-assistant-id>",
|
|
188
|
+
* codeInterpreterEnabled: true,
|
|
189
|
+
* fileSearchEnabled: true,
|
|
190
|
+
* });
|
|
191
|
+
* ```
|
|
192
|
+
*/
|
|
193
|
+
|
|
194
|
+
interface OpenAIAssistantAdapterParams {
|
|
195
|
+
/**
|
|
196
|
+
* The ID of the assistant to use.
|
|
197
|
+
*/
|
|
198
|
+
assistantId: string;
|
|
199
|
+
/**
|
|
200
|
+
* An optional OpenAI instance to use. If not provided, a new instance will be created.
|
|
201
|
+
*/
|
|
202
|
+
openai?: OpenAI;
|
|
203
|
+
/**
|
|
204
|
+
* Whether to enable code interpretation.
|
|
205
|
+
* @default true
|
|
206
|
+
*/
|
|
207
|
+
codeInterpreterEnabled?: boolean;
|
|
208
|
+
/**
|
|
209
|
+
* Whether to enable file search.
|
|
210
|
+
* @default true
|
|
211
|
+
*/
|
|
212
|
+
fileSearchEnabled?: boolean;
|
|
213
|
+
/**
|
|
214
|
+
* Whether to disable parallel tool calls.
|
|
215
|
+
* You can disable parallel tool calls to force the model to execute tool calls sequentially.
|
|
216
|
+
* This is useful if you want to execute tool calls in a specific order so that the state changes
|
|
217
|
+
* introduced by one tool call are visible to the next tool call. (i.e. new actions or readables)
|
|
218
|
+
*
|
|
219
|
+
* @default false
|
|
220
|
+
*/
|
|
221
|
+
disableParallelToolCalls?: boolean;
|
|
222
|
+
/**
|
|
223
|
+
* Whether to keep the role in system messages as "System".
|
|
224
|
+
* By default, it is converted to "developer", which is used by newer OpenAI models
|
|
225
|
+
*
|
|
226
|
+
* @default false
|
|
227
|
+
*/
|
|
228
|
+
keepSystemRole?: boolean;
|
|
229
|
+
}
|
|
230
|
+
declare class OpenAIAssistantAdapter implements CopilotServiceAdapter {
|
|
231
|
+
private openai;
|
|
232
|
+
private codeInterpreterEnabled;
|
|
233
|
+
private assistantId;
|
|
234
|
+
private fileSearchEnabled;
|
|
235
|
+
private disableParallelToolCalls;
|
|
236
|
+
private keepSystemRole;
|
|
237
|
+
constructor(params: OpenAIAssistantAdapterParams);
|
|
238
|
+
process(request: CopilotRuntimeChatCompletionRequest): Promise<CopilotRuntimeChatCompletionResponse>;
|
|
239
|
+
private submitToolOutputs;
|
|
240
|
+
private submitUserMessage;
|
|
241
|
+
private streamResponse;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* CopilotKit Adapter for Unify
|
|
246
|
+
*
|
|
247
|
+
* <RequestExample>
|
|
248
|
+
* ```jsx CopilotRuntime Example
|
|
249
|
+
* const copilotKit = new CopilotRuntime();
|
|
250
|
+
* return copilotKit.response(req, new UnifyAdapter());
|
|
251
|
+
* ```
|
|
252
|
+
* </RequestExample>
|
|
253
|
+
*
|
|
254
|
+
* You can easily set the model to use by passing it to the constructor.
|
|
255
|
+
* ```jsx
|
|
256
|
+
* const copilotKit = new CopilotRuntime();
|
|
257
|
+
* return copilotKit.response(
|
|
258
|
+
* req,
|
|
259
|
+
* new UnifyAdapter({ model: "llama-3-8b-chat@fireworks-ai" }),
|
|
260
|
+
* );
|
|
261
|
+
* ```
|
|
262
|
+
*/
|
|
263
|
+
|
|
264
|
+
interface UnifyAdapterParams {
|
|
265
|
+
apiKey?: string;
|
|
266
|
+
model: string;
|
|
267
|
+
}
|
|
268
|
+
declare class UnifyAdapter implements CopilotServiceAdapter {
|
|
269
|
+
private apiKey;
|
|
270
|
+
private model;
|
|
271
|
+
private start;
|
|
272
|
+
constructor(options?: UnifyAdapterParams);
|
|
273
|
+
process(request: CopilotRuntimeChatCompletionRequest): Promise<CopilotRuntimeChatCompletionResponse>;
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
/**
|
|
277
|
+
* Copilot Runtime adapter for Groq.
|
|
278
|
+
*
|
|
279
|
+
* ## Example
|
|
280
|
+
*
|
|
281
|
+
* ```ts
|
|
282
|
+
* import { CopilotRuntime, GroqAdapter } from "@copilotkit/runtime";
|
|
283
|
+
* import { Groq } from "groq-sdk";
|
|
284
|
+
*
|
|
285
|
+
* const groq = new Groq({ apiKey: process.env["GROQ_API_KEY"] });
|
|
286
|
+
*
|
|
287
|
+
* const copilotKit = new CopilotRuntime();
|
|
288
|
+
*
|
|
289
|
+
* return new GroqAdapter({ groq, model: "<model-name>" });
|
|
290
|
+
* ```
|
|
291
|
+
*/
|
|
292
|
+
|
|
293
|
+
interface GroqAdapterParams {
|
|
294
|
+
/**
|
|
295
|
+
* An optional Groq instance to use.
|
|
296
|
+
*/
|
|
297
|
+
groq?: Groq;
|
|
298
|
+
/**
|
|
299
|
+
* The model to use.
|
|
300
|
+
*/
|
|
301
|
+
model?: string;
|
|
302
|
+
/**
|
|
303
|
+
* Whether to disable parallel tool calls.
|
|
304
|
+
* You can disable parallel tool calls to force the model to execute tool calls sequentially.
|
|
305
|
+
* This is useful if you want to execute tool calls in a specific order so that the state changes
|
|
306
|
+
* introduced by one tool call are visible to the next tool call. (i.e. new actions or readables)
|
|
307
|
+
*
|
|
308
|
+
* @default false
|
|
309
|
+
*/
|
|
310
|
+
disableParallelToolCalls?: boolean;
|
|
311
|
+
}
|
|
312
|
+
declare class GroqAdapter implements CopilotServiceAdapter {
|
|
313
|
+
private model;
|
|
314
|
+
private disableParallelToolCalls;
|
|
315
|
+
private _groq;
|
|
316
|
+
get groq(): Groq;
|
|
317
|
+
constructor(params?: GroqAdapterParams);
|
|
318
|
+
process(request: CopilotRuntimeChatCompletionRequest): Promise<CopilotRuntimeChatCompletionResponse>;
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
export { GoogleGenerativeAIAdapter as G, LangChainAdapter as L, OpenAIAdapterParams as O, UnifyAdapterParams as U, OpenAIAdapter as a, OpenAIAssistantAdapterParams as b, OpenAIAssistantAdapter as c, UnifyAdapter as d, GroqAdapterParams as e, GroqAdapter as f };
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { BaseMessageInput } from './graphql/types/base/index.js';
|
|
2
|
+
|
|
3
|
+
declare enum MessageRole {
|
|
4
|
+
user = "user",
|
|
5
|
+
assistant = "assistant",
|
|
6
|
+
system = "system",
|
|
7
|
+
tool = "tool",
|
|
8
|
+
developer = "developer"
|
|
9
|
+
}
|
|
10
|
+
declare enum ActionInputAvailability {
|
|
11
|
+
disabled = "disabled",
|
|
12
|
+
enabled = "enabled",
|
|
13
|
+
remote = "remote"
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
declare class MessageInput extends BaseMessageInput {
|
|
17
|
+
textMessage?: TextMessageInput;
|
|
18
|
+
actionExecutionMessage?: ActionExecutionMessageInput;
|
|
19
|
+
resultMessage?: ResultMessageInput;
|
|
20
|
+
agentStateMessage?: AgentStateMessageInput;
|
|
21
|
+
imageMessage?: ImageMessageInput;
|
|
22
|
+
}
|
|
23
|
+
declare class TextMessageInput {
|
|
24
|
+
content: string;
|
|
25
|
+
parentMessageId?: string;
|
|
26
|
+
role: MessageRole;
|
|
27
|
+
}
|
|
28
|
+
declare class ActionExecutionMessageInput {
|
|
29
|
+
name: string;
|
|
30
|
+
arguments: string;
|
|
31
|
+
parentMessageId?: string;
|
|
32
|
+
scope?: String;
|
|
33
|
+
}
|
|
34
|
+
declare class ResultMessageInput {
|
|
35
|
+
actionExecutionId: string;
|
|
36
|
+
actionName: string;
|
|
37
|
+
parentMessageId?: string;
|
|
38
|
+
result: string;
|
|
39
|
+
}
|
|
40
|
+
declare class AgentStateMessageInput {
|
|
41
|
+
threadId: string;
|
|
42
|
+
agentName: string;
|
|
43
|
+
role: MessageRole;
|
|
44
|
+
state: string;
|
|
45
|
+
running: boolean;
|
|
46
|
+
nodeName: string;
|
|
47
|
+
runId: string;
|
|
48
|
+
active: boolean;
|
|
49
|
+
}
|
|
50
|
+
declare class ImageMessageInput {
|
|
51
|
+
format: string;
|
|
52
|
+
bytes: string;
|
|
53
|
+
parentMessageId?: string;
|
|
54
|
+
role: MessageRole;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
type MessageType = "TextMessage" | "ActionExecutionMessage" | "ResultMessage" | "AgentStateMessage" | "ImageMessage";
|
|
58
|
+
declare class Message extends BaseMessageInput {
|
|
59
|
+
type: MessageType;
|
|
60
|
+
isTextMessage(): this is TextMessage;
|
|
61
|
+
isActionExecutionMessage(): this is ActionExecutionMessage;
|
|
62
|
+
isResultMessage(): this is ResultMessage;
|
|
63
|
+
isAgentStateMessage(): this is AgentStateMessage;
|
|
64
|
+
isImageMessage(): this is ImageMessage;
|
|
65
|
+
}
|
|
66
|
+
declare class TextMessage extends Message implements TextMessageInput {
|
|
67
|
+
type: MessageType;
|
|
68
|
+
content: string;
|
|
69
|
+
role: MessageRole;
|
|
70
|
+
parentMessageId?: string;
|
|
71
|
+
}
|
|
72
|
+
declare class ActionExecutionMessage extends Message implements Omit<ActionExecutionMessageInput, "arguments" | "scope"> {
|
|
73
|
+
type: MessageType;
|
|
74
|
+
name: string;
|
|
75
|
+
arguments: Record<string, any>;
|
|
76
|
+
parentMessageId?: string;
|
|
77
|
+
}
|
|
78
|
+
declare class ResultMessage extends Message implements ResultMessageInput {
|
|
79
|
+
type: MessageType;
|
|
80
|
+
actionExecutionId: string;
|
|
81
|
+
actionName: string;
|
|
82
|
+
result: string;
|
|
83
|
+
static encodeResult(result: any, error?: {
|
|
84
|
+
code: string;
|
|
85
|
+
message: string;
|
|
86
|
+
} | string | Error): string;
|
|
87
|
+
static decodeResult(result: string): {
|
|
88
|
+
error?: {
|
|
89
|
+
code: string;
|
|
90
|
+
message: string;
|
|
91
|
+
};
|
|
92
|
+
result: string;
|
|
93
|
+
};
|
|
94
|
+
hasError(): boolean;
|
|
95
|
+
getError(): {
|
|
96
|
+
code: string;
|
|
97
|
+
message: string;
|
|
98
|
+
} | undefined;
|
|
99
|
+
}
|
|
100
|
+
declare class AgentStateMessage extends Message implements Omit<AgentStateMessageInput, "state"> {
|
|
101
|
+
type: MessageType;
|
|
102
|
+
threadId: string;
|
|
103
|
+
agentName: string;
|
|
104
|
+
nodeName: string;
|
|
105
|
+
runId: string;
|
|
106
|
+
active: boolean;
|
|
107
|
+
role: MessageRole;
|
|
108
|
+
state: any;
|
|
109
|
+
running: boolean;
|
|
110
|
+
}
|
|
111
|
+
declare class ImageMessage extends Message implements ImageMessageInput {
|
|
112
|
+
type: MessageType;
|
|
113
|
+
format: string;
|
|
114
|
+
bytes: string;
|
|
115
|
+
role: MessageRole;
|
|
116
|
+
parentMessageId?: string;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
export { ActionInputAvailability as A, ImageMessage as I, Message as M, ResultMessage as R, TextMessage as T, ActionExecutionMessage as a, MessageInput as b, MessageType as c, AgentStateMessage as d };
|
package/dist/index.js
CHANGED
|
@@ -72,7 +72,7 @@ var require_package = __commonJS({
|
|
|
72
72
|
publishConfig: {
|
|
73
73
|
access: "public"
|
|
74
74
|
},
|
|
75
|
-
version: "1.50.0-beta.
|
|
75
|
+
version: "1.50.0-beta.12",
|
|
76
76
|
sideEffects: false,
|
|
77
77
|
main: "./dist/index.js",
|
|
78
78
|
module: "./dist/index.mjs",
|
|
@@ -124,8 +124,8 @@ var require_package = __commonJS({
|
|
|
124
124
|
},
|
|
125
125
|
dependencies: {
|
|
126
126
|
"@copilotkit/shared": "workspace:*",
|
|
127
|
-
"@copilotkitnext/agent": "0.0.
|
|
128
|
-
"@copilotkitnext/runtime": "0.0.
|
|
127
|
+
"@copilotkitnext/agent": "0.0.29",
|
|
128
|
+
"@copilotkitnext/runtime": "0.0.29",
|
|
129
129
|
"@graphql-yoga/plugin-defer-stream": "^3.3.1",
|
|
130
130
|
"@hono/node-server": "^1.13.5",
|
|
131
131
|
"@langchain/core": "^0.3.38",
|
|
@@ -3469,14 +3469,16 @@ var CopilotRuntime = class {
|
|
|
3469
3469
|
constructor(params) {
|
|
3470
3470
|
const agents = (params == null ? void 0 : params.agents) ?? {};
|
|
3471
3471
|
const endpointAgents = this.assignEndpointsToAgents((params == null ? void 0 : params.remoteEndpoints) ?? []);
|
|
3472
|
+
const baseRunner = (params == null ? void 0 : params.runner) ?? new runtime.InMemoryAgentRunner();
|
|
3473
|
+
const runner = shared.isTelemetryDisabled() ? baseRunner : new TelemetryAgentRunner({
|
|
3474
|
+
runner: baseRunner
|
|
3475
|
+
});
|
|
3472
3476
|
this.runtimeArgs = {
|
|
3473
3477
|
agents: {
|
|
3474
3478
|
...endpointAgents,
|
|
3475
3479
|
...agents
|
|
3476
3480
|
},
|
|
3477
|
-
|
|
3478
|
-
// Users can pass their own runner which will be wrapped for telemetry
|
|
3479
|
-
runner: (params == null ? void 0 : params.runner) ?? new TelemetryAgentRunner(),
|
|
3481
|
+
runner,
|
|
3480
3482
|
// TODO: add support for transcriptionService from CopilotRuntimeOptionsVNext once it is ready
|
|
3481
3483
|
// transcriptionService: params?.transcriptionService,
|
|
3482
3484
|
beforeRequestMiddleware: this.createOnBeforeRequestHandler(params).bind(this),
|
|
@@ -3569,11 +3571,24 @@ var CopilotRuntime = class {
|
|
|
3569
3571
|
}
|
|
3570
3572
|
createOnBeforeRequestHandler(params) {
|
|
3571
3573
|
return async (hookParams) => {
|
|
3572
|
-
var _a, _b;
|
|
3573
|
-
|
|
3574
|
-
|
|
3575
|
-
|
|
3576
|
-
|
|
3574
|
+
var _a, _b, _c, _d;
|
|
3575
|
+
const { request } = hookParams;
|
|
3576
|
+
const publicApiKey = request.headers.get("x-copilotcloud-public-api-key");
|
|
3577
|
+
const body = await shared.readBody(request);
|
|
3578
|
+
const forwardedProps = body.forwardedProps;
|
|
3579
|
+
const cloudBaseUrl = process.env.COPILOT_CLOUD_BASE_URL || "https://api.cloud.copilotkit.ai";
|
|
3580
|
+
telemetry_client_default.capture("oss.runtime.copilot_request_created", {
|
|
3581
|
+
"cloud.guardrails.enabled": ((_a = forwardedProps == null ? void 0 : forwardedProps.cloud) == null ? void 0 : _a.guardrails) !== void 0,
|
|
3582
|
+
requestType: ((_b = forwardedProps == null ? void 0 : forwardedProps.metadata) == null ? void 0 : _b.requestType) ?? "unknown",
|
|
3583
|
+
"cloud.api_key_provided": !!publicApiKey,
|
|
3584
|
+
...publicApiKey ? {
|
|
3585
|
+
"cloud.public_api_key": publicApiKey
|
|
3586
|
+
} : {},
|
|
3587
|
+
"cloud.base_url": cloudBaseUrl
|
|
3588
|
+
});
|
|
3589
|
+
(_c = params == null ? void 0 : params.beforeRequestMiddleware) == null ? void 0 : _c.call(params, hookParams);
|
|
3590
|
+
if ((_d = params == null ? void 0 : params.middleware) == null ? void 0 : _d.onBeforeRequest) {
|
|
3591
|
+
const { request: request2, runtime, path } = hookParams;
|
|
3577
3592
|
const gqlMessages = aguiToGQL(body.messages).reduce((acc, msg) => {
|
|
3578
3593
|
if ("role" in msg && msg.role === "user") {
|
|
3579
3594
|
acc.inputMessages.push(msg);
|
|
@@ -3591,7 +3606,7 @@ var CopilotRuntime = class {
|
|
|
3591
3606
|
runId: body.runId,
|
|
3592
3607
|
inputMessages,
|
|
3593
3608
|
properties: body.forwardedProps,
|
|
3594
|
-
url:
|
|
3609
|
+
url: request2.url
|
|
3595
3610
|
});
|
|
3596
3611
|
}
|
|
3597
3612
|
};
|