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