supercompat 2.0.0 → 2.2.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
  },
@@ -388,11 +381,11 @@ var import_openai = __toESM(require("openai"), 1);
388
381
  var import_radash = require("radash");
389
382
  var requestHandlers = function(param) {
390
383
  var client = param.client, storage = param.storage, runAdapter = param.runAdapter;
391
- return (0, import_radash.assign)(client, storage({
384
+ return (0, import_radash.assign)(client.requestHandlers, storage && runAdapter ? storage({
392
385
  runAdapter: (0, import_radash.partob)(runAdapter, {
393
386
  client: client
394
387
  })
395
- }));
388
+ }).routeHandlers : {});
396
389
  };
397
390
  // src/supercompatFetch/findRequestHandler.ts
398
391
  var findRequestHandler = function(param) {
@@ -405,6 +398,21 @@ var findRequestHandler = function(param) {
405
398
  }
406
399
  }
407
400
  };
401
+ // src/supercompatFetch/originalFetch.ts
402
+ var originalFetch = function(param) {
403
+ var args = param.args, client = param.client;
404
+ if (client.client) {
405
+ var _args = _sliced_to_array(args, 2), url = _args[0], options = _args[1];
406
+ var headers = _object_spread_props(_object_spread({}, options.headers), {
407
+ authorization: client.client.defaultHeaders().Authorization
408
+ });
409
+ return client.client.fetch(url, _object_spread_props(_object_spread({}, options), {
410
+ headers: headers
411
+ }));
412
+ } else {
413
+ return fetch.apply(void 0, _to_consumable_array(args));
414
+ }
415
+ };
408
416
  // src/supercompatFetch/index.ts
409
417
  var supercompatFetch = function(param) {
410
418
  var client = param.client, storage = param.storage, runAdapter = param.runAdapter;
@@ -413,24 +421,43 @@ var supercompatFetch = function(param) {
413
421
  storage: storage,
414
422
  runAdapter: runAdapter
415
423
  });
416
- return function() {
417
- for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
418
- args[_key] = arguments[_key];
419
- }
420
- var _args = _sliced_to_array(args, 2), url = _args[0], options = _args[1];
421
- var pathHandler = findRequestHandler({
422
- url: url,
423
- requestHandlers: requestHandlers2
424
+ return /*#__PURE__*/ _async_to_generator(function() {
425
+ var _len, args, _key, _args, url, options, pathHandler, requestHandler;
426
+ var _arguments = arguments;
427
+ return _ts_generator(this, function(_state) {
428
+ for(_len = _arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
429
+ args[_key] = _arguments[_key];
430
+ }
431
+ _args = _sliced_to_array(args, 2), url = _args[0], options = _args[1];
432
+ pathHandler = findRequestHandler({
433
+ url: url,
434
+ requestHandlers: requestHandlers2
435
+ });
436
+ if (!pathHandler) {
437
+ return [
438
+ 2,
439
+ originalFetch({
440
+ client: client,
441
+ args: args
442
+ })
443
+ ];
444
+ }
445
+ requestHandler = pathHandler[options === null || options === void 0 ? void 0 : options.method];
446
+ if (!requestHandler) {
447
+ return [
448
+ 2,
449
+ originalFetch({
450
+ client: client,
451
+ args: args
452
+ })
453
+ ];
454
+ }
455
+ return [
456
+ 2,
457
+ requestHandler.apply(void 0, _to_consumable_array(args))
458
+ ];
424
459
  });
425
- if (!pathHandler) {
426
- return fetch.apply(void 0, _to_consumable_array(args));
427
- }
428
- var requestHandler = pathHandler[options === null || options === void 0 ? void 0 : options.method];
429
- if (!requestHandler) {
430
- return fetch.apply(void 0, _to_consumable_array(args));
431
- }
432
- return requestHandler.apply(void 0, _to_consumable_array(args));
433
- };
460
+ });
434
461
  };
435
462
  // src/supercompat.ts
