@copilotkit/runtime 1.1.1-feat-runtime-remote-actions.0 → 1.1.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 +6 -3
- package/__snapshots__/schema/schema.graphql +0 -22
- package/dist/{chunk-CC3J37S6.mjs → chunk-AMCK7MAH.mjs} +2 -2
- package/dist/{chunk-JMW74TAS.mjs → chunk-BOAAK6EY.mjs} +2 -2
- package/dist/{chunk-4MRXXS22.mjs → chunk-CUVWSISN.mjs} +3 -3
- package/dist/{chunk-KOC3ZRO4.mjs → chunk-GEIBJJQ4.mjs} +2 -12
- package/dist/chunk-GEIBJJQ4.mjs.map +1 -0
- package/dist/{chunk-4AJIFDOJ.mjs → chunk-NJUL6GAV.mjs} +2 -2
- package/dist/{chunk-CSIQEWDR.mjs → chunk-RO5NLPB3.mjs} +12 -101
- package/dist/chunk-RO5NLPB3.mjs.map +1 -0
- package/dist/{chunk-UTUNGR2L.mjs → chunk-URMISMK2.mjs} +2 -2
- package/dist/{chunk-MISUYYBG.mjs → chunk-YJAUWNAJ.mjs} +28 -356
- package/dist/chunk-YJAUWNAJ.mjs.map +1 -0
- package/dist/graphql/types/converted/index.d.ts +1 -1
- package/dist/graphql/types/converted/index.js +0 -11
- package/dist/graphql/types/converted/index.js.map +1 -1
- package/dist/graphql/types/converted/index.mjs +1 -3
- package/dist/{groq-adapter-35a54596.d.ts → groq-adapter-675b30c6.d.ts} +1 -1
- package/dist/{index-9cfb4d1f.d.ts → index-aa091e3c.d.ts} +1 -18
- package/dist/index.d.ts +8 -8
- package/dist/index.js +31 -451
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +8 -8
- package/dist/{langserve-b97a6817.d.ts → langserve-a54438c6.d.ts} +2 -11
- package/dist/lib/index.d.ts +8 -8
- package/dist/lib/index.js +31 -451
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/index.mjs +8 -8
- package/dist/lib/integrations/index.d.ts +7 -7
- package/dist/lib/integrations/index.js +14 -132
- package/dist/lib/integrations/index.js.map +1 -1
- package/dist/lib/integrations/index.mjs +6 -6
- package/dist/lib/integrations/nest/index.d.ts +5 -5
- package/dist/lib/integrations/nest/index.js +14 -132
- package/dist/lib/integrations/nest/index.js.map +1 -1
- package/dist/lib/integrations/nest/index.mjs +4 -4
- package/dist/lib/integrations/node-express/index.d.ts +5 -5
- package/dist/lib/integrations/node-express/index.js +14 -132
- package/dist/lib/integrations/node-express/index.js.map +1 -1
- package/dist/lib/integrations/node-express/index.mjs +4 -4
- package/dist/lib/integrations/node-http/index.d.ts +5 -5
- package/dist/lib/integrations/node-http/index.js +14 -132
- package/dist/lib/integrations/node-http/index.js.map +1 -1
- package/dist/lib/integrations/node-http/index.mjs +3 -3
- package/dist/{pages-router-df63122a.d.ts → pages-router-df82c666.d.ts} +1 -1
- package/dist/service-adapters/index.d.ts +3 -3
- package/dist/service-adapters/index.js.map +1 -1
- package/dist/service-adapters/index.mjs +3 -3
- package/dist/{copilot-runtime-40b55575.d.ts → shared-ec6c7db5.d.ts} +35 -47
- package/package.json +4 -4
- package/src/graphql/inputs/message.input.ts +0 -24
- package/src/graphql/resolvers/copilot.resolver.ts +7 -40
- package/src/graphql/types/converted/index.ts +0 -10
- package/src/graphql/types/copilot-response.type.ts +0 -23
- package/src/lib/{runtime/copilot-runtime.ts → copilot-runtime.ts} +14 -123
- package/src/lib/index.ts +1 -1
- package/src/lib/integrations/shared.ts +1 -1
- package/src/service-adapters/conversion.ts +0 -14
- package/src/service-adapters/events.ts +8 -49
- package/dist/chunk-CSIQEWDR.mjs.map +0 -1
- package/dist/chunk-KOC3ZRO4.mjs.map +0 -1
- package/dist/chunk-MISUYYBG.mjs.map +0 -1
- package/src/agents/langgraph/event-source.ts +0 -29
- package/src/agents/langgraph/events.ts +0 -295
- package/src/lib/runtime/remote-actions.ts +0 -271
- /package/dist/{chunk-CC3J37S6.mjs.map → chunk-AMCK7MAH.mjs.map} +0 -0
- /package/dist/{chunk-JMW74TAS.mjs.map → chunk-BOAAK6EY.mjs.map} +0 -0
- /package/dist/{chunk-4MRXXS22.mjs.map → chunk-CUVWSISN.mjs.map} +0 -0
- /package/dist/{chunk-4AJIFDOJ.mjs.map → chunk-NJUL6GAV.mjs.map} +0 -0
- /package/dist/{chunk-UTUNGR2L.mjs.map → chunk-URMISMK2.mjs.map} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
# @copilotkit/runtime
|
|
2
2
|
|
|
3
|
-
## 1.1.1
|
|
3
|
+
## 1.1.1
|
|
4
4
|
|
|
5
5
|
### Patch Changes
|
|
6
6
|
|
|
7
|
-
-
|
|
7
|
+
- - improved documentation
|
|
8
|
+
- center textarea popup
|
|
9
|
+
- show/hide dev console
|
|
10
|
+
- forward maxTokens, stop and force function calling
|
|
8
11
|
- Updated dependencies
|
|
9
|
-
- @copilotkit/shared@1.1.1
|
|
12
|
+
- @copilotkit/shared@1.1.1
|
|
10
13
|
|
|
11
14
|
## 1.1.0
|
|
12
15
|
|
|
@@ -30,27 +30,6 @@ input ActionInput {
|
|
|
30
30
|
name: String!
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
input AgentMessageInput {
|
|
34
|
-
agentName: String!
|
|
35
|
-
nodeName: String!
|
|
36
|
-
role: MessageRole!
|
|
37
|
-
running: Boolean!
|
|
38
|
-
state: String!
|
|
39
|
-
threadId: String!
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
type AgentMessageOutput implements BaseMessageOutput {
|
|
43
|
-
agentName: String!
|
|
44
|
-
createdAt: DateTimeISO!
|
|
45
|
-
id: String!
|
|
46
|
-
nodeName: String!
|
|
47
|
-
role: MessageRole!
|
|
48
|
-
running: Boolean!
|
|
49
|
-
state: String!
|
|
50
|
-
status: MessageStatus!
|
|
51
|
-
threadId: String!
|
|
52
|
-
}
|
|
53
|
-
|
|
54
33
|
interface BaseMessageOutput {
|
|
55
34
|
createdAt: DateTimeISO!
|
|
56
35
|
id: String!
|
|
@@ -151,7 +130,6 @@ scalar JSONObject @specifiedBy(url: "http://www.ecma-international.org/publicati
|
|
|
151
130
|
|
|
152
131
|
input MessageInput {
|
|
153
132
|
actionExecutionMessage: ActionExecutionMessageInput
|
|
154
|
-
agentMessage: AgentMessageInput
|
|
155
133
|
createdAt: DateTimeISO!
|
|
156
134
|
id: String!
|
|
157
135
|
resultMessage: ResultMessageInput
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getCommonConfig,
|
|
3
3
|
telemetry_client_default
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-YJAUWNAJ.mjs";
|
|
5
5
|
import {
|
|
6
6
|
__name
|
|
7
7
|
} from "./chunk-44O2JGUY.mjs";
|
|
@@ -76,4 +76,4 @@ export {
|
|
|
76
76
|
config,
|
|
77
77
|
copilotRuntimeNextJSPagesRouterEndpoint
|
|
78
78
|
};
|
|
79
|
-
//# sourceMappingURL=chunk-
|
|
79
|
+
//# sourceMappingURL=chunk-AMCK7MAH.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
copilotRuntimeNodeHttpEndpoint,
|
|
3
3
|
telemetry_client_default
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-YJAUWNAJ.mjs";
|
|
5
5
|
import {
|
|
6
6
|
__name
|
|
7
7
|
} from "./chunk-44O2JGUY.mjs";
|
|
@@ -21,4 +21,4 @@ __name(copilotRuntimeNestEndpoint, "copilotRuntimeNestEndpoint");
|
|
|
21
21
|
export {
|
|
22
22
|
copilotRuntimeNestEndpoint
|
|
23
23
|
};
|
|
24
|
-
//# sourceMappingURL=chunk-
|
|
24
|
+
//# sourceMappingURL=chunk-BOAAK6EY.mjs.map
|
|
@@ -2,12 +2,12 @@ import {
|
|
|
2
2
|
convertActionInputToLangChainTool,
|
|
3
3
|
convertMessageToLangChainMessage,
|
|
4
4
|
streamLangChainResponse
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-URMISMK2.mjs";
|
|
6
6
|
import {
|
|
7
7
|
ActionExecutionMessage,
|
|
8
8
|
ResultMessage,
|
|
9
9
|
TextMessage
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-GEIBJJQ4.mjs";
|
|
11
11
|
import {
|
|
12
12
|
__name
|
|
13
13
|
} from "./chunk-44O2JGUY.mjs";
|
|
@@ -881,4 +881,4 @@ export {
|
|
|
881
881
|
UnifyAdapter,
|
|
882
882
|
GroqAdapter
|
|
883
883
|
};
|
|
884
|
-
//# sourceMappingURL=chunk-
|
|
884
|
+
//# sourceMappingURL=chunk-CUVWSISN.mjs.map
|
|
@@ -23,20 +23,10 @@ var ResultMessage = class extends BaseMessage {
|
|
|
23
23
|
result;
|
|
24
24
|
};
|
|
25
25
|
__name(ResultMessage, "ResultMessage");
|
|
26
|
-
var AgentMessage = class extends BaseMessage {
|
|
27
|
-
threadId;
|
|
28
|
-
agentName;
|
|
29
|
-
nodeName;
|
|
30
|
-
role;
|
|
31
|
-
state;
|
|
32
|
-
running;
|
|
33
|
-
};
|
|
34
|
-
__name(AgentMessage, "AgentMessage");
|
|
35
26
|
|
|
36
27
|
export {
|
|
37
28
|
TextMessage,
|
|
38
29
|
ActionExecutionMessage,
|
|
39
|
-
ResultMessage
|
|
40
|
-
AgentMessage
|
|
30
|
+
ResultMessage
|
|
41
31
|
};
|
|
42
|
-
//# sourceMappingURL=chunk-
|
|
32
|
+
//# sourceMappingURL=chunk-GEIBJJQ4.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/graphql/types/converted/index.ts"],"sourcesContent":["import {\n ActionExecutionMessageInput,\n ResultMessageInput,\n TextMessageInput,\n} from \"../../inputs/message.input\";\nimport { BaseMessage } from \"../base\";\nimport { ActionExecutionScope, MessageRole } from \"../enums\";\n\nexport class TextMessage extends BaseMessage implements TextMessageInput {\n content: string;\n role: MessageRole;\n}\n\nexport type Message = BaseMessage;\n\nexport class ActionExecutionMessage\n extends BaseMessage\n implements Omit<ActionExecutionMessageInput, \"arguments\">\n{\n name: string;\n arguments: Record<string, any>;\n scope: ActionExecutionScope;\n}\n\nexport class ResultMessage extends BaseMessage implements ResultMessageInput {\n actionExecutionId: string;\n actionName: string;\n result: string;\n}\n"],"mappings":";;;;;;;;AAQO,IAAMA,cAAN,cAA0BC,YAAAA;EAC/BC;EACAC;AACF;AAHaH;AAON,IAAMI,yBAAN,cACGH,YAAAA;EAGRI;EACAC;EACAC;AACF;AAPaH;AASN,IAAMI,gBAAN,cAA4BP,YAAAA;EACjCQ;EACAC;EACAC;AACF;AAJaH;","names":["TextMessage","BaseMessage","content","role","ActionExecutionMessage","name","arguments","scope","ResultMessage","actionExecutionId","actionName","result"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
copilotRuntimeNodeHttpEndpoint,
|
|
3
3
|
telemetry_client_default
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-YJAUWNAJ.mjs";
|
|
5
5
|
import {
|
|
6
6
|
__name
|
|
7
7
|
} from "./chunk-44O2JGUY.mjs";
|
|
@@ -21,4 +21,4 @@ __name(copilotRuntimeNodeExpressEndpoint, "copilotRuntimeNodeExpressEndpoint");
|
|
|
21
21
|
export {
|
|
22
22
|
copilotRuntimeNodeExpressEndpoint
|
|
23
23
|
};
|
|
24
|
-
//# sourceMappingURL=chunk-
|
|
24
|
+
//# sourceMappingURL=chunk-NJUL6GAV.mjs.map
|
|
@@ -1,23 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
RemoteChain
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-CUVWSISN.mjs";
|
|
4
4
|
import {
|
|
5
|
-
RuntimeEventSource
|
|
6
|
-
|
|
7
|
-
fetchRemoteActionLocations,
|
|
8
|
-
setupRemoteActions
|
|
9
|
-
} from "./chunk-MISUYYBG.mjs";
|
|
5
|
+
RuntimeEventSource
|
|
6
|
+
} from "./chunk-YJAUWNAJ.mjs";
|
|
10
7
|
import {
|
|
11
8
|
ActionExecutionMessage,
|
|
12
|
-
AgentMessage,
|
|
13
9
|
ResultMessage,
|
|
14
10
|
TextMessage
|
|
15
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-GEIBJJQ4.mjs";
|
|
16
12
|
import {
|
|
17
13
|
__name
|
|
18
14
|
} from "./chunk-44O2JGUY.mjs";
|
|
19
15
|
|
|
20
|
-
// src/lib/
|
|
16
|
+
// src/lib/copilot-runtime.ts
|
|
21
17
|
import { actionParametersToJsonSchema } from "@copilotkit/shared";
|
|
22
18
|
|
|
23
19
|
// src/service-adapters/conversion.ts
|
|
@@ -48,27 +44,15 @@ function convertGqlInputToMessages(inputMessages) {
|
|
|
48
44
|
actionName: message.resultMessage.actionName,
|
|
49
45
|
result: message.resultMessage.result
|
|
50
46
|
}));
|
|
51
|
-
} else if (message.agentMessage) {
|
|
52
|
-
messages.push(plainToInstance(AgentMessage, {
|
|
53
|
-
id: message.id,
|
|
54
|
-
threadId: message.agentMessage.threadId,
|
|
55
|
-
createdAt: message.createdAt,
|
|
56
|
-
agentName: message.agentMessage.agentName,
|
|
57
|
-
nodeName: message.agentMessage.nodeName,
|
|
58
|
-
role: message.agentMessage.role,
|
|
59
|
-
state: message.agentMessage.state,
|
|
60
|
-
running: message.agentMessage.running
|
|
61
|
-
}));
|
|
62
47
|
}
|
|
63
48
|
}
|
|
64
49
|
return messages;
|
|
65
50
|
}
|
|
66
51
|
__name(convertGqlInputToMessages, "convertGqlInputToMessages");
|
|
67
52
|
|
|
68
|
-
// src/lib/
|
|
53
|
+
// src/lib/copilot-runtime.ts
|
|
69
54
|
var CopilotRuntime = class {
|
|
70
55
|
actions;
|
|
71
|
-
remoteActionDefinitions;
|
|
72
56
|
langserve = [];
|
|
73
57
|
onBeforeRequest;
|
|
74
58
|
onAfterRequest;
|
|
@@ -79,80 +63,12 @@ var CopilotRuntime = class {
|
|
|
79
63
|
const remoteChain = new RemoteChain(chain);
|
|
80
64
|
this.langserve.push(remoteChain.toAction());
|
|
81
65
|
}
|
|
82
|
-
this.remoteActionDefinitions = (params == null ? void 0 : params.remoteActions) || [];
|
|
83
66
|
this.onBeforeRequest = (_a = params == null ? void 0 : params.middleware) == null ? void 0 : _a.onBeforeRequest;
|
|
84
67
|
this.onAfterRequest = (_b = params == null ? void 0 : params.middleware) == null ? void 0 : _b.onAfterRequest;
|
|
85
68
|
}
|
|
86
|
-
async processAgentRequest(request) {
|
|
87
|
-
var _a;
|
|
88
|
-
const { messages, outputMessagesPromise, graphqlContext } = request;
|
|
89
|
-
const message = request.messages.slice(-1)[0].agentMessage;
|
|
90
|
-
const agentName = message.agentName;
|
|
91
|
-
const threadId = message.threadId;
|
|
92
|
-
const state = JSON.parse(message.state);
|
|
93
|
-
const nodeName = message.nodeName;
|
|
94
|
-
const remoteActions = await fetchRemoteActionLocations({
|
|
95
|
-
remoteActionDefinitions: this.remoteActionDefinitions,
|
|
96
|
-
graphqlContext
|
|
97
|
-
});
|
|
98
|
-
const url = remoteActions.get(agentName);
|
|
99
|
-
if (!url) {
|
|
100
|
-
throw new Error(`Action location for agent name ${agentName} not found.`);
|
|
101
|
-
}
|
|
102
|
-
const inputMessages = convertGqlInputToMessages(messages);
|
|
103
|
-
await ((_a = this.onBeforeRequest) == null ? void 0 : _a.call(this, {
|
|
104
|
-
threadId,
|
|
105
|
-
runId: void 0,
|
|
106
|
-
inputMessages,
|
|
107
|
-
properties: graphqlContext.properties
|
|
108
|
-
}));
|
|
109
|
-
try {
|
|
110
|
-
const eventSource = new RuntimeEventSource();
|
|
111
|
-
const result = await executeAgent({
|
|
112
|
-
agentName,
|
|
113
|
-
nodeName,
|
|
114
|
-
threadId,
|
|
115
|
-
state,
|
|
116
|
-
url,
|
|
117
|
-
graphqlContext,
|
|
118
|
-
logger: graphqlContext.logger
|
|
119
|
-
});
|
|
120
|
-
eventSource.stream(async (eventStream$) => {
|
|
121
|
-
eventStream$.sendAgentMessage(result.threadId, agentName, result.nodeName, result.state, result.running);
|
|
122
|
-
eventStream$.complete();
|
|
123
|
-
});
|
|
124
|
-
outputMessagesPromise.then((outputMessages) => {
|
|
125
|
-
var _a2;
|
|
126
|
-
(_a2 = this.onAfterRequest) == null ? void 0 : _a2.call(this, {
|
|
127
|
-
threadId: result.threadId,
|
|
128
|
-
runId: void 0,
|
|
129
|
-
inputMessages,
|
|
130
|
-
outputMessages,
|
|
131
|
-
properties: graphqlContext.properties
|
|
132
|
-
});
|
|
133
|
-
}).catch((_error) => {
|
|
134
|
-
});
|
|
135
|
-
return {
|
|
136
|
-
threadId: result.threadId,
|
|
137
|
-
runId: void 0,
|
|
138
|
-
eventSource,
|
|
139
|
-
actions: []
|
|
140
|
-
};
|
|
141
|
-
} catch (error) {
|
|
142
|
-
console.error("Error getting response:", error);
|
|
143
|
-
throw error;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
69
|
async process(request) {
|
|
147
70
|
var _a;
|
|
148
|
-
|
|
149
|
-
const [lastMessage] = request.messages.slice(-1);
|
|
150
|
-
if (lastMessage.agentMessage) {
|
|
151
|
-
return this.processAgentRequest(request);
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
const { serviceAdapter, messages: rawMessages, actions: clientSideActionsInput, threadId, runId, outputMessagesPromise, graphqlContext, forwardedParameters } = request;
|
|
155
|
-
const messages = rawMessages.filter((message) => !message.agentMessage);
|
|
71
|
+
const { serviceAdapter, messages, actions: clientSideActionsInput, threadId, runId, properties, outputMessagesPromise, forwardedParameters } = request;
|
|
156
72
|
const langserveFunctions = [];
|
|
157
73
|
for (const chainPromise of this.langserve) {
|
|
158
74
|
try {
|
|
@@ -162,17 +78,12 @@ var CopilotRuntime = class {
|
|
|
162
78
|
console.error("Error loading langserve chain:", error);
|
|
163
79
|
}
|
|
164
80
|
}
|
|
165
|
-
const remoteActions = await setupRemoteActions({
|
|
166
|
-
remoteActionDefinitions: this.remoteActionDefinitions,
|
|
167
|
-
graphqlContext
|
|
168
|
-
});
|
|
169
81
|
const configuredActions = typeof this.actions === "function" ? this.actions({
|
|
170
|
-
properties
|
|
82
|
+
properties
|
|
171
83
|
}) : this.actions;
|
|
172
84
|
const actions = [
|
|
173
85
|
...configuredActions,
|
|
174
|
-
...langserveFunctions
|
|
175
|
-
...remoteActions
|
|
86
|
+
...langserveFunctions
|
|
176
87
|
];
|
|
177
88
|
const serverSideActionsInput = actions.map((action) => ({
|
|
178
89
|
name: action.name,
|
|
@@ -188,7 +99,7 @@ var CopilotRuntime = class {
|
|
|
188
99
|
threadId,
|
|
189
100
|
runId,
|
|
190
101
|
inputMessages,
|
|
191
|
-
properties
|
|
102
|
+
properties
|
|
192
103
|
}));
|
|
193
104
|
try {
|
|
194
105
|
const eventSource = new RuntimeEventSource();
|
|
@@ -207,7 +118,7 @@ var CopilotRuntime = class {
|
|
|
207
118
|
runId: result.runId,
|
|
208
119
|
inputMessages,
|
|
209
120
|
outputMessages,
|
|
210
|
-
properties
|
|
121
|
+
properties
|
|
211
122
|
});
|
|
212
123
|
}).catch((_error) => {
|
|
213
124
|
});
|
|
@@ -241,4 +152,4 @@ export {
|
|
|
241
152
|
CopilotRuntime,
|
|
242
153
|
flattenToolCallsNoDuplicates
|
|
243
154
|
};
|
|
244
|
-
//# sourceMappingURL=chunk-
|
|
155
|
+
//# sourceMappingURL=chunk-RO5NLPB3.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/copilot-runtime.ts","../src/service-adapters/conversion.ts"],"sourcesContent":["/**\n * <Callout type=\"info\">\n * This is the reference for the `CopilotRuntime` class. For more information and example code snippets, please see [Concept: Copilot Runtime](/concepts/copilot-runtime).\n * </Callout>\n *\n * ## Usage\n *\n * ```tsx\n * import { CopilotRuntime } from \"@copilotkit/runtime\";\n *\n * const copilotKit = new CopilotRuntime();\n * ```\n */\n\nimport { Action, actionParametersToJsonSchema, Parameter } from \"@copilotkit/shared\";\nimport { RemoteChain, RemoteChainParameters, CopilotServiceAdapter } from \"../service-adapters\";\nimport { MessageInput } from \"../graphql/inputs/message.input\";\nimport { ActionInput } from \"../graphql/inputs/action.input\";\nimport { RuntimeEventSource } from \"../service-adapters/events\";\nimport { convertGqlInputToMessages } from \"../service-adapters/conversion\";\nimport { Message } from \"../graphql/types/converted\";\nimport { ForwardedParametersInput } from \"../graphql/inputs/forwarded-parameters.input\";\n\ninterface CopilotRuntimeRequest {\n serviceAdapter: CopilotServiceAdapter;\n messages: MessageInput[];\n actions: ActionInput[];\n outputMessagesPromise: Promise<Message[]>;\n properties: any;\n threadId?: string;\n runId?: string;\n publicApiKey?: string;\n forwardedParameters?: ForwardedParametersInput;\n}\n\ninterface CopilotRuntimeResponse {\n threadId: string;\n runId?: string;\n eventSource: RuntimeEventSource;\n actions: Action<any>[];\n}\n\ntype ActionsConfiguration<T extends Parameter[] | [] = []> =\n | Action<T>[]\n | ((ctx: { properties: any }) => Action<T>[]);\n\ninterface OnBeforeRequestOptions {\n threadId?: string;\n runId?: string;\n inputMessages: Message[];\n properties: any;\n}\n\ntype OnBeforeRequestHandler = (options: OnBeforeRequestOptions) => void | Promise<void>;\n\ninterface OnAfterRequestOptions {\n threadId: string;\n runId?: string;\n inputMessages: Message[];\n outputMessages: Message[];\n properties: any;\n}\n\ntype OnAfterRequestHandler = (options: OnAfterRequestOptions) => void | Promise<void>;\n\ninterface Middleware {\n /**\n * A function that is called before the request is processed.\n */\n onBeforeRequest?: OnBeforeRequestHandler;\n\n /**\n * A function that is called after the request is processed.\n */\n onAfterRequest?: OnAfterRequestHandler;\n}\n\nexport interface CopilotRuntimeConstructorParams<T extends Parameter[] | [] = []> {\n /**\n * Middleware to be used by the runtime.\n *\n * ```ts\n * onBeforeRequest: (options: {\n * threadId?: string;\n * runId?: string;\n * inputMessages: Message[];\n * properties: any;\n * }) => void | Promise<void>;\n * ```\n *\n * ```ts\n * onAfterRequest: (options: {\n * threadId?: string;\n * runId?: string;\n * inputMessages: Message[];\n * outputMessages: Message[];\n * properties: any;\n * }) => void | Promise<void>;\n * ```\n */\n middleware?: Middleware;\n\n /*\n * A list of server side actions that can be executed.\n */\n actions?: ActionsConfiguration<T>;\n\n /*\n * An array of LangServer URLs.\n */\n langserve?: RemoteChainParameters[];\n}\n\nexport class CopilotRuntime<const T extends Parameter[] | [] = []> {\n public actions: ActionsConfiguration<T>;\n private langserve: Promise<Action<any>>[] = [];\n private onBeforeRequest?: OnBeforeRequestHandler;\n private onAfterRequest?: OnAfterRequestHandler;\n\n constructor(params?: CopilotRuntimeConstructorParams<T>) {\n this.actions = params?.actions || [];\n\n for (const chain of params?.langserve || []) {\n const remoteChain = new RemoteChain(chain);\n this.langserve.push(remoteChain.toAction());\n }\n\n this.onBeforeRequest = params?.middleware?.onBeforeRequest;\n this.onAfterRequest = params?.middleware?.onAfterRequest;\n }\n\n async process(request: CopilotRuntimeRequest): Promise<CopilotRuntimeResponse> {\n const {\n serviceAdapter,\n messages,\n actions: clientSideActionsInput,\n threadId,\n runId,\n properties,\n outputMessagesPromise,\n forwardedParameters,\n } = request;\n const langserveFunctions: Action<any>[] = [];\n\n for (const chainPromise of this.langserve) {\n try {\n const chain = await chainPromise;\n langserveFunctions.push(chain);\n } catch (error) {\n console.error(\"Error loading langserve chain:\", error);\n }\n }\n\n const configuredActions =\n typeof this.actions === \"function\" ? this.actions({ properties }) : this.actions;\n\n const actions = [...configuredActions, ...langserveFunctions];\n\n const serverSideActionsInput: ActionInput[] = actions.map((action) => ({\n name: action.name,\n description: action.description,\n jsonSchema: JSON.stringify(actionParametersToJsonSchema(action.parameters)),\n }));\n\n const actionInputs = flattenToolCallsNoDuplicates([\n ...serverSideActionsInput,\n ...clientSideActionsInput,\n ]);\n const inputMessages = convertGqlInputToMessages(messages);\n\n await this.onBeforeRequest?.({\n threadId,\n runId,\n inputMessages,\n properties,\n });\n\n try {\n const eventSource = new RuntimeEventSource();\n\n const result = await serviceAdapter.process({\n messages: inputMessages,\n actions: actionInputs,\n threadId,\n runId,\n eventSource,\n forwardedParameters,\n });\n\n outputMessagesPromise\n .then((outputMessages) => {\n this.onAfterRequest?.({\n threadId: result.threadId,\n runId: result.runId,\n inputMessages,\n outputMessages,\n properties,\n });\n })\n .catch((_error) => {});\n\n return {\n threadId: result.threadId,\n runId: result.runId,\n eventSource,\n actions: actions,\n };\n } catch (error) {\n console.error(\"Error getting response:\", error);\n throw error;\n }\n }\n}\n\nexport function flattenToolCallsNoDuplicates(toolsByPriority: ActionInput[]): ActionInput[] {\n let allTools: ActionInput[] = [];\n const allToolNames: string[] = [];\n for (const tool of toolsByPriority) {\n if (!allToolNames.includes(tool.name)) {\n allTools.push(tool);\n allToolNames.push(tool.name);\n }\n }\n return allTools;\n}\n","import {\n ActionExecutionMessage,\n Message,\n ResultMessage,\n TextMessage,\n} from \"../graphql/types/converted\";\nimport { MessageInput } from \"../graphql/inputs/message.input\";\nimport { plainToInstance } from \"class-transformer\";\n\nexport function convertGqlInputToMessages(inputMessages: MessageInput[]): Message[] {\n const messages: Message[] = [];\n\n for (const message of inputMessages) {\n if (message.textMessage) {\n messages.push(\n plainToInstance(TextMessage, {\n id: message.id,\n createdAt: message.createdAt,\n role: message.textMessage.role,\n content: message.textMessage.content,\n }),\n );\n } else if (message.actionExecutionMessage) {\n messages.push(\n plainToInstance(ActionExecutionMessage, {\n id: message.id,\n createdAt: message.createdAt,\n name: message.actionExecutionMessage.name,\n arguments: JSON.parse(message.actionExecutionMessage.arguments),\n scope: message.actionExecutionMessage.scope,\n }),\n );\n } else if (message.resultMessage) {\n messages.push(\n plainToInstance(ResultMessage, {\n id: message.id,\n createdAt: message.createdAt,\n actionExecutionId: message.resultMessage.actionExecutionId,\n actionName: message.resultMessage.actionName,\n result: message.resultMessage.result,\n }),\n );\n }\n }\n\n return messages;\n}\n"],"mappings":"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","names":["actionParametersToJsonSchema","plainToInstance","convertGqlInputToMessages","inputMessages","messages","message","textMessage","push","plainToInstance","TextMessage","id","createdAt","role","content","actionExecutionMessage","ActionExecutionMessage","name","arguments","JSON","parse","scope","resultMessage","ResultMessage","actionExecutionId","actionName","result","CopilotRuntime","actions","langserve","onBeforeRequest","onAfterRequest","constructor","params","chain","remoteChain","RemoteChain","push","toAction","middleware","process","request","serviceAdapter","messages","clientSideActionsInput","threadId","runId","properties","outputMessagesPromise","forwardedParameters","langserveFunctions","chainPromise","error","console","configuredActions","serverSideActionsInput","map","action","name","description","jsonSchema","JSON","stringify","actionParametersToJsonSchema","parameters","actionInputs","flattenToolCallsNoDuplicates","inputMessages","convertGqlInputToMessages","eventSource","RuntimeEventSource","result","then","outputMessages","_a","catch","_error","toolsByPriority","allTools","allToolNames","tool","includes"]}
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
ActionExecutionMessage,
|
|
3
3
|
ResultMessage,
|
|
4
4
|
TextMessage
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-GEIBJJQ4.mjs";
|
|
6
6
|
import {
|
|
7
7
|
__name
|
|
8
8
|
} from "./chunk-44O2JGUY.mjs";
|
|
@@ -204,4 +204,4 @@ export {
|
|
|
204
204
|
convertActionInputToLangChainTool,
|
|
205
205
|
streamLangChainResponse
|
|
206
206
|
};
|
|
207
|
-
//# sourceMappingURL=chunk-
|
|
207
|
+
//# sourceMappingURL=chunk-URMISMK2.mjs.map
|