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.cjs +1416 -1040
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +63 -40
- package/dist/index.d.ts +63 -40
- package/dist/index.js +1410 -1042
- package/dist/index.js.map +1 -1
- package/dist/supercompat.cjs +123 -1
- package/dist/supercompat.cjs.map +1 -1
- package/dist/supercompat.d.cts +6 -4
- package/dist/supercompat.d.ts +6 -4
- package/dist/supercompat.js +111 -1
- package/dist/supercompat.js.map +1 -1
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.d.cts +2 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/prisma.cjs.map +1 -1
- package/dist/types/prisma.d.cts +2 -0
- package/dist/types/prisma.d.ts +2 -0
- package/dist/types/prisma.js.map +1 -1
- package/package.json +11 -8
package/dist/index.cjs
CHANGED
|
@@ -362,9 +362,15 @@ __export(src_exports, {
|
|
|
362
362
|
completionsRunAdapter: function() {
|
|
363
363
|
return completionsRunAdapter;
|
|
364
364
|
},
|
|
365
|
+
groqClientAdapter: function() {
|
|
366
|
+
return groqClientAdapter;
|
|
367
|
+
},
|
|
365
368
|
mistralClientAdapter: function() {
|
|
366
369
|
return mistralClientAdapter;
|
|
367
370
|
},
|
|
371
|
+
openaiClientAdapter: function() {
|
|
372
|
+
return openaiClientAdapter;
|
|
373
|
+
},
|
|
368
374
|
perplexityClientAdapter: function() {
|
|
369
375
|
return perplexityClientAdapter;
|
|
370
376
|
},
|
|
@@ -377,8 +383,10 @@ __export(src_exports, {
|
|
|
377
383
|
});
|
|
378
384
|
module.exports = __toCommonJS(src_exports);
|
|
379
385
|
// src/supercompat.ts
|
|
386
|
+
var import_openai = __toESM(require("openai"), 1);
|
|
387
|
+
// src/supercompatFetch/requestHandlers.ts
|
|
380
388
|
var import_radash = require("radash");
|
|
381
|
-
var
|
|
389
|
+
var requestHandlers = function(param) {
|
|
382
390
|
var client = param.client, storage = param.storage, runAdapter = param.runAdapter;
|
|
383
391
|
return (0, import_radash.assign)(client, storage({
|
|
384
392
|
runAdapter: (0, import_radash.partob)(runAdapter, {
|
|
@@ -386,6 +394,446 @@ var supercompat = function(param) {
|
|
|
386
394
|
})
|
|
387
395
|
}));
|
|
388
396
|
};
|
|
397
|
+
// src/supercompatFetch/findRequestHandler.ts
|
|
398
|
+
var findRequestHandler = function(param) {
|
|
399
|
+
var url = param.url, requestHandlers2 = param.requestHandlers;
|
|
400
|
+
var pathname = new URL(url).pathname;
|
|
401
|
+
for(var key in requestHandlers2){
|
|
402
|
+
var regex = new RegExp(key);
|
|
403
|
+
if (regex.test(pathname)) {
|
|
404
|
+
return requestHandlers2[key];
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
};
|
|
408
|
+
// src/supercompatFetch/index.ts
|
|
409
|
+
var supercompatFetch = function(param) {
|
|
410
|
+
var client = param.client, storage = param.storage, runAdapter = param.runAdapter;
|
|
411
|
+
var requestHandlers2 = requestHandlers({
|
|
412
|
+
client: client,
|
|
413
|
+
storage: storage,
|
|
414
|
+
runAdapter: runAdapter
|
|
415
|
+
});
|
|
416
|
+
return function() {
|
|
417
|
+
for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
|
|
418
|
+
args[_key] = arguments[_key];
|
|
419
|
+
}
|
|
420
|
+
var _args = _sliced_to_array(args, 2), url = _args[0], options = _args[1];
|
|
421
|
+
var pathHandler = findRequestHandler({
|
|
422
|
+
url: url,
|
|
423
|
+
requestHandlers: requestHandlers2
|
|
424
|
+
});
|
|
425
|
+
if (!pathHandler) {
|
|
426
|
+
return fetch.apply(void 0, _to_consumable_array(args));
|
|
427
|
+
}
|
|
428
|
+
var requestHandler = pathHandler[options === null || options === void 0 ? void 0 : options.method];
|
|
429
|
+
if (!requestHandler) {
|
|
430
|
+
return fetch.apply(void 0, _to_consumable_array(args));
|
|
431
|
+
}
|
|
432
|
+
return requestHandler.apply(void 0, _to_consumable_array(args));
|
|
433
|
+
};
|
|
434
|
+
};
|
|
435
|
+
// src/supercompat.ts
|
|
436
|
+
var supercompat = function(param) {
|
|
437
|
+
var client = param.client, storage = param.storage, runAdapter = param.runAdapter;
|
|
438
|
+
return new import_openai.default({
|
|
439
|
+
apiKey: "SUPERCOMPAT_PLACEHOLDER_OPENAI_KEY",
|
|
440
|
+
fetch: supercompatFetch({
|
|
441
|
+
client: client,
|
|
442
|
+
storage: storage,
|
|
443
|
+
runAdapter: runAdapter
|
|
444
|
+
})
|
|
445
|
+
});
|
|
446
|
+
};
|
|
447
|
+
// src/adapters/client/groqClientAdapter/completions/post.ts
|
|
448
|
+
var post = function(param) {
|
|
449
|
+
var groq = param.groq;
|
|
450
|
+
return function() {
|
|
451
|
+
var _ref = _async_to_generator(function(_url, options) {
|
|
452
|
+
var body, response, stream, data, error;
|
|
453
|
+
return _ts_generator(this, function(_state) {
|
|
454
|
+
switch(_state.label){
|
|
455
|
+
case 0:
|
|
456
|
+
body = JSON.parse(options.body);
|
|
457
|
+
if (!body.stream) return [
|
|
458
|
+
3,
|
|
459
|
+
2
|
|
460
|
+
];
|
|
461
|
+
return [
|
|
462
|
+
4,
|
|
463
|
+
groq.chat.completions.create(body)
|
|
464
|
+
];
|
|
465
|
+
case 1:
|
|
466
|
+
response = _state.sent();
|
|
467
|
+
stream = new ReadableStream({
|
|
468
|
+
start: function start(controller) {
|
|
469
|
+
return _async_to_generator(function() {
|
|
470
|
+
var _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, chunk, err;
|
|
471
|
+
return _ts_generator(this, function(_state) {
|
|
472
|
+
switch(_state.label){
|
|
473
|
+
case 0:
|
|
474
|
+
_iteratorAbruptCompletion = false, _didIteratorError = false;
|
|
475
|
+
_state.label = 1;
|
|
476
|
+
case 1:
|
|
477
|
+
_state.trys.push([
|
|
478
|
+
1,
|
|
479
|
+
6,
|
|
480
|
+
7,
|
|
481
|
+
12
|
|
482
|
+
]);
|
|
483
|
+
_iterator = _async_iterator(response);
|
|
484
|
+
_state.label = 2;
|
|
485
|
+
case 2:
|
|
486
|
+
return [
|
|
487
|
+
4,
|
|
488
|
+
_iterator.next()
|
|
489
|
+
];
|
|
490
|
+
case 3:
|
|
491
|
+
if (!(_iteratorAbruptCompletion = !(_step = _state.sent()).done)) return [
|
|
492
|
+
3,
|
|
493
|
+
5
|
|
494
|
+
];
|
|
495
|
+
_value = _step.value;
|
|
496
|
+
chunk = _value;
|
|
497
|
+
controller.enqueue("data: ".concat(JSON.stringify(chunk), "\n\n"));
|
|
498
|
+
_state.label = 4;
|
|
499
|
+
case 4:
|
|
500
|
+
_iteratorAbruptCompletion = false;
|
|
501
|
+
return [
|
|
502
|
+
3,
|
|
503
|
+
2
|
|
504
|
+
];
|
|
505
|
+
case 5:
|
|
506
|
+
return [
|
|
507
|
+
3,
|
|
508
|
+
12
|
|
509
|
+
];
|
|
510
|
+
case 6:
|
|
511
|
+
err = _state.sent();
|
|
512
|
+
_didIteratorError = true;
|
|
513
|
+
_iteratorError = err;
|
|
514
|
+
return [
|
|
515
|
+
3,
|
|
516
|
+
12
|
|
517
|
+
];
|
|
518
|
+
case 7:
|
|
519
|
+
_state.trys.push([
|
|
520
|
+
7,
|
|
521
|
+
,
|
|
522
|
+
10,
|
|
523
|
+
11
|
|
524
|
+
]);
|
|
525
|
+
if (!(_iteratorAbruptCompletion && _iterator.return != null)) return [
|
|
526
|
+
3,
|
|
527
|
+
9
|
|
528
|
+
];
|
|
529
|
+
return [
|
|
530
|
+
4,
|
|
531
|
+
_iterator.return()
|
|
532
|
+
];
|
|
533
|
+
case 8:
|
|
534
|
+
_state.sent();
|
|
535
|
+
_state.label = 9;
|
|
536
|
+
case 9:
|
|
537
|
+
return [
|
|
538
|
+
3,
|
|
539
|
+
11
|
|
540
|
+
];
|
|
541
|
+
case 10:
|
|
542
|
+
if (_didIteratorError) {
|
|
543
|
+
throw _iteratorError;
|
|
544
|
+
}
|
|
545
|
+
return [
|
|
546
|
+
7
|
|
547
|
+
];
|
|
548
|
+
case 11:
|
|
549
|
+
return [
|
|
550
|
+
7
|
|
551
|
+
];
|
|
552
|
+
case 12:
|
|
553
|
+
controller.close();
|
|
554
|
+
return [
|
|
555
|
+
2
|
|
556
|
+
];
|
|
557
|
+
}
|
|
558
|
+
});
|
|
559
|
+
})();
|
|
560
|
+
}
|
|
561
|
+
});
|
|
562
|
+
return [
|
|
563
|
+
2,
|
|
564
|
+
new Response(stream, {
|
|
565
|
+
headers: {
|
|
566
|
+
"Content-Type": "text/event-stream"
|
|
567
|
+
}
|
|
568
|
+
})
|
|
569
|
+
];
|
|
570
|
+
case 2:
|
|
571
|
+
_state.trys.push([
|
|
572
|
+
2,
|
|
573
|
+
4,
|
|
574
|
+
,
|
|
575
|
+
5
|
|
576
|
+
]);
|
|
577
|
+
return [
|
|
578
|
+
4,
|
|
579
|
+
groq.chat.completions.create(body)
|
|
580
|
+
];
|
|
581
|
+
case 3:
|
|
582
|
+
data = _state.sent();
|
|
583
|
+
return [
|
|
584
|
+
2,
|
|
585
|
+
new Response(JSON.stringify({
|
|
586
|
+
data: data
|
|
587
|
+
}), {
|
|
588
|
+
status: 200,
|
|
589
|
+
headers: {
|
|
590
|
+
"Content-Type": "application/json"
|
|
591
|
+
}
|
|
592
|
+
})
|
|
593
|
+
];
|
|
594
|
+
case 4:
|
|
595
|
+
error = _state.sent();
|
|
596
|
+
console.dir({
|
|
597
|
+
error: error
|
|
598
|
+
}, {
|
|
599
|
+
depth: null
|
|
600
|
+
});
|
|
601
|
+
return [
|
|
602
|
+
2,
|
|
603
|
+
new Response(JSON.stringify({
|
|
604
|
+
error: error
|
|
605
|
+
}), {
|
|
606
|
+
status: 500,
|
|
607
|
+
headers: {
|
|
608
|
+
"Content-Type": "application/json"
|
|
609
|
+
}
|
|
610
|
+
})
|
|
611
|
+
];
|
|
612
|
+
case 5:
|
|
613
|
+
return [
|
|
614
|
+
2
|
|
615
|
+
];
|
|
616
|
+
}
|
|
617
|
+
});
|
|
618
|
+
});
|
|
619
|
+
return function(_url, options) {
|
|
620
|
+
return _ref.apply(this, arguments);
|
|
621
|
+
};
|
|
622
|
+
}();
|
|
623
|
+
};
|
|
624
|
+
// src/adapters/client/groqClientAdapter/completions/index.ts
|
|
625
|
+
var completions = function(param) {
|
|
626
|
+
var groq = param.groq;
|
|
627
|
+
return {
|
|
628
|
+
post: post({
|
|
629
|
+
groq: groq
|
|
630
|
+
})
|
|
631
|
+
};
|
|
632
|
+
};
|
|
633
|
+
// src/adapters/client/groqClientAdapter/index.ts
|
|
634
|
+
var groqClientAdapter = function(param) {
|
|
635
|
+
var groq = param.groq;
|
|
636
|
+
return {
|
|
637
|
+
"^/v1/chat/completions$": completions({
|
|
638
|
+
groq: groq
|
|
639
|
+
})
|
|
640
|
+
};
|
|
641
|
+
};
|
|
642
|
+
// src/adapters/client/openaiClientAdapter/completions/post.ts
|
|
643
|
+
var post2 = function(param) {
|
|
644
|
+
var openai = param.openai;
|
|
645
|
+
return function() {
|
|
646
|
+
var _ref = _async_to_generator(function(_url, options) {
|
|
647
|
+
var body, response, stream, data, error;
|
|
648
|
+
return _ts_generator(this, function(_state) {
|
|
649
|
+
switch(_state.label){
|
|
650
|
+
case 0:
|
|
651
|
+
body = JSON.parse(options.body);
|
|
652
|
+
if (!body.stream) return [
|
|
653
|
+
3,
|
|
654
|
+
2
|
|
655
|
+
];
|
|
656
|
+
return [
|
|
657
|
+
4,
|
|
658
|
+
openai.chat.completions.create(body)
|
|
659
|
+
];
|
|
660
|
+
case 1:
|
|
661
|
+
response = _state.sent();
|
|
662
|
+
stream = new ReadableStream({
|
|
663
|
+
start: function start(controller) {
|
|
664
|
+
return _async_to_generator(function() {
|
|
665
|
+
var _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _iterator, _step, _value, chunk, err;
|
|
666
|
+
return _ts_generator(this, function(_state) {
|
|
667
|
+
switch(_state.label){
|
|
668
|
+
case 0:
|
|
669
|
+
_iteratorAbruptCompletion = false, _didIteratorError = false;
|
|
670
|
+
_state.label = 1;
|
|
671
|
+
case 1:
|
|
672
|
+
_state.trys.push([
|
|
673
|
+
1,
|
|
674
|
+
6,
|
|
675
|
+
7,
|
|
676
|
+
12
|
|
677
|
+
]);
|
|
678
|
+
_iterator = _async_iterator(response);
|
|
679
|
+
_state.label = 2;
|
|
680
|
+
case 2:
|
|
681
|
+
return [
|
|
682
|
+
4,
|
|
683
|
+
_iterator.next()
|
|
684
|
+
];
|
|
685
|
+
case 3:
|
|
686
|
+
if (!(_iteratorAbruptCompletion = !(_step = _state.sent()).done)) return [
|
|
687
|
+
3,
|
|
688
|
+
5
|
|
689
|
+
];
|
|
690
|
+
_value = _step.value;
|
|
691
|
+
chunk = _value;
|
|
692
|
+
controller.enqueue("data: ".concat(JSON.stringify(chunk), "\n\n"));
|
|
693
|
+
_state.label = 4;
|
|
694
|
+
case 4:
|
|
695
|
+
_iteratorAbruptCompletion = false;
|
|
696
|
+
return [
|
|
697
|
+
3,
|
|
698
|
+
2
|
|
699
|
+
];
|
|
700
|
+
case 5:
|
|
701
|
+
return [
|
|
702
|
+
3,
|
|
703
|
+
12
|
|
704
|
+
];
|
|
705
|
+
case 6:
|
|
706
|
+
err = _state.sent();
|
|
707
|
+
_didIteratorError = true;
|
|
708
|
+
_iteratorError = err;
|
|
709
|
+
return [
|
|
710
|
+
3,
|
|
711
|
+
12
|
|
712
|
+
];
|
|
713
|
+
case 7:
|
|
714
|
+
_state.trys.push([
|
|
715
|
+
7,
|
|
716
|
+
,
|
|
717
|
+
10,
|
|
718
|
+
11
|
|
719
|
+
]);
|
|
720
|
+
if (!(_iteratorAbruptCompletion && _iterator.return != null)) return [
|
|
721
|
+
3,
|
|
722
|
+
9
|
|
723
|
+
];
|
|
724
|
+
return [
|
|
725
|
+
4,
|
|
726
|
+
_iterator.return()
|
|
727
|
+
];
|
|
728
|
+
case 8:
|
|
729
|
+
_state.sent();
|
|
730
|
+
_state.label = 9;
|
|
731
|
+
case 9:
|
|
732
|
+
return [
|
|
733
|
+
3,
|
|
734
|
+
11
|
|
735
|
+
];
|
|
736
|
+
case 10:
|
|
737
|
+
if (_didIteratorError) {
|
|
738
|
+
throw _iteratorError;
|
|
739
|
+
}
|
|
740
|
+
return [
|
|
741
|
+
7
|
|
742
|
+
];
|
|
743
|
+
case 11:
|
|
744
|
+
return [
|
|
745
|
+
7
|
|
746
|
+
];
|
|
747
|
+
case 12:
|
|
748
|
+
controller.close();
|
|
749
|
+
return [
|
|
750
|
+
2
|
|
751
|
+
];
|
|
752
|
+
}
|
|
753
|
+
});
|
|
754
|
+
})();
|
|
755
|
+
}
|
|
756
|
+
});
|
|
757
|
+
return [
|
|
758
|
+
2,
|
|
759
|
+
new Response(stream, {
|
|
760
|
+
headers: {
|
|
761
|
+
"Content-Type": "text/event-stream"
|
|
762
|
+
}
|
|
763
|
+
})
|
|
764
|
+
];
|
|
765
|
+
case 2:
|
|
766
|
+
_state.trys.push([
|
|
767
|
+
2,
|
|
768
|
+
4,
|
|
769
|
+
,
|
|
770
|
+
5
|
|
771
|
+
]);
|
|
772
|
+
return [
|
|
773
|
+
4,
|
|
774
|
+
openai.chat.completions.create(body)
|
|
775
|
+
];
|
|
776
|
+
case 3:
|
|
777
|
+
data = _state.sent();
|
|
778
|
+
return [
|
|
779
|
+
2,
|
|
780
|
+
new Response(JSON.stringify({
|
|
781
|
+
data: data
|
|
782
|
+
}), {
|
|
783
|
+
status: 200,
|
|
784
|
+
headers: {
|
|
785
|
+
"Content-Type": "application/json"
|
|
786
|
+
}
|
|
787
|
+
})
|
|
788
|
+
];
|
|
789
|
+
case 4:
|
|
790
|
+
error = _state.sent();
|
|
791
|
+
console.dir({
|
|
792
|
+
error: error
|
|
793
|
+
}, {
|
|
794
|
+
depth: null
|
|
795
|
+
});
|
|
796
|
+
return [
|
|
797
|
+
2,
|
|
798
|
+
new Response(JSON.stringify({
|
|
799
|
+
error: error
|
|
800
|
+
}), {
|
|
801
|
+
status: 500,
|
|
802
|
+
headers: {
|
|
803
|
+
"Content-Type": "application/json"
|
|
804
|
+
}
|
|
805
|
+
})
|
|
806
|
+
];
|
|
807
|
+
case 5:
|
|
808
|
+
return [
|
|
809
|
+
2
|
|
810
|
+
];
|
|
811
|
+
}
|
|
812
|
+
});
|
|
813
|
+
});
|
|
814
|
+
return function(_url, options) {
|
|
815
|
+
return _ref.apply(this, arguments);
|
|
816
|
+
};
|
|
817
|
+
}();
|
|
818
|
+
};
|
|
819
|
+
// src/adapters/client/openaiClientAdapter/completions/index.ts
|
|
820
|
+
var completions2 = function(param) {
|
|
821
|
+
var openai = param.openai;
|
|
822
|
+
return {
|
|
823
|
+
post: post2({
|
|
824
|
+
openai: openai
|
|
825
|
+
})
|
|
826
|
+
};
|
|
827
|
+
};
|
|
828
|
+
// src/adapters/client/openaiClientAdapter/index.ts
|
|
829
|
+
var openaiClientAdapter = function(param) {
|
|
830
|
+
var openai = param.openai;
|
|
831
|
+
return {
|
|
832
|
+
"^/v1/chat/completions$": completions2({
|
|
833
|
+
openai: openai
|
|
834
|
+
})
|
|
835
|
+
};
|
|
836
|
+
};
|
|
389
837
|
// src/adapters/client/mistralClientAdapter/index.ts
|
|
390
838
|
var mistralClientAdapter = function(param) {
|
|
391
839
|
var mistral = param.mistral;
|
|
@@ -459,11 +907,6 @@ var anthropicClientAdapter = function(param) {
|
|
|
459
907
|
}
|
|
460
908
|
var _args = _to_array(args), firstArg = _args[0], secondArg = _args[1], restArgs = _args.slice(2);
|
|
461
909
|
var messages4 = firstArg.messages;
|
|
462
|
-
console.dir({
|
|
463
|
-
messages: messages4
|
|
464
|
-
}, {
|
|
465
|
-
depth: null
|
|
466
|
-
});
|
|
467
910
|
if (firstArg.messages[0].role != "user") {
|
|
468
911
|
messages4.unshift({
|
|
469
912
|
role: "user",
|
|
@@ -506,11 +949,12 @@ var import_radash2 = require("radash");
|
|
|
506
949
|
// src/adapters/run/completionsRunAdapter/messages/serializeMessage.ts
|
|
507
950
|
var serializeToolCall = function(param) {
|
|
508
951
|
var toolCall = param.toolCall;
|
|
952
|
+
var _toolCall_function_output;
|
|
509
953
|
return {
|
|
510
954
|
tool_call_id: toolCall.id,
|
|
511
955
|
role: "tool",
|
|
512
956
|
name: toolCall.function.name,
|
|
513
|
-
content: toolCall.function.output
|
|
957
|
+
content: (_toolCall_function_output = toolCall.function.output) !== null && _toolCall_function_output !== void 0 ? _toolCall_function_output : ""
|
|
514
958
|
};
|
|
515
959
|
};
|
|
516
960
|
var serializeMessageWithContent = function(param) {
|
|
@@ -539,11 +983,11 @@ var serializeMessage = function(param) {
|
|
|
539
983
|
message: message
|
|
540
984
|
})
|
|
541
985
|
];
|
|
542
|
-
var
|
|
543
|
-
if (!
|
|
986
|
+
var run2 = message.run;
|
|
987
|
+
if (!run2) return result;
|
|
544
988
|
var messageToolCalls = ((_message_metadata = message.metadata) === null || _message_metadata === void 0 ? void 0 : _message_metadata.toolCalls) || [];
|
|
545
989
|
messageToolCalls.forEach(function(tc) {
|
|
546
|
-
var runStep =
|
|
990
|
+
var runStep = run2.runSteps.find(function(rs) {
|
|
547
991
|
if (rs.type !== "tool_calls") return false;
|
|
548
992
|
return rs.step_details.tool_calls.some(function(rsTc) {
|
|
549
993
|
if (rsTc.type !== "function") return false;
|
|
@@ -564,23 +1008,21 @@ var serializeMessage = function(param) {
|
|
|
564
1008
|
// src/adapters/run/completionsRunAdapter/messages/index.ts
|
|
565
1009
|
var messages = function() {
|
|
566
1010
|
var _ref = _async_to_generator(function(param) {
|
|
567
|
-
var
|
|
1011
|
+
var run2, getMessages2, _, _1, _2;
|
|
568
1012
|
return _ts_generator(this, function(_state) {
|
|
569
1013
|
switch(_state.label){
|
|
570
1014
|
case 0:
|
|
571
|
-
|
|
572
|
-
_1 = (_ = _to_consumable_array(
|
|
1015
|
+
run2 = param.run, getMessages2 = param.getMessages;
|
|
1016
|
+
_1 = (_ = _to_consumable_array(run2.instructions ? [
|
|
573
1017
|
{
|
|
574
1018
|
role: "system",
|
|
575
|
-
content:
|
|
1019
|
+
content: run2.instructions
|
|
576
1020
|
}
|
|
577
1021
|
] : [])).concat;
|
|
578
1022
|
_2 = (0, import_radash2.flat);
|
|
579
1023
|
return [
|
|
580
1024
|
4,
|
|
581
|
-
getMessages2(
|
|
582
|
-
messagesHistoryLength: messagesHistoryLength
|
|
583
|
-
})
|
|
1025
|
+
getMessages2()
|
|
584
1026
|
];
|
|
585
1027
|
case 1:
|
|
586
1028
|
return [
|
|
@@ -672,21 +1114,26 @@ var toolCallsData = function(param) {
|
|
|
672
1114
|
}
|
|
673
1115
|
return newToolCalls;
|
|
674
1116
|
};
|
|
675
|
-
var completionsRunAdapter = function(
|
|
676
|
-
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;
|
|
1117
|
+
var completionsRunAdapter = function() {
|
|
677
1118
|
return function() {
|
|
678
1119
|
var _ref = _async_to_generator(function(param) {
|
|
679
|
-
var
|
|
1120
|
+
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;
|
|
680
1121
|
return _ts_generator(this, function(_state) {
|
|
681
1122
|
switch(_state.label){
|
|
682
1123
|
case 0:
|
|
683
|
-
|
|
684
|
-
if (
|
|
1124
|
+
clientAdapter = param.client, run2 = param.run, onEvent2 = param.onEvent, getMessages2 = param.getMessages;
|
|
1125
|
+
if (run2.status !== "queued") return [
|
|
685
1126
|
2
|
|
686
1127
|
];
|
|
1128
|
+
client = supercompat({
|
|
1129
|
+
client: clientAdapter,
|
|
1130
|
+
storage: function() {},
|
|
1131
|
+
// @ts-ignore-next-line
|
|
1132
|
+
runAdapter: {}
|
|
1133
|
+
});
|
|
687
1134
|
onEvent2({
|
|
688
1135
|
event: "thread.run.in_progress",
|
|
689
|
-
data: _object_spread_props(_object_spread({},
|
|
1136
|
+
data: _object_spread_props(_object_spread({}, run2), {
|
|
690
1137
|
status: "in_progress"
|
|
691
1138
|
})
|
|
692
1139
|
});
|
|
@@ -694,29 +1141,17 @@ var completionsRunAdapter = function(param) {
|
|
|
694
1141
|
return [
|
|
695
1142
|
4,
|
|
696
1143
|
messages({
|
|
697
|
-
run:
|
|
698
|
-
getMessages: getMessages2
|
|
699
|
-
messagesHistoryLength: messagesHistoryLength
|
|
1144
|
+
run: run2,
|
|
1145
|
+
getMessages: getMessages2
|
|
700
1146
|
})
|
|
701
1147
|
];
|
|
702
1148
|
case 1:
|
|
703
1149
|
opts = _object_spread.apply(void 0, [
|
|
704
|
-
(_tmp.messages = _state.sent(), _tmp.model =
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
} : {},
|
|
708
|
-
maxTokens ? {
|
|
709
|
-
max_tokens: maxTokens
|
|
710
|
-
} : {},
|
|
711
|
-
(0, import_radash3.isEmpty)(run.tools) ? {} : {
|
|
712
|
-
tools: run.tools
|
|
1150
|
+
(_tmp.messages = _state.sent(), _tmp.model = run2.model, _tmp.stream = true, _tmp.response_format = run2.response_format, _tmp),
|
|
1151
|
+
(0, import_radash3.isEmpty)(run2.tools) ? {} : {
|
|
1152
|
+
tools: run2.tools
|
|
713
1153
|
}
|
|
714
1154
|
]);
|
|
715
|
-
console.dir({
|
|
716
|
-
opts: opts
|
|
717
|
-
}, {
|
|
718
|
-
depth: null
|
|
719
|
-
});
|
|
720
1155
|
_state.label = 2;
|
|
721
1156
|
case 2:
|
|
722
1157
|
_state.trys.push([
|
|
@@ -737,12 +1172,13 @@ var completionsRunAdapter = function(param) {
|
|
|
737
1172
|
];
|
|
738
1173
|
case 4:
|
|
739
1174
|
e = _state.sent();
|
|
1175
|
+
console.log("error", e);
|
|
740
1176
|
console.error(e);
|
|
741
1177
|
return [
|
|
742
1178
|
2,
|
|
743
1179
|
onEvent2({
|
|
744
1180
|
event: "thread.run.failed",
|
|
745
|
-
data: _object_spread_props(_object_spread({},
|
|
1181
|
+
data: _object_spread_props(_object_spread({}, run2), {
|
|
746
1182
|
failed_at: (0, import_dayjs.default)().unix(),
|
|
747
1183
|
status: "in_progress",
|
|
748
1184
|
last_error: e.message
|
|
@@ -758,14 +1194,14 @@ var completionsRunAdapter = function(param) {
|
|
|
758
1194
|
id: "THERE_IS_A_BUG_IN_SUPERCOMPAT_IF_YOU_SEE_THIS_ID",
|
|
759
1195
|
object: "thread.message",
|
|
760
1196
|
completed_at: null,
|
|
761
|
-
run_id:
|
|
1197
|
+
run_id: run2.id,
|
|
762
1198
|
created_at: (0, import_dayjs.default)().unix(),
|
|
763
|
-
assistant_id:
|
|
1199
|
+
assistant_id: run2.assistant_id,
|
|
764
1200
|
incomplete_at: null,
|
|
765
1201
|
incomplete_details: null,
|
|
766
1202
|
metadata: {},
|
|
767
1203
|
attachments: [],
|
|
768
|
-
thread_id:
|
|
1204
|
+
thread_id: run2.thread_id,
|
|
769
1205
|
content: [
|
|
770
1206
|
{
|
|
771
1207
|
text: {
|
|
@@ -787,9 +1223,9 @@ var completionsRunAdapter = function(param) {
|
|
|
787
1223
|
data: {
|
|
788
1224
|
id: "THERE_IS_A_BUG_IN_SUPERCOMPAT_IF_YOU_SEE_THIS_ID",
|
|
789
1225
|
object: "thread.run.step",
|
|
790
|
-
run_id:
|
|
791
|
-
assistant_id:
|
|
792
|
-
thread_id:
|
|
1226
|
+
run_id: run2.id,
|
|
1227
|
+
assistant_id: run2.assistant_id,
|
|
1228
|
+
thread_id: run2.thread_id,
|
|
793
1229
|
type: "message_creation",
|
|
794
1230
|
status: "completed",
|
|
795
1231
|
completed_at: (0, import_dayjs.default)().unix(),
|
|
@@ -809,11 +1245,6 @@ var completionsRunAdapter = function(param) {
|
|
|
809
1245
|
}
|
|
810
1246
|
});
|
|
811
1247
|
currentContent = "";
|
|
812
|
-
console.dir({
|
|
813
|
-
providerResponse: providerResponse
|
|
814
|
-
}, {
|
|
815
|
-
depth: null
|
|
816
|
-
});
|
|
817
1248
|
_iteratorAbruptCompletion = false, _didIteratorError = false;
|
|
818
1249
|
_state.label = 7;
|
|
819
1250
|
case 7:
|
|
@@ -857,9 +1288,9 @@ var completionsRunAdapter = function(param) {
|
|
|
857
1288
|
data: {
|
|
858
1289
|
id: "THERE_IS_A_BUG_IN_SUPERCOMPAT_IF_YOU_SEE_THIS_ID",
|
|
859
1290
|
object: "thread.run.step",
|
|
860
|
-
run_id:
|
|
861
|
-
assistant_id:
|
|
862
|
-
thread_id:
|
|
1291
|
+
run_id: run2.id,
|
|
1292
|
+
assistant_id: run2.assistant_id,
|
|
1293
|
+
thread_id: run2.thread_id,
|
|
863
1294
|
type: "tool_calls",
|
|
864
1295
|
status: "in_progress",
|
|
865
1296
|
completed_at: null,
|
|
@@ -885,7 +1316,7 @@ var completionsRunAdapter = function(param) {
|
|
|
885
1316
|
event: "thread.run.step.delta",
|
|
886
1317
|
data: {
|
|
887
1318
|
object: "thread.run.step.delta",
|
|
888
|
-
run_id:
|
|
1319
|
+
run_id: run2.id,
|
|
889
1320
|
id: toolCallsRunStep.id,
|
|
890
1321
|
delta: {
|
|
891
1322
|
step_details: {
|
|
@@ -1006,7 +1437,7 @@ var completionsRunAdapter = function(param) {
|
|
|
1006
1437
|
2,
|
|
1007
1438
|
onEvent2({
|
|
1008
1439
|
event: "thread.run.completed",
|
|
1009
|
-
data: _object_spread_props(_object_spread({},
|
|
1440
|
+
data: _object_spread_props(_object_spread({}, run2), {
|
|
1010
1441
|
status: "completed",
|
|
1011
1442
|
completed_at: (0, import_dayjs.default)().unix()
|
|
1012
1443
|
})
|
|
@@ -1017,7 +1448,7 @@ var completionsRunAdapter = function(param) {
|
|
|
1017
1448
|
2,
|
|
1018
1449
|
onEvent2({
|
|
1019
1450
|
event: "thread.run.requires_action",
|
|
1020
|
-
data: _object_spread_props(_object_spread({},
|
|
1451
|
+
data: _object_spread_props(_object_spread({}, run2), {
|
|
1021
1452
|
status: "requires_action",
|
|
1022
1453
|
required_action: {
|
|
1023
1454
|
type: "submit_tool_outputs",
|
|
@@ -1045,13 +1476,14 @@ var import_radash4 = require("radash");
|
|
|
1045
1476
|
// src/adapters/run/anthropicRunAdapter/messages/serializeMessage.ts
|
|
1046
1477
|
var serializeToolCall2 = function(param) {
|
|
1047
1478
|
var toolCall = param.toolCall;
|
|
1479
|
+
var _toolCall_function_output;
|
|
1048
1480
|
return {
|
|
1049
1481
|
role: "user",
|
|
1050
1482
|
content: [
|
|
1051
1483
|
{
|
|
1052
1484
|
type: "tool_result",
|
|
1053
1485
|
tool_use_id: toolCall.id,
|
|
1054
|
-
content: toolCall.function.output
|
|
1486
|
+
content: (_toolCall_function_output = toolCall.function.output) !== null && _toolCall_function_output !== void 0 ? _toolCall_function_output : ""
|
|
1055
1487
|
}
|
|
1056
1488
|
]
|
|
1057
1489
|
};
|
|
@@ -1095,21 +1527,16 @@ var serializeContent2 = function(param) {
|
|
|
1095
1527
|
var serializeMessage2 = function(param) {
|
|
1096
1528
|
var message = param.message;
|
|
1097
1529
|
var _message_metadata;
|
|
1098
|
-
console.dir({
|
|
1099
|
-
message: message
|
|
1100
|
-
}, {
|
|
1101
|
-
depth: null
|
|
1102
|
-
});
|
|
1103
1530
|
var result = [
|
|
1104
1531
|
serializeMessageWithContent2({
|
|
1105
1532
|
message: message
|
|
1106
1533
|
})
|
|
1107
1534
|
];
|
|
1108
|
-
var
|
|
1109
|
-
if (!
|
|
1535
|
+
var run2 = message.run;
|
|
1536
|
+
if (!run2) return result;
|
|
1110
1537
|
var messageToolCalls = ((_message_metadata = message.metadata) === null || _message_metadata === void 0 ? void 0 : _message_metadata.toolCalls) || [];
|
|
1111
1538
|
messageToolCalls.forEach(function(tc) {
|
|
1112
|
-
var runStep =
|
|
1539
|
+
var runStep = run2.runSteps.find(function(rs) {
|
|
1113
1540
|
if (rs.type !== "tool_calls") return false;
|
|
1114
1541
|
return rs.step_details.tool_calls.some(function(rsTc) {
|
|
1115
1542
|
if (rsTc.type !== "function") return false;
|
|
@@ -1130,17 +1557,15 @@ var serializeMessage2 = function(param) {
|
|
|
1130
1557
|
// src/adapters/run/anthropicRunAdapter/messages/index.ts
|
|
1131
1558
|
var messages2 = function() {
|
|
1132
1559
|
var _ref = _async_to_generator(function(param) {
|
|
1133
|
-
var
|
|
1560
|
+
var run2, getMessages2, _;
|
|
1134
1561
|
return _ts_generator(this, function(_state) {
|
|
1135
1562
|
switch(_state.label){
|
|
1136
1563
|
case 0:
|
|
1137
|
-
|
|
1564
|
+
run2 = param.run, getMessages2 = param.getMessages;
|
|
1138
1565
|
_ = (0, import_radash4.flat);
|
|
1139
1566
|
return [
|
|
1140
1567
|
4,
|
|
1141
|
-
getMessages2(
|
|
1142
|
-
messagesHistoryLength: messagesHistoryLength
|
|
1143
|
-
})
|
|
1568
|
+
getMessages2()
|
|
1144
1569
|
];
|
|
1145
1570
|
case 1:
|
|
1146
1571
|
return [
|
|
@@ -1162,8 +1587,8 @@ var messages2 = function() {
|
|
|
1162
1587
|
}();
|
|
1163
1588
|
// src/adapters/run/anthropicRunAdapter/serializeTools.ts
|
|
1164
1589
|
var serializeTools = function(param) {
|
|
1165
|
-
var
|
|
1166
|
-
return
|
|
1590
|
+
var run2 = param.run;
|
|
1591
|
+
return run2.tools.map(function(tool) {
|
|
1167
1592
|
if (tool.type === "function") {
|
|
1168
1593
|
return {
|
|
1169
1594
|
name: tool.function.name,
|
|
@@ -1175,48 +1600,41 @@ var serializeTools = function(param) {
|
|
|
1175
1600
|
});
|
|
1176
1601
|
};
|
|
1177
1602
|
// src/adapters/run/anthropicRunAdapter/index.ts
|
|
1178
|
-
var anthropicRunAdapter = function(
|
|
1179
|
-
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;
|
|
1603
|
+
var anthropicRunAdapter = function() {
|
|
1180
1604
|
return function() {
|
|
1181
1605
|
var _ref = _async_to_generator(function(param) {
|
|
1182
|
-
var client,
|
|
1606
|
+
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;
|
|
1183
1607
|
return _ts_generator(this, function(_state) {
|
|
1184
1608
|
switch(_state.label){
|
|
1185
1609
|
case 0:
|
|
1186
|
-
client = param.client,
|
|
1187
|
-
if (
|
|
1610
|
+
client = param.client, run2 = param.run, onEvent2 = param.onEvent, getMessages2 = param.getMessages;
|
|
1611
|
+
if (run2.status !== "queued") return [
|
|
1188
1612
|
2
|
|
1189
1613
|
];
|
|
1190
1614
|
onEvent2({
|
|
1191
1615
|
event: "thread.run.in_progress",
|
|
1192
|
-
data: _object_spread_props(_object_spread({},
|
|
1616
|
+
data: _object_spread_props(_object_spread({}, run2), {
|
|
1193
1617
|
status: "in_progress"
|
|
1194
1618
|
})
|
|
1195
1619
|
});
|
|
1196
|
-
isStream = (0, import_radash5.isEmpty)(
|
|
1620
|
+
isStream = (0, import_radash5.isEmpty)(run2.tools);
|
|
1197
1621
|
_tmp = {};
|
|
1198
1622
|
return [
|
|
1199
1623
|
4,
|
|
1200
1624
|
messages2({
|
|
1201
|
-
run:
|
|
1202
|
-
getMessages: getMessages2
|
|
1203
|
-
messagesHistoryLength: messagesHistoryLength
|
|
1625
|
+
run: run2,
|
|
1626
|
+
getMessages: getMessages2
|
|
1204
1627
|
})
|
|
1205
1628
|
];
|
|
1206
1629
|
case 1:
|
|
1207
1630
|
opts = _object_spread.apply(void 0, [
|
|
1208
|
-
(_tmp.messages = _state.sent(), _tmp.stream = isStream, _tmp.model =
|
|
1209
|
-
(0, import_radash5.isEmpty)(
|
|
1631
|
+
(_tmp.messages = _state.sent(), _tmp.stream = isStream, _tmp.model = run2.model, _tmp),
|
|
1632
|
+
(0, import_radash5.isEmpty)(run2.tools) ? {} : {
|
|
1210
1633
|
tools: serializeTools({
|
|
1211
|
-
run:
|
|
1634
|
+
run: run2
|
|
1212
1635
|
})
|
|
1213
1636
|
}
|
|
1214
1637
|
]);
|
|
1215
|
-
console.dir({
|
|
1216
|
-
opts: opts
|
|
1217
|
-
}, {
|
|
1218
|
-
depth: null
|
|
1219
|
-
});
|
|
1220
1638
|
_state.label = 2;
|
|
1221
1639
|
case 2:
|
|
1222
1640
|
_state.trys.push([
|
|
@@ -1242,7 +1660,7 @@ var anthropicRunAdapter = function(param) {
|
|
|
1242
1660
|
2,
|
|
1243
1661
|
onEvent2({
|
|
1244
1662
|
event: "thread.run.failed",
|
|
1245
|
-
data: _object_spread_props(_object_spread({},
|
|
1663
|
+
data: _object_spread_props(_object_spread({}, run2), {
|
|
1246
1664
|
failed_at: (0, import_dayjs2.default)().unix(),
|
|
1247
1665
|
status: "in_progress",
|
|
1248
1666
|
last_error: e.message
|
|
@@ -1258,14 +1676,14 @@ var anthropicRunAdapter = function(param) {
|
|
|
1258
1676
|
id: "THERE_IS_A_BUG_IN_SUPERCOMPAT_IF_YOU_SEE_THIS_ID",
|
|
1259
1677
|
object: "thread.message",
|
|
1260
1678
|
completed_at: null,
|
|
1261
|
-
run_id:
|
|
1679
|
+
run_id: run2.id,
|
|
1262
1680
|
created_at: (0, import_dayjs2.default)().unix(),
|
|
1263
|
-
assistant_id:
|
|
1681
|
+
assistant_id: run2.assistant_id,
|
|
1264
1682
|
incomplete_at: null,
|
|
1265
1683
|
incomplete_details: null,
|
|
1266
1684
|
metadata: {},
|
|
1267
1685
|
attachments: [],
|
|
1268
|
-
thread_id:
|
|
1686
|
+
thread_id: run2.thread_id,
|
|
1269
1687
|
content: [
|
|
1270
1688
|
{
|
|
1271
1689
|
text: {
|
|
@@ -1287,9 +1705,9 @@ var anthropicRunAdapter = function(param) {
|
|
|
1287
1705
|
data: {
|
|
1288
1706
|
id: "THERE_IS_A_BUG_IN_SUPERCOMPAT_IF_YOU_SEE_THIS_ID",
|
|
1289
1707
|
object: "thread.run.step",
|
|
1290
|
-
run_id:
|
|
1291
|
-
assistant_id:
|
|
1292
|
-
thread_id:
|
|
1708
|
+
run_id: run2.id,
|
|
1709
|
+
assistant_id: run2.assistant_id,
|
|
1710
|
+
thread_id: run2.thread_id,
|
|
1293
1711
|
type: "message_creation",
|
|
1294
1712
|
status: "completed",
|
|
1295
1713
|
completed_at: (0, import_dayjs2.default)().unix(),
|
|
@@ -1309,11 +1727,6 @@ var anthropicRunAdapter = function(param) {
|
|
|
1309
1727
|
}
|
|
1310
1728
|
});
|
|
1311
1729
|
currentContent = "";
|
|
1312
|
-
console.dir({
|
|
1313
|
-
providerResponse: providerResponse
|
|
1314
|
-
}, {
|
|
1315
|
-
depth: null
|
|
1316
|
-
});
|
|
1317
1730
|
if (!isStream) return [
|
|
1318
1731
|
3,
|
|
1319
1732
|
19
|
|
@@ -1453,9 +1866,9 @@ var anthropicRunAdapter = function(param) {
|
|
|
1453
1866
|
data: {
|
|
1454
1867
|
id: "THERE_IS_A_BUG_IN_SUPERCOMPAT_IF_YOU_SEE_THIS_ID",
|
|
1455
1868
|
object: "thread.run.step",
|
|
1456
|
-
run_id:
|
|
1457
|
-
assistant_id:
|
|
1458
|
-
thread_id:
|
|
1869
|
+
run_id: run2.id,
|
|
1870
|
+
assistant_id: run2.assistant_id,
|
|
1871
|
+
thread_id: run2.thread_id,
|
|
1459
1872
|
type: "tool_calls",
|
|
1460
1873
|
status: "in_progress",
|
|
1461
1874
|
completed_at: null,
|
|
@@ -1503,7 +1916,7 @@ var anthropicRunAdapter = function(param) {
|
|
|
1503
1916
|
2,
|
|
1504
1917
|
onEvent2({
|
|
1505
1918
|
event: "thread.run.completed",
|
|
1506
|
-
data: _object_spread_props(_object_spread({},
|
|
1919
|
+
data: _object_spread_props(_object_spread({}, run2), {
|
|
1507
1920
|
status: "completed",
|
|
1508
1921
|
completed_at: (0, import_dayjs2.default)().unix()
|
|
1509
1922
|
})
|
|
@@ -1514,7 +1927,7 @@ var anthropicRunAdapter = function(param) {
|
|
|
1514
1927
|
2,
|
|
1515
1928
|
onEvent2({
|
|
1516
1929
|
event: "thread.run.requires_action",
|
|
1517
|
-
data: _object_spread_props(_object_spread({},
|
|
1930
|
+
data: _object_spread_props(_object_spread({}, run2), {
|
|
1518
1931
|
status: "requires_action",
|
|
1519
1932
|
required_action: {
|
|
1520
1933
|
type: "submit_tool_outputs",
|
|
@@ -1533,9 +1946,9 @@ var anthropicRunAdapter = function(param) {
|
|
|
1533
1946
|
};
|
|
1534
1947
|
}();
|
|
1535
1948
|
};
|
|
1536
|
-
// src/adapters/storage/prismaStorageAdapter/
|
|
1949
|
+
// src/adapters/storage/prismaStorageAdapter/threads/post.ts
|
|
1537
1950
|
var import_dayjs4 = __toESM(require("dayjs"), 1);
|
|
1538
|
-
// src/adapters/storage/prismaStorageAdapter/
|
|
1951
|
+
// src/adapters/storage/prismaStorageAdapter/threads/serializeThread.ts
|
|
1539
1952
|
var import_dayjs3 = __toESM(require("dayjs"), 1);
|
|
1540
1953
|
var serializeThread = function(param) {
|
|
1541
1954
|
var thread = param.thread;
|
|
@@ -1548,11 +1961,11 @@ var serializeThread = function(param) {
|
|
|
1548
1961
|
tool_resources: null
|
|
1549
1962
|
};
|
|
1550
1963
|
};
|
|
1551
|
-
// src/adapters/storage/prismaStorageAdapter/
|
|
1552
|
-
var
|
|
1964
|
+
// src/adapters/storage/prismaStorageAdapter/threads/post.ts
|
|
1965
|
+
var post3 = function(param) {
|
|
1553
1966
|
var prisma = param.prisma;
|
|
1554
1967
|
return /*#__PURE__*/ _async_to_generator(function() {
|
|
1555
|
-
var _len, args, _key,
|
|
1968
|
+
var _len, args, _key, body, messages4, metadata, initialCreatedAt, thread;
|
|
1556
1969
|
var _arguments = arguments;
|
|
1557
1970
|
return _ts_generator(this, function(_state) {
|
|
1558
1971
|
switch(_state.label){
|
|
@@ -1560,19 +1973,22 @@ var create = function(param) {
|
|
|
1560
1973
|
for(_len = _arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
|
|
1561
1974
|
args[_key] = _arguments[_key];
|
|
1562
1975
|
}
|
|
1563
|
-
|
|
1564
|
-
|
|
1976
|
+
body = JSON.parse(args[1].body);
|
|
1977
|
+
messages4 = body.messages || [];
|
|
1978
|
+
metadata = body.metadata || {};
|
|
1565
1979
|
initialCreatedAt = (0, import_dayjs4.default)().subtract(messages4.length, "seconds").format();
|
|
1566
1980
|
return [
|
|
1567
1981
|
4,
|
|
1568
1982
|
prisma.thread.create({
|
|
1569
|
-
data: {
|
|
1570
|
-
metadata: metadata
|
|
1983
|
+
data: _object_spread_props(_object_spread({
|
|
1984
|
+
metadata: metadata
|
|
1985
|
+
}, metadata.assistantId ? {
|
|
1571
1986
|
assistant: {
|
|
1572
1987
|
connect: {
|
|
1573
|
-
id: metadata.
|
|
1988
|
+
id: metadata.assistantId
|
|
1574
1989
|
}
|
|
1575
|
-
}
|
|
1990
|
+
}
|
|
1991
|
+
} : {}), {
|
|
1576
1992
|
messages: {
|
|
1577
1993
|
create: messages4.map(function(message, index) {
|
|
1578
1994
|
return {
|
|
@@ -1592,24 +2008,36 @@ var create = function(param) {
|
|
|
1592
2008
|
};
|
|
1593
2009
|
})
|
|
1594
2010
|
}
|
|
1595
|
-
}
|
|
2011
|
+
})
|
|
1596
2012
|
})
|
|
1597
2013
|
];
|
|
1598
2014
|
case 1:
|
|
1599
2015
|
thread = _state.sent();
|
|
1600
2016
|
return [
|
|
1601
2017
|
2,
|
|
1602
|
-
serializeThread({
|
|
2018
|
+
new Response(JSON.stringify(serializeThread({
|
|
1603
2019
|
thread: thread
|
|
2020
|
+
})), {
|
|
2021
|
+
status: 200,
|
|
2022
|
+
headers: {
|
|
2023
|
+
"Content-Type": "application/json"
|
|
2024
|
+
}
|
|
1604
2025
|
})
|
|
1605
2026
|
];
|
|
1606
2027
|
}
|
|
1607
2028
|
});
|
|
1608
2029
|
});
|
|
1609
2030
|
};
|
|
1610
|
-
// src/adapters/storage/prismaStorageAdapter/
|
|
1611
|
-
var
|
|
1612
|
-
|
|
2031
|
+
// src/adapters/storage/prismaStorageAdapter/threads/index.ts
|
|
2032
|
+
var threads = function(param) {
|
|
2033
|
+
var prisma = param.prisma;
|
|
2034
|
+
return {
|
|
2035
|
+
post: post3({
|
|
2036
|
+
prisma: prisma
|
|
2037
|
+
})
|
|
2038
|
+
};
|
|
2039
|
+
};
|
|
2040
|
+
// src/adapters/storage/prismaStorageAdapter/threads/messages/serializeMessage.ts
|
|
1613
2041
|
var import_dayjs5 = __toESM(require("dayjs"), 1);
|
|
1614
2042
|
var import_radash6 = require("radash");
|
|
1615
2043
|
var serializeMessage3 = function(param) {
|
|
@@ -1634,68 +2062,7 @@ var serializeMessage3 = function(param) {
|
|
|
1634
2062
|
} : {})
|
|
1635
2063
|
};
|
|
1636
2064
|
};
|
|
1637
|
-
// src/adapters/storage/prismaStorageAdapter/
|
|
1638
|
-
var list = function(param) {
|
|
1639
|
-
var prisma = param.prisma;
|
|
1640
|
-
return /*#__PURE__*/ _async_to_generator(function() {
|
|
1641
|
-
var _len, args, _key, _this, threadId, _args_, _ref, // @ts-ignore-next-line
|
|
1642
|
-
limit, // @ts-ignore-next-line
|
|
1643
|
-
order, // @ts-ignore-next-line
|
|
1644
|
-
after, messages4, _id;
|
|
1645
|
-
var _arguments = arguments;
|
|
1646
|
-
return _ts_generator(this, function(_state) {
|
|
1647
|
-
switch(_state.label){
|
|
1648
|
-
case 0:
|
|
1649
|
-
for(_len = _arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
|
|
1650
|
-
args[_key] = _arguments[_key];
|
|
1651
|
-
}
|
|
1652
|
-
threadId = args[0];
|
|
1653
|
-
_ref = (0, import_radash7.assign)({
|
|
1654
|
-
// @ts-ignore-next-line
|
|
1655
|
-
limit: 20,
|
|
1656
|
-
order: "desc",
|
|
1657
|
-
after: null
|
|
1658
|
-
}, (_args_ = args[1]) !== null && _args_ !== void 0 ? _args_ : {}), limit = _ref.limit, order = _ref.order, after = _ref.after;
|
|
1659
|
-
return [
|
|
1660
|
-
4,
|
|
1661
|
-
prisma.message.findMany(_object_spread({
|
|
1662
|
-
where: {
|
|
1663
|
-
threadId: threadId
|
|
1664
|
-
},
|
|
1665
|
-
take: limit,
|
|
1666
|
-
orderBy: {
|
|
1667
|
-
createdAt: order
|
|
1668
|
-
}
|
|
1669
|
-
}, after ? {
|
|
1670
|
-
skip: 1,
|
|
1671
|
-
cursor: {
|
|
1672
|
-
id: after
|
|
1673
|
-
}
|
|
1674
|
-
} : {}))
|
|
1675
|
-
];
|
|
1676
|
-
case 1:
|
|
1677
|
-
messages4 = _state.sent();
|
|
1678
|
-
return [
|
|
1679
|
-
2,
|
|
1680
|
-
{
|
|
1681
|
-
data: messages4.map(function(message) {
|
|
1682
|
-
return serializeMessage3({
|
|
1683
|
-
message: message
|
|
1684
|
-
});
|
|
1685
|
-
}),
|
|
1686
|
-
hasNextPage: function() {
|
|
1687
|
-
return messages4.length === limit;
|
|
1688
|
-
},
|
|
1689
|
-
body: {
|
|
1690
|
-
last_id: (_id = (_this = (0, import_radash7.last)(messages4)) === null || _this === void 0 ? void 0 : _this.id) !== null && _id !== void 0 ? _id : null
|
|
1691
|
-
}
|
|
1692
|
-
}
|
|
1693
|
-
];
|
|
1694
|
-
}
|
|
1695
|
-
});
|
|
1696
|
-
});
|
|
1697
|
-
};
|
|
1698
|
-
// src/adapters/storage/prismaStorageAdapter/beta/threads/messages/create.ts
|
|
2065
|
+
// src/adapters/storage/prismaStorageAdapter/threads/messages/post.ts
|
|
1699
2066
|
var messageContentBlocks = function(param) {
|
|
1700
2067
|
var content = param.content;
|
|
1701
2068
|
return [
|
|
@@ -1708,230 +2075,234 @@ var messageContentBlocks = function(param) {
|
|
|
1708
2075
|
}
|
|
1709
2076
|
];
|
|
1710
2077
|
};
|
|
1711
|
-
var
|
|
2078
|
+
var post4 = function(param) {
|
|
1712
2079
|
var prisma = param.prisma;
|
|
1713
|
-
return
|
|
1714
|
-
var
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1726
|
-
|
|
1727
|
-
|
|
1728
|
-
|
|
1729
|
-
|
|
1730
|
-
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
}
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
2080
|
+
return function() {
|
|
2081
|
+
var _ref = _async_to_generator(function(urlString, options) {
|
|
2082
|
+
var url, _url_pathname_match, threadId, body, role, content, message;
|
|
2083
|
+
return _ts_generator(this, function(_state) {
|
|
2084
|
+
switch(_state.label){
|
|
2085
|
+
case 0:
|
|
2086
|
+
url = new URL(urlString);
|
|
2087
|
+
_url_pathname_match = _sliced_to_array(url.pathname.match(new RegExp("^/v1/threads/([^/]+)/messages$")), 2), threadId = _url_pathname_match[1];
|
|
2088
|
+
body = JSON.parse(options.body);
|
|
2089
|
+
role = body.role, content = body.content;
|
|
2090
|
+
return [
|
|
2091
|
+
4,
|
|
2092
|
+
prisma.message.create({
|
|
2093
|
+
data: {
|
|
2094
|
+
threadId: threadId,
|
|
2095
|
+
content: messageContentBlocks({
|
|
2096
|
+
content: content
|
|
2097
|
+
}),
|
|
2098
|
+
role: role === "user" ? "USER" : "ASSISTANT"
|
|
2099
|
+
}
|
|
2100
|
+
})
|
|
2101
|
+
];
|
|
2102
|
+
case 1:
|
|
2103
|
+
message = _state.sent();
|
|
2104
|
+
return [
|
|
2105
|
+
2,
|
|
2106
|
+
new Response(JSON.stringify(serializeMessage3({
|
|
2107
|
+
message: message
|
|
2108
|
+
})), {
|
|
2109
|
+
status: 200,
|
|
2110
|
+
headers: {
|
|
2111
|
+
"Content-Type": "application/json"
|
|
2112
|
+
}
|
|
2113
|
+
})
|
|
2114
|
+
];
|
|
2115
|
+
}
|
|
2116
|
+
});
|
|
2117
|
+
});
|
|
2118
|
+
return function(urlString, options) {
|
|
2119
|
+
return _ref.apply(this, arguments);
|
|
2120
|
+
};
|
|
2121
|
+
}();
|
|
2122
|
+
};
|
|
2123
|
+
// src/adapters/storage/prismaStorageAdapter/threads/messages/get.ts
|
|
2124
|
+
var import_radash7 = require("radash");
|
|
2125
|
+
var get = function(param) {
|
|
2126
|
+
var prisma = param.prisma;
|
|
2127
|
+
return function() {
|
|
2128
|
+
var _ref = _async_to_generator(function(urlString) {
|
|
2129
|
+
var _this, url, _url_pathname_match, threadId, _ref, limit, order, after, messages4, _id;
|
|
2130
|
+
return _ts_generator(this, function(_state) {
|
|
2131
|
+
switch(_state.label){
|
|
2132
|
+
case 0:
|
|
2133
|
+
url = new URL(urlString);
|
|
2134
|
+
_url_pathname_match = _sliced_to_array(url.pathname.match(new RegExp("^/v1/threads/([^/]+)/messages$")), 2), threadId = _url_pathname_match[1];
|
|
2135
|
+
_ref = (0, import_radash7.assign)({
|
|
2136
|
+
limit: "20",
|
|
2137
|
+
order: "desc"
|
|
2138
|
+
}, Object.fromEntries(url.searchParams)), limit = _ref.limit, order = _ref.order, after = _ref.after;
|
|
2139
|
+
return [
|
|
2140
|
+
4,
|
|
2141
|
+
prisma.message.findMany(_object_spread({
|
|
2142
|
+
where: {
|
|
2143
|
+
threadId: threadId
|
|
2144
|
+
},
|
|
2145
|
+
take: parseInt(limit),
|
|
2146
|
+
orderBy: {
|
|
2147
|
+
createdAt: order
|
|
2148
|
+
}
|
|
2149
|
+
}, after ? {
|
|
2150
|
+
skip: 1,
|
|
2151
|
+
cursor: {
|
|
2152
|
+
id: after
|
|
2153
|
+
}
|
|
2154
|
+
} : {}))
|
|
2155
|
+
];
|
|
2156
|
+
case 1:
|
|
2157
|
+
messages4 = _state.sent();
|
|
2158
|
+
return [
|
|
2159
|
+
2,
|
|
2160
|
+
new Response(JSON.stringify({
|
|
2161
|
+
data: messages4.map(function(message) {
|
|
2162
|
+
return serializeMessage3({
|
|
2163
|
+
message: message
|
|
2164
|
+
});
|
|
2165
|
+
}),
|
|
2166
|
+
hasNextPage: function() {
|
|
2167
|
+
return messages4.length === parseInt(limit);
|
|
2168
|
+
},
|
|
2169
|
+
body: {
|
|
2170
|
+
last_id: (_id = (_this = (0, import_radash7.last)(messages4)) === null || _this === void 0 ? void 0 : _this.id) !== null && _id !== void 0 ? _id : null
|
|
2171
|
+
}
|
|
2172
|
+
}), {
|
|
2173
|
+
status: 200,
|
|
2174
|
+
headers: {
|
|
2175
|
+
"Content-Type": "application/json"
|
|
2176
|
+
}
|
|
2177
|
+
})
|
|
2178
|
+
];
|
|
2179
|
+
}
|
|
2180
|
+
});
|
|
2181
|
+
});
|
|
2182
|
+
return function(urlString) {
|
|
2183
|
+
return _ref.apply(this, arguments);
|
|
2184
|
+
};
|
|
2185
|
+
}();
|
|
2186
|
+
};
|
|
2187
|
+
// src/adapters/storage/prismaStorageAdapter/threads/messages/index.ts
|
|
2188
|
+
var messages3 = function(param) {
|
|
1750
2189
|
var prisma = param.prisma;
|
|
1751
2190
|
return {
|
|
1752
|
-
|
|
2191
|
+
post: post4({
|
|
1753
2192
|
prisma: prisma
|
|
1754
2193
|
}),
|
|
1755
|
-
|
|
2194
|
+
get: get({
|
|
1756
2195
|
prisma: prisma
|
|
1757
2196
|
})
|
|
1758
2197
|
};
|
|
1759
2198
|
};
|
|
1760
|
-
// src/adapters/storage/prismaStorageAdapter/
|
|
2199
|
+
// src/adapters/storage/prismaStorageAdapter/threads/runs/get.ts
|
|
1761
2200
|
var import_radash8 = require("radash");
|
|
1762
|
-
// src/adapters/storage/prismaStorageAdapter/
|
|
2201
|
+
// src/adapters/storage/prismaStorageAdapter/threads/runs/serializeRun.ts
|
|
1763
2202
|
var import_dayjs6 = __toESM(require("dayjs"), 1);
|
|
1764
2203
|
var serializeRun = function(param) {
|
|
1765
|
-
var
|
|
2204
|
+
var run2 = param.run;
|
|
1766
2205
|
return {
|
|
1767
|
-
id:
|
|
2206
|
+
id: run2.id,
|
|
1768
2207
|
object: "thread.run",
|
|
1769
|
-
created_at: (0, import_dayjs6.default)(
|
|
1770
|
-
thread_id:
|
|
1771
|
-
assistant_id:
|
|
1772
|
-
status:
|
|
1773
|
-
required_action:
|
|
1774
|
-
last_error:
|
|
1775
|
-
expires_at: (0, import_dayjs6.default)(
|
|
1776
|
-
started_at:
|
|
1777
|
-
cancelled_at:
|
|
1778
|
-
failed_at:
|
|
1779
|
-
completed_at:
|
|
1780
|
-
model:
|
|
1781
|
-
instructions:
|
|
1782
|
-
tools:
|
|
1783
|
-
metadata:
|
|
1784
|
-
usage:
|
|
2208
|
+
created_at: (0, import_dayjs6.default)(run2.createdAt).unix(),
|
|
2209
|
+
thread_id: run2.threadId,
|
|
2210
|
+
assistant_id: run2.assistantId,
|
|
2211
|
+
status: run2.status.toLowerCase(),
|
|
2212
|
+
required_action: run2.requiredAction,
|
|
2213
|
+
last_error: run2.lastError,
|
|
2214
|
+
expires_at: (0, import_dayjs6.default)(run2.expiresAt).unix(),
|
|
2215
|
+
started_at: run2.startedAt ? (0, import_dayjs6.default)(run2.startedAt).unix() : null,
|
|
2216
|
+
cancelled_at: run2.cancelledAt ? (0, import_dayjs6.default)(run2.cancelledAt).unix() : null,
|
|
2217
|
+
failed_at: run2.failedAt ? (0, import_dayjs6.default)(run2.failedAt).unix() : null,
|
|
2218
|
+
completed_at: run2.completedAt ? (0, import_dayjs6.default)(run2.completedAt).unix() : null,
|
|
2219
|
+
model: run2.model,
|
|
2220
|
+
instructions: run2.instructions,
|
|
2221
|
+
tools: run2.tools,
|
|
2222
|
+
metadata: run2.metadata,
|
|
2223
|
+
usage: run2.usage,
|
|
2224
|
+
truncation_strategy: {
|
|
2225
|
+
type: "auto"
|
|
2226
|
+
},
|
|
2227
|
+
response_format: {
|
|
2228
|
+
type: "text"
|
|
2229
|
+
},
|
|
1785
2230
|
// TODO
|
|
1786
2231
|
incomplete_details: null,
|
|
1787
2232
|
max_completion_tokens: null,
|
|
1788
2233
|
max_prompt_tokens: null,
|
|
1789
|
-
response_format: "auto",
|
|
1790
2234
|
tool_choice: "auto",
|
|
1791
|
-
|
|
1792
|
-
type: "auto",
|
|
1793
|
-
last_messages: null
|
|
1794
|
-
}
|
|
2235
|
+
parallel_tool_calls: true
|
|
1795
2236
|
};
|
|
1796
2237
|
};
|
|
1797
|
-
// src/adapters/storage/prismaStorageAdapter/
|
|
1798
|
-
var
|
|
1799
|
-
var prisma = param.prisma;
|
|
1800
|
-
return /*#__PURE__*/ _async_to_generator(function() {
|
|
1801
|
-
var _len, args, _key, _this, threadId, _args_, _ref, // @ts-ignore-next-line
|
|
1802
|
-
limit, // @ts-ignore-next-line
|
|
1803
|
-
order, // @ts-ignore-next-line
|
|
1804
|
-
after, runs2, _id;
|
|
1805
|
-
var _arguments = arguments;
|
|
1806
|
-
return _ts_generator(this, function(_state) {
|
|
1807
|
-
switch(_state.label){
|
|
1808
|
-
case 0:
|
|
1809
|
-
for(_len = _arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
|
|
1810
|
-
args[_key] = _arguments[_key];
|
|
1811
|
-
}
|
|
1812
|
-
threadId = args[0];
|
|
1813
|
-
_ref = (0, import_radash8.assign)({
|
|
1814
|
-
// @ts-ignore-next-line
|
|
1815
|
-
limit: 20,
|
|
1816
|
-
order: "desc"
|
|
1817
|
-
}, (_args_ = args[1]) !== null && _args_ !== void 0 ? _args_ : {}), limit = _ref.limit, order = _ref.order, after = _ref.after;
|
|
1818
|
-
return [
|
|
1819
|
-
4,
|
|
1820
|
-
prisma.run.findMany(_object_spread({
|
|
1821
|
-
where: {
|
|
1822
|
-
threadId: threadId
|
|
1823
|
-
},
|
|
1824
|
-
take: limit,
|
|
1825
|
-
orderBy: {
|
|
1826
|
-
createdAt: order
|
|
1827
|
-
}
|
|
1828
|
-
}, after ? {
|
|
1829
|
-
skip: 1,
|
|
1830
|
-
cursor: {
|
|
1831
|
-
id: after
|
|
1832
|
-
}
|
|
1833
|
-
} : {}))
|
|
1834
|
-
];
|
|
1835
|
-
case 1:
|
|
1836
|
-
runs2 = _state.sent();
|
|
1837
|
-
return [
|
|
1838
|
-
2,
|
|
1839
|
-
{
|
|
1840
|
-
data: runs2.map(function(run) {
|
|
1841
|
-
return serializeRun({
|
|
1842
|
-
run: run
|
|
1843
|
-
});
|
|
1844
|
-
}),
|
|
1845
|
-
hasNextPage: function() {
|
|
1846
|
-
return runs2.length === limit;
|
|
1847
|
-
},
|
|
1848
|
-
body: {
|
|
1849
|
-
last_id: (_id = (_this = (0, import_radash8.last)(runs2)) === null || _this === void 0 ? void 0 : _this.id) !== null && _id !== void 0 ? _id : null
|
|
1850
|
-
}
|
|
1851
|
-
}
|
|
1852
|
-
];
|
|
1853
|
-
}
|
|
1854
|
-
});
|
|
1855
|
-
});
|
|
1856
|
-
};
|
|
1857
|
-
// src/adapters/storage/prismaStorageAdapter/beta/threads/runs/create.ts
|
|
1858
|
-
var import_dayjs7 = __toESM(require("dayjs"), 1);
|
|
1859
|
-
var import_radash9 = require("radash");
|
|
1860
|
-
var create3 = function(param) {
|
|
2238
|
+
// src/adapters/storage/prismaStorageAdapter/threads/runs/get.ts
|
|
2239
|
+
var get2 = function(param) {
|
|
1861
2240
|
var prisma = param.prisma;
|
|
1862
|
-
return
|
|
1863
|
-
var
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1869
|
-
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
}
|
|
1880
|
-
})
|
|
1881
|
-
];
|
|
1882
|
-
case 1:
|
|
1883
|
-
assistant = _state.sent();
|
|
1884
|
-
if (!assistant) {
|
|
1885
|
-
throw new Error("Assistant not found");
|
|
1886
|
-
}
|
|
1887
|
-
_ref = (0, import_radash9.assign)({
|
|
1888
|
-
model: assistant.modelSlug,
|
|
1889
|
-
instructions: "",
|
|
1890
|
-
additional_instructions: null
|
|
1891
|
-
}, args[1]), model = _ref.model, instructions = _ref.instructions, tools = _ref.tools, metadata = _ref.metadata;
|
|
1892
|
-
return [
|
|
1893
|
-
4,
|
|
1894
|
-
prisma.run.create({
|
|
1895
|
-
data: {
|
|
1896
|
-
status: "QUEUED",
|
|
1897
|
-
expiresAt: (0, import_dayjs7.default)().add(1, "hour").unix(),
|
|
1898
|
-
// @ts-ignore-next-line
|
|
1899
|
-
model: model,
|
|
1900
|
-
// @ts-ignore-next-line
|
|
1901
|
-
instructions: instructions,
|
|
1902
|
-
// @ts-ignore-next-line
|
|
1903
|
-
tools: tools,
|
|
1904
|
-
// @ts-ignore-next-line
|
|
1905
|
-
metadata: metadata,
|
|
1906
|
-
thread: {
|
|
1907
|
-
connect: {
|
|
1908
|
-
id: threadId
|
|
1909
|
-
}
|
|
2241
|
+
return function() {
|
|
2242
|
+
var _ref = _async_to_generator(function(urlString) {
|
|
2243
|
+
var _this, url, _url_pathname_match, threadId, _ref, limit, order, after, runs2, _id;
|
|
2244
|
+
return _ts_generator(this, function(_state) {
|
|
2245
|
+
switch(_state.label){
|
|
2246
|
+
case 0:
|
|
2247
|
+
url = new URL(urlString);
|
|
2248
|
+
_url_pathname_match = _sliced_to_array(url.pathname.match(new RegExp("^/v1/threads/([^/]+)/runs$")), 2), threadId = _url_pathname_match[1];
|
|
2249
|
+
_ref = (0, import_radash8.assign)({
|
|
2250
|
+
limit: "20",
|
|
2251
|
+
order: "desc"
|
|
2252
|
+
}, Object.fromEntries(url.searchParams)), limit = _ref.limit, order = _ref.order, after = _ref.after;
|
|
2253
|
+
return [
|
|
2254
|
+
4,
|
|
2255
|
+
prisma.run.findMany(_object_spread({
|
|
2256
|
+
where: {
|
|
2257
|
+
threadId: threadId
|
|
1910
2258
|
},
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
}
|
|
2259
|
+
take: parseInt(limit),
|
|
2260
|
+
orderBy: {
|
|
2261
|
+
createdAt: order
|
|
1915
2262
|
}
|
|
1916
|
-
}
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
2263
|
+
}, after ? {
|
|
2264
|
+
skip: 1,
|
|
2265
|
+
cursor: {
|
|
2266
|
+
id: after
|
|
2267
|
+
}
|
|
2268
|
+
} : {}))
|
|
2269
|
+
];
|
|
2270
|
+
case 1:
|
|
2271
|
+
runs2 = _state.sent();
|
|
2272
|
+
return [
|
|
2273
|
+
2,
|
|
2274
|
+
new Response(JSON.stringify({
|
|
2275
|
+
data: runs2.map(function(run2) {
|
|
2276
|
+
return serializeRun({
|
|
2277
|
+
run: run2
|
|
2278
|
+
});
|
|
2279
|
+
}),
|
|
2280
|
+
hasNextPage: function() {
|
|
2281
|
+
return runs2.length === parseInt(limit);
|
|
2282
|
+
},
|
|
2283
|
+
body: {
|
|
2284
|
+
// @ts-ignore-next-line
|
|
2285
|
+
last_id: (_id = (_this = (0, import_radash8.last)(runs2)) === null || _this === void 0 ? void 0 : _this.id) !== null && _id !== void 0 ? _id : null
|
|
2286
|
+
}
|
|
2287
|
+
}), {
|
|
2288
|
+
status: 200,
|
|
2289
|
+
headers: {
|
|
2290
|
+
"Content-Type": "application/json"
|
|
2291
|
+
}
|
|
2292
|
+
})
|
|
2293
|
+
];
|
|
2294
|
+
}
|
|
2295
|
+
});
|
|
1928
2296
|
});
|
|
1929
|
-
|
|
2297
|
+
return function(urlString) {
|
|
2298
|
+
return _ref.apply(this, arguments);
|
|
2299
|
+
};
|
|
2300
|
+
}();
|
|
1930
2301
|
};
|
|
1931
|
-
// src/adapters/storage/prismaStorageAdapter/
|
|
1932
|
-
var
|
|
1933
|
-
var
|
|
1934
|
-
// src/adapters/storage/prismaStorageAdapter/
|
|
2302
|
+
// src/adapters/storage/prismaStorageAdapter/threads/runs/post.ts
|
|
2303
|
+
var import_dayjs8 = __toESM(require("dayjs"), 1);
|
|
2304
|
+
var import_radash9 = require("radash");
|
|
2305
|
+
// src/adapters/storage/prismaStorageAdapter/threads/runs/onEvent/handlers/threadRunInProgress.ts
|
|
1935
2306
|
var threadRunInProgress = function(param) {
|
|
1936
2307
|
var prisma = param.prisma, event = param.event, controller = param.controller;
|
|
1937
2308
|
controller.enqueue(event);
|
|
@@ -1944,7 +2315,7 @@ var threadRunInProgress = function(param) {
|
|
|
1944
2315
|
}
|
|
1945
2316
|
});
|
|
1946
2317
|
};
|
|
1947
|
-
// src/adapters/storage/prismaStorageAdapter/
|
|
2318
|
+
// src/adapters/storage/prismaStorageAdapter/threads/runs/onEvent/handlers/threadRunFailed.ts
|
|
1948
2319
|
var threadRunFailed = function(param) {
|
|
1949
2320
|
var prisma = param.prisma, event = param.event, controller = param.controller;
|
|
1950
2321
|
controller.enqueue(event);
|
|
@@ -1959,7 +2330,7 @@ var threadRunFailed = function(param) {
|
|
|
1959
2330
|
}
|
|
1960
2331
|
});
|
|
1961
2332
|
};
|
|
1962
|
-
// src/adapters/storage/prismaStorageAdapter/
|
|
2333
|
+
// src/adapters/storage/prismaStorageAdapter/threads/runs/onEvent/handlers/threadRunCompleted.ts
|
|
1963
2334
|
var threadRunCompleted = function(param) {
|
|
1964
2335
|
var prisma = param.prisma, event = param.event, controller = param.controller;
|
|
1965
2336
|
controller.enqueue(event);
|
|
@@ -1973,7 +2344,7 @@ var threadRunCompleted = function(param) {
|
|
|
1973
2344
|
}
|
|
1974
2345
|
});
|
|
1975
2346
|
};
|
|
1976
|
-
// src/adapters/storage/prismaStorageAdapter/
|
|
2347
|
+
// src/adapters/storage/prismaStorageAdapter/threads/runs/onEvent/handlers/threadRunRequiresAction.ts
|
|
1977
2348
|
var threadRunRequiresAction = function(param) {
|
|
1978
2349
|
var prisma = param.prisma, event = param.event, controller = param.controller;
|
|
1979
2350
|
controller.enqueue(event);
|
|
@@ -1987,14 +2358,14 @@ var threadRunRequiresAction = function(param) {
|
|
|
1987
2358
|
}
|
|
1988
2359
|
});
|
|
1989
2360
|
};
|
|
1990
|
-
// src/adapters/storage/prismaStorageAdapter/
|
|
1991
|
-
var
|
|
2361
|
+
// src/adapters/storage/prismaStorageAdapter/threads/runs/steps/serializeRunStep.ts
|
|
2362
|
+
var import_dayjs7 = __toESM(require("dayjs"), 1);
|
|
1992
2363
|
var serializeRunStep = function(param) {
|
|
1993
2364
|
var runStep = param.runStep;
|
|
1994
2365
|
return {
|
|
1995
2366
|
id: runStep.id,
|
|
1996
2367
|
object: "thread.run.step",
|
|
1997
|
-
created_at: (0,
|
|
2368
|
+
created_at: (0, import_dayjs7.default)(runStep.createdAt).unix(),
|
|
1998
2369
|
assistant_id: runStep.assistantId,
|
|
1999
2370
|
thread_id: runStep.threadId,
|
|
2000
2371
|
run_id: runStep.runId,
|
|
@@ -2003,15 +2374,15 @@ var serializeRunStep = function(param) {
|
|
|
2003
2374
|
// @ts-ignore-next-line
|
|
2004
2375
|
step_details: runStep.stepDetails,
|
|
2005
2376
|
last_error: runStep.lastError,
|
|
2006
|
-
expired_at: runStep.expiredAt ? (0,
|
|
2007
|
-
cancelled_at: runStep.cancelledAt ? (0,
|
|
2008
|
-
failed_at: runStep.failedAt ? (0,
|
|
2009
|
-
completed_at: runStep.completedAt ? (0,
|
|
2377
|
+
expired_at: runStep.expiredAt ? (0, import_dayjs7.default)(runStep.expiredAt).unix() : null,
|
|
2378
|
+
cancelled_at: runStep.cancelledAt ? (0, import_dayjs7.default)(runStep.cancelledAt).unix() : null,
|
|
2379
|
+
failed_at: runStep.failedAt ? (0, import_dayjs7.default)(runStep.failedAt).unix() : null,
|
|
2380
|
+
completed_at: runStep.completedAt ? (0, import_dayjs7.default)(runStep.completedAt).unix() : null,
|
|
2010
2381
|
metadata: runStep.metadata,
|
|
2011
2382
|
usage: runStep.usage
|
|
2012
2383
|
};
|
|
2013
2384
|
};
|
|
2014
|
-
// src/adapters/storage/prismaStorageAdapter/
|
|
2385
|
+
// src/adapters/storage/prismaStorageAdapter/threads/runs/onEvent/handlers/threadRunStepCreated.ts
|
|
2015
2386
|
var type = function(event) {
|
|
2016
2387
|
if (event.data.type === "message_creation") return "MESSAGE_CREATION" /* MESSAGE_CREATION */ ;
|
|
2017
2388
|
if (event.data.type === "tool_calls") return "TOOL_CALLS" /* TOOL_CALLS */ ;
|
|
@@ -2065,12 +2436,12 @@ var threadRunStepCreated = function() {
|
|
|
2065
2436
|
return _ref.apply(this, arguments);
|
|
2066
2437
|
};
|
|
2067
2438
|
}();
|
|
2068
|
-
// src/adapters/storage/prismaStorageAdapter/
|
|
2439
|
+
// src/adapters/storage/prismaStorageAdapter/threads/runs/onEvent/handlers/threadRunStepDelta.ts
|
|
2069
2440
|
var threadRunStepDelta = function(param) {
|
|
2070
2441
|
var event = param.event, controller = param.controller;
|
|
2071
2442
|
return controller.enqueue(event);
|
|
2072
2443
|
};
|
|
2073
|
-
// src/adapters/storage/prismaStorageAdapter/
|
|
2444
|
+
// src/adapters/storage/prismaStorageAdapter/threads/runs/onEvent/handlers/threadMessageCreated.ts
|
|
2074
2445
|
var status2 = function(event) {
|
|
2075
2446
|
if (event.data.status === "completed") return "COMPLETED" /* COMPLETED */ ;
|
|
2076
2447
|
if (event.data.status === "in_progress") return "IN_PROGRESS" /* IN_PROGRESS */ ;
|
|
@@ -2116,12 +2487,12 @@ var threadMessageCreated = function() {
|
|
|
2116
2487
|
return _ref.apply(this, arguments);
|
|
2117
2488
|
};
|
|
2118
2489
|
}();
|
|
2119
|
-
// src/adapters/storage/prismaStorageAdapter/
|
|
2490
|
+
// src/adapters/storage/prismaStorageAdapter/threads/runs/onEvent/handlers/threadMessageDelta.ts
|
|
2120
2491
|
var threadMessageDelta = function(param) {
|
|
2121
2492
|
var event = param.event, controller = param.controller;
|
|
2122
2493
|
return controller.enqueue(event);
|
|
2123
2494
|
};
|
|
2124
|
-
// src/adapters/storage/prismaStorageAdapter/
|
|
2495
|
+
// src/adapters/storage/prismaStorageAdapter/threads/runs/onEvent/handlers/threadMessageCompleted.ts
|
|
2125
2496
|
var threadMessageCompleted = function() {
|
|
2126
2497
|
var _ref = _async_to_generator(function(param) {
|
|
2127
2498
|
var prisma, event, controller, latestRunStep;
|
|
@@ -2191,7 +2562,7 @@ var threadMessageCompleted = function() {
|
|
|
2191
2562
|
return _ref.apply(this, arguments);
|
|
2192
2563
|
};
|
|
2193
2564
|
}();
|
|
2194
|
-
// src/adapters/storage/prismaStorageAdapter/
|
|
2565
|
+
// src/adapters/storage/prismaStorageAdapter/threads/runs/onEvent/handlers/index.ts
|
|
2195
2566
|
var handlers = {
|
|
2196
2567
|
"thread.run.in_progress": threadRunInProgress,
|
|
2197
2568
|
"thread.run.failed": threadRunFailed,
|
|
@@ -2203,7 +2574,7 @@ var handlers = {
|
|
|
2203
2574
|
"thread.message.delta": threadMessageDelta,
|
|
2204
2575
|
"thread.message.completed": threadMessageCompleted
|
|
2205
2576
|
};
|
|
2206
|
-
// src/adapters/storage/prismaStorageAdapter/
|
|
2577
|
+
// src/adapters/storage/prismaStorageAdapter/threads/runs/onEvent/index.ts
|
|
2207
2578
|
var onEvent = function(param) {
|
|
2208
2579
|
var prisma = param.prisma, controller = param.controller;
|
|
2209
2580
|
return function(event) {
|
|
@@ -2219,708 +2590,694 @@ var onEvent = function(param) {
|
|
|
2219
2590
|
});
|
|
2220
2591
|
};
|
|
2221
2592
|
};
|
|
2222
|
-
// src/adapters/storage/prismaStorageAdapter/
|
|
2593
|
+
// src/adapters/storage/prismaStorageAdapter/threads/runs/getMessages.ts
|
|
2594
|
+
var getTake = function(param) {
|
|
2595
|
+
var run2 = param.run;
|
|
2596
|
+
if (run2.truncationStrategy.type === "auto") {
|
|
2597
|
+
return null;
|
|
2598
|
+
}
|
|
2599
|
+
if (run2.truncationStrategy.type === "last_messages") {
|
|
2600
|
+
if (!run2.truncationStrategy.last_messages) {
|
|
2601
|
+
throw new Error("Truncation strategy last_messages is required");
|
|
2602
|
+
}
|
|
2603
|
+
return -run2.truncationStrategy.last_messages;
|
|
2604
|
+
}
|
|
2605
|
+
throw new Error("Unsupported truncation strategy type: ".concat(run2.truncationStrategy.type));
|
|
2606
|
+
};
|
|
2223
2607
|
var getMessages = function(param) {
|
|
2224
|
-
var prisma = param.prisma,
|
|
2608
|
+
var prisma = param.prisma, run2 = param.run;
|
|
2609
|
+
return /*#__PURE__*/ _async_to_generator(function() {
|
|
2610
|
+
var take, messages4;
|
|
2611
|
+
return _ts_generator(this, function(_state) {
|
|
2612
|
+
switch(_state.label){
|
|
2613
|
+
case 0:
|
|
2614
|
+
take = getTake({
|
|
2615
|
+
run: run2
|
|
2616
|
+
});
|
|
2617
|
+
return [
|
|
2618
|
+
4,
|
|
2619
|
+
prisma.message.findMany(_object_spread({
|
|
2620
|
+
where: {
|
|
2621
|
+
threadId: run2.threadId
|
|
2622
|
+
},
|
|
2623
|
+
include: {
|
|
2624
|
+
run: {
|
|
2625
|
+
include: {
|
|
2626
|
+
runSteps: true
|
|
2627
|
+
}
|
|
2628
|
+
}
|
|
2629
|
+
},
|
|
2630
|
+
orderBy: {
|
|
2631
|
+
createdAt: "asc"
|
|
2632
|
+
}
|
|
2633
|
+
}, take ? {
|
|
2634
|
+
take: take
|
|
2635
|
+
} : {}))
|
|
2636
|
+
];
|
|
2637
|
+
case 1:
|
|
2638
|
+
messages4 = _state.sent();
|
|
2639
|
+
return [
|
|
2640
|
+
2,
|
|
2641
|
+
messages4.map(function(message) {
|
|
2642
|
+
return _object_spread_props(_object_spread({}, serializeMessage3({
|
|
2643
|
+
message: message
|
|
2644
|
+
})), {
|
|
2645
|
+
run: message.run ? _object_spread_props(_object_spread({}, serializeRun({
|
|
2646
|
+
run: message.run
|
|
2647
|
+
})), {
|
|
2648
|
+
runSteps: message.run.runSteps.map(function(runStep) {
|
|
2649
|
+
return serializeRunStep({
|
|
2650
|
+
runStep: runStep
|
|
2651
|
+
});
|
|
2652
|
+
})
|
|
2653
|
+
}) : null
|
|
2654
|
+
});
|
|
2655
|
+
})
|
|
2656
|
+
];
|
|
2657
|
+
}
|
|
2658
|
+
});
|
|
2659
|
+
});
|
|
2660
|
+
};
|
|
2661
|
+
// src/adapters/storage/prismaStorageAdapter/threads/runs/post.ts
|
|
2662
|
+
var post5 = function(param) {
|
|
2663
|
+
var prisma = param.prisma, runAdapter = param.runAdapter;
|
|
2225
2664
|
return function() {
|
|
2226
|
-
var _ref = _async_to_generator(function(
|
|
2227
|
-
var
|
|
2665
|
+
var _ref = _async_to_generator(function(urlString, options) {
|
|
2666
|
+
var url, _url_pathname_match, threadId, body, assistant_id, stream, assistant, _ref, model, instructions, // additional_instructions,
|
|
2667
|
+
tools, metadata, response_format, truncation_strategy, run2, data, readableStream;
|
|
2228
2668
|
return _ts_generator(this, function(_state) {
|
|
2229
2669
|
switch(_state.label){
|
|
2230
2670
|
case 0:
|
|
2231
|
-
|
|
2671
|
+
url = new URL(urlString);
|
|
2672
|
+
_url_pathname_match = _sliced_to_array(url.pathname.match(new RegExp("^/v1/threads/([^/]+)/runs$")), 2), threadId = _url_pathname_match[1];
|
|
2673
|
+
body = JSON.parse(options.body);
|
|
2674
|
+
assistant_id = body.assistant_id, stream = body.stream;
|
|
2232
2675
|
return [
|
|
2233
2676
|
4,
|
|
2234
|
-
prisma.
|
|
2677
|
+
prisma.assistant.findUnique({
|
|
2235
2678
|
where: {
|
|
2236
|
-
|
|
2237
|
-
},
|
|
2238
|
-
include: {
|
|
2239
|
-
run: {
|
|
2240
|
-
include: {
|
|
2241
|
-
runSteps: true
|
|
2242
|
-
}
|
|
2243
|
-
}
|
|
2244
|
-
},
|
|
2245
|
-
take: -messagesHistoryLength,
|
|
2246
|
-
orderBy: {
|
|
2247
|
-
createdAt: "asc"
|
|
2679
|
+
id: assistant_id
|
|
2248
2680
|
}
|
|
2249
2681
|
})
|
|
2250
2682
|
];
|
|
2251
2683
|
case 1:
|
|
2252
|
-
|
|
2684
|
+
assistant = _state.sent();
|
|
2685
|
+
if (!assistant) {
|
|
2686
|
+
throw new Error("Assistant not found");
|
|
2687
|
+
}
|
|
2688
|
+
_ref = (0, import_radash9.assign)({
|
|
2689
|
+
model: assistant.modelSlug,
|
|
2690
|
+
instructions: "",
|
|
2691
|
+
additional_instructions: null,
|
|
2692
|
+
truncation_strategy: {
|
|
2693
|
+
type: "auto"
|
|
2694
|
+
},
|
|
2695
|
+
response_format: {
|
|
2696
|
+
type: "text"
|
|
2697
|
+
}
|
|
2698
|
+
}, body), model = _ref.model, instructions = _ref.instructions, tools = _ref.tools, metadata = _ref.metadata, response_format = _ref.response_format, truncation_strategy = _ref.truncation_strategy;
|
|
2253
2699
|
return [
|
|
2254
|
-
|
|
2255
|
-
|
|
2256
|
-
|
|
2257
|
-
|
|
2258
|
-
|
|
2259
|
-
|
|
2260
|
-
|
|
2261
|
-
|
|
2262
|
-
|
|
2263
|
-
|
|
2264
|
-
|
|
2265
|
-
|
|
2266
|
-
}
|
|
2267
|
-
}
|
|
2268
|
-
|
|
2700
|
+
4,
|
|
2701
|
+
prisma.run.create({
|
|
2702
|
+
data: {
|
|
2703
|
+
status: "QUEUED",
|
|
2704
|
+
expiresAt: (0, import_dayjs8.default)().add(1, "hour").unix(),
|
|
2705
|
+
model: model,
|
|
2706
|
+
instructions: instructions,
|
|
2707
|
+
tools: tools,
|
|
2708
|
+
metadata: metadata,
|
|
2709
|
+
thread: {
|
|
2710
|
+
connect: {
|
|
2711
|
+
id: threadId
|
|
2712
|
+
}
|
|
2713
|
+
},
|
|
2714
|
+
assistant: {
|
|
2715
|
+
connect: {
|
|
2716
|
+
id: assistant_id
|
|
2717
|
+
}
|
|
2718
|
+
},
|
|
2719
|
+
truncationStrategy: truncation_strategy,
|
|
2720
|
+
responseFormat: response_format
|
|
2721
|
+
}
|
|
2269
2722
|
})
|
|
2270
2723
|
];
|
|
2724
|
+
case 2:
|
|
2725
|
+
run2 = _state.sent();
|
|
2726
|
+
data = serializeRun({
|
|
2727
|
+
run: run2
|
|
2728
|
+
});
|
|
2729
|
+
readableStream = new ReadableStream({
|
|
2730
|
+
start: function start(controller) {
|
|
2731
|
+
return _async_to_generator(function() {
|
|
2732
|
+
return _ts_generator(this, function(_state) {
|
|
2733
|
+
switch(_state.label){
|
|
2734
|
+
case 0:
|
|
2735
|
+
return [
|
|
2736
|
+
4,
|
|
2737
|
+
runAdapter({
|
|
2738
|
+
run: data,
|
|
2739
|
+
onEvent: onEvent({
|
|
2740
|
+
controller: _object_spread_props(_object_spread({}, controller), {
|
|
2741
|
+
enqueue: function(data2) {
|
|
2742
|
+
controller.enqueue("data: ".concat(JSON.stringify(data2), "\n\n"));
|
|
2743
|
+
}
|
|
2744
|
+
}),
|
|
2745
|
+
prisma: prisma
|
|
2746
|
+
}),
|
|
2747
|
+
getMessages: getMessages({
|
|
2748
|
+
prisma: prisma,
|
|
2749
|
+
run: run2
|
|
2750
|
+
})
|
|
2751
|
+
})
|
|
2752
|
+
];
|
|
2753
|
+
case 1:
|
|
2754
|
+
_state.sent();
|
|
2755
|
+
controller.close();
|
|
2756
|
+
return [
|
|
2757
|
+
2
|
|
2758
|
+
];
|
|
2759
|
+
}
|
|
2760
|
+
});
|
|
2761
|
+
})();
|
|
2762
|
+
}
|
|
2763
|
+
});
|
|
2764
|
+
if (stream) {
|
|
2765
|
+
return [
|
|
2766
|
+
2,
|
|
2767
|
+
new Response(readableStream, {
|
|
2768
|
+
headers: {
|
|
2769
|
+
"Content-Type": "text/event-stream"
|
|
2770
|
+
}
|
|
2771
|
+
})
|
|
2772
|
+
];
|
|
2773
|
+
} else {
|
|
2774
|
+
return [
|
|
2775
|
+
2,
|
|
2776
|
+
new Response(JSON.stringify(data), {
|
|
2777
|
+
status: 200,
|
|
2778
|
+
headers: {
|
|
2779
|
+
"Content-Type": "application/json"
|
|
2780
|
+
}
|
|
2781
|
+
})
|
|
2782
|
+
];
|
|
2783
|
+
}
|
|
2784
|
+
return [
|
|
2785
|
+
2
|
|
2786
|
+
];
|
|
2271
2787
|
}
|
|
2272
2788
|
});
|
|
2273
2789
|
});
|
|
2274
|
-
return function(
|
|
2790
|
+
return function(urlString, options) {
|
|
2275
2791
|
return _ref.apply(this, arguments);
|
|
2276
2792
|
};
|
|
2277
2793
|
}();
|
|
2278
2794
|
};
|
|
2279
|
-
// src/adapters/storage/prismaStorageAdapter/
|
|
2280
|
-
var
|
|
2795
|
+
// src/adapters/storage/prismaStorageAdapter/threads/runs/index.ts
|
|
2796
|
+
var runs = function(param) {
|
|
2281
2797
|
var prisma = param.prisma, runAdapter = param.runAdapter;
|
|
2798
|
+
return {
|
|
2799
|
+
get: get2({
|
|
2800
|
+
prisma: prisma
|
|
2801
|
+
}),
|
|
2802
|
+
post: post5({
|
|
2803
|
+
prisma: prisma,
|
|
2804
|
+
runAdapter: runAdapter
|
|
2805
|
+
})
|
|
2806
|
+
};
|
|
2807
|
+
};
|
|
2808
|
+
// src/adapters/storage/prismaStorageAdapter/threads/run/get.ts
|
|
2809
|
+
var get3 = function(param) {
|
|
2810
|
+
var prisma = param.prisma;
|
|
2282
2811
|
return function() {
|
|
2283
|
-
|
|
2284
|
-
|
|
2285
|
-
|
|
2286
|
-
|
|
2287
|
-
|
|
2288
|
-
|
|
2289
|
-
|
|
2290
|
-
|
|
2291
|
-
|
|
2292
|
-
|
|
2293
|
-
|
|
2294
|
-
|
|
2295
|
-
|
|
2296
|
-
|
|
2297
|
-
|
|
2298
|
-
|
|
2299
|
-
|
|
2300
|
-
|
|
2301
|
-
|
|
2302
|
-
|
|
2303
|
-
|
|
2304
|
-
|
|
2305
|
-
|
|
2306
|
-
|
|
2307
|
-
|
|
2308
|
-
|
|
2309
|
-
|
|
2310
|
-
|
|
2311
|
-
|
|
2312
|
-
|
|
2313
|
-
|
|
2314
|
-
|
|
2315
|
-
4,
|
|
2316
|
-
prisma.run.create({
|
|
2317
|
-
data: {
|
|
2318
|
-
status: "QUEUED",
|
|
2319
|
-
expiresAt: (0, import_dayjs9.default)().add(1, "hour").unix(),
|
|
2320
|
-
// @ts-ignore-next-line
|
|
2321
|
-
model: model,
|
|
2322
|
-
// @ts-ignore-next-line
|
|
2323
|
-
instructions: instructions,
|
|
2324
|
-
// @ts-ignore-next-line
|
|
2325
|
-
tools: tools,
|
|
2326
|
-
// @ts-ignore-next-line
|
|
2327
|
-
metadata: metadata,
|
|
2328
|
-
thread: {
|
|
2329
|
-
connect: {
|
|
2330
|
-
id: threadId
|
|
2331
|
-
}
|
|
2332
|
-
},
|
|
2333
|
-
assistant: {
|
|
2334
|
-
connect: {
|
|
2335
|
-
id: assistant_id
|
|
2336
|
-
}
|
|
2337
|
-
}
|
|
2338
|
-
}
|
|
2339
|
-
})
|
|
2340
|
-
];
|
|
2341
|
-
case 2:
|
|
2342
|
-
run = _state.sent();
|
|
2343
|
-
data = serializeRun({
|
|
2344
|
-
run: run
|
|
2345
|
-
});
|
|
2346
|
-
controller.enqueue({
|
|
2347
|
-
event: "thread.run.created",
|
|
2348
|
-
data: data
|
|
2349
|
-
});
|
|
2350
|
-
return [
|
|
2351
|
-
4,
|
|
2352
|
-
runAdapter({
|
|
2353
|
-
run: data,
|
|
2354
|
-
onEvent: onEvent({
|
|
2355
|
-
controller: controller,
|
|
2356
|
-
prisma: prisma
|
|
2357
|
-
}),
|
|
2358
|
-
getMessages: getMessages({
|
|
2359
|
-
prisma: prisma,
|
|
2360
|
-
run: run
|
|
2361
|
-
}),
|
|
2362
|
-
responseFormat: response_format
|
|
2363
|
-
})
|
|
2364
|
-
];
|
|
2365
|
-
case 3:
|
|
2366
|
-
_state.sent();
|
|
2367
|
-
console.log("Stream ended inside cloud storage");
|
|
2368
|
-
controller.close();
|
|
2369
|
-
return [
|
|
2370
|
-
2
|
|
2371
|
-
];
|
|
2372
|
-
}
|
|
2373
|
-
});
|
|
2374
|
-
})();
|
|
2375
|
-
}
|
|
2812
|
+
var _ref = _async_to_generator(function(urlString) {
|
|
2813
|
+
var url, _url_pathname_match, threadId, runId, run2;
|
|
2814
|
+
return _ts_generator(this, function(_state) {
|
|
2815
|
+
switch(_state.label){
|
|
2816
|
+
case 0:
|
|
2817
|
+
url = new URL(urlString);
|
|
2818
|
+
_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];
|
|
2819
|
+
return [
|
|
2820
|
+
4,
|
|
2821
|
+
prisma.run.findUnique({
|
|
2822
|
+
where: {
|
|
2823
|
+
id: runId,
|
|
2824
|
+
threadId: threadId
|
|
2825
|
+
}
|
|
2826
|
+
})
|
|
2827
|
+
];
|
|
2828
|
+
case 1:
|
|
2829
|
+
run2 = _state.sent();
|
|
2830
|
+
return [
|
|
2831
|
+
2,
|
|
2832
|
+
new Response(JSON.stringify(serializeRun({
|
|
2833
|
+
run: run2
|
|
2834
|
+
})), {
|
|
2835
|
+
status: 200,
|
|
2836
|
+
headers: {
|
|
2837
|
+
"Content-Type": "application/json",
|
|
2838
|
+
"openai-poll-after-ms": "5000"
|
|
2839
|
+
}
|
|
2840
|
+
})
|
|
2841
|
+
];
|
|
2842
|
+
}
|
|
2843
|
+
});
|
|
2376
2844
|
});
|
|
2377
|
-
|
|
2845
|
+
return function(urlString) {
|
|
2846
|
+
return _ref.apply(this, arguments);
|
|
2847
|
+
};
|
|
2848
|
+
}();
|
|
2378
2849
|
};
|
|
2379
|
-
// src/adapters/storage/prismaStorageAdapter/
|
|
2380
|
-
var
|
|
2381
|
-
var submitToolOutputs = function(param) {
|
|
2850
|
+
// src/adapters/storage/prismaStorageAdapter/threads/run/index.ts
|
|
2851
|
+
var run = function(param) {
|
|
2382
2852
|
var prisma = param.prisma, runAdapter = param.runAdapter;
|
|
2383
|
-
return
|
|
2384
|
-
|
|
2385
|
-
|
|
2853
|
+
return {
|
|
2854
|
+
get: get3({
|
|
2855
|
+
prisma: prisma
|
|
2856
|
+
})
|
|
2857
|
+
};
|
|
2858
|
+
};
|
|
2859
|
+
// src/adapters/storage/prismaStorageAdapter/threads/runs/steps/get.ts
|
|
2860
|
+
var import_radash10 = require("radash");
|
|
2861
|
+
var get4 = function(param) {
|
|
2862
|
+
var prisma = param.prisma;
|
|
2863
|
+
return function() {
|
|
2864
|
+
var _ref = _async_to_generator(function(urlString) {
|
|
2865
|
+
var _this, url, _url_pathname_match, threadId, runId, _ref, limit, order, after, runSteps, _id;
|
|
2866
|
+
return _ts_generator(this, function(_state) {
|
|
2867
|
+
switch(_state.label){
|
|
2868
|
+
case 0:
|
|
2869
|
+
url = new URL(urlString);
|
|
2870
|
+
_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];
|
|
2871
|
+
_ref = (0, import_radash10.assign)({
|
|
2872
|
+
limit: "20",
|
|
2873
|
+
order: "desc"
|
|
2874
|
+
}, Object.fromEntries(url.searchParams)), limit = _ref.limit, order = _ref.order, after = _ref.after;
|
|
2875
|
+
return [
|
|
2876
|
+
4,
|
|
2877
|
+
prisma.runStep.findMany(_object_spread({
|
|
2878
|
+
where: {
|
|
2879
|
+
threadId: threadId,
|
|
2880
|
+
runId: runId
|
|
2881
|
+
},
|
|
2882
|
+
take: parseInt(limit),
|
|
2883
|
+
orderBy: {
|
|
2884
|
+
createdAt: order
|
|
2885
|
+
}
|
|
2886
|
+
}, after ? {
|
|
2887
|
+
skip: 1,
|
|
2888
|
+
cursor: {
|
|
2889
|
+
id: after
|
|
2890
|
+
}
|
|
2891
|
+
} : {}))
|
|
2892
|
+
];
|
|
2893
|
+
case 1:
|
|
2894
|
+
runSteps = _state.sent();
|
|
2895
|
+
return [
|
|
2896
|
+
2,
|
|
2897
|
+
new Response(JSON.stringify({
|
|
2898
|
+
data: runSteps.map(function(runStep) {
|
|
2899
|
+
return serializeRunStep({
|
|
2900
|
+
runStep: runStep
|
|
2901
|
+
});
|
|
2902
|
+
}),
|
|
2903
|
+
hasNextPage: function() {
|
|
2904
|
+
return runSteps.length === parseInt(limit);
|
|
2905
|
+
},
|
|
2906
|
+
body: {
|
|
2907
|
+
// @ts-ignore-next-line
|
|
2908
|
+
last_id: (_id = (_this = (0, import_radash10.last)(runSteps)) === null || _this === void 0 ? void 0 : _this.id) !== null && _id !== void 0 ? _id : null
|
|
2909
|
+
}
|
|
2910
|
+
}), {
|
|
2911
|
+
status: 200,
|
|
2912
|
+
headers: {
|
|
2913
|
+
"Content-Type": "application/json"
|
|
2914
|
+
}
|
|
2915
|
+
})
|
|
2916
|
+
];
|
|
2917
|
+
}
|
|
2918
|
+
});
|
|
2919
|
+
});
|
|
2920
|
+
return function(urlString) {
|
|
2921
|
+
return _ref.apply(this, arguments);
|
|
2922
|
+
};
|
|
2923
|
+
}();
|
|
2924
|
+
};
|
|
2925
|
+
// src/adapters/storage/prismaStorageAdapter/threads/runs/steps/index.ts
|
|
2926
|
+
var steps = function(param) {
|
|
2927
|
+
var prisma = param.prisma;
|
|
2928
|
+
return {
|
|
2929
|
+
get: get4({
|
|
2930
|
+
prisma: prisma
|
|
2931
|
+
})
|
|
2932
|
+
};
|
|
2933
|
+
};
|
|
2934
|
+
// src/adapters/storage/prismaStorageAdapter/threads/runs/submitToolOutputs/post/updateRun.ts
|
|
2935
|
+
var import_dayjs9 = __toESM(require("dayjs"), 1);
|
|
2936
|
+
var updateRun = function() {
|
|
2937
|
+
var _ref = _async_to_generator(function(param) {
|
|
2938
|
+
var prisma, runId, threadId, _param_onThreadRunStepCompleted, onThreadRunStepCompleted, tool_outputs;
|
|
2386
2939
|
return _ts_generator(this, function(_state) {
|
|
2387
|
-
|
|
2388
|
-
|
|
2389
|
-
|
|
2390
|
-
|
|
2391
|
-
|
|
2392
|
-
|
|
2393
|
-
|
|
2394
|
-
|
|
2395
|
-
|
|
2396
|
-
|
|
2397
|
-
|
|
2398
|
-
|
|
2399
|
-
|
|
2400
|
-
|
|
2401
|
-
|
|
2402
|
-
|
|
2403
|
-
|
|
2404
|
-
|
|
2405
|
-
|
|
2406
|
-
|
|
2407
|
-
runId: runId,
|
|
2408
|
-
type: "TOOL_CALLS",
|
|
2409
|
-
status: "IN_PROGRESS"
|
|
2410
|
-
}
|
|
2411
|
-
})
|
|
2412
|
-
];
|
|
2413
|
-
case 1:
|
|
2414
|
-
runSteps = _state.sent();
|
|
2415
|
-
_iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
2416
|
-
_state.label = 2;
|
|
2417
|
-
case 2:
|
|
2418
|
-
_state.trys.push([
|
|
2419
|
-
2,
|
|
2420
|
-
7,
|
|
2421
|
-
8,
|
|
2422
|
-
9
|
|
2423
|
-
]);
|
|
2424
|
-
_loop = function() {
|
|
2425
|
-
var runStep;
|
|
2426
|
-
return _ts_generator(this, function(_state) {
|
|
2427
|
-
switch(_state.label){
|
|
2428
|
-
case 0:
|
|
2429
|
-
runStep = _step.value;
|
|
2430
|
-
return [
|
|
2431
|
-
4,
|
|
2432
|
-
prisma2.runStep.update({
|
|
2433
|
-
where: {
|
|
2434
|
-
id: runStep.id
|
|
2435
|
-
},
|
|
2436
|
-
data: {
|
|
2437
|
-
status: "COMPLETED",
|
|
2438
|
-
completedAt: (0, import_dayjs10.default)().unix(),
|
|
2439
|
-
stepDetails: {
|
|
2440
|
-
type: "tool_calls",
|
|
2441
|
-
tool_calls: runStep.stepDetails.tool_calls.map(function(toolCall) {
|
|
2442
|
-
var toolOutput = tool_outputs.find(function(output) {
|
|
2443
|
-
return output.tool_call_id === toolCall.id;
|
|
2444
|
-
}) || tool_outputs[0];
|
|
2445
|
-
if (!toolOutput) {
|
|
2446
|
-
console.dir({
|
|
2447
|
-
toolOutput: toolOutput,
|
|
2448
|
-
runStep: runStep,
|
|
2449
|
-
tool_outputs: tool_outputs,
|
|
2450
|
-
runSteps: runSteps
|
|
2451
|
-
}, {
|
|
2452
|
-
depth: null
|
|
2453
|
-
});
|
|
2454
|
-
throw new Error("Tool output not found");
|
|
2455
|
-
}
|
|
2456
|
-
return {
|
|
2457
|
-
id: toolCall.id,
|
|
2458
|
-
type: toolCall.type,
|
|
2459
|
-
function: _object_spread_props(_object_spread({}, toolCall.function), {
|
|
2460
|
-
output: toolOutput.output
|
|
2461
|
-
})
|
|
2462
|
-
};
|
|
2463
|
-
})
|
|
2464
|
-
}
|
|
2465
|
-
}
|
|
2466
|
-
})
|
|
2467
|
-
];
|
|
2468
|
-
case 1:
|
|
2469
|
-
_state.sent();
|
|
2470
|
-
return [
|
|
2471
|
-
2
|
|
2472
|
-
];
|
|
2473
|
-
}
|
|
2474
|
-
});
|
|
2475
|
-
};
|
|
2476
|
-
_iterator = runSteps[Symbol.iterator]();
|
|
2477
|
-
_state.label = 3;
|
|
2478
|
-
case 3:
|
|
2479
|
-
if (!!(_iteratorNormalCompletion = (_step = _iterator.next()).done)) return [
|
|
2480
|
-
3,
|
|
2481
|
-
6
|
|
2482
|
-
];
|
|
2483
|
-
return [
|
|
2484
|
-
5,
|
|
2485
|
-
_ts_values(_loop())
|
|
2486
|
-
];
|
|
2487
|
-
case 4:
|
|
2488
|
-
_state.sent();
|
|
2489
|
-
_state.label = 5;
|
|
2490
|
-
case 5:
|
|
2491
|
-
_iteratorNormalCompletion = true;
|
|
2492
|
-
return [
|
|
2493
|
-
3,
|
|
2494
|
-
3
|
|
2495
|
-
];
|
|
2496
|
-
case 6:
|
|
2497
|
-
return [
|
|
2498
|
-
3,
|
|
2499
|
-
9
|
|
2500
|
-
];
|
|
2501
|
-
case 7:
|
|
2502
|
-
err = _state.sent();
|
|
2503
|
-
_didIteratorError = true;
|
|
2504
|
-
_iteratorError = err;
|
|
2505
|
-
return [
|
|
2506
|
-
3,
|
|
2507
|
-
9
|
|
2508
|
-
];
|
|
2509
|
-
case 8:
|
|
2510
|
-
try {
|
|
2511
|
-
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
2512
|
-
_iterator.return();
|
|
2513
|
-
}
|
|
2514
|
-
} finally{
|
|
2515
|
-
if (_didIteratorError) {
|
|
2516
|
-
throw _iteratorError;
|
|
2517
|
-
}
|
|
2940
|
+
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;
|
|
2941
|
+
return [
|
|
2942
|
+
2,
|
|
2943
|
+
prisma.$transaction(function() {
|
|
2944
|
+
var _ref = _async_to_generator(function(prisma2) {
|
|
2945
|
+
var runSteps, _iteratorNormalCompletion, _didIteratorError, _iteratorError, _loop, _iterator, _step, err;
|
|
2946
|
+
return _ts_generator(this, function(_state) {
|
|
2947
|
+
switch(_state.label){
|
|
2948
|
+
case 0:
|
|
2949
|
+
return [
|
|
2950
|
+
4,
|
|
2951
|
+
prisma2.runStep.findMany({
|
|
2952
|
+
where: {
|
|
2953
|
+
threadId: threadId,
|
|
2954
|
+
runId: runId,
|
|
2955
|
+
type: "TOOL_CALLS",
|
|
2956
|
+
status: "IN_PROGRESS"
|
|
2957
|
+
},
|
|
2958
|
+
orderBy: {
|
|
2959
|
+
createdAt: "asc"
|
|
2518
2960
|
}
|
|
2519
|
-
|
|
2520
|
-
|
|
2521
|
-
|
|
2522
|
-
|
|
2523
|
-
|
|
2524
|
-
|
|
2525
|
-
|
|
2526
|
-
|
|
2527
|
-
|
|
2528
|
-
|
|
2529
|
-
|
|
2530
|
-
|
|
2531
|
-
|
|
2532
|
-
|
|
2533
|
-
|
|
2534
|
-
}
|
|
2535
|
-
});
|
|
2536
|
-
});
|
|
2537
|
-
return function(prisma2) {
|
|
2538
|
-
return _ref.apply(this, arguments);
|
|
2539
|
-
};
|
|
2540
|
-
}())
|
|
2541
|
-
];
|
|
2542
|
-
case 1:
|
|
2543
|
-
run = _state.sent();
|
|
2544
|
-
data = serializeRun({
|
|
2545
|
-
run: run
|
|
2546
|
-
});
|
|
2547
|
-
return [
|
|
2548
|
-
4,
|
|
2549
|
-
new Promise(function(resolve) {
|
|
2550
|
-
return new ReadableStream({
|
|
2551
|
-
start: function start(controller) {
|
|
2552
|
-
return _async_to_generator(function() {
|
|
2961
|
+
})
|
|
2962
|
+
];
|
|
2963
|
+
case 1:
|
|
2964
|
+
runSteps = _state.sent();
|
|
2965
|
+
_iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
2966
|
+
_state.label = 2;
|
|
2967
|
+
case 2:
|
|
2968
|
+
_state.trys.push([
|
|
2969
|
+
2,
|
|
2970
|
+
7,
|
|
2971
|
+
8,
|
|
2972
|
+
9
|
|
2973
|
+
]);
|
|
2974
|
+
_loop = function() {
|
|
2975
|
+
var runStep, completedRunStep;
|
|
2553
2976
|
return _ts_generator(this, function(_state) {
|
|
2554
2977
|
switch(_state.label){
|
|
2555
2978
|
case 0:
|
|
2979
|
+
runStep = _step.value;
|
|
2556
2980
|
return [
|
|
2557
2981
|
4,
|
|
2558
|
-
|
|
2559
|
-
|
|
2560
|
-
|
|
2561
|
-
|
|
2562
|
-
|
|
2563
|
-
|
|
2564
|
-
|
|
2565
|
-
|
|
2566
|
-
|
|
2567
|
-
|
|
2568
|
-
|
|
2982
|
+
prisma2.runStep.update({
|
|
2983
|
+
where: {
|
|
2984
|
+
id: runStep.id
|
|
2985
|
+
},
|
|
2986
|
+
data: {
|
|
2987
|
+
status: "COMPLETED",
|
|
2988
|
+
completedAt: (0, import_dayjs9.default)().unix(),
|
|
2989
|
+
stepDetails: {
|
|
2990
|
+
type: "tool_calls",
|
|
2991
|
+
// @ts-ignore-next-line
|
|
2992
|
+
tool_calls: runStep.stepDetails.tool_calls.map(function(toolCall) {
|
|
2993
|
+
var toolOutput = tool_outputs.find(function(output) {
|
|
2994
|
+
return output.tool_call_id === toolCall.id;
|
|
2995
|
+
}) || tool_outputs[0];
|
|
2996
|
+
if (!toolOutput) {
|
|
2997
|
+
console.dir({
|
|
2998
|
+
toolOutput: toolOutput,
|
|
2999
|
+
runStep: runStep,
|
|
3000
|
+
tool_outputs: tool_outputs,
|
|
3001
|
+
runSteps: runSteps
|
|
3002
|
+
}, {
|
|
3003
|
+
depth: null
|
|
3004
|
+
});
|
|
3005
|
+
throw new Error("Tool output not found");
|
|
3006
|
+
}
|
|
3007
|
+
return {
|
|
3008
|
+
id: toolCall.id,
|
|
3009
|
+
type: toolCall.type,
|
|
3010
|
+
function: _object_spread_props(_object_spread({}, toolCall.function), {
|
|
3011
|
+
output: toolOutput.output
|
|
3012
|
+
})
|
|
3013
|
+
};
|
|
3014
|
+
})
|
|
3015
|
+
}
|
|
3016
|
+
}
|
|
2569
3017
|
})
|
|
2570
3018
|
];
|
|
2571
3019
|
case 1:
|
|
2572
|
-
_state.sent();
|
|
2573
|
-
|
|
2574
|
-
|
|
3020
|
+
completedRunStep = _state.sent();
|
|
3021
|
+
onThreadRunStepCompleted({
|
|
3022
|
+
runStep: completedRunStep
|
|
3023
|
+
});
|
|
2575
3024
|
return [
|
|
2576
3025
|
2
|
|
2577
3026
|
];
|
|
2578
3027
|
}
|
|
2579
3028
|
});
|
|
2580
|
-
}
|
|
2581
|
-
|
|
2582
|
-
|
|
2583
|
-
|
|
2584
|
-
|
|
2585
|
-
|
|
2586
|
-
|
|
2587
|
-
|
|
2588
|
-
|
|
2589
|
-
|
|
2590
|
-
|
|
2591
|
-
|
|
3029
|
+
};
|
|
3030
|
+
_iterator = runSteps[Symbol.iterator]();
|
|
3031
|
+
_state.label = 3;
|
|
3032
|
+
case 3:
|
|
3033
|
+
if (!!(_iteratorNormalCompletion = (_step = _iterator.next()).done)) return [
|
|
3034
|
+
3,
|
|
3035
|
+
6
|
|
3036
|
+
];
|
|
3037
|
+
return [
|
|
3038
|
+
5,
|
|
3039
|
+
_ts_values(_loop())
|
|
3040
|
+
];
|
|
3041
|
+
case 4:
|
|
3042
|
+
_state.sent();
|
|
3043
|
+
_state.label = 5;
|
|
3044
|
+
case 5:
|
|
3045
|
+
_iteratorNormalCompletion = true;
|
|
3046
|
+
return [
|
|
3047
|
+
3,
|
|
3048
|
+
3
|
|
3049
|
+
];
|
|
3050
|
+
case 6:
|
|
3051
|
+
return [
|
|
3052
|
+
3,
|
|
3053
|
+
9
|
|
3054
|
+
];
|
|
3055
|
+
case 7:
|
|
3056
|
+
err = _state.sent();
|
|
3057
|
+
_didIteratorError = true;
|
|
3058
|
+
_iteratorError = err;
|
|
3059
|
+
return [
|
|
3060
|
+
3,
|
|
3061
|
+
9
|
|
3062
|
+
];
|
|
3063
|
+
case 8:
|
|
3064
|
+
try {
|
|
3065
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
3066
|
+
_iterator.return();
|
|
3067
|
+
}
|
|
3068
|
+
} finally{
|
|
3069
|
+
if (_didIteratorError) {
|
|
3070
|
+
throw _iteratorError;
|
|
3071
|
+
}
|
|
3072
|
+
}
|
|
3073
|
+
return [
|
|
3074
|
+
7
|
|
3075
|
+
];
|
|
3076
|
+
case 9:
|
|
3077
|
+
return [
|
|
3078
|
+
2,
|
|
3079
|
+
prisma2.run.update({
|
|
3080
|
+
where: {
|
|
3081
|
+
id: runId
|
|
3082
|
+
},
|
|
3083
|
+
data: {
|
|
3084
|
+
status: "QUEUED"
|
|
3085
|
+
}
|
|
3086
|
+
})
|
|
3087
|
+
];
|
|
3088
|
+
}
|
|
3089
|
+
});
|
|
3090
|
+
});
|
|
3091
|
+
return function(prisma2) {
|
|
3092
|
+
return _ref.apply(this, arguments);
|
|
3093
|
+
};
|
|
3094
|
+
}())
|
|
3095
|
+
];
|
|
2592
3096
|
});
|
|
2593
3097
|
});
|
|
2594
|
-
|
|
2595
|
-
|
|
2596
|
-
|
|
2597
|
-
|
|
3098
|
+
return function updateRun(_) {
|
|
3099
|
+
return _ref.apply(this, arguments);
|
|
3100
|
+
};
|
|
3101
|
+
}();
|
|
3102
|
+
// src/adapters/storage/prismaStorageAdapter/threads/runs/submitToolOutputs/post/index.ts
|
|
3103
|
+
var post6 = function(param) {
|
|
2598
3104
|
var prisma = param.prisma, runAdapter = param.runAdapter;
|
|
2599
3105
|
return function() {
|
|
2600
|
-
|
|
2601
|
-
|
|
2602
|
-
|
|
2603
|
-
|
|
2604
|
-
|
|
2605
|
-
|
|
2606
|
-
|
|
2607
|
-
|
|
2608
|
-
|
|
2609
|
-
|
|
2610
|
-
|
|
2611
|
-
|
|
2612
|
-
|
|
2613
|
-
|
|
2614
|
-
|
|
2615
|
-
|
|
2616
|
-
|
|
3106
|
+
var _ref = _async_to_generator(function(urlString, options) {
|
|
3107
|
+
var url, _url_pathname_match, threadId, runId, body, tool_outputs, stream, readableStream, run2;
|
|
3108
|
+
return _ts_generator(this, function(_state) {
|
|
3109
|
+
switch(_state.label){
|
|
3110
|
+
case 0:
|
|
3111
|
+
url = new URL(urlString);
|
|
3112
|
+
_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];
|
|
3113
|
+
body = JSON.parse(options.body);
|
|
3114
|
+
tool_outputs = body.tool_outputs, stream = body.stream;
|
|
3115
|
+
if (!stream) return [
|
|
3116
|
+
3,
|
|
3117
|
+
1
|
|
3118
|
+
];
|
|
3119
|
+
readableStream = new ReadableStream({
|
|
3120
|
+
start: function start(controller) {
|
|
3121
|
+
return _async_to_generator(function() {
|
|
3122
|
+
var run2;
|
|
3123
|
+
return _ts_generator(this, function(_state) {
|
|
3124
|
+
switch(_state.label){
|
|
3125
|
+
case 0:
|
|
3126
|
+
return [
|
|
3127
|
+
4,
|
|
3128
|
+
updateRun({
|
|
3129
|
+
prisma: prisma,
|
|
3130
|
+
runId: runId,
|
|
3131
|
+
threadId: threadId,
|
|
3132
|
+
tool_outputs: tool_outputs,
|
|
3133
|
+
onThreadRunStepCompleted: function() {
|
|
3134
|
+
var _ref = _async_to_generator(function(param) {
|
|
3135
|
+
var runStep;
|
|
3136
|
+
return _ts_generator(this, function(_state) {
|
|
3137
|
+
runStep = param.runStep;
|
|
3138
|
+
controller.enqueue("data: ".concat(JSON.stringify({
|
|
3139
|
+
event: "thread.run.step.completed",
|
|
3140
|
+
data: serializeRunStep({
|
|
3141
|
+
runStep: runStep
|
|
3142
|
+
})
|
|
3143
|
+
}), "\n\n"));
|
|
3144
|
+
return [
|
|
3145
|
+
2
|
|
3146
|
+
];
|
|
3147
|
+
});
|
|
3148
|
+
});
|
|
3149
|
+
return function(_) {
|
|
3150
|
+
return _ref.apply(this, arguments);
|
|
3151
|
+
};
|
|
3152
|
+
}()
|
|
3153
|
+
})
|
|
3154
|
+
];
|
|
3155
|
+
case 1:
|
|
3156
|
+
run2 = _state.sent();
|
|
3157
|
+
return [
|
|
3158
|
+
4,
|
|
3159
|
+
runAdapter({
|
|
3160
|
+
run: serializeRun({
|
|
3161
|
+
run: run2
|
|
3162
|
+
}),
|
|
3163
|
+
onEvent: onEvent({
|
|
3164
|
+
controller: _object_spread_props(_object_spread({}, controller), {
|
|
3165
|
+
enqueue: function(data) {
|
|
3166
|
+
controller.enqueue("data: ".concat(JSON.stringify(data), "\n\n"));
|
|
3167
|
+
}
|
|
3168
|
+
}),
|
|
3169
|
+
prisma: prisma
|
|
3170
|
+
}),
|
|
3171
|
+
getMessages: getMessages({
|
|
3172
|
+
prisma: prisma,
|
|
3173
|
+
run: run2
|
|
3174
|
+
})
|
|
3175
|
+
})
|
|
3176
|
+
];
|
|
3177
|
+
case 2:
|
|
3178
|
+
_state.sent();
|
|
3179
|
+
controller.close();
|
|
3180
|
+
return [
|
|
3181
|
+
2
|
|
3182
|
+
];
|
|
3183
|
+
}
|
|
3184
|
+
});
|
|
3185
|
+
})();
|
|
3186
|
+
}
|
|
3187
|
+
});
|
|
3188
|
+
return [
|
|
3189
|
+
2,
|
|
3190
|
+
new Response(readableStream, {
|
|
3191
|
+
headers: {
|
|
3192
|
+
"Content-Type": "text/event-stream"
|
|
3193
|
+
}
|
|
3194
|
+
})
|
|
3195
|
+
];
|
|
3196
|
+
case 1:
|
|
3197
|
+
return [
|
|
3198
|
+
4,
|
|
3199
|
+
updateRun({
|
|
3200
|
+
prisma: prisma,
|
|
3201
|
+
runId: runId,
|
|
3202
|
+
threadId: threadId,
|
|
3203
|
+
tool_outputs: tool_outputs
|
|
3204
|
+
})
|
|
3205
|
+
];
|
|
3206
|
+
case 2:
|
|
3207
|
+
run2 = _state.sent();
|
|
3208
|
+
return [
|
|
3209
|
+
4,
|
|
3210
|
+
new Promise(function(resolve) {
|
|
3211
|
+
return new ReadableStream({
|
|
3212
|
+
start: function start(controller) {
|
|
3213
|
+
return _async_to_generator(function() {
|
|
2617
3214
|
return _ts_generator(this, function(_state) {
|
|
2618
3215
|
switch(_state.label){
|
|
2619
3216
|
case 0:
|
|
2620
3217
|
return [
|
|
2621
3218
|
4,
|
|
2622
|
-
|
|
2623
|
-
|
|
2624
|
-
|
|
2625
|
-
|
|
2626
|
-
|
|
2627
|
-
|
|
2628
|
-
|
|
2629
|
-
|
|
2630
|
-
|
|
2631
|
-
|
|
3219
|
+
runAdapter({
|
|
3220
|
+
run: serializeRun({
|
|
3221
|
+
run: run2
|
|
3222
|
+
}),
|
|
3223
|
+
onEvent: onEvent({
|
|
3224
|
+
controller: _object_spread_props(_object_spread({}, controller), {
|
|
3225
|
+
enqueue: function(data) {
|
|
3226
|
+
controller.enqueue("data: ".concat(JSON.stringify(data), "\n\n"));
|
|
3227
|
+
}
|
|
3228
|
+
}),
|
|
3229
|
+
prisma: prisma
|
|
3230
|
+
}),
|
|
3231
|
+
getMessages: getMessages({
|
|
3232
|
+
prisma: prisma,
|
|
3233
|
+
run: run2
|
|
3234
|
+
})
|
|
2632
3235
|
})
|
|
2633
3236
|
];
|
|
2634
3237
|
case 1:
|
|
2635
|
-
runSteps = _state.sent();
|
|
2636
|
-
_iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
2637
|
-
_state.label = 2;
|
|
2638
|
-
case 2:
|
|
2639
|
-
_state.trys.push([
|
|
2640
|
-
2,
|
|
2641
|
-
7,
|
|
2642
|
-
8,
|
|
2643
|
-
9
|
|
2644
|
-
]);
|
|
2645
|
-
_loop = function() {
|
|
2646
|
-
var runStep, completedRunStep;
|
|
2647
|
-
return _ts_generator(this, function(_state) {
|
|
2648
|
-
switch(_state.label){
|
|
2649
|
-
case 0:
|
|
2650
|
-
runStep = _step.value;
|
|
2651
|
-
return [
|
|
2652
|
-
4,
|
|
2653
|
-
prisma2.runStep.update({
|
|
2654
|
-
where: {
|
|
2655
|
-
id: runStep.id
|
|
2656
|
-
},
|
|
2657
|
-
data: {
|
|
2658
|
-
status: "COMPLETED",
|
|
2659
|
-
completedAt: (0, import_dayjs11.default)().unix(),
|
|
2660
|
-
stepDetails: {
|
|
2661
|
-
type: "tool_calls",
|
|
2662
|
-
tool_calls: runStep.stepDetails.tool_calls.map(function(toolCall) {
|
|
2663
|
-
var toolOutput = tool_outputs.find(function(output) {
|
|
2664
|
-
return output.tool_call_id === toolCall.id;
|
|
2665
|
-
}) || tool_outputs[0];
|
|
2666
|
-
if (!toolOutput) {
|
|
2667
|
-
console.dir({
|
|
2668
|
-
toolOutput: toolOutput,
|
|
2669
|
-
runStep: runStep,
|
|
2670
|
-
tool_outputs: tool_outputs,
|
|
2671
|
-
runSteps: runSteps
|
|
2672
|
-
}, {
|
|
2673
|
-
depth: null
|
|
2674
|
-
});
|
|
2675
|
-
throw new Error("Tool output not found");
|
|
2676
|
-
}
|
|
2677
|
-
return {
|
|
2678
|
-
id: toolCall.id,
|
|
2679
|
-
type: toolCall.type,
|
|
2680
|
-
function: _object_spread_props(_object_spread({}, toolCall.function), {
|
|
2681
|
-
output: toolOutput.output
|
|
2682
|
-
})
|
|
2683
|
-
};
|
|
2684
|
-
})
|
|
2685
|
-
}
|
|
2686
|
-
}
|
|
2687
|
-
})
|
|
2688
|
-
];
|
|
2689
|
-
case 1:
|
|
2690
|
-
completedRunStep = _state.sent();
|
|
2691
|
-
controller.enqueue({
|
|
2692
|
-
event: "thread.run.step.completed",
|
|
2693
|
-
data: serializeRunStep({
|
|
2694
|
-
runStep: completedRunStep
|
|
2695
|
-
})
|
|
2696
|
-
});
|
|
2697
|
-
return [
|
|
2698
|
-
2
|
|
2699
|
-
];
|
|
2700
|
-
}
|
|
2701
|
-
});
|
|
2702
|
-
};
|
|
2703
|
-
_iterator = runSteps[Symbol.iterator]();
|
|
2704
|
-
_state.label = 3;
|
|
2705
|
-
case 3:
|
|
2706
|
-
if (!!(_iteratorNormalCompletion = (_step = _iterator.next()).done)) return [
|
|
2707
|
-
3,
|
|
2708
|
-
6
|
|
2709
|
-
];
|
|
2710
|
-
return [
|
|
2711
|
-
5,
|
|
2712
|
-
_ts_values(_loop())
|
|
2713
|
-
];
|
|
2714
|
-
case 4:
|
|
2715
3238
|
_state.sent();
|
|
2716
|
-
|
|
2717
|
-
|
|
2718
|
-
_iteratorNormalCompletion = true;
|
|
2719
|
-
return [
|
|
2720
|
-
3,
|
|
2721
|
-
3
|
|
2722
|
-
];
|
|
2723
|
-
case 6:
|
|
2724
|
-
return [
|
|
2725
|
-
3,
|
|
2726
|
-
9
|
|
2727
|
-
];
|
|
2728
|
-
case 7:
|
|
2729
|
-
err = _state.sent();
|
|
2730
|
-
_didIteratorError = true;
|
|
2731
|
-
_iteratorError = err;
|
|
2732
|
-
return [
|
|
2733
|
-
3,
|
|
2734
|
-
9
|
|
2735
|
-
];
|
|
2736
|
-
case 8:
|
|
2737
|
-
try {
|
|
2738
|
-
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
2739
|
-
_iterator.return();
|
|
2740
|
-
}
|
|
2741
|
-
} finally{
|
|
2742
|
-
if (_didIteratorError) {
|
|
2743
|
-
throw _iteratorError;
|
|
2744
|
-
}
|
|
2745
|
-
}
|
|
3239
|
+
controller.close();
|
|
3240
|
+
resolve(void 0);
|
|
2746
3241
|
return [
|
|
2747
|
-
|
|
2748
|
-
];
|
|
2749
|
-
case 9:
|
|
2750
|
-
return [
|
|
2751
|
-
2,
|
|
2752
|
-
prisma2.run.update({
|
|
2753
|
-
where: {
|
|
2754
|
-
id: runId
|
|
2755
|
-
},
|
|
2756
|
-
data: {
|
|
2757
|
-
status: "QUEUED"
|
|
2758
|
-
}
|
|
2759
|
-
})
|
|
3242
|
+
2
|
|
2760
3243
|
];
|
|
2761
3244
|
}
|
|
2762
3245
|
});
|
|
2763
|
-
});
|
|
2764
|
-
|
|
2765
|
-
return _ref.apply(this, arguments);
|
|
2766
|
-
};
|
|
2767
|
-
}())
|
|
2768
|
-
];
|
|
2769
|
-
case 1:
|
|
2770
|
-
run = _state.sent();
|
|
2771
|
-
return [
|
|
2772
|
-
4,
|
|
2773
|
-
runAdapter({
|
|
2774
|
-
run: serializeRun({
|
|
2775
|
-
run: run
|
|
2776
|
-
}),
|
|
2777
|
-
onEvent: onEvent({
|
|
2778
|
-
controller: controller,
|
|
2779
|
-
prisma: prisma
|
|
2780
|
-
}),
|
|
2781
|
-
// @ts-ignore-next-line
|
|
2782
|
-
getMessages: getMessages({
|
|
2783
|
-
prisma: prisma,
|
|
2784
|
-
run: run
|
|
2785
|
-
})
|
|
2786
|
-
})
|
|
2787
|
-
];
|
|
2788
|
-
case 2:
|
|
2789
|
-
_state.sent();
|
|
2790
|
-
console.log("Stream ended inside cloud storage");
|
|
2791
|
-
controller.close();
|
|
2792
|
-
return [
|
|
2793
|
-
2
|
|
2794
|
-
];
|
|
2795
|
-
}
|
|
2796
|
-
});
|
|
2797
|
-
})();
|
|
2798
|
-
}
|
|
2799
|
-
});
|
|
2800
|
-
};
|
|
2801
|
-
};
|
|
2802
|
-
// src/adapters/storage/prismaStorageAdapter/beta/threads/runs/steps/list.ts
|
|
2803
|
-
var import_radash11 = require("radash");
|
|
2804
|
-
var list3 = function(param) {
|
|
2805
|
-
var prisma = param.prisma;
|
|
2806
|
-
return /*#__PURE__*/ _async_to_generator(function() {
|
|
2807
|
-
var _len, args, _key, _this, threadId, runId, _args_, _ref, // @ts-ignore-next-line
|
|
2808
|
-
limit, // @ts-ignore-next-line
|
|
2809
|
-
order, // @ts-ignore-next-line
|
|
2810
|
-
after, runSteps, _id;
|
|
2811
|
-
var _arguments = arguments;
|
|
2812
|
-
return _ts_generator(this, function(_state) {
|
|
2813
|
-
switch(_state.label){
|
|
2814
|
-
case 0:
|
|
2815
|
-
for(_len = _arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
|
|
2816
|
-
args[_key] = _arguments[_key];
|
|
2817
|
-
}
|
|
2818
|
-
threadId = args[0];
|
|
2819
|
-
runId = args[1];
|
|
2820
|
-
_ref = (0, import_radash11.assign)({
|
|
2821
|
-
// @ts-ignore-next-line
|
|
2822
|
-
limit: 20,
|
|
2823
|
-
order: "desc",
|
|
2824
|
-
after: null
|
|
2825
|
-
}, (_args_ = args[2]) !== null && _args_ !== void 0 ? _args_ : {}), limit = _ref.limit, order = _ref.order, after = _ref.after;
|
|
2826
|
-
return [
|
|
2827
|
-
4,
|
|
2828
|
-
prisma.runStep.findMany(_object_spread({
|
|
2829
|
-
where: {
|
|
2830
|
-
threadId: threadId,
|
|
2831
|
-
runId: runId
|
|
2832
|
-
},
|
|
2833
|
-
take: limit,
|
|
2834
|
-
orderBy: {
|
|
2835
|
-
createdAt: order
|
|
2836
|
-
}
|
|
2837
|
-
}, after ? {
|
|
2838
|
-
skip: 1,
|
|
2839
|
-
cursor: {
|
|
2840
|
-
id: after
|
|
2841
|
-
}
|
|
2842
|
-
} : {}))
|
|
2843
|
-
];
|
|
2844
|
-
case 1:
|
|
2845
|
-
runSteps = _state.sent();
|
|
2846
|
-
return [
|
|
2847
|
-
2,
|
|
2848
|
-
{
|
|
2849
|
-
data: runSteps.map(function(runStep) {
|
|
2850
|
-
return serializeRunStep({
|
|
2851
|
-
runStep: runStep
|
|
3246
|
+
})();
|
|
3247
|
+
}
|
|
2852
3248
|
});
|
|
2853
|
-
})
|
|
2854
|
-
|
|
2855
|
-
|
|
2856
|
-
|
|
2857
|
-
|
|
2858
|
-
|
|
2859
|
-
|
|
2860
|
-
|
|
2861
|
-
|
|
2862
|
-
|
|
3249
|
+
})
|
|
3250
|
+
];
|
|
3251
|
+
case 3:
|
|
3252
|
+
_state.sent();
|
|
3253
|
+
return [
|
|
3254
|
+
2,
|
|
3255
|
+
new Response(JSON.stringify(run2), {
|
|
3256
|
+
status: 200,
|
|
3257
|
+
headers: {
|
|
3258
|
+
"Content-Type": "application/json"
|
|
3259
|
+
}
|
|
3260
|
+
})
|
|
3261
|
+
];
|
|
3262
|
+
case 4:
|
|
3263
|
+
return [
|
|
3264
|
+
2
|
|
3265
|
+
];
|
|
3266
|
+
}
|
|
3267
|
+
});
|
|
2863
3268
|
});
|
|
2864
|
-
|
|
2865
|
-
|
|
2866
|
-
|
|
2867
|
-
|
|
2868
|
-
var prisma = param.prisma;
|
|
2869
|
-
return {
|
|
2870
|
-
list: list3({
|
|
2871
|
-
prisma: prisma
|
|
2872
|
-
})
|
|
2873
|
-
};
|
|
2874
|
-
};
|
|
2875
|
-
// src/adapters/storage/prismaStorageAdapter/beta/threads/runs/index.ts
|
|
2876
|
-
var runs = function(param) {
|
|
2877
|
-
var prisma = param.prisma, runAdapter = param.runAdapter;
|
|
2878
|
-
return {
|
|
2879
|
-
list: list2({
|
|
2880
|
-
prisma: prisma
|
|
2881
|
-
}),
|
|
2882
|
-
create: create3({
|
|
2883
|
-
prisma: prisma
|
|
2884
|
-
}),
|
|
2885
|
-
createAndStream: createAndStream({
|
|
2886
|
-
prisma: prisma,
|
|
2887
|
-
runAdapter: runAdapter
|
|
2888
|
-
}),
|
|
2889
|
-
submitToolOutputs: submitToolOutputs({
|
|
2890
|
-
prisma: prisma,
|
|
2891
|
-
runAdapter: runAdapter
|
|
2892
|
-
}),
|
|
2893
|
-
submitToolOutputsStream: submitToolOutputsStream({
|
|
2894
|
-
prisma: prisma,
|
|
2895
|
-
runAdapter: runAdapter
|
|
2896
|
-
}),
|
|
2897
|
-
steps: steps({
|
|
2898
|
-
prisma: prisma
|
|
2899
|
-
})
|
|
2900
|
-
};
|
|
2901
|
-
};
|
|
2902
|
-
// src/adapters/storage/prismaStorageAdapter/beta/threads/index.ts
|
|
2903
|
-
var threads = function(param) {
|
|
2904
|
-
var prisma = param.prisma, runAdapter = param.runAdapter;
|
|
2905
|
-
return {
|
|
2906
|
-
create: create({
|
|
2907
|
-
prisma: prisma
|
|
2908
|
-
}),
|
|
2909
|
-
messages: messages3({
|
|
2910
|
-
prisma: prisma
|
|
2911
|
-
}),
|
|
2912
|
-
runs: runs({
|
|
2913
|
-
prisma: prisma,
|
|
2914
|
-
runAdapter: runAdapter
|
|
2915
|
-
})
|
|
2916
|
-
};
|
|
3269
|
+
return function(urlString, options) {
|
|
3270
|
+
return _ref.apply(this, arguments);
|
|
3271
|
+
};
|
|
3272
|
+
}();
|
|
2917
3273
|
};
|
|
2918
|
-
// src/adapters/storage/prismaStorageAdapter/
|
|
2919
|
-
var
|
|
3274
|
+
// src/adapters/storage/prismaStorageAdapter/threads/runs/submitToolOutputs/index.ts
|
|
3275
|
+
var submitToolOutputs = function(param) {
|
|
2920
3276
|
var prisma = param.prisma, runAdapter = param.runAdapter;
|
|
2921
3277
|
return {
|
|
2922
|
-
|
|
3278
|
+
post: post6({
|
|
2923
3279
|
prisma: prisma,
|
|
3280
|
+
// @ts-ignore-next-line
|
|
2924
3281
|
runAdapter: runAdapter
|
|
2925
3282
|
})
|
|
2926
3283
|
};
|
|
@@ -2931,7 +3288,24 @@ var prismaStorageAdapter = function(param) {
|
|
|
2931
3288
|
return function(param) {
|
|
2932
3289
|
var runAdapter = param.runAdapter;
|
|
2933
3290
|
return {
|
|
2934
|
-
|
|
3291
|
+
"^/v1/threads$": threads({
|
|
3292
|
+
prisma: prisma
|
|
3293
|
+
}),
|
|
3294
|
+
"^/v1/threads/([^/]+)/messages$": messages3({
|
|
3295
|
+
prisma: prisma
|
|
3296
|
+
}),
|
|
3297
|
+
"^/v1/threads/([^/]+)/runs$": runs({
|
|
3298
|
+
prisma: prisma,
|
|
3299
|
+
runAdapter: runAdapter
|
|
3300
|
+
}),
|
|
3301
|
+
"^/v1/threads/([^/]+)/runs/([^/]+)$": run({
|
|
3302
|
+
prisma: prisma,
|
|
3303
|
+
runAdapter: runAdapter
|
|
3304
|
+
}),
|
|
3305
|
+
"^/v1/threads/([^/]+)/runs/([^/]+)/steps$": steps({
|
|
3306
|
+
prisma: prisma
|
|
3307
|
+
}),
|
|
3308
|
+
"^/v1/threads/([^/]+)/runs/([^/]+)/submit_tool_outputs$": submitToolOutputs({
|
|
2935
3309
|
prisma: prisma,
|
|
2936
3310
|
runAdapter: runAdapter
|
|
2937
3311
|
})
|
|
@@ -2943,7 +3317,9 @@ var prismaStorageAdapter = function(param) {
|
|
|
2943
3317
|
anthropicClientAdapter: anthropicClientAdapter,
|
|
2944
3318
|
anthropicRunAdapter: anthropicRunAdapter,
|
|
2945
3319
|
completionsRunAdapter: completionsRunAdapter,
|
|
3320
|
+
groqClientAdapter: groqClientAdapter,
|
|
2946
3321
|
mistralClientAdapter: mistralClientAdapter,
|
|
3322
|
+
openaiClientAdapter: openaiClientAdapter,
|
|
2947
3323
|
perplexityClientAdapter: perplexityClientAdapter,
|
|
2948
3324
|
prismaStorageAdapter: prismaStorageAdapter,
|
|
2949
3325
|
supercompat: supercompat
|