@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.
Files changed (70) hide show
  1. package/CHANGELOG.md +6 -3
  2. package/__snapshots__/schema/schema.graphql +0 -22
  3. package/dist/{chunk-CC3J37S6.mjs → chunk-AMCK7MAH.mjs} +2 -2
  4. package/dist/{chunk-JMW74TAS.mjs → chunk-BOAAK6EY.mjs} +2 -2
  5. package/dist/{chunk-4MRXXS22.mjs → chunk-CUVWSISN.mjs} +3 -3
  6. package/dist/{chunk-KOC3ZRO4.mjs → chunk-GEIBJJQ4.mjs} +2 -12
  7. package/dist/chunk-GEIBJJQ4.mjs.map +1 -0
  8. package/dist/{chunk-4AJIFDOJ.mjs → chunk-NJUL6GAV.mjs} +2 -2
  9. package/dist/{chunk-CSIQEWDR.mjs → chunk-RO5NLPB3.mjs} +12 -101
  10. package/dist/chunk-RO5NLPB3.mjs.map +1 -0
  11. package/dist/{chunk-UTUNGR2L.mjs → chunk-URMISMK2.mjs} +2 -2
  12. package/dist/{chunk-MISUYYBG.mjs → chunk-YJAUWNAJ.mjs} +28 -356
  13. package/dist/chunk-YJAUWNAJ.mjs.map +1 -0
  14. package/dist/graphql/types/converted/index.d.ts +1 -1
  15. package/dist/graphql/types/converted/index.js +0 -11
  16. package/dist/graphql/types/converted/index.js.map +1 -1
  17. package/dist/graphql/types/converted/index.mjs +1 -3
  18. package/dist/{groq-adapter-35a54596.d.ts → groq-adapter-675b30c6.d.ts} +1 -1
  19. package/dist/{index-9cfb4d1f.d.ts → index-aa091e3c.d.ts} +1 -18
  20. package/dist/index.d.ts +8 -8
  21. package/dist/index.js +31 -451
  22. package/dist/index.js.map +1 -1
  23. package/dist/index.mjs +8 -8
  24. package/dist/{langserve-b97a6817.d.ts → langserve-a54438c6.d.ts} +2 -11
  25. package/dist/lib/index.d.ts +8 -8
  26. package/dist/lib/index.js +31 -451
  27. package/dist/lib/index.js.map +1 -1
  28. package/dist/lib/index.mjs +8 -8
  29. package/dist/lib/integrations/index.d.ts +7 -7
  30. package/dist/lib/integrations/index.js +14 -132
  31. package/dist/lib/integrations/index.js.map +1 -1
  32. package/dist/lib/integrations/index.mjs +6 -6
  33. package/dist/lib/integrations/nest/index.d.ts +5 -5
  34. package/dist/lib/integrations/nest/index.js +14 -132
  35. package/dist/lib/integrations/nest/index.js.map +1 -1
  36. package/dist/lib/integrations/nest/index.mjs +4 -4
  37. package/dist/lib/integrations/node-express/index.d.ts +5 -5
  38. package/dist/lib/integrations/node-express/index.js +14 -132
  39. package/dist/lib/integrations/node-express/index.js.map +1 -1
  40. package/dist/lib/integrations/node-express/index.mjs +4 -4
  41. package/dist/lib/integrations/node-http/index.d.ts +5 -5
  42. package/dist/lib/integrations/node-http/index.js +14 -132
  43. package/dist/lib/integrations/node-http/index.js.map +1 -1
  44. package/dist/lib/integrations/node-http/index.mjs +3 -3
  45. package/dist/{pages-router-df63122a.d.ts → pages-router-df82c666.d.ts} +1 -1
  46. package/dist/service-adapters/index.d.ts +3 -3
  47. package/dist/service-adapters/index.js.map +1 -1
  48. package/dist/service-adapters/index.mjs +3 -3
  49. package/dist/{copilot-runtime-40b55575.d.ts → shared-ec6c7db5.d.ts} +35 -47
  50. package/package.json +4 -4
  51. package/src/graphql/inputs/message.input.ts +0 -24
  52. package/src/graphql/resolvers/copilot.resolver.ts +7 -40
  53. package/src/graphql/types/converted/index.ts +0 -10
  54. package/src/graphql/types/copilot-response.type.ts +0 -23
  55. package/src/lib/{runtime/copilot-runtime.ts → copilot-runtime.ts} +14 -123
  56. package/src/lib/index.ts +1 -1
  57. package/src/lib/integrations/shared.ts +1 -1
  58. package/src/service-adapters/conversion.ts +0 -14
  59. package/src/service-adapters/events.ts +8 -49
  60. package/dist/chunk-CSIQEWDR.mjs.map +0 -1
  61. package/dist/chunk-KOC3ZRO4.mjs.map +0 -1
  62. package/dist/chunk-MISUYYBG.mjs.map +0 -1
  63. package/src/agents/langgraph/event-source.ts +0 -29
  64. package/src/agents/langgraph/events.ts +0 -295
  65. package/src/lib/runtime/remote-actions.ts +0 -271
  66. /package/dist/{chunk-CC3J37S6.mjs.map → chunk-AMCK7MAH.mjs.map} +0 -0
  67. /package/dist/{chunk-JMW74TAS.mjs.map → chunk-BOAAK6EY.mjs.map} +0 -0
  68. /package/dist/{chunk-4MRXXS22.mjs.map → chunk-CUVWSISN.mjs.map} +0 -0
  69. /package/dist/{chunk-4AJIFDOJ.mjs.map → chunk-NJUL6GAV.mjs.map} +0 -0
  70. /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-feat-runtime-remote-actions.0
