supercompat 2.16.0 → 2.18.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
@@ -480,7 +480,7 @@ var supercompatFetch = function(param) {
480
480
  runAdapter: runAdapter
481
481
  });
482
482
  return /*#__PURE__*/ _async_to_generator(function() {
483
- var _len, args, _key, _args, url, options, pathHandler, requestHandler;
483
+ var _len, args, _key, _args, url, options, pathHandler, _options_method, method, requestHandler;
484
484
  var _arguments = arguments;
485
485
  return _ts_generator(this, function(_state) {
486
486
  for(_len = _arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
@@ -500,7 +500,8 @@ var supercompatFetch = function(param) {
500
500
  })
501
501
  ];
502
502
  }
503
- requestHandler = pathHandler[options === null || options === void 0 ? void 0 : options.method];
503
+ method = (_options_method = options === null || options === void 0 ? void 0 : options.method) !== null && _options_method !== void 0 ? _options_method : "";
504
+ requestHandler = pathHandler[method.toLowerCase()];
504
505
  if (!requestHandler) {
505
506
  return [
506
507
  2,
@@ -873,22 +874,68 @@ var models2 = function(param) {
873
874
  };
874
875
  };
875
876
  // src/adapters/client/openaiClientAdapter/completions/post.ts
877
+ var import_radash2 = require("radash");
878
+ // src/lib/models/isOModel.ts
879
+ var isOModel = function(param) {
880
+ var model = param.model;
881
+ return model.startsWith("o1") || model.startsWith("o3");
882
+ };
883
+ // src/lib/messages/systemDeveloperMessages.ts
884
+ var systemDeveloperMessages = function(param) {
885
+ var messages3 = param.messages, model = param.model;
886
+ if (isOModel({
887
+ model: model
888
+ })) {
889
+ return messages3.map(function(message) {
890
+ if (message.role === "system") {
891
+ return _object_spread_props(_object_spread({}, message), {
892
+ // TODO: This should be 'developer' but we're using 'user' for now
893
+ // role: 'developer',
894
+ role: "user"
895
+ });
896
+ }
897
+ return message;
898
+ });
899
+ }
900
+ return messages3;
901
+ };
902
+ // src/adapters/client/openaiClientAdapter/completions/post.ts
903
+ var omitKeys = function(param) {
904
+ var model = param.model;
905
+ if (isOModel({
906
+ model: model
907
+ })) {
908
+ return [
909
+ "tools"
910
+ ];
911
+ }
912
+ return [];
913
+ };
876
914
  var post2 = function(param) {
877
915
  var openai = param.openai;
878
916
  return /*#__PURE__*/ function() {
879
917
  var _ref = _async_to_generator(function(_url, options) {
880
- var body, response, stream, data, error;
918
+ var body, messages3, resultOptions, response, stream, data, error;
881
919
  return _ts_generator(this, function(_state) {
882
920
  switch(_state.label){
883
921
  case 0:
884
922
  body = JSON.parse(options.body);
923
+ messages3 = body.messages;
924
+ resultOptions = _object_spread_props(_object_spread({}, (0, import_radash2.omit)(body, omitKeys({
925
+ model: body.model
926
+ }))), {
927
+ messages: systemDeveloperMessages({
928
+ messages: messages3,
929
+ model: body.model
930
+ })
931
+ });
885
932
  if (!body.stream) return [
886
933
  3,
887
934
  2
888
935
  ];
889
936
  return [
890
937
  4,
891
- openai.chat.completions.create(body)
938
+ openai.chat.completions.create(resultOptions)
892
939
  ];
893
940
  case 1:
894
941
  response = _state.sent();
@@ -1004,7 +1051,7 @@ var post2 = function(param) {
1004
1051
  ]);
1005
1052
  return [
1006
1053
  4,
1007
- openai.chat.completions.create(body)
1054
+ openai.chat.completions.create(resultOptions)
1008
1055
  ];
1009
1056
  case 3:
1010
1057
  data = _state.sent();
@@ -1755,15 +1802,15 @@ var models7 = function(param) {
1755
1802
  };
1756
1803
  };
1757
1804
  // src/adapters/client/anthropicClientAdapter/completions/post.ts
1758
- var import_radash3 = require("radash");
1805
+ var import_radash4 = require("radash");
1759
1806
  // src/lib/messages/nonEmptyMessages.ts
1760
- var import_radash2 = require("radash");
1807
+ var import_radash3 = require("radash");
1761
1808
  var nonEmptyMessages = function(param) {
1762
1809
  var messages3 = param.messages;
1763
1810
  var result = [];
1764
1811
  messages3.forEach(function(message) {
1765
1812
  return result.push(_object_spread_props(_object_spread({}, message), {
1766
- content: (0, import_radash2.isEmpty)(message.content) ? "-" : message.content
1813
+ content: (0, import_radash3.isEmpty)(message.content) ? "-" : message.content
1767
1814
  }));
1768
1815
  });
1769
1816
  return result;
@@ -1859,7 +1906,7 @@ var post5 = function(param) {
1859
1906
  case 0:
1860
1907
  body = JSON.parse(options.body);
1861
1908
  messages3 = body.messages;
1862
- _ref = _sliced_to_array((0, import_radash3.fork)(messages3, function(message) {
1909
+ _ref = _sliced_to_array((0, import_radash4.fork)(messages3, function(message) {
1863
1910
  return message.role === "system";
1864
1911
  }), 2), systemMessages = _ref[0], otherMessages = _ref[1];
1865
1912
  system = systemMessages.map(function(message) {
@@ -1872,10 +1919,10 @@ var post5 = function(param) {
1872
1919
  })
1873
1920
  })
1874
1921
  });
1875
- resultOptions = _object_spread_props(_object_spread({}, (0, import_radash3.omit)(body, [
1922
+ resultOptions = _object_spread_props(_object_spread({}, (0, import_radash4.omit)(body, [
1876
1923
  "response_format"
1877
1924
  ])), {
1878
- stream: body.stream ? (0, import_radash3.isEmpty)(body.tools) : false,
1925
+ stream: body.stream ? (0, import_radash4.isEmpty)(body.tools) : false,
1879
1926
  system: system,
1880
1927
  messages: serializeMessages({
1881
1928
  messages: chatMessages
@@ -1939,7 +1986,7 @@ var post5 = function(param) {
1939
1986
  content: chunk.delta.text
1940
1987
  };
1941
1988
  messageDelta = {
1942
- id: "chatcmpl-".concat((0, import_radash3.uid)(29)),
1989
+ id: "chatcmpl-".concat((0, import_radash4.uid)(29)),
1943
1990
  object: "chat.completion.chunk",
1944
1991
  choices: [
1945
1992
  {
@@ -1967,7 +2014,7 @@ var post5 = function(param) {
1967
2014
  content: chunk.content_block.text
1968
2015
  };
1969
2016
  messageDelta1 = {
1970
- id: "chatcmpl-".concat((0, import_radash3.uid)(29)),
2017
+ id: "chatcmpl-".concat((0, import_radash4.uid)(29)),
1971
2018
  object: "chat.completion.chunk",
1972
2019
  choices: [
1973
2020
  {
@@ -1979,7 +2026,7 @@ var post5 = function(param) {
1979
2026
  controller.enqueue("data: ".concat(JSON.stringify(messageDelta1), "\n\n"));
1980
2027
  } else if (chunk.type === "message_start") {
1981
2028
  messageDelta2 = {
1982
- id: "chatcmpl-".concat((0, import_radash3.uid)(29)),
2029
+ id: "chatcmpl-".concat((0, import_radash4.uid)(29)),
1983
2030
  object: "chat.completion.chunk",
1984
2031
  choices: [
1985
2032
  {
@@ -3117,10 +3164,10 @@ var ollamaClientAdapter = function(param) {
3117
3164
  };
3118
3165
  // src/adapters/run/completionsRunAdapter/index.ts
3119
3166
  var import_lodash = __toESM(require("lodash"), 1);
3120
- var import_radash5 = require("radash");
3167
+ var import_radash6 = require("radash");
3121
3168
  var import_dayjs = __toESM(require("dayjs"), 1);
3122
3169
  // src/adapters/run/completionsRunAdapter/messages/index.ts
3123
- var import_radash4 = require("radash");
3170
+ var import_radash5 = require("radash");
3124
3171
  // src/adapters/run/completionsRunAdapter/messages/serializeMessage.ts
3125
3172
  var serializeToolCall = function(param) {
3126
3173
  var toolCall = param.toolCall;
@@ -3194,7 +3241,7 @@ var messages = /*#__PURE__*/ function() {
3194
3241
  content: run2.instructions
3195
3242
  }
3196
3243
  ] : [])).concat;
3197
- _2 = (0, import_radash4.flat);
3244
+ _2 = (0, import_radash5.flat);
3198
3245
  return [
3199
3246
  4,
3200
3247
  getMessages2()
@@ -3224,7 +3271,7 @@ var messages = /*#__PURE__*/ function() {
3224
3271
  // src/adapters/run/completionsRunAdapter/index.ts
3225
3272
  var updatedToolCall = function(param) {
3226
3273
  var toolCall = param.toolCall, delta = param.delta;
3227
- if (!toolCall) return (0, import_radash5.omit)(delta, [
3274
+ if (!toolCall) return (0, import_radash6.omit)(delta, [
3228
3275
  "index"
3229
3276
  ]);
3230
3277
  var result = import_lodash.default.cloneDeep(toolCall);
@@ -3256,9 +3303,9 @@ var toolCallsData = function(param) {
3256
3303
  if (!prevToolCalls) {
3257
3304
  return delta.tool_calls.map(function(tc) {
3258
3305
  return _object_spread({
3259
- id: (0, import_radash5.uid)(24),
3306
+ id: (0, import_radash6.uid)(24),
3260
3307
  type: "function"
3261
- }, (0, import_radash5.omit)(tc, [
3308
+ }, (0, import_radash6.omit)(tc, [
3262
3309
  "index"
3263
3310
  ]));
3264
3311
  });
@@ -3320,7 +3367,7 @@ var completionsRunAdapter = function() {
3320
3367
  case 1:
3321
3368
  opts = _object_spread.apply(void 0, [
3322
3369
  (_tmp.messages = _state.sent(), _tmp.model = run2.model, _tmp.stream = true, _tmp.response_format = run2.response_format, _tmp),
3323
- (0, import_radash5.isEmpty)(run2.tools) ? {} : {
3370
+ (0, import_radash6.isEmpty)(run2.tools) ? {} : {
3324
3371
  tools: run2.tools
3325
3372
  }
3326
3373
  ]);
@@ -3503,7 +3550,7 @@ var completionsRunAdapter = function() {
3503
3550
  type: "tool_calls",
3504
3551
  tool_calls: delta.tool_calls.map(function(tc) {
3505
3552
  return _object_spread({
3506
- id: (0, import_radash5.uid)(24),
3553
+ id: (0, import_radash6.uid)(24),
3507
3554
  type: "function"
3508
3555
  }, tc);
3509
3556
  })
@@ -3612,7 +3659,7 @@ var completionsRunAdapter = function() {
3612
3659
  ];
3613
3660
  case 22:
3614
3661
  message = _state.sent();
3615
- if ((0, import_radash5.isEmpty)(message.toolCalls)) {
3662
+ if ((0, import_radash6.isEmpty)(message.toolCalls)) {
3616
3663
  return [
3617
3664
  2,
3618
3665
  onEvent2({
@@ -3750,7 +3797,7 @@ var threads = function(param) {
3750
3797
  };
3751
3798
  // src/adapters/storage/prismaStorageAdapter/threads/messages/serializeMessage.ts
3752
3799
  var import_dayjs4 = __toESM(require("dayjs"), 1);
3753
- var import_radash6 = require("radash");
3800
+ var import_radash7 = require("radash");
3754
3801
  var serializeMessage4 = function(param) {
3755
3802
  var message = param.message;
3756
3803
  var _message_metadata;
@@ -3768,7 +3815,7 @@ var serializeMessage4 = function(param) {
3768
3815
  run_id: message.runId,
3769
3816
  attachments: message.attachments,
3770
3817
  status: message.status.toLowerCase(),
3771
- metadata: (0, import_radash6.assign)((_message_metadata = message.metadata) !== null && _message_metadata !== void 0 ? _message_metadata : {}, message.toolCalls ? {
3818
+ metadata: (0, import_radash7.assign)((_message_metadata = message.metadata) !== null && _message_metadata !== void 0 ? _message_metadata : {}, message.toolCalls ? {
3772
3819
  toolCalls: message.toolCalls
3773
3820
  } : {})
3774
3821
  };
@@ -3832,7 +3879,7 @@ var post11 = function(param) {
3832
3879
  }();
3833
3880
  };
3834
3881
  // src/adapters/storage/prismaStorageAdapter/threads/messages/get.ts
3835
- var import_radash7 = require("radash");
3882
+ var import_radash8 = require("radash");
3836
3883
  var get10 = function(param) {
3837
3884
  var prisma = param.prisma;
3838
3885
  return /*#__PURE__*/ function() {
@@ -3843,7 +3890,7 @@ var get10 = function(param) {
3843
3890
  case 0:
3844
3891
  url = new URL(urlString);
3845
3892
  _url_pathname_match = _sliced_to_array(url.pathname.match(new RegExp(messagesRegexp)), 2), threadId = _url_pathname_match[1];
3846
- _ref = (0, import_radash7.assign)({
3893
+ _ref = (0, import_radash8.assign)({
3847
3894
  limit: "20",
3848
3895
  order: "desc"
3849
3896
  }, Object.fromEntries(url.searchParams)), limit = _ref.limit, order = _ref.order, after = _ref.after;
@@ -3878,7 +3925,7 @@ var get10 = function(param) {
3878
3925
  return messages3.length === parseInt(limit);
3879
3926
  },
3880
3927
  body: {
3881
- last_id: (_id = (_this = (0, import_radash7.last)(messages3)) === null || _this === void 0 ? void 0 : _this.id) !== null && _id !== void 0 ? _id : null
3928
+ last_id: (_id = (_this = (0, import_radash8.last)(messages3)) === null || _this === void 0 ? void 0 : _this.id) !== null && _id !== void 0 ? _id : null
3882
3929
  }
3883
3930
  }), {
3884
3931
  status: 200,
@@ -3908,7 +3955,7 @@ var messages2 = function(param) {
3908
3955
  };
3909
3956
  };
3910
3957
  // src/adapters/storage/prismaStorageAdapter/threads/runs/get.ts
3911
- var import_radash8 = require("radash");
3958
+ var import_radash9 = require("radash");
3912
3959
  // src/adapters/storage/prismaStorageAdapter/threads/runs/serializeRun.ts
3913
3960
  var import_dayjs5 = __toESM(require("dayjs"), 1);
3914
3961
  var serializeRun = function(param) {
@@ -3957,7 +4004,7 @@ var get11 = function(param) {
3957
4004
  case 0:
3958
4005
  url = new URL(urlString);
3959
4006
  _url_pathname_match = _sliced_to_array(url.pathname.match(new RegExp(runsRegexp)), 2), threadId = _url_pathname_match[1];
3960
- _ref = (0, import_radash8.assign)({
4007
+ _ref = (0, import_radash9.assign)({
3961
4008
  limit: "20",
3962
4009
  order: "desc"
3963
4010
  }, Object.fromEntries(url.searchParams)), limit = _ref.limit, order = _ref.order, after = _ref.after;
@@ -3993,7 +4040,7 @@ var get11 = function(param) {
3993
4040
  },
3994
4041
  body: {
3995
4042
  // @ts-ignore-next-line
3996
- last_id: (_id = (_this = (0, import_radash8.last)(runs2)) === null || _this === void 0 ? void 0 : _this.id) !== null && _id !== void 0 ? _id : null
4043
+ last_id: (_id = (_this = (0, import_radash9.last)(runs2)) === null || _this === void 0 ? void 0 : _this.id) !== null && _id !== void 0 ? _id : null
3997
4044
  }
3998
4045
  }), {
3999
4046
  status: 200,
@@ -4012,7 +4059,7 @@ var get11 = function(param) {
4012
4059
  };
4013
4060
  // src/adapters/storage/prismaStorageAdapter/threads/runs/post.ts
4014
4061
  var import_dayjs7 = __toESM(require("dayjs"), 1);
4015
- var import_radash9 = require("radash");
4062
+ var import_radash10 = require("radash");
4016
4063
  // src/adapters/storage/prismaStorageAdapter/threads/runs/onEvent/handlers/threadRunInProgress.ts
4017
4064
  var threadRunInProgress = function(param) {
4018
4065
  var prisma = param.prisma, event = param.event, controller = param.controller;
@@ -4396,7 +4443,7 @@ var post12 = function(param) {
4396
4443
  if (!assistant) {
4397
4444
  throw new Error("Assistant not found");
4398
4445
  }
4399
- _ref = (0, import_radash9.assign)({
4446
+ _ref = (0, import_radash10.assign)({
4400
4447
  model: assistant.modelSlug,
4401
4448
  instructions: "",
4402
4449
  additional_instructions: null,
@@ -4605,7 +4652,7 @@ var run = function(param) {
4605
4652
  };
4606
4653
  };
4607
4654
  // src/adapters/storage/prismaStorageAdapter/threads/runs/steps/get.ts
4608
- var import_radash10 = require("radash");
4655
+ var import_radash11 = require("radash");
4609
4656
  var get13 = function(param) {
4610
4657
  var prisma = param.prisma;
4611
4658
  return /*#__PURE__*/ function() {
@@ -4616,7 +4663,7 @@ var get13 = function(param) {
4616
4663
  case 0:
4617
4664
  url = new URL(urlString);
4618
4665
  _url_pathname_match = _sliced_to_array(url.pathname.match(new RegExp(stepsRegexp)), 4), threadId = _url_pathname_match[1], runId = _url_pathname_match[3];
4619
- _ref = (0, import_radash10.assign)({
4666
+ _ref = (0, import_radash11.assign)({
4620
4667
  limit: "20",
4621
4668
  order: "desc"
4622
4669
  }, Object.fromEntries(url.searchParams)), limit = _ref.limit, order = _ref.order, after = _ref.after;
@@ -4653,7 +4700,7 @@ var get13 = function(param) {
4653
4700
  },
4654
4701
  body: {
4655
4702
  // @ts-ignore-next-line
4656
- last_id: (_id = (_this = (0, import_radash10.last)(runSteps)) === null || _this === void 0 ? void 0 : _this.id) !== null && _id !== void 0 ? _id : null
4703
+ last_id: (_id = (_this = (0, import_radash11.last)(runSteps)) === null || _this === void 0 ? void 0 : _this.id) !== null && _id !== void 0 ? _id : null
4657
4704
  }
4658
4705
  }), {
4659
4706
  status: 200,