@copilotkit/runtime 1.3.16-mme-azure-openai.0 → 1.3.16-mme-sdk-js.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 (67) hide show
  1. package/CHANGELOG.md +11 -3
  2. package/__snapshots__/schema/schema.graphql +1 -0
  3. package/dist/{chunk-MKZBH3Y6.mjs → chunk-2LR3IZ2Q.mjs} +2 -2
  4. package/dist/{chunk-MYZHUCL6.mjs → chunk-B74M7FXG.mjs} +1 -1
  5. package/dist/chunk-B74M7FXG.mjs.map +1 -0
  6. package/dist/{chunk-MVG266E4.mjs → chunk-BTAHXIKM.mjs} +37 -10
  7. package/dist/chunk-BTAHXIKM.mjs.map +1 -0
  8. package/dist/{chunk-CRSCH25P.mjs → chunk-CVLU3KWZ.mjs} +2 -2
  9. package/dist/{chunk-S5SYJ6JC.mjs → chunk-L23AVL2R.mjs} +2 -2
  10. package/dist/{chunk-YVZORQSA.mjs → chunk-VQXA3N5D.mjs} +675 -151
  11. package/dist/chunk-VQXA3N5D.mjs.map +1 -0
  12. package/dist/{chunk-BHSRGDL6.mjs → chunk-XE3SYKK4.mjs} +1 -4
  13. package/dist/chunk-XE3SYKK4.mjs.map +1 -0
  14. package/dist/{copilot-runtime-df3527ad.d.ts → copilot-runtime-543a59ae.d.ts} +29 -7
  15. package/dist/graphql/types/converted/index.d.ts +1 -1
  16. package/dist/graphql/types/converted/index.js.map +1 -1
  17. package/dist/graphql/types/converted/index.mjs +1 -1
  18. package/dist/{groq-adapter-798aff23.d.ts → groq-adapter-7aa25931.d.ts} +1 -34
  19. package/dist/{index-cff31380.d.ts → index-83ee522f.d.ts} +3 -2
  20. package/dist/index.d.ts +4 -4
  21. package/dist/index.js +747 -199
  22. package/dist/index.js.map +1 -1
  23. package/dist/index.mjs +13 -9
  24. package/dist/index.mjs.map +1 -1
  25. package/dist/{langserve-a14a6849.d.ts → langserve-f00629d2.d.ts} +1 -1
  26. package/dist/lib/index.d.ts +4 -4
  27. package/dist/lib/index.js +747 -199
  28. package/dist/lib/index.js.map +1 -1
  29. package/dist/lib/index.mjs +13 -9
  30. package/dist/lib/integrations/index.d.ts +4 -4
  31. package/dist/lib/integrations/index.js +4 -1
  32. package/dist/lib/integrations/index.js.map +1 -1
  33. package/dist/lib/integrations/index.mjs +5 -5
  34. package/dist/lib/integrations/nest/index.d.ts +3 -3
  35. package/dist/lib/integrations/nest/index.js +4 -1
  36. package/dist/lib/integrations/nest/index.js.map +1 -1
  37. package/dist/lib/integrations/nest/index.mjs +3 -3
  38. package/dist/lib/integrations/node-express/index.d.ts +3 -3
  39. package/dist/lib/integrations/node-express/index.js +4 -1
  40. package/dist/lib/integrations/node-express/index.js.map +1 -1
  41. package/dist/lib/integrations/node-express/index.mjs +3 -3
  42. package/dist/lib/integrations/node-http/index.d.ts +3 -3
  43. package/dist/lib/integrations/node-http/index.js +4 -1
  44. package/dist/lib/integrations/node-http/index.js.map +1 -1
  45. package/dist/lib/integrations/node-http/index.mjs +2 -2
  46. package/dist/service-adapters/index.d.ts +4 -4
  47. package/dist/service-adapters/index.js +0 -3
  48. package/dist/service-adapters/index.js.map +1 -1
  49. package/dist/service-adapters/index.mjs +1 -1
  50. package/package.json +6 -4
  51. package/src/agents/langgraph/event-source.ts +62 -94
  52. package/src/agents/langgraph/events.ts +27 -17
  53. package/src/graphql/types/converted/index.ts +5 -1
  54. package/src/graphql/types/enums.ts +1 -0
  55. package/src/lib/runtime/copilot-runtime.ts +58 -11
  56. package/src/lib/runtime/remote-action-constructors.ts +284 -0
  57. package/src/lib/runtime/remote-actions.ts +65 -159
  58. package/src/lib/runtime/remote-lg-cloud-action.ts +614 -0
  59. package/src/service-adapters/openai/openai-adapter.ts +0 -37
  60. package/src/service-adapters/openai/utils.ts +13 -9
  61. package/dist/chunk-BHSRGDL6.mjs.map +0 -1
  62. package/dist/chunk-MVG266E4.mjs.map +0 -1
  63. package/dist/chunk-MYZHUCL6.mjs.map +0 -1
  64. package/dist/chunk-YVZORQSA.mjs.map +0 -1
  65. /package/dist/{chunk-MKZBH3Y6.mjs.map → chunk-2LR3IZ2Q.mjs.map} +0 -0
  66. /package/dist/{chunk-CRSCH25P.mjs.map → chunk-CVLU3KWZ.mjs.map} +0 -0
  67. /package/dist/{chunk-S5SYJ6JC.mjs.map → chunk-L23AVL2R.mjs.map} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,12 +1,20 @@