436
463
  var supercompat = function(param) {
@@ -593,11 +620,6 @@ var post = function(param) {
593
620
  ];
594
621
  case 4:
595
622
  error = _state.sent();
596
- console.dir({
597
- error: error
598
- }, {
599
- depth: null
600
- });
601
623
  return [
602
624
  2,
603
625
  new Response(JSON.stringify({
@@ -634,9 +656,12 @@ var completions = function(param) {
634
656
  var groqClientAdapter = function(param) {
635
657
  var groq = param.groq;
636
658
  return {
637
- "^/v1/chat/completions$": completions({
638
- groq: groq
639
- })
659
+ client: groq,
660
+ routeHandlers: {
661
+ "^/v1/chat/completions$": completions({
662
+ groq: groq
663
+ })
664
+ }
640
665
  };
641
666
  };
642
667
  // src/adapters/client/openaiClientAdapter/completions/post.ts
@@ -788,11 +813,6 @@ var post2 = function(param) {
788
813
  ];
789
814
  case 4:
790
815
  error = _state.sent();
791
- console.dir({
792
- error: error
793
- }, {
794
- depth: null
795
- });
796
816
  return [
797
817
  2,
798
818
  new Response(JSON.stringify({
@@ -829,8 +849,192 @@ var completions2 = function(param) {
829
849
  var openaiClientAdapter = function(param) {
830
850
  var openai = param.openai;
831
851
  return {
832
- "^/v1/chat/completions$": completions2({
833
- openai: openai
852
+ client: openai,
853
+ requestHandlers: {
854
+ "^/v1/chat/completions$": completions2({
855
+ openai: openai
856
+ })
857
+ }
858
+ };
859
+ };
860
+ // src/adapters/client/mistralClientAdapter/completions/post.ts
861
+ var post3 = function(param) {
862
+ var mistral = param.mistral;
863
+ return function() {
864
+ var _ref = _async_to_generator(function(_url, options) {
865
+ var body, response, stream, data, error;
866
+ return _ts_generator(this, function(_state) {
867
+ switch(_state.label){
868
+ case 0:
869
+ body = JSON.parse(options.body);
870
+ if (!body.stream) return [
871
+ 3,
872
+ 2
873
+ ];
874
+ return [
875
+ 4,
876
+ mistral.chatStream(body)
877
+ ];
878
+ case 1:
879
+ response = _state.sent();
880
+ stream = new ReadableStream({
881
+ start: function start(controller) {
882
+ return _async_to_generator(function() {
883
+ var _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, chunk, err;
884
+ return _ts_generator(this, function(_state) {
885
+ switch(_state.label){
886
+ case 0:
887
+ _iteratorAbruptCompletion = false, _didIteratorError = false;
888
+ _state.label = 1;
889
+ case 1:
890
+ _state.trys.push([
891
+ 1,
892
+ 6,
893
+ 7,
894
+ 12
895
+ ]);
896
+ _iterator = _async_iterator(response);
897
+ _state.label = 2;
898
+ case 2:
899
+ return [
900
+ 4,
901
+ _iterator.next()
902
+ ];
903
+ case 3:
904
+ if (!(_iteratorAbruptCompletion = !(_step = _state.sent()).done)) return [
905
+ 3,
906
+ 5
907
+ ];
908
+ _value = _step.value;
909
+ chunk = _value;
910
+ controller.enqueue("data: ".concat(JSON.stringify(chunk), "\n\n"));
911
+ _state.label = 4;
912
+ case 4:
913
+ _iteratorAbruptCompletion = false;
914
+ return [
915
+ 3,
916
+ 2
917
+ ];
918
+ case 5:
919
+ return [
920
+ 3,
921
+ 12
922
+ ];
923
+ case 6:
924
+ err = _state.sent();
925
+ _didIteratorError = true;
926
+ _iteratorError = err;
927
+ return [
928
+ 3,
929
+ 12
930
+ ];
931
+ case 7:
932
+ _state.trys.push([
933
+ 7,
934
+ ,
935
+ 10,
936
+ 11
937
+ ]);
938
+ if (!(_iteratorAbruptCompletion && _iterator.return != null)) return [
939
+ 3,
940
+ 9
941
+ ];
942
+ return [
943
+ 4,
944
+ _iterator.return()
945
+ ];
946
+ case 8:
947
+ _state.sent();
948
+ _state.label = 9;
949
+ case 9:
950
+ return [
951
+ 3,
952
+ 11
953
+ ];
954
+ case 10:
955
+ if (_didIteratorError) {
956
+ throw _iteratorError;
957
+ }
958
+ return [
959
+ 7
960
+ ];
961
+ case 11:
962
+ return [
963
+ 7
964
+ ];
965
+ case 12:
966
+ controller.close();
967
+ return [
968
+ 2
969
+ ];
970
+ }
971
+ });
972
+ })();
973
+ }
974
+ });
975
+ return [
976
+ 2,
977
+ new Response(stream, {
978
+ headers: {
979
+ "Content-Type": "text/event-stream"
980
+ }
981
+ })
982
+ ];
983
+ case 2:
984
+ _state.trys.push([
985
+ 2,
986
+ 4,
987
+ ,
988
+ 5
989
+ ]);
990
+ return [
991
+ 4,
992
+ mistral.chat(body)
993
+ ];
994
+ case 3:
995
+ data = _state.sent();
996
+ return [
997
+ 2,
998
+ new Response(JSON.stringify({
999
+ data: data
1000
+ }), {
1001
+ status: 200,
1002
+ headers: {
1003
+ "Content-Type": "application/json"
1004
+ }
1005
+ })
1006
+ ];
1007
+ case 4:
1008
+ error = _state.sent();
1009
+ return [
1010
+ 2,
1011
+ new Response(JSON.stringify({
1012
+ error: error
1013
+ }), {
1014
+ status: 500,
1015
+ headers: {
1016
+ "Content-Type": "application/json"
1017
+ }
1018
+ })
1019
+ ];
1020
+ case 5:
1021
+ return [
1022
+ 2
1023
+ ];
1024
+ }
1025
+ });
1026
+ });
1027
+ return function(_url, options) {
1028
+ return _ref.apply(this, arguments);
1029
+ };
1030
+ }();
1031
+ };
1032
+ // src/adapters/client/mistralClientAdapter/completions/index.ts
1033
+ var completions3 = function(param) {
1034
+ var mistral = param.mistral;
1035
+ return {
1036
+ post: post3({
1037
+ mistral: mistral
834
1038
  })
835
1039
  };
836
1040
  };
@@ -838,687 +1042,607 @@ var openaiClientAdapter = function(param) {
838
1042
  var mistralClientAdapter = function(param) {
839
1043
  var mistral = param.mistral;
840
1044
  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
- }
1045
+ client: mistral,
1046
+ routeHandlers: {
1047
+ "^/v1/chat/completions$": completions3({
1048
+ mistral: mistral
1049
+ })
852
1050
  }
853
1051
  };
854
1052
  };
855
- // src/adapters/client/perplexityClientAdapter/index.ts
1053
+ // src/adapters/client/perplexityClientAdapter/completions/post.ts
856
1054
  var agentSideRoles = [
857
1055
  "assistant",
858
1056
  "system"
859
1057
  ];
860
- var perplexityClientAdapter = function(param) {
1058
+ var post4 = function(param) {
861
1059
  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: "-"
1060
+ return function() {
1061
+ var _ref = _async_to_generator(function(_url, options) {
1062
+ var body, messages3, response, stream, data, error;
1063
+ return _ts_generator(this, function(_state) {
1064
+ switch(_state.label){
1065
+ case 0:
1066
+ body = JSON.parse(options.body);
1067
+ messages3 = [];
1068
+ body.messages.forEach(function(message, index) {
1069
+ messages3.push(message);
1070
+ var nextMessage = body.messages[index + 1];
1071
+ if (!nextMessage) return;
1072
+ if (message.role === "user" && nextMessage.role === "user") {
1073
+ messages3.push({
1074
+ role: "assistant",
1075
+ content: ""
1076
+ });
1077
+ } else if (agentSideRoles.includes(message.role) && agentSideRoles.includes(nextMessage.role)) {
1078
+ messages3.push({
1079
+ role: "user",
1080
+ content: ""
1081
+ });
1082
+ }
914
1083
  });
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 [
1084
+ if (!body.stream) return [
1085
+ 3,
1126
1086
  2
1127
1087
  ];
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
1088
  return [
1142
1089
  4,
1143
- messages({
1144
- run: run2,
1145
- getMessages: getMessages2
1146
- })
1090
+ perplexity.chat.completions.create(body)
1147
1091
  ];
1148
1092
  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
1093
+ response = _state.sent();
1094
+ stream = new ReadableStream({
1095
+ start: function start(controller) {
1096
+ return _async_to_generator(function() {
1097
+ var _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, chunk, err;
1098
+ return _ts_generator(this, function(_state) {
1099
+ switch(_state.label){
1100
+ case 0:
1101
+ _iteratorAbruptCompletion = false, _didIteratorError = false;
1102
+ _state.label = 1;
1103
+ case 1:
1104
+ _state.trys.push([
1105
+ 1,
1106
+ 6,
1107
+ 7,
1108
+ 12
1109
+ ]);
1110
+ _iterator = _async_iterator(response);
1111
+ _state.label = 2;
1112
+ case 2:
1113
+ return [
1114
+ 4,
1115
+ _iterator.next()
1116
+ ];
1117
+ case 3:
1118
+ if (!(_iteratorAbruptCompletion = !(_step = _state.sent()).done)) return [
1119
+ 3,
1120
+ 5
1121
+ ];
1122
+ _value = _step.value;
1123
+ chunk = _value;
1124
+ controller.enqueue("data: ".concat(JSON.stringify(chunk), "\n\n"));
1125
+ _state.label = 4;
1126
+ case 4:
1127
+ _iteratorAbruptCompletion = false;
1128
+ return [
1129
+ 3,
1130
+ 2
1131
+ ];
1132
+ case 5:
1133
+ return [
1134
+ 3,
1135
+ 12
1136
+ ];
1137
+ case 6:
1138
+ err = _state.sent();
1139
+ _didIteratorError = true;
1140
+ _iteratorError = err;
1141
+ return [
1142
+ 3,
1143
+ 12
1144
+ ];
1145
+ case 7:
1146
+ _state.trys.push([
1147
+ 7,
1148
+ ,
1149
+ 10,
1150
+ 11
1151
+ ]);
1152
+ if (!(_iteratorAbruptCompletion && _iterator.return != null)) return [
1153
+ 3,
1154
+ 9
1155
+ ];
1156
+ return [
1157
+ 4,
1158
+ _iterator.return()
1159
+ ];
1160
+ case 8:
1161
+ _state.sent();
1162
+ _state.label = 9;
1163
+ case 9:
1164
+ return [
1165
+ 3,
1166
+ 11
1167
+ ];
1168
+ case 10:
1169
+ if (_didIteratorError) {
1170
+ throw _iteratorError;
1171
+ }
1172
+ return [
1173
+ 7
1174
+ ];
1175
+ case 11:
1176
+ return [
1177
+ 7
1178
+ ];
1179
+ case 12:
1180
+ controller.close();
1181
+ return [
1182
+ 2
1183
+ ];
1184
+ }
1185
+ });
1186
+ })();
1153
1187
  }
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);
1188
+ });
1177
1189
  return [
1178
1190
  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"
1212
- }
1213
- ],
1214
- role: "assistant",
1215
- status: "in_progress"
1191
+ new Response(stream, {
1192
+ headers: {
1193
+ "Content-Type": "text/event-stream"
1216
1194
  }
1217
1195
  })
1218
1196
  ];
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
- }
1245
- }
1246
- });
1247
- currentContent = "";
1248
- _iteratorAbruptCompletion = false, _didIteratorError = false;
1249
- _state.label = 7;
1250
- case 7:
1251
- _state.trys.push([
1252
- 7,
1253
- 15,
1254
- 16,
1255
- 21
1197
+ case 2:
1198
+ _state.trys.push([
1199
+ 2,
1200
+ 4,
1201
+ ,
1202
+ 5
1256
1203
  ]);
1257
- _iterator = _async_iterator(providerResponse);
1258
- _state.label = 8;
1259
- case 8:
1260
1204
  return [
1261
1205
  4,
1262
- _iterator.next()
1206
+ perplexity.chat.completions.create(body)
1263
1207
  ];
1264
- case 9:
1265
- if (!(_iteratorAbruptCompletion = !(_step = _state.sent()).done)) return [
1266
- 3,
1267
- 14
1208
+ case 3:
1209
+ data = _state.sent();
1210
+ return [
1211
+ 2,
1212
+ new Response(JSON.stringify({
1213
+ data: data
1214
+ }), {
1215
+ status: 200,
1216
+ headers: {
1217
+ "Content-Type": "application/json"
1218
+ }
1219
+ })
1268
1220
  ];
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
1221
+ case 4:
1222
+ error = _state.sent();
1223
+ return [
1224
+ 2,
1225
+ new Response(JSON.stringify({
1226
+ error: error
1227
+ }), {
1228
+ status: 500,
1229
+ headers: {
1230
+ "Content-Type": "application/json"
1231
+ }
1232
+ })
1279
1233
  ];
1280
- if (!!toolCallsRunStep) return [
1234
+ case 5:
1235
+ return [
1236
+ 2
1237
+ ];
1238
+ }
1239
+ });
1240
+ });
1241
+ return function(_url, options) {
1242
+ return _ref.apply(this, arguments);
1243
+ };
1244
+ }();
1245
+ };
1246
+ // src/adapters/client/perplexityClientAdapter/completions/index.ts
1247
+ var completions4 = function(param) {
1248
+ var perplexity = param.perplexity;
1249
+ return {
1250
+ post: post4({
1251
+ perplexity: perplexity
1252
+ })
1253
+ };
1254
+ };
1255
+ // src/adapters/client/perplexityClientAdapter/index.ts
1256
+ var perplexityClientAdapter = function(param) {
1257
+ var perplexity = param.perplexity;
1258
+ return {
1259
+ client: perplexity,
1260
+ routeHandlers: {
1261
+ "^/v1/chat/completions$": completions4({
1262
+ perplexity: perplexity
1263
+ })
1264
+ }
1265
+ };
1266
+ };
1267
+ // src/adapters/client/anthropicClientAdapter/completions/post.ts
1268
+ var import_radash2 = require("radash");
1269
+ // src/adapters/client/anthropicClientAdapter/completions/serializeTools.ts
1270
+ var serializeTools = function(param) {
1271
+ var tools = param.tools;
1272
+ return tools.map(function(tool) {
1273
+ if (tool.type === "function") {
1274
+ return {
1275
+ name: tool.function.name,
1276
+ description: tool.function.description,
1277
+ input_schema: tool.function.parameters
1278
+ };
1279
+ }
1280
+ return tool;
1281
+ });
1282
+ };
1283
+ // src/adapters/client/anthropicClientAdapter/completions/serializeMessages/serializeMessage.ts
1284
+ var serializeMessage = function(param) {
1285
+ var message = param.message;
1286
+ if (message.role === "user") {
1287
+ return {
1288
+ role: "user",
1289
+ content: message.content
1290
+ };
1291
+ } else if (message.role === "assistant") {
1292
+ var _message_tool_calls;
1293
+ return {
1294
+ role: "assistant",
1295
+ content: [
1296
+ {
1297
+ type: "text",
1298
+ text: message.content
1299
+ }
1300
+ ].concat(_to_consumable_array(((_message_tool_calls = message.tool_calls) !== null && _message_tool_calls !== void 0 ? _message_tool_calls : []).map(function(toolCall) {
1301
+ return {
1302
+ type: "tool_use",
1303
+ id: toolCall.id,
1304
+ name: toolCall.function.name,
1305
+ input: JSON.parse(toolCall.function.arguments)
1306
+ };
1307
+ })))
1308
+ };
1309
+ } else if (message.role === "tool") {
1310
+ return {
1311
+ role: "user",
1312
+ content: [
1313
+ {
1314
+ type: "tool_result",
1315
+ tool_use_id: message.tool_call_id,
1316
+ content: message.content
1317
+ }
1318
+ ]
1319
+ };
1320
+ }
1321
+ };
1322
+ // src/adapters/client/anthropicClientAdapter/completions/serializeMessages/index.ts
1323
+ var serializeMessages = function(param) {
1324
+ var messages3 = param.messages;
1325
+ return messages3.map(function(message) {
1326
+ return serializeMessage({
1327
+ message: message
1328
+ });
1329
+ });
1330
+ };
1331
+ // src/adapters/client/anthropicClientAdapter/completions/post.ts
1332
+ var post5 = function(param) {
1333
+ var anthropic = param.anthropic;
1334
+ return function() {
1335
+ var _ref = _async_to_generator(function(_url, options) {
1336
+ var body, messages3, _ref, systemMessages, otherMessages, system, resultOptions, response, stream, data, error;
1337
+ return _ts_generator(this, function(_state) {
1338
+ switch(_state.label){
1339
+ case 0:
1340
+ body = JSON.parse(options.body);
1341
+ messages3 = body.messages;
1342
+ _ref = _sliced_to_array((0, import_radash2.fork)(messages3, function(message) {
1343
+ return message.role === "system";
1344
+ }), 2), systemMessages = _ref[0], otherMessages = _ref[1];
1345
+ system = systemMessages.map(function(message) {
1346
+ return message.content;
1347
+ }).join("\n");
1348
+ if (otherMessages[0] && otherMessages[0].role != "user") {
1349
+ otherMessages.unshift({
1350
+ role: "user",
1351
+ content: "-"
1352
+ });
1353
+ }
1354
+ resultOptions = _object_spread_props(_object_spread({}, (0, import_radash2.omit)(body, [
1355
+ "response_format"
1356
+ ])), {
1357
+ stream: body.stream ? (0, import_radash2.isEmpty)(body.tools) : false,
1358
+ system: system,
1359
+ messages: serializeMessages({
1360
+ messages: otherMessages
1361
+ }),
1362
+ max_tokens: 4096,
1363
+ tools: serializeTools({
1364
+ tools: body.tools
1365
+ })
1366
+ });
1367
+ if (!body.stream) return [
1281
1368
  3,
1282
- 11
1369
+ 2
1283
1370
  ];
1284
1371
  return [
1285
1372
  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
- })
1373
+ anthropic.messages.stream(resultOptions)
1310
1374
  ];
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
- }
1375
+ case 1:
1376
+ response = _state.sent();
1377
+ stream = new ReadableStream({
1378
+ start: function start(controller) {
1379
+ return _async_to_generator(function() {
1380
+ var _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, chunk, delta, messageDelta, delta1, messageDelta1, messageDelta2, err;
1381
+ return _ts_generator(this, function(_state) {
1382
+ switch(_state.label){
1383
+ case 0:
1384
+ _iteratorAbruptCompletion = false, _didIteratorError = false;
1385
+ _state.label = 1;
1386
+ case 1:
1387
+ _state.trys.push([
1388
+ 1,
1389
+ 6,
1390
+ 7,
1391
+ 12
1392
+ ]);
1393
+ _iterator = _async_iterator(response);
1394
+ _state.label = 2;
1395
+ case 2:
1396
+ return [
1397
+ 4,
1398
+ _iterator.next()
1399
+ ];
1400
+ case 3:
1401
+ if (!(_iteratorAbruptCompletion = !(_step = _state.sent()).done)) return [
1402
+ 3,
1403
+ 5
1404
+ ];
1405
+ _value = _step.value;
1406
+ chunk = _value;
1407
+ if (chunk.type === "content_block_delta") {
1408
+ delta = chunk.delta.type === "input_json_delta" ? {
1409
+ tool_calls: [
1410
+ {
1411
+ index: 0,
1412
+ function: {
1413
+ arguments: chunk.delta.partial_json
1414
+ }
1415
+ }
1416
+ ]
1417
+ } : {
1418
+ content: chunk.delta.text
1419
+ };
1420
+ messageDelta = {
1421
+ id: "chatcmpl-".concat((0, import_radash2.uid)(29)),
1422
+ object: "chat.completion.chunk",
1423
+ choices: [
1424
+ {
1425
+ index: chunk.index,
1426
+ delta: delta
1427
+ }
1428
+ ]
1429
+ };
1430
+ controller.enqueue("data: ".concat(JSON.stringify(messageDelta), "\n\n"));
1431
+ } else if (chunk.type === "content_block_start") {
1432
+ delta1 = chunk.content_block.type === "tool_use" ? {
1433
+ content: null,
1434
+ tool_calls: [
1435
+ {
1436
+ index: 0,
1437
+ id: chunk.content_block.id,
1438
+ type: "function",
1439
+ function: {
1440
+ name: chunk.content_block.name,
1441
+ arguments: ""
1442
+ }
1443
+ }
1444
+ ]
1445
+ } : {
1446
+ content: chunk.content_block.text
1447
+ };
1448
+ messageDelta1 = {
1449
+ id: "chatcmpl-".concat((0, import_radash2.uid)(29)),
1450
+ object: "chat.completion.chunk",
1451
+ choices: [
1452
+ {
1453
+ index: chunk.index,
1454
+ delta: delta1
1455
+ }
1456
+ ]
1457
+ };
1458
+ controller.enqueue("data: ".concat(JSON.stringify(messageDelta1), "\n\n"));
1459
+ } else if (chunk.type === "message_start") {
1460
+ messageDelta2 = {
1461
+ id: "chatcmpl-".concat((0, import_radash2.uid)(29)),
1462
+ object: "chat.completion.chunk",
1463
+ choices: [
1464
+ {
1465
+ index: 0,
1466
+ delta: {
1467
+ content: ""
1468
+ }
1469
+ }
1470
+ ]
1471
+ };
1472
+ controller.enqueue("data: ".concat(JSON.stringify(messageDelta2), "\n\n"));
1473
+ }
1474
+ _state.label = 4;
1475
+ case 4:
1476
+ _iteratorAbruptCompletion = false;
1477
+ return [
1478
+ 3,
1479
+ 2
1480
+ ];
1481
+ case 5:
1482
+ return [
1483
+ 3,
1484
+ 12
1485
+ ];
1486
+ case 6:
1487
+ err = _state.sent();
1488
+ _didIteratorError = true;
1489
+ _iteratorError = err;
1490
+ return [
1491
+ 3,
1492
+ 12
1493
+ ];
1494
+ case 7:
1495
+ _state.trys.push([
1496
+ 7,
1497
+ ,
1498
+ 10,
1499
+ 11
1500
+ ]);
1501
+ if (!(_iteratorAbruptCompletion && _iterator.return != null)) return [
1502
+ 3,
1503
+ 9
1504
+ ];
1505
+ return [
1506
+ 4,
1507
+ _iterator.return()
1508
+ ];
1509
+ case 8:
1510
+ _state.sent();
1511
+ _state.label = 9;
1512
+ case 9:
1513
+ return [
1514
+ 3,
1515
+ 11
1516
+ ];
1517
+ case 10:
1518
+ if (_didIteratorError) {
1519
+ throw _iteratorError;
1520
+ }
1521
+ return [
1522
+ 7
1523
+ ];
1524
+ case 11:
1525
+ return [
1526
+ 7
1527
+ ];
1528
+ case 12:
1529
+ controller.close();
1530
+ return [
1531
+ 2
1532
+ ];
1533
+ }
1534
+ });
1535
+ })();
1332
1536
  }
1333
1537
  });
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
1538
  return [
1376
- 3,
1377
- 21
1539
+ 2,
1540
+ new Response(stream, {
1541
+ headers: {
1542
+ "Content-Type": "text/event-stream"
1543
+ }
1544
+ })
1378
1545
  ];
1379
- case 16:
1546
+ case 2:
1380
1547
  _state.trys.push([
1381
- 16,
1548
+ 2,
1549
+ 4,
1382
1550
  ,
1383
- 19,
1384
- 20
1551
+ 5
1385
1552
  ]);
1386
- if (!(_iteratorAbruptCompletion && _iterator.return != null)) return [
1387
- 3,
1388
- 18
1389
- ];
1390
1553
  return [
1391
1554
  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
1555
+ anthropic.messages.create(resultOptions)
1408
1556
  ];
1409
- case 20:
1410
- return [
1411
- 7
1412
- ];
1413
- case 21:
1557
+ case 3:
1558
+ data = _state.sent();
1414
1559
  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
- })
1560
+ 2,
1561
+ new Response(JSON.stringify({
1562
+ data: data
1563
+ }), {
1564
+ status: 200,
1565
+ headers: {
1566
+ "Content-Type": "application/json"
1567
+ }
1431
1568
  })
1432
1569
  ];
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
- }
1570
+ case 4:
1571
+ error = _state.sent();
1447
1572
  return [
1448
1573
  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
- })
1574
+ new Response(JSON.stringify({
1575
+ error: error
1576
+ }), {
1577
+ status: 500,
1578
+ headers: {
1579
+ "Content-Type": "application/json"
1580
+ }
1460
1581
  })
1461
1582
  ];
1583
+ case 5:
1584
+ return [
1585
+ 2
1586
+ ];
1462
1587
  }
1463
1588
  });
1464
1589
  });
1465
- return function(_) {
1590
+ return function(_url, options) {
1466
1591
  return _ref.apply(this, arguments);
1467
1592
  };
1468
1593
  }();
1469
1594
  };
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;
1595
+ // src/adapters/client/anthropicClientAdapter/completions/index.ts
1596
+ var completions5 = function(param) {
1597
+ var anthropic = param.anthropic;
1480
1598
  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
- ]
1599
+ post: post5({
1600
+ anthropic: anthropic
1601
+ })
1602
+ };
1603
+ };
1604
+ // src/adapters/client/anthropicClientAdapter/index.ts
1605
+ var anthropicClientAdapter = function(param) {
1606
+ var anthropic = param.anthropic;
1607
+ return {
1608
+ client: anthropic,
1609
+ routeHandlers: {
1610
+ "^/v1/chat/completions$": completions5({
1611
+ anthropic: anthropic
1612
+ })
1613
+ }
1489
1614
  };
1490
1615
  };
1491
- var serializeInputToolCall = function(param) {
1616
+ // src/adapters/run/completionsRunAdapter/index.ts
1617
+ var import_lodash = __toESM(require("lodash"), 1);
1618
+ var import_radash4 = require("radash");
1619
+ var import_dayjs = __toESM(require("dayjs"), 1);
1620
+ // src/adapters/run/completionsRunAdapter/messages/index.ts
1621
+ var import_radash3 = require("radash");
1622
+ // src/adapters/run/completionsRunAdapter/messages/serializeMessage.ts
1623
+ var serializeToolCall = function(param) {
1492
1624
  var toolCall = param.toolCall;
1625
+ var _toolCall_function_output;
1493
1626
  return {
1494
- type: "tool_use",
1495
- id: toolCall.id,
1627
+ tool_call_id: toolCall.id,
1628
+ role: "tool",
1496
1629
  name: toolCall.function.name,
1497
- input: JSON.parse(toolCall.function.arguments)
1630
+ content: (_toolCall_function_output = toolCall.function.output) !== null && _toolCall_function_output !== void 0 ? _toolCall_function_output : ""
1498
1631
  };
1499
1632
  };
1500
- var serializeMessageWithContent2 = function(param) {
1633
+ var serializeMessageWithContent = function(param) {
1501
1634
  var message = param.message;
1502
1635
  var _message_metadata;
1503
- var _message_metadata_toolCalls;
1504
- return {
1636
+ return _object_spread({
1505
1637
  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
- };
1638
+ content: serializeContent({
1639
+ content: message.content
1640
+ })
1641
+ }, (message === null || message === void 0 ? void 0 : (_message_metadata = message.metadata) === null || _message_metadata === void 0 ? void 0 : _message_metadata.toolCalls) ? {
1642
+ tool_calls: message.metadata.toolCalls
1643
+ } : {});
1520
1644
  };
1521
- var serializeContent2 = function(param) {
1645
+ var serializeContent = function(param) {
1522
1646
  var content = param.content;
1523
1647
  return content.map(function(content2) {
1524
1648
  return content2.text.value;
@@ -1528,7 +1652,7 @@ var serializeMessage2 = function(param) {
1528
1652
  var message = param.message;
1529
1653
  var _message_metadata;
1530
1654
  var result = [
1531
- serializeMessageWithContent2({
1655
+ serializeMessageWithContent({
1532
1656
  message: message
1533
1657
  })
1534
1658
  ];
@@ -1548,21 +1672,27 @@ var serializeMessage2 = function(param) {
1548
1672
  if (rsTc.type !== "function") return false;
1549
1673
  return rsTc.id === tc.id;
1550
1674
  });
1551
- result.push(serializeToolCall2({
1675
+ result.push(serializeToolCall({
1552
1676
  toolCall: toolCall
1553
1677
  }));
1554
1678
  });
1555
1679
  return result;
1556
1680
  };
1557
- // src/adapters/run/anthropicRunAdapter/messages/index.ts
1558
- var messages2 = function() {
1681
+ // src/adapters/run/completionsRunAdapter/messages/index.ts
1682
+ var messages = function() {
1559
1683
  var _ref = _async_to_generator(function(param) {
1560
- var run2, getMessages2, _;
1684
+ var run2, getMessages2, _, _1, _2;
1561
1685
  return _ts_generator(this, function(_state) {
1562
1686
  switch(_state.label){
1563
1687
  case 0:
1564
1688
  run2 = param.run, getMessages2 = param.getMessages;
1565
- _ = (0, import_radash4.flat);
1689
+ _1 = (_ = _to_consumable_array(run2.instructions ? [
1690
+ {
1691
+ role: "system",
1692
+ content: run2.instructions
1693
+ }
1694
+ ] : [])).concat;
1695
+ _2 = (0, import_radash3.flat);
1566
1696
  return [
1567
1697
  4,
1568
1698
  getMessages2()
@@ -1570,69 +1700,129 @@ var messages2 = function() {
1570
1700
  case 1:
1571
1701
  return [
1572
1702
  2,
1573
- _.apply(void 0, [
1574
- _state.sent().map(function(message) {
1575
- return serializeMessage2({
1576
- message: message
1577
- });
1578
- })
1703
+ _1.apply(_, [
1704
+ _to_consumable_array.apply(void 0, [
1705
+ _2.apply(void 0, [
1706
+ _state.sent().map(function(message) {
1707
+ return serializeMessage2({
1708
+ message: message
1709
+ });
1710
+ })
1711
+ ])
1712
+ ])
1579
1713
  ])
1580
1714
  ];
1581
1715
  }
1582
1716
  });
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
- };
1717
+ });
1718
+ return function messages(_) {
1719
+ return _ref.apply(this, arguments);
1720
+ };
1721
+ }();
1722
+ // src/adapters/run/completionsRunAdapter/index.ts
1723
+ var updatedToolCall = function(param) {
1724
+ var toolCall = param.toolCall, delta = param.delta;
1725
+ if (!toolCall) return (0, import_radash4.omit)(delta, [
1726
+ "index"
1727
+ ]);
1728
+ var result = import_lodash.default.cloneDeep(toolCall);
1729
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
1730
+ try {
1731
+ for(var _iterator = Object.entries(delta.function)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
1732
+ var _step_value = _sliced_to_array(_step.value, 2), key = _step_value[0], value = _step_value[1];
1733
+ var _result_function_key;
1734
+ result.function[key] = "".concat((_result_function_key = result.function[key]) !== null && _result_function_key !== void 0 ? _result_function_key : "").concat(value);
1735
+ }
1736
+ } catch (err) {
1737
+ _didIteratorError = true;
1738
+ _iteratorError = err;
1739
+ } finally{
1740
+ try {
1741
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
1742
+ _iterator.return();
1743
+ }
1744
+ } finally{
1745
+ if (_didIteratorError) {
1746
+ throw _iteratorError;
1747
+ }
1748
+ }
1749
+ }
1750
+ return result;
1751
+ };
1752
+ var toolCallsData = function(param) {
1753
+ var prevToolCalls = param.prevToolCalls, delta = param.delta;
1754
+ if (!prevToolCalls) {
1755
+ return delta.tool_calls.map(function(tc) {
1756
+ return _object_spread({
1757
+ id: (0, import_radash4.uid)(24),
1758
+ type: "function"
1759
+ }, (0, import_radash4.omit)(tc, [
1760
+ "index"
1761
+ ]));
1762
+ });
1763
+ }
1764
+ var newToolCalls = import_lodash.default.cloneDeep(prevToolCalls);
1765
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
1766
+ try {
1767
+ for(var _iterator = delta.tool_calls[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
1768
+ var runStepDelta = _step.value;
1769
+ newToolCalls[runStepDelta.index] = updatedToolCall({
1770
+ toolCall: newToolCalls[runStepDelta.index],
1771
+ delta: runStepDelta
1772
+ });
1598
1773
  }
1599
- return tool;
1600
- });
1774
+ } catch (err) {
1775
+ _didIteratorError = true;
1776
+ _iteratorError = err;
1777
+ } finally{
1778
+ try {
1779
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
1780
+ _iterator.return();
1781
+ }
1782
+ } finally{
1783
+ if (_didIteratorError) {
1784
+ throw _iteratorError;
1785
+ }
1786
+ }
1787
+ }
1788
+ return newToolCalls;
1601
1789
  };
1602
- // src/adapters/run/anthropicRunAdapter/index.ts
1603
- var anthropicRunAdapter = function() {
1790
+ var completionsRunAdapter = function() {
1604
1791
  return function() {
1605
1792
  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;
1793
+ 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
1794
  return _ts_generator(this, function(_state) {
1608
1795
  switch(_state.label){
1609
1796
  case 0:
1610
- client = param.client, run2 = param.run, onEvent2 = param.onEvent, getMessages2 = param.getMessages;
1797
+ clientAdapter = param.client, run2 = param.run, onEvent2 = param.onEvent, getMessages2 = param.getMessages;
1611
1798
  if (run2.status !== "queued") return [
1612
1799
  2
1613
1800
  ];
1801
+ client = supercompat({
1802
+ client: clientAdapter,
1803
+ storage: function() {},
1804
+ // @ts-ignore-next-line
1805
+ runAdapter: {}
1806
+ });
1614
1807
  onEvent2({
1615
1808
  event: "thread.run.in_progress",
1616
1809
  data: _object_spread_props(_object_spread({}, run2), {
1617
1810
  status: "in_progress"
1618
1811
  })
1619
1812
  });
1620
- isStream = (0, import_radash5.isEmpty)(run2.tools);
1621
1813
  _tmp = {};
1622
1814
  return [
1623
1815
  4,
1624
- messages2({
1816
+ messages({
1625
1817
  run: run2,
1626
1818
  getMessages: getMessages2
1627
1819
  })
1628
1820
  ];
1629
1821
  case 1:
1630
1822
  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
- })
1823
+ (_tmp.messages = _state.sent(), _tmp.model = run2.model, _tmp.stream = true, _tmp.response_format = run2.response_format, _tmp),
1824
+ (0, import_radash4.isEmpty)(run2.tools) ? {} : {
1825
+ tools: run2.tools
1636
1826
  }
1637
1827
  ]);
1638
1828
  _state.label = 2;
@@ -1655,13 +1845,14 @@ var anthropicRunAdapter = function() {
1655
1845
  ];
1656
1846
  case 4:
1657
1847
  e = _state.sent();
1848
+ console.log("error", e);
1658
1849
  console.error(e);
1659
1850
  return [
1660
1851
  2,
1661
1852
  onEvent2({
1662
1853
  event: "thread.run.failed",
1663
1854
  data: _object_spread_props(_object_spread({}, run2), {
1664
- failed_at: (0, import_dayjs2.default)().unix(),
1855
+ failed_at: (0, import_dayjs.default)().unix(),
1665
1856
  status: "in_progress",
1666
1857
  last_error: e.message
1667
1858
  })
@@ -1677,7 +1868,7 @@ var anthropicRunAdapter = function() {
1677
1868
  object: "thread.message",
1678
1869
  completed_at: null,
1679
1870
  run_id: run2.id,
1680
- created_at: (0, import_dayjs2.default)().unix(),
1871
+ created_at: (0, import_dayjs.default)().unix(),
1681
1872
  assistant_id: run2.assistant_id,
1682
1873
  incomplete_at: null,
1683
1874
  incomplete_details: null,
@@ -1710,8 +1901,8 @@ var anthropicRunAdapter = function() {
1710
1901
  thread_id: run2.thread_id,
1711
1902
  type: "message_creation",
1712
1903
  status: "completed",
1713
- completed_at: (0, import_dayjs2.default)().unix(),
1714
- created_at: (0, import_dayjs2.default)().unix(),
1904
+ completed_at: (0, import_dayjs.default)().unix(),
1905
+ created_at: (0, import_dayjs.default)().unix(),
1715
1906
  expired_at: null,
1716
1907
  last_error: null,
1717
1908
  metadata: {},
@@ -1727,18 +1918,14 @@ var anthropicRunAdapter = function() {
1727
1918
  }
1728
1919
  });
1729
1920
  currentContent = "";
1730
- if (!isStream) return [
1731
- 3,
1732
- 19
1733
- ];
1734
1921
  _iteratorAbruptCompletion = false, _didIteratorError = false;
1735
1922
  _state.label = 7;
1736
1923
  case 7:
1737
1924
  _state.trys.push([
1738
1925
  7,
1739
- 12,
1740
- 13,
1741
- 18
1926
+ 15,
1927
+ 16,
1928
+ 21
1742
1929
  ]);
1743
1930
  _iterator = _async_iterator(providerResponse);
1744
1931
  _state.label = 8;
@@ -1750,13 +1937,80 @@ var anthropicRunAdapter = function() {
1750
1937
  case 9:
1751
1938
  if (!(_iteratorAbruptCompletion = !(_step = _state.sent()).done)) return [
1752
1939
  3,
1753
- 11
1940
+ 14
1754
1941
  ];
1755
1942
  _value = _step.value;
1756
- messageStreamEvent = _value;
1757
- if (messageStreamEvent.type === "content_block_delta") {
1943
+ chunk = _value;
1944
+ delta = chunk.choices[0].delta;
1945
+ if (delta.content) {
1758
1946
  ;
1759
- currentContent = "".concat(currentContent).concat((_messageStreamEvent_delta_text = messageStreamEvent.delta.text) !== null && _messageStreamEvent_delta_text !== void 0 ? _messageStreamEvent_delta_text : "");
1947
+ currentContent = "".concat(currentContent).concat((_delta_content = delta.content) !== null && _delta_content !== void 0 ? _delta_content : "");
1948
+ }
1949
+ if (!delta.tool_calls) return [
1950
+ 3,
1951
+ 12
1952
+ ];
1953
+ if (!!toolCallsRunStep) return [
1954
+ 3,
1955
+ 11
1956
+ ];
1957
+ return [
1958
+ 4,
1959
+ onEvent2({
1960
+ event: "thread.run.step.created",
1961
+ data: {
1962
+ id: "THERE_IS_A_BUG_IN_SUPERCOMPAT_IF_YOU_SEE_THIS_ID",
1963
+ object: "thread.run.step",
1964
+ run_id: run2.id,
1965
+ assistant_id: run2.assistant_id,
1966
+ thread_id: run2.thread_id,
1967
+ type: "tool_calls",
1968
+ status: "in_progress",
1969
+ completed_at: null,
1970
+ created_at: (0, import_dayjs.default)().unix(),
1971
+ expired_at: null,
1972
+ last_error: null,
1973
+ metadata: {},
1974
+ failed_at: null,
1975
+ cancelled_at: null,
1976
+ usage: null,
1977
+ step_details: {
1978
+ type: "tool_calls",
1979
+ tool_calls: []
1980
+ }
1981
+ }
1982
+ })
1983
+ ];
1984
+ case 10:
1985
+ toolCallsRunStep = _state.sent();
1986
+ _state.label = 11;
1987
+ case 11:
1988
+ onEvent2({
1989
+ event: "thread.run.step.delta",
1990
+ data: {
1991
+ object: "thread.run.step.delta",
1992
+ run_id: run2.id,
1993
+ id: toolCallsRunStep.id,
1994
+ delta: {
1995
+ step_details: {
1996
+ type: "tool_calls",
1997
+ tool_calls: delta.tool_calls.map(function(tc) {
1998
+ return _object_spread({
1999
+ id: (0, import_radash4.uid)(24),
2000
+ type: "function"
2001
+ }, tc);
2002
+ })
2003
+ }
2004
+ }
2005
+ }
2006
+ });
2007
+ currentToolCalls = toolCallsData({
2008
+ prevToolCalls: currentToolCalls,
2009
+ delta: delta
2010
+ });
2011
+ _state.label = 12;
2012
+ case 12:
2013
+ if (delta.content) {
1760
2014
  onEvent2({
1761
2015
  event: "thread.message.delta",
1762
2016
  data: {
@@ -1767,8 +2021,7 @@ var anthropicRunAdapter = function() {
1767
2021
  type: "text",
1768
2022
  index: 0,
1769
2023
  text: {
1770
- // @ts-ignore-next-line
1771
- value: messageStreamEvent.delta.text
2024
+ value: delta.content
1772
2025
  }
1773
2026
  }
1774
2027
  ]
@@ -1776,119 +2029,60 @@ var anthropicRunAdapter = function() {
1776
2029
  }
1777
2030
  });
1778
2031
  }
1779
- _state.label = 10;
1780
- case 10:
2032
+ _state.label = 13;
2033
+ case 13:
1781
2034
  _iteratorAbruptCompletion = false;
1782
2035
  return [
1783
2036
  3,
1784
2037
  8
1785
2038
  ];
1786
- case 11:
2039
+ case 14:
1787
2040
  return [
1788
2041
  3,
1789
- 18
2042
+ 21
1790
2043
  ];
1791
- case 12:
2044
+ case 15:
1792
2045
  err = _state.sent();
1793
2046
  _didIteratorError = true;
1794
2047
  _iteratorError = err;
1795
2048
  return [
1796
2049
  3,
1797
- 18
2050
+ 21
1798
2051
  ];
1799
- case 13:
2052
+ case 16:
1800
2053
  _state.trys.push([
1801
- 13,
1802
- ,
1803
2054
  16,
1804
- 17
2055
+ ,
2056
+ 19,
2057
+ 20
1805
2058
  ]);
1806
2059
  if (!(_iteratorAbruptCompletion && _iterator.return != null)) return [
1807
2060
  3,
1808
- 15
2061
+ 18
1809
2062
  ];
1810
2063
  return [
1811
2064
  4,
1812
2065
  _iterator.return()
1813
2066
  ];
1814
- case 14:
2067
+ case 17:
1815
2068
  _state.sent();
1816
- _state.label = 15;
1817
- case 15:
2069
+ _state.label = 18;
2070
+ case 18:
1818
2071
  return [
1819
2072
  3,
1820
- 17
2073
+ 20
1821
2074
  ];
1822
- case 16:
2075
+ case 19:
1823
2076
  if (_didIteratorError) {
1824
2077
  throw _iteratorError;
1825
2078
  }
1826
2079
  return [
1827
2080
  7
1828
2081
  ];
1829
- case 17:
2082
+ case 20:
1830
2083
  return [
1831
2084
  7
1832
2085
  ];
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
2086
  case 21:
1893
2087
  return [
1894
2088
  4,
@@ -1911,14 +2105,14 @@ var anthropicRunAdapter = function() {
1911
2105
  ];
1912
2106
  case 22:
1913
2107
  message = _state.sent();
1914
- if ((0, import_radash5.isEmpty)(message.toolCalls)) {
2108
+ if ((0, import_radash4.isEmpty)(message.toolCalls)) {
1915
2109
  return [
1916
2110
  2,
1917
2111
  onEvent2({
1918
2112
  event: "thread.run.completed",
1919
2113
  data: _object_spread_props(_object_spread({}, run2), {
1920
2114
  status: "completed",
1921
- completed_at: (0, import_dayjs2.default)().unix()
2115
+ completed_at: (0, import_dayjs.default)().unix()
1922
2116
  })
1923
2117
  })
1924
2118
  ];
@@ -1947,25 +2141,25 @@ var anthropicRunAdapter = function() {
1947
2141
  }();
1948
2142
  };
1949
2143
  // src/adapters/storage/prismaStorageAdapter/threads/post.ts
1950
- var import_dayjs4 = __toESM(require("dayjs"), 1);
1951
- // src/adapters/storage/prismaStorageAdapter/threads/serializeThread.ts
1952
2144
  var import_dayjs3 = __toESM(require("dayjs"), 1);
2145
+ // src/adapters/storage/prismaStorageAdapter/threads/serializeThread.ts
2146
+ var import_dayjs2 = __toESM(require("dayjs"), 1);
1953
2147
  var serializeThread = function(param) {
1954
2148
  var thread = param.thread;
1955
2149
  return {
1956
2150
  id: thread.id,
1957
2151
  object: "thread",
1958
- created_at: (0, import_dayjs3.default)(thread.createdAt).unix(),
2152
+ created_at: (0, import_dayjs2.default)(thread.createdAt).unix(),
1959
2153
  metadata: thread.metadata,
1960
2154
  // TODO
1961
2155
  tool_resources: null
1962
2156
  };
1963
2157
  };
1964
2158
  // src/adapters/storage/prismaStorageAdapter/threads/post.ts
1965
- var post3 = function(param) {
2159
+ var post6 = function(param) {
1966
2160
  var prisma = param.prisma;
1967
2161
  return /*#__PURE__*/ _async_to_generator(function() {
1968
- var _len, args, _key, body, messages4, metadata, initialCreatedAt, thread;
2162
+ var _len, args, _key, body, messages3, metadata, initialCreatedAt, thread;
1969
2163
  var _arguments = arguments;
1970
2164
  return _ts_generator(this, function(_state) {
1971
2165
  switch(_state.label){
@@ -1974,9 +2168,9 @@ var post3 = function(param) {
1974
2168
  args[_key] = _arguments[_key];
1975
2169
  }
1976
2170
  body = JSON.parse(args[1].body);
1977
- messages4 = body.messages || [];
2171
+ messages3 = body.messages || [];
1978
2172
  metadata = body.metadata || {};
1979
- initialCreatedAt = (0, import_dayjs4.default)().subtract(messages4.length, "seconds").format();
2173
+ initialCreatedAt = (0, import_dayjs3.default)().subtract(messages3.length, "seconds").format();
1980
2174
  return [
1981
2175
  4,
1982
2176
  prisma.thread.create({
@@ -1990,7 +2184,7 @@ var post3 = function(param) {
1990
2184
  }
1991
2185
  } : {}), {
1992
2186
  messages: {
1993
- create: messages4.map(function(message, index) {
2187
+ create: messages3.map(function(message, index) {
1994
2188
  return {
1995
2189
  role: message.role === "user" ? "USER" : "ASSISTANT",
1996
2190
  content: [
@@ -2004,7 +2198,7 @@ var post3 = function(param) {
2004
2198
  ],
2005
2199
  attachments: message.attachments,
2006
2200
  metadata: message.metadata,
2007
- createdAt: (0, import_dayjs4.default)(initialCreatedAt).add(index, "seconds").toDate()
2201
+ createdAt: (0, import_dayjs3.default)(initialCreatedAt).add(index, "seconds").toDate()
2008
2202
  };
2009
2203
  })
2010
2204
  }
@@ -2032,24 +2226,24 @@ var post3 = function(param) {
2032
2226
  var threads = function(param) {
2033
2227
  var prisma = param.prisma;
2034
2228
  return {
2035
- post: post3({
2229
+ post: post6({
2036
2230
  prisma: prisma
2037
2231
  })
2038
2232
  };
2039
2233
  };
2040
2234
  // src/adapters/storage/prismaStorageAdapter/threads/messages/serializeMessage.ts
2041
- var import_dayjs5 = __toESM(require("dayjs"), 1);
2042
- var import_radash6 = require("radash");
2235
+ var import_dayjs4 = __toESM(require("dayjs"), 1);
2236
+ var import_radash5 = require("radash");
2043
2237
  var serializeMessage3 = function(param) {
2044
2238
  var message = param.message;
2045
2239
  var _message_metadata;
2046
2240
  return {
2047
2241
  id: message.id,
2048
2242
  object: "thread.message",
2049
- created_at: (0, import_dayjs5.default)(message.createdAt).unix(),
2243
+ created_at: (0, import_dayjs4.default)(message.createdAt).unix(),
2050
2244
  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,
2245
+ completed_at: message.completedAt ? (0, import_dayjs4.default)(message.completedAt).unix() : null,
2246
+ incomplete_at: message.incompleteAt ? (0, import_dayjs4.default)(message.incompleteAt).unix() : null,
2053
2247
  incomplete_details: message.incompleteDetails,
2054
2248
  role: message.role.toLowerCase(),
2055
2249
  content: message.content,
@@ -2057,7 +2251,7 @@ var serializeMessage3 = function(param) {
2057
2251
  run_id: message.runId,
2058
2252
  attachments: message.attachments,
2059
2253
  status: message.status.toLowerCase(),
2060
- metadata: (0, import_radash6.assign)((_message_metadata = message.metadata) !== null && _message_metadata !== void 0 ? _message_metadata : {}, message.toolCalls ? {
2254
+ metadata: (0, import_radash5.assign)((_message_metadata = message.metadata) !== null && _message_metadata !== void 0 ? _message_metadata : {}, message.toolCalls ? {
2061
2255
  toolCalls: message.toolCalls
2062
2256
  } : {})
2063
2257
  };
@@ -2075,7 +2269,7 @@ var messageContentBlocks = function(param) {
2075
2269
  }
2076
2270
  ];
2077
2271
  };
2078
- var post4 = function(param) {
2272
+ var post7 = function(param) {
2079
2273
  var prisma = param.prisma;
2080
2274
  return function() {
2081
2275
  var _ref = _async_to_generator(function(urlString, options) {
@@ -2121,18 +2315,18 @@ var post4 = function(param) {
2121
2315
  }();
2122
2316
  };
2123
2317
  // src/adapters/storage/prismaStorageAdapter/threads/messages/get.ts
2124
- var import_radash7 = require("radash");
2318
+ var import_radash6 = require("radash");
2125
2319
  var get = function(param) {
2126
2320
  var prisma = param.prisma;
2127
2321
  return function() {
2128
2322
  var _ref = _async_to_generator(function(urlString) {
2129
- var _this, url, _url_pathname_match, threadId, _ref, limit, order, after, messages4, _id;
2323
+ var _this, url, _url_pathname_match, threadId, _ref, limit, order, after, messages3, _id;
2130
2324
  return _ts_generator(this, function(_state) {
2131
2325
  switch(_state.label){
2132
2326
  case 0:
2133
2327
  url = new URL(urlString);
2134
2328
  _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)({
2329
+ _ref = (0, import_radash6.assign)({
2136
2330
  limit: "20",
2137
2331
  order: "desc"
2138
2332
  }, Object.fromEntries(url.searchParams)), limit = _ref.limit, order = _ref.order, after = _ref.after;
@@ -2154,20 +2348,20 @@ var get = function(param) {
2154
2348
  } : {}))
2155
2349
  ];
2156
2350
  case 1:
2157
- messages4 = _state.sent();
2351
+ messages3 = _state.sent();
2158
2352
  return [
2159
2353
  2,
2160
2354
  new Response(JSON.stringify({
2161
- data: messages4.map(function(message) {
2355
+ data: messages3.map(function(message) {
2162
2356
  return serializeMessage3({
2163
2357
  message: message
2164
2358
  });
2165
2359
  }),
2166
2360
  hasNextPage: function() {
2167
- return messages4.length === parseInt(limit);
2361
+ return messages3.length === parseInt(limit);
2168
2362
  },
2169
2363
  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
2364
+ last_id: (_id = (_this = (0, import_radash6.last)(messages3)) === null || _this === void 0 ? void 0 : _this.id) !== null && _id !== void 0 ? _id : null
2171
2365
  }
2172
2366
  }), {
2173
2367
  status: 200,
@@ -2185,10 +2379,10 @@ var get = function(param) {
2185
2379
  }();
2186
2380
  };
2187
2381
  // src/adapters/storage/prismaStorageAdapter/threads/messages/index.ts
2188
- var messages3 = function(param) {
2382
+ var messages2 = function(param) {
2189
2383
  var prisma = param.prisma;
2190
2384
  return {
2191
- post: post4({
2385
+ post: post7({
2192
2386
  prisma: prisma
2193
2387
  }),
2194
2388
  get: get({
@@ -2197,25 +2391,25 @@ var messages3 = function(param) {
2197
2391
  };
2198
2392
  };
2199
2393
  // src/adapters/storage/prismaStorageAdapter/threads/runs/get.ts
2200
- var import_radash8 = require("radash");
2394
+ var import_radash7 = require("radash");
2201
2395
  // src/adapters/storage/prismaStorageAdapter/threads/runs/serializeRun.ts
2202
- var import_dayjs6 = __toESM(require("dayjs"), 1);
2396
+ var import_dayjs5 = __toESM(require("dayjs"), 1);
2203
2397
  var serializeRun = function(param) {
2204
2398
  var run2 = param.run;
2205
2399
  return {
2206
2400
  id: run2.id,
2207
2401
  object: "thread.run",
2208
- created_at: (0, import_dayjs6.default)(run2.createdAt).unix(),
2402
+ created_at: (0, import_dayjs5.default)(run2.createdAt).unix(),
2209
2403
  thread_id: run2.threadId,
2210
2404
  assistant_id: run2.assistantId,
2211
2405
  status: run2.status.toLowerCase(),
2212
2406
  required_action: run2.requiredAction,
2213
2407
  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,
2408
+ expires_at: (0, import_dayjs5.default)(run2.expiresAt).unix(),
2409
+ started_at: run2.startedAt ? (0, import_dayjs5.default)(run2.startedAt).unix() : null,
2410
+ cancelled_at: run2.cancelledAt ? (0, import_dayjs5.default)(run2.cancelledAt).unix() : null,
2411
+ failed_at: run2.failedAt ? (0, import_dayjs5.default)(run2.failedAt).unix() : null,
2412
+ completed_at: run2.completedAt ? (0, import_dayjs5.default)(run2.completedAt).unix() : null,
2219
2413
  model: run2.model,
2220
2414
  instructions: run2.instructions,
2221
2415
  tools: run2.tools,
@@ -2246,7 +2440,7 @@ var get2 = function(param) {
2246
2440
  case 0:
2247
2441
  url = new URL(urlString);
2248
2442
  _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)({
2443
+ _ref = (0, import_radash7.assign)({
2250
2444
  limit: "20",
2251
2445
  order: "desc"
2252
2446
  }, Object.fromEntries(url.searchParams)), limit = _ref.limit, order = _ref.order, after = _ref.after;
@@ -2282,7 +2476,7 @@ var get2 = function(param) {
2282
2476
  },
2283
2477
  body: {
2284
2478
  // @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
2479
+ last_id: (_id = (_this = (0, import_radash7.last)(runs2)) === null || _this === void 0 ? void 0 : _this.id) !== null && _id !== void 0 ? _id : null
2286
2480
  }
2287
2481
  }), {
2288
2482
  status: 200,
@@ -2300,8 +2494,8 @@ var get2 = function(param) {
2300
2494
  }();
2301
2495
  };
2302
2496
  // src/adapters/storage/prismaStorageAdapter/threads/runs/post.ts
2303
- var import_dayjs8 = __toESM(require("dayjs"), 1);
2304
- var import_radash9 = require("radash");
2497
+ var import_dayjs7 = __toESM(require("dayjs"), 1);
2498
+ var import_radash8 = require("radash");
2305
2499
  // src/adapters/storage/prismaStorageAdapter/threads/runs/onEvent/handlers/threadRunInProgress.ts
2306
2500
  var threadRunInProgress = function(param) {
2307
2501
  var prisma = param.prisma, event = param.event, controller = param.controller;
@@ -2359,13 +2553,13 @@ var threadRunRequiresAction = function(param) {
2359
2553
  });
2360
2554
  };
2361
2555
  // src/adapters/storage/prismaStorageAdapter/threads/runs/steps/serializeRunStep.ts
2362
- var import_dayjs7 = __toESM(require("dayjs"), 1);
2556
+ var import_dayjs6 = __toESM(require("dayjs"), 1);
2363
2557
  var serializeRunStep = function(param) {
2364
2558
  var runStep = param.runStep;
2365
2559
  return {
2366
2560
  id: runStep.id,
2367
2561
  object: "thread.run.step",
2368
- created_at: (0, import_dayjs7.default)(runStep.createdAt).unix(),
2562
+ created_at: (0, import_dayjs6.default)(runStep.createdAt).unix(),
2369
2563
  assistant_id: runStep.assistantId,
2370
2564
  thread_id: runStep.threadId,
2371
2565
  run_id: runStep.runId,
@@ -2374,10 +2568,10 @@ var serializeRunStep = function(param) {
2374
2568
  // @ts-ignore-next-line
2375
2569
  step_details: runStep.stepDetails,
2376
2570
  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,
2571
+ expired_at: runStep.expiredAt ? (0, import_dayjs6.default)(runStep.expiredAt).unix() : null,
2572
+ cancelled_at: runStep.cancelledAt ? (0, import_dayjs6.default)(runStep.cancelledAt).unix() : null,
2573
+ failed_at: runStep.failedAt ? (0, import_dayjs6.default)(runStep.failedAt).unix() : null,
2574
+ completed_at: runStep.completedAt ? (0, import_dayjs6.default)(runStep.completedAt).unix() : null,
2381
2575
  metadata: runStep.metadata,
2382
2576
  usage: runStep.usage
2383
2577
  };
@@ -2607,7 +2801,7 @@ var getTake = function(param) {
2607
2801
  var getMessages = function(param) {
2608
2802
  var prisma = param.prisma, run2 = param.run;
2609
2803
  return /*#__PURE__*/ _async_to_generator(function() {
2610
- var take, messages4;
2804
+ var take, messages3;
2611
2805
  return _ts_generator(this, function(_state) {
2612
2806
  switch(_state.label){
2613
2807
  case 0:
@@ -2635,10 +2829,10 @@ var getMessages = function(param) {
2635
2829
  } : {}))
2636
2830
  ];
2637
2831
  case 1:
2638
- messages4 = _state.sent();
2832
+ messages3 = _state.sent();
2639
2833
  return [
2640
2834
  2,
2641
- messages4.map(function(message) {
2835
+ messages3.map(function(message) {
2642
2836
  return _object_spread_props(_object_spread({}, serializeMessage3({
2643
2837
  message: message
2644
2838
  })), {
@@ -2659,7 +2853,7 @@ var getMessages = function(param) {
2659
2853
  });
2660
2854
  };
2661
2855
  // src/adapters/storage/prismaStorageAdapter/threads/runs/post.ts
2662
- var post5 = function(param) {
2856
+ var post8 = function(param) {
2663
2857
  var prisma = param.prisma, runAdapter = param.runAdapter;
2664
2858
  return function() {
2665
2859
  var _ref = _async_to_generator(function(urlString, options) {
@@ -2685,7 +2879,7 @@ var post5 = function(param) {
2685
2879
  if (!assistant) {
2686
2880
  throw new Error("Assistant not found");
2687
2881
  }
2688
- _ref = (0, import_radash9.assign)({
2882
+ _ref = (0, import_radash8.assign)({
2689
2883
  model: assistant.modelSlug,
2690
2884
  instructions: "",
2691
2885
  additional_instructions: null,
@@ -2701,7 +2895,7 @@ var post5 = function(param) {
2701
2895
  prisma.run.create({
2702
2896
  data: {
2703
2897
  status: "QUEUED",
2704
- expiresAt: (0, import_dayjs8.default)().add(1, "hour").unix(),
2898
+ expiresAt: (0, import_dayjs7.default)().add(1, "hour").unix(),
2705
2899
  model: model,
2706
2900
  instructions: instructions,
2707
2901
  tools: tools,
@@ -2799,7 +2993,7 @@ var runs = function(param) {
2799
2993
  get: get2({
2800
2994
  prisma: prisma
2801
2995
  }),
2802
- post: post5({
2996
+ post: post8({
2803
2997
  prisma: prisma,
2804
2998
  runAdapter: runAdapter
2805
2999
  })
@@ -2857,7 +3051,7 @@ var run = function(param) {
2857
3051
  };
2858
3052
  };
2859
3053
  // src/adapters/storage/prismaStorageAdapter/threads/runs/steps/get.ts
2860
- var import_radash10 = require("radash");
3054
+ var import_radash9 = require("radash");
2861
3055
  var get4 = function(param) {
2862
3056
  var prisma = param.prisma;
2863
3057
  return function() {
@@ -2868,7 +3062,7 @@ var get4 = function(param) {
2868
3062
  case 0:
2869
3063
  url = new URL(urlString);
2870
3064
  _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)({
3065
+ _ref = (0, import_radash9.assign)({
2872
3066
  limit: "20",
2873
3067
  order: "desc"
2874
3068
  }, Object.fromEntries(url.searchParams)), limit = _ref.limit, order = _ref.order, after = _ref.after;
@@ -2905,7 +3099,7 @@ var get4 = function(param) {
2905
3099
  },
2906
3100
  body: {
2907
3101
  // @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
3102
+ last_id: (_id = (_this = (0, import_radash9.last)(runSteps)) === null || _this === void 0 ? void 0 : _this.id) !== null && _id !== void 0 ? _id : null
2909
3103
  }
2910
3104
  }), {
2911
3105
  status: 200,
@@ -2932,7 +3126,7 @@ var steps = function(param) {
2932
3126
  };
2933
3127
  };
2934
3128
  // src/adapters/storage/prismaStorageAdapter/threads/runs/submitToolOutputs/post/updateRun.ts
2935
- var import_dayjs9 = __toESM(require("dayjs"), 1);
3129
+ var import_dayjs8 = __toESM(require("dayjs"), 1);
2936
3130
  var updateRun = function() {
2937
3131
  var _ref = _async_to_generator(function(param) {
2938
3132
  var prisma, runId, threadId, _param_onThreadRunStepCompleted, onThreadRunStepCompleted, tool_outputs;
@@ -2985,7 +3179,7 @@ var updateRun = function() {
2985
3179
  },
2986
3180
  data: {
2987
3181
  status: "COMPLETED",
2988
- completedAt: (0, import_dayjs9.default)().unix(),
3182
+ completedAt: (0, import_dayjs8.default)().unix(),
2989
3183
  stepDetails: {
2990
3184
  type: "tool_calls",
2991
3185
  // @ts-ignore-next-line
@@ -3100,7 +3294,7 @@ var updateRun = function() {
3100
3294
  };
3101
3295
  }();
3102
3296
  // src/adapters/storage/prismaStorageAdapter/threads/runs/submitToolOutputs/post/index.ts
3103
- var post6 = function(param) {
3297
+ var post9 = function(param) {
3104
3298
  var prisma = param.prisma, runAdapter = param.runAdapter;
3105
3299
  return function() {
3106
3300
  var _ref = _async_to_generator(function(urlString, options) {
@@ -3275,7 +3469,7 @@ var post6 = function(param) {
3275
3469
  var submitToolOutputs = function(param) {
3276
3470
  var prisma = param.prisma, runAdapter = param.runAdapter;
3277
3471
  return {
3278
- post: post6({
3472
+ post: post9({
3279
3473
  prisma: prisma,
3280
3474
  // @ts-ignore-next-line
3281
3475
  runAdapter: runAdapter
@@ -3288,34 +3482,35 @@ var prismaStorageAdapter = function(param) {
3288
3482
  return function(param) {
3289
3483
  var runAdapter = param.runAdapter;
3290
3484
  return {
3291
- "^/v1/threads$": threads({
3292
- prisma: prisma
3293
- }),
3294
- "^/v1/threads/([^/]+)/messages$": messages3({
3295
- prisma: prisma
3296
- }),
3297
- "^/v1/threads/([^/]+)/runs$": runs({
3298
- prisma: prisma,
3299
- runAdapter: runAdapter
3300
- }),
3301
- "^/v1/threads/([^/]+)/runs/([^/]+)$": run({
3302
- prisma: prisma,
3303
- runAdapter: runAdapter
3304
- }),
3305
- "^/v1/threads/([^/]+)/runs/([^/]+)/steps$": steps({
3306
- prisma: prisma
3307
- }),
3308
- "^/v1/threads/([^/]+)/runs/([^/]+)/submit_tool_outputs$": submitToolOutputs({
3309
- prisma: prisma,
3310
- runAdapter: runAdapter
3311
- })
3485
+ routeHandlers: {
3486
+ "^/v1/threads$": threads({
3487
+ prisma: prisma
3488
+ }),
3489
+ "^/v1/threads/([^/]+)/messages$": messages2({
3490
+ prisma: prisma
3491
+ }),
3492
+ "^/v1/threads/([^/]+)/runs$": runs({
3493
+ prisma: prisma,
3494
+ runAdapter: runAdapter
3495
+ }),
3496
+ "^/v1/threads/([^/]+)/runs/([^/]+)$": run({
3497
+ prisma: prisma,
3498
+ runAdapter: runAdapter
3499
+ }),
3500
+ "^/v1/threads/([^/]+)/runs/([^/]+)/steps$": steps({
3501
+ prisma: prisma
3502
+ }),
3503
+ "^/v1/threads/([^/]+)/runs/([^/]+)/submit_tool_outputs$": submitToolOutputs({
3504
+ prisma: prisma,
3505
+ runAdapter: runAdapter
3506
+ })
3507
+ }
3312
3508
  };
3313
3509
  };
3314
3510
  };
3315
3511
  // Annotate the CommonJS export names for ESM import in node:
3316
3512
  0 && (module.exports = {
3317
3513
  anthropicClientAdapter: anthropicClientAdapter,
3318
- anthropicRunAdapter: anthropicRunAdapter,
3319
3514
  completionsRunAdapter: completionsRunAdapter,
3320
3515
  groqClientAdapter: groqClientAdapter,
3321
3516
  mistralClientAdapter: mistralClientAdapter,