@superinterface/react 2.1.2 → 2.2.0

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
@@ -368,21 +368,9 @@ __export(src_exports, {
368
368
  useCreateMessage: function() {
369
369
  return useCreateMessage;
370
370
  },
371
- useCreateRun: function() {
372
- return useCreateRun;
373
- },
374
- useIsRunActive: function() {
375
- return useIsRunActive;
376
- },
377
371
  useLatestMessage: function() {
378
372
  return useLatestMessage;
379
373
  },
380
- useLatestRun: function() {
381
- return useLatestRun;
382
- },
383
- useLifecycle: function() {
384
- return useLifecycle;
385
- },
386
374
  useMarkdownContext: function() {
387
375
  return useMarkdownContext;
388
376
  },
@@ -392,9 +380,6 @@ __export(src_exports, {
392
380
  useMessages: function() {
393
381
  return useMessages;
394
382
  },
395
- useRuns: function() {
396
- return useRuns;
397
- },
398
383
  useSuperinterfaceContext: function() {
399
384
  return useSuperinterfaceContext;
400
385
  },
@@ -457,7 +442,7 @@ var SuperinterfaceProvider = function(param) {
457
442
  });
458
443
  };
459
444
  // src/components/threads/Thread/Messages/index.tsx
460
- var import_themes31 = require("@radix-ui/themes");
445
+ var import_themes30 = require("@radix-ui/themes");
461
446
  // src/components/threads/Thread/Messages/Content/index.tsx
462
447
  var import_react20 = require("react");
463
448
  // src/hooks/messages/useMessages/index.tsx
@@ -758,7 +743,7 @@ var useToasts = function() {
758
743
  };
759
744
  // src/components/threads/Thread/Messages/Content/MessageGroup/index.tsx
760
745
  var import_react19 = require("react");
761
- var import_themes26 = require("@radix-ui/themes");
746
+ var import_themes27 = require("@radix-ui/themes");
762
747
  var import_react_icons4 = require("@radix-ui/react-icons");
763
748
  // src/components/messageGroups/MessageGroupBase/AssistantAvatar.tsx
764
749
  var import_react10 = require("react");
@@ -791,33 +776,48 @@ var AssistantAvatar = function() {
791
776
  var import_react11 = require("react");
792
777
  var AssistantNameContext = (0, import_react11.createContext)("Assistant");
793
778
  // src/components/threads/Thread/Messages/Content/MessageGroup/Content/index.tsx
794
- var import_themes25 = require("@radix-ui/themes");
779
+ var import_themes26 = require("@radix-ui/themes");
795
780
  // src/components/threads/Thread/Message/index.tsx
796
781
  var import_react18 = require("react");
797
- var import_themes24 = require("@radix-ui/themes");
782
+ var import_themes25 = require("@radix-ui/themes");
783
+ // src/components/skeletons/StartingContentSkeleton/index.tsx
784
+ var import_themes6 = require("@radix-ui/themes");
785
+ var import_jsx_runtime7 = require("react/jsx-runtime");
786
+ var StartingContentSkeleton = function() {
787
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_themes6.Skeleton, {
788
+ loading: true,
789
+ mt: "1",
790
+ height: "var(--space-4)",
791
+ width: "var(--space-4)",
792
+ style: {
793
+ borderRadius: "var(--radius-6)",
794
+ flexShrink: 0
795
+ }
796
+ });
797
+ };
798
798
  // src/components/runSteps/RunSteps/index.tsx
799
- var import_themes14 = require("@radix-ui/themes");
799
+ var import_themes15 = require("@radix-ui/themes");
800
800
  // src/components/runSteps/RunStep/ToolCalls/index.tsx
801
- var import_themes13 = require("@radix-ui/themes");
801
+ var import_themes14 = require("@radix-ui/themes");
802
802
  // src/components/runSteps/RunStep/ToolCalls/ToolCall/index.tsx
803
- var import_themes11 = require("@radix-ui/themes");
803
+ var import_themes12 = require("@radix-ui/themes");
804
804
  // src/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/index.tsx
805
805
  var import_react14 = require("react");
806
806
  // src/contexts/functions/FunctionComponentsContext/index.tsx
807
807
  var import_react12 = require("react");
808
808
  var FunctionComponentsContext = (0, import_react12.createContext)({});
809
809
  // src/components/functions/FunctionBase/index.tsx
810
- var import_themes9 = require("@radix-ui/themes");
810
+ var import_themes10 = require("@radix-ui/themes");
811
811
  // src/components/toolCalls/ToolCallBase/index.tsx
812
- var import_themes6 = require("@radix-ui/themes");
813
- var import_jsx_runtime7 = require("react/jsx-runtime");
812
+ var import_themes7 = require("@radix-ui/themes");
813
+ var import_jsx_runtime8 = require("react/jsx-runtime");
814
814
  var ToolCallBase = function(param) {
815
815
  var children = param.children;
816
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_themes6.Flex, {
816
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_themes7.Flex, {
817
817
  py: "1",
818
818
  ml: "-2",
819
- children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_themes6.PopoverTrigger, {
820
- children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_themes6.Button, {
819
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_themes7.PopoverTrigger, {
820
+ children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_themes7.Button, {
821
821
  size: "1",
822
822
  color: "gold",
823
823
  variant: "outline",
@@ -830,32 +830,32 @@ var ToolCallBase = function(param) {
830
830
  });
831
831
  };
832
832
  // src/components/toolCalls/ToolCallBase/ToolCallTitle.tsx
833
- var import_themes7 = require("@radix-ui/themes");
834
- var import_jsx_runtime8 = require("react/jsx-runtime");
833
+ var import_themes8 = require("@radix-ui/themes");
834
+ var import_jsx_runtime9 = require("react/jsx-runtime");
835
835
  var ToolCallTitle = function(param) {
836
836
  var children = param.children;
837
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_themes7.Text, {
837
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_themes8.Text, {
838
838
  weight: "regular",
839
839
  children: children
840
840
  });
841
841
  };
842
842
  // src/components/functions/FunctionBase/Icon.tsx
843
843
  var import_react_icons2 = require("@radix-ui/react-icons");
844
- var import_jsx_runtime9 = require("react/jsx-runtime");
844
+ var import_jsx_runtime10 = require("react/jsx-runtime");
845
845
  var Icon = function(param) {
846
846
  var runStep = param.runStep;
847
847
  if (runStep.completed_at) {
848
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react_icons2.CheckCircledIcon, {});
848
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_icons2.CheckCircledIcon, {});
849
849
  } else if (runStep.cancelled_at || runStep.failed_at || runStep.status === "expired") {
850
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react_icons2.CircleBackslashIcon, {});
850
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_icons2.CircleBackslashIcon, {});
851
851
  } else {
852
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_react_icons2.CircleIcon, {});
852
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_react_icons2.CircleIcon, {});
853
853
  }
854
854
  };
855
855
  // src/components/functions/FunctionBase/Content.tsx
856
856
  var import_react13 = require("react");
857
- var import_themes8 = require("@radix-ui/themes");
858
- var import_jsx_runtime10 = require("react/jsx-runtime");
857
+ var import_themes9 = require("@radix-ui/themes");
858
+ var import_jsx_runtime11 = require("react/jsx-runtime");
859
859
  var Content = function(param) {
860
860
  var fn = param.fn;
861
861
  var args = (0, import_react13.useMemo)(function() {
@@ -886,7 +886,7 @@ var Content = function(param) {
886
886
  if (!args) {
887
887
  return null;
888
888
  }
889
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_themes8.Code, {
889
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_themes9.Code, {
890
890
  variant: "ghost",
891
891
  color: "gold",
892
892
  style: {
@@ -894,36 +894,36 @@ var Content = function(param) {
894
894
  wordBreak: "break-word"
895
895
  },
896
896
  children: [
897
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_themes8.Box, {
897
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_themes9.Box, {
898
898
  children: args && JSON.stringify(args, null, 2)
899
899
  }),
900
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_themes8.Box, {
900
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_themes9.Box, {
901
901
  children: output && JSON.stringify(output, null, 2)
902
902
  })
903
903
  ]
904
904
  });
905
905
  };
906
906
  // src/components/functions/FunctionBase/index.tsx
907
- var import_jsx_runtime11 = require("react/jsx-runtime");
907
+ var import_jsx_runtime12 = require("react/jsx-runtime");
908
908
  var FunctionBase = function(param) {
909
909
  var fn = param.fn, runStep = param.runStep, title2 = param.title;
910
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_themes9.PopoverRoot, {
910
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_themes10.PopoverRoot, {
911
911
  children: [
912
- /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(ToolCallBase, {
912
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(ToolCallBase, {
913
913
  children: [
914
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Icon, {
914
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Icon, {
915
915
  runStep: runStep
916
916
  }),
917
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(ToolCallTitle, {
917
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(ToolCallTitle, {
918
918
  children: title2
919
919
  })
920
920
  ]
921
921
  }),
922
- /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_themes9.PopoverContent, {
922
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_themes10.PopoverContent, {
923
923
  style: {
924
- maxHeight: "500px"
924
+ maxHeight: "200px"
925
925
  },
926
- children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Content, {
926
+ children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(Content, {
927
927
  fn: fn
928
928
  })
929
929
  })
@@ -942,10 +942,10 @@ var title = function(param) {
942
942
  }
943
943
  };
944
944
  // src/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/DefaultFunction/index.tsx
945
- var import_jsx_runtime12 = require("react/jsx-runtime");
945
+ var import_jsx_runtime13 = require("react/jsx-runtime");
946
946
  var DefaultFunction = function(param) {
947
947
  var fn = param.fn, runStep = param.runStep;
948
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(FunctionBase, {
948
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(FunctionBase, {
949
949
  fn: fn,
950
950
  runStep: runStep,
951
951
  title: title({
@@ -955,66 +955,66 @@ var DefaultFunction = function(param) {
955
955
  });
956
956
  };
957
957
  // src/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/index.tsx
958
- var import_jsx_runtime13 = // @ts-ignore-next-line
958
+ var import_jsx_runtime14 = // @ts-ignore-next-line
959
959
  require("react/jsx-runtime");
960
960
  var Fn = function(param) {
961
961
  var fn = param.fn, runStep = param.runStep;
962
962
  var functionComponentsContext = (0, import_react14.useContext)(FunctionComponentsContext);
963
963
  var Component = functionComponentsContext[fn.name] || DefaultFunction;
964
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Component, {
964
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Component, {
965
965
  fn: fn,
966
966
  runStep: runStep
967
967
  });
968
968
  };
969
969
  // src/components/runSteps/RunStep/ToolCalls/ToolCall/CodeInterpreter/index.tsx
970
- var import_themes10 = require("@radix-ui/themes");
971
- var import_jsx_runtime14 = require("react/jsx-runtime");
970
+ var import_themes11 = require("@radix-ui/themes");
971
+ var import_jsx_runtime15 = require("react/jsx-runtime");
972
972
  var CodeInterpreter = function(param) {
973
973
  var codeInterpreter = param.codeInterpreter;
974
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_themes10.Flex, {
974
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_themes11.Flex, {
975
975
  children: codeInterpreter.input
976
976
  });
977
977
  };
978
978
  // src/components/runSteps/RunStep/ToolCalls/ToolCall/index.tsx
979
- var import_jsx_runtime15 = require("react/jsx-runtime");
979
+ var import_jsx_runtime16 = require("react/jsx-runtime");
980
980
  var ToolCall = function(param) {
981
981
  var toolCall = param.toolCall, runStep = param.runStep;
982
982
  if (toolCall.type === "function") {
983
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Fn, {
983
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Fn, {
984
984
  fn: toolCall.function,
985
985
  runStep: runStep
986
986
  });
987
987
  }
988
988
  if (toolCall.type === "code_interpreter") {
989
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(CodeInterpreter, {
989
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(CodeInterpreter, {
990
990
  codeInterpreter: toolCall.code_interpreter,
991
991
  runStep: runStep
992
992
  });
993
993
  }
994
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_themes11.Flex, {
994
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_themes12.Flex, {
995
995
  children: toolCall.type
996
996
  });
997
997
  };
998
998
  // src/components/runSteps/RunStep/ToolCalls/Starting/index.tsx
999
- var import_themes12 = require("@radix-ui/themes");
999
+ var import_themes13 = require("@radix-ui/themes");
1000
1000
  var import_react_icons3 = require("@radix-ui/react-icons");
1001
- var import_jsx_runtime16 = require("react/jsx-runtime");
1001
+ var import_jsx_runtime17 = require("react/jsx-runtime");
1002
1002
  var Starting = function() {
1003
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_themes12.PopoverRoot, {
1003
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_themes13.PopoverRoot, {
1004
1004
  children: [
1005
- /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(ToolCallBase, {
1005
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(ToolCallBase, {
1006
1006
  children: [
1007
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_react_icons3.CircleIcon, {}),
1008
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(ToolCallTitle, {
1007
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_react_icons3.CircleIcon, {}),
1008
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ToolCallTitle, {
1009
1009
  children: "Starting actions"
1010
1010
  })
1011
1011
  ]
1012
1012
  }),
1013
- /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_themes12.PopoverContent, {
1013
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_themes13.PopoverContent, {
1014
1014
  style: {
1015
1015
  maxHeight: "500px"
1016
1016
  },
1017
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_themes12.Text, {
1017
+ children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_themes13.Text, {
1018
1018
  children: "Getting ready to connect to domain API"
1019
1019
  })
1020
1020
  })
@@ -1022,15 +1022,15 @@ var Starting = function() {
1022
1022
  });
1023
1023
  };
1024
1024
  // src/components/runSteps/RunStep/ToolCalls/index.tsx
1025
- var import_jsx_runtime17 = require("react/jsx-runtime");
1025
+ var import_jsx_runtime18 = require("react/jsx-runtime");
1026
1026
  var ToolCalls = function(param) {
1027
1027
  var stepDetails = param.stepDetails, runStep = param.runStep;
1028
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_themes13.Flex, {
1028
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_themes14.Flex, {
1029
1029
  direction: "column",
1030
1030
  children: [
1031
- !stepDetails.tool_calls.length && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Starting, {}),
1031
+ !stepDetails.tool_calls.length && /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Starting, {}),
1032
1032
  stepDetails.tool_calls.map(function(toolCall) {
1033
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ToolCall, {
1033
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ToolCall, {
1034
1034
  toolCall: toolCall,
1035
1035
  runStep: runStep
1036
1036
  }, toolCall.id);
@@ -1039,11 +1039,11 @@ var ToolCalls = function(param) {
1039
1039
  });
1040
1040
  };
1041
1041
  // src/components/runSteps/RunStep/index.tsx
1042
- var import_jsx_runtime18 = require("react/jsx-runtime");
1042
+ var import_jsx_runtime19 = require("react/jsx-runtime");
1043
1043
  var RunStep = function(param) {
1044
1044
  var runStep = param.runStep;
1045
1045
  if (runStep.step_details.type === "tool_calls") {
1046
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ToolCalls, {
1046
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(ToolCalls, {
1047
1047
  stepDetails: runStep.step_details,
1048
1048
  runStep: runStep
1049
1049
  });
@@ -1051,13 +1051,13 @@ var RunStep = function(param) {
1051
1051
  return null;
1052
1052
  };
1053
1053
  // src/components/runSteps/RunSteps/index.tsx
1054
- var import_jsx_runtime19 = require("react/jsx-runtime");
1054
+ var import_jsx_runtime20 = require("react/jsx-runtime");
1055
1055
  var RunSteps = function(param) {
1056
1056
  var runSteps = param.runSteps;
1057
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_themes14.Flex, {
1057
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_themes15.Flex, {
1058
1058
  direction: "column-reverse",
1059
1059
  children: runSteps.map(function(runStep) {
1060
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(RunStep, {
1060
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(RunStep, {
1061
1061
  runStep: runStep
1062
1062
  }, runStep.id);
1063
1063
  })
@@ -1077,13 +1077,13 @@ var import_react17 = require("react");
1077
1077
  // src/contexts/markdown/MarkdownContext/index.ts
1078
1078
  var import_react16 = require("react");
1079
1079
  // src/contexts/markdown/MarkdownContext/lib/components/Paragraph.tsx
1080
- var import_themes15 = require("@radix-ui/themes");
1081
- var import_jsx_runtime20 = require("react/jsx-runtime");
1080
+ var import_themes16 = require("@radix-ui/themes");
1081
+ var import_jsx_runtime21 = require("react/jsx-runtime");
1082
1082
  var Paragraph = function(param) {
1083
1083
  var children = param.children;
1084
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_themes15.Box, {
1084
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_themes16.Box, {
1085
1085
  pb: "3",
1086
- children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_themes15.Text, {
1086
+ children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_themes16.Text, {
1087
1087
  size: "3",
1088
1088
  style: {
1089
1089
  whiteSpace: "pre-line",
@@ -1094,24 +1094,24 @@ var Paragraph = function(param) {
1094
1094
  });
1095
1095
  };
1096
1096
  // src/contexts/markdown/MarkdownContext/lib/components/Link.tsx
1097
- var import_themes16 = require("@radix-ui/themes");
1098
- var import_jsx_runtime21 = require("react/jsx-runtime");
1097
+ var import_themes17 = require("@radix-ui/themes");
1098
+ var import_jsx_runtime22 = require("react/jsx-runtime");
1099
1099
  var Link = function(param) {
1100
1100
  var children = param.children, href = param.href;
1101
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_themes16.Link, {
1101
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_themes17.Link, {
1102
1102
  href: href,
1103
1103
  children: children
1104
1104
  });
1105
1105
  };
1106
1106
  // src/contexts/markdown/MarkdownContext/lib/components/UnorderedList.tsx
1107
- var import_themes17 = require("@radix-ui/themes");
1108
- var import_jsx_runtime22 = require("react/jsx-runtime");
1107
+ var import_themes18 = require("@radix-ui/themes");
1108
+ var import_jsx_runtime23 = require("react/jsx-runtime");
1109
1109
  var UnorderedList = function(param) {
1110
1110
  var children = param.children;
1111
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_themes17.Box, {
1111
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_themes18.Box, {
1112
1112
  pb: "3",
1113
1113
  asChild: true,
1114
- children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("ul", {
1114
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("ul", {
1115
1115
  style: {
1116
1116
  listStylePosition: "inside"
1117
1117
  },
@@ -1120,14 +1120,14 @@ var UnorderedList = function(param) {
1120
1120
  });
1121
1121
  };
1122
1122
  // src/contexts/markdown/MarkdownContext/lib/components/OrderedList.tsx
1123
- var import_themes18 = require("@radix-ui/themes");
1124
- var import_jsx_runtime23 = require("react/jsx-runtime");
1123
+ var import_themes19 = require("@radix-ui/themes");
1124
+ var import_jsx_runtime24 = require("react/jsx-runtime");
1125
1125
  var OrderedList = function(param) {
1126
1126
  var children = param.children;
1127
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_themes18.Box, {
1127
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_themes19.Box, {
1128
1128
  pb: "3",
1129
1129
  asChild: true,
1130
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("ol", {
1130
+ children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("ol", {
1131
1131
  style: {
1132
1132
  listStylePosition: "inside"
1133
1133
  },
@@ -1136,32 +1136,32 @@ var OrderedList = function(param) {
1136
1136
  });
1137
1137
  };
1138
1138
  // src/contexts/markdown/MarkdownContext/lib/components/ListItem.tsx
1139
- var import_themes19 = require("@radix-ui/themes");
1140
- var import_jsx_runtime24 = require("react/jsx-runtime");
1139
+ var import_themes20 = require("@radix-ui/themes");
1140
+ var import_jsx_runtime25 = require("react/jsx-runtime");
1141
1141
  var ListItem = function(param) {
1142
1142
  var children = param.children;
1143
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_themes19.Box, {
1143
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_themes20.Box, {
1144
1144
  pb: "1",
1145
- children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("li", {
1145
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("li", {
1146
1146
  children: children
1147
1147
  })
1148
1148
  });
1149
1149
  };
1150
1150
  // src/contexts/markdown/MarkdownContext/lib/components/Strong.tsx
1151
- var import_themes20 = require("@radix-ui/themes");
1152
- var import_jsx_runtime25 = require("react/jsx-runtime");
1151
+ var import_themes21 = require("@radix-ui/themes");
1152
+ var import_jsx_runtime26 = require("react/jsx-runtime");
1153
1153
  var Strong = function(param) {
1154
1154
  var children = param.children;
1155
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_themes20.Strong, {
1155
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_themes21.Strong, {
1156
1156
  children: children
1157
1157
  });
1158
1158
  };
1159
1159
  // src/contexts/markdown/MarkdownContext/lib/components/Pre.tsx
1160
- var import_themes21 = require("@radix-ui/themes");
1161
- var import_jsx_runtime26 = require("react/jsx-runtime");
1160
+ var import_themes22 = require("@radix-ui/themes");
1161
+ var import_jsx_runtime27 = require("react/jsx-runtime");
1162
1162
  var Pre = function(param) {
1163
1163
  var children = param.children;
1164
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_themes21.Box, {
1164
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_themes22.Box, {
1165
1165
  style: {
1166
1166
  whiteSpace: "pre-wrap",
1167
1167
  wordBreak: "break-word"
@@ -1170,21 +1170,21 @@ var Pre = function(param) {
1170
1170
  });
1171
1171
  };
1172
1172
  // src/contexts/markdown/MarkdownContext/lib/components/Code.tsx
1173
- var import_themes22 = require("@radix-ui/themes");
1174
- var import_jsx_runtime27 = require("react/jsx-runtime");
1173
+ var import_themes23 = require("@radix-ui/themes");
1174
+ var import_jsx_runtime28 = require("react/jsx-runtime");
1175
1175
  var Code2 = function(param) {
1176
1176
  var children = param.children;
1177
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_themes22.Code, {
1177
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_themes23.Code, {
1178
1178
  children: children
1179
1179
  });
1180
1180
  };
1181
1181
  // src/contexts/markdown/MarkdownContext/lib/components/Img.tsx
1182
- var import_themes23 = require("@radix-ui/themes");
1183
- var import_jsx_runtime28 = require("react/jsx-runtime");
1182
+ var import_themes24 = require("@radix-ui/themes");
1183
+ var import_jsx_runtime29 = require("react/jsx-runtime");
1184
1184
  var Img = function(props) {
1185
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_themes23.Box, {
1185
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_themes24.Box, {
1186
1186
  pb: "3",
1187
- children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("img", _object_spread_props(_object_spread({}, props), {
1187
+ children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("img", _object_spread_props(_object_spread({}, props), {
1188
1188
  style: {
1189
1189
  maxWidth: "100%",
1190
1190
  height: "auto"
@@ -1222,7 +1222,7 @@ var TextContent = function(param) {
1222
1222
  return (0, import_react_remark.useRemarkSync)(content.text.value, markdownContext);
1223
1223
  };
1224
1224
  // src/components/threads/Thread/Message/index.tsx
1225
- var import_jsx_runtime29 = require("react/jsx-runtime");
1225
+ var import_jsx_runtime30 = require("react/jsx-runtime");
1226
1226
  var Message = function(param) {
1227
1227
  var message = param.message;
1228
1228
  var _ref = _sliced_to_array((0, import_react18.useMemo)(function() {
@@ -1257,23 +1257,28 @@ var Message = function(param) {
1257
1257
  }, [
1258
1258
  message
1259
1259
  ]), 2), olderRunSteps = _ref[0], laterRunSteps = _ref[1];
1260
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Provider, {
1260
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Provider, {
1261
1261
  value: {
1262
1262
  message: message
1263
1263
  },
1264
- children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_themes24.Box, {
1264
+ children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_themes25.Box, {
1265
1265
  children: [
1266
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(RunSteps, {
1266
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(RunSteps, {
1267
1267
  runSteps: olderRunSteps
1268
1268
  }),
1269
- message.content.map(function(content, index) {
1270
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_themes24.Box, {
1271
- children: content.type === "text" && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(TextContent, {
1272
- content: content
1273
- })
1274
- }, index);
1269
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_themes25.Box, {
1270
+ children: [
1271
+ message.content.map(function(content, index) {
1272
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_react18.Fragment, {
1273
+ children: content.type === "text" && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(TextContent, {
1274
+ content: content
1275
+ })
1276
+ }, index);
1277
+ }),
1278
+ message.status === "in_progress" && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(StartingContentSkeleton, {})
1279
+ ]
1275
1280
  }),
1276
- /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(RunSteps, {
1281
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(RunSteps, {
1277
1282
  runSteps: laterRunSteps
1278
1283
  })
1279
1284
  ]
@@ -1281,36 +1286,36 @@ var Message = function(param) {
1281
1286
  });
1282
1287
  };
1283
1288
  // src/components/threads/Thread/Messages/Content/MessageGroup/Content/index.tsx
1284
- var import_jsx_runtime30 = require("react/jsx-runtime");
1289
+ var import_jsx_runtime31 = require("react/jsx-runtime");
1285
1290
  var Content2 = function(param) {
1286
1291
  var messageGroup = param.messageGroup;
1287
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_themes25.Flex, {
1292
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_themes26.Flex, {
1288
1293
  direction: "column-reverse",
1289
1294
  children: messageGroup.messages.map(function(message) {
1290
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Message, {
1295
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Message, {
1291
1296
  message: message
1292
1297
  }, message.id);
1293
1298
  })
1294
1299
  });
1295
1300
  };
1296
1301
  // src/components/threads/Thread/Messages/Content/MessageGroup/index.tsx
1297
- var import_jsx_runtime31 = require("react/jsx-runtime");
1302
+ var import_jsx_runtime32 = require("react/jsx-runtime");
1298
1303
  var MessageGroup = function(param) {
1299
1304
  var messageGroup = param.messageGroup;
1300
1305
  var assistantNameContext = (0, import_react19.useContext)(AssistantNameContext);
1301
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(MessageGroupBase, {
1306
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(MessageGroupBase, {
1302
1307
  children: [
1303
- messageGroup.role === "user" ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_themes26.Avatar, {
1304
- fallback: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_react_icons4.PersonIcon, {}),
1308
+ messageGroup.role === "user" ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_themes27.Avatar, {
1309
+ fallback: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_react_icons4.PersonIcon, {}),
1305
1310
  size: "1"
1306
- }) : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(AssistantAvatar, {}),
1307
- /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(import_themes26.Box, {
1311
+ }) : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(AssistantAvatar, {}),
1312
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_themes27.Box, {
1308
1313
  flexGrow: "1",
1309
1314
  children: [
1310
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Name, {
1315
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Name, {
1311
1316
  children: messageGroup.role === "user" ? "You" : assistantNameContext
1312
1317
  }),
1313
- /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Content2, {
1318
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Content2, {
1314
1319
  messageGroup: messageGroup
1315
1320
  })
1316
1321
  ]
@@ -1319,7 +1324,7 @@ var MessageGroup = function(param) {
1319
1324
  });
1320
1325
  };
1321
1326
  // src/components/threads/Thread/Messages/Content/index.tsx
1322
- var import_jsx_runtime32 = require("react/jsx-runtime");
1327
+ var import_jsx_runtime33 = require("react/jsx-runtime");
1323
1328
  var Content3 = function() {
1324
1329
  var _useMessages = useMessages(), messages2 = _useMessages.messages, isLoading = _useMessages.isLoading, isLoadingError = _useMessages.isLoadingError;
1325
1330
  var addToast = useToasts().addToast;
@@ -1338,33 +1343,18 @@ var Content3 = function() {
1338
1343
  addToast
1339
1344
  ]);
1340
1345
  if (isLoading || isLoadingError) {
1341
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(MessagesSkeleton, {});
1346
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(MessagesSkeleton, {});
1342
1347
  }
1343
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_jsx_runtime32.Fragment, {
1348
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_jsx_runtime33.Fragment, {
1344
1349
  children: messageGroups2.map(function(messageGroup) {
1345
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(MessageGroup, {
1350
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(MessageGroup, {
1346
1351
  messageGroup: messageGroup
1347
1352
  }, messageGroup.id);
1348
1353
  })
1349
1354
  });
1350
1355
  };
1351
1356
  // src/components/threads/Thread/Messages/Progress/index.tsx
1352
- var import_themes29 = require("@radix-ui/themes");
1353
- // src/components/skeletons/StartingContentSkeleton/index.tsx
1354
- var import_themes27 = require("@radix-ui/themes");
1355
- var import_jsx_runtime33 = require("react/jsx-runtime");
1356
- var StartingContentSkeleton = function() {
1357
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_themes27.Skeleton, {
1358
- loading: true,
1359
- mt: "1",
1360
- height: "var(--space-4)",
1361
- width: "var(--space-4)",
1362
- style: {
1363
- borderRadius: "var(--radius-6)",
1364
- flexShrink: 0
1365
- }
1366
- });
1367
- };
1357
+ var import_react24 = require("react");
1368
1358
  // src/components/skeletons/StartingSkeleton/index.tsx
1369
1359
  var import_react21 = require("react");
1370
1360
  var import_themes28 = require("@radix-ui/themes");
@@ -1399,174 +1389,63 @@ var useLatestMessage = function() {
1399
1389
  props
1400
1390
  ]);
1401
1391
  };
1402
- // src/hooks/runs/useIsRunActive/index.tsx
1403
- var import_react27 = require("react");
1404
- var import_react_query4 = require("@tanstack/react-query");
1405
- // src/hooks/runs/useLatestRun/index.ts
1406
- var import_react24 = require("react");
1407
- // src/hooks/runs/useRuns/index.tsx
1392
+ // src/lib/optimistic/isOptimistic.ts
1393
+ var import_lodash4 = __toESM(require("lodash"), 1);
1394
+ var isOptimistic = function(param) {
1395
+ var id = param.id;
1396
+ return import_lodash4.default.startsWith(id, "-");
1397
+ };
1398
+ // src/hooks/messages/useIsMutatingMessage/index.ts
1408
1399
  var import_react23 = require("react");
1409
1400
  var import_react_query3 = require("@tanstack/react-query");
1410
- // src/lib/runs/runsQueryOptions.ts
1411
- var runsQueryOptions = function(param) {
1412
- var queryClient = param.queryClient, threadContext = param.threadContext, superinterfaceContext = param.superinterfaceContext;
1413
- return queryOptions({
1414
- queryKeyBase: [
1415
- "runs"
1416
- ],
1417
- path: "/runs",
1418
- queryClient: queryClient,
1419
- threadContext: threadContext,
1420
- superinterfaceContext: superinterfaceContext
1421
- });
1422
- };
1423
- // src/hooks/runs/useRuns/lib/getRuns.ts
1424
- var getRuns = function(param) {
1425
- var data3 = param.data;
1426
- if (!data3) return [];
1427
- return data3.pages.reduce(function(acc, page) {
1428
- return acc.concat(page.data);
1429
- }, []);
1430
- };
1431
- // src/hooks/runs/useRuns/index.tsx
1432
- var useRuns = function() {
1433
- var queryClient = (0, import_react_query3.useQueryClient)();
1434
- var superinterfaceContext = useSuperinterfaceContext();
1435
- var threadContext = useSuperinterfaceContext();
1436
- var props = (0, import_react_query3.useInfiniteQuery)(runsQueryOptions({
1437
- queryClient: queryClient,
1438
- threadContext: threadContext,
1439
- superinterfaceContext: superinterfaceContext
1440
- }));
1441
- return (0, import_react23.useMemo)(function() {
1442
- return _object_spread_props(_object_spread({}, props), {
1443
- // @ts-ignore-next-line
1444
- runs: getRuns({
1445
- data: props.data
1446
- })
1447
- });
1448
- }, [
1449
- props
1450
- ]);
1451
- };
1452
- // src/hooks/runs/useLatestRun/index.ts
1453
- var useLatestRun = function() {
1454
- var props = useRuns();
1455
- return (0, import_react24.useMemo)(function() {
1456
- return _object_spread_props(_object_spread({}, props), {
1457
- latestRun: props.runs[0]
1458
- });
1459
- }, [
1460
- props
1461
- ]);
1462
- };
1463
- // src/hooks/runs/usePollingContext/index.ts
1464
- var import_react26 = require("react");
1465
- // src/contexts/runs/PollingContext/index.tsx
1466
- var import_react25 = require("react");
1467
- var PollingContext = (0, import_react25.createContext)({
1468
- isPollRefetching: false,
1469
- setIsPollRefetching: function() {}
1470
- });
1471
- // src/hooks/runs/usePollingContext/index.ts
1472
- var usePollingContext = function() {
1473
- return (0, import_react26.useContext)(PollingContext);
1474
- };
1475
- // src/hooks/runs/useIsRunActive/index.tsx
1476
- var progressStatuses = [
1477
- "queued",
1478
- "in_progress",
1479
- "cancelling",
1480
- "requires_action"
1481
- ];
1482
- var stoppedStatuses = [
1483
- "expired",
1484
- "cancelled",
1485
- "failed"
1486
- ];
1487
- var isRunActive = function(param) {
1488
- var pollingContext = param.pollingContext, latestRunProps = param.latestRunProps, latestMessageProps = param.latestMessageProps, isMutating = param.isMutating;
1489
- var _latestMessageProps_latestMessage_metadata, _latestMessageProps_latestMessage;
1490
- if (pollingContext.isPollRefetching) return true;
1491
- 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;
1492
- if (isMutating) return true;
1493
- if (!latestRunProps.latestRun) return false;
1494
- if (progressStatuses.includes(latestRunProps.latestRun.status)) return true;
1495
- if (stoppedStatuses.includes(latestRunProps.latestRun.status)) return false;
1496
- return false;
1497
- };
1498
- var useIsRunActive = function() {
1499
- var latestRunProps = useLatestRun();
1500
- var latestMessageProps = useLatestMessage();
1401
+ var useIsMutatingMessage = function() {
1501
1402
  var threadContext = useSuperinterfaceContext();
1502
- var pollingContext = usePollingContext();
1503
- var isMutatingCreateRun = (0, import_react_query4.useIsMutating)({
1504
- mutationKey: [
1505
- "createRun",
1506
- threadContext.variables
1507
- ]
1508
- });
1509
- var isMutatingCreateMessage = (0, import_react_query4.useIsMutating)({
1403
+ var mutatingMessagesCount = (0, import_react_query3.useIsMutating)({
1510
1404
  mutationKey: [
1511
1405
  "createMessage",
1512
1406
  threadContext.variables
1513
1407
  ]
1514
1408
  });
1515
- var isMutatingCreateHandleAction = (0, import_react_query4.useIsMutating)({
1516
- mutationKey: [
1517
- "handleAction",
1518
- threadContext.variables
1519
- ]
1520
- });
1521
- return (0, import_react27.useMemo)(function() {
1522
- return _object_spread_props(_object_spread({}, latestRunProps), {
1523
- isRunActive: isRunActive({
1524
- pollingContext: pollingContext,
1525
- latestRunProps: latestRunProps,
1526
- latestMessageProps: latestMessageProps,
1527
- isMutating: isMutatingCreateRun > 0 || isMutatingCreateMessage > 0 || isMutatingCreateHandleAction > 0
1528
- })
1529
- });
1409
+ var isMutatingMessage = (0, import_react23.useMemo)(function() {
1410
+ return mutatingMessagesCount > 0;
1530
1411
  }, [
1531
- latestRunProps,
1532
- latestMessageProps,
1533
- pollingContext,
1534
- isMutatingCreateRun,
1535
- isMutatingCreateMessage,
1536
- isMutatingCreateHandleAction
1412
+ mutatingMessagesCount
1537
1413
  ]);
1414
+ return isMutatingMessage;
1538
1415
  };
1539
1416
  // src/components/threads/Thread/Messages/Progress/index.tsx
1540
1417
  var import_jsx_runtime35 = require("react/jsx-runtime");
1541
1418
  var Progress = function() {
1542
- var _useIsRunActive = useIsRunActive(), isRunActive2 = _useIsRunActive.isRunActive;
1543
1419
  var latestMessage = useLatestMessage().latestMessage;
1544
- if (!latestMessage) return null;
1545
- if (!isRunActive2) return null;
1546
- if (latestMessage.role === "user") {
1547
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(StartingSkeleton, {});
1548
- }
1549
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(MessageGroupBase, {
1550
- children: [
1551
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_themes29.Box, {
1552
- pl: "5"
1553
- }),
1554
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(StartingContentSkeleton, {})
1555
- ]
1556
- });
1420
+ var isMutatingMessage = useIsMutatingMessage();
1421
+ var isVisible = (0, import_react24.useMemo)(function() {
1422
+ if (!latestMessage) return false;
1423
+ if (latestMessage.role !== "user") return false;
1424
+ if (latestMessage.status === "in_progress") return false;
1425
+ if (!isOptimistic({
1426
+ id: latestMessage.id
1427
+ })) return false;
1428
+ if (!isMutatingMessage) return false;
1429
+ return true;
1430
+ }, [
1431
+ latestMessage,
1432
+ isMutatingMessage
1433
+ ]);
1434
+ if (!isVisible) return null;
1435
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(StartingSkeleton, {});
1557
1436
  };
1558
1437
  // src/components/threads/Thread/Messages/Root/index.tsx
1559
- var import_themes30 = require("@radix-ui/themes");
1438
+ var import_themes29 = require("@radix-ui/themes");
1560
1439
  // src/hooks/misc/useInfiniteScroll/index.tsx
1561
- var import_react29 = require("react");
1440
+ var import_react26 = require("react");
1562
1441
  var import_react_intersection_observer = require("react-intersection-observer");
1563
1442
  // src/hooks/misc/useThrottledEffect/index.tsx
1564
- var import_lodash4 = __toESM(require("lodash"), 1);
1565
- var import_react28 = require("react");
1443
+ var import_lodash5 = __toESM(require("lodash"), 1);
1444
+ var import_react25 = require("react");
1566
1445
  var useThrottledEffect = function(cb, delay, additionalDeps) {
1567
1446
  var _cbRef;
1568
- var cbRef = (0, import_react28.useRef)(cb);
1569
- var throttledCb = (0, import_react28.useCallback)(import_lodash4.default.throttle(function() {
1447
+ var cbRef = (0, import_react25.useRef)(cb);
1448
+ var throttledCb = (0, import_react25.useCallback)(import_lodash5.default.throttle(function() {
1570
1449
  for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
1571
1450
  args[_key] = arguments[_key];
1572
1451
  }
@@ -1577,17 +1456,17 @@ var useThrottledEffect = function(cb, delay, additionalDeps) {
1577
1456
  }), [
1578
1457
  delay
1579
1458
  ]);
1580
- (0, import_react28.useEffect)(function() {
1459
+ (0, import_react25.useEffect)(function() {
1581
1460
  cbRef.current = cb;
1582
1461
  });
1583
- (0, import_react28.useEffect)(throttledCb, [
1462
+ (0, import_react25.useEffect)(throttledCb, [
1584
1463
  throttledCb
1585
1464
  ].concat(_to_consumable_array(additionalDeps)));
1586
1465
  };
1587
1466
  // src/hooks/misc/useInfiniteScroll/index.tsx
1588
1467
  var useInfiniteScroll = function(param) {
1589
1468
  var isFetchingNextPage = param.isFetchingNextPage, hasNextPage = param.hasNextPage, fetchNextPage = param.fetchNextPage;
1590
- var containerRef = (0, import_react29.useRef)(null);
1469
+ var containerRef = (0, import_react26.useRef)(null);
1591
1470
  var _ref = (0, import_react_intersection_observer.useInView)({
1592
1471
  root: containerRef.current,
1593
1472
  rootMargin: "0px",
@@ -1611,580 +1490,33 @@ var useInfiniteScroll = function(param) {
1611
1490
  inView: inView
1612
1491
  };
1613
1492
  };
1614
- // src/hooks/runs/useManageRuns/index.tsx
1615
- var import_react_query6 = require("@tanstack/react-query");
1616
- var import_react30 = require("react");
1617
- // src/hooks/runs/useCreateRun/index.ts
1618
- var import_radash4 = require("radash");
1619
- var import_react_query5 = require("@tanstack/react-query");
1620
- // src/lib/threads/mutationOptions/index.ts
1621
- var mutationOptions = function(param) {
1622
- var mutationKeyBase = param.mutationKeyBase, path = param.path, queryClient = param.queryClient, threadContext = param.threadContext, superinterfaceContext = param.superinterfaceContext;
1623
- var mutationKey = _to_consumable_array(mutationKeyBase).concat([
1624
- threadContext.variables
1625
- ]);
1626
- return _object_spread_props(_object_spread({
1627
- mutationFn: function(variables) {
1628
- return fetch("".concat(superinterfaceContext.baseUrl).concat(path), _object_spread({
1629
- method: "POST",
1630
- body: JSON.stringify(variables),
1631
- credentials: "include"
1632
- }, superinterfaceContext.publicApiKey ? {
1633
- headers: {
1634
- Authorization: "Bearer ".concat(superinterfaceContext.publicApiKey)
1635
- }
1636
- } : {})).then(function() {
1637
- var _ref = _async_to_generator(function(response) {
1638
- var errorResponse, error;
1639
- return _ts_generator(this, function(_state) {
1640
- switch(_state.label){
1641
- case 0:
1642
- if (!(response.status !== 200)) return [
1643
- 3,
1644
- 5
1645
- ];
1646
- _state.label = 1;
1647
- case 1:
1648
- _state.trys.push([
1649
- 1,
1650
- 3,
1651
- ,
1652
- 4
1653
- ]);
1654
- console.log("response", response);
1655
- return [
1656
- 4,
1657
- response.json()
1658
- ];
1659
- case 2:
1660
- errorResponse = _state.sent();
1661
- return [
1662
- 3,
1663
- 4
1664
- ];
1665
- case 3:
1666
- error = _state.sent();
1667
- throw new Error("Failed to fetch");
1668
- case 4:
1669
- throw new Error(errorResponse.error);
1670
- case 5:
1671
- return [
1672
- 2,
1673
- response.json()
1674
- ];
1675
- }
1676
- });
1677
- });
1678
- return function(response) {
1679
- return _ref.apply(this, arguments);
1680
- };
1681
- }());
1682
- }
1683
- }, threadContext.defaultOptions.mutations, queryClient.getMutationDefaults(mutationKey)), {
1684
- mutationKey: mutationKey
1685
- });
1686
- };
1687
- // src/hooks/runs/useCreateRun/lib/onSuccess.ts
1688
- var onSuccess = function(param) {
1689
- var queryClient = param.queryClient;
1690
- return function() {
1691
- var _ref = _async_to_generator(function(data3, variables) {
1692
- return _ts_generator(this, function(_state) {
1693
- return [
1694
- 2,
1695
- queryClient.setQueryData([
1696
- "runs",
1697
- variables
1698
- ], function(prevData) {
1699
- if (!prevData) {
1700
- return {
1701
- pageParams: [],
1702
- pages: [
1703
- {
1704
- data: [
1705
- data3.run
1706
- ],
1707
- hasNextPage: false,
1708
- lastId: data3.run.id
1709
- }
1710
- ]
1711
- };
1712
- }
1713
- var _prevData_pages = _to_array(prevData.pages), latestPage = _prevData_pages[0], pagesRest = _prevData_pages.slice(1);
1714
- return _object_spread_props(_object_spread({}, prevData), {
1715
- pages: [
1716
- _object_spread_props(_object_spread({}, latestPage), {
1717
- data: [
1718
- data3.run
1719
- ].concat(_to_consumable_array(latestPage.data))
1720
- })
1721
- ].concat(_to_consumable_array(pagesRest))
1722
- });
1723
- })
1724
- ];
1725
- });
1726
- });
1727
- return function(data3, variables) {
1728
- return _ref.apply(this, arguments);
1729
- };
1730
- }();
1731
- };
1732
- // src/hooks/runs/useCreateRun/lib/onSettled.ts
1733
- var onSettled = function(param) {
1734
- var queryClient = param.queryClient;
1735
- return function() {
1736
- var _ref = _async_to_generator(function(_data, _error, variables) {
1737
- return _ts_generator(this, function(_state) {
1738
- switch(_state.label){
1739
- case 0:
1740
- return [
1741
- 4,
1742
- queryClient.invalidateQueries({
1743
- queryKey: [
1744
- "messages",
1745
- variables
1746
- ]
1747
- })
1748
- ];
1749
- case 1:
1750
- _state.sent();
1751
- return [
1752
- 4,
1753
- queryClient.invalidateQueries({
1754
- queryKey: [
1755
- "runs",
1756
- variables
1757
- ]
1758
- })
1759
- ];
1760
- case 2:
1761
- _state.sent();
1762
- return [
1763
- 2
1764
- ];
1765
- }
1766
- });
1767
- });
1768
- return function(_data, _error, variables) {
1769
- return _ref.apply(this, arguments);
1770
- };
1771
- }();
1772
- };
1773
- // src/lib/optimistic/optimisticId.ts
1774
- var import_radash3 = require("radash");
1775
- var optimisticId = function() {
1776
- return "-".concat((0, import_radash3.uid)(24));
1777
- };
1778
- // src/hooks/runs/useCreateRun/lib/onMutate/data.ts
1779
- var data = function(prevData) {
1780
- var run = {
1781
- id: optimisticId(),
1782
- object: "thread.run",
1783
- created_at: +/* @__PURE__ */ new Date(),
1784
- assistant_id: null,
1785
- thread_id: null,
1786
- status: "in_progress",
1787
- expires_at: +/* @__PURE__ */ new Date() + 1e3 * 60 * 60 * 24,
1788
- cancelled_at: null,
1789
- failed_at: null,
1790
- completed_at: null,
1791
- required_action: null,
1792
- last_error: null,
1793
- model: null,
1794
- instructions: null,
1795
- tools: [],
1796
- file_ids: [],
1797
- metadata: {},
1798
- usage: null
1799
- };
1800
- if (!prevData) {
1801
- return {
1802
- pageParams: [],
1803
- pages: [
1804
- {
1805
- data: [
1806
- run
1807
- ],
1808
- hasNextPage: false,
1809
- lastId: run.id
1810
- }
1811
- ]
1812
- };
1813
- }
1814
- var _prevData_pages = _to_array(prevData.pages), latestPage = _prevData_pages[0], pagesRest = _prevData_pages.slice(1);
1815
- return _object_spread_props(_object_spread({}, prevData), {
1816
- pages: [
1817
- _object_spread_props(_object_spread({}, latestPage), {
1818
- data: [
1819
- run
1820
- ].concat(_to_consumable_array(latestPage.data))
1821
- })
1822
- ].concat(_to_consumable_array(pagesRest))
1823
- });
1824
- };
1825
- // src/hooks/runs/useCreateRun/lib/onMutate/index.ts
1826
- var onMutate = function(param) {
1827
- var queryClient = param.queryClient;
1828
- return function() {
1829
- var _ref = _async_to_generator(function(variables) {
1830
- var queryKey, prevRuns;
1831
- return _ts_generator(this, function(_state) {
1832
- switch(_state.label){
1833
- case 0:
1834
- queryKey = [
1835
- "runs",
1836
- variables
1837
- ];
1838
- return [
1839
- 4,
1840
- queryClient.cancelQueries({
1841
- queryKey: queryKey
1842
- })
1843
- ];
1844
- case 1:
1845
- _state.sent();
1846
- prevRuns = queryClient.getQueryData(queryKey);
1847
- queryClient.setQueryData(queryKey, data);
1848
- return [
1849
- 2,
1850
- {
1851
- prevRuns: prevRuns,
1852
- variables: variables
1853
- }
1854
- ];
1855
- }
1856
- });
1857
- });
1858
- return function(variables) {
1859
- return _ref.apply(this, arguments);
1860
- };
1861
- }();
1862
- };
1863
- // src/hooks/runs/useCreateRun/index.ts
1864
- var useCreateRun = function() {
1865
- var _ref = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {
1866
- onError: function() {}
1867
- }, _ref_onError = _ref.onError, onError = _ref_onError === void 0 ? function() {} : _ref_onError;
1868
- var queryClient = (0, import_react_query5.useQueryClient)();
1869
- var superinterfaceContext = useSuperinterfaceContext();
1870
- var threadContext = useSuperinterfaceContext();
1871
- var props = (0, import_react_query5.useMutation)(_object_spread({
1872
- onSuccess: onSuccess({
1873
- queryClient: queryClient
1874
- }),
1875
- onSettled: onSettled({
1876
- queryClient: queryClient
1877
- }),
1878
- onMutate: onMutate({
1879
- queryClient: queryClient
1880
- }),
1881
- onError: onError
1882
- }, mutationOptions({
1883
- mutationKeyBase: [
1884
- "createRun"
1885
- ],
1886
- path: "/runs",
1887
- queryClient: queryClient,
1888
- threadContext: threadContext,
1889
- superinterfaceContext: superinterfaceContext
1890
- })));
1891
- return _object_spread_props(_object_spread({}, props), {
1892
- createRun: (0, import_radash4.partob)(props.mutate, threadContext.variables)
1893
- });
1894
- };
1895
- // src/lib/optimistic/isOptimistic.ts
1896
- var import_lodash5 = __toESM(require("lodash"), 1);
1897
- var isOptimistic = function(param) {
1898
- var id = param.id;
1899
- return import_lodash5.default.startsWith(id, "-");
1900
- };
1901
- // src/hooks/runs/useManageRuns/index.tsx
1902
- var useManageRuns = function() {
1903
- var addToast = useToasts().addToast;
1904
- var queryClient = (0, import_react_query6.useQueryClient)();
1905
- var latestRunProps = useLatestRun();
1906
- var latestMessageProps = useLatestMessage();
1907
- var createRunProps = useCreateRun({
1908
- onError: function(error) {
1909
- return addToast({
1910
- type: "error",
1911
- message: error.message
1912
- });
1913
- }
1914
- });
1915
- var threadContext = useSuperinterfaceContext();
1916
- var _ref = _sliced_to_array((0, import_react30.useState)([]), 2), toastedErrorRunIds = _ref[0], setToastedErrorRunIds = _ref[1];
1917
- (0, import_react30.useEffect)(function() {
1918
- var _latestRunProps_latestRun;
1919
- if (((_latestRunProps_latestRun = latestRunProps.latestRun) === null || _latestRunProps_latestRun === void 0 ? void 0 : _latestRunProps_latestRun.status) !== "failed") return;
1920
- if (toastedErrorRunIds.includes(latestRunProps.latestRun.id)) return;
1921
- setToastedErrorRunIds(function(prev) {
1922
- return _to_consumable_array(prev).concat([
1923
- latestRunProps.latestRun.id
1924
- ]);
1925
- });
1926
- addToast({
1927
- type: "error",
1928
- message: "AI run failed. Please try again."
1929
- });
1930
- }, [
1931
- latestRunProps,
1932
- toastedErrorRunIds,
1933
- addToast
1934
- ]);
1935
- (0, import_react30.useEffect)(function() {
1936
- if (createRunProps.isPending) return;
1937
- if (latestRunProps.isFetching) return;
1938
- if (latestMessageProps.isFetching) return;
1939
- if (!latestMessageProps.latestMessage) return;
1940
- if (latestMessageProps.latestMessage.role !== "user") return;
1941
- if (isOptimistic({
1942
- id: latestMessageProps.latestMessage.id
1943
- })) return;
1944
- if (latestRunProps.latestRun && latestRunProps.latestRun.created_at > latestMessageProps.latestMessage.created_at) {
1945
- return;
1946
- }
1947
- var isMutating = queryClient.isMutating({
1948
- mutationKey: [
1949
- "createRun",
1950
- threadContext.variables
1951
- ]
1952
- });
1953
- if (isMutating) return;
1954
- createRunProps.createRun();
1955
- }, [
1956
- threadContext,
1957
- queryClient,
1958
- createRunProps,
1959
- latestRunProps,
1960
- latestMessageProps
1961
- ]);
1962
- return null;
1963
- };
1964
- // src/hooks/runs/usePolling/index.tsx
1965
- var import_react31 = require("react");
1966
- var import_react_query7 = require("@tanstack/react-query");
1967
- var import_react_use = require("react-use");
1968
- // src/hooks/runs/usePolling/lib/refetch.ts
1969
- var refetch = function() {
1970
- var _ref = _async_to_generator(function(param) {
1971
- var queryClient, threadContext, _threadContext_defaultOptions_queries_queryKey, _threadContext_defaultOptions_queries_queryKey1;
1972
- return _ts_generator(this, function(_state) {
1973
- switch(_state.label){
1974
- case 0:
1975
- queryClient = param.queryClient, threadContext = param.threadContext;
1976
- return [
1977
- 4,
1978
- queryClient.refetchQueries({
1979
- queryKey: (_threadContext_defaultOptions_queries_queryKey = threadContext.defaultOptions.queries.queryKey) !== null && _threadContext_defaultOptions_queries_queryKey !== void 0 ? _threadContext_defaultOptions_queries_queryKey : [
1980
- "messages",
1981
- threadContext.variables
1982
- ]
1983
- })
1984
- ];
1985
- case 1:
1986
- _state.sent();
1987
- return [
1988
- 4,
1989
- queryClient.refetchQueries({
1990
- queryKey: (_threadContext_defaultOptions_queries_queryKey1 = threadContext.defaultOptions.queries.queryKey) !== null && _threadContext_defaultOptions_queries_queryKey1 !== void 0 ? _threadContext_defaultOptions_queries_queryKey1 : [
1991
- "runs",
1992
- threadContext.variables
1993
- ]
1994
- })
1995
- ];
1996
- case 2:
1997
- _state.sent();
1998
- return [
1999
- 2
2000
- ];
2001
- }
2002
- });
2003
- });
2004
- return function refetch(_) {
2005
- return _ref.apply(this, arguments);
2006
- };
2007
- }();
2008
- // src/hooks/runs/usePolling/index.tsx
2009
- var usePolling = function() {
2010
- var threadContext = useSuperinterfaceContext();
2011
- var queryClient = (0, import_react_query7.useQueryClient)();
2012
- var _usePollingContext = usePollingContext(), isPollRefetching = _usePollingContext.isPollRefetching, setIsPollRefetching = _usePollingContext.setIsPollRefetching;
2013
- var isRunActiveProps = useIsRunActive();
2014
- (0, import_react_use.useInterval)(/*#__PURE__*/ _async_to_generator(function() {
2015
- return _ts_generator(this, function(_state) {
2016
- switch(_state.label){
2017
- case 0:
2018
- if (isPollRefetching) return [
2019
- 2
2020
- ];
2021
- setIsPollRefetching(true);
2022
- return [
2023
- 4,
2024
- refetch({
2025
- queryClient: queryClient,
2026
- threadContext: threadContext
2027
- })
2028
- ];
2029
- case 1:
2030
- _state.sent();
2031
- setIsPollRefetching(false);
2032
- console.log("Polling...");
2033
- return [
2034
- 2
2035
- ];
2036
- }
2037
- });
2038
- }), isRunActiveProps.isRunActive ? 3e3 : null);
2039
- var prevIsRunActive = (0, import_react_use.usePrevious)(isRunActiveProps.isRunActive);
2040
- (0, import_react31.useEffect)(function() {
2041
- if (prevIsRunActive && !isRunActiveProps.isRunActive) {
2042
- refetch({
2043
- queryClient: queryClient,
2044
- threadContext: threadContext
2045
- });
2046
- }
2047
- }, [
2048
- queryClient,
2049
- threadContext,
2050
- isRunActiveProps,
2051
- prevIsRunActive
2052
- ]);
2053
- return null;
2054
- };
2055
- // src/hooks/actions/useManageActions/index.tsx
2056
- var import_react32 = require("react");
2057
- // src/hooks/actions/useHandleAction/index.tsx
2058
- var import_radash5 = require("radash");
2059
- var import_react_query8 = require("@tanstack/react-query");
2060
- // src/hooks/actions/useHandleAction/lib/onSettled.ts
2061
- var onSettled2 = function(param) {
2062
- var queryClient = param.queryClient;
2063
- return function() {
2064
- var _ref = _async_to_generator(function(_data, _error, variables) {
2065
- return _ts_generator(this, function(_state) {
2066
- switch(_state.label){
2067
- case 0:
2068
- return [
2069
- 4,
2070
- queryClient.invalidateQueries({
2071
- queryKey: [
2072
- "messages",
2073
- variables
2074
- ]
2075
- })
2076
- ];
2077
- case 1:
2078
- _state.sent();
2079
- return [
2080
- 4,
2081
- queryClient.invalidateQueries({
2082
- queryKey: [
2083
- "runs",
2084
- variables
2085
- ]
2086
- })
2087
- ];
2088
- case 2:
2089
- _state.sent();
2090
- return [
2091
- 2
2092
- ];
2093
- }
2094
- });
2095
- });
2096
- return function(_data, _error, variables) {
2097
- return _ref.apply(this, arguments);
2098
- };
2099
- }();
2100
- };
2101
- // src/hooks/actions/useHandleAction/index.tsx
2102
- var useHandleAction = function() {
2103
- var queryClient = (0, import_react_query8.useQueryClient)();
2104
- var superinterfaceContext = useSuperinterfaceContext();
2105
- var threadContext = useSuperinterfaceContext();
2106
- var props = (0, import_react_query8.useMutation)(_object_spread({
2107
- onSettled: onSettled2({
2108
- queryClient: queryClient
2109
- })
2110
- }, mutationOptions({
2111
- mutationKeyBase: [
2112
- "handleAction"
2113
- ],
2114
- path: "/actions",
2115
- queryClient: queryClient,
2116
- threadContext: threadContext,
2117
- superinterfaceContext: superinterfaceContext
2118
- })));
2119
- return _object_spread_props(_object_spread({}, props), {
2120
- handleAction: (0, import_radash5.partob)(props.mutateAsync, threadContext.variables)
2121
- });
2122
- };
2123
- // src/hooks/actions/useManageActions/index.tsx
2124
- var useManageActions = function() {
2125
- var latestRunProps = useLatestRun();
2126
- var handleActionProps = useHandleAction();
2127
- var _ref = _sliced_to_array((0, import_react32.useState)([]), 2), handledRunIds = _ref[0], setHandledRunIds = _ref[1];
2128
- (0, import_react32.useEffect)(function() {
2129
- if (handleActionProps.isPending) return;
2130
- if (latestRunProps.isFetching) return;
2131
- if (!latestRunProps.latestRun) return;
2132
- if (latestRunProps.latestRun.status !== "requires_action") return;
2133
- if (handledRunIds.includes(latestRunProps.latestRun.id)) return;
2134
- setHandledRunIds(function(prev) {
2135
- return _to_consumable_array(prev).concat([
2136
- latestRunProps.latestRun.id
2137
- ]);
2138
- });
2139
- console.log("Requires action", {
2140
- latestRunProps: latestRunProps,
2141
- handleActionProps: handleActionProps
2142
- });
2143
- handleActionProps.handleAction({
2144
- latestRun: latestRunProps.latestRun
2145
- });
2146
- }, [
2147
- handledRunIds,
2148
- handleActionProps,
2149
- latestRunProps
2150
- ]);
2151
- return null;
2152
- };
2153
- // src/hooks/threads/useLifecycle/index.tsx
2154
- var useLifecycle = function() {
2155
- useManageRuns();
2156
- useManageActions();
2157
- usePolling();
2158
- return null;
2159
- };
2160
- // src/components/threads/Thread/Messages/Root/index.tsx
2161
- var import_jsx_runtime36 = require("react/jsx-runtime");
2162
- var Root = function(param) {
2163
- var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
2164
- var _useMessages = useMessages(), isFetchingNextPage = _useMessages.isFetchingNextPage, hasNextPage = _useMessages.hasNextPage, fetchNextPage = _useMessages.fetchNextPage;
2165
- useLifecycle();
2166
- var _useInfiniteScroll = useInfiniteScroll({
2167
- isFetchingNextPage: isFetchingNextPage,
2168
- hasNextPage: hasNextPage,
2169
- fetchNextPage: fetchNextPage
2170
- }), containerRef = _useInfiniteScroll.containerRef, loaderRef = _useInfiniteScroll.loaderRef;
2171
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_themes30.Flex, {
2172
- ref: containerRef,
2173
- direction: "column-reverse",
2174
- flexGrow: "1",
2175
- style: _object_spread_props(_object_spread({}, style), {
2176
- overflow: "auto"
2177
- }),
2178
- children: [
2179
- children,
2180
- hasNextPage && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_themes30.Flex, {
2181
- ref: loaderRef
2182
- }),
2183
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_themes30.Flex, {
2184
- flexShrink: "0",
2185
- flexGrow: "1"
2186
- })
2187
- ]
1493
+ // src/components/threads/Thread/Messages/Root/index.tsx
1494
+ var import_jsx_runtime36 = require("react/jsx-runtime");
1495
+ var Root = function(param) {
1496
+ var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
1497
+ var _useMessages = useMessages(), isFetchingNextPage = _useMessages.isFetchingNextPage, hasNextPage = _useMessages.hasNextPage, fetchNextPage = _useMessages.fetchNextPage;
1498
+ var _useInfiniteScroll = useInfiniteScroll({
1499
+ isFetchingNextPage: isFetchingNextPage,
1500
+ hasNextPage: hasNextPage,
1501
+ fetchNextPage: fetchNextPage
1502
+ }), containerRef = _useInfiniteScroll.containerRef, loaderRef = _useInfiniteScroll.loaderRef;
1503
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_themes29.Flex, {
1504
+ ref: containerRef,
1505
+ direction: "column-reverse",
1506
+ flexGrow: "1",
1507
+ style: _object_spread_props(_object_spread({}, style), {
1508
+ overflow: "auto"
1509
+ }),
1510
+ children: [
1511
+ children,
1512
+ hasNextPage && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_themes29.Flex, {
1513
+ ref: loaderRef
1514
+ }),
1515
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_themes29.Flex, {
1516
+ flexShrink: "0",
1517
+ flexGrow: "1"
1518
+ })
1519
+ ]
2188
1520
  });
2189
1521
  };
2190
1522
  // src/components/threads/Thread/Messages/NextPageSkeleton.tsx
@@ -2203,7 +1535,7 @@ var Messages = function(param) {
2203
1535
  return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(Root, {
2204
1536
  style: style,
2205
1537
  children: [
2206
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_themes31.Flex, {
1538
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_themes30.Flex, {
2207
1539
  flexShrink: "0",
2208
1540
  height: "var(--space-3)"
2209
1541
  }),
@@ -2211,7 +1543,7 @@ var Messages = function(param) {
2211
1543
  children,
2212
1544
  /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Content3, {}),
2213
1545
  /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(NextPageSkeleton, {}),
2214
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_themes31.Flex, {
1546
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_themes30.Flex, {
2215
1547
  flexShrink: "0",
2216
1548
  flexGrow: "1"
2217
1549
  })
@@ -2222,51 +1554,58 @@ Messages.Root = Root;
2222
1554
  Messages.Message = Message;
2223
1555
  Messages.NextPageSkeleton = NextPageSkeleton;
2224
1556
  // src/components/threads/Thread/MessageForm/index.tsx
2225
- var import_themes34 = require("@radix-ui/themes");
1557
+ var import_themes33 = require("@radix-ui/themes");
2226
1558
  // src/components/threads/Thread/MessageForm/Submit/index.tsx
2227
1559
  var import_react_icons5 = require("@radix-ui/react-icons");
2228
- var import_themes32 = require("@radix-ui/themes");
1560
+ var import_themes31 = require("@radix-ui/themes");
2229
1561
  // src/hooks/messages/useMessageFormContext/index.ts
2230
- var import_react34 = require("react");
1562
+ var import_react28 = require("react");
2231
1563
  // src/contexts/messages/MessageFormContext/index.ts
2232
- var import_react33 = require("react");
2233
- var MessageFormContext = (0, import_react33.createContext)({
1564
+ var import_react27 = require("react");
1565
+ var MessageFormContext = (0, import_react27.createContext)({
2234
1566
  isDisabled: false,
2235
1567
  isLoading: false
2236
1568
  });
2237
1569
  // src/hooks/messages/useMessageFormContext/index.ts
2238
1570
  var useMessageFormContext = function() {
2239
- return (0, import_react34.useContext)(MessageFormContext);
1571
+ return (0, import_react28.useContext)(MessageFormContext);
2240
1572
  };
2241
1573
  // src/components/threads/Thread/MessageForm/Submit/index.tsx
2242
1574
  var import_jsx_runtime39 = require("react/jsx-runtime");
2243
1575
  var Submit = function() {
2244
1576
  var _useMessageFormContext = useMessageFormContext(), isDisabled = _useMessageFormContext.isDisabled, isLoading = _useMessageFormContext.isLoading;
2245
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_themes32.IconButton, {
1577
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_themes31.IconButton, {
2246
1578
  type: "submit",
2247
1579
  disabled: isDisabled || isLoading,
2248
- children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_themes32.Spinner, {
1580
+ children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_themes31.Spinner, {
2249
1581
  loading: isLoading,
2250
1582
  children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_icons5.ArrowUpIcon, {})
2251
1583
  })
2252
1584
  });
2253
1585
  };
2254
1586
  // src/components/threads/Thread/MessageForm/Root/index.tsx
2255
- var import_react35 = require("react");
1587
+ var import_react29 = require("react");
2256
1588
  var import_react_hook_form = require("react-hook-form");
2257
1589
  // src/hooks/messages/useCreateMessage/index.ts
2258
- var import_radash8 = require("radash");
2259
- var import_react_query9 = require("@tanstack/react-query");
1590
+ var import_radash10 = require("radash");
1591
+ var import_react_query4 = require("@tanstack/react-query");
2260
1592
  // src/hooks/messages/useCreateMessage/lib/mutationOptions/onMutate/index.ts
2261
- var import_radash6 = require("radash");
1593
+ var import_radash4 = require("radash");
1594
+ // src/hooks/messages/useCreateMessage/lib/mutationOptions/onMutate/data.ts
1595
+ var import_dayjs = __toESM(require("dayjs"), 1);
1596
+ // src/lib/optimistic/optimisticId.ts
1597
+ var import_radash3 = require("radash");
1598
+ var optimisticId = function() {
1599
+ return "-".concat((0, import_radash3.uid)(24));
1600
+ };
2262
1601
  // src/hooks/messages/useCreateMessage/lib/mutationOptions/onMutate/data.ts
2263
- var data2 = function(param) {
1602
+ var data = function(param) {
2264
1603
  var newMessage = param.newMessage;
2265
1604
  return function(prevData) {
2266
1605
  var message = {
2267
1606
  id: optimisticId(),
2268
1607
  role: "user",
2269
- created_at: +/* @__PURE__ */ new Date(),
1608
+ created_at: (0, import_dayjs.default)().unix(),
2270
1609
  object: "thread.message",
2271
1610
  content: [
2272
1611
  {
@@ -2302,129 +1641,523 @@ var data2 = function(param) {
2302
1641
  return _object_spread_props(_object_spread({}, prevData), {
2303
1642
  pages: [
2304
1643
  _object_spread_props(_object_spread({}, latestPage), {
2305
- data: [
2306
- message
2307
- ].concat(_to_consumable_array(latestPage.data))
1644
+ data: [
1645
+ message
1646
+ ].concat(_to_consumable_array(latestPage.data))
1647
+ })
1648
+ ].concat(_to_consumable_array(pagesRest))
1649
+ });
1650
+ };
1651
+ };
1652
+ // src/hooks/messages/useCreateMessage/lib/mutationOptions/onMutate/index.ts
1653
+ var onMutate = function(param) {
1654
+ var queryClient = param.queryClient;
1655
+ return function() {
1656
+ var _ref = _async_to_generator(function(newMessage) {
1657
+ var queryKey, prevMessages;
1658
+ return _ts_generator(this, function(_state) {
1659
+ switch(_state.label){
1660
+ case 0:
1661
+ queryKey = [
1662
+ "messages",
1663
+ (0, import_radash4.omit)(newMessage, [
1664
+ "content"
1665
+ ])
1666
+ ];
1667
+ return [
1668
+ 4,
1669
+ queryClient.cancelQueries({
1670
+ queryKey: queryKey
1671
+ })
1672
+ ];
1673
+ case 1:
1674
+ _state.sent();
1675
+ prevMessages = queryClient.getQueryData(queryKey);
1676
+ queryClient.setQueryData(queryKey, data({
1677
+ newMessage: newMessage
1678
+ }));
1679
+ return [
1680
+ 2,
1681
+ {
1682
+ prevMessages: prevMessages,
1683
+ newMessage: newMessage
1684
+ }
1685
+ ];
1686
+ }
1687
+ });
1688
+ });
1689
+ return function(newMessage) {
1690
+ return _ref.apply(this, arguments);
1691
+ };
1692
+ }();
1693
+ };
1694
+ // src/hooks/messages/useCreateMessage/lib/mutationOptions/mutationFn/index.ts
1695
+ var import_json_whatwg = require("@streamparser/json-whatwg");
1696
+ // src/hooks/messages/useCreateMessage/lib/mutationOptions/mutationFn/handleResponse/handlers/extendMessage.ts
1697
+ var import_radash5 = require("radash");
1698
+ var extendMessage = function(param) {
1699
+ var message = param.message, messages2 = param.messages;
1700
+ var _this, _this1;
1701
+ var prevRunMessages = messages2.filter(function(m) {
1702
+ return m.run_id === message.run_id;
1703
+ });
1704
+ var prevOptimitisticRunMessages = prevRunMessages.filter(function(m) {
1705
+ return isOptimistic({
1706
+ id: m.id
1707
+ });
1708
+ });
1709
+ var _runSteps, _ref;
1710
+ var runSteps = (_ref = (_runSteps = (_this = (0, import_radash5.last)(prevOptimitisticRunMessages)) === null || _this === void 0 ? void 0 : _this.runSteps) !== null && _runSteps !== void 0 ? _runSteps : (_this1 = (0, import_radash5.last)(prevRunMessages)) === null || _this1 === void 0 ? void 0 : _this1.runSteps) !== null && _ref !== void 0 ? _ref : [];
1711
+ return _object_spread_props(_object_spread({}, message), {
1712
+ runSteps: runSteps
1713
+ });
1714
+ };
1715
+ // src/hooks/messages/useCreateMessage/lib/mutationOptions/mutationFn/handleResponse/handlers/threadMessageCreated.ts
1716
+ var appendMessage = function(param) {
1717
+ var message = param.message, messages2 = param.messages;
1718
+ var prevMessages = messages2.filter(function(m) {
1719
+ return m.run_id != message.run_id || !isOptimistic({
1720
+ id: m.id
1721
+ });
1722
+ });
1723
+ return [
1724
+ extendMessage({
1725
+ message: message,
1726
+ messages: messages2
1727
+ })
1728
+ ].concat(_to_consumable_array(prevMessages));
1729
+ };
1730
+ var threadMessageCreated = function(param) {
1731
+ var value = param.value;
1732
+ return function(prevData) {
1733
+ if (!prevData) {
1734
+ return {
1735
+ pageParams: [],
1736
+ pages: [
1737
+ {
1738
+ data: appendMessage({
1739
+ message: value.data,
1740
+ messages: []
1741
+ }),
1742
+ hasNextPage: false,
1743
+ lastId: value.data.id
1744
+ }
1745
+ ]
1746
+ };
1747
+ }
1748
+ var _prevData_pages = _to_array(prevData.pages), latestPage = _prevData_pages[0], pagesRest = _prevData_pages.slice(1);
1749
+ return _object_spread_props(_object_spread({}, prevData), {
1750
+ pages: [
1751
+ _object_spread_props(_object_spread({}, latestPage), {
1752
+ data: appendMessage({
1753
+ message: value.data,
1754
+ messages: latestPage.data
1755
+ })
1756
+ })
1757
+ ].concat(_to_consumable_array(pagesRest))
1758
+ });
1759
+ };
1760
+ };
1761
+ // src/hooks/messages/useCreateMessage/lib/mutationOptions/mutationFn/handleResponse/handlers/threadMessageDelta.ts
1762
+ var import_lodash6 = __toESM(require("lodash"), 1);
1763
+ var import_radash6 = require("radash");
1764
+ var updatedContentPart = function(param) {
1765
+ var prevContentPart = param.prevContentPart, delta = param.delta;
1766
+ if (!prevContentPart) {
1767
+ return (0, import_radash6.omit)(delta, [
1768
+ "index"
1769
+ ]);
1770
+ }
1771
+ if (delta.type === "text" && delta.text && prevContentPart.type == "text" && prevContentPart.text) {
1772
+ var _prevContentPart_text_annotations, _delta_text_annotations;
1773
+ return _object_spread_props(_object_spread({}, prevContentPart), {
1774
+ text: _object_spread_props(_object_spread({}, prevContentPart.text), {
1775
+ value: "".concat(prevContentPart.text.value).concat(delta.text.value),
1776
+ annotations: _to_consumable_array((_prevContentPart_text_annotations = prevContentPart.text.annotations) !== null && _prevContentPart_text_annotations !== void 0 ? _prevContentPart_text_annotations : []).concat(_to_consumable_array((_delta_text_annotations = delta.text.annotations) !== null && _delta_text_annotations !== void 0 ? _delta_text_annotations : []))
1777
+ })
1778
+ });
1779
+ }
1780
+ return prevContentPart;
1781
+ };
1782
+ var updatedContent = function(param) {
1783
+ var content = param.content, value = param.value;
1784
+ if (!value.data.delta.content) return content;
1785
+ var result = import_lodash6.default.cloneDeep(content);
1786
+ value.data.delta.content.forEach(function(delta) {
1787
+ result[delta.index] = updatedContentPart({
1788
+ // @ts-ignore-next-line
1789
+ prevContentPart: result[delta.index],
1790
+ delta: delta
1791
+ });
1792
+ });
1793
+ return result;
1794
+ };
1795
+ var threadMessageDelta = function(param) {
1796
+ var value = param.value;
1797
+ return function(prevData) {
1798
+ if (!prevData) {
1799
+ return {
1800
+ pageParams: [],
1801
+ pages: [
1802
+ {
1803
+ data: [],
1804
+ hasNextPage: false,
1805
+ lastId: null
1806
+ }
1807
+ ]
1808
+ };
1809
+ }
1810
+ var _prevData_pages = _to_array(prevData.pages), latestPage = _prevData_pages[0], pagesRest = _prevData_pages.slice(1);
1811
+ var _latestPage_data = _to_array(latestPage.data), latestMessage = _latestPage_data[0], messagesRest = _latestPage_data.slice(1);
1812
+ return _object_spread_props(_object_spread({}, prevData), {
1813
+ pages: [
1814
+ _object_spread_props(_object_spread({}, latestPage), {
1815
+ data: [
1816
+ _object_spread_props(_object_spread({}, latestMessage), {
1817
+ content: updatedContent({
1818
+ content: latestMessage.content,
1819
+ value: value
1820
+ })
1821
+ })
1822
+ ].concat(_to_consumable_array(messagesRest))
1823
+ })
1824
+ ].concat(_to_consumable_array(pagesRest))
1825
+ });
1826
+ };
1827
+ };
1828
+ // src/hooks/messages/useCreateMessage/lib/mutationOptions/mutationFn/handleResponse/handlers/threadMessageCompleted.ts
1829
+ var import_radash7 = require("radash");
1830
+ var threadMessageCompleted = function(param) {
1831
+ var value = param.value;
1832
+ return function(prevData) {
1833
+ if (!prevData) {
1834
+ return {
1835
+ pageParams: [],
1836
+ pages: [
1837
+ {
1838
+ data: [],
1839
+ hasNextPage: false,
1840
+ lastId: null
1841
+ }
1842
+ ]
1843
+ };
1844
+ }
1845
+ var _prevData_pages = _to_array(prevData.pages), latestPage = _prevData_pages[0], pagesRest = _prevData_pages.slice(1);
1846
+ return _object_spread_props(_object_spread({}, prevData), {
1847
+ pages: [
1848
+ _object_spread_props(_object_spread({}, latestPage), {
1849
+ data: (0, import_radash7.replace)(latestPage.data, extendMessage({
1850
+ message: value.data,
1851
+ messages: latestPage.data
1852
+ }), function(m) {
1853
+ return m.id === value.data.id;
1854
+ })
1855
+ })
1856
+ ].concat(_to_consumable_array(pagesRest))
1857
+ });
1858
+ };
1859
+ };
1860
+ // src/hooks/messages/useCreateMessage/lib/mutationOptions/mutationFn/handleResponse/handlers/threadRunCreated.ts
1861
+ var threadRunCreated = function(param) {
1862
+ var value = param.value;
1863
+ return function(prevData) {
1864
+ if (!prevData) return prevData;
1865
+ var _prevData_pages = _to_array(prevData.pages), latestPage = _prevData_pages[0], pagesRest = _prevData_pages.slice(1);
1866
+ return _object_spread_props(_object_spread({}, prevData), {
1867
+ pages: [
1868
+ _object_spread_props(_object_spread({}, latestPage), {
1869
+ data: [
1870
+ {
1871
+ id: optimisticId(),
1872
+ assistant_id: value.data.assistant_id,
1873
+ content: [],
1874
+ created_at: value.data.created_at,
1875
+ file_ids: [],
1876
+ metadata: {},
1877
+ status: "in_progress",
1878
+ role: "assistant",
1879
+ runSteps: [],
1880
+ run_id: value.data.id,
1881
+ thread_id: value.data.thread_id
1882
+ }
1883
+ ].concat(_to_consumable_array(latestPage.data))
1884
+ })
1885
+ ].concat(_to_consumable_array(pagesRest))
1886
+ });
1887
+ };
1888
+ };
1889
+ // src/hooks/messages/useCreateMessage/lib/mutationOptions/mutationFn/handleResponse/handlers/threadRunStepCreated.ts
1890
+ var threadRunStepCreated = function(param) {
1891
+ var value = param.value;
1892
+ return function(prevData) {
1893
+ if (!prevData) return prevData;
1894
+ var _prevData_pages = _to_array(prevData.pages), latestPage = _prevData_pages[0], pagesRest = _prevData_pages.slice(1);
1895
+ return _object_spread_props(_object_spread({}, prevData), {
1896
+ pages: [
1897
+ _object_spread_props(_object_spread({}, latestPage), {
1898
+ data: latestPage.data.map(function(m) {
1899
+ if (m.run_id === value.data.run_id) {
1900
+ return _object_spread_props(_object_spread({}, m), {
1901
+ runSteps: [
1902
+ value.data
1903
+ ].concat(_to_consumable_array(m.runSteps))
1904
+ });
1905
+ }
1906
+ return m;
1907
+ })
1908
+ })
1909
+ ].concat(_to_consumable_array(pagesRest))
1910
+ });
1911
+ };
1912
+ };
1913
+ // src/hooks/messages/useCreateMessage/lib/mutationOptions/mutationFn/handleResponse/handlers/threadRunStepDelta.ts
1914
+ var import_lodash7 = __toESM(require("lodash"), 1);
1915
+ var import_radash8 = require("radash");
1916
+ var updatedToolCall = function(param) {
1917
+ var toolCall = param.toolCall, delta = param.delta;
1918
+ if (!toolCall) {
1919
+ return (0, import_radash8.omit)(delta, [
1920
+ "index"
1921
+ ]);
1922
+ }
1923
+ if (delta.type === "function" && delta.function && toolCall.type === "function" && toolCall.function) {
1924
+ var result = import_lodash7.default.cloneDeep(toolCall);
1925
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
1926
+ try {
1927
+ for(var _iterator = Object.entries(delta.function)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
1928
+ var _step_value = _sliced_to_array(_step.value, 2), key = _step_value[0], value = _step_value[1];
1929
+ var _result_function_key;
1930
+ result.function[key] = "".concat((_result_function_key = result.function[key]) !== null && _result_function_key !== void 0 ? _result_function_key : "").concat(value);
1931
+ }
1932
+ } catch (err) {
1933
+ _didIteratorError = true;
1934
+ _iteratorError = err;
1935
+ } finally{
1936
+ try {
1937
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
1938
+ _iterator.return();
1939
+ }
1940
+ } finally{
1941
+ if (_didIteratorError) {
1942
+ throw _iteratorError;
1943
+ }
1944
+ }
1945
+ }
1946
+ return result;
1947
+ }
1948
+ return toolCall;
1949
+ };
1950
+ var updatedRunStep = function(param) {
1951
+ var runStep = param.runStep, value = param.value;
1952
+ var _runStep_step_details, _value_data_delta_step_details, _value_data_delta;
1953
+ if (!(runStep === null || runStep === void 0 ? void 0 : (_runStep_step_details = runStep.step_details) === null || _runStep_step_details === void 0 ? void 0 : _runStep_step_details.tool_calls)) return runStep;
1954
+ if (((_value_data_delta = value.data.delta) === null || _value_data_delta === void 0 ? void 0 : (_value_data_delta_step_details = _value_data_delta.step_details) === null || _value_data_delta_step_details === void 0 ? void 0 : _value_data_delta_step_details.type) === "tool_calls") {
1955
+ if (!value.data.delta.step_details.tool_calls) return runStep;
1956
+ var newToolCalls = import_lodash7.default.cloneDeep(runStep.step_details.tool_calls);
1957
+ value.data.delta.step_details.tool_calls.forEach(function(delta) {
1958
+ return newToolCalls[delta.index] = updatedToolCall({
1959
+ toolCall: newToolCalls[delta.index],
1960
+ delta: delta
1961
+ });
1962
+ });
1963
+ return _object_spread_props(_object_spread({}, runStep), {
1964
+ step_details: _object_spread_props(_object_spread({}, runStep.step_details, value.data.delta.step_details), {
1965
+ tool_calls: newToolCalls
1966
+ })
1967
+ });
1968
+ } else {
1969
+ return runStep;
1970
+ }
1971
+ };
1972
+ var threadRunStepDelta = function(param) {
1973
+ var value = param.value;
1974
+ return function(prevData) {
1975
+ if (!prevData) return prevData;
1976
+ var _prevData_pages = _to_array(prevData.pages), latestPage = _prevData_pages[0], pagesRest = _prevData_pages.slice(1);
1977
+ return _object_spread_props(_object_spread({}, prevData), {
1978
+ pages: [
1979
+ _object_spread_props(_object_spread({}, latestPage), {
1980
+ data: latestPage.data.map(function(m) {
1981
+ if (m.run_id === value.data.run_id) {
1982
+ return _object_spread_props(_object_spread({}, m), {
1983
+ runSteps: m.runSteps.map(function(rs) {
1984
+ if (rs.id === value.data.id) {
1985
+ return updatedRunStep({
1986
+ runStep: rs,
1987
+ value: value
1988
+ });
1989
+ }
1990
+ return rs;
1991
+ })
1992
+ });
1993
+ }
1994
+ return m;
1995
+ })
2308
1996
  })
2309
1997
  ].concat(_to_consumable_array(pagesRest))
2310
1998
  });
2311
1999
  };
2312
2000
  };
2313
- // src/hooks/messages/useCreateMessage/lib/mutationOptions/onMutate/index.ts
2314
- var onMutate2 = function(param) {
2315
- var queryClient = param.queryClient;
2001
+ // src/hooks/messages/useCreateMessage/lib/mutationOptions/mutationFn/handleResponse/handlers/threadRunStepCompleted.ts
2002
+ var import_radash9 = require("radash");
2003
+ var threadRunStepCompleted = function(param) {
2004
+ var value = param.value;
2005
+ return function(prevData) {
2006
+ if (!prevData) return prevData;
2007
+ var _prevData_pages = _to_array(prevData.pages), latestPage = _prevData_pages[0], pagesRest = _prevData_pages.slice(1);
2008
+ return _object_spread_props(_object_spread({}, prevData), {
2009
+ pages: [
2010
+ _object_spread_props(_object_spread({}, latestPage), {
2011
+ data: latestPage.data.map(function(m) {
2012
+ if (m.run_id === value.data.run_id) {
2013
+ return _object_spread_props(_object_spread({}, m), {
2014
+ runSteps: (0, import_radash9.replace)(m.runSteps, value.data, function(rs) {
2015
+ return rs.id === value.data.id;
2016
+ })
2017
+ });
2018
+ }
2019
+ return m;
2020
+ })
2021
+ })
2022
+ ].concat(_to_consumable_array(pagesRest))
2023
+ });
2024
+ };
2025
+ };
2026
+ // src/hooks/messages/useCreateMessage/lib/mutationOptions/mutationFn/handleResponse/handlers/index.ts
2027
+ var handlers = {
2028
+ "thread.message.created": threadMessageCreated,
2029
+ "thread.message.delta": threadMessageDelta,
2030
+ "thread.message.completed": threadMessageCompleted,
2031
+ "thread.run.created": threadRunCreated,
2032
+ "thread.run.step.created": threadRunStepCreated,
2033
+ "thread.run.step.delta": threadRunStepDelta,
2034
+ "thread.run.step.completed": threadRunStepCompleted
2035
+ };
2036
+ // src/hooks/messages/useCreateMessage/lib/mutationOptions/mutationFn/handleResponse/index.ts
2037
+ var handleResponse = function(param) {
2038
+ var value = param.value, messagesQueryKey = param.messagesQueryKey, queryClient = param.queryClient;
2039
+ var handler = handlers[value.value.event];
2040
+ if (!handler) {
2041
+ return console.log("Missing handler", {
2042
+ value: value
2043
+ });
2044
+ }
2045
+ return queryClient.setQueryData(messagesQueryKey, handler({
2046
+ value: value.value
2047
+ }));
2048
+ };
2049
+ // src/hooks/messages/useCreateMessage/lib/mutationOptions/mutationFn/index.ts
2050
+ var mutationFn = function(param) {
2051
+ var superinterfaceContext = param.superinterfaceContext, queryClient = param.queryClient, threadContext = param.threadContext;
2316
2052
  return function() {
2317
- var _ref = _async_to_generator(function(newMessage) {
2318
- var queryKey, prevMessages;
2053
+ var _ref = _async_to_generator(function(variables) {
2054
+ var response, parser, reader, messagesQueryKey, _ref, done, value;
2319
2055
  return _ts_generator(this, function(_state) {
2320
2056
  switch(_state.label){
2321
2057
  case 0:
2322
- queryKey = [
2323
- "messages",
2324
- (0, import_radash6.omit)(newMessage, [
2325
- "content"
2326
- ])
2327
- ];
2328
2058
  return [
2329
2059
  4,
2330
- queryClient.cancelQueries({
2331
- queryKey: queryKey
2332
- })
2060
+ fetch("".concat(superinterfaceContext.baseUrl, "/messages"), _object_spread({
2061
+ method: "POST",
2062
+ body: JSON.stringify(variables),
2063
+ credentials: "include"
2064
+ }, superinterfaceContext.publicApiKey ? {
2065
+ headers: {
2066
+ Authorization: "Bearer ".concat(superinterfaceContext.publicApiKey)
2067
+ }
2068
+ } : {}))
2333
2069
  ];
2334
2070
  case 1:
2335
- _state.sent();
2336
- prevMessages = queryClient.getQueryData(queryKey);
2337
- queryClient.setQueryData(queryKey, data2({
2338
- newMessage: newMessage
2339
- }));
2340
- return [
2341
- 2,
2342
- {
2343
- prevMessages: prevMessages,
2344
- newMessage: newMessage
2345
- }
2071
+ response = _state.sent();
2072
+ if (response.body == null) {
2073
+ throw new Error("The response body is empty.");
2074
+ }
2075
+ parser = new import_json_whatwg.JSONParser({
2076
+ stringBufferSize: void 0,
2077
+ paths: [
2078
+ "$"
2079
+ ],
2080
+ separator: ""
2081
+ });
2082
+ reader = response.body.pipeThrough(parser).getReader();
2083
+ messagesQueryKey = [
2084
+ "messages",
2085
+ threadContext.variables
2086
+ ];
2087
+ _state.label = 2;
2088
+ case 2:
2089
+ if (!true) return [
2090
+ 3,
2091
+ 4
2346
2092
  ];
2347
- }
2348
- });
2349
- });
2350
- return function(newMessage) {
2351
- return _ref.apply(this, arguments);
2352
- };
2353
- }();
2354
- };
2355
- // src/hooks/messages/useCreateMessage/lib/mutationOptions/onSettled.ts
2356
- var import_radash7 = require("radash");
2357
- var onSettled3 = function(param) {
2358
- var queryClient = param.queryClient;
2359
- return function() {
2360
- var _ref = _async_to_generator(function(_data, _error, variables) {
2361
- return _ts_generator(this, function(_state) {
2362
- switch(_state.label){
2363
- case 0:
2364
2093
  return [
2365
2094
  4,
2366
- queryClient.invalidateQueries({
2367
- queryKey: [
2368
- "messages",
2369
- (0, import_radash7.omit)(variables, [
2370
- "content"
2371
- ])
2372
- ]
2373
- })
2095
+ reader.read()
2374
2096
  ];
2375
- case 1:
2376
- _state.sent();
2097
+ case 3:
2098
+ _ref = _state.sent(), done = _ref.done, value = _ref.value;
2099
+ if (done) return [
2100
+ 3,
2101
+ 4
2102
+ ];
2103
+ handleResponse({
2104
+ value: value,
2105
+ messagesQueryKey: messagesQueryKey,
2106
+ queryClient: queryClient
2107
+ });
2377
2108
  return [
2378
- 4,
2379
- queryClient.invalidateQueries({
2380
- queryKey: [
2381
- "runs",
2382
- (0, import_radash7.omit)(variables, [
2383
- "content"
2384
- ])
2385
- ]
2386
- })
2109
+ 3,
2110
+ 2
2387
2111
  ];
2388
- case 2:
2389
- _state.sent();
2112
+ case 4:
2390
2113
  return [
2391
2114
  2
2392
2115
  ];
2393
2116
  }
2394
2117
  });
2395
2118
  });
2396
- return function(_data, _error, variables) {
2119
+ return function(variables) {
2397
2120
  return _ref.apply(this, arguments);
2398
2121
  };
2399
2122
  }();
2400
2123
  };
2124
+ // src/hooks/messages/useCreateMessage/lib/mutationOptions/index.ts
2125
+ var mutationOptions = function(param) {
2126
+ var queryClient = param.queryClient, threadContext = param.threadContext, superinterfaceContext = param.superinterfaceContext, onError = param.onError;
2127
+ var mutationKey = [
2128
+ "createMessage",
2129
+ threadContext.variables
2130
+ ];
2131
+ return _object_spread_props(_object_spread({
2132
+ mutationFn: mutationFn({
2133
+ queryClient: queryClient,
2134
+ superinterfaceContext: superinterfaceContext,
2135
+ threadContext: threadContext
2136
+ }),
2137
+ onMutate: onMutate({
2138
+ queryClient: queryClient
2139
+ }),
2140
+ onError: onError
2141
+ }, threadContext.defaultOptions.mutations, queryClient.getMutationDefaults(mutationKey)), {
2142
+ mutationKey: mutationKey
2143
+ });
2144
+ };
2401
2145
  // src/hooks/messages/useCreateMessage/index.ts
2402
2146
  var useCreateMessage = function() {
2403
2147
  var _ref = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {
2404
2148
  onError: function() {}
2405
2149
  }, _ref_onError = _ref.onError, onError = _ref_onError === void 0 ? function() {} : _ref_onError;
2406
- var queryClient = (0, import_react_query9.useQueryClient)();
2150
+ var queryClient = (0, import_react_query4.useQueryClient)();
2407
2151
  var superinterfaceContext = useSuperinterfaceContext();
2408
2152
  var threadContext = useSuperinterfaceContext();
2409
- var props = (0, import_react_query9.useMutation)(_object_spread({
2410
- onMutate: onMutate2({
2411
- queryClient: queryClient
2412
- }),
2413
- onSettled: onSettled3({
2414
- queryClient: queryClient
2415
- }),
2416
- onError: onError
2417
- }, mutationOptions({
2418
- mutationKeyBase: [
2419
- "createMessage"
2420
- ],
2421
- path: "/messages",
2153
+ var props = (0, import_react_query4.useMutation)(mutationOptions({
2422
2154
  queryClient: queryClient,
2423
2155
  threadContext: threadContext,
2424
- superinterfaceContext: superinterfaceContext
2425
- })));
2156
+ superinterfaceContext: superinterfaceContext,
2157
+ onError: onError
2158
+ }));
2426
2159
  return _object_spread_props(_object_spread({}, props), {
2427
- createMessage: (0, import_radash8.partob)(props.mutateAsync, threadContext.variables)
2160
+ createMessage: (0, import_radash10.partob)(props.mutateAsync, threadContext.variables)
2428
2161
  });
2429
2162
  };
2430
2163
  // src/components/threads/Thread/MessageForm/Root/lib/formOptions.ts
@@ -2442,13 +2175,6 @@ var Root2 = function(param) {
2442
2175
  var children = param.children;
2443
2176
  var formProps = (0, import_react_hook_form.useForm)(formOptions);
2444
2177
  var handleSubmit = formProps.handleSubmit, isSubmitting = formProps.formState.isSubmitting, reset = formProps.reset;
2445
- var _useIsRunActive = useIsRunActive(), isRunActive2 = _useIsRunActive.isRunActive;
2446
- var isLoading = (0, import_react35.useMemo)(function() {
2447
- return isRunActive2 || isSubmitting;
2448
- }, [
2449
- isRunActive2,
2450
- isSubmitting
2451
- ]);
2452
2178
  var addToast = useToasts().addToast;
2453
2179
  var createMessage = useCreateMessage({
2454
2180
  onError: function(error) {
@@ -2458,8 +2184,15 @@ var Root2 = function(param) {
2458
2184
  });
2459
2185
  }
2460
2186
  }).createMessage;
2187
+ var isMutatingMessage = useIsMutatingMessage();
2188
+ var isLoading = (0, import_react29.useMemo)(function() {
2189
+ return isMutatingMessage || isSubmitting;
2190
+ }, [
2191
+ isMutatingMessage,
2192
+ isSubmitting
2193
+ ]);
2461
2194
  var onSubmit = function() {
2462
- var _ref = _async_to_generator(function(data3) {
2195
+ var _ref = _async_to_generator(function(data2) {
2463
2196
  return _ts_generator(this, function(_state) {
2464
2197
  switch(_state.label){
2465
2198
  case 0:
@@ -2467,7 +2200,7 @@ var Root2 = function(param) {
2467
2200
  return [
2468
2201
  4,
2469
2202
  createMessage({
2470
- content: data3.content
2203
+ content: data2.content
2471
2204
  })
2472
2205
  ];
2473
2206
  case 1:
@@ -2478,12 +2211,12 @@ var Root2 = function(param) {
2478
2211
  }
2479
2212
  });
2480
2213
  });
2481
- return function onSubmit(data3) {
2214
+ return function onSubmit(data2) {
2482
2215
  return _ref.apply(this, arguments);
2483
2216
  };
2484
2217
  }();
2485
2218
  var latestMessage = useLatestMessage().latestMessage;
2486
- var isDisabled = (0, import_react35.useMemo)(function() {
2219
+ var isDisabled = (0, import_react29.useMemo)(function() {
2487
2220
  var // @ts-ignore-next-line
2488
2221
  _latestMessage_metadata;
2489
2222
  return latestMessage === null || latestMessage === void 0 ? void 0 : (_latestMessage_metadata = latestMessage.metadata) === null || _latestMessage_metadata === void 0 ? void 0 : _latestMessage_metadata.isBlocking;
@@ -2505,14 +2238,14 @@ var Root2 = function(param) {
2505
2238
  });
2506
2239
  };
2507
2240
  // src/components/threads/Thread/MessageForm/Field/index.tsx
2508
- var import_react_use2 = require("react-use");
2509
- var import_react37 = require("react");
2241
+ var import_react_use = require("react-use");
2242
+ var import_react31 = require("react");
2510
2243
  // src/components/textareas/TextareaBase/index.tsx
2511
- var import_react36 = require("react");
2244
+ var import_react30 = require("react");
2512
2245
  var import_react_textarea_autosize = __toESM(require("react-textarea-autosize"), 1);
2513
2246
  var import_jsx_runtime41 = require("react/jsx-runtime");
2514
2247
  var UPSCALE_RATIO = 16 / 14;
2515
- var TextareaBase = (0, import_react36.forwardRef)(function TextareaBase2(props, ref) {
2248
+ var TextareaBase = (0, import_react30.forwardRef)(function TextareaBase2(props, ref) {
2516
2249
  return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_jsx_runtime41.Fragment, {
2517
2250
  children: [
2518
2251
  /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("style", {
@@ -2542,21 +2275,21 @@ var TextareaBase = (0, import_react36.forwardRef)(function TextareaBase2(props,
2542
2275
  });
2543
2276
  // src/components/threads/Thread/MessageForm/Field/index.tsx
2544
2277
  var import_react_hook_form2 = require("react-hook-form");
2545
- var import_themes33 = require("@radix-ui/themes");
2278
+ var import_themes32 = require("@radix-ui/themes");
2546
2279
  var import_jsx_runtime42 = require("react/jsx-runtime");
2547
2280
  var Root3 = function(param) {
2548
2281
  var children = param.children;
2549
2282
  var _ref = (0, import_react_hook_form2.useFormContext)(), errors = _ref.formState.errors;
2550
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes33.Container, {
2283
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes32.Container, {
2551
2284
  size: "2",
2552
2285
  flexGrow: "0",
2553
- children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes33.Flex, {
2286
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes32.Flex, {
2554
2287
  direction: "column",
2555
2288
  flexShrink: "0",
2556
- children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes33.Flex, {
2289
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes32.Flex, {
2557
2290
  direction: "column",
2558
2291
  flexShrink: "0",
2559
- children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes33.Flex, {
2292
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes32.Flex, {
2560
2293
  style: _object_spread({
2561
2294
  borderRadius: "var(--radius-2)",
2562
2295
  borderWidth: "1px",
@@ -2574,19 +2307,19 @@ var Root3 = function(param) {
2574
2307
  });
2575
2308
  };
2576
2309
  var Control = function() {
2577
- var assistantNameContext = (0, import_react37.useContext)(AssistantNameContext);
2310
+ var assistantNameContext = (0, import_react31.useContext)(AssistantNameContext);
2578
2311
  var register = (0, import_react_hook_form2.useFormContext)().register;
2579
2312
  var _useMessageFormContext = useMessageFormContext(), isDisabled = _useMessageFormContext.isDisabled, isLoading = _useMessageFormContext.isLoading;
2580
- var isSubmitDisabled = (0, import_react37.useMemo)(function() {
2313
+ var isSubmitDisabled = (0, import_react31.useMemo)(function() {
2581
2314
  return isDisabled || isLoading;
2582
2315
  }, [
2583
2316
  isDisabled,
2584
2317
  isLoading
2585
2318
  ]);
2586
- var isDisabledPrevious = (0, import_react_use2.usePrevious)(isDisabled);
2587
- var textareaRef = (0, import_react37.useRef)(null);
2319
+ var isDisabledPrevious = (0, import_react_use.usePrevious)(isDisabled);
2320
+ var textareaRef = (0, import_react31.useRef)(null);
2588
2321
  var textareaProps = register("content");
2589
- (0, import_react37.useEffect)(function() {
2322
+ (0, import_react31.useEffect)(function() {
2590
2323
  if (isDisabled) return;
2591
2324
  if (!isDisabledPrevious) return;
2592
2325
  if (!textareaRef.current) return;
@@ -2625,18 +2358,18 @@ var MessageForm = function() {
2625
2358
  return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Root2, {
2626
2359
  children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(Field.Root, {
2627
2360
  children: [
2628
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_themes34.Text, {
2361
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_themes33.Text, {
2629
2362
  size: "2",
2630
2363
  style: {
2631
2364
  flexGrow: 1
2632
2365
  },
2633
- children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_themes34.Flex, {
2366
+ children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_themes33.Flex, {
2634
2367
  flexGrow: "1",
2635
2368
  direction: "column",
2636
2369
  children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Field.Control, {})
2637
2370
  })
2638
2371
  }),
2639
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_themes34.Flex, {
2372
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_themes33.Flex, {
2640
2373
  flexShrink: "0",
2641
2374
  align: "end",
2642
2375
  children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Submit, {})
@@ -2649,36 +2382,17 @@ MessageForm.Root = Root2;
2649
2382
  MessageForm.Field = Field;
2650
2383
  MessageForm.Submit = Submit;
2651
2384
  // src/components/threads/Thread/Root/index.tsx
2652
- var import_themes35 = require("@radix-ui/themes");
2653
- // src/components/runs/PollingProvider/index.tsx
2654
- var import_react38 = require("react");
2655
- var import_jsx_runtime44 = require("react/jsx-runtime");
2656
- var PollingProvider = function(param) {
2657
- var children = param.children;
2658
- var _ref = _sliced_to_array((0, import_react38.useState)(false), 2), isPollRefetching = _ref[0], setIsPollRefetching = _ref[1];
2659
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(PollingContext.Provider, {
2660
- value: {
2661
- isPollRefetching: isPollRefetching,
2662
- setIsPollRefetching: setIsPollRefetching
2663
- },
2664
- children: children
2665
- });
2666
- };
2385
+ var import_themes34 = require("@radix-ui/themes");
2667
2386
  // src/components/threads/Thread/Provider/index.tsx
2668
- var import_jsx_runtime45 = require("react/jsx-runtime");
2669
- var Provider2 = function(args) {
2670
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(PollingProvider, {
2671
- children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(SuperinterfaceProvider, _object_spread({}, args))
2672
- });
2673
- };
2387
+ var Provider2 = SuperinterfaceProvider;
2674
2388
  // src/components/threads/Thread/Root/index.tsx
2675
- var import_jsx_runtime46 = require("react/jsx-runtime");
2389
+ var import_jsx_runtime44 = require("react/jsx-runtime");
2676
2390
  var Root4 = function(_param) {
2677
2391
  var children = _param.children, rest = _object_without_properties(_param, [
2678
2392
  "children"
2679
2393
  ]);
2680
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Provider2, _object_spread_props(_object_spread({}, rest), {
2681
- children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_themes35.Flex, {
2394
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Provider2, _object_spread_props(_object_spread({}, rest), {
2395
+ children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_themes34.Flex, {
2682
2396
  direction: "column",
2683
2397
  flexGrow: "1",
2684
2398
  children: children
@@ -2686,12 +2400,12 @@ var Root4 = function(_param) {
2686
2400
  }));
2687
2401
  };
2688
2402
  // src/components/threads/Thread/index.tsx
2689
- var import_jsx_runtime47 = require("react/jsx-runtime");
2403
+ var import_jsx_runtime45 = require("react/jsx-runtime");
2690
2404
  var Thread = function(props) {
2691
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(Root4, _object_spread_props(_object_spread({}, props), {
2405
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(Root4, _object_spread_props(_object_spread({}, props), {
2692
2406
  children: [
2693
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Messages, {}),
2694
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(MessageForm, {})
2407
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Messages, {}),
2408
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(MessageForm, {})
2695
2409
  ]
2696
2410
  }));
2697
2411
  };
@@ -2699,30 +2413,30 @@ Thread.Root = Root4;
2699
2413
  Thread.Messages = Messages;
2700
2414
  Thread.MessageForm = MessageForm;
2701
2415
  // src/hooks/messages/useMessageContext/index.ts
2702
- var import_react39 = require("react");
2416
+ var import_react32 = require("react");
2703
2417
  var useMessageContext = function() {
2704
- return (0, import_react39.useContext)(MessageContext);
2418
+ return (0, import_react32.useContext)(MessageContext);
2705
2419
  };
2706
2420
  // src/components/threads/ThreadDialog/Provider/index.tsx
2707
- var import_react42 = require("react");
2421
+ var import_react35 = require("react");
2708
2422
  // src/contexts/threads/ThreadDialogContext/index.ts
2709
- var import_react40 = require("react");
2710
- var ThreadDialogContext = (0, import_react40.createContext)({
2423
+ var import_react33 = require("react");
2424
+ var ThreadDialogContext = (0, import_react33.createContext)({
2711
2425
  isOpen: false,
2712
2426
  setIsOpen: function() {}
2713
2427
  });
2714
2428
  // src/hooks/threads/useThreadDialogContext/index.ts
2715
- var import_react41 = require("react");
2429
+ var import_react34 = require("react");
2716
2430
  var useThreadDialogContext = function() {
2717
- return (0, import_react41.useContext)(ThreadDialogContext);
2431
+ return (0, import_react34.useContext)(ThreadDialogContext);
2718
2432
  };
2719
2433
  // src/components/threads/ThreadDialog/Provider/index.tsx
2720
- var import_jsx_runtime48 = require("react/jsx-runtime");
2434
+ var import_jsx_runtime46 = require("react/jsx-runtime");
2721
2435
  var Provider3 = function(param) {
2722
2436
  var children = param.children;
2723
2437
  var threadDialogContext = useThreadDialogContext();
2724
- var _ref = _sliced_to_array((0, import_react42.useState)(threadDialogContext.isOpen), 2), isOpen = _ref[0], setIsOpen = _ref[1];
2725
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(ThreadDialogContext.Provider, {
2438
+ var _ref = _sliced_to_array((0, import_react35.useState)(threadDialogContext.isOpen), 2), isOpen = _ref[0], setIsOpen = _ref[1];
2439
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(ThreadDialogContext.Provider, {
2726
2440
  value: {
2727
2441
  isOpen: isOpen,
2728
2442
  setIsOpen: setIsOpen
@@ -2731,31 +2445,31 @@ var Provider3 = function(param) {
2731
2445
  });
2732
2446
  };
2733
2447
  // src/components/toasts/ToastsProvider/index.tsx
2734
- var import_react43 = require("react");
2448
+ var import_react36 = require("react");
2735
2449
  var Toast2 = __toESM(require("@radix-ui/react-toast"), 1);
2736
2450
  // src/components/toasts/ToastsProvider/CustomToast.tsx
2737
2451
  var Toast = __toESM(require("@radix-ui/react-toast"), 1);
2738
- var import_themes36 = require("@radix-ui/themes");
2452
+ var import_themes35 = require("@radix-ui/themes");
2739
2453
  var import_react_icons6 = require("@radix-ui/react-icons");
2740
- var import_jsx_runtime49 = require("react/jsx-runtime");
2454
+ var import_jsx_runtime47 = require("react/jsx-runtime");
2741
2455
  var CustomToast = function(param) {
2742
2456
  var toast = param.toast;
2743
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Toast.Root, {
2744
- children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_themes36.Card, {
2745
- children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Toast.Title, {
2746
- children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_themes36.Flex, {
2457
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Toast.Root, {
2458
+ children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_themes35.Card, {
2459
+ children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Toast.Title, {
2460
+ children: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_themes35.Flex, {
2747
2461
  children: [
2748
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_themes36.Flex, {
2462
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_themes35.Flex, {
2749
2463
  pr: "2",
2750
2464
  height: "14px",
2751
2465
  align: "center",
2752
- children: toast.type === "success" ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_react_icons6.CheckCircledIcon, {
2466
+ children: toast.type === "success" ? /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_react_icons6.CheckCircledIcon, {
2753
2467
  color: "var(--mint-9)"
2754
- }) : /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_react_icons6.CrossCircledIcon, {
2468
+ }) : /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_react_icons6.CrossCircledIcon, {
2755
2469
  color: "var(--red-9)"
2756
2470
  })
2757
2471
  }),
2758
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_themes36.Text, {
2472
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_themes35.Text, {
2759
2473
  weight: "medium",
2760
2474
  size: "1",
2761
2475
  children: toast.message
@@ -2767,31 +2481,31 @@ var CustomToast = function(param) {
2767
2481
  });
2768
2482
  };
2769
2483
  // src/components/toasts/ToastsProvider/index.tsx
2770
- var import_jsx_runtime50 = require("react/jsx-runtime");
2484
+ var import_jsx_runtime48 = require("react/jsx-runtime");
2771
2485
  var ToastsProvider = function(param) {
2772
2486
  var children = param.children;
2773
- var _ref = _sliced_to_array((0, import_react43.useState)([]), 2), toasts = _ref[0], setToasts = _ref[1];
2774
- var addToast = (0, import_react43.useCallback)(function(toast) {
2487
+ var _ref = _sliced_to_array((0, import_react36.useState)([]), 2), toasts = _ref[0], setToasts = _ref[1];
2488
+ var addToast = (0, import_react36.useCallback)(function(toast) {
2775
2489
  return setToasts(function(prevToasts) {
2776
2490
  return _to_consumable_array(prevToasts).concat([
2777
2491
  toast
2778
2492
  ]);
2779
2493
  });
2780
2494
  }, []);
2781
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ToastsContext.Provider, {
2495
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(ToastsContext.Provider, {
2782
2496
  value: {
2783
2497
  toasts: toasts,
2784
2498
  addToast: addToast
2785
2499
  },
2786
- children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(Toast2.Provider, {
2500
+ children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Toast2.Provider, {
2787
2501
  children: [
2788
2502
  children,
2789
2503
  Array.from(toasts).map(function(toast, index) {
2790
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(CustomToast, {
2504
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(CustomToast, {
2791
2505
  toast: toast
2792
2506
  }, index);
2793
2507
  }),
2794
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Toast2.Viewport, {
2508
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Toast2.Viewport, {
2795
2509
  style: {
2796
2510
  position: "absolute",
2797
2511
  bottom: 0,
@@ -2813,22 +2527,22 @@ var ToastsProvider = function(param) {
2813
2527
  });
2814
2528
  };
2815
2529
  // src/components/threads/ThreadDialog/Root/index.tsx
2816
- var import_jsx_runtime51 = require("react/jsx-runtime");
2530
+ var import_jsx_runtime49 = require("react/jsx-runtime");
2817
2531
  var Root6 = function(param) {
2818
- var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
2819
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ToastsProvider, {
2820
- children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Provider3, {
2532
+ var children = param.children;
2533
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ToastsProvider, {
2534
+ children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Provider3, {
2821
2535
  children: children
2822
2536
  })
2823
2537
  });
2824
2538
  };
2825
2539
  // src/components/threads/ThreadDialog/Trigger/index.tsx
2826
- var import_themes37 = require("@radix-ui/themes");
2827
- var import_jsx_runtime52 = require("react/jsx-runtime");
2540
+ var import_themes36 = require("@radix-ui/themes");
2541
+ var import_jsx_runtime50 = require("react/jsx-runtime");
2828
2542
  var Trigger = function(param) {
2829
2543
  var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
2830
2544
  var _useThreadDialogContext = useThreadDialogContext(), setIsOpen = _useThreadDialogContext.setIsOpen, isOpen = _useThreadDialogContext.isOpen;
2831
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_themes37.Flex, {
2545
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_themes36.Flex, {
2832
2546
  display: {
2833
2547
  initial: isOpen ? "none" : "flex",
2834
2548
  sm: "flex"
@@ -2852,25 +2566,25 @@ var Trigger = function(param) {
2852
2566
  });
2853
2567
  };
2854
2568
  // src/components/threads/ThreadDialog/Button/index.tsx
2855
- var import_themes38 = require("@radix-ui/themes");
2569
+ var import_themes37 = require("@radix-ui/themes");
2856
2570
  var import_react_icons7 = require("@radix-ui/react-icons");
2857
- var import_jsx_runtime53 = require("react/jsx-runtime");
2571
+ var import_jsx_runtime51 = require("react/jsx-runtime");
2858
2572
  var Button2 = function() {
2859
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_themes38.IconButton, {
2573
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_themes37.IconButton, {
2860
2574
  size: "4",
2861
2575
  radius: "full",
2862
- children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_icons7.ChatBubbleIcon, {})
2576
+ children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_icons7.ChatBubbleIcon, {})
2863
2577
  });
2864
2578
  };
2865
2579
  // src/components/threads/ThreadDialog/Content/index.tsx
2866
- var import_themes40 = require("@radix-ui/themes");
2580
+ var import_themes39 = require("@radix-ui/themes");
2867
2581
  // src/components/threads/ThreadDialog/Close/index.tsx
2868
2582
  var import_react_icons8 = require("@radix-ui/react-icons");
2869
- var import_themes39 = require("@radix-ui/themes");
2870
- var import_jsx_runtime54 = require("react/jsx-runtime");
2583
+ var import_themes38 = require("@radix-ui/themes");
2584
+ var import_jsx_runtime52 = require("react/jsx-runtime");
2871
2585
  var Close = function() {
2872
2586
  var _useThreadDialogContext = useThreadDialogContext(), setIsOpen = _useThreadDialogContext.setIsOpen, isOpen = _useThreadDialogContext.isOpen;
2873
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes39.Flex, {
2587
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_themes38.Flex, {
2874
2588
  display: {
2875
2589
  initial: isOpen ? "flex" : "none",
2876
2590
  sm: "none"
@@ -2890,20 +2604,20 @@ var Close = function() {
2890
2604
  style: {
2891
2605
  zIndex: 9999999999
2892
2606
  },
2893
- children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes39.IconButton, {
2607
+ children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_themes38.IconButton, {
2894
2608
  size: "2",
2895
2609
  variant: "soft",
2896
- children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_react_icons8.Cross1Icon, {})
2610
+ children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_react_icons8.Cross1Icon, {})
2897
2611
  })
2898
2612
  });
2899
2613
  };
2900
2614
  // src/components/threads/ThreadDialog/Content/index.tsx
2901
- var import_jsx_runtime55 = require("react/jsx-runtime");
2615
+ var import_jsx_runtime53 = require("react/jsx-runtime");
2902
2616
  var Root7 = function(param) {
2903
2617
  var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
2904
2618
  var isOpen = useThreadDialogContext().isOpen;
2905
2619
  if (!isOpen) return null;
2906
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_themes40.Flex, {
2620
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_themes39.Flex, {
2907
2621
  direction: "column",
2908
2622
  justify: "end",
2909
2623
  position: "fixed",
@@ -2931,7 +2645,7 @@ var Root7 = function(param) {
2931
2645
  style: _object_spread({
2932
2646
  zIndex: 9999999999
2933
2647
  }, style),
2934
- children: /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(import_themes40.Card, {
2648
+ children: /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_themes39.Card, {
2935
2649
  mb: {
2936
2650
  initial: void 0,
2937
2651
  sm: "3"
@@ -2942,7 +2656,7 @@ var Root7 = function(param) {
2942
2656
  flexGrow: 1
2943
2657
  },
2944
2658
  children: [
2945
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_themes40.Inset, {
2659
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_themes39.Inset, {
2946
2660
  clip: "padding-box",
2947
2661
  side: "all",
2948
2662
  pb: "current",
@@ -2952,31 +2666,31 @@ var Root7 = function(param) {
2952
2666
  },
2953
2667
  children: children
2954
2668
  }),
2955
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Close, {})
2669
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Close, {})
2956
2670
  ]
2957
2671
  })
2958
2672
  });
2959
2673
  };
2960
2674
  var Content4 = function(param) {
2961
2675
  var _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
2962
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Root7, {
2676
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Root7, {
2963
2677
  style: style,
2964
- children: /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(Thread.Root, {
2678
+ children: /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(Thread.Root, {
2965
2679
  children: [
2966
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Thread.Messages, {
2680
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Thread.Messages, {
2967
2681
  style: {
2968
2682
  paddingTop: "var(--space-5)",
2969
2683
  paddingRight: "var(--space-5)",
2970
2684
  paddingLeft: "var(--space-5)"
2971
2685
  }
2972
2686
  }),
2973
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_themes40.Flex, {
2687
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_themes39.Flex, {
2974
2688
  direction: "column",
2975
2689
  pl: "5",
2976
2690
  pr: "5",
2977
2691
  pb: "3",
2978
2692
  flexShrink: "0",
2979
- children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Thread.MessageForm, {})
2693
+ children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Thread.MessageForm, {})
2980
2694
  })
2981
2695
  ]
2982
2696
  })
@@ -2984,13 +2698,13 @@ var Content4 = function(param) {
2984
2698
  };
2985
2699
  Content4.Root = Root7;
2986
2700
  // src/components/threads/ThreadDialog/index.tsx
2987
- var import_jsx_runtime56 = require("react/jsx-runtime");
2701
+ var import_jsx_runtime54 = require("react/jsx-runtime");
2988
2702
  var ThreadDialog = function() {
2989
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(Root6, {
2703
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(Root6, {
2990
2704
  children: [
2991
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Content4, {}),
2992
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Trigger, {
2993
- children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Button2, {})
2705
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Content4, {}),
2706
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Trigger, {
2707
+ children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Button2, {})
2994
2708
  })
2995
2709
  ]
2996
2710
  });
@@ -3001,10 +2715,10 @@ ThreadDialog.Button = Button2;
3001
2715
  ThreadDialog.Content = Content4;
3002
2716
  // src/components/threads/AudioThread/Root/index.tsx
3003
2717
  var import_runtime = require("regenerator-runtime/runtime");
3004
- var import_themes41 = require("@radix-ui/themes");
2718
+ var import_themes40 = require("@radix-ui/themes");
3005
2719
  // src/contexts/threads/AudioThreadContext/index.ts
3006
- var import_react44 = require("react");
3007
- var AudioThreadContext = (0, import_react44.createContext)({
2720
+ var import_react37 = require("react");
2721
+ var AudioThreadContext = (0, import_react37.createContext)({
3008
2722
  status: "idle",
3009
2723
  recorderProps: {
3010
2724
  status: "idle",
@@ -3060,7 +2774,7 @@ var AudioThreadContext = (0, import_react44.createContext)({
3060
2774
  }
3061
2775
  });
3062
2776
  // src/components/threads/AudioThread/Root/index.tsx
3063
- var import_react_use4 = require("react-use");
2777
+ var import_react_use3 = require("react-use");
3064
2778
  // src/components/threads/AudioThread/Root/lib/blobToData.ts
3065
2779
  var blobToData = function(blob) {
3066
2780
  return new Promise(function(resolve) {
@@ -3072,14 +2786,12 @@ var blobToData = function(blob) {
3072
2786
  });
3073
2787
  };
3074
2788
  // src/hooks/audioThreads/useStatus/index.ts
3075
- var import_react45 = require("react");
2789
+ var import_react38 = require("react");
3076
2790
  var useStatus = function(param) {
3077
2791
  var messageAudioProps = param.messageAudioProps, recorderProps = param.recorderProps, createMessageProps = param.createMessageProps;
3078
- var isRunActiveProps = useIsRunActive();
3079
- var status = (0, import_react45.useMemo)(function() {
2792
+ var status = (0, import_react38.useMemo)(function() {
3080
2793
  if (recorderProps.status === "recording") return "recording";
3081
2794
  if (createMessageProps.isPending) return "creatingMessage";
3082
- if (isRunActiveProps.isRunActive) return "runActive";
3083
2795
  if (messageAudioProps.playing) return "playing";
3084
2796
  if (messageAudioProps.paused) return "playerPaused";
3085
2797
  if (!messageAudioProps.isReady) return "loading";
@@ -3089,29 +2801,28 @@ var useStatus = function(param) {
3089
2801
  }, [
3090
2802
  messageAudioProps,
3091
2803
  recorderProps,
3092
- createMessageProps,
3093
- isRunActiveProps
2804
+ createMessageProps
3094
2805
  ]);
3095
2806
  return {
3096
2807
  status: status
3097
2808
  };
3098
2809
  };
3099
2810
  // src/hooks/audioThreads/useRecorder/index.ts
3100
- var import_dayjs = __toESM(require("dayjs"), 1);
2811
+ var import_dayjs2 = __toESM(require("dayjs"), 1);
3101
2812
  var import_use_audio_capture = require("use-audio-capture");
3102
- var import_react46 = require("react");
2813
+ var import_react39 = require("react");
3103
2814
  var import_react_use_audio_player = require("react-use-audio-player");
3104
- var import_react_use3 = require("react-use");
2815
+ var import_react_use2 = require("react-use");
3105
2816
  var useRecorder = function(param) {
3106
2817
  var isStopOnSilence = param.isStopOnSilence, onStart = param.onStart, onStop = param.onStop;
3107
- var _ref = _sliced_to_array((0, import_react46.useState)(null), 2), silenceStart = _ref[0], setSilenceStart = _ref[1];
3108
- var _ref1 = _sliced_to_array((0, import_react46.useState)(null), 2), noiseStart = _ref1[0], setNoiseStart = _ref1[1];
3109
- var _ref2 = _sliced_to_array((0, import_react46.useState)(null), 2), mediaStream = _ref2[0], setMediaStream = _ref2[1];
3110
- var _ref3 = _sliced_to_array((0, import_react46.useState)("idle"), 2), status = _ref3[0], setStatus = _ref3[1];
2818
+ var _ref = _sliced_to_array((0, import_react39.useState)(null), 2), silenceStart = _ref[0], setSilenceStart = _ref[1];
2819
+ var _ref1 = _sliced_to_array((0, import_react39.useState)(null), 2), noiseStart = _ref1[0], setNoiseStart = _ref1[1];
2820
+ var _ref2 = _sliced_to_array((0, import_react39.useState)(null), 2), mediaStream = _ref2[0], setMediaStream = _ref2[1];
2821
+ var _ref3 = _sliced_to_array((0, import_react39.useState)("idle"), 2), status = _ref3[0], setStatus = _ref3[1];
3111
2822
  var startAudioPlayer = (0, import_react_use_audio_player.useAudioPlayer)();
3112
2823
  var endAudioPlayer = (0, import_react_use_audio_player.useAudioPlayer)();
3113
- var _ref4 = _sliced_to_array((0, import_react46.useState)(false), 2), isLoaded = _ref4[0], setIsLoaded = _ref4[1];
3114
- (0, import_react46.useEffect)(function() {
2824
+ var _ref4 = _sliced_to_array((0, import_react39.useState)(false), 2), isLoaded = _ref4[0], setIsLoaded = _ref4[1];
2825
+ (0, import_react39.useEffect)(function() {
3115
2826
  if (isLoaded) return;
3116
2827
  setIsLoaded(true);
3117
2828
  }, [
@@ -3169,9 +2880,9 @@ var useRecorder = function(param) {
3169
2880
  setNoiseStart(null);
3170
2881
  }
3171
2882
  });
3172
- var _ref5 = _sliced_to_array((0, import_react46.useState)(null), 2), audioEngine = _ref5[0], setAudioEngine = _ref5[1];
3173
- var isInited = (0, import_react46.useRef)(false);
3174
- (0, import_react46.useEffect)(function() {
2883
+ var _ref5 = _sliced_to_array((0, import_react39.useState)(null), 2), audioEngine = _ref5[0], setAudioEngine = _ref5[1];
2884
+ var isInited = (0, import_react39.useRef)(false);
2885
+ (0, import_react39.useEffect)(function() {
3175
2886
  if (!mediaStream) return;
3176
2887
  if (isInited.current) return;
3177
2888
  isInited.current = true;
@@ -3184,7 +2895,7 @@ var useRecorder = function(param) {
3184
2895
  isInited,
3185
2896
  mediaStream
3186
2897
  ]);
3187
- var visualizationAnalyser = (0, import_react46.useMemo)(function() {
2898
+ var visualizationAnalyser = (0, import_react39.useMemo)(function() {
3188
2899
  if (!audioEngine) return null;
3189
2900
  var result = audioEngine.audioContext.createAnalyser();
3190
2901
  audioEngine.source.connect(result);
@@ -3192,7 +2903,7 @@ var useRecorder = function(param) {
3192
2903
  }, [
3193
2904
  audioEngine
3194
2905
  ]);
3195
- var silenceAnalyser = (0, import_react46.useMemo)(function() {
2906
+ var silenceAnalyser = (0, import_react39.useMemo)(function() {
3196
2907
  if (!audioEngine) return null;
3197
2908
  var result = audioEngine.audioContext.createAnalyser();
3198
2909
  result.minDecibels = -45;
@@ -3201,7 +2912,7 @@ var useRecorder = function(param) {
3201
2912
  }, [
3202
2913
  audioEngine
3203
2914
  ]);
3204
- var handleSilence = (0, import_react46.useCallback)(function() {
2915
+ var handleSilence = (0, import_react39.useCallback)(function() {
3205
2916
  if (!silenceAnalyser) return;
3206
2917
  var frequencyData = new Uint8Array(silenceAnalyser.frequencyBinCount);
3207
2918
  silenceAnalyser.getByteFrequencyData(frequencyData);
@@ -3209,12 +2920,12 @@ var useRecorder = function(param) {
3209
2920
  return f === 0;
3210
2921
  });
3211
2922
  setSilenceStart(function(silenceStart2) {
3212
- if (isSilent) return silenceStart2 || (0, import_dayjs.default)();
2923
+ if (isSilent) return silenceStart2 || (0, import_dayjs2.default)();
3213
2924
  return null;
3214
2925
  });
3215
2926
  setNoiseStart(function(noiseStart2) {
3216
2927
  if (isSilent) return noiseStart2;
3217
- return noiseStart2 || (0, import_dayjs.default)();
2928
+ return noiseStart2 || (0, import_dayjs2.default)();
3218
2929
  });
3219
2930
  requestAnimationFrame(function() {
3220
2931
  return handleSilence();
@@ -3224,7 +2935,7 @@ var useRecorder = function(param) {
3224
2935
  setNoiseStart,
3225
2936
  setSilenceStart
3226
2937
  ]);
3227
- (0, import_react46.useEffect)(function() {
2938
+ (0, import_react39.useEffect)(function() {
3228
2939
  if (!isStopOnSilence) return;
3229
2940
  requestAnimationFrame(function() {
3230
2941
  return handleSilence();
@@ -3233,12 +2944,12 @@ var useRecorder = function(param) {
3233
2944
  handleSilence,
3234
2945
  isStopOnSilence
3235
2946
  ]);
3236
- (0, import_react_use3.useInterval)(function() {
2947
+ (0, import_react_use2.useInterval)(function() {
3237
2948
  if (!isStopOnSilence) return;
3238
2949
  if (status !== "recording") return;
3239
2950
  if (!silenceStart) return;
3240
2951
  if (!noiseStart) return;
3241
- if (!silenceStart.isBefore((0, import_dayjs.default)().subtract(1, "second"))) return;
2952
+ if (!silenceStart.isBefore((0, import_dayjs2.default)().subtract(1, "second"))) return;
3242
2953
  audioCaptureProps.stop();
3243
2954
  }, 100);
3244
2955
  return _object_spread_props(_object_spread({}, audioCaptureProps), {
@@ -3247,11 +2958,11 @@ var useRecorder = function(param) {
3247
2958
  });
3248
2959
  };
3249
2960
  // src/hooks/audioThreads/useMessageAudio/index.ts
3250
- var import_react47 = require("react");
2961
+ var import_react40 = require("react");
3251
2962
  var import_howler = require("howler");
3252
2963
  var import_react_use_audio_player2 = require("react-use-audio-player");
3253
2964
  // src/hooks/audioThreads/useMessageAudio/lib/input.ts
3254
- var import_radash9 = require("radash");
2965
+ var import_radash11 = require("radash");
3255
2966
  var input = function(param) {
3256
2967
  var message = param.message;
3257
2968
  var textContents = message.content.filter(function(c) {
@@ -3260,7 +2971,7 @@ var input = function(param) {
3260
2971
  var result = textContents.map(function(c) {
3261
2972
  return c.text.value;
3262
2973
  }).join(" ");
3263
- if ((0, import_radash9.isEmpty)(result)) return null;
2974
+ if ((0, import_radash11.isEmpty)(result)) return null;
3264
2975
  return result;
3265
2976
  };
3266
2977
  // src/hooks/audioThreads/useMessageAudio/lib/isHtmlAudioSupported.ts
@@ -3273,11 +2984,11 @@ var isHtmlAudioSupported = !unsupportedNames.includes(((_this = (0, import_detec
3273
2984
  // src/hooks/audioThreads/useMessageAudio/index.ts
3274
2985
  var useMessageAudio = function(param) {
3275
2986
  var onEnd = param.onEnd;
3276
- var _ref = _sliced_to_array((0, import_react47.useState)([]), 2), playedMessages = _ref[0], setPlayedMessages = _ref[1];
2987
+ var _ref = _sliced_to_array((0, import_react40.useState)([]), 2), playedMessages = _ref[0], setPlayedMessages = _ref[1];
3277
2988
  var audioPlayer = (0, import_react_use_audio_player2.useAudioPlayer)();
3278
2989
  var superinterfaceContext = useSuperinterfaceContext();
3279
2990
  var latestMessageProps = useLatestMessage();
3280
- (0, import_react47.useEffect)(function() {
2991
+ (0, import_react40.useEffect)(function() {
3281
2992
  if (audioPlayer.playing) return;
3282
2993
  if (!latestMessageProps.latestMessage) return;
3283
2994
  if (latestMessageProps.latestMessage.role !== "assistant") return;
@@ -3316,9 +3027,9 @@ var useMessageAudio = function(param) {
3316
3027
  playedMessages,
3317
3028
  onEnd
3318
3029
  ]);
3319
- var isInited = (0, import_react47.useRef)(false);
3320
- var _ref1 = _sliced_to_array((0, import_react47.useState)(null), 2), audioEngine = _ref1[0], setAudioEngine = _ref1[1];
3321
- (0, import_react47.useEffect)(function() {
3030
+ var isInited = (0, import_react40.useRef)(false);
3031
+ var _ref1 = _sliced_to_array((0, import_react40.useState)(null), 2), audioEngine = _ref1[0], setAudioEngine = _ref1[1];
3032
+ (0, import_react40.useEffect)(function() {
3322
3033
  if (!audioPlayer.playing) return;
3323
3034
  if (isInited.current) return;
3324
3035
  isInited.current = true;
@@ -3339,7 +3050,7 @@ var useMessageAudio = function(param) {
3339
3050
  audioPlayer,
3340
3051
  isInited
3341
3052
  ]);
3342
- var visualizationAnalyser = (0, import_react47.useMemo)(function() {
3053
+ var visualizationAnalyser = (0, import_react40.useMemo)(function() {
3343
3054
  if (!audioEngine) return null;
3344
3055
  var result = audioEngine.audioContext.createAnalyser();
3345
3056
  audioEngine.source.connect(audioEngine.audioContext.destination);
@@ -3353,10 +3064,9 @@ var useMessageAudio = function(param) {
3353
3064
  });
3354
3065
  };
3355
3066
  // src/components/threads/AudioThread/Root/index.tsx
3356
- var import_jsx_runtime57 = require("react/jsx-runtime");
3067
+ var import_jsx_runtime55 = require("react/jsx-runtime");
3357
3068
  var Root8 = function(param) {
3358
3069
  var children = param.children;
3359
- useLifecycle();
3360
3070
  var createMessageProps = useCreateMessage();
3361
3071
  var recorderProps = useRecorder({
3362
3072
  isStopOnSilence: true,
@@ -3398,7 +3108,7 @@ var Root8 = function(param) {
3398
3108
  };
3399
3109
  }()
3400
3110
  });
3401
- var microphonePermission = (0, import_react_use4.usePermission)({
3111
+ var microphonePermission = (0, import_react_use3.usePermission)({
3402
3112
  name: "microphone"
3403
3113
  });
3404
3114
  var messageAudioProps = useMessageAudio({
@@ -3413,13 +3123,13 @@ var Root8 = function(param) {
3413
3123
  createMessageProps: createMessageProps,
3414
3124
  messageAudioProps: messageAudioProps
3415
3125
  }).status;
3416
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(AudioThreadContext.Provider, {
3126
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(AudioThreadContext.Provider, {
3417
3127
  value: {
3418
3128
  status: status,
3419
3129
  recorderProps: recorderProps,
3420
3130
  messageAudioProps: messageAudioProps
3421
3131
  },
3422
- children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_themes41.Flex, {
3132
+ children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_themes40.Flex, {
3423
3133
  direction: "column",
3424
3134
  flexGrow: "1",
3425
3135
  p: "9",
@@ -3428,37 +3138,37 @@ var Root8 = function(param) {
3428
3138
  });
3429
3139
  };
3430
3140
  // src/components/threads/AudioThread/Visualization/index.tsx
3431
- var import_themes43 = require("@radix-ui/themes");
3141
+ var import_themes42 = require("@radix-ui/themes");
3432
3142
  // src/hooks/threads/useAudioThreadContext/index.ts
3433
- var import_react48 = require("react");
3143
+ var import_react41 = require("react");
3434
3144
  var useAudioThreadContext = function() {
3435
- return (0, import_react48.useContext)(AudioThreadContext);
3145
+ return (0, import_react41.useContext)(AudioThreadContext);
3436
3146
  };
3437
3147
  // src/components/threads/AudioThread/BarsVisualizer/index.tsx
3438
- var import_lodash6 = __toESM(require("lodash"), 1);
3439
- var import_themes42 = require("@radix-ui/themes");
3440
- var import_react49 = require("react");
3441
- var import_radash10 = require("radash");
3442
- var import_jsx_runtime58 = require("react/jsx-runtime");
3148
+ var import_lodash8 = __toESM(require("lodash"), 1);
3149
+ var import_themes41 = require("@radix-ui/themes");
3150
+ var import_react42 = require("react");
3151
+ var import_radash12 = require("radash");
3152
+ var import_jsx_runtime56 = require("react/jsx-runtime");
3443
3153
  var barCount = 4;
3444
3154
  var BarsVisualizer = function(param) {
3445
3155
  var visualizationAnalyser = param.visualizationAnalyser, color = param.color, height = param.height, barWidth = param.barWidth;
3446
- var _ref = _sliced_to_array((0, import_react49.useState)(null), 2), cachedEmptyVisualizer = _ref[0], setCachedEmptyVisualizer = _ref[1];
3447
- var getEmptyVisualizer = (0, import_react49.useCallback)(function() {
3156
+ var _ref = _sliced_to_array((0, import_react42.useState)(null), 2), cachedEmptyVisualizer = _ref[0], setCachedEmptyVisualizer = _ref[1];
3157
+ var getEmptyVisualizer = (0, import_react42.useCallback)(function() {
3448
3158
  var result = new AudioContext().createAnalyser();
3449
3159
  setCachedEmptyVisualizer(result);
3450
3160
  return result;
3451
3161
  }, [
3452
3162
  cachedEmptyVisualizer
3453
3163
  ]);
3454
- var _ref1 = _sliced_to_array((0, import_react49.useState)([]), 2), barHeights = _ref1[0], setBarHeights = _ref1[1];
3455
- var draw = (0, import_react49.useCallback)(function(param) {
3164
+ var _ref1 = _sliced_to_array((0, import_react42.useState)([]), 2), barHeights = _ref1[0], setBarHeights = _ref1[1];
3165
+ var draw = (0, import_react42.useCallback)(function(param) {
3456
3166
  var visualizationAnalyser2 = param.visualizationAnalyser;
3457
3167
  var frequencyData = new Uint8Array(visualizationAnalyser2.frequencyBinCount / 15);
3458
3168
  visualizationAnalyser2.getByteFrequencyData(frequencyData);
3459
- var clusteredFrequencyData = (0, import_radash10.cluster)(frequencyData, frequencyData.length / barCount);
3169
+ var clusteredFrequencyData = (0, import_radash12.cluster)(frequencyData, frequencyData.length / barCount);
3460
3170
  setBarHeights(clusteredFrequencyData.map(function(frequencyDataCluster) {
3461
- return import_lodash6.default.mean(frequencyDataCluster) / 255 * 100;
3171
+ return import_lodash8.default.mean(frequencyDataCluster) / 255 * 100;
3462
3172
  }));
3463
3173
  requestAnimationFrame(function() {
3464
3174
  return draw({
@@ -3466,7 +3176,7 @@ var BarsVisualizer = function(param) {
3466
3176
  });
3467
3177
  });
3468
3178
  }, []);
3469
- (0, import_react49.useEffect)(function() {
3179
+ (0, import_react42.useEffect)(function() {
3470
3180
  draw({
3471
3181
  visualizationAnalyser: visualizationAnalyser || cachedEmptyVisualizer || getEmptyVisualizer()
3472
3182
  });
@@ -3476,7 +3186,7 @@ var BarsVisualizer = function(param) {
3476
3186
  cachedEmptyVisualizer,
3477
3187
  getEmptyVisualizer
3478
3188
  ]);
3479
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_themes42.Grid, {
3189
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes41.Grid, {
3480
3190
  columns: "".concat(barCount),
3481
3191
  gap: "1",
3482
3192
  width: "auto",
@@ -3485,12 +3195,12 @@ var BarsVisualizer = function(param) {
3485
3195
  gridTemplateColumns: "repeat(4, minmax(0, 1fr))"
3486
3196
  },
3487
3197
  children: barHeights.map(function(barHeight, index) {
3488
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_themes42.Flex, {
3198
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes41.Flex, {
3489
3199
  direction: "column",
3490
3200
  align: "center",
3491
3201
  justify: "center",
3492
3202
  height: height,
3493
- children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_themes42.Flex, {
3203
+ children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes41.Flex, {
3494
3204
  minHeight: "50%",
3495
3205
  maxHeight: "100%",
3496
3206
  height: "".concat(barHeight + 20, "%"),
@@ -3505,16 +3215,16 @@ var BarsVisualizer = function(param) {
3505
3215
  });
3506
3216
  };
3507
3217
  // src/components/threads/AudioThread/Visualization/index.tsx
3508
- var import_jsx_runtime59 = require("react/jsx-runtime");
3218
+ var import_jsx_runtime57 = require("react/jsx-runtime");
3509
3219
  var Visualization = function() {
3510
3220
  var audioThreadContext = useAudioThreadContext();
3511
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_themes43.Flex, {
3221
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_themes42.Flex, {
3512
3222
  direction: "column",
3513
3223
  align: "center",
3514
3224
  justify: "center",
3515
3225
  mb: "3",
3516
3226
  flexGrow: "1",
3517
- children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_themes43.Flex, {
3227
+ children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_themes42.Flex, {
3518
3228
  align: "center",
3519
3229
  justify: "center",
3520
3230
  height: "200px",
@@ -3523,7 +3233,7 @@ var Visualization = function() {
3523
3233
  backgroundColor: "var(--".concat(audioThreadContext.status === "playing" ? "mint" : "gray", "-4)"),
3524
3234
  borderRadius: "9999px"
3525
3235
  },
3526
- children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(BarsVisualizer, {
3236
+ children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(BarsVisualizer, {
3527
3237
  visualizationAnalyser: audioThreadContext.messageAudioProps.visualizationAnalyser,
3528
3238
  color: audioThreadContext.status === "playing" ? "mint" : "gray",
3529
3239
  height: "40px",
@@ -3534,29 +3244,29 @@ var Visualization = function() {
3534
3244
  };
3535
3245
  // src/components/threads/AudioThread/Form/index.tsx
3536
3246
  var import_react_icons10 = require("@radix-ui/react-icons");
3537
- var import_themes45 = require("@radix-ui/themes");
3538
- // src/components/threads/AudioThread/Form/ActionButton/index.tsx
3539
3247
  var import_themes44 = require("@radix-ui/themes");
3248
+ // src/components/threads/AudioThread/Form/ActionButton/index.tsx
3249
+ var import_themes43 = require("@radix-ui/themes");
3540
3250
  var import_react_icons9 = require("@radix-ui/react-icons");
3541
- var import_jsx_runtime60 = require("react/jsx-runtime");
3251
+ var import_jsx_runtime58 = require("react/jsx-runtime");
3542
3252
  var ActionButton = function() {
3543
3253
  var audioThreadContext = useAudioThreadContext();
3544
3254
  if (audioThreadContext.status === "recording") {
3545
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_themes44.Flex, {
3255
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_themes43.Flex, {
3546
3256
  align: "center",
3547
3257
  children: [
3548
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_themes44.Flex, {
3258
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_themes43.Flex, {
3549
3259
  mr: "3",
3550
3260
  ml: "-7",
3551
- children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_themes44.IconButton, {
3261
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_themes43.IconButton, {
3552
3262
  onClick: audioThreadContext.recorderProps.pause,
3553
3263
  color: "gray",
3554
3264
  radius: "full",
3555
3265
  size: "1",
3556
- children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_react_icons9.PauseIcon, {})
3266
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_react_icons9.PauseIcon, {})
3557
3267
  })
3558
3268
  }),
3559
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_themes44.IconButton, {
3269
+ /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_themes43.IconButton, {
3560
3270
  onClick: audioThreadContext.recorderProps.stop,
3561
3271
  color: "gray",
3562
3272
  highContrast: true,
@@ -3565,13 +3275,13 @@ var ActionButton = function() {
3565
3275
  style: {
3566
3276
  border: "2px solid var(--gray-8)"
3567
3277
  },
3568
- children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_react_icons9.ArrowUpIcon, {})
3278
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_react_icons9.ArrowUpIcon, {})
3569
3279
  })
3570
3280
  ]
3571
3281
  });
3572
3282
  }
3573
3283
  if (audioThreadContext.status === "recorderPaused") {
3574
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_themes44.IconButton, {
3284
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_themes43.IconButton, {
3575
3285
  onClick: audioThreadContext.recorderProps.resume,
3576
3286
  color: "red",
3577
3287
  radius: "full",
@@ -3579,11 +3289,11 @@ var ActionButton = function() {
3579
3289
  style: {
3580
3290
  border: "2px solid var(--gray-8)"
3581
3291
  },
3582
- children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_react_icons9.ResumeIcon, {})
3292
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_react_icons9.ResumeIcon, {})
3583
3293
  });
3584
3294
  }
3585
3295
  if (audioThreadContext.status === "idle") {
3586
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_themes44.IconButton, {
3296
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_themes43.IconButton, {
3587
3297
  onClick: function() {
3588
3298
  return audioThreadContext.recorderProps.start();
3589
3299
  },
@@ -3596,7 +3306,7 @@ var ActionButton = function() {
3596
3306
  });
3597
3307
  }
3598
3308
  if (audioThreadContext.status === "playing") {
3599
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_themes44.IconButton, {
3309
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_themes43.IconButton, {
3600
3310
  onClick: function() {
3601
3311
  return audioThreadContext.messageAudioProps.pause();
3602
3312
  },
@@ -3606,11 +3316,11 @@ var ActionButton = function() {
3606
3316
  style: {
3607
3317
  border: "2px solid var(--gray-8)"
3608
3318
  },
3609
- children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_react_icons9.PauseIcon, {})
3319
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_react_icons9.PauseIcon, {})
3610
3320
  });
3611
3321
  }
3612
3322
  if (audioThreadContext.status === "playerPaused") {
3613
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_themes44.IconButton, {
3323
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_themes43.IconButton, {
3614
3324
  onClick: function() {
3615
3325
  return audioThreadContext.messageAudioProps.play();
3616
3326
  },
@@ -3620,10 +3330,10 @@ var ActionButton = function() {
3620
3330
  style: {
3621
3331
  border: "2px solid var(--gray-8)"
3622
3332
  },
3623
- children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_react_icons9.ResumeIcon, {})
3333
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_react_icons9.ResumeIcon, {})
3624
3334
  });
3625
3335
  }
3626
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_themes44.IconButton, {
3336
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_themes43.IconButton, {
3627
3337
  size: "4",
3628
3338
  color: "red",
3629
3339
  radius: "full",
@@ -3634,35 +3344,35 @@ var ActionButton = function() {
3634
3344
  });
3635
3345
  };
3636
3346
  // src/components/threads/AudioThread/Form/index.tsx
3637
- var import_jsx_runtime61 = require("react/jsx-runtime");
3347
+ var import_jsx_runtime59 = require("react/jsx-runtime");
3638
3348
  var Form = function() {
3639
3349
  var audioThreadContext = useAudioThreadContext();
3640
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_themes45.Flex, {
3350
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_themes44.Flex, {
3641
3351
  direction: "column",
3642
3352
  align: "center",
3643
3353
  children: [
3644
- /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_themes45.Flex, {
3354
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_themes44.Flex, {
3645
3355
  pb: "3",
3646
3356
  align: "center",
3647
3357
  children: [
3648
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_themes45.Flex, {
3358
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_themes44.Flex, {
3649
3359
  ml: "-5",
3650
3360
  mr: "2",
3651
3361
  align: "center",
3652
- children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_react_icons10.SpeakerModerateIcon, {
3362
+ children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_react_icons10.SpeakerModerateIcon, {
3653
3363
  style: {
3654
3364
  color: "var(--".concat(audioThreadContext.status === "recording" ? "mint" : "gray", "-12)")
3655
3365
  }
3656
3366
  })
3657
3367
  }),
3658
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_themes45.Flex, {
3368
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_themes44.Flex, {
3659
3369
  px: "2",
3660
3370
  py: "1",
3661
3371
  style: {
3662
3372
  backgroundColor: "var(--".concat(audioThreadContext.status === "recording" ? "mint" : "gray", "-4)"),
3663
3373
  borderRadius: "var(--radius-6)"
3664
3374
  },
3665
- children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(BarsVisualizer, {
3375
+ children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(BarsVisualizer, {
3666
3376
  visualizationAnalyser: audioThreadContext.recorderProps.visualizationAnalyser,
3667
3377
  color: audioThreadContext.status === "recording" ? "mint" : "gray",
3668
3378
  height: "20px",
@@ -3671,17 +3381,17 @@ var Form = function() {
3671
3381
  })
3672
3382
  ]
3673
3383
  }),
3674
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ActionButton, {})
3384
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(ActionButton, {})
3675
3385
  ]
3676
3386
  });
3677
3387
  };
3678
3388
  // src/components/threads/AudioThread/index.tsx
3679
- var import_jsx_runtime62 = require("react/jsx-runtime");
3389
+ var import_jsx_runtime60 = require("react/jsx-runtime");
3680
3390
  var AudioThread = function(props) {
3681
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(Root8, _object_spread_props(_object_spread({}, props), {
3391
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(Root8, _object_spread_props(_object_spread({}, props), {
3682
3392
  children: [
3683
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Visualization, {}),
3684
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Form, {})
3393
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Visualization, {}),
3394
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Form, {})
3685
3395
  ]
3686
3396
  }));
3687
3397
  };
@@ -3689,15 +3399,15 @@ AudioThread.Root = Root8;
3689
3399
  AudioThread.Visualization = Visualization;
3690
3400
  AudioThread.Form = Form;
3691
3401
  // src/components/threads/AudioThreadDialog/index.tsx
3692
- var import_jsx_runtime63 = require("react/jsx-runtime");
3402
+ var import_jsx_runtime61 = require("react/jsx-runtime");
3693
3403
  var AudioThreadDialog = function() {
3694
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(Root6, {
3404
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(Root6, {
3695
3405
  children: [
3696
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Content4.Root, {
3697
- children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(AudioThread, {})
3406
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Content4.Root, {
3407
+ children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(AudioThread, {})
3698
3408
  }),
3699
- /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Trigger, {
3700
- children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Button2, {})
3409
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Trigger, {
3410
+ children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Button2, {})
3701
3411
  })
3702
3412
  ]
3703
3413
  });
@@ -3707,20 +3417,20 @@ AudioThreadDialog.Trigger = Trigger;
3707
3417
  AudioThreadDialog.Button = Button2;
3708
3418
  AudioThreadDialog.Content = Content4;
3709
3419
  // src/components/suggestions/Suggestions/index.tsx
3710
- var import_react51 = require("react");
3420
+ var import_react44 = require("react");
3711
3421
  // src/components/suggestions/Suggestions/Content.tsx
3712
- var import_react50 = require("react");
3713
- var import_radash11 = require("radash");
3422
+ var import_react43 = require("react");
3423
+ var import_radash13 = require("radash");
3714
3424
  var import_react_children_utilities = require("react-children-utilities");
3715
- var import_themes47 = require("@radix-ui/themes");
3425
+ var import_themes46 = require("@radix-ui/themes");
3716
3426
  // src/components/suggestions/Suggestions/Item.tsx
3717
3427
  var import_react_icons11 = require("@radix-ui/react-icons");
3718
- var import_themes46 = require("@radix-ui/themes");
3719
- var import_jsx_runtime64 = require("react/jsx-runtime");
3428
+ var import_themes45 = require("@radix-ui/themes");
3429
+ var import_jsx_runtime62 = require("react/jsx-runtime");
3720
3430
  var Item = function(param) {
3721
3431
  var suggestion = param.suggestion, isDisabled = param.isDisabled;
3722
3432
  var _useCreateMessage = useCreateMessage(), createMessage = _useCreateMessage.createMessage, isPending = _useCreateMessage.isPending;
3723
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Content5, {
3433
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Content5, {
3724
3434
  onClick: function() {
3725
3435
  createMessage({
3726
3436
  // @ts-ignore-next-line
@@ -3734,7 +3444,7 @@ var Item = function(param) {
3734
3444
  };
3735
3445
  var Content5 = function(param) {
3736
3446
  var onClick = param.onClick, isDisabled = param.isDisabled, isPending = param.isPending, children = param.children;
3737
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_themes46.Button, {
3447
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_themes45.Button, {
3738
3448
  variant: "soft",
3739
3449
  onClick: onClick,
3740
3450
  disabled: isDisabled,
@@ -3744,14 +3454,14 @@ var Content5 = function(param) {
3744
3454
  flexShrink: 1
3745
3455
  },
3746
3456
  children: [
3747
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_themes46.Text, {
3457
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_themes45.Text, {
3748
3458
  size: "1",
3749
3459
  weight: "regular",
3750
3460
  children: children
3751
3461
  }),
3752
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_themes46.Spinner, {
3462
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_themes45.Spinner, {
3753
3463
  loading: isPending,
3754
- children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_react_icons11.ArrowUpIcon, {
3464
+ children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_react_icons11.ArrowUpIcon, {
3755
3465
  style: {
3756
3466
  flexShrink: 0
3757
3467
  }
@@ -3762,43 +3472,38 @@ var Content5 = function(param) {
3762
3472
  };
3763
3473
  Item.Content = Content5;
3764
3474
  // src/components/suggestions/Suggestions/Content.tsx
3765
- var import_jsx_runtime65 = require("react/jsx-runtime");
3475
+ var import_jsx_runtime63 = require("react/jsx-runtime");
3766
3476
  var Content6 = function(param) {
3767
3477
  var children = param.children;
3768
- var isRunActiveProps = useIsRunActive();
3769
- var suggestions = (0, import_react50.useMemo)(function() {
3478
+ var isMutatingMessage = useIsMutatingMessage();
3479
+ var suggestions = (0, import_react43.useMemo)(function() {
3770
3480
  return (0, import_react_children_utilities.onlyText)(children).split(/\r?\n/).filter(function(c) {
3771
- return !(0, import_radash11.isEmpty)(c);
3481
+ return !(0, import_radash13.isEmpty)(c);
3772
3482
  }).map(function(c) {
3773
3483
  return c.trim();
3774
3484
  });
3775
3485
  }, [
3776
3486
  children
3777
3487
  ]);
3778
- var isDisabled = (0, import_react50.useMemo)(function() {
3779
- return isRunActiveProps.isRunActive;
3780
- }, [
3781
- isRunActiveProps
3782
- ]);
3783
- if ((0, import_radash11.isEmpty)(suggestions)) return null;
3784
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_themes47.Flex, {
3488
+ if ((0, import_radash13.isEmpty)(suggestions)) return null;
3489
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_themes46.Flex, {
3785
3490
  gap: "2",
3786
3491
  py: "2",
3787
3492
  wrap: "wrap",
3788
3493
  children: suggestions.map(function(suggestion) {
3789
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Item, {
3494
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Item, {
3790
3495
  suggestion: suggestion,
3791
- isDisabled: isDisabled
3496
+ isDisabled: isMutatingMessage
3792
3497
  }, suggestion);
3793
3498
  })
3794
3499
  });
3795
3500
  };
3796
3501
  // src/components/suggestions/Suggestions/index.tsx
3797
- var import_jsx_runtime66 = require("react/jsx-runtime");
3502
+ var import_jsx_runtime64 = require("react/jsx-runtime");
3798
3503
  var Suggestions = function(param) {
3799
3504
  var children = param.children;
3800
3505
  var latestMessageProps = useLatestMessage();
3801
- var isDisabled = (0, import_react51.useMemo)(function() {
3506
+ var isDisabled = (0, import_react44.useMemo)(function() {
3802
3507
  var // @ts-ignore-next-line
3803
3508
  _latestMessageProps_latestMessage_metadata, _latestMessageProps_latestMessage;
3804
3509
  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;
@@ -3807,26 +3512,26 @@ var Suggestions = function(param) {
3807
3512
  ]);
3808
3513
  if (latestMessageProps.isLoading) return null;
3809
3514
  if (isDisabled) return null;
3810
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Content6, {
3515
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Content6, {
3811
3516
  children: children
3812
3517
  });
3813
3518
  };
3814
3519
  Suggestions.Item = Item;
3815
3520
  // src/components/markdown/MarkdownProvider/index.tsx
3816
- var import_react52 = require("react");
3817
- var import_jsx_runtime67 = require("react/jsx-runtime");
3521
+ var import_react45 = require("react");
3522
+ var import_jsx_runtime65 = require("react/jsx-runtime");
3818
3523
  var MarkdownProvider = function(_param) {
3819
3524
  var children = _param.children, rest = _object_without_properties(_param, [
3820
3525
  "children"
3821
3526
  ]);
3822
3527
  var prevMarkdownContext = useMarkdownContext();
3823
- var value = (0, import_react52.useMemo)(function() {
3528
+ var value = (0, import_react45.useMemo)(function() {
3824
3529
  return merge(prevMarkdownContext, rest);
3825
3530
  }, [
3826
3531
  rest,
3827
3532
  prevMarkdownContext
3828
3533
  ]);
3829
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(MarkdownContext.Provider, {
3534
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(MarkdownContext.Provider, {
3830
3535
  value: value,
3831
3536
  children: children
3832
3537
  });
@@ -3847,15 +3552,10 @@ var MarkdownProvider = function(_param) {
3847
3552
  ThreadDialog: ThreadDialog,
3848
3553
  ThreadDialogContext: ThreadDialogContext,
3849
3554
  useCreateMessage: useCreateMessage,
3850
- useCreateRun: useCreateRun,
3851
- useIsRunActive: useIsRunActive,
3852
3555
  useLatestMessage: useLatestMessage,
3853
- useLatestRun: useLatestRun,
3854
- useLifecycle: useLifecycle,
3855
3556
  useMarkdownContext: useMarkdownContext,
3856
3557
  useMessageContext: useMessageContext,
3857
3558
  useMessages: useMessages,
3858
- useRuns: useRuns,
3859
3559
  useSuperinterfaceContext: useSuperinterfaceContext,
3860
3560
  useThreadContext: useThreadContext
3861
3561
  });