3
+ ## 1.1.1
4
4
 
5
5
  ### Patch Changes
6
6
 
7
- - Remote actions preview
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-feat-runtime-remote-actions.0
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-MISUYYBG.mjs";
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-CC3J37S6.mjs.map
79
+ //# sourceMappingURL=chunk-AMCK7MAH.mjs.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  copilotRuntimeNodeHttpEndpoint,
3
3
  telemetry_client_default
4
- } from "./chunk-MISUYYBG.mjs";
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-JMW74TAS.mjs.map
24
+ //# sourceMappingURL=chunk-BOAAK6EY.mjs.map
@@ -2,12 +2,12 @@ import {
2
2
  convertActionInputToLangChainTool,
3
3
  convertMessageToLangChainMessage,
4
4
  streamLangChainResponse
5
- } from "./chunk-UTUNGR2L.mjs";
5
+ } from "./chunk-URMISMK2.mjs";
6
6
  import {
7
7
  ActionExecutionMessage,
8
8
  ResultMessage,
9
9
  TextMessage
10
- } from "./chunk-KOC3ZRO4.mjs";
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-4MRXXS22.mjs.map
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-KOC3ZRO4.mjs.map
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-MISUYYBG.mjs";
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-4AJIFDOJ.mjs.map
24
+ //# sourceMappingURL=chunk-NJUL6GAV.mjs.map
@@ -1,23 +1,19 @@
1
1
  import {
2
2
  RemoteChain
3
- } from "./chunk-4MRXXS22.mjs";
3
+ } from "./chunk-CUVWSISN.mjs";
4
4
  import {
5
- RuntimeEventSource,
6
- executeAgent,
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-KOC3ZRO4.mjs";
11
+ } from "./chunk-GEIBJJQ4.mjs";
16
12
  import {
17
13
  __name
18
14
  } from "./chunk-44O2JGUY.mjs";
19
15
 