1
1
  # @copilotkit/runtime
2
2
 
3
- ## 1.3.16-mme-azure-openai.0
3
+ ## 1.3.16-mme-sdk-js.1
4
4
 
5
5
  ### Patch Changes
6
6
 
7
- - Add support for Azure OpenAI
7
+ - Update lockfile
8
8
  - Updated dependencies
9
- - @copilotkit/shared@1.3.16-mme-azure-openai.0
9
+ - @copilotkit/shared@1.3.16-mme-sdk-js.1
10
+
11
+ ## 1.3.16-mme-sdk-js.0
12
+
13
+ ### Patch Changes
14
+
15
+ - Export LangGraph functions
16
+ - Updated dependencies
17
+ - @copilotkit/shared@1.3.16-mme-sdk-js.0
10
18
 
11
19
  ## 1.3.15
12
20
 
@@ -182,6 +182,7 @@ input MessageInput {
182
182
  enum MessageRole {
183
183
  assistant
184
184
  system
185
+ tool
185
186
  user
186
187
  }
187
188
 
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  copilotRuntimeNodeHttpEndpoint,
3
3
  telemetry_client_default
4
- } from "./chunk-YVZORQSA.mjs";
4
+ } from "./chunk-VQXA3N5D.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-MKZBH3Y6.mjs.map
24
+ //# sourceMappingURL=chunk-2LR3IZ2Q.mjs.map
@@ -62,4 +62,4 @@ export {
62
62
  ResultMessage,
63
63
  AgentStateMessage
64
64
  };
