supercompat 1.5.0 → 2.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.js CHANGED
@@ -292,8 +292,10 @@ function _ts_values(o) {
292
292
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
293
293
  }
294
294
  var _mistral, _mistral1;
295
+ import OpenAI from "openai";
296
+ // src/supercompatFetch/requestHandlers.ts
295
297
  import { assign, partob } from "radash";
296
- var supercompat = function(param) {
298
+ var requestHandlers = function(param) {
297
299
  var client = param.client, storage = param.storage, runAdapter = param.runAdapter;
298
300
  return assign(client, storage({
299
301
  runAdapter: partob(runAdapter, {
@@ -301,6 +303,446 @@ var supercompat = function(param) {
301
303
  })
302
304
  }));
303
305
  };
306
+ // src/supercompatFetch/findRequestHandler.ts
307
+ var findRequestHandler = function(param) {
308
+ var url = param.url, requestHandlers2 = param.requestHandlers;
309
+ var pathname = new URL(url).pathname;
310
+ for(var key in requestHandlers2){
311
+ var regex = new RegExp(key);
312
+ if (regex.test(pathname)) {
313
+ return requestHandlers2[key];
314
+ }
315
+ }
316
+ };
317
+ // src/supercompatFetch/index.ts
318
+ var supercompatFetch = function(param) {
319
+ var client = param.client, storage = param.storage, runAdapter = param.runAdapter;
320
+ var requestHandlers2 = requestHandlers({
321
+ client: client,
322
+ storage: storage,
323
+ runAdapter: runAdapter
324
+ });
325
+ return function() {
326
+ for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
327
+ args[_key] = arguments[_key];
328
+ }
329
+ var _args = _sliced_to_array(args, 2), url = _args[0], options = _args[1];
330
+ var pathHandler = findRequestHandler({
331
+ url: url,
332
+ requestHandlers: requestHandlers2
333
+ });
334
+ if (!pathHandler) {
335
+ return fetch.apply(void 0, _to_consumable_array(args));
336
+ }
337
+ var requestHandler = pathHandler[options === null || options === void 0 ? void 0 : options.method];
338
+ if (!requestHandler) {
339
+ return fetch.apply(void 0, _to_consumable_array(args));
340
+ }
341
+ return requestHandler.apply(void 0, _to_consumable_array(args));
342
+ };
343
+ };
344
+ // src/supercompat.ts
345
+ var supercompat = function(param) {
346
+ var client = param.client, storage = param.storage, runAdapter = param.runAdapter;
347
+ return new OpenAI({
348
+ apiKey: "SUPERCOMPAT_PLACEHOLDER_OPENAI_KEY",
349
+ fetch: supercompatFetch({
350
+ client: client,
351
+ storage: storage,
352
+ runAdapter: runAdapter
353
+ })
354
+ });
355
+ };
356
+ // src/adapters/client/groqClientAdapter/completions/post.ts
357
+ var post = function(param) {
358
+ var groq = param.groq;
359
+ return function() {
360
+ var _ref = _async_to_generator(function(_url, options) {
361
+ var body, response, stream, data, error;
362
+ return _ts_generator(this, function(_state) {
363
+ switch(_state.label){
364
+ case 0:
365
+ body = JSON.parse(options.body);
366
+ if (!body.stream) return [
367
+ 3,
368
+ 2
369
+ ];
370
+ return [
371
+ 4,
372
+ groq.chat.completions.create(body)
373
+ ];
374
+ case 1:
375
+ response = _state.sent();
376
+ stream = new ReadableStream({
377
+ start: function start(controller) {
378
+ return _async_to_generator(function() {
379
+ var _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, chunk, err;
380
+ return _ts_generator(this, function(_state) {
381
+ switch(_state.label){
382
+ case 0:
383
+ _iteratorAbruptCompletion = false, _didIteratorError = false;
384
+ _state.label = 1;
385
+ case 1:
386
+ _state.trys.push([
387
+ 1,
388
+ 6,
389
+ 7,
390
+ 12
391
+ ]);
392
+ _iterator = _async_iterator(response);
393
+ _state.label = 2;
394
+ case 2:
395
+ return [
396
+ 4,
397
+ _iterator.next()
398
+ ];
399
+ case 3:
400
+ if (!(_iteratorAbruptCompletion = !(_step = _state.sent()).done)) return [
401
+ 3,
402
+ 5
403
+ ];
404
+ _value = _step.value;
405
+ chunk = _value;
406
+ controller.enqueue("data: ".concat(JSON.stringify(chunk), "\n\n"));
407
+ _state.label = 4;
408
+ case 4:
409
+ _iteratorAbruptCompletion = false;
410
+ return [
411
+ 3,
412
+ 2
413
+ ];
414
+ case 5:
415
+ return [
416
+ 3,
417
+ 12
418
+ ];
419
+ case 6:
420
+ err = _state.sent();
421
+ _didIteratorError = true;
422
+ _iteratorError = err;
423
+ return [
424
+ 3,
425
+ 12
426
+ ];
427
+ case 7:
428
+ _state.trys.push([
429
+ 7,
430
+ ,
431
+ 10,
432
+ 11
433
+ ]);
434
+ if (!(_iteratorAbruptCompletion && _iterator.return != null)) return [
435
+ 3,
436
+ 9
437
+ ];
438
+ return [
439
+ 4,
440
+ _iterator.return()
441
+ ];
442
+ case 8:
443
+ _state.sent();
444
+ _state.label = 9;
445
+ case 9:
446
+ return [
447
+ 3,
448
+ 11
449
+ ];
450
+ case 10:
451
+ if (_didIteratorError) {
452
+ throw _iteratorError;
453
+ }
454
+ return [
455
+ 7
456
+ ];
457
+ case 11:
458
+ return [
459
+ 7
460
+ ];
461
+ case 12:
462
+ controller.close();
463
+ return [
464
+ 2
465
+ ];
466
+ }
467
+ });
468
+ })();
469
+ }
470
+ });
471
+ return [
472
+ 2,
473
+ new Response(stream, {
474
+ headers: {
475
+ "Content-Type": "text/event-stream"
476
+ }
477
+ })
478
+ ];
479
+ case 2:
480
+ _state.trys.push([
481
+ 2,
482
+ 4,
483
+ ,
484
+ 5
485
+ ]);
486
+ return [
487
+ 4,
488
+ groq.chat.completions.create(body)
489
+ ];
490
+ case 3:
491
+ data = _state.sent();
492
+ return [
493
+ 2,
494
+ new Response(JSON.stringify({
495
+ data: data
496
+ }), {
497
+ status: 200,
498
+ headers: {
499
+ "Content-Type": "application/json"
500
+ }
501
+ })
502
+ ];
503
+ case 4:
504
+ error = _state.sent();
505
+ console.dir({
506
+ error: error
507
+ }, {
508
+ depth: null
509
+ });
510
+ return [
511
+ 2,
512
+ new Response(JSON.stringify({
513
+ error: error
514
+ }), {
515
+ status: 500,
516
+ headers: {
517
+ "Content-Type": "application/json"
518
+ }
519
+ })
520
+ ];
521
+ case 5:
522
+ return [
523
+ 2
524
+ ];
525
+ }
526
+ });
527
+ });
528
+ return function(_url, options) {
529
+ return _ref.apply(this, arguments);
530
+ };
531
+ }();
532
+ };
533
+ // src/adapters/client/groqClientAdapter/completions/index.ts
534
+ var completions = function(param) {
535
+ var groq = param.groq;
536
+ return {
537
+ post: post({
538
+ groq: groq
539
+ })
540
+ };
541
+ };
542
+ // src/adapters/client/groqClientAdapter/index.ts
543
+ var groqClientAdapter = function(param) {
544
+ var groq = param.groq;
545
+ return {
546
+ "^/v1/chat/completions$": completions({
547
+ groq: groq
548
+ })
549
+ };
550
+ };
551
+ // src/adapters/client/openaiClientAdapter/completions/post.ts
552
+ var post2 = function(param) {
553
+ var openai = param.openai;
554
+ return function() {
555
+ var _ref = _async_to_generator(function(_url, options) {
556
+ var body, response, stream, data, error;
557
+ return _ts_generator(this, function(_state) {
558
+ switch(_state.label){
559
+ case 0:
560
+ body = JSON.parse(options.body);
561
+ if (!body.stream) return [
562
+ 3,
563
+ 2
564
+ ];
565
+ return [
566
+ 4,
567
+ openai.chat.completions.create(body)
568
+ ];
569
+ case 1:
570
+ response = _state.sent();
571
+ stream = new ReadableStream({
572
+ start: function start(controller) {
573
+ return _async_to_generator(function() {
574
+ var _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, chunk, err;
575
+ return _ts_generator(this, function(_state) {
576
+ switch(_state.label){
577
+ case 0:
578
+ _iteratorAbruptCompletion = false, _didIteratorError = false;
579
+ _state.label = 1;
580
+ case 1:
581
+ _state.trys.push([
582
+ 1,
583
+ 6,
584
+ 7,
585
+ 12
586
+ ]);
587
+ _iterator = _async_iterator(response);
588
+ _state.label = 2;
589
+ case 2:
590
+ return [
591
+ 4,
592
+ _iterator.next()
593
+ ];
594
+ case 3:
595
+ if (!(_iteratorAbruptCompletion = !(_step = _state.sent()).done)) return [
596
+ 3,
597
+ 5
598
+ ];
599
+ _value = _step.value;
600
+ chunk = _value;
601
+ controller.enqueue("data: ".concat(JSON.stringify(chunk), "\n\n"));
602
+ _state.label = 4;
603
+ case 4:
604
+ _iteratorAbruptCompletion = false;
605
+ return [
606
+ 3,
607
+ 2
608
+ ];
609
+ case 5:
610
+ return [
611
+ 3,
612
+ 12
613
+ ];
614
+ case 6:
615
+ err = _state.sent();
616
+ _didIteratorError = true;
617
+ _iteratorError = err;
618
+ return [
619
+ 3,
620
+ 12
621
+ ];
622
+ case 7:
623
+ _state.trys.push([
624
+ 7,
625
+ ,
626
+ 10,
627
+ 11
628
+ ]);
629
+ if (!(_iteratorAbruptCompletion && _iterator.return != null)) return [
630
+ 3,
631
+ 9
632
+ ];
633
+ return [
634
+ 4,
635
+ _iterator.return()
636
+ ];
637
+ case 8:
638
+ _state.sent();
639
+ _state.label = 9;
640
+ case 9:
641
+ return [
642
+ 3,
643
+ 11
644
+ ];
645
+ case 10:
646
+ if (_didIteratorError) {
647
+ throw _iteratorError;
648
+ }
649
+ return [
650
+ 7
651
+ ];
652
+ case 11:
653
+ return [
654
+ 7
655
+ ];
656
+ case 12:
657
+ controller.close();
658
+ return [
659
+ 2
660
+ ];
661
+ }
662
+ });
663
+ })();
664
+ }
665
+ });
666
+ return [
667
+ 2,
668
+ new Response(stream, {
669
+ headers: {
670
+ "Content-Type": "text/event-stream"
671
+ }
672
+ })
673
+ ];
674
+ case 2:
675
+ _state.trys.push([
676
+ 2,
677
+ 4,
678
+ ,
679
+ 5
680
+ ]);
681
+ return [
682
+ 4,
683
+ openai.chat.completions.create(body)
684
+ ];
685
+ case 3:
686
+ data = _state.sent();
687
+ return [
688
+ 2,
689
+ new Response(JSON.stringify({
690
+ data: data
691
+ }), {
692
+ status: 200,
693
+ headers: {
694
+ "Content-Type": "application/json"
695
+ }
696
+ })
697
+ ];
698
+ case 4:
699
+ error = _state.sent();
700
+ console.dir({
701
+ error: error
702
+ }, {
703
+ depth: null
704
+ });
705
+ return [
706
+ 2,
707
+ new Response(JSON.stringify({
708
+ error: error
709
+ }), {
710
+ status: 500,
711
+ headers: {
712
+ "Content-Type": "application/json"
713
+ }
714
+ })
715
+ ];
716
+ case 5:
717
+ return [
718
+ 2
719
+ ];
720
+ }
721
+ });
722
+ });
723
+ return function(_url, options) {
724
+ return _ref.apply(this, arguments);
725
+ };
726
+ }();
727
+ };
728
+ // src/adapters/client/openaiClientAdapter/completions/index.ts
729
+ var completions2 = function(param) {
730
+ var openai = param.openai;
731
+ return {
732
+ post: post2({
733
+ openai: openai
734
+ })
735
+ };
736
+ };
737
+ // src/adapters/client/openaiClientAdapter/index.ts
738
+ var openaiClientAdapter = function(param) {
739
+ var openai = param.openai;
740
+ return {
741
+ "^/v1/chat/completions$": completions2({
742
+ openai: openai
743
+ })
744
+ };
745
+ };
304
746
  // src/adapters/client/mistralClientAdapter/index.ts
305
747
  var mistralClientAdapter = function(param) {
306
748
  var mistral = param.mistral;
@@ -374,11 +816,6 @@ var anthropicClientAdapter = function(param) {
374
816
  }
375
817
  var _args = _to_array(args), firstArg = _args[0], secondArg = _args[1], restArgs = _args.slice(2);
376
818
  var messages4 = firstArg.messages;
377
- console.dir({
378
- messages: messages4
379
- }, {
380
- depth: null
381
- });
382
819
  if (firstArg.messages[0].role != "user") {
383
820
  messages4.unshift({
384
821
  role: "user",
@@ -421,11 +858,12 @@ import { flat } from "radash";
421
858
  // src/adapters/run/completionsRunAdapter/messages/serializeMessage.ts
422
859
  var serializeToolCall = function(param) {
423
860
  var toolCall = param.toolCall;
861
+ var _toolCall_function_output;
424
862
  return {
425
863
  tool_call_id: toolCall.id,
426
864
  role: "tool",
427
865
  name: toolCall.function.name,
428
- content: toolCall.function.output
866
+ content: (_toolCall_function_output = toolCall.function.output) !== null && _toolCall_function_output !== void 0 ? _toolCall_function_output : ""
429
867
  };
430
868
  };
431
869
  var serializeMessageWithContent = function(param) {
@@ -454,11 +892,11 @@ var serializeMessage = function(param) {
454
892
  message: message
455
893
  })
456
894
  ];
457
- var run = message.run;
458
- if (!run) return result;
895
+ var run2 = message.run;
896
+ if (!run2) return result;
459
897
  var messageToolCalls = ((_message_metadata = message.metadata) === null || _message_metadata === void 0 ? void 0 : _message_metadata.toolCalls) || [];
460
898
  messageToolCalls.forEach(function(tc) {
461
- var runStep = run.runSteps.find(function(rs) {
899
+ var runStep = run2.runSteps.find(function(rs) {
462
900
  if (rs.type !== "tool_calls") return false;
463
901
  return rs.step_details.tool_calls.some(function(rsTc) {
464
902
  if (rsTc.type !== "function") return false;
@@ -479,22 +917,20 @@ var serializeMessage = function(param) {
479
917
  // src/adapters/run/completionsRunAdapter/messages/index.ts
480
918
  var messages = function() {
481
919
  var _ref = _async_to_generator(function(param) {
482
- var run, getMessages2, messagesHistoryLength, _, _1;
920
+ var run2, getMessages2, _, _1;
483
921
  return _ts_generator(this, function(_state) {
484
922
  switch(_state.label){
485
923
  case 0:
486
- run = param.run, getMessages2 = param.getMessages, messagesHistoryLength = param.messagesHistoryLength;
487
- _1 = (_ = _to_consumable_array(run.instructions ? [
924
+ run2 = param.run, getMessages2 = param.getMessages;
925
+ _1 = (_ = _to_consumable_array(run2.instructions ? [
488
926
  {
489
927
  role: "system",
490
- content: run.instructions
928
+ content: run2.instructions
491
929
  }
492
930
  ] : [])).concat;
493
931
  return [
494
932
  4,
495
- getMessages2({
496
- messagesHistoryLength: messagesHistoryLength
497
- })
933
+ getMessages2()
498
934
  ];
499
935
  case 1:
500
936
  return [
@@ -586,21 +1022,26 @@ var toolCallsData = function(param) {
586
1022
  }
587
1023
  return newToolCalls;
588
1024
  };
589
- var completionsRunAdapter = function(param) {
590
- var _param_messagesHistoryLength = param.messagesHistoryLength, messagesHistoryLength = _param_messagesHistoryLength === void 0 ? 10 : _param_messagesHistoryLength, _param_maxTokens = param.maxTokens, maxTokens = _param_maxTokens === void 0 ? void 0 : _param_maxTokens;
1025
+ var completionsRunAdapter = function() {
591
1026
  return function() {
592
1027
  var _ref = _async_to_generator(function(param) {
593
- var client, run, onEvent2, getMessages2, responseFormat, opts, _tmp, providerResponse, e, message, toolCallsRunStep, currentContent, currentToolCalls, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, chunk, delta, _delta_content, err;
1028
+ var clientAdapter, run2, onEvent2, getMessages2, client, opts, _tmp, providerResponse, e, message, toolCallsRunStep, currentContent, currentToolCalls, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, chunk, delta, _delta_content, err;
594
1029
  return _ts_generator(this, function(_state) {
595
1030
  switch(_state.label){
596
1031
  case 0:
597
- client = param.client, run = param.run, onEvent2 = param.onEvent, getMessages2 = param.getMessages, responseFormat = param.responseFormat;
598
- if (run.status !== "queued") return [
1032
+ clientAdapter = param.client, run2 = param.run, onEvent2 = param.onEvent, getMessages2 = param.getMessages;
1033
+ if (run2.status !== "queued") return [
599
1034
  2
600
1035
  ];
1036
+ client = supercompat({
1037
+ client: clientAdapter,
1038
+ storage: function() {},
1039
+ // @ts-ignore-next-line
1040
+ runAdapter: {}
1041
+ });
601
1042
  onEvent2({
602
1043
  event: "thread.run.in_progress",
603
- data: _object_spread_props(_object_spread({}, run), {
1044
+ data: _object_spread_props(_object_spread({}, run2), {
604
1045
  status: "in_progress"
605
1046
  })
606
1047
  });
@@ -608,29 +1049,17 @@ var completionsRunAdapter = function(param) {
608
1049
  return [
609
1050
  4,
610
1051
  messages({
611
- run: run,
612
- getMessages: getMessages2,
613
- messagesHistoryLength: messagesHistoryLength
1052
+ run: run2,
1053
+ getMessages: getMessages2
614
1054
  })
615
1055
  ];
616
1056
  case 1:
617
1057
  opts = _object_spread.apply(void 0, [
618
- (_tmp.messages = _state.sent(), _tmp.model = run.model, _tmp.stream = true, _tmp),
619
- responseFormat ? {
620
- response_format: responseFormat
621
- } : {},
622
- maxTokens ? {
623
- max_tokens: maxTokens
624
- } : {},
625
- isEmpty(run.tools) ? {} : {
626
- tools: run.tools
1058
+ (_tmp.messages = _state.sent(), _tmp.model = run2.model, _tmp.stream = true, _tmp.response_format = run2.response_format, _tmp),
1059
+ isEmpty(run2.tools) ? {} : {
1060
+ tools: run2.tools
627
1061
  }
628
1062
  ]);
629
- console.dir({
630
- opts: opts
631
- }, {
632
- depth: null
633
- });
634
1063
  _state.label = 2;
635
1064
  case 2:
636
1065
  _state.trys.push([
@@ -651,12 +1080,13 @@ var completionsRunAdapter = function(param) {
651
1080
  ];
652
1081
  case 4:
653
1082
  e = _state.sent();
1083
+ console.log("error", e);
654
1084
  console.error(e);
655
1085
  return [
656
1086
  2,
657
1087
  onEvent2({
658
1088
  event: "thread.run.failed",
659
- data: _object_spread_props(_object_spread({}, run), {
1089
+ data: _object_spread_props(_object_spread({}, run2), {
660
1090
  failed_at: dayjs().unix(),
661
1091
  status: "in_progress",
662
1092
  last_error: e.message
@@ -672,14 +1102,14 @@ var completionsRunAdapter = function(param) {
672
1102
  id: "THERE_IS_A_BUG_IN_SUPERCOMPAT_IF_YOU_SEE_THIS_ID",
673
1103
  object: "thread.message",
674
1104
  completed_at: null,
675
- run_id: run.id,
1105
+ run_id: run2.id,
676
1106
  created_at: dayjs().unix(),
677
- assistant_id: run.assistant_id,
1107
+ assistant_id: run2.assistant_id,
678
1108
  incomplete_at: null,
679
1109
  incomplete_details: null,
680
1110
  metadata: {},
681
1111
  attachments: [],
682
- thread_id: run.thread_id,
1112
+ thread_id: run2.thread_id,
683
1113
  content: [
684
1114
  {
685
1115
  text: {
@@ -701,9 +1131,9 @@ var completionsRunAdapter = function(param) {
701
1131
  data: {
702
1132
  id: "THERE_IS_A_BUG_IN_SUPERCOMPAT_IF_YOU_SEE_THIS_ID",
703
1133
  object: "thread.run.step",
704
- run_id: run.id,
705
- assistant_id: run.assistant_id,
706
- thread_id: run.thread_id,
1134
+ run_id: run2.id,
1135
+ assistant_id: run2.assistant_id,
1136
+ thread_id: run2.thread_id,
707
1137
  type: "message_creation",
708
1138
  status: "completed",
709
1139
  completed_at: dayjs().unix(),
@@ -723,11 +1153,6 @@ var completionsRunAdapter = function(param) {
723
1153
  }
724
1154
  });
725
1155
  currentContent = "";
726
- console.dir({
727
- providerResponse: providerResponse
728
- }, {
729
- depth: null
730
- });
731
1156
  _iteratorAbruptCompletion = false, _didIteratorError = false;
732
1157
  _state.label = 7;
733
1158
  case 7:
@@ -771,9 +1196,9 @@ var completionsRunAdapter = function(param) {
771
1196
  data: {
772
1197
  id: "THERE_IS_A_BUG_IN_SUPERCOMPAT_IF_YOU_SEE_THIS_ID",
773
1198
  object: "thread.run.step",
774
- run_id: run.id,
775
- assistant_id: run.assistant_id,
776
- thread_id: run.thread_id,
1199
+ run_id: run2.id,
1200
+ assistant_id: run2.assistant_id,
1201
+ thread_id: run2.thread_id,
777
1202
  type: "tool_calls",
778
1203
  status: "in_progress",
779
1204
  completed_at: null,
@@ -799,7 +1224,7 @@ var completionsRunAdapter = function(param) {
799
1224
  event: "thread.run.step.delta",
800
1225
  data: {
801
1226
  object: "thread.run.step.delta",
802
- run_id: run.id,
1227
+ run_id: run2.id,
803
1228
  id: toolCallsRunStep.id,
804
1229
  delta: {
805
1230
  step_details: {
@@ -920,7 +1345,7 @@ var completionsRunAdapter = function(param) {
920
1345
  2,
921
1346
  onEvent2({
922
1347
  event: "thread.run.completed",
923
- data: _object_spread_props(_object_spread({}, run), {
1348
+ data: _object_spread_props(_object_spread({}, run2), {
924
1349
  status: "completed",
925
1350
  completed_at: dayjs().unix()
926
1351
  })
@@ -931,7 +1356,7 @@ var completionsRunAdapter = function(param) {
931
1356
  2,
932
1357
  onEvent2({
933
1358
  event: "thread.run.requires_action",
934
- data: _object_spread_props(_object_spread({}, run), {
1359
+ data: _object_spread_props(_object_spread({}, run2), {
935
1360
  status: "requires_action",
936
1361
  required_action: {
937
1362
  type: "submit_tool_outputs",
@@ -959,13 +1384,14 @@ import { flat as flat2 } from "radash";
959
1384
  // src/adapters/run/anthropicRunAdapter/messages/serializeMessage.ts
960
1385
  var serializeToolCall2 = function(param) {
961
1386
  var toolCall = param.toolCall;
1387
+ var _toolCall_function_output;
962
1388
  return {
963
1389
  role: "user",
964
1390
  content: [
965
1391
  {
966
1392
  type: "tool_result",
967
1393
  tool_use_id: toolCall.id,
968
- content: toolCall.function.output
1394
+ content: (_toolCall_function_output = toolCall.function.output) !== null && _toolCall_function_output !== void 0 ? _toolCall_function_output : ""
969
1395
  }
970
1396
  ]
971
1397
  };
@@ -1009,21 +1435,16 @@ var serializeContent2 = function(param) {
1009
1435
  var serializeMessage2 = function(param) {
1010
1436
  var message = param.message;
1011
1437
  var _message_metadata;
1012
- console.dir({
1013
- message: message
1014
- }, {
1015
- depth: null
1016
- });
1017
1438
  var result = [
1018
1439
  serializeMessageWithContent2({
1019
1440
  message: message
1020
1441
  })
1021
1442
  ];
1022
- var run = message.run;
1023
- if (!run) return result;
1443
+ var run2 = message.run;
1444
+ if (!run2) return result;
1024
1445
  var messageToolCalls = ((_message_metadata = message.metadata) === null || _message_metadata === void 0 ? void 0 : _message_metadata.toolCalls) || [];
1025
1446
  messageToolCalls.forEach(function(tc) {
1026
- var runStep = run.runSteps.find(function(rs) {
1447
+ var runStep = run2.runSteps.find(function(rs) {
1027
1448
  if (rs.type !== "tool_calls") return false;
1028
1449
  return rs.step_details.tool_calls.some(function(rsTc) {
1029
1450
  if (rsTc.type !== "function") return false;
@@ -1044,16 +1465,14 @@ var serializeMessage2 = function(param) {
1044
1465
  // src/adapters/run/anthropicRunAdapter/messages/index.ts
1045
1466
  var messages2 = function() {
1046
1467
  var _ref = _async_to_generator(function(param) {
1047
- var run, getMessages2, messagesHistoryLength;
1468
+ var run2, getMessages2;
1048
1469
  return _ts_generator(this, function(_state) {
1049
1470
  switch(_state.label){
1050
1471
  case 0:
1051
- run = param.run, getMessages2 = param.getMessages, messagesHistoryLength = param.messagesHistoryLength;
1472
+ run2 = param.run, getMessages2 = param.getMessages;
1052
1473
  return [
1053
1474
  4,
1054
- getMessages2({
1055
- messagesHistoryLength: messagesHistoryLength
1056
- })
1475
+ getMessages2()
1057
1476
  ];
1058
1477
  case 1:
1059
1478
  return [
@@ -1075,8 +1494,8 @@ var messages2 = function() {
1075
1494
  }();
1076
1495
  // src/adapters/run/anthropicRunAdapter/serializeTools.ts
1077
1496
  var serializeTools = function(param) {
1078
- var run = param.run;
1079
- return run.tools.map(function(tool) {
1497
+ var run2 = param.run;
1498
+ return run2.tools.map(function(tool) {
1080
1499
  if (tool.type === "function") {
1081
1500
  return {
1082
1501
  name: tool.function.name,
@@ -1088,48 +1507,41 @@ var serializeTools = function(param) {
1088
1507
  });
1089
1508
  };
1090
1509
  // src/adapters/run/anthropicRunAdapter/index.ts
1091
- var anthropicRunAdapter = function(param) {
1092
- var _param_messagesHistoryLength = param.messagesHistoryLength, messagesHistoryLength = _param_messagesHistoryLength === void 0 ? 10 : _param_messagesHistoryLength, _param_maxTokens = param.maxTokens, maxTokens = _param_maxTokens === void 0 ? 4096 : _param_maxTokens;
1510
+ var anthropicRunAdapter = function() {
1093
1511
  return function() {
1094
1512
  var _ref = _async_to_generator(function(param) {
1095
- var client, run, onEvent2, getMessages2, isStream, opts, _tmp, providerResponse, e, message, toolCallsRunStep, currentContent, currentToolCalls, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, messageStreamEvent, _messageStreamEvent_delta_text, err, textContentBlock, toolUseBlocks;
1513
+ var client, run2, onEvent2, getMessages2, isStream, opts, _tmp, providerResponse, e, message, toolCallsRunStep, currentContent, currentToolCalls, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, messageStreamEvent, _messageStreamEvent_delta_text, err, textContentBlock, toolUseBlocks;
1096
1514
  return _ts_generator(this, function(_state) {
1097
1515
  switch(_state.label){
1098
1516
  case 0:
1099
- client = param.client, run = param.run, onEvent2 = param.onEvent, getMessages2 = param.getMessages;
1100
- if (run.status !== "queued") return [
1517
+ client = param.client, run2 = param.run, onEvent2 = param.onEvent, getMessages2 = param.getMessages;
1518
+ if (run2.status !== "queued") return [
1101
1519
  2
1102
1520
  ];
1103
1521
  onEvent2({
1104
1522
  event: "thread.run.in_progress",
1105
- data: _object_spread_props(_object_spread({}, run), {
1523
+ data: _object_spread_props(_object_spread({}, run2), {
1106
1524
  status: "in_progress"
1107
1525
  })
1108
1526
  });
1109
- isStream = isEmpty2(run.tools);
1527
+ isStream = isEmpty2(run2.tools);
1110
1528
  _tmp = {};
1111
1529
  return [
1112
1530
  4,
1113
1531
  messages2({
1114
- run: run,
1115
- getMessages: getMessages2,
1116
- messagesHistoryLength: messagesHistoryLength
1532
+ run: run2,
1533
+ getMessages: getMessages2
1117
1534
  })
1118
1535
  ];
1119
1536
  case 1:
1120
1537
  opts = _object_spread.apply(void 0, [
1121
- (_tmp.messages = _state.sent(), _tmp.stream = isStream, _tmp.model = run.model, _tmp.max_tokens = maxTokens, _tmp),
1122
- isEmpty2(run.tools) ? {} : {
1538
+ (_tmp.messages = _state.sent(), _tmp.stream = isStream, _tmp.model = run2.model, _tmp),
1539
+ isEmpty2(run2.tools) ? {} : {
1123
1540
  tools: serializeTools({
1124
- run: run
1541
+ run: run2
1125
1542
  })
1126
1543
  }
1127
1544
  ]);
1128
- console.dir({
1129
- opts: opts
1130
- }, {
1131
- depth: null
1132
- });
1133
1545
  _state.label = 2;
1134
1546
  case 2:
1135
1547
  _state.trys.push([
@@ -1155,7 +1567,7 @@ var anthropicRunAdapter = function(param) {
1155
1567
  2,
1156
1568
  onEvent2({
1157
1569
  event: "thread.run.failed",
1158
- data: _object_spread_props(_object_spread({}, run), {
1570
+ data: _object_spread_props(_object_spread({}, run2), {
1159
1571
  failed_at: dayjs2().unix(),
1160
1572
  status: "in_progress",
1161
1573
  last_error: e.message
@@ -1171,14 +1583,14 @@ var anthropicRunAdapter = function(param) {
1171
1583
  id: "THERE_IS_A_BUG_IN_SUPERCOMPAT_IF_YOU_SEE_THIS_ID",
1172
1584
  object: "thread.message",
1173
1585
  completed_at: null,
1174
- run_id: run.id,
1586
+ run_id: run2.id,
1175
1587
  created_at: dayjs2().unix(),
1176
- assistant_id: run.assistant_id,
1588
+ assistant_id: run2.assistant_id,
1177
1589
  incomplete_at: null,
1178
1590
  incomplete_details: null,
1179
1591
  metadata: {},
1180
1592
  attachments: [],
1181
- thread_id: run.thread_id,
1593
+ thread_id: run2.thread_id,
1182
1594
  content: [
1183
1595
  {
1184
1596
  text: {
@@ -1200,9 +1612,9 @@ var anthropicRunAdapter = function(param) {
1200
1612
  data: {
1201
1613
  id: "THERE_IS_A_BUG_IN_SUPERCOMPAT_IF_YOU_SEE_THIS_ID",
1202
1614
  object: "thread.run.step",
1203
- run_id: run.id,
1204
- assistant_id: run.assistant_id,
1205
- thread_id: run.thread_id,
1615
+ run_id: run2.id,
1616
+ assistant_id: run2.assistant_id,
1617
+ thread_id: run2.thread_id,
1206
1618
  type: "message_creation",
1207
1619
  status: "completed",
1208
1620
  completed_at: dayjs2().unix(),
@@ -1222,11 +1634,6 @@ var anthropicRunAdapter = function(param) {
1222
1634
  }
1223
1635
  });
1224
1636
  currentContent = "";
1225
- console.dir({
1226
- providerResponse: providerResponse
1227
- }, {
1228
- depth: null
1229
- });
1230
1637
  if (!isStream) return [
1231
1638
  3,
1232
1639
  19
@@ -1366,9 +1773,9 @@ var anthropicRunAdapter = function(param) {
1366
1773
  data: {
1367
1774
  id: "THERE_IS_A_BUG_IN_SUPERCOMPAT_IF_YOU_SEE_THIS_ID",
1368
1775
  object: "thread.run.step",
1369
- run_id: run.id,
1370
- assistant_id: run.assistant_id,
1371
- thread_id: run.thread_id,
1776
+ run_id: run2.id,
1777
+ assistant_id: run2.assistant_id,
1778
+ thread_id: run2.thread_id,
1372
1779
  type: "tool_calls",
1373
1780
  status: "in_progress",
1374
1781
  completed_at: null,
@@ -1416,7 +1823,7 @@ var anthropicRunAdapter = function(param) {
1416
1823
  2,
1417
1824
  onEvent2({
1418
1825
  event: "thread.run.completed",
1419
- data: _object_spread_props(_object_spread({}, run), {
1826
+ data: _object_spread_props(_object_spread({}, run2), {
1420
1827
  status: "completed",
1421
1828
  completed_at: dayjs2().unix()
1422
1829
  })
@@ -1427,7 +1834,7 @@ var anthropicRunAdapter = function(param) {
1427
1834
  2,
1428
1835
  onEvent2({
1429
1836
  event: "thread.run.requires_action",
1430
- data: _object_spread_props(_object_spread({}, run), {
1837
+ data: _object_spread_props(_object_spread({}, run2), {
1431
1838
  status: "requires_action",
1432
1839
  required_action: {
1433
1840
  type: "submit_tool_outputs",
@@ -1446,9 +1853,9 @@ var anthropicRunAdapter = function(param) {
1446
1853
  };
1447
1854
  }();
1448
1855
  };
1449
- // src/adapters/storage/prismaStorageAdapter/beta/threads/create.ts
1856
+ // src/adapters/storage/prismaStorageAdapter/threads/post.ts
1450
1857
  import dayjs4 from "dayjs";
1451
- // src/adapters/storage/prismaStorageAdapter/beta/threads/serializeThread.ts
1858
+ // src/adapters/storage/prismaStorageAdapter/threads/serializeThread.ts
1452
1859
  import dayjs3 from "dayjs";
1453
1860
  var serializeThread = function(param) {
1454
1861
  var thread = param.thread;
@@ -1461,11 +1868,11 @@ var serializeThread = function(param) {
1461
1868
  tool_resources: null
1462
1869
  };
1463
1870
  };
1464
- // src/adapters/storage/prismaStorageAdapter/beta/threads/create.ts
1465
- var create = function(param) {
1871
+ // src/adapters/storage/prismaStorageAdapter/threads/post.ts
1872
+ var post3 = function(param) {
1466
1873
  var prisma = param.prisma;
1467
1874
  return /*#__PURE__*/ _async_to_generator(function() {
1468
- var _len, args, _key, _args_, _args__body, messages4, metadata, initialCreatedAt, thread;
1875
+ var _len, args, _key, body, messages4, metadata, initialCreatedAt, thread;
1469
1876
  var _arguments = arguments;
1470
1877
  return _ts_generator(this, function(_state) {
1471
1878
  switch(_state.label){
@@ -1473,19 +1880,22 @@ var create = function(param) {
1473
1880
  for(_len = _arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
1474
1881
  args[_key] = _arguments[_key];
1475
1882
  }
1476
- _args_ = args[0], _args__body = _args_.// @ts-ignore-next-line
1477
- body, messages4 = _args__body.messages, metadata = _args__body.metadata;
1883
+ body = JSON.parse(args[1].body);
1884
+ messages4 = body.messages || [];
1885
+ metadata = body.metadata || {};
1478
1886
  initialCreatedAt = dayjs4().subtract(messages4.length, "seconds").format();
1479
1887
  return [
1480
1888
  4,
1481
1889
  prisma.thread.create({
1482
- data: {
1483
- metadata: metadata,
1890
+ data: _object_spread_props(_object_spread({
1891
+ metadata: metadata
1892
+ }, metadata.assistantId ? {
1484
1893
  assistant: {
1485
1894
  connect: {
1486
- id: metadata.superinterfaceAssistantId
1895
+ id: metadata.assistantId
1487
1896
  }
1488
- },
1897
+ }
1898
+ } : {}), {
1489
1899
  messages: {
1490
1900
  create: messages4.map(function(message, index) {
1491
1901
  return {
@@ -1505,24 +1915,36 @@ var create = function(param) {
1505
1915
  };
1506
1916
  })
1507
1917
  }
1508
- }
1918
+ })
1509
1919
  })
1510
1920
  ];
1511
1921
  case 1:
1512
1922
  thread = _state.sent();
1513
1923
  return [
1514
1924
  2,
1515
- serializeThread({
1925
+ new Response(JSON.stringify(serializeThread({
1516
1926
  thread: thread
1927
+ })), {
1928
+ status: 200,
1929
+ headers: {
1930
+ "Content-Type": "application/json"
1931
+ }
1517
1932
  })
1518
1933
  ];
1519
1934
  }
1520
1935
  });
1521
1936
  });
1522
1937
  };
1523
- // src/adapters/storage/prismaStorageAdapter/beta/threads/messages/list.ts
1524
- import { assign as assign3, last } from "radash";
1525
- // src/adapters/storage/prismaStorageAdapter/beta/threads/messages/serializeMessage.ts
1938
+ // src/adapters/storage/prismaStorageAdapter/threads/index.ts
1939
+ var threads = function(param) {
1940
+ var prisma = param.prisma;
1941
+ return {
1942
+ post: post3({
1943
+ prisma: prisma
1944
+ })
1945
+ };
1946
+ };
1947
+ // src/adapters/storage/prismaStorageAdapter/threads/messages/serializeMessage.ts
1526
1948
  import dayjs5 from "dayjs";
1527
1949
  import { assign as assign2 } from "radash";
1528
1950
  var serializeMessage3 = function(param) {
@@ -1547,68 +1969,7 @@ var serializeMessage3 = function(param) {
1547
1969
  } : {})
1548
1970
  };
1549
1971
  };
1550
- // src/adapters/storage/prismaStorageAdapter/beta/threads/messages/list.ts
1551
- var list = function(param) {
1552
- var prisma = param.prisma;
1553
- return /*#__PURE__*/ _async_to_generator(function() {
1554
- var _len, args, _key, _last, threadId, _args_, _assign3, // @ts-ignore-next-line
1555
- limit, // @ts-ignore-next-line
1556
- order, // @ts-ignore-next-line
1557
- after, messages4, _last_id;
1558
- var _arguments = arguments;
1559
- return _ts_generator(this, function(_state) {
1560
- switch(_state.label){
1561
- case 0:
1562
- for(_len = _arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
1563
- args[_key] = _arguments[_key];
1564
- }
1565
- threadId = args[0];
1566
- _assign3 = assign3({
1567
- // @ts-ignore-next-line
1568
- limit: 20,
1569
- order: "desc",
1570
- after: null
1571
- }, (_args_ = args[1]) !== null && _args_ !== void 0 ? _args_ : {}), limit = _assign3.limit, order = _assign3.order, after = _assign3.after;
1572
- return [
1573
- 4,
1574
- prisma.message.findMany(_object_spread({
1575
- where: {
1576
- threadId: threadId
1577
- },
1578
- take: limit,
1579
- orderBy: {
1580
- createdAt: order
1581
- }
1582
- }, after ? {
1583
- skip: 1,
1584
- cursor: {
1585
- id: after
1586
- }
1587
- } : {}))
1588
- ];
1589
- case 1:
1590
- messages4 = _state.sent();
1591
- return [
1592
- 2,
1593
- {
1594
- data: messages4.map(function(message) {
1595
- return serializeMessage3({
1596
- message: message
1597
- });
1598
- }),
1599
- hasNextPage: function() {
1600
- return messages4.length === limit;
1601
- },
1602
- body: {
1603
- last_id: (_last_id = (_last = last(messages4)) === null || _last === void 0 ? void 0 : _last.id) !== null && _last_id !== void 0 ? _last_id : null
1604
- }
1605
- }
1606
- ];
1607
- }
1608
- });
1609
- });
1610
- };
1611
- // src/adapters/storage/prismaStorageAdapter/beta/threads/messages/create.ts
1972
+ // src/adapters/storage/prismaStorageAdapter/threads/messages/post.ts
1612
1973
  var messageContentBlocks = function(param) {
1613
1974
  var content = param.content;
1614
1975
  return [
@@ -1621,230 +1982,234 @@ var messageContentBlocks = function(param) {
1621
1982
  }
1622
1983
  ];
1623
1984
  };
1624
- var create2 = function(param) {
1625
- var prisma = param.prisma;
1626
- return /*#__PURE__*/ _async_to_generator(function() {
1627
- var _len, args, _key, threadId, content, message;
1628
- var _arguments = arguments;
1629
- return _ts_generator(this, function(_state) {
1630
- switch(_state.label){
1631
- case 0:
1632
- for(_len = _arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
1633
- args[_key] = _arguments[_key];
1634
- }
1635
- threadId = args[0];
1636
- content = args[1].content;
1637
- return [
1638
- 4,
1639
- prisma.message.create({
1640
- data: {
1641
- threadId: threadId,
1642
- content: messageContentBlocks({
1643
- content: content
1644
- }),
1645
- role: "USER"
1646
- }
1647
- })
1648
- ];
1649
- case 1:
1650
- message = _state.sent();
1651
- return [
1652
- 2,
1653
- serializeMessage3({
1654
- message: message
1655
- })
1656
- ];
1657
- }
1658
- });
1659
- });
1660
- };
1661
- // src/adapters/storage/prismaStorageAdapter/beta/threads/messages/index.ts
1662
- var messages3 = function(param) {
1985
+ var post4 = function(param) {
1663
1986
  var prisma = param.prisma;
1664
- return {
1665
- list: list({
1987
+ return function() {
1988
+ var _ref = _async_to_generator(function(urlString, options) {
1989
+ var url, _url_pathname_match, threadId, body, role, content, message;
1990
+ return _ts_generator(this, function(_state) {
1991
+ switch(_state.label){
1992
+ case 0:
1993
+ url = new URL(urlString);
1994
+ _url_pathname_match = _sliced_to_array(url.pathname.match(new RegExp("^/v1/threads/([^/]+)/messages$")), 2), threadId = _url_pathname_match[1];
1995
+ body = JSON.parse(options.body);
1996
+ role = body.role, content = body.content;
1997
+ return [
1998
+ 4,
1999
+ prisma.message.create({
2000
+ data: {
2001
+ threadId: threadId,
2002
+ content: messageContentBlocks({
2003
+ content: content
2004
+ }),
2005
+ role: role === "user" ? "USER" : "ASSISTANT"
2006
+ }
2007
+ })
2008
+ ];
2009
+ case 1:
2010
+ message = _state.sent();
2011
+ return [
2012
+ 2,
2013
+ new Response(JSON.stringify(serializeMessage3({
2014
+ message: message
2015
+ })), {
2016
+ status: 200,
2017
+ headers: {
2018
+ "Content-Type": "application/json"
2019
+ }
2020
+ })
2021
+ ];
2022
+ }
2023
+ });
2024
+ });
2025
+ return function(urlString, options) {
2026
+ return _ref.apply(this, arguments);
2027
+ };
2028
+ }();
2029
+ };
2030
+ // src/adapters/storage/prismaStorageAdapter/threads/messages/get.ts
2031
+ import { assign as assign3, last } from "radash";
2032
+ var get = function(param) {
2033
+ var prisma = param.prisma;
2034
+ return function() {
2035
+ var _ref = _async_to_generator(function(urlString) {
2036
+ var _last, url, _url_pathname_match, threadId, _assign3, limit, order, after, messages4, _last_id;
2037
+ return _ts_generator(this, function(_state) {
2038
+ switch(_state.label){
2039
+ case 0:
2040
+ url = new URL(urlString);
2041
+ _url_pathname_match = _sliced_to_array(url.pathname.match(new RegExp("^/v1/threads/([^/]+)/messages$")), 2), threadId = _url_pathname_match[1];
2042
+ _assign3 = assign3({
2043
+ limit: "20",
2044
+ order: "desc"
2045
+ }, Object.fromEntries(url.searchParams)), limit = _assign3.limit, order = _assign3.order, after = _assign3.after;
2046
+ return [
2047
+ 4,
2048
+ prisma.message.findMany(_object_spread({
2049
+ where: {
2050
+ threadId: threadId
2051
+ },
2052
+ take: parseInt(limit),
2053
+ orderBy: {
2054
+ createdAt: order
2055
+ }
2056
+ }, after ? {
2057
+ skip: 1,
2058
+ cursor: {
2059
+ id: after
2060
+ }
2061
+ } : {}))
2062
+ ];
2063
+ case 1:
2064
+ messages4 = _state.sent();
2065
+ return [
2066
+ 2,
2067
+ new Response(JSON.stringify({
2068
+ data: messages4.map(function(message) {
2069
+ return serializeMessage3({
2070
+ message: message
2071
+ });
2072
+ }),
2073
+ hasNextPage: function() {
2074
+ return messages4.length === parseInt(limit);
2075
+ },
2076
+ body: {
2077
+ last_id: (_last_id = (_last = last(messages4)) === null || _last === void 0 ? void 0 : _last.id) !== null && _last_id !== void 0 ? _last_id : null
2078
+ }
2079
+ }), {
2080
+ status: 200,
2081
+ headers: {
2082
+ "Content-Type": "application/json"
2083
+ }
2084
+ })
2085
+ ];
2086
+ }
2087
+ });
2088
+ });
2089
+ return function(urlString) {
2090
+ return _ref.apply(this, arguments);
2091
+ };
2092
+ }();
2093
+ };
2094
+ // src/adapters/storage/prismaStorageAdapter/threads/messages/index.ts
2095
+ var messages3 = function(param) {
2096
+ var prisma = param.prisma;
2097
+ return {
2098
+ post: post4({
1666
2099
  prisma: prisma
1667
2100
  }),
1668
- create: create2({
2101
+ get: get({
1669
2102
  prisma: prisma
1670
2103
  })
1671
2104
  };
1672
2105
  };
1673
- // src/adapters/storage/prismaStorageAdapter/beta/threads/runs/list.ts
2106
+ // src/adapters/storage/prismaStorageAdapter/threads/runs/get.ts
1674
2107
  import { assign as assign4, last as last2 } from "radash";
1675
- // src/adapters/storage/prismaStorageAdapter/beta/threads/runs/serializeRun.ts
2108
+ // src/adapters/storage/prismaStorageAdapter/threads/runs/serializeRun.ts
1676
2109
  import dayjs6 from "dayjs";
1677
2110
  var serializeRun = function(param) {
1678
- var run = param.run;
2111
+ var run2 = param.run;
1679
2112
  return {
1680
- id: run.id,
2113
+ id: run2.id,
1681
2114
  object: "thread.run",
1682
- created_at: dayjs6(run.createdAt).unix(),
1683
- thread_id: run.threadId,
1684
- assistant_id: run.assistantId,
1685
- status: run.status.toLowerCase(),
1686
- required_action: run.requiredAction,
1687
- last_error: run.lastError,
1688
- expires_at: dayjs6(run.expiresAt).unix(),
1689
- started_at: run.startedAt ? dayjs6(run.startedAt).unix() : null,
1690
- cancelled_at: run.cancelledAt ? dayjs6(run.cancelledAt).unix() : null,
1691
- failed_at: run.failedAt ? dayjs6(run.failedAt).unix() : null,
1692
- completed_at: run.completedAt ? dayjs6(run.completedAt).unix() : null,
1693
- model: run.model,
1694
- instructions: run.instructions,
1695
- tools: run.tools,
1696
- metadata: run.metadata,
1697
- usage: run.usage,
2115
+ created_at: dayjs6(run2.createdAt).unix(),
2116
+ thread_id: run2.threadId,
2117
+ assistant_id: run2.assistantId,
2118
+ status: run2.status.toLowerCase(),
2119
+ required_action: run2.requiredAction,
2120
+ last_error: run2.lastError,
2121
+ expires_at: dayjs6(run2.expiresAt).unix(),
2122
+ started_at: run2.startedAt ? dayjs6(run2.startedAt).unix() : null,
2123
+ cancelled_at: run2.cancelledAt ? dayjs6(run2.cancelledAt).unix() : null,
2124
+ failed_at: run2.failedAt ? dayjs6(run2.failedAt).unix() : null,
2125
+ completed_at: run2.completedAt ? dayjs6(run2.completedAt).unix() : null,
2126
+ model: run2.model,
2127
+ instructions: run2.instructions,
2128
+ tools: run2.tools,
2129
+ metadata: run2.metadata,
2130
+ usage: run2.usage,
2131
+ truncation_strategy: {
2132
+ type: "auto"
2133
+ },
2134
+ response_format: {
2135
+ type: "text"
2136
+ },
1698
2137
  // TODO
1699
2138
  incomplete_details: null,
1700
2139
  max_completion_tokens: null,
1701
2140
  max_prompt_tokens: null,
1702
- response_format: "auto",
1703
2141
  tool_choice: "auto",
1704
- truncation_strategy: {
1705
- type: "auto",
1706
- last_messages: null
1707
- }
2142
+ parallel_tool_calls: true
1708
2143
  };
1709
2144
  };
1710
- // src/adapters/storage/prismaStorageAdapter/beta/threads/runs/list.ts
1711
- var list2 = function(param) {
1712
- var prisma = param.prisma;
1713
- return /*#__PURE__*/ _async_to_generator(function() {
1714
- var _len, args, _key, _last2, threadId, _args_, _assign4, // @ts-ignore-next-line
1715
- limit, // @ts-ignore-next-line
1716
- order, // @ts-ignore-next-line
1717
- after, runs2, _last2_id;
1718
- var _arguments = arguments;
1719
- return _ts_generator(this, function(_state) {
1720
- switch(_state.label){
1721
- case 0:
1722
- for(_len = _arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
1723
- args[_key] = _arguments[_key];
1724
- }
1725
- threadId = args[0];
1726
- _assign4 = assign4({
1727
- // @ts-ignore-next-line
1728
- limit: 20,
1729
- order: "desc"
1730
- }, (_args_ = args[1]) !== null && _args_ !== void 0 ? _args_ : {}), limit = _assign4.limit, order = _assign4.order, after = _assign4.after;
1731
- return [
1732
- 4,
1733
- prisma.run.findMany(_object_spread({
1734
- where: {
1735
- threadId: threadId
1736
- },
1737
- take: limit,
1738
- orderBy: {
1739
- createdAt: order
1740
- }
1741
- }, after ? {
1742
- skip: 1,
1743
- cursor: {
1744
- id: after
1745
- }
1746
- } : {}))
1747
- ];
1748
- case 1:
1749
- runs2 = _state.sent();
1750
- return [
1751
- 2,
1752
- {
1753
- data: runs2.map(function(run) {
1754
- return serializeRun({
1755
- run: run
1756
- });
1757
- }),
1758
- hasNextPage: function() {
1759
- return runs2.length === limit;
1760
- },
1761
- body: {
1762
- last_id: (_last2_id = (_last2 = last2(runs2)) === null || _last2 === void 0 ? void 0 : _last2.id) !== null && _last2_id !== void 0 ? _last2_id : null
1763
- }
1764
- }
1765
- ];
1766
- }
1767
- });
1768
- });
1769
- };
1770
- // src/adapters/storage/prismaStorageAdapter/beta/threads/runs/create.ts
1771
- import dayjs7 from "dayjs";
1772
- import { assign as assign5 } from "radash";
1773
- var create3 = function(param) {
2145
+ // src/adapters/storage/prismaStorageAdapter/threads/runs/get.ts
2146
+ var get2 = function(param) {
1774
2147
  var prisma = param.prisma;
1775
- return /*#__PURE__*/ _async_to_generator(function() {
1776
- var _len, args, _key, threadId, assistant_id, assistant, _assign5, model, instructions, // additional_instructions,
1777
- tools, metadata, run;
1778
- var _arguments = arguments;
1779
- return _ts_generator(this, function(_state) {
1780
- switch(_state.label){
1781
- case 0:
1782
- for(_len = _arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
1783
- args[_key] = _arguments[_key];
1784
- }
1785
- threadId = args[0];
1786
- assistant_id = args[1].assistant_id;
1787
- return [
1788
- 4,
1789
- prisma.assistant.findUnique({
1790
- where: {
1791
- id: assistant_id
1792
- }
1793
- })
1794
- ];
1795
- case 1:
1796
- assistant = _state.sent();
1797
- if (!assistant) {
1798
- throw new Error("Assistant not found");
1799
- }
1800
- _assign5 = assign5({
1801
- model: assistant.modelSlug,
1802
- instructions: "",
1803
- additional_instructions: null
1804
- }, args[1]), model = _assign5.model, instructions = _assign5.instructions, tools = _assign5.tools, metadata = _assign5.metadata;
1805
- return [
1806
- 4,
1807
- prisma.run.create({
1808
- data: {
1809
- status: "QUEUED",
1810
- expiresAt: dayjs7().add(1, "hour").unix(),
1811
- // @ts-ignore-next-line
1812
- model: model,
1813
- // @ts-ignore-next-line
1814
- instructions: instructions,
1815
- // @ts-ignore-next-line
1816
- tools: tools,
1817
- // @ts-ignore-next-line
1818
- metadata: metadata,
1819
- thread: {
1820
- connect: {
1821
- id: threadId
1822
- }
2148
+ return function() {
2149
+ var _ref = _async_to_generator(function(urlString) {
2150
+ var _last2, url, _url_pathname_match, threadId, _assign4, limit, order, after, runs2, _last2_id;
2151
+ return _ts_generator(this, function(_state) {
2152
+ switch(_state.label){
2153
+ case 0:
2154
+ url = new URL(urlString);
2155
+ _url_pathname_match = _sliced_to_array(url.pathname.match(new RegExp("^/v1/threads/([^/]+)/runs$")), 2), threadId = _url_pathname_match[1];
2156
+ _assign4 = assign4({
2157
+ limit: "20",
2158
+ order: "desc"
2159
+ }, Object.fromEntries(url.searchParams)), limit = _assign4.limit, order = _assign4.order, after = _assign4.after;
2160
+ return [
2161
+ 4,
2162
+ prisma.run.findMany(_object_spread({
2163
+ where: {
2164
+ threadId: threadId
1823
2165
  },
1824
- assistant: {
1825
- connect: {
1826
- id: assistant_id
1827
- }
2166
+ take: parseInt(limit),
2167
+ orderBy: {
2168
+ createdAt: order
1828
2169
  }
1829
- }
1830
- })
1831
- ];
1832
- case 2:
1833
- run = _state.sent();
1834
- return [
1835
- 2,
1836
- serializeRun({
1837
- run: run
1838
- })
1839
- ];
1840
- }
2170
+ }, after ? {
2171
+ skip: 1,
2172
+ cursor: {
2173
+ id: after
2174
+ }
2175
+ } : {}))
2176
+ ];
2177
+ case 1:
2178
+ runs2 = _state.sent();
2179
+ return [
2180
+ 2,
2181
+ new Response(JSON.stringify({
2182
+ data: runs2.map(function(run2) {
2183
+ return serializeRun({
2184
+ run: run2
2185
+ });
2186
+ }),
2187
+ hasNextPage: function() {
2188
+ return runs2.length === parseInt(limit);
2189
+ },
2190
+ body: {
2191
+ // @ts-ignore-next-line
2192
+ last_id: (_last2_id = (_last2 = last2(runs2)) === null || _last2 === void 0 ? void 0 : _last2.id) !== null && _last2_id !== void 0 ? _last2_id : null
2193
+ }
2194
+ }), {
2195
+ status: 200,
2196
+ headers: {
2197
+ "Content-Type": "application/json"
2198
+ }
2199
+ })
2200
+ ];
2201
+ }
2202
+ });
1841
2203
  });
1842
- });
2204
+ return function(urlString) {
2205
+ return _ref.apply(this, arguments);
2206
+ };
2207
+ }();
1843
2208
  };
1844
- // src/adapters/storage/prismaStorageAdapter/beta/threads/runs/createAndStream.ts
1845
- import { assign as assign6 } from "radash";
1846
- import dayjs9 from "dayjs";
1847
- // src/adapters/storage/prismaStorageAdapter/beta/threads/runs/onEvent/handlers/threadRunInProgress.ts
2209
+ // src/adapters/storage/prismaStorageAdapter/threads/runs/post.ts
2210
+ import dayjs8 from "dayjs";
2211
+ import { assign as assign5 } from "radash";
2212
+ // src/adapters/storage/prismaStorageAdapter/threads/runs/onEvent/handlers/threadRunInProgress.ts
1848
2213
  var threadRunInProgress = function(param) {
1849
2214
  var prisma = param.prisma, event = param.event, controller = param.controller;
1850
2215
  controller.enqueue(event);
@@ -1857,7 +2222,7 @@ var threadRunInProgress = function(param) {
1857
2222
  }
1858
2223
  });
1859
2224
  };
1860
- // src/adapters/storage/prismaStorageAdapter/beta/threads/runs/onEvent/handlers/threadRunFailed.ts
2225
+ // src/adapters/storage/prismaStorageAdapter/threads/runs/onEvent/handlers/threadRunFailed.ts
1861
2226
  var threadRunFailed = function(param) {
1862
2227
  var prisma = param.prisma, event = param.event, controller = param.controller;
1863
2228
  controller.enqueue(event);
@@ -1872,7 +2237,7 @@ var threadRunFailed = function(param) {
1872
2237
  }
1873
2238
  });
1874
2239
  };
1875
- // src/adapters/storage/prismaStorageAdapter/beta/threads/runs/onEvent/handlers/threadRunCompleted.ts
2240
+ // src/adapters/storage/prismaStorageAdapter/threads/runs/onEvent/handlers/threadRunCompleted.ts
1876
2241
  var threadRunCompleted = function(param) {
1877
2242
  var prisma = param.prisma, event = param.event, controller = param.controller;
1878
2243
  controller.enqueue(event);
@@ -1886,7 +2251,7 @@ var threadRunCompleted = function(param) {
1886
2251
  }
1887
2252
  });
1888
2253
  };
1889
- // src/adapters/storage/prismaStorageAdapter/beta/threads/runs/onEvent/handlers/threadRunRequiresAction.ts
2254
+ // src/adapters/storage/prismaStorageAdapter/threads/runs/onEvent/handlers/threadRunRequiresAction.ts
1890
2255
  var threadRunRequiresAction = function(param) {
1891
2256
  var prisma = param.prisma, event = param.event, controller = param.controller;
1892
2257
  controller.enqueue(event);
@@ -1900,14 +2265,14 @@ var threadRunRequiresAction = function(param) {
1900
2265
  }
1901
2266
  });
1902
2267
  };
1903
- // src/adapters/storage/prismaStorageAdapter/beta/threads/runs/steps/serializeRunStep.ts
1904
- import dayjs8 from "dayjs";
2268
+ // src/adapters/storage/prismaStorageAdapter/threads/runs/steps/serializeRunStep.ts
2269
+ import dayjs7 from "dayjs";
1905
2270
  var serializeRunStep = function(param) {
1906
2271
  var runStep = param.runStep;
1907
2272
  return {
1908
2273
  id: runStep.id,
1909
2274
  object: "thread.run.step",
1910
- created_at: dayjs8(runStep.createdAt).unix(),
2275
+ created_at: dayjs7(runStep.createdAt).unix(),
1911
2276
  assistant_id: runStep.assistantId,
1912
2277
  thread_id: runStep.threadId,
1913
2278
  run_id: runStep.runId,
@@ -1916,15 +2281,15 @@ var serializeRunStep = function(param) {
1916
2281
  // @ts-ignore-next-line
1917
2282
  step_details: runStep.stepDetails,
1918
2283
  last_error: runStep.lastError,
1919
- expired_at: runStep.expiredAt ? dayjs8(runStep.expiredAt).unix() : null,
1920
- cancelled_at: runStep.cancelledAt ? dayjs8(runStep.cancelledAt).unix() : null,
1921
- failed_at: runStep.failedAt ? dayjs8(runStep.failedAt).unix() : null,
1922
- completed_at: runStep.completedAt ? dayjs8(runStep.completedAt).unix() : null,
2284
+ expired_at: runStep.expiredAt ? dayjs7(runStep.expiredAt).unix() : null,
2285
+ cancelled_at: runStep.cancelledAt ? dayjs7(runStep.cancelledAt).unix() : null,
2286
+ failed_at: runStep.failedAt ? dayjs7(runStep.failedAt).unix() : null,
2287
+ completed_at: runStep.completedAt ? dayjs7(runStep.completedAt).unix() : null,
1923
2288
  metadata: runStep.metadata,
1924
2289
  usage: runStep.usage
1925
2290
  };
1926
2291
  };
1927
- // src/adapters/storage/prismaStorageAdapter/beta/threads/runs/onEvent/handlers/threadRunStepCreated.ts
2292
+ // src/adapters/storage/prismaStorageAdapter/threads/runs/onEvent/handlers/threadRunStepCreated.ts
1928
2293
  var type = function(event) {
1929
2294
  if (event.data.type === "message_creation") return "MESSAGE_CREATION" /* MESSAGE_CREATION */ ;
1930
2295
  if (event.data.type === "tool_calls") return "TOOL_CALLS" /* TOOL_CALLS */ ;
@@ -1978,12 +2343,12 @@ var threadRunStepCreated = function() {
1978
2343
  return _ref.apply(this, arguments);
1979
2344
  };
1980
2345
  }();
1981
- // src/adapters/storage/prismaStorageAdapter/beta/threads/runs/onEvent/handlers/threadRunStepDelta.ts
2346
+ // src/adapters/storage/prismaStorageAdapter/threads/runs/onEvent/handlers/threadRunStepDelta.ts
1982
2347
  var threadRunStepDelta = function(param) {
1983
2348
  var event = param.event, controller = param.controller;
1984
2349
  return controller.enqueue(event);
1985
2350
  };
1986
- // src/adapters/storage/prismaStorageAdapter/beta/threads/runs/onEvent/handlers/threadMessageCreated.ts
2351
+ // src/adapters/storage/prismaStorageAdapter/threads/runs/onEvent/handlers/threadMessageCreated.ts
1987
2352
  var status2 = function(event) {
1988
2353
  if (event.data.status === "completed") return "COMPLETED" /* COMPLETED */ ;
1989
2354
  if (event.data.status === "in_progress") return "IN_PROGRESS" /* IN_PROGRESS */ ;
@@ -2029,12 +2394,12 @@ var threadMessageCreated = function() {
2029
2394
  return _ref.apply(this, arguments);
2030
2395
  };
2031
2396
  }();
2032
- // src/adapters/storage/prismaStorageAdapter/beta/threads/runs/onEvent/handlers/threadMessageDelta.ts
2397
+ // src/adapters/storage/prismaStorageAdapter/threads/runs/onEvent/handlers/threadMessageDelta.ts
2033
2398
  var threadMessageDelta = function(param) {
2034
2399
  var event = param.event, controller = param.controller;
2035
2400
  return controller.enqueue(event);
2036
2401
  };
2037
- // src/adapters/storage/prismaStorageAdapter/beta/threads/runs/onEvent/handlers/threadMessageCompleted.ts
2402
+ // src/adapters/storage/prismaStorageAdapter/threads/runs/onEvent/handlers/threadMessageCompleted.ts
2038
2403
  var threadMessageCompleted = function() {
2039
2404
  var _ref = _async_to_generator(function(param) {
2040
2405
  var prisma, event, controller, latestRunStep;
@@ -2104,7 +2469,7 @@ var threadMessageCompleted = function() {
2104
2469
  return _ref.apply(this, arguments);
2105
2470
  };
2106
2471
  }();
2107
- // src/adapters/storage/prismaStorageAdapter/beta/threads/runs/onEvent/handlers/index.ts
2472
+ // src/adapters/storage/prismaStorageAdapter/threads/runs/onEvent/handlers/index.ts
2108
2473
  var handlers = {
2109
2474
  "thread.run.in_progress": threadRunInProgress,
2110
2475
  "thread.run.failed": threadRunFailed,
@@ -2116,7 +2481,7 @@ var handlers = {
2116
2481
  "thread.message.delta": threadMessageDelta,
2117
2482
  "thread.message.completed": threadMessageCompleted
2118
2483
  };
2119
- // src/adapters/storage/prismaStorageAdapter/beta/threads/runs/onEvent/index.ts
2484
+ // src/adapters/storage/prismaStorageAdapter/threads/runs/onEvent/index.ts
2120
2485
  var onEvent = function(param) {
2121
2486
  var prisma = param.prisma, controller = param.controller;
2122
2487
  return function(event) {
@@ -2132,708 +2497,694 @@ var onEvent = function(param) {
2132
2497
  });
2133
2498
  };
2134
2499
  };
2135
- // src/adapters/storage/prismaStorageAdapter/beta/threads/runs/getMessages.ts
2500
+ // src/adapters/storage/prismaStorageAdapter/threads/runs/getMessages.ts
2501
+ var getTake = function(param) {
2502
+ var run2 = param.run;
2503
+ if (run2.truncationStrategy.type === "auto") {
2504
+ return null;
2505
+ }
2506
+ if (run2.truncationStrategy.type === "last_messages") {
2507
+ if (!run2.truncationStrategy.last_messages) {
2508
+ throw new Error("Truncation strategy last_messages is required");
2509
+ }
2510
+ return -run2.truncationStrategy.last_messages;
2511
+ }
2512
+ throw new Error("Unsupported truncation strategy type: ".concat(run2.truncationStrategy.type));
2513
+ };
2136
2514
  var getMessages = function(param) {
2137
- var prisma = param.prisma, run = param.run;
2515
+ var prisma = param.prisma, run2 = param.run;
2516
+ return /*#__PURE__*/ _async_to_generator(function() {
2517
+ var take, messages4;
2518
+ return _ts_generator(this, function(_state) {
2519
+ switch(_state.label){
2520
+ case 0:
2521
+ take = getTake({
2522
+ run: run2
2523
+ });
2524
+ return [
2525
+ 4,
2526
+ prisma.message.findMany(_object_spread({
2527
+ where: {
2528
+ threadId: run2.threadId
2529
+ },
2530
+ include: {
2531
+ run: {
2532
+ include: {
2533
+ runSteps: true
2534
+ }
2535
+ }
2536
+ },
2537
+ orderBy: {
2538
+ createdAt: "asc"
2539
+ }
2540
+ }, take ? {
2541
+ take: take
2542
+ } : {}))
2543
+ ];
2544
+ case 1:
2545
+ messages4 = _state.sent();
2546
+ return [
2547
+ 2,
2548
+ messages4.map(function(message) {
2549
+ return _object_spread_props(_object_spread({}, serializeMessage3({
2550
+ message: message
2551
+ })), {
2552
+ run: message.run ? _object_spread_props(_object_spread({}, serializeRun({
2553
+ run: message.run
2554
+ })), {
2555
+ runSteps: message.run.runSteps.map(function(runStep) {
2556
+ return serializeRunStep({
2557
+ runStep: runStep
2558
+ });
2559
+ })
2560
+ }) : null
2561
+ });
2562
+ })
2563
+ ];
2564
+ }
2565
+ });
2566
+ });
2567
+ };
2568
+ // src/adapters/storage/prismaStorageAdapter/threads/runs/post.ts
2569
+ var post5 = function(param) {
2570
+ var prisma = param.prisma, runAdapter = param.runAdapter;
2138
2571
  return function() {
2139
- var _ref = _async_to_generator(function(param) {
2140
- var messagesHistoryLength, messages4;
2572
+ var _ref = _async_to_generator(function(urlString, options) {
2573
+ var url, _url_pathname_match, threadId, body, assistant_id, stream, assistant, _assign5, model, instructions, // additional_instructions,
2574
+ tools, metadata, response_format, truncation_strategy, run2, data, readableStream;
2141
2575
  return _ts_generator(this, function(_state) {
2142
2576
  switch(_state.label){
2143
2577
  case 0:
2144
- messagesHistoryLength = param.messagesHistoryLength;
2578
+ url = new URL(urlString);
2579
+ _url_pathname_match = _sliced_to_array(url.pathname.match(new RegExp("^/v1/threads/([^/]+)/runs$")), 2), threadId = _url_pathname_match[1];
2580
+ body = JSON.parse(options.body);
2581
+ assistant_id = body.assistant_id, stream = body.stream;
2145
2582
  return [
2146
2583
  4,
2147
- prisma.message.findMany({
2584
+ prisma.assistant.findUnique({
2148
2585
  where: {
2149
- threadId: run.threadId
2150
- },
2151
- include: {
2152
- run: {
2153
- include: {
2154
- runSteps: true
2155
- }
2156
- }
2157
- },
2158
- take: -messagesHistoryLength,
2159
- orderBy: {
2160
- createdAt: "asc"
2586
+ id: assistant_id
2161
2587
  }
2162
2588
  })
2163
2589
  ];
2164
2590
  case 1:
2165
- messages4 = _state.sent();
2591
+ assistant = _state.sent();
2592
+ if (!assistant) {
2593
+ throw new Error("Assistant not found");
2594
+ }
2595
+ _assign5 = assign5({
2596
+ model: assistant.modelSlug,
2597
+ instructions: "",
2598
+ additional_instructions: null,
2599
+ truncation_strategy: {
2600
+ type: "auto"
2601
+ },
2602
+ response_format: {
2603
+ type: "text"
2604
+ }
2605
+ }, body), model = _assign5.model, instructions = _assign5.instructions, tools = _assign5.tools, metadata = _assign5.metadata, response_format = _assign5.response_format, truncation_strategy = _assign5.truncation_strategy;
2166
2606
  return [
2167
- 2,
2168
- messages4.map(function(message) {
2169
- return _object_spread_props(_object_spread({}, serializeMessage3({
2170
- message: message
2171
- })), {
2172
- run: message.run ? _object_spread_props(_object_spread({}, serializeRun({
2173
- run: message.run
2174
- })), {
2175
- runSteps: message.run.runSteps.map(function(runStep) {
2176
- return serializeRunStep({
2177
- runStep: runStep
2178
- });
2179
- })
2180
- }) : null
2181
- });
2607
+ 4,
2608
+ prisma.run.create({
2609
+ data: {
2610
+ status: "QUEUED",
2611
+ expiresAt: dayjs8().add(1, "hour").unix(),
2612
+ model: model,
2613
+ instructions: instructions,
2614
+ tools: tools,
2615
+ metadata: metadata,
2616
+ thread: {
2617
+ connect: {
2618
+ id: threadId
2619
+ }
2620
+ },
2621
+ assistant: {
2622
+ connect: {
2623
+ id: assistant_id
2624
+ }
2625
+ },
2626
+ truncationStrategy: truncation_strategy,
2627
+ responseFormat: response_format
2628
+ }
2182
2629
  })
2183
2630
  ];
2631
+ case 2:
2632
+ run2 = _state.sent();
2633
+ data = serializeRun({
2634
+ run: run2
2635
+ });
2636
+ readableStream = new ReadableStream({
2637
+ start: function start(controller) {
2638
+ return _async_to_generator(function() {
2639
+ return _ts_generator(this, function(_state) {
2640
+ switch(_state.label){
2641
+ case 0:
2642
+ return [
2643
+ 4,
2644
+ runAdapter({
2645
+ run: data,
2646
+ onEvent: onEvent({
2647
+ controller: _object_spread_props(_object_spread({}, controller), {
2648
+ enqueue: function(data2) {
2649
+ controller.enqueue("data: ".concat(JSON.stringify(data2), "\n\n"));
2650
+ }
2651
+ }),
2652
+ prisma: prisma
2653
+ }),
2654
+ getMessages: getMessages({
2655
+ prisma: prisma,
2656
+ run: run2
2657
+ })
2658
+ })
2659
+ ];
2660
+ case 1:
2661
+ _state.sent();
2662
+ controller.close();
2663
+ return [
2664
+ 2
2665
+ ];
2666
+ }
2667
+ });
2668
+ })();
2669
+ }
2670
+ });
2671
+ if (stream) {
2672
+ return [
2673
+ 2,
2674
+ new Response(readableStream, {
2675
+ headers: {
2676
+ "Content-Type": "text/event-stream"
2677
+ }
2678
+ })
2679
+ ];
2680
+ } else {
2681
+ return [
2682
+ 2,
2683
+ new Response(JSON.stringify(data), {
2684
+ status: 200,
2685
+ headers: {
2686
+ "Content-Type": "application/json"
2687
+ }
2688
+ })
2689
+ ];
2690
+ }
2691
+ return [
2692
+ 2
2693
+ ];
2184
2694
  }
2185
2695
  });
2186
2696
  });
2187
- return function(_) {
2697
+ return function(urlString, options) {
2188
2698
  return _ref.apply(this, arguments);
2189
2699
  };
2190
2700
  }();
2191
2701
  };
2192
- // src/adapters/storage/prismaStorageAdapter/beta/threads/runs/createAndStream.ts
2193
- var createAndStream = function(param) {
2702
+ // src/adapters/storage/prismaStorageAdapter/threads/runs/index.ts
2703
+ var runs = function(param) {
2194
2704
  var prisma = param.prisma, runAdapter = param.runAdapter;
2705
+ return {
2706
+ get: get2({
2707
+ prisma: prisma
2708
+ }),
2709
+ post: post5({
2710
+ prisma: prisma,
2711
+ runAdapter: runAdapter
2712
+ })
2713
+ };
2714
+ };
2715
+ // src/adapters/storage/prismaStorageAdapter/threads/run/get.ts
2716
+ var get3 = function(param) {
2717
+ var prisma = param.prisma;
2195
2718
  return function() {
2196
- for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
2197
- args[_key] = arguments[_key];
2198
- }
2199
- return new ReadableStream({
2200
- start: function start(controller) {
2201
- return _async_to_generator(function() {
2202
- var threadId, assistant_id, assistant, _assign6, model, instructions, // additional_instructions,
2203
- tools, metadata, response_format, run, data;
2204
- return _ts_generator(this, function(_state) {
2205
- switch(_state.label){
2206
- case 0:
2207
- threadId = args[0];
2208
- assistant_id = args[1].assistant_id;
2209
- return [
2210
- 4,
2211
- prisma.assistant.findUnique({
2212
- where: {
2213
- id: assistant_id
2214
- }
2215
- })
2216
- ];
2217
- case 1:
2218
- assistant = _state.sent();
2219
- if (!assistant) {
2220
- throw new Error("Assistant not found");
2719
+ var _ref = _async_to_generator(function(urlString) {
2720
+ var url, _url_pathname_match, threadId, runId, run2;
2721
+ return _ts_generator(this, function(_state) {
2722
+ switch(_state.label){
2723
+ case 0:
2724
+ url = new URL(urlString);
2725
+ _url_pathname_match = _sliced_to_array(url.pathname.match(new RegExp("^/v1/threads/([^/]+)/runs/([^/]+)$")), 3), threadId = _url_pathname_match[1], runId = _url_pathname_match[2];
2726
+ return [
2727
+ 4,
2728
+ prisma.run.findUnique({
2729
+ where: {
2730
+ id: runId,
2731
+ threadId: threadId
2221
2732
  }
2222
- _assign6 = assign6({
2223
- model: assistant.modelSlug,
2224
- instructions: "",
2225
- additional_instructions: null
2226
- }, args[1]), model = _assign6.model, instructions = _assign6.instructions, tools = _assign6.tools, metadata = _assign6.metadata, response_format = _assign6.response_format;
2227
- return [
2228
- 4,
2229
- prisma.run.create({
2230
- data: {
2231
- status: "QUEUED",
2232
- expiresAt: dayjs9().add(1, "hour").unix(),
2233
- // @ts-ignore-next-line
2234
- model: model,
2235
- // @ts-ignore-next-line
2236
- instructions: instructions,
2237
- // @ts-ignore-next-line
2238
- tools: tools,
2239
- // @ts-ignore-next-line
2240
- metadata: metadata,
2241
- thread: {
2242
- connect: {
2243
- id: threadId
2244
- }
2245
- },
2246
- assistant: {
2247
- connect: {
2248
- id: assistant_id
2249
- }
2250
- }
2251
- }
2252
- })
2253
- ];
2254
- case 2:
2255
- run = _state.sent();
2256
- data = serializeRun({
2257
- run: run
2258
- });
2259
- controller.enqueue({
2260
- event: "thread.run.created",
2261
- data: data
2262
- });
2263
- return [
2264
- 4,
2265
- runAdapter({
2266
- run: data,
2267
- onEvent: onEvent({
2268
- controller: controller,
2269
- prisma: prisma
2270
- }),
2271
- getMessages: getMessages({
2272
- prisma: prisma,
2273
- run: run
2274
- }),
2275
- responseFormat: response_format
2276
- })
2277
- ];
2278
- case 3:
2279
- _state.sent();
2280
- console.log("Stream ended inside cloud storage");
2281
- controller.close();
2282
- return [
2283
- 2
2284
- ];
2285
- }
2286
- });
2287
- })();
2288
- }
2733
+ })
2734
+ ];
2735
+ case 1:
2736
+ run2 = _state.sent();
2737
+ return [
2738
+ 2,
2739
+ new Response(JSON.stringify(serializeRun({
2740
+ run: run2
2741
+ })), {
2742
+ status: 200,
2743
+ headers: {
2744
+ "Content-Type": "application/json",
2745
+ "openai-poll-after-ms": "5000"
2746
+ }
2747
+ })
2748
+ ];
2749
+ }
2750
+ });
2289
2751
  });
2290
- };
2752
+ return function(urlString) {
2753
+ return _ref.apply(this, arguments);
2754
+ };
2755
+ }();
2291
2756
  };
2292
- // src/adapters/storage/prismaStorageAdapter/beta/threads/runs/submitToolOutputs.ts
2293
- import dayjs10 from "dayjs";
2294
- var submitToolOutputs = function(param) {
2757
+ // src/adapters/storage/prismaStorageAdapter/threads/run/index.ts
2758
+ var run = function(param) {
2295
2759
  var prisma = param.prisma, runAdapter = param.runAdapter;
2296
- return /*#__PURE__*/ _async_to_generator(function() {
2297
- var _len, args, _key, _args, threadId, runId, body, tool_outputs, run, data;
2298
- var _arguments = arguments;
2760
+ return {
2761
+ get: get3({
2762
+ prisma: prisma
2763
+ })
2764
+ };
2765
+ };
2766
+ // src/adapters/storage/prismaStorageAdapter/threads/runs/steps/get.ts
2767
+ import { assign as assign6, last as last3 } from "radash";
2768
+ var get4 = function(param) {
2769
+ var prisma = param.prisma;
2770
+ return function() {
2771
+ var _ref = _async_to_generator(function(urlString) {
2772
+ var _last3, url, _url_pathname_match, threadId, runId, _assign6, limit, order, after, runSteps, _last3_id;
2773
+ return _ts_generator(this, function(_state) {
2774
+ switch(_state.label){
2775
+ case 0:
2776
+ url = new URL(urlString);
2777
+ _url_pathname_match = _sliced_to_array(url.pathname.match(new RegExp("^/v1/threads/([^/]+)/runs/([^/]+)/steps$")), 4), threadId = _url_pathname_match[1], runId = _url_pathname_match[3];
2778
+ _assign6 = assign6({
2779
+ limit: "20",
2780
+ order: "desc"
2781
+ }, Object.fromEntries(url.searchParams)), limit = _assign6.limit, order = _assign6.order, after = _assign6.after;
2782
+ return [
2783
+ 4,
2784
+ prisma.runStep.findMany(_object_spread({
2785
+ where: {
2786
+ threadId: threadId,
2787
+ runId: runId
2788
+ },
2789
+ take: parseInt(limit),
2790
+ orderBy: {
2791
+ createdAt: order
2792
+ }
2793
+ }, after ? {
2794
+ skip: 1,
2795
+ cursor: {
2796
+ id: after
2797
+ }
2798
+ } : {}))
2799
+ ];
2800
+ case 1:
2801
+ runSteps = _state.sent();
2802
+ return [
2803
+ 2,
2804
+ new Response(JSON.stringify({
2805
+ data: runSteps.map(function(runStep) {
2806
+ return serializeRunStep({
2807
+ runStep: runStep
2808
+ });
2809
+ }),
2810
+ hasNextPage: function() {
2811
+ return runSteps.length === parseInt(limit);
2812
+ },
2813
+ body: {
2814
+ // @ts-ignore-next-line
2815
+ last_id: (_last3_id = (_last3 = last3(runSteps)) === null || _last3 === void 0 ? void 0 : _last3.id) !== null && _last3_id !== void 0 ? _last3_id : null
2816
+ }
2817
+ }), {
2818
+ status: 200,
2819
+ headers: {
2820
+ "Content-Type": "application/json"
2821
+ }
2822
+ })
2823
+ ];
2824
+ }
2825
+ });
2826
+ });
2827
+ return function(urlString) {
2828
+ return _ref.apply(this, arguments);
2829
+ };
2830
+ }();
2831
+ };
2832
+ // src/adapters/storage/prismaStorageAdapter/threads/runs/steps/index.ts
2833
+ var steps = function(param) {
2834
+ var prisma = param.prisma;
2835
+ return {
2836
+ get: get4({
2837
+ prisma: prisma
2838
+ })
2839
+ };
2840
+ };
2841
+ // src/adapters/storage/prismaStorageAdapter/threads/runs/submitToolOutputs/post/updateRun.ts
2842
+ import dayjs9 from "dayjs";
2843
+ var updateRun = function() {
2844
+ var _ref = _async_to_generator(function(param) {
2845
+ var prisma, runId, threadId, _param_onThreadRunStepCompleted, onThreadRunStepCompleted, tool_outputs;
2299
2846
  return _ts_generator(this, function(_state) {
2300
- switch(_state.label){
2301
- case 0:
2302
- for(_len = _arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
2303
- args[_key] = _arguments[_key];
2304
- }
2305
- _args = _sliced_to_array(args, 3), threadId = _args[0], runId = _args[1], body = _args[2];
2306
- tool_outputs = body.tool_outputs;
2307
- return [
2308
- 4,
2309
- prisma.$transaction(function() {
2310
- var _ref = _async_to_generator(function(prisma2) {
2311
- var runSteps, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _loop, _iterator, _step, err;
2312
- return _ts_generator(this, function(_state) {
2313
- switch(_state.label){
2314
- case 0:
2315
- return [
2316
- 4,
2317
- prisma2.runStep.findMany({
2318
- where: {
2319
- threadId: threadId,
2320
- runId: runId,
2321
- type: "TOOL_CALLS",
2322
- status: "IN_PROGRESS"
2323
- }
2324
- })
2325
- ];
2326
- case 1:
2327
- runSteps = _state.sent();
2328
- _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
2329
- _state.label = 2;
2330
- case 2:
2331
- _state.trys.push([
2332
- 2,
2333
- 7,
2334
- 8,
2335
- 9
2336
- ]);
2337
- _loop = function() {
2338
- var runStep;
2339
- return _ts_generator(this, function(_state) {
2340
- switch(_state.label){
2341
- case 0:
2342
- runStep = _step.value;
2343
- return [
2344
- 4,
2345
- prisma2.runStep.update({
2346
- where: {
2347
- id: runStep.id
2348
- },
2349
- data: {
2350
- status: "COMPLETED",
2351
- completedAt: dayjs10().unix(),
2352
- stepDetails: {
2353
- type: "tool_calls",
2354
- tool_calls: runStep.stepDetails.tool_calls.map(function(toolCall) {
2355
- var toolOutput = tool_outputs.find(function(output) {
2356
- return output.tool_call_id === toolCall.id;
2357
- }) || tool_outputs[0];
2358
- if (!toolOutput) {
2359
- console.dir({
2360
- toolOutput: toolOutput,
2361
- runStep: runStep,
2362
- tool_outputs: tool_outputs,
2363
- runSteps: runSteps
2364
- }, {
2365
- depth: null
2366
- });
2367
- throw new Error("Tool output not found");
2368
- }
2369
- return {
2370
- id: toolCall.id,
2371
- type: toolCall.type,
2372
- function: _object_spread_props(_object_spread({}, toolCall.function), {
2373
- output: toolOutput.output
2374
- })
2375
- };
2376
- })
2377
- }
2378
- }
2379
- })
2380
- ];
2381
- case 1:
2382
- _state.sent();
2383
- return [
2384
- 2
2385
- ];
2386
- }
2387
- });
2388
- };
2389
- _iterator = runSteps[Symbol.iterator]();
2390
- _state.label = 3;
2391
- case 3:
2392
- if (!!(_iteratorNormalCompletion = (_step = _iterator.next()).done)) return [
2393
- 3,
2394
- 6
2395
- ];
2396
- return [
2397
- 5,
2398
- _ts_values(_loop())
2399
- ];
2400
- case 4:
2401
- _state.sent();
2402
- _state.label = 5;
2403
- case 5:
2404
- _iteratorNormalCompletion = true;
2405
- return [
2406
- 3,
2407
- 3
2408
- ];
2409
- case 6:
2410
- return [
2411
- 3,
2412
- 9
2413
- ];
2414
- case 7:
2415
- err = _state.sent();
2416
- _didIteratorError = true;
2417
- _iteratorError = err;
2418
- return [
2419
- 3,
2420
- 9
2421
- ];
2422
- case 8:
2423
- try {
2424
- if (!_iteratorNormalCompletion && _iterator.return != null) {
2425
- _iterator.return();
2426
- }
2427
- } finally{
2428
- if (_didIteratorError) {
2429
- throw _iteratorError;
2430
- }
2847
+ prisma = param.prisma, runId = param.runId, threadId = param.threadId, _param_onThreadRunStepCompleted = param.onThreadRunStepCompleted, onThreadRunStepCompleted = _param_onThreadRunStepCompleted === void 0 ? function() {} : _param_onThreadRunStepCompleted, tool_outputs = param.tool_outputs;
2848
+ return [
2849
+ 2,
2850
+ prisma.$transaction(function() {
2851
+ var _ref = _async_to_generator(function(prisma2) {
2852
+ var runSteps, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _loop, _iterator, _step, err;
2853
+ return _ts_generator(this, function(_state) {
2854
+ switch(_state.label){
2855
+ case 0:
2856
+ return [
2857
+ 4,
2858
+ prisma2.runStep.findMany({
2859
+ where: {
2860
+ threadId: threadId,
2861
+ runId: runId,
2862
+ type: "TOOL_CALLS",
2863
+ status: "IN_PROGRESS"
2864
+ },
2865
+ orderBy: {
2866
+ createdAt: "asc"
2431
2867
  }
2432
- return [
2433
- 7
2434
- ];
2435
- case 9:
2436
- return [
2437
- 2,
2438
- prisma2.run.update({
2439
- where: {
2440
- id: runId
2441
- },
2442
- data: {
2443
- status: "QUEUED"
2444
- }
2445
- })
2446
- ];
2447
- }
2448
- });
2449
- });
2450
- return function(prisma2) {
2451
- return _ref.apply(this, arguments);
2452
- };
2453
- }())
2454
- ];
2455
- case 1:
2456
- run = _state.sent();
2457
- data = serializeRun({
2458
- run: run
2459
- });
2460
- return [
2461
- 4,
2462
- new Promise(function(resolve) {
2463
- return new ReadableStream({
2464
- start: function start(controller) {
2465
- return _async_to_generator(function() {
2868
+ })
2869
+ ];
2870
+ case 1:
2871
+ runSteps = _state.sent();
2872
+ _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
2873
+ _state.label = 2;
2874
+ case 2:
2875
+ _state.trys.push([
2876
+ 2,
2877
+ 7,
2878
+ 8,
2879
+ 9
2880
+ ]);
2881
+ _loop = function() {
2882
+ var runStep, completedRunStep;
2466
2883
  return _ts_generator(this, function(_state) {
2467
2884
  switch(_state.label){
2468
2885
  case 0:
2886
+ runStep = _step.value;
2469
2887
  return [
2470
2888
  4,
2471
- runAdapter({
2472
- run: data,
2473
- onEvent: onEvent({
2474
- controller: controller,
2475
- prisma: prisma
2476
- }),
2477
- // @ts-ignore-next-line
2478
- getMessages: getMessages({
2479
- prisma: prisma,
2480
- run: run
2481
- })
2889
+ prisma2.runStep.update({
2890
+ where: {
2891
+ id: runStep.id
2892
+ },
2893
+ data: {
2894
+ status: "COMPLETED",
2895
+ completedAt: dayjs9().unix(),
2896
+ stepDetails: {
2897
+ type: "tool_calls",
2898
+ // @ts-ignore-next-line
2899
+ tool_calls: runStep.stepDetails.tool_calls.map(function(toolCall) {
2900
+ var toolOutput = tool_outputs.find(function(output) {
2901
+ return output.tool_call_id === toolCall.id;
2902
+ }) || tool_outputs[0];
2903
+ if (!toolOutput) {
2904
+ console.dir({
2905
+ toolOutput: toolOutput,
2906
+ runStep: runStep,
2907
+ tool_outputs: tool_outputs,
2908
+ runSteps: runSteps
2909
+ }, {
2910
+ depth: null
2911
+ });
2912
+ throw new Error("Tool output not found");
2913
+ }
2914
+ return {
2915
+ id: toolCall.id,
2916
+ type: toolCall.type,
2917
+ function: _object_spread_props(_object_spread({}, toolCall.function), {
2918
+ output: toolOutput.output
2919
+ })
2920
+ };
2921
+ })
2922
+ }
2923
+ }
2482
2924
  })
2483
2925
  ];
2484
2926
  case 1:
2485
- _state.sent();
2486
- controller.close();
2487
- resolve(void 0);
2927
+ completedRunStep = _state.sent();
2928
+ onThreadRunStepCompleted({
2929
+ runStep: completedRunStep
2930
+ });
2488
2931
  return [
2489
2932
  2
2490
2933
  ];
2491
2934
  }
2492
2935
  });
2493
- })();
2494
- }
2495
- });
2496
- })
2497
- ];
2498
- case 2:
2499
- _state.sent();
2500
- return [
2501
- 2,
2502
- data
2503
- ];
2504
- }
2936
+ };
2937
+ _iterator = runSteps[Symbol.iterator]();
2938
+ _state.label = 3;
2939
+ case 3:
2940
+ if (!!(_iteratorNormalCompletion = (_step = _iterator.next()).done)) return [
2941
+ 3,
2942
+ 6
2943
+ ];
2944
+ return [
2945
+ 5,
2946
+ _ts_values(_loop())
2947
+ ];
2948
+ case 4:
2949
+ _state.sent();
2950
+ _state.label = 5;
2951
+ case 5:
2952
+ _iteratorNormalCompletion = true;
2953
+ return [
2954
+ 3,
2955
+ 3
2956
+ ];
2957
+ case 6:
2958
+ return [
2959
+ 3,
2960
+ 9
2961
+ ];
2962
+ case 7:
2963
+ err = _state.sent();
2964
+ _didIteratorError = true;
2965
+ _iteratorError = err;
2966
+ return [
2967
+ 3,
2968
+ 9
2969
+ ];
2970
+ case 8:
2971
+ try {
2972
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
2973
+ _iterator.return();
2974
+ }
2975
+ } finally{
2976
+ if (_didIteratorError) {
2977
+ throw _iteratorError;
2978
+ }
2979
+ }
2980
+ return [
2981
+ 7
2982
+ ];
2983
+ case 9:
2984
+ return [
2985
+ 2,
2986
+ prisma2.run.update({
2987
+ where: {
2988
+ id: runId
2989
+ },
2990
+ data: {
2991
+ status: "QUEUED"
2992
+ }
2993
+ })
2994
+ ];
2995
+ }
2996
+ });
2997
+ });
2998
+ return function(prisma2) {
2999
+ return _ref.apply(this, arguments);
3000
+ };
3001
+ }())
3002
+ ];
2505
3003
  });
2506
3004
  });
2507
- };
2508
- // src/adapters/storage/prismaStorageAdapter/beta/threads/runs/submitToolOutputsStream.ts
2509
- import dayjs11 from "dayjs";
2510
- var submitToolOutputsStream = function(param) {
3005
+ return function updateRun(_) {
3006
+ return _ref.apply(this, arguments);
3007
+ };
3008
+ }();
3009
+ // src/adapters/storage/prismaStorageAdapter/threads/runs/submitToolOutputs/post/index.ts
3010
+ var post6 = function(param) {
2511
3011
  var prisma = param.prisma, runAdapter = param.runAdapter;
2512
3012
  return function() {
2513
- for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
2514
- args[_key] = arguments[_key];
2515
- }
2516
- return new ReadableStream({
2517
- start: function start(controller) {
2518
- return _async_to_generator(function() {
2519
- var _args, threadId, runId, body, tool_outputs, run;
2520
- return _ts_generator(this, function(_state) {
2521
- switch(_state.label){
2522
- case 0:
2523
- _args = _sliced_to_array(args, 3), threadId = _args[0], runId = _args[1], body = _args[2];
2524
- tool_outputs = body.tool_outputs;
2525
- return [
2526
- 4,
2527
- prisma.$transaction(function() {
2528
- var _ref = _async_to_generator(function(prisma2) {
2529
- var runSteps, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _loop, _iterator, _step, err;
3013
+ var _ref = _async_to_generator(function(urlString, options) {
3014
+ var url, _url_pathname_match, threadId, runId, body, tool_outputs, stream, readableStream, run2;
3015
+ return _ts_generator(this, function(_state) {
3016
+ switch(_state.label){
3017
+ case 0:
3018
+ url = new URL(urlString);
3019
+ _url_pathname_match = _sliced_to_array(url.pathname.match(new RegExp("^/v1/threads/([^/]+)/runs/([^/]+)/submit_tool_outputs$")), 3), threadId = _url_pathname_match[1], runId = _url_pathname_match[2];
3020
+ body = JSON.parse(options.body);
3021
+ tool_outputs = body.tool_outputs, stream = body.stream;
3022
+ if (!stream) return [
3023
+ 3,
3024
+ 1
3025
+ ];
3026
+ readableStream = new ReadableStream({
3027
+ start: function start(controller) {
3028
+ return _async_to_generator(function() {
3029
+ var run2;
3030
+ return _ts_generator(this, function(_state) {
3031
+ switch(_state.label){
3032
+ case 0:
3033
+ return [
3034
+ 4,
3035
+ updateRun({
3036
+ prisma: prisma,
3037
+ runId: runId,
3038
+ threadId: threadId,
3039
+ tool_outputs: tool_outputs,
3040
+ onThreadRunStepCompleted: function() {
3041
+ var _ref = _async_to_generator(function(param) {
3042
+ var runStep;
3043
+ return _ts_generator(this, function(_state) {
3044
+ runStep = param.runStep;
3045
+ controller.enqueue("data: ".concat(JSON.stringify({
3046
+ event: "thread.run.step.completed",
3047
+ data: serializeRunStep({
3048
+ runStep: runStep
3049
+ })
3050
+ }), "\n\n"));
3051
+ return [
3052
+ 2
3053
+ ];
3054
+ });
3055
+ });
3056
+ return function(_) {
3057
+ return _ref.apply(this, arguments);
3058
+ };
3059
+ }()
3060
+ })
3061
+ ];
3062
+ case 1:
3063
+ run2 = _state.sent();
3064
+ return [
3065
+ 4,
3066
+ runAdapter({
3067
+ run: serializeRun({
3068
+ run: run2
3069
+ }),
3070
+ onEvent: onEvent({
3071
+ controller: _object_spread_props(_object_spread({}, controller), {
3072
+ enqueue: function(data) {
3073
+ controller.enqueue("data: ".concat(JSON.stringify(data), "\n\n"));
3074
+ }
3075
+ }),
3076
+ prisma: prisma
3077
+ }),
3078
+ getMessages: getMessages({
3079
+ prisma: prisma,
3080
+ run: run2
3081
+ })
3082
+ })
3083
+ ];
3084
+ case 2:
3085
+ _state.sent();
3086
+ controller.close();
3087
+ return [
3088
+ 2
3089
+ ];
3090
+ }
3091
+ });
3092
+ })();
3093
+ }
3094
+ });
3095
+ return [
3096
+ 2,
3097
+ new Response(readableStream, {
3098
+ headers: {
3099
+ "Content-Type": "text/event-stream"
3100
+ }
3101
+ })
3102
+ ];
3103
+ case 1:
3104
+ return [
3105
+ 4,
3106
+ updateRun({
3107
+ prisma: prisma,
3108
+ runId: runId,
3109
+ threadId: threadId,
3110
+ tool_outputs: tool_outputs
3111
+ })
3112
+ ];
3113
+ case 2:
3114
+ run2 = _state.sent();
3115
+ return [
3116
+ 4,
3117
+ new Promise(function(resolve) {
3118
+ return new ReadableStream({
3119
+ start: function start(controller) {
3120
+ return _async_to_generator(function() {
2530
3121
  return _ts_generator(this, function(_state) {
2531
3122
  switch(_state.label){
2532
3123
  case 0:
2533
3124
  return [
2534
3125
  4,
2535
- prisma2.runStep.findMany({
2536
- where: {
2537
- threadId: threadId,
2538
- runId: runId,
2539
- type: "TOOL_CALLS",
2540
- status: "IN_PROGRESS"
2541
- },
2542
- orderBy: {
2543
- createdAt: "asc"
2544
- }
3126
+ runAdapter({
3127
+ run: serializeRun({
3128
+ run: run2
3129
+ }),
3130
+ onEvent: onEvent({
3131
+ controller: _object_spread_props(_object_spread({}, controller), {
3132
+ enqueue: function(data) {
3133
+ controller.enqueue("data: ".concat(JSON.stringify(data), "\n\n"));
3134
+ }
3135
+ }),
3136
+ prisma: prisma
3137
+ }),
3138
+ getMessages: getMessages({
3139
+ prisma: prisma,
3140
+ run: run2
3141
+ })
2545
3142
  })
2546
3143
  ];
2547
3144
  case 1:
2548
- runSteps = _state.sent();
2549
- _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
2550
- _state.label = 2;
2551
- case 2:
2552
- _state.trys.push([
2553
- 2,
2554
- 7,
2555
- 8,
2556
- 9
2557
- ]);
2558
- _loop = function() {
2559
- var runStep, completedRunStep;
2560
- return _ts_generator(this, function(_state) {
2561
- switch(_state.label){
2562
- case 0:
2563
- runStep = _step.value;
2564
- return [
2565
- 4,
2566
- prisma2.runStep.update({
2567
- where: {
2568
- id: runStep.id
2569
- },
2570
- data: {
2571
- status: "COMPLETED",
2572
- completedAt: dayjs11().unix(),
2573
- stepDetails: {
2574
- type: "tool_calls",
2575
- tool_calls: runStep.stepDetails.tool_calls.map(function(toolCall) {
2576
- var toolOutput = tool_outputs.find(function(output) {
2577
- return output.tool_call_id === toolCall.id;
2578
- }) || tool_outputs[0];
2579
- if (!toolOutput) {
2580
- console.dir({
2581
- toolOutput: toolOutput,
2582
- runStep: runStep,
2583
- tool_outputs: tool_outputs,
2584
- runSteps: runSteps
2585
- }, {
2586
- depth: null
2587
- });
2588
- throw new Error("Tool output not found");
2589
- }
2590
- return {
2591
- id: toolCall.id,
2592
- type: toolCall.type,
2593
- function: _object_spread_props(_object_spread({}, toolCall.function), {
2594
- output: toolOutput.output
2595
- })
2596
- };
2597
- })
2598
- }
2599
- }
2600
- })
2601
- ];
2602
- case 1:
2603
- completedRunStep = _state.sent();
2604
- controller.enqueue({
2605
- event: "thread.run.step.completed",
2606
- data: serializeRunStep({
2607
- runStep: completedRunStep
2608
- })
2609
- });
2610
- return [
2611
- 2
2612
- ];
2613
- }
2614
- });
2615
- };
2616
- _iterator = runSteps[Symbol.iterator]();
2617
- _state.label = 3;
2618
- case 3:
2619
- if (!!(_iteratorNormalCompletion = (_step = _iterator.next()).done)) return [
2620
- 3,
2621
- 6
2622
- ];
2623
- return [
2624
- 5,
2625
- _ts_values(_loop())
2626
- ];
2627
- case 4:
2628
3145
  _state.sent();
2629
- _state.label = 5;
2630
- case 5:
2631
- _iteratorNormalCompletion = true;
2632
- return [
2633
- 3,
2634
- 3
2635
- ];
2636
- case 6:
2637
- return [
2638
- 3,
2639
- 9
2640
- ];
2641
- case 7:
2642
- err = _state.sent();
2643
- _didIteratorError = true;
2644
- _iteratorError = err;
3146
+ controller.close();
3147
+ resolve(void 0);
2645
3148
  return [
2646
- 3,
2647
- 9
2648
- ];
2649
- case 8:
2650
- try {
2651
- if (!_iteratorNormalCompletion && _iterator.return != null) {
2652
- _iterator.return();
2653
- }
2654
- } finally{
2655
- if (_didIteratorError) {
2656
- throw _iteratorError;
2657
- }
2658
- }
2659
- return [
2660
- 7
2661
- ];
2662
- case 9:
2663
- return [
2664
- 2,
2665
- prisma2.run.update({
2666
- where: {
2667
- id: runId
2668
- },
2669
- data: {
2670
- status: "QUEUED"
2671
- }
2672
- })
3149
+ 2
2673
3150
  ];
2674
3151
  }
2675
3152
  });
2676
- });
2677
- return function(prisma2) {
2678
- return _ref.apply(this, arguments);
2679
- };
2680
- }())
2681
- ];
2682
- case 1:
2683
- run = _state.sent();
2684
- return [
2685
- 4,
2686
- runAdapter({
2687
- run: serializeRun({
2688
- run: run
2689
- }),
2690
- onEvent: onEvent({
2691
- controller: controller,
2692
- prisma: prisma
2693
- }),
2694
- // @ts-ignore-next-line
2695
- getMessages: getMessages({
2696
- prisma: prisma,
2697
- run: run
2698
- })
2699
- })
2700
- ];
2701
- case 2:
2702
- _state.sent();
2703
- console.log("Stream ended inside cloud storage");
2704
- controller.close();
2705
- return [
2706
- 2
2707
- ];
2708
- }
2709
- });
2710
- })();
2711
- }
2712
- });
2713
- };
2714
- };
2715
- // src/adapters/storage/prismaStorageAdapter/beta/threads/runs/steps/list.ts
2716
- import { assign as assign7, last as last3 } from "radash";
2717
- var list3 = function(param) {
2718
- var prisma = param.prisma;
2719
- return /*#__PURE__*/ _async_to_generator(function() {
2720
- var _len, args, _key, _last3, threadId, runId, _args_, _assign7, // @ts-ignore-next-line
2721
- limit, // @ts-ignore-next-line
2722
- order, // @ts-ignore-next-line
2723
- after, runSteps, _last3_id;
2724
- var _arguments = arguments;
2725
- return _ts_generator(this, function(_state) {
2726
- switch(_state.label){
2727
- case 0:
2728
- for(_len = _arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
2729
- args[_key] = _arguments[_key];
2730
- }
2731
- threadId = args[0];
2732
- runId = args[1];
2733
- _assign7 = assign7({
2734
- // @ts-ignore-next-line
2735
- limit: 20,
2736
- order: "desc",
2737
- after: null
2738
- }, (_args_ = args[2]) !== null && _args_ !== void 0 ? _args_ : {}), limit = _assign7.limit, order = _assign7.order, after = _assign7.after;
2739
- return [
2740
- 4,
2741
- prisma.runStep.findMany(_object_spread({
2742
- where: {
2743
- threadId: threadId,
2744
- runId: runId
2745
- },
2746
- take: limit,
2747
- orderBy: {
2748
- createdAt: order
2749
- }
2750
- }, after ? {
2751
- skip: 1,
2752
- cursor: {
2753
- id: after
2754
- }
2755
- } : {}))
2756
- ];
2757
- case 1:
2758
- runSteps = _state.sent();
2759
- return [
2760
- 2,
2761
- {
2762
- data: runSteps.map(function(runStep) {
2763
- return serializeRunStep({
2764
- runStep: runStep
3153
+ })();
3154
+ }
2765
3155
  });
2766
- }),
2767
- hasNextPage: function() {
2768
- return runSteps.length === limit;
2769
- },
2770
- body: {
2771
- last_id: (_last3_id = (_last3 = last3(runSteps)) === null || _last3 === void 0 ? void 0 : _last3.id) !== null && _last3_id !== void 0 ? _last3_id : null
2772
- }
2773
- }
2774
- ];
2775
- }
3156
+ })
3157
+ ];
3158
+ case 3:
3159
+ _state.sent();
3160
+ return [
3161
+ 2,
3162
+ new Response(JSON.stringify(run2), {
3163
+ status: 200,
3164
+ headers: {
3165
+ "Content-Type": "application/json"
3166
+ }
3167
+ })
3168
+ ];
3169
+ case 4:
3170
+ return [
3171
+ 2
3172
+ ];
3173
+ }
3174
+ });
2776
3175
  });
2777
- });
2778
- };
2779
- // src/adapters/storage/prismaStorageAdapter/beta/threads/runs/steps/index.ts
2780
- var steps = function(param) {
2781
- var prisma = param.prisma;
2782
- return {
2783
- list: list3({
2784
- prisma: prisma
2785
- })
2786
- };
2787
- };
2788
- // src/adapters/storage/prismaStorageAdapter/beta/threads/runs/index.ts
2789
- var runs = function(param) {
2790
- var prisma = param.prisma, runAdapter = param.runAdapter;
2791
- return {
2792
- list: list2({
2793
- prisma: prisma
2794
- }),
2795
- create: create3({
2796
- prisma: prisma
2797
- }),
2798
- createAndStream: createAndStream({
2799
- prisma: prisma,
2800
- runAdapter: runAdapter
2801
- }),
2802
- submitToolOutputs: submitToolOutputs({
2803
- prisma: prisma,
2804
- runAdapter: runAdapter
2805
- }),
2806
- submitToolOutputsStream: submitToolOutputsStream({
2807
- prisma: prisma,
2808
- runAdapter: runAdapter
2809
- }),
2810
- steps: steps({
2811
- prisma: prisma
2812
- })
2813
- };
2814
- };
2815
- // src/adapters/storage/prismaStorageAdapter/beta/threads/index.ts
2816
- var threads = function(param) {
2817
- var prisma = param.prisma, runAdapter = param.runAdapter;
2818
- return {
2819
- create: create({
2820
- prisma: prisma
2821
- }),
2822
- messages: messages3({
2823
- prisma: prisma
2824
- }),
2825
- runs: runs({
2826
- prisma: prisma,
2827
- runAdapter: runAdapter
2828
- })
2829
- };
3176
+ return function(urlString, options) {
3177
+ return _ref.apply(this, arguments);
3178
+ };
3179
+ }();
2830
3180
  };
2831
- // src/adapters/storage/prismaStorageAdapter/beta/index.ts
2832
- var beta = function(param) {
3181
+ // src/adapters/storage/prismaStorageAdapter/threads/runs/submitToolOutputs/index.ts
3182
+ var submitToolOutputs = function(param) {
2833
3183
  var prisma = param.prisma, runAdapter = param.runAdapter;
2834
3184
  return {
2835
- threads: threads({
3185
+ post: post6({
2836
3186
  prisma: prisma,
3187
+ // @ts-ignore-next-line
2837
3188
  runAdapter: runAdapter
2838
3189
  })
2839
3190
  };
@@ -2844,12 +3195,29 @@ var prismaStorageAdapter = function(param) {
2844
3195
  return function(param) {
2845
3196
  var runAdapter = param.runAdapter;
2846
3197
  return {
2847
- beta: beta({
3198
+ "^/v1/threads$": threads({
3199
+ prisma: prisma
3200
+ }),
3201
+ "^/v1/threads/([^/]+)/messages$": messages3({
3202
+ prisma: prisma
3203
+ }),
3204
+ "^/v1/threads/([^/]+)/runs$": runs({
3205
+ prisma: prisma,
3206
+ runAdapter: runAdapter
3207
+ }),
3208
+ "^/v1/threads/([^/]+)/runs/([^/]+)$": run({
3209
+ prisma: prisma,
3210
+ runAdapter: runAdapter
3211
+ }),
3212
+ "^/v1/threads/([^/]+)/runs/([^/]+)/steps$": steps({
3213
+ prisma: prisma
3214
+ }),
3215
+ "^/v1/threads/([^/]+)/runs/([^/]+)/submit_tool_outputs$": submitToolOutputs({
2848
3216
  prisma: prisma,
2849
3217
  runAdapter: runAdapter
2850
3218
  })
2851
3219
  };
2852
3220
  };
2853
3221
  };
2854
- export { anthropicClientAdapter, anthropicRunAdapter, completionsRunAdapter, mistralClientAdapter, perplexityClientAdapter, prismaStorageAdapter, supercompat };
3222
+ export { anthropicClientAdapter, anthropicRunAdapter, completionsRunAdapter, groqClientAdapter, mistralClientAdapter, openaiClientAdapter, perplexityClientAdapter, prismaStorageAdapter, supercompat };
2855
3223
  //# sourceMappingURL=index.js.map