20
- // src/lib/runtime/copilot-runtime.ts
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/runtime/copilot-runtime.ts
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
- if (request.messages.length > 0) {
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: graphqlContext.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: graphqlContext.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: graphqlContext.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-CSIQEWDR.mjs.map
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":";;;;;;;;;;;;;;;;AAcA,SAAiBA,oCAA+C;;;ACPhE,SAASC,uBAAuB;AAEzB,SAASC,0BAA0BC,eAA6B;AACrE,QAAMC,WAAsB,CAAA;AAE5B,aAAWC,WAAWF,eAAe;AACnC,QAAIE,QAAQC,aAAa;AACvBF,eAASG,KACPC,gBAAgBC,aAAa;QAC3BC,IAAIL,QAAQK;QACZC,WAAWN,QAAQM;QACnBC,MAAMP,QAAQC,YAAYM;QAC1BC,SAASR,QAAQC,YAAYO;MAC/B,CAAA,CAAA;IAEJ,WAAWR,QAAQS,wBAAwB;AACzCV,eAASG,KACPC,gBAAgBO,wBAAwB;QACtCL,IAAIL,QAAQK;QACZC,WAAWN,QAAQM;QACnBK,MAAMX,QAAQS,uBAAuBE;QACrCC,WAAWC,KAAKC,MAAMd,QAAQS,uBAAuBG,SAAS;QAC9DG,OAAOf,QAAQS,uBAAuBM;MACxC,CAAA,CAAA;IAEJ,WAAWf,QAAQgB,eAAe;AAChCjB,eAASG,KACPC,gBAAgBc,eAAe;QAC7BZ,IAAIL,QAAQK;QACZC,WAAWN,QAAQM;QACnBY,mBAAmBlB,QAAQgB,cAAcE;QACzCC,YAAYnB,QAAQgB,cAAcG;QAClCC,QAAQpB,QAAQgB,cAAcI;MAChC,CAAA,CAAA;IAEJ;EACF;AAEA,SAAOrB;AACT;AArCgBF;;;ADwGT,IAAMwB,iBAAN,MAAMA;EACJC;EACCC,YAAoC,CAAA;EACpCC;EACAC;EAERC,YAAYC,QAA6C;AAvH3D;AAwHI,SAAKL,WAAUK,iCAAQL,YAAW,CAAA;AAElC,eAAWM,UAASD,iCAAQJ,cAAa,CAAA,GAAI;AAC3C,YAAMM,cAAc,IAAIC,YAAYF,KAAAA;AACpC,WAAKL,UAAUQ,KAAKF,YAAYG,SAAQ,CAAA;IAC1C;AAEA,SAAKR,mBAAkBG,sCAAQM,eAARN,mBAAoBH;AAC3C,SAAKC,kBAAiBE,sCAAQM,eAARN,mBAAoBF;EAC5C;EAEA,MAAMS,QAAQC,SAAiE;AAnIjF;AAoII,UAAM,EACJC,gBACAC,UACAf,SAASgB,wBACTC,UACAC,OACAC,YACAC,uBACAC,oBAAmB,IACjBR;AACJ,UAAMS,qBAAoC,CAAA;AAE1C,eAAWC,gBAAgB,KAAKtB,WAAW;AACzC,UAAI;AACF,cAAMK,QAAQ,MAAMiB;AACpBD,2BAAmBb,KAAKH,KAAAA;MAC1B,SAASkB,OAAP;AACAC,gBAAQD,MAAM,kCAAkCA,KAAAA;MAClD;IACF;AAEA,UAAME,oBACJ,OAAO,KAAK1B,YAAY,aAAa,KAAKA,QAAQ;MAAEmB;IAAW,CAAA,IAAK,KAAKnB;AAE3E,UAAMA,UAAU;SAAI0B;SAAsBJ;;AAE1C,UAAMK,yBAAwC3B,QAAQ4B,IAAI,CAACC,YAAY;MACrEC,MAAMD,OAAOC;MACbC,aAAaF,OAAOE;MACpBC,YAAYC,KAAKC,UAAUC,6BAA6BN,OAAOO,UAAU,CAAA;IAC3E,EAAA;AAEA,UAAMC,eAAeC,6BAA6B;SAC7CX;SACAX;KACJ;AACD,UAAMuB,gBAAgBC,0BAA0BzB,QAAAA;AAEhD,YAAM,UAAKb,oBAAL,8BAAuB;MAC3Be;MACAC;MACAqB;MACApB;IACF;AAEA,QAAI;AACF,YAAMsB,cAAc,IAAIC,mBAAAA;AAExB,YAAMC,SAAS,MAAM7B,eAAeF,QAAQ;QAC1CG,UAAUwB;QACVvC,SAASqC;QACTpB;QACAC;QACAuB;QACApB;MACF,CAAA;AAEAD,4BACGwB,KAAK,CAACC,mBAAAA;AA9Lf,YAAAC;AA+LU,SAAAA,MAAA,KAAK3C,mBAAL,gBAAA2C,IAAA,WAAsB;UACpB7B,UAAU0B,OAAO1B;UACjBC,OAAOyB,OAAOzB;UACdqB;UACAM;UACA1B;QACF;MACF,CAAA,EACC4B,MAAM,CAACC,WAAAA;MAAY,CAAA;AAEtB,aAAO;QACL/B,UAAU0B,OAAO1B;QACjBC,OAAOyB,OAAOzB;QACduB;QACAzC;MACF;IACF,SAASwB,OAAP;AACAC,cAAQD,MAAM,2BAA2BA,KAAAA;AACzC,YAAMA;IACR;EACF;AACF;AAnGazB;AAqGN,SAASuC,6BAA6BW,iBAA8B;AACzE,MAAIC,WAA0B,CAAA;AAC9B,QAAMC,eAAyB,CAAA;AAC/B,aAAWC,QAAQH,iBAAiB;AAClC,QAAI,CAACE,aAAaE,SAASD,KAAKtB,IAAI,GAAG;AACrCoB,eAASzC,KAAK2C,IAAAA;AACdD,mBAAa1C,KAAK2C,KAAKtB,IAAI;IAC7B;EACF;AACA,SAAOoB;AACT;AAVgBZ;","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-KOC3ZRO4.mjs";
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-UTUNGR2L.mjs.map
207
+ //# sourceMappingURL=chunk-URMISMK2.mjs.map