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.js CHANGED
@@ -373,7 +373,7 @@ var supercompatFetch = function(param) {
373
373
  runAdapter: runAdapter
374
374
  });
375
375
  return /*#__PURE__*/ _async_to_generator(function() {
376
- var _len, args, _key, _args, url, options, pathHandler, requestHandler;
376
+ var _len, args, _key, _args, url, options, pathHandler, _options_method, method, requestHandler;
377
377
  var _arguments = arguments;
378
378
  return _ts_generator(this, function(_state) {
379
379
  for(_len = _arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
@@ -393,7 +393,8 @@ var supercompatFetch = function(param) {
393
393
  })
394
394
  ];
395
395
  }
396
- requestHandler = pathHandler[options === null || options === void 0 ? void 0 : options.method];
396
+ method = (_options_method = options === null || options === void 0 ? void 0 : options.method) !== null && _options_method !== void 0 ? _options_method : "";
397
+ requestHandler = pathHandler[method.toLowerCase()];
397
398
  if (!requestHandler) {
398
399
  return [
399
400
  2,
@@ -766,22 +767,68 @@ var models2 = function(param) {
766
767
  };
767
768
  };
768
769
  // src/adapters/client/openaiClientAdapter/completions/post.ts
770
+ import { omit } from "radash";
771
+ // src/lib/models/isOModel.ts
772
+ var isOModel = function(param) {
773
+ var model = param.model;
774
+ return model.startsWith("o1") || model.startsWith("o3");
775
+ };
776
+ // src/lib/messages/systemDeveloperMessages.ts
777
+ var systemDeveloperMessages = function(param) {
778
+ var messages3 = param.messages, model = param.model;
779
+ if (isOModel({
780
+ model: model
781
+ })) {
782
+ return messages3.map(function(message) {
783
+ if (message.role === "system") {
784
+ return _object_spread_props(_object_spread({}, message), {
785
+ // TODO: This should be 'developer' but we're using 'user' for now
786
+ // role: 'developer',
787
+ role: "user"
788
+ });
789
+ }
790
+ return message;
791
+ });
792
+ }
793
+ return messages3;
794
+ };
795
+ // src/adapters/client/openaiClientAdapter/completions/post.ts
796
+ var omitKeys = function(param) {
797
+ var model = param.model;
798
+ if (isOModel({
799
+ model: model
800
+ })) {
801
+ return [
802
+ "tools"
803
+ ];
804
+ }
805
+ return [];
806
+ };
769
807
  var post2 = function(param) {
770
808
  var openai = param.openai;
771
809
  return /*#__PURE__*/ function() {
772
810
  var _ref = _async_to_generator(function(_url, options) {
773
- var body, response, stream, data, error;
811
+ var body, messages3, resultOptions, response, stream, data, error;
774
812
  return _ts_generator(this, function(_state) {
775
813
  switch(_state.label){
776
814
  case 0:
777
815
  body = JSON.parse(options.body);
816
+ messages3 = body.messages;
817
+ resultOptions = _object_spread_props(_object_spread({}, omit(body, omitKeys({
818
+ model: body.model
819
+ }))), {
820
+ messages: systemDeveloperMessages({
821
+ messages: messages3,
822
+ model: body.model
823
+ })
824
+ });
778
825
  if (!body.stream) return [
779
826
  3,
780
827
  2
781
828
  ];
782
829
  return [
783
830
  4,
784
- openai.chat.completions.create(body)
831
+ openai.chat.completions.create(resultOptions)
785
832
  ];
786
833
  case 1:
787
834
  response = _state.sent();
@@ -897,7 +944,7 @@ var post2 = function(param) {
897
944
  ]);
898
945
  return [
899
946
  4,
900
- openai.chat.completions.create(body)
947
+ openai.chat.completions.create(resultOptions)
901
948
  ];
902
949
  case 3:
903
950
  data = _state.sent();
@@ -1648,7 +1695,7 @@ var models7 = function(param) {
1648
1695
  };
1649
1696
  };
1650
1697
  // src/adapters/client/anthropicClientAdapter/completions/post.ts
1651
- import { uid, fork, omit, isEmpty as isEmpty2 } from "radash";
1698
+ import { uid, fork, omit as omit2, isEmpty as isEmpty2 } from "radash";
1652
1699
  // src/lib/messages/nonEmptyMessages.ts
1653
1700
  import { isEmpty } from "radash";
1654
1701
  var nonEmptyMessages = function(param) {
@@ -1765,7 +1812,7 @@ var post5 = function(param) {
1765
1812
  })
1766
1813
  })
1767
1814
  });
1768
- resultOptions = _object_spread_props(_object_spread({}, omit(body, [
1815
+ resultOptions = _object_spread_props(_object_spread({}, omit2(body, [
1769
1816
  "response_format"
1770
1817
  ])), {
1771
1818
  stream: body.stream ? isEmpty2(body.tools) : false,
@@ -3010,7 +3057,7 @@ var ollamaClientAdapter = function(param) {
3010
3057
  };
3011
3058
  // src/adapters/run/completionsRunAdapter/index.ts
3012
3059
  import _ from "lodash";
3013
- import { uid as uid2, omit as omit2, isEmpty as isEmpty3 } from "radash";
3060
+ import { uid as uid2, omit as omit3, isEmpty as isEmpty3 } from "radash";
3014
3061
  import dayjs from "dayjs";
3015
3062
  // src/adapters/run/completionsRunAdapter/messages/index.ts
3016
3063
  import { flat } from "radash";
@@ -3116,7 +3163,7 @@ var messages = /*#__PURE__*/ function() {
3116
3163
  // src/adapters/run/completionsRunAdapter/index.ts
3117
3164
  var updatedToolCall = function(param) {
3118
3165
  var toolCall = param.toolCall, delta = param.delta;
3119
- if (!toolCall) return omit2(delta, [
3166
+ if (!toolCall) return omit3(delta, [
3120
3167
  "index"
3121
3168
  ]);
3122
3169
  var result = _.cloneDeep(toolCall);
@@ -3150,7 +3197,7 @@ var toolCallsData = function(param) {
3150
3197
  return _object_spread({
3151
3198
  id: uid2(24),
3152
3199
  type: "function"
3153
- }, omit2(tc, [
3200
+ }, omit3(tc, [
3154
3201
  "index"
3155
3202
  ]));
3156
3203
  });