@superinterface/react 2.0.8 → 2.0.9

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 CHANGED
@@ -1962,6 +1962,7 @@ var useManageRuns = function() {
1962
1962
  return null;
1963
1963
  };
1964
1964
  // src/hooks/runs/usePolling/index.tsx
1965
+ var import_react31 = require("react");
1965
1966
  var import_react_query7 = require("@tanstack/react-query");
1966
1967
  var import_react_use = require("react-use");
1967
1968
  // src/hooks/runs/usePolling/lib/refetch.ts
@@ -2032,11 +2033,25 @@ var usePolling = function() {
2032
2033
  }
2033
2034
  });
2034
2035
  }), isRunActiveProps.isRunActive ? 3e3 : null);
2036
+ var prevIsRunActive = (0, import_react_use.usePrevious)(isRunActiveProps.isRunActive);
2037
+ (0, import_react31.useEffect)(function() {
2038
+ if (prevIsRunActive && !isRunActiveProps.isRunActive) {
2039
+ refetch({
2040
+ queryClient: queryClient,
2041
+ threadContext: threadContext
2042
+ });
2043
+ }
2044
+ }, [
2045
+ queryClient,
2046
+ threadContext,
2047
+ isRunActiveProps,
2048
+ prevIsRunActive
2049
+ ]);
2035
2050
  return null;
2036
2051
  };
2037
2052
  // src/hooks/actions/useManageActions/index.tsx
2038
2053
  var import_react_query9 = require("@tanstack/react-query");
2039
- var import_react31 = require("react");
2054
+ var import_react32 = require("react");
2040
2055
  // src/hooks/actions/useHandleAction/index.tsx
2041
2056
  var import_radash5 = require("radash");
2042
2057
  var import_react_query8 = require("@tanstack/react-query");
