@superinterface/react 2.0.1 → 2.0.2
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 +1852 -1776
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +125 -97
- package/dist/index.d.ts +125 -97
- package/dist/index.js +1794 -1710
- package/dist/index.js.map +1 -1
- package/dist/mutationFns.cjs +22 -22
- package/dist/mutationFns.cjs.map +1 -1
- package/dist/mutationFns.d.cts +4 -4
- package/dist/mutationFns.d.ts +4 -4
- package/dist/mutationFns.js +19 -19
- package/dist/mutationFns.js.map +1 -1
- package/dist/queryFns.cjs +50 -50
- package/dist/queryFns.cjs.map +1 -1
- package/dist/queryFns.d.cts +3 -3
- package/dist/queryFns.d.ts +3 -3
- package/dist/queryFns.js +46 -46
- package/dist/queryFns.js.map +1 -1
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.d.cts +6 -6
- package/dist/types/index.d.ts +6 -6
- package/dist/utils.cjs +13 -13
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +4 -4
- package/dist/utils.d.ts +4 -4
- package/dist/utils.js +11 -11
- package/dist/utils.js.map +1 -1
- package/package.json +3 -3
package/dist/index.cjs
CHANGED
|
@@ -362,33 +362,33 @@ __export(src_exports, {
|
|
|
362
362
|
ThreadDialog: function() {
|
|
363
363
|
return ThreadDialog;
|
|
364
364
|
},
|
|
365
|
-
|
|
366
|
-
return
|
|
365
|
+
ThreadDialogContext: function() {
|
|
366
|
+
return ThreadDialogContext;
|
|
367
367
|
},
|
|
368
|
-
|
|
369
|
-
return
|
|
370
|
-
},
|
|
371
|
-
ThreadProvider: function() {
|
|
372
|
-
return SuperinterfaceProvider;
|
|
368
|
+
useCreateMessage: function() {
|
|
369
|
+
return useCreateMessage;
|
|
373
370
|
},
|
|
374
371
|
useCreateRun: function() {
|
|
375
372
|
return useCreateRun;
|
|
376
373
|
},
|
|
377
|
-
useCreateThreadMessage: function() {
|
|
378
|
-
return useCreateThreadMessage;
|
|
379
|
-
},
|
|
380
374
|
useIsRunActive: function() {
|
|
381
375
|
return useIsRunActive;
|
|
382
376
|
},
|
|
377
|
+
useLatestMessage: function() {
|
|
378
|
+
return useLatestMessage;
|
|
379
|
+
},
|
|
383
380
|
useLatestRun: function() {
|
|
384
381
|
return useLatestRun;
|
|
385
382
|
},
|
|
386
|
-
|
|
387
|
-
return
|
|
383
|
+
useLifecycle: function() {
|
|
384
|
+
return useLifecycle;
|
|
388
385
|
},
|
|
389
386
|
useMarkdownContext: function() {
|
|
390
387
|
return useMarkdownContext;
|
|
391
388
|
},
|
|
389
|
+
useMessages: function() {
|
|
390
|
+
return useMessages;
|
|
391
|
+
},
|
|
392
392
|
useRuns: function() {
|
|
393
393
|
return useRuns;
|
|
394
394
|
},
|
|
@@ -397,12 +397,6 @@ __export(src_exports, {
|
|
|
397
397
|
},
|
|
398
398
|
useThreadContext: function() {
|
|
399
399
|
return useSuperinterfaceContext;
|
|
400
|
-
},
|
|
401
|
-
useThreadLifecycles: function() {
|
|
402
|
-
return useThreadLifecycles;
|
|
403
|
-
},
|
|
404
|
-
useThreadMessages: function() {
|
|
405
|
-
return useThreadMessages;
|
|
406
400
|
}
|
|
407
401
|
});
|
|
408
402
|
module.exports = __toCommonJS(src_exports);
|
|
@@ -459,170 +453,10 @@ var SuperinterfaceProvider = function(param) {
|
|
|
459
453
|
children: children
|
|
460
454
|
});
|
|
461
455
|
};
|
|
462
|
-
// src/components/threads/Thread/index.tsx
|
|
463
|
-
var
|
|
464
|
-
// src/
|
|
465
|
-
var import_themes28 = require("@radix-ui/themes");
|
|
466
|
-
// src/hooks/misc/useInfiniteScroll/index.tsx
|
|
467
|
-
var import_react4 = require("react");
|
|
468
|
-
var import_react_intersection_observer = require("react-intersection-observer");
|
|
469
|
-
// src/hooks/misc/useThrottledEffect/index.tsx
|
|
470
|
-
var import_lodash3 = __toESM(require("lodash"), 1);
|
|
456
|
+
// src/components/threads/Thread/Messages/index.tsx
|
|
457
|
+
var import_themes29 = require("@radix-ui/themes");
|
|
458
|
+
// src/hooks/messages/useMessages/index.tsx
|
|
471
459
|
var import_react3 = require("react");
|
|
472
|
-
var useThrottledEffect = function(cb, delay, additionalDeps) {
|
|
473
|
-
var _cbRef;
|
|
474
|
-
var cbRef = (0, import_react3.useRef)(cb);
|
|
475
|
-
var throttledCb = (0, import_react3.useCallback)(import_lodash3.default.throttle(function() {
|
|
476
|
-
for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
|
|
477
|
-
args[_key] = arguments[_key];
|
|
478
|
-
}
|
|
479
|
-
return (_cbRef = cbRef).current.apply(_cbRef, _to_consumable_array(args));
|
|
480
|
-
}, delay, {
|
|
481
|
-
leading: true,
|
|
482
|
-
trailing: true
|
|
483
|
-
}), [
|
|
484
|
-
delay
|
|
485
|
-
]);
|
|
486
|
-
(0, import_react3.useEffect)(function() {
|
|
487
|
-
cbRef.current = cb;
|
|
488
|
-
});
|
|
489
|
-
(0, import_react3.useEffect)(throttledCb, [
|
|
490
|
-
throttledCb
|
|
491
|
-
].concat(_to_consumable_array(additionalDeps)));
|
|
492
|
-
};
|
|
493
|
-
// src/hooks/misc/useInfiniteScroll/index.tsx
|
|
494
|
-
var useInfiniteScroll = function(param) {
|
|
495
|
-
var isFetchingNextPage = param.isFetchingNextPage, hasNextPage = param.hasNextPage, fetchNextPage = param.fetchNextPage;
|
|
496
|
-
var containerRef = (0, import_react4.useRef)(null);
|
|
497
|
-
var _ref = (0, import_react_intersection_observer.useInView)({
|
|
498
|
-
root: containerRef.current,
|
|
499
|
-
rootMargin: "0px",
|
|
500
|
-
threshold: 0.1
|
|
501
|
-
}), loaderRef = _ref.ref, inView = _ref.inView;
|
|
502
|
-
useThrottledEffect(function() {
|
|
503
|
-
if (isFetchingNextPage) return;
|
|
504
|
-
if (!inView) return;
|
|
505
|
-
if (!hasNextPage) return;
|
|
506
|
-
console.log("Fetching next page");
|
|
507
|
-
fetchNextPage();
|
|
508
|
-
}, 500, [
|
|
509
|
-
inView,
|
|
510
|
-
isFetchingNextPage,
|
|
511
|
-
hasNextPage,
|
|
512
|
-
fetchNextPage
|
|
513
|
-
]);
|
|
514
|
-
return {
|
|
515
|
-
containerRef: containerRef,
|
|
516
|
-
loaderRef: loaderRef,
|
|
517
|
-
inView: inView
|
|
518
|
-
};
|
|
519
|
-
};
|
|
520
|
-
// src/components/skeletons/ThreadMessagesSkeleton/index.tsx
|
|
521
|
-
var import_react6 = require("react");
|
|
522
|
-
var import_themes4 = require("@radix-ui/themes");
|
|
523
|
-
// src/components/skeletons/Skeleton/index.tsx
|
|
524
|
-
var import_themes = require("@radix-ui/themes");
|
|
525
|
-
var import_jsx_runtime2 = // @ts-ignore-next-line
|
|
526
|
-
require("react/jsx-runtime");
|
|
527
|
-
var Skeleton = function(_param) {
|
|
528
|
-
var height = _param.height, style = _param.style, rest = _object_without_properties(_param, [
|
|
529
|
-
"height",
|
|
530
|
-
"style"
|
|
531
|
-
]);
|
|
532
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_themes.Flex, _object_spread({
|
|
533
|
-
style: _object_spread({
|
|
534
|
-
animation: "pulse 2s cubic-bezier(.4,0,.6,1) infinite",
|
|
535
|
-
borderRadius: "var(--radius-3)",
|
|
536
|
-
backgroundColor: "var(--gray-5)",
|
|
537
|
-
height: "var(--space-".concat(height, ")")
|
|
538
|
-
}, style)
|
|
539
|
-
}, rest));
|
|
540
|
-
};
|
|
541
|
-
// src/components/threadMessageGroups/ThreadMessagesGroupBase/index.tsx
|
|
542
|
-
var import_react5 = require("react");
|
|
543
|
-
var import_themes2 = require("@radix-ui/themes");
|
|
544
|
-
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
545
|
-
var ThreadMessagesGroupBase = (0, import_react5.forwardRef)(function ThreadMessagesGroupBase2(param, ref) {
|
|
546
|
-
var children = param.children;
|
|
547
|
-
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_themes2.Container, {
|
|
548
|
-
ref: ref,
|
|
549
|
-
size: "2",
|
|
550
|
-
grow: "0",
|
|
551
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_themes2.Flex, {
|
|
552
|
-
shrink: "0",
|
|
553
|
-
gap: "3",
|
|
554
|
-
children: children
|
|
555
|
-
})
|
|
556
|
-
});
|
|
557
|
-
});
|
|
558
|
-
// src/components/threadMessageGroups/ThreadMessagesGroupBase/Name.tsx
|
|
559
|
-
var import_themes3 = require("@radix-ui/themes");
|
|
560
|
-
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
561
|
-
var Name = function(param) {
|
|
562
|
-
var children = param.children;
|
|
563
|
-
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_themes3.Flex, {
|
|
564
|
-
align: "center",
|
|
565
|
-
style: {
|
|
566
|
-
height: "var(--space-5)"
|
|
567
|
-
},
|
|
568
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_themes3.Text, {
|
|
569
|
-
size: "2",
|
|
570
|
-
weight: "bold",
|
|
571
|
-
children: children
|
|
572
|
-
})
|
|
573
|
-
});
|
|
574
|
-
};
|
|
575
|
-
// src/components/skeletons/ThreadMessagesSkeleton/index.tsx
|
|
576
|
-
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
577
|
-
var ThreadMessagesSkeleton = (0, import_react6.forwardRef)(function ThreadMessagesSkeleton2(_props, ref) {
|
|
578
|
-
return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(ThreadMessagesGroupBase, {
|
|
579
|
-
ref: ref,
|
|
580
|
-
children: [
|
|
581
|
-
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_themes4.Avatar, {
|
|
582
|
-
fallback: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_themes4.Flex, {}),
|
|
583
|
-
size: "1",
|
|
584
|
-
style: {
|
|
585
|
-
animation: "pulse 2s cubic-bezier(.4,0,.6,1) infinite"
|
|
586
|
-
}
|
|
587
|
-
}),
|
|
588
|
-
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_themes4.Box, {
|
|
589
|
-
pb: "3",
|
|
590
|
-
children: [
|
|
591
|
-
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Name, {
|
|
592
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Skeleton, {
|
|
593
|
-
height: "1",
|
|
594
|
-
style: {
|
|
595
|
-
width: "128px"
|
|
596
|
-
}
|
|
597
|
-
})
|
|
598
|
-
}),
|
|
599
|
-
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Skeleton, {
|
|
600
|
-
height: "2",
|
|
601
|
-
style: {
|
|
602
|
-
width: "256px"
|
|
603
|
-
}
|
|
604
|
-
}),
|
|
605
|
-
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Skeleton, {
|
|
606
|
-
height: "2",
|
|
607
|
-
style: {
|
|
608
|
-
width: "256px",
|
|
609
|
-
marginTop: "var(--space-2)"
|
|
610
|
-
}
|
|
611
|
-
}),
|
|
612
|
-
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Skeleton, {
|
|
613
|
-
height: "2",
|
|
614
|
-
style: {
|
|
615
|
-
width: "256px",
|
|
616
|
-
marginTop: "var(--space-2)"
|
|
617
|
-
}
|
|
618
|
-
})
|
|
619
|
-
]
|
|
620
|
-
})
|
|
621
|
-
]
|
|
622
|
-
});
|
|
623
|
-
});
|
|
624
|
-
// src/hooks/threadMessages/useThreadMessages/index.tsx
|
|
625
|
-
var import_react7 = require("react");
|
|
626
460
|
var import_react_query2 = require("@tanstack/react-query");
|
|
627
461
|
// src/lib/threads/queryOptions/index.ts
|
|
628
462
|
var import_react_query = require("@tanstack/react-query");
|
|
@@ -644,9 +478,13 @@ var queryOptions = function(param) {
|
|
|
644
478
|
} : {}, variables));
|
|
645
479
|
return [
|
|
646
480
|
2,
|
|
647
|
-
fetch("".concat(superinterfaceContext.baseUrl).concat(path, "?").concat(params), {
|
|
481
|
+
fetch("".concat(superinterfaceContext.baseUrl).concat(path, "?").concat(params), _object_spread({
|
|
648
482
|
credentials: "include"
|
|
649
|
-
}
|
|
483
|
+
}, superinterfaceContext.publicApiKey ? {
|
|
484
|
+
headers: {
|
|
485
|
+
Authorization: "Bearer ".concat(superinterfaceContext.publicApiKey)
|
|
486
|
+
}
|
|
487
|
+
} : {})).then(function() {
|
|
650
488
|
var _ref = _async_to_generator(function(response) {
|
|
651
489
|
var errorResponse, error;
|
|
652
490
|
return _ts_generator(this, function(_state) {
|
|
@@ -703,31 +541,31 @@ var queryOptions = function(param) {
|
|
|
703
541
|
queryKey: queryKey
|
|
704
542
|
}), threadContext.defaultOptions.queries));
|
|
705
543
|
};
|
|
706
|
-
// src/hooks/
|
|
707
|
-
var
|
|
544
|
+
// src/hooks/messages/useMessages/index.tsx
|
|
545
|
+
var messages = function(param) {
|
|
708
546
|
var props = param.props;
|
|
709
547
|
if (!props.data) return [];
|
|
710
548
|
return props.data.pages.reduce(function(acc, page) {
|
|
711
549
|
return acc.concat(page.data);
|
|
712
550
|
}, []);
|
|
713
551
|
};
|
|
714
|
-
var
|
|
552
|
+
var useMessages = function() {
|
|
715
553
|
var queryClient = (0, import_react_query2.useQueryClient)();
|
|
716
554
|
var threadContext = useSuperinterfaceContext();
|
|
717
555
|
var superinterfaceContext = useSuperinterfaceContext();
|
|
718
556
|
var props = (0, import_react_query2.useInfiniteQuery)(queryOptions({
|
|
719
557
|
queryKeyBase: [
|
|
720
|
-
"
|
|
558
|
+
"messages"
|
|
721
559
|
],
|
|
722
|
-
path: "/
|
|
560
|
+
path: "/messages",
|
|
723
561
|
queryClient: queryClient,
|
|
724
562
|
threadContext: threadContext,
|
|
725
563
|
superinterfaceContext: superinterfaceContext
|
|
726
564
|
}));
|
|
727
|
-
return (0,
|
|
565
|
+
return (0, import_react3.useMemo)(function() {
|
|
728
566
|
return _object_spread_props(_object_spread({}, props), {
|
|
729
567
|
// @ts-ignore-next-line
|
|
730
|
-
|
|
568
|
+
messages: messages({
|
|
731
569
|
props: props
|
|
732
570
|
})
|
|
733
571
|
});
|
|
@@ -735,1354 +573,1562 @@ var useThreadMessages = function() {
|
|
|
735
573
|
props
|
|
736
574
|
]);
|
|
737
575
|
};
|
|
738
|
-
// src/hooks/
|
|
739
|
-
var
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
var
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
},
|
|
750
|
-
|
|
576
|
+
// src/hooks/messageGroups/useMessageGroups/index.ts
|
|
577
|
+
var import_react4 = require("react");
|
|
578
|
+
// src/hooks/messageGroups/useMessageGroups/lib/messageGroups/index.ts
|
|
579
|
+
var import_lodash3 = __toESM(require("lodash"), 1);
|
|
580
|
+
var import_radash2 = require("radash");
|
|
581
|
+
// src/lib/messages/order.ts
|
|
582
|
+
var import_radash = require("radash");
|
|
583
|
+
var order = function(param) {
|
|
584
|
+
var messages2 = param.messages;
|
|
585
|
+
return (0, import_radash.sort)(messages2, function(m) {
|
|
586
|
+
return m.created_at;
|
|
587
|
+
}, true);
|
|
588
|
+
};
|
|
589
|
+
// src/hooks/messageGroups/useMessageGroups/lib/messageGroups/newGroup/newGroupItem.ts
|
|
590
|
+
var newGroupItem = function(param) {
|
|
591
|
+
var message = param.message;
|
|
592
|
+
return {
|
|
593
|
+
id: message.id,
|
|
594
|
+
role: message.role,
|
|
595
|
+
createdAt: message.created_at,
|
|
596
|
+
messages: [
|
|
597
|
+
message
|
|
598
|
+
]
|
|
599
|
+
};
|
|
600
|
+
};
|
|
601
|
+
// src/hooks/messageGroups/useMessageGroups/lib/messageGroups/newGroup/index.ts
|
|
602
|
+
var newGroup = function(param) {
|
|
603
|
+
var groups = param.groups, message = param.message;
|
|
604
|
+
return _to_consumable_array(groups).concat([
|
|
605
|
+
newGroupItem({
|
|
606
|
+
message: message
|
|
607
|
+
})
|
|
751
608
|
]);
|
|
752
609
|
};
|
|
753
|
-
// src/hooks/
|
|
754
|
-
var
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
var
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
610
|
+
// src/hooks/messageGroups/useMessageGroups/lib/messageGroups/index.ts
|
|
611
|
+
var messageGroups = function(param) {
|
|
612
|
+
var messages2 = param.messages;
|
|
613
|
+
return import_lodash3.default.reduce(order({
|
|
614
|
+
messages: messages2
|
|
615
|
+
}), function(groups, message) {
|
|
616
|
+
var group = (0, import_radash2.last)(groups);
|
|
617
|
+
if (!group) return newGroup({
|
|
618
|
+
groups: groups,
|
|
619
|
+
message: message
|
|
620
|
+
});
|
|
621
|
+
if (group.role !== message.role) {
|
|
622
|
+
return newGroup({
|
|
623
|
+
groups: groups,
|
|
624
|
+
message: message
|
|
625
|
+
});
|
|
626
|
+
}
|
|
627
|
+
return _to_consumable_array(import_lodash3.default.dropRight(groups)).concat([
|
|
628
|
+
_object_spread_props(_object_spread({}, group), {
|
|
629
|
+
messages: _to_consumable_array(group.messages).concat([
|
|
630
|
+
message
|
|
631
|
+
])
|
|
632
|
+
})
|
|
633
|
+
]);
|
|
764
634
|
}, []);
|
|
765
635
|
};
|
|
766
|
-
// src/hooks/
|
|
767
|
-
var
|
|
768
|
-
var
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
"runs"
|
|
774
|
-
],
|
|
775
|
-
path: "/runs",
|
|
776
|
-
queryClient: queryClient,
|
|
777
|
-
threadContext: threadContext,
|
|
778
|
-
superinterfaceContext: superinterfaceContext
|
|
779
|
-
}));
|
|
780
|
-
return (0, import_react9.useMemo)(function() {
|
|
781
|
-
return _object_spread_props(_object_spread({}, props), {
|
|
782
|
-
// @ts-ignore-next-line
|
|
783
|
-
runs: getRuns({
|
|
784
|
-
data: props.data
|
|
636
|
+
// src/hooks/messageGroups/useMessageGroups/index.ts
|
|
637
|
+
var useMessageGroups = function(param) {
|
|
638
|
+
var messages2 = param.messages;
|
|
639
|
+
return (0, import_react4.useMemo)(function() {
|
|
640
|
+
return {
|
|
641
|
+
messageGroups: messageGroups({
|
|
642
|
+
messages: messages2
|
|
785
643
|
})
|
|
786
|
-
}
|
|
644
|
+
};
|
|
787
645
|
}, [
|
|
788
|
-
|
|
646
|
+
messages2
|
|
789
647
|
]);
|
|
790
648
|
};
|
|
791
|
-
// src/
|
|
792
|
-
var
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
649
|
+
// src/components/skeletons/MessagesSkeleton/index.tsx
|
|
650
|
+
var import_react6 = require("react");
|
|
651
|
+
var import_themes4 = require("@radix-ui/themes");
|
|
652
|
+
// src/components/skeletons/Skeleton/index.tsx
|
|
653
|
+
var import_themes = require("@radix-ui/themes");
|
|
654
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
655
|
+
var Skeleton = function(_param) {
|
|
656
|
+
var height = _param.height, style = _param.style, rest = _object_without_properties(_param, [
|
|
657
|
+
"height",
|
|
658
|
+
"style"
|
|
800
659
|
]);
|
|
660
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_themes.Flex, _object_spread({
|
|
661
|
+
height: "var(--space-".concat(height, ")"),
|
|
662
|
+
style: _object_spread({
|
|
663
|
+
animation: "pulse 2s cubic-bezier(.4,0,.6,1) infinite",
|
|
664
|
+
borderRadius: "var(--radius-3)",
|
|
665
|
+
backgroundColor: "var(--gray-5)"
|
|
666
|
+
}, style)
|
|
667
|
+
}, rest));
|
|
801
668
|
};
|
|
802
|
-
// src/
|
|
803
|
-
var
|
|
804
|
-
var
|
|
805
|
-
|
|
806
|
-
var
|
|
807
|
-
var
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
4
|
|
834
|
-
]);
|
|
835
|
-
return [
|
|
836
|
-
4,
|
|
837
|
-
response.json()
|
|
838
|
-
];
|
|
839
|
-
case 2:
|
|
840
|
-
errorResponse = _state.sent();
|
|
841
|
-
throw new Error(errorResponse.error);
|
|
842
|
-
case 3:
|
|
843
|
-
error = _state.sent();
|
|
844
|
-
throw new Error("Failed to fetch");
|
|
845
|
-
case 4:
|
|
846
|
-
return [
|
|
847
|
-
2,
|
|
848
|
-
response.json()
|
|
849
|
-
];
|
|
850
|
-
}
|
|
851
|
-
});
|
|
852
|
-
});
|
|
853
|
-
return function(response) {
|
|
854
|
-
return _ref.apply(this, arguments);
|
|
855
|
-
};
|
|
856
|
-
}());
|
|
857
|
-
}
|
|
858
|
-
}, queryClient.getMutationDefaults(mutationKey)), {
|
|
859
|
-
mutationKey: mutationKey
|
|
860
|
-
}), threadContext.defaultOptions.mutations);
|
|
669
|
+
// src/components/messageGroups/MessageGroupBase/index.tsx
|
|
670
|
+
var import_react5 = require("react");
|
|
671
|
+
var import_themes2 = require("@radix-ui/themes");
|
|
672
|
+
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
673
|
+
var MessageGroupBase = (0, import_react5.forwardRef)(function MessageGroupBase2(param, ref) {
|
|
674
|
+
var children = param.children;
|
|
675
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_themes2.Container, {
|
|
676
|
+
ref: ref,
|
|
677
|
+
size: "2",
|
|
678
|
+
flexGrow: "0",
|
|
679
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_themes2.Flex, {
|
|
680
|
+
flexShrink: "0",
|
|
681
|
+
gap: "3",
|
|
682
|
+
children: children
|
|
683
|
+
})
|
|
684
|
+
});
|
|
685
|
+
});
|
|
686
|
+
// src/components/messageGroups/MessageGroupBase/Name.tsx
|
|
687
|
+
var import_themes3 = require("@radix-ui/themes");
|
|
688
|
+
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
689
|
+
var Name = function(param) {
|
|
690
|
+
var children = param.children;
|
|
691
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_themes3.Flex, {
|
|
692
|
+
align: "center",
|
|
693
|
+
height: "var(--space-5)",
|
|
694
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_themes3.Text, {
|
|
695
|
+
size: "2",
|
|
696
|
+
weight: "bold",
|
|
697
|
+
children: children
|
|
698
|
+
})
|
|
699
|
+
});
|
|
861
700
|
};
|
|
862
|
-
// src/
|
|
863
|
-
var
|
|
864
|
-
|
|
865
|
-
return
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
701
|
+
// src/components/skeletons/MessagesSkeleton/index.tsx
|
|
702
|
+
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
703
|
+
var MessagesSkeleton = (0, import_react6.forwardRef)(function MessagesSkeleton2(_props, ref) {
|
|
704
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(MessageGroupBase, {
|
|
705
|
+
ref: ref,
|
|
706
|
+
children: [
|
|
707
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_themes4.Avatar, {
|
|
708
|
+
fallback: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_themes4.Flex, {}),
|
|
709
|
+
size: "1",
|
|
710
|
+
style: {
|
|
711
|
+
animation: "pulse 2s cubic-bezier(.4,0,.6,1) infinite"
|
|
712
|
+
}
|
|
713
|
+
}),
|
|
714
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_themes4.Box, {
|
|
715
|
+
pb: "3",
|
|
716
|
+
children: [
|
|
717
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Name, {
|
|
718
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Skeleton, {
|
|
719
|
+
height: "1",
|
|
720
|
+
style: {
|
|
721
|
+
width: "128px"
|
|
722
|
+
}
|
|
723
|
+
})
|
|
724
|
+
}),
|
|
725
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Skeleton, {
|
|
726
|
+
height: "2",
|
|
727
|
+
style: {
|
|
728
|
+
width: "256px"
|
|
729
|
+
}
|
|
730
|
+
}),
|
|
731
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Skeleton, {
|
|
732
|
+
height: "2",
|
|
733
|
+
style: {
|
|
734
|
+
width: "256px",
|
|
735
|
+
marginTop: "var(--space-2)"
|
|
736
|
+
}
|
|
737
|
+
}),
|
|
738
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Skeleton, {
|
|
739
|
+
height: "2",
|
|
740
|
+
style: {
|
|
741
|
+
width: "256px",
|
|
742
|
+
marginTop: "var(--space-2)"
|
|
887
743
|
}
|
|
888
|
-
var _prevData_pages = _to_array(prevData.pages), latestPage = _prevData_pages[0], pagesRest = _prevData_pages.slice(1);
|
|
889
|
-
return _object_spread_props(_object_spread({}, prevData), {
|
|
890
|
-
pages: [
|
|
891
|
-
_object_spread_props(_object_spread({}, latestPage), {
|
|
892
|
-
data: [
|
|
893
|
-
data3.run
|
|
894
|
-
].concat(_to_consumable_array(latestPage.data))
|
|
895
|
-
})
|
|
896
|
-
].concat(_to_consumable_array(pagesRest))
|
|
897
|
-
});
|
|
898
744
|
})
|
|
899
|
-
]
|
|
900
|
-
})
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
];
|
|
935
|
-
case 2:
|
|
936
|
-
_state.sent();
|
|
937
|
-
return [
|
|
938
|
-
2
|
|
939
|
-
];
|
|
940
|
-
}
|
|
941
|
-
});
|
|
942
|
-
});
|
|
943
|
-
return function(_data, _error, variables) {
|
|
944
|
-
return _ref.apply(this, arguments);
|
|
945
|
-
};
|
|
946
|
-
}();
|
|
947
|
-
};
|
|
948
|
-
// src/lib/optimistic/optimisticId.ts
|
|
949
|
-
var import_radash = require("radash");
|
|
950
|
-
var optimisticId = function() {
|
|
951
|
-
return "-".concat((0, import_radash.uid)(24));
|
|
745
|
+
]
|
|
746
|
+
})
|
|
747
|
+
]
|
|
748
|
+
});
|
|
749
|
+
});
|
|
750
|
+
// src/components/threads/Thread/Messages/Content/MessageGroup/index.tsx
|
|
751
|
+
var import_react16 = require("react");
|
|
752
|
+
var import_themes24 = require("@radix-ui/themes");
|
|
753
|
+
var import_react_icons4 = require("@radix-ui/react-icons");
|
|
754
|
+
// src/components/messageGroups/MessageGroupBase/AssistantAvatar.tsx
|
|
755
|
+
var import_react8 = require("react");
|
|
756
|
+
var import_themes6 = require("@radix-ui/themes");
|
|
757
|
+
// src/contexts/assistants/AssistantAvatarContext/index.tsx
|
|
758
|
+
var import_react7 = require("react");
|
|
759
|
+
var import_themes5 = require("@radix-ui/themes");
|
|
760
|
+
var import_react_icons = require("@radix-ui/react-icons");
|
|
761
|
+
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
762
|
+
var AssistantAvatarContext = (0, import_react7.createContext)(/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_themes5.Avatar, {
|
|
763
|
+
fallback: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_react_icons.LightningBoltIcon, {}),
|
|
764
|
+
size: "1"
|
|
765
|
+
}));
|
|
766
|
+
// src/components/messageGroups/MessageGroupBase/AssistantAvatar.tsx
|
|
767
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
768
|
+
var AssistantAvatar = function() {
|
|
769
|
+
var AssistantAvatarContextValue = (0, import_react8.useContext)(AssistantAvatarContext);
|
|
770
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_themes6.Flex, {
|
|
771
|
+
flexShrink: "0",
|
|
772
|
+
height: "24px",
|
|
773
|
+
width: "24px",
|
|
774
|
+
style: {
|
|
775
|
+
borderRadius: "var(--radius-3)",
|
|
776
|
+
overflow: "hidden"
|
|
777
|
+
},
|
|
778
|
+
children: AssistantAvatarContextValue
|
|
779
|
+
});
|
|
952
780
|
};
|
|
953
|
-
// src/
|
|
954
|
-
var
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
pages: [
|
|
992
|
-
_object_spread_props(_object_spread({}, latestPage), {
|
|
993
|
-
data: [
|
|
994
|
-
run
|
|
995
|
-
].concat(_to_consumable_array(latestPage.data))
|
|
781
|
+
// src/contexts/assistants/AssistantNameContext/index.tsx
|
|
782
|
+
var import_react9 = require("react");
|
|
783
|
+
var AssistantNameContext = (0, import_react9.createContext)("Assistant");
|
|
784
|
+
// src/components/threads/Thread/Messages/Content/MessageGroup/Content/index.tsx
|
|
785
|
+
var import_themes23 = require("@radix-ui/themes");
|
|
786
|
+
// src/components/threads/Thread/Message/index.tsx
|
|
787
|
+
var import_react15 = require("react");
|
|
788
|
+
var import_themes22 = require("@radix-ui/themes");
|
|
789
|
+
// src/components/runSteps/RunSteps/index.tsx
|
|
790
|
+
var import_themes15 = require("@radix-ui/themes");
|
|
791
|
+
// src/components/runSteps/RunStep/ToolCalls/index.tsx
|
|
792
|
+
var import_themes14 = require("@radix-ui/themes");
|
|
793
|
+
// src/components/runSteps/RunStep/ToolCalls/ToolCall/index.tsx
|
|
794
|
+
var import_themes12 = require("@radix-ui/themes");
|
|
795
|
+
// src/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/index.tsx
|
|
796
|
+
var import_react12 = require("react");
|
|
797
|
+
// src/contexts/functions/FunctionComponentsContext/index.tsx
|
|
798
|
+
var import_react10 = require("react");
|
|
799
|
+
var FunctionComponentsContext = (0, import_react10.createContext)({});
|
|
800
|
+
// src/components/functions/FunctionBase/index.tsx
|
|
801
|
+
var import_themes10 = require("@radix-ui/themes");
|
|
802
|
+
// src/components/toolCalls/ToolCallBase/index.tsx
|
|
803
|
+
var import_themes7 = require("@radix-ui/themes");
|
|
804
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
805
|
+
var ToolCallBase = function(param) {
|
|
806
|
+
var children = param.children;
|
|
807
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_themes7.Flex, {
|
|
808
|
+
py: "1",
|
|
809
|
+
ml: "-2",
|
|
810
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_themes7.PopoverTrigger, {
|
|
811
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_themes7.Button, {
|
|
812
|
+
size: "1",
|
|
813
|
+
color: "gold",
|
|
814
|
+
variant: "outline",
|
|
815
|
+
style: {
|
|
816
|
+
boxShadow: "none"
|
|
817
|
+
},
|
|
818
|
+
children: children
|
|
996
819
|
})
|
|
997
|
-
|
|
820
|
+
})
|
|
998
821
|
});
|
|
999
822
|
};
|
|
1000
|
-
// src/
|
|
1001
|
-
var
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
case 0:
|
|
1009
|
-
queryKey = [
|
|
1010
|
-
"runs",
|
|
1011
|
-
variables
|
|
1012
|
-
];
|
|
1013
|
-
return [
|
|
1014
|
-
4,
|
|
1015
|
-
queryClient.cancelQueries({
|
|
1016
|
-
queryKey: queryKey
|
|
1017
|
-
})
|
|
1018
|
-
];
|
|
1019
|
-
case 1:
|
|
1020
|
-
_state.sent();
|
|
1021
|
-
prevRuns = queryClient.getQueryData(queryKey);
|
|
1022
|
-
queryClient.setQueryData(queryKey, data);
|
|
1023
|
-
return [
|
|
1024
|
-
2,
|
|
1025
|
-
{
|
|
1026
|
-
prevRuns: prevRuns,
|
|
1027
|
-
variables: variables
|
|
1028
|
-
}
|
|
1029
|
-
];
|
|
1030
|
-
}
|
|
1031
|
-
});
|
|
1032
|
-
});
|
|
1033
|
-
return function(variables) {
|
|
1034
|
-
return _ref.apply(this, arguments);
|
|
1035
|
-
};
|
|
1036
|
-
}();
|
|
1037
|
-
};
|
|
1038
|
-
// src/hooks/runs/useCreateRun/index.ts
|
|
1039
|
-
var useCreateRun = function() {
|
|
1040
|
-
var queryClient = (0, import_react_query4.useQueryClient)();
|
|
1041
|
-
var superinterfaceContext = useSuperinterfaceContext();
|
|
1042
|
-
var threadContext = useSuperinterfaceContext();
|
|
1043
|
-
var props = (0, import_react_query4.useMutation)(_object_spread({
|
|
1044
|
-
onSuccess: onSuccess({
|
|
1045
|
-
queryClient: queryClient
|
|
1046
|
-
}),
|
|
1047
|
-
onSettled: onSettled({
|
|
1048
|
-
queryClient: queryClient
|
|
1049
|
-
}),
|
|
1050
|
-
onMutate: onMutate({
|
|
1051
|
-
queryClient: queryClient
|
|
1052
|
-
})
|
|
1053
|
-
}, mutationOptions({
|
|
1054
|
-
mutationKeyBase: [
|
|
1055
|
-
"createRun"
|
|
1056
|
-
],
|
|
1057
|
-
path: "/runs",
|
|
1058
|
-
queryClient: queryClient,
|
|
1059
|
-
threadContext: threadContext,
|
|
1060
|
-
superinterfaceContext: superinterfaceContext
|
|
1061
|
-
})));
|
|
1062
|
-
return _object_spread_props(_object_spread({}, props), {
|
|
1063
|
-
createRun: (0, import_radash2.partob)(props.mutate, threadContext.variables)
|
|
823
|
+
// src/components/toolCalls/ToolCallBase/ToolCallTitle.tsx
|
|
824
|
+
var import_themes8 = require("@radix-ui/themes");
|
|
825
|
+
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
826
|
+
var ToolCallTitle = function(param) {
|
|
827
|
+
var children = param.children;
|
|
828
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_themes8.Text, {
|
|
829
|
+
weight: "regular",
|
|
830
|
+
children: children
|
|
1064
831
|
});
|
|
1065
832
|
};
|
|
1066
|
-
// src/
|
|
1067
|
-
var
|
|
1068
|
-
var
|
|
1069
|
-
|
|
1070
|
-
|
|
833
|
+
// src/components/functions/FunctionBase/Icon.tsx
|
|
834
|
+
var import_react_icons2 = require("@radix-ui/react-icons");
|
|
835
|
+
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
836
|
+
var Icon = function(param) {
|
|
837
|
+
var runStep = param.runStep;
|
|
838
|
+
if (runStep.completed_at) {
|
|
839
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_icons2.CheckCircledIcon, {});
|
|
840
|
+
} else if (runStep.cancelled_at || runStep.failed_at || runStep.status === "expired") {
|
|
841
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_icons2.CircleBackslashIcon, {});
|
|
842
|
+
} else {
|
|
843
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_icons2.CircleIcon, {});
|
|
844
|
+
}
|
|
1071
845
|
};
|
|
1072
|
-
// src/
|
|
1073
|
-
var
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
var
|
|
1078
|
-
var
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
if (latestThreadMessageProps.latestThreadMessage.role !== "user") return;
|
|
1085
|
-
if (isOptimistic({
|
|
1086
|
-
id: latestThreadMessageProps.latestThreadMessage.id
|
|
1087
|
-
})) return;
|
|
1088
|
-
if (latestRunProps.latestRun && latestRunProps.latestRun.created_at > latestThreadMessageProps.latestThreadMessage.created_at) {
|
|
1089
|
-
return;
|
|
846
|
+
// src/components/functions/FunctionBase/Content.tsx
|
|
847
|
+
var import_react11 = require("react");
|
|
848
|
+
var import_themes9 = require("@radix-ui/themes");
|
|
849
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
850
|
+
var Content = function(param) {
|
|
851
|
+
var fn = param.fn;
|
|
852
|
+
var args = (0, import_react11.useMemo)(function() {
|
|
853
|
+
var result = null;
|
|
854
|
+
try {
|
|
855
|
+
result = JSON.parse(fn.arguments);
|
|
856
|
+
} catch (error) {
|
|
857
|
+
console.error(error);
|
|
1090
858
|
}
|
|
1091
|
-
|
|
1092
|
-
mutationKey: [
|
|
1093
|
-
"createRun",
|
|
1094
|
-
threadContext.variables
|
|
1095
|
-
]
|
|
1096
|
-
});
|
|
1097
|
-
if (isMutating) return;
|
|
1098
|
-
createRunProps.createRun();
|
|
859
|
+
return result;
|
|
1099
860
|
}, [
|
|
1100
|
-
|
|
1101
|
-
queryClient,
|
|
1102
|
-
createRunProps,
|
|
1103
|
-
latestRunProps,
|
|
1104
|
-
latestThreadMessageProps
|
|
861
|
+
fn
|
|
1105
862
|
]);
|
|
1106
|
-
|
|
863
|
+
var output = (0, import_react11.useMemo)(function() {
|
|
864
|
+
if (!fn.output) {
|
|
865
|
+
return null;
|
|
866
|
+
}
|
|
867
|
+
var result = null;
|
|
868
|
+
try {
|
|
869
|
+
result = JSON.parse(fn.output);
|
|
870
|
+
} catch (error) {
|
|
871
|
+
console.error(error);
|
|
872
|
+
}
|
|
873
|
+
return result;
|
|
874
|
+
}, [
|
|
875
|
+
fn
|
|
876
|
+
]);
|
|
877
|
+
if (!args) {
|
|
878
|
+
return null;
|
|
879
|
+
}
|
|
880
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_themes9.Code, {
|
|
881
|
+
variant: "ghost",
|
|
882
|
+
color: "gold",
|
|
883
|
+
style: {
|
|
884
|
+
whiteSpace: "pre",
|
|
885
|
+
wordBreak: "break-word"
|
|
886
|
+
},
|
|
887
|
+
children: [
|
|
888
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_themes9.Box, {
|
|
889
|
+
children: args && JSON.stringify(args, null, 2)
|
|
890
|
+
}),
|
|
891
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_themes9.Box, {
|
|
892
|
+
children: output && JSON.stringify(output, null, 2)
|
|
893
|
+
})
|
|
894
|
+
]
|
|
895
|
+
});
|
|
1107
896
|
};
|
|
1108
|
-
// src/
|
|
1109
|
-
var
|
|
1110
|
-
var
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
897
|
+
// src/components/functions/FunctionBase/index.tsx
|
|
898
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
899
|
+
var FunctionBase = function(param) {
|
|
900
|
+
var fn = param.fn, runStep = param.runStep, title2 = param.title;
|
|
901
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_themes10.PopoverRoot, {
|
|
902
|
+
children: [
|
|
903
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(ToolCallBase, {
|
|
904
|
+
children: [
|
|
905
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Icon, {
|
|
906
|
+
runStep: runStep
|
|
907
|
+
}),
|
|
908
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(ToolCallTitle, {
|
|
909
|
+
children: title2
|
|
910
|
+
})
|
|
911
|
+
]
|
|
912
|
+
}),
|
|
913
|
+
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_themes10.PopoverContent, {
|
|
914
|
+
style: {
|
|
915
|
+
maxHeight: "500px"
|
|
916
|
+
},
|
|
917
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Content, {
|
|
918
|
+
fn: fn
|
|
919
|
+
})
|
|
920
|
+
})
|
|
921
|
+
]
|
|
1124
922
|
});
|
|
1125
|
-
return !hasContent;
|
|
1126
923
|
};
|
|
1127
|
-
// src/
|
|
1128
|
-
var
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
var
|
|
1140
|
-
|
|
1141
|
-
var
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
924
|
+
// src/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/DefaultFunction/lib/title.ts
|
|
925
|
+
var title = function(param) {
|
|
926
|
+
var fn = param.fn, runStep = param.runStep;
|
|
927
|
+
if (runStep.completed_at) {
|
|
928
|
+
return "Finished ".concat(fn.name);
|
|
929
|
+
} else if (runStep.cancelled_at) {
|
|
930
|
+
return "Cancelled ".concat(fn.name);
|
|
931
|
+
} else {
|
|
932
|
+
return "Calling ".concat(fn.name);
|
|
933
|
+
}
|
|
934
|
+
};
|
|
935
|
+
// src/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/DefaultFunction/index.tsx
|
|
936
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
937
|
+
var DefaultFunction = function(param) {
|
|
938
|
+
var fn = param.fn, runStep = param.runStep;
|
|
939
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(FunctionBase, {
|
|
940
|
+
fn: fn,
|
|
941
|
+
runStep: runStep,
|
|
942
|
+
title: title({
|
|
943
|
+
runStep: runStep,
|
|
944
|
+
fn: fn
|
|
945
|
+
})
|
|
946
|
+
});
|
|
947
|
+
};
|
|
948
|
+
// src/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/index.tsx
|
|
949
|
+
var import_jsx_runtime14 = // @ts-ignore-next-line
|
|
950
|
+
require("react/jsx-runtime");
|
|
951
|
+
var Fn = function(param) {
|
|
952
|
+
var fn = param.fn, runStep = param.runStep;
|
|
953
|
+
var functionComponentsContext = (0, import_react12.useContext)(FunctionComponentsContext);
|
|
954
|
+
var Component = functionComponentsContext[fn.name] || DefaultFunction;
|
|
955
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Component, {
|
|
956
|
+
fn: fn,
|
|
957
|
+
runStep: runStep
|
|
958
|
+
});
|
|
959
|
+
};
|
|
960
|
+
// src/components/runSteps/RunStep/ToolCalls/ToolCall/CodeInterpreter/index.tsx
|
|
961
|
+
var import_themes11 = require("@radix-ui/themes");
|
|
962
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
963
|
+
var CodeInterpreter = function(param) {
|
|
964
|
+
var codeInterpreter = param.codeInterpreter;
|
|
965
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_themes11.Flex, {
|
|
966
|
+
children: codeInterpreter.input
|
|
967
|
+
});
|
|
968
|
+
};
|
|
969
|
+
// src/components/runSteps/RunStep/ToolCalls/ToolCall/index.tsx
|
|
970
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
971
|
+
var ToolCall = function(param) {
|
|
972
|
+
var toolCall = param.toolCall, runStep = param.runStep;
|
|
973
|
+
if (toolCall.type === "function") {
|
|
974
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Fn, {
|
|
975
|
+
fn: toolCall.function,
|
|
976
|
+
runStep: runStep
|
|
977
|
+
});
|
|
978
|
+
}
|
|
979
|
+
if (toolCall.type === "code_interpreter") {
|
|
980
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(CodeInterpreter, {
|
|
981
|
+
codeInterpreter: toolCall.code_interpreter,
|
|
982
|
+
runStep: runStep
|
|
983
|
+
});
|
|
984
|
+
}
|
|
985
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_themes12.Flex, {
|
|
986
|
+
children: toolCall.type
|
|
1149
987
|
});
|
|
1150
988
|
};
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
989
|
+
// src/components/runSteps/RunStep/ToolCalls/Starting/index.tsx
|
|
990
|
+
var import_themes13 = require("@radix-ui/themes");
|
|
991
|
+
var import_react_icons3 = require("@radix-ui/react-icons");
|
|
992
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
993
|
+
var Starting = function() {
|
|
994
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_themes13.PopoverRoot, {
|
|
995
|
+
children: [
|
|
996
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(ToolCallBase, {
|
|
997
|
+
children: [
|
|
998
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_icons3.CircleIcon, {}),
|
|
999
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ToolCallTitle, {
|
|
1000
|
+
children: "Starting actions"
|
|
1001
|
+
})
|
|
1002
|
+
]
|
|
1003
|
+
}),
|
|
1004
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_themes13.PopoverContent, {
|
|
1005
|
+
style: {
|
|
1006
|
+
maxHeight: "500px"
|
|
1007
|
+
},
|
|
1008
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_themes13.Text, {
|
|
1009
|
+
children: "Getting ready to connect to domain API"
|
|
1010
|
+
})
|
|
1011
|
+
})
|
|
1165
1012
|
]
|
|
1166
1013
|
});
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1014
|
+
};
|
|
1015
|
+
// src/components/runSteps/RunStep/ToolCalls/index.tsx
|
|
1016
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
1017
|
+
var ToolCalls = function(param) {
|
|
1018
|
+
var stepDetails = param.stepDetails, runStep = param.runStep;
|
|
1019
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_themes14.Flex, {
|
|
1020
|
+
direction: "column",
|
|
1021
|
+
children: [
|
|
1022
|
+
!stepDetails.tool_calls.length && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Starting, {}),
|
|
1023
|
+
stepDetails.tool_calls.map(function(toolCall) {
|
|
1024
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ToolCall, {
|
|
1025
|
+
toolCall: toolCall,
|
|
1026
|
+
runStep: runStep
|
|
1027
|
+
}, toolCall.id);
|
|
1028
|
+
})
|
|
1171
1029
|
]
|
|
1172
1030
|
});
|
|
1173
|
-
return (0, import_react12.useMemo)(function() {
|
|
1174
|
-
return _object_spread_props(_object_spread({}, latestRunProps), {
|
|
1175
|
-
isRunActive: isRunActive({
|
|
1176
|
-
latestRunProps: latestRunProps,
|
|
1177
|
-
latestThreadMessageProps: latestThreadMessageProps,
|
|
1178
|
-
isMutating: isMutatingCreateRun > 0 || isMutatingCreateThreadMessage > 0 || isMutatingCreateHandleAction > 0
|
|
1179
|
-
})
|
|
1180
|
-
});
|
|
1181
|
-
}, [
|
|
1182
|
-
latestRunProps,
|
|
1183
|
-
latestThreadMessageProps,
|
|
1184
|
-
isMutatingCreateRun,
|
|
1185
|
-
isMutatingCreateThreadMessage,
|
|
1186
|
-
isMutatingCreateHandleAction
|
|
1187
|
-
]);
|
|
1188
1031
|
};
|
|
1189
|
-
// src/
|
|
1190
|
-
var
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
return [
|
|
1198
|
-
4,
|
|
1199
|
-
queryClient.invalidateQueries({
|
|
1200
|
-
queryKey: (_threadContext_defaultOptions_queries_queryKey = threadContext.defaultOptions.queries.queryKey) !== null && _threadContext_defaultOptions_queries_queryKey !== void 0 ? _threadContext_defaultOptions_queries_queryKey : [
|
|
1201
|
-
"threadMessages",
|
|
1202
|
-
threadContext.variables
|
|
1203
|
-
]
|
|
1204
|
-
})
|
|
1205
|
-
];
|
|
1206
|
-
case 1:
|
|
1207
|
-
_state.sent();
|
|
1208
|
-
return [
|
|
1209
|
-
4,
|
|
1210
|
-
queryClient.invalidateQueries({
|
|
1211
|
-
queryKey: (_threadContext_defaultOptions_queries_queryKey1 = threadContext.defaultOptions.queries.queryKey) !== null && _threadContext_defaultOptions_queries_queryKey1 !== void 0 ? _threadContext_defaultOptions_queries_queryKey1 : [
|
|
1212
|
-
"runs",
|
|
1213
|
-
threadContext.variables
|
|
1214
|
-
]
|
|
1215
|
-
})
|
|
1216
|
-
];
|
|
1217
|
-
case 2:
|
|
1218
|
-
_state.sent();
|
|
1219
|
-
return [
|
|
1220
|
-
2
|
|
1221
|
-
];
|
|
1222
|
-
}
|
|
1223
|
-
});
|
|
1224
|
-
});
|
|
1225
|
-
return function refetch(_) {
|
|
1226
|
-
return _ref.apply(this, arguments);
|
|
1227
|
-
};
|
|
1228
|
-
}();
|
|
1229
|
-
// src/hooks/runs/usePolling/index.tsx
|
|
1230
|
-
var usePolling = function() {
|
|
1231
|
-
var threadContext = useSuperinterfaceContext();
|
|
1232
|
-
var queryClient = (0, import_react_query7.useQueryClient)();
|
|
1233
|
-
var isRunActiveProps = useIsRunActive();
|
|
1234
|
-
(0, import_react_use.useInterval)(function() {
|
|
1235
|
-
refetch({
|
|
1236
|
-
queryClient: queryClient,
|
|
1237
|
-
threadContext: threadContext
|
|
1032
|
+
// src/components/runSteps/RunStep/index.tsx
|
|
1033
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
1034
|
+
var RunStep = function(param) {
|
|
1035
|
+
var runStep = param.runStep;
|
|
1036
|
+
if (runStep.step_details.type === "tool_calls") {
|
|
1037
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(ToolCalls, {
|
|
1038
|
+
stepDetails: runStep.step_details,
|
|
1039
|
+
runStep: runStep
|
|
1238
1040
|
});
|
|
1239
|
-
|
|
1240
|
-
}, isRunActiveProps.isRunActive ? 3e3 : null);
|
|
1041
|
+
}
|
|
1241
1042
|
return null;
|
|
1242
1043
|
};
|
|
1243
|
-
// src/
|
|
1244
|
-
var
|
|
1044
|
+
// src/components/runSteps/RunSteps/index.tsx
|
|
1045
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
1046
|
+
var RunSteps = function(param) {
|
|
1047
|
+
var runSteps = param.runSteps;
|
|
1048
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_themes15.Flex, {
|
|
1049
|
+
direction: "column-reverse",
|
|
1050
|
+
children: runSteps.map(function(runStep) {
|
|
1051
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(RunStep, {
|
|
1052
|
+
runStep: runStep
|
|
1053
|
+
}, runStep.id);
|
|
1054
|
+
})
|
|
1055
|
+
});
|
|
1056
|
+
};
|
|
1057
|
+
// src/components/threads/Thread/Message/TextContent/index.tsx
|
|
1058
|
+
var import_react14 = require("react");
|
|
1059
|
+
var import_react_remark = require("react-remark");
|
|
1060
|
+
// src/contexts/markdown/MarkdownContext/index.ts
|
|
1245
1061
|
var import_react13 = require("react");
|
|
1246
|
-
// src/
|
|
1247
|
-
var
|
|
1248
|
-
var
|
|
1249
|
-
|
|
1250
|
-
var
|
|
1251
|
-
|
|
1252
|
-
|
|
1253
|
-
|
|
1254
|
-
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
variables
|
|
1263
|
-
]
|
|
1264
|
-
})
|
|
1265
|
-
];
|
|
1266
|
-
case 1:
|
|
1267
|
-
_state.sent();
|
|
1268
|
-
return [
|
|
1269
|
-
4,
|
|
1270
|
-
queryClient.invalidateQueries({
|
|
1271
|
-
queryKey: [
|
|
1272
|
-
"runs",
|
|
1273
|
-
variables
|
|
1274
|
-
]
|
|
1275
|
-
})
|
|
1276
|
-
];
|
|
1277
|
-
case 2:
|
|
1278
|
-
_state.sent();
|
|
1279
|
-
return [
|
|
1280
|
-
2
|
|
1281
|
-
];
|
|
1282
|
-
}
|
|
1283
|
-
});
|
|
1284
|
-
});
|
|
1285
|
-
return function(_data, _error, variables) {
|
|
1286
|
-
return _ref.apply(this, arguments);
|
|
1287
|
-
};
|
|
1288
|
-
}();
|
|
1062
|
+
// src/contexts/markdown/MarkdownContext/lib/components/Paragraph.tsx
|
|
1063
|
+
var import_themes16 = require("@radix-ui/themes");
|
|
1064
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
1065
|
+
var Paragraph = function(param) {
|
|
1066
|
+
var children = param.children;
|
|
1067
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_themes16.Box, {
|
|
1068
|
+
pb: "3",
|
|
1069
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_themes16.Text, {
|
|
1070
|
+
size: "3",
|
|
1071
|
+
style: {
|
|
1072
|
+
whiteSpace: "pre-line",
|
|
1073
|
+
wordBreak: "break-word"
|
|
1074
|
+
},
|
|
1075
|
+
children: children
|
|
1076
|
+
})
|
|
1077
|
+
});
|
|
1289
1078
|
};
|
|
1290
|
-
// src/
|
|
1291
|
-
var
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
var
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1079
|
+
// src/contexts/markdown/MarkdownContext/lib/components/Link.tsx
|
|
1080
|
+
var import_themes17 = require("@radix-ui/themes");
|
|
1081
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
1082
|
+
var Link = function(param) {
|
|
1083
|
+
var children = param.children, href = param.href;
|
|
1084
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_themes17.Link, {
|
|
1085
|
+
href: href,
|
|
1086
|
+
children: children
|
|
1087
|
+
});
|
|
1088
|
+
};
|
|
1089
|
+
// src/contexts/markdown/MarkdownContext/lib/components/UnorderedList.tsx
|
|
1090
|
+
var import_themes18 = require("@radix-ui/themes");
|
|
1091
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
1092
|
+
var UnorderedList = function(param) {
|
|
1093
|
+
var children = param.children;
|
|
1094
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_themes18.Box, {
|
|
1095
|
+
pb: "3",
|
|
1096
|
+
asChild: true,
|
|
1097
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("ul", {
|
|
1098
|
+
style: {
|
|
1099
|
+
listStylePosition: "inside"
|
|
1100
|
+
},
|
|
1101
|
+
children: children
|
|
1102
|
+
})
|
|
1103
|
+
});
|
|
1104
|
+
};
|
|
1105
|
+
// src/contexts/markdown/MarkdownContext/lib/components/OrderedList.tsx
|
|
1106
|
+
var import_themes19 = require("@radix-ui/themes");
|
|
1107
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
1108
|
+
var OrderedList = function(param) {
|
|
1109
|
+
var children = param.children;
|
|
1110
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_themes19.Box, {
|
|
1111
|
+
pb: "3",
|
|
1112
|
+
asChild: true,
|
|
1113
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("ol", {
|
|
1114
|
+
style: {
|
|
1115
|
+
listStylePosition: "inside"
|
|
1116
|
+
},
|
|
1117
|
+
children: children
|
|
1298
1118
|
})
|
|
1299
|
-
}, mutationOptions({
|
|
1300
|
-
mutationKeyBase: [
|
|
1301
|
-
"handleAction"
|
|
1302
|
-
],
|
|
1303
|
-
path: "/actions",
|
|
1304
|
-
queryClient: queryClient,
|
|
1305
|
-
threadContext: threadContext,
|
|
1306
|
-
superinterfaceContext: superinterfaceContext
|
|
1307
|
-
})));
|
|
1308
|
-
return _object_spread_props(_object_spread({}, props), {
|
|
1309
|
-
handleAction: (0, import_radash3.partob)(props.mutate, threadContext.variables)
|
|
1310
1119
|
});
|
|
1311
1120
|
};
|
|
1312
|
-
// src/
|
|
1313
|
-
var
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
var
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1121
|
+
// src/contexts/markdown/MarkdownContext/lib/components/ListItem.tsx
|
|
1122
|
+
var import_themes20 = require("@radix-ui/themes");
|
|
1123
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
1124
|
+
var ListItem = function(param) {
|
|
1125
|
+
var children = param.children;
|
|
1126
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_themes20.Box, {
|
|
1127
|
+
pb: "1",
|
|
1128
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("li", {
|
|
1129
|
+
children: children
|
|
1130
|
+
})
|
|
1131
|
+
});
|
|
1132
|
+
};
|
|
1133
|
+
// src/contexts/markdown/MarkdownContext/lib/components/Strong.tsx
|
|
1134
|
+
var import_themes21 = require("@radix-ui/themes");
|
|
1135
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
1136
|
+
var Strong = function(param) {
|
|
1137
|
+
var children = param.children;
|
|
1138
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_themes21.Strong, {
|
|
1139
|
+
children: children
|
|
1140
|
+
});
|
|
1141
|
+
};
|
|
1142
|
+
// src/contexts/markdown/MarkdownContext/lib/components/index.tsx
|
|
1143
|
+
var components = {
|
|
1144
|
+
p: Paragraph,
|
|
1145
|
+
a: Link,
|
|
1146
|
+
strong: Strong,
|
|
1147
|
+
ul: UnorderedList,
|
|
1148
|
+
ol: OrderedList,
|
|
1149
|
+
li: ListItem
|
|
1150
|
+
};
|
|
1151
|
+
// src/contexts/markdown/MarkdownContext/index.ts
|
|
1152
|
+
var MarkdownContext = (0, import_react13.createContext)({
|
|
1153
|
+
remarkPlugins: [],
|
|
1154
|
+
rehypeReactOptions: {
|
|
1155
|
+
components: components
|
|
1156
|
+
}
|
|
1157
|
+
});
|
|
1158
|
+
// src/components/threads/Thread/Message/TextContent/index.tsx
|
|
1159
|
+
var TextContent = function(param) {
|
|
1160
|
+
var content = param.content;
|
|
1161
|
+
var markdownContext = (0, import_react14.useContext)(MarkdownContext);
|
|
1162
|
+
return (0, import_react_remark.useRemarkSync)(content.text.value, markdownContext);
|
|
1163
|
+
};
|
|
1164
|
+
// src/components/threads/Thread/Message/index.tsx
|
|
1165
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
1166
|
+
var Message = function(param) {
|
|
1167
|
+
var message = param.message;
|
|
1168
|
+
var _ref = _sliced_to_array((0, import_react15.useMemo)(function() {
|
|
1169
|
+
if (!message.runSteps.length) return [
|
|
1170
|
+
[],
|
|
1171
|
+
[]
|
|
1172
|
+
];
|
|
1173
|
+
var messageCreationRunStepIndex = message.runSteps.findIndex(function(runStep) {
|
|
1174
|
+
if (runStep.step_details.type !== "message_creation") return;
|
|
1175
|
+
return runStep.step_details.message_creation.message_id === message.id;
|
|
1328
1176
|
});
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
latestRunProps: latestRunProps
|
|
1177
|
+
var nextRunStepIndex = message.runSteps.slice(0, messageCreationRunStepIndex).findLastIndex(function(runStep) {
|
|
1178
|
+
return runStep.step_details.type === "message_creation";
|
|
1332
1179
|
});
|
|
1333
|
-
|
|
1334
|
-
|
|
1180
|
+
if (nextRunStepIndex === -1) {
|
|
1181
|
+
nextRunStepIndex = 0;
|
|
1182
|
+
}
|
|
1183
|
+
var laterRunSteps2 = message.runSteps.slice(nextRunStepIndex, messageCreationRunStepIndex);
|
|
1184
|
+
var prevRunStepIndex = message.runSteps.slice(messageCreationRunStepIndex + 1).findIndex(function(runStep) {
|
|
1185
|
+
return runStep.step_details.type === "message_creation";
|
|
1335
1186
|
});
|
|
1187
|
+
var olderRunSteps2;
|
|
1188
|
+
if (prevRunStepIndex === -1) {
|
|
1189
|
+
olderRunSteps2 = message.runSteps.slice(messageCreationRunStepIndex + 1);
|
|
1190
|
+
} else {
|
|
1191
|
+
olderRunSteps2 = message.runSteps.slice(messageCreationRunStepIndex + 1, messageCreationRunStepIndex + prevRunStepIndex);
|
|
1192
|
+
}
|
|
1193
|
+
return [
|
|
1194
|
+
olderRunSteps2,
|
|
1195
|
+
laterRunSteps2
|
|
1196
|
+
];
|
|
1336
1197
|
}, [
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
}
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
// src/lib/threadMessages/order.ts
|
|
1355
|
-
var import_radash4 = require("radash");
|
|
1356
|
-
var order = function(param) {
|
|
1357
|
-
var threadMessages2 = param.threadMessages;
|
|
1358
|
-
return (0, import_radash4.sort)(threadMessages2, function(tm) {
|
|
1359
|
-
return tm.created_at;
|
|
1360
|
-
}, true);
|
|
1361
|
-
};
|
|
1362
|
-
// src/hooks/threadMessageGroups/useThreadMessageGroups/lib/threadMessageGroups/newGroup/newGroupItem.ts
|
|
1363
|
-
var newGroupItem = function(param) {
|
|
1364
|
-
var threadMessage = param.threadMessage;
|
|
1365
|
-
return {
|
|
1366
|
-
id: threadMessage.id,
|
|
1367
|
-
role: threadMessage.role,
|
|
1368
|
-
createdAt: threadMessage.created_at,
|
|
1369
|
-
threadMessages: [
|
|
1370
|
-
threadMessage
|
|
1198
|
+
message
|
|
1199
|
+
]), 2), olderRunSteps = _ref[0], laterRunSteps = _ref[1];
|
|
1200
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_themes22.Box, {
|
|
1201
|
+
children: [
|
|
1202
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(RunSteps, {
|
|
1203
|
+
runSteps: olderRunSteps
|
|
1204
|
+
}),
|
|
1205
|
+
message.content.map(function(content, index) {
|
|
1206
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_themes22.Box, {
|
|
1207
|
+
children: content.type === "text" && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(TextContent, {
|
|
1208
|
+
content: content
|
|
1209
|
+
})
|
|
1210
|
+
}, index);
|
|
1211
|
+
}),
|
|
1212
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(RunSteps, {
|
|
1213
|
+
runSteps: laterRunSteps
|
|
1214
|
+
})
|
|
1371
1215
|
]
|
|
1372
|
-
};
|
|
1216
|
+
});
|
|
1373
1217
|
};
|
|
1374
|
-
// src/
|
|
1375
|
-
var
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1218
|
+
// src/components/threads/Thread/Messages/Content/MessageGroup/Content/index.tsx
|
|
1219
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
1220
|
+
var Content2 = function(param) {
|
|
1221
|
+
var messageGroup = param.messageGroup;
|
|
1222
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_themes23.Flex, {
|
|
1223
|
+
direction: "column-reverse",
|
|
1224
|
+
children: messageGroup.messages.map(function(message) {
|
|
1225
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Message, {
|
|
1226
|
+
message: message
|
|
1227
|
+
}, message.id);
|
|
1380
1228
|
})
|
|
1381
|
-
|
|
1229
|
+
});
|
|
1382
1230
|
};
|
|
1383
|
-
// src/
|
|
1384
|
-
var
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
])
|
|
1231
|
+
// src/components/threads/Thread/Messages/Content/MessageGroup/index.tsx
|
|
1232
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
1233
|
+
var MessageGroup = function(param) {
|
|
1234
|
+
var messageGroup = param.messageGroup;
|
|
1235
|
+
var assistantNameContext = (0, import_react16.useContext)(AssistantNameContext);
|
|
1236
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(MessageGroupBase, {
|
|
1237
|
+
children: [
|
|
1238
|
+
messageGroup.role === "user" ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_themes24.Avatar, {
|
|
1239
|
+
fallback: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_icons4.PersonIcon, {}),
|
|
1240
|
+
size: "1"
|
|
1241
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(AssistantAvatar, {}),
|
|
1242
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_themes24.Box, {
|
|
1243
|
+
flexGrow: "1",
|
|
1244
|
+
children: [
|
|
1245
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Name, {
|
|
1246
|
+
children: messageGroup.role === "user" ? "You" : assistantNameContext
|
|
1247
|
+
}),
|
|
1248
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Content2, {
|
|
1249
|
+
messageGroup: messageGroup
|
|
1250
|
+
})
|
|
1251
|
+
]
|
|
1405
1252
|
})
|
|
1406
|
-
]
|
|
1407
|
-
}
|
|
1253
|
+
]
|
|
1254
|
+
});
|
|
1408
1255
|
};
|
|
1409
|
-
// src/
|
|
1410
|
-
var
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
};
|
|
1418
|
-
}
|
|
1419
|
-
|
|
1420
|
-
|
|
1256
|
+
// src/components/threads/Thread/Messages/Content/index.tsx
|
|
1257
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
1258
|
+
var Content3 = function() {
|
|
1259
|
+
var _useMessages = useMessages(), messages2 = _useMessages.messages, isLoading = _useMessages.isLoading, isLoadingError = _useMessages.isLoadingError;
|
|
1260
|
+
var _useMessageGroups = useMessageGroups({
|
|
1261
|
+
messages: messages2
|
|
1262
|
+
}), messageGroups2 = _useMessageGroups.messageGroups;
|
|
1263
|
+
if (isLoading || isLoadingError) {
|
|
1264
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(MessagesSkeleton, {});
|
|
1265
|
+
}
|
|
1266
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_jsx_runtime30.Fragment, {
|
|
1267
|
+
children: messageGroups2.map(function(messageGroup) {
|
|
1268
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(MessageGroup, {
|
|
1269
|
+
messageGroup: messageGroup
|
|
1270
|
+
}, messageGroup.id);
|
|
1271
|
+
})
|
|
1272
|
+
});
|
|
1421
1273
|
};
|
|
1422
|
-
// src/components/
|
|
1423
|
-
var
|
|
1424
|
-
|
|
1425
|
-
var
|
|
1426
|
-
|
|
1427
|
-
var
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
var
|
|
1432
|
-
var
|
|
1433
|
-
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
1434
|
-
var AssistantAvatarContext = (0, import_react15.createContext)(/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_themes5.Avatar, {
|
|
1435
|
-
fallback: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_react_icons.LightningBoltIcon, {}),
|
|
1436
|
-
size: "1"
|
|
1437
|
-
}));
|
|
1438
|
-
// src/components/threadMessageGroups/ThreadMessagesGroupBase/AssistantAvatar.tsx
|
|
1439
|
-
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
1440
|
-
var AssistantAvatar = function() {
|
|
1441
|
-
var AssistantAvatarContextValue = (0, import_react16.useContext)(AssistantAvatarContext);
|
|
1442
|
-
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_themes6.Flex, {
|
|
1443
|
-
shrink: "0",
|
|
1274
|
+
// src/components/threads/Thread/Messages/Progress/index.tsx
|
|
1275
|
+
var import_themes27 = require("@radix-ui/themes");
|
|
1276
|
+
// src/components/skeletons/StartingContentSkeleton/index.tsx
|
|
1277
|
+
var import_themes25 = require("@radix-ui/themes");
|
|
1278
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
1279
|
+
var StartingContentSkeleton = function() {
|
|
1280
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_themes25.Box, {
|
|
1281
|
+
flexShrink: "0",
|
|
1282
|
+
mt: "1",
|
|
1283
|
+
height: "var(--space-4)",
|
|
1284
|
+
width: "var(--space-4)",
|
|
1444
1285
|
style: {
|
|
1286
|
+
animation: "pulse 2s cubic-bezier(.4,0,.6,1) infinite",
|
|
1445
1287
|
borderRadius: "var(--radius-3)",
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
width: "24px"
|
|
1449
|
-
},
|
|
1450
|
-
children: AssistantAvatarContextValue
|
|
1288
|
+
backgroundColor: "var(--gray-12)"
|
|
1289
|
+
}
|
|
1451
1290
|
});
|
|
1452
1291
|
};
|
|
1453
|
-
// src/
|
|
1292
|
+
// src/components/skeletons/StartingSkeleton/index.tsx
|
|
1454
1293
|
var import_react17 = require("react");
|
|
1455
|
-
var
|
|
1456
|
-
|
|
1457
|
-
var
|
|
1458
|
-
// src/components/ThreadMessages/ThreadMessage/index.tsx
|
|
1459
|
-
var import_react23 = require("react");
|
|
1460
|
-
var import_themes22 = require("@radix-ui/themes");
|
|
1461
|
-
// src/components/runSteps/RunSteps/index.tsx
|
|
1462
|
-
var import_themes15 = require("@radix-ui/themes");
|
|
1463
|
-
// src/components/runSteps/RunStep/ToolCalls/index.tsx
|
|
1464
|
-
var import_themes14 = require("@radix-ui/themes");
|
|
1465
|
-
// src/components/runSteps/RunStep/ToolCalls/ToolCall/index.tsx
|
|
1466
|
-
var import_themes12 = require("@radix-ui/themes");
|
|
1467
|
-
// src/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/index.tsx
|
|
1468
|
-
var import_react20 = require("react");
|
|
1469
|
-
// src/contexts/functions/FunctionComponentsContext/index.tsx
|
|
1470
|
-
var import_react18 = require("react");
|
|
1471
|
-
var FunctionComponentsContext = (0, import_react18.createContext)({});
|
|
1472
|
-
// src/components/functions/FunctionBase/index.tsx
|
|
1473
|
-
var import_themes10 = require("@radix-ui/themes");
|
|
1474
|
-
// src/components/toolCalls/ToolCallBase/index.tsx
|
|
1475
|
-
var import_themes7 = require("@radix-ui/themes");
|
|
1476
|
-
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
1477
|
-
var ToolCallBase = function(param) {
|
|
1478
|
-
var children = param.children;
|
|
1479
|
-
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_themes7.Flex, {
|
|
1480
|
-
py: "1",
|
|
1481
|
-
ml: "-2",
|
|
1482
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_themes7.PopoverTrigger, {
|
|
1483
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_themes7.Button, {
|
|
1484
|
-
size: "1",
|
|
1485
|
-
color: "gold",
|
|
1486
|
-
variant: "outline",
|
|
1487
|
-
style: {
|
|
1488
|
-
boxShadow: "none"
|
|
1489
|
-
},
|
|
1490
|
-
children: children
|
|
1491
|
-
})
|
|
1492
|
-
})
|
|
1493
|
-
});
|
|
1494
|
-
};
|
|
1495
|
-
// src/components/toolCalls/ToolCallBase/ToolCallTitle.tsx
|
|
1496
|
-
var import_themes8 = require("@radix-ui/themes");
|
|
1497
|
-
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
1498
|
-
var ToolCallTitle = function(param) {
|
|
1294
|
+
var import_themes26 = require("@radix-ui/themes");
|
|
1295
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
1296
|
+
var StartingSkeleton = function(param) {
|
|
1499
1297
|
var children = param.children;
|
|
1500
|
-
|
|
1501
|
-
|
|
1502
|
-
children:
|
|
1298
|
+
var assistantNameContext = (0, import_react17.useContext)(AssistantNameContext);
|
|
1299
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(MessageGroupBase, {
|
|
1300
|
+
children: [
|
|
1301
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(AssistantAvatar, {}),
|
|
1302
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_themes26.Box, {
|
|
1303
|
+
children: [
|
|
1304
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Name, {
|
|
1305
|
+
children: assistantNameContext
|
|
1306
|
+
}),
|
|
1307
|
+
children,
|
|
1308
|
+
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(StartingContentSkeleton, {})
|
|
1309
|
+
]
|
|
1310
|
+
})
|
|
1311
|
+
]
|
|
1503
1312
|
});
|
|
1504
1313
|
};
|
|
1505
|
-
// src/
|
|
1506
|
-
var
|
|
1507
|
-
var
|
|
1508
|
-
var
|
|
1509
|
-
|
|
1510
|
-
|
|
1511
|
-
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
}
|
|
1314
|
+
// src/hooks/messages/useLatestMessage/index.ts
|
|
1315
|
+
var import_react18 = require("react");
|
|
1316
|
+
var useLatestMessage = function() {
|
|
1317
|
+
var props = useMessages();
|
|
1318
|
+
return (0, import_react18.useMemo)(function() {
|
|
1319
|
+
return _object_spread_props(_object_spread({}, props), {
|
|
1320
|
+
latestMessage: props.messages[0] || null
|
|
1321
|
+
});
|
|
1322
|
+
}, [
|
|
1323
|
+
props
|
|
1324
|
+
]);
|
|
1517
1325
|
};
|
|
1518
|
-
// src/
|
|
1326
|
+
// src/hooks/runs/useIsRunActive/index.tsx
|
|
1327
|
+
var import_react21 = require("react");
|
|
1328
|
+
var import_react_query4 = require("@tanstack/react-query");
|
|
1329
|
+
// src/hooks/runs/useLatestRun/index.ts
|
|
1330
|
+
var import_react20 = require("react");
|
|
1331
|
+
// src/hooks/runs/useRuns/index.tsx
|
|
1519
1332
|
var import_react19 = require("react");
|
|
1520
|
-
var
|
|
1521
|
-
|
|
1522
|
-
var
|
|
1523
|
-
var
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1333
|
+
var import_react_query3 = require("@tanstack/react-query");
|
|
1334
|
+
// src/hooks/runs/useRuns/lib/getRuns.ts
|
|
1335
|
+
var getRuns = function(param) {
|
|
1336
|
+
var data3 = param.data;
|
|
1337
|
+
if (!data3) return [];
|
|
1338
|
+
return data3.pages.reduce(function(acc, page) {
|
|
1339
|
+
return acc.concat(page.data);
|
|
1340
|
+
}, []);
|
|
1341
|
+
};
|
|
1342
|
+
// src/hooks/runs/useRuns/index.tsx
|
|
1343
|
+
var useRuns = function() {
|
|
1344
|
+
var queryClient = (0, import_react_query3.useQueryClient)();
|
|
1345
|
+
var superinterfaceContext = useSuperinterfaceContext();
|
|
1346
|
+
var threadContext = useSuperinterfaceContext();
|
|
1347
|
+
var props = (0, import_react_query3.useInfiniteQuery)(queryOptions({
|
|
1348
|
+
queryKeyBase: [
|
|
1349
|
+
"runs"
|
|
1350
|
+
],
|
|
1351
|
+
path: "/runs",
|
|
1352
|
+
queryClient: queryClient,
|
|
1353
|
+
threadContext: threadContext,
|
|
1354
|
+
superinterfaceContext: superinterfaceContext
|
|
1355
|
+
}));
|
|
1356
|
+
return (0, import_react19.useMemo)(function() {
|
|
1357
|
+
return _object_spread_props(_object_spread({}, props), {
|
|
1358
|
+
// @ts-ignore-next-line
|
|
1359
|
+
runs: getRuns({
|
|
1360
|
+
data: props.data
|
|
1361
|
+
})
|
|
1362
|
+
});
|
|
1532
1363
|
}, [
|
|
1533
|
-
|
|
1364
|
+
props
|
|
1534
1365
|
]);
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
}
|
|
1543
|
-
console.error(error);
|
|
1544
|
-
}
|
|
1545
|
-
return result;
|
|
1366
|
+
};
|
|
1367
|
+
// src/hooks/runs/useLatestRun/index.ts
|
|
1368
|
+
var useLatestRun = function() {
|
|
1369
|
+
var props = useRuns();
|
|
1370
|
+
return (0, import_react20.useMemo)(function() {
|
|
1371
|
+
return _object_spread_props(_object_spread({}, props), {
|
|
1372
|
+
latestRun: props.runs[0]
|
|
1373
|
+
});
|
|
1546
1374
|
}, [
|
|
1547
|
-
|
|
1375
|
+
props
|
|
1548
1376
|
]);
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1377
|
+
};
|
|
1378
|
+
// src/lib/runs/isRunEditingMessage/index.ts
|
|
1379
|
+
var import_lodash4 = __toESM(require("lodash"), 1);
|
|
1380
|
+
var isRunEditingMessage = function(param) {
|
|
1381
|
+
var message = param.message;
|
|
1382
|
+
if (!message) return false;
|
|
1383
|
+
if (message.role === "user") return false;
|
|
1384
|
+
if (!message.run_id) return false;
|
|
1385
|
+
var hasContent = import_lodash4.default.some(message.content, function(content) {
|
|
1386
|
+
var _content_text;
|
|
1387
|
+
return content.type !== "text" || content.type === "text" && ((_content_text = content.text) === null || _content_text === void 0 ? void 0 : _content_text.value) !== "";
|
|
1388
|
+
});
|
|
1389
|
+
return !hasContent;
|
|
1390
|
+
};
|
|
1391
|
+
// src/hooks/runs/useIsRunActive/index.tsx
|
|
1392
|
+
var progressStatuses = [
|
|
1393
|
+
"queued",
|
|
1394
|
+
"in_progress",
|
|
1395
|
+
"cancelling",
|
|
1396
|
+
"requires_action"
|
|
1397
|
+
];
|
|
1398
|
+
var stoppedStatuses = [
|
|
1399
|
+
"expired",
|
|
1400
|
+
"cancelled",
|
|
1401
|
+
"failed"
|
|
1402
|
+
];
|
|
1403
|
+
var isRunActive = function(param) {
|
|
1404
|
+
var latestRunProps = param.latestRunProps, latestMessageProps = param.latestMessageProps, isMutating = param.isMutating;
|
|
1405
|
+
var _latestMessageProps_latestMessage_metadata, _latestMessageProps_latestMessage;
|
|
1406
|
+
if ((_latestMessageProps_latestMessage = latestMessageProps.latestMessage) === null || _latestMessageProps_latestMessage === void 0 ? void 0 : (_latestMessageProps_latestMessage_metadata = _latestMessageProps_latestMessage.metadata) === null || _latestMessageProps_latestMessage_metadata === void 0 ? void 0 : _latestMessageProps_latestMessage_metadata.isBlocking) return false;
|
|
1407
|
+
if (isMutating) return true;
|
|
1408
|
+
if (!latestRunProps.latestRun) return false;
|
|
1409
|
+
if (progressStatuses.includes(latestRunProps.latestRun.status)) return true;
|
|
1410
|
+
if (stoppedStatuses.includes(latestRunProps.latestRun.status)) return false;
|
|
1411
|
+
return isRunEditingMessage({
|
|
1412
|
+
message: latestMessageProps.latestMessage
|
|
1413
|
+
});
|
|
1414
|
+
};
|
|
1415
|
+
var useIsRunActive = function() {
|
|
1416
|
+
var latestRunProps = useLatestRun();
|
|
1417
|
+
var latestMessageProps = useLatestMessage();
|
|
1418
|
+
var threadContext = useSuperinterfaceContext();
|
|
1419
|
+
var isMutatingCreateRun = (0, import_react_query4.useIsMutating)({
|
|
1420
|
+
mutationKey: [
|
|
1421
|
+
"createRun",
|
|
1422
|
+
threadContext.variables
|
|
1423
|
+
]
|
|
1424
|
+
});
|
|
1425
|
+
var isMutatingCreateMessage = (0, import_react_query4.useIsMutating)({
|
|
1426
|
+
mutationKey: [
|
|
1427
|
+
"createMessage",
|
|
1428
|
+
threadContext.variables
|
|
1429
|
+
]
|
|
1430
|
+
});
|
|
1431
|
+
var isMutatingCreateHandleAction = (0, import_react_query4.useIsMutating)({
|
|
1432
|
+
mutationKey: [
|
|
1433
|
+
"handleAction",
|
|
1434
|
+
threadContext.variables
|
|
1566
1435
|
]
|
|
1567
1436
|
});
|
|
1437
|
+
return (0, import_react21.useMemo)(function() {
|
|
1438
|
+
return _object_spread_props(_object_spread({}, latestRunProps), {
|
|
1439
|
+
isRunActive: isRunActive({
|
|
1440
|
+
latestRunProps: latestRunProps,
|
|
1441
|
+
latestMessageProps: latestMessageProps,
|
|
1442
|
+
isMutating: isMutatingCreateRun > 0 || isMutatingCreateMessage > 0 || isMutatingCreateHandleAction > 0
|
|
1443
|
+
})
|
|
1444
|
+
});
|
|
1445
|
+
}, [
|
|
1446
|
+
latestRunProps,
|
|
1447
|
+
latestMessageProps,
|
|
1448
|
+
isMutatingCreateRun,
|
|
1449
|
+
isMutatingCreateMessage,
|
|
1450
|
+
isMutatingCreateHandleAction
|
|
1451
|
+
]);
|
|
1568
1452
|
};
|
|
1569
|
-
// src/components/
|
|
1570
|
-
var
|
|
1571
|
-
var
|
|
1572
|
-
var
|
|
1573
|
-
|
|
1453
|
+
// src/components/threads/Thread/Messages/Progress/index.tsx
|
|
1454
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
1455
|
+
var Progress = function() {
|
|
1456
|
+
var _useIsRunActive = useIsRunActive(), isRunActive2 = _useIsRunActive.isRunActive;
|
|
1457
|
+
var latestMessage = useLatestMessage().latestMessage;
|
|
1458
|
+
if (!latestMessage) return null;
|
|
1459
|
+
if (!isRunActive2) return null;
|
|
1460
|
+
if (latestMessage.role === "user") {
|
|
1461
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(StartingSkeleton, {});
|
|
1462
|
+
}
|
|
1463
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(MessageGroupBase, {
|
|
1574
1464
|
children: [
|
|
1575
|
-
/* @__PURE__ */ (0,
|
|
1576
|
-
|
|
1577
|
-
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Icon, {
|
|
1578
|
-
runStep: runStep
|
|
1579
|
-
}),
|
|
1580
|
-
/* @__PURE__ */ (0, import_jsx_runtime12.jsx)(ToolCallTitle, {
|
|
1581
|
-
children: title2
|
|
1582
|
-
})
|
|
1583
|
-
]
|
|
1465
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_themes27.Box, {
|
|
1466
|
+
pl: "5"
|
|
1584
1467
|
}),
|
|
1585
|
-
/* @__PURE__ */ (0,
|
|
1586
|
-
style: {
|
|
1587
|
-
maxHeight: "500px"
|
|
1588
|
-
},
|
|
1589
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Content, {
|
|
1590
|
-
fn: fn
|
|
1591
|
-
})
|
|
1592
|
-
})
|
|
1468
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(StartingContentSkeleton, {})
|
|
1593
1469
|
]
|
|
1594
1470
|
});
|
|
1595
1471
|
};
|
|
1596
|
-
// src/components/
|
|
1597
|
-
var
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
var
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1472
|
+
// src/components/threads/Thread/Messages/Root/index.tsx
|
|
1473
|
+
var import_themes28 = require("@radix-ui/themes");
|
|
1474
|
+
// src/hooks/misc/useInfiniteScroll/index.tsx
|
|
1475
|
+
var import_react23 = require("react");
|
|
1476
|
+
var import_react_intersection_observer = require("react-intersection-observer");
|
|
1477
|
+
// src/hooks/misc/useThrottledEffect/index.tsx
|
|
1478
|
+
var import_lodash5 = __toESM(require("lodash"), 1);
|
|
1479
|
+
var import_react22 = require("react");
|
|
1480
|
+
var useThrottledEffect = function(cb, delay, additionalDeps) {
|
|
1481
|
+
var _cbRef;
|
|
1482
|
+
var cbRef = (0, import_react22.useRef)(cb);
|
|
1483
|
+
var throttledCb = (0, import_react22.useCallback)(import_lodash5.default.throttle(function() {
|
|
1484
|
+
for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
|
|
1485
|
+
args[_key] = arguments[_key];
|
|
1486
|
+
}
|
|
1487
|
+
return (_cbRef = cbRef).current.apply(_cbRef, _to_consumable_array(args));
|
|
1488
|
+
}, delay, {
|
|
1489
|
+
leading: true,
|
|
1490
|
+
trailing: true
|
|
1491
|
+
}), [
|
|
1492
|
+
delay
|
|
1493
|
+
]);
|
|
1494
|
+
(0, import_react22.useEffect)(function() {
|
|
1495
|
+
cbRef.current = cb;
|
|
1618
1496
|
});
|
|
1497
|
+
(0, import_react22.useEffect)(throttledCb, [
|
|
1498
|
+
throttledCb
|
|
1499
|
+
].concat(_to_consumable_array(additionalDeps)));
|
|
1619
1500
|
};
|
|
1620
|
-
// src/
|
|
1621
|
-
var
|
|
1622
|
-
|
|
1623
|
-
var
|
|
1624
|
-
var
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1501
|
+
// src/hooks/misc/useInfiniteScroll/index.tsx
|
|
1502
|
+
var useInfiniteScroll = function(param) {
|
|
1503
|
+
var isFetchingNextPage = param.isFetchingNextPage, hasNextPage = param.hasNextPage, fetchNextPage = param.fetchNextPage;
|
|
1504
|
+
var containerRef = (0, import_react23.useRef)(null);
|
|
1505
|
+
var _ref = (0, import_react_intersection_observer.useInView)({
|
|
1506
|
+
root: containerRef.current,
|
|
1507
|
+
rootMargin: "0px",
|
|
1508
|
+
threshold: 0.1
|
|
1509
|
+
}), loaderRef = _ref.ref, inView = _ref.inView;
|
|
1510
|
+
useThrottledEffect(function() {
|
|
1511
|
+
if (isFetchingNextPage) return;
|
|
1512
|
+
if (!inView) return;
|
|
1513
|
+
if (!hasNextPage) return;
|
|
1514
|
+
console.log("Fetching next page");
|
|
1515
|
+
fetchNextPage();
|
|
1516
|
+
}, 500, [
|
|
1517
|
+
inView,
|
|
1518
|
+
isFetchingNextPage,
|
|
1519
|
+
hasNextPage,
|
|
1520
|
+
fetchNextPage
|
|
1521
|
+
]);
|
|
1522
|
+
return {
|
|
1523
|
+
containerRef: containerRef,
|
|
1524
|
+
loaderRef: loaderRef,
|
|
1525
|
+
inView: inView
|
|
1526
|
+
};
|
|
1631
1527
|
};
|
|
1632
|
-
// src/
|
|
1633
|
-
var
|
|
1634
|
-
var
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1528
|
+
// src/hooks/runs/useManageRuns/index.tsx
|
|
1529
|
+
var import_react_query6 = require("@tanstack/react-query");
|
|
1530
|
+
var import_react24 = require("react");
|
|
1531
|
+
// src/hooks/runs/useCreateRun/index.ts
|
|
1532
|
+
var import_radash4 = require("radash");
|
|
1533
|
+
var import_react_query5 = require("@tanstack/react-query");
|
|
1534
|
+
// src/lib/threads/mutationOptions/index.ts
|
|
1535
|
+
var mutationOptions = function(param) {
|
|
1536
|
+
var mutationKeyBase = param.mutationKeyBase, path = param.path, queryClient = param.queryClient, threadContext = param.threadContext, superinterfaceContext = param.superinterfaceContext;
|
|
1537
|
+
var mutationKey = _to_consumable_array(mutationKeyBase).concat([
|
|
1538
|
+
threadContext.variables
|
|
1539
|
+
]);
|
|
1540
|
+
return _object_spread(_object_spread_props(_object_spread({
|
|
1541
|
+
mutationFn: function(variables) {
|
|
1542
|
+
return fetch("".concat(superinterfaceContext.baseUrl).concat(path), _object_spread({
|
|
1543
|
+
method: "POST",
|
|
1544
|
+
body: JSON.stringify(variables),
|
|
1545
|
+
credentials: "include"
|
|
1546
|
+
}, superinterfaceContext.publicApiKey ? {
|
|
1547
|
+
headers: {
|
|
1548
|
+
Authorization: "Bearer ".concat(superinterfaceContext.publicApiKey)
|
|
1549
|
+
}
|
|
1550
|
+
} : {})).then(function() {
|
|
1551
|
+
var _ref = _async_to_generator(function(response) {
|
|
1552
|
+
var errorResponse, error;
|
|
1553
|
+
return _ts_generator(this, function(_state) {
|
|
1554
|
+
switch(_state.label){
|
|
1555
|
+
case 0:
|
|
1556
|
+
if (!(response.status !== 200)) return [
|
|
1557
|
+
3,
|
|
1558
|
+
4
|
|
1559
|
+
];
|
|
1560
|
+
_state.label = 1;
|
|
1561
|
+
case 1:
|
|
1562
|
+
_state.trys.push([
|
|
1563
|
+
1,
|
|
1564
|
+
3,
|
|
1565
|
+
,
|
|
1566
|
+
4
|
|
1567
|
+
]);
|
|
1568
|
+
return [
|
|
1569
|
+
4,
|
|
1570
|
+
response.json()
|
|
1571
|
+
];
|
|
1572
|
+
case 2:
|
|
1573
|
+
errorResponse = _state.sent();
|
|
1574
|
+
throw new Error(errorResponse.error);
|
|
1575
|
+
case 3:
|
|
1576
|
+
error = _state.sent();
|
|
1577
|
+
throw new Error("Failed to fetch");
|
|
1578
|
+
case 4:
|
|
1579
|
+
return [
|
|
1580
|
+
2,
|
|
1581
|
+
response.json()
|
|
1582
|
+
];
|
|
1583
|
+
}
|
|
1584
|
+
});
|
|
1585
|
+
});
|
|
1586
|
+
return function(response) {
|
|
1587
|
+
return _ref.apply(this, arguments);
|
|
1588
|
+
};
|
|
1589
|
+
}());
|
|
1590
|
+
}
|
|
1591
|
+
}, queryClient.getMutationDefaults(mutationKey)), {
|
|
1592
|
+
mutationKey: mutationKey
|
|
1593
|
+
}), threadContext.defaultOptions.mutations);
|
|
1640
1594
|
};
|
|
1641
|
-
// src/
|
|
1642
|
-
var
|
|
1643
|
-
var
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1595
|
+
// src/hooks/runs/useCreateRun/lib/onSuccess.ts
|
|
1596
|
+
var onSuccess = function(param) {
|
|
1597
|
+
var queryClient = param.queryClient;
|
|
1598
|
+
return function() {
|
|
1599
|
+
var _ref = _async_to_generator(function(data3, variables) {
|
|
1600
|
+
return _ts_generator(this, function(_state) {
|
|
1601
|
+
return [
|
|
1602
|
+
2,
|
|
1603
|
+
queryClient.setQueryData([
|
|
1604
|
+
"runs",
|
|
1605
|
+
variables
|
|
1606
|
+
], function(prevData) {
|
|
1607
|
+
if (!prevData) {
|
|
1608
|
+
return {
|
|
1609
|
+
pageParams: [],
|
|
1610
|
+
pages: [
|
|
1611
|
+
{
|
|
1612
|
+
data: [
|
|
1613
|
+
data3.run
|
|
1614
|
+
],
|
|
1615
|
+
hasNextPage: false,
|
|
1616
|
+
lastId: data3.run.id
|
|
1617
|
+
}
|
|
1618
|
+
]
|
|
1619
|
+
};
|
|
1620
|
+
}
|
|
1621
|
+
var _prevData_pages = _to_array(prevData.pages), latestPage = _prevData_pages[0], pagesRest = _prevData_pages.slice(1);
|
|
1622
|
+
return _object_spread_props(_object_spread({}, prevData), {
|
|
1623
|
+
pages: [
|
|
1624
|
+
_object_spread_props(_object_spread({}, latestPage), {
|
|
1625
|
+
data: [
|
|
1626
|
+
data3.run
|
|
1627
|
+
].concat(_to_consumable_array(latestPage.data))
|
|
1628
|
+
})
|
|
1629
|
+
].concat(_to_consumable_array(pagesRest))
|
|
1630
|
+
});
|
|
1631
|
+
})
|
|
1632
|
+
];
|
|
1633
|
+
});
|
|
1649
1634
|
});
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1635
|
+
return function(data3, variables) {
|
|
1636
|
+
return _ref.apply(this, arguments);
|
|
1637
|
+
};
|
|
1638
|
+
}();
|
|
1639
|
+
};
|
|
1640
|
+
// src/hooks/runs/useCreateRun/lib/onSettled.ts
|
|
1641
|
+
var onSettled = function(param) {
|
|
1642
|
+
var queryClient = param.queryClient;
|
|
1643
|
+
return function() {
|
|
1644
|
+
var _ref = _async_to_generator(function(_data, _error, variables) {
|
|
1645
|
+
return _ts_generator(this, function(_state) {
|
|
1646
|
+
switch(_state.label){
|
|
1647
|
+
case 0:
|
|
1648
|
+
return [
|
|
1649
|
+
4,
|
|
1650
|
+
queryClient.invalidateQueries({
|
|
1651
|
+
queryKey: [
|
|
1652
|
+
"messages",
|
|
1653
|
+
variables
|
|
1654
|
+
]
|
|
1655
|
+
})
|
|
1656
|
+
];
|
|
1657
|
+
case 1:
|
|
1658
|
+
_state.sent();
|
|
1659
|
+
return [
|
|
1660
|
+
4,
|
|
1661
|
+
queryClient.invalidateQueries({
|
|
1662
|
+
queryKey: [
|
|
1663
|
+
"runs",
|
|
1664
|
+
variables
|
|
1665
|
+
]
|
|
1666
|
+
})
|
|
1667
|
+
];
|
|
1668
|
+
case 2:
|
|
1669
|
+
_state.sent();
|
|
1670
|
+
return [
|
|
1671
|
+
2
|
|
1672
|
+
];
|
|
1673
|
+
}
|
|
1674
|
+
});
|
|
1655
1675
|
});
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
|
|
1659
|
-
});
|
|
1676
|
+
return function(_data, _error, variables) {
|
|
1677
|
+
return _ref.apply(this, arguments);
|
|
1678
|
+
};
|
|
1679
|
+
}();
|
|
1660
1680
|
};
|
|
1661
|
-
// src/
|
|
1662
|
-
var
|
|
1663
|
-
var
|
|
1664
|
-
|
|
1665
|
-
var Starting = function() {
|
|
1666
|
-
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_themes13.PopoverRoot, {
|
|
1667
|
-
children: [
|
|
1668
|
-
/* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(ToolCallBase, {
|
|
1669
|
-
children: [
|
|
1670
|
-
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_icons3.CircleIcon, {}),
|
|
1671
|
-
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ToolCallTitle, {
|
|
1672
|
-
children: "Starting actions"
|
|
1673
|
-
})
|
|
1674
|
-
]
|
|
1675
|
-
}),
|
|
1676
|
-
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_themes13.PopoverContent, {
|
|
1677
|
-
style: {
|
|
1678
|
-
maxHeight: "500px"
|
|
1679
|
-
},
|
|
1680
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_themes13.Text, {
|
|
1681
|
-
children: "Getting ready to connect to domain API"
|
|
1682
|
-
})
|
|
1683
|
-
})
|
|
1684
|
-
]
|
|
1685
|
-
});
|
|
1681
|
+
// src/lib/optimistic/optimisticId.ts
|
|
1682
|
+
var import_radash3 = require("radash");
|
|
1683
|
+
var optimisticId = function() {
|
|
1684
|
+
return "-".concat((0, import_radash3.uid)(24));
|
|
1686
1685
|
};
|
|
1687
|
-
// src/
|
|
1688
|
-
var
|
|
1689
|
-
var
|
|
1690
|
-
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
|
|
1686
|
+
// src/hooks/runs/useCreateRun/lib/onMutate/data.ts
|
|
1687
|
+
var data = function(prevData) {
|
|
1688
|
+
var run = {
|
|
1689
|
+
id: optimisticId(),
|
|
1690
|
+
object: "thread.run",
|
|
1691
|
+
created_at: +/* @__PURE__ */ new Date(),
|
|
1692
|
+
assistant_id: null,
|
|
1693
|
+
thread_id: null,
|
|
1694
|
+
status: "in_progress",
|
|
1695
|
+
expires_at: +/* @__PURE__ */ new Date() + 1e3 * 60 * 60 * 24,
|
|
1696
|
+
cancelled_at: null,
|
|
1697
|
+
failed_at: null,
|
|
1698
|
+
completed_at: null,
|
|
1699
|
+
required_action: null,
|
|
1700
|
+
last_error: null,
|
|
1701
|
+
model: null,
|
|
1702
|
+
instructions: null,
|
|
1703
|
+
tools: [],
|
|
1704
|
+
file_ids: [],
|
|
1705
|
+
metadata: {},
|
|
1706
|
+
usage: null
|
|
1707
|
+
};
|
|
1708
|
+
if (!prevData) {
|
|
1709
|
+
return {
|
|
1710
|
+
pageParams: [],
|
|
1711
|
+
pages: [
|
|
1712
|
+
{
|
|
1713
|
+
data: [
|
|
1714
|
+
run
|
|
1715
|
+
],
|
|
1716
|
+
hasNextPage: false,
|
|
1717
|
+
lastId: run.id
|
|
1718
|
+
}
|
|
1719
|
+
]
|
|
1720
|
+
};
|
|
1721
|
+
}
|
|
1722
|
+
var _prevData_pages = _to_array(prevData.pages), latestPage = _prevData_pages[0], pagesRest = _prevData_pages.slice(1);
|
|
1723
|
+
return _object_spread_props(_object_spread({}, prevData), {
|
|
1724
|
+
pages: [
|
|
1725
|
+
_object_spread_props(_object_spread({}, latestPage), {
|
|
1726
|
+
data: [
|
|
1727
|
+
run
|
|
1728
|
+
].concat(_to_consumable_array(latestPage.data))
|
|
1700
1729
|
})
|
|
1701
|
-
]
|
|
1730
|
+
].concat(_to_consumable_array(pagesRest))
|
|
1702
1731
|
});
|
|
1703
1732
|
};
|
|
1704
|
-
// src/
|
|
1705
|
-
var
|
|
1706
|
-
var
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1733
|
+
// src/hooks/runs/useCreateRun/lib/onMutate/index.ts
|
|
1734
|
+
var onMutate = function(param) {
|
|
1735
|
+
var queryClient = param.queryClient;
|
|
1736
|
+
return function() {
|
|
1737
|
+
var _ref = _async_to_generator(function(variables) {
|
|
1738
|
+
var queryKey, prevRuns;
|
|
1739
|
+
return _ts_generator(this, function(_state) {
|
|
1740
|
+
switch(_state.label){
|
|
1741
|
+
case 0:
|
|
1742
|
+
queryKey = [
|
|
1743
|
+
"runs",
|
|
1744
|
+
variables
|
|
1745
|
+
];
|
|
1746
|
+
return [
|
|
1747
|
+
4,
|
|
1748
|
+
queryClient.cancelQueries({
|
|
1749
|
+
queryKey: queryKey
|
|
1750
|
+
})
|
|
1751
|
+
];
|
|
1752
|
+
case 1:
|
|
1753
|
+
_state.sent();
|
|
1754
|
+
prevRuns = queryClient.getQueryData(queryKey);
|
|
1755
|
+
queryClient.setQueryData(queryKey, data);
|
|
1756
|
+
return [
|
|
1757
|
+
2,
|
|
1758
|
+
{
|
|
1759
|
+
prevRuns: prevRuns,
|
|
1760
|
+
variables: variables
|
|
1761
|
+
}
|
|
1762
|
+
];
|
|
1763
|
+
}
|
|
1764
|
+
});
|
|
1712
1765
|
});
|
|
1713
|
-
|
|
1714
|
-
|
|
1766
|
+
return function(variables) {
|
|
1767
|
+
return _ref.apply(this, arguments);
|
|
1768
|
+
};
|
|
1769
|
+
}();
|
|
1715
1770
|
};
|
|
1716
|
-
// src/
|
|
1717
|
-
var
|
|
1718
|
-
var
|
|
1719
|
-
var
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
|
|
1771
|
+
// src/hooks/runs/useCreateRun/index.ts
|
|
1772
|
+
var useCreateRun = function() {
|
|
1773
|
+
var queryClient = (0, import_react_query5.useQueryClient)();
|
|
1774
|
+
var superinterfaceContext = useSuperinterfaceContext();
|
|
1775
|
+
var threadContext = useSuperinterfaceContext();
|
|
1776
|
+
var props = (0, import_react_query5.useMutation)(_object_spread({
|
|
1777
|
+
onSuccess: onSuccess({
|
|
1778
|
+
queryClient: queryClient
|
|
1779
|
+
}),
|
|
1780
|
+
onSettled: onSettled({
|
|
1781
|
+
queryClient: queryClient
|
|
1782
|
+
}),
|
|
1783
|
+
onMutate: onMutate({
|
|
1784
|
+
queryClient: queryClient
|
|
1726
1785
|
})
|
|
1786
|
+
}, mutationOptions({
|
|
1787
|
+
mutationKeyBase: [
|
|
1788
|
+
"createRun"
|
|
1789
|
+
],
|
|
1790
|
+
path: "/runs",
|
|
1791
|
+
queryClient: queryClient,
|
|
1792
|
+
threadContext: threadContext,
|
|
1793
|
+
superinterfaceContext: superinterfaceContext
|
|
1794
|
+
})));
|
|
1795
|
+
return _object_spread_props(_object_spread({}, props), {
|
|
1796
|
+
createRun: (0, import_radash4.partob)(props.mutate, threadContext.variables)
|
|
1727
1797
|
});
|
|
1728
1798
|
};
|
|
1729
|
-
// src/
|
|
1730
|
-
var
|
|
1731
|
-
var
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
// src/contexts/markdown/MarkdownContext/lib/components/Paragraph.tsx
|
|
1735
|
-
var import_themes16 = require("@radix-ui/themes");
|
|
1736
|
-
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
1737
|
-
var Paragraph = function(param) {
|
|
1738
|
-
var children = param.children;
|
|
1739
|
-
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_themes16.Box, {
|
|
1740
|
-
pb: "3",
|
|
1741
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_themes16.Text, {
|
|
1742
|
-
size: "3",
|
|
1743
|
-
style: {
|
|
1744
|
-
whiteSpace: "pre-line",
|
|
1745
|
-
wordBreak: "break-word"
|
|
1746
|
-
},
|
|
1747
|
-
children: children
|
|
1748
|
-
})
|
|
1749
|
-
});
|
|
1799
|
+
// src/lib/optimistic/isOptimistic.ts
|
|
1800
|
+
var import_lodash6 = __toESM(require("lodash"), 1);
|
|
1801
|
+
var isOptimistic = function(param) {
|
|
1802
|
+
var id = param.id;
|
|
1803
|
+
return import_lodash6.default.startsWith(id, "-");
|
|
1750
1804
|
};
|
|
1751
|
-
// src/
|
|
1752
|
-
var
|
|
1753
|
-
var
|
|
1754
|
-
var
|
|
1755
|
-
var
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1805
|
+
// src/hooks/runs/useManageRuns/index.tsx
|
|
1806
|
+
var useManageRuns = function() {
|
|
1807
|
+
var queryClient = (0, import_react_query6.useQueryClient)();
|
|
1808
|
+
var latestRunProps = useLatestRun();
|
|
1809
|
+
var latestMessageProps = useLatestMessage();
|
|
1810
|
+
var createRunProps = useCreateRun();
|
|
1811
|
+
var threadContext = useSuperinterfaceContext();
|
|
1812
|
+
(0, import_react24.useEffect)(function() {
|
|
1813
|
+
if (createRunProps.isPending) return;
|
|
1814
|
+
if (latestRunProps.isFetching) return;
|
|
1815
|
+
if (latestMessageProps.isFetching) return;
|
|
1816
|
+
if (!latestMessageProps.latestMessage) return;
|
|
1817
|
+
if (latestMessageProps.latestMessage.role !== "user") return;
|
|
1818
|
+
if (isOptimistic({
|
|
1819
|
+
id: latestMessageProps.latestMessage.id
|
|
1820
|
+
})) return;
|
|
1821
|
+
if (latestRunProps.latestRun && latestRunProps.latestRun.created_at > latestMessageProps.latestMessage.created_at) {
|
|
1822
|
+
return;
|
|
1823
|
+
}
|
|
1824
|
+
var isMutating = queryClient.isMutating({
|
|
1825
|
+
mutationKey: [
|
|
1826
|
+
"createRun",
|
|
1827
|
+
threadContext.variables
|
|
1828
|
+
]
|
|
1829
|
+
});
|
|
1830
|
+
if (isMutating) return;
|
|
1831
|
+
createRunProps.createRun();
|
|
1832
|
+
}, [
|
|
1833
|
+
threadContext,
|
|
1834
|
+
queryClient,
|
|
1835
|
+
createRunProps,
|
|
1836
|
+
latestRunProps,
|
|
1837
|
+
latestMessageProps
|
|
1838
|
+
]);
|
|
1839
|
+
return null;
|
|
1760
1840
|
};
|
|
1761
|
-
// src/
|
|
1762
|
-
var
|
|
1763
|
-
var
|
|
1764
|
-
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
|
|
1774
|
-
|
|
1841
|
+
// src/hooks/runs/usePolling/index.tsx
|
|
1842
|
+
var import_react_query7 = require("@tanstack/react-query");
|
|
1843
|
+
var import_react_use = require("react-use");
|
|
1844
|
+
// src/hooks/runs/usePolling/lib/refetch.ts
|
|
1845
|
+
var refetch = function() {
|
|
1846
|
+
var _ref = _async_to_generator(function(param) {
|
|
1847
|
+
var queryClient, threadContext, _threadContext_defaultOptions_queries_queryKey, _threadContext_defaultOptions_queries_queryKey1;
|
|
1848
|
+
return _ts_generator(this, function(_state) {
|
|
1849
|
+
switch(_state.label){
|
|
1850
|
+
case 0:
|
|
1851
|
+
queryClient = param.queryClient, threadContext = param.threadContext;
|
|
1852
|
+
return [
|
|
1853
|
+
4,
|
|
1854
|
+
queryClient.invalidateQueries({
|
|
1855
|
+
queryKey: (_threadContext_defaultOptions_queries_queryKey = threadContext.defaultOptions.queries.queryKey) !== null && _threadContext_defaultOptions_queries_queryKey !== void 0 ? _threadContext_defaultOptions_queries_queryKey : [
|
|
1856
|
+
"messages",
|
|
1857
|
+
threadContext.variables
|
|
1858
|
+
]
|
|
1859
|
+
})
|
|
1860
|
+
];
|
|
1861
|
+
case 1:
|
|
1862
|
+
_state.sent();
|
|
1863
|
+
return [
|
|
1864
|
+
4,
|
|
1865
|
+
queryClient.invalidateQueries({
|
|
1866
|
+
queryKey: (_threadContext_defaultOptions_queries_queryKey1 = threadContext.defaultOptions.queries.queryKey) !== null && _threadContext_defaultOptions_queries_queryKey1 !== void 0 ? _threadContext_defaultOptions_queries_queryKey1 : [
|
|
1867
|
+
"runs",
|
|
1868
|
+
threadContext.variables
|
|
1869
|
+
]
|
|
1870
|
+
})
|
|
1871
|
+
];
|
|
1872
|
+
case 2:
|
|
1873
|
+
_state.sent();
|
|
1874
|
+
return [
|
|
1875
|
+
2
|
|
1876
|
+
];
|
|
1877
|
+
}
|
|
1878
|
+
});
|
|
1775
1879
|
});
|
|
1880
|
+
return function refetch(_) {
|
|
1881
|
+
return _ref.apply(this, arguments);
|
|
1882
|
+
};
|
|
1883
|
+
}();
|
|
1884
|
+
// src/hooks/runs/usePolling/index.tsx
|
|
1885
|
+
var usePolling = function() {
|
|
1886
|
+
var threadContext = useSuperinterfaceContext();
|
|
1887
|
+
var queryClient = (0, import_react_query7.useQueryClient)();
|
|
1888
|
+
var isRunActiveProps = useIsRunActive();
|
|
1889
|
+
(0, import_react_use.useInterval)(function() {
|
|
1890
|
+
refetch({
|
|
1891
|
+
queryClient: queryClient,
|
|
1892
|
+
threadContext: threadContext
|
|
1893
|
+
});
|
|
1894
|
+
console.log("poll refetched");
|
|
1895
|
+
}, isRunActiveProps.isRunActive ? 3e3 : null);
|
|
1896
|
+
return null;
|
|
1776
1897
|
};
|
|
1777
|
-
// src/
|
|
1778
|
-
var
|
|
1779
|
-
var
|
|
1780
|
-
|
|
1781
|
-
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
|
|
1898
|
+
// src/hooks/actions/useManageActions/index.tsx
|
|
1899
|
+
var import_react_query9 = require("@tanstack/react-query");
|
|
1900
|
+
var import_react25 = require("react");
|
|
1901
|
+
// src/hooks/actions/useHandleAction/index.tsx
|
|
1902
|
+
var import_radash5 = require("radash");
|
|
1903
|
+
var import_react_query8 = require("@tanstack/react-query");
|
|
1904
|
+
// src/hooks/actions/useHandleAction/lib/onSettled.ts
|
|
1905
|
+
var onSettled2 = function(param) {
|
|
1906
|
+
var queryClient = param.queryClient;
|
|
1907
|
+
return function() {
|
|
1908
|
+
var _ref = _async_to_generator(function(_data, _error, variables) {
|
|
1909
|
+
return _ts_generator(this, function(_state) {
|
|
1910
|
+
switch(_state.label){
|
|
1911
|
+
case 0:
|
|
1912
|
+
return [
|
|
1913
|
+
4,
|
|
1914
|
+
queryClient.invalidateQueries({
|
|
1915
|
+
queryKey: [
|
|
1916
|
+
"messages",
|
|
1917
|
+
variables
|
|
1918
|
+
]
|
|
1919
|
+
})
|
|
1920
|
+
];
|
|
1921
|
+
case 1:
|
|
1922
|
+
_state.sent();
|
|
1923
|
+
return [
|
|
1924
|
+
4,
|
|
1925
|
+
queryClient.invalidateQueries({
|
|
1926
|
+
queryKey: [
|
|
1927
|
+
"runs",
|
|
1928
|
+
variables
|
|
1929
|
+
]
|
|
1930
|
+
})
|
|
1931
|
+
];
|
|
1932
|
+
case 2:
|
|
1933
|
+
_state.sent();
|
|
1934
|
+
return [
|
|
1935
|
+
2
|
|
1936
|
+
];
|
|
1937
|
+
}
|
|
1938
|
+
});
|
|
1939
|
+
});
|
|
1940
|
+
return function(_data, _error, variables) {
|
|
1941
|
+
return _ref.apply(this, arguments);
|
|
1942
|
+
};
|
|
1943
|
+
}();
|
|
1792
1944
|
};
|
|
1793
|
-
// src/
|
|
1794
|
-
var
|
|
1795
|
-
var
|
|
1796
|
-
var
|
|
1797
|
-
var
|
|
1798
|
-
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
children: children
|
|
1945
|
+
// src/hooks/actions/useHandleAction/index.tsx
|
|
1946
|
+
var useHandleAction = function() {
|
|
1947
|
+
var queryClient = (0, import_react_query8.useQueryClient)();
|
|
1948
|
+
var superinterfaceContext = useSuperinterfaceContext();
|
|
1949
|
+
var threadContext = useSuperinterfaceContext();
|
|
1950
|
+
var props = (0, import_react_query8.useMutation)(_object_spread({
|
|
1951
|
+
onSettled: onSettled2({
|
|
1952
|
+
queryClient: queryClient
|
|
1802
1953
|
})
|
|
1954
|
+
}, mutationOptions({
|
|
1955
|
+
mutationKeyBase: [
|
|
1956
|
+
"handleAction"
|
|
1957
|
+
],
|
|
1958
|
+
path: "/actions",
|
|
1959
|
+
queryClient: queryClient,
|
|
1960
|
+
threadContext: threadContext,
|
|
1961
|
+
superinterfaceContext: superinterfaceContext
|
|
1962
|
+
})));
|
|
1963
|
+
return _object_spread_props(_object_spread({}, props), {
|
|
1964
|
+
handleAction: (0, import_radash5.partob)(props.mutate, threadContext.variables)
|
|
1803
1965
|
});
|
|
1804
1966
|
};
|
|
1805
|
-
// src/
|
|
1806
|
-
var
|
|
1807
|
-
var
|
|
1808
|
-
var
|
|
1809
|
-
var
|
|
1810
|
-
|
|
1811
|
-
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
li: ListItem
|
|
1822
|
-
};
|
|
1823
|
-
// src/contexts/markdown/MarkdownContext/index.ts
|
|
1824
|
-
var MarkdownContext = (0, import_react21.createContext)({
|
|
1825
|
-
remarkPlugins: [],
|
|
1826
|
-
rehypeReactOptions: {
|
|
1827
|
-
components: components
|
|
1828
|
-
}
|
|
1829
|
-
});
|
|
1830
|
-
// src/components/ThreadMessages/ThreadMessage/TextContent/index.tsx
|
|
1831
|
-
var TextContent = function(param) {
|
|
1832
|
-
var content = param.content;
|
|
1833
|
-
var markdownContext = (0, import_react22.useContext)(MarkdownContext);
|
|
1834
|
-
return (0, import_react_remark.useRemarkSync)(content.text.value, markdownContext);
|
|
1835
|
-
};
|
|
1836
|
-
// src/components/ThreadMessages/ThreadMessage/index.tsx
|
|
1837
|
-
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
1838
|
-
var ThreadMessage = function(param) {
|
|
1839
|
-
var threadMessage = param.threadMessage;
|
|
1840
|
-
var _ref = _sliced_to_array((0, import_react23.useMemo)(function() {
|
|
1841
|
-
if (!threadMessage.runSteps.length) return [
|
|
1842
|
-
[],
|
|
1843
|
-
[]
|
|
1844
|
-
];
|
|
1845
|
-
var messageCreationRunStepIndex = threadMessage.runSteps.findIndex(function(runStep) {
|
|
1846
|
-
if (runStep.step_details.type !== "message_creation") return;
|
|
1847
|
-
return runStep.step_details.message_creation.message_id === threadMessage.id;
|
|
1967
|
+
// src/hooks/actions/useManageActions/index.tsx
|
|
1968
|
+
var useManageActions = function() {
|
|
1969
|
+
var queryClient = (0, import_react_query9.useQueryClient)();
|
|
1970
|
+
var threadContext = useSuperinterfaceContext();
|
|
1971
|
+
var latestRunProps = useLatestRun();
|
|
1972
|
+
var handleActionProps = useHandleAction();
|
|
1973
|
+
(0, import_react25.useEffect)(function() {
|
|
1974
|
+
if (handleActionProps.isPending) return;
|
|
1975
|
+
if (latestRunProps.isFetching) return;
|
|
1976
|
+
if (!latestRunProps.latestRun) return;
|
|
1977
|
+
if (latestRunProps.latestRun.status !== "requires_action") return;
|
|
1978
|
+
var isMutating = queryClient.isMutating({
|
|
1979
|
+
mutationKey: [
|
|
1980
|
+
"handleAction",
|
|
1981
|
+
threadContext.variables
|
|
1982
|
+
]
|
|
1848
1983
|
});
|
|
1849
|
-
|
|
1850
|
-
|
|
1984
|
+
if (isMutating) return;
|
|
1985
|
+
console.log("requires action", {
|
|
1986
|
+
latestRunProps: latestRunProps
|
|
1851
1987
|
});
|
|
1852
|
-
|
|
1853
|
-
|
|
1854
|
-
}
|
|
1855
|
-
var laterRunSteps2 = threadMessage.runSteps.slice(nextRunStepIndex, messageCreationRunStepIndex);
|
|
1856
|
-
var prevRunStepIndex = threadMessage.runSteps.slice(messageCreationRunStepIndex + 1).findIndex(function(runStep) {
|
|
1857
|
-
return runStep.step_details.type === "message_creation";
|
|
1988
|
+
handleActionProps.handleAction({
|
|
1989
|
+
latestRun: latestRunProps.latestRun
|
|
1858
1990
|
});
|
|
1859
|
-
var olderRunSteps2;
|
|
1860
|
-
if (prevRunStepIndex === -1) {
|
|
1861
|
-
olderRunSteps2 = threadMessage.runSteps.slice(messageCreationRunStepIndex + 1);
|
|
1862
|
-
} else {
|
|
1863
|
-
olderRunSteps2 = threadMessage.runSteps.slice(messageCreationRunStepIndex + 1, messageCreationRunStepIndex + prevRunStepIndex);
|
|
1864
|
-
}
|
|
1865
|
-
return [
|
|
1866
|
-
olderRunSteps2,
|
|
1867
|
-
laterRunSteps2
|
|
1868
|
-
];
|
|
1869
1991
|
}, [
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(RunSteps, {
|
|
1875
|
-
runSteps: olderRunSteps
|
|
1876
|
-
}),
|
|
1877
|
-
threadMessage.content.map(function(content, index) {
|
|
1878
|
-
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_themes22.Box, {
|
|
1879
|
-
children: content.type === "text" && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(TextContent, {
|
|
1880
|
-
content: content
|
|
1881
|
-
})
|
|
1882
|
-
}, index);
|
|
1883
|
-
}),
|
|
1884
|
-
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(RunSteps, {
|
|
1885
|
-
runSteps: laterRunSteps
|
|
1886
|
-
})
|
|
1887
|
-
]
|
|
1888
|
-
});
|
|
1889
|
-
};
|
|
1890
|
-
// src/components/threadMessages/ThreadMessages/Content/ThreadMessageGroup/Content/index.tsx
|
|
1891
|
-
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
1892
|
-
var Content2 = function(param) {
|
|
1893
|
-
var threadMessageGroup = param.threadMessageGroup;
|
|
1894
|
-
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_themes23.Flex, {
|
|
1895
|
-
direction: "column-reverse",
|
|
1896
|
-
children: threadMessageGroup.threadMessages.map(function(threadMessage) {
|
|
1897
|
-
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(ThreadMessage, {
|
|
1898
|
-
threadMessage: threadMessage
|
|
1899
|
-
}, threadMessage.id);
|
|
1900
|
-
})
|
|
1901
|
-
});
|
|
1902
|
-
};
|
|
1903
|
-
// src/components/threadMessages/ThreadMessages/Content/ThreadMessageGroup/index.tsx
|
|
1904
|
-
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
1905
|
-
var ThreadMessageGroup = function(param) {
|
|
1906
|
-
var threadMessageGroup = param.threadMessageGroup;
|
|
1907
|
-
var assistantNameContext = (0, import_react24.useContext)(AssistantNameContext);
|
|
1908
|
-
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(ThreadMessagesGroupBase, {
|
|
1909
|
-
children: [
|
|
1910
|
-
threadMessageGroup.role === "user" ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_themes24.Avatar, {
|
|
1911
|
-
fallback: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_icons4.PersonIcon, {}),
|
|
1912
|
-
size: "1"
|
|
1913
|
-
}) : /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(AssistantAvatar, {}),
|
|
1914
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_themes24.Box, {
|
|
1915
|
-
grow: "1",
|
|
1916
|
-
children: [
|
|
1917
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Name, {
|
|
1918
|
-
children: threadMessageGroup.role === "user" ? "You" : assistantNameContext
|
|
1919
|
-
}),
|
|
1920
|
-
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Content2, {
|
|
1921
|
-
threadMessageGroup: threadMessageGroup
|
|
1922
|
-
})
|
|
1923
|
-
]
|
|
1924
|
-
})
|
|
1925
|
-
]
|
|
1926
|
-
});
|
|
1927
|
-
};
|
|
1928
|
-
// src/components/threadMessages/ThreadMessages/Content/index.tsx
|
|
1929
|
-
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
1930
|
-
var Content3 = function(param) {
|
|
1931
|
-
var threadMessages2 = param.threadMessages, isLoading = param.isLoading, isLoadingError = param.isLoadingError;
|
|
1932
|
-
var _useThreadMessageGroups = useThreadMessageGroups({
|
|
1933
|
-
threadMessages: threadMessages2
|
|
1934
|
-
}), threadMessageGroups2 = _useThreadMessageGroups.threadMessageGroups;
|
|
1935
|
-
if (isLoading || isLoadingError) {
|
|
1936
|
-
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(ThreadMessagesSkeleton, {});
|
|
1937
|
-
}
|
|
1938
|
-
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_jsx_runtime30.Fragment, {
|
|
1939
|
-
children: threadMessageGroups2.map(function(threadMessageGroup) {
|
|
1940
|
-
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(ThreadMessageGroup, {
|
|
1941
|
-
threadMessageGroup: threadMessageGroup
|
|
1942
|
-
}, threadMessageGroup.id);
|
|
1943
|
-
})
|
|
1944
|
-
});
|
|
1945
|
-
};
|
|
1946
|
-
// src/components/threadMessages/ThreadMessages/Progress/index.tsx
|
|
1947
|
-
var import_themes27 = require("@radix-ui/themes");
|
|
1948
|
-
// src/components/skeletons/StartingContentSkeleton/index.tsx
|
|
1949
|
-
var import_themes25 = require("@radix-ui/themes");
|
|
1950
|
-
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
1951
|
-
var StartingContentSkeleton = function() {
|
|
1952
|
-
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_themes25.Box, {
|
|
1953
|
-
shrink: "0",
|
|
1954
|
-
mt: "1",
|
|
1955
|
-
style: {
|
|
1956
|
-
animation: "pulse 2s cubic-bezier(.4,0,.6,1) infinite",
|
|
1957
|
-
borderRadius: "var(--radius-3)",
|
|
1958
|
-
backgroundColor: "var(--gray-12)",
|
|
1959
|
-
height: "var(--space-4)",
|
|
1960
|
-
width: "var(--space-4)"
|
|
1961
|
-
}
|
|
1962
|
-
});
|
|
1963
|
-
};
|
|
1964
|
-
// src/components/skeletons/StartingSkeleton/index.tsx
|
|
1965
|
-
var import_react25 = require("react");
|
|
1966
|
-
var import_themes26 = require("@radix-ui/themes");
|
|
1967
|
-
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
1968
|
-
var StartingSkeleton = function(param) {
|
|
1969
|
-
var children = param.children;
|
|
1970
|
-
var assistantNameContext = (0, import_react25.useContext)(AssistantNameContext);
|
|
1971
|
-
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(ThreadMessagesGroupBase, {
|
|
1972
|
-
children: [
|
|
1973
|
-
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(AssistantAvatar, {}),
|
|
1974
|
-
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_themes26.Box, {
|
|
1975
|
-
children: [
|
|
1976
|
-
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Name, {
|
|
1977
|
-
children: assistantNameContext
|
|
1978
|
-
}),
|
|
1979
|
-
children,
|
|
1980
|
-
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)(StartingContentSkeleton, {})
|
|
1981
|
-
]
|
|
1982
|
-
})
|
|
1983
|
-
]
|
|
1984
|
-
});
|
|
1992
|
+
handleActionProps,
|
|
1993
|
+
latestRunProps
|
|
1994
|
+
]);
|
|
1995
|
+
return null;
|
|
1985
1996
|
};
|
|
1986
|
-
// src/
|
|
1987
|
-
var
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
if (latestThreadMessage.role === "user") {
|
|
1993
|
-
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(StartingSkeleton, {});
|
|
1994
|
-
}
|
|
1995
|
-
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(ThreadMessagesGroupBase, {
|
|
1996
|
-
children: [
|
|
1997
|
-
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_themes27.Box, {
|
|
1998
|
-
pl: "5"
|
|
1999
|
-
}),
|
|
2000
|
-
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(StartingContentSkeleton, {})
|
|
2001
|
-
]
|
|
2002
|
-
});
|
|
1997
|
+
// src/hooks/threads/useLifecycle/index.tsx
|
|
1998
|
+
var useLifecycle = function() {
|
|
1999
|
+
useManageRuns();
|
|
2000
|
+
useManageActions();
|
|
2001
|
+
usePolling();
|
|
2002
|
+
return null;
|
|
2003
2003
|
};
|
|
2004
|
-
// src/components/
|
|
2004
|
+
// src/components/threads/Thread/Messages/Root/index.tsx
|
|
2005
2005
|
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
2006
|
-
var
|
|
2006
|
+
var Root = function(param) {
|
|
2007
2007
|
var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
|
|
2008
|
-
var
|
|
2009
|
-
|
|
2008
|
+
var _useMessages = useMessages(), isFetchingNextPage = _useMessages.isFetchingNextPage, hasNextPage = _useMessages.hasNextPage, fetchNextPage = _useMessages.fetchNextPage;
|
|
2009
|
+
useLifecycle();
|
|
2010
2010
|
var _useInfiniteScroll = useInfiniteScroll({
|
|
2011
2011
|
isFetchingNextPage: isFetchingNextPage,
|
|
2012
2012
|
hasNextPage: hasNextPage,
|
|
2013
2013
|
fetchNextPage: fetchNextPage
|
|
2014
2014
|
}), containerRef = _useInfiniteScroll.containerRef, loaderRef = _useInfiniteScroll.loaderRef;
|
|
2015
|
-
var _useIsRunActive = useIsRunActive(), isRunActive2 = _useIsRunActive.isRunActive;
|
|
2016
|
-
var latestThreadMessage = useLatestThreadMessage().latestThreadMessage;
|
|
2017
2015
|
return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_themes28.Flex, {
|
|
2018
2016
|
ref: containerRef,
|
|
2019
2017
|
direction: "column-reverse",
|
|
2020
|
-
|
|
2018
|
+
flexGrow: "1",
|
|
2021
2019
|
style: _object_spread_props(_object_spread({}, style), {
|
|
2022
2020
|
overflow: "auto"
|
|
2023
2021
|
}),
|
|
2024
2022
|
children: [
|
|
2025
|
-
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_themes28.Flex, {
|
|
2026
|
-
shrink: "0",
|
|
2027
|
-
style: {
|
|
2028
|
-
height: "var(--space-3)"
|
|
2029
|
-
}
|
|
2030
|
-
}),
|
|
2031
|
-
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Progress, {
|
|
2032
|
-
latestThreadMessage: latestThreadMessage,
|
|
2033
|
-
isRunActive: isRunActive2
|
|
2034
|
-
}),
|
|
2035
2023
|
children,
|
|
2036
|
-
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
2037
|
-
threadMessages: threadMessages2,
|
|
2038
|
-
isLoading: isLoading,
|
|
2039
|
-
isLoadingError: isLoadingError
|
|
2040
|
-
}),
|
|
2041
|
-
hasNextPage && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(ThreadMessagesSkeleton, {
|
|
2024
|
+
hasNextPage && /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_themes28.Flex, {
|
|
2042
2025
|
ref: loaderRef
|
|
2043
2026
|
}),
|
|
2044
2027
|
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_themes28.Flex, {
|
|
2045
|
-
|
|
2046
|
-
|
|
2028
|
+
flexShrink: "0",
|
|
2029
|
+
flexGrow: "1"
|
|
2030
|
+
})
|
|
2031
|
+
]
|
|
2032
|
+
});
|
|
2033
|
+
};
|
|
2034
|
+
// src/components/threads/Thread/Messages/NextPageSkeleton.tsx
|
|
2035
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
2036
|
+
var NextPageSkeleton = function() {
|
|
2037
|
+
var hasNextPage = useMessages().hasNextPage;
|
|
2038
|
+
if (!hasNextPage) {
|
|
2039
|
+
return null;
|
|
2040
|
+
}
|
|
2041
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(MessagesSkeleton, {});
|
|
2042
|
+
};
|
|
2043
|
+
// src/components/threads/Thread/Messages/index.tsx
|
|
2044
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
2045
|
+
var Messages = function(param) {
|
|
2046
|
+
var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
|
|
2047
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(Root, {
|
|
2048
|
+
style: style,
|
|
2049
|
+
children: [
|
|
2050
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_themes29.Flex, {
|
|
2051
|
+
flexShrink: "0",
|
|
2052
|
+
height: "var(--space-3)"
|
|
2053
|
+
}),
|
|
2054
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Progress, {}),
|
|
2055
|
+
children,
|
|
2056
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Content3, {}),
|
|
2057
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(NextPageSkeleton, {}),
|
|
2058
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_themes29.Flex, {
|
|
2059
|
+
flexShrink: "0",
|
|
2060
|
+
flexGrow: "1"
|
|
2047
2061
|
})
|
|
2048
2062
|
]
|
|
2049
2063
|
});
|
|
2050
2064
|
};
|
|
2051
|
-
|
|
2052
|
-
|
|
2065
|
+
Messages.Root = Root;
|
|
2066
|
+
Messages.Message = Message;
|
|
2067
|
+
Messages.NextPageSkeleton = NextPageSkeleton;
|
|
2068
|
+
// src/components/threads/Thread/MessageForm/index.tsx
|
|
2069
|
+
var import_themes32 = require("@radix-ui/themes");
|
|
2070
|
+
// src/components/threads/Thread/MessageForm/Submit/index.tsx
|
|
2071
|
+
var import_react_icons5 = require("@radix-ui/react-icons");
|
|
2072
|
+
var import_themes30 = require("@radix-ui/themes");
|
|
2073
|
+
// src/components/spinners/Spinner/index.tsx
|
|
2074
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
2075
|
+
var Spinner = function(props) {
|
|
2076
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("svg", _object_spread_props(_object_spread({
|
|
2077
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
2078
|
+
width: "24",
|
|
2079
|
+
height: "24",
|
|
2080
|
+
viewBox: "0 0 24 24",
|
|
2081
|
+
fill: "none",
|
|
2082
|
+
stroke: "currentColor",
|
|
2083
|
+
strokeWidth: "2",
|
|
2084
|
+
strokeLinecap: "round",
|
|
2085
|
+
strokeLinejoin: "round",
|
|
2086
|
+
style: {
|
|
2087
|
+
height: "var(--space-4)",
|
|
2088
|
+
width: "var(--space-4)",
|
|
2089
|
+
animation: "spin 1s linear infinite"
|
|
2090
|
+
}
|
|
2091
|
+
}, props), {
|
|
2092
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("path", {
|
|
2093
|
+
d: "M21 12a9 9 0 1 1-6.219-8.56"
|
|
2094
|
+
})
|
|
2095
|
+
}));
|
|
2096
|
+
};
|
|
2097
|
+
// src/hooks/messages/useMessageFormContext/index.ts
|
|
2053
2098
|
var import_react27 = require("react");
|
|
2054
|
-
|
|
2055
|
-
var import_react_use2 = require("react-use");
|
|
2056
|
-
// src/components/textareas/TextareaBase/index.tsx
|
|
2099
|
+
// src/contexts/messages/MessageFormContext/index.ts
|
|
2057
2100
|
var import_react26 = require("react");
|
|
2058
|
-
var
|
|
2059
|
-
|
|
2060
|
-
|
|
2061
|
-
|
|
2062
|
-
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_textarea_autosize.default, _object_spread({
|
|
2063
|
-
ref: ref,
|
|
2064
|
-
className: "textarea-base",
|
|
2065
|
-
style: {
|
|
2066
|
-
resize: "none",
|
|
2067
|
-
fontSize: "".concat(14 * UPSCALE_RATIO, "px"),
|
|
2068
|
-
lineHeight: "".concat(24 * UPSCALE_RATIO, "px"),
|
|
2069
|
-
transform: "scale(".concat(1 / UPSCALE_RATIO, ")"),
|
|
2070
|
-
margin: "0 ".concat((-100 * UPSCALE_RATIO + 100) / 2, "%"),
|
|
2071
|
-
width: "".concat(100 * UPSCALE_RATIO, "%"),
|
|
2072
|
-
maxWidth: "".concat(100 * UPSCALE_RATIO, "%"),
|
|
2073
|
-
flexGrow: 1,
|
|
2074
|
-
display: "flex"
|
|
2075
|
-
}
|
|
2076
|
-
}, props));
|
|
2101
|
+
var MessageFormContext = (0, import_react26.createContext)({
|
|
2102
|
+
isDisabled: false,
|
|
2103
|
+
isLoading: false,
|
|
2104
|
+
submit: function() {}
|
|
2077
2105
|
});
|
|
2078
|
-
// src/hooks/
|
|
2106
|
+
// src/hooks/messages/useMessageFormContext/index.ts
|
|
2107
|
+
var useMessageFormContext = function() {
|
|
2108
|
+
return (0, import_react27.useContext)(MessageFormContext);
|
|
2109
|
+
};
|
|
2110
|
+
// src/components/threads/Thread/MessageForm/Submit/index.tsx
|
|
2111
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
2112
|
+
var Submit = function() {
|
|
2113
|
+
var _useMessageFormContext = useMessageFormContext(), isDisabled = _useMessageFormContext.isDisabled, isLoading = _useMessageFormContext.isLoading;
|
|
2114
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_themes30.Button, {
|
|
2115
|
+
type: "submit",
|
|
2116
|
+
radius: "large",
|
|
2117
|
+
disabled: isDisabled,
|
|
2118
|
+
children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Spinner, {}) : /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_react_icons5.ArrowUpIcon, {})
|
|
2119
|
+
});
|
|
2120
|
+
};
|
|
2121
|
+
// src/components/threads/Thread/MessageForm/Root/index.tsx
|
|
2122
|
+
var import_react28 = require("react");
|
|
2123
|
+
var import_react_hook_form = require("react-hook-form");
|
|
2124
|
+
// src/hooks/messages/useCreateMessage/index.ts
|
|
2079
2125
|
var import_radash8 = require("radash");
|
|
2080
2126
|
var import_react_query10 = require("@tanstack/react-query");
|
|
2081
|
-
// src/hooks/
|
|
2127
|
+
// src/hooks/messages/useCreateMessage/lib/mutationOptions/onMutate/index.ts
|
|
2082
2128
|
var import_radash6 = require("radash");
|
|
2083
|
-
// src/hooks/
|
|
2129
|
+
// src/hooks/messages/useCreateMessage/lib/mutationOptions/onMutate/data.ts
|
|
2084
2130
|
var data2 = function(param) {
|
|
2085
|
-
var
|
|
2131
|
+
var newMessage = param.newMessage;
|
|
2086
2132
|
return function(prevData) {
|
|
2087
2133
|
var message = {
|
|
2088
2134
|
id: optimisticId(),
|
|
@@ -2094,7 +2140,7 @@ var data2 = function(param) {
|
|
|
2094
2140
|
type: "text",
|
|
2095
2141
|
text: {
|
|
2096
2142
|
annotations: [],
|
|
2097
|
-
value:
|
|
2143
|
+
value: newMessage.content
|
|
2098
2144
|
}
|
|
2099
2145
|
}
|
|
2100
2146
|
],
|
|
@@ -2131,18 +2177,18 @@ var data2 = function(param) {
|
|
|
2131
2177
|
});
|
|
2132
2178
|
};
|
|
2133
2179
|
};
|
|
2134
|
-
// src/hooks/
|
|
2180
|
+
// src/hooks/messages/useCreateMessage/lib/mutationOptions/onMutate/index.ts
|
|
2135
2181
|
var onMutate2 = function(param) {
|
|
2136
2182
|
var queryClient = param.queryClient;
|
|
2137
2183
|
return function() {
|
|
2138
|
-
var _ref = _async_to_generator(function(
|
|
2139
|
-
var queryKey,
|
|
2184
|
+
var _ref = _async_to_generator(function(newMessage) {
|
|
2185
|
+
var queryKey, prevMessages;
|
|
2140
2186
|
return _ts_generator(this, function(_state) {
|
|
2141
2187
|
switch(_state.label){
|
|
2142
2188
|
case 0:
|
|
2143
2189
|
queryKey = [
|
|
2144
|
-
"
|
|
2145
|
-
(0, import_radash6.omit)(
|
|
2190
|
+
"messages",
|
|
2191
|
+
(0, import_radash6.omit)(newMessage, [
|
|
2146
2192
|
"content"
|
|
2147
2193
|
])
|
|
2148
2194
|
];
|
|
@@ -2154,26 +2200,26 @@ var onMutate2 = function(param) {
|
|
|
2154
2200
|
];
|
|
2155
2201
|
case 1:
|
|
2156
2202
|
_state.sent();
|
|
2157
|
-
|
|
2203
|
+
prevMessages = queryClient.getQueryData(queryKey);
|
|
2158
2204
|
queryClient.setQueryData(queryKey, data2({
|
|
2159
|
-
|
|
2205
|
+
newMessage: newMessage
|
|
2160
2206
|
}));
|
|
2161
2207
|
return [
|
|
2162
2208
|
2,
|
|
2163
2209
|
{
|
|
2164
|
-
|
|
2165
|
-
|
|
2210
|
+
prevMessages: prevMessages,
|
|
2211
|
+
newMessage: newMessage
|
|
2166
2212
|
}
|
|
2167
2213
|
];
|
|
2168
2214
|
}
|
|
2169
2215
|
});
|
|
2170
2216
|
});
|
|
2171
|
-
return function(
|
|
2217
|
+
return function(newMessage) {
|
|
2172
2218
|
return _ref.apply(this, arguments);
|
|
2173
2219
|
};
|
|
2174
2220
|
}();
|
|
2175
2221
|
};
|
|
2176
|
-
// src/hooks/
|
|
2222
|
+
// src/hooks/messages/useCreateMessage/lib/mutationOptions/onSettled.ts
|
|
2177
2223
|
var import_radash7 = require("radash");
|
|
2178
2224
|
var onSettled3 = function(param) {
|
|
2179
2225
|
var queryClient = param.queryClient;
|
|
@@ -2186,7 +2232,7 @@ var onSettled3 = function(param) {
|
|
|
2186
2232
|
4,
|
|
2187
2233
|
queryClient.invalidateQueries({
|
|
2188
2234
|
queryKey: [
|
|
2189
|
-
"
|
|
2235
|
+
"messages",
|
|
2190
2236
|
(0, import_radash7.omit)(variables, [
|
|
2191
2237
|
"content"
|
|
2192
2238
|
])
|
|
@@ -2219,8 +2265,8 @@ var onSettled3 = function(param) {
|
|
|
2219
2265
|
};
|
|
2220
2266
|
}();
|
|
2221
2267
|
};
|
|
2222
|
-
// src/hooks/
|
|
2223
|
-
var
|
|
2268
|
+
// src/hooks/messages/useCreateMessage/index.ts
|
|
2269
|
+
var useCreateMessage = function() {
|
|
2224
2270
|
var queryClient = (0, import_react_query10.useQueryClient)();
|
|
2225
2271
|
var superinterfaceContext = useSuperinterfaceContext();
|
|
2226
2272
|
var threadContext = useSuperinterfaceContext();
|
|
@@ -2233,77 +2279,40 @@ var useCreateThreadMessage = function() {
|
|
|
2233
2279
|
})
|
|
2234
2280
|
}, mutationOptions({
|
|
2235
2281
|
mutationKeyBase: [
|
|
2236
|
-
"
|
|
2282
|
+
"createMessage"
|
|
2237
2283
|
],
|
|
2238
|
-
path: "/
|
|
2284
|
+
path: "/messages",
|
|
2239
2285
|
queryClient: queryClient,
|
|
2240
2286
|
threadContext: threadContext,
|
|
2241
2287
|
superinterfaceContext: superinterfaceContext
|
|
2242
2288
|
})));
|
|
2243
2289
|
return _object_spread_props(_object_spread({}, props), {
|
|
2244
|
-
|
|
2245
|
-
});
|
|
2246
|
-
};
|
|
2247
|
-
// src/components/threadMessages/ThreadMessageForm/Submit/index.tsx
|
|
2248
|
-
var import_react_icons5 = require("@radix-ui/react-icons");
|
|
2249
|
-
var import_themes29 = require("@radix-ui/themes");
|
|
2250
|
-
// src/components/spinners/Spinner/index.tsx
|
|
2251
|
-
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
2252
|
-
var Spinner = function(props) {
|
|
2253
|
-
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("svg", _object_spread_props(_object_spread({
|
|
2254
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
2255
|
-
width: "24",
|
|
2256
|
-
height: "24",
|
|
2257
|
-
viewBox: "0 0 24 24",
|
|
2258
|
-
fill: "none",
|
|
2259
|
-
stroke: "currentColor",
|
|
2260
|
-
strokeWidth: "2",
|
|
2261
|
-
strokeLinecap: "round",
|
|
2262
|
-
strokeLinejoin: "round",
|
|
2263
|
-
style: {
|
|
2264
|
-
height: "var(--space-4)",
|
|
2265
|
-
width: "var(--space-4)",
|
|
2266
|
-
animation: "spin 1s linear infinite"
|
|
2267
|
-
}
|
|
2268
|
-
}, props), {
|
|
2269
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("path", {
|
|
2270
|
-
d: "M21 12a9 9 0 1 1-6.219-8.56"
|
|
2271
|
-
})
|
|
2272
|
-
}));
|
|
2273
|
-
};
|
|
2274
|
-
// src/components/threadMessages/ThreadMessageForm/Submit/index.tsx
|
|
2275
|
-
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
2276
|
-
var Submit = function(param) {
|
|
2277
|
-
var isLoading = param.isLoading, isDisabled = param.isDisabled;
|
|
2278
|
-
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_themes29.Button, {
|
|
2279
|
-
type: "submit",
|
|
2280
|
-
radius: "large",
|
|
2281
|
-
disabled: isDisabled,
|
|
2282
|
-
children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Spinner, {}) : /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_react_icons5.ArrowUpIcon, {})
|
|
2290
|
+
createMessage: (0, import_radash8.partob)(props.mutateAsync, threadContext.variables)
|
|
2283
2291
|
});
|
|
2284
2292
|
};
|
|
2285
|
-
// src/components/
|
|
2293
|
+
// src/components/threads/Thread/MessageForm/Root/lib/formOptions.ts
|
|
2286
2294
|
var import_zod = require("zod");
|
|
2287
2295
|
var import_zod2 = require("@hookform/resolvers/zod");
|
|
2288
2296
|
var schema = import_zod.z.object({
|
|
2289
2297
|
content: import_zod.z.string().min(1)
|
|
2290
2298
|
});
|
|
2291
|
-
var
|
|
2299
|
+
var formOptions = {
|
|
2292
2300
|
resolver: (0, import_zod2.zodResolver)(schema)
|
|
2293
2301
|
};
|
|
2294
|
-
// src/components/
|
|
2295
|
-
var
|
|
2296
|
-
var
|
|
2297
|
-
var
|
|
2298
|
-
var
|
|
2302
|
+
// src/components/threads/Thread/MessageForm/Root/index.tsx
|
|
2303
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
2304
|
+
var Root2 = function(param) {
|
|
2305
|
+
var children = param.children;
|
|
2306
|
+
var formProps = (0, import_react_hook_form.useForm)(formOptions);
|
|
2307
|
+
var handleSubmit = formProps.handleSubmit, isSubmitting = formProps.formState.isSubmitting, reset = formProps.reset;
|
|
2299
2308
|
var _useIsRunActive = useIsRunActive(), isRunActive2 = _useIsRunActive.isRunActive;
|
|
2300
|
-
var isLoading = (0,
|
|
2309
|
+
var isLoading = (0, import_react28.useMemo)(function() {
|
|
2301
2310
|
return isRunActive2 || isSubmitting;
|
|
2302
2311
|
}, [
|
|
2303
2312
|
isRunActive2,
|
|
2304
2313
|
isSubmitting
|
|
2305
2314
|
]);
|
|
2306
|
-
var
|
|
2315
|
+
var createMessage = useCreateMessage().createMessage;
|
|
2307
2316
|
var onSubmit = function() {
|
|
2308
2317
|
var _ref = _async_to_generator(function(data3) {
|
|
2309
2318
|
return _ts_generator(this, function(_state) {
|
|
@@ -2312,7 +2321,7 @@ var ThreadMessageForm = function() {
|
|
|
2312
2321
|
reset();
|
|
2313
2322
|
return [
|
|
2314
2323
|
4,
|
|
2315
|
-
|
|
2324
|
+
createMessage({
|
|
2316
2325
|
content: data3.content
|
|
2317
2326
|
})
|
|
2318
2327
|
];
|
|
@@ -2328,25 +2337,101 @@ var ThreadMessageForm = function() {
|
|
|
2328
2337
|
return _ref.apply(this, arguments);
|
|
2329
2338
|
};
|
|
2330
2339
|
}();
|
|
2331
|
-
var
|
|
2332
|
-
var isDisabled = (0,
|
|
2340
|
+
var latestMessage = useLatestMessage().latestMessage;
|
|
2341
|
+
var isDisabled = (0, import_react28.useMemo)(function() {
|
|
2333
2342
|
var // @ts-ignore-next-line
|
|
2334
|
-
|
|
2335
|
-
return
|
|
2343
|
+
_latestMessage_metadata;
|
|
2344
|
+
return latestMessage === null || latestMessage === void 0 ? void 0 : (_latestMessage_metadata = latestMessage.metadata) === null || _latestMessage_metadata === void 0 ? void 0 : _latestMessage_metadata.isBlocking;
|
|
2336
2345
|
}, [
|
|
2337
|
-
|
|
2346
|
+
latestMessage,
|
|
2338
2347
|
isLoading
|
|
2339
2348
|
]);
|
|
2340
|
-
|
|
2349
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(MessageFormContext.Provider, {
|
|
2350
|
+
value: {
|
|
2351
|
+
isDisabled: isDisabled,
|
|
2352
|
+
isLoading: isLoading,
|
|
2353
|
+
submit: handleSubmit(onSubmit)
|
|
2354
|
+
},
|
|
2355
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_hook_form.FormProvider, _object_spread_props(_object_spread({}, formProps), {
|
|
2356
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("form", {
|
|
2357
|
+
onSubmit: handleSubmit(onSubmit),
|
|
2358
|
+
children: children
|
|
2359
|
+
})
|
|
2360
|
+
}))
|
|
2361
|
+
});
|
|
2362
|
+
};
|
|
2363
|
+
// src/components/threads/Thread/MessageForm/Field/index.tsx
|
|
2364
|
+
var import_react_use2 = require("react-use");
|
|
2365
|
+
var import_react30 = require("react");
|
|
2366
|
+
// src/components/textareas/TextareaBase/index.tsx
|
|
2367
|
+
var import_react29 = require("react");
|
|
2368
|
+
var import_react_textarea_autosize = __toESM(require("react-textarea-autosize"), 1);
|
|
2369
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
2370
|
+
var UPSCALE_RATIO = 16 / 14;
|
|
2371
|
+
var TextareaBase = (0, import_react29.forwardRef)(function TextareaBase2(props, ref) {
|
|
2372
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_react_textarea_autosize.default, _object_spread({
|
|
2373
|
+
ref: ref,
|
|
2374
|
+
className: "textarea-base",
|
|
2375
|
+
style: {
|
|
2376
|
+
resize: "none",
|
|
2377
|
+
fontSize: "".concat(14 * UPSCALE_RATIO, "px"),
|
|
2378
|
+
lineHeight: "".concat(24 * UPSCALE_RATIO, "px"),
|
|
2379
|
+
transform: "scale(".concat(1 / UPSCALE_RATIO, ")"),
|
|
2380
|
+
margin: "0 ".concat((-100 * UPSCALE_RATIO + 100) / 2, "%"),
|
|
2381
|
+
width: "".concat(100 * UPSCALE_RATIO, "%"),
|
|
2382
|
+
maxWidth: "".concat(100 * UPSCALE_RATIO, "%"),
|
|
2383
|
+
flexGrow: 1,
|
|
2384
|
+
display: "flex"
|
|
2385
|
+
}
|
|
2386
|
+
}, props));
|
|
2387
|
+
});
|
|
2388
|
+
// src/components/threads/Thread/MessageForm/Field/index.tsx
|
|
2389
|
+
var import_react_hook_form2 = require("react-hook-form");
|
|
2390
|
+
var import_themes31 = require("@radix-ui/themes");
|
|
2391
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
2392
|
+
var Root3 = function(param) {
|
|
2393
|
+
var children = param.children;
|
|
2394
|
+
var _ref = (0, import_react_hook_form2.useFormContext)(), errors = _ref.formState.errors;
|
|
2395
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_themes31.Container, {
|
|
2396
|
+
size: "2",
|
|
2397
|
+
flexGrow: "0",
|
|
2398
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_themes31.Flex, {
|
|
2399
|
+
direction: "column",
|
|
2400
|
+
flexShrink: "0",
|
|
2401
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_themes31.Flex, {
|
|
2402
|
+
direction: "column",
|
|
2403
|
+
flexShrink: "0",
|
|
2404
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_themes31.Flex, {
|
|
2405
|
+
style: _object_spread({
|
|
2406
|
+
borderRadius: "var(--radius-2)",
|
|
2407
|
+
borderWidth: "1px",
|
|
2408
|
+
borderStyle: "solid",
|
|
2409
|
+
borderColor: errors.content ? "var(--red-9)" : "var(--gray-5)"
|
|
2410
|
+
}, errors.content ? {
|
|
2411
|
+
backgroundColor: "var(--red-2)"
|
|
2412
|
+
} : {}),
|
|
2413
|
+
p: "2",
|
|
2414
|
+
pl: "4",
|
|
2415
|
+
children: children
|
|
2416
|
+
})
|
|
2417
|
+
})
|
|
2418
|
+
})
|
|
2419
|
+
});
|
|
2420
|
+
};
|
|
2421
|
+
var Control = function() {
|
|
2422
|
+
var assistantNameContext = (0, import_react30.useContext)(AssistantNameContext);
|
|
2423
|
+
var register = (0, import_react_hook_form2.useFormContext)().register;
|
|
2424
|
+
var _useMessageFormContext = useMessageFormContext(), isDisabled = _useMessageFormContext.isDisabled, isLoading = _useMessageFormContext.isLoading, submit = _useMessageFormContext.submit;
|
|
2425
|
+
var isSubmitDisabled = (0, import_react30.useMemo)(function() {
|
|
2341
2426
|
return isDisabled || isLoading;
|
|
2342
2427
|
}, [
|
|
2343
2428
|
isDisabled,
|
|
2344
2429
|
isLoading
|
|
2345
2430
|
]);
|
|
2346
2431
|
var isDisabledPrevious = (0, import_react_use2.usePrevious)(isDisabled);
|
|
2347
|
-
var textareaRef = (0,
|
|
2432
|
+
var textareaRef = (0, import_react30.useRef)(null);
|
|
2348
2433
|
var textareaProps = register("content");
|
|
2349
|
-
(0,
|
|
2434
|
+
(0, import_react30.useEffect)(function() {
|
|
2350
2435
|
if (isDisabled) return;
|
|
2351
2436
|
if (!isDisabledPrevious) return;
|
|
2352
2437
|
if (!textareaRef.current) return;
|
|
@@ -2356,123 +2441,108 @@ var ThreadMessageForm = function() {
|
|
|
2356
2441
|
isDisabledPrevious,
|
|
2357
2442
|
textareaProps
|
|
2358
2443
|
]);
|
|
2359
|
-
|
|
2360
|
-
|
|
2361
|
-
|
|
2362
|
-
|
|
2363
|
-
|
|
2364
|
-
|
|
2365
|
-
|
|
2366
|
-
|
|
2367
|
-
|
|
2368
|
-
|
|
2369
|
-
|
|
2370
|
-
|
|
2371
|
-
|
|
2372
|
-
|
|
2373
|
-
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
borderWidth: "1px",
|
|
2378
|
-
borderStyle: "solid",
|
|
2379
|
-
borderColor: errors.content ? "var(--red-9)" : "var(--gray-5)"
|
|
2380
|
-
}, errors.content ? {
|
|
2381
|
-
backgroundColor: "var(--red-2)"
|
|
2382
|
-
} : {}),
|
|
2383
|
-
p: "2",
|
|
2384
|
-
pl: "4",
|
|
2385
|
-
children: [
|
|
2386
|
-
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_themes30.Text, {
|
|
2387
|
-
size: "2",
|
|
2388
|
-
style: {
|
|
2389
|
-
flexGrow: 1
|
|
2390
|
-
},
|
|
2391
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_themes30.Flex, {
|
|
2392
|
-
grow: "1",
|
|
2393
|
-
direction: "column",
|
|
2394
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(TextareaBase, _object_spread_props(_object_spread({
|
|
2395
|
-
minRows: 1,
|
|
2396
|
-
placeholder: "Message ".concat(assistantNameContext, "..."),
|
|
2397
|
-
disabled: isDisabled,
|
|
2398
|
-
onKeyDown: function(e) {
|
|
2399
|
-
if (e.key === "Enter" && !e.shiftKey) {
|
|
2400
|
-
e.preventDefault();
|
|
2401
|
-
if (isSubmitDisabled) return;
|
|
2402
|
-
handleSubmit(onSubmit)();
|
|
2403
|
-
}
|
|
2404
|
-
},
|
|
2405
|
-
autoFocus: true
|
|
2406
|
-
}, textareaProps), {
|
|
2407
|
-
ref: function(e) {
|
|
2408
|
-
textareaProps.ref(e);
|
|
2409
|
-
textareaRef.current = e;
|
|
2410
|
-
}
|
|
2411
|
-
}))
|
|
2412
|
-
})
|
|
2413
|
-
}),
|
|
2414
|
-
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_themes30.Flex, {
|
|
2415
|
-
shrink: "0",
|
|
2416
|
-
align: "end",
|
|
2417
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Submit, {
|
|
2418
|
-
isLoading: isLoading,
|
|
2419
|
-
isDisabled: isSubmitDisabled
|
|
2420
|
-
})
|
|
2421
|
-
})
|
|
2422
|
-
]
|
|
2423
|
-
})
|
|
2424
|
-
})
|
|
2425
|
-
})
|
|
2426
|
-
})
|
|
2427
|
-
]
|
|
2428
|
-
});
|
|
2444
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(TextareaBase, _object_spread_props(_object_spread({
|
|
2445
|
+
minRows: 1,
|
|
2446
|
+
placeholder: "Message ".concat(assistantNameContext, "..."),
|
|
2447
|
+
disabled: isDisabled,
|
|
2448
|
+
onKeyDown: function(e) {
|
|
2449
|
+
if (e.key === "Enter" && !e.shiftKey) {
|
|
2450
|
+
e.preventDefault();
|
|
2451
|
+
if (isSubmitDisabled) return;
|
|
2452
|
+
submit();
|
|
2453
|
+
}
|
|
2454
|
+
},
|
|
2455
|
+
autoFocus: true
|
|
2456
|
+
}, textareaProps), {
|
|
2457
|
+
ref: function(e) {
|
|
2458
|
+
textareaProps.ref(e);
|
|
2459
|
+
textareaRef.current = e;
|
|
2460
|
+
}
|
|
2461
|
+
}));
|
|
2429
2462
|
};
|
|
2430
|
-
|
|
2431
|
-
|
|
2432
|
-
|
|
2433
|
-
|
|
2434
|
-
|
|
2435
|
-
|
|
2436
|
-
|
|
2463
|
+
var Field = {
|
|
2464
|
+
Root: Root3,
|
|
2465
|
+
Control: Control
|
|
2466
|
+
};
|
|
2467
|
+
// src/components/threads/Thread/MessageForm/index.tsx
|
|
2468
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
2469
|
+
var MessageForm = function() {
|
|
2470
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Root2, {
|
|
2471
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Field.Root, {
|
|
2437
2472
|
children: [
|
|
2438
|
-
/* @__PURE__ */ (0,
|
|
2473
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes32.Text, {
|
|
2474
|
+
size: "2",
|
|
2439
2475
|
style: {
|
|
2440
|
-
|
|
2441
|
-
}
|
|
2476
|
+
flexGrow: 1
|
|
2477
|
+
},
|
|
2478
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes32.Flex, {
|
|
2479
|
+
flexGrow: "1",
|
|
2480
|
+
direction: "column",
|
|
2481
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Field.Control, {})
|
|
2482
|
+
})
|
|
2442
2483
|
}),
|
|
2443
|
-
/* @__PURE__ */ (0,
|
|
2444
|
-
|
|
2445
|
-
|
|
2446
|
-
|
|
2447
|
-
paddingBottom: "var(--space-5)"
|
|
2448
|
-
}
|
|
2484
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes32.Flex, {
|
|
2485
|
+
flexShrink: "0",
|
|
2486
|
+
align: "end",
|
|
2487
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Submit, {})
|
|
2449
2488
|
})
|
|
2450
2489
|
]
|
|
2451
2490
|
})
|
|
2491
|
+
});
|
|
2492
|
+
};
|
|
2493
|
+
MessageForm.Root = Root2;
|
|
2494
|
+
MessageForm.Field = Field;
|
|
2495
|
+
MessageForm.Submit = Submit;
|
|
2496
|
+
// src/components/threads/Thread/Root/index.tsx
|
|
2497
|
+
var import_themes33 = require("@radix-ui/themes");
|
|
2498
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
2499
|
+
var Root4 = function(_param) {
|
|
2500
|
+
var children = _param.children, rest = _object_without_properties(_param, [
|
|
2501
|
+
"children"
|
|
2502
|
+
]);
|
|
2503
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(SuperinterfaceProvider, _object_spread_props(_object_spread({}, rest), {
|
|
2504
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_themes33.Flex, {
|
|
2505
|
+
direction: "column",
|
|
2506
|
+
flexGrow: "1",
|
|
2507
|
+
children: children
|
|
2508
|
+
})
|
|
2509
|
+
}));
|
|
2510
|
+
};
|
|
2511
|
+
// src/components/threads/Thread/index.tsx
|
|
2512
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
2513
|
+
var Thread = function(props) {
|
|
2514
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Root4, _object_spread_props(_object_spread({}, props), {
|
|
2515
|
+
children: [
|
|
2516
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Messages, {}),
|
|
2517
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(MessageForm, {})
|
|
2518
|
+
]
|
|
2452
2519
|
}));
|
|
2453
2520
|
};
|
|
2521
|
+
Thread.Root = Root4;
|
|
2522
|
+
Thread.Messages = Messages;
|
|
2523
|
+
Thread.MessageForm = MessageForm;
|
|
2454
2524
|
// src/components/threads/ThreadDialog/Root/index.tsx
|
|
2455
|
-
var
|
|
2525
|
+
var import_themes34 = require("@radix-ui/themes");
|
|
2456
2526
|
// src/components/threads/ThreadDialog/Provider/index.tsx
|
|
2457
|
-
var
|
|
2527
|
+
var import_react33 = require("react");
|
|
2458
2528
|
// src/contexts/threads/ThreadDialogContext/index.ts
|
|
2459
|
-
var
|
|
2460
|
-
var ThreadDialogContext = (0,
|
|
2529
|
+
var import_react31 = require("react");
|
|
2530
|
+
var ThreadDialogContext = (0, import_react31.createContext)({
|
|
2461
2531
|
isOpen: false,
|
|
2462
2532
|
setIsOpen: function() {}
|
|
2463
2533
|
});
|
|
2464
2534
|
// src/hooks/threads/useThreadDialogContext/index.ts
|
|
2465
|
-
var
|
|
2535
|
+
var import_react32 = require("react");
|
|
2466
2536
|
var useThreadDialogContext = function() {
|
|
2467
|
-
return (0,
|
|
2537
|
+
return (0, import_react32.useContext)(ThreadDialogContext);
|
|
2468
2538
|
};
|
|
2469
2539
|
// src/components/threads/ThreadDialog/Provider/index.tsx
|
|
2470
|
-
var
|
|
2540
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
2471
2541
|
var Provider = function(param) {
|
|
2472
2542
|
var children = param.children;
|
|
2473
2543
|
var threadDialogContext = useThreadDialogContext();
|
|
2474
|
-
var _ref = _sliced_to_array((0,
|
|
2475
|
-
return /* @__PURE__ */ (0,
|
|
2544
|
+
var _ref = _sliced_to_array((0, import_react33.useState)(threadDialogContext.isOpen), 2), isOpen = _ref[0], setIsOpen = _ref[1];
|
|
2545
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(ThreadDialogContext.Provider, {
|
|
2476
2546
|
value: {
|
|
2477
2547
|
isOpen: isOpen,
|
|
2478
2548
|
setIsOpen: setIsOpen
|
|
@@ -2481,11 +2551,11 @@ var Provider = function(param) {
|
|
|
2481
2551
|
});
|
|
2482
2552
|
};
|
|
2483
2553
|
// src/components/threads/ThreadDialog/Root/index.tsx
|
|
2484
|
-
var
|
|
2485
|
-
var
|
|
2554
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
2555
|
+
var Root5 = function(param) {
|
|
2486
2556
|
var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
|
|
2487
|
-
return /* @__PURE__ */ (0,
|
|
2488
|
-
children: /* @__PURE__ */ (0,
|
|
2557
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Provider, {
|
|
2558
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_themes34.Flex, {
|
|
2489
2559
|
direction: "column",
|
|
2490
2560
|
justify: "end",
|
|
2491
2561
|
align: "end",
|
|
@@ -2501,94 +2571,107 @@ var Root = function(param) {
|
|
|
2501
2571
|
});
|
|
2502
2572
|
};
|
|
2503
2573
|
// src/components/threads/ThreadDialog/Trigger/index.tsx
|
|
2504
|
-
var
|
|
2505
|
-
var
|
|
2574
|
+
var import_themes35 = require("@radix-ui/themes");
|
|
2575
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
2506
2576
|
var Trigger = function(param) {
|
|
2507
2577
|
var children = param.children;
|
|
2508
2578
|
var setIsOpen = useThreadDialogContext().setIsOpen;
|
|
2509
|
-
return /* @__PURE__ */ (0,
|
|
2579
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_themes35.Flex, {
|
|
2510
2580
|
onClick: function() {
|
|
2511
2581
|
return setIsOpen(function(prev) {
|
|
2512
2582
|
return !prev;
|
|
2513
2583
|
});
|
|
2514
2584
|
},
|
|
2515
2585
|
direction: "column",
|
|
2516
|
-
|
|
2586
|
+
flexShrink: "0",
|
|
2517
2587
|
children: children
|
|
2518
2588
|
});
|
|
2519
2589
|
};
|
|
2520
2590
|
// src/components/threads/ThreadDialog/Button/index.tsx
|
|
2521
|
-
var
|
|
2591
|
+
var import_themes36 = require("@radix-ui/themes");
|
|
2522
2592
|
var import_react_icons6 = require("@radix-ui/react-icons");
|
|
2523
|
-
var
|
|
2593
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
2524
2594
|
var Button3 = function() {
|
|
2525
|
-
return /* @__PURE__ */ (0,
|
|
2595
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_themes36.IconButton, {
|
|
2526
2596
|
size: "4",
|
|
2527
2597
|
radius: "full",
|
|
2528
|
-
children: /* @__PURE__ */ (0,
|
|
2598
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_react_icons6.ChatBubbleIcon, {})
|
|
2529
2599
|
});
|
|
2530
2600
|
};
|
|
2531
2601
|
// src/components/threads/ThreadDialog/Content/index.tsx
|
|
2532
|
-
var
|
|
2533
|
-
var
|
|
2534
|
-
var
|
|
2602
|
+
var import_themes37 = require("@radix-ui/themes");
|
|
2603
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
2604
|
+
var Root6 = function(param) {
|
|
2535
2605
|
var children = param.children;
|
|
2536
2606
|
var isOpen = useThreadDialogContext().isOpen;
|
|
2537
2607
|
if (!isOpen) return null;
|
|
2538
|
-
return /* @__PURE__ */ (0,
|
|
2539
|
-
|
|
2540
|
-
|
|
2541
|
-
|
|
2542
|
-
|
|
2543
|
-
|
|
2544
|
-
|
|
2545
|
-
|
|
2546
|
-
|
|
2547
|
-
|
|
2548
|
-
|
|
2549
|
-
|
|
2550
|
-
|
|
2551
|
-
|
|
2552
|
-
|
|
2553
|
-
|
|
2554
|
-
|
|
2555
|
-
|
|
2608
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_themes37.Card, {
|
|
2609
|
+
mb: "3",
|
|
2610
|
+
style: {
|
|
2611
|
+
display: "flex",
|
|
2612
|
+
flexGrow: 1,
|
|
2613
|
+
width: "100vw",
|
|
2614
|
+
maxWidth: "400px",
|
|
2615
|
+
maxHeight: "720px"
|
|
2616
|
+
},
|
|
2617
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_themes37.Inset, {
|
|
2618
|
+
clip: "padding-box",
|
|
2619
|
+
side: "all",
|
|
2620
|
+
pb: "current",
|
|
2621
|
+
style: {
|
|
2622
|
+
display: "flex",
|
|
2623
|
+
flexGrow: 1
|
|
2624
|
+
},
|
|
2625
|
+
children: children
|
|
2626
|
+
})
|
|
2627
|
+
});
|
|
2628
|
+
};
|
|
2629
|
+
var Content4 = function() {
|
|
2630
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Root6, {
|
|
2631
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Thread.Root, {
|
|
2632
|
+
children: [
|
|
2633
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Thread.Messages, {
|
|
2556
2634
|
style: {
|
|
2557
|
-
|
|
2558
|
-
|
|
2559
|
-
|
|
2560
|
-
|
|
2635
|
+
padding: "var(--space-5)"
|
|
2636
|
+
}
|
|
2637
|
+
}),
|
|
2638
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_themes37.Flex, {
|
|
2639
|
+
direction: "column",
|
|
2640
|
+
pl: "5",
|
|
2641
|
+
pr: "5",
|
|
2642
|
+
pb: "3",
|
|
2643
|
+
flexShrink: "0",
|
|
2644
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Thread.MessageForm, {})
|
|
2561
2645
|
})
|
|
2562
|
-
|
|
2563
|
-
|
|
2646
|
+
]
|
|
2647
|
+
})
|
|
2564
2648
|
});
|
|
2565
2649
|
};
|
|
2650
|
+
Content4.Root = Root6;
|
|
2566
2651
|
// src/components/threads/ThreadDialog/index.tsx
|
|
2567
|
-
var
|
|
2652
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
2568
2653
|
var ThreadDialog = function() {
|
|
2569
|
-
return /* @__PURE__ */ (0,
|
|
2654
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(Root5, {
|
|
2570
2655
|
children: [
|
|
2571
|
-
/* @__PURE__ */ (0,
|
|
2572
|
-
|
|
2573
|
-
|
|
2574
|
-
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Trigger, {
|
|
2575
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Button3, {})
|
|
2656
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Content4, {}),
|
|
2657
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Trigger, {
|
|
2658
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Button3, {})
|
|
2576
2659
|
})
|
|
2577
2660
|
]
|
|
2578
2661
|
});
|
|
2579
2662
|
};
|
|
2580
|
-
ThreadDialog.Root =
|
|
2663
|
+
ThreadDialog.Root = Root5;
|
|
2581
2664
|
ThreadDialog.Trigger = Trigger;
|
|
2582
2665
|
ThreadDialog.Button = Button3;
|
|
2583
2666
|
ThreadDialog.Content = Content4;
|
|
2584
2667
|
// src/components/threads/AudioThread/Root/index.tsx
|
|
2585
2668
|
var import_runtime = require("regenerator-runtime/runtime");
|
|
2586
|
-
var
|
|
2587
|
-
var
|
|
2669
|
+
var import_react38 = require("react");
|
|
2670
|
+
var import_themes38 = require("@radix-ui/themes");
|
|
2588
2671
|
var import_react_speech_recognition = __toESM(require("react-speech-recognition"), 1);
|
|
2589
2672
|
// src/contexts/threads/AudioThreadContext/index.ts
|
|
2590
|
-
var
|
|
2591
|
-
var AudioThreadContext = (0,
|
|
2673
|
+
var import_react34 = require("react");
|
|
2674
|
+
var AudioThreadContext = (0, import_react34.createContext)({
|
|
2592
2675
|
status: "idle",
|
|
2593
2676
|
recorderProps: {
|
|
2594
2677
|
status: "idle",
|
|
@@ -2646,13 +2729,13 @@ var AudioThreadContext = (0, import_react31.createContext)({
|
|
|
2646
2729
|
// src/components/threads/AudioThread/Root/index.tsx
|
|
2647
2730
|
var import_react_use4 = require("react-use");
|
|
2648
2731
|
// src/hooks/audioThreads/useStatus/index.ts
|
|
2649
|
-
var
|
|
2732
|
+
var import_react35 = require("react");
|
|
2650
2733
|
var useStatus = function(param) {
|
|
2651
|
-
var messageAudioProps = param.messageAudioProps, recorderProps = param.recorderProps,
|
|
2734
|
+
var messageAudioProps = param.messageAudioProps, recorderProps = param.recorderProps, createMessageProps = param.createMessageProps;
|
|
2652
2735
|
var isRunActiveProps = useIsRunActive();
|
|
2653
|
-
var status = (0,
|
|
2736
|
+
var status = (0, import_react35.useMemo)(function() {
|
|
2654
2737
|
if (recorderProps.status === "recording") return "recording";
|
|
2655
|
-
if (
|
|
2738
|
+
if (createMessageProps.isPending) return "creatingMessage";
|
|
2656
2739
|
if (isRunActiveProps.isRunActive) return "runActive";
|
|
2657
2740
|
if (messageAudioProps.playing) return "playing";
|
|
2658
2741
|
if (messageAudioProps.paused) return "playerPaused";
|
|
@@ -2663,7 +2746,7 @@ var useStatus = function(param) {
|
|
|
2663
2746
|
}, [
|
|
2664
2747
|
messageAudioProps,
|
|
2665
2748
|
recorderProps,
|
|
2666
|
-
|
|
2749
|
+
createMessageProps,
|
|
2667
2750
|
isRunActiveProps
|
|
2668
2751
|
]);
|
|
2669
2752
|
return {
|
|
@@ -2673,19 +2756,19 @@ var useStatus = function(param) {
|
|
|
2673
2756
|
// src/hooks/audioThreads/useRecorder/index.ts
|
|
2674
2757
|
var import_dayjs = __toESM(require("dayjs"), 1);
|
|
2675
2758
|
var import_use_audio_capture = require("use-audio-capture");
|
|
2676
|
-
var
|
|
2759
|
+
var import_react36 = require("react");
|
|
2677
2760
|
var import_react_use_audio_player = require("react-use-audio-player");
|
|
2678
2761
|
var import_react_use3 = require("react-use");
|
|
2679
2762
|
var useRecorder = function(param) {
|
|
2680
2763
|
var isStopOnSilence = param.isStopOnSilence, onStart = param.onStart, onStop = param.onStop;
|
|
2681
|
-
var _ref = _sliced_to_array((0,
|
|
2682
|
-
var _ref1 = _sliced_to_array((0,
|
|
2683
|
-
var _ref2 = _sliced_to_array((0,
|
|
2684
|
-
var _ref3 = _sliced_to_array((0,
|
|
2764
|
+
var _ref = _sliced_to_array((0, import_react36.useState)(null), 2), silenceStart = _ref[0], setSilenceStart = _ref[1];
|
|
2765
|
+
var _ref1 = _sliced_to_array((0, import_react36.useState)(null), 2), noiseStart = _ref1[0], setNoiseStart = _ref1[1];
|
|
2766
|
+
var _ref2 = _sliced_to_array((0, import_react36.useState)(null), 2), mediaStream = _ref2[0], setMediaStream = _ref2[1];
|
|
2767
|
+
var _ref3 = _sliced_to_array((0, import_react36.useState)("idle"), 2), status = _ref3[0], setStatus = _ref3[1];
|
|
2685
2768
|
var startAudioPlayer = (0, import_react_use_audio_player.useAudioPlayer)();
|
|
2686
2769
|
var endAudioPlayer = (0, import_react_use_audio_player.useAudioPlayer)();
|
|
2687
|
-
var _ref4 = _sliced_to_array((0,
|
|
2688
|
-
(0,
|
|
2770
|
+
var _ref4 = _sliced_to_array((0, import_react36.useState)(false), 2), isLoaded = _ref4[0], setIsLoaded = _ref4[1];
|
|
2771
|
+
(0, import_react36.useEffect)(function() {
|
|
2689
2772
|
if (isLoaded) return;
|
|
2690
2773
|
setIsLoaded(true);
|
|
2691
2774
|
startAudioPlayer.load("/sounds/warning.wav", {
|
|
@@ -2751,9 +2834,9 @@ var useRecorder = function(param) {
|
|
|
2751
2834
|
setNoiseStart(null);
|
|
2752
2835
|
}
|
|
2753
2836
|
});
|
|
2754
|
-
var _ref5 = _sliced_to_array((0,
|
|
2755
|
-
var isInited = (0,
|
|
2756
|
-
(0,
|
|
2837
|
+
var _ref5 = _sliced_to_array((0, import_react36.useState)(null), 2), audioEngine = _ref5[0], setAudioEngine = _ref5[1];
|
|
2838
|
+
var isInited = (0, import_react36.useRef)(false);
|
|
2839
|
+
(0, import_react36.useEffect)(function() {
|
|
2757
2840
|
if (!mediaStream) return;
|
|
2758
2841
|
if (isInited.current) return;
|
|
2759
2842
|
isInited.current = true;
|
|
@@ -2766,7 +2849,7 @@ var useRecorder = function(param) {
|
|
|
2766
2849
|
isInited,
|
|
2767
2850
|
mediaStream
|
|
2768
2851
|
]);
|
|
2769
|
-
var visualizationAnalyser = (0,
|
|
2852
|
+
var visualizationAnalyser = (0, import_react36.useMemo)(function() {
|
|
2770
2853
|
if (!audioEngine) return null;
|
|
2771
2854
|
var result = audioEngine.audioContext.createAnalyser();
|
|
2772
2855
|
audioEngine.source.connect(result);
|
|
@@ -2774,7 +2857,7 @@ var useRecorder = function(param) {
|
|
|
2774
2857
|
}, [
|
|
2775
2858
|
audioEngine
|
|
2776
2859
|
]);
|
|
2777
|
-
var silenceAnalyser = (0,
|
|
2860
|
+
var silenceAnalyser = (0, import_react36.useMemo)(function() {
|
|
2778
2861
|
if (!audioEngine) return null;
|
|
2779
2862
|
var result = audioEngine.audioContext.createAnalyser();
|
|
2780
2863
|
result.minDecibels = -45;
|
|
@@ -2783,7 +2866,7 @@ var useRecorder = function(param) {
|
|
|
2783
2866
|
}, [
|
|
2784
2867
|
audioEngine
|
|
2785
2868
|
]);
|
|
2786
|
-
var handleSilence = (0,
|
|
2869
|
+
var handleSilence = (0, import_react36.useCallback)(function() {
|
|
2787
2870
|
if (!silenceAnalyser) return;
|
|
2788
2871
|
var frequencyData = new Uint8Array(silenceAnalyser.frequencyBinCount);
|
|
2789
2872
|
silenceAnalyser.getByteFrequencyData(frequencyData);
|
|
@@ -2806,7 +2889,7 @@ var useRecorder = function(param) {
|
|
|
2806
2889
|
setNoiseStart,
|
|
2807
2890
|
setSilenceStart
|
|
2808
2891
|
]);
|
|
2809
|
-
(0,
|
|
2892
|
+
(0, import_react36.useEffect)(function() {
|
|
2810
2893
|
if (!isStopOnSilence) return;
|
|
2811
2894
|
requestAnimationFrame(function() {
|
|
2812
2895
|
return handleSilence();
|
|
@@ -2829,14 +2912,14 @@ var useRecorder = function(param) {
|
|
|
2829
2912
|
});
|
|
2830
2913
|
};
|
|
2831
2914
|
// src/hooks/audioThreads/useMessageAudio/index.ts
|
|
2832
|
-
var
|
|
2915
|
+
var import_react37 = require("react");
|
|
2833
2916
|
var import_howler = require("howler");
|
|
2834
2917
|
var import_react_use_audio_player2 = require("react-use-audio-player");
|
|
2835
2918
|
// src/hooks/audioThreads/useMessageAudio/lib/input.ts
|
|
2836
2919
|
var import_radash9 = require("radash");
|
|
2837
2920
|
var input = function(param) {
|
|
2838
|
-
var
|
|
2839
|
-
var textContents =
|
|
2921
|
+
var message = param.message;
|
|
2922
|
+
var textContents = message.content.filter(function(c) {
|
|
2840
2923
|
return c.type === "text";
|
|
2841
2924
|
});
|
|
2842
2925
|
var result = textContents.map(function(c) {
|
|
@@ -2855,22 +2938,22 @@ var isHtmlAudioSupported = !unsupportedNames.includes(((_this = (0, import_detec
|
|
|
2855
2938
|
// src/hooks/audioThreads/useMessageAudio/index.ts
|
|
2856
2939
|
var useMessageAudio = function(param) {
|
|
2857
2940
|
var onEnd = param.onEnd;
|
|
2858
|
-
var _ref = _sliced_to_array((0,
|
|
2941
|
+
var _ref = _sliced_to_array((0, import_react37.useState)([]), 2), playedMessageIds = _ref[0], setPlayedMessageIds = _ref[1];
|
|
2859
2942
|
var audioPlayer = (0, import_react_use_audio_player2.useAudioPlayer)();
|
|
2860
2943
|
var superinterfaceContext = useSuperinterfaceContext();
|
|
2861
|
-
var
|
|
2862
|
-
(0,
|
|
2944
|
+
var latestMessageProps = useLatestMessage();
|
|
2945
|
+
(0, import_react37.useEffect)(function() {
|
|
2863
2946
|
if (audioPlayer.playing) return;
|
|
2864
|
-
if (!
|
|
2865
|
-
if (
|
|
2866
|
-
if (playedMessageIds.includes(
|
|
2947
|
+
if (!latestMessageProps.latestMessage) return;
|
|
2948
|
+
if (latestMessageProps.latestMessage.role !== "assistant") return;
|
|
2949
|
+
if (playedMessageIds.includes(latestMessageProps.latestMessage.id)) return;
|
|
2867
2950
|
var input2 = input({
|
|
2868
|
-
|
|
2951
|
+
message: latestMessageProps.latestMessage
|
|
2869
2952
|
});
|
|
2870
2953
|
if (!input2) return;
|
|
2871
2954
|
setPlayedMessageIds(function(prev) {
|
|
2872
2955
|
return _to_consumable_array(prev).concat([
|
|
2873
|
-
|
|
2956
|
+
latestMessageProps.latestMessage.id
|
|
2874
2957
|
]);
|
|
2875
2958
|
});
|
|
2876
2959
|
audioPlayer.load("".concat(superinterfaceContext.baseUrl, "/tts?input=").concat(input2), {
|
|
@@ -2881,14 +2964,14 @@ var useMessageAudio = function(param) {
|
|
|
2881
2964
|
});
|
|
2882
2965
|
}, [
|
|
2883
2966
|
superinterfaceContext,
|
|
2884
|
-
|
|
2967
|
+
latestMessageProps,
|
|
2885
2968
|
audioPlayer,
|
|
2886
2969
|
playedMessageIds,
|
|
2887
2970
|
onEnd
|
|
2888
2971
|
]);
|
|
2889
|
-
var isInited = (0,
|
|
2890
|
-
var _ref1 = _sliced_to_array((0,
|
|
2891
|
-
(0,
|
|
2972
|
+
var isInited = (0, import_react37.useRef)(false);
|
|
2973
|
+
var _ref1 = _sliced_to_array((0, import_react37.useState)(null), 2), audioEngine = _ref1[0], setAudioEngine = _ref1[1];
|
|
2974
|
+
(0, import_react37.useEffect)(function() {
|
|
2892
2975
|
if (!audioPlayer.playing) return;
|
|
2893
2976
|
if (isInited.current) return;
|
|
2894
2977
|
isInited.current = true;
|
|
@@ -2909,7 +2992,7 @@ var useMessageAudio = function(param) {
|
|
|
2909
2992
|
audioPlayer,
|
|
2910
2993
|
isInited
|
|
2911
2994
|
]);
|
|
2912
|
-
var visualizationAnalyser = (0,
|
|
2995
|
+
var visualizationAnalyser = (0, import_react37.useMemo)(function() {
|
|
2913
2996
|
if (!audioEngine) return null;
|
|
2914
2997
|
var result = audioEngine.audioContext.createAnalyser();
|
|
2915
2998
|
audioEngine.source.connect(audioEngine.audioContext.destination);
|
|
@@ -2923,19 +3006,14 @@ var useMessageAudio = function(param) {
|
|
|
2923
3006
|
});
|
|
2924
3007
|
};
|
|
2925
3008
|
// src/components/threads/AudioThread/Root/index.tsx
|
|
2926
|
-
var
|
|
2927
|
-
var
|
|
3009
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
3010
|
+
var Root7 = function(param) {
|
|
2928
3011
|
var children = param.children;
|
|
2929
|
-
|
|
2930
|
-
var
|
|
2931
|
-
var _ref = (0, import_react_speech_recognition.useSpeechRecognition)(), transcript = _ref.transcript,
|
|
2932
|
-
|
|
2933
|
-
|
|
2934
|
-
"resetTranscript",
|
|
2935
|
-
"browserSupportsSpeechRecognition"
|
|
2936
|
-
]);
|
|
2937
|
-
var transcriptRef = (0, import_react35.useRef)(transcript);
|
|
2938
|
-
(0, import_react35.useEffect)(function() {
|
|
3012
|
+
useLifecycle();
|
|
3013
|
+
var createMessageProps = useCreateMessage();
|
|
3014
|
+
var _ref = (0, import_react_speech_recognition.useSpeechRecognition)(), transcript = _ref.transcript, resetTranscript = _ref.resetTranscript;
|
|
3015
|
+
var transcriptRef = (0, import_react38.useRef)(transcript);
|
|
3016
|
+
(0, import_react38.useEffect)(function() {
|
|
2939
3017
|
transcriptRef.current = transcript;
|
|
2940
3018
|
}, [
|
|
2941
3019
|
transcript
|
|
@@ -2955,20 +3033,21 @@ var Root2 = function(param) {
|
|
|
2955
3033
|
});
|
|
2956
3034
|
}),
|
|
2957
3035
|
onStop: function() {
|
|
2958
|
-
var _ref = _async_to_generator(function(_event,
|
|
3036
|
+
var _ref = _async_to_generator(function(_event, _chunks) {
|
|
2959
3037
|
return _ts_generator(this, function(_state) {
|
|
2960
3038
|
console.log({
|
|
2961
3039
|
transcript: transcriptRef.current
|
|
2962
3040
|
});
|
|
2963
3041
|
return [
|
|
2964
3042
|
2,
|
|
2965
|
-
|
|
3043
|
+
createMessageProps.createMessage({
|
|
3044
|
+
// @ts-ignore-next-line
|
|
2966
3045
|
content: transcriptRef.current
|
|
2967
3046
|
})
|
|
2968
3047
|
];
|
|
2969
3048
|
});
|
|
2970
3049
|
});
|
|
2971
|
-
return function(_event,
|
|
3050
|
+
return function(_event, _chunks) {
|
|
2972
3051
|
return _ref.apply(this, arguments);
|
|
2973
3052
|
};
|
|
2974
3053
|
}()
|
|
@@ -2985,47 +3064,47 @@ var Root2 = function(param) {
|
|
|
2985
3064
|
});
|
|
2986
3065
|
var status = useStatus({
|
|
2987
3066
|
recorderProps: recorderProps,
|
|
2988
|
-
|
|
3067
|
+
createMessageProps: createMessageProps,
|
|
2989
3068
|
messageAudioProps: messageAudioProps
|
|
2990
3069
|
}).status;
|
|
2991
|
-
return /* @__PURE__ */ (0,
|
|
3070
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(AudioThreadContext.Provider, {
|
|
2992
3071
|
value: {
|
|
2993
3072
|
status: status,
|
|
2994
3073
|
recorderProps: recorderProps,
|
|
2995
3074
|
messageAudioProps: messageAudioProps
|
|
2996
3075
|
},
|
|
2997
|
-
children: /* @__PURE__ */ (0,
|
|
3076
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_themes38.Flex, {
|
|
2998
3077
|
direction: "column",
|
|
2999
|
-
|
|
3078
|
+
flexGrow: "1",
|
|
3000
3079
|
p: "5",
|
|
3001
3080
|
children: children
|
|
3002
3081
|
})
|
|
3003
3082
|
});
|
|
3004
3083
|
};
|
|
3005
3084
|
// src/components/threads/AudioThread/Visualization/index.tsx
|
|
3006
|
-
var
|
|
3085
|
+
var import_themes39 = require("@radix-ui/themes");
|
|
3007
3086
|
// src/hooks/threads/useAudioThreadContext/index.ts
|
|
3008
|
-
var
|
|
3087
|
+
var import_react39 = require("react");
|
|
3009
3088
|
var useAudioThreadContext = function() {
|
|
3010
|
-
return (0,
|
|
3089
|
+
return (0, import_react39.useContext)(AudioThreadContext);
|
|
3011
3090
|
};
|
|
3012
3091
|
// src/components/threads/AudioThread/Visualization/index.tsx
|
|
3013
|
-
var
|
|
3092
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
3014
3093
|
var Visualization = function() {
|
|
3015
3094
|
var audioThreadContext = useAudioThreadContext();
|
|
3016
|
-
return /* @__PURE__ */ (0,
|
|
3095
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_themes39.Flex, {
|
|
3017
3096
|
direction: "column",
|
|
3018
3097
|
align: "center",
|
|
3019
3098
|
justify: "center",
|
|
3020
3099
|
mb: "3",
|
|
3021
|
-
|
|
3022
|
-
children: /* @__PURE__ */ (0,
|
|
3100
|
+
flexGrow: "1",
|
|
3101
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_themes39.Flex, {
|
|
3023
3102
|
align: "center",
|
|
3024
3103
|
justify: "center",
|
|
3104
|
+
height: "200px",
|
|
3105
|
+
width: "200px",
|
|
3025
3106
|
style: {
|
|
3026
3107
|
backgroundColor: "var(--".concat(audioThreadContext.status === "playing" ? "mint" : "gray", "-4)"),
|
|
3027
|
-
height: "200px",
|
|
3028
|
-
width: "200px",
|
|
3029
3108
|
borderRadius: "9999px"
|
|
3030
3109
|
}
|
|
3031
3110
|
})
|
|
@@ -3033,22 +3112,22 @@ var Visualization = function() {
|
|
|
3033
3112
|
};
|
|
3034
3113
|
// src/components/threads/AudioThread/Form/index.tsx
|
|
3035
3114
|
var import_react_icons8 = require("@radix-ui/react-icons");
|
|
3036
|
-
var
|
|
3115
|
+
var import_themes42 = require("@radix-ui/themes");
|
|
3037
3116
|
// src/components/threads/AudioThread/Form/Visualizer/index.tsx
|
|
3038
3117
|
var import_lodash7 = __toESM(require("lodash"), 1);
|
|
3039
|
-
var
|
|
3040
|
-
var
|
|
3118
|
+
var import_themes40 = require("@radix-ui/themes");
|
|
3119
|
+
var import_react40 = require("react");
|
|
3041
3120
|
var import_radash10 = require("radash");
|
|
3042
|
-
var
|
|
3121
|
+
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
3043
3122
|
var barCount = 4;
|
|
3044
3123
|
var Visualizer = function() {
|
|
3045
3124
|
var audioThreadContext = useAudioThreadContext();
|
|
3046
3125
|
var visualizationAnalyser = audioThreadContext.recorderProps.visualizationAnalyser;
|
|
3047
|
-
var _ref = _sliced_to_array((0,
|
|
3126
|
+
var _ref = _sliced_to_array((0, import_react40.useState)(function() {
|
|
3048
3127
|
return new AudioContext().createAnalyser();
|
|
3049
3128
|
}), 1), emptyVisualizer = _ref[0];
|
|
3050
|
-
var _ref1 = _sliced_to_array((0,
|
|
3051
|
-
var draw = (0,
|
|
3129
|
+
var _ref1 = _sliced_to_array((0, import_react40.useState)([]), 2), barHeights = _ref1[0], setBarHeights = _ref1[1];
|
|
3130
|
+
var draw = (0, import_react40.useCallback)(function(param) {
|
|
3052
3131
|
var visualizationAnalyser2 = param.visualizationAnalyser;
|
|
3053
3132
|
var frequencyData = new Uint8Array(visualizationAnalyser2.frequencyBinCount / 15);
|
|
3054
3133
|
visualizationAnalyser2.getByteFrequencyData(frequencyData);
|
|
@@ -3062,7 +3141,7 @@ var Visualizer = function() {
|
|
|
3062
3141
|
});
|
|
3063
3142
|
});
|
|
3064
3143
|
}, []);
|
|
3065
|
-
(0,
|
|
3144
|
+
(0, import_react40.useEffect)(function() {
|
|
3066
3145
|
draw({
|
|
3067
3146
|
visualizationAnalyser: visualizationAnalyser || emptyVisualizer
|
|
3068
3147
|
});
|
|
@@ -3071,7 +3150,7 @@ var Visualizer = function() {
|
|
|
3071
3150
|
visualizationAnalyser,
|
|
3072
3151
|
emptyVisualizer
|
|
3073
3152
|
]);
|
|
3074
|
-
return /* @__PURE__ */ (0,
|
|
3153
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_themes40.Grid, {
|
|
3075
3154
|
columns: "".concat(barCount),
|
|
3076
3155
|
gap: "1",
|
|
3077
3156
|
width: "auto",
|
|
@@ -3080,21 +3159,19 @@ var Visualizer = function() {
|
|
|
3080
3159
|
gridTemplateColumns: "repeat(4, minmax(0, 1fr))"
|
|
3081
3160
|
},
|
|
3082
3161
|
children: barHeights.map(function(barHeight, index) {
|
|
3083
|
-
return /* @__PURE__ */ (0,
|
|
3162
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_themes40.Flex, {
|
|
3084
3163
|
direction: "column",
|
|
3085
3164
|
align: "center",
|
|
3086
3165
|
justify: "center",
|
|
3087
|
-
|
|
3088
|
-
|
|
3089
|
-
|
|
3090
|
-
|
|
3166
|
+
height: "20px",
|
|
3167
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_themes40.Flex, {
|
|
3168
|
+
minHeight: "50%",
|
|
3169
|
+
maxHeight: "100%",
|
|
3170
|
+
height: "".concat(barHeight + 20, "%"),
|
|
3171
|
+
width: "12px",
|
|
3091
3172
|
style: {
|
|
3092
3173
|
backgroundColor: "var(--".concat(audioThreadContext.status === "recording" ? "mint" : "gray", "-11)"),
|
|
3093
|
-
borderRadius: "var(--radius-6)"
|
|
3094
|
-
height: "".concat(barHeight + 20, "%"),
|
|
3095
|
-
minHeight: "50%",
|
|
3096
|
-
maxHeight: "100%",
|
|
3097
|
-
width: "12px"
|
|
3174
|
+
borderRadius: "var(--radius-6)"
|
|
3098
3175
|
}
|
|
3099
3176
|
})
|
|
3100
3177
|
}, index);
|
|
@@ -3102,31 +3179,31 @@ var Visualizer = function() {
|
|
|
3102
3179
|
});
|
|
3103
3180
|
};
|
|
3104
3181
|
// src/components/threads/AudioThread/Form/ActionButton/index.tsx
|
|
3105
|
-
var
|
|
3182
|
+
var import_themes41 = require("@radix-ui/themes");
|
|
3106
3183
|
var import_react_icons7 = require("@radix-ui/react-icons");
|
|
3107
|
-
var
|
|
3184
|
+
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
3108
3185
|
var ActionButton = function() {
|
|
3109
3186
|
var audioThreadContext = useAudioThreadContext();
|
|
3110
3187
|
if (audioThreadContext.status === "recording") {
|
|
3111
|
-
return /* @__PURE__ */ (0,
|
|
3188
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(import_themes41.Flex, {
|
|
3112
3189
|
align: "center",
|
|
3113
3190
|
children: [
|
|
3114
|
-
/* @__PURE__ */ (0,
|
|
3191
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes41.Flex, {
|
|
3115
3192
|
mr: "3",
|
|
3116
3193
|
ml: "-7",
|
|
3117
|
-
children: /* @__PURE__ */ (0,
|
|
3194
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes41.IconButton, {
|
|
3118
3195
|
onClick: audioThreadContext.recorderProps.pause,
|
|
3119
3196
|
color: "gray",
|
|
3120
3197
|
radius: "full",
|
|
3121
3198
|
size: "1",
|
|
3122
|
-
children: /* @__PURE__ */ (0,
|
|
3199
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_react_icons7.PauseIcon, {})
|
|
3123
3200
|
})
|
|
3124
3201
|
}),
|
|
3125
|
-
/* @__PURE__ */ (0,
|
|
3202
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes41.Tooltip, {
|
|
3126
3203
|
open: true,
|
|
3127
3204
|
content: "Send your message",
|
|
3128
3205
|
side: "bottom",
|
|
3129
|
-
children: /* @__PURE__ */ (0,
|
|
3206
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes41.IconButton, {
|
|
3130
3207
|
onClick: audioThreadContext.recorderProps.stop,
|
|
3131
3208
|
color: "gray",
|
|
3132
3209
|
highContrast: true,
|
|
@@ -3135,14 +3212,14 @@ var ActionButton = function() {
|
|
|
3135
3212
|
style: {
|
|
3136
3213
|
border: "2px solid var(--gray-8)"
|
|
3137
3214
|
},
|
|
3138
|
-
children: /* @__PURE__ */ (0,
|
|
3215
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_react_icons7.ArrowUpIcon, {})
|
|
3139
3216
|
})
|
|
3140
3217
|
})
|
|
3141
3218
|
]
|
|
3142
3219
|
});
|
|
3143
3220
|
}
|
|
3144
3221
|
if (audioThreadContext.status === "recorderPaused") {
|
|
3145
|
-
return /* @__PURE__ */ (0,
|
|
3222
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes41.IconButton, {
|
|
3146
3223
|
onClick: audioThreadContext.recorderProps.resume,
|
|
3147
3224
|
color: "red",
|
|
3148
3225
|
radius: "full",
|
|
@@ -3150,11 +3227,11 @@ var ActionButton = function() {
|
|
|
3150
3227
|
style: {
|
|
3151
3228
|
border: "2px solid var(--gray-8)"
|
|
3152
3229
|
},
|
|
3153
|
-
children: /* @__PURE__ */ (0,
|
|
3230
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_react_icons7.ResumeIcon, {})
|
|
3154
3231
|
});
|
|
3155
3232
|
}
|
|
3156
3233
|
if (audioThreadContext.status === "idle") {
|
|
3157
|
-
return /* @__PURE__ */ (0,
|
|
3234
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes41.IconButton, {
|
|
3158
3235
|
onClick: function() {
|
|
3159
3236
|
return audioThreadContext.recorderProps.start();
|
|
3160
3237
|
},
|
|
@@ -3167,7 +3244,7 @@ var ActionButton = function() {
|
|
|
3167
3244
|
});
|
|
3168
3245
|
}
|
|
3169
3246
|
if (audioThreadContext.status === "playing") {
|
|
3170
|
-
return /* @__PURE__ */ (0,
|
|
3247
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes41.IconButton, {
|
|
3171
3248
|
onClick: function() {
|
|
3172
3249
|
return audioThreadContext.messageAudioProps.pause();
|
|
3173
3250
|
},
|
|
@@ -3177,11 +3254,11 @@ var ActionButton = function() {
|
|
|
3177
3254
|
style: {
|
|
3178
3255
|
border: "2px solid var(--gray-8)"
|
|
3179
3256
|
},
|
|
3180
|
-
children: /* @__PURE__ */ (0,
|
|
3257
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_react_icons7.PauseIcon, {})
|
|
3181
3258
|
});
|
|
3182
3259
|
}
|
|
3183
3260
|
if (audioThreadContext.status === "playerPaused") {
|
|
3184
|
-
return /* @__PURE__ */ (0,
|
|
3261
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes41.IconButton, {
|
|
3185
3262
|
onClick: function() {
|
|
3186
3263
|
return audioThreadContext.messageAudioProps.play();
|
|
3187
3264
|
},
|
|
@@ -3191,10 +3268,10 @@ var ActionButton = function() {
|
|
|
3191
3268
|
style: {
|
|
3192
3269
|
border: "2px solid var(--gray-8)"
|
|
3193
3270
|
},
|
|
3194
|
-
children: /* @__PURE__ */ (0,
|
|
3271
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_react_icons7.ResumeIcon, {})
|
|
3195
3272
|
});
|
|
3196
3273
|
}
|
|
3197
|
-
return /* @__PURE__ */ (0,
|
|
3274
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes41.IconButton, {
|
|
3198
3275
|
size: "4",
|
|
3199
3276
|
color: "red",
|
|
3200
3277
|
radius: "full",
|
|
@@ -3205,140 +3282,141 @@ var ActionButton = function() {
|
|
|
3205
3282
|
});
|
|
3206
3283
|
};
|
|
3207
3284
|
// src/components/threads/AudioThread/Form/index.tsx
|
|
3208
|
-
var
|
|
3285
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
3209
3286
|
var Form = function() {
|
|
3210
3287
|
var audioThreadContext = useAudioThreadContext();
|
|
3211
|
-
return /* @__PURE__ */ (0,
|
|
3288
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(import_themes42.Flex, {
|
|
3212
3289
|
direction: "column",
|
|
3213
3290
|
align: "center",
|
|
3214
3291
|
children: [
|
|
3215
|
-
/* @__PURE__ */ (0,
|
|
3292
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(import_themes42.Flex, {
|
|
3216
3293
|
pb: "3",
|
|
3217
3294
|
align: "center",
|
|
3218
3295
|
children: [
|
|
3219
|
-
/* @__PURE__ */ (0,
|
|
3296
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_themes42.Flex, {
|
|
3220
3297
|
ml: "-5",
|
|
3221
3298
|
mr: "2",
|
|
3222
3299
|
align: "center",
|
|
3223
|
-
children: /* @__PURE__ */ (0,
|
|
3300
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_react_icons8.SpeakerModerateIcon, {
|
|
3224
3301
|
style: {
|
|
3225
3302
|
color: "var(--".concat(audioThreadContext.status === "recording" ? "mint" : "gray", "-12)")
|
|
3226
3303
|
}
|
|
3227
3304
|
})
|
|
3228
3305
|
}),
|
|
3229
|
-
/* @__PURE__ */ (0,
|
|
3306
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_themes42.Flex, {
|
|
3230
3307
|
px: "2",
|
|
3231
3308
|
py: "1",
|
|
3232
3309
|
style: {
|
|
3233
3310
|
backgroundColor: "var(--".concat(audioThreadContext.status === "recording" ? "mint" : "gray", "-4)"),
|
|
3234
3311
|
borderRadius: "var(--radius-6)"
|
|
3235
3312
|
},
|
|
3236
|
-
children: /* @__PURE__ */ (0,
|
|
3313
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Visualizer, {})
|
|
3237
3314
|
})
|
|
3238
3315
|
]
|
|
3239
3316
|
}),
|
|
3240
|
-
/* @__PURE__ */ (0,
|
|
3317
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(ActionButton, {})
|
|
3241
3318
|
]
|
|
3242
3319
|
});
|
|
3243
3320
|
};
|
|
3244
3321
|
// src/components/threads/AudioThread/index.tsx
|
|
3245
|
-
var
|
|
3322
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
3246
3323
|
var AudioThread = function(props) {
|
|
3247
|
-
return /* @__PURE__ */ (0,
|
|
3324
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(Root7, _object_spread_props(_object_spread({}, props), {
|
|
3248
3325
|
children: [
|
|
3249
|
-
/* @__PURE__ */ (0,
|
|
3250
|
-
/* @__PURE__ */ (0,
|
|
3326
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Visualization, {}),
|
|
3327
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Form, {})
|
|
3251
3328
|
]
|
|
3252
3329
|
}));
|
|
3253
3330
|
};
|
|
3254
|
-
AudioThread.Root =
|
|
3331
|
+
AudioThread.Root = Root7;
|
|
3255
3332
|
AudioThread.Visualization = Visualization;
|
|
3256
3333
|
AudioThread.Form = Form;
|
|
3257
3334
|
// src/components/threads/AudioThreadDialog/index.tsx
|
|
3258
|
-
var
|
|
3335
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
3259
3336
|
var AudioThreadDialog = function() {
|
|
3260
|
-
return /* @__PURE__ */ (0,
|
|
3337
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(Root5, {
|
|
3261
3338
|
children: [
|
|
3262
|
-
/* @__PURE__ */ (0,
|
|
3263
|
-
children: /* @__PURE__ */ (0,
|
|
3339
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Content4.Root, {
|
|
3340
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(AudioThread, {})
|
|
3264
3341
|
}),
|
|
3265
|
-
/* @__PURE__ */ (0,
|
|
3266
|
-
children: /* @__PURE__ */ (0,
|
|
3342
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Trigger, {
|
|
3343
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Button3, {})
|
|
3267
3344
|
})
|
|
3268
3345
|
]
|
|
3269
3346
|
});
|
|
3270
3347
|
};
|
|
3271
|
-
AudioThreadDialog.Root =
|
|
3348
|
+
AudioThreadDialog.Root = Root5;
|
|
3272
3349
|
AudioThreadDialog.Trigger = Trigger;
|
|
3273
3350
|
AudioThreadDialog.Button = Button3;
|
|
3274
3351
|
AudioThreadDialog.Content = Content4;
|
|
3275
3352
|
// src/components/suggestions/Suggestions/index.tsx
|
|
3276
|
-
var
|
|
3277
|
-
var
|
|
3353
|
+
var import_react41 = require("react");
|
|
3354
|
+
var import_themes44 = require("@radix-ui/themes");
|
|
3278
3355
|
// src/components/suggestions/Suggestion/index.tsx
|
|
3279
3356
|
var import_react_icons9 = require("@radix-ui/react-icons");
|
|
3280
|
-
var
|
|
3281
|
-
var
|
|
3357
|
+
var import_themes43 = require("@radix-ui/themes");
|
|
3358
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
3282
3359
|
var Suggestion = function(param) {
|
|
3283
3360
|
var suggestion = param.suggestion;
|
|
3284
|
-
var
|
|
3361
|
+
var createMessage = useCreateMessage().createMessage;
|
|
3285
3362
|
var _useIsRunActive = useIsRunActive(), isRunActive2 = _useIsRunActive.isRunActive;
|
|
3286
|
-
return /* @__PURE__ */ (0,
|
|
3363
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_themes43.Button, {
|
|
3287
3364
|
variant: "soft",
|
|
3288
3365
|
style: {
|
|
3289
3366
|
justifyContent: "space-between"
|
|
3290
3367
|
},
|
|
3291
3368
|
onClick: function() {
|
|
3292
|
-
|
|
3369
|
+
createMessage({
|
|
3370
|
+
// @ts-ignore-next-line
|
|
3293
3371
|
content: suggestion
|
|
3294
3372
|
});
|
|
3295
3373
|
},
|
|
3296
3374
|
disabled: isRunActive2,
|
|
3297
3375
|
children: [
|
|
3298
|
-
/* @__PURE__ */ (0,
|
|
3376
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_themes43.Text, {
|
|
3299
3377
|
size: "1",
|
|
3300
3378
|
weight: "regular",
|
|
3301
3379
|
children: suggestion
|
|
3302
3380
|
}),
|
|
3303
|
-
/* @__PURE__ */ (0,
|
|
3381
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_react_icons9.ArrowUpIcon, {})
|
|
3304
3382
|
]
|
|
3305
3383
|
});
|
|
3306
3384
|
};
|
|
3307
3385
|
// src/components/suggestions/Suggestions/index.tsx
|
|
3308
|
-
var
|
|
3386
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
3309
3387
|
var Suggestions = function(param) {
|
|
3310
3388
|
var _param_emptyStateSuggestions = param.emptyStateSuggestions, emptyStateSuggestions = _param_emptyStateSuggestions === void 0 ? [] : _param_emptyStateSuggestions, _param_suggestions = param.suggestions, suggestions = _param_suggestions === void 0 ? [] : _param_suggestions;
|
|
3311
|
-
var
|
|
3389
|
+
var latestMessageProps = useLatestMessage();
|
|
3312
3390
|
var isRunActiveProps = useIsRunActive();
|
|
3313
|
-
var isDisabled = (0,
|
|
3391
|
+
var isDisabled = (0, import_react41.useMemo)(function() {
|
|
3314
3392
|
var // @ts-ignore-next-line
|
|
3315
|
-
|
|
3316
|
-
return ((
|
|
3393
|
+
_latestMessageProps_latestMessage_metadata, _latestMessageProps_latestMessage;
|
|
3394
|
+
return ((_latestMessageProps_latestMessage = latestMessageProps.latestMessage) === null || _latestMessageProps_latestMessage === void 0 ? void 0 : (_latestMessageProps_latestMessage_metadata = _latestMessageProps_latestMessage.metadata) === null || _latestMessageProps_latestMessage_metadata === void 0 ? void 0 : _latestMessageProps_latestMessage_metadata.isBlocking) || isRunActiveProps.isRunActive;
|
|
3317
3395
|
}, [
|
|
3318
|
-
|
|
3396
|
+
latestMessageProps,
|
|
3319
3397
|
isRunActiveProps
|
|
3320
3398
|
]);
|
|
3321
|
-
if (
|
|
3399
|
+
if (latestMessageProps.isLoading) return null;
|
|
3322
3400
|
if (isDisabled) return null;
|
|
3323
|
-
if (!
|
|
3324
|
-
return /* @__PURE__ */ (0,
|
|
3401
|
+
if (!latestMessageProps.latestMessage && emptyStateSuggestions.length > 0) {
|
|
3402
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_themes44.Flex, {
|
|
3325
3403
|
gap: "2",
|
|
3326
3404
|
py: "2",
|
|
3327
3405
|
wrap: "wrap",
|
|
3328
3406
|
children: emptyStateSuggestions.map(function(suggestion) {
|
|
3329
|
-
return /* @__PURE__ */ (0,
|
|
3407
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Suggestion, {
|
|
3330
3408
|
suggestion: suggestion
|
|
3331
3409
|
}, suggestion);
|
|
3332
3410
|
})
|
|
3333
3411
|
});
|
|
3334
3412
|
}
|
|
3335
|
-
if (
|
|
3336
|
-
return /* @__PURE__ */ (0,
|
|
3413
|
+
if (latestMessageProps.latestMessage.role === "assistant") {
|
|
3414
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_themes44.Flex, {
|
|
3337
3415
|
gap: "2",
|
|
3338
3416
|
py: "2",
|
|
3339
3417
|
wrap: "wrap",
|
|
3340
3418
|
children: suggestions.map(function(suggestion) {
|
|
3341
|
-
return /* @__PURE__ */ (0,
|
|
3419
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Suggestion, {
|
|
3342
3420
|
suggestion: suggestion
|
|
3343
3421
|
}, suggestion);
|
|
3344
3422
|
})
|
|
@@ -3347,9 +3425,9 @@ var Suggestions = function(param) {
|
|
|
3347
3425
|
return null;
|
|
3348
3426
|
};
|
|
3349
3427
|
// src/hooks/markdown/useMarkdownContext/index.ts
|
|
3350
|
-
var
|
|
3428
|
+
var import_react42 = require("react");
|
|
3351
3429
|
var useMarkdownContext = function() {
|
|
3352
|
-
return (0,
|
|
3430
|
+
return (0, import_react42.useContext)(MarkdownContext);
|
|
3353
3431
|
};
|
|
3354
3432
|
// Annotate the CommonJS export names for ESM import in node:
|
|
3355
3433
|
0 && (module.exports = {
|
|
@@ -3365,19 +3443,17 @@ var useMarkdownContext = function() {
|
|
|
3365
3443
|
SuperinterfaceProvider: SuperinterfaceProvider,
|
|
3366
3444
|
Thread: Thread,
|
|
3367
3445
|
ThreadDialog: ThreadDialog,
|
|
3368
|
-
|
|
3369
|
-
|
|
3370
|
-
ThreadProvider: ThreadProvider,
|
|
3446
|
+
ThreadDialogContext: ThreadDialogContext,
|
|
3447
|
+
useCreateMessage: useCreateMessage,
|
|
3371
3448
|
useCreateRun: useCreateRun,
|
|
3372
|
-
useCreateThreadMessage: useCreateThreadMessage,
|
|
3373
3449
|
useIsRunActive: useIsRunActive,
|
|
3450
|
+
useLatestMessage: useLatestMessage,
|
|
3374
3451
|
useLatestRun: useLatestRun,
|
|
3375
|
-
|
|
3452
|
+
useLifecycle: useLifecycle,
|
|
3376
3453
|
useMarkdownContext: useMarkdownContext,
|
|
3454
|
+
useMessages: useMessages,
|
|
3377
3455
|
useRuns: useRuns,
|
|
3378
3456
|
useSuperinterfaceContext: useSuperinterfaceContext,
|
|
3379
|
-
useThreadContext: useThreadContext
|
|
3380
|
-
useThreadLifecycles: useThreadLifecycles,
|
|
3381
|
-
useThreadMessages: useThreadMessages
|
|
3457
|
+
useThreadContext: useThreadContext
|
|
3382
3458
|
});
|
|
3383
3459
|
//# sourceMappingURL=index.cjs.map
|