@superinterface/react 2.17.1 → 2.17.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +159 -80
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +114 -35
- package/dist/index.js.map +1 -1
- package/package.json +1 -2
package/dist/index.cjs
CHANGED
|
@@ -2810,13 +2810,22 @@ var import_themes38 = require("@radix-ui/themes");
|
|
|
2810
2810
|
// src/components/threads/Thread/MessageForm/Field/Control.tsx
|
|
2811
2811
|
var import_themes35 = require("@radix-ui/themes");
|
|
2812
2812
|
var import_react_hook_form2 = require("react-hook-form");
|
|
2813
|
-
|
|
2814
|
-
var import_react36 = require("react");
|
|
2815
|
-
// src/components/textareas/TextareaBase/index.tsx
|
|
2813
|
+
// src/hooks/misc/usePrevious.ts
|
|
2816
2814
|
var import_react35 = require("react");
|
|
2815
|
+
var usePrevious = function(state) {
|
|
2816
|
+
var ref = (0, import_react35.useRef)();
|
|
2817
|
+
(0, import_react35.useEffect)(function() {
|
|
2818
|
+
ref.current = state;
|
|
2819
|
+
});
|
|
2820
|
+
return ref.current;
|
|
2821
|
+
};
|
|
2822
|
+
// src/components/threads/Thread/MessageForm/Field/Control.tsx
|
|
2823
|
+
var import_react37 = require("react");
|
|
2824
|
+
// src/components/textareas/TextareaBase/index.tsx
|
|
2825
|
+
var import_react36 = require("react");
|
|
2817
2826
|
var import_react_textarea_autosize = __toESM(require("react-textarea-autosize"), 1);
|
|
2818
2827
|
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
2819
|
-
var TextareaBase = (0,
|
|
2828
|
+
var TextareaBase = (0, import_react36.forwardRef)(function TextareaBase2(props, ref) {
|
|
2820
2829
|
return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_jsx_runtime49.Fragment, {
|
|
2821
2830
|
children: [
|
|
2822
2831
|
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("style", {
|
|
@@ -2849,19 +2858,19 @@ var Root5 = function(param) {
|
|
|
2849
2858
|
});
|
|
2850
2859
|
};
|
|
2851
2860
|
var Input = function() {
|
|
2852
|
-
var assistantNameContext = (0,
|
|
2861
|
+
var assistantNameContext = (0, import_react37.useContext)(AssistantNameContext);
|
|
2853
2862
|
var register = (0, import_react_hook_form2.useFormContext)().register;
|
|
2854
2863
|
var _useMessageFormContext = useMessageFormContext(), isDisabled = _useMessageFormContext.isDisabled, isLoading = _useMessageFormContext.isLoading;
|
|
2855
|
-
var isSubmitDisabled = (0,
|
|
2864
|
+
var isSubmitDisabled = (0, import_react37.useMemo)(function() {
|
|
2856
2865
|
return isDisabled || isLoading;
|
|
2857
2866
|
}, [
|
|
2858
2867
|
isDisabled,
|
|
2859
2868
|
isLoading
|
|
2860
2869
|
]);
|
|
2861
|
-
var isDisabledPrevious =
|
|
2862
|
-
var textareaRef = (0,
|
|
2870
|
+
var isDisabledPrevious = usePrevious(isDisabled);
|
|
2871
|
+
var textareaRef = (0, import_react37.useRef)(null);
|
|
2863
2872
|
var textareaProps = register("content");
|
|
2864
|
-
(0,
|
|
2873
|
+
(0, import_react37.useEffect)(function() {
|
|
2865
2874
|
if (isDisabled) return;
|
|
2866
2875
|
if (!isDisabledPrevious) return;
|
|
2867
2876
|
if (!textareaRef.current) return;
|
|
@@ -2966,7 +2975,7 @@ var Preview = function() {
|
|
|
2966
2975
|
});
|
|
2967
2976
|
};
|
|
2968
2977
|
// src/components/threads/Thread/MessageForm/Field/Files/Control.tsx
|
|
2969
|
-
var
|
|
2978
|
+
var import_react38 = require("react");
|
|
2970
2979
|
var import_radash14 = require("radash");
|
|
2971
2980
|
var import_dayjs2 = __toESM(require("dayjs"), 1);
|
|
2972
2981
|
var import_react_icons9 = require("@radix-ui/react-icons");
|
|
@@ -3087,7 +3096,7 @@ var Control2 = function() {
|
|
|
3087
3096
|
var _useMessageFormContext = useMessageFormContext(), isDisabled = _useMessageFormContext.isDisabled, isLoading = _useMessageFormContext.isLoading, setFiles = _useMessageFormContext.setFiles;
|
|
3088
3097
|
var createFile = useCreateFile().createFile;
|
|
3089
3098
|
var addToast = useToasts().addToast;
|
|
3090
|
-
var onChange = (0,
|
|
3099
|
+
var onChange = (0, import_react38.useCallback)(function() {
|
|
3091
3100
|
var _ref = _async_to_generator(function(event) {
|
|
3092
3101
|
var fileObjects, newFiles, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _loop, _iterator, _step, err;
|
|
3093
3102
|
return _ts_generator(this, function(_state) {
|
|
@@ -3378,29 +3387,29 @@ Thread.Root = Root7;
|
|
|
3378
3387
|
Thread.Messages = Messages;
|
|
3379
3388
|
Thread.MessageForm = MessageForm;
|
|
3380
3389
|
// src/hooks/messages/useMessageContext/index.ts
|
|
3381
|
-
var
|
|
3390
|
+
var import_react39 = require("react");
|
|
3382
3391
|
var useMessageContext = function() {
|
|
3383
|
-
return (0,
|
|
3392
|
+
return (0, import_react39.useContext)(MessageContext);
|
|
3384
3393
|
};
|
|
3385
3394
|
// src/components/threads/ThreadDialog/Provider/index.tsx
|
|
3386
|
-
var
|
|
3395
|
+
var import_react42 = require("react");
|
|
3387
3396
|
// src/contexts/threads/ThreadDialogContext/index.ts
|
|
3388
|
-
var
|
|
3389
|
-
var ThreadDialogContext = (0,
|
|
3397
|
+
var import_react40 = require("react");
|
|
3398
|
+
var ThreadDialogContext = (0, import_react40.createContext)({
|
|
3390
3399
|
isOpen: false,
|
|
3391
3400
|
setIsOpen: function() {}
|
|
3392
3401
|
});
|
|
3393
3402
|
// src/hooks/threads/useThreadDialogContext/index.ts
|
|
3394
|
-
var
|
|
3403
|
+
var import_react41 = require("react");
|
|
3395
3404
|
var useThreadDialogContext = function() {
|
|
3396
|
-
return (0,
|
|
3405
|
+
return (0, import_react41.useContext)(ThreadDialogContext);
|
|
3397
3406
|
};
|
|
3398
3407
|
// src/components/threads/ThreadDialog/Provider/index.tsx
|
|
3399
3408
|
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
3400
3409
|
var Provider3 = function(param) {
|
|
3401
3410
|
var children = param.children;
|
|
3402
3411
|
var threadDialogContext = useThreadDialogContext();
|
|
3403
|
-
var _ref = _sliced_to_array((0,
|
|
3412
|
+
var _ref = _sliced_to_array((0, import_react42.useState)(threadDialogContext.isOpen), 2), isOpen = _ref[0], setIsOpen = _ref[1];
|
|
3404
3413
|
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ThreadDialogContext.Provider, {
|
|
3405
3414
|
value: {
|
|
3406
3415
|
isOpen: isOpen,
|
|
@@ -3410,7 +3419,7 @@ var Provider3 = function(param) {
|
|
|
3410
3419
|
});
|
|
3411
3420
|
};
|
|
3412
3421
|
// src/components/toasts/ToastsProvider/index.tsx
|
|
3413
|
-
var
|
|
3422
|
+
var import_react43 = require("react");
|
|
3414
3423
|
var Toast2 = __toESM(require("@radix-ui/react-toast"), 1);
|
|
3415
3424
|
// src/components/toasts/ToastsProvider/CustomToast.tsx
|
|
3416
3425
|
var Toast = __toESM(require("@radix-ui/react-toast"), 1);
|
|
@@ -3449,8 +3458,8 @@ var CustomToast = function(param) {
|
|
|
3449
3458
|
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
3450
3459
|
var ToastsProvider = function(param) {
|
|
3451
3460
|
var children = param.children;
|
|
3452
|
-
var _ref = _sliced_to_array((0,
|
|
3453
|
-
var addToast = (0,
|
|
3461
|
+
var _ref = _sliced_to_array((0, import_react43.useState)([]), 2), toasts = _ref[0], setToasts = _ref[1];
|
|
3462
|
+
var addToast = (0, import_react43.useCallback)(function(toast) {
|
|
3454
3463
|
return setToasts(function(prevToasts) {
|
|
3455
3464
|
return _to_consumable_array(prevToasts).concat([
|
|
3456
3465
|
toast
|
|
@@ -3695,11 +3704,10 @@ ThreadDialog.Root = Root9;
|
|
|
3695
3704
|
ThreadDialog.Trigger = Trigger;
|
|
3696
3705
|
ThreadDialog.Content = Content4;
|
|
3697
3706
|
// src/components/threads/AudioThread/Root/index.tsx
|
|
3698
|
-
var import_runtime = require("regenerator-runtime/runtime");
|
|
3699
3707
|
var import_themes45 = require("@radix-ui/themes");
|
|
3700
3708
|
// src/contexts/threads/AudioThreadContext/index.ts
|
|
3701
|
-
var
|
|
3702
|
-
var AudioThreadContext = (0,
|
|
3709
|
+
var import_react44 = require("react");
|
|
3710
|
+
var AudioThreadContext = (0, import_react44.createContext)({
|
|
3703
3711
|
status: "idle",
|
|
3704
3712
|
recorderProps: {
|
|
3705
3713
|
status: "idle",
|
|
@@ -3754,8 +3762,58 @@ var AudioThreadContext = (0, import_react43.createContext)({
|
|
|
3754
3762
|
})
|
|
3755
3763
|
}
|
|
3756
3764
|
});
|
|
3757
|
-
// src/
|
|
3758
|
-
var
|
|
3765
|
+
// src/hooks/misc/usePermission/index.ts
|
|
3766
|
+
var import_react45 = require("react");
|
|
3767
|
+
// src/hooks/misc/usePermission/util.ts
|
|
3768
|
+
var noop = function() {};
|
|
3769
|
+
function on(obj) {
|
|
3770
|
+
for(var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){
|
|
3771
|
+
args[_key - 1] = arguments[_key];
|
|
3772
|
+
}
|
|
3773
|
+
if (obj && obj.addEventListener) {
|
|
3774
|
+
var _obj;
|
|
3775
|
+
(_obj = obj).addEventListener.apply(_obj, _to_consumable_array(args));
|
|
3776
|
+
}
|
|
3777
|
+
}
|
|
3778
|
+
function off(obj) {
|
|
3779
|
+
for(var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){
|
|
3780
|
+
args[_key - 1] = arguments[_key];
|
|
3781
|
+
}
|
|
3782
|
+
if (obj && obj.removeEventListener) {
|
|
3783
|
+
var _obj;
|
|
3784
|
+
(_obj = obj).removeEventListener.apply(_obj, _to_consumable_array(args));
|
|
3785
|
+
}
|
|
3786
|
+
}
|
|
3787
|
+
// src/hooks/misc/usePermission/index.ts
|
|
3788
|
+
var usePermission = function(permissionDesc) {
|
|
3789
|
+
var _ref = _sliced_to_array((0, import_react45.useState)(""), 2), state = _ref[0], setState = _ref[1];
|
|
3790
|
+
(0, import_react45.useEffect)(function() {
|
|
3791
|
+
var mounted = true;
|
|
3792
|
+
var permissionStatus = null;
|
|
3793
|
+
var onChange = function() {
|
|
3794
|
+
if (!mounted) {
|
|
3795
|
+
return;
|
|
3796
|
+
}
|
|
3797
|
+
setState(function() {
|
|
3798
|
+
var _permissionStatus_state;
|
|
3799
|
+
return (_permissionStatus_state = permissionStatus === null || permissionStatus === void 0 ? void 0 : permissionStatus.state) !== null && _permissionStatus_state !== void 0 ? _permissionStatus_state : "";
|
|
3800
|
+
});
|
|
3801
|
+
};
|
|
3802
|
+
navigator.permissions.query(permissionDesc).then(function(status) {
|
|
3803
|
+
permissionStatus = status;
|
|
3804
|
+
on(permissionStatus, "change", onChange);
|
|
3805
|
+
onChange();
|
|
3806
|
+
}).catch(noop);
|
|
3807
|
+
return function() {
|
|
3808
|
+
permissionStatus && off(permissionStatus, "change", onChange);
|
|
3809
|
+
mounted = false;
|
|
3810
|
+
permissionStatus = null;
|
|
3811
|
+
};
|
|
3812
|
+
}, [
|
|
3813
|
+
permissionDesc
|
|
3814
|
+
]);
|
|
3815
|
+
return state;
|
|
3816
|
+
};
|
|
3759
3817
|
// src/components/threads/AudioThread/Root/lib/blobToData.ts
|
|
3760
3818
|
var blobToData = function(blob) {
|
|
3761
3819
|
return new Promise(function(resolve) {
|
|
@@ -3767,11 +3825,11 @@ var blobToData = function(blob) {
|
|
|
3767
3825
|
});
|
|
3768
3826
|
};
|
|
3769
3827
|
// src/hooks/audioThreads/useStatus/index.ts
|
|
3770
|
-
var
|
|
3828
|
+
var import_react46 = require("react");
|
|
3771
3829
|
var useStatus = function(param) {
|
|
3772
3830
|
var messageAudioProps = param.messageAudioProps, recorderProps = param.recorderProps, createMessageProps = param.createMessageProps;
|
|
3773
3831
|
var latestMessageProps = useLatestMessage();
|
|
3774
|
-
var status = (0,
|
|
3832
|
+
var status = (0, import_react46.useMemo)(function() {
|
|
3775
3833
|
var _latestMessageProps_latestMessage;
|
|
3776
3834
|
if (recorderProps.status === "recording") return "recording";
|
|
3777
3835
|
if (createMessageProps.isPending) return "creatingMessage";
|
|
@@ -3795,19 +3853,40 @@ var useStatus = function(param) {
|
|
|
3795
3853
|
// src/hooks/audioThreads/useRecorder/index.ts
|
|
3796
3854
|
var import_dayjs3 = __toESM(require("dayjs"), 1);
|
|
3797
3855
|
var import_use_audio_capture = require("use-audio-capture");
|
|
3798
|
-
var
|
|
3856
|
+
var import_react48 = require("react");
|
|
3799
3857
|
var import_react_use_audio_player = require("react-use-audio-player");
|
|
3800
|
-
|
|
3858
|
+
// src/hooks/misc/useInterval.ts
|
|
3859
|
+
var import_react47 = require("react");
|
|
3860
|
+
var useInterval = function(callback, delay) {
|
|
3861
|
+
var savedCallback = (0, import_react47.useRef)(function() {});
|
|
3862
|
+
(0, import_react47.useEffect)(function() {
|
|
3863
|
+
savedCallback.current = callback;
|
|
3864
|
+
});
|
|
3865
|
+
(0, import_react47.useEffect)(function() {
|
|
3866
|
+
if (delay !== null) {
|
|
3867
|
+
var interval = setInterval(function() {
|
|
3868
|
+
return savedCallback.current();
|
|
3869
|
+
}, delay || 0);
|
|
3870
|
+
return function() {
|
|
3871
|
+
return clearInterval(interval);
|
|
3872
|
+
};
|
|
3873
|
+
}
|
|
3874
|
+
return void 0;
|
|
3875
|
+
}, [
|
|
3876
|
+
delay
|
|
3877
|
+
]);
|
|
3878
|
+
};
|
|
3879
|
+
// src/hooks/audioThreads/useRecorder/index.ts
|
|
3801
3880
|
var useRecorder = function(param) {
|
|
3802
3881
|
var isStopOnSilence = param.isStopOnSilence, onStart = param.onStart, onStop = param.onStop;
|
|
3803
|
-
var _ref = _sliced_to_array((0,
|
|
3804
|
-
var _ref1 = _sliced_to_array((0,
|
|
3805
|
-
var _ref2 = _sliced_to_array((0,
|
|
3806
|
-
var _ref3 = _sliced_to_array((0,
|
|
3882
|
+
var _ref = _sliced_to_array((0, import_react48.useState)(null), 2), silenceStart = _ref[0], setSilenceStart = _ref[1];
|
|
3883
|
+
var _ref1 = _sliced_to_array((0, import_react48.useState)(null), 2), noiseStart = _ref1[0], setNoiseStart = _ref1[1];
|
|
3884
|
+
var _ref2 = _sliced_to_array((0, import_react48.useState)(null), 2), mediaStream = _ref2[0], setMediaStream = _ref2[1];
|
|
3885
|
+
var _ref3 = _sliced_to_array((0, import_react48.useState)("idle"), 2), status = _ref3[0], setStatus = _ref3[1];
|
|
3807
3886
|
var startAudioPlayer = (0, import_react_use_audio_player.useAudioPlayer)();
|
|
3808
3887
|
var endAudioPlayer = (0, import_react_use_audio_player.useAudioPlayer)();
|
|
3809
|
-
var _ref4 = _sliced_to_array((0,
|
|
3810
|
-
(0,
|
|
3888
|
+
var _ref4 = _sliced_to_array((0, import_react48.useState)(false), 2), isLoaded = _ref4[0], setIsLoaded = _ref4[1];
|
|
3889
|
+
(0, import_react48.useEffect)(function() {
|
|
3811
3890
|
if (isLoaded) return;
|
|
3812
3891
|
setIsLoaded(true);
|
|
3813
3892
|
}, [
|
|
@@ -3865,9 +3944,9 @@ var useRecorder = function(param) {
|
|
|
3865
3944
|
setNoiseStart(null);
|
|
3866
3945
|
}
|
|
3867
3946
|
});
|
|
3868
|
-
var _ref5 = _sliced_to_array((0,
|
|
3869
|
-
var isInited = (0,
|
|
3870
|
-
(0,
|
|
3947
|
+
var _ref5 = _sliced_to_array((0, import_react48.useState)(null), 2), audioEngine = _ref5[0], setAudioEngine = _ref5[1];
|
|
3948
|
+
var isInited = (0, import_react48.useRef)(false);
|
|
3949
|
+
(0, import_react48.useEffect)(function() {
|
|
3871
3950
|
if (!mediaStream) return;
|
|
3872
3951
|
if (isInited.current) return;
|
|
3873
3952
|
isInited.current = true;
|
|
@@ -3880,7 +3959,7 @@ var useRecorder = function(param) {
|
|
|
3880
3959
|
isInited,
|
|
3881
3960
|
mediaStream
|
|
3882
3961
|
]);
|
|
3883
|
-
var visualizationAnalyser = (0,
|
|
3962
|
+
var visualizationAnalyser = (0, import_react48.useMemo)(function() {
|
|
3884
3963
|
if (!audioEngine) return null;
|
|
3885
3964
|
var result = audioEngine.audioContext.createAnalyser();
|
|
3886
3965
|
audioEngine.source.connect(result);
|
|
@@ -3888,7 +3967,7 @@ var useRecorder = function(param) {
|
|
|
3888
3967
|
}, [
|
|
3889
3968
|
audioEngine
|
|
3890
3969
|
]);
|
|
3891
|
-
var silenceAnalyser = (0,
|
|
3970
|
+
var silenceAnalyser = (0, import_react48.useMemo)(function() {
|
|
3892
3971
|
if (!audioEngine) return null;
|
|
3893
3972
|
var result = audioEngine.audioContext.createAnalyser();
|
|
3894
3973
|
result.minDecibels = -60;
|
|
@@ -3897,7 +3976,7 @@ var useRecorder = function(param) {
|
|
|
3897
3976
|
}, [
|
|
3898
3977
|
audioEngine
|
|
3899
3978
|
]);
|
|
3900
|
-
var handleSilence = (0,
|
|
3979
|
+
var handleSilence = (0, import_react48.useCallback)(function() {
|
|
3901
3980
|
if (!silenceAnalyser) return;
|
|
3902
3981
|
var frequencyData = new Uint8Array(silenceAnalyser.frequencyBinCount);
|
|
3903
3982
|
silenceAnalyser.getByteFrequencyData(frequencyData);
|
|
@@ -3920,7 +3999,7 @@ var useRecorder = function(param) {
|
|
|
3920
3999
|
setNoiseStart,
|
|
3921
4000
|
setSilenceStart
|
|
3922
4001
|
]);
|
|
3923
|
-
(0,
|
|
4002
|
+
(0, import_react48.useEffect)(function() {
|
|
3924
4003
|
if (!isStopOnSilence) return;
|
|
3925
4004
|
requestAnimationFrame(function() {
|
|
3926
4005
|
return handleSilence();
|
|
@@ -3929,7 +4008,7 @@ var useRecorder = function(param) {
|
|
|
3929
4008
|
handleSilence,
|
|
3930
4009
|
isStopOnSilence
|
|
3931
4010
|
]);
|
|
3932
|
-
|
|
4011
|
+
useInterval(function() {
|
|
3933
4012
|
if (!isStopOnSilence) return;
|
|
3934
4013
|
if (status !== "recording") return;
|
|
3935
4014
|
if (!silenceStart) return;
|
|
@@ -3943,7 +4022,7 @@ var useRecorder = function(param) {
|
|
|
3943
4022
|
});
|
|
3944
4023
|
};
|
|
3945
4024
|
// src/hooks/audioThreads/useMessageAudio/index.ts
|
|
3946
|
-
var
|
|
4025
|
+
var import_react49 = require("react");
|
|
3947
4026
|
var import_compromise = __toESM(require("compromise"), 1);
|
|
3948
4027
|
var import_howler = require("howler");
|
|
3949
4028
|
var import_react_use_audio_player2 = require("react-use-audio-player");
|
|
@@ -3981,15 +4060,15 @@ var getMessageSentences = function(param) {
|
|
|
3981
4060
|
};
|
|
3982
4061
|
var useMessageAudio = function(param) {
|
|
3983
4062
|
var onEnd = param.onEnd;
|
|
3984
|
-
var _ref = _sliced_to_array((0,
|
|
3985
|
-
var _ref1 = _sliced_to_array((0,
|
|
3986
|
-
var _ref2 = _sliced_to_array((0,
|
|
4063
|
+
var _ref = _sliced_to_array((0, import_react49.useState)(false), 2), isAudioPlayed = _ref[0], setIsAudioPlayed = _ref[1];
|
|
4064
|
+
var _ref1 = _sliced_to_array((0, import_react49.useState)([]), 2), stoppedMessageIds = _ref1[0], setStoppedMessageIds = _ref1[1];
|
|
4065
|
+
var _ref2 = _sliced_to_array((0, import_react49.useState)([]), 2), playedMessageSentences = _ref2[0], setPlayedMessageSentences = _ref2[1];
|
|
3987
4066
|
var audioPlayer = (0, import_react_use_audio_player2.useAudioPlayer)();
|
|
3988
4067
|
var nextAudioPlayer = (0, import_react_use_audio_player2.useAudioPlayer)();
|
|
3989
4068
|
var superinterfaceContext = useSuperinterfaceContext();
|
|
3990
|
-
var _ref3 = _sliced_to_array((0,
|
|
4069
|
+
var _ref3 = _sliced_to_array((0, import_react49.useState)(false), 2), isPlaying = _ref3[0], setIsPlaying = _ref3[1];
|
|
3991
4070
|
var latestMessageProps = useLatestMessage();
|
|
3992
|
-
var unplayedMessageSentences = (0,
|
|
4071
|
+
var unplayedMessageSentences = (0, import_react49.useMemo)(function() {
|
|
3993
4072
|
if (!latestMessageProps.latestMessage) return [];
|
|
3994
4073
|
if (latestMessageProps.latestMessage.role !== "assistant") return [];
|
|
3995
4074
|
if (stoppedMessageIds.includes(latestMessageProps.latestMessage.id)) return [];
|
|
@@ -4010,7 +4089,7 @@ var useMessageAudio = function(param) {
|
|
|
4010
4089
|
latestMessageProps,
|
|
4011
4090
|
playedMessageSentences
|
|
4012
4091
|
]);
|
|
4013
|
-
(0,
|
|
4092
|
+
(0, import_react49.useEffect)(function() {
|
|
4014
4093
|
if (isPlaying) return;
|
|
4015
4094
|
if (audioPlayer.playing) return;
|
|
4016
4095
|
if (!latestMessageProps.latestMessage) return;
|
|
@@ -4078,7 +4157,7 @@ var useMessageAudio = function(param) {
|
|
|
4078
4157
|
playedMessageSentences,
|
|
4079
4158
|
onEnd
|
|
4080
4159
|
]);
|
|
4081
|
-
(0,
|
|
4160
|
+
(0, import_react49.useEffect)(function() {
|
|
4082
4161
|
if (isHtmlAudioSupported) {
|
|
4083
4162
|
var _import_howler_Howler__howls___sounds_, _import_howler_Howler__howls_, _import_howler_Howler;
|
|
4084
4163
|
if (!((_import_howler_Howler = import_howler.Howler) === null || _import_howler_Howler === void 0 ? void 0 : (_import_howler_Howler__howls_ = _import_howler_Howler._howls[0]) === null || _import_howler_Howler__howls_ === void 0 ? void 0 : (_import_howler_Howler__howls___sounds_ = _import_howler_Howler__howls_._sounds[0]) === null || _import_howler_Howler__howls___sounds_ === void 0 ? void 0 : _import_howler_Howler__howls___sounds_._node)) return;
|
|
@@ -4087,9 +4166,9 @@ var useMessageAudio = function(param) {
|
|
|
4087
4166
|
}, [
|
|
4088
4167
|
audioPlayer
|
|
4089
4168
|
]);
|
|
4090
|
-
var _ref4 = _sliced_to_array((0,
|
|
4091
|
-
var isAudioEngineInited = (0,
|
|
4092
|
-
(0,
|
|
4169
|
+
var _ref4 = _sliced_to_array((0, import_react49.useState)(null), 2), audioEngine = _ref4[0], setAudioEngine = _ref4[1];
|
|
4170
|
+
var isAudioEngineInited = (0, import_react49.useRef)(false);
|
|
4171
|
+
(0, import_react49.useEffect)(function() {
|
|
4093
4172
|
if (!audioPlayer.playing) return;
|
|
4094
4173
|
if (isAudioEngineInited.current) return;
|
|
4095
4174
|
isAudioEngineInited.current = true;
|
|
@@ -4110,7 +4189,7 @@ var useMessageAudio = function(param) {
|
|
|
4110
4189
|
audioPlayer,
|
|
4111
4190
|
isAudioEngineInited
|
|
4112
4191
|
]);
|
|
4113
|
-
var visualizationAnalyser = (0,
|
|
4192
|
+
var visualizationAnalyser = (0, import_react49.useMemo)(function() {
|
|
4114
4193
|
if (!audioEngine) return null;
|
|
4115
4194
|
var result = audioEngine.audioContext.createAnalyser();
|
|
4116
4195
|
audioEngine.source.connect(audioEngine.audioContext.destination);
|
|
@@ -4119,7 +4198,7 @@ var useMessageAudio = function(param) {
|
|
|
4119
4198
|
}, [
|
|
4120
4199
|
audioEngine
|
|
4121
4200
|
]);
|
|
4122
|
-
var isPending = (0,
|
|
4201
|
+
var isPending = (0, import_react49.useMemo)(function() {
|
|
4123
4202
|
return isPlaying || unplayedMessageSentences.length > 0;
|
|
4124
4203
|
}, [
|
|
4125
4204
|
isPlaying,
|
|
@@ -4176,7 +4255,7 @@ var Root12 = function(param) {
|
|
|
4176
4255
|
};
|
|
4177
4256
|
}()
|
|
4178
4257
|
});
|
|
4179
|
-
var microphonePermission =
|
|
4258
|
+
var microphonePermission = usePermission({
|
|
4180
4259
|
name: "microphone"
|
|
4181
4260
|
});
|
|
4182
4261
|
var messageAudioProps = useMessageAudio({
|
|
@@ -4206,25 +4285,25 @@ var Root12 = function(param) {
|
|
|
4206
4285
|
});
|
|
4207
4286
|
};
|
|
4208
4287
|
// src/components/threads/AudioThread/Visualization/index.tsx
|
|
4209
|
-
var
|
|
4288
|
+
var import_react52 = require("react");
|
|
4210
4289
|
var import_lodash9 = __toESM(require("lodash"), 1);
|
|
4211
4290
|
var import_themes47 = require("@radix-ui/themes");
|
|
4212
4291
|
// src/hooks/threads/useAudioThreadContext/index.ts
|
|
4213
|
-
var
|
|
4292
|
+
var import_react50 = require("react");
|
|
4214
4293
|
var useAudioThreadContext = function() {
|
|
4215
|
-
return (0,
|
|
4294
|
+
return (0, import_react50.useContext)(AudioThreadContext);
|
|
4216
4295
|
};
|
|
4217
4296
|
// src/components/threads/AudioThread/BarsVisualizer/index.tsx
|
|
4218
4297
|
var import_lodash8 = __toESM(require("lodash"), 1);
|
|
4219
4298
|
var import_themes46 = require("@radix-ui/themes");
|
|
4220
|
-
var
|
|
4299
|
+
var import_react51 = require("react");
|
|
4221
4300
|
var import_radash16 = require("radash");
|
|
4222
4301
|
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
4223
4302
|
var barCount = 4;
|
|
4224
4303
|
var BarsVisualizer = function(param) {
|
|
4225
4304
|
var visualizationAnalyser = param.visualizationAnalyser, backgroundColor = param.backgroundColor, height = param.height, barWidth = param.barWidth;
|
|
4226
|
-
var _ref = _sliced_to_array((0,
|
|
4227
|
-
var draw = (0,
|
|
4305
|
+
var _ref = _sliced_to_array((0, import_react51.useState)([]), 2), barHeights = _ref[0], setBarHeights = _ref[1];
|
|
4306
|
+
var draw = (0, import_react51.useCallback)(function(param) {
|
|
4228
4307
|
var visualizationAnalyser2 = param.visualizationAnalyser;
|
|
4229
4308
|
if (!visualizationAnalyser2) {
|
|
4230
4309
|
setBarHeights(Array(barCount).fill(0));
|
|
@@ -4242,7 +4321,7 @@ var BarsVisualizer = function(param) {
|
|
|
4242
4321
|
});
|
|
4243
4322
|
});
|
|
4244
4323
|
}, []);
|
|
4245
|
-
(0,
|
|
4324
|
+
(0, import_react51.useEffect)(function() {
|
|
4246
4325
|
draw({
|
|
4247
4326
|
visualizationAnalyser: visualizationAnalyser
|
|
4248
4327
|
});
|
|
@@ -4282,9 +4361,9 @@ var BarsVisualizer = function(param) {
|
|
|
4282
4361
|
var import_jsx_runtime68 = require("react/jsx-runtime");
|
|
4283
4362
|
var Visualization = function() {
|
|
4284
4363
|
var audioThreadContext = useAudioThreadContext();
|
|
4285
|
-
var assistantNameContext = (0,
|
|
4286
|
-
var _ref = _sliced_to_array((0,
|
|
4287
|
-
var draw = (0,
|
|
4364
|
+
var assistantNameContext = (0, import_react52.useContext)(AssistantNameContext);
|
|
4365
|
+
var _ref = _sliced_to_array((0, import_react52.useState)(0), 2), scale = _ref[0], setScale = _ref[1];
|
|
4366
|
+
var draw = (0, import_react52.useCallback)(function(param) {
|
|
4288
4367
|
var visualizationAnalyser = param.visualizationAnalyser;
|
|
4289
4368
|
if (!visualizationAnalyser) {
|
|
4290
4369
|
setScale(1);
|
|
@@ -4299,7 +4378,7 @@ var Visualization = function() {
|
|
|
4299
4378
|
});
|
|
4300
4379
|
});
|
|
4301
4380
|
}, []);
|
|
4302
|
-
(0,
|
|
4381
|
+
(0, import_react52.useEffect)(function() {
|
|
4303
4382
|
draw({
|
|
4304
4383
|
visualizationAnalyser: audioThreadContext.recorderProps.visualizationAnalyser
|
|
4305
4384
|
});
|
|
@@ -4584,9 +4663,9 @@ AudioThreadDialog.Root = Root9;
|
|
|
4584
4663
|
AudioThreadDialog.Trigger = Trigger;
|
|
4585
4664
|
AudioThreadDialog.Content = Content4;
|
|
4586
4665
|
// src/components/suggestions/Suggestions/index.tsx
|
|
4587
|
-
var
|
|
4666
|
+
var import_react54 = require("react");
|
|
4588
4667
|
// src/components/suggestions/Suggestions/Content.tsx
|
|
4589
|
-
var
|
|
4668
|
+
var import_react53 = require("react");
|
|
4590
4669
|
var import_radash17 = require("radash");
|
|
4591
4670
|
var import_react_children_utilities = require("react-children-utilities");
|
|
4592
4671
|
var import_themes52 = require("@radix-ui/themes");
|
|
@@ -4643,7 +4722,7 @@ var import_jsx_runtime77 = require("react/jsx-runtime");
|
|
|
4643
4722
|
var Content6 = function(param) {
|
|
4644
4723
|
var children = param.children;
|
|
4645
4724
|
var isMutatingMessage = useIsMutatingMessage();
|
|
4646
|
-
var suggestions = (0,
|
|
4725
|
+
var suggestions = (0, import_react53.useMemo)(function() {
|
|
4647
4726
|
return (0, import_react_children_utilities.onlyText)(children).split(/\r?\n/).filter(function(c) {
|
|
4648
4727
|
return !(0, import_radash17.isEmpty)(c);
|
|
4649
4728
|
}).map(function(c) {
|
|
@@ -4670,7 +4749,7 @@ var import_jsx_runtime78 = require("react/jsx-runtime");
|
|
|
4670
4749
|
var Suggestions = function(param) {
|
|
4671
4750
|
var children = param.children;
|
|
4672
4751
|
var latestMessageProps = useLatestMessage();
|
|
4673
|
-
var isDisabled = (0,
|
|
4752
|
+
var isDisabled = (0, import_react54.useMemo)(function() {
|
|
4674
4753
|
var // @ts-ignore-next-line
|
|
4675
4754
|
_latestMessageProps_latestMessage_metadata, _latestMessageProps_latestMessage;
|
|
4676
4755
|
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;
|
|
@@ -4685,14 +4764,14 @@ var Suggestions = function(param) {
|
|
|
4685
4764
|
};
|
|
4686
4765
|
Suggestions.Item = Item;
|
|
4687
4766
|
// src/components/markdown/MarkdownProvider/index.tsx
|
|
4688
|
-
var
|
|
4767
|
+
var import_react55 = require("react");
|
|
4689
4768
|
var import_jsx_runtime79 = require("react/jsx-runtime");
|
|
4690
4769
|
var MarkdownProvider = function(_param) {
|
|
4691
4770
|
var children = _param.children, rest = _object_without_properties(_param, [
|
|
4692
4771
|
"children"
|
|
4693
4772
|
]);
|
|
4694
4773
|
var prevMarkdownContext = useMarkdownContext();
|
|
4695
|
-
var value = (0,
|
|
4774
|
+
var value = (0, import_react55.useMemo)(function() {
|
|
4696
4775
|
return merge(prevMarkdownContext, rest);
|
|
4697
4776
|
}, [
|
|
4698
4777
|
rest,
|
|
@@ -4704,11 +4783,11 @@ var MarkdownProvider = function(_param) {
|
|
|
4704
4783
|
});
|
|
4705
4784
|
};
|
|
4706
4785
|
// src/components/components/ComponentsProvider.tsx
|
|
4707
|
-
var
|
|
4786
|
+
var import_react57 = require("react");
|
|
4708
4787
|
// src/hooks/components/useComponents.ts
|
|
4709
|
-
var
|
|
4788
|
+
var import_react56 = require("react");
|
|
4710
4789
|
var useComponents = function() {
|
|
4711
|
-
return (0,
|
|
4790
|
+
return (0, import_react56.useContext)(ComponentsContext);
|
|
4712
4791
|
};
|
|
4713
4792
|
// src/components/components/ComponentsProvider.tsx
|
|
4714
4793
|
var import_jsx_runtime80 = require("react/jsx-runtime");
|
|
@@ -4717,7 +4796,7 @@ var ComponentsProvider = function(_param) {
|
|
|
4717
4796
|
"children"
|
|
4718
4797
|
]);
|
|
4719
4798
|
var prevComponents = useComponents();
|
|
4720
|
-
var value = (0,
|
|
4799
|
+
var value = (0, import_react57.useMemo)(function() {
|
|
4721
4800
|
return merge(prevComponents, rest);
|
|
4722
4801
|
}, [
|
|
4723
4802
|
rest,
|