@superinterface/react 2.0.4 → 2.0.6
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-u67QcaWg.d.cts → index-Dp6WTBGJ.d.cts} +1 -0
- package/dist/{index-u67QcaWg.d.ts → index-Dp6WTBGJ.d.ts} +1 -0
- package/dist/index.cjs +703 -531
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +42 -21
- package/dist/index.d.ts +42 -21
- package/dist/index.js +651 -483
- package/dist/index.js.map +1 -1
- package/dist/queryFns.cjs +15 -3
- package/dist/queryFns.cjs.map +1 -1
- package/dist/queryFns.d.cts +1 -1
- package/dist/queryFns.d.ts +1 -1
- package/dist/queryFns.js +15 -3
- 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,9 @@ 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
|
+
}));
|
|
543
565
|
};
|
|
544
566
|
// src/lib/messages/messagesQueryOptions.ts
|
|
545
567
|
var messagesQueryOptions = function(param) {
|
|
@@ -657,35 +679,18 @@ var useMessageGroups = function(param) {
|
|
|
657
679
|
};
|
|
658
680
|
// src/components/skeletons/MessagesSkeleton/index.tsx
|
|
659
681
|
var import_react6 = require("react");
|
|
660
|
-
var
|
|
661
|
-
// src/components/skeletons/Skeleton/index.tsx
|
|
662
|
-
var import_themes = require("@radix-ui/themes");
|
|
663
|
-
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
664
|
-
var Skeleton = function(_param) {
|
|
665
|
-
var height = _param.height, style = _param.style, rest = _object_without_properties(_param, [
|
|
666
|
-
"height",
|
|
667
|
-
"style"
|
|
668
|
-
]);
|
|
669
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_themes.Flex, _object_spread({
|
|
670
|
-
height: "var(--space-".concat(height, ")"),
|
|
671
|
-
style: _object_spread({
|
|
672
|
-
animation: "pulse 2s cubic-bezier(.4,0,.6,1) infinite",
|
|
673
|
-
borderRadius: "var(--radius-3)",
|
|
674
|
-
backgroundColor: "var(--gray-5)"
|
|
675
|
-
}, style)
|
|
676
|
-
}, rest));
|
|
677
|
-
};
|
|
682
|
+
var import_themes3 = require("@radix-ui/themes");
|
|
678
683
|
// src/components/messageGroups/MessageGroupBase/index.tsx
|
|
679
684
|
var import_react5 = require("react");
|
|
680
|
-
var
|
|
681
|
-
var
|
|
685
|
+
var import_themes = require("@radix-ui/themes");
|
|
686
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
682
687
|
var MessageGroupBase = (0, import_react5.forwardRef)(function MessageGroupBase2(param, ref) {
|
|
683
688
|
var children = param.children;
|
|
684
|
-
return /* @__PURE__ */ (0,
|
|
689
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_themes.Container, {
|
|
685
690
|
ref: ref,
|
|
686
691
|
size: "2",
|
|
687
692
|
flexGrow: "0",
|
|
688
|
-
children: /* @__PURE__ */ (0,
|
|
693
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_themes.Flex, {
|
|
689
694
|
flexShrink: "0",
|
|
690
695
|
gap: "3",
|
|
691
696
|
children: children
|
|
@@ -693,14 +698,14 @@ var MessageGroupBase = (0, import_react5.forwardRef)(function MessageGroupBase2(
|
|
|
693
698
|
});
|
|
694
699
|
});
|
|
695
700
|
// src/components/messageGroups/MessageGroupBase/Name.tsx
|
|
696
|
-
var
|
|
697
|
-
var
|
|
701
|
+
var import_themes2 = require("@radix-ui/themes");
|
|
702
|
+
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
698
703
|
var Name = function(param) {
|
|
699
704
|
var children = param.children;
|
|
700
|
-
return /* @__PURE__ */ (0,
|
|
705
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_themes2.Flex, {
|
|
701
706
|
align: "center",
|
|
702
707
|
height: "var(--space-5)",
|
|
703
|
-
children: /* @__PURE__ */ (0,
|
|
708
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_themes2.Text, {
|
|
704
709
|
size: "2",
|
|
705
710
|
weight: "bold",
|
|
706
711
|
children: children
|
|
@@ -708,44 +713,44 @@ var Name = function(param) {
|
|
|
708
713
|
});
|
|
709
714
|
};
|
|
710
715
|
// src/components/skeletons/MessagesSkeleton/index.tsx
|
|
711
|
-
var
|
|
716
|
+
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
712
717
|
var MessagesSkeleton = (0, import_react6.forwardRef)(function MessagesSkeleton2(_props, ref) {
|
|
713
|
-
return /* @__PURE__ */ (0,
|
|
718
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(MessageGroupBase, {
|
|
714
719
|
ref: ref,
|
|
715
720
|
children: [
|
|
716
|
-
/* @__PURE__ */ (0,
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
}
|
|
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
|
+
})
|
|
722
727
|
}),
|
|
723
|
-
/* @__PURE__ */ (0,
|
|
728
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_themes3.Box, {
|
|
724
729
|
pb: "3",
|
|
725
730
|
children: [
|
|
726
|
-
/* @__PURE__ */ (0,
|
|
727
|
-
children: /* @__PURE__ */ (0,
|
|
728
|
-
|
|
731
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Name, {
|
|
732
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_themes3.Skeleton, {
|
|
733
|
+
loading: true,
|
|
729
734
|
style: {
|
|
730
735
|
width: "128px"
|
|
731
736
|
}
|
|
732
737
|
})
|
|
733
738
|
}),
|
|
734
|
-
/* @__PURE__ */ (0,
|
|
735
|
-
|
|
739
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_themes3.Skeleton, {
|
|
740
|
+
loading: true,
|
|
736
741
|
style: {
|
|
737
742
|
width: "256px"
|
|
738
743
|
}
|
|
739
744
|
}),
|
|
740
|
-
/* @__PURE__ */ (0,
|
|
741
|
-
|
|
745
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_themes3.Skeleton, {
|
|
746
|
+
loading: true,
|
|
742
747
|
style: {
|
|
743
748
|
width: "256px",
|
|
744
749
|
marginTop: "var(--space-2)"
|
|
745
750
|
}
|
|
746
751
|
}),
|
|
747
|
-
/* @__PURE__ */ (0,
|
|
748
|
-
|
|
752
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_themes3.Skeleton, {
|
|
753
|
+
loading: true,
|
|
749
754
|
style: {
|
|
750
755
|
width: "256px",
|
|
751
756
|
marginTop: "var(--space-2)"
|
|
@@ -757,26 +762,26 @@ var MessagesSkeleton = (0, import_react6.forwardRef)(function MessagesSkeleton2(
|
|
|
757
762
|
});
|
|
758
763
|
});
|
|
759
764
|
// src/components/threads/Thread/Messages/Content/MessageGroup/index.tsx
|
|
760
|
-
var
|
|
761
|
-
var
|
|
765
|
+
var import_react17 = require("react");
|
|
766
|
+
var import_themes25 = require("@radix-ui/themes");
|
|
762
767
|
var import_react_icons4 = require("@radix-ui/react-icons");
|
|
763
768
|
// src/components/messageGroups/MessageGroupBase/AssistantAvatar.tsx
|
|
764
769
|
var import_react8 = require("react");
|
|
765
|
-
var
|
|
770
|
+
var import_themes5 = require("@radix-ui/themes");
|
|
766
771
|
// src/contexts/assistants/AssistantAvatarContext/index.tsx
|
|
767
772
|
var import_react7 = require("react");
|
|
768
|
-
var
|
|
773
|
+
var import_themes4 = require("@radix-ui/themes");
|
|
769
774
|
var import_react_icons = require("@radix-ui/react-icons");
|
|
770
|
-
var
|
|
771
|
-
var AssistantAvatarContext = (0, import_react7.createContext)(/* @__PURE__ */ (0,
|
|
772
|
-
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, {}),
|
|
773
778
|
size: "1"
|
|
774
779
|
}));
|
|
775
780
|
// src/components/messageGroups/MessageGroupBase/AssistantAvatar.tsx
|
|
776
|
-
var
|
|
781
|
+
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
777
782
|
var AssistantAvatar = function() {
|
|
778
783
|
var AssistantAvatarContextValue = (0, import_react8.useContext)(AssistantAvatarContext);
|
|
779
|
-
return /* @__PURE__ */ (0,
|
|
784
|
+
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_themes5.Flex, {
|
|
780
785
|
flexShrink: "0",
|
|
781
786
|
height: "24px",
|
|
782
787
|
width: "24px",
|
|
@@ -791,33 +796,33 @@ var AssistantAvatar = function() {
|
|
|
791
796
|
var import_react9 = require("react");
|
|
792
797
|
var AssistantNameContext = (0, import_react9.createContext)("Assistant");
|
|
793
798
|
// src/components/threads/Thread/Messages/Content/MessageGroup/Content/index.tsx
|
|
794
|
-
var
|
|
799
|
+
var import_themes24 = require("@radix-ui/themes");
|
|
795
800
|
// src/components/threads/Thread/Message/index.tsx
|
|
796
|
-
var
|
|
797
|
-
var
|
|
801
|
+
var import_react16 = require("react");
|
|
802
|
+
var import_themes23 = require("@radix-ui/themes");
|
|
798
803
|
// src/components/runSteps/RunSteps/index.tsx
|
|
799
|
-
var import_themes15 = require("@radix-ui/themes");
|
|
800
|
-
// src/components/runSteps/RunStep/ToolCalls/index.tsx
|
|
801
804
|
var import_themes14 = require("@radix-ui/themes");
|
|
805
|
+
// src/components/runSteps/RunStep/ToolCalls/index.tsx
|
|
806
|
+
var import_themes13 = require("@radix-ui/themes");
|
|
802
807
|
// src/components/runSteps/RunStep/ToolCalls/ToolCall/index.tsx
|
|
803
|
-
var
|
|
808
|
+
var import_themes11 = require("@radix-ui/themes");
|
|
804
809
|
// src/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/index.tsx
|
|
805
810
|
var import_react12 = require("react");
|
|
806
811
|
// src/contexts/functions/FunctionComponentsContext/index.tsx
|
|
807
812
|
var import_react10 = require("react");
|
|
808
813
|
var FunctionComponentsContext = (0, import_react10.createContext)({});
|
|
809
814
|
// src/components/functions/FunctionBase/index.tsx
|
|
810
|
-
var
|
|
815
|
+
var import_themes9 = require("@radix-ui/themes");
|
|
811
816
|
// src/components/toolCalls/ToolCallBase/index.tsx
|
|
812
|
-
var
|
|
813
|
-
var
|
|
817
|
+
var import_themes6 = require("@radix-ui/themes");
|
|
818
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
814
819
|
var ToolCallBase = function(param) {
|
|
815
820
|
var children = param.children;
|
|
816
|
-
return /* @__PURE__ */ (0,
|
|
821
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_themes6.Flex, {
|
|
817
822
|
py: "1",
|
|
818
823
|
ml: "-2",
|
|
819
|
-
children: /* @__PURE__ */ (0,
|
|
820
|
-
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, {
|
|
821
826
|
size: "1",
|
|
822
827
|
color: "gold",
|
|
823
828
|
variant: "outline",
|
|
@@ -830,32 +835,32 @@ var ToolCallBase = function(param) {
|
|
|
830
835
|
});
|
|
831
836
|
};
|
|
832
837
|
// src/components/toolCalls/ToolCallBase/ToolCallTitle.tsx
|
|
833
|
-
var
|
|
834
|
-
var
|
|
838
|
+
var import_themes7 = require("@radix-ui/themes");
|
|
839
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
835
840
|
var ToolCallTitle = function(param) {
|
|
836
841
|
var children = param.children;
|
|
837
|
-
return /* @__PURE__ */ (0,
|
|
842
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_themes7.Text, {
|
|
838
843
|
weight: "regular",
|
|
839
844
|
children: children
|
|
840
845
|
});
|
|
841
846
|
};
|
|
842
847
|
// src/components/functions/FunctionBase/Icon.tsx
|
|
843
848
|
var import_react_icons2 = require("@radix-ui/react-icons");
|
|
844
|
-
var
|
|
849
|
+
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
845
850
|
var Icon = function(param) {
|
|
846
851
|
var runStep = param.runStep;
|
|
847
852
|
if (runStep.completed_at) {
|
|
848
|
-
return /* @__PURE__ */ (0,
|
|
853
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react_icons2.CheckCircledIcon, {});
|
|
849
854
|
} else if (runStep.cancelled_at || runStep.failed_at || runStep.status === "expired") {
|
|
850
|
-
return /* @__PURE__ */ (0,
|
|
855
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react_icons2.CircleBackslashIcon, {});
|
|
851
856
|
} else {
|
|
852
|
-
return /* @__PURE__ */ (0,
|
|
857
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react_icons2.CircleIcon, {});
|
|
853
858
|
}
|
|
854
859
|
};
|
|
855
860
|
// src/components/functions/FunctionBase/Content.tsx
|
|
856
861
|
var import_react11 = require("react");
|
|
857
|
-
var
|
|
858
|
-
var
|
|
862
|
+
var import_themes8 = require("@radix-ui/themes");
|
|
863
|
+
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
859
864
|
var Content = function(param) {
|
|
860
865
|
var fn = param.fn;
|
|
861
866
|
var args = (0, import_react11.useMemo)(function() {
|
|
@@ -886,7 +891,7 @@ var Content = function(param) {
|
|
|
886
891
|
if (!args) {
|
|
887
892
|
return null;
|
|
888
893
|
}
|
|
889
|
-
return /* @__PURE__ */ (0,
|
|
894
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_themes8.Code, {
|
|
890
895
|
variant: "ghost",
|
|
891
896
|
color: "gold",
|
|
892
897
|
style: {
|
|
@@ -894,36 +899,36 @@ var Content = function(param) {
|
|
|
894
899
|
wordBreak: "break-word"
|
|
895
900
|
},
|
|
896
901
|
children: [
|
|
897
|
-
/* @__PURE__ */ (0,
|
|
902
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_themes8.Box, {
|
|
898
903
|
children: args && JSON.stringify(args, null, 2)
|
|
899
904
|
}),
|
|
900
|
-
/* @__PURE__ */ (0,
|
|
905
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_themes8.Box, {
|
|
901
906
|
children: output && JSON.stringify(output, null, 2)
|
|
902
907
|
})
|
|
903
908
|
]
|
|
904
909
|
});
|
|
905
910
|
};
|
|
906
911
|
// src/components/functions/FunctionBase/index.tsx
|
|
907
|
-
var
|
|
912
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
908
913
|
var FunctionBase = function(param) {
|
|
909
914
|
var fn = param.fn, runStep = param.runStep, title2 = param.title;
|
|
910
|
-
return /* @__PURE__ */ (0,
|
|
915
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_themes9.PopoverRoot, {
|
|
911
916
|
children: [
|
|
912
|
-
/* @__PURE__ */ (0,
|
|
917
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(ToolCallBase, {
|
|
913
918
|
children: [
|
|
914
|
-
/* @__PURE__ */ (0,
|
|
919
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Icon, {
|
|
915
920
|
runStep: runStep
|
|
916
921
|
}),
|
|
917
|
-
/* @__PURE__ */ (0,
|
|
922
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(ToolCallTitle, {
|
|
918
923
|
children: title2
|
|
919
924
|
})
|
|
920
925
|
]
|
|
921
926
|
}),
|
|
922
|
-
/* @__PURE__ */ (0,
|
|
927
|
+
/* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_themes9.PopoverContent, {
|
|
923
928
|
style: {
|
|
924
929
|
maxHeight: "500px"
|
|
925
930
|
},
|
|
926
|
-
children: /* @__PURE__ */ (0,
|
|
931
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Content, {
|
|
927
932
|
fn: fn
|
|
928
933
|
})
|
|
929
934
|
})
|
|
@@ -942,10 +947,10 @@ var title = function(param) {
|
|
|
942
947
|
}
|
|
943
948
|
};
|
|
944
949
|
// src/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/DefaultFunction/index.tsx
|
|
945
|
-
var
|
|
950
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
946
951
|
var DefaultFunction = function(param) {
|
|
947
952
|
var fn = param.fn, runStep = param.runStep;
|
|
948
|
-
return /* @__PURE__ */ (0,
|
|
953
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(FunctionBase, {
|
|
949
954
|
fn: fn,
|
|
950
955
|
runStep: runStep,
|
|
951
956
|
title: title({
|
|
@@ -955,66 +960,66 @@ var DefaultFunction = function(param) {
|
|
|
955
960
|
});
|
|
956
961
|
};
|
|
957
962
|
// src/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/index.tsx
|
|
958
|
-
var
|
|
963
|
+
var import_jsx_runtime13 = // @ts-ignore-next-line
|
|
959
964
|
require("react/jsx-runtime");
|
|
960
965
|
var Fn = function(param) {
|
|
961
966
|
var fn = param.fn, runStep = param.runStep;
|
|
962
967
|
var functionComponentsContext = (0, import_react12.useContext)(FunctionComponentsContext);
|
|
963
968
|
var Component = functionComponentsContext[fn.name] || DefaultFunction;
|
|
964
|
-
return /* @__PURE__ */ (0,
|
|
969
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Component, {
|
|
965
970
|
fn: fn,
|
|
966
971
|
runStep: runStep
|
|
967
972
|
});
|
|
968
973
|
};
|
|
969
974
|
// src/components/runSteps/RunStep/ToolCalls/ToolCall/CodeInterpreter/index.tsx
|
|
970
|
-
var
|
|
971
|
-
var
|
|
975
|
+
var import_themes10 = require("@radix-ui/themes");
|
|
976
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
972
977
|
var CodeInterpreter = function(param) {
|
|
973
978
|
var codeInterpreter = param.codeInterpreter;
|
|
974
|
-
return /* @__PURE__ */ (0,
|
|
979
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_themes10.Flex, {
|
|
975
980
|
children: codeInterpreter.input
|
|
976
981
|
});
|
|
977
982
|
};
|
|
978
983
|
// src/components/runSteps/RunStep/ToolCalls/ToolCall/index.tsx
|
|
979
|
-
var
|
|
984
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
980
985
|
var ToolCall = function(param) {
|
|
981
986
|
var toolCall = param.toolCall, runStep = param.runStep;
|
|
982
987
|
if (toolCall.type === "function") {
|
|
983
|
-
return /* @__PURE__ */ (0,
|
|
988
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Fn, {
|
|
984
989
|
fn: toolCall.function,
|
|
985
990
|
runStep: runStep
|
|
986
991
|
});
|
|
987
992
|
}
|
|
988
993
|
if (toolCall.type === "code_interpreter") {
|
|
989
|
-
return /* @__PURE__ */ (0,
|
|
994
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(CodeInterpreter, {
|
|
990
995
|
codeInterpreter: toolCall.code_interpreter,
|
|
991
996
|
runStep: runStep
|
|
992
997
|
});
|
|
993
998
|
}
|
|
994
|
-
return /* @__PURE__ */ (0,
|
|
999
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_themes11.Flex, {
|
|
995
1000
|
children: toolCall.type
|
|
996
1001
|
});
|
|
997
1002
|
};
|
|
998
1003
|
// src/components/runSteps/RunStep/ToolCalls/Starting/index.tsx
|
|
999
|
-
var
|
|
1004
|
+
var import_themes12 = require("@radix-ui/themes");
|
|
1000
1005
|
var import_react_icons3 = require("@radix-ui/react-icons");
|
|
1001
|
-
var
|
|
1006
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
1002
1007
|
var Starting = function() {
|
|
1003
|
-
return /* @__PURE__ */ (0,
|
|
1008
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_themes12.PopoverRoot, {
|
|
1004
1009
|
children: [
|
|
1005
|
-
/* @__PURE__ */ (0,
|
|
1010
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(ToolCallBase, {
|
|
1006
1011
|
children: [
|
|
1007
|
-
/* @__PURE__ */ (0,
|
|
1008
|
-
/* @__PURE__ */ (0,
|
|
1012
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_react_icons3.CircleIcon, {}),
|
|
1013
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(ToolCallTitle, {
|
|
1009
1014
|
children: "Starting actions"
|
|
1010
1015
|
})
|
|
1011
1016
|
]
|
|
1012
1017
|
}),
|
|
1013
|
-
/* @__PURE__ */ (0,
|
|
1018
|
+
/* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_themes12.PopoverContent, {
|
|
1014
1019
|
style: {
|
|
1015
1020
|
maxHeight: "500px"
|
|
1016
1021
|
},
|
|
1017
|
-
children: /* @__PURE__ */ (0,
|
|
1022
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_themes12.Text, {
|
|
1018
1023
|
children: "Getting ready to connect to domain API"
|
|
1019
1024
|
})
|
|
1020
1025
|
})
|
|
@@ -1022,15 +1027,15 @@ var Starting = function() {
|
|
|
1022
1027
|
});
|
|
1023
1028
|
};
|
|
1024
1029
|
// src/components/runSteps/RunStep/ToolCalls/index.tsx
|
|
1025
|
-
var
|
|
1030
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
1026
1031
|
var ToolCalls = function(param) {
|
|
1027
1032
|
var stepDetails = param.stepDetails, runStep = param.runStep;
|
|
1028
|
-
return /* @__PURE__ */ (0,
|
|
1033
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_themes13.Flex, {
|
|
1029
1034
|
direction: "column",
|
|
1030
1035
|
children: [
|
|
1031
|
-
!stepDetails.tool_calls.length && /* @__PURE__ */ (0,
|
|
1036
|
+
!stepDetails.tool_calls.length && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Starting, {}),
|
|
1032
1037
|
stepDetails.tool_calls.map(function(toolCall) {
|
|
1033
|
-
return /* @__PURE__ */ (0,
|
|
1038
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ToolCall, {
|
|
1034
1039
|
toolCall: toolCall,
|
|
1035
1040
|
runStep: runStep
|
|
1036
1041
|
}, toolCall.id);
|
|
@@ -1039,11 +1044,11 @@ var ToolCalls = function(param) {
|
|
|
1039
1044
|
});
|
|
1040
1045
|
};
|
|
1041
1046
|
// src/components/runSteps/RunStep/index.tsx
|
|
1042
|
-
var
|
|
1047
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
1043
1048
|
var RunStep = function(param) {
|
|
1044
1049
|
var runStep = param.runStep;
|
|
1045
1050
|
if (runStep.step_details.type === "tool_calls") {
|
|
1046
|
-
return /* @__PURE__ */ (0,
|
|
1051
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ToolCalls, {
|
|
1047
1052
|
stepDetails: runStep.step_details,
|
|
1048
1053
|
runStep: runStep
|
|
1049
1054
|
});
|
|
@@ -1051,31 +1056,39 @@ var RunStep = function(param) {
|
|
|
1051
1056
|
return null;
|
|
1052
1057
|
};
|
|
1053
1058
|
// src/components/runSteps/RunSteps/index.tsx
|
|
1054
|
-
var
|
|
1059
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
1055
1060
|
var RunSteps = function(param) {
|
|
1056
1061
|
var runSteps = param.runSteps;
|
|
1057
|
-
return /* @__PURE__ */ (0,
|
|
1062
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_themes14.Flex, {
|
|
1058
1063
|
direction: "column-reverse",
|
|
1059
1064
|
children: runSteps.map(function(runStep) {
|
|
1060
|
-
return /* @__PURE__ */ (0,
|
|
1065
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(RunStep, {
|
|
1061
1066
|
runStep: runStep
|
|
1062
1067
|
}, runStep.id);
|
|
1063
1068
|
})
|
|
1064
1069
|
});
|
|
1065
1070
|
};
|
|
1066
|
-
// src/
|
|
1067
|
-
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
|
|
1068
1079
|
var import_react_remark = require("react-remark");
|
|
1080
|
+
// src/hooks/markdown/useMarkdownContext/index.ts
|
|
1081
|
+
var import_react15 = require("react");
|
|
1069
1082
|
// src/contexts/markdown/MarkdownContext/index.ts
|
|
1070
|
-
var
|
|
1083
|
+
var import_react14 = require("react");
|
|
1071
1084
|
// src/contexts/markdown/MarkdownContext/lib/components/Paragraph.tsx
|
|
1072
|
-
var
|
|
1073
|
-
var
|
|
1085
|
+
var import_themes15 = require("@radix-ui/themes");
|
|
1086
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
1074
1087
|
var Paragraph = function(param) {
|
|
1075
1088
|
var children = param.children;
|
|
1076
|
-
return /* @__PURE__ */ (0,
|
|
1089
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_themes15.Box, {
|
|
1077
1090
|
pb: "3",
|
|
1078
|
-
children: /* @__PURE__ */ (0,
|
|
1091
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_themes15.Text, {
|
|
1079
1092
|
size: "3",
|
|
1080
1093
|
style: {
|
|
1081
1094
|
whiteSpace: "pre-line",
|
|
@@ -1086,24 +1099,24 @@ var Paragraph = function(param) {
|
|
|
1086
1099
|
});
|
|
1087
1100
|
};
|
|
1088
1101
|
// src/contexts/markdown/MarkdownContext/lib/components/Link.tsx
|
|
1089
|
-
var
|
|
1090
|
-
var
|
|
1102
|
+
var import_themes16 = require("@radix-ui/themes");
|
|
1103
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
1091
1104
|
var Link = function(param) {
|
|
1092
1105
|
var children = param.children, href = param.href;
|
|
1093
|
-
return /* @__PURE__ */ (0,
|
|
1106
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_themes16.Link, {
|
|
1094
1107
|
href: href,
|
|
1095
1108
|
children: children
|
|
1096
1109
|
});
|
|
1097
1110
|
};
|
|
1098
1111
|
// src/contexts/markdown/MarkdownContext/lib/components/UnorderedList.tsx
|
|
1099
|
-
var
|
|
1100
|
-
var
|
|
1112
|
+
var import_themes17 = require("@radix-ui/themes");
|
|
1113
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
1101
1114
|
var UnorderedList = function(param) {
|
|
1102
1115
|
var children = param.children;
|
|
1103
|
-
return /* @__PURE__ */ (0,
|
|
1116
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_themes17.Box, {
|
|
1104
1117
|
pb: "3",
|
|
1105
1118
|
asChild: true,
|
|
1106
|
-
children: /* @__PURE__ */ (0,
|
|
1119
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("ul", {
|
|
1107
1120
|
style: {
|
|
1108
1121
|
listStylePosition: "inside"
|
|
1109
1122
|
},
|
|
@@ -1112,14 +1125,14 @@ var UnorderedList = function(param) {
|
|
|
1112
1125
|
});
|
|
1113
1126
|
};
|
|
1114
1127
|
// src/contexts/markdown/MarkdownContext/lib/components/OrderedList.tsx
|
|
1115
|
-
var
|
|
1116
|
-
var
|
|
1128
|
+
var import_themes18 = require("@radix-ui/themes");
|
|
1129
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
1117
1130
|
var OrderedList = function(param) {
|
|
1118
1131
|
var children = param.children;
|
|
1119
|
-
return /* @__PURE__ */ (0,
|
|
1132
|
+
return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_themes18.Box, {
|
|
1120
1133
|
pb: "3",
|
|
1121
1134
|
asChild: true,
|
|
1122
|
-
children: /* @__PURE__ */ (0,
|
|
1135
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("ol", {
|
|
1123
1136
|
style: {
|
|
1124
1137
|
listStylePosition: "inside"
|
|
1125
1138
|
},
|
|
@@ -1128,23 +1141,45 @@ var OrderedList = function(param) {
|
|
|
1128
1141
|
});
|
|
1129
1142
|
};
|
|
1130
1143
|
// src/contexts/markdown/MarkdownContext/lib/components/ListItem.tsx
|
|
1131
|
-
var
|
|
1132
|
-
var
|
|
1144
|
+
var import_themes19 = require("@radix-ui/themes");
|
|
1145
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
1133
1146
|
var ListItem = function(param) {
|
|
1134
1147
|
var children = param.children;
|
|
1135
|
-
return /* @__PURE__ */ (0,
|
|
1148
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_themes19.Box, {
|
|
1136
1149
|
pb: "1",
|
|
1137
|
-
children: /* @__PURE__ */ (0,
|
|
1150
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("li", {
|
|
1138
1151
|
children: children
|
|
1139
1152
|
})
|
|
1140
1153
|
});
|
|
1141
1154
|
};
|
|
1142
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
|
|
1143
1165
|
var import_themes21 = require("@radix-ui/themes");
|
|
1144
1166
|
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
1145
|
-
var
|
|
1167
|
+
var Pre = function(param) {
|
|
1146
1168
|
var children = param.children;
|
|
1147
|
-
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, {
|
|
1148
1183
|
children: children
|
|
1149
1184
|
});
|
|
1150
1185
|
};
|
|
@@ -1155,26 +1190,32 @@ var components = {
|
|
|
1155
1190
|
strong: Strong,
|
|
1156
1191
|
ul: UnorderedList,
|
|
1157
1192
|
ol: OrderedList,
|
|
1158
|
-
li: ListItem
|
|
1193
|
+
li: ListItem,
|
|
1194
|
+
pre: Pre,
|
|
1195
|
+
code: Code2
|
|
1159
1196
|
};
|
|
1160
1197
|
// src/contexts/markdown/MarkdownContext/index.ts
|
|
1161
|
-
var MarkdownContext = (0,
|
|
1198
|
+
var MarkdownContext = (0, import_react14.createContext)({
|
|
1162
1199
|
remarkPlugins: [],
|
|
1163
1200
|
rehypeReactOptions: {
|
|
1164
1201
|
components: components
|
|
1165
1202
|
}
|
|
1166
1203
|
});
|
|
1167
|
-
// 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
|
|
1168
1209
|
var TextContent = function(param) {
|
|
1169
1210
|
var content = param.content;
|
|
1170
|
-
var markdownContext = (
|
|
1211
|
+
var markdownContext = useMarkdownContext();
|
|
1171
1212
|
return (0, import_react_remark.useRemarkSync)(content.text.value, markdownContext);
|
|
1172
1213
|
};
|
|
1173
1214
|
// src/components/threads/Thread/Message/index.tsx
|
|
1174
|
-
var
|
|
1215
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
1175
1216
|
var Message = function(param) {
|
|
1176
1217
|
var message = param.message;
|
|
1177
|
-
var _ref = _sliced_to_array((0,
|
|
1218
|
+
var _ref = _sliced_to_array((0, import_react16.useMemo)(function() {
|
|
1178
1219
|
if (!message.runSteps.length) return [
|
|
1179
1220
|
[],
|
|
1180
1221
|
[]
|
|
@@ -1206,55 +1247,60 @@ var Message = function(param) {
|
|
|
1206
1247
|
}, [
|
|
1207
1248
|
message
|
|
1208
1249
|
]), 2), olderRunSteps = _ref[0], laterRunSteps = _ref[1];
|
|
1209
|
-
return /* @__PURE__ */ (0,
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
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
|
+
})
|
|
1225
1271
|
});
|
|
1226
1272
|
};
|
|
1227
1273
|
// src/components/threads/Thread/Messages/Content/MessageGroup/Content/index.tsx
|
|
1228
|
-
var
|
|
1274
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
1229
1275
|
var Content2 = function(param) {
|
|
1230
1276
|
var messageGroup = param.messageGroup;
|
|
1231
|
-
return /* @__PURE__ */ (0,
|
|
1277
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_themes24.Flex, {
|
|
1232
1278
|
direction: "column-reverse",
|
|
1233
1279
|
children: messageGroup.messages.map(function(message) {
|
|
1234
|
-
return /* @__PURE__ */ (0,
|
|
1280
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Message, {
|
|
1235
1281
|
message: message
|
|
1236
1282
|
}, message.id);
|
|
1237
1283
|
})
|
|
1238
1284
|
});
|
|
1239
1285
|
};
|
|
1240
1286
|
// src/components/threads/Thread/Messages/Content/MessageGroup/index.tsx
|
|
1241
|
-
var
|
|
1287
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
1242
1288
|
var MessageGroup = function(param) {
|
|
1243
1289
|
var messageGroup = param.messageGroup;
|
|
1244
|
-
var assistantNameContext = (0,
|
|
1245
|
-
return /* @__PURE__ */ (0,
|
|
1290
|
+
var assistantNameContext = (0, import_react17.useContext)(AssistantNameContext);
|
|
1291
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(MessageGroupBase, {
|
|
1246
1292
|
children: [
|
|
1247
|
-
messageGroup.role === "user" ? /* @__PURE__ */ (0,
|
|
1248
|
-
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, {}),
|
|
1249
1295
|
size: "1"
|
|
1250
|
-
}) : /* @__PURE__ */ (0,
|
|
1251
|
-
/* @__PURE__ */ (0,
|
|
1296
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(AssistantAvatar, {}),
|
|
1297
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_themes25.Box, {
|
|
1252
1298
|
flexGrow: "1",
|
|
1253
1299
|
children: [
|
|
1254
|
-
/* @__PURE__ */ (0,
|
|
1300
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Name, {
|
|
1255
1301
|
children: messageGroup.role === "user" ? "You" : assistantNameContext
|
|
1256
1302
|
}),
|
|
1257
|
-
/* @__PURE__ */ (0,
|
|
1303
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Content2, {
|
|
1258
1304
|
messageGroup: messageGroup
|
|
1259
1305
|
})
|
|
1260
1306
|
]
|
|
@@ -1263,68 +1309,74 @@ var MessageGroup = function(param) {
|
|
|
1263
1309
|
});
|
|
1264
1310
|
};
|
|
1265
1311
|
// src/components/threads/Thread/Messages/Content/index.tsx
|
|
1266
|
-
var
|
|
1312
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
1267
1313
|
var Content3 = function() {
|
|
1268
1314
|
var _useMessages = useMessages(), messages2 = _useMessages.messages, isLoading = _useMessages.isLoading, isLoadingError = _useMessages.isLoadingError;
|
|
1269
1315
|
var _useMessageGroups = useMessageGroups({
|
|
1270
1316
|
messages: messages2
|
|
1271
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
|
+
]);
|
|
1272
1325
|
if (isLoading || isLoadingError) {
|
|
1273
|
-
return /* @__PURE__ */ (0,
|
|
1326
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(MessagesSkeleton, {});
|
|
1274
1327
|
}
|
|
1275
|
-
return /* @__PURE__ */ (0,
|
|
1328
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_jsx_runtime31.Fragment, {
|
|
1276
1329
|
children: messageGroups2.map(function(messageGroup) {
|
|
1277
|
-
return /* @__PURE__ */ (0,
|
|
1330
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(MessageGroup, {
|
|
1278
1331
|
messageGroup: messageGroup
|
|
1279
1332
|
}, messageGroup.id);
|
|
1280
1333
|
})
|
|
1281
1334
|
});
|
|
1282
1335
|
};
|
|
1283
1336
|
// src/components/threads/Thread/Messages/Progress/index.tsx
|
|
1284
|
-
var
|
|
1337
|
+
var import_themes28 = require("@radix-ui/themes");
|
|
1285
1338
|
// src/components/skeletons/StartingContentSkeleton/index.tsx
|
|
1286
|
-
var
|
|
1287
|
-
var
|
|
1339
|
+
var import_themes26 = require("@radix-ui/themes");
|
|
1340
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
1288
1341
|
var StartingContentSkeleton = function() {
|
|
1289
|
-
return /* @__PURE__ */ (0,
|
|
1290
|
-
|
|
1342
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_themes26.Skeleton, {
|
|
1343
|
+
loading: true,
|
|
1291
1344
|
mt: "1",
|
|
1292
1345
|
height: "var(--space-4)",
|
|
1293
1346
|
width: "var(--space-4)",
|
|
1294
1347
|
style: {
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
backgroundColor: "var(--gray-12)"
|
|
1348
|
+
borderRadius: "var(--radius-6)",
|
|
1349
|
+
flexShrink: 0
|
|
1298
1350
|
}
|
|
1299
1351
|
});
|
|
1300
1352
|
};
|
|
1301
1353
|
// src/components/skeletons/StartingSkeleton/index.tsx
|
|
1302
|
-
var
|
|
1303
|
-
var
|
|
1304
|
-
var
|
|
1354
|
+
var import_react19 = require("react");
|
|
1355
|
+
var import_themes27 = require("@radix-ui/themes");
|
|
1356
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
1305
1357
|
var StartingSkeleton = function(param) {
|
|
1306
1358
|
var children = param.children;
|
|
1307
|
-
var assistantNameContext = (0,
|
|
1308
|
-
return /* @__PURE__ */ (0,
|
|
1359
|
+
var assistantNameContext = (0, import_react19.useContext)(AssistantNameContext);
|
|
1360
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(MessageGroupBase, {
|
|
1309
1361
|
children: [
|
|
1310
|
-
/* @__PURE__ */ (0,
|
|
1311
|
-
/* @__PURE__ */ (0,
|
|
1362
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(AssistantAvatar, {}),
|
|
1363
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_themes27.Box, {
|
|
1312
1364
|
children: [
|
|
1313
|
-
/* @__PURE__ */ (0,
|
|
1365
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Name, {
|
|
1314
1366
|
children: assistantNameContext
|
|
1315
1367
|
}),
|
|
1316
1368
|
children,
|
|
1317
|
-
/* @__PURE__ */ (0,
|
|
1369
|
+
/* @__PURE__ */ (0, import_jsx_runtime33.jsx)(StartingContentSkeleton, {})
|
|
1318
1370
|
]
|
|
1319
1371
|
})
|
|
1320
1372
|
]
|
|
1321
1373
|
});
|
|
1322
1374
|
};
|
|
1323
1375
|
// src/hooks/messages/useLatestMessage/index.ts
|
|
1324
|
-
var
|
|
1376
|
+
var import_react20 = require("react");
|
|
1325
1377
|
var useLatestMessage = function() {
|
|
1326
1378
|
var props = useMessages();
|
|
1327
|
-
return (0,
|
|
1379
|
+
return (0, import_react20.useMemo)(function() {
|
|
1328
1380
|
return _object_spread_props(_object_spread({}, props), {
|
|
1329
1381
|
latestMessage: props.messages[0] || null
|
|
1330
1382
|
});
|
|
@@ -1333,12 +1385,12 @@ var useLatestMessage = function() {
|
|
|
1333
1385
|
]);
|
|
1334
1386
|
};
|
|
1335
1387
|
// src/hooks/runs/useIsRunActive/index.tsx
|
|
1336
|
-
var
|
|
1388
|
+
var import_react25 = require("react");
|
|
1337
1389
|
var import_react_query4 = require("@tanstack/react-query");
|
|
1338
1390
|
// src/hooks/runs/useLatestRun/index.ts
|
|
1339
|
-
var
|
|
1391
|
+
var import_react22 = require("react");
|
|
1340
1392
|
// src/hooks/runs/useRuns/index.tsx
|
|
1341
|
-
var
|
|
1393
|
+
var import_react21 = require("react");
|
|
1342
1394
|
var import_react_query3 = require("@tanstack/react-query");
|
|
1343
1395
|
// src/lib/runs/runsQueryOptions.ts
|
|
1344
1396
|
var runsQueryOptions = function(param) {
|
|
@@ -1371,7 +1423,7 @@ var useRuns = function() {
|
|
|
1371
1423
|
threadContext: threadContext,
|
|
1372
1424
|
superinterfaceContext: superinterfaceContext
|
|
1373
1425
|
}));
|
|
1374
|
-
return (0,
|
|
1426
|
+
return (0, import_react21.useMemo)(function() {
|
|
1375
1427
|
return _object_spread_props(_object_spread({}, props), {
|
|
1376
1428
|
// @ts-ignore-next-line
|
|
1377
1429
|
runs: getRuns({
|
|
@@ -1385,7 +1437,7 @@ var useRuns = function() {
|
|
|
1385
1437
|
// src/hooks/runs/useLatestRun/index.ts
|
|
1386
1438
|
var useLatestRun = function() {
|
|
1387
1439
|
var props = useRuns();
|
|
1388
|
-
return (0,
|
|
1440
|
+
return (0, import_react22.useMemo)(function() {
|
|
1389
1441
|
return _object_spread_props(_object_spread({}, props), {
|
|
1390
1442
|
latestRun: props.runs[0]
|
|
1391
1443
|
});
|
|
@@ -1406,6 +1458,18 @@ var isRunEditingMessage = function(param) {
|
|
|
1406
1458
|
});
|
|
1407
1459
|
return !hasContent;
|
|
1408
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
|
+
};
|
|
1409
1473
|
// src/hooks/runs/useIsRunActive/index.tsx
|
|
1410
1474
|
var progressStatuses = [
|
|
1411
1475
|
"queued",
|
|
@@ -1419,8 +1483,9 @@ var stoppedStatuses = [
|
|
|
1419
1483
|
"failed"
|
|
1420
1484
|
];
|
|
1421
1485
|
var isRunActive = function(param) {
|
|
1422
|
-
var latestRunProps = param.latestRunProps, latestMessageProps = param.latestMessageProps, isMutating = param.isMutating;
|
|
1486
|
+
var pollingContext = param.pollingContext, latestRunProps = param.latestRunProps, latestMessageProps = param.latestMessageProps, isMutating = param.isMutating;
|
|
1423
1487
|
var _latestMessageProps_latestMessage_metadata, _latestMessageProps_latestMessage;
|
|
1488
|
+
if (pollingContext.isPollRefetching) return true;
|
|
1424
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;
|
|
1425
1490
|
if (isMutating) return true;
|
|
1426
1491
|
if (!latestRunProps.latestRun) return false;
|
|
@@ -1434,6 +1499,7 @@ var useIsRunActive = function() {
|
|
|
1434
1499
|
var latestRunProps = useLatestRun();
|
|
1435
1500
|
var latestMessageProps = useLatestMessage();
|
|
1436
1501
|
var threadContext = useSuperinterfaceContext();
|
|
1502
|
+
var pollingContext = usePollingContext();
|
|
1437
1503
|
var isMutatingCreateRun = (0, import_react_query4.useIsMutating)({
|
|
1438
1504
|
mutationKey: [
|
|
1439
1505
|
"createRun",
|
|
@@ -1452,9 +1518,10 @@ var useIsRunActive = function() {
|
|
|
1452
1518
|
threadContext.variables
|
|
1453
1519
|
]
|
|
1454
1520
|
});
|
|
1455
|
-
return (0,
|
|
1521
|
+
return (0, import_react25.useMemo)(function() {
|
|
1456
1522
|
return _object_spread_props(_object_spread({}, latestRunProps), {
|
|
1457
1523
|
isRunActive: isRunActive({
|
|
1524
|
+
pollingContext: pollingContext,
|
|
1458
1525
|
latestRunProps: latestRunProps,
|
|
1459
1526
|
latestMessageProps: latestMessageProps,
|
|
1460
1527
|
isMutating: isMutatingCreateRun > 0 || isMutatingCreateMessage > 0 || isMutatingCreateHandleAction > 0
|
|
@@ -1463,42 +1530,43 @@ var useIsRunActive = function() {
|
|
|
1463
1530
|
}, [
|
|
1464
1531
|
latestRunProps,
|
|
1465
1532
|
latestMessageProps,
|
|
1533
|
+
pollingContext,
|
|
1466
1534
|
isMutatingCreateRun,
|
|
1467
1535
|
isMutatingCreateMessage,
|
|
1468
1536
|
isMutatingCreateHandleAction
|
|
1469
1537
|
]);
|
|
1470
1538
|
};
|
|
1471
1539
|
// src/components/threads/Thread/Messages/Progress/index.tsx
|
|
1472
|
-
var
|
|
1540
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
1473
1541
|
var Progress = function() {
|
|
1474
1542
|
var _useIsRunActive = useIsRunActive(), isRunActive2 = _useIsRunActive.isRunActive;
|
|
1475
1543
|
var latestMessage = useLatestMessage().latestMessage;
|
|
1476
1544
|
if (!latestMessage) return null;
|
|
1477
1545
|
if (!isRunActive2) return null;
|
|
1478
1546
|
if (latestMessage.role === "user") {
|
|
1479
|
-
return /* @__PURE__ */ (0,
|
|
1547
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(StartingSkeleton, {});
|
|
1480
1548
|
}
|
|
1481
|
-
return /* @__PURE__ */ (0,
|
|
1549
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(MessageGroupBase, {
|
|
1482
1550
|
children: [
|
|
1483
|
-
/* @__PURE__ */ (0,
|
|
1551
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_themes28.Box, {
|
|
1484
1552
|
pl: "5"
|
|
1485
1553
|
}),
|
|
1486
|
-
/* @__PURE__ */ (0,
|
|
1554
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(StartingContentSkeleton, {})
|
|
1487
1555
|
]
|
|
1488
1556
|
});
|
|
1489
1557
|
};
|
|
1490
1558
|
// src/components/threads/Thread/Messages/Root/index.tsx
|
|
1491
|
-
var
|
|
1559
|
+
var import_themes29 = require("@radix-ui/themes");
|
|
1492
1560
|
// src/hooks/misc/useInfiniteScroll/index.tsx
|
|
1493
|
-
var
|
|
1561
|
+
var import_react27 = require("react");
|
|
1494
1562
|
var import_react_intersection_observer = require("react-intersection-observer");
|
|
1495
1563
|
// src/hooks/misc/useThrottledEffect/index.tsx
|
|
1496
1564
|
var import_lodash5 = __toESM(require("lodash"), 1);
|
|
1497
|
-
var
|
|
1565
|
+
var import_react26 = require("react");
|
|
1498
1566
|
var useThrottledEffect = function(cb, delay, additionalDeps) {
|
|
1499
1567
|
var _cbRef;
|
|
1500
|
-
var cbRef = (0,
|
|
1501
|
-
var throttledCb = (0,
|
|
1568
|
+
var cbRef = (0, import_react26.useRef)(cb);
|
|
1569
|
+
var throttledCb = (0, import_react26.useCallback)(import_lodash5.default.throttle(function() {
|
|
1502
1570
|
for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
|
|
1503
1571
|
args[_key] = arguments[_key];
|
|
1504
1572
|
}
|
|
@@ -1509,17 +1577,17 @@ var useThrottledEffect = function(cb, delay, additionalDeps) {
|
|
|
1509
1577
|
}), [
|
|
1510
1578
|
delay
|
|
1511
1579
|
]);
|
|
1512
|
-
(0,
|
|
1580
|
+
(0, import_react26.useEffect)(function() {
|
|
1513
1581
|
cbRef.current = cb;
|
|
1514
1582
|
});
|
|
1515
|
-
(0,
|
|
1583
|
+
(0, import_react26.useEffect)(throttledCb, [
|
|
1516
1584
|
throttledCb
|
|
1517
1585
|
].concat(_to_consumable_array(additionalDeps)));
|
|
1518
1586
|
};
|
|
1519
1587
|
// src/hooks/misc/useInfiniteScroll/index.tsx
|
|
1520
1588
|
var useInfiniteScroll = function(param) {
|
|
1521
1589
|
var isFetchingNextPage = param.isFetchingNextPage, hasNextPage = param.hasNextPage, fetchNextPage = param.fetchNextPage;
|
|
1522
|
-
var containerRef = (0,
|
|
1590
|
+
var containerRef = (0, import_react27.useRef)(null);
|
|
1523
1591
|
var _ref = (0, import_react_intersection_observer.useInView)({
|
|
1524
1592
|
root: containerRef.current,
|
|
1525
1593
|
rootMargin: "0px",
|
|
@@ -1544,8 +1612,9 @@ var useInfiniteScroll = function(param) {
|
|
|
1544
1612
|
};
|
|
1545
1613
|
};
|
|
1546
1614
|
// src/hooks/runs/useManageRuns/index.tsx
|
|
1615
|
+
var import_sonner3 = require("sonner");
|
|
1547
1616
|
var import_react_query6 = require("@tanstack/react-query");
|
|
1548
|
-
var
|
|
1617
|
+
var import_react28 = require("react");
|
|
1549
1618
|
// src/hooks/runs/useCreateRun/index.ts
|
|
1550
1619
|
var import_radash4 = require("radash");
|
|
1551
1620
|
var import_react_query5 = require("@tanstack/react-query");
|
|
@@ -1555,7 +1624,7 @@ var mutationOptions = function(param) {
|
|
|
1555
1624
|
var mutationKey = _to_consumable_array(mutationKeyBase).concat([
|
|
1556
1625
|
threadContext.variables
|
|
1557
1626
|
]);
|
|
1558
|
-
return
|
|
1627
|
+
return _object_spread_props(_object_spread({
|
|
1559
1628
|
mutationFn: function(variables) {
|
|
1560
1629
|
return fetch("".concat(superinterfaceContext.baseUrl).concat(path), _object_spread({
|
|
1561
1630
|
method: "POST",
|
|
@@ -1573,7 +1642,7 @@ var mutationOptions = function(param) {
|
|
|
1573
1642
|
case 0:
|
|
1574
1643
|
if (!(response.status !== 200)) return [
|
|
1575
1644
|
3,
|
|
1576
|
-
|
|
1645
|
+
5
|
|
1577
1646
|
];
|
|
1578
1647
|
_state.label = 1;
|
|
1579
1648
|
case 1:
|
|
@@ -1583,17 +1652,23 @@ var mutationOptions = function(param) {
|
|
|
1583
1652
|
,
|
|
1584
1653
|
4
|
|
1585
1654
|
]);
|
|
1655
|
+
console.log("response", response);
|
|
1586
1656
|
return [
|
|
1587
1657
|
4,
|
|
1588
1658
|
response.json()
|
|
1589
1659
|
];
|
|
1590
1660
|
case 2:
|
|
1591
1661
|
errorResponse = _state.sent();
|
|
1592
|
-
|
|
1662
|
+
return [
|
|
1663
|
+
3,
|
|
1664
|
+
4
|
|
1665
|
+
];
|
|
1593
1666
|
case 3:
|
|
1594
1667
|
error = _state.sent();
|
|
1595
1668
|
throw new Error("Failed to fetch");
|
|
1596
1669
|
case 4:
|
|
1670
|
+
throw new Error(errorResponse.error);
|
|
1671
|
+
case 5:
|
|
1597
1672
|
return [
|
|
1598
1673
|
2,
|
|
1599
1674
|
response.json()
|
|
@@ -1606,9 +1681,9 @@ var mutationOptions = function(param) {
|
|
|
1606
1681
|
};
|
|
1607
1682
|
}());
|
|
1608
1683
|
}
|
|
1609
|
-
}, queryClient.getMutationDefaults(mutationKey)), {
|
|
1684
|
+
}, threadContext.defaultOptions.mutations, queryClient.getMutationDefaults(mutationKey)), {
|
|
1610
1685
|
mutationKey: mutationKey
|
|
1611
|
-
})
|
|
1686
|
+
});
|
|
1612
1687
|
};
|
|
1613
1688
|
// src/hooks/runs/useCreateRun/lib/onSuccess.ts
|
|
1614
1689
|
var onSuccess = function(param) {
|
|
@@ -1827,7 +1902,22 @@ var useManageRuns = function() {
|
|
|
1827
1902
|
var latestMessageProps = useLatestMessage();
|
|
1828
1903
|
var createRunProps = useCreateRun();
|
|
1829
1904
|
var threadContext = useSuperinterfaceContext();
|
|
1830
|
-
(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() {
|
|
1831
1921
|
if (createRunProps.isPending) return;
|
|
1832
1922
|
if (latestRunProps.isFetching) return;
|
|
1833
1923
|
if (latestMessageProps.isFetching) return;
|
|
@@ -1903,19 +1993,35 @@ var refetch = function() {
|
|
|
1903
1993
|
var usePolling = function() {
|
|
1904
1994
|
var threadContext = useSuperinterfaceContext();
|
|
1905
1995
|
var queryClient = (0, import_react_query7.useQueryClient)();
|
|
1996
|
+
var setIsPollRefetching = usePollingContext().setIsPollRefetching;
|
|
1906
1997
|
var isRunActiveProps = useIsRunActive();
|
|
1907
|
-
(0, import_react_use.useInterval)(function() {
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
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
|
+
}
|
|
1911
2018
|
});
|
|
1912
|
-
|
|
1913
|
-
}, isRunActiveProps.isRunActive ? 3e3 : null);
|
|
2019
|
+
}), isRunActiveProps.isRunActive ? 3e3 : null);
|
|
1914
2020
|
return null;
|
|
1915
2021
|
};
|
|
1916
2022
|
// src/hooks/actions/useManageActions/index.tsx
|
|
1917
2023
|
var import_react_query9 = require("@tanstack/react-query");
|
|
1918
|
-
var
|
|
2024
|
+
var import_react29 = require("react");
|
|
1919
2025
|
// src/hooks/actions/useHandleAction/index.tsx
|
|
1920
2026
|
var import_radash5 = require("radash");
|
|
1921
2027
|
var import_react_query8 = require("@tanstack/react-query");
|
|
@@ -1988,7 +2094,7 @@ var useManageActions = function() {
|
|
|
1988
2094
|
var threadContext = useSuperinterfaceContext();
|
|
1989
2095
|
var latestRunProps = useLatestRun();
|
|
1990
2096
|
var handleActionProps = useHandleAction();
|
|
1991
|
-
(0,
|
|
2097
|
+
(0, import_react29.useEffect)(function() {
|
|
1992
2098
|
if (handleActionProps.isPending) return;
|
|
1993
2099
|
if (latestRunProps.isFetching) return;
|
|
1994
2100
|
if (!latestRunProps.latestRun) return;
|
|
@@ -2020,7 +2126,7 @@ var useLifecycle = function() {
|
|
|
2020
2126
|
return null;
|
|
2021
2127
|
};
|
|
2022
2128
|
// src/components/threads/Thread/Messages/Root/index.tsx
|
|
2023
|
-
var
|
|
2129
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
2024
2130
|
var Root = function(param) {
|
|
2025
2131
|
var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
|
|
2026
2132
|
var _useMessages = useMessages(), isFetchingNextPage = _useMessages.isFetchingNextPage, hasNextPage = _useMessages.hasNextPage, fetchNextPage = _useMessages.fetchNextPage;
|
|
@@ -2030,7 +2136,7 @@ var Root = function(param) {
|
|
|
2030
2136
|
hasNextPage: hasNextPage,
|
|
2031
2137
|
fetchNextPage: fetchNextPage
|
|
2032
2138
|
}), containerRef = _useInfiniteScroll.containerRef, loaderRef = _useInfiniteScroll.loaderRef;
|
|
2033
|
-
return /* @__PURE__ */ (0,
|
|
2139
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_themes29.Flex, {
|
|
2034
2140
|
ref: containerRef,
|
|
2035
2141
|
direction: "column-reverse",
|
|
2036
2142
|
flexGrow: "1",
|
|
@@ -2039,10 +2145,10 @@ var Root = function(param) {
|
|
|
2039
2145
|
}),
|
|
2040
2146
|
children: [
|
|
2041
2147
|
children,
|
|
2042
|
-
hasNextPage && /* @__PURE__ */ (0,
|
|
2148
|
+
hasNextPage && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_themes29.Flex, {
|
|
2043
2149
|
ref: loaderRef
|
|
2044
2150
|
}),
|
|
2045
|
-
/* @__PURE__ */ (0,
|
|
2151
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_themes29.Flex, {
|
|
2046
2152
|
flexShrink: "0",
|
|
2047
2153
|
flexGrow: "1"
|
|
2048
2154
|
})
|
|
@@ -2050,30 +2156,30 @@ var Root = function(param) {
|
|
|
2050
2156
|
});
|
|
2051
2157
|
};
|
|
2052
2158
|
// src/components/threads/Thread/Messages/NextPageSkeleton.tsx
|
|
2053
|
-
var
|
|
2159
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
2054
2160
|
var NextPageSkeleton = function() {
|
|
2055
2161
|
var hasNextPage = useMessages().hasNextPage;
|
|
2056
2162
|
if (!hasNextPage) {
|
|
2057
2163
|
return null;
|
|
2058
2164
|
}
|
|
2059
|
-
return /* @__PURE__ */ (0,
|
|
2165
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(MessagesSkeleton, {});
|
|
2060
2166
|
};
|
|
2061
2167
|
// src/components/threads/Thread/Messages/index.tsx
|
|
2062
|
-
var
|
|
2168
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
2063
2169
|
var Messages = function(param) {
|
|
2064
2170
|
var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
|
|
2065
|
-
return /* @__PURE__ */ (0,
|
|
2171
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(Root, {
|
|
2066
2172
|
style: style,
|
|
2067
2173
|
children: [
|
|
2068
|
-
/* @__PURE__ */ (0,
|
|
2174
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_themes30.Flex, {
|
|
2069
2175
|
flexShrink: "0",
|
|
2070
2176
|
height: "var(--space-3)"
|
|
2071
2177
|
}),
|
|
2072
|
-
/* @__PURE__ */ (0,
|
|
2178
|
+
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Progress, {}),
|
|
2073
2179
|
children,
|
|
2074
|
-
/* @__PURE__ */ (0,
|
|
2075
|
-
/* @__PURE__ */ (0,
|
|
2076
|
-
/* @__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, {
|
|
2077
2183
|
flexShrink: "0",
|
|
2078
2184
|
flexGrow: "1"
|
|
2079
2185
|
})
|
|
@@ -2084,59 +2190,38 @@ Messages.Root = Root;
|
|
|
2084
2190
|
Messages.Message = Message;
|
|
2085
2191
|
Messages.NextPageSkeleton = NextPageSkeleton;
|
|
2086
2192
|
// src/components/threads/Thread/MessageForm/index.tsx
|
|
2087
|
-
var
|
|
2193
|
+
var import_themes33 = require("@radix-ui/themes");
|
|
2088
2194
|
// src/components/threads/Thread/MessageForm/Submit/index.tsx
|
|
2089
2195
|
var import_react_icons5 = require("@radix-ui/react-icons");
|
|
2090
|
-
var
|
|
2091
|
-
// src/components/spinners/Spinner/index.tsx
|
|
2092
|
-
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
2093
|
-
var Spinner = function(props) {
|
|
2094
|
-
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("svg", _object_spread_props(_object_spread({
|
|
2095
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
2096
|
-
width: "24",
|
|
2097
|
-
height: "24",
|
|
2098
|
-
viewBox: "0 0 24 24",
|
|
2099
|
-
fill: "none",
|
|
2100
|
-
stroke: "currentColor",
|
|
2101
|
-
strokeWidth: "2",
|
|
2102
|
-
strokeLinecap: "round",
|
|
2103
|
-
strokeLinejoin: "round",
|
|
2104
|
-
style: {
|
|
2105
|
-
height: "var(--space-4)",
|
|
2106
|
-
width: "var(--space-4)",
|
|
2107
|
-
animation: "spin 1s linear infinite"
|
|
2108
|
-
}
|
|
2109
|
-
}, props), {
|
|
2110
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("path", {
|
|
2111
|
-
d: "M21 12a9 9 0 1 1-6.219-8.56"
|
|
2112
|
-
})
|
|
2113
|
-
}));
|
|
2114
|
-
};
|
|
2196
|
+
var import_themes31 = require("@radix-ui/themes");
|
|
2115
2197
|
// src/hooks/messages/useMessageFormContext/index.ts
|
|
2116
|
-
var
|
|
2198
|
+
var import_react31 = require("react");
|
|
2117
2199
|
// src/contexts/messages/MessageFormContext/index.ts
|
|
2118
|
-
var
|
|
2119
|
-
var MessageFormContext = (0,
|
|
2200
|
+
var import_react30 = require("react");
|
|
2201
|
+
var MessageFormContext = (0, import_react30.createContext)({
|
|
2120
2202
|
isDisabled: false,
|
|
2121
2203
|
isLoading: false
|
|
2122
2204
|
});
|
|
2123
2205
|
// src/hooks/messages/useMessageFormContext/index.ts
|
|
2124
2206
|
var useMessageFormContext = function() {
|
|
2125
|
-
return (0,
|
|
2207
|
+
return (0, import_react31.useContext)(MessageFormContext);
|
|
2126
2208
|
};
|
|
2127
2209
|
// src/components/threads/Thread/MessageForm/Submit/index.tsx
|
|
2128
2210
|
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
2129
2211
|
var Submit = function() {
|
|
2130
2212
|
var _useMessageFormContext = useMessageFormContext(), isDisabled = _useMessageFormContext.isDisabled, isLoading = _useMessageFormContext.isLoading;
|
|
2131
|
-
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2213
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_themes31.Button, {
|
|
2132
2214
|
type: "submit",
|
|
2133
2215
|
radius: "large",
|
|
2134
|
-
disabled: isDisabled,
|
|
2135
|
-
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
|
+
})
|
|
2136
2221
|
});
|
|
2137
2222
|
};
|
|
2138
2223
|
// src/components/threads/Thread/MessageForm/Root/index.tsx
|
|
2139
|
-
var
|
|
2224
|
+
var import_react32 = require("react");
|
|
2140
2225
|
var import_react_hook_form = require("react-hook-form");
|
|
2141
2226
|
// src/hooks/messages/useCreateMessage/index.ts
|
|
2142
2227
|
var import_radash8 = require("radash");
|
|
@@ -2323,7 +2408,7 @@ var Root2 = function(param) {
|
|
|
2323
2408
|
var formProps = (0, import_react_hook_form.useForm)(formOptions);
|
|
2324
2409
|
var handleSubmit = formProps.handleSubmit, isSubmitting = formProps.formState.isSubmitting, reset = formProps.reset;
|
|
2325
2410
|
var _useIsRunActive = useIsRunActive(), isRunActive2 = _useIsRunActive.isRunActive;
|
|
2326
|
-
var isLoading = (0,
|
|
2411
|
+
var isLoading = (0, import_react32.useMemo)(function() {
|
|
2327
2412
|
return isRunActive2 || isSubmitting;
|
|
2328
2413
|
}, [
|
|
2329
2414
|
isRunActive2,
|
|
@@ -2355,7 +2440,7 @@ var Root2 = function(param) {
|
|
|
2355
2440
|
};
|
|
2356
2441
|
}();
|
|
2357
2442
|
var latestMessage = useLatestMessage().latestMessage;
|
|
2358
|
-
var isDisabled = (0,
|
|
2443
|
+
var isDisabled = (0, import_react32.useMemo)(function() {
|
|
2359
2444
|
var // @ts-ignore-next-line
|
|
2360
2445
|
_latestMessage_metadata;
|
|
2361
2446
|
return latestMessage === null || latestMessage === void 0 ? void 0 : (_latestMessage_metadata = latestMessage.metadata) === null || _latestMessage_metadata === void 0 ? void 0 : _latestMessage_metadata.isBlocking;
|
|
@@ -2378,46 +2463,56 @@ var Root2 = function(param) {
|
|
|
2378
2463
|
};
|
|
2379
2464
|
// src/components/threads/Thread/MessageForm/Field/index.tsx
|
|
2380
2465
|
var import_react_use2 = require("react-use");
|
|
2381
|
-
var
|
|
2466
|
+
var import_react34 = require("react");
|
|
2382
2467
|
// src/components/textareas/TextareaBase/index.tsx
|
|
2383
|
-
var
|
|
2468
|
+
var import_react33 = require("react");
|
|
2384
2469
|
var import_react_textarea_autosize = __toESM(require("react-textarea-autosize"), 1);
|
|
2385
2470
|
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
2386
2471
|
var UPSCALE_RATIO = 16 / 14;
|
|
2387
|
-
var TextareaBase = (0,
|
|
2388
|
-
return /* @__PURE__ */ (0, import_jsx_runtime40.
|
|
2389
|
-
|
|
2390
|
-
|
|
2391
|
-
|
|
2392
|
-
|
|
2393
|
-
|
|
2394
|
-
|
|
2395
|
-
|
|
2396
|
-
|
|
2397
|
-
|
|
2398
|
-
|
|
2399
|
-
|
|
2400
|
-
|
|
2401
|
-
|
|
2402
|
-
|
|
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: "rt-reset 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
|
+
});
|
|
2403
2498
|
});
|
|
2404
2499
|
// src/components/threads/Thread/MessageForm/Field/index.tsx
|
|
2405
2500
|
var import_react_hook_form2 = require("react-hook-form");
|
|
2406
|
-
var
|
|
2501
|
+
var import_themes32 = require("@radix-ui/themes");
|
|
2407
2502
|
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
2408
2503
|
var Root3 = function(param) {
|
|
2409
2504
|
var children = param.children;
|
|
2410
2505
|
var _ref = (0, import_react_hook_form2.useFormContext)(), errors = _ref.formState.errors;
|
|
2411
|
-
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
2506
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_themes32.Container, {
|
|
2412
2507
|
size: "2",
|
|
2413
2508
|
flexGrow: "0",
|
|
2414
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
2509
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_themes32.Flex, {
|
|
2415
2510
|
direction: "column",
|
|
2416
2511
|
flexShrink: "0",
|
|
2417
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
2512
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_themes32.Flex, {
|
|
2418
2513
|
direction: "column",
|
|
2419
2514
|
flexShrink: "0",
|
|
2420
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
2515
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_themes32.Flex, {
|
|
2421
2516
|
style: _object_spread({
|
|
2422
2517
|
borderRadius: "var(--radius-2)",
|
|
2423
2518
|
borderWidth: "1px",
|
|
@@ -2435,19 +2530,19 @@ var Root3 = function(param) {
|
|
|
2435
2530
|
});
|
|
2436
2531
|
};
|
|
2437
2532
|
var Control = function() {
|
|
2438
|
-
var assistantNameContext = (0,
|
|
2533
|
+
var assistantNameContext = (0, import_react34.useContext)(AssistantNameContext);
|
|
2439
2534
|
var register = (0, import_react_hook_form2.useFormContext)().register;
|
|
2440
2535
|
var _useMessageFormContext = useMessageFormContext(), isDisabled = _useMessageFormContext.isDisabled, isLoading = _useMessageFormContext.isLoading;
|
|
2441
|
-
var isSubmitDisabled = (0,
|
|
2536
|
+
var isSubmitDisabled = (0, import_react34.useMemo)(function() {
|
|
2442
2537
|
return isDisabled || isLoading;
|
|
2443
2538
|
}, [
|
|
2444
2539
|
isDisabled,
|
|
2445
2540
|
isLoading
|
|
2446
2541
|
]);
|
|
2447
2542
|
var isDisabledPrevious = (0, import_react_use2.usePrevious)(isDisabled);
|
|
2448
|
-
var textareaRef = (0,
|
|
2543
|
+
var textareaRef = (0, import_react34.useRef)(null);
|
|
2449
2544
|
var textareaProps = register("content");
|
|
2450
|
-
(0,
|
|
2545
|
+
(0, import_react34.useEffect)(function() {
|
|
2451
2546
|
if (isDisabled) return;
|
|
2452
2547
|
if (!isDisabledPrevious) return;
|
|
2453
2548
|
if (!textareaRef.current) return;
|
|
@@ -2486,18 +2581,18 @@ var MessageForm = function() {
|
|
|
2486
2581
|
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Root2, {
|
|
2487
2582
|
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Field.Root, {
|
|
2488
2583
|
children: [
|
|
2489
|
-
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
2584
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes33.Text, {
|
|
2490
2585
|
size: "2",
|
|
2491
2586
|
style: {
|
|
2492
2587
|
flexGrow: 1
|
|
2493
2588
|
},
|
|
2494
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
2589
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes33.Flex, {
|
|
2495
2590
|
flexGrow: "1",
|
|
2496
2591
|
direction: "column",
|
|
2497
2592
|
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Field.Control, {})
|
|
2498
2593
|
})
|
|
2499
2594
|
}),
|
|
2500
|
-
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
2595
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes33.Flex, {
|
|
2501
2596
|
flexShrink: "0",
|
|
2502
2597
|
align: "end",
|
|
2503
2598
|
children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Submit, {})
|
|
@@ -2510,14 +2605,36 @@ MessageForm.Root = Root2;
|
|
|
2510
2605
|
MessageForm.Field = Field;
|
|
2511
2606
|
MessageForm.Submit = Submit;
|
|
2512
2607
|
// src/components/threads/Thread/Root/index.tsx
|
|
2513
|
-
var
|
|
2608
|
+
var import_themes34 = require("@radix-ui/themes");
|
|
2609
|
+
// src/components/runs/PollingProvider/index.tsx
|
|
2610
|
+
var import_react35 = require("react");
|
|
2514
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");
|
|
2515
2632
|
var Root4 = function(_param) {
|
|
2516
2633
|
var children = _param.children, rest = _object_without_properties(_param, [
|
|
2517
2634
|
"children"
|
|
2518
2635
|
]);
|
|
2519
|
-
return /* @__PURE__ */ (0,
|
|
2520
|
-
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, {
|
|
2521
2638
|
direction: "column",
|
|
2522
2639
|
flexGrow: "1",
|
|
2523
2640
|
children: children
|
|
@@ -2525,40 +2642,45 @@ var Root4 = function(_param) {
|
|
|
2525
2642
|
}));
|
|
2526
2643
|
};
|
|
2527
2644
|
// src/components/threads/Thread/index.tsx
|
|
2528
|
-
var
|
|
2645
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
2529
2646
|
var Thread = function(props) {
|
|
2530
|
-
return /* @__PURE__ */ (0,
|
|
2647
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(Root4, _object_spread_props(_object_spread({}, props), {
|
|
2531
2648
|
children: [
|
|
2532
|
-
/* @__PURE__ */ (0,
|
|
2533
|
-
/* @__PURE__ */ (0,
|
|
2649
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Messages, {}),
|
|
2650
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(MessageForm, {})
|
|
2534
2651
|
]
|
|
2535
2652
|
}));
|
|
2536
2653
|
};
|
|
2537
2654
|
Thread.Root = Root4;
|
|
2538
2655
|
Thread.Messages = Messages;
|
|
2539
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
|
+
};
|
|
2540
2662
|
// src/components/threads/ThreadDialog/Root/index.tsx
|
|
2541
|
-
var
|
|
2663
|
+
var import_themes35 = require("@radix-ui/themes");
|
|
2542
2664
|
// src/components/threads/ThreadDialog/Provider/index.tsx
|
|
2543
|
-
var
|
|
2665
|
+
var import_react39 = require("react");
|
|
2544
2666
|
// src/contexts/threads/ThreadDialogContext/index.ts
|
|
2545
|
-
var
|
|
2546
|
-
var ThreadDialogContext = (0,
|
|
2667
|
+
var import_react37 = require("react");
|
|
2668
|
+
var ThreadDialogContext = (0, import_react37.createContext)({
|
|
2547
2669
|
isOpen: false,
|
|
2548
2670
|
setIsOpen: function() {}
|
|
2549
2671
|
});
|
|
2550
2672
|
// src/hooks/threads/useThreadDialogContext/index.ts
|
|
2551
|
-
var
|
|
2673
|
+
var import_react38 = require("react");
|
|
2552
2674
|
var useThreadDialogContext = function() {
|
|
2553
|
-
return (0,
|
|
2675
|
+
return (0, import_react38.useContext)(ThreadDialogContext);
|
|
2554
2676
|
};
|
|
2555
2677
|
// src/components/threads/ThreadDialog/Provider/index.tsx
|
|
2556
|
-
var
|
|
2557
|
-
var
|
|
2678
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
2679
|
+
var Provider3 = function(param) {
|
|
2558
2680
|
var children = param.children;
|
|
2559
2681
|
var threadDialogContext = useThreadDialogContext();
|
|
2560
|
-
var _ref = _sliced_to_array((0,
|
|
2561
|
-
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, {
|
|
2562
2684
|
value: {
|
|
2563
2685
|
isOpen: isOpen,
|
|
2564
2686
|
setIsOpen: setIsOpen
|
|
@@ -2567,11 +2689,11 @@ var Provider = function(param) {
|
|
|
2567
2689
|
});
|
|
2568
2690
|
};
|
|
2569
2691
|
// src/components/threads/ThreadDialog/Root/index.tsx
|
|
2570
|
-
var
|
|
2692
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
2571
2693
|
var Root5 = function(param) {
|
|
2572
2694
|
var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
|
|
2573
|
-
return /* @__PURE__ */ (0,
|
|
2574
|
-
children: /* @__PURE__ */ (0,
|
|
2695
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Provider3, {
|
|
2696
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_themes35.Flex, {
|
|
2575
2697
|
direction: "column",
|
|
2576
2698
|
justify: "end",
|
|
2577
2699
|
align: "end",
|
|
@@ -2587,12 +2709,12 @@ var Root5 = function(param) {
|
|
|
2587
2709
|
});
|
|
2588
2710
|
};
|
|
2589
2711
|
// src/components/threads/ThreadDialog/Trigger/index.tsx
|
|
2590
|
-
var
|
|
2591
|
-
var
|
|
2712
|
+
var import_themes36 = require("@radix-ui/themes");
|
|
2713
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
2592
2714
|
var Trigger = function(param) {
|
|
2593
2715
|
var children = param.children;
|
|
2594
2716
|
var setIsOpen = useThreadDialogContext().setIsOpen;
|
|
2595
|
-
return /* @__PURE__ */ (0,
|
|
2717
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_themes36.Flex, {
|
|
2596
2718
|
onClick: function() {
|
|
2597
2719
|
return setIsOpen(function(prev) {
|
|
2598
2720
|
return !prev;
|
|
@@ -2604,24 +2726,24 @@ var Trigger = function(param) {
|
|
|
2604
2726
|
});
|
|
2605
2727
|
};
|
|
2606
2728
|
// src/components/threads/ThreadDialog/Button/index.tsx
|
|
2607
|
-
var
|
|
2729
|
+
var import_themes37 = require("@radix-ui/themes");
|
|
2608
2730
|
var import_react_icons6 = require("@radix-ui/react-icons");
|
|
2609
|
-
var
|
|
2731
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
2610
2732
|
var Button3 = function() {
|
|
2611
|
-
return /* @__PURE__ */ (0,
|
|
2733
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_themes37.IconButton, {
|
|
2612
2734
|
size: "4",
|
|
2613
2735
|
radius: "full",
|
|
2614
|
-
children: /* @__PURE__ */ (0,
|
|
2736
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_react_icons6.ChatBubbleIcon, {})
|
|
2615
2737
|
});
|
|
2616
2738
|
};
|
|
2617
2739
|
// src/components/threads/ThreadDialog/Content/index.tsx
|
|
2618
|
-
var
|
|
2619
|
-
var
|
|
2740
|
+
var import_themes38 = require("@radix-ui/themes");
|
|
2741
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
2620
2742
|
var Root6 = function(param) {
|
|
2621
2743
|
var children = param.children;
|
|
2622
2744
|
var isOpen = useThreadDialogContext().isOpen;
|
|
2623
2745
|
if (!isOpen) return null;
|
|
2624
|
-
return /* @__PURE__ */ (0,
|
|
2746
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_themes38.Card, {
|
|
2625
2747
|
mb: "3",
|
|
2626
2748
|
style: {
|
|
2627
2749
|
display: "flex",
|
|
@@ -2630,7 +2752,7 @@ var Root6 = function(param) {
|
|
|
2630
2752
|
maxWidth: "400px",
|
|
2631
2753
|
maxHeight: "720px"
|
|
2632
2754
|
},
|
|
2633
|
-
children: /* @__PURE__ */ (0,
|
|
2755
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_themes38.Inset, {
|
|
2634
2756
|
clip: "padding-box",
|
|
2635
2757
|
side: "all",
|
|
2636
2758
|
pb: "current",
|
|
@@ -2643,21 +2765,23 @@ var Root6 = function(param) {
|
|
|
2643
2765
|
});
|
|
2644
2766
|
};
|
|
2645
2767
|
var Content4 = function() {
|
|
2646
|
-
return /* @__PURE__ */ (0,
|
|
2647
|
-
children: /* @__PURE__ */ (0,
|
|
2768
|
+
return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Root6, {
|
|
2769
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(Thread.Root, {
|
|
2648
2770
|
children: [
|
|
2649
|
-
/* @__PURE__ */ (0,
|
|
2771
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Thread.Messages, {
|
|
2650
2772
|
style: {
|
|
2651
|
-
|
|
2773
|
+
paddingTop: "var(--space-5)",
|
|
2774
|
+
paddingRight: "var(--space-5)",
|
|
2775
|
+
paddingLeft: "var(--space-5)"
|
|
2652
2776
|
}
|
|
2653
2777
|
}),
|
|
2654
|
-
/* @__PURE__ */ (0,
|
|
2778
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_themes38.Flex, {
|
|
2655
2779
|
direction: "column",
|
|
2656
2780
|
pl: "5",
|
|
2657
2781
|
pr: "5",
|
|
2658
2782
|
pb: "3",
|
|
2659
2783
|
flexShrink: "0",
|
|
2660
|
-
children: /* @__PURE__ */ (0,
|
|
2784
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Thread.MessageForm, {})
|
|
2661
2785
|
})
|
|
2662
2786
|
]
|
|
2663
2787
|
})
|
|
@@ -2665,13 +2789,13 @@ var Content4 = function() {
|
|
|
2665
2789
|
};
|
|
2666
2790
|
Content4.Root = Root6;
|
|
2667
2791
|
// src/components/threads/ThreadDialog/index.tsx
|
|
2668
|
-
var
|
|
2792
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
2669
2793
|
var ThreadDialog = function() {
|
|
2670
|
-
return /* @__PURE__ */ (0,
|
|
2794
|
+
return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(Root5, {
|
|
2671
2795
|
children: [
|
|
2672
|
-
/* @__PURE__ */ (0,
|
|
2673
|
-
/* @__PURE__ */ (0,
|
|
2674
|
-
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, {})
|
|
2675
2799
|
})
|
|
2676
2800
|
]
|
|
2677
2801
|
});
|
|
@@ -2682,12 +2806,10 @@ ThreadDialog.Button = Button3;
|
|
|
2682
2806
|
ThreadDialog.Content = Content4;
|
|
2683
2807
|
// src/components/threads/AudioThread/Root/index.tsx
|
|
2684
2808
|
var import_runtime = require("regenerator-runtime/runtime");
|
|
2685
|
-
var
|
|
2686
|
-
var import_themes38 = require("@radix-ui/themes");
|
|
2687
|
-
var import_react_speech_recognition = __toESM(require("react-speech-recognition"), 1);
|
|
2809
|
+
var import_themes39 = require("@radix-ui/themes");
|
|
2688
2810
|
// src/contexts/threads/AudioThreadContext/index.ts
|
|
2689
|
-
var
|
|
2690
|
-
var AudioThreadContext = (0,
|
|
2811
|
+
var import_react40 = require("react");
|
|
2812
|
+
var AudioThreadContext = (0, import_react40.createContext)({
|
|
2691
2813
|
status: "idle",
|
|
2692
2814
|
recorderProps: {
|
|
2693
2815
|
status: "idle",
|
|
@@ -2744,12 +2866,22 @@ var AudioThreadContext = (0, import_react34.createContext)({
|
|
|
2744
2866
|
});
|
|
2745
2867
|
// src/components/threads/AudioThread/Root/index.tsx
|
|
2746
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
|
+
};
|
|
2747
2879
|
// src/hooks/audioThreads/useStatus/index.ts
|
|
2748
|
-
var
|
|
2880
|
+
var import_react41 = require("react");
|
|
2749
2881
|
var useStatus = function(param) {
|
|
2750
2882
|
var messageAudioProps = param.messageAudioProps, recorderProps = param.recorderProps, createMessageProps = param.createMessageProps;
|
|
2751
2883
|
var isRunActiveProps = useIsRunActive();
|
|
2752
|
-
var status = (0,
|
|
2884
|
+
var status = (0, import_react41.useMemo)(function() {
|
|
2753
2885
|
if (recorderProps.status === "recording") return "recording";
|
|
2754
2886
|
if (createMessageProps.isPending) return "creatingMessage";
|
|
2755
2887
|
if (isRunActiveProps.isRunActive) return "runActive";
|
|
@@ -2772,27 +2904,21 @@ var useStatus = function(param) {
|
|
|
2772
2904
|
// src/hooks/audioThreads/useRecorder/index.ts
|
|
2773
2905
|
var import_dayjs = __toESM(require("dayjs"), 1);
|
|
2774
2906
|
var import_use_audio_capture = require("use-audio-capture");
|
|
2775
|
-
var
|
|
2907
|
+
var import_react42 = require("react");
|
|
2776
2908
|
var import_react_use_audio_player = require("react-use-audio-player");
|
|
2777
2909
|
var import_react_use3 = require("react-use");
|
|
2778
2910
|
var useRecorder = function(param) {
|
|
2779
2911
|
var isStopOnSilence = param.isStopOnSilence, onStart = param.onStart, onStop = param.onStop;
|
|
2780
|
-
var _ref = _sliced_to_array((0,
|
|
2781
|
-
var _ref1 = _sliced_to_array((0,
|
|
2782
|
-
var _ref2 = _sliced_to_array((0,
|
|
2783
|
-
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];
|
|
2784
2916
|
var startAudioPlayer = (0, import_react_use_audio_player.useAudioPlayer)();
|
|
2785
2917
|
var endAudioPlayer = (0, import_react_use_audio_player.useAudioPlayer)();
|
|
2786
|
-
var _ref4 = _sliced_to_array((0,
|
|
2787
|
-
(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() {
|
|
2788
2920
|
if (isLoaded) return;
|
|
2789
2921
|
setIsLoaded(true);
|
|
2790
|
-
startAudioPlayer.load("/sounds/warning.wav", {
|
|
2791
|
-
html5: true
|
|
2792
|
-
});
|
|
2793
|
-
endAudioPlayer.load("/sounds/success.wav", {
|
|
2794
|
-
html5: true
|
|
2795
|
-
});
|
|
2796
2922
|
}, [
|
|
2797
2923
|
isLoaded,
|
|
2798
2924
|
startAudioPlayer,
|
|
@@ -2800,7 +2926,6 @@ var useRecorder = function(param) {
|
|
|
2800
2926
|
]);
|
|
2801
2927
|
var audioCaptureProps = (0, import_use_audio_capture.useAudioCapture)({
|
|
2802
2928
|
onStart: function(event, opts) {
|
|
2803
|
-
startAudioPlayer.play();
|
|
2804
2929
|
setStatus("recording");
|
|
2805
2930
|
setMediaStream(opts.mediaStream);
|
|
2806
2931
|
isInited.current = false;
|
|
@@ -2817,7 +2942,6 @@ var useRecorder = function(param) {
|
|
|
2817
2942
|
for(_len = _arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
|
|
2818
2943
|
args[_key] = _arguments[_key];
|
|
2819
2944
|
}
|
|
2820
|
-
endAudioPlayer.play();
|
|
2821
2945
|
setStatus("stopped");
|
|
2822
2946
|
if (!onStop) return [
|
|
2823
2947
|
3,
|
|
@@ -2850,9 +2974,9 @@ var useRecorder = function(param) {
|
|
|
2850
2974
|
setNoiseStart(null);
|
|
2851
2975
|
}
|
|
2852
2976
|
});
|
|
2853
|
-
var _ref5 = _sliced_to_array((0,
|
|
2854
|
-
var isInited = (0,
|
|
2855
|
-
(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() {
|
|
2856
2980
|
if (!mediaStream) return;
|
|
2857
2981
|
if (isInited.current) return;
|
|
2858
2982
|
isInited.current = true;
|
|
@@ -2865,7 +2989,7 @@ var useRecorder = function(param) {
|
|
|
2865
2989
|
isInited,
|
|
2866
2990
|
mediaStream
|
|
2867
2991
|
]);
|
|
2868
|
-
var visualizationAnalyser = (0,
|
|
2992
|
+
var visualizationAnalyser = (0, import_react42.useMemo)(function() {
|
|
2869
2993
|
if (!audioEngine) return null;
|
|
2870
2994
|
var result = audioEngine.audioContext.createAnalyser();
|
|
2871
2995
|
audioEngine.source.connect(result);
|
|
@@ -2873,7 +2997,7 @@ var useRecorder = function(param) {
|
|
|
2873
2997
|
}, [
|
|
2874
2998
|
audioEngine
|
|
2875
2999
|
]);
|
|
2876
|
-
var silenceAnalyser = (0,
|
|
3000
|
+
var silenceAnalyser = (0, import_react42.useMemo)(function() {
|
|
2877
3001
|
if (!audioEngine) return null;
|
|
2878
3002
|
var result = audioEngine.audioContext.createAnalyser();
|
|
2879
3003
|
result.minDecibels = -45;
|
|
@@ -2882,7 +3006,7 @@ var useRecorder = function(param) {
|
|
|
2882
3006
|
}, [
|
|
2883
3007
|
audioEngine
|
|
2884
3008
|
]);
|
|
2885
|
-
var handleSilence = (0,
|
|
3009
|
+
var handleSilence = (0, import_react42.useCallback)(function() {
|
|
2886
3010
|
if (!silenceAnalyser) return;
|
|
2887
3011
|
var frequencyData = new Uint8Array(silenceAnalyser.frequencyBinCount);
|
|
2888
3012
|
silenceAnalyser.getByteFrequencyData(frequencyData);
|
|
@@ -2905,7 +3029,7 @@ var useRecorder = function(param) {
|
|
|
2905
3029
|
setNoiseStart,
|
|
2906
3030
|
setSilenceStart
|
|
2907
3031
|
]);
|
|
2908
|
-
(0,
|
|
3032
|
+
(0, import_react42.useEffect)(function() {
|
|
2909
3033
|
if (!isStopOnSilence) return;
|
|
2910
3034
|
requestAnimationFrame(function() {
|
|
2911
3035
|
return handleSilence();
|
|
@@ -2928,7 +3052,7 @@ var useRecorder = function(param) {
|
|
|
2928
3052
|
});
|
|
2929
3053
|
};
|
|
2930
3054
|
// src/hooks/audioThreads/useMessageAudio/index.ts
|
|
2931
|
-
var
|
|
3055
|
+
var import_react43 = require("react");
|
|
2932
3056
|
var import_howler = require("howler");
|
|
2933
3057
|
var import_react_use_audio_player2 = require("react-use-audio-player");
|
|
2934
3058
|
// src/hooks/audioThreads/useMessageAudio/lib/input.ts
|
|
@@ -2954,11 +3078,11 @@ var isHtmlAudioSupported = !unsupportedNames.includes(((_this = (0, import_detec
|
|
|
2954
3078
|
// src/hooks/audioThreads/useMessageAudio/index.ts
|
|
2955
3079
|
var useMessageAudio = function(param) {
|
|
2956
3080
|
var onEnd = param.onEnd;
|
|
2957
|
-
var _ref = _sliced_to_array((0,
|
|
3081
|
+
var _ref = _sliced_to_array((0, import_react43.useState)([]), 2), playedMessageIds = _ref[0], setPlayedMessageIds = _ref[1];
|
|
2958
3082
|
var audioPlayer = (0, import_react_use_audio_player2.useAudioPlayer)();
|
|
2959
3083
|
var superinterfaceContext = useSuperinterfaceContext();
|
|
2960
3084
|
var latestMessageProps = useLatestMessage();
|
|
2961
|
-
(0,
|
|
3085
|
+
(0, import_react43.useEffect)(function() {
|
|
2962
3086
|
if (audioPlayer.playing) return;
|
|
2963
3087
|
if (!latestMessageProps.latestMessage) return;
|
|
2964
3088
|
if (latestMessageProps.latestMessage.role !== "assistant") return;
|
|
@@ -2976,7 +3100,14 @@ var useMessageAudio = function(param) {
|
|
|
2976
3100
|
format: "mp3",
|
|
2977
3101
|
autoplay: true,
|
|
2978
3102
|
html5: isHtmlAudioSupported,
|
|
2979
|
-
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
|
+
})
|
|
2980
3111
|
});
|
|
2981
3112
|
}, [
|
|
2982
3113
|
superinterfaceContext,
|
|
@@ -2985,9 +3116,9 @@ var useMessageAudio = function(param) {
|
|
|
2985
3116
|
playedMessageIds,
|
|
2986
3117
|
onEnd
|
|
2987
3118
|
]);
|
|
2988
|
-
var isInited = (0,
|
|
2989
|
-
var _ref1 = _sliced_to_array((0,
|
|
2990
|
-
(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() {
|
|
2991
3122
|
if (!audioPlayer.playing) return;
|
|
2992
3123
|
if (isInited.current) return;
|
|
2993
3124
|
isInited.current = true;
|
|
@@ -3008,7 +3139,7 @@ var useMessageAudio = function(param) {
|
|
|
3008
3139
|
audioPlayer,
|
|
3009
3140
|
isInited
|
|
3010
3141
|
]);
|
|
3011
|
-
var visualizationAnalyser = (0,
|
|
3142
|
+
var visualizationAnalyser = (0, import_react43.useMemo)(function() {
|
|
3012
3143
|
if (!audioEngine) return null;
|
|
3013
3144
|
var result = audioEngine.audioContext.createAnalyser();
|
|
3014
3145
|
audioEngine.source.connect(audioEngine.audioContext.destination);
|
|
@@ -3022,48 +3153,47 @@ var useMessageAudio = function(param) {
|
|
|
3022
3153
|
});
|
|
3023
3154
|
};
|
|
3024
3155
|
// src/components/threads/AudioThread/Root/index.tsx
|
|
3025
|
-
var
|
|
3156
|
+
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
3026
3157
|
var Root7 = function(param) {
|
|
3027
3158
|
var children = param.children;
|
|
3028
3159
|
useLifecycle();
|
|
3029
3160
|
var createMessageProps = useCreateMessage();
|
|
3030
|
-
var _ref = (0, import_react_speech_recognition.useSpeechRecognition)(), transcript = _ref.transcript, resetTranscript = _ref.resetTranscript;
|
|
3031
|
-
var transcriptRef = (0, import_react38.useRef)(transcript);
|
|
3032
|
-
(0, import_react38.useEffect)(function() {
|
|
3033
|
-
transcriptRef.current = transcript;
|
|
3034
|
-
}, [
|
|
3035
|
-
transcript
|
|
3036
|
-
]);
|
|
3037
3161
|
var recorderProps = useRecorder({
|
|
3038
3162
|
isStopOnSilence: true,
|
|
3039
3163
|
onStart: /*#__PURE__*/ _async_to_generator(function() {
|
|
3040
3164
|
return _ts_generator(this, function(_state) {
|
|
3041
3165
|
console.log("start");
|
|
3042
|
-
resetTranscript();
|
|
3043
|
-
import_react_speech_recognition.default.default.startListening({
|
|
3044
|
-
continuous: true
|
|
3045
|
-
});
|
|
3046
3166
|
return [
|
|
3047
3167
|
2
|
|
3048
3168
|
];
|
|
3049
3169
|
});
|
|
3050
3170
|
}),
|
|
3051
3171
|
onStop: function() {
|
|
3052
|
-
var _ref = _async_to_generator(function(_event,
|
|
3172
|
+
var _ref = _async_to_generator(function(_event, chunks) {
|
|
3173
|
+
var blob, audioContent;
|
|
3053
3174
|
return _ts_generator(this, function(_state) {
|
|
3054
|
-
|
|
3055
|
-
|
|
3056
|
-
|
|
3057
|
-
|
|
3058
|
-
|
|
3059
|
-
|
|
3060
|
-
|
|
3061
|
-
|
|
3062
|
-
|
|
3063
|
-
|
|
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
|
+
}
|
|
3064
3194
|
});
|
|
3065
3195
|
});
|
|
3066
|
-
return function(_event,
|
|
3196
|
+
return function(_event, chunks) {
|
|
3067
3197
|
return _ref.apply(this, arguments);
|
|
3068
3198
|
};
|
|
3069
3199
|
}()
|
|
@@ -3083,13 +3213,13 @@ var Root7 = function(param) {
|
|
|
3083
3213
|
createMessageProps: createMessageProps,
|
|
3084
3214
|
messageAudioProps: messageAudioProps
|
|
3085
3215
|
}).status;
|
|
3086
|
-
return /* @__PURE__ */ (0,
|
|
3216
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(AudioThreadContext.Provider, {
|
|
3087
3217
|
value: {
|
|
3088
3218
|
status: status,
|
|
3089
3219
|
recorderProps: recorderProps,
|
|
3090
3220
|
messageAudioProps: messageAudioProps
|
|
3091
3221
|
},
|
|
3092
|
-
children: /* @__PURE__ */ (0,
|
|
3222
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_themes39.Flex, {
|
|
3093
3223
|
direction: "column",
|
|
3094
3224
|
flexGrow: "1",
|
|
3095
3225
|
p: "5",
|
|
@@ -3098,23 +3228,23 @@ var Root7 = function(param) {
|
|
|
3098
3228
|
});
|
|
3099
3229
|
};
|
|
3100
3230
|
// src/components/threads/AudioThread/Visualization/index.tsx
|
|
3101
|
-
var
|
|
3231
|
+
var import_themes40 = require("@radix-ui/themes");
|
|
3102
3232
|
// src/hooks/threads/useAudioThreadContext/index.ts
|
|
3103
|
-
var
|
|
3233
|
+
var import_react44 = require("react");
|
|
3104
3234
|
var useAudioThreadContext = function() {
|
|
3105
|
-
return (0,
|
|
3235
|
+
return (0, import_react44.useContext)(AudioThreadContext);
|
|
3106
3236
|
};
|
|
3107
3237
|
// src/components/threads/AudioThread/Visualization/index.tsx
|
|
3108
|
-
var
|
|
3238
|
+
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
3109
3239
|
var Visualization = function() {
|
|
3110
3240
|
var audioThreadContext = useAudioThreadContext();
|
|
3111
|
-
return /* @__PURE__ */ (0,
|
|
3241
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes40.Flex, {
|
|
3112
3242
|
direction: "column",
|
|
3113
3243
|
align: "center",
|
|
3114
3244
|
justify: "center",
|
|
3115
3245
|
mb: "3",
|
|
3116
3246
|
flexGrow: "1",
|
|
3117
|
-
children: /* @__PURE__ */ (0,
|
|
3247
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes40.Flex, {
|
|
3118
3248
|
align: "center",
|
|
3119
3249
|
justify: "center",
|
|
3120
3250
|
height: "200px",
|
|
@@ -3128,22 +3258,22 @@ var Visualization = function() {
|
|
|
3128
3258
|
};
|
|
3129
3259
|
// src/components/threads/AudioThread/Form/index.tsx
|
|
3130
3260
|
var import_react_icons8 = require("@radix-ui/react-icons");
|
|
3131
|
-
var
|
|
3261
|
+
var import_themes43 = require("@radix-ui/themes");
|
|
3132
3262
|
// src/components/threads/AudioThread/Form/Visualizer/index.tsx
|
|
3133
3263
|
var import_lodash7 = __toESM(require("lodash"), 1);
|
|
3134
|
-
var
|
|
3135
|
-
var
|
|
3264
|
+
var import_themes41 = require("@radix-ui/themes");
|
|
3265
|
+
var import_react45 = require("react");
|
|
3136
3266
|
var import_radash10 = require("radash");
|
|
3137
|
-
var
|
|
3267
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
3138
3268
|
var barCount = 4;
|
|
3139
3269
|
var Visualizer = function() {
|
|
3140
3270
|
var audioThreadContext = useAudioThreadContext();
|
|
3141
3271
|
var visualizationAnalyser = audioThreadContext.recorderProps.visualizationAnalyser;
|
|
3142
|
-
var _ref = _sliced_to_array((0,
|
|
3272
|
+
var _ref = _sliced_to_array((0, import_react45.useState)(function() {
|
|
3143
3273
|
return new AudioContext().createAnalyser();
|
|
3144
3274
|
}), 1), emptyVisualizer = _ref[0];
|
|
3145
|
-
var _ref1 = _sliced_to_array((0,
|
|
3146
|
-
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) {
|
|
3147
3277
|
var visualizationAnalyser2 = param.visualizationAnalyser;
|
|
3148
3278
|
var frequencyData = new Uint8Array(visualizationAnalyser2.frequencyBinCount / 15);
|
|
3149
3279
|
visualizationAnalyser2.getByteFrequencyData(frequencyData);
|
|
@@ -3157,7 +3287,7 @@ var Visualizer = function() {
|
|
|
3157
3287
|
});
|
|
3158
3288
|
});
|
|
3159
3289
|
}, []);
|
|
3160
|
-
(0,
|
|
3290
|
+
(0, import_react45.useEffect)(function() {
|
|
3161
3291
|
draw({
|
|
3162
3292
|
visualizationAnalyser: visualizationAnalyser || emptyVisualizer
|
|
3163
3293
|
});
|
|
@@ -3166,7 +3296,7 @@ var Visualizer = function() {
|
|
|
3166
3296
|
visualizationAnalyser,
|
|
3167
3297
|
emptyVisualizer
|
|
3168
3298
|
]);
|
|
3169
|
-
return /* @__PURE__ */ (0,
|
|
3299
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_themes41.Grid, {
|
|
3170
3300
|
columns: "".concat(barCount),
|
|
3171
3301
|
gap: "1",
|
|
3172
3302
|
width: "auto",
|
|
@@ -3175,12 +3305,12 @@ var Visualizer = function() {
|
|
|
3175
3305
|
gridTemplateColumns: "repeat(4, minmax(0, 1fr))"
|
|
3176
3306
|
},
|
|
3177
3307
|
children: barHeights.map(function(barHeight, index) {
|
|
3178
|
-
return /* @__PURE__ */ (0,
|
|
3308
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_themes41.Flex, {
|
|
3179
3309
|
direction: "column",
|
|
3180
3310
|
align: "center",
|
|
3181
3311
|
justify: "center",
|
|
3182
3312
|
height: "20px",
|
|
3183
|
-
children: /* @__PURE__ */ (0,
|
|
3313
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_themes41.Flex, {
|
|
3184
3314
|
minHeight: "50%",
|
|
3185
3315
|
maxHeight: "100%",
|
|
3186
3316
|
height: "".concat(barHeight + 20, "%"),
|
|
@@ -3195,31 +3325,31 @@ var Visualizer = function() {
|
|
|
3195
3325
|
});
|
|
3196
3326
|
};
|
|
3197
3327
|
// src/components/threads/AudioThread/Form/ActionButton/index.tsx
|
|
3198
|
-
var
|
|
3328
|
+
var import_themes42 = require("@radix-ui/themes");
|
|
3199
3329
|
var import_react_icons7 = require("@radix-ui/react-icons");
|
|
3200
|
-
var
|
|
3330
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
3201
3331
|
var ActionButton = function() {
|
|
3202
3332
|
var audioThreadContext = useAudioThreadContext();
|
|
3203
3333
|
if (audioThreadContext.status === "recording") {
|
|
3204
|
-
return /* @__PURE__ */ (0,
|
|
3334
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(import_themes42.Flex, {
|
|
3205
3335
|
align: "center",
|
|
3206
3336
|
children: [
|
|
3207
|
-
/* @__PURE__ */ (0,
|
|
3337
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes42.Flex, {
|
|
3208
3338
|
mr: "3",
|
|
3209
3339
|
ml: "-7",
|
|
3210
|
-
children: /* @__PURE__ */ (0,
|
|
3340
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes42.IconButton, {
|
|
3211
3341
|
onClick: audioThreadContext.recorderProps.pause,
|
|
3212
3342
|
color: "gray",
|
|
3213
3343
|
radius: "full",
|
|
3214
3344
|
size: "1",
|
|
3215
|
-
children: /* @__PURE__ */ (0,
|
|
3345
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_react_icons7.PauseIcon, {})
|
|
3216
3346
|
})
|
|
3217
3347
|
}),
|
|
3218
|
-
/* @__PURE__ */ (0,
|
|
3348
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes42.Tooltip, {
|
|
3219
3349
|
open: true,
|
|
3220
3350
|
content: "Send your message",
|
|
3221
3351
|
side: "bottom",
|
|
3222
|
-
children: /* @__PURE__ */ (0,
|
|
3352
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes42.IconButton, {
|
|
3223
3353
|
onClick: audioThreadContext.recorderProps.stop,
|
|
3224
3354
|
color: "gray",
|
|
3225
3355
|
highContrast: true,
|
|
@@ -3228,14 +3358,14 @@ var ActionButton = function() {
|
|
|
3228
3358
|
style: {
|
|
3229
3359
|
border: "2px solid var(--gray-8)"
|
|
3230
3360
|
},
|
|
3231
|
-
children: /* @__PURE__ */ (0,
|
|
3361
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_react_icons7.ArrowUpIcon, {})
|
|
3232
3362
|
})
|
|
3233
3363
|
})
|
|
3234
3364
|
]
|
|
3235
3365
|
});
|
|
3236
3366
|
}
|
|
3237
3367
|
if (audioThreadContext.status === "recorderPaused") {
|
|
3238
|
-
return /* @__PURE__ */ (0,
|
|
3368
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes42.IconButton, {
|
|
3239
3369
|
onClick: audioThreadContext.recorderProps.resume,
|
|
3240
3370
|
color: "red",
|
|
3241
3371
|
radius: "full",
|
|
@@ -3243,11 +3373,11 @@ var ActionButton = function() {
|
|
|
3243
3373
|
style: {
|
|
3244
3374
|
border: "2px solid var(--gray-8)"
|
|
3245
3375
|
},
|
|
3246
|
-
children: /* @__PURE__ */ (0,
|
|
3376
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_react_icons7.ResumeIcon, {})
|
|
3247
3377
|
});
|
|
3248
3378
|
}
|
|
3249
3379
|
if (audioThreadContext.status === "idle") {
|
|
3250
|
-
return /* @__PURE__ */ (0,
|
|
3380
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes42.IconButton, {
|
|
3251
3381
|
onClick: function() {
|
|
3252
3382
|
return audioThreadContext.recorderProps.start();
|
|
3253
3383
|
},
|
|
@@ -3260,7 +3390,7 @@ var ActionButton = function() {
|
|
|
3260
3390
|
});
|
|
3261
3391
|
}
|
|
3262
3392
|
if (audioThreadContext.status === "playing") {
|
|
3263
|
-
return /* @__PURE__ */ (0,
|
|
3393
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes42.IconButton, {
|
|
3264
3394
|
onClick: function() {
|
|
3265
3395
|
return audioThreadContext.messageAudioProps.pause();
|
|
3266
3396
|
},
|
|
@@ -3270,11 +3400,11 @@ var ActionButton = function() {
|
|
|
3270
3400
|
style: {
|
|
3271
3401
|
border: "2px solid var(--gray-8)"
|
|
3272
3402
|
},
|
|
3273
|
-
children: /* @__PURE__ */ (0,
|
|
3403
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_react_icons7.PauseIcon, {})
|
|
3274
3404
|
});
|
|
3275
3405
|
}
|
|
3276
3406
|
if (audioThreadContext.status === "playerPaused") {
|
|
3277
|
-
return /* @__PURE__ */ (0,
|
|
3407
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes42.IconButton, {
|
|
3278
3408
|
onClick: function() {
|
|
3279
3409
|
return audioThreadContext.messageAudioProps.play();
|
|
3280
3410
|
},
|
|
@@ -3284,10 +3414,10 @@ var ActionButton = function() {
|
|
|
3284
3414
|
style: {
|
|
3285
3415
|
border: "2px solid var(--gray-8)"
|
|
3286
3416
|
},
|
|
3287
|
-
children: /* @__PURE__ */ (0,
|
|
3417
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_react_icons7.ResumeIcon, {})
|
|
3288
3418
|
});
|
|
3289
3419
|
}
|
|
3290
|
-
return /* @__PURE__ */ (0,
|
|
3420
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes42.IconButton, {
|
|
3291
3421
|
size: "4",
|
|
3292
3422
|
color: "red",
|
|
3293
3423
|
radius: "full",
|
|
@@ -3298,49 +3428,49 @@ var ActionButton = function() {
|
|
|
3298
3428
|
});
|
|
3299
3429
|
};
|
|
3300
3430
|
// src/components/threads/AudioThread/Form/index.tsx
|
|
3301
|
-
var
|
|
3431
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
3302
3432
|
var Form = function() {
|
|
3303
3433
|
var audioThreadContext = useAudioThreadContext();
|
|
3304
|
-
return /* @__PURE__ */ (0,
|
|
3434
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_themes43.Flex, {
|
|
3305
3435
|
direction: "column",
|
|
3306
3436
|
align: "center",
|
|
3307
3437
|
children: [
|
|
3308
|
-
/* @__PURE__ */ (0,
|
|
3438
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_themes43.Flex, {
|
|
3309
3439
|
pb: "3",
|
|
3310
3440
|
align: "center",
|
|
3311
3441
|
children: [
|
|
3312
|
-
/* @__PURE__ */ (0,
|
|
3442
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_themes43.Flex, {
|
|
3313
3443
|
ml: "-5",
|
|
3314
3444
|
mr: "2",
|
|
3315
3445
|
align: "center",
|
|
3316
|
-
children: /* @__PURE__ */ (0,
|
|
3446
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_react_icons8.SpeakerModerateIcon, {
|
|
3317
3447
|
style: {
|
|
3318
3448
|
color: "var(--".concat(audioThreadContext.status === "recording" ? "mint" : "gray", "-12)")
|
|
3319
3449
|
}
|
|
3320
3450
|
})
|
|
3321
3451
|
}),
|
|
3322
|
-
/* @__PURE__ */ (0,
|
|
3452
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_themes43.Flex, {
|
|
3323
3453
|
px: "2",
|
|
3324
3454
|
py: "1",
|
|
3325
3455
|
style: {
|
|
3326
3456
|
backgroundColor: "var(--".concat(audioThreadContext.status === "recording" ? "mint" : "gray", "-4)"),
|
|
3327
3457
|
borderRadius: "var(--radius-6)"
|
|
3328
3458
|
},
|
|
3329
|
-
children: /* @__PURE__ */ (0,
|
|
3459
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Visualizer, {})
|
|
3330
3460
|
})
|
|
3331
3461
|
]
|
|
3332
3462
|
}),
|
|
3333
|
-
/* @__PURE__ */ (0,
|
|
3463
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ActionButton, {})
|
|
3334
3464
|
]
|
|
3335
3465
|
});
|
|
3336
3466
|
};
|
|
3337
3467
|
// src/components/threads/AudioThread/index.tsx
|
|
3338
|
-
var
|
|
3468
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
3339
3469
|
var AudioThread = function(props) {
|
|
3340
|
-
return /* @__PURE__ */ (0,
|
|
3470
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(Root7, _object_spread_props(_object_spread({}, props), {
|
|
3341
3471
|
children: [
|
|
3342
|
-
/* @__PURE__ */ (0,
|
|
3343
|
-
/* @__PURE__ */ (0,
|
|
3472
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Visualization, {}),
|
|
3473
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Form, {})
|
|
3344
3474
|
]
|
|
3345
3475
|
}));
|
|
3346
3476
|
};
|
|
@@ -3348,15 +3478,15 @@ AudioThread.Root = Root7;
|
|
|
3348
3478
|
AudioThread.Visualization = Visualization;
|
|
3349
3479
|
AudioThread.Form = Form;
|
|
3350
3480
|
// src/components/threads/AudioThreadDialog/index.tsx
|
|
3351
|
-
var
|
|
3481
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
3352
3482
|
var AudioThreadDialog = function() {
|
|
3353
|
-
return /* @__PURE__ */ (0,
|
|
3483
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(Root5, {
|
|
3354
3484
|
children: [
|
|
3355
|
-
/* @__PURE__ */ (0,
|
|
3356
|
-
children: /* @__PURE__ */ (0,
|
|
3485
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Content4.Root, {
|
|
3486
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(AudioThread, {})
|
|
3357
3487
|
}),
|
|
3358
|
-
/* @__PURE__ */ (0,
|
|
3359
|
-
children: /* @__PURE__ */ (0,
|
|
3488
|
+
/* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Trigger, {
|
|
3489
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Button3, {})
|
|
3360
3490
|
})
|
|
3361
3491
|
]
|
|
3362
3492
|
});
|
|
@@ -3366,84 +3496,125 @@ AudioThreadDialog.Trigger = Trigger;
|
|
|
3366
3496
|
AudioThreadDialog.Button = Button3;
|
|
3367
3497
|
AudioThreadDialog.Content = Content4;
|
|
3368
3498
|
// src/components/suggestions/Suggestions/index.tsx
|
|
3369
|
-
var
|
|
3370
|
-
|
|
3371
|
-
|
|
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
|
|
3372
3506
|
var import_react_icons9 = require("@radix-ui/react-icons");
|
|
3373
|
-
var
|
|
3374
|
-
var
|
|
3375
|
-
var
|
|
3376
|
-
var suggestion = param.suggestion;
|
|
3377
|
-
var
|
|
3378
|
-
|
|
3379
|
-
return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_themes43.Button, {
|
|
3380
|
-
variant: "soft",
|
|
3381
|
-
style: {
|
|
3382
|
-
justifyContent: "space-between"
|
|
3383
|
-
},
|
|
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, {
|
|
3384
3513
|
onClick: function() {
|
|
3385
3514
|
createMessage({
|
|
3386
3515
|
// @ts-ignore-next-line
|
|
3387
3516
|
content: suggestion
|
|
3388
3517
|
});
|
|
3389
3518
|
},
|
|
3390
|
-
|
|
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,
|
|
3391
3530
|
children: [
|
|
3392
|
-
/* @__PURE__ */ (0,
|
|
3531
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_themes44.Text, {
|
|
3393
3532
|
size: "1",
|
|
3394
3533
|
weight: "regular",
|
|
3395
|
-
children:
|
|
3534
|
+
children: children
|
|
3396
3535
|
}),
|
|
3397
|
-
/* @__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
|
+
})
|
|
3398
3540
|
]
|
|
3399
3541
|
});
|
|
3400
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
|
+
};
|
|
3401
3581
|
// src/components/suggestions/Suggestions/index.tsx
|
|
3402
|
-
var
|
|
3582
|
+
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
3403
3583
|
var Suggestions = function(param) {
|
|
3404
|
-
var
|
|
3584
|
+
var children = param.children;
|
|
3405
3585
|
var latestMessageProps = useLatestMessage();
|
|
3406
|
-
var
|
|
3407
|
-
var isDisabled = (0, import_react41.useMemo)(function() {
|
|
3586
|
+
var isDisabled = (0, import_react47.useMemo)(function() {
|
|
3408
3587
|
var // @ts-ignore-next-line
|
|
3409
3588
|
_latestMessageProps_latestMessage_metadata, _latestMessageProps_latestMessage;
|
|
3410
|
-
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;
|
|
3411
3590
|
}, [
|
|
3412
|
-
latestMessageProps
|
|
3413
|
-
isRunActiveProps
|
|
3591
|
+
latestMessageProps
|
|
3414
3592
|
]);
|
|
3415
3593
|
if (latestMessageProps.isLoading) return null;
|
|
3416
3594
|
if (isDisabled) return null;
|
|
3417
|
-
|
|
3418
|
-
|
|
3419
|
-
|
|
3420
|
-
py: "2",
|
|
3421
|
-
wrap: "wrap",
|
|
3422
|
-
children: emptyStateSuggestions.map(function(suggestion) {
|
|
3423
|
-
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Suggestion, {
|
|
3424
|
-
suggestion: suggestion
|
|
3425
|
-
}, suggestion);
|
|
3426
|
-
})
|
|
3427
|
-
});
|
|
3428
|
-
}
|
|
3429
|
-
if (latestMessageProps.latestMessage.role === "assistant") {
|
|
3430
|
-
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_themes44.Flex, {
|
|
3431
|
-
gap: "2",
|
|
3432
|
-
py: "2",
|
|
3433
|
-
wrap: "wrap",
|
|
3434
|
-
children: suggestions.map(function(suggestion) {
|
|
3435
|
-
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Suggestion, {
|
|
3436
|
-
suggestion: suggestion
|
|
3437
|
-
}, suggestion);
|
|
3438
|
-
})
|
|
3439
|
-
});
|
|
3440
|
-
}
|
|
3441
|
-
return null;
|
|
3595
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Content6, {
|
|
3596
|
+
children: children
|
|
3597
|
+
});
|
|
3442
3598
|
};
|
|
3443
|
-
|
|
3444
|
-
|
|
3445
|
-
var
|
|
3446
|
-
|
|
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
|
+
});
|
|
3447
3618
|
};
|
|
3448
3619
|
// Annotate the CommonJS export names for ESM import in node:
|
|
3449
3620
|
0 && (module.exports = {
|
|
@@ -3454,7 +3625,7 @@ var useMarkdownContext = function() {
|
|
|
3454
3625
|
FunctionBase: FunctionBase,
|
|
3455
3626
|
FunctionComponentsContext: FunctionComponentsContext,
|
|
3456
3627
|
MarkdownContext: MarkdownContext,
|
|
3457
|
-
|
|
3628
|
+
MarkdownProvider: MarkdownProvider,
|
|
3458
3629
|
Suggestions: Suggestions,
|
|
3459
3630
|
SuperinterfaceProvider: SuperinterfaceProvider,
|
|
3460
3631
|
Thread: Thread,
|
|
@@ -3467,6 +3638,7 @@ var useMarkdownContext = function() {
|
|
|
3467
3638
|
useLatestRun: useLatestRun,
|
|
3468
3639
|
useLifecycle: useLifecycle,
|
|
3469
3640
|
useMarkdownContext: useMarkdownContext,
|
|
3641
|
+
useMessageContext: useMessageContext,
|
|
3470
3642
|
useMessages: useMessages,
|
|
3471
3643
|
useRuns: useRuns,
|
|
3472
3644
|
useSuperinterfaceContext: useSuperinterfaceContext,
|