@superinterface/react 2.0.1 → 2.0.3
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 +1850 -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 +1792 -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,1561 @@ 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
|
-
var TextareaBase = (0, import_react26.forwardRef)(function TextareaBase2(props, ref) {
|
|
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
|
|
2077
2104
|
});
|
|
2078
|
-
// src/hooks/
|
|
2105
|
+
// src/hooks/messages/useMessageFormContext/index.ts
|
|
2106
|
+
var useMessageFormContext = function() {
|
|
2107
|
+
return (0, import_react27.useContext)(MessageFormContext);
|
|
2108
|
+
};
|
|
2109
|
+
// src/components/threads/Thread/MessageForm/Submit/index.tsx
|
|
2110
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
2111
|
+
var Submit = function() {
|
|
2112
|
+
var _useMessageFormContext = useMessageFormContext(), isDisabled = _useMessageFormContext.isDisabled, isLoading = _useMessageFormContext.isLoading;
|
|
2113
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_themes30.Button, {
|
|
2114
|
+
type: "submit",
|
|
2115
|
+
radius: "large",
|
|
2116
|
+
disabled: isDisabled,
|
|
2117
|
+
children: isLoading ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Spinner, {}) : /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_react_icons5.ArrowUpIcon, {})
|
|
2118
|
+
});
|
|
2119
|
+
};
|
|
2120
|
+
// src/components/threads/Thread/MessageForm/Root/index.tsx
|
|
2121
|
+
var import_react28 = require("react");
|
|
2122
|
+
var import_react_hook_form = require("react-hook-form");
|
|
2123
|
+
// src/hooks/messages/useCreateMessage/index.ts
|
|
2079
2124
|
var import_radash8 = require("radash");
|
|
2080
2125
|
var import_react_query10 = require("@tanstack/react-query");
|
|
2081
|
-
// src/hooks/
|
|
2126
|
+
// src/hooks/messages/useCreateMessage/lib/mutationOptions/onMutate/index.ts
|
|
2082
2127
|
var import_radash6 = require("radash");
|
|
2083
|
-
// src/hooks/
|
|
2128
|
+
// src/hooks/messages/useCreateMessage/lib/mutationOptions/onMutate/data.ts
|
|
2084
2129
|
var data2 = function(param) {
|
|
2085
|
-
var
|
|
2130
|
+
var newMessage = param.newMessage;
|
|
2086
2131
|
return function(prevData) {
|
|
2087
2132
|
var message = {
|
|
2088
2133
|
id: optimisticId(),
|
|
@@ -2094,7 +2139,7 @@ var data2 = function(param) {
|
|
|
2094
2139
|
type: "text",
|
|
2095
2140
|
text: {
|
|
2096
2141
|
annotations: [],
|
|
2097
|
-
value:
|
|
2142
|
+
value: newMessage.content
|
|
2098
2143
|
}
|
|
2099
2144
|
}
|
|
2100
2145
|
],
|
|
@@ -2131,18 +2176,18 @@ var data2 = function(param) {
|
|
|
2131
2176
|
});
|
|
2132
2177
|
};
|
|
2133
2178
|
};
|
|
2134
|
-
// src/hooks/
|
|
2179
|
+
// src/hooks/messages/useCreateMessage/lib/mutationOptions/onMutate/index.ts
|
|
2135
2180
|
var onMutate2 = function(param) {
|
|
2136
2181
|
var queryClient = param.queryClient;
|
|
2137
2182
|
return function() {
|
|
2138
|
-
var _ref = _async_to_generator(function(
|
|
2139
|
-
var queryKey,
|
|
2183
|
+
var _ref = _async_to_generator(function(newMessage) {
|
|
2184
|
+
var queryKey, prevMessages;
|
|
2140
2185
|
return _ts_generator(this, function(_state) {
|
|
2141
2186
|
switch(_state.label){
|
|
2142
2187
|
case 0:
|
|
2143
2188
|
queryKey = [
|
|
2144
|
-
"
|
|
2145
|
-
(0, import_radash6.omit)(
|
|
2189
|
+
"messages",
|
|
2190
|
+
(0, import_radash6.omit)(newMessage, [
|
|
2146
2191
|
"content"
|
|
2147
2192
|
])
|
|
2148
2193
|
];
|
|
@@ -2154,26 +2199,26 @@ var onMutate2 = function(param) {
|
|
|
2154
2199
|
];
|
|
2155
2200
|
case 1:
|
|
2156
2201
|
_state.sent();
|
|
2157
|
-
|
|
2202
|
+
prevMessages = queryClient.getQueryData(queryKey);
|
|
2158
2203
|
queryClient.setQueryData(queryKey, data2({
|
|
2159
|
-
|
|
2204
|
+
newMessage: newMessage
|
|
2160
2205
|
}));
|
|
2161
2206
|
return [
|
|
2162
2207
|
2,
|
|
2163
2208
|
{
|
|
2164
|
-
|
|
2165
|
-
|
|
2209
|
+
prevMessages: prevMessages,
|
|
2210
|
+
newMessage: newMessage
|
|
2166
2211
|
}
|
|
2167
2212
|
];
|
|
2168
2213
|
}
|
|
2169
2214
|
});
|
|
2170
2215
|
});
|
|
2171
|
-
return function(
|
|
2216
|
+
return function(newMessage) {
|
|
2172
2217
|
return _ref.apply(this, arguments);
|
|
2173
2218
|
};
|
|
2174
2219
|
}();
|
|
2175
2220
|
};
|
|
2176
|
-
// src/hooks/
|
|
2221
|
+
// src/hooks/messages/useCreateMessage/lib/mutationOptions/onSettled.ts
|
|
2177
2222
|
var import_radash7 = require("radash");
|
|
2178
2223
|
var onSettled3 = function(param) {
|
|
2179
2224
|
var queryClient = param.queryClient;
|
|
@@ -2186,7 +2231,7 @@ var onSettled3 = function(param) {
|
|
|
2186
2231
|
4,
|
|
2187
2232
|
queryClient.invalidateQueries({
|
|
2188
2233
|
queryKey: [
|
|
2189
|
-
"
|
|
2234
|
+
"messages",
|
|
2190
2235
|
(0, import_radash7.omit)(variables, [
|
|
2191
2236
|
"content"
|
|
2192
2237
|
])
|
|
@@ -2219,8 +2264,8 @@ var onSettled3 = function(param) {
|
|
|
2219
2264
|
};
|
|
2220
2265
|
}();
|
|
2221
2266
|
};
|
|
2222
|
-
// src/hooks/
|
|
2223
|
-
var
|
|
2267
|
+
// src/hooks/messages/useCreateMessage/index.ts
|
|
2268
|
+
var useCreateMessage = function() {
|
|
2224
2269
|
var queryClient = (0, import_react_query10.useQueryClient)();
|
|
2225
2270
|
var superinterfaceContext = useSuperinterfaceContext();
|
|
2226
2271
|
var threadContext = useSuperinterfaceContext();
|
|
@@ -2233,77 +2278,40 @@ var useCreateThreadMessage = function() {
|
|
|
2233
2278
|
})
|
|
2234
2279
|
}, mutationOptions({
|
|
2235
2280
|
mutationKeyBase: [
|
|
2236
|
-
"
|
|
2281
|
+
"createMessage"
|
|
2237
2282
|
],
|
|
2238
|
-
path: "/
|
|
2283
|
+
path: "/messages",
|
|
2239
2284
|
queryClient: queryClient,
|
|
2240
2285
|
threadContext: threadContext,
|
|
2241
2286
|
superinterfaceContext: superinterfaceContext
|
|
2242
2287
|
})));
|
|
2243
2288
|
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, {})
|
|
2289
|
+
createMessage: (0, import_radash8.partob)(props.mutateAsync, threadContext.variables)
|
|
2283
2290
|
});
|
|
2284
2291
|
};
|
|
2285
|
-
// src/components/
|
|
2292
|
+
// src/components/threads/Thread/MessageForm/Root/lib/formOptions.ts
|
|
2286
2293
|
var import_zod = require("zod");
|
|
2287
2294
|
var import_zod2 = require("@hookform/resolvers/zod");
|
|
2288
2295
|
var schema = import_zod.z.object({
|
|
2289
2296
|
content: import_zod.z.string().min(1)
|
|
2290
2297
|
});
|
|
2291
|
-
var
|
|
2298
|
+
var formOptions = {
|
|
2292
2299
|
resolver: (0, import_zod2.zodResolver)(schema)
|
|
2293
2300
|
};
|
|
2294
|
-
// src/components/
|
|
2295
|
-
var
|
|
2296
|
-
var
|
|
2297
|
-
var
|
|
2298
|
-
var
|
|
2301
|
+
// src/components/threads/Thread/MessageForm/Root/index.tsx
|
|
2302
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
2303
|
+
var Root2 = function(param) {
|
|
2304
|
+
var children = param.children;
|
|
2305
|
+
var formProps = (0, import_react_hook_form.useForm)(formOptions);
|
|
2306
|
+
var handleSubmit = formProps.handleSubmit, isSubmitting = formProps.formState.isSubmitting, reset = formProps.reset;
|
|
2299
2307
|
var _useIsRunActive = useIsRunActive(), isRunActive2 = _useIsRunActive.isRunActive;
|
|
2300
|
-
var isLoading = (0,
|
|
2308
|
+
var isLoading = (0, import_react28.useMemo)(function() {
|
|
2301
2309
|
return isRunActive2 || isSubmitting;
|
|
2302
2310
|
}, [
|
|
2303
2311
|
isRunActive2,
|
|
2304
2312
|
isSubmitting
|
|
2305
2313
|
]);
|
|
2306
|
-
var
|
|
2314
|
+
var createMessage = useCreateMessage().createMessage;
|
|
2307
2315
|
var onSubmit = function() {
|
|
2308
2316
|
var _ref = _async_to_generator(function(data3) {
|
|
2309
2317
|
return _ts_generator(this, function(_state) {
|
|
@@ -2312,7 +2320,7 @@ var ThreadMessageForm = function() {
|
|
|
2312
2320
|
reset();
|
|
2313
2321
|
return [
|
|
2314
2322
|
4,
|
|
2315
|
-
|
|
2323
|
+
createMessage({
|
|
2316
2324
|
content: data3.content
|
|
2317
2325
|
})
|
|
2318
2326
|
];
|
|
@@ -2328,25 +2336,100 @@ var ThreadMessageForm = function() {
|
|
|
2328
2336
|
return _ref.apply(this, arguments);
|
|
2329
2337
|
};
|
|
2330
2338
|
}();
|
|
2331
|
-
var
|
|
2332
|
-
var isDisabled = (0,
|
|
2339
|
+
var latestMessage = useLatestMessage().latestMessage;
|
|
2340
|
+
var isDisabled = (0, import_react28.useMemo)(function() {
|
|
2333
2341
|
var // @ts-ignore-next-line
|
|
2334
|
-
|
|
2335
|
-
return
|
|
2342
|
+
_latestMessage_metadata;
|
|
2343
|
+
return latestMessage === null || latestMessage === void 0 ? void 0 : (_latestMessage_metadata = latestMessage.metadata) === null || _latestMessage_metadata === void 0 ? void 0 : _latestMessage_metadata.isBlocking;
|
|
2336
2344
|
}, [
|
|
2337
|
-
|
|
2345
|
+
latestMessage,
|
|
2338
2346
|
isLoading
|
|
2339
2347
|
]);
|
|
2340
|
-
|
|
2348
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(MessageFormContext.Provider, {
|
|
2349
|
+
value: {
|
|
2350
|
+
isDisabled: isDisabled,
|
|
2351
|
+
isLoading: isLoading
|
|
2352
|
+
},
|
|
2353
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_hook_form.FormProvider, _object_spread_props(_object_spread({}, formProps), {
|
|
2354
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("form", {
|
|
2355
|
+
onSubmit: handleSubmit(onSubmit),
|
|
2356
|
+
children: children
|
|
2357
|
+
})
|
|
2358
|
+
}))
|
|
2359
|
+
});
|
|
2360
|
+
};
|
|
2361
|
+
// src/components/threads/Thread/MessageForm/Field/index.tsx
|
|
2362
|
+
var import_react_use2 = require("react-use");
|
|
2363
|
+
var import_react30 = require("react");
|
|
2364
|
+
// src/components/textareas/TextareaBase/index.tsx
|
|
2365
|
+
var import_react29 = require("react");
|
|
2366
|
+
var import_react_textarea_autosize = __toESM(require("react-textarea-autosize"), 1);
|
|
2367
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
2368
|
+
var UPSCALE_RATIO = 16 / 14;
|
|
2369
|
+
var TextareaBase = (0, import_react29.forwardRef)(function TextareaBase2(props, ref) {
|
|
2370
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_react_textarea_autosize.default, _object_spread({
|
|
2371
|
+
ref: ref,
|
|
2372
|
+
className: "textarea-base",
|
|
2373
|
+
style: {
|
|
2374
|
+
resize: "none",
|
|
2375
|
+
fontSize: "".concat(14 * UPSCALE_RATIO, "px"),
|
|
2376
|
+
lineHeight: "".concat(24 * UPSCALE_RATIO, "px"),
|
|
2377
|
+
transform: "scale(".concat(1 / UPSCALE_RATIO, ")"),
|
|
2378
|
+
margin: "0 ".concat((-100 * UPSCALE_RATIO + 100) / 2, "%"),
|
|
2379
|
+
width: "".concat(100 * UPSCALE_RATIO, "%"),
|
|
2380
|
+
maxWidth: "".concat(100 * UPSCALE_RATIO, "%"),
|
|
2381
|
+
flexGrow: 1,
|
|
2382
|
+
display: "flex"
|
|
2383
|
+
}
|
|
2384
|
+
}, props));
|
|
2385
|
+
});
|
|
2386
|
+
// src/components/threads/Thread/MessageForm/Field/index.tsx
|
|
2387
|
+
var import_react_hook_form2 = require("react-hook-form");
|
|
2388
|
+
var import_themes31 = require("@radix-ui/themes");
|
|
2389
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
2390
|
+
var Root3 = function(param) {
|
|
2391
|
+
var children = param.children;
|
|
2392
|
+
var _ref = (0, import_react_hook_form2.useFormContext)(), errors = _ref.formState.errors;
|
|
2393
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_themes31.Container, {
|
|
2394
|
+
size: "2",
|
|
2395
|
+
flexGrow: "0",
|
|
2396
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_themes31.Flex, {
|
|
2397
|
+
direction: "column",
|
|
2398
|
+
flexShrink: "0",
|
|
2399
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_themes31.Flex, {
|
|
2400
|
+
direction: "column",
|
|
2401
|
+
flexShrink: "0",
|
|
2402
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_themes31.Flex, {
|
|
2403
|
+
style: _object_spread({
|
|
2404
|
+
borderRadius: "var(--radius-2)",
|
|
2405
|
+
borderWidth: "1px",
|
|
2406
|
+
borderStyle: "solid",
|
|
2407
|
+
borderColor: errors.content ? "var(--red-9)" : "var(--gray-5)"
|
|
2408
|
+
}, errors.content ? {
|
|
2409
|
+
backgroundColor: "var(--red-2)"
|
|
2410
|
+
} : {}),
|
|
2411
|
+
p: "2",
|
|
2412
|
+
pl: "4",
|
|
2413
|
+
children: children
|
|
2414
|
+
})
|
|
2415
|
+
})
|
|
2416
|
+
})
|
|
2417
|
+
});
|
|
2418
|
+
};
|
|
2419
|
+
var Control = function() {
|
|
2420
|
+
var assistantNameContext = (0, import_react30.useContext)(AssistantNameContext);
|
|
2421
|
+
var register = (0, import_react_hook_form2.useFormContext)().register;
|
|
2422
|
+
var _useMessageFormContext = useMessageFormContext(), isDisabled = _useMessageFormContext.isDisabled, isLoading = _useMessageFormContext.isLoading;
|
|
2423
|
+
var isSubmitDisabled = (0, import_react30.useMemo)(function() {
|
|
2341
2424
|
return isDisabled || isLoading;
|
|
2342
2425
|
}, [
|
|
2343
2426
|
isDisabled,
|
|
2344
2427
|
isLoading
|
|
2345
2428
|
]);
|
|
2346
2429
|
var isDisabledPrevious = (0, import_react_use2.usePrevious)(isDisabled);
|
|
2347
|
-
var textareaRef = (0,
|
|
2430
|
+
var textareaRef = (0, import_react30.useRef)(null);
|
|
2348
2431
|
var textareaProps = register("content");
|
|
2349
|
-
(0,
|
|
2432
|
+
(0, import_react30.useEffect)(function() {
|
|
2350
2433
|
if (isDisabled) return;
|
|
2351
2434
|
if (!isDisabledPrevious) return;
|
|
2352
2435
|
if (!textareaRef.current) return;
|
|
@@ -2356,123 +2439,108 @@ var ThreadMessageForm = function() {
|
|
|
2356
2439
|
isDisabledPrevious,
|
|
2357
2440
|
textareaProps
|
|
2358
2441
|
]);
|
|
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
|
-
});
|
|
2442
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(TextareaBase, _object_spread_props(_object_spread({
|
|
2443
|
+
minRows: 1,
|
|
2444
|
+
placeholder: "Message ".concat(assistantNameContext, "..."),
|
|
2445
|
+
disabled: isDisabled,
|
|
2446
|
+
onKeyDown: function(e) {
|
|
2447
|
+
if (e.key === "Enter" && !e.shiftKey) {
|
|
2448
|
+
var _e_currentTarget_form;
|
|
2449
|
+
e.preventDefault();
|
|
2450
|
+
if (isSubmitDisabled) return;
|
|
2451
|
+
(_e_currentTarget_form = e.currentTarget.form) === null || _e_currentTarget_form === void 0 ? void 0 : _e_currentTarget_form.requestSubmit();
|
|
2452
|
+
}
|
|
2453
|
+
}
|
|
2454
|
+
}, textareaProps), {
|
|
2455
|
+
ref: function(e) {
|
|
2456
|
+
textareaProps.ref(e);
|
|
2457
|
+
textareaRef.current = e;
|
|
2458
|
+
}
|
|
2459
|
+
}));
|
|
2429
2460
|
};
|
|
2430
|
-
|
|
2431
|
-
|
|
2432
|
-
|
|
2433
|
-
|
|
2434
|
-
|
|
2435
|
-
|
|
2436
|
-
|
|
2461
|
+
var Field = {
|
|
2462
|
+
Root: Root3,
|
|
2463
|
+
Control: Control
|
|
2464
|
+
};
|
|
2465
|
+
// src/components/threads/Thread/MessageForm/index.tsx
|
|
2466
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
2467
|
+
var MessageForm = function() {
|
|
2468
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Root2, {
|
|
2469
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Field.Root, {
|
|
2437
2470
|
children: [
|
|
2438
|
-
/* @__PURE__ */ (0,
|
|
2471
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes32.Text, {
|
|
2472
|
+
size: "2",
|
|
2439
2473
|
style: {
|
|
2440
|
-
|
|
2441
|
-
}
|
|
2474
|
+
flexGrow: 1
|
|
2475
|
+
},
|
|
2476
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes32.Flex, {
|
|
2477
|
+
flexGrow: "1",
|
|
2478
|
+
direction: "column",
|
|
2479
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Field.Control, {})
|
|
2480
|
+
})
|
|
2442
2481
|
}),
|
|
2443
|
-
/* @__PURE__ */ (0,
|
|
2444
|
-
|
|
2445
|
-
|
|
2446
|
-
|
|
2447
|
-
paddingBottom: "var(--space-5)"
|
|
2448
|
-
}
|
|
2482
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes32.Flex, {
|
|
2483
|
+
flexShrink: "0",
|
|
2484
|
+
align: "end",
|
|
2485
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Submit, {})
|
|
2449
2486
|
})
|
|
2450
2487
|
]
|
|
2451
2488
|
})
|
|
2489
|
+
});
|
|
2490
|
+
};
|
|
2491
|
+
MessageForm.Root = Root2;
|
|
2492
|
+
MessageForm.Field = Field;
|
|
2493
|
+
MessageForm.Submit = Submit;
|
|
2494
|
+
// src/components/threads/Thread/Root/index.tsx
|
|
2495
|
+
var import_themes33 = require("@radix-ui/themes");
|
|
2496
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
2497
|
+
var Root4 = function(_param) {
|
|
2498
|
+
var children = _param.children, rest = _object_without_properties(_param, [
|
|
2499
|
+
"children"
|
|
2500
|
+
]);
|
|
2501
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(SuperinterfaceProvider, _object_spread_props(_object_spread({}, rest), {
|
|
2502
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_themes33.Flex, {
|
|
2503
|
+
direction: "column",
|
|
2504
|
+
flexGrow: "1",
|
|
2505
|
+
children: children
|
|
2506
|
+
})
|
|
2507
|
+
}));
|
|
2508
|
+
};
|
|
2509
|
+
// src/components/threads/Thread/index.tsx
|
|
2510
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
2511
|
+
var Thread = function(props) {
|
|
2512
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Root4, _object_spread_props(_object_spread({}, props), {
|
|
2513
|
+
children: [
|
|
2514
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Messages, {}),
|
|
2515
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(MessageForm, {})
|
|
2516
|
+
]
|
|
2452
2517
|
}));
|
|
2453
2518
|
};
|
|
2519
|
+
Thread.Root = Root4;
|
|
2520
|
+
Thread.Messages = Messages;
|
|
2521
|
+
Thread.MessageForm = MessageForm;
|
|
2454
2522
|
// src/components/threads/ThreadDialog/Root/index.tsx
|
|
2455
|
-
var
|
|
2523
|
+
var import_themes34 = require("@radix-ui/themes");
|
|
2456
2524
|
// src/components/threads/ThreadDialog/Provider/index.tsx
|
|
2457
|
-
var
|
|
2525
|
+
var import_react33 = require("react");
|
|
2458
2526
|
// src/contexts/threads/ThreadDialogContext/index.ts
|
|
2459
|
-
var
|
|
2460
|
-
var ThreadDialogContext = (0,
|
|
2527
|
+
var import_react31 = require("react");
|
|
2528
|
+
var ThreadDialogContext = (0, import_react31.createContext)({
|
|
2461
2529
|
isOpen: false,
|
|
2462
2530
|
setIsOpen: function() {}
|
|
2463
2531
|
});
|
|
2464
2532
|
// src/hooks/threads/useThreadDialogContext/index.ts
|
|
2465
|
-
var
|
|
2533
|
+
var import_react32 = require("react");
|
|
2466
2534
|
var useThreadDialogContext = function() {
|
|
2467
|
-
return (0,
|
|
2535
|
+
return (0, import_react32.useContext)(ThreadDialogContext);
|
|
2468
2536
|
};
|
|
2469
2537
|
// src/components/threads/ThreadDialog/Provider/index.tsx
|
|
2470
|
-
var
|
|
2538
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
2471
2539
|
var Provider = function(param) {
|
|
2472
2540
|
var children = param.children;
|
|
2473
2541
|
var threadDialogContext = useThreadDialogContext();
|
|
2474
|
-
var _ref = _sliced_to_array((0,
|
|
2475
|
-
return /* @__PURE__ */ (0,
|
|
2542
|
+
var _ref = _sliced_to_array((0, import_react33.useState)(threadDialogContext.isOpen), 2), isOpen = _ref[0], setIsOpen = _ref[1];
|
|
2543
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(ThreadDialogContext.Provider, {
|
|
2476
2544
|
value: {
|
|
2477
2545
|
isOpen: isOpen,
|
|
2478
2546
|
setIsOpen: setIsOpen
|
|
@@ -2481,11 +2549,11 @@ var Provider = function(param) {
|
|
|
2481
2549
|
});
|
|
2482
2550
|
};
|
|
2483
2551
|
// src/components/threads/ThreadDialog/Root/index.tsx
|
|
2484
|
-
var
|
|
2485
|
-
var
|
|
2552
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
2553
|
+
var Root5 = function(param) {
|
|
2486
2554
|
var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
|
|
2487
|
-
return /* @__PURE__ */ (0,
|
|
2488
|
-
children: /* @__PURE__ */ (0,
|
|
2555
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Provider, {
|
|
2556
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_themes34.Flex, {
|
|
2489
2557
|
direction: "column",
|
|
2490
2558
|
justify: "end",
|
|
2491
2559
|
align: "end",
|
|
@@ -2501,94 +2569,107 @@ var Root = function(param) {
|
|
|
2501
2569
|
});
|
|
2502
2570
|
};
|
|
2503
2571
|
// src/components/threads/ThreadDialog/Trigger/index.tsx
|
|
2504
|
-
var
|
|
2505
|
-
var
|
|
2572
|
+
var import_themes35 = require("@radix-ui/themes");
|
|
2573
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
2506
2574
|
var Trigger = function(param) {
|
|
2507
2575
|
var children = param.children;
|
|
2508
2576
|
var setIsOpen = useThreadDialogContext().setIsOpen;
|
|
2509
|
-
return /* @__PURE__ */ (0,
|
|
2577
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_themes35.Flex, {
|
|
2510
2578
|
onClick: function() {
|
|
2511
2579
|
return setIsOpen(function(prev) {
|
|
2512
2580
|
return !prev;
|
|
2513
2581
|
});
|
|
2514
2582
|
},
|
|
2515
2583
|
direction: "column",
|
|
2516
|
-
|
|
2584
|
+
flexShrink: "0",
|
|
2517
2585
|
children: children
|
|
2518
2586
|
});
|
|
2519
2587
|
};
|
|
2520
2588
|
// src/components/threads/ThreadDialog/Button/index.tsx
|
|
2521
|
-
var
|
|
2589
|
+
var import_themes36 = require("@radix-ui/themes");
|
|
2522
2590
|
var import_react_icons6 = require("@radix-ui/react-icons");
|
|
2523
|
-
var
|
|
2591
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
2524
2592
|
var Button3 = function() {
|
|
2525
|
-
return /* @__PURE__ */ (0,
|
|
2593
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_themes36.IconButton, {
|
|
2526
2594
|
size: "4",
|
|
2527
2595
|
radius: "full",
|
|
2528
|
-
children: /* @__PURE__ */ (0,
|
|
2596
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_react_icons6.ChatBubbleIcon, {})
|
|
2529
2597
|
});
|
|
2530
2598
|
};
|
|
2531
2599
|
// src/components/threads/ThreadDialog/Content/index.tsx
|
|
2532
|
-
var
|
|
2533
|
-
var
|
|
2534
|
-
var
|
|
2600
|
+
var import_themes37 = require("@radix-ui/themes");
|
|
2601
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
2602
|
+
var Root6 = function(param) {
|
|
2535
2603
|
var children = param.children;
|
|
2536
2604
|
var isOpen = useThreadDialogContext().isOpen;
|
|
2537
2605
|
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
|
-
|
|
2606
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_themes37.Card, {
|
|
2607
|
+
mb: "3",
|
|
2608
|
+
style: {
|
|
2609
|
+
display: "flex",
|
|
2610
|
+
flexGrow: 1,
|
|
2611
|
+
width: "100vw",
|
|
2612
|
+
maxWidth: "400px",
|
|
2613
|
+
maxHeight: "720px"
|
|
2614
|
+
},
|
|
2615
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_themes37.Inset, {
|
|
2616
|
+
clip: "padding-box",
|
|
2617
|
+
side: "all",
|
|
2618
|
+
pb: "current",
|
|
2619
|
+
style: {
|
|
2620
|
+
display: "flex",
|
|
2621
|
+
flexGrow: 1
|
|
2622
|
+
},
|
|
2623
|
+
children: children
|
|
2624
|
+
})
|
|
2625
|
+
});
|
|
2626
|
+
};
|
|
2627
|
+
var Content4 = function() {
|
|
2628
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Root6, {
|
|
2629
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Thread.Root, {
|
|
2630
|
+
children: [
|
|
2631
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Thread.Messages, {
|
|
2556
2632
|
style: {
|
|
2557
|
-
|
|
2558
|
-
|
|
2559
|
-
|
|
2560
|
-
|
|
2633
|
+
padding: "var(--space-5)"
|
|
2634
|
+
}
|
|
2635
|
+
}),
|
|
2636
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_themes37.Flex, {
|
|
2637
|
+
direction: "column",
|
|
2638
|
+
pl: "5",
|
|
2639
|
+
pr: "5",
|
|
2640
|
+
pb: "3",
|
|
2641
|
+
flexShrink: "0",
|
|
2642
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Thread.MessageForm, {})
|
|
2561
2643
|
})
|
|
2562
|
-
|
|
2563
|
-
|
|
2644
|
+
]
|
|
2645
|
+
})
|
|
2564
2646
|
});
|
|
2565
2647
|
};
|
|
2648
|
+
Content4.Root = Root6;
|
|
2566
2649
|
// src/components/threads/ThreadDialog/index.tsx
|
|
2567
|
-
var
|
|
2650
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
2568
2651
|
var ThreadDialog = function() {
|
|
2569
|
-
return /* @__PURE__ */ (0,
|
|
2652
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(Root5, {
|
|
2570
2653
|
children: [
|
|
2571
|
-
/* @__PURE__ */ (0,
|
|
2572
|
-
|
|
2573
|
-
|
|
2574
|
-
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Trigger, {
|
|
2575
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Button3, {})
|
|
2654
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Content4, {}),
|
|
2655
|
+
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Trigger, {
|
|
2656
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Button3, {})
|
|
2576
2657
|
})
|
|
2577
2658
|
]
|
|
2578
2659
|
});
|
|
2579
2660
|
};
|
|
2580
|
-
ThreadDialog.Root =
|
|
2661
|
+
ThreadDialog.Root = Root5;
|
|
2581
2662
|
ThreadDialog.Trigger = Trigger;
|
|
2582
2663
|
ThreadDialog.Button = Button3;
|
|
2583
2664
|
ThreadDialog.Content = Content4;
|
|
2584
2665
|
// src/components/threads/AudioThread/Root/index.tsx
|
|
2585
2666
|
var import_runtime = require("regenerator-runtime/runtime");
|
|
2586
|
-
var
|
|
2587
|
-
var
|
|
2667
|
+
var import_react38 = require("react");
|
|
2668
|
+
var import_themes38 = require("@radix-ui/themes");
|
|
2588
2669
|
var import_react_speech_recognition = __toESM(require("react-speech-recognition"), 1);
|
|
2589
2670
|
// src/contexts/threads/AudioThreadContext/index.ts
|
|
2590
|
-
var
|
|
2591
|
-
var AudioThreadContext = (0,
|
|
2671
|
+
var import_react34 = require("react");
|
|
2672
|
+
var AudioThreadContext = (0, import_react34.createContext)({
|
|
2592
2673
|
status: "idle",
|
|
2593
2674
|
recorderProps: {
|
|
2594
2675
|
status: "idle",
|
|
@@ -2646,13 +2727,13 @@ var AudioThreadContext = (0, import_react31.createContext)({
|
|
|
2646
2727
|
// src/components/threads/AudioThread/Root/index.tsx
|
|
2647
2728
|
var import_react_use4 = require("react-use");
|
|
2648
2729
|
// src/hooks/audioThreads/useStatus/index.ts
|
|
2649
|
-
var
|
|
2730
|
+
var import_react35 = require("react");
|
|
2650
2731
|
var useStatus = function(param) {
|
|
2651
|
-
var messageAudioProps = param.messageAudioProps, recorderProps = param.recorderProps,
|
|
2732
|
+
var messageAudioProps = param.messageAudioProps, recorderProps = param.recorderProps, createMessageProps = param.createMessageProps;
|
|
2652
2733
|
var isRunActiveProps = useIsRunActive();
|
|
2653
|
-
var status = (0,
|
|
2734
|
+
var status = (0, import_react35.useMemo)(function() {
|
|
2654
2735
|
if (recorderProps.status === "recording") return "recording";
|
|
2655
|
-
if (
|
|
2736
|
+
if (createMessageProps.isPending) return "creatingMessage";
|
|
2656
2737
|
if (isRunActiveProps.isRunActive) return "runActive";
|
|
2657
2738
|
if (messageAudioProps.playing) return "playing";
|
|
2658
2739
|
if (messageAudioProps.paused) return "playerPaused";
|
|
@@ -2663,7 +2744,7 @@ var useStatus = function(param) {
|
|
|
2663
2744
|
}, [
|
|
2664
2745
|
messageAudioProps,
|
|
2665
2746
|
recorderProps,
|
|
2666
|
-
|
|
2747
|
+
createMessageProps,
|
|
2667
2748
|
isRunActiveProps
|
|
2668
2749
|
]);
|
|
2669
2750
|
return {
|
|
@@ -2673,19 +2754,19 @@ var useStatus = function(param) {
|
|
|
2673
2754
|
// src/hooks/audioThreads/useRecorder/index.ts
|
|
2674
2755
|
var import_dayjs = __toESM(require("dayjs"), 1);
|
|
2675
2756
|
var import_use_audio_capture = require("use-audio-capture");
|
|
2676
|
-
var
|
|
2757
|
+
var import_react36 = require("react");
|
|
2677
2758
|
var import_react_use_audio_player = require("react-use-audio-player");
|
|
2678
2759
|
var import_react_use3 = require("react-use");
|
|
2679
2760
|
var useRecorder = function(param) {
|
|
2680
2761
|
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,
|
|
2762
|
+
var _ref = _sliced_to_array((0, import_react36.useState)(null), 2), silenceStart = _ref[0], setSilenceStart = _ref[1];
|
|
2763
|
+
var _ref1 = _sliced_to_array((0, import_react36.useState)(null), 2), noiseStart = _ref1[0], setNoiseStart = _ref1[1];
|
|
2764
|
+
var _ref2 = _sliced_to_array((0, import_react36.useState)(null), 2), mediaStream = _ref2[0], setMediaStream = _ref2[1];
|
|
2765
|
+
var _ref3 = _sliced_to_array((0, import_react36.useState)("idle"), 2), status = _ref3[0], setStatus = _ref3[1];
|
|
2685
2766
|
var startAudioPlayer = (0, import_react_use_audio_player.useAudioPlayer)();
|
|
2686
2767
|
var endAudioPlayer = (0, import_react_use_audio_player.useAudioPlayer)();
|
|
2687
|
-
var _ref4 = _sliced_to_array((0,
|
|
2688
|
-
(0,
|
|
2768
|
+
var _ref4 = _sliced_to_array((0, import_react36.useState)(false), 2), isLoaded = _ref4[0], setIsLoaded = _ref4[1];
|
|
2769
|
+
(0, import_react36.useEffect)(function() {
|
|
2689
2770
|
if (isLoaded) return;
|
|
2690
2771
|
setIsLoaded(true);
|
|
2691
2772
|
startAudioPlayer.load("/sounds/warning.wav", {
|
|
@@ -2751,9 +2832,9 @@ var useRecorder = function(param) {
|
|
|
2751
2832
|
setNoiseStart(null);
|
|
2752
2833
|
}
|
|
2753
2834
|
});
|
|
2754
|
-
var _ref5 = _sliced_to_array((0,
|
|
2755
|
-
var isInited = (0,
|
|
2756
|
-
(0,
|
|
2835
|
+
var _ref5 = _sliced_to_array((0, import_react36.useState)(null), 2), audioEngine = _ref5[0], setAudioEngine = _ref5[1];
|
|
2836
|
+
var isInited = (0, import_react36.useRef)(false);
|
|
2837
|
+
(0, import_react36.useEffect)(function() {
|
|
2757
2838
|
if (!mediaStream) return;
|
|
2758
2839
|
if (isInited.current) return;
|
|
2759
2840
|
isInited.current = true;
|
|
@@ -2766,7 +2847,7 @@ var useRecorder = function(param) {
|
|
|
2766
2847
|
isInited,
|
|
2767
2848
|
mediaStream
|
|
2768
2849
|
]);
|
|
2769
|
-
var visualizationAnalyser = (0,
|
|
2850
|
+
var visualizationAnalyser = (0, import_react36.useMemo)(function() {
|
|
2770
2851
|
if (!audioEngine) return null;
|
|
2771
2852
|
var result = audioEngine.audioContext.createAnalyser();
|
|
2772
2853
|
audioEngine.source.connect(result);
|
|
@@ -2774,7 +2855,7 @@ var useRecorder = function(param) {
|
|
|
2774
2855
|
}, [
|
|
2775
2856
|
audioEngine
|
|
2776
2857
|
]);
|
|
2777
|
-
var silenceAnalyser = (0,
|
|
2858
|
+
var silenceAnalyser = (0, import_react36.useMemo)(function() {
|
|
2778
2859
|
if (!audioEngine) return null;
|
|
2779
2860
|
var result = audioEngine.audioContext.createAnalyser();
|
|
2780
2861
|
result.minDecibels = -45;
|
|
@@ -2783,7 +2864,7 @@ var useRecorder = function(param) {
|
|
|
2783
2864
|
}, [
|
|
2784
2865
|
audioEngine
|
|
2785
2866
|
]);
|
|
2786
|
-
var handleSilence = (0,
|
|
2867
|
+
var handleSilence = (0, import_react36.useCallback)(function() {
|
|
2787
2868
|
if (!silenceAnalyser) return;
|
|
2788
2869
|
var frequencyData = new Uint8Array(silenceAnalyser.frequencyBinCount);
|
|
2789
2870
|
silenceAnalyser.getByteFrequencyData(frequencyData);
|
|
@@ -2806,7 +2887,7 @@ var useRecorder = function(param) {
|
|
|
2806
2887
|
setNoiseStart,
|
|
2807
2888
|
setSilenceStart
|
|
2808
2889
|
]);
|
|
2809
|
-
(0,
|
|
2890
|
+
(0, import_react36.useEffect)(function() {
|
|
2810
2891
|
if (!isStopOnSilence) return;
|
|
2811
2892
|
requestAnimationFrame(function() {
|
|
2812
2893
|
return handleSilence();
|
|
@@ -2829,14 +2910,14 @@ var useRecorder = function(param) {
|
|
|
2829
2910
|
});
|
|
2830
2911
|
};
|
|
2831
2912
|
// src/hooks/audioThreads/useMessageAudio/index.ts
|
|
2832
|
-
var
|
|
2913
|
+
var import_react37 = require("react");
|
|
2833
2914
|
var import_howler = require("howler");
|
|
2834
2915
|
var import_react_use_audio_player2 = require("react-use-audio-player");
|
|
2835
2916
|
// src/hooks/audioThreads/useMessageAudio/lib/input.ts
|
|
2836
2917
|
var import_radash9 = require("radash");
|
|
2837
2918
|
var input = function(param) {
|
|
2838
|
-
var
|
|
2839
|
-
var textContents =
|
|
2919
|
+
var message = param.message;
|
|
2920
|
+
var textContents = message.content.filter(function(c) {
|
|
2840
2921
|
return c.type === "text";
|
|
2841
2922
|
});
|
|
2842
2923
|
var result = textContents.map(function(c) {
|
|
@@ -2855,22 +2936,22 @@ var isHtmlAudioSupported = !unsupportedNames.includes(((_this = (0, import_detec
|
|
|
2855
2936
|
// src/hooks/audioThreads/useMessageAudio/index.ts
|
|
2856
2937
|
var useMessageAudio = function(param) {
|
|
2857
2938
|
var onEnd = param.onEnd;
|
|
2858
|
-
var _ref = _sliced_to_array((0,
|
|
2939
|
+
var _ref = _sliced_to_array((0, import_react37.useState)([]), 2), playedMessageIds = _ref[0], setPlayedMessageIds = _ref[1];
|
|
2859
2940
|
var audioPlayer = (0, import_react_use_audio_player2.useAudioPlayer)();
|
|
2860
2941
|
var superinterfaceContext = useSuperinterfaceContext();
|
|
2861
|
-
var
|
|
2862
|
-
(0,
|
|
2942
|
+
var latestMessageProps = useLatestMessage();
|
|
2943
|
+
(0, import_react37.useEffect)(function() {
|
|
2863
2944
|
if (audioPlayer.playing) return;
|
|
2864
|
-
if (!
|
|
2865
|
-
if (
|
|
2866
|
-
if (playedMessageIds.includes(
|
|
2945
|
+
if (!latestMessageProps.latestMessage) return;
|
|
2946
|
+
if (latestMessageProps.latestMessage.role !== "assistant") return;
|
|
2947
|
+
if (playedMessageIds.includes(latestMessageProps.latestMessage.id)) return;
|
|
2867
2948
|
var input2 = input({
|
|
2868
|
-
|
|
2949
|
+
message: latestMessageProps.latestMessage
|
|
2869
2950
|
});
|
|
2870
2951
|
if (!input2) return;
|
|
2871
2952
|
setPlayedMessageIds(function(prev) {
|
|
2872
2953
|
return _to_consumable_array(prev).concat([
|
|
2873
|
-
|
|
2954
|
+
latestMessageProps.latestMessage.id
|
|
2874
2955
|
]);
|
|
2875
2956
|
});
|
|
2876
2957
|
audioPlayer.load("".concat(superinterfaceContext.baseUrl, "/tts?input=").concat(input2), {
|
|
@@ -2881,14 +2962,14 @@ var useMessageAudio = function(param) {
|
|
|
2881
2962
|
});
|
|
2882
2963
|
}, [
|
|
2883
2964
|
superinterfaceContext,
|
|
2884
|
-
|
|
2965
|
+
latestMessageProps,
|
|
2885
2966
|
audioPlayer,
|
|
2886
2967
|
playedMessageIds,
|
|
2887
2968
|
onEnd
|
|
2888
2969
|
]);
|
|
2889
|
-
var isInited = (0,
|
|
2890
|
-
var _ref1 = _sliced_to_array((0,
|
|
2891
|
-
(0,
|
|
2970
|
+
var isInited = (0, import_react37.useRef)(false);
|
|
2971
|
+
var _ref1 = _sliced_to_array((0, import_react37.useState)(null), 2), audioEngine = _ref1[0], setAudioEngine = _ref1[1];
|
|
2972
|
+
(0, import_react37.useEffect)(function() {
|
|
2892
2973
|
if (!audioPlayer.playing) return;
|
|
2893
2974
|
if (isInited.current) return;
|
|
2894
2975
|
isInited.current = true;
|
|
@@ -2909,7 +2990,7 @@ var useMessageAudio = function(param) {
|
|
|
2909
2990
|
audioPlayer,
|
|
2910
2991
|
isInited
|
|
2911
2992
|
]);
|
|
2912
|
-
var visualizationAnalyser = (0,
|
|
2993
|
+
var visualizationAnalyser = (0, import_react37.useMemo)(function() {
|
|
2913
2994
|
if (!audioEngine) return null;
|
|
2914
2995
|
var result = audioEngine.audioContext.createAnalyser();
|
|
2915
2996
|
audioEngine.source.connect(audioEngine.audioContext.destination);
|
|
@@ -2923,19 +3004,14 @@ var useMessageAudio = function(param) {
|
|
|
2923
3004
|
});
|
|
2924
3005
|
};
|
|
2925
3006
|
// src/components/threads/AudioThread/Root/index.tsx
|
|
2926
|
-
var
|
|
2927
|
-
var
|
|
3007
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
3008
|
+
var Root7 = function(param) {
|
|
2928
3009
|
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() {
|
|
3010
|
+
useLifecycle();
|
|
3011
|
+
var createMessageProps = useCreateMessage();
|
|
3012
|
+
var _ref = (0, import_react_speech_recognition.useSpeechRecognition)(), transcript = _ref.transcript, resetTranscript = _ref.resetTranscript;
|
|
3013
|
+
var transcriptRef = (0, import_react38.useRef)(transcript);
|
|
3014
|
+
(0, import_react38.useEffect)(function() {
|
|
2939
3015
|
transcriptRef.current = transcript;
|
|
2940
3016
|
}, [
|
|
2941
3017
|
transcript
|
|
@@ -2955,20 +3031,21 @@ var Root2 = function(param) {
|
|
|
2955
3031
|
});
|
|
2956
3032
|
}),
|
|
2957
3033
|
onStop: function() {
|
|
2958
|
-
var _ref = _async_to_generator(function(_event,
|
|
3034
|
+
var _ref = _async_to_generator(function(_event, _chunks) {
|
|
2959
3035
|
return _ts_generator(this, function(_state) {
|
|
2960
3036
|
console.log({
|
|
2961
3037
|
transcript: transcriptRef.current
|
|
2962
3038
|
});
|
|
2963
3039
|
return [
|
|
2964
3040
|
2,
|
|
2965
|
-
|
|
3041
|
+
createMessageProps.createMessage({
|
|
3042
|
+
// @ts-ignore-next-line
|
|
2966
3043
|
content: transcriptRef.current
|
|
2967
3044
|
})
|
|
2968
3045
|
];
|
|
2969
3046
|
});
|
|
2970
3047
|
});
|
|
2971
|
-
return function(_event,
|
|
3048
|
+
return function(_event, _chunks) {
|
|
2972
3049
|
return _ref.apply(this, arguments);
|
|
2973
3050
|
};
|
|
2974
3051
|
}()
|
|
@@ -2985,47 +3062,47 @@ var Root2 = function(param) {
|
|
|
2985
3062
|
});
|
|
2986
3063
|
var status = useStatus({
|
|
2987
3064
|
recorderProps: recorderProps,
|
|
2988
|
-
|
|
3065
|
+
createMessageProps: createMessageProps,
|
|
2989
3066
|
messageAudioProps: messageAudioProps
|
|
2990
3067
|
}).status;
|
|
2991
|
-
return /* @__PURE__ */ (0,
|
|
3068
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(AudioThreadContext.Provider, {
|
|
2992
3069
|
value: {
|
|
2993
3070
|
status: status,
|
|
2994
3071
|
recorderProps: recorderProps,
|
|
2995
3072
|
messageAudioProps: messageAudioProps
|
|
2996
3073
|
},
|
|
2997
|
-
children: /* @__PURE__ */ (0,
|
|
3074
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_themes38.Flex, {
|
|
2998
3075
|
direction: "column",
|
|
2999
|
-
|
|
3076
|
+
flexGrow: "1",
|
|
3000
3077
|
p: "5",
|
|
3001
3078
|
children: children
|
|
3002
3079
|
})
|
|
3003
3080
|
});
|
|
3004
3081
|
};
|
|
3005
3082
|
// src/components/threads/AudioThread/Visualization/index.tsx
|
|
3006
|
-
var
|
|
3083
|
+
var import_themes39 = require("@radix-ui/themes");
|
|
3007
3084
|
// src/hooks/threads/useAudioThreadContext/index.ts
|
|
3008
|
-
var
|
|
3085
|
+
var import_react39 = require("react");
|
|
3009
3086
|
var useAudioThreadContext = function() {
|
|
3010
|
-
return (0,
|
|
3087
|
+
return (0, import_react39.useContext)(AudioThreadContext);
|
|
3011
3088
|
};
|
|
3012
3089
|
// src/components/threads/AudioThread/Visualization/index.tsx
|
|
3013
|
-
var
|
|
3090
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
3014
3091
|
var Visualization = function() {
|
|
3015
3092
|
var audioThreadContext = useAudioThreadContext();
|
|
3016
|
-
return /* @__PURE__ */ (0,
|
|
3093
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_themes39.Flex, {
|
|
3017
3094
|
direction: "column",
|
|
3018
3095
|
align: "center",
|
|
3019
3096
|
justify: "center",
|
|
3020
3097
|
mb: "3",
|
|
3021
|
-
|
|
3022
|
-
children: /* @__PURE__ */ (0,
|
|
3098
|
+
flexGrow: "1",
|
|
3099
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_themes39.Flex, {
|
|
3023
3100
|
align: "center",
|
|
3024
3101
|
justify: "center",
|
|
3102
|
+
height: "200px",
|
|
3103
|
+
width: "200px",
|
|
3025
3104
|
style: {
|
|
3026
3105
|
backgroundColor: "var(--".concat(audioThreadContext.status === "playing" ? "mint" : "gray", "-4)"),
|
|
3027
|
-
height: "200px",
|
|
3028
|
-
width: "200px",
|
|
3029
3106
|
borderRadius: "9999px"
|
|
3030
3107
|
}
|
|
3031
3108
|
})
|
|
@@ -3033,22 +3110,22 @@ var Visualization = function() {
|
|
|
3033
3110
|
};
|
|
3034
3111
|
// src/components/threads/AudioThread/Form/index.tsx
|
|
3035
3112
|
var import_react_icons8 = require("@radix-ui/react-icons");
|
|
3036
|
-
var
|
|
3113
|
+
var import_themes42 = require("@radix-ui/themes");
|
|
3037
3114
|
// src/components/threads/AudioThread/Form/Visualizer/index.tsx
|
|
3038
3115
|
var import_lodash7 = __toESM(require("lodash"), 1);
|
|
3039
|
-
var
|
|
3040
|
-
var
|
|
3116
|
+
var import_themes40 = require("@radix-ui/themes");
|
|
3117
|
+
var import_react40 = require("react");
|
|
3041
3118
|
var import_radash10 = require("radash");
|
|
3042
|
-
var
|
|
3119
|
+
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
3043
3120
|
var barCount = 4;
|
|
3044
3121
|
var Visualizer = function() {
|
|
3045
3122
|
var audioThreadContext = useAudioThreadContext();
|
|
3046
3123
|
var visualizationAnalyser = audioThreadContext.recorderProps.visualizationAnalyser;
|
|
3047
|
-
var _ref = _sliced_to_array((0,
|
|
3124
|
+
var _ref = _sliced_to_array((0, import_react40.useState)(function() {
|
|
3048
3125
|
return new AudioContext().createAnalyser();
|
|
3049
3126
|
}), 1), emptyVisualizer = _ref[0];
|
|
3050
|
-
var _ref1 = _sliced_to_array((0,
|
|
3051
|
-
var draw = (0,
|
|
3127
|
+
var _ref1 = _sliced_to_array((0, import_react40.useState)([]), 2), barHeights = _ref1[0], setBarHeights = _ref1[1];
|
|
3128
|
+
var draw = (0, import_react40.useCallback)(function(param) {
|
|
3052
3129
|
var visualizationAnalyser2 = param.visualizationAnalyser;
|
|
3053
3130
|
var frequencyData = new Uint8Array(visualizationAnalyser2.frequencyBinCount / 15);
|
|
3054
3131
|
visualizationAnalyser2.getByteFrequencyData(frequencyData);
|
|
@@ -3062,7 +3139,7 @@ var Visualizer = function() {
|
|
|
3062
3139
|
});
|
|
3063
3140
|
});
|
|
3064
3141
|
}, []);
|
|
3065
|
-
(0,
|
|
3142
|
+
(0, import_react40.useEffect)(function() {
|
|
3066
3143
|
draw({
|
|
3067
3144
|
visualizationAnalyser: visualizationAnalyser || emptyVisualizer
|
|
3068
3145
|
});
|
|
@@ -3071,7 +3148,7 @@ var Visualizer = function() {
|
|
|
3071
3148
|
visualizationAnalyser,
|
|
3072
3149
|
emptyVisualizer
|
|
3073
3150
|
]);
|
|
3074
|
-
return /* @__PURE__ */ (0,
|
|
3151
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_themes40.Grid, {
|
|
3075
3152
|
columns: "".concat(barCount),
|
|
3076
3153
|
gap: "1",
|
|
3077
3154
|
width: "auto",
|
|
@@ -3080,21 +3157,19 @@ var Visualizer = function() {
|
|
|
3080
3157
|
gridTemplateColumns: "repeat(4, minmax(0, 1fr))"
|
|
3081
3158
|
},
|
|
3082
3159
|
children: barHeights.map(function(barHeight, index) {
|
|
3083
|
-
return /* @__PURE__ */ (0,
|
|
3160
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_themes40.Flex, {
|
|
3084
3161
|
direction: "column",
|
|
3085
3162
|
align: "center",
|
|
3086
3163
|
justify: "center",
|
|
3087
|
-
|
|
3088
|
-
|
|
3089
|
-
|
|
3090
|
-
|
|
3164
|
+
height: "20px",
|
|
3165
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_themes40.Flex, {
|
|
3166
|
+
minHeight: "50%",
|
|
3167
|
+
maxHeight: "100%",
|
|
3168
|
+
height: "".concat(barHeight + 20, "%"),
|
|
3169
|
+
width: "12px",
|
|
3091
3170
|
style: {
|
|
3092
3171
|
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"
|
|
3172
|
+
borderRadius: "var(--radius-6)"
|
|
3098
3173
|
}
|
|
3099
3174
|
})
|
|
3100
3175
|
}, index);
|
|
@@ -3102,31 +3177,31 @@ var Visualizer = function() {
|
|
|
3102
3177
|
});
|
|
3103
3178
|
};
|
|
3104
3179
|
// src/components/threads/AudioThread/Form/ActionButton/index.tsx
|
|
3105
|
-
var
|
|
3180
|
+
var import_themes41 = require("@radix-ui/themes");
|
|
3106
3181
|
var import_react_icons7 = require("@radix-ui/react-icons");
|
|
3107
|
-
var
|
|
3182
|
+
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
3108
3183
|
var ActionButton = function() {
|
|
3109
3184
|
var audioThreadContext = useAudioThreadContext();
|
|
3110
3185
|
if (audioThreadContext.status === "recording") {
|
|
3111
|
-
return /* @__PURE__ */ (0,
|
|
3186
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(import_themes41.Flex, {
|
|
3112
3187
|
align: "center",
|
|
3113
3188
|
children: [
|
|
3114
|
-
/* @__PURE__ */ (0,
|
|
3189
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes41.Flex, {
|
|
3115
3190
|
mr: "3",
|
|
3116
3191
|
ml: "-7",
|
|
3117
|
-
children: /* @__PURE__ */ (0,
|
|
3192
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes41.IconButton, {
|
|
3118
3193
|
onClick: audioThreadContext.recorderProps.pause,
|
|
3119
3194
|
color: "gray",
|
|
3120
3195
|
radius: "full",
|
|
3121
3196
|
size: "1",
|
|
3122
|
-
children: /* @__PURE__ */ (0,
|
|
3197
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_react_icons7.PauseIcon, {})
|
|
3123
3198
|
})
|
|
3124
3199
|
}),
|
|
3125
|
-
/* @__PURE__ */ (0,
|
|
3200
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes41.Tooltip, {
|
|
3126
3201
|
open: true,
|
|
3127
3202
|
content: "Send your message",
|
|
3128
3203
|
side: "bottom",
|
|
3129
|
-
children: /* @__PURE__ */ (0,
|
|
3204
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes41.IconButton, {
|
|
3130
3205
|
onClick: audioThreadContext.recorderProps.stop,
|
|
3131
3206
|
color: "gray",
|
|
3132
3207
|
highContrast: true,
|
|
@@ -3135,14 +3210,14 @@ var ActionButton = function() {
|
|
|
3135
3210
|
style: {
|
|
3136
3211
|
border: "2px solid var(--gray-8)"
|
|
3137
3212
|
},
|
|
3138
|
-
children: /* @__PURE__ */ (0,
|
|
3213
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_react_icons7.ArrowUpIcon, {})
|
|
3139
3214
|
})
|
|
3140
3215
|
})
|
|
3141
3216
|
]
|
|
3142
3217
|
});
|
|
3143
3218
|
}
|
|
3144
3219
|
if (audioThreadContext.status === "recorderPaused") {
|
|
3145
|
-
return /* @__PURE__ */ (0,
|
|
3220
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes41.IconButton, {
|
|
3146
3221
|
onClick: audioThreadContext.recorderProps.resume,
|
|
3147
3222
|
color: "red",
|
|
3148
3223
|
radius: "full",
|
|
@@ -3150,11 +3225,11 @@ var ActionButton = function() {
|
|
|
3150
3225
|
style: {
|
|
3151
3226
|
border: "2px solid var(--gray-8)"
|
|
3152
3227
|
},
|
|
3153
|
-
children: /* @__PURE__ */ (0,
|
|
3228
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_react_icons7.ResumeIcon, {})
|
|
3154
3229
|
});
|
|
3155
3230
|
}
|
|
3156
3231
|
if (audioThreadContext.status === "idle") {
|
|
3157
|
-
return /* @__PURE__ */ (0,
|
|
3232
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes41.IconButton, {
|
|
3158
3233
|
onClick: function() {
|
|
3159
3234
|
return audioThreadContext.recorderProps.start();
|
|
3160
3235
|
},
|
|
@@ -3167,7 +3242,7 @@ var ActionButton = function() {
|
|
|
3167
3242
|
});
|
|
3168
3243
|
}
|
|
3169
3244
|
if (audioThreadContext.status === "playing") {
|
|
3170
|
-
return /* @__PURE__ */ (0,
|
|
3245
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes41.IconButton, {
|
|
3171
3246
|
onClick: function() {
|
|
3172
3247
|
return audioThreadContext.messageAudioProps.pause();
|
|
3173
3248
|
},
|
|
@@ -3177,11 +3252,11 @@ var ActionButton = function() {
|
|
|
3177
3252
|
style: {
|
|
3178
3253
|
border: "2px solid var(--gray-8)"
|
|
3179
3254
|
},
|
|
3180
|
-
children: /* @__PURE__ */ (0,
|
|
3255
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_react_icons7.PauseIcon, {})
|
|
3181
3256
|
});
|
|
3182
3257
|
}
|
|
3183
3258
|
if (audioThreadContext.status === "playerPaused") {
|
|
3184
|
-
return /* @__PURE__ */ (0,
|
|
3259
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes41.IconButton, {
|
|
3185
3260
|
onClick: function() {
|
|
3186
3261
|
return audioThreadContext.messageAudioProps.play();
|
|
3187
3262
|
},
|
|
@@ -3191,10 +3266,10 @@ var ActionButton = function() {
|
|
|
3191
3266
|
style: {
|
|
3192
3267
|
border: "2px solid var(--gray-8)"
|
|
3193
3268
|
},
|
|
3194
|
-
children: /* @__PURE__ */ (0,
|
|
3269
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_react_icons7.ResumeIcon, {})
|
|
3195
3270
|
});
|
|
3196
3271
|
}
|
|
3197
|
-
return /* @__PURE__ */ (0,
|
|
3272
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes41.IconButton, {
|
|
3198
3273
|
size: "4",
|
|
3199
3274
|
color: "red",
|
|
3200
3275
|
radius: "full",
|
|
@@ -3205,140 +3280,141 @@ var ActionButton = function() {
|
|
|
3205
3280
|
});
|
|
3206
3281
|
};
|
|
3207
3282
|
// src/components/threads/AudioThread/Form/index.tsx
|
|
3208
|
-
var
|
|
3283
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
3209
3284
|
var Form = function() {
|
|
3210
3285
|
var audioThreadContext = useAudioThreadContext();
|
|
3211
|
-
return /* @__PURE__ */ (0,
|
|
3286
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(import_themes42.Flex, {
|
|
3212
3287
|
direction: "column",
|
|
3213
3288
|
align: "center",
|
|
3214
3289
|
children: [
|
|
3215
|
-
/* @__PURE__ */ (0,
|
|
3290
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(import_themes42.Flex, {
|
|
3216
3291
|
pb: "3",
|
|
3217
3292
|
align: "center",
|
|
3218
3293
|
children: [
|
|
3219
|
-
/* @__PURE__ */ (0,
|
|
3294
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_themes42.Flex, {
|
|
3220
3295
|
ml: "-5",
|
|
3221
3296
|
mr: "2",
|
|
3222
3297
|
align: "center",
|
|
3223
|
-
children: /* @__PURE__ */ (0,
|
|
3298
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_react_icons8.SpeakerModerateIcon, {
|
|
3224
3299
|
style: {
|
|
3225
3300
|
color: "var(--".concat(audioThreadContext.status === "recording" ? "mint" : "gray", "-12)")
|
|
3226
3301
|
}
|
|
3227
3302
|
})
|
|
3228
3303
|
}),
|
|
3229
|
-
/* @__PURE__ */ (0,
|
|
3304
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_themes42.Flex, {
|
|
3230
3305
|
px: "2",
|
|
3231
3306
|
py: "1",
|
|
3232
3307
|
style: {
|
|
3233
3308
|
backgroundColor: "var(--".concat(audioThreadContext.status === "recording" ? "mint" : "gray", "-4)"),
|
|
3234
3309
|
borderRadius: "var(--radius-6)"
|
|
3235
3310
|
},
|
|
3236
|
-
children: /* @__PURE__ */ (0,
|
|
3311
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Visualizer, {})
|
|
3237
3312
|
})
|
|
3238
3313
|
]
|
|
3239
3314
|
}),
|
|
3240
|
-
/* @__PURE__ */ (0,
|
|
3315
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(ActionButton, {})
|
|
3241
3316
|
]
|
|
3242
3317
|
});
|
|
3243
3318
|
};
|
|
3244
3319
|
// src/components/threads/AudioThread/index.tsx
|
|
3245
|
-
var
|
|
3320
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
3246
3321
|
var AudioThread = function(props) {
|
|
3247
|
-
return /* @__PURE__ */ (0,
|
|
3322
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(Root7, _object_spread_props(_object_spread({}, props), {
|
|
3248
3323
|
children: [
|
|
3249
|
-
/* @__PURE__ */ (0,
|
|
3250
|
-
/* @__PURE__ */ (0,
|
|
3324
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Visualization, {}),
|
|
3325
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Form, {})
|
|
3251
3326
|
]
|
|
3252
3327
|
}));
|
|
3253
3328
|
};
|
|
3254
|
-
AudioThread.Root =
|
|
3329
|
+
AudioThread.Root = Root7;
|
|
3255
3330
|
AudioThread.Visualization = Visualization;
|
|
3256
3331
|
AudioThread.Form = Form;
|
|
3257
3332
|
// src/components/threads/AudioThreadDialog/index.tsx
|
|
3258
|
-
var
|
|
3333
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
3259
3334
|
var AudioThreadDialog = function() {
|
|
3260
|
-
return /* @__PURE__ */ (0,
|
|
3335
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(Root5, {
|
|
3261
3336
|
children: [
|
|
3262
|
-
/* @__PURE__ */ (0,
|
|
3263
|
-
children: /* @__PURE__ */ (0,
|
|
3337
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Content4.Root, {
|
|
3338
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(AudioThread, {})
|
|
3264
3339
|
}),
|
|
3265
|
-
/* @__PURE__ */ (0,
|
|
3266
|
-
children: /* @__PURE__ */ (0,
|
|
3340
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Trigger, {
|
|
3341
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Button3, {})
|
|
3267
3342
|
})
|
|
3268
3343
|
]
|
|
3269
3344
|
});
|
|
3270
3345
|
};
|
|
3271
|
-
AudioThreadDialog.Root =
|
|
3346
|
+
AudioThreadDialog.Root = Root5;
|
|
3272
3347
|
AudioThreadDialog.Trigger = Trigger;
|
|
3273
3348
|
AudioThreadDialog.Button = Button3;
|
|
3274
3349
|
AudioThreadDialog.Content = Content4;
|
|
3275
3350
|
// src/components/suggestions/Suggestions/index.tsx
|
|
3276
|
-
var
|
|
3277
|
-
var
|
|
3351
|
+
var import_react41 = require("react");
|
|
3352
|
+
var import_themes44 = require("@radix-ui/themes");
|
|
3278
3353
|
// src/components/suggestions/Suggestion/index.tsx
|
|
3279
3354
|
var import_react_icons9 = require("@radix-ui/react-icons");
|
|
3280
|
-
var
|
|
3281
|
-
var
|
|
3355
|
+
var import_themes43 = require("@radix-ui/themes");
|
|
3356
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
3282
3357
|
var Suggestion = function(param) {
|
|
3283
3358
|
var suggestion = param.suggestion;
|
|
3284
|
-
var
|
|
3359
|
+
var createMessage = useCreateMessage().createMessage;
|
|
3285
3360
|
var _useIsRunActive = useIsRunActive(), isRunActive2 = _useIsRunActive.isRunActive;
|
|
3286
|
-
return /* @__PURE__ */ (0,
|
|
3361
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_themes43.Button, {
|
|
3287
3362
|
variant: "soft",
|
|
3288
3363
|
style: {
|
|
3289
3364
|
justifyContent: "space-between"
|
|
3290
3365
|
},
|
|
3291
3366
|
onClick: function() {
|
|
3292
|
-
|
|
3367
|
+
createMessage({
|
|
3368
|
+
// @ts-ignore-next-line
|
|
3293
3369
|
content: suggestion
|
|
3294
3370
|
});
|
|
3295
3371
|
},
|
|
3296
3372
|
disabled: isRunActive2,
|
|
3297
3373
|
children: [
|
|
3298
|
-
/* @__PURE__ */ (0,
|
|
3374
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_themes43.Text, {
|
|
3299
3375
|
size: "1",
|
|
3300
3376
|
weight: "regular",
|
|
3301
3377
|
children: suggestion
|
|
3302
3378
|
}),
|
|
3303
|
-
/* @__PURE__ */ (0,
|
|
3379
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_react_icons9.ArrowUpIcon, {})
|
|
3304
3380
|
]
|
|
3305
3381
|
});
|
|
3306
3382
|
};
|
|
3307
3383
|
// src/components/suggestions/Suggestions/index.tsx
|
|
3308
|
-
var
|
|
3384
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
3309
3385
|
var Suggestions = function(param) {
|
|
3310
3386
|
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
|
|
3387
|
+
var latestMessageProps = useLatestMessage();
|
|
3312
3388
|
var isRunActiveProps = useIsRunActive();
|
|
3313
|
-
var isDisabled = (0,
|
|
3389
|
+
var isDisabled = (0, import_react41.useMemo)(function() {
|
|
3314
3390
|
var // @ts-ignore-next-line
|
|
3315
|
-
|
|
3316
|
-
return ((
|
|
3391
|
+
_latestMessageProps_latestMessage_metadata, _latestMessageProps_latestMessage;
|
|
3392
|
+
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
3393
|
}, [
|
|
3318
|
-
|
|
3394
|
+
latestMessageProps,
|
|
3319
3395
|
isRunActiveProps
|
|
3320
3396
|
]);
|
|
3321
|
-
if (
|
|
3397
|
+
if (latestMessageProps.isLoading) return null;
|
|
3322
3398
|
if (isDisabled) return null;
|
|
3323
|
-
if (!
|
|
3324
|
-
return /* @__PURE__ */ (0,
|
|
3399
|
+
if (!latestMessageProps.latestMessage && emptyStateSuggestions.length > 0) {
|
|
3400
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_themes44.Flex, {
|
|
3325
3401
|
gap: "2",
|
|
3326
3402
|
py: "2",
|
|
3327
3403
|
wrap: "wrap",
|
|
3328
3404
|
children: emptyStateSuggestions.map(function(suggestion) {
|
|
3329
|
-
return /* @__PURE__ */ (0,
|
|
3405
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Suggestion, {
|
|
3330
3406
|
suggestion: suggestion
|
|
3331
3407
|
}, suggestion);
|
|
3332
3408
|
})
|
|
3333
3409
|
});
|
|
3334
3410
|
}
|
|
3335
|
-
if (
|
|
3336
|
-
return /* @__PURE__ */ (0,
|
|
3411
|
+
if (latestMessageProps.latestMessage.role === "assistant") {
|
|
3412
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_themes44.Flex, {
|
|
3337
3413
|
gap: "2",
|
|
3338
3414
|
py: "2",
|
|
3339
3415
|
wrap: "wrap",
|
|
3340
3416
|
children: suggestions.map(function(suggestion) {
|
|
3341
|
-
return /* @__PURE__ */ (0,
|
|
3417
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Suggestion, {
|
|
3342
3418
|
suggestion: suggestion
|
|
3343
3419
|
}, suggestion);
|
|
3344
3420
|
})
|
|
@@ -3347,9 +3423,9 @@ var Suggestions = function(param) {
|
|
|
3347
3423
|
return null;
|
|
3348
3424
|
};
|
|
3349
3425
|
// src/hooks/markdown/useMarkdownContext/index.ts
|
|
3350
|
-
var
|
|
3426
|
+
var import_react42 = require("react");
|
|
3351
3427
|
var useMarkdownContext = function() {
|
|
3352
|
-
return (0,
|
|
3428
|
+
return (0, import_react42.useContext)(MarkdownContext);
|
|
3353
3429
|
};
|
|
3354
3430
|
// Annotate the CommonJS export names for ESM import in node:
|
|
3355
3431
|
0 && (module.exports = {
|
|
@@ -3365,19 +3441,17 @@ var useMarkdownContext = function() {
|
|
|
3365
3441
|
SuperinterfaceProvider: SuperinterfaceProvider,
|
|
3366
3442
|
Thread: Thread,
|
|
3367
3443
|
ThreadDialog: ThreadDialog,
|
|
3368
|
-
|
|
3369
|
-
|
|
3370
|
-
ThreadProvider: ThreadProvider,
|
|
3444
|
+
ThreadDialogContext: ThreadDialogContext,
|
|
3445
|
+
useCreateMessage: useCreateMessage,
|
|
3371
3446
|
useCreateRun: useCreateRun,
|
|
3372
|
-
useCreateThreadMessage: useCreateThreadMessage,
|
|
3373
3447
|
useIsRunActive: useIsRunActive,
|
|
3448
|
+
useLatestMessage: useLatestMessage,
|
|
3374
3449
|
useLatestRun: useLatestRun,
|
|
3375
|
-
|
|
3450
|
+
useLifecycle: useLifecycle,
|
|
3376
3451
|
useMarkdownContext: useMarkdownContext,
|
|
3452
|
+
useMessages: useMessages,
|
|
3377
3453
|
useRuns: useRuns,
|
|
3378
3454
|
useSuperinterfaceContext: useSuperinterfaceContext,
|
|
3379
|
-
useThreadContext: useThreadContext
|
|
3380
|
-
useThreadLifecycles: useThreadLifecycles,
|
|
3381
|
-
useThreadMessages: useThreadMessages
|
|
3455
|
+
useThreadContext: useThreadContext
|
|
3382
3456
|
});
|
|
3383
3457
|
//# sourceMappingURL=index.cjs.map
|