@@ -2109,7 +2124,7 @@ var useManageActions = function() {
2109
2124
  var threadContext = useSuperinterfaceContext();
2110
2125
  var latestRunProps = useLatestRun();
2111
2126
  var handleActionProps = useHandleAction();
2112
- (0, import_react31.useEffect)(function() {
2127
+ (0, import_react32.useEffect)(function() {
2113
2128
  if (handleActionProps.isPending) return;
2114
2129
  if (latestRunProps.isFetching) return;
2115
2130
  if (!latestRunProps.latestRun) return;
@@ -2210,16 +2225,16 @@ var import_themes33 = require("@radix-ui/themes");
2210
2225
  var import_react_icons5 = require("@radix-ui/react-icons");
2211
2226
  var import_themes31 = require("@radix-ui/themes");
2212
2227
  // src/hooks/messages/useMessageFormContext/index.ts
2213
- var import_react33 = require("react");
2228
+ var import_react34 = require("react");
2214
2229
  // src/contexts/messages/MessageFormContext/index.ts
2215
- var import_react32 = require("react");
2216
- var MessageFormContext = (0, import_react32.createContext)({
2230
+ var import_react33 = require("react");
2231
+ var MessageFormContext = (0, import_react33.createContext)({
2217
2232
  isDisabled: false,
2218
2233
  isLoading: false
2219
2234
  });
2220
2235
  // src/hooks/messages/useMessageFormContext/index.ts
2221
2236
  var useMessageFormContext = function() {
2222
- return (0, import_react33.useContext)(MessageFormContext);
2237
+ return (0, import_react34.useContext)(MessageFormContext);
2223
2238
  };
2224
2239
  // src/components/threads/Thread/MessageForm/Submit/index.tsx
2225
2240
  var import_jsx_runtime38 = require("react/jsx-runtime");
@@ -2236,7 +2251,7 @@ var Submit = function() {
2236
2251
  });
2237
2252
  };
2238
2253
  // src/components/threads/Thread/MessageForm/Root/index.tsx
2239
- var import_react34 = require("react");
2254
+ var import_react35 = require("react");
2240
2255
  var import_react_hook_form = require("react-hook-form");
2241
2256
  // src/hooks/messages/useCreateMessage/index.ts
2242
2257
  var import_radash8 = require("radash");
@@ -2427,7 +2442,7 @@ var Root2 = function(param) {
2427
2442
  var formProps = (0, import_react_hook_form.useForm)(formOptions);
2428
2443
  var handleSubmit = formProps.handleSubmit, isSubmitting = formProps.formState.isSubmitting, reset = formProps.reset;
2429
2444
  var _useIsRunActive = useIsRunActive(), isRunActive2 = _useIsRunActive.isRunActive;
2430
- var isLoading = (0, import_react34.useMemo)(function() {
2445
+ var isLoading = (0, import_react35.useMemo)(function() {
2431
2446
  return isRunActive2 || isSubmitting;
2432
2447
  }, [
2433
2448
  isRunActive2,
@@ -2467,7 +2482,7 @@ var Root2 = function(param) {
2467
2482
  };
2468
2483
  }();
2469
2484
  var latestMessage = useLatestMessage().latestMessage;
2470
- var isDisabled = (0, import_react34.useMemo)(function() {
2485
+ var isDisabled = (0, import_react35.useMemo)(function() {
2471
2486
  var // @ts-ignore-next-line
2472
2487
  _latestMessage_metadata;
2473
2488
  return latestMessage === null || latestMessage === void 0 ? void 0 : (_latestMessage_metadata = latestMessage.metadata) === null || _latestMessage_metadata === void 0 ? void 0 : _latestMessage_metadata.isBlocking;
@@ -2490,13 +2505,13 @@ var Root2 = function(param) {
2490
2505
  };
2491
2506
  // src/components/threads/Thread/MessageForm/Field/index.tsx
2492
2507
  var import_react_use2 = require("react-use");
2493
- var import_react36 = require("react");
2508
+ var import_react37 = require("react");
2494
2509
  // src/components/textareas/TextareaBase/index.tsx
2495
- var import_react35 = require("react");
2510
+ var import_react36 = require("react");
2496
2511
  var import_react_textarea_autosize = __toESM(require("react-textarea-autosize"), 1);
2497
2512
  var import_jsx_runtime40 = require("react/jsx-runtime");
2498
2513
  var UPSCALE_RATIO = 16 / 14;
2499
- var TextareaBase = (0, import_react35.forwardRef)(function TextareaBase2(props, ref) {
2514
+ var TextareaBase = (0, import_react36.forwardRef)(function TextareaBase2(props, ref) {
2500
2515
  return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_jsx_runtime40.Fragment, {
2501
2516
  children: [
2502
2517
  /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("style", {
@@ -2558,19 +2573,19 @@ var Root3 = function(param) {
2558
2573
  });
2559
2574
  };
2560
2575
  var Control = function() {
2561
- var assistantNameContext = (0, import_react36.useContext)(AssistantNameContext);
2576
+ var assistantNameContext = (0, import_react37.useContext)(AssistantNameContext);
2562
2577
  var register = (0, import_react_hook_form2.useFormContext)().register;
2563
2578
  var _useMessageFormContext = useMessageFormContext(), isDisabled = _useMessageFormContext.isDisabled, isLoading = _useMessageFormContext.isLoading;
2564
- var isSubmitDisabled = (0, import_react36.useMemo)(function() {
2579
+ var isSubmitDisabled = (0, import_react37.useMemo)(function() {
2565
2580
  return isDisabled || isLoading;
2566
2581
  }, [
2567
2582
  isDisabled,
2568
2583
  isLoading
2569
2584
  ]);
2570
2585
  var isDisabledPrevious = (0, import_react_use2.usePrevious)(isDisabled);
2571
- var textareaRef = (0, import_react36.useRef)(null);
2586
+ var textareaRef = (0, import_react37.useRef)(null);
2572
2587
  var textareaProps = register("content");
2573
- (0, import_react36.useEffect)(function() {
2588
+ (0, import_react37.useEffect)(function() {
2574
2589
  if (isDisabled) return;
2575
2590
  if (!isDisabledPrevious) return;
2576
2591
  if (!textareaRef.current) return;
@@ -2635,11 +2650,11 @@ MessageForm.Submit = Submit;
2635
2650
  // src/components/threads/Thread/Root/index.tsx
2636
2651
  var import_themes34 = require("@radix-ui/themes");
2637
2652
  // src/components/runs/PollingProvider/index.tsx
2638
- var import_react37 = require("react");
2653
+ var import_react38 = require("react");
2639
2654
  var import_jsx_runtime43 = require("react/jsx-runtime");
2640
2655
  var PollingProvider = function(param) {
2641
2656
  var children = param.children;
2642
- var _ref = _sliced_to_array((0, import_react37.useState)(false), 2), isPollRefetching = _ref[0], setIsPollRefetching = _ref[1];
2657
+ var _ref = _sliced_to_array((0, import_react38.useState)(false), 2), isPollRefetching = _ref[0], setIsPollRefetching = _ref[1];
2643
2658
  return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(PollingContext.Provider, {
2644
2659
  value: {
2645
2660
  isPollRefetching: isPollRefetching,
@@ -2683,31 +2698,31 @@ Thread.Root = Root4;
2683
2698
  Thread.Messages = Messages;
2684
2699
  Thread.MessageForm = MessageForm;
2685
2700
  // src/hooks/messages/useMessageContext/index.ts
2686
- var import_react38 = require("react");
2701
+ var import_react39 = require("react");
2687
2702
  var useMessageContext = function() {
2688
- return (0, import_react38.useContext)(MessageContext);
2703
+ return (0, import_react39.useContext)(MessageContext);
2689
2704
  };
2690
2705
  // src/components/threads/ThreadDialog/Root/index.tsx
2691
2706
  var import_themes36 = require("@radix-ui/themes");
2692
2707
  // src/components/threads/ThreadDialog/Provider/index.tsx
2693
- var import_react41 = require("react");
2708
+ var import_react42 = require("react");
2694
2709
  // src/contexts/threads/ThreadDialogContext/index.ts
2695
- var import_react39 = require("react");
2696
- var ThreadDialogContext = (0, import_react39.createContext)({
2710
+ var import_react40 = require("react");
2711
+ var ThreadDialogContext = (0, import_react40.createContext)({
2697
2712
  isOpen: false,
2698
2713
  setIsOpen: function() {}
2699
2714
  });
2700
2715
  // src/hooks/threads/useThreadDialogContext/index.ts
2701
- var import_react40 = require("react");
2716
+ var import_react41 = require("react");
2702
2717
  var useThreadDialogContext = function() {
2703
- return (0, import_react40.useContext)(ThreadDialogContext);
2718
+ return (0, import_react41.useContext)(ThreadDialogContext);
2704
2719
  };
2705
2720
  // src/components/threads/ThreadDialog/Provider/index.tsx
2706
2721
  var import_jsx_runtime47 = require("react/jsx-runtime");
2707
2722
  var Provider3 = function(param) {
2708
2723
  var children = param.children;
2709
2724
  var threadDialogContext = useThreadDialogContext();
2710
- var _ref = _sliced_to_array((0, import_react41.useState)(threadDialogContext.isOpen), 2), isOpen = _ref[0], setIsOpen = _ref[1];
2725
+ var _ref = _sliced_to_array((0, import_react42.useState)(threadDialogContext.isOpen), 2), isOpen = _ref[0], setIsOpen = _ref[1];
2711
2726
  return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(ThreadDialogContext.Provider, {
2712
2727
  value: {
2713
2728
  isOpen: isOpen,
@@ -2717,7 +2732,7 @@ var Provider3 = function(param) {
2717
2732
  });
2718
2733
  };
2719
2734
  // src/components/toasts/ToastsProvider/index.tsx
2720
- var import_react42 = require("react");
2735
+ var import_react43 = require("react");
2721
2736
  var Toast2 = __toESM(require("@radix-ui/react-toast"), 1);
2722
2737
  // src/components/toasts/ToastsProvider/CustomToast.tsx
2723
2738
  var Toast = __toESM(require("@radix-ui/react-toast"), 1);
@@ -2756,8 +2771,8 @@ var CustomToast = function(param) {
2756
2771
  var import_jsx_runtime49 = require("react/jsx-runtime");
2757
2772
  var ToastsProvider = function(param) {
2758
2773
  var children = param.children;
2759
- var _ref = _sliced_to_array((0, import_react42.useState)([]), 2), toasts = _ref[0], setToasts = _ref[1];
2760
- var addToast = (0, import_react42.useCallback)(function(toast) {
2774
+ var _ref = _sliced_to_array((0, import_react43.useState)([]), 2), toasts = _ref[0], setToasts = _ref[1];
2775
+ var addToast = (0, import_react43.useCallback)(function(toast) {
2761
2776
  return setToasts(function(prevToasts) {
2762
2777
  return _to_consumable_array(prevToasts).concat([
2763
2778
  toast
@@ -2920,8 +2935,8 @@ ThreadDialog.Content = Content4;
2920
2935
  var import_runtime = require("regenerator-runtime/runtime");
2921
2936
  var import_themes40 = require("@radix-ui/themes");
2922
2937
  // src/contexts/threads/AudioThreadContext/index.ts
2923
- var import_react43 = require("react");
2924
- var AudioThreadContext = (0, import_react43.createContext)({
2938
+ var import_react44 = require("react");
2939
+ var AudioThreadContext = (0, import_react44.createContext)({
2925
2940
  status: "idle",
2926
2941
  recorderProps: {
2927
2942
  status: "idle",
@@ -2989,11 +3004,11 @@ var blobToData = function(blob) {
2989
3004
  });
2990
3005
  };
2991
3006
  // src/hooks/audioThreads/useStatus/index.ts
2992
- var import_react44 = require("react");
3007
+ var import_react45 = require("react");
2993
3008
  var useStatus = function(param) {
2994
3009
  var messageAudioProps = param.messageAudioProps, recorderProps = param.recorderProps, createMessageProps = param.createMessageProps;
2995
3010
  var isRunActiveProps = useIsRunActive();
2996
- var status = (0, import_react44.useMemo)(function() {
3011
+ var status = (0, import_react45.useMemo)(function() {
2997
3012
  if (recorderProps.status === "recording") return "recording";
2998
3013
  if (createMessageProps.isPending) return "creatingMessage";
2999
3014
  if (isRunActiveProps.isRunActive) return "runActive";
@@ -3016,19 +3031,19 @@ var useStatus = function(param) {
3016
3031
  // src/hooks/audioThreads/useRecorder/index.ts
3017
3032
  var import_dayjs = __toESM(require("dayjs"), 1);
3018
3033
  var import_use_audio_capture = require("use-audio-capture");
3019
- var import_react45 = require("react");
3034
+ var import_react46 = require("react");
3020
3035
  var import_react_use_audio_player = require("react-use-audio-player");
3021
3036
  var import_react_use3 = require("react-use");
3022
3037
  var useRecorder = function(param) {
3023
3038
  var isStopOnSilence = param.isStopOnSilence, onStart = param.onStart, onStop = param.onStop;
3024
- var _ref = _sliced_to_array((0, import_react45.useState)(null), 2), silenceStart = _ref[0], setSilenceStart = _ref[1];
3025
- var _ref1 = _sliced_to_array((0, import_react45.useState)(null), 2), noiseStart = _ref1[0], setNoiseStart = _ref1[1];
3026
- var _ref2 = _sliced_to_array((0, import_react45.useState)(null), 2), mediaStream = _ref2[0], setMediaStream = _ref2[1];
3027
- var _ref3 = _sliced_to_array((0, import_react45.useState)("idle"), 2), status = _ref3[0], setStatus = _ref3[1];
3039
+ var _ref = _sliced_to_array((0, import_react46.useState)(null), 2), silenceStart = _ref[0], setSilenceStart = _ref[1];
3040
+ var _ref1 = _sliced_to_array((0, import_react46.useState)(null), 2), noiseStart = _ref1[0], setNoiseStart = _ref1[1];
3041
+ var _ref2 = _sliced_to_array((0, import_react46.useState)(null), 2), mediaStream = _ref2[0], setMediaStream = _ref2[1];
3042
+ var _ref3 = _sliced_to_array((0, import_react46.useState)("idle"), 2), status = _ref3[0], setStatus = _ref3[1];
3028
3043
  var startAudioPlayer = (0, import_react_use_audio_player.useAudioPlayer)();
3029
3044
  var endAudioPlayer = (0, import_react_use_audio_player.useAudioPlayer)();
3030
- var _ref4 = _sliced_to_array((0, import_react45.useState)(false), 2), isLoaded = _ref4[0], setIsLoaded = _ref4[1];
3031
- (0, import_react45.useEffect)(function() {
3045
+ var _ref4 = _sliced_to_array((0, import_react46.useState)(false), 2), isLoaded = _ref4[0], setIsLoaded = _ref4[1];
3046
+ (0, import_react46.useEffect)(function() {
3032
3047
  if (isLoaded) return;
3033
3048
  setIsLoaded(true);
3034
3049
  }, [
@@ -3086,9 +3101,9 @@ var useRecorder = function(param) {
3086
3101
  setNoiseStart(null);
3087
3102
  }
3088
3103
  });
3089
- var _ref5 = _sliced_to_array((0, import_react45.useState)(null), 2), audioEngine = _ref5[0], setAudioEngine = _ref5[1];
3090
- var isInited = (0, import_react45.useRef)(false);
3091
- (0, import_react45.useEffect)(function() {
3104
+ var _ref5 = _sliced_to_array((0, import_react46.useState)(null), 2), audioEngine = _ref5[0], setAudioEngine = _ref5[1];
3105
+ var isInited = (0, import_react46.useRef)(false);
3106
+ (0, import_react46.useEffect)(function() {
3092
3107
  if (!mediaStream) return;
3093
3108
  if (isInited.current) return;
3094
3109
  isInited.current = true;
@@ -3101,7 +3116,7 @@ var useRecorder = function(param) {
3101
3116
  isInited,
3102
3117
  mediaStream
3103
3118
  ]);
3104
- var visualizationAnalyser = (0, import_react45.useMemo)(function() {
3119
+ var visualizationAnalyser = (0, import_react46.useMemo)(function() {
3105
3120
  if (!audioEngine) return null;
3106
3121
  var result = audioEngine.audioContext.createAnalyser();
3107
3122
  audioEngine.source.connect(result);
@@ -3109,7 +3124,7 @@ var useRecorder = function(param) {
3109
3124
  }, [
3110
3125
  audioEngine
3111
3126
  ]);
3112
- var silenceAnalyser = (0, import_react45.useMemo)(function() {
3127
+ var silenceAnalyser = (0, import_react46.useMemo)(function() {
3113
3128
  if (!audioEngine) return null;
3114
3129
  var result = audioEngine.audioContext.createAnalyser();
3115
3130
  result.minDecibels = -45;
@@ -3118,7 +3133,7 @@ var useRecorder = function(param) {
3118
3133
  }, [
3119
3134
  audioEngine
3120
3135
  ]);
3121
- var handleSilence = (0, import_react45.useCallback)(function() {
3136
+ var handleSilence = (0, import_react46.useCallback)(function() {
3122
3137
  if (!silenceAnalyser) return;
3123
3138
  var frequencyData = new Uint8Array(silenceAnalyser.frequencyBinCount);
3124
3139
  silenceAnalyser.getByteFrequencyData(frequencyData);
@@ -3141,7 +3156,7 @@ var useRecorder = function(param) {
3141
3156
  setNoiseStart,
3142
3157
  setSilenceStart
3143
3158
  ]);
3144
- (0, import_react45.useEffect)(function() {
3159
+ (0, import_react46.useEffect)(function() {
3145
3160
  if (!isStopOnSilence) return;
3146
3161
  requestAnimationFrame(function() {
3147
3162
  return handleSilence();
@@ -3164,7 +3179,7 @@ var useRecorder = function(param) {
3164
3179
  });
3165
3180
  };
3166
3181
  // src/hooks/audioThreads/useMessageAudio/index.ts
3167
- var import_react46 = require("react");
3182
+ var import_react47 = require("react");
3168
3183
  var import_howler = require("howler");
3169
3184
  var import_react_use_audio_player2 = require("react-use-audio-player");
3170
3185
  // src/hooks/audioThreads/useMessageAudio/lib/input.ts
@@ -3190,11 +3205,11 @@ var isHtmlAudioSupported = !unsupportedNames.includes(((_this = (0, import_detec
3190
3205
  // src/hooks/audioThreads/useMessageAudio/index.ts
3191
3206
  var useMessageAudio = function(param) {
3192
3207
  var onEnd = param.onEnd;
3193
- var _ref = _sliced_to_array((0, import_react46.useState)([]), 2), playedMessageIds = _ref[0], setPlayedMessageIds = _ref[1];
3208
+ var _ref = _sliced_to_array((0, import_react47.useState)([]), 2), playedMessageIds = _ref[0], setPlayedMessageIds = _ref[1];
3194
3209
  var audioPlayer = (0, import_react_use_audio_player2.useAudioPlayer)();
3195
3210
  var superinterfaceContext = useSuperinterfaceContext();
3196
3211
  var latestMessageProps = useLatestMessage();
3197
- (0, import_react46.useEffect)(function() {
3212
+ (0, import_react47.useEffect)(function() {
3198
3213
  if (audioPlayer.playing) return;
3199
3214
  if (!latestMessageProps.latestMessage) return;
3200
3215
  if (latestMessageProps.latestMessage.role !== "assistant") return;
@@ -3228,9 +3243,9 @@ var useMessageAudio = function(param) {
3228
3243
  playedMessageIds,
3229
3244
  onEnd
3230
3245
  ]);
3231
- var isInited = (0, import_react46.useRef)(false);
3232
- var _ref1 = _sliced_to_array((0, import_react46.useState)(null), 2), audioEngine = _ref1[0], setAudioEngine = _ref1[1];
3233
- (0, import_react46.useEffect)(function() {
3246
+ var isInited = (0, import_react47.useRef)(false);
3247
+ var _ref1 = _sliced_to_array((0, import_react47.useState)(null), 2), audioEngine = _ref1[0], setAudioEngine = _ref1[1];
3248
+ (0, import_react47.useEffect)(function() {
3234
3249
  if (!audioPlayer.playing) return;
3235
3250
  if (isInited.current) return;
3236
3251
  isInited.current = true;
@@ -3251,7 +3266,7 @@ var useMessageAudio = function(param) {
3251
3266
  audioPlayer,
3252
3267
  isInited
3253
3268
  ]);
3254
- var visualizationAnalyser = (0, import_react46.useMemo)(function() {
3269
+ var visualizationAnalyser = (0, import_react47.useMemo)(function() {
3255
3270
  if (!audioEngine) return null;
3256
3271
  var result = audioEngine.audioContext.createAnalyser();
3257
3272
  audioEngine.source.connect(audioEngine.audioContext.destination);
@@ -3342,9 +3357,9 @@ var Root8 = function(param) {
3342
3357
  // src/components/threads/AudioThread/Visualization/index.tsx
3343
3358
  var import_themes41 = require("@radix-ui/themes");
3344
3359
  // src/hooks/threads/useAudioThreadContext/index.ts
3345
- var import_react47 = require("react");
3360
+ var import_react48 = require("react");
3346
3361
  var useAudioThreadContext = function() {
3347
- return (0, import_react47.useContext)(AudioThreadContext);
3362
+ return (0, import_react48.useContext)(AudioThreadContext);
3348
3363
  };
3349
3364
  // src/components/threads/AudioThread/Visualization/index.tsx
3350
3365
  var import_jsx_runtime56 = require("react/jsx-runtime");
@@ -3374,18 +3389,18 @@ var import_themes44 = require("@radix-ui/themes");
3374
3389
  // src/components/threads/AudioThread/Form/Visualizer/index.tsx
3375
3390
  var import_lodash7 = __toESM(require("lodash"), 1);
3376
3391
  var import_themes42 = require("@radix-ui/themes");
3377
- var import_react48 = require("react");
3392
+ var import_react49 = require("react");
3378
3393
  var import_radash10 = require("radash");
3379
3394
  var import_jsx_runtime57 = require("react/jsx-runtime");
3380
3395
  var barCount = 4;
3381
3396
  var Visualizer = function() {
3382
3397
  var audioThreadContext = useAudioThreadContext();
3383
3398
  var visualizationAnalyser = audioThreadContext.recorderProps.visualizationAnalyser;
3384
- var _ref = _sliced_to_array((0, import_react48.useState)(function() {
3399
+ var _ref = _sliced_to_array((0, import_react49.useState)(function() {
3385
3400
  return new AudioContext().createAnalyser();
3386
3401
  }), 1), emptyVisualizer = _ref[0];
3387
- var _ref1 = _sliced_to_array((0, import_react48.useState)([]), 2), barHeights = _ref1[0], setBarHeights = _ref1[1];
3388
- var draw = (0, import_react48.useCallback)(function(param) {
3402
+ var _ref1 = _sliced_to_array((0, import_react49.useState)([]), 2), barHeights = _ref1[0], setBarHeights = _ref1[1];
3403
+ var draw = (0, import_react49.useCallback)(function(param) {
3389
3404
  var visualizationAnalyser2 = param.visualizationAnalyser;
3390
3405
  var frequencyData = new Uint8Array(visualizationAnalyser2.frequencyBinCount / 15);
3391
3406
  visualizationAnalyser2.getByteFrequencyData(frequencyData);
@@ -3399,7 +3414,7 @@ var Visualizer = function() {
3399
3414
  });
3400
3415
  });
3401
3416
  }, []);
3402
- (0, import_react48.useEffect)(function() {
3417
+ (0, import_react49.useEffect)(function() {
3403
3418
  draw({
3404
3419
  visualizationAnalyser: visualizationAnalyser || emptyVisualizer
3405
3420
  });
@@ -3608,9 +3623,9 @@ AudioThreadDialog.Trigger = Trigger;
3608
3623
  AudioThreadDialog.Button = Button3;
3609
3624
  AudioThreadDialog.Content = Content4;
3610
3625
  // src/components/suggestions/Suggestions/index.tsx
3611
- var import_react50 = require("react");
3626
+ var import_react51 = require("react");
3612
3627
  // src/components/suggestions/Suggestions/Content.tsx
3613
- var import_react49 = require("react");
3628
+ var import_react50 = require("react");
3614
3629
  var import_radash11 = require("radash");
3615
3630
  var import_react_children_utilities = require("react-children-utilities");
3616
3631
  var import_themes46 = require("@radix-ui/themes");
@@ -3660,7 +3675,7 @@ var Content6 = function(param) {
3660
3675
  var messageContext = useMessageContext();
3661
3676
  var latestMessageProps = useLatestMessage();
3662
3677
  var isRunActiveProps = useIsRunActive();
3663
- var suggestions = (0, import_react49.useMemo)(function() {
3678
+ var suggestions = (0, import_react50.useMemo)(function() {
3664
3679
  return (0, import_react_children_utilities.onlyText)(children).split(/\r?\n/).filter(function(c) {
3665
3680
  return !(0, import_radash11.isEmpty)(c);
3666
3681
  }).map(function(c) {
@@ -3669,7 +3684,7 @@ var Content6 = function(param) {
3669
3684
  }, [
3670
3685
  children
3671
3686
  ]);
3672
- var isDisabled = (0, import_react49.useMemo)(function() {
3687
+ var isDisabled = (0, import_react50.useMemo)(function() {
3673
3688
  var _messageContext_message;
3674
3689
  return ((_messageContext_message = messageContext.message) === null || _messageContext_message === void 0 ? void 0 : _messageContext_message.id) !== latestMessageProps.latestMessage.id || isRunActiveProps.isRunActive;
3675
3690
  }, [
@@ -3695,7 +3710,7 @@ var import_jsx_runtime64 = require("react/jsx-runtime");
3695
3710
  var Suggestions = function(param) {
3696
3711
  var children = param.children;
3697
3712
  var latestMessageProps = useLatestMessage();
3698
- var isDisabled = (0, import_react50.useMemo)(function() {
3713
+ var isDisabled = (0, import_react51.useMemo)(function() {
3699
3714
  var // @ts-ignore-next-line
3700
3715
  _latestMessageProps_latestMessage_metadata, _latestMessageProps_latestMessage;
3701
3716
  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;
@@ -3710,14 +3725,14 @@ var Suggestions = function(param) {
3710
3725
  };
3711
3726
  Suggestions.Item = Item;
3712
3727
  // src/components/markdown/MarkdownProvider/index.tsx
3713
- var import_react51 = require("react");
3728
+ var import_react52 = require("react");
3714
3729
  var import_jsx_runtime65 = require("react/jsx-runtime");
3715
3730
  var MarkdownProvider = function(_param) {
3716
3731
  var children = _param.children, rest = _object_without_properties(_param, [
3717
3732
  "children"
3718
3733
  ]);
3719
3734
  var prevMarkdownContext = useMarkdownContext();
3720
- var value = (0, import_react51.useMemo)(function() {
3735
+ var value = (0, import_react52.useMemo)(function() {
3721
3736
  return merge(prevMarkdownContext, rest);
3722
3737
  }, [
3723
3738
  rest,