@copilotkit/runtime 0.38.0-mme-alpha.1 → 1.0.0-beta.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 (89) hide show
  1. package/.turbo/turbo-build.log +81 -67
  2. package/CHANGELOG.md +13 -10
  3. package/__snapshots__/schema/schema.graphql +15 -1
  4. package/dist/chunk-44O2JGUY.mjs +12 -0
  5. package/dist/chunk-5U6S5EGT.mjs +24 -0
  6. package/dist/chunk-5U6S5EGT.mjs.map +1 -0
  7. package/dist/{chunk-XI3HBDMA.mjs → chunk-7QCEK4DP.mjs} +25 -14
  8. package/dist/chunk-7QCEK4DP.mjs.map +1 -0
  9. package/dist/{chunk-DX2KAJBF.mjs → chunk-DL2QQEOR.mjs} +204 -19
  10. package/dist/chunk-DL2QQEOR.mjs.map +1 -0
  11. package/dist/{chunk-FRK6BXXV.mjs → chunk-DVDKD6F5.mjs} +3 -3
  12. package/dist/{chunk-NXFMYCNF.mjs → chunk-F5K2JKGM.mjs} +38 -23
  13. package/dist/chunk-F5K2JKGM.mjs.map +1 -0
  14. package/dist/{chunk-OZMCHYYR.mjs → chunk-GEIBJJQ4.mjs} +3 -3
  15. package/dist/{chunk-4RGXTUS4.mjs → chunk-R25IOQB5.mjs} +17 -4
  16. package/dist/chunk-R25IOQB5.mjs.map +1 -0
  17. package/dist/{chunk-6NZ4UMOD.mjs → chunk-RMZWGQ46.mjs} +2 -2
  18. package/dist/{chunk-BYB2LNMK.mjs → chunk-U3V2BCGI.mjs} +2 -2
  19. package/dist/chunk-ZTEJCDMJ.mjs +24 -0
  20. package/dist/chunk-ZTEJCDMJ.mjs.map +1 -0
  21. package/dist/graphql/types/base/index.mjs +2 -2
  22. package/dist/graphql/types/converted/index.mjs +3 -3
  23. package/dist/index.d.ts +8 -5
  24. package/dist/index.js +297 -53
  25. package/dist/index.js.map +1 -1
  26. package/dist/index.mjs +17 -11
  27. package/dist/index.mjs.map +1 -1
  28. package/dist/{langchain-adapter-54784d29.d.ts → langchain-adapter-a02d1d38.d.ts} +4 -4
  29. package/dist/{langserve-63794237.d.ts → langserve-75ebbc38.d.ts} +1 -2
  30. package/dist/lib/index.d.ts +8 -5
  31. package/dist/lib/index.js +297 -53
  32. package/dist/lib/index.js.map +1 -1
  33. package/dist/lib/index.mjs +17 -11
  34. package/dist/lib/integrations/index.d.ts +7 -4
  35. package/dist/lib/integrations/index.js +254 -14
  36. package/dist/lib/integrations/index.js.map +1 -1
  37. package/dist/lib/integrations/index.mjs +15 -7
  38. package/dist/lib/integrations/nest/index.d.ts +14 -0
  39. package/dist/lib/integrations/nest/index.js +1481 -0
  40. package/dist/lib/integrations/nest/index.js.map +1 -0
  41. package/dist/lib/integrations/nest/index.mjs +13 -0
  42. package/dist/lib/integrations/nest/index.mjs.map +1 -0
  43. package/dist/lib/integrations/node-express/index.d.ts +14 -0
  44. package/dist/lib/integrations/node-express/index.js +1481 -0
  45. package/dist/lib/integrations/node-express/index.js.map +1 -0
  46. package/dist/lib/integrations/node-express/index.mjs +13 -0
  47. package/dist/lib/integrations/node-express/index.mjs.map +1 -0
  48. package/dist/lib/integrations/node-http/index.d.ts +7 -3
  49. package/dist/lib/integrations/node-http/index.js +214 -14
  50. package/dist/lib/integrations/node-http/index.js.map +1 -1
  51. package/dist/lib/integrations/node-http/index.mjs +6 -6
  52. package/dist/{pages-router-b88114e9.d.ts → pages-router-24897543.d.ts} +1 -1
  53. package/dist/service-adapters/index.d.ts +2 -2
  54. package/dist/service-adapters/index.js +28 -17
  55. package/dist/service-adapters/index.js.map +1 -1
  56. package/dist/service-adapters/index.mjs +5 -5
  57. package/dist/{index-1eb2e9b1.d.ts → shared-48c0f7b8.d.ts} +64 -21
  58. package/dist/utils/index.mjs +2 -2
  59. package/package.json +4 -4
  60. package/src/graphql/inputs/cloud-guardrails.input.ts +2 -2
  61. package/src/graphql/inputs/generate-copilot-response.input.ts +10 -0
  62. package/src/graphql/resolvers/copilot.resolver.ts +79 -3
  63. package/src/graphql/types/enums.ts +13 -0
  64. package/src/lib/copilot-runtime.ts +106 -32
  65. package/src/lib/integrations/index.ts +2 -0
  66. package/src/lib/integrations/nest/index.ts +14 -0
  67. package/src/lib/integrations/nextjs/app-router.ts +10 -0
  68. package/src/lib/integrations/nextjs/pages-router.ts +10 -0
  69. package/src/lib/integrations/node-express/index.ts +14 -0
  70. package/src/lib/integrations/node-http/index.ts +10 -0
  71. package/src/lib/integrations/shared.ts +15 -2
  72. package/src/lib/telemetry-client.ts +9 -0
  73. package/src/service-adapters/experimental/groq/groq-adapter.ts +3 -1
  74. package/src/service-adapters/experimental/ollama/ollama-adapter.ts +3 -1
  75. package/src/service-adapters/google/google-genai-adapter.ts +3 -1
  76. package/src/service-adapters/langchain/langchain-adapter.ts +8 -9
  77. package/src/service-adapters/openai/openai-adapter.ts +8 -7
  78. package/src/service-adapters/openai/openai-assistant-adapter.ts +6 -8
  79. package/src/service-adapters/service-adapter.ts +1 -2
  80. package/dist/chunk-4RGXTUS4.mjs.map +0 -1
  81. package/dist/chunk-DX2KAJBF.mjs.map +0 -1
  82. package/dist/chunk-NXFMYCNF.mjs.map +0 -1
  83. package/dist/chunk-RHQLCJGG.mjs +0 -7
  84. package/dist/chunk-XI3HBDMA.mjs.map +0 -1
  85. /package/dist/{chunk-RHQLCJGG.mjs.map → chunk-44O2JGUY.mjs.map} +0 -0
  86. /package/dist/{chunk-FRK6BXXV.mjs.map → chunk-DVDKD6F5.mjs.map} +0 -0
  87. /package/dist/{chunk-OZMCHYYR.mjs.map → chunk-GEIBJJQ4.mjs.map} +0 -0
  88. /package/dist/{chunk-6NZ4UMOD.mjs.map → chunk-RMZWGQ46.mjs.map} +0 -0
  89. /package/dist/{chunk-BYB2LNMK.mjs.map → chunk-U3V2BCGI.mjs.map} +0 -0
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  RemoteChain
3
- } from "./chunk-XI3HBDMA.mjs";
3
+ } from "./chunk-7QCEK4DP.mjs";
4
4
  import {
5
5
  RuntimeEventSource
6
- } from "./chunk-DX2KAJBF.mjs";
6
+ } from "./chunk-DL2QQEOR.mjs";
7
7
  import {
8
8
  ActionExecutionMessage,
9
9
  ResultMessage,
10
10
  TextMessage
11
- } from "./chunk-OZMCHYYR.mjs";
11
+ } from "./chunk-GEIBJJQ4.mjs";
12
12
  import {
13
13
  __name
14
- } from "./chunk-RHQLCJGG.mjs";
14
+ } from "./chunk-44O2JGUY.mjs";
15
15
 
