@superinterface/react 2.0.3 → 2.0.5
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-Dp6WTBGJ.d.cts +12 -0
- package/dist/index-Dp6WTBGJ.d.ts +12 -0
- package/dist/index.cjs +731 -541
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +41 -29
- package/dist/index.d.ts +41 -29
- package/dist/index.js +679 -493
- package/dist/index.js.map +1 -1
- package/dist/queryFns.cjs +163 -1
- package/dist/queryFns.cjs.map +1 -1
- package/dist/queryFns.d.cts +25 -1
- package/dist/queryFns.d.ts +25 -1
- package/dist/queryFns.js +155 -1
- package/dist/queryFns.js.map +1 -1
- package/package.json +5 -3
package/dist/index.cjs
CHANGED
|
@@ -347,8 +347,8 @@ __export(src_exports, {
|
|
|
347
347
|
MarkdownContext: function() {
|
|
348
348
|
return MarkdownContext;
|
|
349
349
|
},
|
|
350
|
-
|
|
351
|
-
return
|
|
350
|
+
MarkdownProvider: function() {
|
|
351
|
+
return MarkdownProvider;
|
|
352
352
|
},
|
|
353
353
|
Suggestions: function() {
|
|
354
354
|
return Suggestions;
|
|
@@ -386,6 +386,9 @@ __export(src_exports, {
|
|
|
386
386
|
useMarkdownContext: function() {
|
|
387
387
|
return useMarkdownContext;
|
|
388
388
|
},
|
|
389
|
+
useMessageContext: function() {
|
|
390
|
+
return useMessageContext;
|
|
391
|
+
},
|
|
389
392
|
useMessages: function() {
|
|
390
393
|
return useMessages;
|
|
391
394
|
},
|
|
@@ -400,6 +403,8 @@ __export(src_exports, {
|
|
|
400
403
|
}
|
|
401
404
|
});
|
|
402
405
|
module.exports = __toCommonJS(src_exports);
|
|
406
|
+
// src/components/core/SuperinterfaceProvider/index.tsx
|
|
407
|
+
var import_sonner = require("sonner");
|
|
403
408
|
// src/lib/misc/merge/index.ts
|
|
404
409
|
var import_lodash2 = __toESM(require("lodash"), 1);
|
|
405
410
|
// src/lib/misc/merge/customizer.ts
|
|
@@ -427,7 +432,8 @@ var SuperinterfaceContext = (0, import_react.createContext)({
|
|
|
427
432
|
defaultOptions: {
|
|
428
433
|
queries: {},
|
|
429
434
|
mutations: {}
|
|
430
|
-
}
|
|
435
|
+
},
|
|
436
|
+
isToasterRendered: false
|
|
431
437
|
});
|
|
432
438
|
// src/hooks/core/useSuperinterfaceContext/index.ts
|
|
433
439
|
var import_react2 = require("react");
|
|
@@ -439,22 +445,38 @@ var import_jsx_runtime = require("react/jsx-runtime");
|
|
|
439
445
|
var SuperinterfaceProvider = function(param) {
|
|
440
446
|
var children = param.children, baseUrl = param.baseUrl, publicApiKey = param.publicApiKey, variables = param.variables, defaultOptions = param.defaultOptions;
|
|
441
447
|
var superinterfaceContext = useSuperinterfaceContext();
|
|
442
|
-
var value = merge(superinterfaceContext, _object_spread({}, baseUrl ? {
|
|
448
|
+
var value = merge(superinterfaceContext, _object_spread_props(_object_spread({}, baseUrl ? {
|
|
443
449
|
baseUrl: baseUrl
|
|
444
450
|
} : {}, publicApiKey ? {
|
|
445
451
|
publicApiKey: publicApiKey
|
|
446
452
|
} : {}, variables ? {
|
|
447
453
|
variables: variables
|
|
448
|
-
} : {},
|
|
454
|
+
} : {}, merge({
|
|
455
|
+
defaultOptions: {
|
|
456
|
+
mutations: {
|
|
457
|
+
onError: function(error) {
|
|
458
|
+
return import_sonner.toast.error(error.message);
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
}, defaultOptions !== null && defaultOptions !== void 0 ? defaultOptions : {
|
|
449
463
|
defaultOptions: defaultOptions
|
|
450
|
-
}
|
|
451
|
-
|
|
464
|
+
})), {
|
|
465
|
+
isToasterRendered: true
|
|
466
|
+
}));
|
|
467
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(SuperinterfaceContext.Provider, {
|
|
452
468
|
value: value,
|
|
453
|
-
children:
|
|
469
|
+
children: [
|
|
470
|
+
children,
|
|
471
|
+
!superinterfaceContext.isToasterRendered && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_sonner.Toaster, {})
|
|
472
|
+
]
|
|
454
473
|
});
|
|
455
474
|
};
|
|
456
475
|
// src/components/threads/Thread/Messages/index.tsx
|
|
457
|
-
var
|
|
476
|
+
var import_themes30 = require("@radix-ui/themes");
|
|
477
|
+
// src/components/threads/Thread/Messages/Content/index.tsx
|
|
478
|
+
var import_react18 = require("react");
|
|
479
|
+
var import_sonner2 = require("sonner");
|
|
458
480
|
// src/hooks/messages/useMessages/index.tsx
|
|
459
481
|
var import_react3 = require("react");
|
|
460
482
|
var import_react_query2 = require("@tanstack/react-query");
|
|
@@ -465,7 +487,7 @@ var queryOptions = function(param) {
|
|
|
465
487
|
var queryKey = _to_consumable_array(queryKeyBase).concat([
|
|
466
488
|
threadContext.variables
|
|
467
489
|
]);
|
|
468
|
-
return (0, import_react_query.infiniteQueryOptions)(
|
|
490
|
+
return (0, import_react_query.infiniteQueryOptions)(_object_spread_props(_object_spread({
|
|
469
491
|
// @ts-ignore-next-line
|
|
470
492
|
queryFn: function() {
|
|
471
493
|
var _ref = _async_to_generator(function(param) {
|
|
@@ -537,9 +559,22 @@ var queryOptions = function(param) {
|
|
|
537
559
|
return lastPage.lastId;
|
|
538
560
|
},
|
|
539
561
|
limit: 10
|
|
540
|
-
}, queryClient.getQueryDefaults(queryKey)), {
|
|
562
|
+
}, threadContext.defaultOptions.queries, queryClient.getQueryDefaults(queryKey)), {
|
|
541
563
|
queryKey: queryKey
|
|
542
|
-
})
|
|
564
|
+
}));
|
|
565
|
+
};
|
|
566
|
+
// src/lib/messages/messagesQueryOptions.ts
|
|
567
|
+
var messagesQueryOptions = function(param) {
|
|
568
|
+
var queryClient = param.queryClient, threadContext = param.threadContext, superinterfaceContext = param.superinterfaceContext;
|
|
569
|
+
return queryOptions({
|
|
570
|
+
queryKeyBase: [
|
|
571
|
+
"messages"
|
|
572
|
+
],
|
|
573
|
+
path: "/messages",
|
|
574
|
+
queryClient: queryClient,
|
|
575
|
+
threadContext: threadContext,
|
|
576
|
+
superinterfaceContext: superinterfaceContext
|
|
577
|
+
});
|
|
543
578
|
};
|
|
544
579
|
// src/hooks/messages/useMessages/index.tsx
|
|
545
580
|
var messages = function(param) {
|
|
@@ -553,11 +588,7 @@ var useMessages = function() {
|
|
|
553
588
|
var queryClient = (0, import_react_query2.useQueryClient)();
|
|
554
589
|
var threadContext = useSuperinterfaceContext();
|
|
555
590
|
var superinterfaceContext = useSuperinterfaceContext();
|
|
556
|
-
var props = (0, import_react_query2.useInfiniteQuery)(
|
|
557
|
-
queryKeyBase: [
|
|
558
|
-
"messages"
|
|
559
|
-
],
|
|
560
|
-
path: "/messages",
|
|
591
|
+
var props = (0, import_react_query2.useInfiniteQuery)(messagesQueryOptions({
|
|
561
592
|
queryClient: queryClient,
|
|
562
593
|
threadContext: threadContext,
|
|
563
594
|
superinterfaceContext: superinterfaceContext
|
|
@@ -648,35 +679,18 @@ var useMessageGroups = function(param) {
|
|
|
648
679
|
};
|
|
649
680
|
// src/components/skeletons/MessagesSkeleton/index.tsx
|
|
650
681
|
var import_react6 = require("react");
|
|
651
|
-
var
|
|
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"
|
|
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));
|
|
668
|
-
};
|
|
682
|
+
var import_themes3 = require("@radix-ui/themes");
|
|
669
683
|
// src/components/messageGroups/MessageGroupBase/index.tsx
|
|
670
684
|
var import_react5 = require("react");
|
|
671
|
-
var
|
|
672
|
-
var
|
|
685
|
+
var import_themes = require("@radix-ui/themes");
|
|
686
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
673
687
|
var MessageGroupBase = (0, import_react5.forwardRef)(function MessageGroupBase2(param, ref) {
|
|
674
688
|
var children = param.children;
|
|
675
|
-
return /* @__PURE__ */ (0,
|
|
689
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_themes.Container, {
|
|
676
690
|
ref: ref,
|
|
677
691
|
size: "2",
|
|
678
692
|
flexGrow: "0",
|
|
679
|
-
children: /* @__PURE__ */ (0,
|
|
693
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_themes.Flex, {
|
|
680
694
|
flexShrink: "0",
|
|
681
695
|
gap: "3",
|
|
682
696
|
children: children
|
|
@@ -684,14 +698,14 @@ var MessageGroupBase = (0, import_react5.forwardRef)(function MessageGroupBase2(
|
|
|
684
698
|
});
|
|
685
699
|
});
|
|
686
700
|
// src/components/messageGroups/MessageGroupBase/Name.tsx
|
|
687
|
-
var
|
|
688
|
-
var
|
|
701
|
+
var import_themes2 = require("@radix-ui/themes");
|
|
702
|
+
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
689
703
|
var Name = function(param) {
|
|
690
704
|
var children = param.children;
|
|
691
|
-
return /* @__PURE__ */ (0,
|
|
705
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_themes2.Flex, {
|
|
692
706
|
align: "center",
|
|
693
707
|
height: "var(--space-5)",
|
|
694
|
-
children: /* @__PURE__ */ (0,
|
|
708
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_themes2.Text, {
|
|
695
709
|
size: "2",
|
|
696
710
|
weight: "bold",
|
|
697
711
|
children: children
|
|
@@ -699,44 +713,44 @@ var Name = function(param) {
|
|
|
699
713
|
});
|
|
700
714
|
};
|
|
701
715
|
// src/components/skeletons/MessagesSkeleton/index.tsx
|
|
702
|
-
var
|
|
716
|
+
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
703
717
|
var MessagesSkeleton = (0, import_react6.forwardRef)(function MessagesSkeleton2(_props, ref) {
|
|
704
|
-
return /* @__PURE__ */ (0,
|
|
718
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(MessageGroupBase, {
|
|
705
719
|
ref: ref,
|
|
706
720
|
children: [
|
|
707
|
-
/* @__PURE__ */ (0,
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
}
|
|
721
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_themes3.Skeleton, {
|
|
722
|
+
loading: true,
|
|
723
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_themes3.Avatar, {
|
|
724
|
+
fallback: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_themes3.Flex, {}),
|
|
725
|
+
size: "1"
|
|
726
|
+
})
|
|
713
727
|
}),
|
|
714
|
-
/* @__PURE__ */ (0,
|
|
728
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_themes3.Box, {
|
|
715
729
|
pb: "3",
|
|
716
730
|
children: [
|
|
717
|
-
/* @__PURE__ */ (0,
|
|
718
|
-
children: /* @__PURE__ */ (0,
|
|
719
|
-
|
|
731
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Name, {
|
|
732
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_themes3.Skeleton, {
|
|
733
|
+
loading: true,
|
|
720
734
|
style: {
|
|
721
735
|
width: "128px"
|
|
722
736
|
}
|
|
723
737
|
})
|
|
724
738
|
}),
|
|
725
|
-
/* @__PURE__ */ (0,
|
|
726
|
-
|
|
739
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_themes3.Skeleton, {
|
|
740
|
+
loading: true,
|
|
727
741
|
style: {
|
|
728
742
|
width: "256px"
|
|
729
743
|
}
|
|
730
744
|
}),
|
|
731
|
-
/* @__PURE__ */ (0,
|
|
732
|
-
|
|
745
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_themes3.Skeleton, {
|
|
746
|
+
loading: true,
|
|
733
747
|
style: {
|
|
734
748
|
width: "256px",
|
|
735
749
|
marginTop: "var(--space-2)"
|
|
736
750
|
}
|
|
737
751
|
}),
|
|
738
|
-
/* @__PURE__ */ (0,
|
|
739
|
-
|
|
752
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_themes3.Skeleton, {
|
|
753
|
+
loading: true,
|
|
740
754
|
style: {
|
|
741
755
|
width: "256px",
|
|
742
756
|
marginTop: "var(--space-2)"
|
|
@@ -748,26 +762,26 @@ var MessagesSkeleton = (0, import_react6.forwardRef)(function MessagesSkeleton2(
|
|
|
748
762
|
});
|
|
749
763
|
});
|
|
750
764
|
// src/components/threads/Thread/Messages/Content/MessageGroup/index.tsx
|
|
751
|
-
var
|
|
752
|
-
var
|
|
765
|
+
var import_react17 = require("react");
|
|
766
|
+
var import_themes25 = require("@radix-ui/themes");
|
|
753
767
|
var import_react_icons4 = require("@radix-ui/react-icons");
|
|
754
768
|
// src/components/messageGroups/MessageGroupBase/AssistantAvatar.tsx
|
|
755
769
|
var import_react8 = require("react");
|
|
756
|
-
var
|
|
770
|
+
var import_themes5 = require("@radix-ui/themes");
|
|
757
771
|
// src/contexts/assistants/AssistantAvatarContext/index.tsx
|
|
758
772
|
var import_react7 = require("react");
|
|
759
|
-
var
|
|
773
|
+
var import_themes4 = require("@radix-ui/themes");
|
|
760
774
|
var import_react_icons = require("@radix-ui/react-icons");
|
|
761
|
-
var
|
|
762
|
-
var AssistantAvatarContext = (0, import_react7.createContext)(/* @__PURE__ */ (0,
|
|
763
|
-
fallback: /* @__PURE__ */ (0,
|
|
775
|
+
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
776
|
+
var AssistantAvatarContext = (0, import_react7.createContext)(/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_themes4.Avatar, {
|
|
777
|
+
fallback: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_react_icons.LightningBoltIcon, {}),
|
|
764
778
|
size: "1"
|
|
765
779
|
}));
|
|
766
780
|
// src/components/messageGroups/MessageGroupBase/AssistantAvatar.tsx
|
|
767
|
-
var
|
|
781
|
+
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
768
782
|
var AssistantAvatar = function() {
|
|
769
783
|
var AssistantAvatarContextValue = (0, import_react8.useContext)(AssistantAvatarContext);
|
|
770
|
-
return /* @__PURE__ */ (0,
|
|
784
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_themes5.Flex, {
|
|
771
785
|
flexShrink: "0",
|
|
772
786
|
height: "24px",
|
|
773
787
|
width: "24px",
|
|
@@ -782,33 +796,33 @@ var AssistantAvatar = function() {
|
|
|
782
796
|
var import_react9 = require("react");
|
|
783
797
|
var AssistantNameContext = (0, import_react9.createContext)("Assistant");
|
|
784
798
|
// src/components/threads/Thread/Messages/Content/MessageGroup/Content/index.tsx
|
|
785
|
-
var
|
|
799
|
+
var import_themes24 = require("@radix-ui/themes");
|
|
786
800
|
// src/components/threads/Thread/Message/index.tsx
|
|
787
|
-
var
|
|
788
|
-
var
|
|
801
|
+
var import_react16 = require("react");
|
|
802
|
+
var import_themes23 = require("@radix-ui/themes");
|
|
789
803
|
// src/components/runSteps/RunSteps/index.tsx
|
|
790
|
-
var import_themes15 = require("@radix-ui/themes");
|
|
791
|
-
// src/components/runSteps/RunStep/ToolCalls/index.tsx
|
|
792
804
|
var import_themes14 = require("@radix-ui/themes");
|
|
805
|
+
// src/components/runSteps/RunStep/ToolCalls/index.tsx
|
|
806
|
+
var import_themes13 = require("@radix-ui/themes");
|
|
793
807
|
// src/components/runSteps/RunStep/ToolCalls/ToolCall/index.tsx
|
|
794
|
-
var
|
|
808
|
+
var import_themes11 = require("@radix-ui/themes");
|
|
795
809
|
// src/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/index.tsx
|
|
796
810
|
var import_react12 = require("react");
|
|
797
811
|
// src/contexts/functions/FunctionComponentsContext/index.tsx
|
|
798
812
|
var import_react10 = require("react");
|
|
799
813
|
var FunctionComponentsContext = (0, import_react10.createContext)({});
|
|
800
814
|
// src/components/functions/FunctionBase/index.tsx
|
|
801
|
-
var
|
|
815
|
+
var import_themes9 = require("@radix-ui/themes");
|
|
802
816
|
// src/components/toolCalls/ToolCallBase/index.tsx
|
|
803
|
-
var
|
|
804
|
-
var
|
|
817
|
+
var import_themes6 = require("@radix-ui/themes");
|
|
818
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
805
819
|
var ToolCallBase = function(param) {
|
|
806
820
|
var children = param.children;
|
|
807
|
-
return /* @__PURE__ */ (0,
|
|
821
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_themes6.Flex, {
|
|
808
822
|
py: "1",
|
|
809
823
|
ml: "-2",
|
|
810
|
-
children: /* @__PURE__ */ (0,
|
|
811
|
-
children: /* @__PURE__ */ (0,
|
|
824
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_themes6.PopoverTrigger, {
|
|
825
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_themes6.Button, {
|
|
812
826
|
size: "1",
|
|
813
827
|
color: "gold",
|
|
814
828
|
variant: "outline",
|
|
@@ -821,32 +835,32 @@ var ToolCallBase = function(param) {
|
|
|
821
835
|
});
|
|
822
836
|
};
|
|
823
837
|
// src/components/toolCalls/ToolCallBase/ToolCallTitle.tsx
|
|
824
|
-
var
|
|
825
|
-
var
|
|
838
|
+
var import_themes7 = require("@radix-ui/themes");
|
|
839
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
826
840
|
var ToolCallTitle = function(param) {
|
|
827
841
|
var children = param.children;
|
|
828
|
-
return /* @__PURE__ */ (0,
|
|
842
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_themes7.Text, {
|
|
829
843
|
weight: "regular",
|
|
830
844
|
children: children
|
|
831
845
|
});
|
|
832
846
|
};
|
|
833
847
|
// src/components/functions/FunctionBase/Icon.tsx
|
|
834
848
|
var import_react_icons2 = require("@radix-ui/react-icons");
|
|
835
|
-
var
|
|
849
|
+
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
836
850
|
var Icon = function(param) {
|
|
837
851
|
var runStep = param.runStep;
|
|
838
852
|
if (runStep.completed_at) {
|
|
839
|
-
return /* @__PURE__ */ (0,
|
|
853
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react_icons2.CheckCircledIcon, {});
|
|
840
854
|
} else if (runStep.cancelled_at || runStep.failed_at || runStep.status === "expired") {
|
|
841
|
-
return /* @__PURE__ */ (0,
|
|
855
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react_icons2.CircleBackslashIcon, {});
|
|
842
856
|
} else {
|
|
843
|
-
return /* @__PURE__ */ (0,
|
|
857
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react_icons2.CircleIcon, {});
|
|
844
858
|
}
|
|
845
859
|
};
|
|
846
860
|
// src/components/functions/FunctionBase/Content.tsx
|
|
847
861
|
var import_react11 = require("react");
|
|
848
|
-
var
|
|
849
|
-
var
|
|
862
|
+
var import_themes8 = require("@radix-ui/themes");
|
|
863
|
+
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
850
864
|
var Content = function(param) {
|
|
851
865
|
var fn = param.fn;
|
|
852
866
|
var args = (0, import_react11.useMemo)(function() {
|
|
@@ -877,7 +891,7 @@ var Content = function(param) {
|
|
|
877
891
|
if (!args) {
|
|
878
892
|
return null;
|
|
879
893
|
}
|
|
880
|
-
return /* @__PURE__ */ (0,
|
|
894
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_themes8.Code, {
|
|
881
895
|
variant: "ghost",
|
|
882
896
|
color: "gold",
|
|
883
897
|
style: {
|
|
@@ -885,36 +899,36 @@ var Content = function(param) {
|
|
|
885
899
|
wordBreak: "break-word"
|
|
886
900
|
},
|
|
887
901
|
children: [
|
|
888
|
-
/* @__PURE__ */ (0,
|
|
902
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_themes8.Box, {
|
|
889
903
|
children: args && JSON.stringify(args, null, 2)
|
|
890
904
|
}),
|
|
891
|
-
/* @__PURE__ */ (0,
|
|
905
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_themes8.Box, {
|
|
892
906
|
children: output && JSON.stringify(output, null, 2)
|
|
893
907
|
})
|
|
894
908
|
]
|
|
895
909
|
});
|
|
896
910
|
};
|
|
897
911
|
// src/components/functions/FunctionBase/index.tsx
|
|
898
|
-
var
|
|
912
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
899
913
|
var FunctionBase = function(param) {
|
|
900
914
|
var fn = param.fn, runStep = param.runStep, title2 = param.title;
|
|
901
|
-
return /* @__PURE__ */ (0,
|
|
915
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_themes9.PopoverRoot, {
|
|
902
916
|
children: [
|
|
903
|
-
/* @__PURE__ */ (0,
|
|
917
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(ToolCallBase, {
|
|
904
918
|
children: [
|
|
905
|
-
/* @__PURE__ */ (0,
|
|
919
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Icon, {
|
|
906
920
|
runStep: runStep
|
|
907
921
|
}),
|
|
908
|
-
/* @__PURE__ */ (0,
|
|
922
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(ToolCallTitle, {
|
|
909
923
|
children: title2
|
|
910
924
|
})
|
|
911
925
|
]
|
|
912
926
|
}),
|
|
913
|
-
/* @__PURE__ */ (0,
|
|
927
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_themes9.PopoverContent, {
|
|
914
928
|
style: {
|
|
915
929
|
maxHeight: "500px"
|
|
916
930
|
},
|
|
917
|
-
children: /* @__PURE__ */ (0,
|
|
931
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Content, {
|
|
918
932
|
fn: fn
|
|
919
933
|
})
|
|
920
934
|
})
|
|
@@ -933,10 +947,10 @@ var title = function(param) {
|
|
|
933
947
|
}
|
|
934
948
|
};
|
|
935
949
|
// src/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/DefaultFunction/index.tsx
|
|
936
|
-
var
|
|
950
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
937
951
|
var DefaultFunction = function(param) {
|
|
938
952
|
var fn = param.fn, runStep = param.runStep;
|
|
939
|
-
return /* @__PURE__ */ (0,
|
|
953
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(FunctionBase, {
|
|
940
954
|
fn: fn,
|
|
941
955
|
runStep: runStep,
|
|
942
956
|
title: title({
|
|
@@ -946,66 +960,66 @@ var DefaultFunction = function(param) {
|
|
|
946
960
|
});
|
|
947
961
|
};
|
|
948
962
|
// src/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/index.tsx
|
|
949
|
-
var
|
|
963
|
+
var import_jsx_runtime13 = // @ts-ignore-next-line
|
|
950
964
|
require("react/jsx-runtime");
|
|
951
965
|
var Fn = function(param) {
|
|
952
966
|
var fn = param.fn, runStep = param.runStep;
|
|
953
967
|
var functionComponentsContext = (0, import_react12.useContext)(FunctionComponentsContext);
|
|
954
968
|
var Component = functionComponentsContext[fn.name] || DefaultFunction;
|
|
955
|
-
return /* @__PURE__ */ (0,
|
|
969
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Component, {
|
|
956
970
|
fn: fn,
|
|
957
971
|
runStep: runStep
|
|
958
972
|
});
|
|
959
973
|
};
|
|
960
974
|
// src/components/runSteps/RunStep/ToolCalls/ToolCall/CodeInterpreter/index.tsx
|
|
961
|
-
var
|
|
962
|
-
var
|
|
975
|
+
var import_themes10 = require("@radix-ui/themes");
|
|
976
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
963
977
|
var CodeInterpreter = function(param) {
|
|
964
978
|
var codeInterpreter = param.codeInterpreter;
|
|
965
|
-
return /* @__PURE__ */ (0,
|
|
979
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_themes10.Flex, {
|
|
966
980
|
children: codeInterpreter.input
|
|
967
981
|
});
|
|
968
982
|
};
|
|
969
983
|
// src/components/runSteps/RunStep/ToolCalls/ToolCall/index.tsx
|
|
970
|
-
var
|
|
984
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
971
985
|
var ToolCall = function(param) {
|
|
972
986
|
var toolCall = param.toolCall, runStep = param.runStep;
|
|
973
987
|
if (toolCall.type === "function") {
|
|
974
|
-
return /* @__PURE__ */ (0,
|
|
988
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Fn, {
|
|
975
989
|
fn: toolCall.function,
|
|
976
990
|
runStep: runStep
|
|
977
991
|
});
|
|
978
992
|
}
|
|
979
993
|
if (toolCall.type === "code_interpreter") {
|
|
980
|
-
return /* @__PURE__ */ (0,
|
|
994
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(CodeInterpreter, {
|
|
981
995
|
codeInterpreter: toolCall.code_interpreter,
|
|
982
996
|
runStep: runStep
|
|
983
997
|
});
|
|
984
998
|
}
|
|
985
|
-
return /* @__PURE__ */ (0,
|
|
999
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_themes11.Flex, {
|
|
986
1000
|
children: toolCall.type
|
|
987
1001
|
});
|
|
988
1002
|
};
|
|
989
1003
|
// src/components/runSteps/RunStep/ToolCalls/Starting/index.tsx
|
|
990
|
-
var
|
|
1004
|
+
var import_themes12 = require("@radix-ui/themes");
|
|
991
1005
|
var import_react_icons3 = require("@radix-ui/react-icons");
|
|
992
|
-
var
|
|
1006
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
993
1007
|
var Starting = function() {
|
|
994
|
-
return /* @__PURE__ */ (0,
|
|
1008
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_themes12.PopoverRoot, {
|
|
995
1009
|
children: [
|
|
996
|
-
/* @__PURE__ */ (0,
|
|
1010
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(ToolCallBase, {
|
|
997
1011
|
children: [
|
|
998
|
-
/* @__PURE__ */ (0,
|
|
999
|
-
/* @__PURE__ */ (0,
|
|
1012
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_react_icons3.CircleIcon, {}),
|
|
1013
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(ToolCallTitle, {
|
|
1000
1014
|
children: "Starting actions"
|
|
1001
1015
|
})
|
|
1002
1016
|
]
|
|
1003
1017
|
}),
|
|
1004
|
-
/* @__PURE__ */ (0,
|
|
1018
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_themes12.PopoverContent, {
|
|
1005
1019
|
style: {
|
|
1006
1020
|
maxHeight: "500px"
|
|
1007
1021
|
},
|
|
1008
|
-
children: /* @__PURE__ */ (0,
|
|
1022
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_themes12.Text, {
|
|
1009
1023
|
children: "Getting ready to connect to domain API"
|
|
1010
1024
|
})
|
|
1011
1025
|
})
|
|
@@ -1013,15 +1027,15 @@ var Starting = function() {
|
|
|
1013
1027
|
});
|
|
1014
1028
|
};
|
|
1015
1029
|
// src/components/runSteps/RunStep/ToolCalls/index.tsx
|
|
1016
|
-
var
|
|
1030
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
1017
1031
|
var ToolCalls = function(param) {
|
|
1018
1032
|
var stepDetails = param.stepDetails, runStep = param.runStep;
|
|
1019
|
-
return /* @__PURE__ */ (0,
|
|
1033
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_themes13.Flex, {
|
|
1020
1034
|
direction: "column",
|
|
1021
1035
|
children: [
|
|
1022
|
-
!stepDetails.tool_calls.length && /* @__PURE__ */ (0,
|
|
1036
|
+
!stepDetails.tool_calls.length && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Starting, {}),
|
|
1023
1037
|
stepDetails.tool_calls.map(function(toolCall) {
|
|
1024
|
-
return /* @__PURE__ */ (0,
|
|
1038
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ToolCall, {
|
|
1025
1039
|
toolCall: toolCall,
|
|
1026
1040
|
runStep: runStep
|
|
1027
1041
|
}, toolCall.id);
|
|
@@ -1030,11 +1044,11 @@ var ToolCalls = function(param) {
|
|
|
1030
1044
|
});
|
|
1031
1045
|
};
|
|
1032
1046
|
// src/components/runSteps/RunStep/index.tsx
|
|
1033
|
-
var
|
|
1047
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
1034
1048
|
var RunStep = function(param) {
|
|
1035
1049
|
var runStep = param.runStep;
|
|
1036
1050
|
if (runStep.step_details.type === "tool_calls") {
|
|
1037
|
-
return /* @__PURE__ */ (0,
|
|
1051
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ToolCalls, {
|
|
1038
1052
|
stepDetails: runStep.step_details,
|
|
1039
1053
|
runStep: runStep
|
|
1040
1054
|
});
|
|
@@ -1042,31 +1056,39 @@ var RunStep = function(param) {
|
|
|
1042
1056
|
return null;
|
|
1043
1057
|
};
|
|
1044
1058
|
// src/components/runSteps/RunSteps/index.tsx
|
|
1045
|
-
var
|
|
1059
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
1046
1060
|
var RunSteps = function(param) {
|
|
1047
1061
|
var runSteps = param.runSteps;
|
|
1048
|
-
return /* @__PURE__ */ (0,
|
|
1062
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_themes14.Flex, {
|
|
1049
1063
|
direction: "column-reverse",
|
|
1050
1064
|
children: runSteps.map(function(runStep) {
|
|
1051
|
-
return /* @__PURE__ */ (0,
|
|
1065
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(RunStep, {
|
|
1052
1066
|
runStep: runStep
|
|
1053
1067
|
}, runStep.id);
|
|
1054
1068
|
})
|
|
1055
1069
|
});
|
|
1056
1070
|
};
|
|
1057
|
-
// src/
|
|
1058
|
-
var
|
|
1071
|
+
// src/contexts/messages/MessageContext/index.ts
|
|
1072
|
+
var import_react13 = require("react");
|
|
1073
|
+
var MessageContext = (0, import_react13.createContext)({
|
|
1074
|
+
message: null
|
|
1075
|
+
});
|
|
1076
|
+
// src/components/threads/Thread/Message/Provider.tsx
|
|
1077
|
+
var Provider = MessageContext.Provider;
|
|
1078
|
+
// src/components/threads/Thread/Message/TextContent.tsx
|
|
1059
1079
|
var import_react_remark = require("react-remark");
|
|
1080
|
+
// src/hooks/markdown/useMarkdownContext/index.ts
|
|
1081
|
+
var import_react15 = require("react");
|
|
1060
1082
|
// src/contexts/markdown/MarkdownContext/index.ts
|
|
1061
|
-
var
|
|
1083
|
+
var import_react14 = require("react");
|
|
1062
1084
|
// src/contexts/markdown/MarkdownContext/lib/components/Paragraph.tsx
|
|
1063
|
-
var
|
|
1064
|
-
var
|
|
1085
|
+
var import_themes15 = require("@radix-ui/themes");
|
|
1086
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
1065
1087
|
var Paragraph = function(param) {
|
|
1066
1088
|
var children = param.children;
|
|
1067
|
-
return /* @__PURE__ */ (0,
|
|
1089
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_themes15.Box, {
|
|
1068
1090
|
pb: "3",
|
|
1069
|
-
children: /* @__PURE__ */ (0,
|
|
1091
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_themes15.Text, {
|
|
1070
1092
|
size: "3",
|
|
1071
1093
|
style: {
|
|
1072
1094
|
whiteSpace: "pre-line",
|
|
@@ -1077,24 +1099,24 @@ var Paragraph = function(param) {
|
|
|
1077
1099
|
});
|
|
1078
1100
|
};
|
|
1079
1101
|
// src/contexts/markdown/MarkdownContext/lib/components/Link.tsx
|
|
1080
|
-
var
|
|
1081
|
-
var
|
|
1102
|
+
var import_themes16 = require("@radix-ui/themes");
|
|
1103
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
1082
1104
|
var Link = function(param) {
|
|
1083
1105
|
var children = param.children, href = param.href;
|
|
1084
|
-
return /* @__PURE__ */ (0,
|
|
1106
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_themes16.Link, {
|
|
1085
1107
|
href: href,
|
|
1086
1108
|
children: children
|
|
1087
1109
|
});
|
|
1088
1110
|
};
|
|
1089
1111
|
// src/contexts/markdown/MarkdownContext/lib/components/UnorderedList.tsx
|
|
1090
|
-
var
|
|
1091
|
-
var
|
|
1112
|
+
var import_themes17 = require("@radix-ui/themes");
|
|
1113
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
1092
1114
|
var UnorderedList = function(param) {
|
|
1093
1115
|
var children = param.children;
|
|
1094
|
-
return /* @__PURE__ */ (0,
|
|
1116
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_themes17.Box, {
|
|
1095
1117
|
pb: "3",
|
|
1096
1118
|
asChild: true,
|
|
1097
|
-
children: /* @__PURE__ */ (0,
|
|
1119
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("ul", {
|
|
1098
1120
|
style: {
|
|
1099
1121
|
listStylePosition: "inside"
|
|
1100
1122
|
},
|
|
@@ -1103,14 +1125,14 @@ var UnorderedList = function(param) {
|
|
|
1103
1125
|
});
|
|
1104
1126
|
};
|
|
1105
1127
|
// src/contexts/markdown/MarkdownContext/lib/components/OrderedList.tsx
|
|
1106
|
-
var
|
|
1107
|
-
var
|
|
1128
|
+
var import_themes18 = require("@radix-ui/themes");
|
|
1129
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
1108
1130
|
var OrderedList = function(param) {
|
|
1109
1131
|
var children = param.children;
|
|
1110
|
-
return /* @__PURE__ */ (0,
|
|
1132
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_themes18.Box, {
|
|
1111
1133
|
pb: "3",
|
|
1112
1134
|
asChild: true,
|
|
1113
|
-
children: /* @__PURE__ */ (0,
|
|
1135
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("ol", {
|
|
1114
1136
|
style: {
|
|
1115
1137
|
listStylePosition: "inside"
|
|
1116
1138
|
},
|
|
@@ -1119,23 +1141,45 @@ var OrderedList = function(param) {
|
|
|
1119
1141
|
});
|
|
1120
1142
|
};
|
|
1121
1143
|
// src/contexts/markdown/MarkdownContext/lib/components/ListItem.tsx
|
|
1122
|
-
var
|
|
1123
|
-
var
|
|
1144
|
+
var import_themes19 = require("@radix-ui/themes");
|
|
1145
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
1124
1146
|
var ListItem = function(param) {
|
|
1125
1147
|
var children = param.children;
|
|
1126
|
-
return /* @__PURE__ */ (0,
|
|
1148
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_themes19.Box, {
|
|
1127
1149
|
pb: "1",
|
|
1128
|
-
children: /* @__PURE__ */ (0,
|
|
1150
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("li", {
|
|
1129
1151
|
children: children
|
|
1130
1152
|
})
|
|
1131
1153
|
});
|
|
1132
1154
|
};
|
|
1133
1155
|
// src/contexts/markdown/MarkdownContext/lib/components/Strong.tsx
|
|
1156
|
+
var import_themes20 = require("@radix-ui/themes");
|
|
1157
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
1158
|
+
var Strong = function(param) {
|
|
1159
|
+
var children = param.children;
|
|
1160
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_themes20.Strong, {
|
|
1161
|
+
children: children
|
|
1162
|
+
});
|
|
1163
|
+
};
|
|
1164
|
+
// src/contexts/markdown/MarkdownContext/lib/components/Pre.tsx
|
|
1134
1165
|
var import_themes21 = require("@radix-ui/themes");
|
|
1135
1166
|
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
1136
|
-
var
|
|
1167
|
+
var Pre = function(param) {
|
|
1137
1168
|
var children = param.children;
|
|
1138
|
-
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_themes21.
|
|
1169
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_themes21.Box, {
|
|
1170
|
+
style: {
|
|
1171
|
+
whiteSpace: "pre-wrap",
|
|
1172
|
+
wordBreak: "break-word"
|
|
1173
|
+
},
|
|
1174
|
+
children: children
|
|
1175
|
+
});
|
|
1176
|
+
};
|
|
1177
|
+
// src/contexts/markdown/MarkdownContext/lib/components/Code.tsx
|
|
1178
|
+
var import_themes22 = require("@radix-ui/themes");
|
|
1179
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
1180
|
+
var Code2 = function(param) {
|
|
1181
|
+
var children = param.children;
|
|
1182
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_themes22.Code, {
|
|
1139
1183
|
children: children
|
|
1140
1184
|
});
|
|
1141
1185
|
};
|
|
@@ -1146,26 +1190,32 @@ var components = {
|
|
|
1146
1190
|
strong: Strong,
|
|
1147
1191
|
ul: UnorderedList,
|
|
1148
1192
|
ol: OrderedList,
|
|
1149
|
-
li: ListItem
|
|
1193
|
+
li: ListItem,
|
|
1194
|
+
pre: Pre,
|
|
1195
|
+
code: Code2
|
|
1150
1196
|
};
|
|
1151
1197
|
// src/contexts/markdown/MarkdownContext/index.ts
|
|
1152
|
-
var MarkdownContext = (0,
|
|
1198
|
+
var MarkdownContext = (0, import_react14.createContext)({
|
|
1153
1199
|
remarkPlugins: [],
|
|
1154
1200
|
rehypeReactOptions: {
|
|
1155
1201
|
components: components
|
|
1156
1202
|
}
|
|
1157
1203
|
});
|
|
1158
|
-
// src/
|
|
1204
|
+
// src/hooks/markdown/useMarkdownContext/index.ts
|
|
1205
|
+
var useMarkdownContext = function() {
|
|
1206
|
+
return (0, import_react15.useContext)(MarkdownContext);
|
|
1207
|
+
};
|
|
1208
|
+
// src/components/threads/Thread/Message/TextContent.tsx
|
|
1159
1209
|
var TextContent = function(param) {
|
|
1160
1210
|
var content = param.content;
|
|
1161
|
-
var markdownContext = (
|
|
1211
|
+
var markdownContext = useMarkdownContext();
|
|
1162
1212
|
return (0, import_react_remark.useRemarkSync)(content.text.value, markdownContext);
|
|
1163
1213
|
};
|
|
1164
1214
|
// src/components/threads/Thread/Message/index.tsx
|
|
1165
|
-
var
|
|
1215
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
1166
1216
|
var Message = function(param) {
|
|
1167
1217
|
var message = param.message;
|
|
1168
|
-
var _ref = _sliced_to_array((0,
|
|
1218
|
+
var _ref = _sliced_to_array((0, import_react16.useMemo)(function() {
|
|
1169
1219
|
if (!message.runSteps.length) return [
|
|
1170
1220
|
[],
|
|
1171
1221
|
[]
|
|
@@ -1197,55 +1247,60 @@ var Message = function(param) {
|
|
|
1197
1247
|
}, [
|
|
1198
1248
|
message
|
|
1199
1249
|
]), 2), olderRunSteps = _ref[0], laterRunSteps = _ref[1];
|
|
1200
|
-
return /* @__PURE__ */ (0,
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1250
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Provider, {
|
|
1251
|
+
value: {
|
|
1252
|
+
message: message
|
|
1253
|
+
},
|
|
1254
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_themes23.Box, {
|
|
1255
|
+
children: [
|
|
1256
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(RunSteps, {
|
|
1257
|
+
runSteps: olderRunSteps
|
|
1258
|
+
}),
|
|
1259
|
+
message.content.map(function(content, index) {
|
|
1260
|
+
return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_themes23.Box, {
|
|
1261
|
+
children: content.type === "text" && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(TextContent, {
|
|
1262
|
+
content: content
|
|
1263
|
+
})
|
|
1264
|
+
}, index);
|
|
1265
|
+
}),
|
|
1266
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(RunSteps, {
|
|
1267
|
+
runSteps: laterRunSteps
|
|
1268
|
+
})
|
|
1269
|
+
]
|
|
1270
|
+
})
|
|
1216
1271
|
});
|
|
1217
1272
|
};
|
|
1218
1273
|
// src/components/threads/Thread/Messages/Content/MessageGroup/Content/index.tsx
|
|
1219
|
-
var
|
|
1274
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
1220
1275
|
var Content2 = function(param) {
|
|
1221
1276
|
var messageGroup = param.messageGroup;
|
|
1222
|
-
return /* @__PURE__ */ (0,
|
|
1277
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_themes24.Flex, {
|
|
1223
1278
|
direction: "column-reverse",
|
|
1224
1279
|
children: messageGroup.messages.map(function(message) {
|
|
1225
|
-
return /* @__PURE__ */ (0,
|
|
1280
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Message, {
|
|
1226
1281
|
message: message
|
|
1227
1282
|
}, message.id);
|
|
1228
1283
|
})
|
|
1229
1284
|
});
|
|
1230
1285
|
};
|
|
1231
1286
|
// src/components/threads/Thread/Messages/Content/MessageGroup/index.tsx
|
|
1232
|
-
var
|
|
1287
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
1233
1288
|
var MessageGroup = function(param) {
|
|
1234
1289
|
var messageGroup = param.messageGroup;
|
|
1235
|
-
var assistantNameContext = (0,
|
|
1236
|
-
return /* @__PURE__ */ (0,
|
|
1290
|
+
var assistantNameContext = (0, import_react17.useContext)(AssistantNameContext);
|
|
1291
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(MessageGroupBase, {
|
|
1237
1292
|
children: [
|
|
1238
|
-
messageGroup.role === "user" ? /* @__PURE__ */ (0,
|
|
1239
|
-
fallback: /* @__PURE__ */ (0,
|
|
1293
|
+
messageGroup.role === "user" ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_themes25.Avatar, {
|
|
1294
|
+
fallback: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_react_icons4.PersonIcon, {}),
|
|
1240
1295
|
size: "1"
|
|
1241
|
-
}) : /* @__PURE__ */ (0,
|
|
1242
|
-
/* @__PURE__ */ (0,
|
|
1296
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(AssistantAvatar, {}),
|
|
1297
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_themes25.Box, {
|
|
1243
1298
|
flexGrow: "1",
|
|
1244
1299
|
children: [
|
|
1245
|
-
/* @__PURE__ */ (0,
|
|
1300
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Name, {
|
|
1246
1301
|
children: messageGroup.role === "user" ? "You" : assistantNameContext
|
|
1247
1302
|
}),
|
|
1248
|
-
/* @__PURE__ */ (0,
|
|
1303
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Content2, {
|
|
1249
1304
|
messageGroup: messageGroup
|
|
1250
1305
|
})
|
|
1251
1306
|
]
|
|
@@ -1254,68 +1309,74 @@ var MessageGroup = function(param) {
|
|
|
1254
1309
|
});
|
|
1255
1310
|
};
|
|
1256
1311
|
// src/components/threads/Thread/Messages/Content/index.tsx
|
|
1257
|
-
var
|
|
1312
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
1258
1313
|
var Content3 = function() {
|
|
1259
1314
|
var _useMessages = useMessages(), messages2 = _useMessages.messages, isLoading = _useMessages.isLoading, isLoadingError = _useMessages.isLoadingError;
|
|
1260
1315
|
var _useMessageGroups = useMessageGroups({
|
|
1261
1316
|
messages: messages2
|
|
1262
1317
|
}), messageGroups2 = _useMessageGroups.messageGroups;
|
|
1318
|
+
(0, import_react18.useEffect)(function() {
|
|
1319
|
+
if (isLoadingError) {
|
|
1320
|
+
import_sonner2.toast.error("Could not load messages. Please try again.");
|
|
1321
|
+
}
|
|
1322
|
+
}, [
|
|
1323
|
+
isLoadingError
|
|
1324
|
+
]);
|
|
1263
1325
|
if (isLoading || isLoadingError) {
|
|
1264
|
-
return /* @__PURE__ */ (0,
|
|
1326
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(MessagesSkeleton, {});
|
|
1265
1327
|
}
|
|
1266
|
-
return /* @__PURE__ */ (0,
|
|
1328
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_jsx_runtime31.Fragment, {
|
|
1267
1329
|
children: messageGroups2.map(function(messageGroup) {
|
|
1268
|
-
return /* @__PURE__ */ (0,
|
|
1330
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(MessageGroup, {
|
|
1269
1331
|
messageGroup: messageGroup
|
|
1270
1332
|
}, messageGroup.id);
|
|
1271
1333
|
})
|
|
1272
1334
|
});
|
|
1273
1335
|
};
|
|
1274
1336
|
// src/components/threads/Thread/Messages/Progress/index.tsx
|
|
1275
|
-
var
|
|
1337
|
+
var import_themes28 = require("@radix-ui/themes");
|
|
1276
1338
|
// src/components/skeletons/StartingContentSkeleton/index.tsx
|
|
1277
|
-
var
|
|
1278
|
-
var
|
|
1339
|
+
var import_themes26 = require("@radix-ui/themes");
|
|
1340
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
1279
1341
|
var StartingContentSkeleton = function() {
|
|
1280
|
-
return /* @__PURE__ */ (0,
|
|
1281
|
-
|
|
1342
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_themes26.Skeleton, {
|
|
1343
|
+
loading: true,
|
|
1282
1344
|
mt: "1",
|
|
1283
1345
|
height: "var(--space-4)",
|
|
1284
1346
|
width: "var(--space-4)",
|
|
1285
1347
|
style: {
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
backgroundColor: "var(--gray-12)"
|
|
1348
|
+
borderRadius: "var(--radius-6)",
|
|
1349
|
+
flexShrink: 0
|
|
1289
1350
|
}
|
|
1290
1351
|
});
|
|
1291
1352
|
};
|
|
1292
1353
|
// src/components/skeletons/StartingSkeleton/index.tsx
|
|
1293
|
-
var
|
|
1294
|
-
var
|
|
1295
|
-
var
|
|
1354
|
+
var import_react19 = require("react");
|
|
1355
|
+
var import_themes27 = require("@radix-ui/themes");
|
|
1356
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
1296
1357
|
var StartingSkeleton = function(param) {
|
|
1297
1358
|
var children = param.children;
|
|
1298
|
-
var assistantNameContext = (0,
|
|
1299
|
-
return /* @__PURE__ */ (0,
|
|
1359
|
+
var assistantNameContext = (0, import_react19.useContext)(AssistantNameContext);
|
|
1360
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(MessageGroupBase, {
|
|
1300
1361
|
children: [
|
|
1301
|
-
/* @__PURE__ */ (0,
|
|
1302
|
-
/* @__PURE__ */ (0,
|
|
1362
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(AssistantAvatar, {}),
|
|
1363
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_themes27.Box, {
|
|
1303
1364
|
children: [
|
|
1304
|
-
/* @__PURE__ */ (0,
|
|
1365
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Name, {
|
|
1305
1366
|
children: assistantNameContext
|
|
1306
1367
|
}),
|
|
1307
1368
|
children,
|
|
1308
|
-
/* @__PURE__ */ (0,
|
|
1369
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(StartingContentSkeleton, {})
|
|
1309
1370
|
]
|
|
1310
1371
|
})
|
|
1311
1372
|
]
|
|
1312
1373
|
});
|
|
1313
1374
|
};
|
|
1314
1375
|
// src/hooks/messages/useLatestMessage/index.ts
|
|
1315
|
-
var
|
|
1376
|
+
var import_react20 = require("react");
|
|
1316
1377
|
var useLatestMessage = function() {
|
|
1317
1378
|
var props = useMessages();
|
|
1318
|
-
return (0,
|
|
1379
|
+
return (0, import_react20.useMemo)(function() {
|
|
1319
1380
|
return _object_spread_props(_object_spread({}, props), {
|
|
1320
1381
|
latestMessage: props.messages[0] || null
|
|
1321
1382
|
});
|
|
@@ -1324,13 +1385,26 @@ var useLatestMessage = function() {
|
|
|
1324
1385
|
]);
|
|
1325
1386
|
};
|
|
1326
1387
|
// src/hooks/runs/useIsRunActive/index.tsx
|
|
1327
|
-
var
|
|
1388
|
+
var import_react25 = require("react");
|
|
1328
1389
|
var import_react_query4 = require("@tanstack/react-query");
|
|
1329
1390
|
// src/hooks/runs/useLatestRun/index.ts
|
|
1330
|
-
var
|
|
1391
|
+
var import_react22 = require("react");
|
|
1331
1392
|
// src/hooks/runs/useRuns/index.tsx
|
|
1332
|
-
var
|
|
1393
|
+
var import_react21 = require("react");
|
|
1333
1394
|
var import_react_query3 = require("@tanstack/react-query");
|
|
1395
|
+
// src/lib/runs/runsQueryOptions.ts
|
|
1396
|
+
var runsQueryOptions = function(param) {
|
|
1397
|
+
var queryClient = param.queryClient, threadContext = param.threadContext, superinterfaceContext = param.superinterfaceContext;
|
|
1398
|
+
return queryOptions({
|
|
1399
|
+
queryKeyBase: [
|
|
1400
|
+
"runs"
|
|
1401
|
+
],
|
|
1402
|
+
path: "/runs",
|
|
1403
|
+
queryClient: queryClient,
|
|
1404
|
+
threadContext: threadContext,
|
|
1405
|
+
superinterfaceContext: superinterfaceContext
|
|
1406
|
+
});
|
|
1407
|
+
};
|
|
1334
1408
|
// src/hooks/runs/useRuns/lib/getRuns.ts
|
|
1335
1409
|
var getRuns = function(param) {
|
|
1336
1410
|
var data3 = param.data;
|
|
@@ -1344,16 +1418,12 @@ var useRuns = function() {
|
|
|
1344
1418
|
var queryClient = (0, import_react_query3.useQueryClient)();
|
|
1345
1419
|
var superinterfaceContext = useSuperinterfaceContext();
|
|
1346
1420
|
var threadContext = useSuperinterfaceContext();
|
|
1347
|
-
var props = (0, import_react_query3.useInfiniteQuery)(
|
|
1348
|
-
queryKeyBase: [
|
|
1349
|
-
"runs"
|
|
1350
|
-
],
|
|
1351
|
-
path: "/runs",
|
|
1421
|
+
var props = (0, import_react_query3.useInfiniteQuery)(runsQueryOptions({
|
|
1352
1422
|
queryClient: queryClient,
|
|
1353
1423
|
threadContext: threadContext,
|
|
1354
1424
|
superinterfaceContext: superinterfaceContext
|
|
1355
1425
|
}));
|
|
1356
|
-
return (0,
|
|
1426
|
+
return (0, import_react21.useMemo)(function() {
|
|
1357
1427
|
return _object_spread_props(_object_spread({}, props), {
|
|
1358
1428
|
// @ts-ignore-next-line
|
|
1359
1429
|
runs: getRuns({
|
|
@@ -1367,7 +1437,7 @@ var useRuns = function() {
|
|
|
1367
1437
|
// src/hooks/runs/useLatestRun/index.ts
|
|
1368
1438
|
var useLatestRun = function() {
|
|
1369
1439
|
var props = useRuns();
|
|
1370
|
-
return (0,
|
|
1440
|
+
return (0, import_react22.useMemo)(function() {
|
|
1371
1441
|
return _object_spread_props(_object_spread({}, props), {
|
|
1372
1442
|
latestRun: props.runs[0]
|
|
1373
1443
|
});
|
|
@@ -1388,6 +1458,18 @@ var isRunEditingMessage = function(param) {
|
|
|
1388
1458
|
});
|
|
1389
1459
|
return !hasContent;
|
|
1390
1460
|
};
|
|
1461
|
+
// src/hooks/runs/usePollingContext/index.ts
|
|
1462
|
+
var import_react24 = require("react");
|
|
1463
|
+
// src/contexts/runs/PollingContext/index.tsx
|
|
1464
|
+
var import_react23 = require("react");
|
|
1465
|
+
var PollingContext = (0, import_react23.createContext)({
|
|
1466
|
+
isPollRefetching: false,
|
|
1467
|
+
setIsPollRefetching: function() {}
|
|
1468
|
+
});
|
|
1469
|
+
// src/hooks/runs/usePollingContext/index.ts
|
|
1470
|
+
var usePollingContext = function() {
|
|
1471
|
+
return (0, import_react24.useContext)(PollingContext);
|
|
1472
|
+
};
|
|
1391
1473
|
// src/hooks/runs/useIsRunActive/index.tsx
|
|
1392
1474
|
var progressStatuses = [
|
|
1393
1475
|
"queued",
|
|
@@ -1401,8 +1483,9 @@ var stoppedStatuses = [
|
|
|
1401
1483
|
"failed"
|
|
1402
1484
|
];
|
|
1403
1485
|
var isRunActive = function(param) {
|
|
1404
|
-
var latestRunProps = param.latestRunProps, latestMessageProps = param.latestMessageProps, isMutating = param.isMutating;
|
|
1486
|
+
var pollingContext = param.pollingContext, latestRunProps = param.latestRunProps, latestMessageProps = param.latestMessageProps, isMutating = param.isMutating;
|
|
1405
1487
|
var _latestMessageProps_latestMessage_metadata, _latestMessageProps_latestMessage;
|
|
1488
|
+
if (pollingContext.isPollRefetching) return true;
|
|
1406
1489
|
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
1490
|
if (isMutating) return true;
|
|
1408
1491
|
if (!latestRunProps.latestRun) return false;
|
|
@@ -1416,6 +1499,7 @@ var useIsRunActive = function() {
|
|
|
1416
1499
|
var latestRunProps = useLatestRun();
|
|
1417
1500
|
var latestMessageProps = useLatestMessage();
|
|
1418
1501
|
var threadContext = useSuperinterfaceContext();
|
|
1502
|
+
var pollingContext = usePollingContext();
|
|
1419
1503
|
var isMutatingCreateRun = (0, import_react_query4.useIsMutating)({
|
|
1420
1504
|
mutationKey: [
|
|
1421
1505
|
"createRun",
|
|
@@ -1434,9 +1518,10 @@ var useIsRunActive = function() {
|
|
|
1434
1518
|
threadContext.variables
|
|
1435
1519
|
]
|
|
1436
1520
|
});
|
|
1437
|
-
return (0,
|
|
1521
|
+
return (0, import_react25.useMemo)(function() {
|
|
1438
1522
|
return _object_spread_props(_object_spread({}, latestRunProps), {
|
|
1439
1523
|
isRunActive: isRunActive({
|
|
1524
|
+
pollingContext: pollingContext,
|
|
1440
1525
|
latestRunProps: latestRunProps,
|
|
1441
1526
|
latestMessageProps: latestMessageProps,
|
|
1442
1527
|
isMutating: isMutatingCreateRun > 0 || isMutatingCreateMessage > 0 || isMutatingCreateHandleAction > 0
|
|
@@ -1445,42 +1530,43 @@ var useIsRunActive = function() {
|
|
|
1445
1530
|
}, [
|
|
1446
1531
|
latestRunProps,
|
|
1447
1532
|
latestMessageProps,
|
|
1533
|
+
pollingContext,
|
|
1448
1534
|
isMutatingCreateRun,
|
|
1449
1535
|
isMutatingCreateMessage,
|
|
1450
1536
|
isMutatingCreateHandleAction
|
|
1451
1537
|
]);
|
|
1452
1538
|
};
|
|
1453
1539
|
// src/components/threads/Thread/Messages/Progress/index.tsx
|
|
1454
|
-
var
|
|
1540
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
1455
1541
|
var Progress = function() {
|
|
1456
1542
|
var _useIsRunActive = useIsRunActive(), isRunActive2 = _useIsRunActive.isRunActive;
|
|
1457
1543
|
var latestMessage = useLatestMessage().latestMessage;
|
|
1458
1544
|
if (!latestMessage) return null;
|
|
1459
1545
|
if (!isRunActive2) return null;
|
|
1460
1546
|
if (latestMessage.role === "user") {
|
|
1461
|
-
return /* @__PURE__ */ (0,
|
|
1547
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(StartingSkeleton, {});
|
|
1462
1548
|
}
|
|
1463
|
-
return /* @__PURE__ */ (0,
|
|
1549
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(MessageGroupBase, {
|
|
1464
1550
|
children: [
|
|
1465
|
-
/* @__PURE__ */ (0,
|
|
1551
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_themes28.Box, {
|
|
1466
1552
|
pl: "5"
|
|
1467
1553
|
}),
|
|
1468
|
-
/* @__PURE__ */ (0,
|
|
1554
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(StartingContentSkeleton, {})
|
|
1469
1555
|
]
|
|
1470
1556
|
});
|
|
1471
1557
|
};
|
|
1472
1558
|
// src/components/threads/Thread/Messages/Root/index.tsx
|
|
1473
|
-
var
|
|
1559
|
+
var import_themes29 = require("@radix-ui/themes");
|
|
1474
1560
|
// src/hooks/misc/useInfiniteScroll/index.tsx
|
|
1475
|
-
var
|
|
1561
|
+
var import_react27 = require("react");
|
|
1476
1562
|
var import_react_intersection_observer = require("react-intersection-observer");
|
|
1477
1563
|
// src/hooks/misc/useThrottledEffect/index.tsx
|
|
1478
1564
|
var import_lodash5 = __toESM(require("lodash"), 1);
|
|
1479
|
-
var
|
|
1565
|
+
var import_react26 = require("react");
|
|
1480
1566
|
var useThrottledEffect = function(cb, delay, additionalDeps) {
|
|
1481
1567
|
var _cbRef;
|
|
1482
|
-
var cbRef = (0,
|
|
1483
|
-
var throttledCb = (0,
|
|
1568
|
+
var cbRef = (0, import_react26.useRef)(cb);
|
|
1569
|
+
var throttledCb = (0, import_react26.useCallback)(import_lodash5.default.throttle(function() {
|
|
1484
1570
|
for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
|
|
1485
1571
|
args[_key] = arguments[_key];
|
|
1486
1572
|
}
|
|
@@ -1491,17 +1577,17 @@ var useThrottledEffect = function(cb, delay, additionalDeps) {
|
|
|
1491
1577
|
}), [
|
|
1492
1578
|
delay
|
|
1493
1579
|
]);
|
|
1494
|
-
(0,
|
|
1580
|
+
(0, import_react26.useEffect)(function() {
|
|
1495
1581
|
cbRef.current = cb;
|
|
1496
1582
|
});
|
|
1497
|
-
(0,
|
|
1583
|
+
(0, import_react26.useEffect)(throttledCb, [
|
|
1498
1584
|
throttledCb
|
|
1499
1585
|
].concat(_to_consumable_array(additionalDeps)));
|
|
1500
1586
|
};
|
|
1501
1587
|
// src/hooks/misc/useInfiniteScroll/index.tsx
|
|
1502
1588
|
var useInfiniteScroll = function(param) {
|
|
1503
1589
|
var isFetchingNextPage = param.isFetchingNextPage, hasNextPage = param.hasNextPage, fetchNextPage = param.fetchNextPage;
|
|
1504
|
-
var containerRef = (0,
|
|
1590
|
+
var containerRef = (0, import_react27.useRef)(null);
|
|
1505
1591
|
var _ref = (0, import_react_intersection_observer.useInView)({
|
|
1506
1592
|
root: containerRef.current,
|
|
1507
1593
|
rootMargin: "0px",
|
|
@@ -1526,8 +1612,9 @@ var useInfiniteScroll = function(param) {
|
|
|
1526
1612
|
};
|
|
1527
1613
|
};
|
|
1528
1614
|
// src/hooks/runs/useManageRuns/index.tsx
|
|
1615
|
+
var import_sonner3 = require("sonner");
|
|
1529
1616
|
var import_react_query6 = require("@tanstack/react-query");
|
|
1530
|
-
var
|
|
1617
|
+
var import_react28 = require("react");
|
|
1531
1618
|
// src/hooks/runs/useCreateRun/index.ts
|
|
1532
1619
|
var import_radash4 = require("radash");
|
|
1533
1620
|
var import_react_query5 = require("@tanstack/react-query");
|
|
@@ -1537,7 +1624,7 @@ var mutationOptions = function(param) {
|
|
|
1537
1624
|
var mutationKey = _to_consumable_array(mutationKeyBase).concat([
|
|
1538
1625
|
threadContext.variables
|
|
1539
1626
|
]);
|
|
1540
|
-
return
|
|
1627
|
+
return _object_spread_props(_object_spread({
|
|
1541
1628
|
mutationFn: function(variables) {
|
|
1542
1629
|
return fetch("".concat(superinterfaceContext.baseUrl).concat(path), _object_spread({
|
|
1543
1630
|
method: "POST",
|
|
@@ -1555,7 +1642,7 @@ var mutationOptions = function(param) {
|
|
|
1555
1642
|
case 0:
|
|
1556
1643
|
if (!(response.status !== 200)) return [
|
|
1557
1644
|
3,
|
|
1558
|
-
|
|
1645
|
+
5
|
|
1559
1646
|
];
|
|
1560
1647
|
_state.label = 1;
|
|
1561
1648
|
case 1:
|
|
@@ -1565,17 +1652,23 @@ var mutationOptions = function(param) {
|
|
|
1565
1652
|
,
|
|
1566
1653
|
4
|
|
1567
1654
|
]);
|
|
1655
|
+
console.log("response", response);
|
|
1568
1656
|
return [
|
|
1569
1657
|
4,
|
|
1570
1658
|
response.json()
|
|
1571
1659
|
];
|
|
1572
1660
|
case 2:
|
|
1573
1661
|
errorResponse = _state.sent();
|
|
1574
|
-
|
|
1662
|
+
return [
|
|
1663
|
+
3,
|
|
1664
|
+
4
|
|
1665
|
+
];
|
|
1575
1666
|
case 3:
|
|
1576
1667
|
error = _state.sent();
|
|
1577
1668
|
throw new Error("Failed to fetch");
|
|
1578
1669
|
case 4:
|
|
1670
|
+
throw new Error(errorResponse.error);
|
|
1671
|
+
case 5:
|
|
1579
1672
|
return [
|
|
1580
1673
|
2,
|
|
1581
1674
|
response.json()
|
|
@@ -1588,9 +1681,9 @@ var mutationOptions = function(param) {
|
|
|
1588
1681
|
};
|
|
1589
1682
|
}());
|
|
1590
1683
|
}
|
|
1591
|
-
}, queryClient.getMutationDefaults(mutationKey)), {
|
|
1684
|
+
}, threadContext.defaultOptions.mutations, queryClient.getMutationDefaults(mutationKey)), {
|
|
1592
1685
|
mutationKey: mutationKey
|
|
1593
|
-
})
|
|
1686
|
+
});
|
|
1594
1687
|
};
|
|
1595
1688
|
// src/hooks/runs/useCreateRun/lib/onSuccess.ts
|
|
1596
1689
|
var onSuccess = function(param) {
|
|
@@ -1809,7 +1902,22 @@ var useManageRuns = function() {
|
|
|
1809
1902
|
var latestMessageProps = useLatestMessage();
|
|
1810
1903
|
var createRunProps = useCreateRun();
|
|
1811
1904
|
var threadContext = useSuperinterfaceContext();
|
|
1812
|
-
(0,
|
|
1905
|
+
var _ref = _sliced_to_array((0, import_react28.useState)([]), 2), toastedErrorRunIds = _ref[0], setToastedErrorRunIds = _ref[1];
|
|
1906
|
+
(0, import_react28.useEffect)(function() {
|
|
1907
|
+
var _latestRunProps_latestRun;
|
|
1908
|
+
if (((_latestRunProps_latestRun = latestRunProps.latestRun) === null || _latestRunProps_latestRun === void 0 ? void 0 : _latestRunProps_latestRun.status) !== "failed") return;
|
|
1909
|
+
if (toastedErrorRunIds.includes(latestRunProps.latestRun.id)) return;
|
|
1910
|
+
setToastedErrorRunIds(function(prev) {
|
|
1911
|
+
return _to_consumable_array(prev).concat([
|
|
1912
|
+
latestRunProps.latestRun.id
|
|
1913
|
+
]);
|
|
1914
|
+
});
|
|
1915
|
+
import_sonner3.toast.error("AI run failed. Please try again.");
|
|
1916
|
+
}, [
|
|
1917
|
+
latestRunProps,
|
|
1918
|
+
toastedErrorRunIds
|
|
1919
|
+
]);
|
|
1920
|
+
(0, import_react28.useEffect)(function() {
|
|
1813
1921
|
if (createRunProps.isPending) return;
|
|
1814
1922
|
if (latestRunProps.isFetching) return;
|
|
1815
1923
|
if (latestMessageProps.isFetching) return;
|
|
@@ -1885,19 +1993,35 @@ var refetch = function() {
|
|
|
1885
1993
|
var usePolling = function() {
|
|
1886
1994
|
var threadContext = useSuperinterfaceContext();
|
|
1887
1995
|
var queryClient = (0, import_react_query7.useQueryClient)();
|
|
1996
|
+
var setIsPollRefetching = usePollingContext().setIsPollRefetching;
|
|
1888
1997
|
var isRunActiveProps = useIsRunActive();
|
|
1889
|
-
(0, import_react_use.useInterval)(function() {
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1998
|
+
(0, import_react_use.useInterval)(/*#__PURE__*/ _async_to_generator(function() {
|
|
1999
|
+
return _ts_generator(this, function(_state) {
|
|
2000
|
+
switch(_state.label){
|
|
2001
|
+
case 0:
|
|
2002
|
+
setIsPollRefetching(true);
|
|
2003
|
+
return [
|
|
2004
|
+
4,
|
|
2005
|
+
refetch({
|
|
2006
|
+
queryClient: queryClient,
|
|
2007
|
+
threadContext: threadContext
|
|
2008
|
+
})
|
|
2009
|
+
];
|
|
2010
|
+
case 1:
|
|
2011
|
+
_state.sent();
|
|
2012
|
+
setIsPollRefetching(false);
|
|
2013
|
+
console.log("Polling...");
|
|
2014
|
+
return [
|
|
2015
|
+
2
|
|
2016
|
+
];
|
|
2017
|
+
}
|
|
1893
2018
|
});
|
|
1894
|
-
|
|
1895
|
-
}, isRunActiveProps.isRunActive ? 3e3 : null);
|
|
2019
|
+
}), isRunActiveProps.isRunActive ? 3e3 : null);
|
|
1896
2020
|
return null;
|
|
1897
2021
|
};
|
|
1898
2022
|
// src/hooks/actions/useManageActions/index.tsx
|
|
1899
2023
|
var import_react_query9 = require("@tanstack/react-query");
|
|
1900
|
-
var
|
|
2024
|
+
var import_react29 = require("react");
|
|
1901
2025
|
// src/hooks/actions/useHandleAction/index.tsx
|
|
1902
2026
|
var import_radash5 = require("radash");
|
|
1903
2027
|
var import_react_query8 = require("@tanstack/react-query");
|
|
@@ -1970,7 +2094,7 @@ var useManageActions = function() {
|
|
|
1970
2094
|
var threadContext = useSuperinterfaceContext();
|
|
1971
2095
|
var latestRunProps = useLatestRun();
|
|
1972
2096
|
var handleActionProps = useHandleAction();
|
|
1973
|
-
(0,
|
|
2097
|
+
(0, import_react29.useEffect)(function() {
|
|
1974
2098
|
if (handleActionProps.isPending) return;
|
|
1975
2099
|
if (latestRunProps.isFetching) return;
|
|
1976
2100
|
if (!latestRunProps.latestRun) return;
|
|
@@ -2002,7 +2126,7 @@ var useLifecycle = function() {
|
|
|
2002
2126
|
return null;
|
|
2003
2127
|
};
|
|
2004
2128
|
// src/components/threads/Thread/Messages/Root/index.tsx
|
|
2005
|
-
var
|
|
2129
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
2006
2130
|
var Root = function(param) {
|
|
2007
2131
|
var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
|
|
2008
2132
|
var _useMessages = useMessages(), isFetchingNextPage = _useMessages.isFetchingNextPage, hasNextPage = _useMessages.hasNextPage, fetchNextPage = _useMessages.fetchNextPage;
|
|
@@ -2012,7 +2136,7 @@ var Root = function(param) {
|
|
|
2012
2136
|
hasNextPage: hasNextPage,
|
|
2013
2137
|
fetchNextPage: fetchNextPage
|
|
2014
2138
|
}), containerRef = _useInfiniteScroll.containerRef, loaderRef = _useInfiniteScroll.loaderRef;
|
|
2015
|
-
return /* @__PURE__ */ (0,
|
|
2139
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_themes29.Flex, {
|
|
2016
2140
|
ref: containerRef,
|
|
2017
2141
|
direction: "column-reverse",
|
|
2018
2142
|
flexGrow: "1",
|
|
@@ -2021,10 +2145,10 @@ var Root = function(param) {
|
|
|
2021
2145
|
}),
|
|
2022
2146
|
children: [
|
|
2023
2147
|
children,
|
|
2024
|
-
hasNextPage && /* @__PURE__ */ (0,
|
|
2148
|
+
hasNextPage && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_themes29.Flex, {
|
|
2025
2149
|
ref: loaderRef
|
|
2026
2150
|
}),
|
|
2027
|
-
/* @__PURE__ */ (0,
|
|
2151
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_themes29.Flex, {
|
|
2028
2152
|
flexShrink: "0",
|
|
2029
2153
|
flexGrow: "1"
|
|
2030
2154
|
})
|
|
@@ -2032,30 +2156,30 @@ var Root = function(param) {
|
|
|
2032
2156
|
});
|
|
2033
2157
|
};
|
|
2034
2158
|
// src/components/threads/Thread/Messages/NextPageSkeleton.tsx
|
|
2035
|
-
var
|
|
2159
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
2036
2160
|
var NextPageSkeleton = function() {
|
|
2037
2161
|
var hasNextPage = useMessages().hasNextPage;
|
|
2038
2162
|
if (!hasNextPage) {
|
|
2039
2163
|
return null;
|
|
2040
2164
|
}
|
|
2041
|
-
return /* @__PURE__ */ (0,
|
|
2165
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(MessagesSkeleton, {});
|
|
2042
2166
|
};
|
|
2043
2167
|
// src/components/threads/Thread/Messages/index.tsx
|
|
2044
|
-
var
|
|
2168
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
2045
2169
|
var Messages = function(param) {
|
|
2046
2170
|
var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
|
|
2047
|
-
return /* @__PURE__ */ (0,
|
|
2171
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(Root, {
|
|
2048
2172
|
style: style,
|
|
2049
2173
|
children: [
|
|
2050
|
-
/* @__PURE__ */ (0,
|
|
2174
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_themes30.Flex, {
|
|
2051
2175
|
flexShrink: "0",
|
|
2052
2176
|
height: "var(--space-3)"
|
|
2053
2177
|
}),
|
|
2054
|
-
/* @__PURE__ */ (0,
|
|
2178
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Progress, {}),
|
|
2055
2179
|
children,
|
|
2056
|
-
/* @__PURE__ */ (0,
|
|
2057
|
-
/* @__PURE__ */ (0,
|
|
2058
|
-
/* @__PURE__ */ (0,
|
|
2180
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Content3, {}),
|
|
2181
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(NextPageSkeleton, {}),
|
|
2182
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_themes30.Flex, {
|
|
2059
2183
|
flexShrink: "0",
|
|
2060
2184
|
flexGrow: "1"
|
|
2061
2185
|
})
|
|
@@ -2066,59 +2190,38 @@ Messages.Root = Root;
|
|
|
2066
2190
|
Messages.Message = Message;
|
|
2067
2191
|
Messages.NextPageSkeleton = NextPageSkeleton;
|
|
2068
2192
|
// src/components/threads/Thread/MessageForm/index.tsx
|
|
2069
|
-
var
|
|
2193
|
+
var import_themes33 = require("@radix-ui/themes");
|
|
2070
2194
|
// src/components/threads/Thread/MessageForm/Submit/index.tsx
|
|
2071
2195
|
var import_react_icons5 = require("@radix-ui/react-icons");
|
|
2072
|
-
var
|
|
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
|
-
};
|
|
2196
|
+
var import_themes31 = require("@radix-ui/themes");
|
|
2097
2197
|
// src/hooks/messages/useMessageFormContext/index.ts
|
|
2098
|
-
var
|
|
2198
|
+
var import_react31 = require("react");
|
|
2099
2199
|
// src/contexts/messages/MessageFormContext/index.ts
|
|
2100
|
-
var
|
|
2101
|
-
var MessageFormContext = (0,
|
|
2200
|
+
var import_react30 = require("react");
|
|
2201
|
+
var MessageFormContext = (0, import_react30.createContext)({
|
|
2102
2202
|
isDisabled: false,
|
|
2103
2203
|
isLoading: false
|
|
2104
2204
|
});
|
|
2105
2205
|
// src/hooks/messages/useMessageFormContext/index.ts
|
|
2106
2206
|
var useMessageFormContext = function() {
|
|
2107
|
-
return (0,
|
|
2207
|
+
return (0, import_react31.useContext)(MessageFormContext);
|
|
2108
2208
|
};
|
|
2109
2209
|
// src/components/threads/Thread/MessageForm/Submit/index.tsx
|
|
2110
2210
|
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
2111
2211
|
var Submit = function() {
|
|
2112
2212
|
var _useMessageFormContext = useMessageFormContext(), isDisabled = _useMessageFormContext.isDisabled, isLoading = _useMessageFormContext.isLoading;
|
|
2113
|
-
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2213
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_themes31.Button, {
|
|
2114
2214
|
type: "submit",
|
|
2115
2215
|
radius: "large",
|
|
2116
|
-
disabled: isDisabled,
|
|
2117
|
-
children:
|
|
2216
|
+
disabled: isDisabled || isLoading,
|
|
2217
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_themes31.Spinner, {
|
|
2218
|
+
loading: isLoading,
|
|
2219
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_react_icons5.ArrowUpIcon, {})
|
|
2220
|
+
})
|
|
2118
2221
|
});
|
|
2119
2222
|
};
|
|
2120
2223
|
// src/components/threads/Thread/MessageForm/Root/index.tsx
|
|
2121
|
-
var
|
|
2224
|
+
var import_react32 = require("react");
|
|
2122
2225
|
var import_react_hook_form = require("react-hook-form");
|
|
2123
2226
|
// src/hooks/messages/useCreateMessage/index.ts
|
|
2124
2227
|
var import_radash8 = require("radash");
|
|
@@ -2305,7 +2408,7 @@ var Root2 = function(param) {
|
|
|
2305
2408
|
var formProps = (0, import_react_hook_form.useForm)(formOptions);
|
|
2306
2409
|
var handleSubmit = formProps.handleSubmit, isSubmitting = formProps.formState.isSubmitting, reset = formProps.reset;
|
|
2307
2410
|
var _useIsRunActive = useIsRunActive(), isRunActive2 = _useIsRunActive.isRunActive;
|
|
2308
|
-
var isLoading = (0,
|
|
2411
|
+
var isLoading = (0, import_react32.useMemo)(function() {
|
|
2309
2412
|
return isRunActive2 || isSubmitting;
|
|
2310
2413
|
}, [
|
|
2311
2414
|
isRunActive2,
|
|
@@ -2337,7 +2440,7 @@ var Root2 = function(param) {
|
|
|
2337
2440
|
};
|
|
2338
2441
|
}();
|
|
2339
2442
|
var latestMessage = useLatestMessage().latestMessage;
|
|
2340
|
-
var isDisabled = (0,
|
|
2443
|
+
var isDisabled = (0, import_react32.useMemo)(function() {
|
|
2341
2444
|
var // @ts-ignore-next-line
|
|
2342
2445
|
_latestMessage_metadata;
|
|
2343
2446
|
return latestMessage === null || latestMessage === void 0 ? void 0 : (_latestMessage_metadata = latestMessage.metadata) === null || _latestMessage_metadata === void 0 ? void 0 : _latestMessage_metadata.isBlocking;
|
|
@@ -2360,46 +2463,56 @@ var Root2 = function(param) {
|
|
|
2360
2463
|
};
|
|
2361
2464
|
// src/components/threads/Thread/MessageForm/Field/index.tsx
|
|
2362
2465
|
var import_react_use2 = require("react-use");
|
|
2363
|
-
var
|
|
2466
|
+
var import_react34 = require("react");
|
|
2364
2467
|
// src/components/textareas/TextareaBase/index.tsx
|
|
2365
|
-
var
|
|
2468
|
+
var import_react33 = require("react");
|
|
2366
2469
|
var import_react_textarea_autosize = __toESM(require("react-textarea-autosize"), 1);
|
|
2367
2470
|
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
2368
2471
|
var UPSCALE_RATIO = 16 / 14;
|
|
2369
|
-
var TextareaBase = (0,
|
|
2370
|
-
return /* @__PURE__ */ (0, import_jsx_runtime40.
|
|
2371
|
-
|
|
2372
|
-
|
|
2373
|
-
|
|
2374
|
-
|
|
2375
|
-
|
|
2376
|
-
|
|
2377
|
-
|
|
2378
|
-
|
|
2379
|
-
|
|
2380
|
-
|
|
2381
|
-
|
|
2382
|
-
|
|
2383
|
-
|
|
2384
|
-
|
|
2472
|
+
var TextareaBase = (0, import_react33.forwardRef)(function TextareaBase2(props, ref) {
|
|
2473
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_jsx_runtime40.Fragment, {
|
|
2474
|
+
children: [
|
|
2475
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("style", {
|
|
2476
|
+
children: ".superinterface-textarea { min-height: inherit; height: 30px; }"
|
|
2477
|
+
}),
|
|
2478
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_react_textarea_autosize.default, _object_spread({
|
|
2479
|
+
ref: ref,
|
|
2480
|
+
className: "superinterface-textarea",
|
|
2481
|
+
style: {
|
|
2482
|
+
border: 0,
|
|
2483
|
+
outline: 0,
|
|
2484
|
+
boxSizing: "border-box",
|
|
2485
|
+
resize: "none",
|
|
2486
|
+
fontSize: "".concat(14 * UPSCALE_RATIO, "px"),
|
|
2487
|
+
lineHeight: "".concat(24 * UPSCALE_RATIO, "px"),
|
|
2488
|
+
transform: "scale(".concat(1 / UPSCALE_RATIO, ")"),
|
|
2489
|
+
margin: "0 ".concat((-100 * UPSCALE_RATIO + 100) / 2, "%"),
|
|
2490
|
+
width: "".concat(100 * UPSCALE_RATIO, "%"),
|
|
2491
|
+
maxWidth: "".concat(100 * UPSCALE_RATIO, "%"),
|
|
2492
|
+
flexGrow: 1,
|
|
2493
|
+
display: "flex"
|
|
2494
|
+
}
|
|
2495
|
+
}, props))
|
|
2496
|
+
]
|
|
2497
|
+
});
|
|
2385
2498
|
});
|
|
2386
2499
|
// src/components/threads/Thread/MessageForm/Field/index.tsx
|
|
2387
2500
|
var import_react_hook_form2 = require("react-hook-form");
|
|
2388
|
-
var
|
|
2501
|
+
var import_themes32 = require("@radix-ui/themes");
|
|
2389
2502
|
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
2390
2503
|
var Root3 = function(param) {
|
|
2391
2504
|
var children = param.children;
|
|
2392
2505
|
var _ref = (0, import_react_hook_form2.useFormContext)(), errors = _ref.formState.errors;
|
|
2393
|
-
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
2506
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_themes32.Container, {
|
|
2394
2507
|
size: "2",
|
|
2395
2508
|
flexGrow: "0",
|
|
2396
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
2509
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_themes32.Flex, {
|
|
2397
2510
|
direction: "column",
|
|
2398
2511
|
flexShrink: "0",
|
|
2399
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
2512
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_themes32.Flex, {
|
|
2400
2513
|
direction: "column",
|
|
2401
2514
|
flexShrink: "0",
|
|
2402
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
2515
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_themes32.Flex, {
|
|
2403
2516
|
style: _object_spread({
|
|
2404
2517
|
borderRadius: "var(--radius-2)",
|
|
2405
2518
|
borderWidth: "1px",
|
|
@@ -2417,19 +2530,19 @@ var Root3 = function(param) {
|
|
|
2417
2530
|
});
|
|
2418
2531
|
};
|
|
2419
2532
|
var Control = function() {
|
|
2420
|
-
var assistantNameContext = (0,
|
|
2533
|
+
var assistantNameContext = (0, import_react34.useContext)(AssistantNameContext);
|
|
2421
2534
|
var register = (0, import_react_hook_form2.useFormContext)().register;
|
|
2422
2535
|
var _useMessageFormContext = useMessageFormContext(), isDisabled = _useMessageFormContext.isDisabled, isLoading = _useMessageFormContext.isLoading;
|
|
2423
|
-
var isSubmitDisabled = (0,
|
|
2536
|
+
var isSubmitDisabled = (0, import_react34.useMemo)(function() {
|
|
2424
2537
|
return isDisabled || isLoading;
|
|
2425
2538
|
}, [
|
|
2426
2539
|
isDisabled,
|
|
2427
2540
|
isLoading
|
|
2428
2541
|
]);
|
|
2429
2542
|
var isDisabledPrevious = (0, import_react_use2.usePrevious)(isDisabled);
|
|
2430
|
-
var textareaRef = (0,
|
|
2543
|
+
var textareaRef = (0, import_react34.useRef)(null);
|
|
2431
2544
|
var textareaProps = register("content");
|
|
2432
|
-
(0,
|
|
2545
|
+
(0, import_react34.useEffect)(function() {
|
|
2433
2546
|
if (isDisabled) return;
|
|
2434
2547
|
if (!isDisabledPrevious) return;
|
|
2435
2548
|
if (!textareaRef.current) return;
|
|
@@ -2468,18 +2581,18 @@ var MessageForm = function() {
|
|
|
2468
2581
|
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Root2, {
|
|
2469
2582
|
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Field.Root, {
|
|
2470
2583
|
children: [
|
|
2471
|
-
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
2584
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes33.Text, {
|
|
2472
2585
|
size: "2",
|
|
2473
2586
|
style: {
|
|
2474
2587
|
flexGrow: 1
|
|
2475
2588
|
},
|
|
2476
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
2589
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes33.Flex, {
|
|
2477
2590
|
flexGrow: "1",
|
|
2478
2591
|
direction: "column",
|
|
2479
2592
|
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Field.Control, {})
|
|
2480
2593
|
})
|
|
2481
2594
|
}),
|
|
2482
|
-
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
2595
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes33.Flex, {
|
|
2483
2596
|
flexShrink: "0",
|
|
2484
2597
|
align: "end",
|
|
2485
2598
|
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Submit, {})
|
|
@@ -2492,14 +2605,36 @@ MessageForm.Root = Root2;
|
|
|
2492
2605
|
MessageForm.Field = Field;
|
|
2493
2606
|
MessageForm.Submit = Submit;
|
|
2494
2607
|
// src/components/threads/Thread/Root/index.tsx
|
|
2495
|
-
var
|
|
2608
|
+
var import_themes34 = require("@radix-ui/themes");
|
|
2609
|
+
// src/components/runs/PollingProvider/index.tsx
|
|
2610
|
+
var import_react35 = require("react");
|
|
2496
2611
|
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
2612
|
+
var PollingProvider = function(param) {
|
|
2613
|
+
var children = param.children;
|
|
2614
|
+
var _ref = _sliced_to_array((0, import_react35.useState)(false), 2), isPollRefetching = _ref[0], setIsPollRefetching = _ref[1];
|
|
2615
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(PollingContext.Provider, {
|
|
2616
|
+
value: {
|
|
2617
|
+
isPollRefetching: isPollRefetching,
|
|
2618
|
+
setIsPollRefetching: setIsPollRefetching
|
|
2619
|
+
},
|
|
2620
|
+
children: children
|
|
2621
|
+
});
|
|
2622
|
+
};
|
|
2623
|
+
// src/components/threads/Thread/Provider/index.tsx
|
|
2624
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
2625
|
+
var Provider2 = function(args) {
|
|
2626
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(PollingProvider, {
|
|
2627
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(SuperinterfaceProvider, _object_spread({}, args))
|
|
2628
|
+
});
|
|
2629
|
+
};
|
|
2630
|
+
// src/components/threads/Thread/Root/index.tsx
|
|
2631
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
2497
2632
|
var Root4 = function(_param) {
|
|
2498
2633
|
var children = _param.children, rest = _object_without_properties(_param, [
|
|
2499
2634
|
"children"
|
|
2500
2635
|
]);
|
|
2501
|
-
return /* @__PURE__ */ (0,
|
|
2502
|
-
children: /* @__PURE__ */ (0,
|
|
2636
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Provider2, _object_spread_props(_object_spread({}, rest), {
|
|
2637
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_themes34.Flex, {
|
|
2503
2638
|
direction: "column",
|
|
2504
2639
|
flexGrow: "1",
|
|
2505
2640
|
children: children
|
|
@@ -2507,40 +2642,45 @@ var Root4 = function(_param) {
|
|
|
2507
2642
|
}));
|
|
2508
2643
|
};
|
|
2509
2644
|
// src/components/threads/Thread/index.tsx
|
|
2510
|
-
var
|
|
2645
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
2511
2646
|
var Thread = function(props) {
|
|
2512
|
-
return /* @__PURE__ */ (0,
|
|
2647
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(Root4, _object_spread_props(_object_spread({}, props), {
|
|
2513
2648
|
children: [
|
|
2514
|
-
/* @__PURE__ */ (0,
|
|
2515
|
-
/* @__PURE__ */ (0,
|
|
2649
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Messages, {}),
|
|
2650
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(MessageForm, {})
|
|
2516
2651
|
]
|
|
2517
2652
|
}));
|
|
2518
2653
|
};
|
|
2519
2654
|
Thread.Root = Root4;
|
|
2520
2655
|
Thread.Messages = Messages;
|
|
2521
2656
|
Thread.MessageForm = MessageForm;
|
|
2657
|
+
// src/hooks/messages/useMessageContext/index.ts
|
|
2658
|
+
var import_react36 = require("react");
|
|
2659
|
+
var useMessageContext = function() {
|
|
2660
|
+
return (0, import_react36.useContext)(MessageContext);
|
|
2661
|
+
};
|
|
2522
2662
|
// src/components/threads/ThreadDialog/Root/index.tsx
|
|
2523
|
-
var
|
|
2663
|
+
var import_themes35 = require("@radix-ui/themes");
|
|
2524
2664
|
// src/components/threads/ThreadDialog/Provider/index.tsx
|
|
2525
|
-
var
|
|
2665
|
+
var import_react39 = require("react");
|
|
2526
2666
|
// src/contexts/threads/ThreadDialogContext/index.ts
|
|
2527
|
-
var
|
|
2528
|
-
var ThreadDialogContext = (0,
|
|
2667
|
+
var import_react37 = require("react");
|
|
2668
|
+
var ThreadDialogContext = (0, import_react37.createContext)({
|
|
2529
2669
|
isOpen: false,
|
|
2530
2670
|
setIsOpen: function() {}
|
|
2531
2671
|
});
|
|
2532
2672
|
// src/hooks/threads/useThreadDialogContext/index.ts
|
|
2533
|
-
var
|
|
2673
|
+
var import_react38 = require("react");
|
|
2534
2674
|
var useThreadDialogContext = function() {
|
|
2535
|
-
return (0,
|
|
2675
|
+
return (0, import_react38.useContext)(ThreadDialogContext);
|
|
2536
2676
|
};
|
|
2537
2677
|
// src/components/threads/ThreadDialog/Provider/index.tsx
|
|
2538
|
-
var
|
|
2539
|
-
var
|
|
2678
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
2679
|
+
var Provider3 = function(param) {
|
|
2540
2680
|
var children = param.children;
|
|
2541
2681
|
var threadDialogContext = useThreadDialogContext();
|
|
2542
|
-
var _ref = _sliced_to_array((0,
|
|
2543
|
-
return /* @__PURE__ */ (0,
|
|
2682
|
+
var _ref = _sliced_to_array((0, import_react39.useState)(threadDialogContext.isOpen), 2), isOpen = _ref[0], setIsOpen = _ref[1];
|
|
2683
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(ThreadDialogContext.Provider, {
|
|
2544
2684
|
value: {
|
|
2545
2685
|
isOpen: isOpen,
|
|
2546
2686
|
setIsOpen: setIsOpen
|
|
@@ -2549,11 +2689,11 @@ var Provider = function(param) {
|
|
|
2549
2689
|
});
|
|
2550
2690
|
};
|
|
2551
2691
|
// src/components/threads/ThreadDialog/Root/index.tsx
|
|
2552
|
-
var
|
|
2692
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
2553
2693
|
var Root5 = function(param) {
|
|
2554
2694
|
var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
|
|
2555
|
-
return /* @__PURE__ */ (0,
|
|
2556
|
-
children: /* @__PURE__ */ (0,
|
|
2695
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Provider3, {
|
|
2696
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_themes35.Flex, {
|
|
2557
2697
|
direction: "column",
|
|
2558
2698
|
justify: "end",
|
|
2559
2699
|
align: "end",
|
|
@@ -2569,12 +2709,12 @@ var Root5 = function(param) {
|
|
|
2569
2709
|
});
|
|
2570
2710
|
};
|
|
2571
2711
|
// src/components/threads/ThreadDialog/Trigger/index.tsx
|
|
2572
|
-
var
|
|
2573
|
-
var
|
|
2712
|
+
var import_themes36 = require("@radix-ui/themes");
|
|
2713
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
2574
2714
|
var Trigger = function(param) {
|
|
2575
2715
|
var children = param.children;
|
|
2576
2716
|
var setIsOpen = useThreadDialogContext().setIsOpen;
|
|
2577
|
-
return /* @__PURE__ */ (0,
|
|
2717
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_themes36.Flex, {
|
|
2578
2718
|
onClick: function() {
|
|
2579
2719
|
return setIsOpen(function(prev) {
|
|
2580
2720
|
return !prev;
|
|
@@ -2586,24 +2726,24 @@ var Trigger = function(param) {
|
|
|
2586
2726
|
});
|
|
2587
2727
|
};
|
|
2588
2728
|
// src/components/threads/ThreadDialog/Button/index.tsx
|
|
2589
|
-
var
|
|
2729
|
+
var import_themes37 = require("@radix-ui/themes");
|
|
2590
2730
|
var import_react_icons6 = require("@radix-ui/react-icons");
|
|
2591
|
-
var
|
|
2731
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
2592
2732
|
var Button3 = function() {
|
|
2593
|
-
return /* @__PURE__ */ (0,
|
|
2733
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_themes37.IconButton, {
|
|
2594
2734
|
size: "4",
|
|
2595
2735
|
radius: "full",
|
|
2596
|
-
children: /* @__PURE__ */ (0,
|
|
2736
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_react_icons6.ChatBubbleIcon, {})
|
|
2597
2737
|
});
|
|
2598
2738
|
};
|
|
2599
2739
|
// src/components/threads/ThreadDialog/Content/index.tsx
|
|
2600
|
-
var
|
|
2601
|
-
var
|
|
2740
|
+
var import_themes38 = require("@radix-ui/themes");
|
|
2741
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
2602
2742
|
var Root6 = function(param) {
|
|
2603
2743
|
var children = param.children;
|
|
2604
2744
|
var isOpen = useThreadDialogContext().isOpen;
|
|
2605
2745
|
if (!isOpen) return null;
|
|
2606
|
-
return /* @__PURE__ */ (0,
|
|
2746
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_themes38.Card, {
|
|
2607
2747
|
mb: "3",
|
|
2608
2748
|
style: {
|
|
2609
2749
|
display: "flex",
|
|
@@ -2612,7 +2752,7 @@ var Root6 = function(param) {
|
|
|
2612
2752
|
maxWidth: "400px",
|
|
2613
2753
|
maxHeight: "720px"
|
|
2614
2754
|
},
|
|
2615
|
-
children: /* @__PURE__ */ (0,
|
|
2755
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_themes38.Inset, {
|
|
2616
2756
|
clip: "padding-box",
|
|
2617
2757
|
side: "all",
|
|
2618
2758
|
pb: "current",
|
|
@@ -2625,21 +2765,23 @@ var Root6 = function(param) {
|
|
|
2625
2765
|
});
|
|
2626
2766
|
};
|
|
2627
2767
|
var Content4 = function() {
|
|
2628
|
-
return /* @__PURE__ */ (0,
|
|
2629
|
-
children: /* @__PURE__ */ (0,
|
|
2768
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Root6, {
|
|
2769
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(Thread.Root, {
|
|
2630
2770
|
children: [
|
|
2631
|
-
/* @__PURE__ */ (0,
|
|
2771
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Thread.Messages, {
|
|
2632
2772
|
style: {
|
|
2633
|
-
|
|
2773
|
+
paddingTop: "var(--space-5)",
|
|
2774
|
+
paddingRight: "var(--space-5)",
|
|
2775
|
+
paddingLeft: "var(--space-5)"
|
|
2634
2776
|
}
|
|
2635
2777
|
}),
|
|
2636
|
-
/* @__PURE__ */ (0,
|
|
2778
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_themes38.Flex, {
|
|
2637
2779
|
direction: "column",
|
|
2638
2780
|
pl: "5",
|
|
2639
2781
|
pr: "5",
|
|
2640
2782
|
pb: "3",
|
|
2641
2783
|
flexShrink: "0",
|
|
2642
|
-
children: /* @__PURE__ */ (0,
|
|
2784
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Thread.MessageForm, {})
|
|
2643
2785
|
})
|
|
2644
2786
|
]
|
|
2645
2787
|
})
|
|
@@ -2647,13 +2789,13 @@ var Content4 = function() {
|
|
|
2647
2789
|
};
|
|
2648
2790
|
Content4.Root = Root6;
|
|
2649
2791
|
// src/components/threads/ThreadDialog/index.tsx
|
|
2650
|
-
var
|
|
2792
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
2651
2793
|
var ThreadDialog = function() {
|
|
2652
|
-
return /* @__PURE__ */ (0,
|
|
2794
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(Root5, {
|
|
2653
2795
|
children: [
|
|
2654
|
-
/* @__PURE__ */ (0,
|
|
2655
|
-
/* @__PURE__ */ (0,
|
|
2656
|
-
children: /* @__PURE__ */ (0,
|
|
2796
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Content4, {}),
|
|
2797
|
+
/* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Trigger, {
|
|
2798
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Button3, {})
|
|
2657
2799
|
})
|
|
2658
2800
|
]
|
|
2659
2801
|
});
|
|
@@ -2664,12 +2806,10 @@ ThreadDialog.Button = Button3;
|
|
|
2664
2806
|
ThreadDialog.Content = Content4;
|
|
2665
2807
|
// src/components/threads/AudioThread/Root/index.tsx
|
|
2666
2808
|
var import_runtime = require("regenerator-runtime/runtime");
|
|
2667
|
-
var
|
|
2668
|
-
var import_themes38 = require("@radix-ui/themes");
|
|
2669
|
-
var import_react_speech_recognition = __toESM(require("react-speech-recognition"), 1);
|
|
2809
|
+
var import_themes39 = require("@radix-ui/themes");
|
|
2670
2810
|
// src/contexts/threads/AudioThreadContext/index.ts
|
|
2671
|
-
var
|
|
2672
|
-
var AudioThreadContext = (0,
|
|
2811
|
+
var import_react40 = require("react");
|
|
2812
|
+
var AudioThreadContext = (0, import_react40.createContext)({
|
|
2673
2813
|
status: "idle",
|
|
2674
2814
|
recorderProps: {
|
|
2675
2815
|
status: "idle",
|
|
@@ -2726,12 +2866,22 @@ var AudioThreadContext = (0, import_react34.createContext)({
|
|
|
2726
2866
|
});
|
|
2727
2867
|
// src/components/threads/AudioThread/Root/index.tsx
|
|
2728
2868
|
var import_react_use4 = require("react-use");
|
|
2869
|
+
// src/components/threads/AudioThread/Root/lib/blobToData.ts
|
|
2870
|
+
var blobToData = function(blob) {
|
|
2871
|
+
return new Promise(function(resolve) {
|
|
2872
|
+
var reader = new FileReader();
|
|
2873
|
+
reader.onloadend = function() {
|
|
2874
|
+
return resolve(reader.result);
|
|
2875
|
+
};
|
|
2876
|
+
reader.readAsDataURL(blob);
|
|
2877
|
+
});
|
|
2878
|
+
};
|
|
2729
2879
|
// src/hooks/audioThreads/useStatus/index.ts
|
|
2730
|
-
var
|
|
2880
|
+
var import_react41 = require("react");
|
|
2731
2881
|
var useStatus = function(param) {
|
|
2732
2882
|
var messageAudioProps = param.messageAudioProps, recorderProps = param.recorderProps, createMessageProps = param.createMessageProps;
|
|
2733
2883
|
var isRunActiveProps = useIsRunActive();
|
|
2734
|
-
var status = (0,
|
|
2884
|
+
var status = (0, import_react41.useMemo)(function() {
|
|
2735
2885
|
if (recorderProps.status === "recording") return "recording";
|
|
2736
2886
|
if (createMessageProps.isPending) return "creatingMessage";
|
|
2737
2887
|
if (isRunActiveProps.isRunActive) return "runActive";
|
|
@@ -2754,27 +2904,21 @@ var useStatus = function(param) {
|
|
|
2754
2904
|
// src/hooks/audioThreads/useRecorder/index.ts
|
|
2755
2905
|
var import_dayjs = __toESM(require("dayjs"), 1);
|
|
2756
2906
|
var import_use_audio_capture = require("use-audio-capture");
|
|
2757
|
-
var
|
|
2907
|
+
var import_react42 = require("react");
|
|
2758
2908
|
var import_react_use_audio_player = require("react-use-audio-player");
|
|
2759
2909
|
var import_react_use3 = require("react-use");
|
|
2760
2910
|
var useRecorder = function(param) {
|
|
2761
2911
|
var isStopOnSilence = param.isStopOnSilence, onStart = param.onStart, onStop = param.onStop;
|
|
2762
|
-
var _ref = _sliced_to_array((0,
|
|
2763
|
-
var _ref1 = _sliced_to_array((0,
|
|
2764
|
-
var _ref2 = _sliced_to_array((0,
|
|
2765
|
-
var _ref3 = _sliced_to_array((0,
|
|
2912
|
+
var _ref = _sliced_to_array((0, import_react42.useState)(null), 2), silenceStart = _ref[0], setSilenceStart = _ref[1];
|
|
2913
|
+
var _ref1 = _sliced_to_array((0, import_react42.useState)(null), 2), noiseStart = _ref1[0], setNoiseStart = _ref1[1];
|
|
2914
|
+
var _ref2 = _sliced_to_array((0, import_react42.useState)(null), 2), mediaStream = _ref2[0], setMediaStream = _ref2[1];
|
|
2915
|
+
var _ref3 = _sliced_to_array((0, import_react42.useState)("idle"), 2), status = _ref3[0], setStatus = _ref3[1];
|
|
2766
2916
|
var startAudioPlayer = (0, import_react_use_audio_player.useAudioPlayer)();
|
|
2767
2917
|
var endAudioPlayer = (0, import_react_use_audio_player.useAudioPlayer)();
|
|
2768
|
-
var _ref4 = _sliced_to_array((0,
|
|
2769
|
-
(0,
|
|
2918
|
+
var _ref4 = _sliced_to_array((0, import_react42.useState)(false), 2), isLoaded = _ref4[0], setIsLoaded = _ref4[1];
|
|
2919
|
+
(0, import_react42.useEffect)(function() {
|
|
2770
2920
|
if (isLoaded) return;
|
|
2771
2921
|
setIsLoaded(true);
|
|
2772
|
-
startAudioPlayer.load("/sounds/warning.wav", {
|
|
2773
|
-
html5: true
|
|
2774
|
-
});
|
|
2775
|
-
endAudioPlayer.load("/sounds/success.wav", {
|
|
2776
|
-
html5: true
|
|
2777
|
-
});
|
|
2778
2922
|
}, [
|
|
2779
2923
|
isLoaded,
|
|
2780
2924
|
startAudioPlayer,
|
|
@@ -2782,7 +2926,6 @@ var useRecorder = function(param) {
|
|
|
2782
2926
|
]);
|
|
2783
2927
|
var audioCaptureProps = (0, import_use_audio_capture.useAudioCapture)({
|
|
2784
2928
|
onStart: function(event, opts) {
|
|
2785
|
-
startAudioPlayer.play();
|
|
2786
2929
|
setStatus("recording");
|
|
2787
2930
|
setMediaStream(opts.mediaStream);
|
|
2788
2931
|
isInited.current = false;
|
|
@@ -2799,7 +2942,6 @@ var useRecorder = function(param) {
|
|
|
2799
2942
|
for(_len = _arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
|
|
2800
2943
|
args[_key] = _arguments[_key];
|
|
2801
2944
|
}
|
|
2802
|
-
endAudioPlayer.play();
|
|
2803
2945
|
setStatus("stopped");
|
|
2804
2946
|
if (!onStop) return [
|
|
2805
2947
|
3,
|
|
@@ -2832,9 +2974,9 @@ var useRecorder = function(param) {
|
|
|
2832
2974
|
setNoiseStart(null);
|
|
2833
2975
|
}
|
|
2834
2976
|
});
|
|
2835
|
-
var _ref5 = _sliced_to_array((0,
|
|
2836
|
-
var isInited = (0,
|
|
2837
|
-
(0,
|
|
2977
|
+
var _ref5 = _sliced_to_array((0, import_react42.useState)(null), 2), audioEngine = _ref5[0], setAudioEngine = _ref5[1];
|
|
2978
|
+
var isInited = (0, import_react42.useRef)(false);
|
|
2979
|
+
(0, import_react42.useEffect)(function() {
|
|
2838
2980
|
if (!mediaStream) return;
|
|
2839
2981
|
if (isInited.current) return;
|
|
2840
2982
|
isInited.current = true;
|
|
@@ -2847,7 +2989,7 @@ var useRecorder = function(param) {
|
|
|
2847
2989
|
isInited,
|
|
2848
2990
|
mediaStream
|
|
2849
2991
|
]);
|
|
2850
|
-
var visualizationAnalyser = (0,
|
|
2992
|
+
var visualizationAnalyser = (0, import_react42.useMemo)(function() {
|
|
2851
2993
|
if (!audioEngine) return null;
|
|
2852
2994
|
var result = audioEngine.audioContext.createAnalyser();
|
|
2853
2995
|
audioEngine.source.connect(result);
|
|
@@ -2855,7 +2997,7 @@ var useRecorder = function(param) {
|
|
|
2855
2997
|
}, [
|
|
2856
2998
|
audioEngine
|
|
2857
2999
|
]);
|
|
2858
|
-
var silenceAnalyser = (0,
|
|
3000
|
+
var silenceAnalyser = (0, import_react42.useMemo)(function() {
|
|
2859
3001
|
if (!audioEngine) return null;
|
|
2860
3002
|
var result = audioEngine.audioContext.createAnalyser();
|
|
2861
3003
|
result.minDecibels = -45;
|
|
@@ -2864,7 +3006,7 @@ var useRecorder = function(param) {
|
|
|
2864
3006
|
}, [
|
|
2865
3007
|
audioEngine
|
|
2866
3008
|
]);
|
|
2867
|
-
var handleSilence = (0,
|
|
3009
|
+
var handleSilence = (0, import_react42.useCallback)(function() {
|
|
2868
3010
|
if (!silenceAnalyser) return;
|
|
2869
3011
|
var frequencyData = new Uint8Array(silenceAnalyser.frequencyBinCount);
|
|
2870
3012
|
silenceAnalyser.getByteFrequencyData(frequencyData);
|
|
@@ -2887,7 +3029,7 @@ var useRecorder = function(param) {
|
|
|
2887
3029
|
setNoiseStart,
|
|
2888
3030
|
setSilenceStart
|
|
2889
3031
|
]);
|
|
2890
|
-
(0,
|
|
3032
|
+
(0, import_react42.useEffect)(function() {
|
|
2891
3033
|
if (!isStopOnSilence) return;
|
|
2892
3034
|
requestAnimationFrame(function() {
|
|
2893
3035
|
return handleSilence();
|
|
@@ -2910,7 +3052,7 @@ var useRecorder = function(param) {
|
|
|
2910
3052
|
});
|
|
2911
3053
|
};
|
|
2912
3054
|
// src/hooks/audioThreads/useMessageAudio/index.ts
|
|
2913
|
-
var
|
|
3055
|
+
var import_react43 = require("react");
|
|
2914
3056
|
var import_howler = require("howler");
|
|
2915
3057
|
var import_react_use_audio_player2 = require("react-use-audio-player");
|
|
2916
3058
|
// src/hooks/audioThreads/useMessageAudio/lib/input.ts
|
|
@@ -2936,11 +3078,11 @@ var isHtmlAudioSupported = !unsupportedNames.includes(((_this = (0, import_detec
|
|
|
2936
3078
|
// src/hooks/audioThreads/useMessageAudio/index.ts
|
|
2937
3079
|
var useMessageAudio = function(param) {
|
|
2938
3080
|
var onEnd = param.onEnd;
|
|
2939
|
-
var _ref = _sliced_to_array((0,
|
|
3081
|
+
var _ref = _sliced_to_array((0, import_react43.useState)([]), 2), playedMessageIds = _ref[0], setPlayedMessageIds = _ref[1];
|
|
2940
3082
|
var audioPlayer = (0, import_react_use_audio_player2.useAudioPlayer)();
|
|
2941
3083
|
var superinterfaceContext = useSuperinterfaceContext();
|
|
2942
3084
|
var latestMessageProps = useLatestMessage();
|
|
2943
|
-
(0,
|
|
3085
|
+
(0, import_react43.useEffect)(function() {
|
|
2944
3086
|
if (audioPlayer.playing) return;
|
|
2945
3087
|
if (!latestMessageProps.latestMessage) return;
|
|
2946
3088
|
if (latestMessageProps.latestMessage.role !== "assistant") return;
|
|
@@ -2958,7 +3100,14 @@ var useMessageAudio = function(param) {
|
|
|
2958
3100
|
format: "mp3",
|
|
2959
3101
|
autoplay: true,
|
|
2960
3102
|
html5: isHtmlAudioSupported,
|
|
2961
|
-
onend: onEnd
|
|
3103
|
+
onend: onEnd,
|
|
3104
|
+
xhr: _object_spread_props(_object_spread({}, superinterfaceContext.publicApiKey ? {
|
|
3105
|
+
headers: {
|
|
3106
|
+
Authorization: "Bearer ".concat(superinterfaceContext.publicApiKey)
|
|
3107
|
+
}
|
|
3108
|
+
} : {}), {
|
|
3109
|
+
withCredentials: true
|
|
3110
|
+
})
|
|
2962
3111
|
});
|
|
2963
3112
|
}, [
|
|
2964
3113
|
superinterfaceContext,
|
|
@@ -2967,9 +3116,9 @@ var useMessageAudio = function(param) {
|
|
|
2967
3116
|
playedMessageIds,
|
|
2968
3117
|
onEnd
|
|
2969
3118
|
]);
|
|
2970
|
-
var isInited = (0,
|
|
2971
|
-
var _ref1 = _sliced_to_array((0,
|
|
2972
|
-
(0,
|
|
3119
|
+
var isInited = (0, import_react43.useRef)(false);
|
|
3120
|
+
var _ref1 = _sliced_to_array((0, import_react43.useState)(null), 2), audioEngine = _ref1[0], setAudioEngine = _ref1[1];
|
|
3121
|
+
(0, import_react43.useEffect)(function() {
|
|
2973
3122
|
if (!audioPlayer.playing) return;
|
|
2974
3123
|
if (isInited.current) return;
|
|
2975
3124
|
isInited.current = true;
|
|
@@ -2990,7 +3139,7 @@ var useMessageAudio = function(param) {
|
|
|
2990
3139
|
audioPlayer,
|
|
2991
3140
|
isInited
|
|
2992
3141
|
]);
|
|
2993
|
-
var visualizationAnalyser = (0,
|
|
3142
|
+
var visualizationAnalyser = (0, import_react43.useMemo)(function() {
|
|
2994
3143
|
if (!audioEngine) return null;
|
|
2995
3144
|
var result = audioEngine.audioContext.createAnalyser();
|
|
2996
3145
|
audioEngine.source.connect(audioEngine.audioContext.destination);
|
|
@@ -3004,48 +3153,47 @@ var useMessageAudio = function(param) {
|
|
|
3004
3153
|
});
|
|
3005
3154
|
};
|
|
3006
3155
|
// src/components/threads/AudioThread/Root/index.tsx
|
|
3007
|
-
var
|
|
3156
|
+
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
3008
3157
|
var Root7 = function(param) {
|
|
3009
3158
|
var children = param.children;
|
|
3010
3159
|
useLifecycle();
|
|
3011
3160
|
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() {
|
|
3015
|
-
transcriptRef.current = transcript;
|
|
3016
|
-
}, [
|
|
3017
|
-
transcript
|
|
3018
|
-
]);
|
|
3019
3161
|
var recorderProps = useRecorder({
|
|
3020
3162
|
isStopOnSilence: true,
|
|
3021
3163
|
onStart: /*#__PURE__*/ _async_to_generator(function() {
|
|
3022
3164
|
return _ts_generator(this, function(_state) {
|
|
3023
3165
|
console.log("start");
|
|
3024
|
-
resetTranscript();
|
|
3025
|
-
import_react_speech_recognition.default.default.startListening({
|
|
3026
|
-
continuous: true
|
|
3027
|
-
});
|
|
3028
3166
|
return [
|
|
3029
3167
|
2
|
|
3030
3168
|
];
|
|
3031
3169
|
});
|
|
3032
3170
|
}),
|
|
3033
3171
|
onStop: function() {
|
|
3034
|
-
var _ref = _async_to_generator(function(_event,
|
|
3172
|
+
var _ref = _async_to_generator(function(_event, chunks) {
|
|
3173
|
+
var blob, audioContent;
|
|
3035
3174
|
return _ts_generator(this, function(_state) {
|
|
3036
|
-
|
|
3037
|
-
|
|
3038
|
-
|
|
3039
|
-
|
|
3040
|
-
|
|
3041
|
-
|
|
3042
|
-
|
|
3043
|
-
|
|
3044
|
-
|
|
3045
|
-
|
|
3175
|
+
switch(_state.label){
|
|
3176
|
+
case 0:
|
|
3177
|
+
blob = new Blob(chunks, {
|
|
3178
|
+
type: chunks[0].type
|
|
3179
|
+
});
|
|
3180
|
+
return [
|
|
3181
|
+
4,
|
|
3182
|
+
blobToData(blob)
|
|
3183
|
+
];
|
|
3184
|
+
case 1:
|
|
3185
|
+
audioContent = _state.sent();
|
|
3186
|
+
return [
|
|
3187
|
+
2,
|
|
3188
|
+
createMessageProps.createMessage({
|
|
3189
|
+
// @ts-ignore-next-line
|
|
3190
|
+
audioContent: audioContent
|
|
3191
|
+
})
|
|
3192
|
+
];
|
|
3193
|
+
}
|
|
3046
3194
|
});
|
|
3047
3195
|
});
|
|
3048
|
-
return function(_event,
|
|
3196
|
+
return function(_event, chunks) {
|
|
3049
3197
|
return _ref.apply(this, arguments);
|
|
3050
3198
|
};
|
|
3051
3199
|
}()
|
|
@@ -3065,13 +3213,13 @@ var Root7 = function(param) {
|
|
|
3065
3213
|
createMessageProps: createMessageProps,
|
|
3066
3214
|
messageAudioProps: messageAudioProps
|
|
3067
3215
|
}).status;
|
|
3068
|
-
return /* @__PURE__ */ (0,
|
|
3216
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(AudioThreadContext.Provider, {
|
|
3069
3217
|
value: {
|
|
3070
3218
|
status: status,
|
|
3071
3219
|
recorderProps: recorderProps,
|
|
3072
3220
|
messageAudioProps: messageAudioProps
|
|
3073
3221
|
},
|
|
3074
|
-
children: /* @__PURE__ */ (0,
|
|
3222
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_themes39.Flex, {
|
|
3075
3223
|
direction: "column",
|
|
3076
3224
|
flexGrow: "1",
|
|
3077
3225
|
p: "5",
|
|
@@ -3080,23 +3228,23 @@ var Root7 = function(param) {
|
|
|
3080
3228
|
});
|
|
3081
3229
|
};
|
|
3082
3230
|
// src/components/threads/AudioThread/Visualization/index.tsx
|
|
3083
|
-
var
|
|
3231
|
+
var import_themes40 = require("@radix-ui/themes");
|
|
3084
3232
|
// src/hooks/threads/useAudioThreadContext/index.ts
|
|
3085
|
-
var
|
|
3233
|
+
var import_react44 = require("react");
|
|
3086
3234
|
var useAudioThreadContext = function() {
|
|
3087
|
-
return (0,
|
|
3235
|
+
return (0, import_react44.useContext)(AudioThreadContext);
|
|
3088
3236
|
};
|
|
3089
3237
|
// src/components/threads/AudioThread/Visualization/index.tsx
|
|
3090
|
-
var
|
|
3238
|
+
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
3091
3239
|
var Visualization = function() {
|
|
3092
3240
|
var audioThreadContext = useAudioThreadContext();
|
|
3093
|
-
return /* @__PURE__ */ (0,
|
|
3241
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes40.Flex, {
|
|
3094
3242
|
direction: "column",
|
|
3095
3243
|
align: "center",
|
|
3096
3244
|
justify: "center",
|
|
3097
3245
|
mb: "3",
|
|
3098
3246
|
flexGrow: "1",
|
|
3099
|
-
children: /* @__PURE__ */ (0,
|
|
3247
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes40.Flex, {
|
|
3100
3248
|
align: "center",
|
|
3101
3249
|
justify: "center",
|
|
3102
3250
|
height: "200px",
|
|
@@ -3110,22 +3258,22 @@ var Visualization = function() {
|
|
|
3110
3258
|
};
|
|
3111
3259
|
// src/components/threads/AudioThread/Form/index.tsx
|
|
3112
3260
|
var import_react_icons8 = require("@radix-ui/react-icons");
|
|
3113
|
-
var
|
|
3261
|
+
var import_themes43 = require("@radix-ui/themes");
|
|
3114
3262
|
// src/components/threads/AudioThread/Form/Visualizer/index.tsx
|
|
3115
3263
|
var import_lodash7 = __toESM(require("lodash"), 1);
|
|
3116
|
-
var
|
|
3117
|
-
var
|
|
3264
|
+
var import_themes41 = require("@radix-ui/themes");
|
|
3265
|
+
var import_react45 = require("react");
|
|
3118
3266
|
var import_radash10 = require("radash");
|
|
3119
|
-
var
|
|
3267
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
3120
3268
|
var barCount = 4;
|
|
3121
3269
|
var Visualizer = function() {
|
|
3122
3270
|
var audioThreadContext = useAudioThreadContext();
|
|
3123
3271
|
var visualizationAnalyser = audioThreadContext.recorderProps.visualizationAnalyser;
|
|
3124
|
-
var _ref = _sliced_to_array((0,
|
|
3272
|
+
var _ref = _sliced_to_array((0, import_react45.useState)(function() {
|
|
3125
3273
|
return new AudioContext().createAnalyser();
|
|
3126
3274
|
}), 1), emptyVisualizer = _ref[0];
|
|
3127
|
-
var _ref1 = _sliced_to_array((0,
|
|
3128
|
-
var draw = (0,
|
|
3275
|
+
var _ref1 = _sliced_to_array((0, import_react45.useState)([]), 2), barHeights = _ref1[0], setBarHeights = _ref1[1];
|
|
3276
|
+
var draw = (0, import_react45.useCallback)(function(param) {
|
|
3129
3277
|
var visualizationAnalyser2 = param.visualizationAnalyser;
|
|
3130
3278
|
var frequencyData = new Uint8Array(visualizationAnalyser2.frequencyBinCount / 15);
|
|
3131
3279
|
visualizationAnalyser2.getByteFrequencyData(frequencyData);
|
|
@@ -3139,7 +3287,7 @@ var Visualizer = function() {
|
|
|
3139
3287
|
});
|
|
3140
3288
|
});
|
|
3141
3289
|
}, []);
|
|
3142
|
-
(0,
|
|
3290
|
+
(0, import_react45.useEffect)(function() {
|
|
3143
3291
|
draw({
|
|
3144
3292
|
visualizationAnalyser: visualizationAnalyser || emptyVisualizer
|
|
3145
3293
|
});
|
|
@@ -3148,7 +3296,7 @@ var Visualizer = function() {
|
|
|
3148
3296
|
visualizationAnalyser,
|
|
3149
3297
|
emptyVisualizer
|
|
3150
3298
|
]);
|
|
3151
|
-
return /* @__PURE__ */ (0,
|
|
3299
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_themes41.Grid, {
|
|
3152
3300
|
columns: "".concat(barCount),
|
|
3153
3301
|
gap: "1",
|
|
3154
3302
|
width: "auto",
|
|
@@ -3157,12 +3305,12 @@ var Visualizer = function() {
|
|
|
3157
3305
|
gridTemplateColumns: "repeat(4, minmax(0, 1fr))"
|
|
3158
3306
|
},
|
|
3159
3307
|
children: barHeights.map(function(barHeight, index) {
|
|
3160
|
-
return /* @__PURE__ */ (0,
|
|
3308
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_themes41.Flex, {
|
|
3161
3309
|
direction: "column",
|
|
3162
3310
|
align: "center",
|
|
3163
3311
|
justify: "center",
|
|
3164
3312
|
height: "20px",
|
|
3165
|
-
children: /* @__PURE__ */ (0,
|
|
3313
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_themes41.Flex, {
|
|
3166
3314
|
minHeight: "50%",
|
|
3167
3315
|
maxHeight: "100%",
|
|
3168
3316
|
height: "".concat(barHeight + 20, "%"),
|
|
@@ -3177,31 +3325,31 @@ var Visualizer = function() {
|
|
|
3177
3325
|
});
|
|
3178
3326
|
};
|
|
3179
3327
|
// src/components/threads/AudioThread/Form/ActionButton/index.tsx
|
|
3180
|
-
var
|
|
3328
|
+
var import_themes42 = require("@radix-ui/themes");
|
|
3181
3329
|
var import_react_icons7 = require("@radix-ui/react-icons");
|
|
3182
|
-
var
|
|
3330
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
3183
3331
|
var ActionButton = function() {
|
|
3184
3332
|
var audioThreadContext = useAudioThreadContext();
|
|
3185
3333
|
if (audioThreadContext.status === "recording") {
|
|
3186
|
-
return /* @__PURE__ */ (0,
|
|
3334
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(import_themes42.Flex, {
|
|
3187
3335
|
align: "center",
|
|
3188
3336
|
children: [
|
|
3189
|
-
/* @__PURE__ */ (0,
|
|
3337
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes42.Flex, {
|
|
3190
3338
|
mr: "3",
|
|
3191
3339
|
ml: "-7",
|
|
3192
|
-
children: /* @__PURE__ */ (0,
|
|
3340
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes42.IconButton, {
|
|
3193
3341
|
onClick: audioThreadContext.recorderProps.pause,
|
|
3194
3342
|
color: "gray",
|
|
3195
3343
|
radius: "full",
|
|
3196
3344
|
size: "1",
|
|
3197
|
-
children: /* @__PURE__ */ (0,
|
|
3345
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_react_icons7.PauseIcon, {})
|
|
3198
3346
|
})
|
|
3199
3347
|
}),
|
|
3200
|
-
/* @__PURE__ */ (0,
|
|
3348
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes42.Tooltip, {
|
|
3201
3349
|
open: true,
|
|
3202
3350
|
content: "Send your message",
|
|
3203
3351
|
side: "bottom",
|
|
3204
|
-
children: /* @__PURE__ */ (0,
|
|
3352
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes42.IconButton, {
|
|
3205
3353
|
onClick: audioThreadContext.recorderProps.stop,
|
|
3206
3354
|
color: "gray",
|
|
3207
3355
|
highContrast: true,
|
|
@@ -3210,14 +3358,14 @@ var ActionButton = function() {
|
|
|
3210
3358
|
style: {
|
|
3211
3359
|
border: "2px solid var(--gray-8)"
|
|
3212
3360
|
},
|
|
3213
|
-
children: /* @__PURE__ */ (0,
|
|
3361
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_react_icons7.ArrowUpIcon, {})
|
|
3214
3362
|
})
|
|
3215
3363
|
})
|
|
3216
3364
|
]
|
|
3217
3365
|
});
|
|
3218
3366
|
}
|
|
3219
3367
|
if (audioThreadContext.status === "recorderPaused") {
|
|
3220
|
-
return /* @__PURE__ */ (0,
|
|
3368
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes42.IconButton, {
|
|
3221
3369
|
onClick: audioThreadContext.recorderProps.resume,
|
|
3222
3370
|
color: "red",
|
|
3223
3371
|
radius: "full",
|
|
@@ -3225,11 +3373,11 @@ var ActionButton = function() {
|
|
|
3225
3373
|
style: {
|
|
3226
3374
|
border: "2px solid var(--gray-8)"
|
|
3227
3375
|
},
|
|
3228
|
-
children: /* @__PURE__ */ (0,
|
|
3376
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_react_icons7.ResumeIcon, {})
|
|
3229
3377
|
});
|
|
3230
3378
|
}
|
|
3231
3379
|
if (audioThreadContext.status === "idle") {
|
|
3232
|
-
return /* @__PURE__ */ (0,
|
|
3380
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes42.IconButton, {
|
|
3233
3381
|
onClick: function() {
|
|
3234
3382
|
return audioThreadContext.recorderProps.start();
|
|
3235
3383
|
},
|
|
@@ -3242,7 +3390,7 @@ var ActionButton = function() {
|
|
|
3242
3390
|
});
|
|
3243
3391
|
}
|
|
3244
3392
|
if (audioThreadContext.status === "playing") {
|
|
3245
|
-
return /* @__PURE__ */ (0,
|
|
3393
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes42.IconButton, {
|
|
3246
3394
|
onClick: function() {
|
|
3247
3395
|
return audioThreadContext.messageAudioProps.pause();
|
|
3248
3396
|
},
|
|
@@ -3252,11 +3400,11 @@ var ActionButton = function() {
|
|
|
3252
3400
|
style: {
|
|
3253
3401
|
border: "2px solid var(--gray-8)"
|
|
3254
3402
|
},
|
|
3255
|
-
children: /* @__PURE__ */ (0,
|
|
3403
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_react_icons7.PauseIcon, {})
|
|
3256
3404
|
});
|
|
3257
3405
|
}
|
|
3258
3406
|
if (audioThreadContext.status === "playerPaused") {
|
|
3259
|
-
return /* @__PURE__ */ (0,
|
|
3407
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes42.IconButton, {
|
|
3260
3408
|
onClick: function() {
|
|
3261
3409
|
return audioThreadContext.messageAudioProps.play();
|
|
3262
3410
|
},
|
|
@@ -3266,10 +3414,10 @@ var ActionButton = function() {
|
|
|
3266
3414
|
style: {
|
|
3267
3415
|
border: "2px solid var(--gray-8)"
|
|
3268
3416
|
},
|
|
3269
|
-
children: /* @__PURE__ */ (0,
|
|
3417
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_react_icons7.ResumeIcon, {})
|
|
3270
3418
|
});
|
|
3271
3419
|
}
|
|
3272
|
-
return /* @__PURE__ */ (0,
|
|
3420
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes42.IconButton, {
|
|
3273
3421
|
size: "4",
|
|
3274
3422
|
color: "red",
|
|
3275
3423
|
radius: "full",
|
|
@@ -3280,49 +3428,49 @@ var ActionButton = function() {
|
|
|
3280
3428
|
});
|
|
3281
3429
|
};
|
|
3282
3430
|
// src/components/threads/AudioThread/Form/index.tsx
|
|
3283
|
-
var
|
|
3431
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
3284
3432
|
var Form = function() {
|
|
3285
3433
|
var audioThreadContext = useAudioThreadContext();
|
|
3286
|
-
return /* @__PURE__ */ (0,
|
|
3434
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_themes43.Flex, {
|
|
3287
3435
|
direction: "column",
|
|
3288
3436
|
align: "center",
|
|
3289
3437
|
children: [
|
|
3290
|
-
/* @__PURE__ */ (0,
|
|
3438
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_themes43.Flex, {
|
|
3291
3439
|
pb: "3",
|
|
3292
3440
|
align: "center",
|
|
3293
3441
|
children: [
|
|
3294
|
-
/* @__PURE__ */ (0,
|
|
3442
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_themes43.Flex, {
|
|
3295
3443
|
ml: "-5",
|
|
3296
3444
|
mr: "2",
|
|
3297
3445
|
align: "center",
|
|
3298
|
-
children: /* @__PURE__ */ (0,
|
|
3446
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_react_icons8.SpeakerModerateIcon, {
|
|
3299
3447
|
style: {
|
|
3300
3448
|
color: "var(--".concat(audioThreadContext.status === "recording" ? "mint" : "gray", "-12)")
|
|
3301
3449
|
}
|
|
3302
3450
|
})
|
|
3303
3451
|
}),
|
|
3304
|
-
/* @__PURE__ */ (0,
|
|
3452
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_themes43.Flex, {
|
|
3305
3453
|
px: "2",
|
|
3306
3454
|
py: "1",
|
|
3307
3455
|
style: {
|
|
3308
3456
|
backgroundColor: "var(--".concat(audioThreadContext.status === "recording" ? "mint" : "gray", "-4)"),
|
|
3309
3457
|
borderRadius: "var(--radius-6)"
|
|
3310
3458
|
},
|
|
3311
|
-
children: /* @__PURE__ */ (0,
|
|
3459
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Visualizer, {})
|
|
3312
3460
|
})
|
|
3313
3461
|
]
|
|
3314
3462
|
}),
|
|
3315
|
-
/* @__PURE__ */ (0,
|
|
3463
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ActionButton, {})
|
|
3316
3464
|
]
|
|
3317
3465
|
});
|
|
3318
3466
|
};
|
|
3319
3467
|
// src/components/threads/AudioThread/index.tsx
|
|
3320
|
-
var
|
|
3468
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
3321
3469
|
var AudioThread = function(props) {
|
|
3322
|
-
return /* @__PURE__ */ (0,
|
|
3470
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(Root7, _object_spread_props(_object_spread({}, props), {
|
|
3323
3471
|
children: [
|
|
3324
|
-
/* @__PURE__ */ (0,
|
|
3325
|
-
/* @__PURE__ */ (0,
|
|
3472
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Visualization, {}),
|
|
3473
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Form, {})
|
|
3326
3474
|
]
|
|
3327
3475
|
}));
|
|
3328
3476
|
};
|
|
@@ -3330,15 +3478,15 @@ AudioThread.Root = Root7;
|
|
|
3330
3478
|
AudioThread.Visualization = Visualization;
|
|
3331
3479
|
AudioThread.Form = Form;
|
|
3332
3480
|
// src/components/threads/AudioThreadDialog/index.tsx
|
|
3333
|
-
var
|
|
3481
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
3334
3482
|
var AudioThreadDialog = function() {
|
|
3335
|
-
return /* @__PURE__ */ (0,
|
|
3483
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(Root5, {
|
|
3336
3484
|
children: [
|
|
3337
|
-
/* @__PURE__ */ (0,
|
|
3338
|
-
children: /* @__PURE__ */ (0,
|
|
3485
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Content4.Root, {
|
|
3486
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(AudioThread, {})
|
|
3339
3487
|
}),
|
|
3340
|
-
/* @__PURE__ */ (0,
|
|
3341
|
-
children: /* @__PURE__ */ (0,
|
|
3488
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Trigger, {
|
|
3489
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Button3, {})
|
|
3342
3490
|
})
|
|
3343
3491
|
]
|
|
3344
3492
|
});
|
|
@@ -3348,84 +3496,125 @@ AudioThreadDialog.Trigger = Trigger;
|
|
|
3348
3496
|
AudioThreadDialog.Button = Button3;
|
|
3349
3497
|
AudioThreadDialog.Content = Content4;
|
|
3350
3498
|
// src/components/suggestions/Suggestions/index.tsx
|
|
3351
|
-
var
|
|
3352
|
-
|
|
3353
|
-
|
|
3499
|
+
var import_react47 = require("react");
|
|
3500
|
+
// src/components/suggestions/Suggestions/Content.tsx
|
|
3501
|
+
var import_react46 = require("react");
|
|
3502
|
+
var import_radash11 = require("radash");
|
|
3503
|
+
var import_react_children_utilities = require("react-children-utilities");
|
|
3504
|
+
var import_themes45 = require("@radix-ui/themes");
|
|
3505
|
+
// src/components/suggestions/Suggestions/Item.tsx
|
|
3354
3506
|
var import_react_icons9 = require("@radix-ui/react-icons");
|
|
3355
|
-
var
|
|
3356
|
-
var
|
|
3357
|
-
var
|
|
3358
|
-
var suggestion = param.suggestion;
|
|
3359
|
-
var
|
|
3360
|
-
|
|
3361
|
-
return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_themes43.Button, {
|
|
3362
|
-
variant: "soft",
|
|
3363
|
-
style: {
|
|
3364
|
-
justifyContent: "space-between"
|
|
3365
|
-
},
|
|
3507
|
+
var import_themes44 = require("@radix-ui/themes");
|
|
3508
|
+
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
3509
|
+
var Item = function(param) {
|
|
3510
|
+
var suggestion = param.suggestion, isDisabled = param.isDisabled;
|
|
3511
|
+
var _useCreateMessage = useCreateMessage(), createMessage = _useCreateMessage.createMessage, isPending = _useCreateMessage.isPending;
|
|
3512
|
+
return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Content5, {
|
|
3366
3513
|
onClick: function() {
|
|
3367
3514
|
createMessage({
|
|
3368
3515
|
// @ts-ignore-next-line
|
|
3369
3516
|
content: suggestion
|
|
3370
3517
|
});
|
|
3371
3518
|
},
|
|
3372
|
-
|
|
3519
|
+
isDisabled: isDisabled,
|
|
3520
|
+
isPending: isPending,
|
|
3521
|
+
children: suggestion
|
|
3522
|
+
});
|
|
3523
|
+
};
|
|
3524
|
+
var Content5 = function(param) {
|
|
3525
|
+
var onClick = param.onClick, isDisabled = param.isDisabled, isPending = param.isPending, children = param.children;
|
|
3526
|
+
return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_themes44.Button, {
|
|
3527
|
+
variant: "soft",
|
|
3528
|
+
onClick: onClick,
|
|
3529
|
+
disabled: isDisabled,
|
|
3373
3530
|
children: [
|
|
3374
|
-
/* @__PURE__ */ (0,
|
|
3531
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_themes44.Text, {
|
|
3375
3532
|
size: "1",
|
|
3376
3533
|
weight: "regular",
|
|
3377
|
-
children:
|
|
3534
|
+
children: children
|
|
3378
3535
|
}),
|
|
3379
|
-
/* @__PURE__ */ (0,
|
|
3536
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_themes44.Spinner, {
|
|
3537
|
+
loading: isPending,
|
|
3538
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_react_icons9.ArrowUpIcon, {})
|
|
3539
|
+
})
|
|
3380
3540
|
]
|
|
3381
3541
|
});
|
|
3382
3542
|
};
|
|
3543
|
+
Item.Content = Content5;
|
|
3544
|
+
// src/components/suggestions/Suggestions/Content.tsx
|
|
3545
|
+
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
3546
|
+
var Content6 = function(param) {
|
|
3547
|
+
var children = param.children;
|
|
3548
|
+
var messageContext = useMessageContext();
|
|
3549
|
+
var latestMessageProps = useLatestMessage();
|
|
3550
|
+
var isRunActiveProps = useIsRunActive();
|
|
3551
|
+
var suggestions = (0, import_react46.useMemo)(function() {
|
|
3552
|
+
return (0, import_react_children_utilities.onlyText)(children).split(/\r?\n/).filter(function(c) {
|
|
3553
|
+
return !(0, import_radash11.isEmpty)(c);
|
|
3554
|
+
}).map(function(c) {
|
|
3555
|
+
return c.trim();
|
|
3556
|
+
});
|
|
3557
|
+
}, [
|
|
3558
|
+
children
|
|
3559
|
+
]);
|
|
3560
|
+
var isDisabled = (0, import_react46.useMemo)(function() {
|
|
3561
|
+
var _messageContext_message;
|
|
3562
|
+
return ((_messageContext_message = messageContext.message) === null || _messageContext_message === void 0 ? void 0 : _messageContext_message.id) !== latestMessageProps.latestMessage.id || isRunActiveProps.isRunActive;
|
|
3563
|
+
}, [
|
|
3564
|
+
messageContext,
|
|
3565
|
+
latestMessageProps,
|
|
3566
|
+
isRunActiveProps
|
|
3567
|
+
]);
|
|
3568
|
+
if ((0, import_radash11.isEmpty)(suggestions)) return null;
|
|
3569
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_themes45.Flex, {
|
|
3570
|
+
gap: "2",
|
|
3571
|
+
py: "2",
|
|
3572
|
+
wrap: "wrap",
|
|
3573
|
+
children: suggestions.map(function(suggestion) {
|
|
3574
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Item, {
|
|
3575
|
+
suggestion: suggestion,
|
|
3576
|
+
isDisabled: isDisabled
|
|
3577
|
+
}, suggestion);
|
|
3578
|
+
})
|
|
3579
|
+
});
|
|
3580
|
+
};
|
|
3383
3581
|
// src/components/suggestions/Suggestions/index.tsx
|
|
3384
|
-
var
|
|
3582
|
+
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
3385
3583
|
var Suggestions = function(param) {
|
|
3386
|
-
var
|
|
3584
|
+
var children = param.children;
|
|
3387
3585
|
var latestMessageProps = useLatestMessage();
|
|
3388
|
-
var
|
|
3389
|
-
var isDisabled = (0, import_react41.useMemo)(function() {
|
|
3586
|
+
var isDisabled = (0, import_react47.useMemo)(function() {
|
|
3390
3587
|
var // @ts-ignore-next-line
|
|
3391
3588
|
_latestMessageProps_latestMessage_metadata, _latestMessageProps_latestMessage;
|
|
3392
|
-
return (
|
|
3589
|
+
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;
|
|
3393
3590
|
}, [
|
|
3394
|
-
latestMessageProps
|
|
3395
|
-
isRunActiveProps
|
|
3591
|
+
latestMessageProps
|
|
3396
3592
|
]);
|
|
3397
3593
|
if (latestMessageProps.isLoading) return null;
|
|
3398
3594
|
if (isDisabled) return null;
|
|
3399
|
-
|
|
3400
|
-
|
|
3401
|
-
|
|
3402
|
-
py: "2",
|
|
3403
|
-
wrap: "wrap",
|
|
3404
|
-
children: emptyStateSuggestions.map(function(suggestion) {
|
|
3405
|
-
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Suggestion, {
|
|
3406
|
-
suggestion: suggestion
|
|
3407
|
-
}, suggestion);
|
|
3408
|
-
})
|
|
3409
|
-
});
|
|
3410
|
-
}
|
|
3411
|
-
if (latestMessageProps.latestMessage.role === "assistant") {
|
|
3412
|
-
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_themes44.Flex, {
|
|
3413
|
-
gap: "2",
|
|
3414
|
-
py: "2",
|
|
3415
|
-
wrap: "wrap",
|
|
3416
|
-
children: suggestions.map(function(suggestion) {
|
|
3417
|
-
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Suggestion, {
|
|
3418
|
-
suggestion: suggestion
|
|
3419
|
-
}, suggestion);
|
|
3420
|
-
})
|
|
3421
|
-
});
|
|
3422
|
-
}
|
|
3423
|
-
return null;
|
|
3595
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Content6, {
|
|
3596
|
+
children: children
|
|
3597
|
+
});
|
|
3424
3598
|
};
|
|
3425
|
-
|
|
3426
|
-
|
|
3427
|
-
var
|
|
3428
|
-
|
|
3599
|
+
Suggestions.Item = Item;
|
|
3600
|
+
// src/components/markdown/MarkdownProvider/index.tsx
|
|
3601
|
+
var import_react48 = require("react");
|
|
3602
|
+
var import_jsx_runtime63 = require("react/jsx-runtime");
|
|
3603
|
+
var MarkdownProvider = function(_param) {
|
|
3604
|
+
var children = _param.children, rest = _object_without_properties(_param, [
|
|
3605
|
+
"children"
|
|
3606
|
+
]);
|
|
3607
|
+
var prevMarkdownContext = useMarkdownContext();
|
|
3608
|
+
var value = (0, import_react48.useMemo)(function() {
|
|
3609
|
+
return merge(prevMarkdownContext, rest);
|
|
3610
|
+
}, [
|
|
3611
|
+
rest,
|
|
3612
|
+
prevMarkdownContext
|
|
3613
|
+
]);
|
|
3614
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(MarkdownContext.Provider, {
|
|
3615
|
+
value: value,
|
|
3616
|
+
children: children
|
|
3617
|
+
});
|
|
3429
3618
|
};
|
|
3430
3619
|
// Annotate the CommonJS export names for ESM import in node:
|
|
3431
3620
|
0 && (module.exports = {
|
|
@@ -3436,7 +3625,7 @@ var useMarkdownContext = function() {
|
|
|
3436
3625
|
FunctionBase: FunctionBase,
|
|
3437
3626
|
FunctionComponentsContext: FunctionComponentsContext,
|
|
3438
3627
|
MarkdownContext: MarkdownContext,
|
|
3439
|
-
|
|
3628
|
+
MarkdownProvider: MarkdownProvider,
|
|
3440
3629
|
Suggestions: Suggestions,
|
|
3441
3630
|
SuperinterfaceProvider: SuperinterfaceProvider,
|
|
3442
3631
|
Thread: Thread,
|
|
@@ -3449,6 +3638,7 @@ var useMarkdownContext = function() {
|
|
|
3449
3638
|
useLatestRun: useLatestRun,
|
|
3450
3639
|
useLifecycle: useLifecycle,
|
|
3451
3640
|
useMarkdownContext: useMarkdownContext,
|
|
3641
|
+
useMessageContext: useMessageContext,
|
|
3452
3642
|
useMessages: useMessages,
|
|
3453
3643
|
useRuns: useRuns,
|
|
3454
3644
|
useSuperinterfaceContext: useSuperinterfaceContext,
|