65
- //# sourceMappingURL=chunk-MYZHUCL6.mjs.map
65
+ //# sourceMappingURL=chunk-B74M7FXG.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/graphql/types/converted/index.ts"],"sourcesContent":["import {\n ActionExecutionMessageInput,\n ResultMessageInput,\n TextMessageInput,\n AgentStateMessageInput,\n} from \"../../inputs/message.input\";\nimport { BaseMessageInput } from \"../base\";\nimport { ActionExecutionScope, MessageRole } from \"../enums\";\n\nexport type MessageType =\n | \"TextMessage\"\n | \"ActionExecutionMessage\"\n | \"ResultMessage\"\n | \"AgentStateMessage\";\n\nexport class Message extends BaseMessageInput {\n type: MessageType;\n\n isTextMessage(): this is TextMessage {\n return this.type === \"TextMessage\";\n }\n\n isActionExecutionMessage(): this is ActionExecutionMessage {\n return this.type === \"ActionExecutionMessage\";\n }\n\n isResultMessage(): this is ResultMessage {\n return this.type === \"ResultMessage\";\n }\n\n isAgentStateMessage(): this is AgentStateMessage {\n return this.type === \"AgentStateMessage\";\n }\n}\n\nexport class TextMessage extends Message implements TextMessageInput {\n type: MessageType = \"TextMessage\";\n content: string;\n role: MessageRole;\n}\n\nexport class ActionExecutionMessage\n extends Message\n implements Omit<ActionExecutionMessageInput, \"arguments\">\n{\n type: MessageType = \"ActionExecutionMessage\";\n name: string;\n arguments: Record<string, any>;\n scope: ActionExecutionScope;\n}\n\nexport class ResultMessage extends Message implements ResultMessageInput {\n type: MessageType = \"ResultMessage\";\n actionExecutionId: string;\n actionName: string;\n result: string;\n}\n\nexport class AgentStateMessage extends Message implements Omit<AgentStateMessageInput, \"state\"> {\n type: MessageType = \"AgentStateMessage\";\n threadId: string;\n agentName: string;\n nodeName: string;\n runId: string;\n active: boolean;\n role: MessageRole;\n state: any;\n running: boolean;\n}\n"],"mappings":";;;;;;;;AAeO,IAAMA,UAAN,cAAsBC,iBAAAA;EAC3BC;EAEAC,gBAAqC;AACnC,WAAO,KAAKD,SAAS;EACvB;EAEAE,2BAA2D;AACzD,WAAO,KAAKF,SAAS;EACvB;EAEAG,kBAAyC;AACvC,WAAO,KAAKH,SAAS;EACvB;EAEAI,sBAAiD;AAC/C,WAAO,KAAKJ,SAAS;EACvB;AACF;AAlBaF;AAoBN,IAAMO,cAAN,cAA0BP,QAAAA;EAC/BE,OAAoB;EACpBM;EACAC;AACF;AAJaF;AAMN,IAAMG,yBAAN,cACGV,QAAAA;EAGRE,OAAoB;EACpBS;EACAC;EACAC;AACF;AARaH;AAUN,IAAMI,gBAAN,cAA4Bd,QAAAA;EACjCE,OAAoB;EACpBa;EACAC;EACAC;AACF;AALaH;AAON,IAAMI,oBAAN,cAAgClB,QAAAA;EACrCE,OAAoB;EACpBiB;EACAC;EACAC;EACAC;EACAC;EACAd;EACAe;EACAC;AACF;AAVaP;","names":["Message","BaseMessageInput","type","isTextMessage","isActionExecutionMessage","isResultMessage","isAgentStateMessage","TextMessage","content","role","ActionExecutionMessage","name","arguments","scope","ResultMessage","actionExecutionId","actionName","result","AgentStateMessage","threadId","agentName","nodeName","runId","active","state","running"]}
@@ -1,23 +1,24 @@
1
1
  import {
2
2
  RemoteChain
3
- } from "./chunk-BHSRGDL6.mjs";
3
+ } from "./chunk-XE3SYKK4.mjs";
4
4
  import {
5
+ EndpointType,
5
6
  RuntimeEventSource,
6
7
  isLangGraphAgentAction,
7
8
  setupRemoteActions
8
- } from "./chunk-YVZORQSA.mjs";
9
+ } from "./chunk-VQXA3N5D.mjs";
9
10
  import {
10
11
  ActionExecutionMessage,
11
12
  AgentStateMessage,
12
13
  ResultMessage,
13
14
  TextMessage
14
- } from "./chunk-MYZHUCL6.mjs";
15
+ } from "./chunk-B74M7FXG.mjs";
15
16
  import {
16
17
  __name
17
18
  } from "./chunk-44O2JGUY.mjs";
18
19
 
19
20
  // src/lib/runtime/copilot-runtime.ts
20
- import { actionParametersToJsonSchema, randomId } from "@copilotkit/shared";
21
+ import { actionParametersToJsonSchema } from "@copilotkit/shared";
21
22
 
22
23
  // src/service-adapters/conversion.ts
23
24
  import { plainToInstance } from "class-transformer";
@@ -70,7 +71,7 @@ __name(convertGqlInputToMessages, "convertGqlInputToMessages");
70
71
  import { from } from "rxjs";
71
72
  var CopilotRuntime = class {
72
73
  actions;
73
- remoteActionDefinitions;
74
+ remoteEndpointDefinitions;
74
75
  langserve = [];
75
76
  onBeforeRequest;
76
77
  onAfterRequest;
@@ -81,7 +82,7 @@ var CopilotRuntime = class {
81
82
  const remoteChain = new RemoteChain(chain);
82
83
  this.langserve.push(remoteChain.toAction());
83
84
  }
84
- this.remoteActionDefinitions = (params == null ? void 0 : params.remoteActions) || [];
85
+ this.remoteEndpointDefinitions = (params == null ? void 0 : params.remoteEndpoints) || [];
85
86
  this.onBeforeRequest = (_a = params == null ? void 0 : params.middleware) == null ? void 0 : _a.onBeforeRequest;
86
87
  this.onAfterRequest = (_b = params == null ? void 0 : params.middleware) == null ? void 0 : _b.onAfterRequest;
87
88
  }
