@copilotkit/runtime 1.5.1-next.2 → 1.5.1-next.3

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 (55) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/__snapshots__/schema/schema.graphql +9 -19
  3. package/dist/{chunk-RFF5IIZJ.mjs → chunk-B74M7FXG.mjs} +2 -3
  4. package/dist/chunk-B74M7FXG.mjs.map +1 -0
  5. package/dist/{chunk-2FY7EQEE.mjs → chunk-M4QD67S3.mjs} +2 -2
  6. package/dist/{chunk-CLGKEUOA.mjs → chunk-OKQVDDJ2.mjs} +63 -298
  7. package/dist/chunk-OKQVDDJ2.mjs.map +1 -0
  8. package/dist/{chunk-2ZPE55QG.mjs → chunk-U3AYI5XZ.mjs} +2 -2
  9. package/dist/{chunk-W6E7AVR7.mjs → chunk-U75F2RAQ.mjs} +2 -2
  10. package/dist/{chunk-2V7BHSFE.mjs → chunk-ZSWCEADS.mjs} +331 -579
  11. package/dist/chunk-ZSWCEADS.mjs.map +1 -0
  12. package/dist/{copilot-runtime-36700e00.d.ts → copilot-runtime-12e7ac40.d.ts} +2 -9
  13. package/dist/graphql/types/converted/index.d.ts +1 -1
  14. package/dist/graphql/types/converted/index.js +1 -2
  15. package/dist/graphql/types/converted/index.js.map +1 -1
  16. package/dist/graphql/types/converted/index.mjs +1 -1
  17. package/dist/{groq-adapter-696b5d29.d.ts → groq-adapter-24abe931.d.ts} +1 -1
  18. package/dist/{index-cc2b17be.d.ts → index-10b1c870.d.ts} +9 -8
  19. package/dist/index.d.ts +5 -5
  20. package/dist/index.js +498 -984
  21. package/dist/index.js.map +1 -1
  22. package/dist/index.mjs +11 -15
  23. package/dist/index.mjs.map +1 -1
  24. package/dist/{langserve-9125a12e.d.ts → langserve-f021ab9c.d.ts} +14 -54
  25. package/dist/lib/index.d.ts +4 -4
  26. package/dist/lib/index.js +477 -886
  27. package/dist/lib/index.js.map +1 -1
  28. package/dist/lib/index.mjs +7 -7
  29. package/dist/lib/integrations/index.d.ts +4 -4
  30. package/dist/lib/integrations/index.js +48 -171
  31. package/dist/lib/integrations/index.js.map +1 -1
  32. package/dist/lib/integrations/index.mjs +6 -6
  33. package/dist/lib/integrations/nest/index.d.ts +3 -3
  34. package/dist/lib/integrations/nest/index.js +48 -171
  35. package/dist/lib/integrations/nest/index.js.map +1 -1
  36. package/dist/lib/integrations/nest/index.mjs +4 -4
  37. package/dist/lib/integrations/node-express/index.d.ts +3 -3
  38. package/dist/lib/integrations/node-express/index.js +48 -171
  39. package/dist/lib/integrations/node-express/index.js.map +1 -1
  40. package/dist/lib/integrations/node-express/index.mjs +4 -4
  41. package/dist/lib/integrations/node-http/index.d.ts +3 -3
  42. package/dist/lib/integrations/node-http/index.js +48 -171
  43. package/dist/lib/integrations/node-http/index.js.map +1 -1
  44. package/dist/lib/integrations/node-http/index.mjs +3 -3
  45. package/dist/service-adapters/index.d.ts +5 -36
  46. package/dist/service-adapters/index.js +61 -298
  47. package/dist/service-adapters/index.js.map +1 -1
  48. package/dist/service-adapters/index.mjs +1 -5
  49. package/package.json +2 -2
  50. package/dist/chunk-2V7BHSFE.mjs.map +0 -1
  51. package/dist/chunk-CLGKEUOA.mjs.map +0 -1
  52. package/dist/chunk-RFF5IIZJ.mjs.map +0 -1
  53. /package/dist/{chunk-2FY7EQEE.mjs.map → chunk-M4QD67S3.mjs.map} +0 -0
  54. /package/dist/{chunk-2ZPE55QG.mjs.map → chunk-U3AYI5XZ.mjs.map} +0 -0
  55. /package/dist/{chunk-W6E7AVR7.mjs.map → chunk-U75F2RAQ.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.5.1-next.2",
47
+ version: "1.4.1-pre.6",
48
48
  sideEffects: false,
49
49
  main: "./dist/index.js",
50
50
  module: "./dist/index.mjs",
@@ -126,8 +126,6 @@ var src_exports = {};
126
126
  __export(src_exports, {
127
127
  AnthropicAdapter: () => AnthropicAdapter,
128
128
  CopilotRuntime: () => CopilotRuntime,
129
- ExperimentalEmptyAdapter: () => ExperimentalEmptyAdapter,
130
- ExperimentalOllamaAdapter: () => ExperimentalOllamaAdapter,
131
129
  GoogleGenerativeAIAdapter: () => GoogleGenerativeAIAdapter,
132
130
  GroqAdapter: () => GroqAdapter,
133
131
  GuardrailsValidationFailureResponse: () => GuardrailsValidationFailureResponse,
@@ -156,7 +154,7 @@ module.exports = __toCommonJS(src_exports);
156
154
  var import_reflect_metadata = require("reflect-metadata");
157
155
 
158
156
  // src/lib/runtime/copilot-runtime.ts
159
- var import_shared12 = require("@copilotkit/shared");
157
+ var import_shared10 = require("@copilotkit/shared");
160
158
 
161
159
  // src/service-adapters/langchain/langserve.ts
162
160
  var import_remote = require("langchain/runnables/remote");
@@ -427,16 +425,11 @@ var OpenAIAdapter = class {
427
425
  },
428
426
  ...this.disableParallelToolCalls && {
429
427
  parallel_tool_calls: false
430
- },
431
- ...(forwardedParameters == null ? void 0 : forwardedParameters.temperature) && {
432
- temperature: forwardedParameters.temperature
433
428
  }
434
429
  });
435
430
  eventSource.stream(async (eventStream$) => {
436
431
  var _a, _b;
437
432
  let mode = null;
438
- let currentMessageId;
439
- let currentToolCallId;
440
433
  for await (const chunk of stream) {
441
434
  if (chunk.choices.length === 0) {
442
435
  continue;
@@ -445,52 +438,30 @@ var OpenAIAdapter = class {
445
438
  const content = chunk.choices[0].delta.content;
446
439
  if (mode === "message" && (toolCall == null ? void 0 : toolCall.id)) {
447
440
  mode = null;
448
- eventStream$.sendTextMessageEnd({
449
- messageId: currentMessageId
450
- });
441
+ eventStream$.sendTextMessageEnd();
451
442
  } else if (mode === "function" && (toolCall === void 0 || (toolCall == null ? void 0 : toolCall.id))) {
452
443
  mode = null;
453
- eventStream$.sendActionExecutionEnd({
454
- actionExecutionId: currentToolCallId
455
- });
444
+ eventStream$.sendActionExecutionEnd();
456
445
  }
457
446
  if (mode === null) {
458
447
  if (toolCall == null ? void 0 : toolCall.id) {
459
448
  mode = "function";
460
- currentToolCallId = toolCall.id;
461
- eventStream$.sendActionExecutionStart({
462
- actionExecutionId: currentToolCallId,
463
- parentMessageId: chunk.id,
464
- actionName: toolCall.function.name
465
- });
449
+ eventStream$.sendActionExecutionStart(toolCall.id, toolCall.function.name);
466
450
  } else if (content) {
467
451
  mode = "message";
468
- currentMessageId = chunk.id;
469
- eventStream$.sendTextMessageStart({
470
- messageId: currentMessageId
471
- });
452
+ eventStream$.sendTextMessageStart(chunk.id);
472
453
  }
473
454
  }
474
455
  if (mode === "message" && content) {
475
- eventStream$.sendTextMessageContent({
476
- messageId: currentMessageId,
477
- content
478
- });
456
+ eventStream$.sendTextMessageContent(content);
479
457
  } else if (mode === "function" && ((_b = toolCall == null ? void 0 : toolCall.function) == null ? void 0 : _b.arguments)) {
480
- eventStream$.sendActionExecutionArgs({
481
- actionExecutionId: currentToolCallId,
482
- args: toolCall.function.arguments
483
- });
458
+ eventStream$.sendActionExecutionArgs(toolCall.function.arguments);
484
459
  }
485
460
  }
486
461
  if (mode === "message") {
487
- eventStream$.sendTextMessageEnd({
488
- messageId: currentMessageId
489
- });
462
+ eventStream$.sendTextMessageEnd();
490
463
  } else if (mode === "function") {
491
- eventStream$.sendActionExecutionEnd({
492
- actionExecutionId: currentToolCallId
493
- });
464
+ eventStream$.sendActionExecutionEnd();
494
465
  }
495
466
  eventStream$.complete();
496
467
  });
@@ -558,25 +529,17 @@ function isBaseMessageChunk(message) {
558
529
  __name(isBaseMessageChunk, "isBaseMessageChunk");
559
530
  function maybeSendActionExecutionResultIsMessage(eventStream$, actionExecution) {
560
531
  if (actionExecution) {
561
- eventStream$.sendActionExecutionResult({
562
- actionExecutionId: actionExecution.id,
563
- actionName: actionExecution.name,
564
- result: "Sending a message"
565
- });
532
+ eventStream$.sendActionExecutionResult(actionExecution.id, actionExecution.name, "Sending a message");
566
533
  }
567
534
  }
568
535
  __name(maybeSendActionExecutionResultIsMessage, "maybeSendActionExecutionResultIsMessage");
569
536
  async function streamLangChainResponse({ result, eventStream$, actionExecution }) {
570
- var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l;
537
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i;
571
538
  if (typeof result === "string") {
572
539
  if (!actionExecution) {
573
540
  eventStream$.sendTextMessage((0, import_shared2.randomId)(), result);
574
541
  } else {
575
- eventStream$.sendActionExecutionResult({
576
- actionExecutionId: actionExecution.id,
577
- actionName: actionExecution.name,
578
- result
579
- });
542
+ eventStream$.sendActionExecutionResult(actionExecution.id, actionExecution.name, result);
580
543
  }
581
544
  } else if (isAIMessage(result)) {
582
545
  maybeSendActionExecutionResultIsMessage(eventStream$, actionExecution);
@@ -584,11 +547,7 @@ async function streamLangChainResponse({ result, eventStream$, actionExecution }
584
547
  eventStream$.sendTextMessage((0, import_shared2.randomId)(), result.content);
585
548
  }
586
549
  for (const toolCall of result.tool_calls) {
587
- eventStream$.sendActionExecution({
588
- actionExecutionId: toolCall.id || (0, import_shared2.randomId)(),
589
- actionName: toolCall.name,
590
- args: JSON.stringify(toolCall.args)
591
- });
550
+ eventStream$.sendActionExecution(toolCall.id || (0, import_shared2.randomId)(), toolCall.name, JSON.stringify(toolCall.args));
592
551
  }
593
552
  } else if (isBaseMessageChunk(result)) {
594
553
  maybeSendActionExecutionResultIsMessage(eventStream$, actionExecution);
@@ -597,18 +556,13 @@ async function streamLangChainResponse({ result, eventStream$, actionExecution }
597
556
  }
598
557
  if ((_b = result.lc_kwargs) == null ? void 0 : _b.tool_calls) {
599
558
  for (const toolCall of (_c = result.lc_kwargs) == null ? void 0 : _c.tool_calls) {
600
- eventStream$.sendActionExecution({
601
- actionExecutionId: toolCall.id || (0, import_shared2.randomId)(),
602
- actionName: toolCall.name,
603
- args: JSON.stringify(toolCall.args)
604
- });
559
+ eventStream$.sendActionExecution(toolCall.id || (0, import_shared2.randomId)(), toolCall.name, JSON.stringify(toolCall.args));
605
560
  }
606
561
  }
607
562
  } else if (result && "getReader" in result) {
608
563
  maybeSendActionExecutionResultIsMessage(eventStream$, actionExecution);
609
564
  let reader = result.getReader();
610
565
  let mode = null;
611
- let currentMessageId;
612
566
  const toolCallDetails = {
613
567
  name: null,
614
568
  id: null,
@@ -622,12 +576,9 @@ async function streamLangChainResponse({ result, eventStream$, actionExecution }
622
576
  let toolCallId = void 0;
623
577
  let toolCallArgs = void 0;
624
578
  let hasToolCall = false;
625
- let content = "";
626
- if (value && value.content) {
627
- content = Array.isArray(value.content) ? ((_d = value.content[0]) == null ? void 0 : _d.text) ?? "" : value.content;
628
- }
579
+ let content = value == null ? void 0 : value.content;
629
580
  if (isAIMessageChunk(value)) {
630
- let chunk = (_e = value.tool_call_chunks) == null ? void 0 : _e[0];
581
+ let chunk = (_d = value.tool_call_chunks) == null ? void 0 : _d[0];
631
582
  toolCallArgs = chunk == null ? void 0 : chunk.args;
632
583
  hasToolCall = chunk != void 0;
633
584
  if (chunk == null ? void 0 : chunk.name)
@@ -642,22 +593,18 @@ async function streamLangChainResponse({ result, eventStream$, actionExecution }
642
593
  toolCallName = toolCallDetails.name;
643
594
  toolCallId = toolCallDetails.id;
644
595
  } else if (isBaseMessageChunk(value)) {
645
- let chunk = (_g = (_f = value.additional_kwargs) == null ? void 0 : _f.tool_calls) == null ? void 0 : _g[0];
646
- toolCallName = (_h = chunk == null ? void 0 : chunk.function) == null ? void 0 : _h.name;
596
+ let chunk = (_f = (_e = value.additional_kwargs) == null ? void 0 : _e.tool_calls) == null ? void 0 : _f[0];
597
+ toolCallName = (_g = chunk == null ? void 0 : chunk.function) == null ? void 0 : _g.name;
647
598
  toolCallId = chunk == null ? void 0 : chunk.id;
648
- toolCallArgs = (_i = chunk == null ? void 0 : chunk.function) == null ? void 0 : _i.arguments;
599
+ toolCallArgs = (_h = chunk == null ? void 0 : chunk.function) == null ? void 0 : _h.arguments;
649
600
  hasToolCall = (chunk == null ? void 0 : chunk.function) != void 0;
650
601
  }
651
602
  if (mode === "message" && (toolCallId || done)) {
652
603
  mode = null;
653
- eventStream$.sendTextMessageEnd({
654
- messageId: currentMessageId
655
- });
604
+ eventStream$.sendTextMessageEnd();
656
605
  } else if (mode === "function" && (!hasToolCall || done)) {
657
606
  mode = null;
658
- eventStream$.sendActionExecutionEnd({
659
- actionExecutionId: toolCallId
660
- });
607
+ eventStream$.sendActionExecutionEnd();
661
608
  }
662
609
  if (done) {
663
610
  break;
@@ -665,40 +612,21 @@ async function streamLangChainResponse({ result, eventStream$, actionExecution }
665
612
  if (mode === null) {
666
613
  if (hasToolCall && toolCallId && toolCallName) {
667
614
  mode = "function";
668
- eventStream$.sendActionExecutionStart({
669
- actionExecutionId: toolCallId,
670
- actionName: toolCallName,
671
- parentMessageId: (_j = value.lc_kwargs) == null ? void 0 : _j.id
672
- });
615
+ eventStream$.sendActionExecutionStart(toolCallId, toolCallName);
673
616
  } else if (content) {
674
617
  mode = "message";
675
- currentMessageId = ((_k = value.lc_kwargs) == null ? void 0 : _k.id) || (0, import_shared2.randomId)();
676
- eventStream$.sendTextMessageStart({
677
- messageId: currentMessageId
678
- });
618
+ eventStream$.sendTextMessageStart((0, import_shared2.randomId)());
679
619
  }
680
620
  }
681
621
  if (mode === "message" && content) {
682
- eventStream$.sendTextMessageContent({
683
- messageId: currentMessageId,
684
- content
685
- });
622
+ eventStream$.sendTextMessageContent(Array.isArray(content) ? ((_i = content[0]) == null ? void 0 : _i.text) ?? "" : content);
686
623
  } else if (mode === "function" && toolCallArgs) {
687
624
  if (toolCallDetails.index !== toolCallDetails.prevIndex) {
688
- eventStream$.sendActionExecutionEnd({
689
- actionExecutionId: toolCallId
690
- });
691
- eventStream$.sendActionExecutionStart({
692
- actionExecutionId: toolCallId,
693
- actionName: toolCallName,
694
- parentMessageId: (_l = value.lc_kwargs) == null ? void 0 : _l.id
695
- });
625
+ eventStream$.sendActionExecutionEnd();
626
+ eventStream$.sendActionExecutionStart(toolCallId, toolCallName);
696
627
  toolCallDetails.prevIndex = toolCallDetails.index;
697
628
  }
698
- eventStream$.sendActionExecutionArgs({
699
- actionExecutionId: toolCallId,
700
- args: toolCallArgs
701
- });
629
+ eventStream$.sendActionExecutionArgs(toolCallArgs);
702
630
  }
703
631
  } catch (error) {
704
632
  console.error("Error reading from stream", error);
@@ -706,11 +634,7 @@ async function streamLangChainResponse({ result, eventStream$, actionExecution }
706
634
  }
707
635
  }
708
636
  } else if (actionExecution) {
709
- eventStream$.sendActionExecutionResult({
710
- actionExecutionId: actionExecution.id,
711
- actionName: actionExecution.name,
712
- result: encodeResult(result)
713
- });
637
+ eventStream$.sendActionExecutionResult(actionExecution.id, actionExecution.name, encodeResult(result));
714
638
  } else {
715
639
  throw new Error("Invalid return type from LangChain function.");
716
640
  }
@@ -890,33 +814,21 @@ var OpenAIAssistantAdapter = class {
890
814
  eventSource.stream(async (eventStream$) => {
891
815
  var _a, _b, _c, _d, _e, _f;
892
816
  let inFunctionCall = false;
893
- let currentMessageId;
894
- let currentToolCallId;
895
817
  for await (const chunk of stream) {
896
818
  switch (chunk.event) {
897
819
  case "thread.message.created":
898
820
  if (inFunctionCall) {
899
- eventStream$.sendActionExecutionEnd({
900
- actionExecutionId: currentToolCallId
901
- });
821
+ eventStream$.sendActionExecutionEnd();
902
822
  }
903
- currentMessageId = chunk.data.id;
904
- eventStream$.sendTextMessageStart({
905
- messageId: currentMessageId
906
- });
823
+ eventStream$.sendTextMessageStart(chunk.data.id);
907
824
  break;
908
825
  case "thread.message.delta":
909
826
  if (((_a = chunk.data.delta.content) == null ? void 0 : _a[0].type) === "text") {
910
- eventStream$.sendTextMessageContent({
911
- messageId: currentMessageId,
912
- content: (_b = chunk.data.delta.content) == null ? void 0 : _b[0].text.value
913
- });
827
+ eventStream$.sendTextMessageContent((_b = chunk.data.delta.content) == null ? void 0 : _b[0].text.value);
914
828
  }
915
829
  break;
916
830
  case "thread.message.completed":
917
- eventStream$.sendTextMessageEnd({
918
- messageId: currentMessageId
919
- });
831
+ eventStream$.sendTextMessageEnd();
920
832
  break;
921
833
  case "thread.run.step.delta":
922
834
  let toolCallId;
@@ -929,30 +841,18 @@ var OpenAIAssistantAdapter = class {
929
841
  }
930
842
  if (toolCallName && toolCallId) {
931
843
  if (inFunctionCall) {
932
- eventStream$.sendActionExecutionEnd({
933
- actionExecutionId: currentToolCallId
934
- });
844
+ eventStream$.sendActionExecutionEnd();
935
845
  }
936
846
  inFunctionCall = true;
937
- currentToolCallId = toolCallId;
938
- eventStream$.sendActionExecutionStart({
939
- actionExecutionId: currentToolCallId,
940
- parentMessageId: chunk.data.id,
941
- actionName: toolCallName
942
- });
847
+ eventStream$.sendActionExecutionStart(toolCallId, toolCallName);
943
848
  } else if (toolCallArgs) {
944
- eventStream$.sendActionExecutionArgs({
945
- actionExecutionId: currentToolCallId,
946
- args: toolCallArgs
947
- });
849
+ eventStream$.sendActionExecutionArgs(toolCallArgs);
948
850
  }
949
851
  break;
950
852
  }
951
853
  }
952
854
  if (inFunctionCall) {
953
- eventStream$.sendActionExecutionEnd({
954
- actionExecutionId: currentToolCallId
955
- });
855
+ eventStream$.sendActionExecutionEnd();
956
856
  }
957
857
  eventStream$.complete();
958
858
  });
@@ -995,7 +895,6 @@ var UnifyAdapter = class {
995
895
  apiKey: this.apiKey,
996
896
  baseURL: "https://api.unify.ai/v0/"
997
897
  });
998
- const forwardedParameters = request.forwardedParameters;
999
898
  const messages = request.messages.map(convertMessageToOpenAIMessage);
1000
899
  const stream = await openai.chat.completions.create({
1001
900
  model: this.model,
@@ -1003,83 +902,49 @@ var UnifyAdapter = class {
1003
902
  stream: true,
1004
903
  ...tools.length > 0 && {
1005
904
  tools
1006
- },
1007
- ...(forwardedParameters == null ? void 0 : forwardedParameters.temperature) && {
1008
- temperature: forwardedParameters.temperature
1009
905
  }
1010
906
  });
1011
907
  let model = null;
1012
- let currentMessageId;
1013
- let currentToolCallId;
1014
908
  request.eventSource.stream(async (eventStream$) => {
1015
909
  var _a, _b;
1016
910
  let mode = null;
1017
911
  for await (const chunk of stream) {
1018
912
  if (this.start) {
1019
913
  model = chunk.model;
1020
- currentMessageId = (0, import_shared4.randomId)();
1021
- eventStream$.sendTextMessageStart({
1022
- messageId: currentMessageId
1023
- });
1024
- eventStream$.sendTextMessageContent({
1025
- messageId: currentMessageId,
1026
- content: `Model used: ${model}
1027
- `
1028
- });
1029
- eventStream$.sendTextMessageEnd({
1030
- messageId: currentMessageId
1031
- });
914
+ eventStream$.sendTextMessageStart((0, import_shared4.randomId)());
915
+ eventStream$.sendTextMessageContent(`Model used: ${model}
916
+ `);
917
+ eventStream$.sendTextMessageEnd();
1032
918
  this.start = false;
1033
919
  }
1034
920
  const toolCall = (_a = chunk.choices[0].delta.tool_calls) == null ? void 0 : _a[0];
1035
921
  const content = chunk.choices[0].delta.content;
1036
922
  if (mode === "message" && (toolCall == null ? void 0 : toolCall.id)) {
1037
923
  mode = null;
1038
- eventStream$.sendTextMessageEnd({
1039
- messageId: currentMessageId
1040
- });
924
+ eventStream$.sendTextMessageEnd();
1041
925
  } else if (mode === "function" && (toolCall === void 0 || (toolCall == null ? void 0 : toolCall.id))) {
1042
926
  mode = null;
1043
- eventStream$.sendActionExecutionEnd({
1044
- actionExecutionId: currentToolCallId
1045
- });
927
+ eventStream$.sendActionExecutionEnd();
1046
928
  }
1047
929
  if (mode === null) {
1048
930
  if (toolCall == null ? void 0 : toolCall.id) {
1049
931
  mode = "function";
1050
- currentToolCallId = toolCall.id;
1051
- eventStream$.sendActionExecutionStart({
1052
- actionExecutionId: currentToolCallId,
1053
- actionName: toolCall.function.name
1054
- });
932
+ eventStream$.sendActionExecutionStart(toolCall.id, toolCall.function.name);
1055
933
  } else if (content) {
1056
934
  mode = "message";
1057
- currentMessageId = chunk.id;
1058
- eventStream$.sendTextMessageStart({
1059
- messageId: currentMessageId
1060
- });
935
+ eventStream$.sendTextMessageStart(chunk.id);
1061
936
  }
1062
937
  }
1063
938
  if (mode === "message" && content) {
1064
- eventStream$.sendTextMessageContent({
1065
- messageId: currentMessageId,
1066
- content
1067
- });
939
+ eventStream$.sendTextMessageContent(content);
1068
940
  } else if (mode === "function" && ((_b = toolCall == null ? void 0 : toolCall.function) == null ? void 0 : _b.arguments)) {
1069
- eventStream$.sendActionExecutionArgs({
1070
- actionExecutionId: currentToolCallId,
1071
- args: toolCall.function.arguments
1072
- });
941
+ eventStream$.sendActionExecutionArgs(toolCall.function.arguments);
1073
942
  }
1074
943
  }
1075
944
  if (mode === "message") {
1076
- eventStream$.sendTextMessageEnd({
1077
- messageId: currentMessageId
1078
- });
945
+ eventStream$.sendTextMessageEnd();
1079
946
  } else if (mode === "function") {
1080
- eventStream$.sendActionExecutionEnd({
1081
- actionExecutionId: currentToolCallId
1082
- });
947
+ eventStream$.sendActionExecutionEnd();
1083
948
  }
1084
949
  eventStream$.complete();
1085
950
  });
@@ -1140,67 +1005,40 @@ var GroqAdapter = class {
1140
1005
  },
1141
1006
  ...this.disableParallelToolCalls && {
1142
1007
  parallel_tool_calls: false
1143
- },
1144
- ...(forwardedParameters == null ? void 0 : forwardedParameters.temperature) && {
1145
- temperature: forwardedParameters.temperature
1146
1008
  }
1147
1009
  });
1148
1010
  eventSource.stream(async (eventStream$) => {
1149
1011
  var _a, _b;
1150
1012
  let mode = null;
1151
- let currentMessageId;
1152
- let currentToolCallId;
1153
1013
  for await (const chunk of stream) {
1154
1014
  const toolCall = (_a = chunk.choices[0].delta.tool_calls) == null ? void 0 : _a[0];
1155
1015
  const content = chunk.choices[0].delta.content;
1156
1016
  if (mode === "message" && (toolCall == null ? void 0 : toolCall.id)) {
1157
1017
  mode = null;
1158
- eventStream$.sendTextMessageEnd({
1159
- messageId: currentMessageId
1160
- });
1018
+ eventStream$.sendTextMessageEnd();
1161
1019
  } else if (mode === "function" && (toolCall === void 0 || (toolCall == null ? void 0 : toolCall.id))) {
1162
1020
  mode = null;
1163
- eventStream$.sendActionExecutionEnd({
1164
- actionExecutionId: currentToolCallId
1165
- });
1021
+ eventStream$.sendActionExecutionEnd();
1166
1022
  }
1167
1023
  if (mode === null) {
1168
1024
  if (toolCall == null ? void 0 : toolCall.id) {
1169
1025
  mode = "function";
1170
- currentToolCallId = toolCall.id;
1171
- eventStream$.sendActionExecutionStart({
1172
- actionExecutionId: currentToolCallId,
1173
- actionName: toolCall.function.name,
1174
- parentMessageId: chunk.id
1175
- });
1026
+ eventStream$.sendActionExecutionStart(toolCall.id, toolCall.function.name);
1176
1027
  } else if (content) {
1177
1028
  mode = "message";
1178
- currentMessageId = chunk.id;
1179
- eventStream$.sendTextMessageStart({
1180
- messageId: currentMessageId
1181
- });
1029
+ eventStream$.sendTextMessageStart(chunk.id);
1182
1030
  }
1183
1031
  }
1184
1032
  if (mode === "message" && content) {
1185
- eventStream$.sendTextMessageContent({
1186
- messageId: currentMessageId,
1187
- content
1188
- });
1033
+ eventStream$.sendTextMessageContent(content);
1189
1034
  } else if (mode === "function" && ((_b = toolCall == null ? void 0 : toolCall.function) == null ? void 0 : _b.arguments)) {
1190
- eventStream$.sendActionExecutionArgs({
1191
- actionExecutionId: currentToolCallId,
1192
- args: toolCall.function.arguments
1193
- });
1035
+ eventStream$.sendActionExecutionArgs(toolCall.function.arguments);
1194
1036
  }
1195
1037
  }
1196
1038
  if (mode === "message") {
1197
- eventStream$.sendTextMessageEnd({
1198
- messageId: currentMessageId
1199
- });
1039
+ eventStream$.sendTextMessageEnd();
1200
1040
  } else if (mode === "function") {
1201
- eventStream$.sendActionExecutionEnd({
1202
- actionExecutionId: currentToolCallId
1203
- });
1041
+ eventStream$.sendActionExecutionEnd();
1204
1042
  }
1205
1043
  eventStream$.complete();
1206
1044
  });
@@ -1384,9 +1222,6 @@ var AnthropicAdapter = class {
1384
1222
  model: this.model,
1385
1223
  messages: anthropicMessages,
1386
1224
  max_tokens: (forwardedParameters == null ? void 0 : forwardedParameters.maxTokens) || 1024,
1387
- ...(forwardedParameters == null ? void 0 : forwardedParameters.temperature) ? {
1388
- temperature: forwardedParameters.temperature
1389
- } : {},
1390
1225
  ...tools.length > 0 && {
1391
1226
  tools
1392
1227
  },
@@ -1411,11 +1246,7 @@ var AnthropicAdapter = class {
1411
1246
  mode = "message";
1412
1247
  } else if (chunk.content_block.type === "tool_use") {
1413
1248
  currentToolCallId = chunk.content_block.id;
1414
- eventStream$.sendActionExecutionStart({
1415
- actionExecutionId: currentToolCallId,
1416
- actionName: chunk.content_block.name,
1417
- parentMessageId: currentMessageId
1418
- });
1249
+ eventStream$.sendActionExecutionStart(currentToolCallId, chunk.content_block.name);
1419
1250
  mode = "function";
1420
1251
  }
1421
1252
  } else if (chunk.type === "content_block_delta") {
@@ -1423,33 +1254,21 @@ var AnthropicAdapter = class {
1423
1254
  const text = filterThinkingTextBuffer.onTextChunk(chunk.delta.text);
1424
1255
  if (text.length > 0) {
1425
1256
  if (!didOutputText) {
1426
- eventStream$.sendTextMessageStart({
1427
- messageId: currentMessageId
1428
- });
1257
+ eventStream$.sendTextMessageStart(currentMessageId);
1429
1258
  didOutputText = true;
1430
1259
  }
1431
- eventStream$.sendTextMessageContent({
1432
- messageId: currentMessageId,
1433
- content: text
1434
- });
1260
+ eventStream$.sendTextMessageContent(text);
1435
1261
  }
1436
1262
  } else if (chunk.delta.type === "input_json_delta") {
1437
- eventStream$.sendActionExecutionArgs({
1438
- actionExecutionId: currentToolCallId,
1439
- args: chunk.delta.partial_json
1440
- });
1263
+ eventStream$.sendActionExecutionArgs(chunk.delta.partial_json);
1441
1264
  }
1442
1265
  } else if (chunk.type === "content_block_stop") {
1443
1266
  if (mode === "message") {
1444
1267
  if (didOutputText) {
1445
- eventStream$.sendTextMessageEnd({
1446
- messageId: currentMessageId
1447
- });
1268
+ eventStream$.sendTextMessageEnd();
1448
1269
  }
1449
1270
  } else if (mode === "function") {
1450
- eventStream$.sendActionExecutionEnd({
1451
- actionExecutionId: currentToolCallId
1452
- });
1271
+ eventStream$.sendActionExecutionEnd();
1453
1272
  }
1454
1273
  }
1455
1274
  }
@@ -1494,66 +1313,12 @@ var FilterThinkingTextBuffer = /* @__PURE__ */ __name(class FilterThinkingTextBu
1494
1313
  }
1495
1314
  }, "FilterThinkingTextBuffer");
1496
1315
 
1497
- // src/service-adapters/experimental/ollama/ollama-adapter.ts
1498
- var import_ollama = require("@langchain/community/llms/ollama");
1499
- var import_shared7 = require("@copilotkit/shared");
1500
- var DEFAULT_MODEL4 = "llama3:latest";
1501
- var ExperimentalOllamaAdapter = class {
1502
- model;
1503
- constructor(options) {
1504
- if (options == null ? void 0 : options.model) {
1505
- this.model = options.model;
1506
- } else {
1507
- this.model = DEFAULT_MODEL4;
1508
- }
1509
- }
1510
- async process(request) {
1511
- const { messages, actions, eventSource } = request;
1512
- const ollama = new import_ollama.Ollama({
1513
- model: this.model
1514
- });
1515
- const contents = messages.filter((m) => m.isTextMessage()).map((m) => m.content);
1516
- const _stream = await ollama.stream(contents);
1517
- eventSource.stream(async (eventStream$) => {
1518
- const currentMessageId = (0, import_shared7.randomId)();
1519
- eventStream$.sendTextMessageStart({
1520
- messageId: currentMessageId
1521
- });
1522
- for await (const chunkText of _stream) {
1523
- eventStream$.sendTextMessageContent({
1524
- messageId: currentMessageId,
1525
- content: chunkText
1526
- });
1527
- }
1528
- eventStream$.sendTextMessageEnd({
1529
- messageId: currentMessageId
1530
- });
1531
- eventStream$.complete();
1532
- });
1533
- return {
1534
- threadId: request.threadId || (0, import_shared7.randomId)()
1535
- };
1536
- }
1537
- };
1538
- __name(ExperimentalOllamaAdapter, "ExperimentalOllamaAdapter");
1539
-
1540
- // src/service-adapters/experimental/empty/empty-adapter.ts
1541
- var import_shared8 = require("@copilotkit/shared");
1542
- var ExperimentalEmptyAdapter = class {
1543
- async process(request) {
1544
- return {
1545
- threadId: request.threadId || (0, import_shared8.randomId)()
1546
- };
1547
- }
1548
- };
1549
- __name(ExperimentalEmptyAdapter, "ExperimentalEmptyAdapter");
1550
-
1551
1316
  // src/service-adapters/events.ts
1552
- var import_shared11 = require("@copilotkit/shared");
1317
+ var import_shared9 = require("@copilotkit/shared");
1553
1318
  var import_rxjs2 = require("rxjs");
1554
1319
 
1555
1320
  // src/lib/telemetry-client.ts
1556
- var import_shared10 = require("@copilotkit/shared");
1321
+ var import_shared8 = require("@copilotkit/shared");
1557
1322
 
1558
1323
  // src/lib/runtime/remote-action-constructors.ts
1559
1324
  var import_node_crypto2 = require("crypto");
@@ -1586,7 +1351,7 @@ var CustomEventNames;
1586
1351
  })(CustomEventNames || (CustomEventNames = {}));
1587
1352
 
1588
1353
  // src/agents/langgraph/event-source.ts
1589
- var import_shared9 = require("@copilotkit/shared");
1354
+ var import_shared7 = require("@copilotkit/shared");
1590
1355
  var RemoteLangGraphEventSource = class {
1591
1356
  eventStream$ = new import_rxjs.ReplaySubject();
1592
1357
  shouldEmitToolCall(shouldEmitToolCalls, toolCallName) {
@@ -1598,167 +1363,163 @@ var RemoteLangGraphEventSource = class {
1598
1363
  }
1599
1364
  return shouldEmitToolCalls === toolCallName;
1600
1365
  }
1601
- getCurrentContent(event) {
1602
- var _a, _b, _c, _d, _e;
1603
- const content = ((_c = (_b = (_a = event.data) == null ? void 0 : _a.chunk) == null ? void 0 : _b.kwargs) == null ? void 0 : _c.content) ?? ((_e = (_d = event.data) == null ? void 0 : _d.chunk) == null ? void 0 : _e.content);
1604
- if (!content) {
1605
- const toolCallChunks = this.getCurrentToolCallChunks(event) ?? [];
1606
- for (const chunk of toolCallChunks) {
1607
- if (chunk.args) {
1608
- return chunk.args;
1609
- }
1610
- }
1611
- }
1612
- if (typeof content === "string") {
1613
- return content;
1614
- } else if (Array.isArray(content) && content.length > 0) {
1615
- return content[0].text;
1616
- }
1617
- return null;
1618
- }
1619
- getCurrentMessageId(event) {
1620
- var _a, _b, _c, _d, _e;
1621
- return ((_c = (_b = (_a = event.data) == null ? void 0 : _a.chunk) == null ? void 0 : _b.kwargs) == null ? void 0 : _c.id) ?? ((_e = (_d = event.data) == null ? void 0 : _d.chunk) == null ? void 0 : _e.id);
1622
- }
1623
- getCurrentToolCallChunks(event) {
1624
- var _a, _b, _c, _d, _e;
1625
- return ((_c = (_b = (_a = event.data) == null ? void 0 : _a.chunk) == null ? void 0 : _b.kwargs) == null ? void 0 : _c.tool_call_chunks) ?? ((_e = (_d = event.data) == null ? void 0 : _d.chunk) == null ? void 0 : _e.tool_call_chunks);
1626
- }
1627
- getResponseMetadata(event) {
1628
- var _a, _b, _c, _d, _e;
1629
- return ((_c = (_b = (_a = event.data) == null ? void 0 : _a.chunk) == null ? void 0 : _b.kwargs) == null ? void 0 : _c.response_metadata) ?? ((_e = (_d = event.data) == null ? void 0 : _d.chunk) == null ? void 0 : _e.response_metadata);
1630
- }
1631
1366
  processLangGraphEvents() {
1632
1367
  let lastEventWithState = null;
1633
1368
  return this.eventStream$.pipe((0, import_rxjs.scan)((acc, event) => {
1369
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q;
1634
1370
  if (event.event === LangGraphEventTypes.OnChatModelStream) {
1635
- const prevMessageId = acc.lastMessageId;
1636
- acc.currentContent = this.getCurrentContent(event);
1637
- acc.lastMessageId = this.getCurrentMessageId(event) ?? acc.lastMessageId;
1638
- const toolCallChunks = this.getCurrentToolCallChunks(event) ?? [];
1639
- const responseMetadata = this.getResponseMetadata(event);
1640
- acc.isToolCallStart = toolCallChunks.some((chunk) => chunk.name && chunk.id);
1641
- acc.isMessageStart = prevMessageId !== acc.lastMessageId && !acc.isToolCallStart;
1642
- acc.isToolCall = toolCallChunks && toolCallChunks.length > 0;
1643
- acc.isToolCallEnd = (responseMetadata == null ? void 0 : responseMetadata.finish_reason) === "tool_calls";
1644
- acc.isMessageEnd = (responseMetadata == null ? void 0 : responseMetadata.finish_reason) === "stop";
1645
- ({ name: acc.lastToolCallName, id: acc.lastToolCallId } = toolCallChunks.find((chunk) => chunk.name && chunk.id) ?? {
1646
- name: acc.lastToolCallName,
1647
- id: acc.lastToolCallId
1648
- });
1371
+ const content = ((_c = (_b = (_a = event.data) == null ? void 0 : _a.chunk) == null ? void 0 : _b.kwargs) == null ? void 0 : _c.content) ?? ((_e = (_d = event.data) == null ? void 0 : _d.chunk) == null ? void 0 : _e.content);
1372
+ if (typeof content === "string") {
1373
+ acc.content = content;
1374
+ } else if (Array.isArray(content) && content.length > 0) {
1375
+ acc.content = content[0].text;
1376
+ } else {
1377
+ acc.content = null;
1378
+ }
1379
+ const toolCallChunks = (
1380
+ // @ts-expect-error -- LangGraph Platform implementation stores data outside of kwargs
1381
+ ((_h = (_g = (_f = event.data) == null ? void 0 : _f.chunk) == null ? void 0 : _g.kwargs) == null ? void 0 : _h.tool_call_chunks) ?? ((_j = (_i = event.data) == null ? void 0 : _i.chunk) == null ? void 0 : _j.tool_call_chunks)
1382
+ );
1383
+ const toolCallMessageId = ((_m = (_l = (_k = event.data) == null ? void 0 : _k.chunk) == null ? void 0 : _l.kwargs) == null ? void 0 : _m.id) ?? ((_o = (_n = event.data) == null ? void 0 : _n.chunk) == null ? void 0 : _o.id);
1384
+ if (toolCallChunks && toolCallChunks.length > 0) {
1385
+ acc.prevToolCallMessageId = acc.toolCallMessageId;
1386
+ acc.toolCallMessageId = toolCallMessageId;
1387
+ if ((_p = toolCallChunks[0]) == null ? void 0 : _p.name) {
1388
+ acc.toolCallName = toolCallChunks[0].name;
1389
+ }
1390
+ if ((_q = toolCallChunks[0]) == null ? void 0 : _q.id) {
1391
+ acc.toolCallId = toolCallChunks[0].id;
1392
+ }
1393
+ acc.prevMessageId = acc.messageId;
1394
+ acc.messageId = toolCallMessageId;
1395
+ } else if (acc.content && acc.content != "") {
1396
+ acc.prevMessageId = acc.messageId;
1397
+ acc.messageId = toolCallMessageId;
1398
+ } else {
1399
+ acc.prevToolCallMessageId = acc.toolCallMessageId;
1400
+ acc.prevMessageId = acc.messageId;
1401
+ }
1402
+ } else {
1403
+ acc.prevToolCallMessageId = acc.toolCallMessageId;
1404
+ acc.toolCallMessageId = null;
1405
+ acc.prevMessageId = acc.messageId;
1406
+ acc.messageId = null;
1407
+ acc.toolCallName = null;
1649
1408
  }
1650
1409
  acc.event = event;
1651
1410
  lastEventWithState = acc;
1652
1411
  return acc;
1653
1412
  }, {
1654
1413
  event: null,
1655
- isMessageStart: false,
1656
- isMessageEnd: false,
1657
- isToolCallStart: false,
1658
- isToolCallEnd: false,
1659
- isToolCall: false,
1660
- lastMessageId: null,
1661
- lastToolCallId: null,
1662
- lastToolCallName: null,
1663
- currentContent: null
1664
- }), (0, import_rxjs.mergeMap)((acc) => {
1414
+ toolCallId: null,
1415
+ toolCallMessageId: null,
1416
+ prevToolCallMessageId: null,
1417
+ messageId: null,
1418
+ toolCallName: null,
1419
+ prevMessageId: null,
1420
+ content: null
1421
+ }), (0, import_rxjs.mergeMap)((eventWithState) => {
1422
+ var _a, _b, _c, _d, _e, _f, _g, _h, _i;
1665
1423
  const events = [];
1666
1424
  let shouldEmitMessages = true;
1667
- let shouldEmitToolCalls = true;
1668
- if (acc.event.event == LangGraphEventTypes.OnChatModelStream) {
1669
- if ("copilotkit:emit-tool-calls" in (acc.event.metadata || {})) {
1670
- shouldEmitToolCalls = acc.event.metadata["copilotkit:emit-tool-calls"];
1425
+ let shouldEmitToolCalls = false;
1426
+ if (eventWithState.event.event == LangGraphEventTypes.OnChatModelStream) {
1427
+ if ("copilotkit:emit-tool-calls" in (eventWithState.event.metadata || {})) {
1428
+ shouldEmitToolCalls = eventWithState.event.metadata["copilotkit:emit-tool-calls"];
1671
1429
  }
1672
- if ("copilotkit:emit-messages" in (acc.event.metadata || {})) {
1673
- shouldEmitMessages = acc.event.metadata["copilotkit:emit-messages"];
1430
+ if ("copilotkit:emit-messages" in (eventWithState.event.metadata || {})) {
1431
+ shouldEmitMessages = eventWithState.event.metadata["copilotkit:emit-messages"];
1674
1432
  }
1675
1433
  }
1676
- const responseMetadata = this.getResponseMetadata(acc.event);
1677
- if ((responseMetadata == null ? void 0 : responseMetadata.finish_reason) === "tool_calls" && this.shouldEmitToolCall(shouldEmitToolCalls, acc.lastToolCallName)) {
1434
+ if (eventWithState.prevToolCallMessageId !== null && eventWithState.prevToolCallMessageId !== eventWithState.toolCallMessageId && this.shouldEmitToolCall(shouldEmitToolCalls, eventWithState.toolCallName)) {
1678
1435
  events.push({
1679
- type: RuntimeEventTypes.ActionExecutionEnd,
1680
- actionExecutionId: acc.lastToolCallId
1436
+ type: RuntimeEventTypes.ActionExecutionEnd
1681
1437
  });
1682
1438
  }
1683
- if ((responseMetadata == null ? void 0 : responseMetadata.finish_reason) === "stop" && shouldEmitMessages) {
1439
+ if (eventWithState.prevMessageId !== null && eventWithState.prevMessageId !== eventWithState.messageId && shouldEmitMessages) {
1684
1440
  events.push({
1685
- type: RuntimeEventTypes.TextMessageEnd,
1686
- messageId: acc.lastMessageId
1441
+ type: RuntimeEventTypes.TextMessageEnd
1687
1442
  });
1688
1443
  }
1689
- switch (acc.event.event) {
1444
+ switch (eventWithState.event.event) {
1690
1445
  case LangGraphEventTypes.OnCustomEvent:
1691
- if (acc.event.name === CustomEventNames.CopilotKitManuallyEmitMessage) {
1446
+ if (eventWithState.event.name === CustomEventNames.CopilotKitManuallyEmitMessage) {
1692
1447
  events.push({
1693
1448
  type: RuntimeEventTypes.TextMessageStart,
1694
- messageId: acc.event.data.message_id
1449
+ messageId: eventWithState.event.data.message_id
1695
1450
  });
1696
1451
  events.push({
1697
1452
  type: RuntimeEventTypes.TextMessageContent,
1698
- messageId: acc.event.data.message_id,
1699
- content: acc.event.data.message
1453
+ content: eventWithState.event.data.message
1700
1454
  });
1701
1455
  events.push({
1702
- type: RuntimeEventTypes.TextMessageEnd,
1703
- messageId: acc.event.data.message_id
1456
+ type: RuntimeEventTypes.TextMessageEnd
1704
1457
  });
1705
- } else if (acc.event.name === CustomEventNames.CopilotKitManuallyEmitToolCall) {
1458
+ } else if (eventWithState.event.name === CustomEventNames.CopilotKitManuallyEmitToolCall) {
1706
1459
  events.push({
1707
1460
  type: RuntimeEventTypes.ActionExecutionStart,
1708
- actionExecutionId: acc.event.data.id,
1709
- actionName: acc.event.data.name,
1710
- parentMessageId: acc.event.data.id
1461
+ actionExecutionId: eventWithState.event.data.id,
1462
+ actionName: eventWithState.event.data.name
1711
1463
  });
1712
1464
  events.push({
1713
1465
  type: RuntimeEventTypes.ActionExecutionArgs,
1714
- actionExecutionId: acc.event.data.id,
1715
- args: JSON.stringify(acc.event.data.args)
1466
+ args: JSON.stringify(eventWithState.event.data.args)
1716
1467
  });
1717
1468
  events.push({
1718
- type: RuntimeEventTypes.ActionExecutionEnd,
1719
- actionExecutionId: acc.event.data.id
1469
+ type: RuntimeEventTypes.ActionExecutionEnd
1720
1470
  });
1721
1471
  }
1722
1472
  break;
1723
1473
  case LangGraphEventTypes.OnCopilotKitStateSync:
1724
1474
  events.push({
1725
1475
  type: RuntimeEventTypes.AgentStateMessage,
1726
- threadId: acc.event.thread_id,
1727
- role: acc.event.role,
1728
- agentName: acc.event.agent_name,
1729
- nodeName: acc.event.node_name,
1730
- runId: acc.event.run_id,
1731
- active: acc.event.active,
1732
- state: JSON.stringify(acc.event.state),
1733
- running: acc.event.running
1476
+ threadId: eventWithState.event.thread_id,
1477
+ role: eventWithState.event.role,
1478
+ agentName: eventWithState.event.agent_name,
1479
+ nodeName: eventWithState.event.node_name,
1480
+ runId: eventWithState.event.run_id,
1481
+ active: eventWithState.event.active,
1482
+ state: JSON.stringify(eventWithState.event.state),
1483
+ running: eventWithState.event.running
1734
1484
  });
1735
1485
  break;
1486
+ case LangGraphEventTypes.OnToolEnd:
1487
+ break;
1736
1488
  case LangGraphEventTypes.OnChatModelStream:
1737
- if (acc.isToolCallStart && this.shouldEmitToolCall(shouldEmitToolCalls, acc.lastToolCallName)) {
1738
- events.push({
1739
- type: RuntimeEventTypes.ActionExecutionStart,
1740
- actionExecutionId: acc.lastToolCallId,
1741
- actionName: acc.lastToolCallName,
1742
- parentMessageId: acc.lastMessageId
1743
- });
1744
- } else if (acc.isMessageStart && shouldEmitMessages) {
1745
- events.push({
1746
- type: RuntimeEventTypes.TextMessageStart,
1747
- messageId: acc.lastMessageId
1748
- });
1489
+ if (eventWithState.toolCallMessageId !== null && eventWithState.prevToolCallMessageId !== eventWithState.toolCallMessageId) {
1490
+ if (this.shouldEmitToolCall(shouldEmitToolCalls, eventWithState.toolCallName)) {
1491
+ events.push({
1492
+ type: RuntimeEventTypes.ActionExecutionStart,
1493
+ actionExecutionId: eventWithState.toolCallMessageId,
1494
+ actionName: eventWithState.toolCallName,
1495
+ scope: "client"
1496
+ });
1497
+ }
1498
+ } else if (eventWithState.messageId !== null && eventWithState.prevMessageId !== eventWithState.messageId) {
1499
+ if (shouldEmitMessages) {
1500
+ events.push({
1501
+ type: RuntimeEventTypes.TextMessageStart,
1502
+ messageId: eventWithState.messageId
1503
+ });
1504
+ }
1749
1505
  }
1750
- if (acc.isToolCall && acc.currentContent && this.shouldEmitToolCall(shouldEmitToolCalls, acc.lastToolCallName)) {
1751
- events.push({
1752
- type: RuntimeEventTypes.ActionExecutionArgs,
1753
- actionExecutionId: acc.lastToolCallId,
1754
- args: acc.currentContent
1755
- });
1756
- } else if (!acc.isToolCall && acc.currentContent && shouldEmitMessages) {
1757
- events.push({
1758
- type: RuntimeEventTypes.TextMessageContent,
1759
- messageId: acc.lastMessageId,
1760
- content: acc.currentContent
1761
- });
1506
+ const args = ((_e = (_d = (_c = (_b = (_a = eventWithState.event.data) == null ? void 0 : _a.chunk) == null ? void 0 : _b.kwargs) == null ? void 0 : _c.tool_call_chunks) == null ? void 0 : _d[0]) == null ? void 0 : _e.args) ?? // @ts-expect-error -- sdf
1507
+ ((_i = (_h = (_g = (_f = eventWithState.event.data) == null ? void 0 : _f.chunk) == null ? void 0 : _g.tool_call_chunks) == null ? void 0 : _h[0]) == null ? void 0 : _i.args);
1508
+ const content = eventWithState.content;
1509
+ if (args) {
1510
+ if (this.shouldEmitToolCall(shouldEmitToolCalls, eventWithState.toolCallName)) {
1511
+ events.push({
1512
+ type: RuntimeEventTypes.ActionExecutionArgs,
1513
+ args
1514
+ });
1515
+ }
1516
+ } else if (eventWithState.messageId !== null && content) {
1517
+ if (shouldEmitMessages) {
1518
+ events.push({
1519
+ type: RuntimeEventTypes.TextMessageContent,
1520
+ content
1521
+ });
1522
+ }
1762
1523
  }
1763
1524
  break;
1764
1525
  }
@@ -1766,31 +1527,27 @@ var RemoteLangGraphEventSource = class {
1766
1527
  }), (0, import_rxjs.catchError)((error) => {
1767
1528
  console.error(error);
1768
1529
  const events = [];
1769
- if ((lastEventWithState == null ? void 0 : lastEventWithState.lastMessageId) && !lastEventWithState.isToolCall) {
1530
+ if (lastEventWithState == null ? void 0 : lastEventWithState.messageId) {
1770
1531
  events.push({
1771
- type: RuntimeEventTypes.TextMessageEnd,
1772
- messageId: lastEventWithState.lastMessageId
1532
+ type: RuntimeEventTypes.TextMessageEnd
1773
1533
  });
1774
1534
  }
1775
- if (lastEventWithState == null ? void 0 : lastEventWithState.lastToolCallId) {
1535
+ if (lastEventWithState == null ? void 0 : lastEventWithState.toolCallMessageId) {
1776
1536
  events.push({
1777
- type: RuntimeEventTypes.ActionExecutionEnd,
1778
- actionExecutionId: lastEventWithState.lastToolCallId
1537
+ type: RuntimeEventTypes.ActionExecutionEnd
1779
1538
  });
1780
1539
  }
1781
- const messageId = (0, import_shared9.randomId)();
1540
+ const messageId = (0, import_shared7.randomId)();
1782
1541
  events.push({
1783
1542
  type: RuntimeEventTypes.TextMessageStart,
1784
1543
  messageId
1785
1544
  });
1786
1545
  events.push({
1787
1546
  type: RuntimeEventTypes.TextMessageContent,
1788
- messageId,
1789
1547
  content: "\u274C An error occurred. Please try again."
1790
1548
  });
1791
1549
  events.push({
1792
- type: RuntimeEventTypes.TextMessageEnd,
1793
- messageId
1550
+ type: RuntimeEventTypes.TextMessageEnd
1794
1551
  });
1795
1552
  return events;
1796
1553
  }));
@@ -1812,6 +1569,12 @@ var MessageRole;
1812
1569
  MessageRole2["system"] = "system";
1813
1570
  MessageRole2["tool"] = "tool";
1814
1571
  })(MessageRole || (MessageRole = {}));
1572
+ var ActionExecutionScope;
1573
+ (function(ActionExecutionScope2) {
1574
+ ActionExecutionScope2["server"] = "server";
1575
+ ActionExecutionScope2["client"] = "client";
1576
+ ActionExecutionScope2["passThrough"] = "passThrough";
1577
+ })(ActionExecutionScope || (ActionExecutionScope = {}));
1815
1578
  var CopilotRequestType;
1816
1579
  (function(CopilotRequestType2) {
1817
1580
  CopilotRequestType2["Chat"] = "Chat";
@@ -1830,6 +1593,10 @@ var ActionInputAvailability;
1830
1593
  name: "MessageRole",
1831
1594
  description: "The role of the message"
1832
1595
  });
1596
+ (0, import_type_graphql.registerEnumType)(ActionExecutionScope, {
1597
+ name: "ActionExecutionScope",
1598
+ description: "The scope of the action"
1599
+ });
1833
1600
  (0, import_type_graphql.registerEnumType)(CopilotRequestType, {
1834
1601
  name: "CopilotRequestType",
1835
1602
  description: "The type of Copilot request"
@@ -1867,6 +1634,8 @@ async function streamEvents(controller, args) {
1867
1634
  if (initialThreadId && initialThreadId.startsWith("ck-")) {
1868
1635
  initialThreadId = initialThreadId.substring(3);
1869
1636
  }
1637
+ const assistants = await client.assistants.search();
1638
+ const retrievedAssistant = assistants.find((a) => a.name === name);
1870
1639
  const threadId = initialThreadId ?? (0, import_node_crypto.randomUUID)();
1871
1640
  if (initialThreadId === threadId) {
1872
1641
  await client.threads.get(threadId);
@@ -1886,7 +1655,7 @@ async function streamEvents(controller, args) {
1886
1655
  const mode = wasInitiatedWithExistingThread && nodeName != "__end__" ? "continue" : "start";
1887
1656
  let formattedMessages = [];
1888
1657
  try {
1889
- formattedMessages = copilotkitMessagesToLangChain(messages);
1658
+ formattedMessages = formatMessages(messages);
1890
1659
  } catch (e) {
1891
1660
  logger2.error(e, `Error event thrown: ${e.message}`);
1892
1661
  }
@@ -1897,16 +1666,8 @@ async function streamEvents(controller, args) {
1897
1666
  asNode: nodeName
1898
1667
  });
1899
1668
  }
1900
- let streamInfo = {
1901
- hashedLgcKey: (0, import_node_crypto.createHash)("sha256").update(langsmithApiKey).digest("hex")
1902
- };
1903
- const assistants = await client.assistants.search();
1904
- const retrievedAssistant = assistants.find((a) => a.name === name || a.assistant_id === initialAssistantId);
1905
- if (!retrievedAssistant) {
1906
- telemetry_client_default.capture("oss.runtime.agent_execution_stream_errored", {
1907
- ...streamInfo,
1908
- error: `Found no assistants for given information, while ${assistants.length} assistants exists`
1909
- });
1669
+ const assistantId = initialAssistantId ?? (retrievedAssistant == null ? void 0 : retrievedAssistant.assistant_id);
1670
+ if (!assistantId) {
1910
1671
  console.error(`
1911
1672
  No agent found for the agent name specified in CopilotKit provider
1912
1673
  Please check your available agents or provide an agent ID in the LangGraph Platform endpoint definition.
@@ -1916,7 +1677,6 @@ async function streamEvents(controller, args) {
1916
1677
  `);
1917
1678
  throw new Error("No agent id found");
1918
1679
  }
1919
- const assistantId = retrievedAssistant.assistant_id;
1920
1680
  const graphInfo = await client.assistants.getGraph(assistantId);
1921
1681
  const streamInput = mode === "start" ? state : null;
1922
1682
  let streamingStateExtractor = new StreamingStateExtractor([]);
@@ -1935,6 +1695,9 @@ async function streamEvents(controller, args) {
1935
1695
  let latestStateValues = {};
1936
1696
  let updatedState = state;
1937
1697
  let manuallyEmittedState = null;
1698
+ let streamInfo = {
1699
+ hashedLgcKey: (0, import_node_crypto.createHash)("sha256").update(langsmithApiKey).digest("hex")
1700
+ };
1938
1701
  try {
1939
1702
  telemetry_client_default.capture("oss.runtime.agent_execution_stream_started", {
1940
1703
  hashedLgcKey: streamInfo.hashedLgcKey
@@ -1947,6 +1710,7 @@ async function streamEvents(controller, args) {
1947
1710
  ].includes(chunk.event))
1948
1711
  continue;
1949
1712
  if (chunk.event === "error") {
1713
+ logger2.error(chunk, `Error event thrown: ${chunk.data.message}`);
1950
1714
  throw new Error(`Error event thrown: ${chunk.data.message}`);
1951
1715
  }
1952
1716
  if (chunk.event === "values") {
@@ -2039,34 +1803,21 @@ async function streamEvents(controller, args) {
2039
1803
  nodeName: isEndNode ? "__end__" : nodeName,
2040
1804
  state: state.values,
2041
1805
  running: !shouldExit,
2042
- active: false,
2043
- includeMessages: true
1806
+ active: false
2044
1807
  }));
2045
1808
  return Promise.resolve();
2046
1809
  } catch (e) {
2047
- logger2.error(e);
2048
- telemetry_client_default.capture("oss.runtime.agent_execution_stream_errored", {
2049
- ...streamInfo,
2050
- error: e.message
2051
- });
2052
1810
  return Promise.resolve();
2053
1811
  }
2054
1812
  }
2055
1813
  __name(streamEvents, "streamEvents");
2056
- function getStateSyncEvent({ threadId, runId, agentName, nodeName, state, running, active, includeMessages = false }) {
2057
- if (!includeMessages) {
2058
- state = Object.keys(state).reduce((acc, key) => {
2059
- if (key !== "messages") {
2060
- acc[key] = state[key];
2061
- }
2062
- return acc;
2063
- }, {});
2064
- } else {
2065
- state = {
2066
- ...state,
2067
- messages: langchainMessagesToCopilotKit(state.messages || [])
2068
- };
2069
- }
1814
+ function getStateSyncEvent({ threadId, runId, agentName, nodeName, state, running, active }) {
1815
+ const stateWithoutMessages = Object.keys(state).reduce((acc, key) => {
1816
+ if (key !== "messages") {
1817
+ acc[key] = state[key];
1818
+ }
1819
+ return acc;
1820
+ }, {});
2070
1821
  return JSON.stringify({
2071
1822
  event: LangGraphEventTypes.OnCopilotKitStateSync,
2072
1823
  thread_id: threadId,
@@ -2074,7 +1825,7 @@ function getStateSyncEvent({ threadId, runId, agentName, nodeName, state, runnin
2074
1825
  agent_name: agentName,
2075
1826
  node_name: nodeName,
2076
1827
  active,
2077
- state,
1828
+ state: stateWithoutMessages,
2078
1829
  running,
2079
1830
  role: "assistant"
2080
1831
  }) + "\n";
@@ -2150,157 +1901,134 @@ function langGraphDefaultMergeState(state, messages, actions, agentName) {
2150
1901
  if (messages.length > 0 && "role" in messages[0] && messages[0].role === "system") {
2151
1902
  messages = messages.slice(1);
2152
1903
  }
2153
- const existingMessages = state.messages || [];
2154
- const existingMessageIds = new Set(existingMessages.map((message) => message.id));
2155
- const newMessages = messages.filter((message) => !existingMessageIds.has(message.id));
2156
- return {
2157
- ...state,
2158
- messages: newMessages,
2159
- copilotkit: {
2160
- actions
2161
- }
2162
- };
2163
- }
2164
- __name(langGraphDefaultMergeState, "langGraphDefaultMergeState");
2165
- function langchainMessagesToCopilotKit(messages) {
2166
- const result = [];
2167
- const tool_call_names = {};
2168
- for (const message of messages) {
2169
- if (message.type === "ai") {
2170
- for (const tool_call of message.tool_calls) {
2171
- tool_call_names[tool_call.id] = tool_call.name;
2172
- }
1904
+ const mergedMessages = state.messages || [];
1905
+ const existingMessageIds = new Set(mergedMessages.map((message) => message.id));
1906
+ const existingToolCallResults = /* @__PURE__ */ new Set();
1907
+ for (const message of mergedMessages) {
1908
+ if ("tool_call_id" in message) {
1909
+ existingToolCallResults.add(message.tool_call_id);
2173
1910
  }
2174
1911
  }
2175
1912
  for (const message of messages) {
2176
- let content = message.content;
2177
- if (content instanceof Array) {
2178
- content = content[0];
1913
+ if ("tool_calls" in message && message.tool_calls.length > 0 && message.tool_calls[0].name === agentName) {
1914
+ continue;
2179
1915
  }
2180
- if (content instanceof Object) {
2181
- content = content.text;
1916
+ if ("name" in message && message.name === agentName) {
1917
+ continue;
2182
1918
  }
2183
- if (message.type === "human") {
2184
- result.push({
2185
- role: "user",
2186
- content,
2187
- id: message.id
2188
- });
2189
- } else if (message.type === "system") {
2190
- result.push({
2191
- role: "system",
2192
- content,
2193
- id: message.id
2194
- });
2195
- } else if (message.type === "ai") {
2196
- if (message.tool_calls && message.tool_calls.length > 0) {
2197
- for (const tool_call of message.tool_calls) {
2198
- result.push({
2199
- id: tool_call.id,
2200
- name: tool_call.name,
2201
- arguments: tool_call.args,
2202
- parentMessageId: message.id
2203
- });
1919
+ if (!existingMessageIds.has(message.id)) {
1920
+ if ("tool_call_id" in message && existingToolCallResults.has(message.tool_call_id)) {
1921
+ console.warn("Warning: Duplicate tool call result, skipping:", message.tool_call_id);
1922
+ continue;
1923
+ }
1924
+ mergedMessages.push(message);
1925
+ } else {
1926
+ for (let i = 0; i < mergedMessages.length; i++) {
1927
+ if (mergedMessages[i].id === message.id && message.role === "assistant") {
1928
+ if (("tool_calls" in mergedMessages[i] || "additional_kwargs" in mergedMessages[i]) && mergedMessages[i].content) {
1929
+ message.tool_calls = mergedMessages[i]["tool_calls"];
1930
+ message.additional_kwargs = mergedMessages[i].additional_kwargs;
1931
+ }
1932
+ mergedMessages[i] = message;
2204
1933
  }
2205
- } else {
2206
- result.push({
2207
- role: "assistant",
2208
- content,
2209
- id: message.id,
2210
- parentMessageId: message.id
2211
- });
2212
1934
  }
2213
- } else if (message.type === "tool") {
2214
- const actionName = tool_call_names[message.tool_call_id] || message.name || "";
2215
- result.push({
2216
- actionExecutionId: message.tool_call_id,
2217
- actionName,
2218
- result: content,
2219
- id: message.id
2220
- });
2221
1935
  }
2222
1936
  }
2223
- const resultsDict = {};
2224
- for (const msg of result) {
2225
- if (msg.actionExecutionId) {
2226
- resultsDict[msg.actionExecutionId] = msg;
1937
+ for (let i = 0; i < mergedMessages.length - 1; i++) {
1938
+ const currentMessage = mergedMessages[i];
1939
+ const nextMessage = mergedMessages[i + 1];
1940
+ if ("tool_calls" in currentMessage && currentMessage.tool_calls.length > 0 && "tool_call_id" in nextMessage) {
1941
+ nextMessage.tool_call_id = currentMessage.tool_calls[0].id;
2227
1942
  }
2228
1943
  }
2229
- const reorderedResult = [];
2230
- for (const msg of result) {
2231
- if (!("actionExecutionId" in msg)) {
2232
- reorderedResult.push(msg);
1944
+ const correctedMessages = [];
1945
+ for (let i = 0; i < mergedMessages.length; i++) {
1946
+ const currentMessage = mergedMessages[i];
1947
+ const nextMessage = mergedMessages[i + 1] || null;
1948
+ const prevMessage = mergedMessages[i - 1] || null;
1949
+ if ("tool_calls" in currentMessage && currentMessage.tool_calls.length > 0) {
1950
+ if (!nextMessage) {
1951
+ console.warn("No next message to auto-correct tool call, skipping:", currentMessage.tool_calls[0].id);
1952
+ continue;
1953
+ }
1954
+ if (!("tool_call_id" in nextMessage) || nextMessage.tool_call_id !== currentMessage.tool_calls[0].id) {
1955
+ const toolMessage = mergedMessages.find((m) => "tool_call_id" in m && m.tool_call_id === currentMessage.tool_calls[0].id);
1956
+ if (toolMessage) {
1957
+ console.warn("Auto-corrected tool call alignment issue:", currentMessage.tool_calls[0].id);
1958
+ correctedMessages.push(currentMessage, toolMessage);
1959
+ continue;
1960
+ } else {
1961
+ console.warn("No corresponding tool call result found for tool call, skipping:", currentMessage.tool_calls[0].id);
1962
+ continue;
1963
+ }
1964
+ }
1965
+ correctedMessages.push(currentMessage);
1966
+ continue;
2233
1967
  }
2234
- if ("arguments" in msg) {
2235
- const msgId = msg.id;
2236
- if (msgId in resultsDict) {
2237
- reorderedResult.push(resultsDict[msgId]);
1968
+ if ("tool_call_id" in currentMessage) {
1969
+ if (!prevMessage || !("tool_calls" in prevMessage)) {
1970
+ console.warn("No previous tool call, skipping tool call result:", currentMessage.id);
1971
+ continue;
1972
+ }
1973
+ if (prevMessage.tool_calls && prevMessage.tool_calls[0].id !== currentMessage.tool_call_id) {
1974
+ console.warn("Tool call id is incorrect, skipping tool call result:", currentMessage.id);
1975
+ continue;
2238
1976
  }
1977
+ correctedMessages.push(currentMessage);
1978
+ continue;
2239
1979
  }
1980
+ correctedMessages.push(currentMessage);
2240
1981
  }
2241
- return reorderedResult;
1982
+ return {
1983
+ ...state,
1984
+ messages: correctedMessages,
1985
+ copilotkit: {
1986
+ actions
1987
+ }
1988
+ };
2242
1989
  }
2243
- __name(langchainMessagesToCopilotKit, "langchainMessagesToCopilotKit");
2244
- function copilotkitMessagesToLangChain(messages) {
2245
- const result = [];
2246
- const processedActionExecutions = /* @__PURE__ */ new Set();
2247
- for (const message of messages) {
2248
- if (message.isTextMessage()) {
2249
- if (message.role === "user") {
2250
- result.push({
2251
- ...message,
2252
- role: MessageRole.user
2253
- });
2254
- } else if (message.role === "system") {
2255
- result.push({
2256
- ...message,
2257
- role: MessageRole.system
2258
- });
2259
- } else if (message.role === "assistant") {
2260
- result.push({
2261
- ...message,
2262
- role: MessageRole.assistant
2263
- });
2264
- }
2265
- continue;
1990
+ __name(langGraphDefaultMergeState, "langGraphDefaultMergeState");
1991
+ function formatMessages(messages) {
1992
+ return messages.map((message) => {
1993
+ if (message.isTextMessage() && message.role === "assistant") {
1994
+ return message;
1995
+ }
1996
+ if (message.isTextMessage() && message.role === "system") {
1997
+ return message;
1998
+ }
1999
+ if (message.isTextMessage() && message.role === "user") {
2000
+ return message;
2266
2001
  }
2267
2002
  if (message.isActionExecutionMessage()) {
2268
- const messageId = message.parentMessageId ?? message.id;
2269
- if (processedActionExecutions.has(messageId)) {
2270
- continue;
2271
- }
2272
- processedActionExecutions.add(messageId);
2273
- const relatedActionExecutions = messages.filter((m) => m.isActionExecutionMessage() && (m.parentMessageId && m.parentMessageId === messageId || m.id === messageId));
2274
- const tool_calls = relatedActionExecutions.map((m) => ({
2275
- name: m.name,
2276
- args: m.arguments,
2277
- id: m.id
2278
- }));
2279
- result.push({
2280
- id: messageId,
2281
- type: "ActionExecutionMessage",
2003
+ const toolCall = {
2004
+ name: message.name,
2005
+ args: message.arguments,
2006
+ id: message.id
2007
+ };
2008
+ return {
2009
+ type: message.type,
2282
2010
  content: "",
2283
- tool_calls,
2284
- role: MessageRole.assistant
2285
- });
2286
- continue;
2011
+ tool_calls: [
2012
+ toolCall
2013
+ ],
2014
+ role: MessageRole.assistant,
2015
+ id: message.id
2016
+ };
2287
2017
  }
2288
2018
  if (message.isResultMessage()) {
2289
- result.push({
2019
+ return {
2290
2020
  type: message.type,
2291
2021
  content: message.result,
2292
2022
  id: message.id,
2293
2023
  tool_call_id: message.actionExecutionId,
2294
2024
  name: message.actionName,
2295
2025
  role: MessageRole.tool
2296
- });
2297
- continue;
2026
+ };
2298
2027
  }
2299
2028
  throw new Error(`Unknown message type ${message.type}`);
2300
- }
2301
- return result;
2029
+ });
2302
2030
  }
2303
- __name(copilotkitMessagesToLangChain, "copilotkitMessagesToLangChain");
2031
+ __name(formatMessages, "formatMessages");
2304
2032
 
2305
2033
  // src/lib/runtime/remote-action-constructors.ts
2306
2034
  function constructLGCRemoteAction({ endpoint, graphqlContext, logger: logger2, messages, agentStates }) {
@@ -2310,7 +2038,7 @@ function constructLGCRemoteAction({ endpoint, graphqlContext, logger: logger2, m
2310
2038
  parameters: [],
2311
2039
  handler: async (_args) => {
2312
2040
  },
2313
- langGraphAgentHandler: async ({ name, actionInputsWithoutAgents, threadId, nodeName, additionalMessages = [] }) => {
2041
+ langGraphAgentHandler: async ({ name, actionInputsWithoutAgents, threadId, nodeName }) => {
2314
2042
  var _a;
2315
2043
  logger2.debug({
2316
2044
  actionName: agent.name
@@ -2336,10 +2064,7 @@ function constructLGCRemoteAction({ endpoint, graphqlContext, logger: logger2, m
2336
2064
  agent,
2337
2065
  threadId,
2338
2066
  nodeName,
2339
- messages: [
2340
- ...messages,
2341
- ...additionalMessages
2342
- ],
2067
+ messages,
2343
2068
  state,
2344
2069
  properties: graphqlContext.properties,
2345
2070
  actions: actionInputsWithoutAgents.map((action) => ({
@@ -2367,7 +2092,6 @@ function constructLGCRemoteAction({ endpoint, graphqlContext, logger: logger2, m
2367
2092
  }
2368
2093
  __name(constructLGCRemoteAction, "constructLGCRemoteAction");
2369
2094
  function constructRemoteActions({ json, url, onBeforeRequest, graphqlContext, logger: logger2, messages, agentStates }) {
2370
- const totalAgents = Array.isArray(json["agents"]) ? json["agents"].length : 0;
2371
2095
  const actions = json["actions"].map((action) => ({
2372
2096
  name: action.name,
2373
2097
  description: action.description,
@@ -2381,7 +2105,7 @@ function constructRemoteActions({ json, url, onBeforeRequest, graphqlContext, lo
2381
2105
  telemetry_client_default.capture("oss.runtime.remote_action_executed", {
2382
2106
  agentExecution: false,
2383
2107
  type: "self-hosted",
2384
- agentsAmount: totalAgents
2108
+ agentsAmount: json["agents"].length
2385
2109
  });
2386
2110
  try {
2387
2111
  const response = await fetch(`${url}/actions/execute`, {
@@ -2416,13 +2140,13 @@ function constructRemoteActions({ json, url, onBeforeRequest, graphqlContext, lo
2416
2140
  }
2417
2141
  }
2418
2142
  }));
2419
- const agents = totalAgents ? json["agents"].map((agent) => ({
2143
+ const agents = json["agents"].map((agent) => ({
2420
2144
  name: agent.name,
2421
2145
  description: agent.description,
2422
2146
  parameters: [],
2423
2147
  handler: async (_args) => {
2424
2148
  },
2425
- langGraphAgentHandler: async ({ name, actionInputsWithoutAgents, threadId, nodeName, additionalMessages = [] }) => {
2149
+ langGraphAgentHandler: async ({ name, actionInputsWithoutAgents, threadId, nodeName }) => {
2426
2150
  var _a;
2427
2151
  logger2.debug({
2428
2152
  actionName: agent.name
@@ -2447,10 +2171,7 @@ function constructRemoteActions({ json, url, onBeforeRequest, graphqlContext, lo
2447
2171
  name,
2448
2172
  threadId,
2449
2173
  nodeName,
2450
- messages: [
2451
- ...messages,
2452
- ...additionalMessages
2453
- ],
2174
+ messages,
2454
2175
  state,
2455
2176
  properties: graphqlContext.properties,
2456
2177
  actions: actionInputsWithoutAgents.map((action) => ({
@@ -2472,7 +2193,7 @@ function constructRemoteActions({ json, url, onBeforeRequest, graphqlContext, lo
2472
2193
  streamResponse(response.body, eventSource.eventStream$);
2473
2194
  return eventSource.processLangGraphEvents();
2474
2195
  }
2475
- })) : [];
2196
+ }));
2476
2197
  return [
2477
2198
  ...actions,
2478
2199
  ...agents
@@ -2649,7 +2370,7 @@ __name(setupRemoteActions, "setupRemoteActions");
2649
2370
  // src/lib/telemetry-client.ts
2650
2371
  var import_node_crypto3 = require("crypto");
2651
2372
  var packageJson = require_package();
2652
- var telemetryClient = new import_shared10.TelemetryClient({
2373
+ var telemetryClient = new import_shared8.TelemetryClient({
2653
2374
  packageName: packageJson.name,
2654
2375
  packageVersion: packageJson.version
2655
2376
  });
@@ -2693,94 +2414,7 @@ function getRuntimeInstanceTelemetryInfo(runtime) {
2693
2414
  __name(getRuntimeInstanceTelemetryInfo, "getRuntimeInstanceTelemetryInfo");
2694
2415
  var telemetry_client_default = telemetryClient;
2695
2416
 
2696
- // src/graphql/types/base/index.ts
2697
- var import_type_graphql2 = require("type-graphql");
2698
- function _ts_decorate(decorators, target, key, desc) {
2699
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2700
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
2701
- r = Reflect.decorate(decorators, target, key, desc);
2702
- else
2703
- for (var i = decorators.length - 1; i >= 0; i--)
2704
- if (d = decorators[i])
2705
- r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2706
- return c > 3 && r && Object.defineProperty(target, key, r), r;
2707
- }
2708
- __name(_ts_decorate, "_ts_decorate");
2709
- function _ts_metadata(k, v) {
2710
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
2711
- return Reflect.metadata(k, v);
2712
- }
2713
- __name(_ts_metadata, "_ts_metadata");
2714
- var BaseMessageInput = class {
2715
- id;
2716
- createdAt;
2717
- };
2718
- __name(BaseMessageInput, "BaseMessageInput");
2719
- _ts_decorate([
2720
- (0, import_type_graphql2.Field)(() => String),
2721
- _ts_metadata("design:type", String)
2722
- ], BaseMessageInput.prototype, "id", void 0);
2723
- _ts_decorate([
2724
- (0, import_type_graphql2.Field)(() => Date),
2725
- _ts_metadata("design:type", typeof Date === "undefined" ? Object : Date)
2726
- ], BaseMessageInput.prototype, "createdAt", void 0);
2727
- BaseMessageInput = _ts_decorate([
2728
- (0, import_type_graphql2.InputType)()
2729
- ], BaseMessageInput);
2730
-
2731
- // src/graphql/types/converted/index.ts
2732
- var Message = class extends BaseMessageInput {
2733
- type;
2734
- isTextMessage() {
2735
- return this.type === "TextMessage";
2736
- }
2737
- isActionExecutionMessage() {
2738
- return this.type === "ActionExecutionMessage";
2739
- }
2740
- isResultMessage() {
2741
- return this.type === "ResultMessage";
2742
- }
2743
- isAgentStateMessage() {
2744
- return this.type === "AgentStateMessage";
2745
- }
2746
- };
2747
- __name(Message, "Message");
2748
- var TextMessage = class extends Message {
2749
- type = "TextMessage";
2750
- content;
2751
- role;
2752
- parentMessageId;
2753
- };
2754
- __name(TextMessage, "TextMessage");
2755
- var ActionExecutionMessage = class extends Message {
2756
- type = "ActionExecutionMessage";
2757
- name;
2758
- arguments;
2759
- parentMessageId;
2760
- };
2761
- __name(ActionExecutionMessage, "ActionExecutionMessage");
2762
- var ResultMessage = class extends Message {
2763
- type = "ResultMessage";
2764
- actionExecutionId;
2765
- actionName;
2766
- result;
2767
- };
2768
- __name(ResultMessage, "ResultMessage");
2769
- var AgentStateMessage = class extends Message {
2770
- type = "AgentStateMessage";
2771
- threadId;
2772
- agentName;
2773
- nodeName;
2774
- runId;
2775
- active;
2776
- role;
2777
- state;
2778
- running;
2779
- };
2780
- __name(AgentStateMessage, "AgentStateMessage");
2781
-
2782
2417
  // src/service-adapters/events.ts
2783
- var import_class_transformer = require("class-transformer");
2784
2418
  var RuntimeEventTypes;
2785
2419
  (function(RuntimeEventTypes2) {
2786
2420
  RuntimeEventTypes2["TextMessageStart"] = "TextMessageStart";
@@ -2796,74 +2430,52 @@ var RuntimeEventSubject = class extends import_rxjs2.ReplaySubject {
2796
2430
  constructor() {
2797
2431
  super();
2798
2432
  }
2799
- sendTextMessageStart({ messageId, parentMessageId }) {
2433
+ sendTextMessageStart(messageId) {
2800
2434
  this.next({
2801
2435
  type: "TextMessageStart",
2802
- messageId,
2803
- parentMessageId
2436
+ messageId
2804
2437
  });
2805
2438
  }
2806
- sendTextMessageContent({ messageId, content }) {
2439
+ sendTextMessageContent(content) {
2807
2440
  this.next({
2808
2441
  type: "TextMessageContent",
2809
- content,
2810
- messageId
2442
+ content
2811
2443
  });
2812
2444
  }
2813
- sendTextMessageEnd({ messageId }) {
2445
+ sendTextMessageEnd() {
2814
2446
  this.next({
2815
- type: "TextMessageEnd",
2816
- messageId
2447
+ type: "TextMessageEnd"
2817
2448
  });
2818
2449
  }
2819
2450
  sendTextMessage(messageId, content) {
2820
- this.sendTextMessageStart({
2821
- messageId
2822
- });
2823
- this.sendTextMessageContent({
2824
- messageId,
2825
- content
2826
- });
2827
- this.sendTextMessageEnd({
2828
- messageId
2829
- });
2451
+ this.sendTextMessageStart(messageId);
2452
+ this.sendTextMessageContent(content);
2453
+ this.sendTextMessageEnd();
2830
2454
  }
2831
- sendActionExecutionStart({ actionExecutionId, actionName, parentMessageId }) {
2455
+ sendActionExecutionStart(actionExecutionId, actionName) {
2832
2456
  this.next({
2833
2457
  type: "ActionExecutionStart",
2834
2458
  actionExecutionId,
2835
- actionName,
2836
- parentMessageId
2459
+ actionName
2837
2460
  });
2838
2461
  }
2839
- sendActionExecutionArgs({ actionExecutionId, args }) {
2462
+ sendActionExecutionArgs(args) {
2840
2463
  this.next({
2841
2464
  type: "ActionExecutionArgs",
2842
- args,
2843
- actionExecutionId
2465
+ args
2844
2466
  });
2845
2467
  }
2846
- sendActionExecutionEnd({ actionExecutionId }) {
2468
+ sendActionExecutionEnd() {
2847
2469
  this.next({
2848
- type: "ActionExecutionEnd",
2849
- actionExecutionId
2470
+ type: "ActionExecutionEnd"
2850
2471
  });
2851
2472
  }
2852
- sendActionExecution({ actionExecutionId, actionName, args, parentMessageId }) {
2853
- this.sendActionExecutionStart({
2854
- actionExecutionId,
2855
- actionName,
2856
- parentMessageId
2857
- });
2858
- this.sendActionExecutionArgs({
2859
- actionExecutionId,
2860
- args
2861
- });
2862
- this.sendActionExecutionEnd({
2863
- actionExecutionId
2864
- });
2473
+ sendActionExecution(actionExecutionId, toolName, args) {
2474
+ this.sendActionExecutionStart(actionExecutionId, toolName);
2475
+ this.sendActionExecutionArgs(args);
2476
+ this.sendActionExecutionEnd();
2865
2477
  }
2866
- sendActionExecutionResult({ actionExecutionId, actionName, result }) {
2478
+ sendActionExecutionResult(actionExecutionId, actionName, result) {
2867
2479
  this.next({
2868
2480
  type: "ActionExecutionResult",
2869
2481
  actionName,
@@ -2871,7 +2483,7 @@ var RuntimeEventSubject = class extends import_rxjs2.ReplaySubject {
2871
2483
  result
2872
2484
  });
2873
2485
  }
2874
- sendAgentStateMessage({ threadId, agentName, nodeName, runId, active, role, state, running }) {
2486
+ sendAgentStateMessage(threadId, agentName, nodeName, runId, active, role, state, running) {
2875
2487
  this.next({
2876
2488
  type: "AgentStateMessage",
2877
2489
  threadId,
@@ -2892,14 +2504,14 @@ var RuntimeEventSource = class {
2892
2504
  async stream(callback) {
2893
2505
  this.callback = callback;
2894
2506
  }
2895
- sendErrorMessageToChat(message = "An error occurred. Please try again.") {
2896
- const errorMessage = `\u274C ${message}`;
2507
+ sendErrorMessageToChat() {
2508
+ const errorMessage = "\u274C An error occurred. Please try again.";
2897
2509
  if (!this.callback) {
2898
2510
  this.stream(async (eventStream$) => {
2899
- eventStream$.sendTextMessage((0, import_shared11.randomId)(), errorMessage);
2511
+ eventStream$.sendTextMessage((0, import_shared9.randomId)(), errorMessage);
2900
2512
  });
2901
2513
  } else {
2902
- this.eventStream$.sendTextMessage((0, import_shared11.randomId)(), errorMessage);
2514
+ this.eventStream$.sendTextMessage((0, import_shared9.randomId)(), errorMessage);
2903
2515
  }
2904
2516
  }
2905
2517
  processRuntimeEvents({ serverSideActions, guardrailsResult$, actionInputsWithoutAgents }) {
@@ -2908,19 +2520,27 @@ var RuntimeEventSource = class {
2908
2520
  this.sendErrorMessageToChat();
2909
2521
  });
2910
2522
  return this.eventStream$.pipe(
2523
+ // mark tools for server side execution
2524
+ (0, import_rxjs2.map)((event) => {
2525
+ if (event.type === "ActionExecutionStart") {
2526
+ if (event.scope !== "passThrough") {
2527
+ event.scope = serverSideActions.find((action) => action.name === event.actionName) ? "server" : "client";
2528
+ }
2529
+ }
2530
+ return event;
2531
+ }),
2911
2532
  // track state
2912
2533
  (0, import_rxjs2.scan)((acc, event) => {
2913
2534
  acc = {
2914
2535
  ...acc
2915
2536
  };
2916
2537
  if (event.type === "ActionExecutionStart") {
2917
- acc.callActionServerSide = serverSideActions.find((action) => action.name === event.actionName) !== void 0;
2538
+ acc.callActionServerSide = event.scope === "server";
2918
2539
  acc.args = "";
2919
2540
  acc.actionExecutionId = event.actionExecutionId;
2920
2541
  if (acc.callActionServerSide) {
2921
2542
  acc.action = serverSideActions.find((action) => action.name === event.actionName);
2922
2543
  }
2923
- acc.actionExecutionParentMessageId = event.parentMessageId;
2924
2544
  } else if (event.type === "ActionExecutionArgs") {
2925
2545
  acc.args += event.args;
2926
2546
  }
@@ -2931,13 +2551,12 @@ var RuntimeEventSource = class {
2931
2551
  callActionServerSide: false,
2932
2552
  args: "",
2933
2553
  actionExecutionId: null,
2934
- action: null,
2935
- actionExecutionParentMessageId: null
2554
+ action: null
2936
2555
  }),
2937
2556
  (0, import_rxjs2.concatMap)((eventWithState) => {
2938
2557
  if (eventWithState.event.type === "ActionExecutionEnd" && eventWithState.callActionServerSide) {
2939
2558
  const toolCallEventStream$ = new RuntimeEventSubject();
2940
- executeAction(toolCallEventStream$, guardrailsResult$ ? guardrailsResult$ : null, eventWithState.action, eventWithState.args, eventWithState.actionExecutionParentMessageId, eventWithState.actionExecutionId, actionInputsWithoutAgents).catch((error) => {
2559
+ executeAction(toolCallEventStream$, guardrailsResult$ ? guardrailsResult$ : null, eventWithState.action, eventWithState.args, eventWithState.actionExecutionId, actionInputsWithoutAgents).catch((error) => {
2941
2560
  console.error(error);
2942
2561
  });
2943
2562
  telemetry_client_default.capture("oss.runtime.server_action_executed", {});
@@ -2950,7 +2569,7 @@ var RuntimeEventSource = class {
2950
2569
  }
2951
2570
  };
2952
2571
  __name(RuntimeEventSource, "RuntimeEventSource");
2953
- async function executeAction(eventStream$, guardrailsResult$, action, actionArguments, actionExecutionParentMessageId, actionExecutionId, actionInputsWithoutAgents) {
2572
+ async function executeAction(eventStream$, guardrailsResult$, action, actionArguments, actionExecutionId, actionInputsWithoutAgents) {
2954
2573
  var _a;
2955
2574
  if (guardrailsResult$) {
2956
2575
  const { status } = await (0, import_rxjs2.firstValueFrom)(guardrailsResult$);
@@ -2970,33 +2589,10 @@ async function executeAction(eventStream$, guardrailsResult$, action, actionArgu
2970
2589
  }
2971
2590
  }
2972
2591
  if (isLangGraphAgentAction(action)) {
2973
- const result = `${action.name} agent started`;
2974
- const agentExecution = (0, import_class_transformer.plainToInstance)(ActionExecutionMessage, {
2975
- id: actionExecutionId,
2976
- createdAt: /* @__PURE__ */ new Date(),
2977
- name: action.name,
2978
- arguments: JSON.parse(actionArguments),
2979
- parentMessageId: actionExecutionParentMessageId ?? actionExecutionId
2980
- });
2981
- const agentExecutionResult = (0, import_class_transformer.plainToInstance)(ResultMessage, {
2982
- id: "result-" + actionExecutionId,
2983
- createdAt: /* @__PURE__ */ new Date(),
2984
- actionExecutionId,
2985
- actionName: action.name,
2986
- result
2987
- });
2988
- eventStream$.sendActionExecutionResult({
2989
- actionExecutionId,
2990
- actionName: action.name,
2991
- result
2992
- });
2592
+ eventStream$.sendActionExecutionResult(actionExecutionId, action.name, `${action.name} agent started`);
2993
2593
  const stream = await action.langGraphAgentHandler({
2994
2594
  name: action.name,
2995
- actionInputsWithoutAgents,
2996
- additionalMessages: [
2997
- agentExecution,
2998
- agentExecutionResult
2999
- ]
2595
+ actionInputsWithoutAgents
3000
2596
  });
3001
2597
  (0, import_rxjs2.from)(stream).subscribe({
3002
2598
  next: (event) => eventStream$.next(event),
@@ -3017,29 +2613,113 @@ async function executeAction(eventStream$, guardrailsResult$, action, actionArgu
3017
2613
  }
3018
2614
  __name(executeAction, "executeAction");
3019
2615
 
2616
+ // src/graphql/types/base/index.ts
2617
+ var import_type_graphql2 = require("type-graphql");
2618
+ function _ts_decorate(decorators, target, key, desc) {
2619
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2620
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
2621
+ r = Reflect.decorate(decorators, target, key, desc);
2622
+ else
2623
+ for (var i = decorators.length - 1; i >= 0; i--)
2624
+ if (d = decorators[i])
2625
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2626
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
2627
+ }
2628
+ __name(_ts_decorate, "_ts_decorate");
2629
+ function _ts_metadata(k, v) {
2630
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
2631
+ return Reflect.metadata(k, v);
2632
+ }
2633
+ __name(_ts_metadata, "_ts_metadata");
2634
+ var BaseMessageInput = class {
2635
+ id;
2636
+ createdAt;
2637
+ };
2638
+ __name(BaseMessageInput, "BaseMessageInput");
2639
+ _ts_decorate([
2640
+ (0, import_type_graphql2.Field)(() => String),
2641
+ _ts_metadata("design:type", String)
2642
+ ], BaseMessageInput.prototype, "id", void 0);
2643
+ _ts_decorate([
2644
+ (0, import_type_graphql2.Field)(() => Date),
2645
+ _ts_metadata("design:type", typeof Date === "undefined" ? Object : Date)
2646
+ ], BaseMessageInput.prototype, "createdAt", void 0);
2647
+ BaseMessageInput = _ts_decorate([
2648
+ (0, import_type_graphql2.InputType)()
2649
+ ], BaseMessageInput);
2650
+
2651
+ // src/graphql/types/converted/index.ts
2652
+ var Message = class extends BaseMessageInput {
2653
+ type;
2654
+ isTextMessage() {
2655
+ return this.type === "TextMessage";
2656
+ }
2657
+ isActionExecutionMessage() {
2658
+ return this.type === "ActionExecutionMessage";
2659
+ }
2660
+ isResultMessage() {
2661
+ return this.type === "ResultMessage";
2662
+ }
2663
+ isAgentStateMessage() {
2664
+ return this.type === "AgentStateMessage";
2665
+ }
2666
+ };
2667
+ __name(Message, "Message");
2668
+ var TextMessage = class extends Message {
2669
+ type = "TextMessage";
2670
+ content;
2671
+ role;
2672
+ };
2673
+ __name(TextMessage, "TextMessage");
2674
+ var ActionExecutionMessage = class extends Message {
2675
+ type = "ActionExecutionMessage";
2676
+ name;
2677
+ arguments;
2678
+ scope;
2679
+ };
2680
+ __name(ActionExecutionMessage, "ActionExecutionMessage");
2681
+ var ResultMessage = class extends Message {
2682
+ type = "ResultMessage";
2683
+ actionExecutionId;
2684
+ actionName;
2685
+ result;
2686
+ };
2687
+ __name(ResultMessage, "ResultMessage");
2688
+ var AgentStateMessage = class extends Message {
2689
+ type = "AgentStateMessage";
2690
+ threadId;
2691
+ agentName;
2692
+ nodeName;
2693
+ runId;
2694
+ active;
2695
+ role;
2696
+ state;
2697
+ running;
2698
+ };
2699
+ __name(AgentStateMessage, "AgentStateMessage");
2700
+
3020
2701
  // src/service-adapters/conversion.ts
3021
- var import_class_transformer2 = require("class-transformer");
2702
+ var import_class_transformer = require("class-transformer");
3022
2703
  function convertGqlInputToMessages(inputMessages) {
3023
2704
  const messages = [];
3024
2705
  for (const message of inputMessages) {
3025
2706
  if (message.textMessage) {
3026
- messages.push((0, import_class_transformer2.plainToInstance)(TextMessage, {
2707
+ messages.push((0, import_class_transformer.plainToInstance)(TextMessage, {
3027
2708
  id: message.id,
3028
2709
  createdAt: message.createdAt,
3029
2710
  role: message.textMessage.role,
3030
- content: message.textMessage.content,
3031
- parentMessageId: message.textMessage.parentMessageId
2711
+ content: message.textMessage.content
3032
2712
  }));
3033
2713
  } else if (message.actionExecutionMessage) {
3034
- messages.push((0, import_class_transformer2.plainToInstance)(ActionExecutionMessage, {
2714
+ messages.push((0, import_class_transformer.plainToInstance)(ActionExecutionMessage, {
3035
2715
  id: message.id,
3036
2716
  createdAt: message.createdAt,
3037
2717
  name: message.actionExecutionMessage.name,
3038
2718
  arguments: JSON.parse(message.actionExecutionMessage.arguments),
3039
- parentMessageId: message.actionExecutionMessage.parentMessageId
2719
+ scope: message.actionExecutionMessage.scope
3040
2720
  }));
3041
2721
  } else if (message.resultMessage) {
3042
- messages.push((0, import_class_transformer2.plainToInstance)(ResultMessage, {
2722
+ messages.push((0, import_class_transformer.plainToInstance)(ResultMessage, {
3043
2723
  id: message.id,
3044
2724
  createdAt: message.createdAt,
3045
2725
  actionExecutionId: message.resultMessage.actionExecutionId,
@@ -3047,7 +2727,7 @@ function convertGqlInputToMessages(inputMessages) {
3047
2727
  result: message.resultMessage.result
3048
2728
  }));
3049
2729
  } else if (message.agentStateMessage) {
3050
- messages.push((0, import_class_transformer2.plainToInstance)(AgentStateMessage, {
2730
+ messages.push((0, import_class_transformer.plainToInstance)(AgentStateMessage, {
3051
2731
  id: message.id,
3052
2732
  threadId: message.agentStateMessage.threadId,
3053
2733
  createdAt: message.createdAt,
@@ -3098,7 +2778,7 @@ var CopilotRuntime = class {
3098
2778
  const serverSideActionsInput = serverSideActions.map((action) => ({
3099
2779
  name: action.name,
3100
2780
  description: action.description,
3101
- jsonSchema: JSON.stringify((0, import_shared12.actionParametersToJsonSchema)(action.parameters))
2781
+ jsonSchema: JSON.stringify((0, import_shared10.actionParametersToJsonSchema)(action.parameters))
3102
2782
  }));
3103
2783
  const actionInputs = flattenToolCallsNoDuplicates([
3104
2784
  ...serverSideActionsInput,
@@ -3147,48 +2827,15 @@ var CopilotRuntime = class {
3147
2827
  } catch (error) {
3148
2828
  console.error("Error getting response:", error);
3149
2829
  eventSource.sendErrorMessageToChat();
3150
- throw error;
2830
+ return {
2831
+ threadId: threadId || (0, import_shared10.randomId)(),
2832
+ runId: runId || (0, import_shared10.randomId)(),
2833
+ eventSource,
2834
+ serverSideActions: [],
2835
+ actionInputsWithoutAgents: []
2836
+ };
3151
2837
  }
3152
2838
  }
3153
- async discoverAgentsFromEndpoints(graphqlContext) {
3154
- const headers = createHeaders(null, graphqlContext);
3155
- const agents = this.remoteEndpointDefinitions.reduce(async (acc, endpoint) => {
3156
- const agents2 = await acc;
3157
- if (endpoint.type === EndpointType.LangGraphPlatform) {
3158
- const response2 = await fetch(`${endpoint.deploymentUrl}/assistants/search`, {
3159
- method: "POST",
3160
- headers
3161
- });
3162
- const data2 = await response2.json();
3163
- const endpointAgents2 = (data2 ?? []).map((entry) => ({
3164
- name: entry.graph_id,
3165
- id: entry.assistant_id
3166
- }));
3167
- return [
3168
- ...agents2,
3169
- ...endpointAgents2
3170
- ];
3171
- }
3172
- const response = await fetch(`${endpoint.url}/info`, {
3173
- method: "POST",
3174
- headers,
3175
- body: JSON.stringify({
3176
- properties: graphqlContext.properties
3177
- })
3178
- });
3179
- const data = await response.json();
3180
- const endpointAgents = ((data == null ? void 0 : data.agents) ?? []).map((agent) => ({
3181
- name: agent.name,
3182
- description: agent.description,
3183
- id: (0, import_shared12.randomId)()
3184
- }));
3185
- return [
3186
- ...agents2,
3187
- ...endpointAgents
3188
- ];
3189
- }, Promise.resolve([]));
3190
- return agents;
3191
- }
3192
2839
  async processAgentRequest(request) {
3193
2840
  var _a;
3194
2841
  const { messages: rawMessages, outputMessagesPromise, graphqlContext, agentSession } = request;
@@ -3202,7 +2849,7 @@ var CopilotRuntime = class {
3202
2849
  const serverSideActionsInput = serverSideActions.filter((action) => !isLangGraphAgentAction(action)).map((action) => ({
3203
2850
  name: action.name,
3204
2851
  description: action.description,
3205
- jsonSchema: JSON.stringify((0, import_shared12.actionParametersToJsonSchema)(action.parameters))
2852
+ jsonSchema: JSON.stringify((0, import_shared10.actionParametersToJsonSchema)(action.parameters))
3206
2853
  }));
3207
2854
  const actionInputsWithoutAgents = flattenToolCallsNoDuplicates([
3208
2855
  ...serverSideActionsInput,
@@ -3326,10 +2973,10 @@ function resolveEndpointType(endpoint) {
3326
2973
  __name(resolveEndpointType, "resolveEndpointType");
3327
2974
 
3328
2975
  // src/lib/integrations/shared.ts
3329
- var import_type_graphql17 = require("type-graphql");
2976
+ var import_type_graphql16 = require("type-graphql");
3330
2977
 
3331
2978
  // src/graphql/resolvers/copilot.resolver.ts
3332
- var import_type_graphql16 = require("type-graphql");
2979
+ var import_type_graphql15 = require("type-graphql");
3333
2980
  var import_rxjs4 = require("rxjs");
3334
2981
 
3335
2982
  // src/graphql/inputs/generate-copilot-response.input.ts
@@ -3389,7 +3036,6 @@ MessageInput = _ts_decorate2([
3389
3036
  ], MessageInput);
3390
3037
  var TextMessageInput = class {
3391
3038
  content;
3392
- parentMessageId;
3393
3039
  role;
3394
3040
  };
3395
3041
  __name(TextMessageInput, "TextMessageInput");
@@ -3397,12 +3043,6 @@ _ts_decorate2([
3397
3043
  (0, import_type_graphql3.Field)(() => String),
3398
3044
  _ts_metadata2("design:type", String)
3399
3045
  ], TextMessageInput.prototype, "content", void 0);
3400
- _ts_decorate2([
3401
- (0, import_type_graphql3.Field)(() => String, {
3402
- nullable: true
3403
- }),
3404
- _ts_metadata2("design:type", String)
3405
- ], TextMessageInput.prototype, "parentMessageId", void 0);
3406
3046
  _ts_decorate2([
3407
3047
  (0, import_type_graphql3.Field)(() => MessageRole),
3408
3048
  _ts_metadata2("design:type", typeof MessageRole === "undefined" ? Object : MessageRole)
@@ -3413,7 +3053,6 @@ TextMessageInput = _ts_decorate2([
3413
3053
  var ActionExecutionMessageInput = class {
3414
3054
  name;
3415
3055
  arguments;
3416
- parentMessageId;
3417
3056
  scope;
3418
3057
  };
3419
3058
  __name(ActionExecutionMessageInput, "ActionExecutionMessageInput");
@@ -3426,17 +3065,8 @@ _ts_decorate2([
3426
3065
  _ts_metadata2("design:type", String)
3427
3066
  ], ActionExecutionMessageInput.prototype, "arguments", void 0);
3428
3067
  _ts_decorate2([
3429
- (0, import_type_graphql3.Field)(() => String, {
3430
- nullable: true
3431
- }),
3432
- _ts_metadata2("design:type", String)
3433
- ], ActionExecutionMessageInput.prototype, "parentMessageId", void 0);
3434
- _ts_decorate2([
3435
- (0, import_type_graphql3.Field)(() => String, {
3436
- nullable: true,
3437
- deprecationReason: "This field will be removed in a future version"
3438
- }),
3439
- _ts_metadata2("design:type", typeof String === "undefined" ? Object : String)
3068
+ (0, import_type_graphql3.Field)(() => ActionExecutionScope),
3069
+ _ts_metadata2("design:type", typeof ActionExecutionScope === "undefined" ? Object : ActionExecutionScope)
3440
3070
  ], ActionExecutionMessageInput.prototype, "scope", void 0);
3441
3071
  ActionExecutionMessageInput = _ts_decorate2([
3442
3072
  (0, import_type_graphql3.InputType)()
@@ -3444,7 +3074,6 @@ ActionExecutionMessageInput = _ts_decorate2([
3444
3074
  var ResultMessageInput = class {
3445
3075
  actionExecutionId;
3446
3076
  actionName;
3447
- parentMessageId;
3448
3077
  result;
3449
3078
  };
3450
3079
  __name(ResultMessageInput, "ResultMessageInput");
@@ -3456,12 +3085,6 @@ _ts_decorate2([
3456
3085
  (0, import_type_graphql3.Field)(() => String),
3457
3086
  _ts_metadata2("design:type", String)
3458
3087
  ], ResultMessageInput.prototype, "actionName", void 0);
3459
- _ts_decorate2([
3460
- (0, import_type_graphql3.Field)(() => String, {
3461
- nullable: true
3462
- }),
3463
- _ts_metadata2("design:type", String)
3464
- ], ResultMessageInput.prototype, "parentMessageId", void 0);
3465
3088
  _ts_decorate2([
3466
3089
  (0, import_type_graphql3.Field)(() => String),
3467
3090
  _ts_metadata2("design:type", String)
@@ -3725,7 +3348,6 @@ var ForwardedParametersInput = class {
3725
3348
  stop;
3726
3349
  toolChoice;
3727
3350
  toolChoiceFunctionName;
3728
- temperature;
3729
3351
  };
3730
3352
  __name(ForwardedParametersInput, "ForwardedParametersInput");
3731
3353
  _ts_decorate7([
@@ -3760,12 +3382,6 @@ _ts_decorate7([
3760
3382
  }),
3761
3383
  _ts_metadata7("design:type", String)
3762
3384
  ], ForwardedParametersInput.prototype, "toolChoiceFunctionName", void 0);
3763
- _ts_decorate7([
3764
- (0, import_type_graphql8.Field)(() => Number, {
3765
- nullable: true
3766
- }),
3767
- _ts_metadata7("design:type", Number)
3768
- ], ForwardedParametersInput.prototype, "temperature", void 0);
3769
3385
  ForwardedParametersInput = _ts_decorate7([
3770
3386
  (0, import_type_graphql8.InputType)()
3771
3387
  ], ForwardedParametersInput);
@@ -4191,7 +3807,6 @@ BaseMessageOutput = _ts_decorate13([
4191
3807
  var TextMessageOutput = class {
4192
3808
  role;
4193
3809
  content;
4194
- parentMessageId;
4195
3810
  };
4196
3811
  __name(TextMessageOutput, "TextMessageOutput");
4197
3812
  _ts_decorate13([
@@ -4204,12 +3819,6 @@ _ts_decorate13([
4204
3819
  ]),
4205
3820
  _ts_metadata13("design:type", Array)
4206
3821
  ], TextMessageOutput.prototype, "content", void 0);
4207
- _ts_decorate13([
4208
- (0, import_type_graphql14.Field)(() => String, {
4209
- nullable: true
4210
- }),
4211
- _ts_metadata13("design:type", String)
4212
- ], TextMessageOutput.prototype, "parentMessageId", void 0);
4213
3822
  TextMessageOutput = _ts_decorate13([
4214
3823
  (0, import_type_graphql14.ObjectType)({
4215
3824
  implements: BaseMessageOutput
@@ -4219,7 +3828,6 @@ var ActionExecutionMessageOutput = class {
4219
3828
  name;
4220
3829
  scope;
4221
3830
  arguments;
4222
- parentMessageId;
4223
3831
  };
4224
3832
  __name(ActionExecutionMessageOutput, "ActionExecutionMessageOutput");
4225
3833
  _ts_decorate13([
@@ -4227,11 +3835,8 @@ _ts_decorate13([
4227
3835
  _ts_metadata13("design:type", String)
4228
3836
  ], ActionExecutionMessageOutput.prototype, "name", void 0);
4229
3837
  _ts_decorate13([
4230
- (0, import_type_graphql14.Field)(() => String, {
4231
- nullable: true,
4232
- deprecationReason: "This field will be removed in a future version"
4233
- }),
4234
- _ts_metadata13("design:type", String)
3838
+ (0, import_type_graphql14.Field)(() => ActionExecutionScope),
3839
+ _ts_metadata13("design:type", typeof ActionExecutionScope === "undefined" ? Object : ActionExecutionScope)
4235
3840
  ], ActionExecutionMessageOutput.prototype, "scope", void 0);
4236
3841
  _ts_decorate13([
4237
3842
  (0, import_type_graphql14.Field)(() => [
@@ -4239,12 +3844,6 @@ _ts_decorate13([
4239
3844
  ]),
4240
3845
  _ts_metadata13("design:type", Array)
4241
3846
  ], ActionExecutionMessageOutput.prototype, "arguments", void 0);
4242
- _ts_decorate13([
4243
- (0, import_type_graphql14.Field)(() => String, {
4244
- nullable: true
4245
- }),
4246
- _ts_metadata13("design:type", String)
4247
- ], ActionExecutionMessageOutput.prototype, "parentMessageId", void 0);
4248
3847
  ActionExecutionMessageOutput = _ts_decorate13([
4249
3848
  (0, import_type_graphql14.ObjectType)({
4250
3849
  implements: BaseMessageOutput
@@ -4355,7 +3954,7 @@ CopilotResponse = _ts_decorate13([
4355
3954
  // src/graphql/resolvers/copilot.resolver.ts
4356
3955
  var import_graphql_yoga = require("graphql-yoga");
4357
3956
  var import_graphql_scalars2 = require("graphql-scalars");
4358
- var import_class_transformer3 = require("class-transformer");
3957
+ var import_class_transformer2 = require("class-transformer");
4359
3958
  var import_graphql = require("graphql");
4360
3959
 
4361
3960
  // src/utils/failed-response-status-reasons.ts
@@ -4392,10 +3991,7 @@ var UnknownErrorResponse = class extends FailedResponseStatus {
4392
3991
  __name(UnknownErrorResponse, "UnknownErrorResponse");
4393
3992
 
4394
3993
  // src/graphql/resolvers/copilot.resolver.ts
4395
- var import_shared13 = require("@copilotkit/shared");
4396
-
4397
- // src/graphql/types/agents-response.type.ts
4398
- var import_type_graphql15 = require("type-graphql");
3994
+ var import_shared11 = require("@copilotkit/shared");
4399
3995
  function _ts_decorate14(decorators, target, key, desc) {
4400
3996
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4401
3997
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
@@ -4412,58 +4008,6 @@ function _ts_metadata14(k, v) {
4412
4008
  return Reflect.metadata(k, v);
4413
4009
  }
4414
4010
  __name(_ts_metadata14, "_ts_metadata");
4415
- var Agent = class {
4416
- id;
4417
- name;
4418
- description;
4419
- };
4420
- __name(Agent, "Agent");
4421
- _ts_decorate14([
4422
- (0, import_type_graphql15.Field)(() => String),
4423
- _ts_metadata14("design:type", String)
4424
- ], Agent.prototype, "id", void 0);
4425
- _ts_decorate14([
4426
- (0, import_type_graphql15.Field)(() => String),
4427
- _ts_metadata14("design:type", String)
4428
- ], Agent.prototype, "name", void 0);
4429
- _ts_decorate14([
4430
- (0, import_type_graphql15.Field)(() => String),
4431
- _ts_metadata14("design:type", String)
4432
- ], Agent.prototype, "description", void 0);
4433
- Agent = _ts_decorate14([
4434
- (0, import_type_graphql15.ObjectType)()
4435
- ], Agent);
4436
- var AgentsResponse = class {
4437
- agents;
4438
- };
4439
- __name(AgentsResponse, "AgentsResponse");
4440
- _ts_decorate14([
4441
- (0, import_type_graphql15.Field)(() => [
4442
- Agent
4443
- ]),
4444
- _ts_metadata14("design:type", Array)
4445
- ], AgentsResponse.prototype, "agents", void 0);
4446
- AgentsResponse = _ts_decorate14([
4447
- (0, import_type_graphql15.ObjectType)()
4448
- ], AgentsResponse);
4449
-
4450
- // src/graphql/resolvers/copilot.resolver.ts
4451
- function _ts_decorate15(decorators, target, key, desc) {
4452
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4453
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
4454
- r = Reflect.decorate(decorators, target, key, desc);
4455
- else
4456
- for (var i = decorators.length - 1; i >= 0; i--)
4457
- if (d = decorators[i])
4458
- r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
4459
- return c > 3 && r && Object.defineProperty(target, key, r), r;
4460
- }
4461
- __name(_ts_decorate15, "_ts_decorate");
4462
- function _ts_metadata15(k, v) {
4463
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
4464
- return Reflect.metadata(k, v);
4465
- }
4466
- __name(_ts_metadata15, "_ts_metadata");
4467
4011
  function _ts_param(paramIndex, decorator) {
4468
4012
  return function(target, key) {
4469
4013
  decorator(target, key, paramIndex);
@@ -4505,17 +4049,6 @@ var CopilotResolver = class {
4505
4049
  async hello() {
4506
4050
  return "Hello World";
4507
4051
  }
4508
- async availableAgents(ctx) {
4509
- let logger2 = ctx.logger.child({
4510
- component: "CopilotResolver.availableAgents"
4511
- });
4512
- logger2.debug("Processing");
4513
- const agents = await ctx._copilotkit.runtime.discoverAgentsFromEndpoints(ctx);
4514
- logger2.debug("Event source created, creating response");
4515
- return {
4516
- agents
4517
- };
4518
- }
4519
4052
  async generateCopilotResponse(ctx, data, properties) {
4520
4053
  var _a, _b, _c;
4521
4054
  telemetry_client_default.capture("oss.runtime.copilot_request_created", {
@@ -4575,7 +4108,7 @@ var CopilotResolver = class {
4575
4108
  rejectOutputMessagesPromise = reject;
4576
4109
  });
4577
4110
  logger2.debug("Processing");
4578
- const { eventSource, threadId = (0, import_shared13.randomId)(), runId, serverSideActions, actionInputsWithoutAgents } = await copilotRuntime.processRuntimeRequest({
4111
+ const { eventSource, threadId = (0, import_shared11.randomId)(), runId, serverSideActions, actionInputsWithoutAgents } = await copilotRuntime.processRuntimeRequest({
4579
4112
  serviceAdapter,
4580
4113
  messages: data.messages,
4581
4114
  actions: data.frontend.actions.filter((action) => action.available !== ActionInputAvailability.disabled),
@@ -4619,8 +4152,8 @@ var CopilotResolver = class {
4619
4152
  reason: `Interrupted due to Guardrails validation failure. Reason: ${result.reason}`
4620
4153
  });
4621
4154
  outputMessages = [
4622
- (0, import_class_transformer3.plainToInstance)(TextMessage, {
4623
- id: (0, import_shared13.randomId)(),
4155
+ (0, import_class_transformer2.plainToInstance)(TextMessage, {
4156
+ id: (0, import_shared11.randomId)(),
4624
4157
  createdAt: /* @__PURE__ */ new Date(),
4625
4158
  content: result.reason,
4626
4159
  role: MessageRole.assistant
@@ -4668,15 +4201,12 @@ var CopilotResolver = class {
4668
4201
  // skip until this message start event
4669
4202
  (0, import_rxjs4.skipWhile)((e) => e !== event),
4670
4203
  // take until the message end event
4671
- (0, import_rxjs4.takeWhile)((e) => !(e.type === RuntimeEventTypes.TextMessageEnd && e.messageId == event.messageId)),
4672
- // filter out any other message events or message ids
4673
- (0, import_rxjs4.filter)((e) => e.type == RuntimeEventTypes.TextMessageContent && e.messageId == event.messageId)
4204
+ (0, import_rxjs4.takeWhile)((e) => e.type != RuntimeEventTypes.TextMessageEnd)
4674
4205
  );
4675
4206
  const streamingTextStatus = new import_rxjs4.Subject();
4676
4207
  const messageId = event.messageId;
4677
4208
  pushMessage({
4678
4209
  id: messageId,
4679
- parentMessageId: event.parentMessageId,
4680
4210
  status: (0, import_rxjs4.firstValueFrom)(streamingTextStatus),
4681
4211
  createdAt: /* @__PURE__ */ new Date(),
4682
4212
  role: MessageRole.assistant,
@@ -4689,7 +4219,7 @@ var CopilotResolver = class {
4689
4219
  reason,
4690
4220
  messageId: messageId2
4691
4221
  }, "Text streaming interrupted");
4692
- streamingTextStatus.next((0, import_class_transformer3.plainToInstance)(FailedMessageStatus, {
4222
+ streamingTextStatus.next((0, import_class_transformer2.plainToInstance)(FailedMessageStatus, {
4693
4223
  reason
4694
4224
  }));
4695
4225
  responseStatus$.next(new MessageStreamInterruptedResponse({
@@ -4722,7 +4252,7 @@ var CopilotResolver = class {
4722
4252
  streamingTextStatus.next(new SuccessMessageStatus());
4723
4253
  stopStreamingText();
4724
4254
  textSubscription == null ? void 0 : textSubscription.unsubscribe();
4725
- outputMessages.push((0, import_class_transformer3.plainToInstance)(TextMessage, {
4255
+ outputMessages.push((0, import_class_transformer2.plainToInstance)(TextMessage, {
4726
4256
  id: messageId,
4727
4257
  createdAt: /* @__PURE__ */ new Date(),
4728
4258
  content: textChunks.join(""),
@@ -4735,20 +4265,14 @@ var CopilotResolver = class {
4735
4265
  break;
4736
4266
  case RuntimeEventTypes.ActionExecutionStart:
4737
4267
  logger2.debug("Action execution start event received");
4738
- const actionExecutionArgumentStream = eventStream.pipe(
4739
- (0, import_rxjs4.skipWhile)((e) => e !== event),
4740
- // take until the action execution end event
4741
- (0, import_rxjs4.takeWhile)((e) => !(e.type === RuntimeEventTypes.ActionExecutionEnd && e.actionExecutionId == event.actionExecutionId)),
4742
- // filter out any other action execution events or action execution ids
4743
- (0, import_rxjs4.filter)((e) => e.type == RuntimeEventTypes.ActionExecutionArgs && e.actionExecutionId == event.actionExecutionId)
4744
- );
4268
+ const actionExecutionArgumentStream = eventStream.pipe((0, import_rxjs4.skipWhile)((e) => e !== event), (0, import_rxjs4.takeWhile)((e) => e.type != RuntimeEventTypes.ActionExecutionEnd));
4745
4269
  const streamingArgumentsStatus = new import_rxjs4.Subject();
4746
4270
  pushMessage({
4747
4271
  id: event.actionExecutionId,
4748
- parentMessageId: event.parentMessageId,
4749
4272
  status: (0, import_rxjs4.firstValueFrom)(streamingArgumentsStatus),
4750
4273
  createdAt: /* @__PURE__ */ new Date(),
4751
4274
  name: event.actionName,
4275
+ scope: event.scope,
4752
4276
  arguments: new import_graphql_yoga.Repeater(async (pushArgumentsChunk, stopStreamingArguments) => {
4753
4277
  logger2.debug("Action execution argument stream created");
4754
4278
  const argumentChunks = [];
@@ -4764,7 +4288,7 @@ var CopilotResolver = class {
4764
4288
  logger2.error({
4765
4289
  err
4766
4290
  }, "Error in action execution argument stream");
4767
- streamingArgumentsStatus.next((0, import_class_transformer3.plainToInstance)(FailedMessageStatus, {
4291
+ streamingArgumentsStatus.next((0, import_class_transformer2.plainToInstance)(FailedMessageStatus, {
4768
4292
  reason: "An unknown error has occurred in the action execution argument stream"
4769
4293
  }));
4770
4294
  stopStreamingArguments();
@@ -4775,10 +4299,11 @@ var CopilotResolver = class {
4775
4299
  streamingArgumentsStatus.next(new SuccessMessageStatus());
4776
4300
  stopStreamingArguments();
4777
4301
  actionExecutionArgumentSubscription == null ? void 0 : actionExecutionArgumentSubscription.unsubscribe();
4778
- outputMessages.push((0, import_class_transformer3.plainToInstance)(ActionExecutionMessage, {
4302
+ outputMessages.push((0, import_class_transformer2.plainToInstance)(ActionExecutionMessage, {
4779
4303
  id: event.actionExecutionId,
4780
4304
  createdAt: /* @__PURE__ */ new Date(),
4781
4305
  name: event.actionName,
4306
+ scope: event.scope,
4782
4307
  arguments: argumentChunks.join("")
4783
4308
  }));
4784
4309
  }
@@ -4791,15 +4316,15 @@ var CopilotResolver = class {
4791
4316
  result: event.result
4792
4317
  }, "Action execution result event received");
4793
4318
  pushMessage({
4794
- id: "result-" + event.actionExecutionId,
4319
+ id: (0, import_shared11.randomId)(),
4795
4320
  status: new SuccessMessageStatus(),
4796
4321
  createdAt: /* @__PURE__ */ new Date(),
4797
4322
  actionExecutionId: event.actionExecutionId,
4798
4323
  actionName: event.actionName,
4799
4324
  result: event.result
4800
4325
  });
4801
- outputMessages.push((0, import_class_transformer3.plainToInstance)(ResultMessage, {
4802
- id: "result-" + event.actionExecutionId,
4326
+ outputMessages.push((0, import_class_transformer2.plainToInstance)(ResultMessage, {
4327
+ id: (0, import_shared11.randomId)(),
4803
4328
  createdAt: /* @__PURE__ */ new Date(),
4804
4329
  actionExecutionId: event.actionExecutionId,
4805
4330
  actionName: event.actionName,
@@ -4811,7 +4336,7 @@ var CopilotResolver = class {
4811
4336
  event
4812
4337
  }, "Agent message event received");
4813
4338
  pushMessage({
4814
- id: (0, import_shared13.randomId)(),
4339
+ id: (0, import_shared11.randomId)(),
4815
4340
  status: new SuccessMessageStatus(),
4816
4341
  threadId: event.threadId,
4817
4342
  agentName: event.agentName,
@@ -4823,8 +4348,8 @@ var CopilotResolver = class {
4823
4348
  role: MessageRole.assistant,
4824
4349
  createdAt: /* @__PURE__ */ new Date()
4825
4350
  });
4826
- outputMessages.push((0, import_class_transformer3.plainToInstance)(AgentStateMessage, {
4827
- id: (0, import_shared13.randomId)(),
4351
+ outputMessages.push((0, import_class_transformer2.plainToInstance)(AgentStateMessage, {
4352
+ id: (0, import_shared11.randomId)(),
4828
4353
  threadId: event.threadId,
4829
4354
  agentName: event.agentName,
4830
4355
  nodeName: event.nodeName,
@@ -4868,38 +4393,29 @@ var CopilotResolver = class {
4868
4393
  }
4869
4394
  };
4870
4395
  __name(CopilotResolver, "CopilotResolver");
4871
- _ts_decorate15([
4872
- (0, import_type_graphql16.Query)(() => String),
4873
- _ts_metadata15("design:type", Function),
4874
- _ts_metadata15("design:paramtypes", []),
4875
- _ts_metadata15("design:returntype", Promise)
4396
+ _ts_decorate14([
4397
+ (0, import_type_graphql15.Query)(() => String),
4398
+ _ts_metadata14("design:type", Function),
4399
+ _ts_metadata14("design:paramtypes", []),
4400
+ _ts_metadata14("design:returntype", Promise)
4876
4401
  ], CopilotResolver.prototype, "hello", null);
4877
- _ts_decorate15([
4878
- (0, import_type_graphql16.Query)(() => AgentsResponse),
4879
- _ts_param(0, (0, import_type_graphql16.Ctx)()),
4880
- _ts_metadata15("design:type", Function),
4881
- _ts_metadata15("design:paramtypes", [
4882
- typeof GraphQLContext === "undefined" ? Object : GraphQLContext
4883
- ]),
4884
- _ts_metadata15("design:returntype", Promise)
4885
- ], CopilotResolver.prototype, "availableAgents", null);
4886
- _ts_decorate15([
4887
- (0, import_type_graphql16.Mutation)(() => CopilotResponse),
4888
- _ts_param(0, (0, import_type_graphql16.Ctx)()),
4889
- _ts_param(1, (0, import_type_graphql16.Arg)("data")),
4890
- _ts_param(2, (0, import_type_graphql16.Arg)("properties", () => import_graphql_scalars2.GraphQLJSONObject, {
4402
+ _ts_decorate14([
4403
+ (0, import_type_graphql15.Mutation)(() => CopilotResponse),
4404
+ _ts_param(0, (0, import_type_graphql15.Ctx)()),
4405
+ _ts_param(1, (0, import_type_graphql15.Arg)("data")),
4406
+ _ts_param(2, (0, import_type_graphql15.Arg)("properties", () => import_graphql_scalars2.GraphQLJSONObject, {
4891
4407
  nullable: true
4892
4408
  })),
4893
- _ts_metadata15("design:type", Function),
4894
- _ts_metadata15("design:paramtypes", [
4409
+ _ts_metadata14("design:type", Function),
4410
+ _ts_metadata14("design:paramtypes", [
4895
4411
  typeof GraphQLContext === "undefined" ? Object : GraphQLContext,
4896
4412
  typeof GenerateCopilotResponseInput === "undefined" ? Object : GenerateCopilotResponseInput,
4897
4413
  typeof CopilotRequestContextProperties === "undefined" ? Object : CopilotRequestContextProperties
4898
4414
  ]),
4899
- _ts_metadata15("design:returntype", Promise)
4415
+ _ts_metadata14("design:returntype", Promise)
4900
4416
  ], CopilotResolver.prototype, "generateCopilotResponse", null);
4901
- CopilotResolver = _ts_decorate15([
4902
- (0, import_type_graphql16.Resolver)(() => CopilotResponse)
4417
+ CopilotResolver = _ts_decorate14([
4418
+ (0, import_type_graphql15.Resolver)(() => CopilotResponse)
4903
4419
  ], CopilotResolver);
4904
4420
 
4905
4421
  // src/lib/integrations/shared.ts
@@ -4954,7 +4470,7 @@ async function createContext(initialContext, copilotKitContext, contextLogger, p
4954
4470
  __name(createContext, "createContext");
4955
4471
  function buildSchema(options = {}) {
4956
4472
  logger.debug("Building GraphQL schema...");
4957
- const schema = (0, import_type_graphql17.buildSchemaSync)({
4473
+ const schema = (0, import_type_graphql16.buildSchemaSync)({
4958
4474
  resolvers: [
4959
4475
  CopilotResolver
4960
4476
  ],
@@ -5124,8 +4640,6 @@ __name(copilotRuntimeNestEndpoint, "copilotRuntimeNestEndpoint");
5124
4640
  0 && (module.exports = {
5125
4641
  AnthropicAdapter,
5126
4642
  CopilotRuntime,
5127
- ExperimentalEmptyAdapter,
5128
- ExperimentalOllamaAdapter,
5129
4643
  GoogleGenerativeAIAdapter,
5130
4644
  GroqAdapter,
5131
4645
  GuardrailsValidationFailureResponse,