supercompat 2.32.0 → 3.0.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
@@ -93,6 +93,13 @@ function _define_property(obj, key, value) {
93
93
  }
94
94
  return obj;
95
95
  }
96
+ function _instanceof(left, right) {
97
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
98
+ return !!right[Symbol.hasInstance](left);
99
+ } else {
100
+ return left instanceof right;
101
+ }
102
+ }
96
103
  function _iterable_to_array(iter) {
97
104
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
98
105
  }
@@ -407,12 +414,18 @@ __export(index_exports, {
407
414
  openaiClientAdapter: function() {
408
415
  return openaiClientAdapter;
409
416
  },
417
+ openaiResponsesStorageAdapter: function() {
418
+ return openaiResponsesStorageAdapter;
419
+ },
410
420
  perplexityClientAdapter: function() {
411
421
  return perplexityClientAdapter;
412
422
  },
413
423
  prismaStorageAdapter: function() {
414
424
  return prismaStorageAdapter;
415
425
  },
426
+ responsesRunAdapter: function() {
427
+ return responsesRunAdapter;
428
+ },
416
429
  supercompat: function() {
417
430
  return supercompat;
418
431
  },
@@ -456,21 +469,85 @@ var findRequestHandler = function(param) {
456
469
  }
457
470
  };
458
471
  // src/supercompatFetch/originalFetch.ts
459
- var originalFetch = function(param) {
460
- var args = param.args, client = param.client;
461
- var _client_client;
462
- if ((_client_client = client.client) === null || _client_client === void 0 ? void 0 : _client_client.fetch) {
463
- var _args = _sliced_to_array(args, 2), url = _args[0], options = _args[1];
464
- var headers = _object_spread_props(_object_spread({}, options.headers), {
465
- authorization: client.client.defaultHeaders().Authorization
472
+ var toRecord = function() {
473
+ var init = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
474
+ if (_instanceof(init, Headers)) return Object.fromEntries(init.entries());
475
+ return Object.keys(init).reduce(function(acc, key) {
476
+ return _object_spread_props(_object_spread({}, acc), _define_property({}, key.toLowerCase(), init[key]));
477
+ }, {});
478
+ };
479
+ var getClientHeaders = /*#__PURE__*/ function() {
480
+ var _ref = _async_to_generator(function(client) {
481
+ return _ts_generator(this, function(_state) {
482
+ if (typeof client.client.authHeaders === "function") {
483
+ return [
484
+ 2,
485
+ client.client.authHeaders()
486
+ ];
487
+ }
488
+ if (typeof client.client.defaultHeaders === "function") {
489
+ return [
490
+ 2,
491
+ client.client.defaultHeaders()
492
+ ];
493
+ }
494
+ return [
495
+ 2,
496
+ {}
497
+ ];
466
498
  });
467
- return client.client.fetch(url, _object_spread_props(_object_spread({}, options), {
468
- headers: headers
469
- }));
470
- } else {
471
- return fetch.apply(void 0, _to_consumable_array(args));
499
+ });
500
+ return function getClientHeaders(client) {
501
+ return _ref.apply(this, arguments);
502
+ };
503
+ }();
504
+ var normalize = function(headersInit) {
505
+ if (!headersInit) return {};
506
+ if (_instanceof(headersInit, Headers)) {
507
+ return Object.fromEntries(headersInit.entries());
472
508
  }
509
+ if (_instanceof(headersInit === null || headersInit === void 0 ? void 0 : headersInit.values, Headers)) {
510
+ return Object.fromEntries(headersInit.values.entries());
511
+ }
512
+ return Object.fromEntries(new Headers(headersInit).entries());
473
513
  };
514
+ var originalFetch = /*#__PURE__*/ function() {
515
+ var _ref = _async_to_generator(function(param) {
516
+ var args, client, _client_client, _args, url, options, requestHeaders, clientHeaders, headers;
517
+ return _ts_generator(this, function(_state) {
518
+ switch(_state.label){
519
+ case 0:
520
+ args = param.args, client = param.client;
521
+ if (!((_client_client = client.client) === null || _client_client === void 0 ? void 0 : _client_client.fetch)) {
522
+ return [
523
+ 2,
524
+ fetch.apply(void 0, _to_consumable_array(args))
525
+ ];
526
+ }
527
+ _args = _sliced_to_array(args, 2), url = _args[0], options = _args[1];
528
+ requestHeaders = toRecord(options === null || options === void 0 ? void 0 : options.headers);
529
+ return [
530
+ 4,
531
+ getClientHeaders(client)
532
+ ];
533
+ case 1:
534
+ clientHeaders = normalize.apply(void 0, [
535
+ _state.sent()
536
+ ]);
537
+ headers = _object_spread({}, requestHeaders, clientHeaders);
538
+ return [
539
+ 2,
540
+ client.client.fetch(url, _object_spread_props(_object_spread({}, options), {
541
+ headers: headers
542
+ }))
543
+ ];
544
+ }
545
+ });
546
+ });
547
+ return function originalFetch(_) {
548
+ return _ref.apply(this, arguments);
549
+ };
550
+ }();
474
551
  // src/supercompatFetch/index.ts
475
552
  var supercompatFetch = function(param) {
476
553
  var client = param.client, storage = param.storage, runAdapter = param.runAdapter;
@@ -480,13 +557,14 @@ var supercompatFetch = function(param) {
480
557
  runAdapter: runAdapter
481
558
  });
482
559
  return /*#__PURE__*/ _async_to_generator(function() {
483
- var _len, args, _key, _args, url, options, pathHandler, _options_method, method, requestHandler;
560
+ var _len, args, _key, _args, input, options, url, pathHandler, _options_method, method, requestHandler;
484
561
  var _arguments = arguments;
485
562
  return _ts_generator(this, function(_state) {
486
563
  for(_len = _arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
487
564
  args[_key] = _arguments[_key];
488
565
  }
489
- _args = _sliced_to_array(args, 2), url = _args[0], options = _args[1];
566
+ _args = _sliced_to_array(args, 2), input = _args[0], options = _args[1];
567
+ url = typeof input === "string" ? input : input.toString();
490
568
  pathHandler = findRequestHandler({
491
569
  url: url,
492
570
  requestHandlers: requestHandlers2
@@ -882,11 +960,11 @@ var isOModel = function(param) {
882
960
  };
883
961
  // src/lib/messages/systemDeveloperMessages.ts
884
962
  var systemDeveloperMessages = function(param) {
885
- var messages3 = param.messages, model = param.model;
963
+ var messages5 = param.messages, model = param.model;
886
964
  if (isOModel({
887
965
  model: model
888
966
  })) {
889
- return messages3.map(function(message) {
967
+ return messages5.map(function(message) {
890
968
  if (message.role === "system") {
891
969
  return _object_spread_props(_object_spread({}, message), {
892
970
  // TODO: This should be 'developer' but we're using 'user' for now
@@ -897,7 +975,7 @@ var systemDeveloperMessages = function(param) {
897
975
  return message;
898
976
  });
899
977
  }
900
- return messages3;
978
+ return messages5;
901
979
  };
902
980
  // src/adapters/client/openaiClientAdapter/completions/post.ts
903
981
  var omitKeys = function(param) {
@@ -915,17 +993,17 @@ var post2 = function(param) {
915
993
  var openai = param.openai;
916
994
  return /*#__PURE__*/ function() {
917
995
  var _ref = _async_to_generator(function(_url, options) {
918
- var body, messages3, resultOptions, response, stream, data, error;
996
+ var body, messages5, resultOptions, response, stream, data, error;
919
997
  return _ts_generator(this, function(_state) {
920
998
  switch(_state.label){
921
999
  case 0:
922
1000
  body = JSON.parse(options.body);
923
- messages3 = body.messages;
1001
+ messages5 = body.messages;
924
1002
  resultOptions = _object_spread_props(_object_spread({}, (0, import_radash2.omit)(body, omitKeys({
925
1003
  model: body.model
926
1004
  }))), {
927
1005
  messages: systemDeveloperMessages({
928
- messages: messages3,
1006
+ messages: messages5,
929
1007
  model: body.model
930
1008
  })
931
1009
  });
@@ -1521,11 +1599,11 @@ var agentSideRoles = [
1521
1599
  "system"
1522
1600
  ];
1523
1601
  var alternatingMessages = function(param) {
1524
- var messages3 = param.messages;
1602
+ var messages5 = param.messages;
1525
1603
  var result = [];
1526
- messages3.forEach(function(message, index) {
1604
+ messages5.forEach(function(message, index) {
1527
1605
  result.push(message);
1528
- var nextMessage = messages3[index + 1];
1606
+ var nextMessage = messages5[index + 1];
1529
1607
  if (!nextMessage) return;
1530
1608
  if (message.role === "user" && nextMessage.role === "user") {
1531
1609
  result.push({
@@ -1546,12 +1624,12 @@ var post4 = function(param) {
1546
1624
  var perplexity = param.perplexity;
1547
1625
  return /*#__PURE__*/ function() {
1548
1626
  var _ref = _async_to_generator(function(_url, options) {
1549
- var body, messages3, response, stream, data, error;
1627
+ var body, messages5, response, stream, data, error;
1550
1628
  return _ts_generator(this, function(_state) {
1551
1629
  switch(_state.label){
1552
1630
  case 0:
1553
1631
  body = JSON.parse(options.body);
1554
- messages3 = alternatingMessages({
1632
+ messages5 = alternatingMessages({
1555
1633
  messages: body.messages
1556
1634
  });
1557
1635
  if (!body.stream) return [
@@ -1561,7 +1639,7 @@ var post4 = function(param) {
1561
1639
  return [
1562
1640
  4,
1563
1641
  perplexity.chat.completions.create(_object_spread_props(_object_spread({}, body), {
1564
- messages: messages3
1642
+ messages: messages5
1565
1643
  }))
1566
1644
  ];
1567
1645
  case 1:
@@ -1827,9 +1905,9 @@ var nonEmptyContent = function(param) {
1827
1905
  return message.content;
1828
1906
  };
1829
1907
  var nonEmptyMessages = function(param) {
1830
- var messages3 = param.messages;
1908
+ var messages5 = param.messages;
1831
1909
  var result = [];
1832
- messages3.forEach(function(message) {
1910
+ messages5.forEach(function(message) {
1833
1911
  return result.push(_object_spread_props(_object_spread({}, message), {
1834
1912
  content: nonEmptyContent({
1835
1913
  message: message
@@ -1840,18 +1918,18 @@ var nonEmptyMessages = function(param) {
1840
1918
  };
1841
1919
  // src/lib/messages/firstUserMessages.ts
1842
1920
  var firstUserMessages = function(param) {
1843
- var messages3 = param.messages;
1844
- var firstMessage = messages3[0];
1845
- if (!firstMessage) return messages3;
1921
+ var messages5 = param.messages;
1922
+ var firstMessage = messages5[0];
1923
+ if (!firstMessage) return messages5;
1846
1924
  if (firstMessage.role !== "user") {
1847
1925
  return [
1848
1926
  {
1849
1927
  role: "user",
1850
1928
  content: "-"
1851
1929
  }
1852
- ].concat(_to_consumable_array(messages3));
1930
+ ].concat(_to_consumable_array(messages5));
1853
1931
  }
1854
- return messages3;
1932
+ return messages5;
1855
1933
  };
1856
1934
  // src/adapters/client/anthropicClientAdapter/completions/serializeTools.ts
1857
1935
  var serializeTools = function(param) {
@@ -1891,8 +1969,8 @@ var serializeMessage2 = function(param) {
1891
1969
  return {
1892
1970
  type: "tool_use",
1893
1971
  id: toolCall.id,
1894
- name: toolCall.function.name,
1895
- input: toolCall.function.arguments ? JSON.parse(toolCall.function.arguments) : {}
1972
+ name: "function" in toolCall ? toolCall.function.name : "",
1973
+ input: "function" in toolCall && toolCall.function.arguments ? JSON.parse(toolCall.function.arguments) : {}
1896
1974
  };
1897
1975
  })))
1898
1976
  };
@@ -1911,8 +1989,8 @@ var serializeMessage2 = function(param) {
1911
1989
  };
1912
1990
  // src/adapters/client/anthropicClientAdapter/completions/serializeMessages/index.ts
1913
1991
  var serializeMessages = function(param) {
1914
- var messages3 = param.messages;
1915
- return messages3.map(function(message) {
1992
+ var messages5 = param.messages;
1993
+ return messages5.map(function(message) {
1916
1994
  return serializeMessage2({
1917
1995
  message: message
1918
1996
  });
@@ -1923,13 +2001,13 @@ var post5 = function(param) {
1923
2001
  var anthropic = param.anthropic;
1924
2002
  return /*#__PURE__*/ function() {
1925
2003
  var _ref = _async_to_generator(function(_url, options) {
1926
- var body, messages3, _ref, systemMessages, otherMessages, system, chatMessages, resultOptions, response, stream, data, error;
2004
+ var body, messages5, _ref, systemMessages, otherMessages, system, chatMessages, serializedMessages, baseOptions, response, stream, data, error;
1927
2005
  return _ts_generator(this, function(_state) {
1928
2006
  switch(_state.label){
1929
2007
  case 0:
1930
2008
  body = JSON.parse(options.body);
1931
- messages3 = body.messages;
1932
- _ref = _sliced_to_array((0, import_radash3.fork)(messages3, function(message) {
2009
+ messages5 = body.messages;
2010
+ _ref = _sliced_to_array((0, import_radash3.fork)(messages5, function(message) {
1933
2011
  return message.role === "system";
1934
2012
  }), 2), systemMessages = _ref[0], otherMessages = _ref[1];
1935
2013
  system = systemMessages.map(function(message) {
@@ -1942,14 +2020,15 @@ var post5 = function(param) {
1942
2020
  })
1943
2021
  })
1944
2022
  });
1945
- resultOptions = _object_spread_props(_object_spread({}, (0, import_radash3.omit)(body, [
1946
- "response_format"
2023
+ serializedMessages = serializeMessages({
2024
+ messages: chatMessages
2025
+ });
2026
+ baseOptions = _object_spread_props(_object_spread({}, (0, import_radash3.omit)(body, [
2027
+ "response_format",
2028
+ "stream"
1947
2029
  ])), {
1948
- stream: body.stream ? (0, import_radash3.isEmpty)(body.tools) : false,
1949
2030
  system: system,
1950
- messages: serializeMessages({
1951
- messages: chatMessages
1952
- }),
2031
+ messages: serializedMessages,
1953
2032
  max_tokens: 4096,
1954
2033
  tools: serializeTools({
1955
2034
  tools: body.tools
@@ -1961,7 +2040,7 @@ var post5 = function(param) {
1961
2040
  ];
1962
2041
  return [
1963
2042
  4,
1964
- anthropic.messages.stream(resultOptions)
2043
+ anthropic.messages.stream(baseOptions)
1965
2044
  ];
1966
2045
  case 1:
1967
2046
  response = _state.sent();
@@ -1996,18 +2075,28 @@ var post5 = function(param) {
1996
2075
  _value = _step.value;
1997
2076
  chunk = _value;
1998
2077
  if (chunk.type === "content_block_delta") {
1999
- delta = chunk.delta.type === "input_json_delta" ? {
2000
- tool_calls: [
2001
- {
2002
- index: 0,
2003
- function: {
2004
- arguments: chunk.delta.partial_json
2078
+ delta = void 0;
2079
+ if (chunk.delta.type === "input_json_delta") {
2080
+ delta = {
2081
+ tool_calls: [
2082
+ {
2083
+ index: 0,
2084
+ function: {
2085
+ arguments: chunk.delta.partial_json
2086
+ }
2005
2087
  }
2006
- }
2007
- ]
2008
- } : {
2009
- content: chunk.delta.text
2010
- };
2088
+ ]
2089
+ };
2090
+ } else if (chunk.delta.type === "text_delta") {
2091
+ delta = {
2092
+ content: chunk.delta.text
2093
+ };
2094
+ } else {
2095
+ return [
2096
+ 3,
2097
+ 4
2098
+ ];
2099
+ }
2011
2100
  messageDelta = {
2012
2101
  id: "chatcmpl-".concat((0, import_radash3.uid)(29)),
2013
2102
  object: "chat.completion.chunk",
@@ -2020,22 +2109,32 @@ var post5 = function(param) {
2020
2109
  };
2021
2110
  controller.enqueue("data: ".concat(JSON.stringify(messageDelta), "\n\n"));
2022
2111
  } else if (chunk.type === "content_block_start") {
2023
- delta1 = chunk.content_block.type === "tool_use" ? {
2024
- content: null,
2025
- tool_calls: [
2026
- {
2027
- index: 0,
2028
- id: chunk.content_block.id,
2029
- type: "function",
2030
- function: {
2031
- name: chunk.content_block.name,
2032
- arguments: ""
2112
+ delta1 = void 0;
2113
+ if (chunk.content_block.type === "tool_use") {
2114
+ delta1 = {
2115
+ content: null,
2116
+ tool_calls: [
2117
+ {
2118
+ index: 0,
2119
+ id: chunk.content_block.id,
2120
+ type: "function",
2121
+ function: {
2122
+ name: chunk.content_block.name,
2123
+ arguments: ""
2124
+ }
2033
2125
  }
2034
- }
2035
- ]
2036
- } : {
2037
- content: chunk.content_block.text
2038
- };
2126
+ ]
2127
+ };
2128
+ } else if (chunk.content_block.type === "text") {
2129
+ delta1 = {
2130
+ content: chunk.content_block.text
2131
+ };
2132
+ } else {
2133
+ return [
2134
+ 3,
2135
+ 4
2136
+ ];
2137
+ }
2039
2138
  messageDelta1 = {
2040
2139
  id: "chatcmpl-".concat((0, import_radash3.uid)(29)),
2041
2140
  object: "chat.completion.chunk",
@@ -2143,7 +2242,9 @@ var post5 = function(param) {
2143
2242
  ]);
2144
2243
  return [
2145
2244
  4,
2146
- anthropic.messages.create(resultOptions)
2245
+ anthropic.messages.create(_object_spread_props(_object_spread({}, baseOptions), {
2246
+ stream: false
2247
+ }))
2147
2248
  ];
2148
2249
  case 3:
2149
2250
  data = _state.sent();
@@ -3220,32 +3321,60 @@ var ollamaClientAdapter = function(param) {
3220
3321
  };
3221
3322
  // src/adapters/run/completionsRunAdapter/index.ts
3222
3323
  var import_lodash = __toESM(require("lodash"), 1);
3223
- var import_radash5 = require("radash");
3324
+ var import_radash6 = require("radash");
3224
3325
  var import_dayjs = __toESM(require("dayjs"), 1);
3225
3326
  // src/adapters/run/completionsRunAdapter/messages/index.ts
3226
- var import_radash4 = require("radash");
3327
+ var import_radash5 = require("radash");
3227
3328
  // src/adapters/run/completionsRunAdapter/messages/serializeMessage.ts
3228
- var serializeToolCall = function(param) {
3329
+ var import_radash4 = require("radash");
3330
+ var validToolCallContentTypes = [
3331
+ "image",
3332
+ "text"
3333
+ ];
3334
+ var serializeToolContent = function(param) {
3229
3335
  var toolCall = param.toolCall;
3336
+ if ((0, import_radash4.isArray)(toolCall.function.output)) {
3337
+ var isEveryToolPartValid = toolCall.function.output.every(function(toolPart) {
3338
+ if (!(0, import_radash4.isObject)(toolPart)) return false;
3339
+ var _toolPart_type;
3340
+ return validToolCallContentTypes.includes((_toolPart_type = toolPart.type) !== null && _toolPart_type !== void 0 ? _toolPart_type : "");
3341
+ });
3342
+ if (isEveryToolPartValid) {
3343
+ return toolCall.function.output;
3344
+ }
3345
+ return JSON.stringify(toolCall.function.output);
3346
+ }
3230
3347
  var _toolCall_function_output;
3348
+ return (_toolCall_function_output = toolCall.function.output) !== null && _toolCall_function_output !== void 0 ? _toolCall_function_output : "";
3349
+ };
3350
+ var serializeToolCall = function(param) {
3351
+ var toolCall = param.toolCall;
3231
3352
  return {
3232
3353
  tool_call_id: toolCall.id,
3233
3354
  role: "tool",
3234
3355
  name: toolCall.function.name,
3235
- content: (_toolCall_function_output = toolCall.function.output) !== null && _toolCall_function_output !== void 0 ? _toolCall_function_output : ""
3356
+ content: serializeToolContent({
3357
+ toolCall: toolCall
3358
+ })
3236
3359
  };
3237
3360
  };
3238
3361
  var serializeMessageWithContent = function(param) {
3239
3362
  var message = param.message;
3240
3363
  var _message_metadata;
3241
- return _object_spread({
3364
+ var content = serializeContent({
3365
+ content: message.content
3366
+ });
3367
+ if (message.role === "assistant" && ((_message_metadata = message.metadata) === null || _message_metadata === void 0 ? void 0 : _message_metadata.toolCalls)) {
3368
+ return {
3369
+ role: "assistant",
3370
+ content: content,
3371
+ tool_calls: message.metadata.toolCalls
3372
+ };
3373
+ }
3374
+ return {
3242
3375
  role: message.role,
3243
- content: serializeContent({
3244
- content: message.content
3245
- })
3246
- }, (message === null || message === void 0 ? void 0 : (_message_metadata = message.metadata) === null || _message_metadata === void 0 ? void 0 : _message_metadata.toolCalls) ? {
3247
- tool_calls: message.metadata.toolCalls
3248
- } : {});
3376
+ content: content
3377
+ };
3249
3378
  };
3250
3379
  var serializeContent = function(param) {
3251
3380
  var content = param.content;
@@ -3255,17 +3384,17 @@ var serializeContent = function(param) {
3255
3384
  };
3256
3385
  var serializeMessage3 = function(param) {
3257
3386
  var message = param.message;
3258
- var _message_metadata;
3387
+ var _message_metadata, _message_metadata1;
3259
3388
  var result = [
3260
3389
  serializeMessageWithContent({
3261
3390
  message: message
3262
3391
  })
3263
3392
  ];
3264
- var run2 = message.run;
3265
- if (!run2) return result;
3266
- var messageToolCalls = ((_message_metadata = message.metadata) === null || _message_metadata === void 0 ? void 0 : _message_metadata.toolCalls) || [];
3267
- messageToolCalls.forEach(function(tc) {
3268
- var runStep = run2.runSteps.find(function(rs) {
3393
+ var run3 = message.run;
3394
+ if (!run3) return result;
3395
+ var messageToolCalls = Array.isArray((_message_metadata = message.metadata) === null || _message_metadata === void 0 ? void 0 : _message_metadata.toolCalls) ? (_message_metadata1 = message.metadata) === null || _message_metadata1 === void 0 ? void 0 : _message_metadata1.toolCalls : void 0;
3396
+ (messageToolCalls || []).forEach(function(tc) {
3397
+ var runStep = run3.runSteps.find(function(rs) {
3269
3398
  if (rs.type !== "tool_calls") return false;
3270
3399
  return rs.step_details.tool_calls.some(function(rsTc) {
3271
3400
  if (rsTc.type !== "function") return false;
@@ -3286,18 +3415,18 @@ var serializeMessage3 = function(param) {
3286
3415
  // src/adapters/run/completionsRunAdapter/messages/index.ts
3287
3416
  var messages = /*#__PURE__*/ function() {
3288
3417
  var _ref = _async_to_generator(function(param) {
3289
- var run2, getMessages2, _, _1, _2;
3418
+ var run3, getMessages2, _, _1, _2;
3290
3419
  return _ts_generator(this, function(_state) {
3291
3420
  switch(_state.label){
3292
3421
  case 0:
3293
- run2 = param.run, getMessages2 = param.getMessages;
3294
- _1 = (_ = _to_consumable_array(run2.instructions ? [
3422
+ run3 = param.run, getMessages2 = param.getMessages;
3423
+ _1 = (_ = _to_consumable_array(run3.instructions ? [
3295
3424
  {
3296
3425
  role: "system",
3297
- content: run2.instructions
3426
+ content: run3.instructions
3298
3427
  }
3299
3428
  ] : [])).concat;
3300
- _2 = (0, import_radash4.flat);
3429
+ _2 = (0, import_radash5.flat);
3301
3430
  return [
3302
3431
  4,
3303
3432
  getMessages2()
@@ -3327,7 +3456,7 @@ var messages = /*#__PURE__*/ function() {
3327
3456
  // src/adapters/run/completionsRunAdapter/index.ts
3328
3457
  var updatedToolCall = function(param) {
3329
3458
  var toolCall = param.toolCall, delta = param.delta;
3330
- if (!toolCall) return (0, import_radash5.omit)(delta, [
3459
+ if (!toolCall) return (0, import_radash6.omit)(delta, [
3331
3460
  "index"
3332
3461
  ]);
3333
3462
  var result = import_lodash.default.cloneDeep(toolCall);
@@ -3359,9 +3488,9 @@ var toolCallsData = function(param) {
3359
3488
  if (!prevToolCalls) {
3360
3489
  return delta.tool_calls.map(function(tc) {
3361
3490
  return _object_spread({
3362
- id: (0, import_radash5.uid)(24),
3491
+ id: (0, import_radash6.uid)(24),
3363
3492
  type: "function"
3364
- }, (0, import_radash5.omit)(tc, [
3493
+ }, (0, import_radash6.omit)(tc, [
3365
3494
  "index"
3366
3495
  ]));
3367
3496
  });
@@ -3395,12 +3524,12 @@ var toolCallsData = function(param) {
3395
3524
  var completionsRunAdapter = function() {
3396
3525
  return /*#__PURE__*/ function() {
3397
3526
  var _ref = _async_to_generator(function(param) {
3398
- var clientAdapter, run2, onEvent2, getMessages2, client, opts, _tmp, providerResponse, e, _e_cause, _e_message, _e_cause_message, message, toolCallsRunStep, currentContent, currentToolCalls, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, chunk, _chunk_choices, choices, choice, delta, _delta_content, err;
3527
+ var clientAdapter, run3, onEvent2, getMessages2, getThread2, client, opts, _tmp, providerResponse, e, _e_cause, _e_message, _e_cause_message, message, toolCallsRunStep, currentContent, currentToolCalls, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, chunk, _chunk_choices, choices, choice, delta, _delta_content, err;
3399
3528
  return _ts_generator(this, function(_state) {
3400
3529
  switch(_state.label){
3401
3530
  case 0:
3402
- clientAdapter = param.client, run2 = param.run, onEvent2 = param.onEvent, getMessages2 = param.getMessages;
3403
- if (run2.status !== "queued") return [
3531
+ clientAdapter = param.client, run3 = param.run, onEvent2 = param.onEvent, getMessages2 = param.getMessages, getThread2 = param.getThread;
3532
+ if (run3.status !== "queued") return [
3404
3533
  2
3405
3534
  ];
3406
3535
  client = supercompat({
@@ -3408,7 +3537,7 @@ var completionsRunAdapter = function() {
3408
3537
  });
3409
3538
  onEvent2({
3410
3539
  event: "thread.run.in_progress",
3411
- data: _object_spread_props(_object_spread({}, run2), {
3540
+ data: _object_spread_props(_object_spread({}, run3), {
3412
3541
  status: "in_progress"
3413
3542
  })
3414
3543
  });
@@ -3416,15 +3545,15 @@ var completionsRunAdapter = function() {
3416
3545
  return [
3417
3546
  4,
3418
3547
  messages({
3419
- run: run2,
3548
+ run: run3,
3420
3549
  getMessages: getMessages2
3421
3550
  })
3422
3551
  ];
3423
3552
  case 1:
3424
3553
  opts = _object_spread.apply(void 0, [
3425
- (_tmp.messages = _state.sent(), _tmp.model = run2.model, _tmp.stream = true, _tmp.response_format = run2.response_format, _tmp),
3426
- (0, import_radash5.isEmpty)(run2.tools) ? {} : {
3427
- tools: run2.tools
3554
+ (_tmp.messages = _state.sent(), _tmp.model = run3.model, _tmp.stream = true, _tmp.response_format = run3.response_format, _tmp),
3555
+ (0, import_radash6.isEmpty)(run3.tools) ? {} : {
3556
+ tools: run3.tools
3428
3557
  }
3429
3558
  ]);
3430
3559
  _state.label = 2;
@@ -3452,7 +3581,7 @@ var completionsRunAdapter = function() {
3452
3581
  2,
3453
3582
  onEvent2({
3454
3583
  event: "thread.run.failed",
3455
- data: _object_spread_props(_object_spread({}, run2), {
3584
+ data: _object_spread_props(_object_spread({}, run3), {
3456
3585
  failed_at: (0, import_dayjs.default)().unix(),
3457
3586
  status: "in_progress",
3458
3587
  last_error: {
@@ -3471,14 +3600,14 @@ var completionsRunAdapter = function() {
3471
3600
  id: "THERE_IS_A_BUG_IN_SUPERCOMPAT_IF_YOU_SEE_THIS_ID",
3472
3601
  object: "thread.message",
3473
3602
  completed_at: null,
3474
- run_id: run2.id,
3603
+ run_id: run3.id,
3475
3604
  created_at: (0, import_dayjs.default)().unix(),
3476
- assistant_id: run2.assistant_id,
3605
+ assistant_id: run3.assistant_id,
3477
3606
  incomplete_at: null,
3478
3607
  incomplete_details: null,
3479
3608
  metadata: {},
3480
3609
  attachments: [],
3481
- thread_id: run2.thread_id,
3610
+ thread_id: run3.thread_id,
3482
3611
  content: [
3483
3612
  {
3484
3613
  text: {
@@ -3500,9 +3629,9 @@ var completionsRunAdapter = function() {
3500
3629
  data: {
3501
3630
  id: "THERE_IS_A_BUG_IN_SUPERCOMPAT_IF_YOU_SEE_THIS_ID",
3502
3631
  object: "thread.run.step",
3503
- run_id: run2.id,
3504
- assistant_id: run2.assistant_id,
3505
- thread_id: run2.thread_id,
3632
+ run_id: run3.id,
3633
+ assistant_id: run3.assistant_id,
3634
+ thread_id: run3.thread_id,
3506
3635
  type: "message_creation",
3507
3636
  status: "completed",
3508
3637
  completed_at: (0, import_dayjs.default)().unix(),
@@ -3571,9 +3700,9 @@ var completionsRunAdapter = function() {
3571
3700
  data: {
3572
3701
  id: "THERE_IS_A_BUG_IN_SUPERCOMPAT_IF_YOU_SEE_THIS_ID",
3573
3702
  object: "thread.run.step",
3574
- run_id: run2.id,
3575
- assistant_id: run2.assistant_id,
3576
- thread_id: run2.thread_id,
3703
+ run_id: run3.id,
3704
+ assistant_id: run3.assistant_id,
3705
+ thread_id: run3.thread_id,
3577
3706
  type: "tool_calls",
3578
3707
  status: "in_progress",
3579
3708
  completed_at: null,
@@ -3599,14 +3728,14 @@ var completionsRunAdapter = function() {
3599
3728
  event: "thread.run.step.delta",
3600
3729
  data: {
3601
3730
  object: "thread.run.step.delta",
3602
- run_id: run2.id,
3731
+ run_id: run3.id,
3603
3732
  id: toolCallsRunStep.id,
3604
3733
  delta: {
3605
3734
  step_details: {
3606
3735
  type: "tool_calls",
3607
3736
  tool_calls: delta.tool_calls.map(function(tc) {
3608
3737
  return _object_spread({
3609
- id: (0, import_radash5.uid)(24),
3738
+ id: (0, import_radash6.uid)(24),
3610
3739
  type: "function"
3611
3740
  }, tc);
3612
3741
  })
@@ -3715,12 +3844,12 @@ var completionsRunAdapter = function() {
3715
3844
  ];
3716
3845
  case 22:
3717
3846
  message = _state.sent();
3718
- if ((0, import_radash5.isEmpty)(message.toolCalls)) {
3847
+ if ((0, import_radash6.isEmpty)(currentToolCalls)) {
3719
3848
  return [
3720
3849
  2,
3721
3850
  onEvent2({
3722
3851
  event: "thread.run.completed",
3723
- data: _object_spread_props(_object_spread({}, run2), {
3852
+ data: _object_spread_props(_object_spread({}, run3), {
3724
3853
  status: "completed",
3725
3854
  completed_at: (0, import_dayjs.default)().unix()
3726
3855
  })
@@ -3731,12 +3860,12 @@ var completionsRunAdapter = function() {
3731
3860
  2,
3732
3861
  onEvent2({
3733
3862
  event: "thread.run.requires_action",
3734
- data: _object_spread_props(_object_spread({}, run2), {
3863
+ data: _object_spread_props(_object_spread({}, run3), {
3735
3864
  status: "requires_action",
3736
3865
  required_action: {
3737
3866
  type: "submit_tool_outputs",
3738
3867
  submit_tool_outputs: {
3739
- tool_calls: message.toolCalls
3868
+ tool_calls: currentToolCalls
3740
3869
  }
3741
3870
  }
3742
3871
  })
@@ -3750,167 +3879,1733 @@ var completionsRunAdapter = function() {
3750
3879
  };
3751
3880
  }();
3752
3881
  };
3753
- // src/lib/messages/messagesRegexp.ts
3754
- var messagesRegexp = "^/(?:v1|/?openai)/threads/([^/]+)/messages$";
3755
- // src/lib/runs/runsRegexp.ts
3756
- var runsRegexp = "^/(?:v1|/?openai)/threads/([^/]+)/runs$";
3757
- // src/lib/runs/runRegexp.ts
3758
- var runRegexp = "^/(?:v1|/?openai)/threads/([^/]+)/runs/([^/]+)$";
3759
- // src/lib/runs/submitToolOutputsRegexp.ts
3760
- var submitToolOutputsRegexp = "^/(?:v1|/?openai)/threads/([^/]+)/runs/([^/]+)/submit_tool_outputs$";
3761
- // src/lib/steps/stepsRegexp.ts
3762
- var stepsRegexp = "^/(?:v1|/?openai)/threads/([^/]+)/runs/([^/]+)/steps$";
3763
- // src/adapters/storage/prismaStorageAdapter/threads/post.ts
3764
- var import_dayjs3 = __toESM(require("dayjs"), 1);
3765
- // src/adapters/storage/prismaStorageAdapter/threads/serializeThread.ts
3882
+ // src/adapters/run/responsesRunAdapter/index.ts
3883
+ var import_radash8 = require("radash");
3766
3884
  var import_dayjs2 = __toESM(require("dayjs"), 1);
3767
- var serializeThread = function(param) {
3768
- var thread = param.thread;
3769
- return {
3770
- id: thread.id,
3771
- object: "thread",
3772
- created_at: (0, import_dayjs2.default)(thread.createdAt).unix(),
3773
- metadata: thread.metadata,
3774
- // TODO
3775
- tool_resources: null
3776
- };
3885
+ // src/adapters/run/responsesRunAdapter/messages/index.ts
3886
+ var import_radash7 = require("radash");
3887
+ // src/adapters/run/responsesRunAdapter/messages/serializeMessage.ts
3888
+ var serializeMessage4 = function(param) {
3889
+ var message = param.message;
3890
+ if (message.role === "tool") {
3891
+ var toolMessage = message;
3892
+ var output = typeof toolMessage.content === "string" ? toolMessage.content : JSON.stringify(toolMessage.content);
3893
+ var _toolMessage_tool_call_id;
3894
+ return [
3895
+ {
3896
+ type: "function_call_output",
3897
+ call_id: (_toolMessage_tool_call_id = toolMessage.tool_call_id) !== null && _toolMessage_tool_call_id !== void 0 ? _toolMessage_tool_call_id : toolMessage.id,
3898
+ output: output
3899
+ }
3900
+ ];
3901
+ }
3902
+ if (message.role === "assistant" && message.tool_calls && message.tool_calls.length > 0) {
3903
+ return message.tool_calls.map(function(tc) {
3904
+ return {
3905
+ type: "function_call",
3906
+ id: tc.id,
3907
+ call_id: tc.id,
3908
+ name: tc.function.name,
3909
+ arguments: tc.function.arguments
3910
+ };
3911
+ });
3912
+ }
3913
+ var contentBlocks = message.content;
3914
+ var text = contentBlocks.map(function(c) {
3915
+ return c.text.value;
3916
+ }).join("\n");
3917
+ if (message.role === "assistant") {
3918
+ return [
3919
+ {
3920
+ role: "assistant",
3921
+ content: [
3922
+ {
3923
+ type: "output_text",
3924
+ text: text
3925
+ }
3926
+ ],
3927
+ status: "completed",
3928
+ type: "message"
3929
+ }
3930
+ ];
3931
+ }
3932
+ return [
3933
+ {
3934
+ role: message.role,
3935
+ content: [
3936
+ {
3937
+ type: "input_text",
3938
+ text: text
3939
+ }
3940
+ ],
3941
+ type: "message"
3942
+ }
3943
+ ];
3777
3944
  };
3778
- // src/adapters/storage/prismaStorageAdapter/threads/post.ts
3779
- var post10 = function(param) {
3780
- var prisma = param.prisma;
3781
- return /*#__PURE__*/ _async_to_generator(function() {
3782
- var _len, args, _key, body, messages3, metadata, initialCreatedAt, thread;
3783
- var _arguments = arguments;
3945
+ // src/adapters/run/responsesRunAdapter/messages/index.ts
3946
+ var messages2 = /*#__PURE__*/ function() {
3947
+ var _ref = _async_to_generator(function(param) {
3948
+ var run3, getMessages2, _;
3784
3949
  return _ts_generator(this, function(_state) {
3785
3950
  switch(_state.label){
3786
3951
  case 0:
3787
- for(_len = _arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
3788
- args[_key] = _arguments[_key];
3789
- }
3790
- body = JSON.parse(args[1].body);
3791
- messages3 = body.messages || [];
3792
- metadata = body.metadata || {};
3793
- initialCreatedAt = (0, import_dayjs3.default)().subtract(messages3.length, "seconds").format();
3952
+ run3 = param.run, getMessages2 = param.getMessages;
3953
+ _ = (0, import_radash7.flat);
3794
3954
  return [
3795
3955
  4,
3796
- prisma.thread.create({
3797
- data: _object_spread_props(_object_spread({
3798
- metadata: metadata
3799
- }, metadata.assistantId ? {
3800
- assistant: {
3801
- connect: {
3802
- id: metadata.assistantId
3803
- }
3804
- }
3805
- } : {}), {
3806
- messages: {
3807
- create: messages3.map(function(message, index) {
3808
- return {
3809
- role: message.role === "user" ? "USER" : "ASSISTANT",
3810
- content: [
3811
- {
3812
- type: "text",
3813
- text: {
3814
- annotations: [],
3815
- value: message.content
3816
- }
3817
- }
3818
- ],
3819
- attachments: message.attachments,
3820
- metadata: message.metadata,
3821
- createdAt: (0, import_dayjs3.default)(initialCreatedAt).add(index, "seconds").toDate()
3822
- };
3823
- })
3824
- }
3825
- })
3826
- })
3956
+ getMessages2()
3827
3957
  ];
3828
3958
  case 1:
3829
- thread = _state.sent();
3830
3959
  return [
3831
3960
  2,
3832
- new Response(JSON.stringify(serializeThread({
3833
- thread: thread
3834
- })), {
3835
- status: 200,
3836
- headers: {
3837
- "Content-Type": "application/json"
3838
- }
3839
- })
3961
+ _.apply(void 0, [
3962
+ _state.sent().map(function(message) {
3963
+ return serializeMessage4({
3964
+ message: message
3965
+ });
3966
+ })
3967
+ ])
3840
3968
  ];
3841
3969
  }
3842
3970
  });
3843
3971
  });
3844
- };
3845
- // src/adapters/storage/prismaStorageAdapter/threads/index.ts
3846
- var threads = function(param) {
3847
- var prisma = param.prisma;
3848
- return {
3849
- post: post10({
3850
- prisma: prisma
3851
- })
3852
- };
3853
- };
3854
- // src/adapters/storage/prismaStorageAdapter/threads/messages/post.ts
3855
- var import_radash7 = require("radash");
3856
- // src/adapters/storage/prismaStorageAdapter/threads/messages/serializeMessage.ts
3857
- var import_dayjs4 = __toESM(require("dayjs"), 1);
3858
- var import_radash6 = require("radash");
3859
- var serializeMessage4 = function(param) {
3860
- var message = param.message;
3861
- var _message_metadata;
3862
- return {
3863
- id: message.id,
3864
- object: "thread.message",
3865
- created_at: (0, import_dayjs4.default)(message.createdAt).unix(),
3866
- thread_id: message.threadId,
3867
- completed_at: message.completedAt ? (0, import_dayjs4.default)(message.completedAt).unix() : null,
3868
- incomplete_at: message.incompleteAt ? (0, import_dayjs4.default)(message.incompleteAt).unix() : null,
3869
- incomplete_details: message.incompleteDetails,
3870
- role: message.role.toLowerCase(),
3871
- content: message.content,
3872
- assistant_id: message.assistantId,
3873
- run_id: message.runId,
3874
- attachments: message.attachments,
3875
- status: message.status.toLowerCase(),
3876
- metadata: (0, import_radash6.assign)((_message_metadata = message.metadata) !== null && _message_metadata !== void 0 ? _message_metadata : {}, message.toolCalls ? {
3877
- toolCalls: message.toolCalls
3878
- } : {})
3972
+ return function messages2(_) {
3973
+ return _ref.apply(this, arguments);
3879
3974
  };
3880
- };
3881
- // src/adapters/storage/prismaStorageAdapter/threads/messages/post.ts
3882
- var messageContentBlocks = function(param) {
3883
- var content = param.content;
3884
- if ((0, import_radash7.isArray)(content)) {
3885
- return content.map(function(item) {
3886
- if (item.type === "text") {
3887
- var _item_text;
3888
- return {
3889
- type: "text",
3890
- text: {
3891
- value: (_item_text = item.text) !== null && _item_text !== void 0 ? _item_text : "",
3892
- annotations: []
3893
- }
3894
- };
3895
- }
3896
- return item;
3897
- });
3898
- }
3899
- return [
3900
- {
3901
- type: "text",
3902
- text: {
3903
- value: content !== null && content !== void 0 ? content : "",
3904
- annotations: []
3905
- }
3906
- }
3907
- ];
3908
- };
3909
- var post11 = function(param) {
3910
- var prisma = param.prisma;
3975
+ }();
3976
+ // src/adapters/run/responsesRunAdapter/index.ts
3977
+ var responsesRunAdapter = function() {
3911
3978
  return /*#__PURE__*/ function() {
3912
- var _ref = _async_to_generator(function(urlString, options) {
3913
- var url, _url_pathname_match, threadId, body, role, content, metadata, message;
3979
+ var _ref = _async_to_generator(function(param) {
3980
+ var clientAdapter, run3, onEvent2, getMessages2, getThread2, client, thread, _thread_openaiConversationId, openaiConversationId, input, mappedTools, opts, providerResponse, e, _e_cause, _e_message, _e_cause_message, msg, message, toolCallsRunStep, currentContent, currentToolCalls, toolCallsByItemId, newConversationId, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _loop, _iterator, _step, _ret, err, _run3_metadata, _run3_metadata1, _message_tool_calls;
3981
+ return _ts_generator(this, function(_state) {
3982
+ switch(_state.label){
3983
+ case 0:
3984
+ clientAdapter = param.client, run3 = param.run, onEvent2 = param.onEvent, getMessages2 = param.getMessages, getThread2 = param.getThread;
3985
+ if (run3.status !== "queued") return [
3986
+ 2
3987
+ ];
3988
+ client = supercompat({
3989
+ client: clientAdapter
3990
+ });
3991
+ onEvent2({
3992
+ event: "thread.run.in_progress",
3993
+ data: _object_spread_props(_object_spread({}, run3), {
3994
+ status: "in_progress"
3995
+ })
3996
+ });
3997
+ return [
3998
+ 4,
3999
+ getThread2()
4000
+ ];
4001
+ case 1:
4002
+ thread = _state.sent();
4003
+ openaiConversationId = (_thread_openaiConversationId = thread === null || thread === void 0 ? void 0 : thread.openaiConversationId) !== null && _thread_openaiConversationId !== void 0 ? _thread_openaiConversationId : void 0;
4004
+ return [
4005
+ 4,
4006
+ messages2({
4007
+ run: run3,
4008
+ getMessages: getMessages2
4009
+ })
4010
+ ];
4011
+ case 2:
4012
+ input = _state.sent();
4013
+ mappedTools = (run3.tools || []).map(function(t) {
4014
+ return t.type === "function" ? {
4015
+ type: "function",
4016
+ name: t.function.name,
4017
+ description: t.function.description,
4018
+ parameters: t.function.parameters
4019
+ } : t;
4020
+ });
4021
+ opts = _object_spread({
4022
+ model: run3.model,
4023
+ input: input
4024
+ }, run3.instructions ? {
4025
+ instructions: run3.instructions
4026
+ } : {}, (0, import_radash8.isEmpty)(mappedTools) ? {} : {
4027
+ tools: mappedTools
4028
+ }, _type_of(run3.response_format) === "object" && run3.response_format.type && run3.response_format.type !== "text" ? {
4029
+ response_format: run3.response_format
4030
+ } : {});
4031
+ _state.label = 3;
4032
+ case 3:
4033
+ _state.trys.push([
4034
+ 3,
4035
+ 5,
4036
+ ,
4037
+ 6
4038
+ ]);
4039
+ return [
4040
+ 4,
4041
+ client.responses.create(_object_spread_props(_object_spread({}, opts, openaiConversationId ? {
4042
+ conversation: openaiConversationId
4043
+ } : {}), {
4044
+ stream: true
4045
+ }))
4046
+ ];
4047
+ case 4:
4048
+ providerResponse = _state.sent();
4049
+ return [
4050
+ 3,
4051
+ 6
4052
+ ];
4053
+ case 5:
4054
+ e = _state.sent();
4055
+ msg = "".concat((_e_message = e === null || e === void 0 ? void 0 : e.message) !== null && _e_message !== void 0 ? _e_message : "", " ").concat((_e_cause_message = e === null || e === void 0 ? void 0 : (_e_cause = e.cause) === null || _e_cause === void 0 ? void 0 : _e_cause.message) !== null && _e_cause_message !== void 0 ? _e_cause_message : "").trim();
4056
+ console.error(e);
4057
+ return [
4058
+ 2,
4059
+ onEvent2({
4060
+ event: "thread.run.failed",
4061
+ data: _object_spread_props(_object_spread({}, run3), {
4062
+ failed_at: (0, import_dayjs2.default)().unix(),
4063
+ status: "in_progress",
4064
+ last_error: {
4065
+ code: "server_error",
4066
+ message: msg
4067
+ }
4068
+ })
4069
+ })
4070
+ ];
4071
+ case 6:
4072
+ return [
4073
+ 4,
4074
+ onEvent2({
4075
+ event: "thread.message.created",
4076
+ data: {
4077
+ id: "THERE_IS_A_BUG_IN_SUPERCOMPAT_IF_YOU_SEE_THIS_ID",
4078
+ object: "thread.message",
4079
+ completed_at: null,
4080
+ run_id: run3.id,
4081
+ created_at: (0, import_dayjs2.default)().unix(),
4082
+ assistant_id: run3.assistant_id,
4083
+ incomplete_at: null,
4084
+ incomplete_details: null,
4085
+ metadata: {},
4086
+ attachments: [],
4087
+ thread_id: run3.thread_id,
4088
+ content: [
4089
+ {
4090
+ text: {
4091
+ value: "",
4092
+ annotations: []
4093
+ },
4094
+ type: "text"
4095
+ }
4096
+ ],
4097
+ role: "assistant",
4098
+ status: "in_progress"
4099
+ }
4100
+ })
4101
+ ];
4102
+ case 7:
4103
+ message = _state.sent();
4104
+ onEvent2({
4105
+ event: "thread.run.step.created",
4106
+ data: {
4107
+ id: "THERE_IS_A_BUG_IN_SUPERCOMPAT_IF_YOU_SEE_THIS_ID",
4108
+ object: "thread.run.step",
4109
+ run_id: run3.id,
4110
+ assistant_id: run3.assistant_id,
4111
+ thread_id: run3.thread_id,
4112
+ type: "message_creation",
4113
+ status: "completed",
4114
+ completed_at: (0, import_dayjs2.default)().unix(),
4115
+ created_at: (0, import_dayjs2.default)().unix(),
4116
+ expired_at: null,
4117
+ last_error: null,
4118
+ metadata: {},
4119
+ failed_at: null,
4120
+ cancelled_at: null,
4121
+ usage: null,
4122
+ step_details: {
4123
+ type: "message_creation",
4124
+ message_creation: {
4125
+ message_id: message.id
4126
+ }
4127
+ }
4128
+ }
4129
+ });
4130
+ currentContent = "";
4131
+ currentToolCalls = [];
4132
+ toolCallsByItemId = {};
4133
+ _iteratorAbruptCompletion = false, _didIteratorError = false;
4134
+ _state.label = 8;
4135
+ case 8:
4136
+ _state.trys.push([
4137
+ 8,
4138
+ 14,
4139
+ 15,
4140
+ 20
4141
+ ]);
4142
+ _loop = function() {
4143
+ var _value, event, _, _event_response, _event_response_conversation, _event_response1, _event_response_conversation_id, convId, _event_item_call_id, _ref, callId, newToolCall, _event_item_id, tc, _event_error, _run3_metadata, _event_error_message;
4144
+ return _ts_generator(this, function(_state) {
4145
+ switch(_state.label){
4146
+ case 0:
4147
+ _value = _step.value;
4148
+ event = _value;
4149
+ _ = event.type;
4150
+ switch(_){
4151
+ case "response.created":
4152
+ return [
4153
+ 3,
4154
+ 1
4155
+ ];
4156
+ case "response.output_text.delta":
4157
+ return [
4158
+ 3,
4159
+ 2
4160
+ ];
4161
+ case "response.output_item.added":
4162
+ return [
4163
+ 3,
4164
+ 3
4165
+ ];
4166
+ case "response.function_call_arguments.delta":
4167
+ return [
4168
+ 3,
4169
+ 7
4170
+ ];
4171
+ case "response.error":
4172
+ return [
4173
+ 3,
4174
+ 8
4175
+ ];
4176
+ }
4177
+ return [
4178
+ 3,
4179
+ 10
4180
+ ];
4181
+ case 1:
4182
+ {
4183
+ ;
4184
+ ;
4185
+ convId = (_event_response_conversation_id = (_event_response = event.response) === null || _event_response === void 0 ? void 0 : _event_response.conversation_id) !== null && _event_response_conversation_id !== void 0 ? _event_response_conversation_id : (_event_response1 = event.response) === null || _event_response1 === void 0 ? void 0 : (_event_response_conversation = _event_response1.conversation) === null || _event_response_conversation === void 0 ? void 0 : _event_response_conversation.id;
4186
+ if (convId) {
4187
+ newConversationId = convId;
4188
+ }
4189
+ return [
4190
+ 3,
4191
+ 11
4192
+ ];
4193
+ }
4194
+ _state.label = 2;
4195
+ case 2:
4196
+ {
4197
+ currentContent = "".concat(currentContent).concat(event.delta);
4198
+ onEvent2({
4199
+ event: "thread.message.delta",
4200
+ data: {
4201
+ id: message.id,
4202
+ delta: {
4203
+ content: [
4204
+ {
4205
+ type: "text",
4206
+ index: 0,
4207
+ text: {
4208
+ value: event.delta
4209
+ }
4210
+ }
4211
+ ]
4212
+ }
4213
+ }
4214
+ });
4215
+ return [
4216
+ 3,
4217
+ 11
4218
+ ];
4219
+ }
4220
+ _state.label = 3;
4221
+ case 3:
4222
+ if (!(event.item.type === "function_call")) return [
4223
+ 3,
4224
+ 6
4225
+ ];
4226
+ if (!!toolCallsRunStep) return [
4227
+ 3,
4228
+ 5
4229
+ ];
4230
+ return [
4231
+ 4,
4232
+ onEvent2({
4233
+ event: "thread.run.step.created",
4234
+ data: {
4235
+ id: "THERE_IS_A_BUG_IN_SUPERCOMPAT_IF_YOU_SEE_THIS_ID",
4236
+ object: "thread.run.step",
4237
+ run_id: run3.id,
4238
+ assistant_id: run3.assistant_id,
4239
+ thread_id: run3.thread_id,
4240
+ type: "tool_calls",
4241
+ status: "in_progress",
4242
+ completed_at: null,
4243
+ created_at: (0, import_dayjs2.default)().unix(),
4244
+ expired_at: null,
4245
+ last_error: null,
4246
+ metadata: {},
4247
+ failed_at: null,
4248
+ cancelled_at: null,
4249
+ usage: null,
4250
+ step_details: {
4251
+ type: "tool_calls",
4252
+ tool_calls: []
4253
+ }
4254
+ }
4255
+ })
4256
+ ];
4257
+ case 4:
4258
+ toolCallsRunStep = _state.sent();
4259
+ _state.label = 5;
4260
+ case 5:
4261
+ callId = (_ref = (_event_item_call_id = event.item.call_id) !== null && _event_item_call_id !== void 0 ? _event_item_call_id : event.item.id) !== null && _ref !== void 0 ? _ref : (0, import_radash8.uid)(24);
4262
+ newToolCall = {
4263
+ id: callId,
4264
+ type: "function",
4265
+ function: {
4266
+ name: event.item.name,
4267
+ arguments: ""
4268
+ },
4269
+ index: currentToolCalls.length
4270
+ };
4271
+ currentToolCalls.push(newToolCall);
4272
+ toolCallsByItemId[(_event_item_id = event.item.id) !== null && _event_item_id !== void 0 ? _event_item_id : callId] = newToolCall;
4273
+ onEvent2({
4274
+ event: "thread.run.step.delta",
4275
+ data: {
4276
+ object: "thread.run.step.delta",
4277
+ run_id: run3.id,
4278
+ id: toolCallsRunStep.id,
4279
+ delta: {
4280
+ step_details: {
4281
+ type: "tool_calls",
4282
+ tool_calls: [
4283
+ newToolCall
4284
+ ]
4285
+ }
4286
+ }
4287
+ }
4288
+ });
4289
+ _state.label = 6;
4290
+ case 6:
4291
+ return [
4292
+ 3,
4293
+ 11
4294
+ ];
4295
+ case 7:
4296
+ {
4297
+ tc = toolCallsByItemId[event.item_id] || currentToolCalls.find(function(t) {
4298
+ return t.id === event.item_id;
4299
+ });
4300
+ if (tc) {
4301
+ tc.function.arguments = "".concat(tc.function.arguments).concat(event.delta);
4302
+ onEvent2({
4303
+ event: "thread.run.step.delta",
4304
+ data: {
4305
+ object: "thread.run.step.delta",
4306
+ run_id: run3.id,
4307
+ id: toolCallsRunStep.id,
4308
+ delta: {
4309
+ step_details: {
4310
+ type: "tool_calls",
4311
+ tool_calls: [
4312
+ {
4313
+ id: tc.id,
4314
+ type: "function",
4315
+ function: {
4316
+ name: tc.function.name,
4317
+ arguments: tc.function.arguments
4318
+ },
4319
+ index: currentToolCalls.findIndex(function(t) {
4320
+ return t.id === tc.id;
4321
+ })
4322
+ }
4323
+ ]
4324
+ }
4325
+ }
4326
+ }
4327
+ });
4328
+ }
4329
+ return [
4330
+ 3,
4331
+ 11
4332
+ ];
4333
+ }
4334
+ _state.label = 8;
4335
+ case 8:
4336
+ return [
4337
+ 4,
4338
+ onEvent2({
4339
+ event: "thread.run.failed",
4340
+ data: _object_spread_props(_object_spread({}, run3, newConversationId ? {
4341
+ metadata: _object_spread_props(_object_spread({}, (_run3_metadata = run3.metadata) !== null && _run3_metadata !== void 0 ? _run3_metadata : {}), {
4342
+ openaiConversationId: newConversationId
4343
+ })
4344
+ } : {}), {
4345
+ failed_at: (0, import_dayjs2.default)().unix(),
4346
+ status: "in_progress",
4347
+ last_error: {
4348
+ code: "server_error",
4349
+ message: (_event_error_message = (_event_error = event.error) === null || _event_error === void 0 ? void 0 : _event_error.message) !== null && _event_error_message !== void 0 ? _event_error_message : "unknown_error"
4350
+ }
4351
+ })
4352
+ })
4353
+ ];
4354
+ case 9:
4355
+ _state.sent();
4356
+ return [
4357
+ 2,
4358
+ {
4359
+ v: void void 0
4360
+ }
4361
+ ];
4362
+ case 10:
4363
+ return [
4364
+ 3,
4365
+ 11
4366
+ ];
4367
+ case 11:
4368
+ return [
4369
+ 2
4370
+ ];
4371
+ }
4372
+ });
4373
+ };
4374
+ _iterator = _async_iterator(providerResponse);
4375
+ _state.label = 9;
4376
+ case 9:
4377
+ return [
4378
+ 4,
4379
+ _iterator.next()
4380
+ ];
4381
+ case 10:
4382
+ if (!(_iteratorAbruptCompletion = !(_step = _state.sent()).done)) return [
4383
+ 3,
4384
+ 13
4385
+ ];
4386
+ return [
4387
+ 5,
4388
+ _ts_values(_loop())
4389
+ ];
4390
+ case 11:
4391
+ _ret = _state.sent();
4392
+ if (_type_of(_ret) === "object") return [
4393
+ 2,
4394
+ _ret.v
4395
+ ];
4396
+ _state.label = 12;
4397
+ case 12:
4398
+ _iteratorAbruptCompletion = false;
4399
+ return [
4400
+ 3,
4401
+ 9
4402
+ ];
4403
+ case 13:
4404
+ return [
4405
+ 3,
4406
+ 20
4407
+ ];
4408
+ case 14:
4409
+ err = _state.sent();
4410
+ _didIteratorError = true;
4411
+ _iteratorError = err;
4412
+ return [
4413
+ 3,
4414
+ 20
4415
+ ];
4416
+ case 15:
4417
+ _state.trys.push([
4418
+ 15,
4419
+ ,
4420
+ 18,
4421
+ 19
4422
+ ]);
4423
+ if (!(_iteratorAbruptCompletion && _iterator.return != null)) return [
4424
+ 3,
4425
+ 17
4426
+ ];
4427
+ return [
4428
+ 4,
4429
+ _iterator.return()
4430
+ ];
4431
+ case 16:
4432
+ _state.sent();
4433
+ _state.label = 17;
4434
+ case 17:
4435
+ return [
4436
+ 3,
4437
+ 19
4438
+ ];
4439
+ case 18:
4440
+ if (_didIteratorError) {
4441
+ throw _iteratorError;
4442
+ }
4443
+ return [
4444
+ 7
4445
+ ];
4446
+ case 19:
4447
+ return [
4448
+ 7
4449
+ ];
4450
+ case 20:
4451
+ if (!((0, import_radash8.isEmpty)(currentToolCalls) && typeof providerResponse.final === "function")) return [
4452
+ 3,
4453
+ 22
4454
+ ];
4455
+ return [
4456
+ 4,
4457
+ providerResponse.final().catch(function() {})
4458
+ ];
4459
+ case 21:
4460
+ _state.sent();
4461
+ _state.label = 22;
4462
+ case 22:
4463
+ return [
4464
+ 4,
4465
+ onEvent2({
4466
+ event: "thread.message.completed",
4467
+ data: _object_spread_props(_object_spread({}, message), {
4468
+ status: "completed",
4469
+ content: [
4470
+ {
4471
+ text: {
4472
+ value: currentContent,
4473
+ annotations: []
4474
+ },
4475
+ type: "text"
4476
+ }
4477
+ ],
4478
+ tool_calls: currentToolCalls
4479
+ })
4480
+ })
4481
+ ];
4482
+ case 23:
4483
+ message = _state.sent();
4484
+ if ((0, import_radash8.isEmpty)(message.tool_calls)) {
4485
+ ;
4486
+ return [
4487
+ 2,
4488
+ onEvent2({
4489
+ event: "thread.run.completed",
4490
+ data: _object_spread(_object_spread_props(_object_spread({}, run3), {
4491
+ status: "completed",
4492
+ completed_at: (0, import_dayjs2.default)().unix()
4493
+ }), newConversationId ? {
4494
+ metadata: _object_spread_props(_object_spread({}, (_run3_metadata = run3.metadata) !== null && _run3_metadata !== void 0 ? _run3_metadata : {}), {
4495
+ openaiConversationId: newConversationId
4496
+ })
4497
+ } : {})
4498
+ })
4499
+ ];
4500
+ }
4501
+ return [
4502
+ 2,
4503
+ onEvent2({
4504
+ event: "thread.run.requires_action",
4505
+ data: _object_spread_props(_object_spread(_object_spread_props(_object_spread({}, run3), {
4506
+ status: "requires_action"
4507
+ }), newConversationId ? {
4508
+ metadata: _object_spread_props(_object_spread({}, (_run3_metadata1 = run3.metadata) !== null && _run3_metadata1 !== void 0 ? _run3_metadata1 : {}), {
4509
+ openaiConversationId: newConversationId
4510
+ })
4511
+ } : {}), {
4512
+ required_action: {
4513
+ type: "submit_tool_outputs",
4514
+ submit_tool_outputs: {
4515
+ tool_calls: (_message_tool_calls = message.tool_calls) !== null && _message_tool_calls !== void 0 ? _message_tool_calls : []
4516
+ }
4517
+ }
4518
+ })
4519
+ })
4520
+ ];
4521
+ }
4522
+ });
4523
+ });
4524
+ return function(_) {
4525
+ return _ref.apply(this, arguments);
4526
+ };
4527
+ }();
4528
+ };
4529
+ // src/lib/messages/messagesRegexp.ts
4530
+ var messagesRegexp = "^/(?:v1/|openai/)?threads/([^/]+)/messages$";
4531
+ // src/lib/runs/runsRegexp.ts
4532
+ var runsRegexp = "^/(?:v1/|openai/)?threads/([^/]+)/runs$";
4533
+ // src/lib/runs/runRegexp.ts
4534
+ var runRegexp = "^/(?:v1/|openai/)?threads/([^/]+)/runs/([^/]+)$";
4535
+ // src/lib/runs/submitToolOutputsRegexp.ts
4536
+ var submitToolOutputsRegexp = "^/(?:v1/|openai/)?threads/([^/]+)/runs/([^/]+)/submit_tool_outputs$";
4537
+ // src/lib/steps/stepsRegexp.ts
4538
+ var stepsRegexp = "^/(?:v1/|openai/)?threads/([^/]+)/runs/([^/]+)/steps$";
4539
+ // src/adapters/storage/openaiResponsesStorageAdapter/threads/post.ts
4540
+ var import_dayjs3 = __toESM(require("dayjs"), 1);
4541
+ var post10 = function(param) {
4542
+ var openai = param.openai;
4543
+ return /*#__PURE__*/ function() {
4544
+ var _ref = _async_to_generator(function(_urlString, options) {
4545
+ var body, oai, conversation, _conversation_created_at, thread;
4546
+ return _ts_generator(this, function(_state) {
4547
+ switch(_state.label){
4548
+ case 0:
4549
+ body = (options === null || options === void 0 ? void 0 : options.body) ? JSON.parse(options.body) : {};
4550
+ oai = openai;
4551
+ return [
4552
+ 4,
4553
+ oai.conversations.create({
4554
+ metadata: body.metadata || {}
4555
+ })
4556
+ ];
4557
+ case 1:
4558
+ conversation = _state.sent();
4559
+ thread = {
4560
+ id: conversation.id,
4561
+ object: "thread",
4562
+ created_at: (_conversation_created_at = conversation.created_at) !== null && _conversation_created_at !== void 0 ? _conversation_created_at : (0, import_dayjs3.default)().unix(),
4563
+ metadata: conversation.metadata || {},
4564
+ tool_resources: null,
4565
+ openaiConversationId: conversation.id
4566
+ };
4567
+ return [
4568
+ 2,
4569
+ new Response(JSON.stringify(thread), {
4570
+ status: 200,
4571
+ headers: {
4572
+ "Content-Type": "application/json"
4573
+ }
4574
+ })
4575
+ ];
4576
+ }
4577
+ });
4578
+ });
4579
+ return function(_urlString, options) {
4580
+ return _ref.apply(this, arguments);
4581
+ };
4582
+ }();
4583
+ };
4584
+ // src/adapters/storage/openaiResponsesStorageAdapter/threads/index.ts
4585
+ var threads = function(param) {
4586
+ var openai = param.openai;
4587
+ return {
4588
+ post: post10({
4589
+ openai: openai
4590
+ })
4591
+ };
4592
+ };
4593
+ // src/adapters/storage/openaiResponsesStorageAdapter/threads/messages/post.ts
4594
+ var import_dayjs4 = __toESM(require("dayjs"), 1);
4595
+ var post11 = function(param) {
4596
+ var openai = param.openai;
4597
+ return /*#__PURE__*/ function() {
4598
+ var _ref = _async_to_generator(function(urlString, options) {
4599
+ var url, _url_pathname_match, threadId, body, content, oai;
4600
+ return _ts_generator(this, function(_state) {
4601
+ switch(_state.label){
4602
+ case 0:
4603
+ url = new URL(urlString);
4604
+ _url_pathname_match = _sliced_to_array(url.pathname.match(new RegExp(messagesRegexp)), 2), threadId = _url_pathname_match[1];
4605
+ body = JSON.parse(options.body);
4606
+ content = typeof body.content === "string" ? body.content : "";
4607
+ oai = openai;
4608
+ return [
4609
+ 4,
4610
+ oai.conversations.items.create(threadId, {
4611
+ items: [
4612
+ {
4613
+ type: "message",
4614
+ role: body.role,
4615
+ content: [
4616
+ {
4617
+ type: "input_text",
4618
+ text: content
4619
+ }
4620
+ ]
4621
+ }
4622
+ ]
4623
+ })
4624
+ ];
4625
+ case 1:
4626
+ _state.sent();
4627
+ return [
4628
+ 2,
4629
+ new Response(JSON.stringify({
4630
+ id: "msg_".concat(Date.now()),
4631
+ object: "thread.message",
4632
+ created_at: (0, import_dayjs4.default)().unix(),
4633
+ thread_id: threadId,
4634
+ role: body.role,
4635
+ content: [
4636
+ {
4637
+ type: "text",
4638
+ text: {
4639
+ value: content,
4640
+ annotations: []
4641
+ }
4642
+ }
4643
+ ],
4644
+ metadata: body.metadata || {},
4645
+ assistant_id: null,
4646
+ run_id: null,
4647
+ attachments: [],
4648
+ status: "completed",
4649
+ completed_at: (0, import_dayjs4.default)().unix(),
4650
+ incomplete_at: null,
4651
+ incomplete_details: null
4652
+ }), {
4653
+ status: 200,
4654
+ headers: {
4655
+ "Content-Type": "application/json"
4656
+ }
4657
+ })
4658
+ ];
4659
+ }
4660
+ });
4661
+ });
4662
+ return function(urlString, options) {
4663
+ return _ref.apply(this, arguments);
4664
+ };
4665
+ }();
4666
+ };
4667
+ // src/adapters/storage/openaiResponsesStorageAdapter/threads/messages/list.ts
4668
+ var import_dayjs5 = __toESM(require("dayjs"), 1);
4669
+ var list = function(param) {
4670
+ var openai = param.openai;
4671
+ return /*#__PURE__*/ function() {
4672
+ var _ref = _async_to_generator(function(urlString) {
4673
+ var url, _url_pathname_match, threadId, oai, items, messages5, _items_has_more;
4674
+ return _ts_generator(this, function(_state) {
4675
+ switch(_state.label){
4676
+ case 0:
4677
+ url = new URL(urlString);
4678
+ _url_pathname_match = _sliced_to_array(url.pathname.match(new RegExp(messagesRegexp)), 2), threadId = _url_pathname_match[1];
4679
+ oai = openai;
4680
+ return [
4681
+ 4,
4682
+ oai.conversations.items.list(threadId)
4683
+ ];
4684
+ case 1:
4685
+ items = _state.sent();
4686
+ messages5 = (items.data || []).filter(function(item) {
4687
+ return item.type === "message";
4688
+ }).map(function(item) {
4689
+ var _item_created_at, _item_completed_at;
4690
+ return {
4691
+ id: item.id,
4692
+ object: "thread.message",
4693
+ created_at: (_item_created_at = item.created_at) !== null && _item_created_at !== void 0 ? _item_created_at : (0, import_dayjs5.default)().unix(),
4694
+ thread_id: threadId,
4695
+ role: item.role,
4696
+ content: (item.content || []).map(function(c) {
4697
+ return {
4698
+ type: "text",
4699
+ text: {
4700
+ value: c.text,
4701
+ annotations: []
4702
+ }
4703
+ };
4704
+ }),
4705
+ metadata: {},
4706
+ assistant_id: null,
4707
+ run_id: null,
4708
+ attachments: [],
4709
+ status: "completed",
4710
+ completed_at: (_item_completed_at = item.completed_at) !== null && _item_completed_at !== void 0 ? _item_completed_at : (0, import_dayjs5.default)().unix(),
4711
+ incomplete_at: null,
4712
+ incomplete_details: null
4713
+ };
4714
+ });
4715
+ return [
4716
+ 2,
4717
+ new Response(JSON.stringify({
4718
+ object: "list",
4719
+ data: messages5,
4720
+ has_more: (_items_has_more = items.has_more) !== null && _items_has_more !== void 0 ? _items_has_more : false
4721
+ }), {
4722
+ status: 200,
4723
+ headers: {
4724
+ "Content-Type": "application/json"
4725
+ }
4726
+ })
4727
+ ];
4728
+ }
4729
+ });
4730
+ });
4731
+ return function(urlString) {
4732
+ return _ref.apply(this, arguments);
4733
+ };
4734
+ }();
4735
+ };
4736
+ // src/adapters/storage/openaiResponsesStorageAdapter/threads/messages/index.ts
4737
+ var messages3 = function(param) {
4738
+ var openai = param.openai;
4739
+ return {
4740
+ post: post11({
4741
+ openai: openai
4742
+ }),
4743
+ get: list({
4744
+ openai: openai
4745
+ })
4746
+ };
4747
+ };
4748
+ // src/adapters/storage/openaiResponsesStorageAdapter/threads/runs/post.ts
4749
+ var import_dayjs6 = __toESM(require("dayjs"), 1);
4750
+ var import_radash9 = require("radash");
4751
+ var post12 = function(param) {
4752
+ var openai = param.openai, runAdapter = param.runAdapter;
4753
+ return /*#__PURE__*/ function() {
4754
+ var _ref = _async_to_generator(function(urlString, options) {
4755
+ var url, _url_pathname_match, threadId, body, assistant_id, stream, oai, conversation, _conversation_metadata, metadata, openaiConversationId, _conversation_created_at, thread, assistant, run3, runSteps, onEvent2, getThread2, getMessages2, saveRun, readableStream;
4756
+ return _ts_generator(this, function(_state) {
4757
+ switch(_state.label){
4758
+ case 0:
4759
+ url = new URL(urlString);
4760
+ _url_pathname_match = _sliced_to_array(url.pathname.match(new RegExp(runsRegexp)), 2), threadId = _url_pathname_match[1];
4761
+ body = JSON.parse(options.body);
4762
+ assistant_id = body.assistant_id, stream = body.stream;
4763
+ oai = openai;
4764
+ return [
4765
+ 4,
4766
+ oai.conversations.retrieve(threadId).catch(function() {
4767
+ return null;
4768
+ })
4769
+ ];
4770
+ case 1:
4771
+ conversation = _state.sent();
4772
+ if (!conversation) return [
4773
+ 2,
4774
+ new Response("Thread not found", {
4775
+ status: 404
4776
+ })
4777
+ ];
4778
+ metadata = (_conversation_metadata = conversation.metadata) !== null && _conversation_metadata !== void 0 ? _conversation_metadata : {};
4779
+ openaiConversationId = metadata.openaiConversationId || threadId;
4780
+ thread = {
4781
+ id: threadId,
4782
+ object: "thread",
4783
+ created_at: (_conversation_created_at = conversation.created_at) !== null && _conversation_created_at !== void 0 ? _conversation_created_at : (0, import_dayjs6.default)().unix(),
4784
+ metadata: metadata,
4785
+ tool_resources: null,
4786
+ openaiConversationId: openaiConversationId
4787
+ };
4788
+ return [
4789
+ 4,
4790
+ openai.beta.assistants.retrieve(assistant_id)
4791
+ ];
4792
+ case 2:
4793
+ assistant = _state.sent();
4794
+ run3 = {
4795
+ id: "run_".concat((0, import_radash9.uid)(24)),
4796
+ object: "thread.run",
4797
+ created_at: (0, import_dayjs6.default)().unix(),
4798
+ thread_id: threadId,
4799
+ assistant_id: assistant_id,
4800
+ model: body.model || assistant.model,
4801
+ instructions: body.instructions || "",
4802
+ status: "queued",
4803
+ tools: body.tools || assistant.tools || [],
4804
+ response_format: body.response_format || {
4805
+ type: "text"
4806
+ },
4807
+ metadata: body.metadata || {}
4808
+ };
4809
+ runSteps = [];
4810
+ onEvent2 = /*#__PURE__*/ function() {
4811
+ var _ref = _async_to_generator(function(event) {
4812
+ var _event_data_metadata, _event_data, step, step1, _delta_step_details, delta, calls, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _loop, _iterator, _step, conv;
4813
+ return _ts_generator(this, function(_state) {
4814
+ if (event.event === "thread.run.completed") {
4815
+ run3 = _object_spread_props(_object_spread({}, run3), {
4816
+ status: "completed"
4817
+ });
4818
+ } else if (event.event === "thread.run.failed") {
4819
+ run3 = _object_spread_props(_object_spread({}, run3), {
4820
+ status: "failed",
4821
+ last_error: event.data.last_error
4822
+ });
4823
+ } else if (event.event === "thread.run.requires_action") {
4824
+ run3 = _object_spread_props(_object_spread({}, run3), {
4825
+ status: "requires_action",
4826
+ required_action: event.data.required_action
4827
+ });
4828
+ } else if (event.event === "thread.run.step.created") {
4829
+ step = _object_spread_props(_object_spread({}, event.data), {
4830
+ id: "run_step_".concat((0, import_radash9.uid)(24))
4831
+ });
4832
+ runSteps.push(step);
4833
+ return [
4834
+ 2,
4835
+ step
4836
+ ];
4837
+ } else if (event.event === "thread.run.step.delta") {
4838
+ step1 = runSteps.find(function(s) {
4839
+ return s.id === event.data.id;
4840
+ });
4841
+ if (step1) {
4842
+ ;
4843
+ delta = event.data.delta;
4844
+ if (((_delta_step_details = delta.step_details) === null || _delta_step_details === void 0 ? void 0 : _delta_step_details.type) === "tool_calls") {
4845
+ step1.step_details = step1.step_details || {
4846
+ type: "tool_calls",
4847
+ tool_calls: []
4848
+ };
4849
+ calls = delta.step_details.tool_calls || [];
4850
+ _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
4851
+ try {
4852
+ _loop = function() {
4853
+ var call = _step.value;
4854
+ var existingIndex = step1.step_details.tool_calls.findIndex(function(c) {
4855
+ return c.id === call.id;
4856
+ });
4857
+ if (existingIndex === -1) {
4858
+ ;
4859
+ step1.step_details.tool_calls.push(call);
4860
+ } else {
4861
+ var existing = step1.step_details.tool_calls[existingIndex];
4862
+ step1.step_details.tool_calls[existingIndex] = _object_spread_props(_object_spread({}, existing, call), {
4863
+ function: _object_spread({}, existing.function, call.function)
4864
+ });
4865
+ }
4866
+ };
4867
+ for(_iterator = calls[Symbol.iterator](); !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true)_loop();
4868
+ } catch (err) {
4869
+ _didIteratorError = true;
4870
+ _iteratorError = err;
4871
+ } finally{
4872
+ try {
4873
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
4874
+ _iterator.return();
4875
+ }
4876
+ } finally{
4877
+ if (_didIteratorError) {
4878
+ throw _iteratorError;
4879
+ }
4880
+ }
4881
+ }
4882
+ }
4883
+ }
4884
+ return [
4885
+ 2,
4886
+ event.data
4887
+ ];
4888
+ }
4889
+ conv = (_event_data = event.data) === null || _event_data === void 0 ? void 0 : (_event_data_metadata = _event_data.metadata) === null || _event_data_metadata === void 0 ? void 0 : _event_data_metadata.openaiConversationId;
4890
+ if (conv && conv !== thread.openaiConversationId) {
4891
+ thread.openaiConversationId = conv;
4892
+ }
4893
+ return [
4894
+ 2,
4895
+ event.data
4896
+ ];
4897
+ });
4898
+ });
4899
+ return function onEvent2(event) {
4900
+ return _ref.apply(this, arguments);
4901
+ };
4902
+ }();
4903
+ getThread2 = /*#__PURE__*/ function() {
4904
+ var _ref = _async_to_generator(function() {
4905
+ return _ts_generator(this, function(_state) {
4906
+ return [
4907
+ 2,
4908
+ thread
4909
+ ];
4910
+ });
4911
+ });
4912
+ return function getThread2() {
4913
+ return _ref.apply(this, arguments);
4914
+ };
4915
+ }();
4916
+ getMessages2 = /*#__PURE__*/ function() {
4917
+ var _ref = _async_to_generator(function() {
4918
+ return _ts_generator(this, function(_state) {
4919
+ return [
4920
+ 2,
4921
+ []
4922
+ ];
4923
+ });
4924
+ });
4925
+ return function getMessages2() {
4926
+ return _ref.apply(this, arguments);
4927
+ };
4928
+ }();
4929
+ saveRun = /*#__PURE__*/ function() {
4930
+ var _ref = _async_to_generator(function() {
4931
+ var storedRun, metadata2, storedSteps;
4932
+ return _ts_generator(this, function(_state) {
4933
+ switch(_state.label){
4934
+ case 0:
4935
+ if (run3.status !== "requires_action") {
4936
+ delete run3.required_action;
4937
+ }
4938
+ storedRun = {
4939
+ id: run3.id,
4940
+ assistant_id: run3.assistant_id,
4941
+ thread_id: run3.thread_id,
4942
+ model: run3.model,
4943
+ instructions: run3.instructions,
4944
+ response_format: run3.response_format,
4945
+ status: run3.status
4946
+ };
4947
+ metadata2 = thread.metadata;
4948
+ metadata2["run_".concat(run3.id)] = JSON.stringify(storedRun);
4949
+ if (run3.tools && run3.tools.length > 0) {
4950
+ metadata2["run_".concat(run3.id, "_tools")] = JSON.stringify(run3.tools);
4951
+ }
4952
+ if (runSteps.length > 0) {
4953
+ storedSteps = runSteps.filter(function(s) {
4954
+ return s.type === "tool_calls";
4955
+ }).map(function(s) {
4956
+ var _s_step_details_tool_calls;
4957
+ return {
4958
+ id: s.id,
4959
+ type: s.type,
4960
+ status: s.status,
4961
+ created_at: s.created_at,
4962
+ step_details: {
4963
+ type: "tool_calls",
4964
+ tool_calls: (_s_step_details_tool_calls = s.step_details.tool_calls) === null || _s_step_details_tool_calls === void 0 ? void 0 : _s_step_details_tool_calls.map(function(tc) {
4965
+ return {
4966
+ id: tc.id,
4967
+ type: tc.type,
4968
+ function: {
4969
+ name: tc.function.name
4970
+ }
4971
+ };
4972
+ })
4973
+ }
4974
+ };
4975
+ });
4976
+ metadata2["run_".concat(run3.id, "_steps")] = JSON.stringify(storedSteps);
4977
+ }
4978
+ if (run3.required_action) {
4979
+ metadata2["run_".concat(run3.id, "_required_action")] = JSON.stringify(run3.required_action);
4980
+ }
4981
+ metadata2.openaiConversationId = thread.openaiConversationId;
4982
+ thread.metadata = metadata2;
4983
+ return [
4984
+ 4,
4985
+ oai.conversations.update(thread.openaiConversationId, {
4986
+ metadata: metadata2
4987
+ })
4988
+ ];
4989
+ case 1:
4990
+ _state.sent();
4991
+ return [
4992
+ 2
4993
+ ];
4994
+ }
4995
+ });
4996
+ });
4997
+ return function saveRun() {
4998
+ return _ref.apply(this, arguments);
4999
+ };
5000
+ }();
5001
+ if (stream) {
5002
+ readableStream = new ReadableStream({
5003
+ start: function start(controller) {
5004
+ return _async_to_generator(function() {
5005
+ return _ts_generator(this, function(_state) {
5006
+ switch(_state.label){
5007
+ case 0:
5008
+ return [
5009
+ 4,
5010
+ runAdapter({
5011
+ run: run3,
5012
+ onEvent: function(event) {
5013
+ controller.enqueue("data: ".concat(JSON.stringify(event), "\n\n"));
5014
+ return onEvent2(event);
5015
+ },
5016
+ getMessages: getMessages2,
5017
+ getThread: getThread2
5018
+ })
5019
+ ];
5020
+ case 1:
5021
+ _state.sent();
5022
+ return [
5023
+ 4,
5024
+ saveRun()
5025
+ ];
5026
+ case 2:
5027
+ _state.sent();
5028
+ controller.close();
5029
+ return [
5030
+ 2
5031
+ ];
5032
+ }
5033
+ });
5034
+ })();
5035
+ }
5036
+ });
5037
+ return [
5038
+ 2,
5039
+ new Response(readableStream, {
5040
+ headers: {
5041
+ "Content-Type": "text/event-stream"
5042
+ }
5043
+ })
5044
+ ];
5045
+ }
5046
+ return [
5047
+ 4,
5048
+ runAdapter({
5049
+ run: run3,
5050
+ onEvent: onEvent2,
5051
+ getMessages: getMessages2,
5052
+ getThread: getThread2
5053
+ })
5054
+ ];
5055
+ case 3:
5056
+ _state.sent();
5057
+ return [
5058
+ 4,
5059
+ saveRun()
5060
+ ];
5061
+ case 4:
5062
+ _state.sent();
5063
+ return [
5064
+ 2,
5065
+ new Response(JSON.stringify(run3), {
5066
+ status: 200,
5067
+ headers: {
5068
+ "Content-Type": "application/json"
5069
+ }
5070
+ })
5071
+ ];
5072
+ }
5073
+ });
5074
+ });
5075
+ return function(urlString, options) {
5076
+ return _ref.apply(this, arguments);
5077
+ };
5078
+ }();
5079
+ };
5080
+ // src/adapters/storage/openaiResponsesStorageAdapter/threads/runs/get.ts
5081
+ var get10 = function(param) {
5082
+ var openai = param.openai;
5083
+ return /*#__PURE__*/ function() {
5084
+ var _ref = _async_to_generator(function(_urlString) {
5085
+ return _ts_generator(this, function(_state) {
5086
+ return [
5087
+ 2,
5088
+ new Response(JSON.stringify({
5089
+ object: "list",
5090
+ data: [],
5091
+ has_more: false
5092
+ }), {
5093
+ status: 200,
5094
+ headers: {
5095
+ "Content-Type": "application/json"
5096
+ }
5097
+ })
5098
+ ];
5099
+ });
5100
+ });
5101
+ return function(_urlString) {
5102
+ return _ref.apply(this, arguments);
5103
+ };
5104
+ }();
5105
+ };
5106
+ // src/adapters/storage/openaiResponsesStorageAdapter/threads/runs/index.ts
5107
+ var runs = function(param) {
5108
+ var openai = param.openai, runAdapter = param.runAdapter;
5109
+ return {
5110
+ post: post12({
5111
+ openai: openai,
5112
+ runAdapter: runAdapter
5113
+ }),
5114
+ get: get10({
5115
+ openai: openai
5116
+ })
5117
+ };
5118
+ };
5119
+ // src/adapters/storage/openaiResponsesStorageAdapter/threads/run/get.ts
5120
+ var get11 = function(param) {
5121
+ var openai = param.openai;
5122
+ return /*#__PURE__*/ function() {
5123
+ var _ref = _async_to_generator(function(urlString) {
5124
+ var url, _url_pathname_match, threadId, runId, conversation, metadata, runStr, toolsStr, raStr, run3;
5125
+ return _ts_generator(this, function(_state) {
5126
+ switch(_state.label){
5127
+ case 0:
5128
+ url = new URL(urlString);
5129
+ _url_pathname_match = _sliced_to_array(url.pathname.match(new RegExp(runRegexp)), 3), threadId = _url_pathname_match[1], runId = _url_pathname_match[2];
5130
+ return [
5131
+ 4,
5132
+ openai.conversations.retrieve(threadId).catch(function() {
5133
+ return null;
5134
+ })
5135
+ ];
5136
+ case 1:
5137
+ conversation = _state.sent();
5138
+ metadata = conversation === null || conversation === void 0 ? void 0 : conversation.metadata;
5139
+ runStr = metadata === null || metadata === void 0 ? void 0 : metadata["run_".concat(runId)];
5140
+ toolsStr = metadata === null || metadata === void 0 ? void 0 : metadata["run_".concat(runId, "_tools")];
5141
+ raStr = metadata === null || metadata === void 0 ? void 0 : metadata["run_".concat(runId, "_required_action")];
5142
+ run3 = runStr ? _object_spread(_object_spread_props(_object_spread({}, JSON.parse(runStr)), {
5143
+ tools: toolsStr ? JSON.parse(toolsStr) : []
5144
+ }), raStr ? {
5145
+ required_action: JSON.parse(raStr)
5146
+ } : {}) : null;
5147
+ return [
5148
+ 2,
5149
+ new Response(JSON.stringify(run3 !== null && run3 !== void 0 ? run3 : null), {
5150
+ status: run3 ? 200 : 404,
5151
+ headers: {
5152
+ "Content-Type": "application/json",
5153
+ "openai-poll-after-ms": "5000"
5154
+ }
5155
+ })
5156
+ ];
5157
+ }
5158
+ });
5159
+ });
5160
+ return function(urlString) {
5161
+ return _ref.apply(this, arguments);
5162
+ };
5163
+ }();
5164
+ };
5165
+ // src/adapters/storage/openaiResponsesStorageAdapter/threads/run/index.ts
5166
+ var run = function(param) {
5167
+ var openai = param.openai;
5168
+ return {
5169
+ get: get11({
5170
+ openai: openai
5171
+ })
5172
+ };
5173
+ };
5174
+ // src/adapters/storage/openaiResponsesStorageAdapter/threads/runs/submitToolOutputs/post/index.ts
5175
+ var import_dayjs7 = __toESM(require("dayjs"), 1);
5176
+ var post13 = function(param) {
5177
+ var openai = param.openai, runAdapter = param.runAdapter;
5178
+ return /*#__PURE__*/ function() {
5179
+ var _ref = _async_to_generator(function(urlString, options) {
5180
+ var url, _url_pathname_match, threadId, runId, body, tool_outputs, stream, oai, conversation, _conversation_metadata, metadata, openaiConversationId, _conversation_created_at, thread, runStr, toolsStr, raStr, run3, saveRun, readableStream;
5181
+ return _ts_generator(this, function(_state) {
5182
+ switch(_state.label){
5183
+ case 0:
5184
+ url = new URL(urlString);
5185
+ _url_pathname_match = _sliced_to_array(url.pathname.match(new RegExp(submitToolOutputsRegexp)), 3), threadId = _url_pathname_match[1], runId = _url_pathname_match[2];
5186
+ body = JSON.parse(options.body);
5187
+ tool_outputs = body.tool_outputs, stream = body.stream;
5188
+ oai = openai;
5189
+ return [
5190
+ 4,
5191
+ oai.conversations.retrieve(threadId).catch(function() {
5192
+ return null;
5193
+ })
5194
+ ];
5195
+ case 1:
5196
+ conversation = _state.sent();
5197
+ if (!conversation) return [
5198
+ 2,
5199
+ new Response("Not found", {
5200
+ status: 404
5201
+ })
5202
+ ];
5203
+ metadata = (_conversation_metadata = conversation.metadata) !== null && _conversation_metadata !== void 0 ? _conversation_metadata : {};
5204
+ openaiConversationId = metadata.openaiConversationId || threadId;
5205
+ thread = {
5206
+ id: threadId,
5207
+ object: "thread",
5208
+ created_at: (_conversation_created_at = conversation.created_at) !== null && _conversation_created_at !== void 0 ? _conversation_created_at : (0, import_dayjs7.default)().unix(),
5209
+ metadata: metadata,
5210
+ tool_resources: null,
5211
+ openaiConversationId: openaiConversationId
5212
+ };
5213
+ runStr = metadata["run_".concat(runId)];
5214
+ toolsStr = metadata["run_".concat(runId, "_tools")];
5215
+ raStr = metadata["run_".concat(runId, "_required_action")];
5216
+ run3 = runStr ? _object_spread(_object_spread_props(_object_spread({}, JSON.parse(runStr)), {
5217
+ tools: toolsStr ? JSON.parse(toolsStr) : []
5218
+ }), raStr ? {
5219
+ required_action: JSON.parse(raStr)
5220
+ } : {}) : void 0;
5221
+ if (!run3) return [
5222
+ 2,
5223
+ new Response("Not found", {
5224
+ status: 404
5225
+ })
5226
+ ];
5227
+ run3.status = "completed";
5228
+ run3.required_action = null;
5229
+ run3.last_error = null;
5230
+ if (!(tool_outputs && tool_outputs.length > 0)) return [
5231
+ 3,
5232
+ 3
5233
+ ];
5234
+ return [
5235
+ 4,
5236
+ oai.conversations.items.create(thread.openaiConversationId, {
5237
+ items: _to_consumable_array(tool_outputs.map(function(t) {
5238
+ return {
5239
+ type: "function_call_output",
5240
+ call_id: t.tool_call_id,
5241
+ output: typeof t.output === "string" ? t.output : JSON.stringify(t.output)
5242
+ };
5243
+ })).concat([
5244
+ {
5245
+ type: "message",
5246
+ role: "assistant",
5247
+ content: [
5248
+ {
5249
+ type: "output_text",
5250
+ text: tool_outputs[0].output
5251
+ }
5252
+ ]
5253
+ }
5254
+ ])
5255
+ })
5256
+ ];
5257
+ case 2:
5258
+ _state.sent();
5259
+ _state.label = 3;
5260
+ case 3:
5261
+ saveRun = /*#__PURE__*/ function() {
5262
+ var _ref = _async_to_generator(function() {
5263
+ var storedRun;
5264
+ return _ts_generator(this, function(_state) {
5265
+ switch(_state.label){
5266
+ case 0:
5267
+ if (run3.status !== "requires_action") {
5268
+ run3.required_action = null;
5269
+ }
5270
+ storedRun = {
5271
+ id: run3.id,
5272
+ assistant_id: run3.assistant_id,
5273
+ thread_id: run3.thread_id,
5274
+ model: run3.model,
5275
+ instructions: run3.instructions,
5276
+ response_format: run3.response_format,
5277
+ status: run3.status
5278
+ };
5279
+ metadata["run_".concat(run3.id)] = JSON.stringify(storedRun);
5280
+ if (run3.tools && run3.tools.length > 0) {
5281
+ metadata["run_".concat(run3.id, "_tools")] = JSON.stringify(run3.tools);
5282
+ }
5283
+ if (run3.required_action) {
5284
+ metadata["run_".concat(run3.id, "_required_action")] = JSON.stringify(run3.required_action);
5285
+ } else {
5286
+ delete metadata["run_".concat(run3.id, "_required_action")];
5287
+ }
5288
+ metadata.openaiConversationId = thread.openaiConversationId;
5289
+ thread.metadata = metadata;
5290
+ return [
5291
+ 4,
5292
+ oai.conversations.update(thread.openaiConversationId, {
5293
+ metadata: metadata
5294
+ })
5295
+ ];
5296
+ case 1:
5297
+ _state.sent();
5298
+ return [
5299
+ 2
5300
+ ];
5301
+ }
5302
+ });
5303
+ });
5304
+ return function saveRun() {
5305
+ return _ref.apply(this, arguments);
5306
+ };
5307
+ }();
5308
+ return [
5309
+ 4,
5310
+ saveRun()
5311
+ ];
5312
+ case 4:
5313
+ _state.sent();
5314
+ if (stream) {
5315
+ readableStream = new ReadableStream({
5316
+ start: function start(controller) {
5317
+ controller.enqueue("data: ".concat(JSON.stringify({
5318
+ event: "thread.run.completed",
5319
+ data: run3
5320
+ }), "\n\n"));
5321
+ controller.close();
5322
+ }
5323
+ });
5324
+ return [
5325
+ 2,
5326
+ new Response(readableStream, {
5327
+ headers: {
5328
+ "Content-Type": "text/event-stream"
5329
+ }
5330
+ })
5331
+ ];
5332
+ }
5333
+ return [
5334
+ 2,
5335
+ new Response(JSON.stringify(run3), {
5336
+ status: 200,
5337
+ headers: {
5338
+ "Content-Type": "application/json"
5339
+ }
5340
+ })
5341
+ ];
5342
+ }
5343
+ });
5344
+ });
5345
+ return function(urlString, options) {
5346
+ return _ref.apply(this, arguments);
5347
+ };
5348
+ }();
5349
+ };
5350
+ // src/adapters/storage/openaiResponsesStorageAdapter/threads/runs/submitToolOutputs/index.ts
5351
+ var submitToolOutputs = function(param) {
5352
+ var openai = param.openai, runAdapter = param.runAdapter;
5353
+ return {
5354
+ post: post13({
5355
+ openai: openai,
5356
+ runAdapter: runAdapter
5357
+ })
5358
+ };
5359
+ };
5360
+ // src/adapters/storage/openaiResponsesStorageAdapter/threads/runs/steps/get.ts
5361
+ var import_radash10 = require("radash");
5362
+ var get12 = function(param) {
5363
+ var openai = param.openai;
5364
+ return /*#__PURE__*/ function() {
5365
+ var _ref = _async_to_generator(function(urlString) {
5366
+ var _page_at, url, _url_pathname_match, threadId, runId, oai, conversation, _conversation_metadata, metadata, stepsStr, allSteps, _ref, limit, order, after, pageSize, steps3, idx, page, _page_at_id;
5367
+ return _ts_generator(this, function(_state) {
5368
+ switch(_state.label){
5369
+ case 0:
5370
+ url = new URL(urlString);
5371
+ _url_pathname_match = _sliced_to_array(url.pathname.match(new RegExp(stepsRegexp)), 3), threadId = _url_pathname_match[1], runId = _url_pathname_match[2];
5372
+ oai = openai;
5373
+ return [
5374
+ 4,
5375
+ oai.conversations.retrieve(threadId).catch(function() {
5376
+ return null;
5377
+ })
5378
+ ];
5379
+ case 1:
5380
+ conversation = _state.sent();
5381
+ metadata = (_conversation_metadata = conversation === null || conversation === void 0 ? void 0 : conversation.metadata) !== null && _conversation_metadata !== void 0 ? _conversation_metadata : {};
5382
+ stepsStr = metadata["run_".concat(runId, "_steps")];
5383
+ allSteps = stepsStr ? JSON.parse(stepsStr) : [];
5384
+ _ref = (0, import_radash10.assign)({
5385
+ limit: "20",
5386
+ order: "desc"
5387
+ }, Object.fromEntries(url.searchParams)), limit = _ref.limit, order = _ref.order, after = _ref.after;
5388
+ pageSize = parseInt(limit, 10);
5389
+ steps3 = allSteps.sort(function(a, b) {
5390
+ return order === "asc" ? a.created_at - b.created_at : b.created_at - a.created_at;
5391
+ });
5392
+ if (after) {
5393
+ idx = steps3.findIndex(function(s) {
5394
+ return s.id === after;
5395
+ });
5396
+ if (idx >= 0) steps3 = steps3.slice(idx + 1);
5397
+ }
5398
+ page = steps3.slice(0, pageSize);
5399
+ return [
5400
+ 2,
5401
+ new Response(JSON.stringify({
5402
+ data: page,
5403
+ has_more: steps3.length > pageSize,
5404
+ last_id: (_page_at_id = (_page_at = page.at(-1)) === null || _page_at === void 0 ? void 0 : _page_at.id) !== null && _page_at_id !== void 0 ? _page_at_id : null
5405
+ }), {
5406
+ status: 200,
5407
+ headers: {
5408
+ "Content-Type": "application/json"
5409
+ }
5410
+ })
5411
+ ];
5412
+ }
5413
+ });
5414
+ });
5415
+ return function(urlString) {
5416
+ return _ref.apply(this, arguments);
5417
+ };
5418
+ }();
5419
+ };
5420
+ // src/adapters/storage/openaiResponsesStorageAdapter/threads/runs/steps/index.ts
5421
+ var steps = function(param) {
5422
+ var openai = param.openai;
5423
+ return {
5424
+ get: get12({
5425
+ openai: openai
5426
+ })
5427
+ };
5428
+ };
5429
+ // src/adapters/storage/openaiResponsesStorageAdapter/index.ts
5430
+ var openaiResponsesStorageAdapter = function(param) {
5431
+ var openai = param.openai;
5432
+ return function(param) {
5433
+ var runAdapter = param.runAdapter;
5434
+ var _obj;
5435
+ return {
5436
+ requestHandlers: (_obj = {
5437
+ "^/(?:v1|/?openai)/threads$": threads({
5438
+ openai: openai
5439
+ })
5440
+ }, _define_property(_obj, messagesRegexp, messages3({
5441
+ openai: openai
5442
+ })), _define_property(_obj, runsRegexp, runs({
5443
+ openai: openai,
5444
+ runAdapter: runAdapter
5445
+ })), _define_property(_obj, runRegexp, run({
5446
+ openai: openai
5447
+ })), _define_property(_obj, submitToolOutputsRegexp, submitToolOutputs({
5448
+ openai: openai,
5449
+ runAdapter: runAdapter
5450
+ })), _define_property(_obj, stepsRegexp, steps({
5451
+ openai: openai
5452
+ })), _obj)
5453
+ };
5454
+ };
5455
+ };
5456
+ // src/adapters/storage/prismaStorageAdapter/threads/post.ts
5457
+ var import_dayjs9 = __toESM(require("dayjs"), 1);
5458
+ // src/adapters/storage/prismaStorageAdapter/threads/serializeThread.ts
5459
+ var import_dayjs8 = __toESM(require("dayjs"), 1);
5460
+ var serializeThread = function(param) {
5461
+ var thread = param.thread;
5462
+ var _thread_openaiConversationId;
5463
+ return {
5464
+ id: thread.id,
5465
+ object: "thread",
5466
+ created_at: (0, import_dayjs8.default)(thread.createdAt).unix(),
5467
+ metadata: thread.metadata,
5468
+ openaiConversationId: (_thread_openaiConversationId = thread.openaiConversationId) !== null && _thread_openaiConversationId !== void 0 ? _thread_openaiConversationId : null,
5469
+ // TODO
5470
+ tool_resources: null
5471
+ };
5472
+ };
5473
+ // src/adapters/storage/prismaStorageAdapter/threads/post.ts
5474
+ var post14 = function(param) {
5475
+ var prisma = param.prisma;
5476
+ return /*#__PURE__*/ _async_to_generator(function() {
5477
+ var _len, args, _key, body, messages5, metadata, initialCreatedAt, thread;
5478
+ var _arguments = arguments;
5479
+ return _ts_generator(this, function(_state) {
5480
+ switch(_state.label){
5481
+ case 0:
5482
+ for(_len = _arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
5483
+ args[_key] = _arguments[_key];
5484
+ }
5485
+ body = JSON.parse(args[1].body);
5486
+ messages5 = body.messages || [];
5487
+ metadata = body.metadata || {};
5488
+ initialCreatedAt = (0, import_dayjs9.default)().subtract(messages5.length, "seconds").format();
5489
+ return [
5490
+ 4,
5491
+ prisma.thread.create({
5492
+ data: _object_spread_props(_object_spread({
5493
+ metadata: metadata
5494
+ }, metadata.assistantId ? {
5495
+ assistant: {
5496
+ connect: {
5497
+ id: metadata.assistantId
5498
+ }
5499
+ }
5500
+ } : {}), {
5501
+ messages: {
5502
+ create: messages5.map(function(message, index) {
5503
+ return {
5504
+ role: message.role === "user" ? "USER" : "ASSISTANT",
5505
+ content: [
5506
+ {
5507
+ type: "text",
5508
+ text: {
5509
+ annotations: [],
5510
+ value: message.content
5511
+ }
5512
+ }
5513
+ ],
5514
+ attachments: message.attachments,
5515
+ metadata: message.metadata,
5516
+ createdAt: (0, import_dayjs9.default)(initialCreatedAt).add(index, "seconds").toDate()
5517
+ };
5518
+ })
5519
+ }
5520
+ })
5521
+ })
5522
+ ];
5523
+ case 1:
5524
+ thread = _state.sent();
5525
+ return [
5526
+ 2,
5527
+ new Response(JSON.stringify(serializeThread({
5528
+ thread: thread
5529
+ })), {
5530
+ status: 200,
5531
+ headers: {
5532
+ "Content-Type": "application/json"
5533
+ }
5534
+ })
5535
+ ];
5536
+ }
5537
+ });
5538
+ });
5539
+ };
5540
+ // src/adapters/storage/prismaStorageAdapter/threads/index.ts
5541
+ var threads2 = function(param) {
5542
+ var prisma = param.prisma;
5543
+ return {
5544
+ post: post14({
5545
+ prisma: prisma
5546
+ })
5547
+ };
5548
+ };
5549
+ // src/adapters/storage/prismaStorageAdapter/threads/messages/post.ts
5550
+ var import_radash12 = require("radash");
5551
+ // src/adapters/storage/prismaStorageAdapter/threads/messages/serializeMessage.ts
5552
+ var import_dayjs10 = __toESM(require("dayjs"), 1);
5553
+ var import_radash11 = require("radash");
5554
+ var serializeMessage5 = function(param) {
5555
+ var message = param.message;
5556
+ var _message_metadata;
5557
+ return {
5558
+ id: message.id,
5559
+ object: "thread.message",
5560
+ created_at: (0, import_dayjs10.default)(message.createdAt).unix(),
5561
+ thread_id: message.threadId,
5562
+ completed_at: message.completedAt ? (0, import_dayjs10.default)(message.completedAt).unix() : null,
5563
+ incomplete_at: message.incompleteAt ? (0, import_dayjs10.default)(message.incompleteAt).unix() : null,
5564
+ incomplete_details: message.incompleteDetails,
5565
+ role: message.role.toLowerCase(),
5566
+ content: message.content,
5567
+ assistant_id: message.assistantId,
5568
+ run_id: message.runId,
5569
+ attachments: message.attachments,
5570
+ status: message.status.toLowerCase(),
5571
+ metadata: (0, import_radash11.assign)((_message_metadata = message.metadata) !== null && _message_metadata !== void 0 ? _message_metadata : {}, message.toolCalls ? {
5572
+ toolCalls: message.toolCalls
5573
+ } : {})
5574
+ };
5575
+ };
5576
+ // src/adapters/storage/prismaStorageAdapter/threads/messages/post.ts
5577
+ var messageContentBlocks = function(param) {
5578
+ var content = param.content;
5579
+ if ((0, import_radash12.isArray)(content)) {
5580
+ return content.map(function(item) {
5581
+ if (item.type === "text") {
5582
+ var _item_text;
5583
+ return {
5584
+ type: "text",
5585
+ text: {
5586
+ value: (_item_text = item.text) !== null && _item_text !== void 0 ? _item_text : "",
5587
+ annotations: []
5588
+ }
5589
+ };
5590
+ }
5591
+ return item;
5592
+ });
5593
+ }
5594
+ return [
5595
+ {
5596
+ type: "text",
5597
+ text: {
5598
+ value: content !== null && content !== void 0 ? content : "",
5599
+ annotations: []
5600
+ }
5601
+ }
5602
+ ];
5603
+ };
5604
+ var post15 = function(param) {
5605
+ var prisma = param.prisma;
5606
+ return /*#__PURE__*/ function() {
5607
+ var _ref = _async_to_generator(function(urlString, options) {
5608
+ var url, _url_pathname_match, threadId, body, role, content, metadata, message;
3914
5609
  return _ts_generator(this, function(_state) {
3915
5610
  switch(_state.label){
3916
5611
  case 0:
@@ -3935,7 +5630,7 @@ var post11 = function(param) {
3935
5630
  message = _state.sent();
3936
5631
  return [
3937
5632
  2,
3938
- new Response(JSON.stringify(serializeMessage4({
5633
+ new Response(JSON.stringify(serializeMessage5({
3939
5634
  message: message
3940
5635
  })), {
3941
5636
  status: 200,
@@ -3953,18 +5648,18 @@ var post11 = function(param) {
3953
5648
  }();
3954
5649
  };
3955
5650
  // src/adapters/storage/prismaStorageAdapter/threads/messages/get.ts
3956
- var import_radash8 = require("radash");
3957
- var get10 = function(param) {
5651
+ var import_radash13 = require("radash");
5652
+ var get13 = function(param) {
3958
5653
  var prisma = param.prisma;
3959
5654
  return /*#__PURE__*/ function() {
3960
5655
  var _ref = _async_to_generator(function(urlString) {
3961
- var _this, url, _url_pathname_match, threadId, _ref, limit, order, after, pageSize, messagesPlusOne, messages3, _id;
5656
+ var _this, url, _url_pathname_match, threadId, _ref, limit, order, after, pageSize, messagesPlusOne, messages5, _id;
3962
5657
  return _ts_generator(this, function(_state) {
3963
5658
  switch(_state.label){
3964
5659
  case 0:
3965
5660
  url = new URL(urlString);
3966
5661
  _url_pathname_match = _sliced_to_array(url.pathname.match(new RegExp(messagesRegexp)), 2), threadId = _url_pathname_match[1];
3967
- _ref = (0, import_radash8.assign)({
5662
+ _ref = (0, import_radash13.assign)({
3968
5663
  limit: "20",
3969
5664
  order: "desc"
3970
5665
  }, Object.fromEntries(url.searchParams)), limit = _ref.limit, order = _ref.order, after = _ref.after;
@@ -3988,17 +5683,17 @@ var get10 = function(param) {
3988
5683
  ];
3989
5684
  case 1:
3990
5685
  messagesPlusOne = _state.sent();
3991
- messages3 = messagesPlusOne.slice(0, pageSize);
5686
+ messages5 = messagesPlusOne.slice(0, pageSize);
3992
5687
  return [
3993
5688
  2,
3994
5689
  new Response(JSON.stringify({
3995
- data: messages3.map(function(message) {
3996
- return serializeMessage4({
5690
+ data: messages5.map(function(message) {
5691
+ return serializeMessage5({
3997
5692
  message: message
3998
5693
  });
3999
5694
  }),
4000
5695
  has_more: messagesPlusOne.length > pageSize,
4001
- last_id: (_id = (_this = (0, import_radash8.last)(messages3)) === null || _this === void 0 ? void 0 : _this.id) !== null && _id !== void 0 ? _id : null
5696
+ last_id: (_id = (_this = (0, import_radash13.last)(messages5)) === null || _this === void 0 ? void 0 : _this.id) !== null && _id !== void 0 ? _id : null
4002
5697
  }), {
4003
5698
  status: 200,
4004
5699
  headers: {
@@ -4015,42 +5710,42 @@ var get10 = function(param) {
4015
5710
  }();
4016
5711
  };
4017
5712
  // src/adapters/storage/prismaStorageAdapter/threads/messages/index.ts
4018
- var messages2 = function(param) {
5713
+ var messages4 = function(param) {
4019
5714
  var prisma = param.prisma;
4020
5715
  return {
4021
- post: post11({
5716
+ post: post15({
4022
5717
  prisma: prisma
4023
5718
  }),
4024
- get: get10({
5719
+ get: get13({
4025
5720
  prisma: prisma
4026
5721
  })
4027
5722
  };
4028
5723
  };
4029
5724
  // src/adapters/storage/prismaStorageAdapter/threads/runs/get.ts
4030
- var import_radash9 = require("radash");
5725
+ var import_radash14 = require("radash");
4031
5726
  // src/adapters/storage/prismaStorageAdapter/threads/runs/serializeRun.ts
4032
- var import_dayjs5 = __toESM(require("dayjs"), 1);
5727
+ var import_dayjs11 = __toESM(require("dayjs"), 1);
4033
5728
  var serializeRun = function(param) {
4034
- var run2 = param.run;
5729
+ var run3 = param.run;
4035
5730
  return {
4036
- id: run2.id,
5731
+ id: run3.id,
4037
5732
  object: "thread.run",
4038
- created_at: (0, import_dayjs5.default)(run2.createdAt).unix(),
4039
- thread_id: run2.threadId,
4040
- assistant_id: run2.assistantId,
4041
- status: run2.status.toLowerCase(),
4042
- required_action: run2.requiredAction,
4043
- last_error: run2.lastError,
4044
- expires_at: (0, import_dayjs5.default)(run2.expiresAt).unix(),
4045
- started_at: run2.startedAt ? (0, import_dayjs5.default)(run2.startedAt).unix() : null,
4046
- cancelled_at: run2.cancelledAt ? (0, import_dayjs5.default)(run2.cancelledAt).unix() : null,
4047
- failed_at: run2.failedAt ? (0, import_dayjs5.default)(run2.failedAt).unix() : null,
4048
- completed_at: run2.completedAt ? (0, import_dayjs5.default)(run2.completedAt).unix() : null,
4049
- model: run2.model,
4050
- instructions: run2.instructions,
4051
- tools: run2.tools,
4052
- metadata: run2.metadata,
4053
- usage: run2.usage,
5733
+ created_at: (0, import_dayjs11.default)(run3.createdAt).unix(),
5734
+ thread_id: run3.threadId,
5735
+ assistant_id: run3.assistantId,
5736
+ status: run3.status.toLowerCase(),
5737
+ required_action: run3.requiredAction,
5738
+ last_error: run3.lastError,
5739
+ expires_at: (0, import_dayjs11.default)(run3.expiresAt).unix(),
5740
+ started_at: run3.startedAt ? (0, import_dayjs11.default)(run3.startedAt).unix() : null,
5741
+ cancelled_at: run3.cancelledAt ? (0, import_dayjs11.default)(run3.cancelledAt).unix() : null,
5742
+ failed_at: run3.failedAt ? (0, import_dayjs11.default)(run3.failedAt).unix() : null,
5743
+ completed_at: run3.completedAt ? (0, import_dayjs11.default)(run3.completedAt).unix() : null,
5744
+ model: run3.model,
5745
+ instructions: run3.instructions,
5746
+ tools: run3.tools,
5747
+ metadata: run3.metadata,
5748
+ usage: run3.usage,
4054
5749
  truncation_strategy: {
4055
5750
  type: "auto"
4056
5751
  },
@@ -4061,22 +5756,21 @@ var serializeRun = function(param) {
4061
5756
  incomplete_details: null,
4062
5757
  max_completion_tokens: null,
4063
5758
  max_prompt_tokens: null,
4064
- tool_choice: "auto",
4065
5759
  parallel_tool_calls: true
4066
5760
  };
4067
5761
  };
4068
5762
  // src/adapters/storage/prismaStorageAdapter/threads/runs/get.ts
4069
- var get11 = function(param) {
5763
+ var get14 = function(param) {
4070
5764
  var prisma = param.prisma;
4071
5765
  return /*#__PURE__*/ function() {
4072
5766
  var _ref = _async_to_generator(function(urlString) {
4073
- var _runs2_at, url, _url_pathname_match, threadId, _ref, limit, order, after, pageSize, runsPlusOne, runs2, _runs2_at_id;
5767
+ var _runs3_at, url, _url_pathname_match, threadId, _ref, limit, order, after, pageSize, runsPlusOne, runs3, _runs3_at_id;
4074
5768
  return _ts_generator(this, function(_state) {
4075
5769
  switch(_state.label){
4076
5770
  case 0:
4077
5771
  url = new URL(urlString);
4078
5772
  _url_pathname_match = _sliced_to_array(url.pathname.match(new RegExp(runsRegexp)), 2), threadId = _url_pathname_match[1];
4079
- _ref = (0, import_radash9.assign)({
5773
+ _ref = (0, import_radash14.assign)({
4080
5774
  limit: "20",
4081
5775
  order: "desc"
4082
5776
  }, Object.fromEntries(url.searchParams)), limit = _ref.limit, order = _ref.order, after = _ref.after;
@@ -4100,17 +5794,17 @@ var get11 = function(param) {
4100
5794
  ];
4101
5795
  case 1:
4102
5796
  runsPlusOne = _state.sent();
4103
- runs2 = runsPlusOne.slice(0, pageSize);
5797
+ runs3 = runsPlusOne.slice(0, pageSize);
4104
5798
  return [
4105
5799
  2,
4106
5800
  new Response(JSON.stringify({
4107
- data: runs2.map(function(run2) {
5801
+ data: runs3.map(function(run3) {
4108
5802
  return serializeRun({
4109
- run: run2
5803
+ run: run3
4110
5804
  });
4111
5805
  }),
4112
5806
  has_more: runsPlusOne.length > pageSize,
4113
- last_id: (_runs2_at_id = (_runs2_at = runs2.at(-1)) === null || _runs2_at === void 0 ? void 0 : _runs2_at.id) !== null && _runs2_at_id !== void 0 ? _runs2_at_id : null
5807
+ last_id: (_runs3_at_id = (_runs3_at = runs3.at(-1)) === null || _runs3_at === void 0 ? void 0 : _runs3_at.id) !== null && _runs3_at_id !== void 0 ? _runs3_at_id : null
4114
5808
  }), {
4115
5809
  status: 200,
4116
5810
  headers: {
@@ -4127,8 +5821,8 @@ var get11 = function(param) {
4127
5821
  }();
4128
5822
  };
4129
5823
  // src/adapters/storage/prismaStorageAdapter/threads/runs/post.ts
4130
- var import_dayjs7 = __toESM(require("dayjs"), 1);
4131
- var import_radash10 = require("radash");
5824
+ var import_dayjs13 = __toESM(require("dayjs"), 1);
5825
+ var import_radash15 = require("radash");
4132
5826
  // src/adapters/storage/prismaStorageAdapter/threads/runs/onEvent/handlers/threadRunInProgress.ts
4133
5827
  var threadRunInProgress = function(param) {
4134
5828
  var prisma = param.prisma, event = param.event, controller = param.controller;
@@ -4143,68 +5837,127 @@ var threadRunInProgress = function(param) {
4143
5837
  });
4144
5838
  };
4145
5839
  // src/adapters/storage/prismaStorageAdapter/threads/runs/onEvent/handlers/threadRunFailed.ts
4146
- var threadRunFailed = function(param) {
4147
- var prisma = param.prisma, event = param.event, controller = param.controller;
4148
- controller.enqueue(event);
4149
- return prisma.run.update({
4150
- where: {
4151
- id: event.data.id
4152
- },
4153
- data: {
4154
- status: "FAILED" /* FAILED */ ,
4155
- failedAt: event.data.failed_at,
4156
- lastError: event.data.last_error
4157
- }
5840
+ var threadRunFailed = /*#__PURE__*/ function() {
5841
+ var _ref = _async_to_generator(function(param) {
5842
+ var prisma, event, controller, runRecord;
5843
+ return _ts_generator(this, function(_state) {
5844
+ switch(_state.label){
5845
+ case 0:
5846
+ prisma = param.prisma, event = param.event, controller = param.controller;
5847
+ controller.enqueue(event);
5848
+ return [
5849
+ 4,
5850
+ prisma.run.update({
5851
+ where: {
5852
+ id: event.data.id
5853
+ },
5854
+ data: {
5855
+ status: "FAILED" /* FAILED */ ,
5856
+ failedAt: event.data.failed_at,
5857
+ lastError: event.data.last_error
5858
+ }
5859
+ })
5860
+ ];
5861
+ case 1:
5862
+ runRecord = _state.sent();
5863
+ return [
5864
+ 2,
5865
+ runRecord
5866
+ ];
5867
+ }
5868
+ });
4158
5869
  });
4159
- };
5870
+ return function threadRunFailed(_) {
5871
+ return _ref.apply(this, arguments);
5872
+ };
5873
+ }();
4160
5874
  // src/adapters/storage/prismaStorageAdapter/threads/runs/onEvent/handlers/threadRunCompleted.ts
4161
- var threadRunCompleted = function(param) {
4162
- var prisma = param.prisma, event = param.event, controller = param.controller;
4163
- controller.enqueue(event);
4164
- return prisma.run.update({
4165
- where: {
4166
- id: event.data.id
4167
- },
4168
- data: {
4169
- status: "COMPLETED" /* COMPLETED */ ,
4170
- requiredAction: void 0
4171
- }
5875
+ var threadRunCompleted = /*#__PURE__*/ function() {
5876
+ var _ref = _async_to_generator(function(param) {
5877
+ var prisma, event, controller, runRecord;
5878
+ return _ts_generator(this, function(_state) {
5879
+ switch(_state.label){
5880
+ case 0:
5881
+ prisma = param.prisma, event = param.event, controller = param.controller;
5882
+ controller.enqueue(event);
5883
+ return [
5884
+ 4,
5885
+ prisma.run.update({
5886
+ where: {
5887
+ id: event.data.id
5888
+ },
5889
+ data: {
5890
+ status: "COMPLETED" /* COMPLETED */ ,
5891
+ requiredAction: void 0
5892
+ }
5893
+ })
5894
+ ];
5895
+ case 1:
5896
+ runRecord = _state.sent();
5897
+ return [
5898
+ 2,
5899
+ runRecord
5900
+ ];
5901
+ }
5902
+ });
4172
5903
  });
4173
- };
5904
+ return function threadRunCompleted(_) {
5905
+ return _ref.apply(this, arguments);
5906
+ };
5907
+ }();
4174
5908
  // src/adapters/storage/prismaStorageAdapter/threads/runs/onEvent/handlers/threadRunRequiresAction.ts
4175
- var threadRunRequiresAction = function(param) {
4176
- var prisma = param.prisma, event = param.event, controller = param.controller;
4177
- controller.enqueue(event);
4178
- return prisma.run.update({
4179
- where: {
4180
- id: event.data.id
4181
- },
4182
- data: {
4183
- status: "REQUIRES_ACTION" /* REQUIRES_ACTION */ ,
4184
- requiredAction: event.data.required_action
4185
- }
5909
+ var threadRunRequiresAction = /*#__PURE__*/ function() {
5910
+ var _ref = _async_to_generator(function(param) {
5911
+ var prisma, event, controller, runRecord;
5912
+ return _ts_generator(this, function(_state) {
5913
+ switch(_state.label){
5914
+ case 0:
5915
+ prisma = param.prisma, event = param.event, controller = param.controller;
5916
+ controller.enqueue(event);
5917
+ return [
5918
+ 4,
5919
+ prisma.run.update({
5920
+ where: {
5921
+ id: event.data.id
5922
+ },
5923
+ data: {
5924
+ status: "REQUIRES_ACTION" /* REQUIRES_ACTION */ ,
5925
+ requiredAction: event.data.required_action
5926
+ }
5927
+ })
5928
+ ];
5929
+ case 1:
5930
+ runRecord = _state.sent();
5931
+ return [
5932
+ 2,
5933
+ runRecord
5934
+ ];
5935
+ }
5936
+ });
4186
5937
  });
4187
- };
5938
+ return function threadRunRequiresAction(_) {
5939
+ return _ref.apply(this, arguments);
5940
+ };
5941
+ }();
4188
5942
  // src/adapters/storage/prismaStorageAdapter/threads/runs/steps/serializeRunStep.ts
4189
- var import_dayjs6 = __toESM(require("dayjs"), 1);
5943
+ var import_dayjs12 = __toESM(require("dayjs"), 1);
4190
5944
  var serializeRunStep = function(param) {
4191
5945
  var runStep = param.runStep;
4192
5946
  return {
4193
5947
  id: runStep.id,
4194
5948
  object: "thread.run.step",
4195
- created_at: (0, import_dayjs6.default)(runStep.createdAt).unix(),
5949
+ created_at: (0, import_dayjs12.default)(runStep.createdAt).unix(),
4196
5950
  assistant_id: runStep.assistantId,
4197
5951
  thread_id: runStep.threadId,
4198
5952
  run_id: runStep.runId,
4199
5953
  type: runStep.type.toLowerCase(),
4200
5954
  status: runStep.status.toLowerCase(),
4201
- // @ts-ignore-next-line
4202
5955
  step_details: runStep.stepDetails,
4203
5956
  last_error: runStep.lastError,
4204
- expired_at: runStep.expiredAt ? (0, import_dayjs6.default)(runStep.expiredAt).unix() : null,
4205
- cancelled_at: runStep.cancelledAt ? (0, import_dayjs6.default)(runStep.cancelledAt).unix() : null,
4206
- failed_at: runStep.failedAt ? (0, import_dayjs6.default)(runStep.failedAt).unix() : null,
4207
- completed_at: runStep.completedAt ? (0, import_dayjs6.default)(runStep.completedAt).unix() : null,
5957
+ expired_at: runStep.expiredAt ? (0, import_dayjs12.default)(runStep.expiredAt).unix() : null,
5958
+ cancelled_at: runStep.cancelledAt ? (0, import_dayjs12.default)(runStep.cancelledAt).unix() : null,
5959
+ failed_at: runStep.failedAt ? (0, import_dayjs12.default)(runStep.failedAt).unix() : null,
5960
+ completed_at: runStep.completedAt ? (0, import_dayjs12.default)(runStep.completedAt).unix() : null,
4208
5961
  metadata: runStep.metadata,
4209
5962
  usage: runStep.usage
4210
5963
  };
@@ -4297,7 +6050,7 @@ var threadMessageCreated = /*#__PURE__*/ function() {
4297
6050
  ];
4298
6051
  case 1:
4299
6052
  message = _state.sent();
4300
- serializedMessage = serializeMessage4({
6053
+ serializedMessage = serializeMessage5({
4301
6054
  message: message
4302
6055
  });
4303
6056
  controller.enqueue(_object_spread_props(_object_spread({}, event), {
@@ -4322,13 +6075,14 @@ var threadMessageDelta = function(param) {
4322
6075
  // src/adapters/storage/prismaStorageAdapter/threads/runs/onEvent/handlers/threadMessageCompleted.ts
4323
6076
  var threadMessageCompleted = /*#__PURE__*/ function() {
4324
6077
  var _ref = _async_to_generator(function(param) {
4325
- var prisma, event, controller, latestRunStep;
6078
+ var prisma, event, controller, data, latestRunStep;
4326
6079
  return _ts_generator(this, function(_state) {
4327
6080
  switch(_state.label){
4328
6081
  case 0:
4329
6082
  prisma = param.prisma, event = param.event, controller = param.controller;
4330
6083
  controller.enqueue(event);
4331
- if (!event.data.tool_calls) return [
6084
+ data = event.data;
6085
+ if (!data.tool_calls) return [
4332
6086
  3,
4333
6087
  3
4334
6088
  ];
@@ -4358,7 +6112,7 @@ var threadMessageCompleted = /*#__PURE__*/ function() {
4358
6112
  data: {
4359
6113
  stepDetails: {
4360
6114
  type: "tool_calls",
4361
- tool_calls: event.data.tool_calls
6115
+ tool_calls: data.tool_calls
4362
6116
  }
4363
6117
  }
4364
6118
  })
@@ -4375,10 +6129,10 @@ var threadMessageCompleted = /*#__PURE__*/ function() {
4375
6129
  },
4376
6130
  data: _object_spread({
4377
6131
  status: "COMPLETED" /* COMPLETED */
4378
- }, event.data.content ? {
4379
- content: event.data.content
4380
- } : {}, event.data.tool_calls ? {
4381
- toolCalls: event.data.tool_calls
6132
+ }, data.content ? {
6133
+ content: data.content
6134
+ } : {}, data.tool_calls ? {
6135
+ toolCalls: data.tool_calls
4382
6136
  } : {})
4383
6137
  })
4384
6138
  ];
@@ -4419,33 +6173,33 @@ var onEvent = function(param) {
4419
6173
  };
4420
6174
  // src/adapters/storage/prismaStorageAdapter/threads/runs/getMessages.ts
4421
6175
  var getTake = function(param) {
4422
- var run2 = param.run;
4423
- if (run2.truncationStrategy.type === "auto") {
6176
+ var run3 = param.run;
6177
+ if (run3.truncationStrategy.type === "auto") {
4424
6178
  return null;
4425
6179
  }
4426
- if (run2.truncationStrategy.type === "last_messages") {
4427
- if (!run2.truncationStrategy.last_messages) {
6180
+ if (run3.truncationStrategy.type === "last_messages") {
6181
+ if (!run3.truncationStrategy.last_messages) {
4428
6182
  throw new Error("Truncation strategy last_messages is required");
4429
6183
  }
4430
- return -run2.truncationStrategy.last_messages;
6184
+ return -run3.truncationStrategy.last_messages;
4431
6185
  }
4432
- throw new Error("Unsupported truncation strategy type: ".concat(run2.truncationStrategy.type));
6186
+ throw new Error("Unsupported truncation strategy type: ".concat(run3.truncationStrategy.type));
4433
6187
  };
4434
6188
  var getMessages = function(param) {
4435
- var prisma = param.prisma, run2 = param.run;
6189
+ var prisma = param.prisma, run3 = param.run;
4436
6190
  return /*#__PURE__*/ _async_to_generator(function() {
4437
- var take, messages3;
6191
+ var take, messages5;
4438
6192
  return _ts_generator(this, function(_state) {
4439
6193
  switch(_state.label){
4440
6194
  case 0:
4441
6195
  take = getTake({
4442
- run: run2
6196
+ run: run3
4443
6197
  });
4444
6198
  return [
4445
6199
  4,
4446
6200
  prisma.message.findMany(_object_spread({
4447
6201
  where: {
4448
- threadId: run2.threadId
6202
+ threadId: run3.threadId
4449
6203
  },
4450
6204
  include: {
4451
6205
  run: {
@@ -4462,11 +6216,11 @@ var getMessages = function(param) {
4462
6216
  } : {}))
4463
6217
  ];
4464
6218
  case 1:
4465
- messages3 = _state.sent();
6219
+ messages5 = _state.sent();
4466
6220
  return [
4467
6221
  2,
4468
- messages3.map(function(message) {
4469
- return _object_spread_props(_object_spread({}, serializeMessage4({
6222
+ messages5.map(function(message) {
6223
+ return _object_spread_props(_object_spread({}, serializeMessage5({
4470
6224
  message: message
4471
6225
  })), {
4472
6226
  run: message.run ? _object_spread_props(_object_spread({}, serializeRun({
@@ -4485,13 +6239,41 @@ var getMessages = function(param) {
4485
6239
  });
4486
6240
  });
4487
6241
  };
6242
+ // src/adapters/storage/prismaStorageAdapter/threads/runs/getThread.ts
6243
+ var getThread = function(param) {
6244
+ var prisma = param.prisma, threadId = param.threadId;
6245
+ return /*#__PURE__*/ _async_to_generator(function() {
6246
+ var thread;
6247
+ return _ts_generator(this, function(_state) {
6248
+ switch(_state.label){
6249
+ case 0:
6250
+ return [
6251
+ 4,
6252
+ prisma.thread.findUnique({
6253
+ where: {
6254
+ id: threadId
6255
+ }
6256
+ })
6257
+ ];
6258
+ case 1:
6259
+ thread = _state.sent();
6260
+ return [
6261
+ 2,
6262
+ thread ? serializeThread({
6263
+ thread: thread
6264
+ }) : null
6265
+ ];
6266
+ }
6267
+ });
6268
+ });
6269
+ };
4488
6270
  // src/adapters/storage/prismaStorageAdapter/threads/runs/post.ts
4489
- var post12 = function(param) {
6271
+ var post16 = function(param) {
4490
6272
  var prisma = param.prisma, runAdapter = param.runAdapter;
4491
6273
  return /*#__PURE__*/ function() {
4492
6274
  var _ref = _async_to_generator(function(urlString, options) {
4493
6275
  var url, _url_pathname_match, threadId, body, assistant_id, stream, assistant, _ref, model, instructions, // additional_instructions,
4494
- tools, metadata, response_format, truncation_strategy, run2, data, readableStream;
6276
+ tools, metadata, response_format, truncation_strategy, run3, data, readableStream;
4495
6277
  return _ts_generator(this, function(_state) {
4496
6278
  switch(_state.label){
4497
6279
  case 0:
@@ -4509,12 +6291,9 @@ var post12 = function(param) {
4509
6291
  ];
4510
6292
  case 1:
4511
6293
  assistant = _state.sent();
4512
- if (!assistant) {
4513
- throw new Error("Assistant not found");
4514
- }
4515
- _ref = (0, import_radash10.assign)({
4516
- model: assistant.modelSlug,
4517
- instructions: "",
6294
+ _ref = (0, import_radash15.assign)({
6295
+ model: (assistant === null || assistant === void 0 ? void 0 : assistant.model) || "gpt-4o-mini",
6296
+ instructions: (assistant === null || assistant === void 0 ? void 0 : assistant.instructions) || "",
4518
6297
  additional_instructions: null,
4519
6298
  truncation_strategy: {
4520
6299
  type: "auto"
@@ -4528,7 +6307,7 @@ var post12 = function(param) {
4528
6307
  prisma.run.create({
4529
6308
  data: {
4530
6309
  status: "QUEUED",
4531
- expiresAt: (0, import_dayjs7.default)().add(1, "hour").unix(),
6310
+ expiresAt: (0, import_dayjs13.default)().add(1, "hour").unix(),
4532
6311
  model: model,
4533
6312
  instructions: instructions,
4534
6313
  tools: tools,
@@ -4549,9 +6328,9 @@ var post12 = function(param) {
4549
6328
  })
4550
6329
  ];
4551
6330
  case 2:
4552
- run2 = _state.sent();
6331
+ run3 = _state.sent();
4553
6332
  data = serializeRun({
4554
- run: run2
6333
+ run: run3
4555
6334
  });
4556
6335
  readableStream = new ReadableStream({
4557
6336
  start: function start(controller) {
@@ -4580,7 +6359,11 @@ var post12 = function(param) {
4580
6359
  }),
4581
6360
  getMessages: getMessages({
4582
6361
  prisma: prisma,
4583
- run: run2
6362
+ run: run3
6363
+ }),
6364
+ getThread: getThread({
6365
+ prisma: prisma,
6366
+ threadId: threadId
4584
6367
  })
4585
6368
  })
4586
6369
  ];
@@ -4603,8 +6386,8 @@ var post12 = function(param) {
4603
6386
  })({
4604
6387
  event: "thread.run.failed",
4605
6388
  data: {
4606
- id: run2.id,
4607
- failed_at: (0, import_dayjs7.default)().unix(),
6389
+ id: run3.id,
6390
+ failed_at: (0, import_dayjs13.default)().unix(),
4608
6391
  last_error: {
4609
6392
  code: "server_error",
4610
6393
  message: "".concat((_error_message = error === null || error === void 0 ? void 0 : error.message) !== null && _error_message !== void 0 ? _error_message : "", " ").concat((_error_cause_message = error === null || error === void 0 ? void 0 : (_error_cause = error.cause) === null || _error_cause === void 0 ? void 0 : _error_cause.message) !== null && _error_cause_message !== void 0 ? _error_cause_message : "")
@@ -4657,24 +6440,24 @@ var post12 = function(param) {
4657
6440
  }();
4658
6441
  };
4659
6442
  // src/adapters/storage/prismaStorageAdapter/threads/runs/index.ts
4660
- var runs = function(param) {
6443
+ var runs2 = function(param) {
4661
6444
  var prisma = param.prisma, runAdapter = param.runAdapter;
4662
6445
  return {
4663
- get: get11({
6446
+ get: get14({
4664
6447
  prisma: prisma
4665
6448
  }),
4666
- post: post12({
6449
+ post: post16({
4667
6450
  prisma: prisma,
4668
6451
  runAdapter: runAdapter
4669
6452
  })
4670
6453
  };
4671
6454
  };
4672
6455
  // src/adapters/storage/prismaStorageAdapter/threads/run/get.ts
4673
- var get12 = function(param) {
6456
+ var get15 = function(param) {
4674
6457
  var prisma = param.prisma;
4675
6458
  return /*#__PURE__*/ function() {
4676
6459
  var _ref = _async_to_generator(function(urlString) {
4677
- var url, _url_pathname_match, threadId, runId, run2;
6460
+ var url, _url_pathname_match, threadId, runId, run3;
4678
6461
  return _ts_generator(this, function(_state) {
4679
6462
  switch(_state.label){
4680
6463
  case 0:
@@ -4690,11 +6473,11 @@ var get12 = function(param) {
4690
6473
  })
4691
6474
  ];
4692
6475
  case 1:
4693
- run2 = _state.sent();
6476
+ run3 = _state.sent();
4694
6477
  return [
4695
6478
  2,
4696
6479
  new Response(JSON.stringify(serializeRun({
4697
- run: run2
6480
+ run: run3
4698
6481
  })), {
4699
6482
  status: 200,
4700
6483
  headers: {
@@ -4712,17 +6495,17 @@ var get12 = function(param) {
4712
6495
  }();
4713
6496
  };
4714
6497
  // src/adapters/storage/prismaStorageAdapter/threads/run/index.ts
4715
- var run = function(param) {
6498
+ var run2 = function(param) {
4716
6499
  var prisma = param.prisma, runAdapter = param.runAdapter;
4717
6500
  return {
4718
- get: get12({
6501
+ get: get15({
4719
6502
  prisma: prisma
4720
6503
  })
4721
6504
  };
4722
6505
  };
4723
6506
  // src/adapters/storage/prismaStorageAdapter/threads/runs/steps/get.ts
4724
- var import_radash11 = require("radash");
4725
- var get13 = function(param) {
6507
+ var import_radash16 = require("radash");
6508
+ var get16 = function(param) {
4726
6509
  var prisma = param.prisma;
4727
6510
  return /*#__PURE__*/ function() {
4728
6511
  var _ref = _async_to_generator(function(urlString) {
@@ -4732,7 +6515,7 @@ var get13 = function(param) {
4732
6515
  case 0:
4733
6516
  url = new URL(urlString);
4734
6517
  _url_pathname_match = _sliced_to_array(url.pathname.match(new RegExp(stepsRegexp)), 3), threadId = _url_pathname_match[1], runId = _url_pathname_match[2];
4735
- _ref = (0, import_radash11.assign)({
6518
+ _ref = (0, import_radash16.assign)({
4736
6519
  limit: "20",
4737
6520
  order: "desc"
4738
6521
  }, Object.fromEntries(url.searchParams)), limit = _ref.limit, order = _ref.order, after = _ref.after;
@@ -4784,16 +6567,16 @@ var get13 = function(param) {
4784
6567
  }();
4785
6568
  };
4786
6569
  // src/adapters/storage/prismaStorageAdapter/threads/runs/steps/index.ts
4787
- var steps = function(param) {
6570
+ var steps2 = function(param) {
4788
6571
  var prisma = param.prisma;
4789
6572
  return {
4790
- get: get13({
6573
+ get: get16({
4791
6574
  prisma: prisma
4792
6575
  })
4793
6576
  };
4794
6577
  };
4795
6578
  // src/adapters/storage/prismaStorageAdapter/threads/runs/submitToolOutputs/post/updateRun.ts
4796
- var import_dayjs8 = __toESM(require("dayjs"), 1);
6579
+ var import_dayjs14 = __toESM(require("dayjs"), 1);
4797
6580
  var updateRun = /*#__PURE__*/ function() {
4798
6581
  var _ref = _async_to_generator(function(param) {
4799
6582
  var prisma, runId, threadId, _param_onThreadRunStepCompleted, onThreadRunStepCompleted, tool_outputs;
@@ -4846,7 +6629,7 @@ var updateRun = /*#__PURE__*/ function() {
4846
6629
  },
4847
6630
  data: {
4848
6631
  status: "COMPLETED",
4849
- completedAt: (0, import_dayjs8.default)().unix(),
6632
+ completedAt: (0, import_dayjs14.default)().unix(),
4850
6633
  stepDetails: {
4851
6634
  type: "tool_calls",
4852
6635
  // @ts-ignore-next-line
@@ -4961,11 +6744,11 @@ var updateRun = /*#__PURE__*/ function() {
4961
6744
  };
4962
6745
  }();
4963
6746
  // src/adapters/storage/prismaStorageAdapter/threads/runs/submitToolOutputs/post/index.ts
4964
- var post13 = function(param) {
6747
+ var post17 = function(param) {
4965
6748
  var prisma = param.prisma, runAdapter = param.runAdapter;
4966
6749
  return /*#__PURE__*/ function() {
4967
6750
  var _ref = _async_to_generator(function(urlString, options) {
4968
- var url, _url_pathname_match, threadId, runId, body, tool_outputs, stream, readableStream, run2;
6751
+ var url, _url_pathname_match, threadId, runId, body, tool_outputs, stream, readableStream, run3;
4969
6752
  return _ts_generator(this, function(_state) {
4970
6753
  switch(_state.label){
4971
6754
  case 0:
@@ -4980,7 +6763,7 @@ var post13 = function(param) {
4980
6763
  readableStream = new ReadableStream({
4981
6764
  start: function start(controller) {
4982
6765
  return _async_to_generator(function() {
4983
- var run2;
6766
+ var run3;
4984
6767
  return _ts_generator(this, function(_state) {
4985
6768
  switch(_state.label){
4986
6769
  case 0:
@@ -5014,12 +6797,12 @@ var post13 = function(param) {
5014
6797
  })
5015
6798
  ];
5016
6799
  case 1:
5017
- run2 = _state.sent();
6800
+ run3 = _state.sent();
5018
6801
  return [
5019
6802
  4,
5020
6803
  runAdapter({
5021
6804
  run: serializeRun({
5022
- run: run2
6805
+ run: run3
5023
6806
  }),
5024
6807
  onEvent: onEvent({
5025
6808
  controller: _object_spread_props(_object_spread({}, controller), {
@@ -5031,7 +6814,11 @@ var post13 = function(param) {
5031
6814
  }),
5032
6815
  getMessages: getMessages({
5033
6816
  prisma: prisma,
5034
- run: run2
6817
+ run: run3
6818
+ }),
6819
+ getThread: getThread({
6820
+ prisma: prisma,
6821
+ threadId: threadId
5035
6822
  })
5036
6823
  })
5037
6824
  ];
@@ -5065,7 +6852,7 @@ var post13 = function(param) {
5065
6852
  })
5066
6853
  ];
5067
6854
  case 2:
5068
- run2 = _state.sent();
6855
+ run3 = _state.sent();
5069
6856
  return [
5070
6857
  4,
5071
6858
  new Promise(function(resolve) {
@@ -5079,7 +6866,7 @@ var post13 = function(param) {
5079
6866
  4,
5080
6867
  runAdapter({
5081
6868
  run: serializeRun({
5082
- run: run2
6869
+ run: run3
5083
6870
  }),
5084
6871
  onEvent: onEvent({
5085
6872
  controller: _object_spread_props(_object_spread({}, controller), {
@@ -5091,7 +6878,11 @@ var post13 = function(param) {
5091
6878
  }),
5092
6879
  getMessages: getMessages({
5093
6880
  prisma: prisma,
5094
- run: run2
6881
+ run: run3
6882
+ }),
6883
+ getThread: getThread({
6884
+ prisma: prisma,
6885
+ threadId: threadId
5095
6886
  })
5096
6887
  })
5097
6888
  ];
@@ -5113,7 +6904,7 @@ var post13 = function(param) {
5113
6904
  _state.sent();
5114
6905
  return [
5115
6906
  2,
5116
- new Response(JSON.stringify(run2), {
6907
+ new Response(JSON.stringify(run3), {
5117
6908
  status: 200,
5118
6909
  headers: {
5119
6910
  "Content-Type": "application/json"
@@ -5133,16 +6924,76 @@ var post13 = function(param) {
5133
6924
  }();
5134
6925
  };
5135
6926
  // src/adapters/storage/prismaStorageAdapter/threads/runs/submitToolOutputs/index.ts
5136
- var submitToolOutputs = function(param) {
6927
+ var submitToolOutputs2 = function(param) {
5137
6928
  var prisma = param.prisma, runAdapter = param.runAdapter;
5138
6929
  return {
5139
- post: post13({
6930
+ post: post17({
5140
6931
  prisma: prisma,
5141
6932
  // @ts-ignore-next-line
5142
6933
  runAdapter: runAdapter
5143
6934
  })
5144
6935
  };
5145
6936
  };
6937
+ // src/adapters/storage/prismaStorageAdapter/assistants/post.ts
6938
+ var import_dayjs15 = __toESM(require("dayjs"), 1);
6939
+ var post18 = function(param) {
6940
+ var prisma = param.prisma;
6941
+ return /*#__PURE__*/ function() {
6942
+ var _ref = _async_to_generator(function(_url, options) {
6943
+ var body, model, instructions, assistant, data;
6944
+ return _ts_generator(this, function(_state) {
6945
+ switch(_state.label){
6946
+ case 0:
6947
+ body = JSON.parse(options.body);
6948
+ model = body.model, instructions = body.instructions;
6949
+ return [
6950
+ 4,
6951
+ prisma.assistant.create({
6952
+ data: {
6953
+ model: model,
6954
+ instructions: instructions
6955
+ }
6956
+ })
6957
+ ];
6958
+ case 1:
6959
+ assistant = _state.sent();
6960
+ data = {
6961
+ id: assistant.id,
6962
+ object: "assistant",
6963
+ created_at: (0, import_dayjs15.default)().unix(),
6964
+ name: null,
6965
+ description: null,
6966
+ model: model,
6967
+ instructions: instructions,
6968
+ tools: [],
6969
+ metadata: {}
6970
+ };
6971
+ return [
6972
+ 2,
6973
+ new Response(JSON.stringify(data), {
6974
+ status: 200,
6975
+ headers: {
6976
+ "Content-Type": "application/json"
6977
+ }
6978
+ })
6979
+ ];
6980
+ }
6981
+ });
6982
+ });
6983
+ return function(_url, options) {
6984
+ return _ref.apply(this, arguments);
6985
+ };
6986
+ }();
6987
+ };
6988
+ // src/adapters/storage/prismaStorageAdapter/assistants/index.ts
6989
+ var assistants = function(param) {
6990
+ var prisma = param.prisma;
6991
+ return {
6992
+ post: post18({
6993
+ prisma: prisma
6994
+ })
6995
+ };
6996
+ };
5146
6997
  // src/adapters/storage/prismaStorageAdapter/index.ts
5147
6998
  var prismaStorageAdapter = function(param) {
5148
6999
  var prisma = param.prisma;
@@ -5151,20 +7002,23 @@ var prismaStorageAdapter = function(param) {
5151
7002
  var _obj;
5152
7003
  return {
5153
7004
  requestHandlers: (_obj = {
5154
- "^/(?:v1|/?openai)/threads$": threads({
7005
+ "^/(?:v1/|openai/)?assistants$": assistants({
7006
+ prisma: prisma
7007
+ }),
7008
+ "^/(?:v1/|openai/)?threads$": threads2({
5155
7009
  prisma: prisma
5156
7010
  })
5157
- }, _define_property(_obj, messagesRegexp, messages2({
7011
+ }, _define_property(_obj, messagesRegexp, messages4({
5158
7012
  prisma: prisma
5159
- })), _define_property(_obj, runsRegexp, runs({
7013
+ })), _define_property(_obj, runsRegexp, runs2({
5160
7014
  prisma: prisma,
5161
7015
  runAdapter: runAdapter
5162
- })), _define_property(_obj, runRegexp, run({
7016
+ })), _define_property(_obj, runRegexp, run2({
5163
7017
  prisma: prisma,
5164
7018
  runAdapter: runAdapter
5165
- })), _define_property(_obj, stepsRegexp, steps({
7019
+ })), _define_property(_obj, stepsRegexp, steps2({
5166
7020
  prisma: prisma
5167
- })), _define_property(_obj, submitToolOutputsRegexp, submitToolOutputs({
7021
+ })), _define_property(_obj, submitToolOutputsRegexp, submitToolOutputs2({
5168
7022
  prisma: prisma,
5169
7023
  runAdapter: runAdapter
5170
7024
  })), _obj)
@@ -5182,8 +7036,10 @@ var prismaStorageAdapter = function(param) {
5182
7036
  mistralClientAdapter: mistralClientAdapter,
5183
7037
  ollamaClientAdapter: ollamaClientAdapter,
5184
7038
  openaiClientAdapter: openaiClientAdapter,
7039
+ openaiResponsesStorageAdapter: openaiResponsesStorageAdapter,
5185
7040
  perplexityClientAdapter: perplexityClientAdapter,
5186
7041
  prismaStorageAdapter: prismaStorageAdapter,
7042
+ responsesRunAdapter: responsesRunAdapter,
5187
7043
  supercompat: supercompat,
5188
7044
  togetherClientAdapter: togetherClientAdapter
5189
7045
  });