supercompat 2.0.0 → 2.1.0

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.
package/dist/index.cjs CHANGED
@@ -168,9 +168,6 @@ function _object_spread_props(target, source) {
168
168
  function _sliced_to_array(arr, i) {
169
169
  return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
170
170
  }
171
- function _to_array(arr) {
172
- return _array_with_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_rest();
173
- }
174
171
  function _to_consumable_array(arr) {
175
172
  return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
176
173
  }
@@ -291,7 +288,6 @@ function _ts_values(o) {
291
288
  };
292
289
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
293
290
  }
294
- var _mistral, _mistral1;
295
291
  var __create = Object.create;
296
292
  var __defProp = Object.defineProperty;
297
293
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -356,9 +352,6 @@ __export(src_exports, {
356
352
  anthropicClientAdapter: function() {
357
353
  return anthropicClientAdapter;
358
354
  },
359
- anthropicRunAdapter: function() {
360
- return anthropicRunAdapter;
361
- },
362
355
  completionsRunAdapter: function() {
363
356
  return completionsRunAdapter;
364
357
  },
@@ -593,11 +586,6 @@ var post = function(param) {
593
586
  ];
594
587
  case 4:
595
588
  error = _state.sent();
596
- console.dir({
597
- error: error
598
- }, {
599
- depth: null
600
- });
601
589
  return [
602
590
  2,
603
591
  new Response(JSON.stringify({
@@ -788,11 +776,6 @@ var post2 = function(param) {
788
776
  ];
789
777
  case 4:
790
778
  error = _state.sent();
791
- console.dir({
792
- error: error
793
- }, {
794
- depth: null
795
- });
796
779
  return [
797
780
  2,
798
781
  new Response(JSON.stringify({
@@ -834,691 +817,783 @@ var openaiClientAdapter = function(param) {
834
817
  })
835
818
  };
836
819
  };
820
+ // src/adapters/client/mistralClientAdapter/completions/post.ts
821
+ var post3 = function(param) {
822
+ var mistral = param.mistral;
823
+ return function() {
824
+ var _ref = _async_to_generator(function(_url, options) {
825
+ var body, response, stream, data, error;
826
+ return _ts_generator(this, function(_state) {
827
+ switch(_state.label){
828
+ case 0:
829
+ body = JSON.parse(options.body);
830
+ if (!body.stream) return [
831
+ 3,
832
+ 2
833
+ ];
834
+ return [
835
+ 4,
836
+ mistral.chatStream(body)
837
+ ];
838
+ case 1:
839
+ response = _state.sent();
840
+ stream = new ReadableStream({
841
+ start: function start(controller) {
842
+ return _async_to_generator(function() {
843
+ var _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, chunk, err;
844
+ return _ts_generator(this, function(_state) {
845
+ switch(_state.label){
846
+ case 0:
847
+ _iteratorAbruptCompletion = false, _didIteratorError = false;
848
+ _state.label = 1;
849
+ case 1:
850
+ _state.trys.push([
851
+ 1,
852
+ 6,
853
+ 7,
854
+ 12
855
+ ]);
856
+ _iterator = _async_iterator(response);
857
+ _state.label = 2;
858
+ case 2:
859
+ return [
860
+ 4,
861
+ _iterator.next()
862
+ ];
863
+ case 3:
864
+ if (!(_iteratorAbruptCompletion = !(_step = _state.sent()).done)) return [
865
+ 3,
866
+ 5
867
+ ];
868
+ _value = _step.value;
869
+ chunk = _value;
870
+ controller.enqueue("data: ".concat(JSON.stringify(chunk), "\n\n"));
871
+ _state.label = 4;
872
+ case 4:
873
+ _iteratorAbruptCompletion = false;
874
+ return [
875
+ 3,
876
+ 2
877
+ ];
878
+ case 5:
879
+ return [
880
+ 3,
881
+ 12
882
+ ];
883
+ case 6:
884
+ err = _state.sent();
885
+ _didIteratorError = true;
886
+ _iteratorError = err;
887
+ return [
888
+ 3,
889
+ 12
890
+ ];
891
+ case 7:
892
+ _state.trys.push([
893
+ 7,
894
+ ,
895
+ 10,
896
+ 11
897
+ ]);
898
+ if (!(_iteratorAbruptCompletion && _iterator.return != null)) return [
899
+ 3,
900
+ 9
901
+ ];
902
+ return [
903
+ 4,
904
+ _iterator.return()
905
+ ];
906
+ case 8:
907
+ _state.sent();
908
+ _state.label = 9;
909
+ case 9:
910
+ return [
911
+ 3,
912
+ 11
913
+ ];
914
+ case 10:
915
+ if (_didIteratorError) {
916
+ throw _iteratorError;
917
+ }
918
+ return [
919
+ 7
920
+ ];
921
+ case 11:
922
+ return [
923
+ 7
924
+ ];
925
+ case 12:
926
+ controller.close();
927
+ return [
928
+ 2
929
+ ];
930
+ }
931
+ });
932
+ })();
933
+ }
934
+ });
935
+ return [
936
+ 2,
937
+ new Response(stream, {
938
+ headers: {
939
+ "Content-Type": "text/event-stream"
940
+ }
941
+ })
942
+ ];
943
+ case 2:
944
+ _state.trys.push([
945
+ 2,
946
+ 4,
947
+ ,
948
+ 5
949
+ ]);
950
+ return [
951
+ 4,
952
+ mistral.chat(body)
953
+ ];
954
+ case 3:
955
+ data = _state.sent();
956
+ return [
957
+ 2,
958
+ new Response(JSON.stringify({
959
+ data: data
960
+ }), {
961
+ status: 200,
962
+ headers: {
963
+ "Content-Type": "application/json"
964
+ }
965
+ })
966
+ ];
967
+ case 4:
968
+ error = _state.sent();
969
+ return [
970
+ 2,
971
+ new Response(JSON.stringify({
972
+ error: error
973
+ }), {
974
+ status: 500,
975
+ headers: {
976
+ "Content-Type": "application/json"
977
+ }
978
+ })
979
+ ];
980
+ case 5:
981
+ return [
982
+ 2
983
+ ];
984
+ }
985
+ });
986
+ });
987
+ return function(_url, options) {
988
+ return _ref.apply(this, arguments);
989
+ };
990
+ }();
991
+ };
992
+ // src/adapters/client/mistralClientAdapter/completions/index.ts
993
+ var completions3 = function(param) {
994
+ var mistral = param.mistral;
995
+ return {
996
+ post: post3({
997
+ mistral: mistral
998
+ })
999
+ };
1000
+ };
837
1001
  // src/adapters/client/mistralClientAdapter/index.ts
838
1002
  var mistralClientAdapter = function(param) {
839
1003
  var mistral = param.mistral;
840
1004
  return {
841
- chat: {
842
- completions: {
843
- // @ts-ignore-next-line
844
- create: function() {
845
- for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
846
- args[_key] = arguments[_key];
847
- }
848
- return(// @ts-ignore-next-line
849
- args[0].stream ? (_mistral = mistral).chatStream.apply(_mistral, _to_consumable_array(args)) : (_mistral1 = mistral).chat.apply(_mistral1, _to_consumable_array(args)));
850
- }
851
- }
852
- }
1005
+ "^/v1/chat/completions$": completions3({
1006
+ mistral: mistral
1007
+ })
853
1008
  };
854
1009
  };
855
- // src/adapters/client/perplexityClientAdapter/index.ts
1010
+ // src/adapters/client/perplexityClientAdapter/completions/post.ts
856
1011
  var agentSideRoles = [
857
1012
  "assistant",
858
1013
  "system"
859
1014
  ];
860
- var perplexityClientAdapter = function(param) {
1015
+ var post4 = function(param) {
861
1016
  var perplexity = param.perplexity;
862
- return {
863
- chat: {
864
- completions: {
865
- create: function() {
866
- for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
867
- args[_key] = arguments[_key];
868
- }
869
- var _perplexity_chat_completions;
870
- var _args = _to_array(args), firstArg = _args[0], restArgs = _args.slice(1);
871
- var messages4 = [];
872
- firstArg.messages.forEach(function(message, index) {
873
- messages4.push(message);
874
- var nextMessage = firstArg.messages[index + 1];
875
- if (!nextMessage) return;
876
- if (message.role === "user" && nextMessage.role === "user") {
877
- messages4.push({
878
- role: "assistant",
879
- content: ""
880
- });
881
- } else if (agentSideRoles.includes(message.role) && agentSideRoles.includes(nextMessage.role)) {
882
- messages4.push({
883
- role: "user",
884
- content: ""
885
- });
886
- }
887
- });
888
- return (_perplexity_chat_completions = perplexity.chat.completions).create.apply(_perplexity_chat_completions, [
889
- _object_spread_props(_object_spread({}, firstArg), {
890
- messages: messages4
891
- })
892
- ].concat(_to_consumable_array(restArgs)));
893
- }
894
- }
895
- }
896
- };
897
- };
898
- // src/adapters/client/anthropicClientAdapter/index.ts
899
- var anthropicClientAdapter = function(param) {
900
- var anthropic = param.anthropic;
901
- return {
902
- chat: {
903
- completions: {
904
- create: function() {
905
- for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
906
- args[_key] = arguments[_key];
907
- }
908
- var _args = _to_array(args), firstArg = _args[0], secondArg = _args[1], restArgs = _args.slice(2);
909
- var messages4 = firstArg.messages;
910
- if (firstArg.messages[0].role != "user") {
911
- messages4.unshift({
912
- role: "user",
913
- content: "-"
1017
+ return function() {
1018
+ var _ref = _async_to_generator(function(_url, options) {
1019
+ var body, messages3, response, stream, data, error;
1020
+ return _ts_generator(this, function(_state) {
1021
+ switch(_state.label){
1022
+ case 0:
1023
+ body = JSON.parse(options.body);
1024
+ messages3 = [];
1025
+ body.messages.forEach(function(message, index) {
1026
+ messages3.push(message);
1027
+ var nextMessage = body.messages[index + 1];
1028
+ if (!nextMessage) return;
1029
+ if (message.role === "user" && nextMessage.role === "user") {
1030
+ messages3.push({
1031
+ role: "assistant",
1032
+ content: ""
1033
+ });
1034
+ } else if (agentSideRoles.includes(message.role) && agentSideRoles.includes(nextMessage.role)) {
1035
+ messages3.push({
1036
+ role: "user",
1037
+ content: ""
1038
+ });
1039
+ }
914
1040
  });
915
- }
916
- var resultFirstArg = _object_spread_props(_object_spread({}, firstArg), {
917
- messages: messages4
918
- });
919
- var _secondArg_headers;
920
- var resultSecondArg = _object_spread_props(_object_spread({}, secondArg), {
921
- headers: _object_spread_props(_object_spread({}, (_secondArg_headers = secondArg === null || secondArg === void 0 ? void 0 : secondArg.headers) !== null && _secondArg_headers !== void 0 ? _secondArg_headers : {}), {
922
- "anthropic-beta": "tools-2024-04-04"
923
- })
924
- });
925
- if (args[0].stream) {
926
- var _anthropic_messages;
927
- return (_anthropic_messages = anthropic.messages).stream.apply(_anthropic_messages, [
928
- resultFirstArg,
929
- resultSecondArg
930
- ].concat(_to_consumable_array(restArgs)));
931
- } else {
932
- var _anthropic_messages1;
933
- return (_anthropic_messages1 = anthropic.messages).create.apply(_anthropic_messages1, [
934
- resultFirstArg,
935
- resultSecondArg
936
- ].concat(_to_consumable_array(restArgs)));
937
- }
938
- }
939
- }
940
- }
941
- };
942
- };
943
- // src/adapters/run/completionsRunAdapter/index.ts
944
- var import_lodash = __toESM(require("lodash"), 1);
945
- var import_radash3 = require("radash");
946
- var import_dayjs = __toESM(require("dayjs"), 1);
947
- // src/adapters/run/completionsRunAdapter/messages/index.ts
948
- var import_radash2 = require("radash");
949
- // src/adapters/run/completionsRunAdapter/messages/serializeMessage.ts
950
- var serializeToolCall = function(param) {
951
- var toolCall = param.toolCall;
952
- var _toolCall_function_output;
953
- return {
954
- tool_call_id: toolCall.id,
955
- role: "tool",
956
- name: toolCall.function.name,
957
- content: (_toolCall_function_output = toolCall.function.output) !== null && _toolCall_function_output !== void 0 ? _toolCall_function_output : ""
958
- };
959
- };
960
- var serializeMessageWithContent = function(param) {
961
- var message = param.message;
962
- var _message_metadata;
963
- return _object_spread({
964
- role: message.role,
965
- content: serializeContent({
966
- content: message.content
967
- })
968
- }, (message === null || message === void 0 ? void 0 : (_message_metadata = message.metadata) === null || _message_metadata === void 0 ? void 0 : _message_metadata.toolCalls) ? {
969
- tool_calls: message.metadata.toolCalls
970
- } : {});
971
- };
972
- var serializeContent = function(param) {
973
- var content = param.content;
974
- return content.map(function(content2) {
975
- return content2.text.value;
976
- }).join("\n");
977
- };
978
- var serializeMessage = function(param) {
979
- var message = param.message;
980
- var _message_metadata;
981
- var result = [
982
- serializeMessageWithContent({
983
- message: message
984
- })
985
- ];
986
- var run2 = message.run;
987
- if (!run2) return result;
988
- var messageToolCalls = ((_message_metadata = message.metadata) === null || _message_metadata === void 0 ? void 0 : _message_metadata.toolCalls) || [];
989
- messageToolCalls.forEach(function(tc) {
990
- var runStep = run2.runSteps.find(function(rs) {
991
- if (rs.type !== "tool_calls") return false;
992
- return rs.step_details.tool_calls.some(function(rsTc) {
993
- if (rsTc.type !== "function") return false;
994
- return rsTc.id === tc.id;
995
- });
996
- });
997
- if (!runStep) return;
998
- var toolCall = runStep.step_details.tool_calls.find(function(rsTc) {
999
- if (rsTc.type !== "function") return false;
1000
- return rsTc.id === tc.id;
1001
- });
1002
- result.push(serializeToolCall({
1003
- toolCall: toolCall
1004
- }));
1005
- });
1006
- return result;
1007
- };
1008
- // src/adapters/run/completionsRunAdapter/messages/index.ts
1009
- var messages = function() {
1010
- var _ref = _async_to_generator(function(param) {
1011
- var run2, getMessages2, _, _1, _2;
1012
- return _ts_generator(this, function(_state) {
1013
- switch(_state.label){
1014
- case 0:
1015
- run2 = param.run, getMessages2 = param.getMessages;
1016
- _1 = (_ = _to_consumable_array(run2.instructions ? [
1017
- {
1018
- role: "system",
1019
- content: run2.instructions
1020
- }
1021
- ] : [])).concat;
1022
- _2 = (0, import_radash2.flat);
1023
- return [
1024
- 4,
1025
- getMessages2()
1026
- ];
1027
- case 1:
1028
- return [
1029
- 2,
1030
- _1.apply(_, [
1031
- _to_consumable_array.apply(void 0, [
1032
- _2.apply(void 0, [
1033
- _state.sent().map(function(message) {
1034
- return serializeMessage({
1035
- message: message
1036
- });
1037
- })
1038
- ])
1039
- ])
1040
- ])
1041
- ];
1042
- }
1043
- });
1044
- });
1045
- return function messages(_) {
1046
- return _ref.apply(this, arguments);
1047
- };
1048
- }();
1049
- // src/adapters/run/completionsRunAdapter/index.ts
1050
- var updatedToolCall = function(param) {
1051
- var toolCall = param.toolCall, delta = param.delta;
1052
- if (!toolCall) return (0, import_radash3.omit)(delta, [
1053
- "index"
1054
- ]);
1055
- var result = import_lodash.default.cloneDeep(toolCall);
1056
- var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
1057
- try {
1058
- for(var _iterator = Object.entries(delta.function)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
1059
- var _step_value = _sliced_to_array(_step.value, 2), key = _step_value[0], value = _step_value[1];
1060
- var _result_function_key;
1061
- result.function[key] = "".concat((_result_function_key = result.function[key]) !== null && _result_function_key !== void 0 ? _result_function_key : "").concat(value);
1062
- }
1063
- } catch (err) {
1064
- _didIteratorError = true;
1065
- _iteratorError = err;
1066
- } finally{
1067
- try {
1068
- if (!_iteratorNormalCompletion && _iterator.return != null) {
1069
- _iterator.return();
1070
- }
1071
- } finally{
1072
- if (_didIteratorError) {
1073
- throw _iteratorError;
1074
- }
1075
- }
1076
- }
1077
- return result;
1078
- };
1079
- var toolCallsData = function(param) {
1080
- var prevToolCalls = param.prevToolCalls, delta = param.delta;
1081
- if (!prevToolCalls) {
1082
- return delta.tool_calls.map(function(tc) {
1083
- return _object_spread({
1084
- id: (0, import_radash3.uid)(24),
1085
- type: "function"
1086
- }, (0, import_radash3.omit)(tc, [
1087
- "index"
1088
- ]));
1089
- });
1090
- }
1091
- var newToolCalls = import_lodash.default.cloneDeep(prevToolCalls);
1092
- var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
1093
- try {
1094
- for(var _iterator = delta.tool_calls[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
1095
- var runStepDelta = _step.value;
1096
- newToolCalls[runStepDelta.index] = updatedToolCall({
1097
- toolCall: newToolCalls[runStepDelta.index],
1098
- delta: runStepDelta
1099
- });
1100
- }
1101
- } catch (err) {
1102
- _didIteratorError = true;
1103
- _iteratorError = err;
1104
- } finally{
1105
- try {
1106
- if (!_iteratorNormalCompletion && _iterator.return != null) {
1107
- _iterator.return();
1108
- }
1109
- } finally{
1110
- if (_didIteratorError) {
1111
- throw _iteratorError;
1112
- }
1113
- }
1114
- }
1115
- return newToolCalls;
1116
- };
1117
- var completionsRunAdapter = function() {
1118
- return function() {
1119
- var _ref = _async_to_generator(function(param) {
1120
- var clientAdapter, run2, onEvent2, getMessages2, client, opts, _tmp, providerResponse, e, message, toolCallsRunStep, currentContent, currentToolCalls, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, chunk, delta, _delta_content, err;
1121
- return _ts_generator(this, function(_state) {
1122
- switch(_state.label){
1123
- case 0:
1124
- clientAdapter = param.client, run2 = param.run, onEvent2 = param.onEvent, getMessages2 = param.getMessages;
1125
- if (run2.status !== "queued") return [
1041
+ if (!body.stream) return [
1042
+ 3,
1126
1043
  2
1127
1044
  ];
1128
- client = supercompat({
1129
- client: clientAdapter,
1130
- storage: function() {},
1131
- // @ts-ignore-next-line
1132
- runAdapter: {}
1133
- });
1134
- onEvent2({
1135
- event: "thread.run.in_progress",
1136
- data: _object_spread_props(_object_spread({}, run2), {
1137
- status: "in_progress"
1138
- })
1139
- });
1140
- _tmp = {};
1141
1045
  return [
1142
1046
  4,
1143
- messages({
1144
- run: run2,
1145
- getMessages: getMessages2
1146
- })
1047
+ perplexity.chat.completions.create(body)
1147
1048
  ];
1148
1049
  case 1:
1149
- opts = _object_spread.apply(void 0, [
1150
- (_tmp.messages = _state.sent(), _tmp.model = run2.model, _tmp.stream = true, _tmp.response_format = run2.response_format, _tmp),
1151
- (0, import_radash3.isEmpty)(run2.tools) ? {} : {
1152
- tools: run2.tools
1153
- }
1154
- ]);
1155
- _state.label = 2;
1156
- case 2:
1157
- _state.trys.push([
1158
- 2,
1159
- 4,
1160
- ,
1161
- 5
1162
- ]);
1163
- return [
1164
- 4,
1165
- client.chat.completions.create(opts)
1166
- ];
1167
- case 3:
1168
- providerResponse = _state.sent();
1169
- return [
1170
- 3,
1171
- 5
1172
- ];
1173
- case 4:
1174
- e = _state.sent();
1175
- console.log("error", e);
1176
- console.error(e);
1177
- return [
1178
- 2,
1179
- onEvent2({
1180
- event: "thread.run.failed",
1181
- data: _object_spread_props(_object_spread({}, run2), {
1182
- failed_at: (0, import_dayjs.default)().unix(),
1183
- status: "in_progress",
1184
- last_error: e.message
1185
- })
1186
- })
1187
- ];
1188
- case 5:
1189
- return [
1190
- 4,
1191
- onEvent2({
1192
- event: "thread.message.created",
1193
- data: {
1194
- id: "THERE_IS_A_BUG_IN_SUPERCOMPAT_IF_YOU_SEE_THIS_ID",
1195
- object: "thread.message",
1196
- completed_at: null,
1197
- run_id: run2.id,
1198
- created_at: (0, import_dayjs.default)().unix(),
1199
- assistant_id: run2.assistant_id,
1200
- incomplete_at: null,
1201
- incomplete_details: null,
1202
- metadata: {},
1203
- attachments: [],
1204
- thread_id: run2.thread_id,
1205
- content: [
1206
- {
1207
- text: {
1208
- value: "",
1209
- annotations: []
1210
- },
1211
- type: "text"
1050
+ response = _state.sent();
1051
+ stream = new ReadableStream({
1052
+ start: function start(controller) {
1053
+ return _async_to_generator(function() {
1054
+ var _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, chunk, err;
1055
+ return _ts_generator(this, function(_state) {
1056
+ switch(_state.label){
1057
+ case 0:
1058
+ _iteratorAbruptCompletion = false, _didIteratorError = false;
1059
+ _state.label = 1;
1060
+ case 1:
1061
+ _state.trys.push([
1062
+ 1,
1063
+ 6,
1064
+ 7,
1065
+ 12
1066
+ ]);
1067
+ _iterator = _async_iterator(response);
1068
+ _state.label = 2;
1069
+ case 2:
1070
+ return [
1071
+ 4,
1072
+ _iterator.next()
1073
+ ];
1074
+ case 3:
1075
+ if (!(_iteratorAbruptCompletion = !(_step = _state.sent()).done)) return [
1076
+ 3,
1077
+ 5
1078
+ ];
1079
+ _value = _step.value;
1080
+ chunk = _value;
1081
+ controller.enqueue("data: ".concat(JSON.stringify(chunk), "\n\n"));
1082
+ _state.label = 4;
1083
+ case 4:
1084
+ _iteratorAbruptCompletion = false;
1085
+ return [
1086
+ 3,
1087
+ 2
1088
+ ];
1089
+ case 5:
1090
+ return [
1091
+ 3,
1092
+ 12
1093
+ ];
1094
+ case 6:
1095
+ err = _state.sent();
1096
+ _didIteratorError = true;
1097
+ _iteratorError = err;
1098
+ return [
1099
+ 3,
1100
+ 12
1101
+ ];
1102
+ case 7:
1103
+ _state.trys.push([
1104
+ 7,
1105
+ ,
1106
+ 10,
1107
+ 11
1108
+ ]);
1109
+ if (!(_iteratorAbruptCompletion && _iterator.return != null)) return [
1110
+ 3,
1111
+ 9
1112
+ ];
1113
+ return [
1114
+ 4,
1115
+ _iterator.return()
1116
+ ];
1117
+ case 8:
1118
+ _state.sent();
1119
+ _state.label = 9;
1120
+ case 9:
1121
+ return [
1122
+ 3,
1123
+ 11
1124
+ ];
1125
+ case 10:
1126
+ if (_didIteratorError) {
1127
+ throw _iteratorError;
1128
+ }
1129
+ return [
1130
+ 7
1131
+ ];
1132
+ case 11:
1133
+ return [
1134
+ 7
1135
+ ];
1136
+ case 12:
1137
+ controller.close();
1138
+ return [
1139
+ 2
1140
+ ];
1212
1141
  }
1213
- ],
1214
- role: "assistant",
1215
- status: "in_progress"
1216
- }
1217
- })
1218
- ];
1219
- case 6:
1220
- message = _state.sent();
1221
- onEvent2({
1222
- event: "thread.run.step.created",
1223
- data: {
1224
- id: "THERE_IS_A_BUG_IN_SUPERCOMPAT_IF_YOU_SEE_THIS_ID",
1225
- object: "thread.run.step",
1226
- run_id: run2.id,
1227
- assistant_id: run2.assistant_id,
1228
- thread_id: run2.thread_id,
1229
- type: "message_creation",
1230
- status: "completed",
1231
- completed_at: (0, import_dayjs.default)().unix(),
1232
- created_at: (0, import_dayjs.default)().unix(),
1233
- expired_at: null,
1234
- last_error: null,
1235
- metadata: {},
1236
- failed_at: null,
1237
- cancelled_at: null,
1238
- usage: null,
1239
- step_details: {
1240
- type: "message_creation",
1241
- message_creation: {
1242
- message_id: message.id
1243
- }
1244
- }
1142
+ });
1143
+ })();
1245
1144
  }
1246
1145
  });
1247
- currentContent = "";
1248
- _iteratorAbruptCompletion = false, _didIteratorError = false;
1249
- _state.label = 7;
1250
- case 7:
1146
+ return [
1147
+ 2,
1148
+ new Response(stream, {
1149
+ headers: {
1150
+ "Content-Type": "text/event-stream"
1151
+ }
1152
+ })
1153
+ ];
1154
+ case 2:
1251
1155
  _state.trys.push([
1252
- 7,
1253
- 15,
1254
- 16,
1255
- 21
1156
+ 2,
1157
+ 4,
1158
+ ,
1159
+ 5
1256
1160
  ]);
1257
- _iterator = _async_iterator(providerResponse);
1258
- _state.label = 8;
1259
- case 8:
1260
1161
  return [
1261
1162
  4,
1262
- _iterator.next()
1163
+ perplexity.chat.completions.create(body)
1263
1164
  ];
1264
- case 9:
1265
- if (!(_iteratorAbruptCompletion = !(_step = _state.sent()).done)) return [
1266
- 3,
1267
- 14
1165
+ case 3:
1166
+ data = _state.sent();
1167
+ return [
1168
+ 2,
1169
+ new Response(JSON.stringify({
1170
+ data: data
1171
+ }), {
1172
+ status: 200,
1173
+ headers: {
1174
+ "Content-Type": "application/json"
1175
+ }
1176
+ })
1268
1177
  ];
1269
- _value = _step.value;
1270
- chunk = _value;
1271
- delta = chunk.choices[0].delta;
1272
- if (delta.content) {
1273
- ;
1274
- currentContent = "".concat(currentContent).concat((_delta_content = delta.content) !== null && _delta_content !== void 0 ? _delta_content : "");
1275
- }
1276
- if (!delta.tool_calls) return [
1277
- 3,
1278
- 12
1178
+ case 4:
1179
+ error = _state.sent();
1180
+ return [
1181
+ 2,
1182
+ new Response(JSON.stringify({
1183
+ error: error
1184
+ }), {
1185
+ status: 500,
1186
+ headers: {
1187
+ "Content-Type": "application/json"
1188
+ }
1189
+ })
1279
1190
  ];
1280
- if (!!toolCallsRunStep) return [
1191
+ case 5:
1192
+ return [
1193
+ 2
1194
+ ];
1195
+ }
1196
+ });
1197
+ });
1198
+ return function(_url, options) {
1199
+ return _ref.apply(this, arguments);
1200
+ };
1201
+ }();
1202
+ };
1203
+ // src/adapters/client/perplexityClientAdapter/completions/index.ts
1204
+ var completions4 = function(param) {
1205
+ var perplexity = param.perplexity;
1206
+ return {
1207
+ post: post4({
1208
+ perplexity: perplexity
1209
+ })
1210
+ };
1211
+ };
1212
+ // src/adapters/client/perplexityClientAdapter/index.ts
1213
+ var perplexityClientAdapter = function(param) {
1214
+ var perplexity = param.perplexity;
1215
+ return {
1216
+ "^/v1/chat/completions$": completions4({
1217
+ perplexity: perplexity
1218
+ })
1219
+ };
1220
+ };
1221
+ // src/adapters/client/anthropicClientAdapter/completions/post.ts
1222
+ var import_radash2 = require("radash");
1223
+ // src/adapters/client/anthropicClientAdapter/completions/serializeTools.ts
1224
+ var serializeTools = function(param) {
1225
+ var tools = param.tools;
1226
+ return tools.map(function(tool) {
1227
+ if (tool.type === "function") {
1228
+ return {
1229
+ name: tool.function.name,
1230
+ description: tool.function.description,
1231
+ input_schema: tool.function.parameters
1232
+ };
1233
+ }
1234
+ return tool;
1235
+ });
1236
+ };
1237
+ // src/adapters/client/anthropicClientAdapter/completions/serializeMessages/serializeMessage.ts
1238
+ var serializeMessage = function(param) {
1239
+ var message = param.message;
1240
+ if (message.role === "user") {
1241
+ return {
1242
+ role: "user",
1243
+ content: message.content
1244
+ };
1245
+ } else if (message.role === "assistant") {
1246
+ var _message_tool_calls;
1247
+ return {
1248
+ role: "assistant",
1249
+ content: [
1250
+ {
1251
+ type: "text",
1252
+ text: message.content
1253
+ }
1254
+ ].concat(_to_consumable_array(((_message_tool_calls = message.tool_calls) !== null && _message_tool_calls !== void 0 ? _message_tool_calls : []).map(function(toolCall) {
1255
+ return {
1256
+ type: "tool_use",
1257
+ id: toolCall.id,
1258
+ name: toolCall.function.name,
1259
+ input: JSON.parse(toolCall.function.arguments)
1260
+ };
1261
+ })))
1262
+ };
1263
+ } else if (message.role === "tool") {
1264
+ return {
1265
+ role: "user",
1266
+ content: [
1267
+ {
1268
+ type: "tool_result",
1269
+ tool_use_id: message.tool_call_id,
1270
+ content: message.content
1271
+ }
1272
+ ]
1273
+ };
1274
+ }
1275
+ };
1276
+ // src/adapters/client/anthropicClientAdapter/completions/serializeMessages/index.ts
1277
+ var serializeMessages = function(param) {
1278
+ var messages3 = param.messages;
1279
+ return messages3.map(function(message) {
1280
+ return serializeMessage({
1281
+ message: message
1282
+ });
1283
+ });
1284
+ };
1285
+ // src/adapters/client/anthropicClientAdapter/completions/post.ts
1286
+ var post5 = function(param) {
1287
+ var anthropic = param.anthropic;
1288
+ return function() {
1289
+ var _ref = _async_to_generator(function(_url, options) {
1290
+ var body, messages3, _ref, systemMessages, otherMessages, system, resultOptions, response, stream, data, error;
1291
+ return _ts_generator(this, function(_state) {
1292
+ switch(_state.label){
1293
+ case 0:
1294
+ body = JSON.parse(options.body);
1295
+ messages3 = body.messages;
1296
+ _ref = _sliced_to_array((0, import_radash2.fork)(messages3, function(message) {
1297
+ return message.role === "system";
1298
+ }), 2), systemMessages = _ref[0], otherMessages = _ref[1];
1299
+ system = systemMessages.map(function(message) {
1300
+ return message.content;
1301
+ }).join("\n");
1302
+ if (otherMessages[0] && otherMessages[0].role != "user") {
1303
+ otherMessages.unshift({
1304
+ role: "user",
1305
+ content: "-"
1306
+ });
1307
+ }
1308
+ resultOptions = _object_spread_props(_object_spread({}, (0, import_radash2.omit)(body, [
1309
+ "response_format"
1310
+ ])), {
1311
+ stream: body.stream ? (0, import_radash2.isEmpty)(body.tools) : false,
1312
+ system: system,
1313
+ messages: serializeMessages({
1314
+ messages: otherMessages
1315
+ }),
1316
+ max_tokens: 4096,
1317
+ tools: serializeTools({
1318
+ tools: body.tools
1319
+ })
1320
+ });
1321
+ if (!body.stream) return [
1281
1322
  3,
1282
- 11
1323
+ 2
1283
1324
  ];
1284
1325
  return [
1285
1326
  4,
1286
- onEvent2({
1287
- event: "thread.run.step.created",
1288
- data: {
1289
- id: "THERE_IS_A_BUG_IN_SUPERCOMPAT_IF_YOU_SEE_THIS_ID",
1290
- object: "thread.run.step",
1291
- run_id: run2.id,
1292
- assistant_id: run2.assistant_id,
1293
- thread_id: run2.thread_id,
1294
- type: "tool_calls",
1295
- status: "in_progress",
1296
- completed_at: null,
1297
- created_at: (0, import_dayjs.default)().unix(),
1298
- expired_at: null,
1299
- last_error: null,
1300
- metadata: {},
1301
- failed_at: null,
1302
- cancelled_at: null,
1303
- usage: null,
1304
- step_details: {
1305
- type: "tool_calls",
1306
- tool_calls: []
1307
- }
1308
- }
1309
- })
1327
+ anthropic.messages.stream(resultOptions)
1310
1328
  ];
1311
- case 10:
1312
- toolCallsRunStep = _state.sent();
1313
- _state.label = 11;
1314
- case 11:
1315
- onEvent2({
1316
- event: "thread.run.step.delta",
1317
- data: {
1318
- object: "thread.run.step.delta",
1319
- run_id: run2.id,
1320
- id: toolCallsRunStep.id,
1321
- delta: {
1322
- step_details: {
1323
- type: "tool_calls",
1324
- tool_calls: delta.tool_calls.map(function(tc) {
1325
- return _object_spread({
1326
- id: (0, import_radash3.uid)(24),
1327
- type: "function"
1328
- }, tc);
1329
- })
1330
- }
1331
- }
1329
+ case 1:
1330
+ response = _state.sent();
1331
+ stream = new ReadableStream({
1332
+ start: function start(controller) {
1333
+ return _async_to_generator(function() {
1334
+ var _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, chunk, delta, messageDelta, delta1, messageDelta1, messageDelta2, err;
1335
+ return _ts_generator(this, function(_state) {
1336
+ switch(_state.label){
1337
+ case 0:
1338
+ _iteratorAbruptCompletion = false, _didIteratorError = false;
1339
+ _state.label = 1;
1340
+ case 1:
1341
+ _state.trys.push([
1342
+ 1,
1343
+ 6,
1344
+ 7,
1345
+ 12
1346
+ ]);
1347
+ _iterator = _async_iterator(response);
1348
+ _state.label = 2;
1349
+ case 2:
1350
+ return [
1351
+ 4,
1352
+ _iterator.next()
1353
+ ];
1354
+ case 3:
1355
+ if (!(_iteratorAbruptCompletion = !(_step = _state.sent()).done)) return [
1356
+ 3,
1357
+ 5
1358
+ ];
1359
+ _value = _step.value;
1360
+ chunk = _value;
1361
+ if (chunk.type === "content_block_delta") {
1362
+ delta = chunk.delta.type === "input_json_delta" ? {
1363
+ tool_calls: [
1364
+ {
1365
+ index: 0,
1366
+ function: {
1367
+ arguments: chunk.delta.partial_json
1368
+ }
1369
+ }
1370
+ ]
1371
+ } : {
1372
+ content: chunk.delta.text
1373
+ };
1374
+ messageDelta = {
1375
+ id: "chatcmpl-".concat((0, import_radash2.uid)(29)),
1376
+ object: "chat.completion.chunk",
1377
+ choices: [
1378
+ {
1379
+ index: chunk.index,
1380
+ delta: delta
1381
+ }
1382
+ ]
1383
+ };
1384
+ controller.enqueue("data: ".concat(JSON.stringify(messageDelta), "\n\n"));
1385
+ } else if (chunk.type === "content_block_start") {
1386
+ delta1 = chunk.content_block.type === "tool_use" ? {
1387
+ content: null,
1388
+ tool_calls: [
1389
+ {
1390
+ index: 0,
1391
+ id: chunk.content_block.id,
1392
+ type: "function",
1393
+ function: {
1394
+ name: chunk.content_block.name,
1395
+ arguments: ""
1396
+ }
1397
+ }
1398
+ ]
1399
+ } : {
1400
+ content: chunk.content_block.text
1401
+ };
1402
+ messageDelta1 = {
1403
+ id: "chatcmpl-".concat((0, import_radash2.uid)(29)),
1404
+ object: "chat.completion.chunk",
1405
+ choices: [
1406
+ {
1407
+ index: chunk.index,
1408
+ delta: delta1
1409
+ }
1410
+ ]
1411
+ };
1412
+ controller.enqueue("data: ".concat(JSON.stringify(messageDelta1), "\n\n"));
1413
+ } else if (chunk.type === "message_start") {
1414
+ messageDelta2 = {
1415
+ id: "chatcmpl-".concat((0, import_radash2.uid)(29)),
1416
+ object: "chat.completion.chunk",
1417
+ choices: [
1418
+ {
1419
+ index: 0,
1420
+ delta: {
1421
+ content: ""
1422
+ }
1423
+ }
1424
+ ]
1425
+ };
1426
+ controller.enqueue("data: ".concat(JSON.stringify(messageDelta2), "\n\n"));
1427
+ }
1428
+ _state.label = 4;
1429
+ case 4:
1430
+ _iteratorAbruptCompletion = false;
1431
+ return [
1432
+ 3,
1433
+ 2
1434
+ ];
1435
+ case 5:
1436
+ return [
1437
+ 3,
1438
+ 12
1439
+ ];
1440
+ case 6:
1441
+ err = _state.sent();
1442
+ _didIteratorError = true;
1443
+ _iteratorError = err;
1444
+ return [
1445
+ 3,
1446
+ 12
1447
+ ];
1448
+ case 7:
1449
+ _state.trys.push([
1450
+ 7,
1451
+ ,
1452
+ 10,
1453
+ 11
1454
+ ]);
1455
+ if (!(_iteratorAbruptCompletion && _iterator.return != null)) return [
1456
+ 3,
1457
+ 9
1458
+ ];
1459
+ return [
1460
+ 4,
1461
+ _iterator.return()
1462
+ ];
1463
+ case 8:
1464
+ _state.sent();
1465
+ _state.label = 9;
1466
+ case 9:
1467
+ return [
1468
+ 3,
1469
+ 11
1470
+ ];
1471
+ case 10:
1472
+ if (_didIteratorError) {
1473
+ throw _iteratorError;
1474
+ }
1475
+ return [
1476
+ 7
1477
+ ];
1478
+ case 11:
1479
+ return [
1480
+ 7
1481
+ ];
1482
+ case 12:
1483
+ controller.close();
1484
+ return [
1485
+ 2
1486
+ ];
1487
+ }
1488
+ });
1489
+ })();
1332
1490
  }
1333
1491
  });
1334
- currentToolCalls = toolCallsData({
1335
- prevToolCalls: currentToolCalls,
1336
- delta: delta
1337
- });
1338
- _state.label = 12;
1339
- case 12:
1340
- if (delta.content) {
1341
- onEvent2({
1342
- event: "thread.message.delta",
1343
- data: {
1344
- id: message.id,
1345
- delta: {
1346
- content: [
1347
- {
1348
- type: "text",
1349
- index: 0,
1350
- text: {
1351
- value: delta.content
1352
- }
1353
- }
1354
- ]
1355
- }
1356
- }
1357
- });
1358
- }
1359
- _state.label = 13;
1360
- case 13:
1361
- _iteratorAbruptCompletion = false;
1362
- return [
1363
- 3,
1364
- 8
1365
- ];
1366
- case 14:
1367
- return [
1368
- 3,
1369
- 21
1370
- ];
1371
- case 15:
1372
- err = _state.sent();
1373
- _didIteratorError = true;
1374
- _iteratorError = err;
1375
1492
  return [
1376
- 3,
1377
- 21
1493
+ 2,
1494
+ new Response(stream, {
1495
+ headers: {
1496
+ "Content-Type": "text/event-stream"
1497
+ }
1498
+ })
1378
1499
  ];
1379
- case 16:
1500
+ case 2:
1380
1501
  _state.trys.push([
1381
- 16,
1502
+ 2,
1503
+ 4,
1382
1504
  ,
1383
- 19,
1384
- 20
1505
+ 5
1385
1506
  ]);
1386
- if (!(_iteratorAbruptCompletion && _iterator.return != null)) return [
1387
- 3,
1388
- 18
1389
- ];
1390
1507
  return [
1391
1508
  4,
1392
- _iterator.return()
1393
- ];
1394
- case 17:
1395
- _state.sent();
1396
- _state.label = 18;
1397
- case 18:
1398
- return [
1399
- 3,
1400
- 20
1401
- ];
1402
- case 19:
1403
- if (_didIteratorError) {
1404
- throw _iteratorError;
1405
- }
1406
- return [
1407
- 7
1408
- ];
1409
- case 20:
1410
- return [
1411
- 7
1509
+ anthropic.messages.create(resultOptions)
1412
1510
  ];
1413
- case 21:
1511
+ case 3:
1512
+ data = _state.sent();
1414
1513
  return [
1415
- 4,
1416
- onEvent2({
1417
- event: "thread.message.completed",
1418
- data: _object_spread_props(_object_spread({}, message), {
1419
- status: "completed",
1420
- content: [
1421
- {
1422
- text: {
1423
- value: currentContent,
1424
- annotations: []
1425
- },
1426
- type: "text"
1427
- }
1428
- ],
1429
- tool_calls: currentToolCalls
1430
- })
1514
+ 2,
1515
+ new Response(JSON.stringify({
1516
+ data: data
1517
+ }), {
1518
+ status: 200,
1519
+ headers: {
1520
+ "Content-Type": "application/json"
1521
+ }
1431
1522
  })
1432
1523
  ];
1433
- case 22:
1434
- message = _state.sent();
1435
- if ((0, import_radash3.isEmpty)(message.toolCalls)) {
1436
- return [
1437
- 2,
1438
- onEvent2({
1439
- event: "thread.run.completed",
1440
- data: _object_spread_props(_object_spread({}, run2), {
1441
- status: "completed",
1442
- completed_at: (0, import_dayjs.default)().unix()
1443
- })
1444
- })
1445
- ];
1446
- }
1524
+ case 4:
1525
+ error = _state.sent();
1447
1526
  return [
1448
1527
  2,
1449
- onEvent2({
1450
- event: "thread.run.requires_action",
1451
- data: _object_spread_props(_object_spread({}, run2), {
1452
- status: "requires_action",
1453
- required_action: {
1454
- type: "submit_tool_outputs",
1455
- submit_tool_outputs: {
1456
- tool_calls: message.toolCalls
1457
- }
1458
- }
1459
- })
1528
+ new Response(JSON.stringify({
1529
+ error: error
1530
+ }), {
1531
+ status: 500,
1532
+ headers: {
1533
+ "Content-Type": "application/json"
1534
+ }
1460
1535
  })
1461
1536
  ];
1537
+ case 5:
1538
+ return [
1539
+ 2
1540
+ ];
1462
1541
  }
1463
1542
  });
1464
1543
  });
1465
- return function(_) {
1544
+ return function(_url, options) {
1466
1545
  return _ref.apply(this, arguments);
1467
1546
  };
1468
1547
  }();
1469
1548
  };
1470
- // src/adapters/run/anthropicRunAdapter/index.ts
1471
- var import_lodash2 = __toESM(require("lodash"), 1);
1472
- var import_radash5 = require("radash");
1473
- var import_dayjs2 = __toESM(require("dayjs"), 1);
1474
- // src/adapters/run/anthropicRunAdapter/messages/index.ts
1475
- var import_radash4 = require("radash");
1476
- // src/adapters/run/anthropicRunAdapter/messages/serializeMessage.ts
1477
- var serializeToolCall2 = function(param) {
1478
- var toolCall = param.toolCall;
1479
- var _toolCall_function_output;
1549
+ // src/adapters/client/anthropicClientAdapter/completions/index.ts
1550
+ var completions5 = function(param) {
1551
+ var anthropic = param.anthropic;
1480
1552
  return {
1481
- role: "user",
1482
- content: [
1483
- {
1484
- type: "tool_result",
1485
- tool_use_id: toolCall.id,
1486
- content: (_toolCall_function_output = toolCall.function.output) !== null && _toolCall_function_output !== void 0 ? _toolCall_function_output : ""
1487
- }
1488
- ]
1553
+ post: post5({
1554
+ anthropic: anthropic
1555
+ })
1556
+ };
1557
+ };
1558
+ // src/adapters/client/anthropicClientAdapter/index.ts
1559
+ var anthropicClientAdapter = function(param) {
1560
+ var anthropic = param.anthropic;
1561
+ return {
1562
+ "^/v1/chat/completions$": completions5({
1563
+ anthropic: anthropic
1564
+ })
1489
1565
  };
1490
1566
  };
1491
- var serializeInputToolCall = function(param) {
1567
+ // src/adapters/run/completionsRunAdapter/index.ts
1568
+ var import_lodash = __toESM(require("lodash"), 1);
1569
+ var import_radash4 = require("radash");
1570
+ var import_dayjs = __toESM(require("dayjs"), 1);
1571
+ // src/adapters/run/completionsRunAdapter/messages/index.ts
1572
+ var import_radash3 = require("radash");
1573
+ // src/adapters/run/completionsRunAdapter/messages/serializeMessage.ts
1574
+ var serializeToolCall = function(param) {
1492
1575
  var toolCall = param.toolCall;
1576
+ var _toolCall_function_output;
1493
1577
  return {
1494
- type: "tool_use",
1495
- id: toolCall.id,
1578
+ tool_call_id: toolCall.id,
1579
+ role: "tool",
1496
1580
  name: toolCall.function.name,
1497
- input: JSON.parse(toolCall.function.arguments)
1581
+ content: (_toolCall_function_output = toolCall.function.output) !== null && _toolCall_function_output !== void 0 ? _toolCall_function_output : ""
1498
1582
  };
1499
1583
  };
1500
- var serializeMessageWithContent2 = function(param) {
1584
+ var serializeMessageWithContent = function(param) {
1501
1585
  var message = param.message;
1502
1586
  var _message_metadata;
1503
- var _message_metadata_toolCalls;
1504
- return {
1587
+ return _object_spread({
1505
1588
  role: message.role,
1506
- content: [
1507
- {
1508
- type: "text",
1509
- text: serializeContent2({
1510
- content: message.content
1511
- })
1512
- }
1513
- ].concat(// @ts-ignore-next-line
1514
- _to_consumable_array(((_message_metadata_toolCalls = message === null || message === void 0 ? void 0 : (_message_metadata = message.metadata) === null || _message_metadata === void 0 ? void 0 : _message_metadata.toolCalls) !== null && _message_metadata_toolCalls !== void 0 ? _message_metadata_toolCalls : []).map(function(toolCall) {
1515
- return serializeInputToolCall({
1516
- toolCall: toolCall
1517
- });
1518
- })))
1519
- };
1589
+ content: serializeContent({
1590
+ content: message.content
1591
+ })
1592
+ }, (message === null || message === void 0 ? void 0 : (_message_metadata = message.metadata) === null || _message_metadata === void 0 ? void 0 : _message_metadata.toolCalls) ? {
1593
+ tool_calls: message.metadata.toolCalls
1594
+ } : {});
1520
1595
  };
1521
- var serializeContent2 = function(param) {
1596
+ var serializeContent = function(param) {
1522
1597
  var content = param.content;
1523
1598
  return content.map(function(content2) {
1524
1599
  return content2.text.value;
@@ -1528,7 +1603,7 @@ var serializeMessage2 = function(param) {
1528
1603
  var message = param.message;
1529
1604
  var _message_metadata;
1530
1605
  var result = [
1531
- serializeMessageWithContent2({
1606
+ serializeMessageWithContent({
1532
1607
  message: message
1533
1608
  })
1534
1609
  ];
@@ -1548,21 +1623,27 @@ var serializeMessage2 = function(param) {
1548
1623
  if (rsTc.type !== "function") return false;
1549
1624
  return rsTc.id === tc.id;
1550
1625
  });
1551
- result.push(serializeToolCall2({
1626
+ result.push(serializeToolCall({
1552
1627
  toolCall: toolCall
1553
1628
  }));
1554
1629
  });
1555
1630
  return result;
1556
1631
  };
1557
- // src/adapters/run/anthropicRunAdapter/messages/index.ts
1558
- var messages2 = function() {
1632
+ // src/adapters/run/completionsRunAdapter/messages/index.ts
1633
+ var messages = function() {
1559
1634
  var _ref = _async_to_generator(function(param) {
1560
- var run2, getMessages2, _;
1635
+ var run2, getMessages2, _, _1, _2;
1561
1636
  return _ts_generator(this, function(_state) {
1562
1637
  switch(_state.label){
1563
1638
  case 0:
1564
1639
  run2 = param.run, getMessages2 = param.getMessages;
1565
- _ = (0, import_radash4.flat);
1640
+ _1 = (_ = _to_consumable_array(run2.instructions ? [
1641
+ {
1642
+ role: "system",
1643
+ content: run2.instructions
1644
+ }
1645
+ ] : [])).concat;
1646
+ _2 = (0, import_radash3.flat);
1566
1647
  return [
1567
1648
  4,
1568
1649
  getMessages2()
@@ -1570,69 +1651,129 @@ var messages2 = function() {
1570
1651
  case 1:
1571
1652
  return [
1572
1653
  2,
1573
- _.apply(void 0, [
1574
- _state.sent().map(function(message) {
1575
- return serializeMessage2({
1576
- message: message
1577
- });
1578
- })
1654
+ _1.apply(_, [
1655
+ _to_consumable_array.apply(void 0, [
1656
+ _2.apply(void 0, [
1657
+ _state.sent().map(function(message) {
1658
+ return serializeMessage2({
1659
+ message: message
1660
+ });
1661
+ })
1662
+ ])
1663
+ ])
1579
1664
  ])
1580
1665
  ];
1581
1666
  }
1582
1667
  });
1583
- });
1584
- return function messages2(_) {
1585
- return _ref.apply(this, arguments);
1586
- };
1587
- }();
1588
- // src/adapters/run/anthropicRunAdapter/serializeTools.ts
1589
- var serializeTools = function(param) {
1590
- var run2 = param.run;
1591
- return run2.tools.map(function(tool) {
1592
- if (tool.type === "function") {
1593
- return {
1594
- name: tool.function.name,
1595
- description: tool.function.description,
1596
- input_schema: tool.function.parameters
1597
- };
1668
+ });
1669
+ return function messages(_) {
1670
+ return _ref.apply(this, arguments);
1671
+ };
1672
+ }();
1673
+ // src/adapters/run/completionsRunAdapter/index.ts
1674
+ var updatedToolCall = function(param) {
1675
+ var toolCall = param.toolCall, delta = param.delta;
1676
+ if (!toolCall) return (0, import_radash4.omit)(delta, [
1677
+ "index"
1678
+ ]);
1679
+ var result = import_lodash.default.cloneDeep(toolCall);
1680
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
1681
+ try {
1682
+ for(var _iterator = Object.entries(delta.function)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
1683
+ var _step_value = _sliced_to_array(_step.value, 2), key = _step_value[0], value = _step_value[1];
1684
+ var _result_function_key;
1685
+ result.function[key] = "".concat((_result_function_key = result.function[key]) !== null && _result_function_key !== void 0 ? _result_function_key : "").concat(value);
1686
+ }
1687
+ } catch (err) {
1688
+ _didIteratorError = true;
1689
+ _iteratorError = err;
1690
+ } finally{
1691
+ try {
1692
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
1693
+ _iterator.return();
1694
+ }
1695
+ } finally{
1696
+ if (_didIteratorError) {
1697
+ throw _iteratorError;
1698
+ }
1699
+ }
1700
+ }
1701
+ return result;
1702
+ };
1703
+ var toolCallsData = function(param) {
1704
+ var prevToolCalls = param.prevToolCalls, delta = param.delta;
1705
+ if (!prevToolCalls) {
1706
+ return delta.tool_calls.map(function(tc) {
1707
+ return _object_spread({
1708
+ id: (0, import_radash4.uid)(24),
1709
+ type: "function"
1710
+ }, (0, import_radash4.omit)(tc, [
1711
+ "index"
1712
+ ]));
1713
+ });
1714
+ }
1715
+ var newToolCalls = import_lodash.default.cloneDeep(prevToolCalls);
1716
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
1717
+ try {
1718
+ for(var _iterator = delta.tool_calls[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
1719
+ var runStepDelta = _step.value;
1720
+ newToolCalls[runStepDelta.index] = updatedToolCall({
1721
+ toolCall: newToolCalls[runStepDelta.index],
1722
+ delta: runStepDelta
1723
+ });
1598
1724
  }
1599
- return tool;
1600
- });
1725
+ } catch (err) {
1726
+ _didIteratorError = true;
1727
+ _iteratorError = err;
1728
+ } finally{
1729
+ try {
1730
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
1731
+ _iterator.return();
1732
+ }
1733
+ } finally{
1734
+ if (_didIteratorError) {
1735
+ throw _iteratorError;
1736
+ }
1737
+ }
1738
+ }
1739
+ return newToolCalls;
1601
1740
  };
1602
- // src/adapters/run/anthropicRunAdapter/index.ts
1603
- var anthropicRunAdapter = function() {
1741
+ var completionsRunAdapter = function() {
1604
1742
  return function() {
1605
1743
  var _ref = _async_to_generator(function(param) {
1606
- var client, run2, onEvent2, getMessages2, isStream, opts, _tmp, providerResponse, e, message, toolCallsRunStep, currentContent, currentToolCalls, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, messageStreamEvent, _messageStreamEvent_delta_text, err, textContentBlock, toolUseBlocks;
1744
+ var clientAdapter, run2, onEvent2, getMessages2, client, opts, _tmp, providerResponse, e, message, toolCallsRunStep, currentContent, currentToolCalls, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, chunk, delta, _delta_content, err;
1607
1745
  return _ts_generator(this, function(_state) {
1608
1746
  switch(_state.label){
1609
1747
  case 0:
1610
- client = param.client, run2 = param.run, onEvent2 = param.onEvent, getMessages2 = param.getMessages;
1748
+ clientAdapter = param.client, run2 = param.run, onEvent2 = param.onEvent, getMessages2 = param.getMessages;
1611
1749
  if (run2.status !== "queued") return [
1612
1750
  2
1613
1751
  ];
1752
+ client = supercompat({
1753
+ client: clientAdapter,
1754
+ storage: function() {},
1755
+ // @ts-ignore-next-line
1756
+ runAdapter: {}
1757
+ });
1614
1758
  onEvent2({
1615
1759
  event: "thread.run.in_progress",
1616
1760
  data: _object_spread_props(_object_spread({}, run2), {
1617
1761
  status: "in_progress"
1618
1762
  })
1619
1763
  });
1620
- isStream = (0, import_radash5.isEmpty)(run2.tools);
1621
1764
  _tmp = {};
1622
1765
  return [
1623
1766
  4,
1624
- messages2({
1767
+ messages({
1625
1768
  run: run2,
1626
1769
  getMessages: getMessages2
1627
1770
  })
1628
1771
  ];
1629
1772
  case 1:
1630
1773
  opts = _object_spread.apply(void 0, [
1631
- (_tmp.messages = _state.sent(), _tmp.stream = isStream, _tmp.model = run2.model, _tmp),
1632
- (0, import_radash5.isEmpty)(run2.tools) ? {} : {
1633
- tools: serializeTools({
1634
- run: run2
1635
- })
1774
+ (_tmp.messages = _state.sent(), _tmp.model = run2.model, _tmp.stream = true, _tmp.response_format = run2.response_format, _tmp),
1775
+ (0, import_radash4.isEmpty)(run2.tools) ? {} : {
1776
+ tools: run2.tools
1636
1777
  }
1637
1778
  ]);
1638
1779
  _state.label = 2;
@@ -1655,13 +1796,14 @@ var anthropicRunAdapter = function() {
1655
1796
  ];
1656
1797
  case 4:
1657
1798
  e = _state.sent();
1799
+ console.log("error", e);
1658
1800
  console.error(e);
1659
1801
  return [
1660
1802
  2,
1661
1803
  onEvent2({
1662
1804
  event: "thread.run.failed",
1663
1805
  data: _object_spread_props(_object_spread({}, run2), {
1664
- failed_at: (0, import_dayjs2.default)().unix(),
1806
+ failed_at: (0, import_dayjs.default)().unix(),
1665
1807
  status: "in_progress",
1666
1808
  last_error: e.message
1667
1809
  })
@@ -1677,7 +1819,7 @@ var anthropicRunAdapter = function() {
1677
1819
  object: "thread.message",
1678
1820
  completed_at: null,
1679
1821
  run_id: run2.id,
1680
- created_at: (0, import_dayjs2.default)().unix(),
1822
+ created_at: (0, import_dayjs.default)().unix(),
1681
1823
  assistant_id: run2.assistant_id,
1682
1824
  incomplete_at: null,
1683
1825
  incomplete_details: null,
@@ -1710,8 +1852,8 @@ var anthropicRunAdapter = function() {
1710
1852
  thread_id: run2.thread_id,
1711
1853
  type: "message_creation",
1712
1854
  status: "completed",
1713
- completed_at: (0, import_dayjs2.default)().unix(),
1714
- created_at: (0, import_dayjs2.default)().unix(),
1855
+ completed_at: (0, import_dayjs.default)().unix(),
1856
+ created_at: (0, import_dayjs.default)().unix(),
1715
1857
  expired_at: null,
1716
1858
  last_error: null,
1717
1859
  metadata: {},
@@ -1727,18 +1869,14 @@ var anthropicRunAdapter = function() {
1727
1869
  }
1728
1870
  });
1729
1871
  currentContent = "";
1730
- if (!isStream) return [
1731
- 3,
1732
- 19
1733
- ];
1734
1872
  _iteratorAbruptCompletion = false, _didIteratorError = false;
1735
1873
  _state.label = 7;
1736
1874
  case 7:
1737
1875
  _state.trys.push([
1738
1876
  7,
1739
- 12,
1740
- 13,
1741
- 18
1877
+ 15,
1878
+ 16,
1879
+ 21
1742
1880
  ]);
1743
1881
  _iterator = _async_iterator(providerResponse);
1744
1882
  _state.label = 8;
@@ -1750,13 +1888,80 @@ var anthropicRunAdapter = function() {
1750
1888
  case 9:
1751
1889
  if (!(_iteratorAbruptCompletion = !(_step = _state.sent()).done)) return [
1752
1890
  3,
1753
- 11
1891
+ 14
1754
1892
  ];
1755
1893
  _value = _step.value;
1756
- messageStreamEvent = _value;
1757
- if (messageStreamEvent.type === "content_block_delta") {
1894
+ chunk = _value;
1895
+ delta = chunk.choices[0].delta;
1896
+ if (delta.content) {
1758
1897
  ;
1759
- currentContent = "".concat(currentContent).concat((_messageStreamEvent_delta_text = messageStreamEvent.delta.text) !== null && _messageStreamEvent_delta_text !== void 0 ? _messageStreamEvent_delta_text : "");
1898
+ currentContent = "".concat(currentContent).concat((_delta_content = delta.content) !== null && _delta_content !== void 0 ? _delta_content : "");
1899
+ }
1900
+ if (!delta.tool_calls) return [
1901
+ 3,
1902
+ 12
1903
+ ];
1904
+ if (!!toolCallsRunStep) return [
1905
+ 3,
1906
+ 11
1907
+ ];
1908
+ return [
1909
+ 4,
1910
+ onEvent2({
1911
+ event: "thread.run.step.created",
1912
+ data: {
1913
+ id: "THERE_IS_A_BUG_IN_SUPERCOMPAT_IF_YOU_SEE_THIS_ID",
1914
+ object: "thread.run.step",
1915
+ run_id: run2.id,
1916
+ assistant_id: run2.assistant_id,
1917
+ thread_id: run2.thread_id,
1918
+ type: "tool_calls",
1919
+ status: "in_progress",
1920
+ completed_at: null,
1921
+ created_at: (0, import_dayjs.default)().unix(),
1922
+ expired_at: null,
1923
+ last_error: null,
1924
+ metadata: {},
1925
+ failed_at: null,
1926
+ cancelled_at: null,
1927
+ usage: null,
1928
+ step_details: {
1929
+ type: "tool_calls",
1930
+ tool_calls: []
1931
+ }
1932
+ }
1933
+ })
1934
+ ];
1935
+ case 10:
1936
+ toolCallsRunStep = _state.sent();
1937
+ _state.label = 11;
1938
+ case 11:
1939
+ onEvent2({
1940
+ event: "thread.run.step.delta",
1941
+ data: {
1942
+ object: "thread.run.step.delta",
1943
+ run_id: run2.id,
1944
+ id: toolCallsRunStep.id,
1945
+ delta: {
1946
+ step_details: {
1947
+ type: "tool_calls",
1948
+ tool_calls: delta.tool_calls.map(function(tc) {
1949
+ return _object_spread({
1950
+ id: (0, import_radash4.uid)(24),
1951
+ type: "function"
1952
+ }, tc);
1953
+ })
1954
+ }
1955
+ }
1956
+ }
1957
+ });
1958
+ currentToolCalls = toolCallsData({
1959
+ prevToolCalls: currentToolCalls,
1960
+ delta: delta
1961
+ });
1962
+ _state.label = 12;
1963
+ case 12:
1964
+ if (delta.content) {
1760
1965
  onEvent2({
1761
1966
  event: "thread.message.delta",
1762
1967
  data: {
@@ -1767,8 +1972,7 @@ var anthropicRunAdapter = function() {
1767
1972
  type: "text",
1768
1973
  index: 0,
1769
1974
  text: {
1770
- // @ts-ignore-next-line
1771
- value: messageStreamEvent.delta.text
1975
+ value: delta.content
1772
1976
  }
1773
1977
  }
1774
1978
  ]
@@ -1776,119 +1980,60 @@ var anthropicRunAdapter = function() {
1776
1980
  }
1777
1981
  });
1778
1982
  }
1779
- _state.label = 10;
1780
- case 10:
1983
+ _state.label = 13;
1984
+ case 13:
1781
1985
  _iteratorAbruptCompletion = false;
1782
1986
  return [
1783
1987
  3,
1784
1988
  8
1785
1989
  ];
1786
- case 11:
1990
+ case 14:
1787
1991
  return [
1788
1992
  3,
1789
- 18
1993
+ 21
1790
1994
  ];
1791
- case 12:
1995
+ case 15:
1792
1996
  err = _state.sent();
1793
1997
  _didIteratorError = true;
1794
1998
  _iteratorError = err;
1795
1999
  return [
1796
2000
  3,
1797
- 18
2001
+ 21
1798
2002
  ];
1799
- case 13:
2003
+ case 16:
1800
2004
  _state.trys.push([
1801
- 13,
1802
- ,
1803
2005
  16,
1804
- 17
2006
+ ,
2007
+ 19,
2008
+ 20
1805
2009
  ]);
1806
2010
  if (!(_iteratorAbruptCompletion && _iterator.return != null)) return [
1807
2011
  3,
1808
- 15
2012
+ 18
1809
2013
  ];
1810
2014
  return [
1811
2015
  4,
1812
2016
  _iterator.return()
1813
2017
  ];
1814
- case 14:
2018
+ case 17:
1815
2019
  _state.sent();
1816
- _state.label = 15;
1817
- case 15:
2020
+ _state.label = 18;
2021
+ case 18:
1818
2022
  return [
1819
2023
  3,
1820
- 17
2024
+ 20
1821
2025
  ];
1822
- case 16:
2026
+ case 19:
1823
2027
  if (_didIteratorError) {
1824
2028
  throw _iteratorError;
1825
2029
  }
1826
2030
  return [
1827
2031
  7
1828
2032
  ];
1829
- case 17:
2033
+ case 20:
1830
2034
  return [
1831
2035
  7
1832
2036
  ];
1833
- case 18:
1834
- return [
1835
- 3,
1836
- 21
1837
- ];
1838
- case 19:
1839
- textContentBlock = providerResponse.content.filter(function(c) {
1840
- return c.type === "text";
1841
- })[0];
1842
- if (textContentBlock) {
1843
- currentContent = textContentBlock.text;
1844
- }
1845
- toolUseBlocks = providerResponse.content.filter(function(c) {
1846
- return c.type === "tool_use";
1847
- });
1848
- if (!!(0, import_radash5.isEmpty)(toolUseBlocks)) return [
1849
- 3,
1850
- 21
1851
- ];
1852
- currentToolCalls = toolUseBlocks.map(function(tc) {
1853
- return {
1854
- id: tc.id,
1855
- type: "function",
1856
- function: {
1857
- name: tc.name,
1858
- arguments: JSON.stringify(tc.input)
1859
- }
1860
- };
1861
- });
1862
- return [
1863
- 4,
1864
- onEvent2({
1865
- event: "thread.run.step.created",
1866
- data: {
1867
- id: "THERE_IS_A_BUG_IN_SUPERCOMPAT_IF_YOU_SEE_THIS_ID",
1868
- object: "thread.run.step",
1869
- run_id: run2.id,
1870
- assistant_id: run2.assistant_id,
1871
- thread_id: run2.thread_id,
1872
- type: "tool_calls",
1873
- status: "in_progress",
1874
- completed_at: null,
1875
- created_at: (0, import_dayjs2.default)().unix(),
1876
- expired_at: null,
1877
- last_error: null,
1878
- metadata: {},
1879
- failed_at: null,
1880
- cancelled_at: null,
1881
- usage: null,
1882
- step_details: {
1883
- type: "tool_calls",
1884
- tool_calls: currentToolCalls
1885
- }
1886
- }
1887
- })
1888
- ];
1889
- case 20:
1890
- toolCallsRunStep = _state.sent();
1891
- _state.label = 21;
1892
2037
  case 21:
1893
2038
  return [
1894
2039
  4,
@@ -1911,14 +2056,14 @@ var anthropicRunAdapter = function() {
1911
2056
  ];
1912
2057
  case 22:
1913
2058
  message = _state.sent();
1914
- if ((0, import_radash5.isEmpty)(message.toolCalls)) {
2059
+ if ((0, import_radash4.isEmpty)(message.toolCalls)) {
1915
2060
  return [
1916
2061
  2,
1917
2062
  onEvent2({
1918
2063
  event: "thread.run.completed",
1919
2064
  data: _object_spread_props(_object_spread({}, run2), {
1920
2065
  status: "completed",
1921
- completed_at: (0, import_dayjs2.default)().unix()
2066
+ completed_at: (0, import_dayjs.default)().unix()
1922
2067
  })
1923
2068
  })
1924
2069
  ];
@@ -1947,25 +2092,25 @@ var anthropicRunAdapter = function() {
1947
2092
  }();
1948
2093
  };
1949
2094
  // src/adapters/storage/prismaStorageAdapter/threads/post.ts
1950
- var import_dayjs4 = __toESM(require("dayjs"), 1);
1951
- // src/adapters/storage/prismaStorageAdapter/threads/serializeThread.ts
1952
2095
  var import_dayjs3 = __toESM(require("dayjs"), 1);
2096
+ // src/adapters/storage/prismaStorageAdapter/threads/serializeThread.ts
2097
+ var import_dayjs2 = __toESM(require("dayjs"), 1);
1953
2098
  var serializeThread = function(param) {
1954
2099
  var thread = param.thread;
1955
2100
  return {
1956
2101
  id: thread.id,
1957
2102
  object: "thread",
1958
- created_at: (0, import_dayjs3.default)(thread.createdAt).unix(),
2103
+ created_at: (0, import_dayjs2.default)(thread.createdAt).unix(),
1959
2104
  metadata: thread.metadata,
1960
2105
  // TODO
1961
2106
  tool_resources: null
1962
2107
  };
1963
2108
  };
1964
2109
  // src/adapters/storage/prismaStorageAdapter/threads/post.ts
1965
- var post3 = function(param) {
2110
+ var post6 = function(param) {
1966
2111
  var prisma = param.prisma;
1967
2112
  return /*#__PURE__*/ _async_to_generator(function() {
1968
- var _len, args, _key, body, messages4, metadata, initialCreatedAt, thread;
2113
+ var _len, args, _key, body, messages3, metadata, initialCreatedAt, thread;
1969
2114
  var _arguments = arguments;
1970
2115
  return _ts_generator(this, function(_state) {
1971
2116
  switch(_state.label){
@@ -1974,9 +2119,9 @@ var post3 = function(param) {
1974
2119
  args[_key] = _arguments[_key];
1975
2120
  }
1976
2121
  body = JSON.parse(args[1].body);
1977
- messages4 = body.messages || [];
2122
+ messages3 = body.messages || [];
1978
2123
  metadata = body.metadata || {};
1979
- initialCreatedAt = (0, import_dayjs4.default)().subtract(messages4.length, "seconds").format();
2124
+ initialCreatedAt = (0, import_dayjs3.default)().subtract(messages3.length, "seconds").format();
1980
2125
  return [
1981
2126
  4,
1982
2127
  prisma.thread.create({
@@ -1990,7 +2135,7 @@ var post3 = function(param) {
1990
2135
  }
1991
2136
  } : {}), {
1992
2137
  messages: {
1993
- create: messages4.map(function(message, index) {
2138
+ create: messages3.map(function(message, index) {
1994
2139
  return {
1995
2140
  role: message.role === "user" ? "USER" : "ASSISTANT",
1996
2141
  content: [
@@ -2004,7 +2149,7 @@ var post3 = function(param) {
2004
2149
  ],
2005
2150
  attachments: message.attachments,
2006
2151
  metadata: message.metadata,
2007
- createdAt: (0, import_dayjs4.default)(initialCreatedAt).add(index, "seconds").toDate()
2152
+ createdAt: (0, import_dayjs3.default)(initialCreatedAt).add(index, "seconds").toDate()
2008
2153
  };
2009
2154
  })
2010
2155
  }
@@ -2032,24 +2177,24 @@ var post3 = function(param) {
2032
2177
  var threads = function(param) {
2033
2178
  var prisma = param.prisma;
2034
2179
  return {
2035
- post: post3({
2180
+ post: post6({
2036
2181
  prisma: prisma
2037
2182
  })
2038
2183
  };
2039
2184
  };
2040
2185
  // src/adapters/storage/prismaStorageAdapter/threads/messages/serializeMessage.ts
2041
- var import_dayjs5 = __toESM(require("dayjs"), 1);
2042
- var import_radash6 = require("radash");
2186
+ var import_dayjs4 = __toESM(require("dayjs"), 1);
2187
+ var import_radash5 = require("radash");
2043
2188
  var serializeMessage3 = function(param) {
2044
2189
  var message = param.message;
2045
2190
  var _message_metadata;
2046
2191
  return {
2047
2192
  id: message.id,
2048
2193
  object: "thread.message",
2049
- created_at: (0, import_dayjs5.default)(message.createdAt).unix(),
2194
+ created_at: (0, import_dayjs4.default)(message.createdAt).unix(),
2050
2195
  thread_id: message.threadId,
2051
- completed_at: message.completedAt ? (0, import_dayjs5.default)(message.completedAt).unix() : null,
2052
- incomplete_at: message.incompleteAt ? (0, import_dayjs5.default)(message.incompleteAt).unix() : null,
2196
+ completed_at: message.completedAt ? (0, import_dayjs4.default)(message.completedAt).unix() : null,
2197
+ incomplete_at: message.incompleteAt ? (0, import_dayjs4.default)(message.incompleteAt).unix() : null,
2053
2198
  incomplete_details: message.incompleteDetails,
2054
2199
  role: message.role.toLowerCase(),
2055
2200
  content: message.content,
@@ -2057,7 +2202,7 @@ var serializeMessage3 = function(param) {
2057
2202
  run_id: message.runId,
2058
2203
  attachments: message.attachments,
2059
2204
  status: message.status.toLowerCase(),
2060
- metadata: (0, import_radash6.assign)((_message_metadata = message.metadata) !== null && _message_metadata !== void 0 ? _message_metadata : {}, message.toolCalls ? {
2205
+ metadata: (0, import_radash5.assign)((_message_metadata = message.metadata) !== null && _message_metadata !== void 0 ? _message_metadata : {}, message.toolCalls ? {
2061
2206
  toolCalls: message.toolCalls
2062
2207
  } : {})
2063
2208
  };
@@ -2075,7 +2220,7 @@ var messageContentBlocks = function(param) {
2075
2220
  }
2076
2221
  ];
2077
2222
  };
2078
- var post4 = function(param) {
2223
+ var post7 = function(param) {
2079
2224
  var prisma = param.prisma;
2080
2225
  return function() {
2081
2226
  var _ref = _async_to_generator(function(urlString, options) {
@@ -2121,18 +2266,18 @@ var post4 = function(param) {
2121
2266
  }();
2122
2267
  };
2123
2268
  // src/adapters/storage/prismaStorageAdapter/threads/messages/get.ts
2124
- var import_radash7 = require("radash");
2269
+ var import_radash6 = require("radash");
2125
2270
  var get = function(param) {
2126
2271
  var prisma = param.prisma;
2127
2272
  return function() {
2128
2273
  var _ref = _async_to_generator(function(urlString) {
2129
- var _this, url, _url_pathname_match, threadId, _ref, limit, order, after, messages4, _id;
2274
+ var _this, url, _url_pathname_match, threadId, _ref, limit, order, after, messages3, _id;
2130
2275
  return _ts_generator(this, function(_state) {
2131
2276
  switch(_state.label){
2132
2277
  case 0:
2133
2278
  url = new URL(urlString);
2134
2279
  _url_pathname_match = _sliced_to_array(url.pathname.match(new RegExp("^/v1/threads/([^/]+)/messages$")), 2), threadId = _url_pathname_match[1];
2135
- _ref = (0, import_radash7.assign)({
2280
+ _ref = (0, import_radash6.assign)({
2136
2281
  limit: "20",
2137
2282
  order: "desc"
2138
2283
  }, Object.fromEntries(url.searchParams)), limit = _ref.limit, order = _ref.order, after = _ref.after;
@@ -2154,20 +2299,20 @@ var get = function(param) {
2154
2299
  } : {}))
2155
2300
  ];
2156
2301
  case 1:
2157
- messages4 = _state.sent();
2302
+ messages3 = _state.sent();
2158
2303
  return [
2159
2304
  2,
2160
2305
  new Response(JSON.stringify({
2161
- data: messages4.map(function(message) {
2306
+ data: messages3.map(function(message) {
2162
2307
  return serializeMessage3({
2163
2308
  message: message
2164
2309
  });
2165
2310
  }),
2166
2311
  hasNextPage: function() {
2167
- return messages4.length === parseInt(limit);
2312
+ return messages3.length === parseInt(limit);
2168
2313
  },
2169
2314
  body: {
2170
- last_id: (_id = (_this = (0, import_radash7.last)(messages4)) === null || _this === void 0 ? void 0 : _this.id) !== null && _id !== void 0 ? _id : null
2315
+ last_id: (_id = (_this = (0, import_radash6.last)(messages3)) === null || _this === void 0 ? void 0 : _this.id) !== null && _id !== void 0 ? _id : null
2171
2316
  }
2172
2317
  }), {
2173
2318
  status: 200,
@@ -2185,10 +2330,10 @@ var get = function(param) {
2185
2330
  }();
2186
2331
  };
2187
2332
  // src/adapters/storage/prismaStorageAdapter/threads/messages/index.ts
2188
- var messages3 = function(param) {
2333
+ var messages2 = function(param) {
2189
2334
  var prisma = param.prisma;
2190
2335
  return {
2191
- post: post4({
2336
+ post: post7({
2192
2337
  prisma: prisma
2193
2338
  }),
2194
2339
  get: get({
@@ -2197,25 +2342,25 @@ var messages3 = function(param) {
2197
2342
  };
2198
2343
  };
2199
2344
  // src/adapters/storage/prismaStorageAdapter/threads/runs/get.ts
2200
- var import_radash8 = require("radash");
2345
+ var import_radash7 = require("radash");
2201
2346
  // src/adapters/storage/prismaStorageAdapter/threads/runs/serializeRun.ts
2202
- var import_dayjs6 = __toESM(require("dayjs"), 1);
2347
+ var import_dayjs5 = __toESM(require("dayjs"), 1);
2203
2348
  var serializeRun = function(param) {
2204
2349
  var run2 = param.run;
2205
2350
  return {
2206
2351
  id: run2.id,
2207
2352
  object: "thread.run",
2208
- created_at: (0, import_dayjs6.default)(run2.createdAt).unix(),
2353
+ created_at: (0, import_dayjs5.default)(run2.createdAt).unix(),
2209
2354
  thread_id: run2.threadId,
2210
2355
  assistant_id: run2.assistantId,
2211
2356
  status: run2.status.toLowerCase(),
2212
2357
  required_action: run2.requiredAction,
2213
2358
  last_error: run2.lastError,
2214
- expires_at: (0, import_dayjs6.default)(run2.expiresAt).unix(),
2215
- started_at: run2.startedAt ? (0, import_dayjs6.default)(run2.startedAt).unix() : null,
2216
- cancelled_at: run2.cancelledAt ? (0, import_dayjs6.default)(run2.cancelledAt).unix() : null,
2217
- failed_at: run2.failedAt ? (0, import_dayjs6.default)(run2.failedAt).unix() : null,
2218
- completed_at: run2.completedAt ? (0, import_dayjs6.default)(run2.completedAt).unix() : null,
2359
+ expires_at: (0, import_dayjs5.default)(run2.expiresAt).unix(),
2360
+ started_at: run2.startedAt ? (0, import_dayjs5.default)(run2.startedAt).unix() : null,
2361
+ cancelled_at: run2.cancelledAt ? (0, import_dayjs5.default)(run2.cancelledAt).unix() : null,
2362
+ failed_at: run2.failedAt ? (0, import_dayjs5.default)(run2.failedAt).unix() : null,
2363
+ completed_at: run2.completedAt ? (0, import_dayjs5.default)(run2.completedAt).unix() : null,
2219
2364
  model: run2.model,
2220
2365
  instructions: run2.instructions,
2221
2366
  tools: run2.tools,
@@ -2246,7 +2391,7 @@ var get2 = function(param) {
2246
2391
  case 0:
2247
2392
  url = new URL(urlString);
2248
2393
  _url_pathname_match = _sliced_to_array(url.pathname.match(new RegExp("^/v1/threads/([^/]+)/runs$")), 2), threadId = _url_pathname_match[1];
2249
- _ref = (0, import_radash8.assign)({
2394
+ _ref = (0, import_radash7.assign)({
2250
2395
  limit: "20",
2251
2396
  order: "desc"
2252
2397
  }, Object.fromEntries(url.searchParams)), limit = _ref.limit, order = _ref.order, after = _ref.after;
@@ -2282,7 +2427,7 @@ var get2 = function(param) {
2282
2427
  },
2283
2428
  body: {
2284
2429
  // @ts-ignore-next-line
2285
- last_id: (_id = (_this = (0, import_radash8.last)(runs2)) === null || _this === void 0 ? void 0 : _this.id) !== null && _id !== void 0 ? _id : null
2430
+ last_id: (_id = (_this = (0, import_radash7.last)(runs2)) === null || _this === void 0 ? void 0 : _this.id) !== null && _id !== void 0 ? _id : null
2286
2431
  }
2287
2432
  }), {
2288
2433
  status: 200,
@@ -2300,8 +2445,8 @@ var get2 = function(param) {
2300
2445
  }();
2301
2446
  };
2302
2447
  // src/adapters/storage/prismaStorageAdapter/threads/runs/post.ts
2303
- var import_dayjs8 = __toESM(require("dayjs"), 1);
2304
- var import_radash9 = require("radash");
2448
+ var import_dayjs7 = __toESM(require("dayjs"), 1);
2449
+ var import_radash8 = require("radash");
2305
2450
  // src/adapters/storage/prismaStorageAdapter/threads/runs/onEvent/handlers/threadRunInProgress.ts
2306
2451
  var threadRunInProgress = function(param) {
2307
2452
  var prisma = param.prisma, event = param.event, controller = param.controller;
@@ -2359,13 +2504,13 @@ var threadRunRequiresAction = function(param) {
2359
2504
  });
2360
2505
  };
2361
2506
  // src/adapters/storage/prismaStorageAdapter/threads/runs/steps/serializeRunStep.ts
2362
- var import_dayjs7 = __toESM(require("dayjs"), 1);
2507
+ var import_dayjs6 = __toESM(require("dayjs"), 1);
2363
2508
  var serializeRunStep = function(param) {
2364
2509
  var runStep = param.runStep;
2365
2510
  return {
2366
2511
  id: runStep.id,
2367
2512
  object: "thread.run.step",
2368
- created_at: (0, import_dayjs7.default)(runStep.createdAt).unix(),
2513
+ created_at: (0, import_dayjs6.default)(runStep.createdAt).unix(),
2369
2514
  assistant_id: runStep.assistantId,
2370
2515
  thread_id: runStep.threadId,
2371
2516
  run_id: runStep.runId,
@@ -2374,10 +2519,10 @@ var serializeRunStep = function(param) {
2374
2519
  // @ts-ignore-next-line
2375
2520
  step_details: runStep.stepDetails,
2376
2521
  last_error: runStep.lastError,
2377
- expired_at: runStep.expiredAt ? (0, import_dayjs7.default)(runStep.expiredAt).unix() : null,
2378
- cancelled_at: runStep.cancelledAt ? (0, import_dayjs7.default)(runStep.cancelledAt).unix() : null,
2379
- failed_at: runStep.failedAt ? (0, import_dayjs7.default)(runStep.failedAt).unix() : null,
2380
- completed_at: runStep.completedAt ? (0, import_dayjs7.default)(runStep.completedAt).unix() : null,
2522
+ expired_at: runStep.expiredAt ? (0, import_dayjs6.default)(runStep.expiredAt).unix() : null,
2523
+ cancelled_at: runStep.cancelledAt ? (0, import_dayjs6.default)(runStep.cancelledAt).unix() : null,
2524
+ failed_at: runStep.failedAt ? (0, import_dayjs6.default)(runStep.failedAt).unix() : null,
2525
+ completed_at: runStep.completedAt ? (0, import_dayjs6.default)(runStep.completedAt).unix() : null,
2381
2526
  metadata: runStep.metadata,
2382
2527
  usage: runStep.usage
2383
2528
  };
@@ -2607,7 +2752,7 @@ var getTake = function(param) {
2607
2752
  var getMessages = function(param) {
2608
2753
  var prisma = param.prisma, run2 = param.run;
2609
2754
  return /*#__PURE__*/ _async_to_generator(function() {
2610
- var take, messages4;
2755
+ var take, messages3;
2611
2756
  return _ts_generator(this, function(_state) {
2612
2757
  switch(_state.label){
2613
2758
  case 0:
@@ -2635,10 +2780,10 @@ var getMessages = function(param) {
2635
2780
  } : {}))
2636
2781
  ];
2637
2782
  case 1:
2638
- messages4 = _state.sent();
2783
+ messages3 = _state.sent();
2639
2784
  return [
2640
2785
  2,
2641
- messages4.map(function(message) {
2786
+ messages3.map(function(message) {
2642
2787
  return _object_spread_props(_object_spread({}, serializeMessage3({
2643
2788
  message: message
2644
2789
  })), {
@@ -2659,7 +2804,7 @@ var getMessages = function(param) {
2659
2804
  });
2660
2805
  };
2661
2806
  // src/adapters/storage/prismaStorageAdapter/threads/runs/post.ts
2662
- var post5 = function(param) {
2807
+ var post8 = function(param) {
2663
2808
  var prisma = param.prisma, runAdapter = param.runAdapter;
2664
2809
  return function() {
2665
2810
  var _ref = _async_to_generator(function(urlString, options) {
@@ -2685,7 +2830,7 @@ var post5 = function(param) {
2685
2830
  if (!assistant) {
2686
2831
  throw new Error("Assistant not found");
2687
2832
  }
2688
- _ref = (0, import_radash9.assign)({
2833
+ _ref = (0, import_radash8.assign)({
2689
2834
  model: assistant.modelSlug,
2690
2835
  instructions: "",
2691
2836
  additional_instructions: null,
@@ -2701,7 +2846,7 @@ var post5 = function(param) {
2701
2846
  prisma.run.create({
2702
2847
  data: {
2703
2848
  status: "QUEUED",
2704
- expiresAt: (0, import_dayjs8.default)().add(1, "hour").unix(),
2849
+ expiresAt: (0, import_dayjs7.default)().add(1, "hour").unix(),
2705
2850
  model: model,
2706
2851
  instructions: instructions,
2707
2852
  tools: tools,
@@ -2799,7 +2944,7 @@ var runs = function(param) {
2799
2944
  get: get2({
2800
2945
  prisma: prisma
2801
2946
  }),
2802
- post: post5({
2947
+ post: post8({
2803
2948
  prisma: prisma,
2804
2949
  runAdapter: runAdapter
2805
2950
  })
@@ -2857,7 +3002,7 @@ var run = function(param) {
2857
3002
  };
2858
3003
  };
2859
3004
  // src/adapters/storage/prismaStorageAdapter/threads/runs/steps/get.ts
2860
- var import_radash10 = require("radash");
3005
+ var import_radash9 = require("radash");
2861
3006
  var get4 = function(param) {
2862
3007
  var prisma = param.prisma;
2863
3008
  return function() {
@@ -2868,7 +3013,7 @@ var get4 = function(param) {
2868
3013
  case 0:
2869
3014
  url = new URL(urlString);
2870
3015
  _url_pathname_match = _sliced_to_array(url.pathname.match(new RegExp("^/v1/threads/([^/]+)/runs/([^/]+)/steps$")), 4), threadId = _url_pathname_match[1], runId = _url_pathname_match[3];
2871
- _ref = (0, import_radash10.assign)({
3016
+ _ref = (0, import_radash9.assign)({
2872
3017
  limit: "20",
2873
3018
  order: "desc"
2874
3019
  }, Object.fromEntries(url.searchParams)), limit = _ref.limit, order = _ref.order, after = _ref.after;
@@ -2905,7 +3050,7 @@ var get4 = function(param) {
2905
3050
  },
2906
3051
  body: {
2907
3052
  // @ts-ignore-next-line
2908
- last_id: (_id = (_this = (0, import_radash10.last)(runSteps)) === null || _this === void 0 ? void 0 : _this.id) !== null && _id !== void 0 ? _id : null
3053
+ last_id: (_id = (_this = (0, import_radash9.last)(runSteps)) === null || _this === void 0 ? void 0 : _this.id) !== null && _id !== void 0 ? _id : null
2909
3054
  }
2910
3055
  }), {
2911
3056
  status: 200,
@@ -2932,7 +3077,7 @@ var steps = function(param) {
2932
3077
  };
2933
3078
  };
2934
3079
  // src/adapters/storage/prismaStorageAdapter/threads/runs/submitToolOutputs/post/updateRun.ts
2935
- var import_dayjs9 = __toESM(require("dayjs"), 1);
3080
+ var import_dayjs8 = __toESM(require("dayjs"), 1);
2936
3081
  var updateRun = function() {
2937
3082
  var _ref = _async_to_generator(function(param) {
2938
3083
  var prisma, runId, threadId, _param_onThreadRunStepCompleted, onThreadRunStepCompleted, tool_outputs;
@@ -2985,7 +3130,7 @@ var updateRun = function() {
2985
3130
  },
2986
3131
  data: {
2987
3132
  status: "COMPLETED",
2988
- completedAt: (0, import_dayjs9.default)().unix(),
3133
+ completedAt: (0, import_dayjs8.default)().unix(),
2989
3134
  stepDetails: {
2990
3135
  type: "tool_calls",
2991
3136
  // @ts-ignore-next-line
@@ -3100,7 +3245,7 @@ var updateRun = function() {
3100
3245
  };
3101
3246
  }();
3102
3247
  // src/adapters/storage/prismaStorageAdapter/threads/runs/submitToolOutputs/post/index.ts
3103
- var post6 = function(param) {
3248
+ var post9 = function(param) {
3104
3249
  var prisma = param.prisma, runAdapter = param.runAdapter;
3105
3250
  return function() {
3106
3251
  var _ref = _async_to_generator(function(urlString, options) {
@@ -3275,7 +3420,7 @@ var post6 = function(param) {
3275
3420
  var submitToolOutputs = function(param) {
3276
3421
  var prisma = param.prisma, runAdapter = param.runAdapter;
3277
3422
  return {
3278
- post: post6({
3423
+ post: post9({
3279
3424
  prisma: prisma,
3280
3425
  // @ts-ignore-next-line
3281
3426
  runAdapter: runAdapter
@@ -3291,7 +3436,7 @@ var prismaStorageAdapter = function(param) {
3291
3436
  "^/v1/threads$": threads({
3292
3437
  prisma: prisma
3293
3438
  }),
3294
- "^/v1/threads/([^/]+)/messages$": messages3({
3439
+ "^/v1/threads/([^/]+)/messages$": messages2({
3295
3440
  prisma: prisma
3296
3441
  }),
3297
3442
  "^/v1/threads/([^/]+)/runs$": runs({
@@ -3315,7 +3460,6 @@ var prismaStorageAdapter = function(param) {
3315
3460
  // Annotate the CommonJS export names for ESM import in node:
3316
3461
  0 && (module.exports = {
3317
3462
  anthropicClientAdapter: anthropicClientAdapter,
3318
- anthropicRunAdapter: anthropicRunAdapter,
3319
3463
  completionsRunAdapter: completionsRunAdapter,
3320
3464
  groqClientAdapter: groqClientAdapter,
3321
3465
  mistralClientAdapter: mistralClientAdapter,