@@ -150,7 +151,7 @@ var CopilotRuntime = class {
150
151
  async processAgentRequest(request) {
151
152
  var _a;
152
153
  const { messages: rawMessages, outputMessagesPromise, graphqlContext, agentSession } = request;
153
- const { threadId = randomId(), agentName, nodeName } = agentSession;
154
+ const { threadId, agentName, nodeName } = agentSession;
154
155
  const serverSideActions = await this.getServerSideActions(request);
155
156
  const messages = convertGqlInputToMessages(rawMessages);
156
157
  const agent = serverSideActions.find((action) => action.name === agentName && isLangGraphAgentAction(action));
@@ -222,8 +223,12 @@ var CopilotRuntime = class {
222
223
  console.error("Error loading langserve chain:", error);
223
224
  }
224
225
  }
226
+ const remoteEndpointDefinitions = this.remoteEndpointDefinitions.map((endpoint) => ({
227
+ ...endpoint,
228
+ type: this.resolveEndpointType(endpoint)
229
+ }));
225
230
  const remoteActions = await setupRemoteActions({
226
- remoteActionDefinitions: this.remoteActionDefinitions,
231
+ remoteEndpointDefinitions,
227
232
  graphqlContext,
228
233
  messages: inputMessages,
229
234
  agentStates,
@@ -239,6 +244,12 @@ var CopilotRuntime = class {
239
244
  ...remoteActions
240
245
  ];
241
246
  }
247
+ resolveEndpointType(endpoint) {
248
+ if (!endpoint.type && "langsmithApiKey" in endpoint && "deploymentUrl" in endpoint && "agents" in endpoint) {
249
+ return EndpointType.LangGraphCloud;
250
+ }
251
+ return endpoint.type;
252
+ }
242
253
  };
243
254
  __name(CopilotRuntime, "CopilotRuntime");
244
255
  function flattenToolCallsNoDuplicates(toolsByPriority) {
@@ -253,9 +264,25 @@ function flattenToolCallsNoDuplicates(toolsByPriority) {
253
264
  return allTools;
254
265
  }
255
266
  __name(flattenToolCallsNoDuplicates, "flattenToolCallsNoDuplicates");
267
+ function copilotKitEndpoint(config) {
268
+ return {
269
+ ...config,
270
+ type: EndpointType.CopilotKit
271
+ };
272
+ }
273
+ __name(copilotKitEndpoint, "copilotKitEndpoint");
274
+ function langGraphCloudEndpoint(config) {
275
+ return {
276
+ ...config,
277
+ type: EndpointType.LangGraphCloud
278
+ };
279
+ }
280
+ __name(langGraphCloudEndpoint, "langGraphCloudEndpoint");
256
281
 
257
282
  export {
258
283
  CopilotRuntime,
259
- flattenToolCallsNoDuplicates
284
+ flattenToolCallsNoDuplicates,
285
+ copilotKitEndpoint,
286
+ langGraphCloudEndpoint
260
287
  };
261
- //# sourceMappingURL=chunk-MVG266E4.mjs.map
288
+ //# sourceMappingURL=chunk-BTAHXIKM.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/lib/runtime/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 { CopilotServiceAdapter, RemoteChain, RemoteChainParameters } 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\";\nimport {\n isLangGraphAgentAction,\n LangGraphAgentAction,\n EndpointType,\n setupRemoteActions,\n EndpointDefinition,\n CopilotKitEndpoint,\n LangGraphCloudEndpoint,\n} from \"./remote-actions\";\nimport { GraphQLContext } from \"../integrations/shared\";\nimport { AgentSessionInput } from \"../../graphql/inputs/agent-session.input\";\nimport { from } from \"rxjs\";\nimport { AgentStateInput } from \"../../graphql/inputs/agent-state.input\";\n\ninterface CopilotRuntimeRequest {\n serviceAdapter: CopilotServiceAdapter;\n messages: MessageInput[];\n actions: ActionInput[];\n agentSession?: AgentSessionInput;\n agentStates?: AgentStateInput[];\n outputMessagesPromise: Promise<Message[]>;\n threadId?: string;\n runId?: string;\n publicApiKey?: string;\n graphqlContext: GraphQLContext;\n forwardedParameters?: ForwardedParametersInput;\n url?: string;\n}\n\ninterface CopilotRuntimeResponse {\n threadId: string;\n runId?: string;\n eventSource: RuntimeEventSource;\n serverSideActions: Action<any>[];\n actionInputsWithoutAgents: ActionInput[];\n}\n\ntype ActionsConfiguration<T extends Parameter[] | [] = []> =\n | Action<T>[]\n | ((ctx: { properties: any; url?: string }) => Action<T>[]);\n\ninterface OnBeforeRequestOptions {\n threadId?: string;\n runId?: string;\n inputMessages: Message[];\n properties: any;\n url?: string;\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 url?: string;\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 * Deprecated: See `remoteEndpoints`.\n */\n remoteActions?: EndpointDefinition[];\n\n /*\n * A list of remote actions that can be executed.\n */\n remoteEndpoints?: EndpointDefinition[];\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 remoteEndpointDefinitions: EndpointDefinition[];\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.remoteEndpointDefinitions = params?.remoteEndpoints || [];\n\n this.onBeforeRequest = params?.middleware?.onBeforeRequest;\n this.onAfterRequest = params?.middleware?.onAfterRequest;\n }\n\n async processRuntimeRequest(request: CopilotRuntimeRequest): Promise<CopilotRuntimeResponse> {\n const {\n serviceAdapter,\n messages: rawMessages,\n actions: clientSideActionsInput,\n threadId,\n runId,\n outputMessagesPromise,\n graphqlContext,\n forwardedParameters,\n agentSession,\n url,\n } = request;\n\n if (agentSession) {\n return this.processAgentRequest(request);\n }\n\n const messages = rawMessages.filter((message) => !message.agentStateMessage);\n\n const inputMessages = convertGqlInputToMessages(messages);\n const serverSideActions = await this.getServerSideActions(request);\n\n const serverSideActionsInput: ActionInput[] = serverSideActions.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\n await this.onBeforeRequest?.({\n threadId,\n runId,\n inputMessages,\n properties: graphqlContext.properties,\n url,\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: graphqlContext.properties,\n url,\n });\n })\n .catch((_error) => {});\n\n return {\n threadId: result.threadId,\n runId: result.runId,\n eventSource,\n serverSideActions,\n actionInputsWithoutAgents: actionInputs.filter(\n (action) =>\n // TODO-AGENTS: do not exclude ALL server side actions\n !serverSideActions.find((serverSideAction) => serverSideAction.name == action.name),\n // !isLangGraphAgentAction(\n // serverSideActions.find((serverSideAction) => serverSideAction.name == action.name),\n // ),\n ),\n };\n } catch (error) {\n console.error(\"Error getting response:\", error);\n throw error;\n }\n }\n\n private async processAgentRequest(\n request: CopilotRuntimeRequest,\n ): Promise<CopilotRuntimeResponse> {\n const { messages: rawMessages, outputMessagesPromise, graphqlContext, agentSession } = request;\n const { threadId, agentName, nodeName } = agentSession;\n const serverSideActions = await this.getServerSideActions(request);\n\n const messages = convertGqlInputToMessages(rawMessages);\n\n const agent = serverSideActions.find(\n (action) => action.name === agentName && isLangGraphAgentAction(action),\n ) as LangGraphAgentAction;\n\n if (!agent) {\n throw new Error(`Agent ${agentName} not found`);\n }\n\n const serverSideActionsInput: ActionInput[] = serverSideActions\n .filter((action) => !isLangGraphAgentAction(action))\n .map((action) => ({\n name: action.name,\n description: action.description,\n jsonSchema: JSON.stringify(actionParametersToJsonSchema(action.parameters)),\n }));\n\n const actionInputsWithoutAgents = flattenToolCallsNoDuplicates([\n ...serverSideActionsInput,\n ...request.actions,\n ]);\n\n await this.onBeforeRequest?.({\n threadId,\n runId: undefined,\n inputMessages: messages,\n properties: graphqlContext.properties,\n });\n try {\n const eventSource = new RuntimeEventSource();\n const stream = await agent.langGraphAgentHandler({\n name: agentName,\n threadId,\n nodeName,\n actionInputsWithoutAgents,\n });\n\n eventSource.stream(async (eventStream$) => {\n from(stream).subscribe({\n next: (event) => eventStream$.next(event),\n error: (err) => console.error(\"Error in stream\", err),\n complete: () => eventStream$.complete(),\n });\n });\n\n outputMessagesPromise\n .then((outputMessages) => {\n this.onAfterRequest?.({\n threadId,\n runId: undefined,\n inputMessages: messages,\n outputMessages,\n properties: graphqlContext.properties,\n });\n })\n .catch((_error) => {});\n\n return {\n threadId,\n runId: undefined,\n eventSource,\n serverSideActions: [],\n actionInputsWithoutAgents,\n };\n } catch (error) {\n console.error(\"Error getting response:\", error);\n throw error;\n }\n }\n\n private async getServerSideActions(request: CopilotRuntimeRequest): Promise<Action<any>[]> {\n const { messages: rawMessages, graphqlContext, agentStates, url } = request;\n const inputMessages = convertGqlInputToMessages(rawMessages);\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 remoteEndpointDefinitions = this.remoteEndpointDefinitions.map(\n (endpoint) =>\n ({\n ...endpoint,\n type: this.resolveEndpointType(endpoint),\n }) as EndpointDefinition,\n );\n\n const remoteActions = await setupRemoteActions({\n remoteEndpointDefinitions,\n graphqlContext,\n messages: inputMessages,\n agentStates,\n frontendUrl: url,\n });\n\n const configuredActions =\n typeof this.actions === \"function\"\n ? this.actions({ properties: graphqlContext.properties, url })\n : this.actions;\n\n return [...configuredActions, ...langserveFunctions, ...remoteActions];\n }\n\n private resolveEndpointType(endpoint: EndpointDefinition) {\n if (\n !endpoint.type &&\n \"langsmithApiKey\" in endpoint &&\n \"deploymentUrl\" in endpoint &&\n \"agents\" in endpoint\n ) {\n return EndpointType.LangGraphCloud;\n }\n\n return endpoint.type;\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\n// The two functions below are \"factory functions\", meant to create the action objects that adhere to the expected interfaces\nexport function copilotKitEndpoint(config: Omit<CopilotKitEndpoint, \"type\">): CopilotKitEndpoint {\n return {\n ...config,\n type: EndpointType.CopilotKit,\n };\n}\n\nexport function langGraphCloudEndpoint(\n config: Omit<LangGraphCloudEndpoint, \"type\">,\n): LangGraphCloudEndpoint {\n return {\n ...config,\n type: EndpointType.LangGraphCloud,\n };\n}\n","import {\n ActionExecutionMessage,\n Message,\n ResultMessage,\n TextMessage,\n AgentStateMessage,\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 } else if (message.agentStateMessage) {\n messages.push(\n plainToInstance(AgentStateMessage, {\n id: message.id,\n threadId: message.agentStateMessage.threadId,\n createdAt: message.createdAt,\n agentName: message.agentStateMessage.agentName,\n nodeName: message.agentStateMessage.nodeName,\n runId: message.agentStateMessage.runId,\n active: message.agentStateMessage.active,\n role: message.agentStateMessage.role,\n state: JSON.parse(message.agentStateMessage.state),\n running: message.agentStateMessage.running,\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","agentStateMessage","AgentStateMessage","threadId","agentName","nodeName","runId","active","state","running","from","CopilotRuntime","actions","remoteEndpointDefinitions","langserve","onBeforeRequest","onAfterRequest","constructor","params","chain","remoteChain","RemoteChain","push","toAction","remoteEndpoints","middleware","processRuntimeRequest","request","serviceAdapter","messages","rawMessages","clientSideActionsInput","threadId","runId","outputMessagesPromise","graphqlContext","forwardedParameters","agentSession","url","processAgentRequest","filter","message","agentStateMessage","inputMessages","convertGqlInputToMessages","serverSideActions","getServerSideActions","serverSideActionsInput","map","action","name","description","jsonSchema","JSON","stringify","actionParametersToJsonSchema","parameters","actionInputs","flattenToolCallsNoDuplicates","properties","eventSource","RuntimeEventSource","result","process","then","outputMessages","_a","catch","_error","actionInputsWithoutAgents","find","serverSideAction","error","console","agentName","nodeName","agent","isLangGraphAgentAction","Error","undefined","stream","langGraphAgentHandler","eventStream$","from","subscribe","next","event","err","complete","agentStates","langserveFunctions","chainPromise","endpoint","type","resolveEndpointType","remoteActions","setupRemoteActions","frontendUrl","configuredActions","EndpointType","LangGraphCloud","toolsByPriority","allTools","allToolNames","tool","includes","copilotKitEndpoint","config","CopilotKit","langGraphCloudEndpoint"]}
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getCommonConfig,
3
3
  telemetry_client_default
4
- } from "./chunk-YVZORQSA.mjs";
4
+ } from "./chunk-VQXA3N5D.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-CRSCH25P.mjs.map
79
+ //# sourceMappingURL=chunk-CVLU3KWZ.mjs.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  copilotRuntimeNodeHttpEndpoint,
3
3
  telemetry_client_default
4
- } from "./chunk-YVZORQSA.mjs";
4
+ } from "./chunk-VQXA3N5D.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-S5SYJ6JC.mjs.map
24
+ //# sourceMappingURL=chunk-L23AVL2R.mjs.map