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