@copilotkit/runtime 1.3.6 → 1.3.7

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 (77) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/{chunk-7AFOEQJG.mjs → chunk-3BSPBSR7.mjs} +31 -214
  3. package/dist/chunk-3BSPBSR7.mjs.map +1 -0
  4. package/dist/{chunk-RMZWGQ46.mjs → chunk-D2WLFQS6.mjs} +8 -8
  5. package/dist/chunk-D2WLFQS6.mjs.map +1 -0
  6. package/dist/{chunk-I5XVY6LS.mjs → chunk-DC7DLTU6.mjs} +4 -4
  7. package/dist/{chunk-UB4LPMMV.mjs → chunk-HKURA7H3.mjs} +2 -2
  8. package/dist/{chunk-TY5C4PL4.mjs → chunk-IL7POK7R.mjs} +2 -2
  9. package/dist/{chunk-LYLGFMKH.mjs → chunk-JUNGFQE7.mjs} +2 -2
  10. package/dist/chunk-MYZHUCL6.mjs +65 -0
  11. package/dist/chunk-MYZHUCL6.mjs.map +1 -0
  12. package/dist/{chunk-VRFBTIGK.mjs → chunk-TXVG65YE.mjs} +10 -10
  13. package/dist/chunk-TXVG65YE.mjs.map +1 -0
  14. package/dist/{chunk-73NMP3DI.mjs → chunk-V6JSDIHG.mjs} +5 -10
  15. package/dist/chunk-V6JSDIHG.mjs.map +1 -0
  16. package/dist/{copilot-runtime-a1b5f1ce.d.ts → copilot-runtime-df3527ad.d.ts} +2 -2
  17. package/dist/graphql/types/base/index.d.ts +2 -2
  18. package/dist/graphql/types/base/index.js +8 -8
  19. package/dist/graphql/types/base/index.js.map +1 -1
  20. package/dist/graphql/types/base/index.mjs +3 -3
  21. package/dist/graphql/types/converted/index.d.ts +1 -1
  22. package/dist/graphql/types/converted/index.js +32 -10
  23. package/dist/graphql/types/converted/index.js.map +1 -1
  24. package/dist/graphql/types/converted/index.mjs +4 -2
  25. package/dist/{groq-adapter-a07f59f2.d.ts → groq-adapter-b122e71f.d.ts} +3 -29
  26. package/dist/{index-0476e4f7.d.ts → index-cff31380.d.ts} +18 -7
  27. package/dist/index.d.ts +4 -5
  28. package/dist/index.js +139 -297
  29. package/dist/index.js.map +1 -1
  30. package/dist/index.mjs +9 -9
  31. package/dist/{langserve-15a1286b.d.ts → langserve-a14a6849.d.ts} +1 -1
  32. package/dist/lib/index.d.ts +4 -5
  33. package/dist/lib/index.js +131 -289
  34. package/dist/lib/index.js.map +1 -1
  35. package/dist/lib/index.mjs +9 -9
  36. package/dist/lib/integrations/index.d.ts +4 -4
  37. package/dist/lib/integrations/index.js +61 -41
  38. package/dist/lib/integrations/index.js.map +1 -1
  39. package/dist/lib/integrations/index.mjs +7 -7
  40. package/dist/lib/integrations/nest/index.d.ts +3 -3
  41. package/dist/lib/integrations/nest/index.js +61 -41
  42. package/dist/lib/integrations/nest/index.js.map +1 -1
  43. package/dist/lib/integrations/nest/index.mjs +5 -5
  44. package/dist/lib/integrations/node-express/index.d.ts +3 -3
  45. package/dist/lib/integrations/node-express/index.js +61 -41
  46. package/dist/lib/integrations/node-express/index.js.map +1 -1
  47. package/dist/lib/integrations/node-express/index.mjs +5 -5
  48. package/dist/lib/integrations/node-http/index.d.ts +3 -3
  49. package/dist/lib/integrations/node-http/index.js +61 -41
  50. package/dist/lib/integrations/node-http/index.js.map +1 -1
  51. package/dist/lib/integrations/node-http/index.mjs +4 -4
  52. package/dist/service-adapters/index.d.ts +4 -5
  53. package/dist/service-adapters/index.js +33 -265
  54. package/dist/service-adapters/index.js.map +1 -1
  55. package/dist/service-adapters/index.mjs +2 -4
  56. package/package.json +7 -7
  57. package/src/graphql/inputs/message.input.ts +2 -2
  58. package/src/graphql/types/base/index.ts +1 -1
  59. package/src/graphql/types/converted/index.ts +31 -10
  60. package/src/service-adapters/anthropic/anthropic-adapter.ts +1 -2
  61. package/src/service-adapters/anthropic/utils.ts +3 -3
  62. package/src/service-adapters/experimental/ollama/ollama-adapter.ts +1 -1
  63. package/src/service-adapters/google/google-genai-adapter.ts +13 -117
  64. package/src/service-adapters/langchain/utils.ts +4 -4
  65. package/src/service-adapters/openai/openai-assistant-adapter.ts +4 -6
  66. package/src/service-adapters/openai/utils.ts +3 -3
  67. package/dist/chunk-73NMP3DI.mjs.map +0 -1
  68. package/dist/chunk-7AFOEQJG.mjs.map +0 -1
  69. package/dist/chunk-RMZWGQ46.mjs.map +0 -1
  70. package/dist/chunk-TBZGOJJX.mjs +0 -44
  71. package/dist/chunk-TBZGOJJX.mjs.map +0 -1
  72. package/dist/chunk-VRFBTIGK.mjs.map +0 -1
  73. package/src/service-adapters/google/utils.ts +0 -94
  74. /package/dist/{chunk-I5XVY6LS.mjs.map → chunk-DC7DLTU6.mjs.map} +0 -0
  75. /package/dist/{chunk-UB4LPMMV.mjs.map → chunk-HKURA7H3.mjs.map} +0 -0
  76. /package/dist/{chunk-TY5C4PL4.mjs.map → chunk-IL7POK7R.mjs.map} +0 -0
  77. /package/dist/{chunk-LYLGFMKH.mjs.map → chunk-JUNGFQE7.mjs.map} +0 -0