16
16
  // src/lib/copilot-runtime.ts
17
17
  import { actionParametersToJsonSchema } from "@copilotkit/shared";
@@ -52,25 +52,23 @@ __name(convertGqlInputToMessages, "convertGqlInputToMessages");
52
52
 
53
53
  // src/lib/copilot-runtime.ts
54
54
  var CopilotRuntime = class {
55
- actions = [];
55
+ actions;
56
56
  langserve = [];
57
- debug = false;
57
+ onBeforeRequest;
58
+ onAfterRequest;
58
59
  constructor(params) {
60
+ var _a, _b;
59
61
  this.actions = (params == null ? void 0 : params.actions) || [];
60
62
  for (const chain of (params == null ? void 0 : params.langserve) || []) {
61
63
  const remoteChain = new RemoteChain(chain);
62
64
  this.langserve.push(remoteChain.toAction());
63
65
  }
64
- this.debug = (params == null ? void 0 : params.debug) || false;
66
+ this.onBeforeRequest = (_a = params == null ? void 0 : params.middleware) == null ? void 0 : _a.onBeforeRequest;
67
+ this.onAfterRequest = (_b = params == null ? void 0 : params.middleware) == null ? void 0 : _b.onAfterRequest;
65
68
  }
66
- addAction(action) {
67
- this.removeAction(action.name);
68
- this.actions.push(action);
69
- }
70
- removeAction(actionName) {
71
- this.actions = this.actions.filter((f) => f.name !== actionName);
72
- }
73
- async process({ serviceAdapter, messages, actions: clientSideActionsInput, threadId, runId, publicApiKey }) {
69
+ async process(request) {
70
+ var _a;
71
+ const { serviceAdapter, messages, actions: clientSideActionsInput, threadId, runId, properties, outputMessagesPromise } = request;
74
72
  const langserveFunctions = [];
75
73
  for (const chainPromise of this.langserve) {
76
74
  try {
@@ -80,8 +78,11 @@ var CopilotRuntime = class {
80
78
  console.error("Error loading langserve chain:", error);
81
79
  }
82
80
  }
81
+ const configuredActions = typeof this.actions === "function" ? this.actions({
82
+ properties
83
+ }) : this.actions;
83
84
  const actions = [
84
- ...this.actions,
85
+ ...configuredActions,
85
86
  ...langserveFunctions
86
87
  ];
87
88
  const serverSideActionsInput = actions.map((action) => ({
@@ -93,15 +94,33 @@ var CopilotRuntime = class {
93
94
  ...serverSideActionsInput,
94
95
  ...clientSideActionsInput
95
96
  ]);
97
+ const inputMessages = convertGqlInputToMessages(messages);
98
+ await ((_a = this.onBeforeRequest) == null ? void 0 : _a.call(this, {
99
+ threadId,
100
+ runId,
101
+ inputMessages,
102
+ properties
103
+ }));
96
104
  try {
97
105
  const eventSource = new RuntimeEventSource();
98
106
  const result = await serviceAdapter.process({
99
- messages: convertGqlInputToMessages(messages),
107
+ messages: inputMessages,
100
108
  actions: actionInputs,
101
109
  threadId,
102
110
  runId,
103
111
  eventSource
104
112
  });
113
+ outputMessagesPromise.then((outputMessages) => {
114
+ var _a2;
115
+ (_a2 = this.onAfterRequest) == null ? void 0 : _a2.call(this, {
116
+ threadId: result.threadId,
117
+ runId: result.runId,
118
+ inputMessages,
119
+ outputMessages,
120
+ properties
121
+ });
122
+ }).catch((_error) => {
123
+ });
105
124
  return {
106
125
  threadId: result.threadId,
107
126
  runId: result.runId,
@@ -127,13 +146,9 @@ function flattenToolCallsNoDuplicates(toolsByPriority) {
127
146
  return allTools;
128
147
  }
129
148
  __name(flattenToolCallsNoDuplicates, "flattenToolCallsNoDuplicates");
130
- var CopilotBackend = class extends CopilotRuntime {
131
- };
132
- __name(CopilotBackend, "CopilotBackend");
133
149
 
134
150
  export {
135
151
  CopilotRuntime,
136
- flattenToolCallsNoDuplicates,
137
- CopilotBackend
152
+ flattenToolCallsNoDuplicates
138
153
  };
139
- //# sourceMappingURL=chunk-NXFMYCNF.mjs.map
154
+ //# sourceMappingURL=chunk-F5K2JKGM.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/lib/copilot-runtime.ts","../src/service-adapters/conversion.ts"],"sourcesContent":["/**\n * Handles requests from frontend, provides function calling and various LLM backends.\n *\n * <img\n * referrerPolicy=\"no-referrer-when-downgrade\"\n * src=\"https://static.scarf.sh/a.png?x-pxid=a9b290bb-38f9-4518-ac3b-8f54fdbf43be\"\n * />\n *\n * <RequestExample>\n * ```jsx CopilotRuntime Example\n * import {\n * CopilotRuntime,\n * OpenAIAdapter\n * } from \"@copilotkit/runtime\";\n *\n * export async function POST(req: Request) {\n * const copilotKit = new CopilotRuntime();\n * return copilotKit.response(req, new OpenAIAdapter());\n * }\n *\n * ```\n * </RequestExample>\n *\n * This class is the main entry point for the runtime. It handles requests from the frontend, provides function calling and various LLM backends.\n *\n * For example, to use OpenAI as a backend (check the [OpenAI Adapter](./OpenAIAdapter) docs for more info):\n * ```typescript\n * const copilotKit = new CopilotRuntime();\n * return copilotKit.response(req, new OpenAIAdapter());\n * ```\n *\n * Currently we support:\n *\n * - [OpenAI](./OpenAIAdapter)\n * - [LangChain](./LangChainAdapter)\n * - [OpenAI Assistant API](./OpenAIAssistantAdapter)\n * - [Google Gemini](./GoogleGenerativeAIAdapter)\n *\n * ## Server Side Actions\n *\n * CopilotKit supports actions that can be executed on the server side. You can define server side actions by passing the `actions` parameter:\n *\n * ```typescript\n * const copilotKit = new CopilotRuntime({\n * actions: [\n * {\n * name: \"sayHello\",\n * description: \"Says hello to someone.\",\n * argumentAnnotations: [\n * {\n * name: \"arg\",\n * type: \"string\",\n * description: \"The name of the person to say hello to.\",\n * required: true,\n * },\n * ],\n * implementation: async (arg) => {\n * console.log(\"Hello from the server\", arg, \"!\");\n * },\n * },\n * ],\n * });\n * ```\n *\n * Server side actions can also return a result which becomes part of the message history.\n *\n * This is useful because it gives the LLM context about what happened on the server side. In addition,\n * it can be used to look up information from a vector or relational database and other sources.\n *\n * In addition to that, server side actions can also come from LangChain, including support for streaming responses.\n *\n * Returned results can be of the following type:\n *\n * - anything serializable to JSON\n * - `string`\n * - LangChain types:\n * - `IterableReadableStream`\n * - `BaseMessageChunk`\n * - `AIMessage`\n *\n * ## LangServe\n *\n * The backend also supports LangServe, enabling you to connect to existing chains, for example python based chains.\n * Use the `langserve` parameter to specify URLs for LangServe.\n *\n * ```typescript\n * const copilotKit = new CopilotRuntime({\n * langserve: [\n * {\n * chainUrl: \"http://my-langserve.chain\",\n * name: \"performResearch\",\n * description: \"Performs research on a given topic.\",\n * },\n * ],\n * });\n * ```\n *\n * When left out, arguments are automatically inferred from the schema provided by LangServe.\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\";\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}\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 } = 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 });\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","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"]}
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  BaseMessage
3
- } from "./chunk-6NZ4UMOD.mjs";
3
+ } from "./chunk-RMZWGQ46.mjs";
4
4
  import {
5
5
  __name
6
- } from "./chunk-RHQLCJGG.mjs";
6
+ } from "./chunk-44O2JGUY.mjs";
7
7
 
8
8
  // src/graphql/types/converted/index.ts
9
9
  var TextMessage = class extends BaseMessage {
@@ -29,4 +29,4 @@ export {
29
29
  ActionExecutionMessage,
30
30
  ResultMessage
31
31
  };
32
- //# sourceMappingURL=chunk-OZMCHYYR.mjs.map
32
+ //# sourceMappingURL=chunk-GEIBJJQ4.mjs.map
@@ -1,14 +1,21 @@
1
1
  import {
2
- getCommonConfig
3
- } from "./chunk-DX2KAJBF.mjs";
2
+ getCommonConfig,
3
+ telemetry_client_default
4
+ } from "./chunk-DL2QQEOR.mjs";
4
5
  import {
5
6
  __name
6
- } from "./chunk-RHQLCJGG.mjs";
7
+ } from "./chunk-44O2JGUY.mjs";
7
8
 
8
9
  // src/lib/integrations/nextjs/app-router.ts
9
10
  import { createYoga } from "graphql-yoga";
10
11
  function copilotRuntimeNextJSAppRouterEndpoint(options) {
11
12
  const commonConfig = getCommonConfig(options);
13
+ telemetry_client_default.setGlobalProperties({
14
+ runtime: {
15
+ framework: "nextjs-app-router"
16
+ }
17
+ });
18
+ telemetry_client_default.capture("oss.runtime.instance_created", {});
12
19
  const logger = commonConfig.logging;
13
20
  logger.debug("Creating NextJS App Router endpoint");
14
21
  const yoga = createYoga({
@@ -36,6 +43,12 @@ var config = {
36
43
  };
37
44
  function copilotRuntimeNextJSPagesRouterEndpoint(options) {
38
45
  const commonConfig = getCommonConfig(options);
46
+ telemetry_client_default.setGlobalProperties({
47
+ runtime: {
48
+ framework: "nextjs-pages-router"
49
+ }
50
+ });
51
+ telemetry_client_default.capture("oss.runtime.instance_created", {});
39
52
  const logger = commonConfig.logging;
40
53
  logger.debug("Creating NextJS Pages Router endpoint");
41
54
  const yoga = createYoga2({
@@ -51,4 +64,4 @@ export {
51
64
  config,
52
65
  copilotRuntimeNextJSPagesRouterEndpoint
53
66
  };
54
- //# sourceMappingURL=chunk-4RGXTUS4.mjs.map
67
+ //# sourceMappingURL=chunk-R25IOQB5.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/lib/integrations/nextjs/app-router.ts","../src/lib/integrations/nextjs/pages-router.ts"],"sourcesContent":["import { createYoga } from \"graphql-yoga\";\nimport { CreateCopilotRuntimeServerOptions, getCommonConfig } from \"../shared\";\nimport telemetry from \"../../telemetry-client\";\n\nexport function copilotRuntimeNextJSAppRouterEndpoint(options: CreateCopilotRuntimeServerOptions) {\n const commonConfig = getCommonConfig(options);\n\n telemetry.setGlobalProperties({\n runtime: {\n framework: \"nextjs-app-router\",\n },\n });\n\n telemetry.capture(\"oss.runtime.instance_created\", {});\n\n const logger = commonConfig.logging;\n logger.debug(\"Creating NextJS App Router endpoint\");\n\n const yoga = createYoga({\n ...commonConfig,\n graphqlEndpoint: options.endpoint,\n fetchAPI: { Response: globalThis.Response },\n });\n\n return {\n handleRequest: yoga,\n GET: yoga as any,\n POST: yoga as any,\n OPTIONS: yoga as any,\n };\n}\n","import { YogaServerInstance, createYoga } from \"graphql-yoga\";\nimport { CreateCopilotRuntimeServerOptions, GraphQLContext, getCommonConfig } from \"../shared\";\nimport telemetry from \"../../telemetry-client\";\n\nexport const config = {\n api: {\n bodyParser: false,\n },\n};\n\nexport type CopilotRuntimeServerInstance<T> = YogaServerInstance<T, Partial<GraphQLContext>>;\n\n// This import is needed to fix the type error\n// Fix is currently in TypeScript 5.5 beta, waiting for stable version\n// https://github.com/microsoft/TypeScript/issues/42873#issuecomment-2066874644\nexport type {} from \"@whatwg-node/server\";\n\nexport function copilotRuntimeNextJSPagesRouterEndpoint(\n options: CreateCopilotRuntimeServerOptions,\n): CopilotRuntimeServerInstance<GraphQLContext> {\n const commonConfig = getCommonConfig(options);\n\n telemetry.setGlobalProperties({\n runtime: {\n framework: \"nextjs-pages-router\",\n },\n });\n\n telemetry.capture(\"oss.runtime.instance_created\", {});\n\n const logger = commonConfig.logging;\n logger.debug(\"Creating NextJS Pages Router endpoint\");\n\n const yoga = createYoga({\n ...commonConfig,\n graphqlEndpoint: options.endpoint,\n });\n\n return yoga;\n}\n"],"mappings":";;;;;;;;;AAAA,SAASA,kBAAkB;AAIpB,SAASC,sCAAsCC,SAA0C;AAC9F,QAAMC,eAAeC,gBAAgBF,OAAAA;AAErCG,2BAAUC,oBAAoB;IAC5BC,SAAS;MACPC,WAAW;IACb;EACF,CAAA;AAEAH,2BAAUI,QAAQ,gCAAgC,CAAC,CAAA;AAEnD,QAAMC,SAASP,aAAaQ;AAC5BD,SAAOE,MAAM,qCAAA;AAEb,QAAMC,OAAOC,WAAW;IACtB,GAAGX;IACHY,iBAAiBb,QAAQc;IACzBC,UAAU;MAAEC,UAAUC,WAAWD;IAAS;EAC5C,CAAA;AAEA,SAAO;IACLE,eAAeP;IACfQ,KAAKR;IACLS,MAAMT;IACNU,SAASV;EACX;AACF;AA1BgBZ;;;ACJhB,SAA6BuB,cAAAA,mBAAkB;AAIxC,IAAMC,SAAS;EACpBC,KAAK;IACHC,YAAY;EACd;AACF;AASO,SAASC,wCACdC,SAA0C;AAE1C,QAAMC,eAAeC,gBAAgBF,OAAAA;AAErCG,2BAAUC,oBAAoB;IAC5BC,SAAS;MACPC,WAAW;IACb;EACF,CAAA;AAEAH,2BAAUI,QAAQ,gCAAgC,CAAC,CAAA;AAEnD,QAAMC,SAASP,aAAaQ;AAC5BD,SAAOE,MAAM,uCAAA;AAEb,QAAMC,OAAOC,YAAW;IACtB,GAAGX;IACHY,iBAAiBb,QAAQc;EAC3B,CAAA;AAEA,SAAOH;AACT;AAtBgBZ;","names":["createYoga","copilotRuntimeNextJSAppRouterEndpoint","options","commonConfig","getCommonConfig","telemetry","setGlobalProperties","runtime","framework","capture","logger","logging","debug","yoga","createYoga","graphqlEndpoint","endpoint","fetchAPI","Response","globalThis","handleRequest","GET","POST","OPTIONS","createYoga","config","api","bodyParser","copilotRuntimeNextJSPagesRouterEndpoint","options","commonConfig","getCommonConfig","telemetry","setGlobalProperties","runtime","framework","capture","logger","logging","debug","yoga","createYoga","graphqlEndpoint","endpoint"]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  __name
3
- } from "./chunk-RHQLCJGG.mjs";
3
+ } from "./chunk-44O2JGUY.mjs";
4
4
 
5
5
  // src/graphql/types/base/index.ts
6
6
  import { Field, InputType } from "type-graphql";
@@ -40,4 +40,4 @@ BaseMessage = _ts_decorate([
40
40
  export {
41
41
  BaseMessage
42
42
  };
43
- //# sourceMappingURL=chunk-6NZ4UMOD.mjs.map
43
+ //# sourceMappingURL=chunk-RMZWGQ46.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  __name
3
- } from "./chunk-RHQLCJGG.mjs";
3
+ } from "./chunk-44O2JGUY.mjs";
4
4
 
5
5
  // src/graphql/types/response-status.type.ts
6
6
  import { GraphQLJSON } from "graphql-scalars";
@@ -149,4 +149,4 @@ export {
149
149
  MessageStreamInterruptedResponse,
150
150
  UnknownErrorResponse
151
151
  };
152
- //# sourceMappingURL=chunk-BYB2LNMK.mjs.map
152
+ //# sourceMappingURL=chunk-U3V2BCGI.mjs.map
@@ -0,0 +1,24 @@
1
+ import {
2
+ copilotRuntimeNodeHttpEndpoint,
3
+ telemetry_client_default
4
+ } from "./chunk-DL2QQEOR.mjs";
5
+ import {
6
+ __name
7
+ } from "./chunk-44O2JGUY.mjs";
8
+
9
+ // src/lib/integrations/nest/index.ts
10
+ function copilotRuntimeNestEndpoint(options) {
11
+ telemetry_client_default.setGlobalProperties({
12
+ runtime: {
13
+ framework: "nest"
14
+ }
15
+ });
16
+ telemetry_client_default.capture("oss.runtime.instance_created", {});
17
+ return copilotRuntimeNodeHttpEndpoint(options);
18
+ }
19
+ __name(copilotRuntimeNestEndpoint, "copilotRuntimeNestEndpoint");
20
+
21
+ export {
22
+ copilotRuntimeNestEndpoint
23
+ };
24
+ //# sourceMappingURL=chunk-ZTEJCDMJ.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/lib/integrations/nest/index.ts"],"sourcesContent":["import { CreateCopilotRuntimeServerOptions } from \"../shared\";\nimport { copilotRuntimeNodeHttpEndpoint } from \"../node-http\";\nimport telemetry from \"../../telemetry-client\";\n\nexport function copilotRuntimeNestEndpoint(options: CreateCopilotRuntimeServerOptions) {\n telemetry.setGlobalProperties({\n runtime: {\n framework: \"nest\",\n },\n });\n\n telemetry.capture(\"oss.runtime.instance_created\", {});\n return copilotRuntimeNodeHttpEndpoint(options);\n}\n"],"mappings":";;;;;;;;;AAIO,SAASA,2BAA2BC,SAA0C;AACnFC,2BAAUC,oBAAoB;IAC5BC,SAAS;MACPC,WAAW;IACb;EACF,CAAA;AAEAH,2BAAUI,QAAQ,gCAAgC,CAAC,CAAA;AACnD,SAAOC,+BAA+BN,OAAAA;AACxC;AATgBD;","names":["copilotRuntimeNestEndpoint","options","telemetry","setGlobalProperties","runtime","framework","capture","copilotRuntimeNodeHttpEndpoint"]}
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  BaseMessage
3
- } from "../../../chunk-6NZ4UMOD.mjs";
4
- import "../../../chunk-RHQLCJGG.mjs";
3
+ } from "../../../chunk-RMZWGQ46.mjs";
4
+ import "../../../chunk-44O2JGUY.mjs";
5
5
  export {
6
6
  BaseMessage
7
7
  };
@@ -2,9 +2,9 @@ import {
2
2
  ActionExecutionMessage,
3
3
  ResultMessage,
4
4
  TextMessage
5
- } from "../../../chunk-OZMCHYYR.mjs";
6
- import "../../../chunk-6NZ4UMOD.mjs";
7
- import "../../../chunk-RHQLCJGG.mjs";
5
+ } from "../../../chunk-GEIBJJQ4.mjs";
6
+ import "../../../chunk-RMZWGQ46.mjs";
7
+ import "../../../chunk-44O2JGUY.mjs";
8
8
  export {
9
9
  ActionExecutionMessage,
10
10
  ResultMessage,
package/dist/index.d.ts CHANGED
@@ -1,12 +1,15 @@
1
- export { h as CommonConfig, b as CopilotBackend, c as CopilotRequestContextProperties, a as CopilotRuntime, C as CopilotRuntimeConstructorParams, d as CreateCopilotRuntimeServerOptions, G as GraphQLContext, g as buildSchema, j as copilotRuntimeNodeHttpEndpoint, e as createContext, f as flattenToolCallsNoDuplicates, i as getCommonConfig } from './index-1eb2e9b1.js';
2
- export { G as GoogleGenerativeAIAdapter, L as LangChainAdapter, a as OpenAIAdapter, O as OpenAIAdapterParams, c as OpenAIAssistantAdapter, b as OpenAIAssistantAdapterParams } from './langchain-adapter-54784d29.js';
3
- export { C as CopilotRuntimeServerInstance, a as config, c as copilotRuntimeNextJSAppRouterEndpoint, b as copilotRuntimeNextJSPagesRouterEndpoint } from './pages-router-b88114e9.js';
1
+ export { g as CommonConfig, b as CopilotRequestContextProperties, a as CopilotRuntime, C as CopilotRuntimeConstructorParams, c as CreateCopilotRuntimeServerOptions, G as GraphQLContext, e as buildSchema, d as createContext, f as flattenToolCallsNoDuplicates, h as getCommonConfig } from './shared-48c0f7b8.js';
2
+ export { G as GoogleGenerativeAIAdapter, L as LangChainAdapter, a as OpenAIAdapter, O as OpenAIAdapterParams, c as OpenAIAssistantAdapter, b as OpenAIAssistantAdapterParams } from './langchain-adapter-a02d1d38.js';
3
+ export { C as CopilotRuntimeServerInstance, a as config, c as copilotRuntimeNextJSAppRouterEndpoint, b as copilotRuntimeNextJSPagesRouterEndpoint } from './pages-router-24897543.js';
4
+ export { copilotRuntimeNodeHttpEndpoint } from './lib/integrations/node-http/index.js';
5
+ export { copilotRuntimeNodeExpressEndpoint } from './lib/integrations/node-express/index.js';
6
+ export { copilotRuntimeNestEndpoint } from './lib/integrations/nest/index.js';
4
7
  export { G as GuardrailsValidationFailureResponse, M as MessageStreamInterruptedResponse, U as UnknownErrorResponse } from './failed-response-status-reasons-0ab19e06.js';
5
- import 'graphql-yoga';
6
8
  import 'graphql';
7
9
  import 'pino';
10
+ import 'graphql-yoga';
8
11
  import '@copilotkit/shared';
9
- import './langserve-63794237.js';
12
+ import './langserve-75ebbc38.js';
10
13
  import './index-aa091e3c.js';
11
14
  import './graphql/types/base/index.js';
12
15
  import 'rxjs';