package/dist/index.js CHANGED
@@ -44,7 +44,7 @@ var require_package = __commonJS({
44
44
  publishConfig: {
45
45
  access: "public"
46
46
  },
47
- version: "1.3.6",
47
+ version: "1.3.7",
48
48
  sideEffects: false,
49
49
  main: "./dist/index.js",
50
50
  module: "./dist/index.mjs",
@@ -82,10 +82,10 @@ var require_package = __commonJS({
82
82
  dependencies: {
83
83
  "@anthropic-ai/sdk": "^0.27.3",
84
84
  "@copilotkit/shared": "workspace:*",
85
- "@google/generative-ai": "^0.11.2",
85
+ "@langchain/google-gauth": "^0.1.0",
86
86
  "@graphql-yoga/plugin-defer-stream": "^3.3.1",
87
87
  "@langchain/community": "^0.0.53",
88
- "@langchain/core": "^0.1.61",
88
+ "@langchain/core": "^0.3.13",
89
89
  "@langchain/openai": "^0.0.28",
90
90
  "class-transformer": "^0.5.1",
91
91
  express: "^4.19.2",
@@ -93,7 +93,7 @@ var require_package = __commonJS({
93
93
  "graphql-scalars": "^1.23.0",
94
94
  "graphql-yoga": "^5.3.1",
95
95
  "groq-sdk": "^0.5.0",
96
- langchain: "^0.1.36",
96
+ langchain: "^0.3.3",
97
97
  openai: "^4.50.0",
98
98
  pino: "^9.2.0",
99
99
  "pino-pretty": "^11.2.1",
@@ -148,7 +148,7 @@ module.exports = __toCommonJS(src_exports);
148
148
  var import_reflect_metadata = require("reflect-metadata");
149
149
 
150
150
  // src/lib/runtime/copilot-runtime.ts
151
- var import_shared10 = require("@copilotkit/shared");
151
+ var import_shared9 = require("@copilotkit/shared");
152
152
 
153
153
  // src/service-adapters/langchain/langserve.ts
154
154
  var import_remote = require("langchain/runnables/remote");
@@ -231,71 +231,6 @@ __name(RemoteChain, "RemoteChain");
231
231
  // src/service-adapters/openai/openai-adapter.ts
232
232
  var import_openai = __toESM(require("openai"));
233
233
 
234
- // src/graphql/types/base/index.ts
235
- var import_type_graphql = require("type-graphql");
236
- function _ts_decorate(decorators, target, key, desc) {
237
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
238
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
239
- r = Reflect.decorate(decorators, target, key, desc);
240
- else
241
- for (var i = decorators.length - 1; i >= 0; i--)
242
- if (d = decorators[i])
243
- r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
244
- return c > 3 && r && Object.defineProperty(target, key, r), r;
245
- }
246
- __name(_ts_decorate, "_ts_decorate");
247
- function _ts_metadata(k, v) {
248
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
249
- return Reflect.metadata(k, v);
250
- }
251
- __name(_ts_metadata, "_ts_metadata");
252
- var BaseMessage = class {
253
- id;
254
- createdAt;
255
- };
256
- __name(BaseMessage, "BaseMessage");
257
- _ts_decorate([
258
- (0, import_type_graphql.Field)(() => String),
259
- _ts_metadata("design:type", String)
260
- ], BaseMessage.prototype, "id", void 0);
261
- _ts_decorate([
262
- (0, import_type_graphql.Field)(() => Date),
263
- _ts_metadata("design:type", typeof Date === "undefined" ? Object : Date)
264
- ], BaseMessage.prototype, "createdAt", void 0);
265
- BaseMessage = _ts_decorate([
266
- (0, import_type_graphql.InputType)()
267
- ], BaseMessage);
268
-
269
- // src/graphql/types/converted/index.ts
270
- var TextMessage = class extends BaseMessage {
271
- content;
272
- role;
273
- };
274
- __name(TextMessage, "TextMessage");
275
- var ActionExecutionMessage = class extends BaseMessage {
276
- name;
277
- arguments;
278
- scope;
279
- };
280
- __name(ActionExecutionMessage, "ActionExecutionMessage");
281
- var ResultMessage = class extends BaseMessage {
282
- actionExecutionId;
283
- actionName;
284
- result;
285
- };
286
- __name(ResultMessage, "ResultMessage");
287
- var AgentStateMessage = class extends BaseMessage {
288
- threadId;
289
- agentName;
290
- nodeName;
291
- runId;
292
- active;
293
- role;
294
- state;
295
- running;
296
- };
297
- __name(AgentStateMessage, "AgentStateMessage");
298
-
299
234
  // src/service-adapters/openai/utils.ts
300
235
  function limitMessagesToTokenCount(messages, tools, model, maxTokens) {
301
236
  maxTokens || (maxTokens = maxTokensForOpenAIModel(model));
@@ -396,12 +331,12 @@ function convertActionInputToOpenAITool(action) {
396
331
  }
397
332
  __name(convertActionInputToOpenAITool, "convertActionInputToOpenAITool");
398
333
  function convertMessageToOpenAIMessage(message) {
399
- if (message instanceof TextMessage) {
334
+ if (message.isTextMessage()) {
400
335
  return {
401
336
  role: message.role,
402
337
  content: message.content
403
338
  };
404
- } else if (message instanceof ActionExecutionMessage) {
339
+ } else if (message.isActionExecutionMessage()) {
405
340
  return {
406
341
  role: "assistant",
407
342
  tool_calls: [
@@ -415,7 +350,7 @@ function convertMessageToOpenAIMessage(message) {
415
350
  }
416
351
  ]
417
352
  };
418
- } else if (message instanceof ResultMessage) {
353
+ } else if (message.isResultMessage()) {
419
354
  return {
420
355
  role: "tool",
421
356
  content: message.result,
@@ -534,7 +469,7 @@ var import_tools = require("@langchain/core/tools");
534
469
  var import_zod = require("zod");
535
470
  var import_shared2 = require("@copilotkit/shared");
536
471
  function convertMessageToLangChainMessage(message) {
537
- if (message instanceof TextMessage) {
472
+ if (message.isTextMessage()) {
538
473
  if (message.role == "user") {
539
474
  return new import_messages.HumanMessage(message.content);
540
475
  } else if (message.role == "assistant") {
@@ -542,7 +477,7 @@ function convertMessageToLangChainMessage(message) {
542
477
  } else if (message.role === "system") {
543
478
  return new import_messages.SystemMessage(message.content);
544
479
  }
545
- } else if (message instanceof ActionExecutionMessage) {
480
+ } else if (message.isActionExecutionMessage()) {
546
481
  return new import_messages.AIMessage({
547
482
  content: "",
548
483
  tool_calls: [
@@ -553,7 +488,7 @@ function convertMessageToLangChainMessage(message) {
553
488
  }
554
489
  ]
555
490
  });
556
- } else if (message instanceof ResultMessage) {
491
+ } else if (message.isResultMessage()) {
557
492
  return new import_messages.ToolMessage({
558
493
  content: message.result,
559
494
  tool_call_id: message.actionExecutionId
@@ -579,7 +514,7 @@ function convertJsonSchemaToZodSchema(jsonSchema, required) {
579
514
  let schema = import_zod.z.boolean().describe(jsonSchema.description);
580
515
  return !required ? schema.optional() : schema;
581
516
  } else if (jsonSchema.type === "array") {
582
- let itemSchema = convertJsonSchemaToZodSchema(jsonSchema.items, false);
517
+ let itemSchema = convertJsonSchemaToZodSchema(jsonSchema.items, true);
583
518
  let schema = import_zod.z.array(itemSchema);
584
519
  return !required ? schema.optional() : schema;
585
520
  }
@@ -753,199 +688,21 @@ var LangChainAdapter = class {
753
688
  __name(LangChainAdapter, "LangChainAdapter");
754
689
 
755
690
  // src/service-adapters/google/google-genai-adapter.ts
756
- var import_generative_ai = require("@google/generative-ai");
757
-
758
- // src/service-adapters/google/utils.ts
759
- function convertMessageToGoogleGenAIMessage(message) {
760
- if (message instanceof TextMessage) {
761
- const role = {
762
- user: "user",
763
- assistant: "model",
764
- system: "user"
765
- }[message.role];
766
- const text = message.role === "system" ? "THE FOLLOWING MESSAGE IS A SYSTEM MESSAGE: " + message.content : message.content;
767
- return {
768
- role,
769
- parts: [
770
- {
771
- text
772
- }
773
- ]
774
- };
775
- } else if (message instanceof ActionExecutionMessage) {
776
- return {
777
- role: "model",
778
- parts: [
779
- {
780
- functionCall: {
781
- name: message.name,
782
- args: message.arguments
783
- }
784
- }
785
- ]
786
- };
787
- } else if (message instanceof ResultMessage) {
788
- return {
789
- role: "function",
790
- parts: [
791
- {
792
- functionResponse: {
793
- name: message.actionName,
794
- response: {
795
- name: message.actionName,
796
- content: tryParseJson(message.result)
797
- }
798
- }
799
- }
800
- ]
801
- };
802
- }
803
- }
804
- __name(convertMessageToGoogleGenAIMessage, "convertMessageToGoogleGenAIMessage");
805
- function transformActionToGoogleGenAITool(action) {
806
- const name = action.name;
807
- const description = action.description;
808
- const parameters = JSON.parse(action.jsonSchema);
809
- const transformProperties = /* @__PURE__ */ __name((props) => {
810
- for (const key in props) {
811
- if (props[key].type) {
812
- props[key].type = props[key].type.toUpperCase();
813
- }
814
- if (props[key].properties) {
815
- transformProperties(props[key].properties);
816
- }
817
- }
818
- }, "transformProperties");
819
- transformProperties(parameters);
820
- return {
821
- functionDeclarations: [
822
- {
823
- name,
824
- description,
825
- parameters
826
- }
827
- ]
828
- };
829
- }
830
- __name(transformActionToGoogleGenAITool, "transformActionToGoogleGenAITool");
831
- function tryParseJson(str) {
832
- if (!str) {
833
- return "";
834
- }
835
- try {
836
- return JSON.parse(str);
837
- } catch (e) {
838
- return str;
839
- }
840
- }
841
- __name(tryParseJson, "tryParseJson");
842
-
843
- // src/service-adapters/google/google-genai-adapter.ts
844
- var import_shared4 = require("@copilotkit/shared");
845
- var GoogleGenerativeAIAdapter = class {
846
- model;
691
+ var import_google_gauth = require("@langchain/google-gauth");
692
+ var GoogleGenerativeAIAdapter = class extends LangChainAdapter {
847
693
  constructor(options) {
848
- if (options == null ? void 0 : options.model) {
849
- this.model = options.model;
850
- } else {
851
- const genAI = new import_generative_ai.GoogleGenerativeAI(process.env["GOOGLE_API_KEY"]);
852
- this.model = genAI.getGenerativeModel({
853
- model: "gemini-pro"
854
- });
855
- }
856
- }
857
- async process(request) {
858
- const { messages, actions, eventSource } = request;
859
- const history = messages.slice(1, -1).map(convertMessageToGoogleGenAIMessage);
860
- const currentMessage = convertMessageToGoogleGenAIMessage(messages.at(-1));
861
- if (!currentMessage) {
862
- throw new Error("No current message");
863
- }
864
- let systemMessage;
865
- const firstMessage = messages.at(0);
866
- if (firstMessage instanceof TextMessage && firstMessage.role === "system") {
867
- systemMessage = firstMessage.content.trim();
868
- } else {
869
- throw new Error("First message is not a system message");
870
- }
871
- const tools = actions.map(transformActionToGoogleGenAITool);
872
- const isFirstGenGeminiPro = this.model.model === "gemini-pro" || this.model.model === "models/gemini-pro";
873
- const chat = this.model.startChat({
874
- history: [
875
- ...history,
876
- // gemini-pro does not support system instructions, so we need to add them to the history
877
- ...isFirstGenGeminiPro ? [
878
- {
879
- role: "user",
880
- parts: [
881
- {
882
- text: systemMessage
883
- }
884
- ]
885
- }
886
- ] : []
887
- ],
888
- // only gemini-1.5-pro-latest and later supports setting system instructions
889
- ...isFirstGenGeminiPro ? {} : {
890
- systemInstruction: {
891
- role: "user",
892
- parts: [
893
- {
894
- text: systemMessage
895
- }
896
- ]
897
- }
898
- },
899
- tools
900
- });
901
- const result = await chat.sendMessageStream(currentMessage.parts);
902
- eventSource.stream(async (eventStream$) => {
903
- let isTextMessage = false;
904
- for await (const chunk of result.stream) {
905
- const chunkText = chunk.text();
906
- if (chunkText === "") {
907
- continue;
908
- }
909
- if (!isTextMessage) {
910
- isTextMessage = true;
911
- eventStream$.sendTextMessageStart((0, import_shared4.randomId)());
912
- }
913
- eventStream$.sendTextMessageContent(chunkText);
914
- }
915
- if (isTextMessage) {
916
- eventStream$.sendTextMessageEnd();
694
+ super({
695
+ chainFn: async ({ messages, tools }) => {
696
+ const model = new import_google_gauth.ChatGoogle({
697
+ modelName: (options == null ? void 0 : options.model) ?? "gemini-1.5-pro",
698
+ apiVersion: "v1beta"
699
+ }).bindTools(tools);
700
+ return model.stream(messages);
917
701
  }
918
- let calls = (await result.response).functionCalls();
919
- if (calls) {
920
- for (let call of calls) {
921
- eventStream$.sendActionExecution((0, import_shared4.randomId)(), call.name, JSON.stringify(replaceNewlinesInObject(call.args)));
922
- }
923
- }
924
- eventStream$.complete();
925
702
  });
926
- return {
927
- threadId: request.threadId || (0, import_shared4.randomId)()
928
- };
929
703
  }
930
704
  };
931
705
  __name(GoogleGenerativeAIAdapter, "GoogleGenerativeAIAdapter");
932
- function replaceNewlinesInObject(obj) {
933
- if (typeof obj === "string") {
934
- return obj.replace(/\\\\n/g, "\n");
935
- } else if (Array.isArray(obj)) {
936
- return obj.map(replaceNewlinesInObject);
937
- } else if (typeof obj === "object" && obj !== null) {
938
- const newObj = {};
939
- for (const key in obj) {
940
- if (obj.hasOwnProperty(key)) {
941
- newObj[key] = replaceNewlinesInObject(obj[key]);
942
- }
943
- }
944
- return newObj;
945
- }
946
- return obj;
947
- }
948
- __name(replaceNewlinesInObject, "replaceNewlinesInObject");
949
706
 
950
707
  // src/service-adapters/openai/openai-assistant-adapter.ts
951
708
  var import_openai2 = __toESM(require("openai"));
@@ -967,9 +724,9 @@ var OpenAIAssistantAdapter = class {
967
724
  let threadId = request.threadId || (await this.openai.beta.threads.create()).id;
968
725
  const lastMessage = messages.at(-1);
969
726
  let nextRunId = void 0;
970
- if (lastMessage instanceof ResultMessage && runId) {
727
+ if (lastMessage.isResultMessage() && runId) {
971
728
  nextRunId = await this.submitToolOutputs(threadId, runId, messages, eventSource);
972
- } else if (lastMessage instanceof TextMessage) {
729
+ } else if (lastMessage.isTextMessage()) {
973
730
  nextRunId = await this.submitUserMessage(threadId, messages, actions, eventSource, forwardedParameters);
974
731
  } else {
975
732
  throw new Error("No actionable message found in the messages");
@@ -985,7 +742,7 @@ var OpenAIAssistantAdapter = class {
985
742
  throw new Error("No tool outputs required");
986
743
  }
987
744
  const toolCallsIds = run.required_action.submit_tool_outputs.tool_calls.map((toolCall) => toolCall.id);
988
- const resultMessages = messages.filter((message) => message instanceof ResultMessage && toolCallsIds.includes(message.actionExecutionId));
745
+ const resultMessages = messages.filter((message) => message.isResultMessage() && toolCallsIds.includes(message.actionExecutionId));
989
746
  if (toolCallsIds.length != resultMessages.length) {
990
747
  throw new Error("Number of function results does not match the number of tool calls");
991
748
  }
@@ -1009,7 +766,7 @@ var OpenAIAssistantAdapter = class {
1009
766
  ...messages
1010
767
  ];
1011
768
  const instructionsMessage = messages.shift();
1012
- const instructions = instructionsMessage instanceof TextMessage ? instructionsMessage.content : "";
769
+ const instructions = instructionsMessage.isTextMessage() ? instructionsMessage.content : "";
1013
770
  const userMessage = messages.map(convertMessageToOpenAIMessage).map(convertSystemMessageToAssistantAPI).at(-1);
1014
771
  if (userMessage.role !== "user") {
1015
772
  throw new Error("No user message found");
@@ -1111,7 +868,7 @@ __name(getRunIdFromStream, "getRunIdFromStream");
1111
868
 
1112
869
  // src/service-adapters/unify/unify-adapter.ts
1113
870
  var import_openai3 = __toESM(require("openai"));
1114
- var import_shared5 = require("@copilotkit/shared");
871
+ var import_shared4 = require("@copilotkit/shared");
1115
872
  var UnifyAdapter = class {
1116
873
  apiKey;
1117
874
  model;
@@ -1147,7 +904,7 @@ var UnifyAdapter = class {
1147
904
  for await (const chunk of stream) {
1148
905
  if (this.start) {
1149
906
  model = chunk.model;
1150
- eventStream$.sendTextMessageStart((0, import_shared5.randomId)());
907
+ eventStream$.sendTextMessageStart((0, import_shared4.randomId)());
1151
908
  eventStream$.sendTextMessageContent(`Model used: ${model}
1152
909
  `);
1153
910
  eventStream$.sendTextMessageEnd();
@@ -1185,7 +942,7 @@ var UnifyAdapter = class {
1185
942
  eventStream$.complete();
1186
943
  });
1187
944
  return {
1188
- threadId: request.threadId || (0, import_shared5.randomId)()
945
+ threadId: request.threadId || (0, import_shared4.randomId)()
1189
946
  };
1190
947
  }
1191
948
  };
@@ -1193,7 +950,7 @@ __name(UnifyAdapter, "UnifyAdapter");
1193
950
 
1194
951
  // src/service-adapters/groq/groq-adapter.ts
1195
952
  var import_groq_sdk = require("groq-sdk");
1196
- var import_shared6 = require("@copilotkit/shared");
953
+ var import_shared5 = require("@copilotkit/shared");
1197
954
  var DEFAULT_MODEL2 = "llama3-groq-70b-8192-tool-use-preview";
1198
955
  var GroqAdapter = class {
1199
956
  model = DEFAULT_MODEL2;
@@ -1279,7 +1036,7 @@ var GroqAdapter = class {
1279
1036
  eventStream$.complete();
1280
1037
  });
1281
1038
  return {
1282
- threadId: threadId || (0, import_shared6.randomId)()
1039
+ threadId: threadId || (0, import_shared5.randomId)()
1283
1040
  };
1284
1041
  }
1285
1042
  };
@@ -1354,7 +1111,7 @@ function convertActionInputToAnthropicTool(action) {
1354
1111
  }
1355
1112
  __name(convertActionInputToAnthropicTool, "convertActionInputToAnthropicTool");
1356
1113
  function convertMessageToAnthropicMessage(message) {
1357
- if (message instanceof TextMessage) {
1114
+ if (message.isTextMessage()) {
1358
1115
  if (message.role === "system") {
1359
1116
  return {
1360
1117
  role: "assistant",
@@ -1376,7 +1133,7 @@ function convertMessageToAnthropicMessage(message) {
1376
1133
  ]
1377
1134
  };
1378
1135
  }
1379
- } else if (message instanceof ActionExecutionMessage) {
1136
+ } else if (message.isActionExecutionMessage()) {
1380
1137
  return {
1381
1138
  role: "assistant",
1382
1139
  content: [
@@ -1388,7 +1145,7 @@ function convertMessageToAnthropicMessage(message) {
1388
1145
  }
1389
1146
  ]
1390
1147
  };
1391
- } else if (message instanceof ResultMessage) {
1148
+ } else if (message.isResultMessage()) {
1392
1149
  return {
1393
1150
  role: "user",
1394
1151
  content: [
@@ -1421,7 +1178,7 @@ function groupAnthropicMessagesByRole(messageParams) {
1421
1178
  __name(groupAnthropicMessagesByRole, "groupAnthropicMessagesByRole");
1422
1179
 
1423
1180
  // src/service-adapters/anthropic/anthropic-adapter.ts
1424
- var import_shared7 = require("@copilotkit/shared");
1181
+ var import_shared6 = require("@copilotkit/shared");
1425
1182
  var DEFAULT_MODEL3 = "claude-3-opus-20240229";
1426
1183
  var AnthropicAdapter = class {
1427
1184
  model = DEFAULT_MODEL3;
@@ -1442,7 +1199,7 @@ var AnthropicAdapter = class {
1442
1199
  ...rawMessages
1443
1200
  ];
1444
1201
  const instructionsMessage = messages.shift();
1445
- const instructions = instructionsMessage instanceof TextMessage ? instructionsMessage.content : "";
1202
+ const instructions = instructionsMessage.isTextMessage() ? instructionsMessage.content : "";
1446
1203
  let anthropicMessages = messages.map(convertMessageToAnthropicMessage);
1447
1204
  anthropicMessages = limitMessagesToTokenCount2(anthropicMessages, tools, model);
1448
1205
  anthropicMessages = groupAnthropicMessagesByRole(anthropicMessages);
@@ -1469,8 +1226,8 @@ var AnthropicAdapter = class {
1469
1226
  eventSource.stream(async (eventStream$) => {
1470
1227
  let mode = null;
1471
1228
  let didOutputText = false;
1472
- let currentMessageId = (0, import_shared7.randomId)();
1473
- let currentToolCallId = (0, import_shared7.randomId)();
1229
+ let currentMessageId = (0, import_shared6.randomId)();
1230
+ let currentToolCallId = (0, import_shared6.randomId)();
1474
1231
  let filterThinkingTextBuffer = new FilterThinkingTextBuffer();
1475
1232
  for await (const chunk of await stream) {
1476
1233
  if (chunk.type === "message_start") {
@@ -1511,7 +1268,7 @@ var AnthropicAdapter = class {
1511
1268
  eventStream$.complete();
1512
1269
  });
1513
1270
  return {
1514
- threadId: threadId || (0, import_shared7.randomId)()
1271
+ threadId: threadId || (0, import_shared6.randomId)()
1515
1272
  };
1516
1273
  }
1517
1274
  };
@@ -1553,9 +1310,9 @@ var FilterThinkingTextBuffer = /* @__PURE__ */ __name(class FilterThinkingTextBu
1553
1310
  var import_rxjs2 = require("rxjs");
1554
1311
 
1555
1312
  // src/lib/telemetry-client.ts
1556
- var import_shared8 = require("@copilotkit/shared");
1313
+ var import_shared7 = require("@copilotkit/shared");
1557
1314
  var packageJson = require_package();
1558
- var telemetryClient = new import_shared8.TelemetryClient({
1315
+ var telemetryClient = new import_shared7.TelemetryClient({
1559
1316
  packageName: packageJson.name,
1560
1317
  packageVersion: packageJson.version
1561
1318
  });
@@ -1581,7 +1338,7 @@ var LangGraphEventTypes;
1581
1338
  })(LangGraphEventTypes || (LangGraphEventTypes = {}));
1582
1339
 
1583
1340
  // src/agents/langgraph/event-source.ts
1584
- var import_shared9 = require("@copilotkit/shared");
1341
+ var import_shared8 = require("@copilotkit/shared");
1585
1342
  var RemoteLangGraphEventSource = class {
1586
1343
  eventStream$ = new import_rxjs.ReplaySubject();
1587
1344
  async streamResponse(response) {
@@ -1801,7 +1558,7 @@ var RemoteLangGraphEventSource = class {
1801
1558
  type: RuntimeEventTypes.ActionExecutionEnd
1802
1559
  });
1803
1560
  }
1804
- const messageId = (0, import_shared9.randomId)();
1561
+ const messageId = (0, import_shared8.randomId)();
1805
1562
  events.push({
1806
1563
  type: RuntimeEventTypes.TextMessageStart,
1807
1564
  messageId
@@ -2202,6 +1959,91 @@ async function executeAction(eventStream$, guardrailsResult$, action, actionArgu
2202
1959
  }
2203
1960
  __name(executeAction, "executeAction");
2204
1961
 
1962
+ // src/graphql/types/base/index.ts
1963
+ var import_type_graphql = require("type-graphql");
1964
+ function _ts_decorate(decorators, target, key, desc) {
1965
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1966
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
1967
+ r = Reflect.decorate(decorators, target, key, desc);
1968
+ else
1969
+ for (var i = decorators.length - 1; i >= 0; i--)
1970
+ if (d = decorators[i])
1971
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1972
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
1973
+ }
1974
+ __name(_ts_decorate, "_ts_decorate");
1975
+ function _ts_metadata(k, v) {
1976
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
1977
+ return Reflect.metadata(k, v);
1978
+ }
1979
+ __name(_ts_metadata, "_ts_metadata");
1980
+ var BaseMessageInput = class {
1981
+ id;
1982
+ createdAt;
1983
+ };
1984
+ __name(BaseMessageInput, "BaseMessageInput");
1985
+ _ts_decorate([
1986
+ (0, import_type_graphql.Field)(() => String),
1987
+ _ts_metadata("design:type", String)
1988
+ ], BaseMessageInput.prototype, "id", void 0);
1989
+ _ts_decorate([
1990
+ (0, import_type_graphql.Field)(() => Date),
1991
+ _ts_metadata("design:type", typeof Date === "undefined" ? Object : Date)
1992
+ ], BaseMessageInput.prototype, "createdAt", void 0);
1993
+ BaseMessageInput = _ts_decorate([
1994
+ (0, import_type_graphql.InputType)()
1995
+ ], BaseMessageInput);
1996
+
1997
+ // src/graphql/types/converted/index.ts
1998
+ var Message = class extends BaseMessageInput {
1999
+ type;
2000
+ isTextMessage() {
2001
+ return this.type === "TextMessage";
2002
+ }
2003
+ isActionExecutionMessage() {
2004
+ return this.type === "ActionExecutionMessage";
2005
+ }
2006
+ isResultMessage() {
2007
+ return this.type === "ResultMessage";
2008
+ }
2009
+ isAgentStateMessage() {
2010
+ return this.type === "AgentStateMessage";
2011
+ }
2012
+ };
2013
+ __name(Message, "Message");
2014
+ var TextMessage = class extends Message {
2015
+ type = "TextMessage";
2016
+ content;
2017
+ role;
2018
+ };
2019
+ __name(TextMessage, "TextMessage");
2020
+ var ActionExecutionMessage = class extends Message {
2021
+ type = "ActionExecutionMessage";
2022
+ name;
2023
+ arguments;
2024
+ scope;
2025
+ };
2026
+ __name(ActionExecutionMessage, "ActionExecutionMessage");
2027
+ var ResultMessage = class extends Message {
2028
+ type = "ResultMessage";
2029
+ actionExecutionId;
2030
+ actionName;
2031
+ result;
2032
+ };
2033
+ __name(ResultMessage, "ResultMessage");
2034
+ var AgentStateMessage = class extends Message {
2035
+ type = "AgentStateMessage";
2036
+ threadId;
2037
+ agentName;
2038
+ nodeName;
2039
+ runId;
2040
+ active;
2041
+ role;
2042
+ state;
2043
+ running;
2044
+ };
2045
+ __name(AgentStateMessage, "AgentStateMessage");
2046
+
2205
2047
  // src/service-adapters/conversion.ts
2206
2048
  var import_class_transformer = require("class-transformer");
2207
2049
  function convertGqlInputToMessages(inputMessages) {
@@ -2280,7 +2122,7 @@ var CopilotRuntime = class {
2280
2122
  const serverSideActionsInput = serverSideActions.map((action) => ({
2281
2123
  name: action.name,
2282
2124
  description: action.description,
2283
- jsonSchema: JSON.stringify((0, import_shared10.actionParametersToJsonSchema)(action.parameters))
2125
+ jsonSchema: JSON.stringify((0, import_shared9.actionParametersToJsonSchema)(action.parameters))
2284
2126
  }));
2285
2127
  const actionInputs = flattenToolCallsNoDuplicates([
2286
2128
  ...serverSideActionsInput,
@@ -2333,7 +2175,7 @@ var CopilotRuntime = class {
2333
2175
  async processAgentRequest(request) {
2334
2176
  var _a;
2335
2177
  const { messages: rawMessages, outputMessagesPromise, graphqlContext, agentSession } = request;
2336
- const { threadId = (0, import_shared10.randomId)(), agentName, nodeName } = agentSession;
2178
+ const { threadId = (0, import_shared9.randomId)(), agentName, nodeName } = agentSession;
2337
2179
  const serverSideActions = await this.getServerSideActions(request);
2338
2180
  const messages = convertGqlInputToMessages(rawMessages);
2339
2181
  const agent = serverSideActions.find((action) => action.name === agentName && isLangGraphAgentAction(action));
@@ -2343,7 +2185,7 @@ var CopilotRuntime = class {
2343
2185
  const serverSideActionsInput = serverSideActions.filter((action) => !isLangGraphAgentAction(action)).map((action) => ({
2344
2186
  name: action.name,
2345
2187
  description: action.description,
2346
- jsonSchema: JSON.stringify((0, import_shared10.actionParametersToJsonSchema)(action.parameters))
2188
+ jsonSchema: JSON.stringify((0, import_shared9.actionParametersToJsonSchema)(action.parameters))
2347
2189
  }));
2348
2190
  const actionInputsWithoutAgents = flattenToolCallsNoDuplicates([
2349
2191
  ...serverSideActionsInput,
@@ -2502,7 +2344,7 @@ function _ts_metadata2(k, v) {
2502
2344
  return Reflect.metadata(k, v);
2503
2345
  }
2504
2346
  __name(_ts_metadata2, "_ts_metadata");
2505
- var MessageInput = class extends BaseMessage {
2347
+ var MessageInput = class extends BaseMessageInput {
2506
2348
  textMessage;
2507
2349
  actionExecutionMessage;
2508
2350
  resultMessage;
@@ -3486,7 +3328,7 @@ var UnknownErrorResponse = class extends FailedResponseStatus {
3486
3328
  __name(UnknownErrorResponse, "UnknownErrorResponse");
3487
3329
 
3488
3330
  // src/graphql/resolvers/copilot.resolver.ts
3489
- var import_shared11 = require("@copilotkit/shared");
3331
+ var import_shared10 = require("@copilotkit/shared");
3490
3332
  function _ts_decorate14(decorators, target, key, desc) {
3491
3333
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3492
3334
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
@@ -3603,7 +3445,7 @@ var CopilotResolver = class {
3603
3445
  rejectOutputMessagesPromise = reject;
3604
3446
  });
3605
3447
  logger2.debug("Processing");
3606
- const { eventSource, threadId = (0, import_shared11.randomId)(), runId, serverSideActions, actionInputsWithoutAgents } = await copilotRuntime.processRuntimeRequest({
3448
+ const { eventSource, threadId = (0, import_shared10.randomId)(), runId, serverSideActions, actionInputsWithoutAgents } = await copilotRuntime.processRuntimeRequest({
3607
3449
  serviceAdapter,
3608
3450
  messages: data.messages,
3609
3451
  actions: data.frontend.actions,
@@ -3648,7 +3490,7 @@ var CopilotResolver = class {
3648
3490
  });
3649
3491
  outputMessages = [
3650
3492
  (0, import_class_transformer2.plainToInstance)(TextMessage, {
3651
- id: (0, import_shared11.randomId)(),
3493
+ id: (0, import_shared10.randomId)(),
3652
3494
  createdAt: /* @__PURE__ */ new Date(),
3653
3495
  content: result.reason,
3654
3496
  role: MessageRole.assistant
@@ -3699,7 +3541,7 @@ var CopilotResolver = class {
3699
3541
  (0, import_rxjs4.takeWhile)((e) => e.type != RuntimeEventTypes.TextMessageEnd)
3700
3542
  );
3701
3543
  const streamingTextStatus = new import_rxjs4.Subject();
3702
- const messageId = (0, import_shared11.randomId)();
3544
+ const messageId = (0, import_shared10.randomId)();
3703
3545
  pushMessage({
3704
3546
  id: messageId,
3705
3547
  status: (0, import_rxjs4.firstValueFrom)(streamingTextStatus),
@@ -3811,7 +3653,7 @@ var CopilotResolver = class {
3811
3653
  result: event.result
3812
3654
  }, "Action execution result event received");
3813
3655
  pushMessage({
3814
- id: (0, import_shared11.randomId)(),
3656
+ id: (0, import_shared10.randomId)(),
3815
3657
  status: new SuccessMessageStatus(),
3816
3658
  createdAt: /* @__PURE__ */ new Date(),
3817
3659
  actionExecutionId: event.actionExecutionId,
@@ -3819,7 +3661,7 @@ var CopilotResolver = class {
3819
3661
  result: event.result
3820
3662
  });
3821
3663
  outputMessages.push((0, import_class_transformer2.plainToInstance)(ResultMessage, {
3822
- id: (0, import_shared11.randomId)(),
3664
+ id: (0, import_shared10.randomId)(),
3823
3665
  createdAt: /* @__PURE__ */ new Date(),
3824
3666
  actionExecutionId: event.actionExecutionId,
3825
3667
  actionName: event.actionName,
@@ -3831,7 +3673,7 @@ var CopilotResolver = class {
3831
3673
  event
3832
3674
  }, "Agent message event received");
3833
3675
  pushMessage({
3834
- id: (0, import_shared11.randomId)(),
3676
+ id: (0, import_shared10.randomId)(),
3835
3677
  status: new SuccessMessageStatus(),
3836
3678
  threadId: event.threadId,
3837
3679
  agentName: event.agentName,
@@ -3844,7 +3686,7 @@ var CopilotResolver = class {
3844
3686
  createdAt: /* @__PURE__ */ new Date()
3845
3687
  });
3846
3688
  outputMessages.push((0, import_class_transformer2.plainToInstance)(AgentStateMessage, {
3847
- id: (0, import_shared11.randomId)(),
3689
+ id: (0, import_shared10.randomId)(),
3848
3690
  threadId: event.threadId,
3849
3691
  agentName: event.agentName,
3850
3692
  nodeName: event.nodeName,