@superinterface/react 2.15.8 → 2.16.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
@@ -160,6 +160,10 @@ function _to_array(arr) {
160
160
  function _to_consumable_array(arr) {
161
161
  return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
162
162
  }
163
+ function _type_of(obj) {
164
+ "@swc/helpers - typeof";
165
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
166
+ }
163
167
  function _unsupported_iterable_to_array(o, minLen) {
164
168
  if (!o) return;
165
169
  if (typeof o === "string") return _array_like_to_array(o, minLen);
@@ -278,7 +282,7 @@ var __export = function(target, all) {
278
282
  });
279
283
  };
280
284
  var __copyProps = function(to, from, except, desc) {
281
- if (from && typeof from === "object" || typeof from === "function") {
285
+ if (from && (typeof from === "undefined" ? "undefined" : _type_of(from)) === "object" || typeof from === "function") {
282
286
  var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
283
287
  try {
284
288
  var _loop = function() {
@@ -501,7 +505,7 @@ var SuperinterfaceProvider = function(param) {
501
505
  });
502
506
  };
503
507
  // src/components/threads/Thread/Messages/index.tsx
504
- var import_themes32 = require("@radix-ui/themes");
508
+ var import_themes31 = require("@radix-ui/themes");
505
509
  // src/components/threads/Thread/Messages/Content/index.tsx
506
510
  var import_react26 = require("react");
507
511
  // src/hooks/messages/useMessages/index.tsx
@@ -815,7 +819,7 @@ var useToasts = function() {
815
819
  };
816
820
  // src/components/threads/Thread/Messages/Content/MessageGroup/index.tsx
817
821
  var import_react25 = require("react");
818
- var import_themes29 = require("@radix-ui/themes");
822
+ var import_themes28 = require("@radix-ui/themes");
819
823
  // src/components/messageGroups/MessageGroupBase/AssistantAvatar.tsx
820
824
  var import_react11 = require("react");
821
825
  var import_themes5 = require("@radix-ui/themes");
@@ -874,11 +878,11 @@ var UserAvatar = function() {
874
878
  });
875
879
  };
876
880
  // src/components/threads/Thread/Messages/Content/MessageGroup/Content/index.tsx
877
- var import_themes28 = require("@radix-ui/themes");
881
+ var import_themes27 = require("@radix-ui/themes");
878
882
  // src/components/threads/Thread/Message/index.tsx
879
883
  var import_react24 = require("react");
880
884
  var import_radash3 = require("radash");
881
- var import_themes27 = require("@radix-ui/themes");
885
+ var import_themes26 = require("@radix-ui/themes");
882
886
  // src/components/skeletons/StartingContentSkeleton/index.tsx
883
887
  var import_themes8 = require("@radix-ui/themes");
884
888
  var import_jsx_runtime9 = require("react/jsx-runtime");
@@ -895,13 +899,11 @@ var StartingContentSkeleton = function() {
895
899
  });
896
900
  };
897
901
  // src/components/runSteps/RunSteps/index.tsx
898
- var import_themes17 = require("@radix-ui/themes");
902
+ var import_themes15 = require("@radix-ui/themes");
899
903
  var import_react19 = require("react");
900
904
  // src/contexts/components/ComponentsContext/index.tsx
901
905
  var import_react18 = require("react");
902
906
  // src/components/runSteps/RunStep/ToolCalls/index.tsx
903
- var import_themes16 = require("@radix-ui/themes");
904
- // src/components/runSteps/RunStep/ToolCalls/ToolCall/index.tsx
905
907
  var import_themes14 = require("@radix-ui/themes");
906
908
  // src/components/runSteps/RunStep/ToolCalls/ToolCall/Fn/index.tsx
907
909
  var import_react17 = require("react");
@@ -918,16 +920,14 @@ var ToolCallBase = function(param) {
918
920
  return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_themes9.Flex, {
919
921
  py: "1",
920
922
  ml: "-2",
921
- children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_themes9.Popover.Trigger, {
922
- children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_themes9.Button, {
923
- size: "1",
924
- color: "gold",
925
- variant: "outline",
926
- style: {
927
- boxShadow: "none"
928
- },
929
- children: children
930
- })
923
+ children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_themes9.Button, {
924
+ size: "1",
925
+ color: "gold",
926
+ variant: "outline",
927
+ style: {
928
+ boxShadow: "none"
929
+ },
930
+ children: children
931
931
  })
932
932
  });
933
933
  };
@@ -941,10 +941,10 @@ var ToolCallTitle = function(param) {
941
941
  children: children
942
942
  });
943
943
  };
944
- // src/components/functions/FunctionBase/Icon.tsx
944
+ // src/components/toolCalls/ToolCallBase/ToolCallIcon.tsx
945
945
  var import_react_icons3 = require("@radix-ui/react-icons");
946
946
  var import_jsx_runtime12 = require("react/jsx-runtime");
947
- var Icon = function(param) {
947
+ var ToolCallIcon = function(param) {
948
948
  var runStep = param.runStep;
949
949
  if (runStep.completed_at) {
950
950
  return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_icons3.CheckCircledIcon, {});
@@ -1011,15 +1011,17 @@ var FunctionBase = function(param) {
1011
1011
  var fn = param.fn, runStep = param.runStep, title2 = param.title;
1012
1012
  return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_themes12.Popover.Root, {
1013
1013
  children: [
1014
- /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(ToolCallBase, {
1015
- children: [
1016
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Icon, {
1017
- runStep: runStep
1018
- }),
1019
- /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ToolCallTitle, {
1020
- children: title2
1021
- })
1022
- ]
1014
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_themes12.Popover.Trigger, {
1015
+ children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(ToolCallBase, {
1016
+ children: [
1017
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ToolCallIcon, {
1018
+ runStep: runStep
1019
+ }),
1020
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ToolCallTitle, {
1021
+ children: title2
1022
+ })
1023
+ ]
1024
+ })
1023
1025
  }),
1024
1026
  /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_themes12.Popover.Content, {
1025
1027
  style: {
@@ -1068,55 +1070,101 @@ var Fn = function(param) {
1068
1070
  runStep: runStep
1069
1071
  });
1070
1072
  };
1071
- // src/components/runSteps/RunStep/ToolCalls/ToolCall/CodeInterpreter/index.tsx
1072
- var import_themes13 = require("@radix-ui/themes");
1073
+ // src/components/runSteps/RunStep/ToolCalls/ToolCall/CodeInterpreter.tsx
1073
1074
  var import_jsx_runtime17 = require("react/jsx-runtime");
1074
1075
  var CodeInterpreter = function(param) {
1075
- var codeInterpreter = param.codeInterpreter;
1076
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_themes13.Flex, {
1077
- children: codeInterpreter.input
1076
+ var runStep = param.runStep, toolCall = param.toolCall;
1077
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(ToolCallBase, {
1078
+ children: [
1079
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ToolCallIcon, {
1080
+ runStep: runStep
1081
+ }),
1082
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ToolCallTitle, {
1083
+ children: "Using code interpreter"
1084
+ })
1085
+ ]
1078
1086
  });
1079
1087
  };
1080
- // src/components/runSteps/RunStep/ToolCalls/ToolCall/index.tsx
1088
+ // src/components/runSteps/RunStep/ToolCalls/ToolCall/FileSearch.tsx
1081
1089
  var import_jsx_runtime18 = require("react/jsx-runtime");
1090
+ var FileSearch = function(param) {
1091
+ var runStep = param.runStep, toolCall = param.toolCall;
1092
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(ToolCallBase, {
1093
+ children: [
1094
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ToolCallIcon, {
1095
+ runStep: runStep
1096
+ }),
1097
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ToolCallTitle, {
1098
+ children: "Searching files"
1099
+ })
1100
+ ]
1101
+ });
1102
+ };
1103
+ // src/components/runSteps/RunStep/ToolCalls/ToolCall/Fallback.tsx
1104
+ var import_jsx_runtime19 = require("react/jsx-runtime");
1105
+ var Fallback = function(param) {
1106
+ var runStep = param.runStep, toolCall = param.toolCall;
1107
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(ToolCallBase, {
1108
+ children: [
1109
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(ToolCallIcon, {
1110
+ runStep: runStep
1111
+ }),
1112
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(ToolCallTitle, {
1113
+ children: [
1114
+ "Using tool: ",
1115
+ toolCall.type
1116
+ ]
1117
+ })
1118
+ ]
1119
+ });
1120
+ };
1121
+ // src/components/runSteps/RunStep/ToolCalls/ToolCall/index.tsx
1122
+ var import_jsx_runtime20 = require("react/jsx-runtime");
1082
1123
  var ToolCall = function(param) {
1083
1124
  var toolCall = param.toolCall, runStep = param.runStep;
1084
1125
  if (toolCall.type === "function") {
1085
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Fn, {
1126
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Fn, {
1086
1127
  fn: toolCall.function,
1087
1128
  runStep: runStep
1088
1129
  });
1089
1130
  }
1090
1131
  if (toolCall.type === "code_interpreter") {
1091
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(CodeInterpreter, {
1092
- codeInterpreter: toolCall.code_interpreter,
1132
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(CodeInterpreter, {
1133
+ toolCall: toolCall,
1093
1134
  runStep: runStep
1094
1135
  });
1095
1136
  }
1096
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_themes14.Flex, {
1097
- children: toolCall.type
1137
+ if (toolCall.type === "file_search") {
1138
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(FileSearch, {
1139
+ toolCall: toolCall,
1140
+ runStep: runStep
1141
+ });
1142
+ }
1143
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Fallback, {
1144
+ toolCall: toolCall,
1145
+ runStep: runStep
1098
1146
  });
1099
1147
  };
1100
1148
  // src/components/runSteps/RunStep/ToolCalls/Starting/index.tsx
1101
- var import_themes15 = require("@radix-ui/themes");
1149
+ var import_themes13 = require("@radix-ui/themes");
1102
1150
  var import_react_icons4 = require("@radix-ui/react-icons");
1103
- var import_jsx_runtime19 = require("react/jsx-runtime");
1151
+ var import_jsx_runtime21 = require("react/jsx-runtime");
1104
1152
  var Starting = function() {
1105
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_themes15.Popover.Root, {
1153
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_themes13.Popover.Root, {
1106
1154
  children: [
1107
- /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(ToolCallBase, {
1155
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(ToolCallBase, {
1108
1156
  children: [
1109
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react_icons4.CircleIcon, {}),
1110
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(ToolCallTitle, {
1157
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_react_icons4.CircleIcon, {}),
1158
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(ToolCallTitle, {
1111
1159
  children: "Starting actions"
1112
1160
  })
1113
1161
  ]
1114
1162
  }),
1115
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_themes15.Popover.Content, {
1163
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_themes13.Popover.Content, {
1116
1164
  style: {
1117
1165
  maxHeight: "500px"
1118
1166
  },
1119
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_themes15.Text, {
1167
+ children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_themes13.Text, {
1120
1168
  children: "Getting ready to connect to domain API"
1121
1169
  })
1122
1170
  })
@@ -1124,21 +1172,21 @@ var Starting = function() {
1124
1172
  });
1125
1173
  };
1126
1174
  // src/components/runSteps/RunStep/ToolCalls/index.tsx
1127
- var import_jsx_runtime20 = require("react/jsx-runtime");
1175
+ var import_jsx_runtime22 = require("react/jsx-runtime");
1128
1176
  var Root = function(param) {
1129
1177
  var children = param.children;
1130
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_themes16.Flex, {
1178
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_themes14.Flex, {
1131
1179
  direction: "column",
1132
1180
  children: children
1133
1181
  });
1134
1182
  };
1135
1183
  var ToolCalls = function(param) {
1136
1184
  var stepDetails = param.stepDetails, runStep = param.runStep;
1137
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(Root, {
1185
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(Root, {
1138
1186
  children: [
1139
- !stepDetails.tool_calls.length && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Starting, {}),
1187
+ !stepDetails.tool_calls.length && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Starting, {}),
1140
1188
  stepDetails.tool_calls.map(function(toolCall) {
1141
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(ToolCall, {
1189
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ToolCall, {
1142
1190
  toolCall: toolCall,
1143
1191
  runStep: runStep
1144
1192
  }, toolCall.id);
@@ -1150,11 +1198,11 @@ ToolCalls.Root = Root;
1150
1198
  ToolCalls.Starting = Starting;
1151
1199
  ToolCalls.ToolCall = ToolCall;
1152
1200
  // src/components/runSteps/RunStep/index.tsx
1153
- var import_jsx_runtime21 = require("react/jsx-runtime");
1201
+ var import_jsx_runtime23 = require("react/jsx-runtime");
1154
1202
  var RunStep = function(param) {
1155
1203
  var runStep = param.runStep;
1156
1204
  if (runStep.step_details.type === "tool_calls") {
1157
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(ToolCalls, {
1205
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(ToolCalls, {
1158
1206
  stepDetails: runStep.step_details,
1159
1207
  runStep: runStep
1160
1208
  });
@@ -1169,15 +1217,15 @@ var ComponentsContext = (0, import_react18.createContext)({
1169
1217
  }
1170
1218
  });
1171
1219
  // src/components/runSteps/RunSteps/index.tsx
1172
- var import_jsx_runtime22 = require("react/jsx-runtime");
1220
+ var import_jsx_runtime24 = require("react/jsx-runtime");
1173
1221
  var RunSteps = function(param) {
1174
1222
  var runSteps = param.runSteps;
1175
1223
  var componentsContext = (0, import_react19.useContext)(ComponentsContext);
1176
1224
  var Component = componentsContext.components.RunStep;
1177
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_themes17.Flex, {
1225
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_themes15.Flex, {
1178
1226
  direction: "column-reverse",
1179
1227
  children: runSteps.map(function(runStep) {
1180
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(Component, {
1228
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Component, {
1181
1229
  runStep: runStep
1182
1230
  }, runStep.id);
1183
1231
  })
@@ -1215,13 +1263,13 @@ var import_react23 = require("react");
1215
1263
  // src/contexts/markdown/MarkdownContext/index.ts
1216
1264
  var import_react22 = require("react");
1217
1265
  // src/contexts/markdown/MarkdownContext/lib/components/Paragraph.tsx
1218
- var import_themes18 = require("@radix-ui/themes");
1219
- var import_jsx_runtime23 = require("react/jsx-runtime");
1266
+ var import_themes16 = require("@radix-ui/themes");
1267
+ var import_jsx_runtime25 = require("react/jsx-runtime");
1220
1268
  var Paragraph = function(param) {
1221
1269
  var children = param.children;
1222
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_themes18.Box, {
1270
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_themes16.Box, {
1223
1271
  pb: "3",
1224
- children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_themes18.Text, {
1272
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_themes16.Text, {
1225
1273
  size: "3",
1226
1274
  style: {
1227
1275
  whiteSpace: "pre-line",
@@ -1232,24 +1280,24 @@ var Paragraph = function(param) {
1232
1280
  });
1233
1281
  };
1234
1282
  // src/contexts/markdown/MarkdownContext/lib/components/Link.tsx
1235
- var import_themes19 = require("@radix-ui/themes");
1236
- var import_jsx_runtime24 = require("react/jsx-runtime");
1283
+ var import_themes17 = require("@radix-ui/themes");
1284
+ var import_jsx_runtime26 = require("react/jsx-runtime");
1237
1285
  var Link = function(param) {
1238
1286
  var children = param.children, href = param.href;
1239
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_themes19.Link, {
1287
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_themes17.Link, {
1240
1288
  href: href,
1241
1289
  children: children
1242
1290
  });
1243
1291
  };
1244
1292
  // src/contexts/markdown/MarkdownContext/lib/components/UnorderedList.tsx
1245
- var import_themes20 = require("@radix-ui/themes");
1246
- var import_jsx_runtime25 = require("react/jsx-runtime");
1293
+ var import_themes18 = require("@radix-ui/themes");
1294
+ var import_jsx_runtime27 = require("react/jsx-runtime");
1247
1295
  var UnorderedList = function(param) {
1248
1296
  var children = param.children;
1249
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_themes20.Box, {
1297
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_themes18.Box, {
1250
1298
  pb: "3",
1251
1299
  asChild: true,
1252
- children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("ul", {
1300
+ children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("ul", {
1253
1301
  style: {
1254
1302
  listStylePosition: "inside"
1255
1303
  },
@@ -1258,14 +1306,14 @@ var UnorderedList = function(param) {
1258
1306
  });
1259
1307
  };
1260
1308
  // src/contexts/markdown/MarkdownContext/lib/components/OrderedList.tsx
1261
- var import_themes21 = require("@radix-ui/themes");
1262
- var import_jsx_runtime26 = require("react/jsx-runtime");
1309
+ var import_themes19 = require("@radix-ui/themes");
1310
+ var import_jsx_runtime28 = require("react/jsx-runtime");
1263
1311
  var OrderedList = function(param) {
1264
1312
  var children = param.children;
1265
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_themes21.Box, {
1313
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_themes19.Box, {
1266
1314
  pb: "3",
1267
1315
  asChild: true,
1268
- children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("ol", {
1316
+ children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("ol", {
1269
1317
  style: {
1270
1318
  listStylePosition: "inside"
1271
1319
  },
@@ -1274,32 +1322,32 @@ var OrderedList = function(param) {
1274
1322
  });
1275
1323
  };
1276
1324
  // src/contexts/markdown/MarkdownContext/lib/components/ListItem.tsx
1277
- var import_themes22 = require("@radix-ui/themes");
1278
- var import_jsx_runtime27 = require("react/jsx-runtime");
1325
+ var import_themes20 = require("@radix-ui/themes");
1326
+ var import_jsx_runtime29 = require("react/jsx-runtime");
1279
1327
  var ListItem = function(param) {
1280
1328
  var children = param.children;
1281
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_themes22.Box, {
1329
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_themes20.Box, {
1282
1330
  pb: "1",
1283
- children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("li", {
1331
+ children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("li", {
1284
1332
  children: children
1285
1333
  })
1286
1334
  });
1287
1335
  };
1288
1336
  // src/contexts/markdown/MarkdownContext/lib/components/Strong.tsx
1289
- var import_themes23 = require("@radix-ui/themes");
1290
- var import_jsx_runtime28 = require("react/jsx-runtime");
1337
+ var import_themes21 = require("@radix-ui/themes");
1338
+ var import_jsx_runtime30 = require("react/jsx-runtime");
1291
1339
  var Strong = function(param) {
1292
1340
  var children = param.children;
1293
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_themes23.Strong, {
1341
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_themes21.Strong, {
1294
1342
  children: children
1295
1343
  });
1296
1344
  };
1297
1345
  // src/contexts/markdown/MarkdownContext/lib/components/Pre.tsx
1298
- var import_themes24 = require("@radix-ui/themes");
1299
- var import_jsx_runtime29 = require("react/jsx-runtime");
1346
+ var import_themes22 = require("@radix-ui/themes");
1347
+ var import_jsx_runtime31 = require("react/jsx-runtime");
1300
1348
  var Pre = function(param) {
1301
1349
  var children = param.children;
1302
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_themes24.Box, {
1350
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_themes22.Box, {
1303
1351
  style: {
1304
1352
  whiteSpace: "pre-wrap",
1305
1353
  wordBreak: "break-word"
@@ -1308,21 +1356,21 @@ var Pre = function(param) {
1308
1356
  });
1309
1357
  };
1310
1358
  // src/contexts/markdown/MarkdownContext/lib/components/Code.tsx
1311
- var import_themes25 = require("@radix-ui/themes");
1312
- var import_jsx_runtime30 = require("react/jsx-runtime");
1359
+ var import_themes23 = require("@radix-ui/themes");
1360
+ var import_jsx_runtime32 = require("react/jsx-runtime");
1313
1361
  var Code2 = function(param) {
1314
1362
  var children = param.children;
1315
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_themes25.Code, {
1363
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_themes23.Code, {
1316
1364
  children: children
1317
1365
  });
1318
1366
  };
1319
1367
  // src/contexts/markdown/MarkdownContext/lib/components/Img.tsx
1320
- var import_themes26 = require("@radix-ui/themes");
1321
- var import_jsx_runtime31 = require("react/jsx-runtime");
1368
+ var import_themes24 = require("@radix-ui/themes");
1369
+ var import_jsx_runtime33 = require("react/jsx-runtime");
1322
1370
  var Img = function(props) {
1323
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_themes26.Box, {
1371
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_themes24.Box, {
1324
1372
  pb: "3",
1325
- children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("img", _object_spread_props(_object_spread({}, props), {
1373
+ children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("img", _object_spread_props(_object_spread({}, props), {
1326
1374
  style: {
1327
1375
  maxWidth: "100%",
1328
1376
  height: "auto"
@@ -1354,16 +1402,39 @@ var useMarkdownContext = function() {
1354
1402
  return (0, import_react23.useContext)(MarkdownContext);
1355
1403
  };
1356
1404
  // src/components/threads/Thread/Message/TextContent.tsx
1357
- var import_jsx_runtime32 = require("react/jsx-runtime");
1405
+ var import_jsx_runtime34 = require("react/jsx-runtime");
1358
1406
  var TextContent = function(param) {
1359
1407
  var content = param.content;
1360
1408
  var markdownContext = useMarkdownContext();
1361
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_react_markdown.default, _object_spread_props(_object_spread({}, markdownContext), {
1409
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_react_markdown.default, _object_spread_props(_object_spread({}, markdownContext), {
1362
1410
  children: content.text.value
1363
1411
  }));
1364
1412
  };
1413
+ // src/components/threads/Thread/Message/Attachments/index.tsx
1414
+ var import_themes25 = require("@radix-ui/themes");
1415
+ var import_react_icons5 = require("@radix-ui/react-icons");
1416
+ var import_jsx_runtime35 = require("react/jsx-runtime");
1417
+ var Attachments = function(param) {
1418
+ var message = param.message;
1419
+ var _message_attachments;
1420
+ if (!((_message_attachments = message.attachments) === null || _message_attachments === void 0 ? void 0 : _message_attachments.length)) return null;
1421
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_themes25.Flex, {
1422
+ align: "start",
1423
+ pb: "1",
1424
+ children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_themes25.Badge, {
1425
+ color: "gray",
1426
+ variant: "surface",
1427
+ children: [
1428
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_icons5.FileIcon, {}),
1429
+ message.attachments.length,
1430
+ " file",
1431
+ message.attachments.length > 1 ? "s" : ""
1432
+ ]
1433
+ })
1434
+ });
1435
+ };
1365
1436
  // src/components/threads/Thread/Message/index.tsx
1366
- var import_jsx_runtime33 = require("react/jsx-runtime");
1437
+ var import_jsx_runtime36 = require("react/jsx-runtime");
1367
1438
  var Message = function(param) {
1368
1439
  var message = param.message;
1369
1440
  var _ref = _sliced_to_array((0, import_react24.useMemo)(function() {
@@ -1408,65 +1479,68 @@ var Message = function(param) {
1408
1479
  }, [
1409
1480
  message
1410
1481
  ]);
1411
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Provider, {
1482
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Provider, {
1412
1483
  value: {
1413
1484
  message: message
1414
1485
  },
1415
- children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_themes27.Box, {
1486
+ children: /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_themes26.Box, {
1416
1487
  children: [
1417
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(RunSteps, {
1488
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(RunSteps, {
1418
1489
  runSteps: olderRunSteps
1419
1490
  }),
1420
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_themes27.Box, {
1491
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_themes26.Box, {
1421
1492
  children: [
1493
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Attachments, {
1494
+ message: message
1495
+ }),
1422
1496
  message.content.map(function(content, index) {
1423
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_react24.Fragment, {
1424
- children: content.type === "text" && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(TextContent, {
1497
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_react24.Fragment, {
1498
+ children: content.type === "text" && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(TextContent, {
1425
1499
  content: content
1426
1500
  })
1427
1501
  }, index);
1428
1502
  }),
1429
- isInProgress && (0, import_radash3.isEmpty)(laterRunSteps) && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(StartingContentSkeleton, {})
1503
+ isInProgress && (0, import_radash3.isEmpty)(laterRunSteps) && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(StartingContentSkeleton, {})
1430
1504
  ]
1431
1505
  }),
1432
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(RunSteps, {
1506
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(RunSteps, {
1433
1507
  runSteps: laterRunSteps
1434
1508
  }),
1435
- isInProgress && !(0, import_radash3.isEmpty)(laterRunSteps) && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_themes27.Box, {
1436
- children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(StartingContentSkeleton, {})
1509
+ isInProgress && !(0, import_radash3.isEmpty)(laterRunSteps) && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_themes26.Box, {
1510
+ children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(StartingContentSkeleton, {})
1437
1511
  })
1438
1512
  ]
1439
1513
  })
1440
1514
  });
1441
1515
  };
1442
1516
  // src/components/threads/Thread/Messages/Content/MessageGroup/Content/index.tsx
1443
- var import_jsx_runtime34 = require("react/jsx-runtime");
1517
+ var import_jsx_runtime37 = require("react/jsx-runtime");
1444
1518
  var Content2 = function(param) {
1445
1519
  var messageGroup = param.messageGroup;
1446
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_themes28.Flex, {
1520
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_themes27.Flex, {
1447
1521
  direction: "column-reverse",
1448
1522
  children: messageGroup.messages.map(function(message) {
1449
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Message, {
1523
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Message, {
1450
1524
  message: message
1451
1525
  }, message.id);
1452
1526
  })
1453
1527
  });
1454
1528
  };
1455
1529
  // src/components/threads/Thread/Messages/Content/MessageGroup/index.tsx
1456
- var import_jsx_runtime35 = require("react/jsx-runtime");
1530
+ var import_jsx_runtime38 = require("react/jsx-runtime");
1457
1531
  var MessageGroup = function(param) {
1458
1532
  var messageGroup = param.messageGroup;
1459
1533
  var assistantNameContext = (0, import_react25.useContext)(AssistantNameContext);
1460
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(MessageGroupBase, {
1534
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(MessageGroupBase, {
1461
1535
  children: [
1462
- messageGroup.role === "user" ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(UserAvatar, {}) : /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(AssistantAvatar, {}),
1463
- /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_themes29.Box, {
1536
+ messageGroup.role === "user" ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(UserAvatar, {}) : /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(AssistantAvatar, {}),
1537
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_themes28.Box, {
1464
1538
  flexGrow: "1",
1465
1539
  children: [
1466
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Name, {
1540
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Name, {
1467
1541
  children: messageGroup.role === "user" ? "You" : assistantNameContext
1468
1542
  }),
1469
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Content2, {
1543
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Content2, {
1470
1544
  messageGroup: messageGroup
1471
1545
  })
1472
1546
  ]
@@ -1475,7 +1549,7 @@ var MessageGroup = function(param) {
1475
1549
  });
1476
1550
  };
1477
1551
  // src/components/threads/Thread/Messages/Content/index.tsx
1478
- var import_jsx_runtime36 = require("react/jsx-runtime");
1552
+ var import_jsx_runtime39 = require("react/jsx-runtime");
1479
1553
  var Content3 = function() {
1480
1554
  var _useMessages = useMessages(), messages2 = _useMessages.messages, isLoading = _useMessages.isLoading, isLoadingError = _useMessages.isLoadingError;
1481
1555
  var addToast = useToasts().addToast;
@@ -1494,11 +1568,11 @@ var Content3 = function() {
1494
1568
  addToast
1495
1569
  ]);
1496
1570
  if (isLoading || isLoadingError) {
1497
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(MessagesSkeleton, {});
1571
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(MessagesSkeleton, {});
1498
1572
  }
1499
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_jsx_runtime36.Fragment, {
1573
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_jsx_runtime39.Fragment, {
1500
1574
  children: messageGroups2.map(function(messageGroup) {
1501
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(MessageGroup, {
1575
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(MessageGroup, {
1502
1576
  messageGroup: messageGroup
1503
1577
  }, messageGroup.id);
1504
1578
  })
@@ -1508,21 +1582,21 @@ var Content3 = function() {
1508
1582
  var import_react29 = require("react");
1509
1583
  // src/components/skeletons/StartingSkeleton/index.tsx
1510
1584
  var import_react27 = require("react");
1511
- var import_themes30 = require("@radix-ui/themes");
1512
- var import_jsx_runtime37 = require("react/jsx-runtime");
1585
+ var import_themes29 = require("@radix-ui/themes");
1586
+ var import_jsx_runtime40 = require("react/jsx-runtime");
1513
1587
  var StartingSkeleton = function(param) {
1514
1588
  var children = param.children;
1515
1589
  var assistantNameContext = (0, import_react27.useContext)(AssistantNameContext);
1516
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(MessageGroupBase, {
1590
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(MessageGroupBase, {
1517
1591
  children: [
1518
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(AssistantAvatar, {}),
1519
- /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(import_themes30.Box, {
1592
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(AssistantAvatar, {}),
1593
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_themes29.Box, {
1520
1594
  children: [
1521
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Name, {
1595
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Name, {
1522
1596
  children: assistantNameContext
1523
1597
  }),
1524
1598
  children,
1525
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(StartingContentSkeleton, {})
1599
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(StartingContentSkeleton, {})
1526
1600
  ]
1527
1601
  })
1528
1602
  ]
@@ -1547,7 +1621,7 @@ var isOptimistic = function(param) {
1547
1621
  return import_lodash4.default.startsWith(id, "-");
1548
1622
  };
1549
1623
  // src/components/threads/Thread/Messages/Progress/index.tsx
1550
- var import_jsx_runtime38 = require("react/jsx-runtime");
1624
+ var import_jsx_runtime41 = require("react/jsx-runtime");
1551
1625
  var Progress = function() {
1552
1626
  var latestMessage = useLatestMessage().latestMessage;
1553
1627
  var isMutatingMessage = useIsMutatingMessage();
@@ -1565,10 +1639,10 @@ var Progress = function() {
1565
1639
  isMutatingMessage
1566
1640
  ]);
1567
1641
  if (!isVisible) return null;
1568
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(StartingSkeleton, {});
1642
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(StartingSkeleton, {});
1569
1643
  };
1570
1644
  // src/components/threads/Thread/Messages/Root/index.tsx
1571
- var import_themes31 = require("@radix-ui/themes");
1645
+ var import_themes30 = require("@radix-ui/themes");
1572
1646
  // src/hooks/misc/useInfiniteScroll/index.tsx
1573
1647
  var import_react31 = require("react");
1574
1648
  var import_react_intersection_observer = require("react-intersection-observer");
@@ -1624,7 +1698,7 @@ var useInfiniteScroll = function(param) {
1624
1698
  };
1625
1699
  };
1626
1700
  // src/components/threads/Thread/Messages/Root/index.tsx
1627
- var import_jsx_runtime39 = require("react/jsx-runtime");
1701
+ var import_jsx_runtime42 = require("react/jsx-runtime");
1628
1702
  var Root2 = function(param) {
1629
1703
  var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
1630
1704
  var _useMessages = useMessages(), isFetchingNextPage = _useMessages.isFetchingNextPage, hasNextPage = _useMessages.hasNextPage, fetchNextPage = _useMessages.fetchNextPage;
@@ -1633,7 +1707,7 @@ var Root2 = function(param) {
1633
1707
  hasNextPage: hasNextPage,
1634
1708
  fetchNextPage: fetchNextPage
1635
1709
  }), containerRef = _useInfiniteScroll.containerRef, loaderRef = _useInfiniteScroll.loaderRef;
1636
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_themes31.Flex, {
1710
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(import_themes30.Flex, {
1637
1711
  ref: containerRef,
1638
1712
  direction: "column-reverse",
1639
1713
  flexGrow: "1",
@@ -1642,10 +1716,10 @@ var Root2 = function(param) {
1642
1716
  }),
1643
1717
  children: [
1644
1718
  children,
1645
- hasNextPage && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_themes31.Flex, {
1719
+ hasNextPage && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes30.Flex, {
1646
1720
  ref: loaderRef
1647
1721
  }),
1648
- /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_themes31.Flex, {
1722
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes30.Flex, {
1649
1723
  flexShrink: "0",
1650
1724
  flexGrow: "1"
1651
1725
  })
@@ -1653,30 +1727,30 @@ var Root2 = function(param) {
1653
1727
  });
1654
1728
  };
1655
1729
  // src/components/threads/Thread/Messages/NextPageSkeleton.tsx
1656
- var import_jsx_runtime40 = require("react/jsx-runtime");
1730
+ var import_jsx_runtime43 = require("react/jsx-runtime");
1657
1731
  var NextPageSkeleton = function() {
1658
1732
  var hasNextPage = useMessages().hasNextPage;
1659
1733
  if (!hasNextPage) {
1660
1734
  return null;
1661
1735
  }
1662
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(MessagesSkeleton, {});
1736
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(MessagesSkeleton, {});
1663
1737
  };
1664
1738
  // src/components/threads/Thread/Messages/index.tsx
1665
- var import_jsx_runtime41 = require("react/jsx-runtime");
1739
+ var import_jsx_runtime44 = require("react/jsx-runtime");
1666
1740
  var Messages = function(param) {
1667
1741
  var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
1668
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Root2, {
1742
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Root2, {
1669
1743
  style: style,
1670
1744
  children: [
1671
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_themes32.Flex, {
1745
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_themes31.Flex, {
1672
1746
  flexShrink: "0",
1673
1747
  height: "var(--space-3)"
1674
1748
  }),
1675
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Progress, {}),
1749
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Progress, {}),
1676
1750
  children,
1677
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Content3, {}),
1678
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(NextPageSkeleton, {}),
1679
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_themes32.Flex, {
1751
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Content3, {}),
1752
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(NextPageSkeleton, {}),
1753
+ /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_themes31.Flex, {
1680
1754
  flexShrink: "0",
1681
1755
  flexGrow: "1"
1682
1756
  })
@@ -1686,49 +1760,65 @@ var Messages = function(param) {
1686
1760
  Messages.Root = Root2;
1687
1761
  Messages.Message = Message;
1688
1762
  Messages.NextPageSkeleton = NextPageSkeleton;
1689
- // src/components/threads/Thread/MessageForm/index.tsx
1690
- var import_themes36 = require("@radix-ui/themes");
1691
1763
  // src/components/threads/Thread/MessageForm/Submit/index.tsx
1692
- var import_react_icons5 = require("@radix-ui/react-icons");
1693
- var import_themes33 = require("@radix-ui/themes");
1764
+ var import_react_icons6 = require("@radix-ui/react-icons");
1765
+ var import_themes32 = require("@radix-ui/themes");
1694
1766
  // src/hooks/messages/useMessageFormContext/index.ts
1695
1767
  var import_react33 = require("react");
1696
1768
  // src/contexts/messages/MessageFormContext/index.ts
1697
1769
  var import_react32 = require("react");
1698
1770
  var MessageFormContext = (0, import_react32.createContext)({
1699
1771
  isDisabled: false,
1700
- isLoading: false
1772
+ isLoading: false,
1773
+ files: [],
1774
+ setFiles: function() {},
1775
+ isFileLoading: false
1701
1776
  });
1702
1777
  // src/hooks/messages/useMessageFormContext/index.ts
1703
1778
  var useMessageFormContext = function() {
1704
1779
  return (0, import_react33.useContext)(MessageFormContext);
1705
1780
  };
1706
1781
  // src/components/threads/Thread/MessageForm/Submit/index.tsx
1707
- var import_jsx_runtime42 = require("react/jsx-runtime");
1708
- var Submit = function() {
1782
+ var import_jsx_runtime45 = require("react/jsx-runtime");
1783
+ var Root3 = function(param) {
1784
+ var children = param.children;
1785
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_themes32.Flex, {
1786
+ flexShrink: "0",
1787
+ align: "end",
1788
+ children: children
1789
+ });
1790
+ };
1791
+ var Button2 = function() {
1709
1792
  var superinterfaceContext = useSuperinterfaceContext();
1710
- var _useMessageFormContext = useMessageFormContext(), isDisabled = _useMessageFormContext.isDisabled, isLoading = _useMessageFormContext.isLoading;
1793
+ var _useMessageFormContext = useMessageFormContext(), isDisabled = _useMessageFormContext.isDisabled, isLoading = _useMessageFormContext.isLoading, isFileLoading = _useMessageFormContext.isFileLoading;
1711
1794
  if (isLoading) {
1712
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes33.IconButton, {
1795
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_themes32.IconButton, {
1713
1796
  type: "button",
1714
1797
  onClick: function() {
1715
1798
  var _superinterfaceContext_createMessageAbortControllerRef_current;
1716
1799
  return (_superinterfaceContext_createMessageAbortControllerRef_current = superinterfaceContext.createMessageAbortControllerRef.current) === null || _superinterfaceContext_createMessageAbortControllerRef_current === void 0 ? void 0 : _superinterfaceContext_createMessageAbortControllerRef_current.abort();
1717
1800
  },
1718
- children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_react_icons5.StopIcon, {})
1801
+ children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_icons6.StopIcon, {})
1719
1802
  });
1720
1803
  }
1721
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes33.IconButton, {
1804
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_themes32.IconButton, {
1722
1805
  type: "submit",
1723
- disabled: isDisabled,
1724
- children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_react_icons5.ArrowUpIcon, {})
1806
+ disabled: isDisabled || isFileLoading,
1807
+ children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_icons6.ArrowUpIcon, {})
1808
+ });
1809
+ };
1810
+ var Submit = function() {
1811
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Root3, {
1812
+ children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Button2, {})
1725
1813
  });
1726
1814
  };
1815
+ Submit.Root = Root3;
1816
+ Submit.Button = Button2;
1727
1817
  // src/components/threads/Thread/MessageForm/Root/index.tsx
1728
1818
  var import_react_query5 = require("@tanstack/react-query");
1729
1819
  var import_react34 = require("react");
1730
1820
  var import_react_hook_form = require("react-hook-form");
1731
- var import_themes34 = require("@radix-ui/themes");
1821
+ var import_themes33 = require("@radix-ui/themes");
1732
1822
  // src/hooks/messages/useCreateMessage/index.ts
1733
1823
  var import_radash11 = require("radash");
1734
1824
  var import_react_query4 = require("@tanstack/react-query");
@@ -1745,6 +1835,7 @@ var optimisticId = function() {
1745
1835
  var data = function(param) {
1746
1836
  var newMessage = param.newMessage;
1747
1837
  return function(prevData) {
1838
+ var _newMessage_attachments;
1748
1839
  var message = {
1749
1840
  id: optimisticId(),
1750
1841
  role: "user",
@@ -1762,7 +1853,7 @@ var data = function(param) {
1762
1853
  run_id: null,
1763
1854
  assistant_id: null,
1764
1855
  thread_id: null,
1765
- attachments: [],
1856
+ attachments: (_newMessage_attachments = newMessage.attachments) !== null && _newMessage_attachments !== void 0 ? _newMessage_attachments : [],
1766
1857
  metadata: {},
1767
1858
  runSteps: []
1768
1859
  };
@@ -1804,7 +1895,8 @@ var onMutate = function(param) {
1804
1895
  queryKey = [
1805
1896
  "messages",
1806
1897
  (0, import_radash5.omit)(newMessage, [
1807
- "content"
1898
+ "content",
1899
+ "attachments"
1808
1900
  ])
1809
1901
  ];
1810
1902
  return [
@@ -1841,13 +1933,13 @@ var threadCreated = function(param) {
1841
1933
  var value = param.value, superinterfaceContext = param.superinterfaceContext;
1842
1934
  var _superinterfaceContext_threadIdCookieOptions, _value_data_metadata, _value_data_metadata1;
1843
1935
  if (!((_superinterfaceContext_threadIdCookieOptions = superinterfaceContext.threadIdCookieOptions) === null || _superinterfaceContext_threadIdCookieOptions === void 0 ? void 0 : _superinterfaceContext_threadIdCookieOptions.set)) return;
1844
- if (!((_value_data_metadata = value.data.metadata) === null || _value_data_metadata === void 0 ? void 0 : _value_data_metadata.superinterfaceAssistantId)) return;
1845
- if (!((_value_data_metadata1 = value.data.metadata) === null || _value_data_metadata1 === void 0 ? void 0 : _value_data_metadata1.superinterfaceThreadId)) return;
1936
+ if (!((_value_data_metadata = value.data.metadata) === null || _value_data_metadata === void 0 ? void 0 : _value_data_metadata.assistantId)) return;
1937
+ if (!((_value_data_metadata1 = value.data.metadata) === null || _value_data_metadata1 === void 0 ? void 0 : _value_data_metadata1.threadId)) return;
1846
1938
  superinterfaceContext.threadIdCookieOptions.set({
1847
1939
  // @ts-ignore-next-line
1848
- assistantId: value.data.metadata.superinterfaceAssistantId,
1940
+ assistantId: value.data.metadata.assistantId,
1849
1941
  // @ts-ignore-next-line
1850
- threadId: value.data.metadata.superinterfaceThreadId
1942
+ threadId: value.data.metadata.threadId
1851
1943
  });
1852
1944
  };
1853
1945
  // src/hooks/messages/useCreateMessage/lib/mutationOptions/mutationFn/handleResponse/handlers/extendMessage.ts
@@ -2349,9 +2441,10 @@ var formOptions = {
2349
2441
  };
2350
2442
  // src/components/threads/Thread/MessageForm/Root/index.tsx
2351
2443
  var import_radash12 = require("radash");
2352
- var import_jsx_runtime43 = require("react/jsx-runtime");
2353
- var Root3 = function(param) {
2444
+ var import_jsx_runtime46 = require("react/jsx-runtime");
2445
+ var Root4 = function(param) {
2354
2446
  var children = param.children, onSubmitArg = param.onSubmit;
2447
+ var _ref = _sliced_to_array((0, import_react34.useState)([]), 2), files = _ref[0], setFiles = _ref[1];
2355
2448
  var formProps = (0, import_react_hook_form.useForm)(formOptions);
2356
2449
  var handleSubmit = formProps.handleSubmit, isSubmitting = formProps.formState.isSubmitting, reset = formProps.reset;
2357
2450
  var addToast = useToasts().addToast;
@@ -2381,27 +2474,69 @@ var Root3 = function(param) {
2381
2474
  }
2382
2475
  }).createMessage;
2383
2476
  var isMutatingMessage = useIsMutatingMessage();
2477
+ var isFileLoading = (0, import_react34.useMemo)(function() {
2478
+ return files.some(function(file) {
2479
+ return isOptimistic({
2480
+ id: file.id
2481
+ });
2482
+ });
2483
+ }, [
2484
+ files
2485
+ ]);
2384
2486
  var isLoading = (0, import_react34.useMemo)(function() {
2385
2487
  return isMutatingMessage || isSubmitting;
2386
2488
  }, [
2387
2489
  isMutatingMessage,
2388
2490
  isSubmitting
2389
2491
  ]);
2492
+ var latestMessage = useLatestMessage().latestMessage;
2493
+ var isDisabled = (0, import_react34.useMemo)(function() {
2494
+ var // @ts-ignore-next-line
2495
+ _latestMessage_metadata;
2496
+ return latestMessage === null || latestMessage === void 0 ? void 0 : (_latestMessage_metadata = latestMessage.metadata) === null || _latestMessage_metadata === void 0 ? void 0 : _latestMessage_metadata.isBlocking;
2497
+ }, [
2498
+ latestMessage,
2499
+ isLoading,
2500
+ files
2501
+ ]);
2390
2502
  var onSubmit = onSubmitArg ? (0, import_radash12.partob)(onSubmitArg, {
2391
2503
  reset: reset,
2392
2504
  createMessage: createMessage
2393
2505
  }) : function() {
2394
2506
  var _ref = _async_to_generator(function(data2) {
2507
+ var attachments;
2395
2508
  return _ts_generator(this, function(_state) {
2396
2509
  switch(_state.label){
2397
2510
  case 0:
2511
+ if (isFileLoading) return [
2512
+ 2
2513
+ ];
2514
+ if (isLoading) return [
2515
+ 2
2516
+ ];
2517
+ if (isDisabled) return [
2518
+ 2
2519
+ ];
2398
2520
  reset();
2521
+ setFiles([]);
2522
+ attachments = files.map(function(file) {
2523
+ return {
2524
+ file_id: file.id,
2525
+ tools: [
2526
+ {
2527
+ type: "file_search"
2528
+ }
2529
+ ]
2530
+ };
2531
+ });
2399
2532
  return [
2400
2533
  4,
2401
- createMessage({
2534
+ createMessage(_object_spread({
2402
2535
  // @ts-ignore-next-line
2403
2536
  content: data2.content
2404
- })
2537
+ }, attachments.length ? {
2538
+ attachments: attachments
2539
+ } : {}))
2405
2540
  ];
2406
2541
  case 1:
2407
2542
  _state.sent();
@@ -2415,25 +2550,19 @@ var Root3 = function(param) {
2415
2550
  return _ref.apply(this, arguments);
2416
2551
  };
2417
2552
  }();
2418
- var latestMessage = useLatestMessage().latestMessage;
2419
- var isDisabled = (0, import_react34.useMemo)(function() {
2420
- var // @ts-ignore-next-line
2421
- _latestMessage_metadata;
2422
- return latestMessage === null || latestMessage === void 0 ? void 0 : (_latestMessage_metadata = latestMessage.metadata) === null || _latestMessage_metadata === void 0 ? void 0 : _latestMessage_metadata.isBlocking;
2423
- }, [
2424
- latestMessage,
2425
- isLoading
2426
- ]);
2427
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(MessageFormContext.Provider, {
2553
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(MessageFormContext.Provider, {
2428
2554
  value: {
2429
2555
  isDisabled: isDisabled,
2430
- isLoading: isLoading
2556
+ isLoading: isLoading,
2557
+ files: files,
2558
+ setFiles: setFiles,
2559
+ isFileLoading: isFileLoading
2431
2560
  },
2432
- children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_react_hook_form.FormProvider, _object_spread_props(_object_spread({}, formProps), {
2433
- children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_themes34.Box, {
2561
+ children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_hook_form.FormProvider, _object_spread_props(_object_spread({}, formProps), {
2562
+ children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_themes33.Box, {
2434
2563
  asChild: true,
2435
2564
  flexShrink: "0",
2436
- children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("form", {
2565
+ children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("form", {
2437
2566
  onSubmit: handleSubmit(onSubmit),
2438
2567
  children: children
2439
2568
  })
@@ -2442,20 +2571,24 @@ var Root3 = function(param) {
2442
2571
  });
2443
2572
  };
2444
2573
  // src/components/threads/Thread/MessageForm/Field/index.tsx
2574
+ var import_react_hook_form3 = require("react-hook-form");
2575
+ var import_themes37 = require("@radix-ui/themes");
2576
+ // src/components/threads/Thread/MessageForm/Field/Control.tsx
2577
+ var import_themes34 = require("@radix-ui/themes");
2578
+ var import_react_hook_form2 = require("react-hook-form");
2445
2579
  var import_react_use = require("react-use");
2446
2580
  var import_react36 = require("react");
2447
2581
  // src/components/textareas/TextareaBase/index.tsx
2448
2582
  var import_react35 = require("react");
2449
2583
  var import_react_textarea_autosize = __toESM(require("react-textarea-autosize"), 1);
2450
- var import_jsx_runtime44 = require("react/jsx-runtime");
2451
- var UPSCALE_RATIO = 16 / 14;
2584
+ var import_jsx_runtime47 = require("react/jsx-runtime");
2452
2585
  var TextareaBase = (0, import_react35.forwardRef)(function TextareaBase2(props, ref) {
2453
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(import_jsx_runtime44.Fragment, {
2586
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_jsx_runtime47.Fragment, {
2454
2587
  children: [
2455
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("style", {
2588
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("style", {
2456
2589
  children: ".superinterface-textarea { min-height: inherit; height: 30px; }\n.superinterface-textarea::placeholder { color: var(--gray-a10); }"
2457
2590
  }),
2458
- /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_react_textarea_autosize.default, _object_spread({
2591
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_react_textarea_autosize.default, _object_spread({
2459
2592
  ref: ref,
2460
2593
  className: "rt-reset superinterface-textarea",
2461
2594
  style: {
@@ -2464,12 +2597,6 @@ var TextareaBase = (0, import_react35.forwardRef)(function TextareaBase2(props,
2464
2597
  boxSizing: "border-box",
2465
2598
  resize: "none",
2466
2599
  color: "var(--gray-12)",
2467
- fontSize: "".concat(14 * UPSCALE_RATIO, "px"),
2468
- lineHeight: "".concat(24 * UPSCALE_RATIO, "px"),
2469
- transform: "scale(".concat(1 / UPSCALE_RATIO, ")"),
2470
- margin: "0 ".concat((-100 * UPSCALE_RATIO + 100) / 2, "%"),
2471
- width: "".concat(100 * UPSCALE_RATIO, "%"),
2472
- maxWidth: "".concat(100 * UPSCALE_RATIO, "%"),
2473
2600
  flexGrow: 1,
2474
2601
  display: "flex"
2475
2602
  }
@@ -2477,40 +2604,17 @@ var TextareaBase = (0, import_react35.forwardRef)(function TextareaBase2(props,
2477
2604
  ]
2478
2605
  });
2479
2606
  });
2480
- // src/components/threads/Thread/MessageForm/Field/index.tsx
2481
- var import_react_hook_form2 = require("react-hook-form");
2482
- var import_themes35 = require("@radix-ui/themes");
2483
- var import_jsx_runtime45 = require("react/jsx-runtime");
2484
- var Root4 = function(param) {
2607
+ // src/components/threads/Thread/MessageForm/Field/Control.tsx
2608
+ var import_jsx_runtime48 = require("react/jsx-runtime");
2609
+ var Root5 = function(param) {
2485
2610
  var children = param.children;
2486
- var _ref = (0, import_react_hook_form2.useFormContext)(), errors = _ref.formState.errors;
2487
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_themes35.Container, {
2488
- size: "2",
2489
- flexGrow: "0",
2490
- children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_themes35.Flex, {
2491
- direction: "column",
2492
- flexShrink: "0",
2493
- children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_themes35.Flex, {
2494
- direction: "column",
2495
- flexShrink: "0",
2496
- children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_themes35.Flex, {
2497
- style: _object_spread({
2498
- borderRadius: "var(--radius-2)",
2499
- borderWidth: "1px",
2500
- borderStyle: "solid",
2501
- borderColor: errors.content ? "var(--red-9)" : "var(--gray-5)"
2502
- }, errors.content ? {
2503
- backgroundColor: "var(--red-2)"
2504
- } : {}),
2505
- p: "2",
2506
- pl: "4",
2507
- children: children
2508
- })
2509
- })
2510
- })
2611
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_themes34.Flex, {
2612
+ flexGrow: "1",
2613
+ pt: "4px",
2614
+ children: children
2511
2615
  });
2512
2616
  };
2513
- var Control = function() {
2617
+ var Input = function() {
2514
2618
  var assistantNameContext = (0, import_react36.useContext)(AssistantNameContext);
2515
2619
  var register = (0, import_react_hook_form2.useFormContext)().register;
2516
2620
  var _useMessageFormContext = useMessageFormContext(), isDisabled = _useMessageFormContext.isDisabled, isLoading = _useMessageFormContext.isLoading;
@@ -2533,7 +2637,7 @@ var Control = function() {
2533
2637
  isDisabledPrevious,
2534
2638
  textareaProps
2535
2639
  ]);
2536
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(TextareaBase, _object_spread_props(_object_spread({
2640
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(TextareaBase, _object_spread_props(_object_spread({
2537
2641
  minRows: 1,
2538
2642
  placeholder: "Message ".concat(assistantNameContext, "..."),
2539
2643
  disabled: isDisabled,
@@ -2552,51 +2656,348 @@ var Control = function() {
2552
2656
  }
2553
2657
  }));
2554
2658
  };
2555
- var Field = {
2556
- Root: Root4,
2557
- Control: Control
2558
- };
2559
- // src/components/threads/Thread/MessageForm/index.tsx
2560
- var import_jsx_runtime46 = require("react/jsx-runtime");
2561
- var MessageForm = function() {
2562
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Root3, {
2563
- children: /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(Field.Root, {
2564
- children: [
2565
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_themes36.Text, {
2566
- size: "2",
2567
- style: {
2568
- flexGrow: 1
2569
- },
2570
- children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_themes36.Flex, {
2571
- flexGrow: "1",
2572
- direction: "column",
2573
- children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Field.Control, {})
2574
- })
2575
- }),
2576
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_themes36.Flex, {
2577
- flexShrink: "0",
2578
- align: "end",
2579
- children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Submit, {})
2580
- })
2581
- ]
2582
- })
2659
+ var Control = function() {
2660
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Root5, {
2661
+ children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Input, {})
2583
2662
  });
2584
2663
  };
2585
- MessageForm.Root = Root3;
2586
- MessageForm.Field = Field;
2587
- MessageForm.Submit = Submit;
2588
- // src/components/threads/Thread/Root/index.tsx
2589
- var import_themes37 = require("@radix-ui/themes");
2590
- // src/components/threads/Thread/Provider/index.tsx
2591
- var Provider2 = SuperinterfaceProvider;
2592
- // src/components/threads/Thread/Root/index.tsx
2593
- var import_jsx_runtime47 = require("react/jsx-runtime");
2594
- var Root5 = function(_param) {
2664
+ Control.Root = Root5;
2665
+ Control.Input = Input;
2666
+ // src/components/threads/Thread/MessageForm/Field/Files/Preview.tsx
2667
+ var import_themes35 = require("@radix-ui/themes");
2668
+ var import_react_icons7 = require("@radix-ui/react-icons");
2669
+ var import_jsx_runtime49 = require("react/jsx-runtime");
2670
+ var Preview = function() {
2671
+ var _useMessageFormContext = useMessageFormContext(), files = _useMessageFormContext.files, setFiles = _useMessageFormContext.setFiles;
2672
+ if (!files.length) {
2673
+ return null;
2674
+ }
2675
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_themes35.Flex, {
2676
+ flexBasis: "100%",
2677
+ direction: "column",
2678
+ pb: "2",
2679
+ gap: "1",
2680
+ children: files.map(function(file) {
2681
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_themes35.Card, {
2682
+ variant: "ghost",
2683
+ children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_themes35.Flex, {
2684
+ align: "center",
2685
+ justify: "between",
2686
+ gap: "1",
2687
+ children: [
2688
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_themes35.Flex, {
2689
+ align: "center",
2690
+ gap: "1",
2691
+ flexShrink: "1",
2692
+ minWidth: "0",
2693
+ maxWidth: "250px",
2694
+ children: [
2695
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_themes35.Flex, {
2696
+ flexShrink: "0",
2697
+ children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_themes35.Spinner, {
2698
+ loading: isOptimistic({
2699
+ id: file.id
2700
+ }),
2701
+ children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_react_icons7.FileIcon, {})
2702
+ })
2703
+ }),
2704
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_themes35.Text, {
2705
+ size: "2",
2706
+ truncate: true,
2707
+ wrap: "nowrap",
2708
+ children: file.filename
2709
+ })
2710
+ ]
2711
+ }),
2712
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_themes35.Flex, {
2713
+ flexShrink: "0",
2714
+ children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_themes35.IconButton, {
2715
+ onClick: function() {
2716
+ return setFiles(function(prev) {
2717
+ return prev.filter(function(prevFile) {
2718
+ return prevFile.id !== file.id;
2719
+ });
2720
+ });
2721
+ },
2722
+ color: "gray",
2723
+ variant: "ghost",
2724
+ size: "1",
2725
+ children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_react_icons7.Cross2Icon, {})
2726
+ })
2727
+ })
2728
+ ]
2729
+ })
2730
+ }, file.id);
2731
+ })
2732
+ });
2733
+ };
2734
+ // src/components/threads/Thread/MessageForm/Field/Files/Control.tsx
2735
+ var import_react37 = require("react");
2736
+ var import_dayjs2 = __toESM(require("dayjs"), 1);
2737
+ var import_react_icons8 = require("@radix-ui/react-icons");
2738
+ var import_themes36 = require("@radix-ui/themes");
2739
+ // src/hooks/files/useCreateFile/index.ts
2740
+ var import_react_query6 = require("@tanstack/react-query");
2741
+ // src/hooks/files/useCreateFile/lib/mutationOptions/mutationFn/body/formData.ts
2742
+ var formData = function(variables) {
2743
+ var data2 = new FormData();
2744
+ for(var key2 in variables){
2745
+ data2.append(key2, variables[key2]);
2746
+ }
2747
+ return data2;
2748
+ };
2749
+ // src/hooks/files/useCreateFile/lib/mutationOptions/mutationFn/body/index.ts
2750
+ var body2 = function(param) {
2751
+ var variables = param.variables, superinterfaceContext = param.superinterfaceContext;
2752
+ var _superinterfaceContext_threadIdCookieOptions;
2753
+ if (variables.threadId) return formData(variables);
2754
+ if (!variables.assistantId) return formData(variables);
2755
+ if (!((_superinterfaceContext_threadIdCookieOptions = superinterfaceContext.threadIdCookieOptions) === null || _superinterfaceContext_threadIdCookieOptions === void 0 ? void 0 : _superinterfaceContext_threadIdCookieOptions.get)) return formData(variables);
2756
+ var threadId = superinterfaceContext.threadIdCookieOptions.get({
2757
+ assistantId: variables.assistantId
2758
+ });
2759
+ if (!threadId) return formData(variables);
2760
+ return formData(_object_spread_props(_object_spread({}, variables), {
2761
+ threadId: threadId
2762
+ }));
2763
+ };
2764
+ // src/hooks/files/useCreateFile/lib/mutationOptions/mutationFn/index.ts
2765
+ var mutationFn2 = function(param) {
2766
+ var superinterfaceContext = param.superinterfaceContext, queryClient = param.queryClient, threadContext = param.threadContext;
2767
+ return function() {
2768
+ var _ref = _async_to_generator(function(variables) {
2769
+ var response, result;
2770
+ return _ts_generator(this, function(_state) {
2771
+ switch(_state.label){
2772
+ case 0:
2773
+ return [
2774
+ 4,
2775
+ fetch("".concat(superinterfaceContext.baseUrl, "/files"), {
2776
+ method: "POST",
2777
+ body: body2({
2778
+ variables: variables,
2779
+ superinterfaceContext: superinterfaceContext
2780
+ })
2781
+ })
2782
+ ];
2783
+ case 1:
2784
+ response = _state.sent();
2785
+ return [
2786
+ 4,
2787
+ response.json()
2788
+ ];
2789
+ case 2:
2790
+ result = _state.sent();
2791
+ return [
2792
+ 2,
2793
+ result
2794
+ ];
2795
+ }
2796
+ });
2797
+ });
2798
+ return function(variables) {
2799
+ return _ref.apply(this, arguments);
2800
+ };
2801
+ }();
2802
+ };
2803
+ // src/hooks/files/useCreateFile/lib/mutationOptions/index.ts
2804
+ var mutationOptions2 = function(param) {
2805
+ var queryClient = param.queryClient, threadContext = param.threadContext, superinterfaceContext = param.superinterfaceContext, onError = param.onError;
2806
+ var mutationKey = [
2807
+ "createFile",
2808
+ threadContext.variables
2809
+ ];
2810
+ return _object_spread_props(_object_spread({
2811
+ mutationFn: mutationFn2({
2812
+ queryClient: queryClient,
2813
+ superinterfaceContext: superinterfaceContext,
2814
+ threadContext: threadContext
2815
+ }),
2816
+ onError: onError
2817
+ }, threadContext.defaultOptions.mutations, queryClient.getMutationDefaults(mutationKey)), {
2818
+ mutationKey: mutationKey
2819
+ });
2820
+ };
2821
+ // src/hooks/files/useCreateFile/index.ts
2822
+ var useCreateFile = function() {
2823
+ var _ref = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {
2824
+ onError: function() {}
2825
+ }, _ref_onError = _ref.onError, onError = _ref_onError === void 0 ? function() {} : _ref_onError;
2826
+ var queryClient = (0, import_react_query6.useQueryClient)();
2827
+ var superinterfaceContext = useSuperinterfaceContext();
2828
+ var threadContext = useSuperinterfaceContext();
2829
+ var props = (0, import_react_query6.useMutation)(mutationOptions2({
2830
+ queryClient: queryClient,
2831
+ threadContext: threadContext,
2832
+ superinterfaceContext: superinterfaceContext,
2833
+ onError: onError
2834
+ }));
2835
+ return _object_spread_props(_object_spread({}, props), {
2836
+ createFile: function() {
2837
+ for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
2838
+ args[_key] = arguments[_key];
2839
+ }
2840
+ var _props;
2841
+ var _args = _to_array(args), firstArg = _args[0], restArgs = _args.slice(1);
2842
+ return (_props = props).mutateAsync.apply(_props, [
2843
+ _object_spread({}, threadContext.variables, firstArg)
2844
+ ].concat(_to_consumable_array(restArgs)));
2845
+ }
2846
+ });
2847
+ };
2848
+ // src/components/threads/Thread/MessageForm/Field/Files/Control.tsx
2849
+ var import_jsx_runtime50 = require("react/jsx-runtime");
2850
+ var accept = ".c,text/x-c,\n.cs,text/x-csharp,\n.cpp,text/x-c++,\n.doc,application/msword,\n.docx,application/vnd.openxmlformats-officedocument.wordprocessingml.document,\n.html,text/html,\n.java,text/x-java,\n.json,application/json,\n.md,text/markdown,\n.pdf,application/pdf,\n.php,text/x-php,\n.pptx,application/vnd.openxmlformats-officedocument.presentationml.presentation,\n.py,text/x-python,\n.py,text/x-script.python,\n.rb,text/x-ruby,\n.tex,text/x-tex,\n.txt,text/plain,\n.css,text/css,\n.js,text/javascript,\n.sh,application/x-sh,\n.ts,application/typescript";
2851
+ var Control2 = function() {
2852
+ var _useMessageFormContext = useMessageFormContext(), isDisabled = _useMessageFormContext.isDisabled, isLoading = _useMessageFormContext.isLoading, setFiles = _useMessageFormContext.setFiles;
2853
+ var createFile = useCreateFile().createFile;
2854
+ var addToast = useToasts().addToast;
2855
+ var onChange = (0, import_react37.useCallback)(function(event) {
2856
+ var files = event.target.files;
2857
+ if (!files) return;
2858
+ var newFiles = Array.from(files).map(function(file) {
2859
+ var id = optimisticId();
2860
+ createFile({
2861
+ file: file
2862
+ }, {
2863
+ onSuccess: function(param) {
2864
+ var file2 = param.file;
2865
+ setFiles(function(prev) {
2866
+ return _to_consumable_array(prev.filter(function(prevFile) {
2867
+ return prevFile.id !== id;
2868
+ })).concat([
2869
+ file2
2870
+ ]);
2871
+ });
2872
+ },
2873
+ onError: function() {
2874
+ addToast({
2875
+ type: "error",
2876
+ message: "Could not upload file. Please try again."
2877
+ });
2878
+ setFiles(function(prev) {
2879
+ return prev.filter(function(prevFile) {
2880
+ return prevFile.id !== id;
2881
+ });
2882
+ });
2883
+ }
2884
+ });
2885
+ return {
2886
+ id: id,
2887
+ filename: file.name,
2888
+ object: "file",
2889
+ purpose: "assistants",
2890
+ created_at: (0, import_dayjs2.default)().unix(),
2891
+ bytes: file.size,
2892
+ status: "processed"
2893
+ };
2894
+ });
2895
+ setFiles(function(prev) {
2896
+ return _to_consumable_array(prev).concat(_to_consumable_array(newFiles));
2897
+ });
2898
+ }, []);
2899
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_themes36.Flex, {
2900
+ pt: "2",
2901
+ pr: "2",
2902
+ flexGrow: "0",
2903
+ children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_themes36.IconButton, {
2904
+ type: "button",
2905
+ variant: "ghost",
2906
+ color: "gray",
2907
+ disabled: isDisabled || isLoading,
2908
+ style: {
2909
+ position: "relative",
2910
+ overflow: "hidden"
2911
+ },
2912
+ children: [
2913
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_react_icons8.FilePlusIcon, {}),
2914
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("input", {
2915
+ type: "file",
2916
+ accept: accept,
2917
+ onChange: onChange,
2918
+ style: {
2919
+ cursor: "pointer",
2920
+ position: "absolute",
2921
+ top: 0,
2922
+ left: 0,
2923
+ right: 0,
2924
+ bottom: 0,
2925
+ opacity: 0
2926
+ }
2927
+ })
2928
+ ]
2929
+ })
2930
+ });
2931
+ };
2932
+ // src/components/threads/Thread/MessageForm/Field/Files/index.tsx
2933
+ var Files = {
2934
+ Preview: Preview,
2935
+ Control: Control2
2936
+ };
2937
+ // src/components/threads/Thread/MessageForm/Field/index.tsx
2938
+ var import_jsx_runtime51 = require("react/jsx-runtime");
2939
+ var Root6 = function(param) {
2940
+ var children = param.children;
2941
+ var _ref = (0, import_react_hook_form3.useFormContext)(), errors = _ref.formState.errors;
2942
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_themes37.Container, {
2943
+ size: "2",
2944
+ flexGrow: "0",
2945
+ children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_themes37.Flex, {
2946
+ direction: "column",
2947
+ flexShrink: "0",
2948
+ children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_themes37.Flex, {
2949
+ direction: "column",
2950
+ flexShrink: "0",
2951
+ children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_themes37.Flex, {
2952
+ style: _object_spread({
2953
+ borderRadius: "var(--radius-2)",
2954
+ borderWidth: "1px",
2955
+ borderStyle: "solid",
2956
+ borderColor: errors.content ? "var(--red-9)" : "var(--gray-5)"
2957
+ }, errors.content ? {
2958
+ backgroundColor: "var(--red-2)"
2959
+ } : {}),
2960
+ p: "2",
2961
+ pl: "3",
2962
+ wrap: "wrap",
2963
+ children: children
2964
+ })
2965
+ })
2966
+ })
2967
+ });
2968
+ };
2969
+ var Field = {
2970
+ Root: Root6,
2971
+ Control: Control,
2972
+ Files: Files
2973
+ };
2974
+ // src/components/threads/Thread/MessageForm/index.tsx
2975
+ var import_jsx_runtime52 = require("react/jsx-runtime");
2976
+ var MessageForm = function() {
2977
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Root4, {
2978
+ children: /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(Field.Root, {
2979
+ children: [
2980
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Field.Control, {}),
2981
+ /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Submit, {})
2982
+ ]
2983
+ })
2984
+ });
2985
+ };
2986
+ MessageForm.Root = Root4;
2987
+ MessageForm.Field = Field;
2988
+ MessageForm.Submit = Submit;
2989
+ // src/components/threads/Thread/Root/index.tsx
2990
+ var import_themes38 = require("@radix-ui/themes");
2991
+ // src/components/threads/Thread/Provider/index.tsx
2992
+ var Provider2 = SuperinterfaceProvider;
2993
+ // src/components/threads/Thread/Root/index.tsx
2994
+ var import_jsx_runtime53 = require("react/jsx-runtime");
2995
+ var Root7 = function(_param) {
2595
2996
  var children = _param.children, rest = _object_without_properties(_param, [
2596
2997
  "children"
2597
2998
  ]);
2598
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Provider2, _object_spread_props(_object_spread({}, rest), {
2599
- children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_themes37.Flex, {
2999
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Provider2, _object_spread_props(_object_spread({}, rest), {
3000
+ children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_themes38.Flex, {
2600
3001
  direction: "column",
2601
3002
  flexGrow: "1",
2602
3003
  children: children
@@ -2604,43 +3005,43 @@ var Root5 = function(_param) {
2604
3005
  }));
2605
3006
  };
2606
3007
  // src/components/threads/Thread/index.tsx
2607
- var import_jsx_runtime48 = require("react/jsx-runtime");
3008
+ var import_jsx_runtime54 = require("react/jsx-runtime");
2608
3009
  var Thread = function(props) {
2609
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(Root5, _object_spread_props(_object_spread({}, props), {
3010
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(Root7, _object_spread_props(_object_spread({}, props), {
2610
3011
  children: [
2611
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Messages, {}),
2612
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(MessageForm, {})
3012
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Messages, {}),
3013
+ /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(MessageForm, {})
2613
3014
  ]
2614
3015
  }));
2615
3016
  };
2616
- Thread.Root = Root5;
3017
+ Thread.Root = Root7;
2617
3018
  Thread.Messages = Messages;
2618
3019
  Thread.MessageForm = MessageForm;
2619
3020
  // src/hooks/messages/useMessageContext/index.ts
2620
- var import_react37 = require("react");
3021
+ var import_react38 = require("react");
2621
3022
  var useMessageContext = function() {
2622
- return (0, import_react37.useContext)(MessageContext);
3023
+ return (0, import_react38.useContext)(MessageContext);
2623
3024
  };
2624
3025
  // src/components/threads/ThreadDialog/Provider/index.tsx
2625
- var import_react40 = require("react");
3026
+ var import_react41 = require("react");
2626
3027
  // src/contexts/threads/ThreadDialogContext/index.ts
2627
- var import_react38 = require("react");
2628
- var ThreadDialogContext = (0, import_react38.createContext)({
3028
+ var import_react39 = require("react");
3029
+ var ThreadDialogContext = (0, import_react39.createContext)({
2629
3030
  isOpen: false,
2630
3031
  setIsOpen: function() {}
2631
3032
  });
2632
3033
  // src/hooks/threads/useThreadDialogContext/index.ts
2633
- var import_react39 = require("react");
3034
+ var import_react40 = require("react");
2634
3035
  var useThreadDialogContext = function() {
2635
- return (0, import_react39.useContext)(ThreadDialogContext);
3036
+ return (0, import_react40.useContext)(ThreadDialogContext);
2636
3037
  };
2637
3038
  // src/components/threads/ThreadDialog/Provider/index.tsx
2638
- var import_jsx_runtime49 = require("react/jsx-runtime");
3039
+ var import_jsx_runtime55 = require("react/jsx-runtime");
2639
3040
  var Provider3 = function(param) {
2640
3041
  var children = param.children;
2641
3042
  var threadDialogContext = useThreadDialogContext();
2642
- var _ref = _sliced_to_array((0, import_react40.useState)(threadDialogContext.isOpen), 2), isOpen = _ref[0], setIsOpen = _ref[1];
2643
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ThreadDialogContext.Provider, {
3043
+ var _ref = _sliced_to_array((0, import_react41.useState)(threadDialogContext.isOpen), 2), isOpen = _ref[0], setIsOpen = _ref[1];
3044
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(ThreadDialogContext.Provider, {
2644
3045
  value: {
2645
3046
  isOpen: isOpen,
2646
3047
  setIsOpen: setIsOpen
@@ -2649,31 +3050,31 @@ var Provider3 = function(param) {
2649
3050
  });
2650
3051
  };
2651
3052
  // src/components/toasts/ToastsProvider/index.tsx
2652
- var import_react41 = require("react");
3053
+ var import_react42 = require("react");
2653
3054
  var Toast2 = __toESM(require("@radix-ui/react-toast"), 1);
2654
3055
  // src/components/toasts/ToastsProvider/CustomToast.tsx
2655
3056
  var Toast = __toESM(require("@radix-ui/react-toast"), 1);
2656
- var import_themes38 = require("@radix-ui/themes");
2657
- var import_react_icons6 = require("@radix-ui/react-icons");
2658
- var import_jsx_runtime50 = require("react/jsx-runtime");
3057
+ var import_themes39 = require("@radix-ui/themes");
3058
+ var import_react_icons9 = require("@radix-ui/react-icons");
3059
+ var import_jsx_runtime56 = require("react/jsx-runtime");
2659
3060
  var CustomToast = function(param) {
2660
3061
  var toast = param.toast;
2661
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Toast.Root, {
2662
- children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_themes38.Card, {
2663
- children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Toast.Title, {
2664
- children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_themes38.Flex, {
3062
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Toast.Root, {
3063
+ children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes39.Card, {
3064
+ children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Toast.Title, {
3065
+ children: /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(import_themes39.Flex, {
2665
3066
  children: [
2666
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_themes38.Flex, {
3067
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes39.Flex, {
2667
3068
  pr: "2",
2668
3069
  height: "14px",
2669
3070
  align: "center",
2670
- children: toast.type === "success" ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_react_icons6.CheckCircledIcon, {
3071
+ children: toast.type === "success" ? /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_react_icons9.CheckCircledIcon, {
2671
3072
  color: "var(--accent-9)"
2672
- }) : /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_react_icons6.CrossCircledIcon, {
3073
+ }) : /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_react_icons9.CrossCircledIcon, {
2673
3074
  color: "var(--red-9)"
2674
3075
  })
2675
3076
  }),
2676
- /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_themes38.Text, {
3077
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes39.Text, {
2677
3078
  weight: "medium",
2678
3079
  size: "1",
2679
3080
  children: toast.message
@@ -2685,31 +3086,31 @@ var CustomToast = function(param) {
2685
3086
  });
2686
3087
  };
2687
3088
  // src/components/toasts/ToastsProvider/index.tsx
2688
- var import_jsx_runtime51 = require("react/jsx-runtime");
3089
+ var import_jsx_runtime57 = require("react/jsx-runtime");
2689
3090
  var ToastsProvider = function(param) {
2690
3091
  var children = param.children;
2691
- var _ref = _sliced_to_array((0, import_react41.useState)([]), 2), toasts = _ref[0], setToasts = _ref[1];
2692
- var addToast = (0, import_react41.useCallback)(function(toast) {
3092
+ var _ref = _sliced_to_array((0, import_react42.useState)([]), 2), toasts = _ref[0], setToasts = _ref[1];
3093
+ var addToast = (0, import_react42.useCallback)(function(toast) {
2693
3094
  return setToasts(function(prevToasts) {
2694
3095
  return _to_consumable_array(prevToasts).concat([
2695
3096
  toast
2696
3097
  ]);
2697
3098
  });
2698
3099
  }, []);
2699
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ToastsContext.Provider, {
3100
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ToastsContext.Provider, {
2700
3101
  value: {
2701
3102
  toasts: toasts,
2702
3103
  addToast: addToast
2703
3104
  },
2704
- children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(Toast2.Provider, {
3105
+ children: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(Toast2.Provider, {
2705
3106
  children: [
2706
3107
  children,
2707
3108
  Array.from(toasts).map(function(toast, index) {
2708
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(CustomToast, {
3109
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(CustomToast, {
2709
3110
  toast: toast
2710
3111
  }, index);
2711
3112
  }),
2712
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Toast2.Viewport, {
3113
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Toast2.Viewport, {
2713
3114
  style: {
2714
3115
  position: "absolute",
2715
3116
  bottom: 0,
@@ -2731,22 +3132,34 @@ var ToastsProvider = function(param) {
2731
3132
  });
2732
3133
  };
2733
3134
  // src/components/threads/ThreadDialog/Root/index.tsx
2734
- var import_jsx_runtime52 = require("react/jsx-runtime");
2735
- var Root7 = function(param) {
3135
+ var import_jsx_runtime58 = require("react/jsx-runtime");
3136
+ var Root9 = function(param) {
2736
3137
  var children = param.children;
2737
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(ToastsProvider, {
2738
- children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(Provider3, {
3138
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(ToastsProvider, {
3139
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Provider3, {
2739
3140
  children: children
2740
3141
  })
2741
3142
  });
2742
3143
  };
2743
3144
  // src/components/threads/ThreadDialog/Trigger/index.tsx
2744
- var import_themes39 = require("@radix-ui/themes");
2745
- var import_jsx_runtime53 = require("react/jsx-runtime");
2746
- var Trigger = function(param) {
3145
+ var import_themes41 = require("@radix-ui/themes");
3146
+ // src/components/threads/ThreadDialog/Trigger/Button.tsx
3147
+ var import_themes40 = require("@radix-ui/themes");
3148
+ var import_react_icons10 = require("@radix-ui/react-icons");
3149
+ var import_jsx_runtime59 = require("react/jsx-runtime");
3150
+ var Button3 = function() {
3151
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_themes40.IconButton, {
3152
+ size: "4",
3153
+ radius: "full",
3154
+ children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_react_icons10.ChatBubbleIcon, {})
3155
+ });
3156
+ };
3157
+ // src/components/threads/ThreadDialog/Trigger/index.tsx
3158
+ var import_jsx_runtime60 = require("react/jsx-runtime");
3159
+ var Root10 = function(param) {
2747
3160
  var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
2748
3161
  var _useThreadDialogContext = useThreadDialogContext(), setIsOpen = _useThreadDialogContext.setIsOpen, isOpen = _useThreadDialogContext.isOpen;
2749
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_themes39.Flex, {
3162
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_themes41.Flex, {
2750
3163
  display: {
2751
3164
  initial: isOpen ? "none" : "flex",
2752
3165
  sm: "flex"
@@ -2769,26 +3182,22 @@ var Trigger = function(param) {
2769
3182
  children: children
2770
3183
  });
2771
3184
  };
2772
- // src/components/threads/ThreadDialog/Button/index.tsx
2773
- var import_themes40 = require("@radix-ui/themes");
2774
- var import_react_icons7 = require("@radix-ui/react-icons");
2775
- var import_jsx_runtime54 = require("react/jsx-runtime");
2776
- var Button2 = function() {
2777
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes40.IconButton, {
2778
- size: "4",
2779
- radius: "full",
2780
- children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_react_icons7.ChatBubbleIcon, {})
2781
- });
3185
+ var Trigger = function(args) {
3186
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Root10, _object_spread_props(_object_spread({}, args), {
3187
+ children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Button3, {})
3188
+ }));
2782
3189
  };
3190
+ Trigger.Root = Root10;
3191
+ Trigger.Button = Button3;
2783
3192
  // src/components/threads/ThreadDialog/Content/index.tsx
2784
- var import_themes42 = require("@radix-ui/themes");
3193
+ var import_themes43 = require("@radix-ui/themes");
2785
3194
  // src/components/threads/ThreadDialog/Close/index.tsx
2786
- var import_react_icons8 = require("@radix-ui/react-icons");
2787
- var import_themes41 = require("@radix-ui/themes");
2788
- var import_jsx_runtime55 = require("react/jsx-runtime");
3195
+ var import_react_icons11 = require("@radix-ui/react-icons");
3196
+ var import_themes42 = require("@radix-ui/themes");
3197
+ var import_jsx_runtime61 = require("react/jsx-runtime");
2789
3198
  var Close = function() {
2790
3199
  var _useThreadDialogContext = useThreadDialogContext(), setIsOpen = _useThreadDialogContext.setIsOpen, isOpen = _useThreadDialogContext.isOpen;
2791
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_themes41.Flex, {
3200
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_themes42.Flex, {
2792
3201
  display: {
2793
3202
  initial: isOpen ? "flex" : "none",
2794
3203
  sm: "none"
@@ -2808,20 +3217,20 @@ var Close = function() {
2808
3217
  style: {
2809
3218
  zIndex: 9999999999
2810
3219
  },
2811
- children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_themes41.IconButton, {
3220
+ children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_themes42.IconButton, {
2812
3221
  size: "2",
2813
3222
  variant: "soft",
2814
- children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_react_icons8.Cross1Icon, {})
3223
+ children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_react_icons11.Cross1Icon, {})
2815
3224
  })
2816
3225
  });
2817
3226
  };
2818
3227
  // src/components/threads/ThreadDialog/Content/index.tsx
2819
- var import_jsx_runtime56 = require("react/jsx-runtime");
2820
- var Root8 = function(param) {
3228
+ var import_jsx_runtime62 = require("react/jsx-runtime");
3229
+ var Root11 = function(param) {
2821
3230
  var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
2822
3231
  var isOpen = useThreadDialogContext().isOpen;
2823
3232
  if (!isOpen) return null;
2824
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes42.Flex, {
3233
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_themes43.Flex, {
2825
3234
  direction: "column",
2826
3235
  justify: "end",
2827
3236
  position: "fixed",
@@ -2849,7 +3258,7 @@ var Root8 = function(param) {
2849
3258
  style: _object_spread({
2850
3259
  zIndex: 9999999999
2851
3260
  }, style),
2852
- children: /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(import_themes42.Card, {
3261
+ children: /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_themes43.Card, {
2853
3262
  mb: {
2854
3263
  initial: void 0,
2855
3264
  sm: "3"
@@ -2860,7 +3269,7 @@ var Root8 = function(param) {
2860
3269
  flexGrow: 1
2861
3270
  },
2862
3271
  children: [
2863
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes42.Inset, {
3272
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_themes43.Inset, {
2864
3273
  clip: "padding-box",
2865
3274
  side: "all",
2866
3275
  pb: "current",
@@ -2870,59 +3279,67 @@ var Root8 = function(param) {
2870
3279
  },
2871
3280
  children: children
2872
3281
  }),
2873
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Close, {})
3282
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Close, {})
2874
3283
  ]
2875
3284
  })
2876
3285
  });
2877
3286
  };
3287
+ var Messages2 = function() {
3288
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Thread.Messages, {
3289
+ style: {
3290
+ paddingTop: "var(--space-5)",
3291
+ paddingRight: "var(--space-5)",
3292
+ paddingLeft: "var(--space-5)"
3293
+ }
3294
+ });
3295
+ };
3296
+ var FormContainer = function(param) {
3297
+ var children = param.children;
3298
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_themes43.Flex, {
3299
+ direction: "column",
3300
+ pl: "5",
3301
+ pr: "5",
3302
+ pb: "3",
3303
+ flexShrink: "0",
3304
+ children: children
3305
+ });
3306
+ };
2878
3307
  var Content4 = function(param) {
2879
3308
  var _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
2880
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Root8, {
3309
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Root11, {
2881
3310
  style: style,
2882
- children: /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(Thread.Root, {
3311
+ children: /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(Thread.Root, {
2883
3312
  children: [
2884
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Thread.Messages, {
2885
- style: {
2886
- paddingTop: "var(--space-5)",
2887
- paddingRight: "var(--space-5)",
2888
- paddingLeft: "var(--space-5)"
2889
- }
2890
- }),
2891
- /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes42.Flex, {
2892
- direction: "column",
2893
- pl: "5",
2894
- pr: "5",
2895
- pb: "3",
2896
- flexShrink: "0",
2897
- children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Thread.MessageForm, {})
3313
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Messages2, {}),
3314
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(FormContainer, {
3315
+ children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Thread.MessageForm, {})
2898
3316
  })
2899
3317
  ]
2900
3318
  })
2901
3319
  });
2902
3320
  };
2903
- Content4.Root = Root8;
3321
+ Content4.Root = Root11;
3322
+ Content4.Messages = Messages2;
3323
+ Content4.FormContainer = FormContainer;
2904
3324
  // src/components/threads/ThreadDialog/index.tsx
2905
- var import_jsx_runtime57 = require("react/jsx-runtime");
3325
+ var import_jsx_runtime63 = require("react/jsx-runtime");
2906
3326
  var ThreadDialog = function() {
2907
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(Root7, {
3327
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(Root9, {
2908
3328
  children: [
2909
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Content4, {}),
2910
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Trigger, {
2911
- children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Button2, {})
2912
- })
3329
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Content4, {}),
3330
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Trigger, {})
2913
3331
  ]
2914
3332
  });
2915
3333
  };
2916
- ThreadDialog.Root = Root7;
3334
+ ThreadDialog.Root = Root9;
2917
3335
  ThreadDialog.Trigger = Trigger;
2918
- ThreadDialog.Button = Button2;
2919
3336
  ThreadDialog.Content = Content4;
2920
3337
  // src/components/threads/AudioThread/Root/index.tsx
2921
3338
  var import_runtime = require("regenerator-runtime/runtime");
2922
- var import_themes43 = require("@radix-ui/themes");
3339
+ var import_themes44 = require("@radix-ui/themes");
2923
3340
  // src/contexts/threads/AudioThreadContext/index.ts
2924
- var import_react42 = require("react");
2925
- var AudioThreadContext = (0, import_react42.createContext)({
3341
+ var import_react43 = require("react");
3342
+ var AudioThreadContext = (0, import_react43.createContext)({
2926
3343
  status: "idle",
2927
3344
  recorderProps: {
2928
3345
  status: "idle",
@@ -2990,11 +3407,11 @@ var blobToData = function(blob) {
2990
3407
  });
2991
3408
  };
2992
3409
  // src/hooks/audioThreads/useStatus/index.ts
2993
- var import_react43 = require("react");
3410
+ var import_react44 = require("react");
2994
3411
  var useStatus = function(param) {
2995
3412
  var messageAudioProps = param.messageAudioProps, recorderProps = param.recorderProps, createMessageProps = param.createMessageProps;
2996
3413
  var latestMessageProps = useLatestMessage();
2997
- var status = (0, import_react43.useMemo)(function() {
3414
+ var status = (0, import_react44.useMemo)(function() {
2998
3415
  var _latestMessageProps_latestMessage;
2999
3416
  if (recorderProps.status === "recording") return "recording";
3000
3417
  if (createMessageProps.isPending) return "creatingMessage";
@@ -3016,21 +3433,21 @@ var useStatus = function(param) {
3016
3433
  };
3017
3434
  };
3018
3435
  // src/hooks/audioThreads/useRecorder/index.ts
3019
- var import_dayjs2 = __toESM(require("dayjs"), 1);
3436
+ var import_dayjs3 = __toESM(require("dayjs"), 1);
3020
3437
  var import_use_audio_capture = require("use-audio-capture");
3021
- var import_react44 = require("react");
3438
+ var import_react45 = require("react");
3022
3439
  var import_react_use_audio_player = require("react-use-audio-player");
3023
3440
  var import_react_use2 = require("react-use");
3024
3441
  var useRecorder = function(param) {
3025
3442
  var isStopOnSilence = param.isStopOnSilence, onStart = param.onStart, onStop = param.onStop;
3026
- var _ref = _sliced_to_array((0, import_react44.useState)(null), 2), silenceStart = _ref[0], setSilenceStart = _ref[1];
3027
- var _ref1 = _sliced_to_array((0, import_react44.useState)(null), 2), noiseStart = _ref1[0], setNoiseStart = _ref1[1];
3028
- var _ref2 = _sliced_to_array((0, import_react44.useState)(null), 2), mediaStream = _ref2[0], setMediaStream = _ref2[1];
3029
- var _ref3 = _sliced_to_array((0, import_react44.useState)("idle"), 2), status = _ref3[0], setStatus = _ref3[1];
3443
+ var _ref = _sliced_to_array((0, import_react45.useState)(null), 2), silenceStart = _ref[0], setSilenceStart = _ref[1];
3444
+ var _ref1 = _sliced_to_array((0, import_react45.useState)(null), 2), noiseStart = _ref1[0], setNoiseStart = _ref1[1];
3445
+ var _ref2 = _sliced_to_array((0, import_react45.useState)(null), 2), mediaStream = _ref2[0], setMediaStream = _ref2[1];
3446
+ var _ref3 = _sliced_to_array((0, import_react45.useState)("idle"), 2), status = _ref3[0], setStatus = _ref3[1];
3030
3447
  var startAudioPlayer = (0, import_react_use_audio_player.useAudioPlayer)();
3031
3448
  var endAudioPlayer = (0, import_react_use_audio_player.useAudioPlayer)();
3032
- var _ref4 = _sliced_to_array((0, import_react44.useState)(false), 2), isLoaded = _ref4[0], setIsLoaded = _ref4[1];
3033
- (0, import_react44.useEffect)(function() {
3449
+ var _ref4 = _sliced_to_array((0, import_react45.useState)(false), 2), isLoaded = _ref4[0], setIsLoaded = _ref4[1];
3450
+ (0, import_react45.useEffect)(function() {
3034
3451
  if (isLoaded) return;
3035
3452
  setIsLoaded(true);
3036
3453
  }, [
@@ -3088,9 +3505,9 @@ var useRecorder = function(param) {
3088
3505
  setNoiseStart(null);
3089
3506
  }
3090
3507
  });
3091
- var _ref5 = _sliced_to_array((0, import_react44.useState)(null), 2), audioEngine = _ref5[0], setAudioEngine = _ref5[1];
3092
- var isInited = (0, import_react44.useRef)(false);
3093
- (0, import_react44.useEffect)(function() {
3508
+ var _ref5 = _sliced_to_array((0, import_react45.useState)(null), 2), audioEngine = _ref5[0], setAudioEngine = _ref5[1];
3509
+ var isInited = (0, import_react45.useRef)(false);
3510
+ (0, import_react45.useEffect)(function() {
3094
3511
  if (!mediaStream) return;
3095
3512
  if (isInited.current) return;
3096
3513
  isInited.current = true;
@@ -3103,7 +3520,7 @@ var useRecorder = function(param) {
3103
3520
  isInited,
3104
3521
  mediaStream
3105
3522
  ]);
3106
- var visualizationAnalyser = (0, import_react44.useMemo)(function() {
3523
+ var visualizationAnalyser = (0, import_react45.useMemo)(function() {
3107
3524
  if (!audioEngine) return null;
3108
3525
  var result = audioEngine.audioContext.createAnalyser();
3109
3526
  audioEngine.source.connect(result);
@@ -3111,7 +3528,7 @@ var useRecorder = function(param) {
3111
3528
  }, [
3112
3529
  audioEngine
3113
3530
  ]);
3114
- var silenceAnalyser = (0, import_react44.useMemo)(function() {
3531
+ var silenceAnalyser = (0, import_react45.useMemo)(function() {
3115
3532
  if (!audioEngine) return null;
3116
3533
  var result = audioEngine.audioContext.createAnalyser();
3117
3534
  result.minDecibels = -60;
@@ -3120,7 +3537,7 @@ var useRecorder = function(param) {
3120
3537
  }, [
3121
3538
  audioEngine
3122
3539
  ]);
3123
- var handleSilence = (0, import_react44.useCallback)(function() {
3540
+ var handleSilence = (0, import_react45.useCallback)(function() {
3124
3541
  if (!silenceAnalyser) return;
3125
3542
  var frequencyData = new Uint8Array(silenceAnalyser.frequencyBinCount);
3126
3543
  silenceAnalyser.getByteFrequencyData(frequencyData);
@@ -3128,12 +3545,12 @@ var useRecorder = function(param) {
3128
3545
  return f === 0;
3129
3546
  });
3130
3547
  setSilenceStart(function(silenceStart2) {
3131
- if (isSilent) return silenceStart2 || (0, import_dayjs2.default)();
3548
+ if (isSilent) return silenceStart2 || (0, import_dayjs3.default)();
3132
3549
  return null;
3133
3550
  });
3134
3551
  setNoiseStart(function(noiseStart2) {
3135
3552
  if (isSilent) return noiseStart2;
3136
- return noiseStart2 || (0, import_dayjs2.default)();
3553
+ return noiseStart2 || (0, import_dayjs3.default)();
3137
3554
  });
3138
3555
  requestAnimationFrame(function() {
3139
3556
  return handleSilence();
@@ -3143,7 +3560,7 @@ var useRecorder = function(param) {
3143
3560
  setNoiseStart,
3144
3561
  setSilenceStart
3145
3562
  ]);
3146
- (0, import_react44.useEffect)(function() {
3563
+ (0, import_react45.useEffect)(function() {
3147
3564
  if (!isStopOnSilence) return;
3148
3565
  requestAnimationFrame(function() {
3149
3566
  return handleSilence();
@@ -3157,7 +3574,7 @@ var useRecorder = function(param) {
3157
3574
  if (status !== "recording") return;
3158
3575
  if (!silenceStart) return;
3159
3576
  if (!noiseStart) return;
3160
- if (!silenceStart.isBefore((0, import_dayjs2.default)().subtract(1.5, "second"))) return;
3577
+ if (!silenceStart.isBefore((0, import_dayjs3.default)().subtract(1.5, "second"))) return;
3161
3578
  audioCaptureProps.stop();
3162
3579
  }, 300);
3163
3580
  return _object_spread_props(_object_spread({}, audioCaptureProps), {
@@ -3166,7 +3583,7 @@ var useRecorder = function(param) {
3166
3583
  });
3167
3584
  };
3168
3585
  // src/hooks/audioThreads/useMessageAudio/index.ts
3169
- var import_react45 = require("react");
3586
+ var import_react46 = require("react");
3170
3587
  var import_compromise = __toESM(require("compromise"), 1);
3171
3588
  var import_howler = require("howler");
3172
3589
  var import_react_use_audio_player2 = require("react-use-audio-player");
@@ -3204,15 +3621,15 @@ var getMessageSentences = function(param) {
3204
3621
  };
3205
3622
  var useMessageAudio = function(param) {
3206
3623
  var onEnd = param.onEnd;
3207
- var _ref = _sliced_to_array((0, import_react45.useState)(false), 2), isAudioPlayed = _ref[0], setIsAudioPlayed = _ref[1];
3208
- var _ref1 = _sliced_to_array((0, import_react45.useState)([]), 2), stoppedMessageIds = _ref1[0], setStoppedMessageIds = _ref1[1];
3209
- var _ref2 = _sliced_to_array((0, import_react45.useState)([]), 2), playedMessageSentences = _ref2[0], setPlayedMessageSentences = _ref2[1];
3624
+ var _ref = _sliced_to_array((0, import_react46.useState)(false), 2), isAudioPlayed = _ref[0], setIsAudioPlayed = _ref[1];
3625
+ var _ref1 = _sliced_to_array((0, import_react46.useState)([]), 2), stoppedMessageIds = _ref1[0], setStoppedMessageIds = _ref1[1];
3626
+ var _ref2 = _sliced_to_array((0, import_react46.useState)([]), 2), playedMessageSentences = _ref2[0], setPlayedMessageSentences = _ref2[1];
3210
3627
  var audioPlayer = (0, import_react_use_audio_player2.useAudioPlayer)();
3211
3628
  var nextAudioPlayer = (0, import_react_use_audio_player2.useAudioPlayer)();
3212
3629
  var superinterfaceContext = useSuperinterfaceContext();
3213
- var _ref3 = _sliced_to_array((0, import_react45.useState)(false), 2), isPlaying = _ref3[0], setIsPlaying = _ref3[1];
3630
+ var _ref3 = _sliced_to_array((0, import_react46.useState)(false), 2), isPlaying = _ref3[0], setIsPlaying = _ref3[1];
3214
3631
  var latestMessageProps = useLatestMessage();
3215
- var unplayedMessageSentences = (0, import_react45.useMemo)(function() {
3632
+ var unplayedMessageSentences = (0, import_react46.useMemo)(function() {
3216
3633
  if (!latestMessageProps.latestMessage) return [];
3217
3634
  if (latestMessageProps.latestMessage.role !== "assistant") return [];
3218
3635
  if (stoppedMessageIds.includes(latestMessageProps.latestMessage.id)) return [];
@@ -3233,7 +3650,7 @@ var useMessageAudio = function(param) {
3233
3650
  latestMessageProps,
3234
3651
  playedMessageSentences
3235
3652
  ]);
3236
- (0, import_react45.useEffect)(function() {
3653
+ (0, import_react46.useEffect)(function() {
3237
3654
  if (isPlaying) return;
3238
3655
  if (audioPlayer.playing) return;
3239
3656
  if (!latestMessageProps.latestMessage) return;
@@ -3301,7 +3718,7 @@ var useMessageAudio = function(param) {
3301
3718
  playedMessageSentences,
3302
3719
  onEnd
3303
3720
  ]);
3304
- (0, import_react45.useEffect)(function() {
3721
+ (0, import_react46.useEffect)(function() {
3305
3722
  if (isHtmlAudioSupported) {
3306
3723
  var _import_howler_Howler__howls___sounds_, _import_howler_Howler__howls_, _import_howler_Howler;
3307
3724
  if (!((_import_howler_Howler = import_howler.Howler) === null || _import_howler_Howler === void 0 ? void 0 : (_import_howler_Howler__howls_ = _import_howler_Howler._howls[0]) === null || _import_howler_Howler__howls_ === void 0 ? void 0 : (_import_howler_Howler__howls___sounds_ = _import_howler_Howler__howls_._sounds[0]) === null || _import_howler_Howler__howls___sounds_ === void 0 ? void 0 : _import_howler_Howler__howls___sounds_._node)) return;
@@ -3310,9 +3727,9 @@ var useMessageAudio = function(param) {
3310
3727
  }, [
3311
3728
  audioPlayer
3312
3729
  ]);
3313
- var _ref4 = _sliced_to_array((0, import_react45.useState)(null), 2), audioEngine = _ref4[0], setAudioEngine = _ref4[1];
3314
- var isAudioEngineInited = (0, import_react45.useRef)(false);
3315
- (0, import_react45.useEffect)(function() {
3730
+ var _ref4 = _sliced_to_array((0, import_react46.useState)(null), 2), audioEngine = _ref4[0], setAudioEngine = _ref4[1];
3731
+ var isAudioEngineInited = (0, import_react46.useRef)(false);
3732
+ (0, import_react46.useEffect)(function() {
3316
3733
  if (!audioPlayer.playing) return;
3317
3734
  if (isAudioEngineInited.current) return;
3318
3735
  isAudioEngineInited.current = true;
@@ -3333,7 +3750,7 @@ var useMessageAudio = function(param) {
3333
3750
  audioPlayer,
3334
3751
  isAudioEngineInited
3335
3752
  ]);
3336
- var visualizationAnalyser = (0, import_react45.useMemo)(function() {
3753
+ var visualizationAnalyser = (0, import_react46.useMemo)(function() {
3337
3754
  if (!audioEngine) return null;
3338
3755
  var result = audioEngine.audioContext.createAnalyser();
3339
3756
  audioEngine.source.connect(audioEngine.audioContext.destination);
@@ -3342,7 +3759,7 @@ var useMessageAudio = function(param) {
3342
3759
  }, [
3343
3760
  audioEngine
3344
3761
  ]);
3345
- var isPending = (0, import_react45.useMemo)(function() {
3762
+ var isPending = (0, import_react46.useMemo)(function() {
3346
3763
  return isPlaying || unplayedMessageSentences.length > 0;
3347
3764
  }, [
3348
3765
  isPlaying,
@@ -3356,8 +3773,8 @@ var useMessageAudio = function(param) {
3356
3773
  });
3357
3774
  };
3358
3775
  // src/components/threads/AudioThread/Root/index.tsx
3359
- var import_jsx_runtime58 = require("react/jsx-runtime");
3360
- var Root9 = function(param) {
3776
+ var import_jsx_runtime64 = require("react/jsx-runtime");
3777
+ var Root12 = function(param) {
3361
3778
  var children = param.children;
3362
3779
  var createMessageProps = useCreateMessage();
3363
3780
  var recorderProps = useRecorder({
@@ -3414,13 +3831,13 @@ var Root9 = function(param) {
3414
3831
  createMessageProps: createMessageProps,
3415
3832
  messageAudioProps: messageAudioProps
3416
3833
  }).status;
3417
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(AudioThreadContext.Provider, {
3834
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(AudioThreadContext.Provider, {
3418
3835
  value: {
3419
3836
  status: status,
3420
3837
  recorderProps: recorderProps,
3421
3838
  messageAudioProps: messageAudioProps
3422
3839
  },
3423
- children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_themes43.Flex, {
3840
+ children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_themes44.Flex, {
3424
3841
  direction: "column",
3425
3842
  flexGrow: "1",
3426
3843
  p: "9",
@@ -3429,25 +3846,25 @@ var Root9 = function(param) {
3429
3846
  });
3430
3847
  };
3431
3848
  // src/components/threads/AudioThread/Visualization/index.tsx
3432
- var import_react48 = require("react");
3849
+ var import_react49 = require("react");
3433
3850
  var import_lodash9 = __toESM(require("lodash"), 1);
3434
- var import_themes45 = require("@radix-ui/themes");
3851
+ var import_themes46 = require("@radix-ui/themes");
3435
3852
  // src/hooks/threads/useAudioThreadContext/index.ts
3436
- var import_react46 = require("react");
3853
+ var import_react47 = require("react");
3437
3854
  var useAudioThreadContext = function() {
3438
- return (0, import_react46.useContext)(AudioThreadContext);
3855
+ return (0, import_react47.useContext)(AudioThreadContext);
3439
3856
  };
3440
3857
  // src/components/threads/AudioThread/BarsVisualizer/index.tsx
3441
3858
  var import_lodash8 = __toESM(require("lodash"), 1);
3442
- var import_themes44 = require("@radix-ui/themes");
3443
- var import_react47 = require("react");
3859
+ var import_themes45 = require("@radix-ui/themes");
3860
+ var import_react48 = require("react");
3444
3861
  var import_radash14 = require("radash");
3445
- var import_jsx_runtime59 = require("react/jsx-runtime");
3862
+ var import_jsx_runtime65 = require("react/jsx-runtime");
3446
3863
  var barCount = 4;
3447
3864
  var BarsVisualizer = function(param) {
3448
3865
  var visualizationAnalyser = param.visualizationAnalyser, backgroundColor = param.backgroundColor, height = param.height, barWidth = param.barWidth;
3449
- var _ref = _sliced_to_array((0, import_react47.useState)([]), 2), barHeights = _ref[0], setBarHeights = _ref[1];
3450
- var draw = (0, import_react47.useCallback)(function(param) {
3866
+ var _ref = _sliced_to_array((0, import_react48.useState)([]), 2), barHeights = _ref[0], setBarHeights = _ref[1];
3867
+ var draw = (0, import_react48.useCallback)(function(param) {
3451
3868
  var visualizationAnalyser2 = param.visualizationAnalyser;
3452
3869
  if (!visualizationAnalyser2) {
3453
3870
  setBarHeights(Array(barCount).fill(0));
@@ -3465,7 +3882,7 @@ var BarsVisualizer = function(param) {
3465
3882
  });
3466
3883
  });
3467
3884
  }, []);
3468
- (0, import_react47.useEffect)(function() {
3885
+ (0, import_react48.useEffect)(function() {
3469
3886
  draw({
3470
3887
  visualizationAnalyser: visualizationAnalyser
3471
3888
  });
@@ -3473,7 +3890,7 @@ var BarsVisualizer = function(param) {
3473
3890
  draw,
3474
3891
  visualizationAnalyser
3475
3892
  ]);
3476
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_themes44.Grid, {
3893
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_themes45.Grid, {
3477
3894
  columns: "".concat(barCount),
3478
3895
  gap: "1",
3479
3896
  width: "auto",
@@ -3482,12 +3899,12 @@ var BarsVisualizer = function(param) {
3482
3899
  gridTemplateColumns: "repeat(4, minmax(0, 1fr))"
3483
3900
  },
3484
3901
  children: barHeights.map(function(barHeight, index) {
3485
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_themes44.Flex, {
3902
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_themes45.Flex, {
3486
3903
  direction: "column",
3487
3904
  align: "center",
3488
3905
  justify: "center",
3489
3906
  height: height,
3490
- children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_themes44.Flex, {
3907
+ children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_themes45.Flex, {
3491
3908
  minHeight: "50%",
3492
3909
  maxHeight: "100%",
3493
3910
  height: "".concat(barHeight + 20, "%"),
@@ -3502,12 +3919,12 @@ var BarsVisualizer = function(param) {
3502
3919
  });
3503
3920
  };
3504
3921
  // src/components/threads/AudioThread/Visualization/index.tsx
3505
- var import_jsx_runtime60 = require("react/jsx-runtime");
3922
+ var import_jsx_runtime66 = require("react/jsx-runtime");
3506
3923
  var Visualization = function() {
3507
3924
  var audioThreadContext = useAudioThreadContext();
3508
- var assistantNameContext = (0, import_react48.useContext)(AssistantNameContext);
3509
- var _ref = _sliced_to_array((0, import_react48.useState)(0), 2), scale = _ref[0], setScale = _ref[1];
3510
- var draw = (0, import_react48.useCallback)(function(param) {
3925
+ var assistantNameContext = (0, import_react49.useContext)(AssistantNameContext);
3926
+ var _ref = _sliced_to_array((0, import_react49.useState)(0), 2), scale = _ref[0], setScale = _ref[1];
3927
+ var draw = (0, import_react49.useCallback)(function(param) {
3511
3928
  var visualizationAnalyser = param.visualizationAnalyser;
3512
3929
  if (!visualizationAnalyser) {
3513
3930
  setScale(1);
@@ -3522,7 +3939,7 @@ var Visualization = function() {
3522
3939
  });
3523
3940
  });
3524
3941
  }, []);
3525
- (0, import_react48.useEffect)(function() {
3942
+ (0, import_react49.useEffect)(function() {
3526
3943
  draw({
3527
3944
  visualizationAnalyser: audioThreadContext.recorderProps.visualizationAnalyser
3528
3945
  });
@@ -3530,14 +3947,14 @@ var Visualization = function() {
3530
3947
  draw,
3531
3948
  audioThreadContext
3532
3949
  ]);
3533
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_themes45.Flex, {
3950
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_themes46.Flex, {
3534
3951
  direction: "column",
3535
3952
  align: "center",
3536
3953
  justify: "center",
3537
3954
  mb: "3",
3538
3955
  flexGrow: "1",
3539
3956
  children: [
3540
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_themes45.Flex, {
3957
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_themes46.Flex, {
3541
3958
  align: "center",
3542
3959
  justify: "center",
3543
3960
  height: "200px",
@@ -3547,20 +3964,20 @@ var Visualization = function() {
3547
3964
  borderRadius: "9999px",
3548
3965
  scale: scale
3549
3966
  },
3550
- children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(BarsVisualizer, {
3967
+ children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(BarsVisualizer, {
3551
3968
  visualizationAnalyser: audioThreadContext.messageAudioProps.visualizationAnalyser,
3552
3969
  backgroundColor: audioThreadContext.status === "playing" ? "var(--accent-11)" : "var(--gray-11)",
3553
3970
  height: "40px",
3554
3971
  barWidth: "24px"
3555
3972
  })
3556
3973
  }),
3557
- /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_themes45.Flex, {
3974
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_themes46.Flex, {
3558
3975
  ml: "-22.5px",
3559
3976
  gap: "3",
3560
3977
  pt: "5",
3561
3978
  children: [
3562
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(AssistantAvatar, {}),
3563
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Name, {
3979
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(AssistantAvatar, {}),
3980
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Name, {
3564
3981
  children: assistantNameContext
3565
3982
  })
3566
3983
  ]
@@ -3569,8 +3986,8 @@ var Visualization = function() {
3569
3986
  });
3570
3987
  };
3571
3988
  // src/components/threads/AudioThread/Status/StatusMessages.tsx
3572
- var import_themes46 = require("@radix-ui/themes");
3573
- var import_jsx_runtime61 = require("react/jsx-runtime");
3989
+ var import_themes47 = require("@radix-ui/themes");
3990
+ var import_jsx_runtime67 = require("react/jsx-runtime");
3574
3991
  var html = function(param) {
3575
3992
  var texts = param.texts;
3576
3993
  return "\n .status-messages-texts:after {\n content: '".concat(texts[0], "';\n animation: texts ").concat(texts.length * 5, "s linear infinite;\n }\n\n @keyframes texts {\n ").concat(texts.map(function(_10, i) {
@@ -3579,17 +3996,17 @@ var html = function(param) {
3579
3996
  };
3580
3997
  var StatusMessages = function(param) {
3581
3998
  var texts = param.texts;
3582
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_themes46.Flex, {
3999
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(import_themes47.Flex, {
3583
4000
  justify: "center",
3584
4001
  pb: "5",
3585
4002
  children: [
3586
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_themes46.Text, {
4003
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_themes47.Text, {
3587
4004
  size: "2",
3588
4005
  weight: "regular",
3589
4006
  color: "gray",
3590
4007
  className: "status-messages-texts"
3591
4008
  }),
3592
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("style", {
4009
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("style", {
3593
4010
  dangerouslySetInnerHTML: {
3594
4011
  __html: html({
3595
4012
  texts: texts
@@ -3600,11 +4017,11 @@ var StatusMessages = function(param) {
3600
4017
  });
3601
4018
  };
3602
4019
  // src/components/threads/AudioThread/Status/index.tsx
3603
- var import_jsx_runtime62 = require("react/jsx-runtime");
4020
+ var import_jsx_runtime68 = require("react/jsx-runtime");
3604
4021
  var Status = function() {
3605
4022
  var audioThreadContext = useAudioThreadContext();
3606
4023
  if (audioThreadContext.status === "recording") {
3607
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(StatusMessages, {
4024
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(StatusMessages, {
3608
4025
  texts: [
3609
4026
  "Start speaking",
3610
4027
  "Listening",
@@ -3618,31 +4035,31 @@ var Status = function() {
3618
4035
  "idle",
3619
4036
  "playerPaused"
3620
4037
  ].includes(audioThreadContext.status)) {
3621
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(StatusMessages, {
4038
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(StatusMessages, {
3622
4039
  texts: [
3623
4040
  "Click the button below to activate"
3624
4041
  ]
3625
4042
  });
3626
4043
  }
3627
4044
  if (audioThreadContext.status === "playing") {
3628
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(StatusMessages, {
4045
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(StatusMessages, {
3629
4046
  texts: [
3630
4047
  "Click the button below to interrupt"
3631
4048
  ]
3632
4049
  });
3633
4050
  }
3634
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(StatusMessages, {
4051
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(StatusMessages, {
3635
4052
  texts: [
3636
4053
  "Thinking"
3637
4054
  ]
3638
4055
  });
3639
4056
  };
3640
4057
  // src/components/threads/AudioThread/Form/index.tsx
3641
- var import_themes48 = require("@radix-ui/themes");
4058
+ var import_themes49 = require("@radix-ui/themes");
3642
4059
  // src/components/threads/AudioThread/Form/MicIcon.tsx
3643
- var import_jsx_runtime63 = require("react/jsx-runtime");
4060
+ var import_jsx_runtime69 = require("react/jsx-runtime");
3644
4061
  var MicIcon = function(props) {
3645
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("svg", _object_spread_props(_object_spread({
4062
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("svg", _object_spread_props(_object_spread({
3646
4063
  xmlns: "http://www.w3.org/2000/svg",
3647
4064
  fill: "currentColor",
3648
4065
  stroke: "currentColor",
@@ -3651,54 +4068,54 @@ var MicIcon = function(props) {
3651
4068
  height: "15",
3652
4069
  width: "15"
3653
4070
  }, props), {
3654
- children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("path", {
4071
+ children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("path", {
3655
4072
  stroke: "none",
3656
4073
  d: "M192 0c-53 0-96 43-96 96v160c0 53 43 96 96 96s96-43 96-96V96c0-53-43-96-96-96zM64 216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 89.1 66.2 162.7 152 174.4V464h-48c-13.3 0-24 10.7-24 24s10.7 24 24 24h144c13.3 0 24-10.7 24-24s-10.7-24-24-24h-48v-33.6c85.8-11.7 152-85.3 152-174.4v-40c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 70.7-57.3 128-128 128S64 326.7 64 256v-40z"
3657
4074
  })
3658
4075
  }));
3659
4076
  };
3660
4077
  // src/components/threads/AudioThread/Form/ActionButton/index.tsx
3661
- var import_themes47 = require("@radix-ui/themes");
3662
- var import_react_icons9 = require("@radix-ui/react-icons");
3663
- var import_jsx_runtime64 = require("react/jsx-runtime");
4078
+ var import_themes48 = require("@radix-ui/themes");
4079
+ var import_react_icons12 = require("@radix-ui/react-icons");
4080
+ var import_jsx_runtime70 = require("react/jsx-runtime");
3664
4081
  var ActionButton = function() {
3665
4082
  var audioThreadContext = useAudioThreadContext();
3666
4083
  var superinterfaceContext = useSuperinterfaceContext();
3667
4084
  if (audioThreadContext.status === "recording") {
3668
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_themes47.Flex, {
4085
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(import_themes48.Flex, {
3669
4086
  align: "center",
3670
4087
  children: [
3671
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_themes47.Flex, {
4088
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_themes48.Flex, {
3672
4089
  mr: "3",
3673
4090
  ml: "-7",
3674
- children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_themes47.IconButton, {
4091
+ children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_themes48.IconButton, {
3675
4092
  onClick: audioThreadContext.recorderProps.pause,
3676
4093
  color: "gray",
3677
4094
  variant: "soft",
3678
4095
  size: "1",
3679
- children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_react_icons9.PauseIcon, {})
4096
+ children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_react_icons12.PauseIcon, {})
3680
4097
  })
3681
4098
  }),
3682
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_themes47.IconButton, {
4099
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_themes48.IconButton, {
3683
4100
  onClick: audioThreadContext.recorderProps.stop,
3684
4101
  highContrast: true,
3685
4102
  variant: "soft",
3686
4103
  size: "4",
3687
- children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_react_icons9.ArrowUpIcon, {})
4104
+ children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_react_icons12.ArrowUpIcon, {})
3688
4105
  })
3689
4106
  ]
3690
4107
  });
3691
4108
  }
3692
4109
  if (audioThreadContext.status === "recorderPaused") {
3693
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_themes47.IconButton, {
4110
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_themes48.IconButton, {
3694
4111
  onClick: audioThreadContext.recorderProps.resume,
3695
4112
  color: "red",
3696
4113
  size: "4",
3697
- children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_react_icons9.ResumeIcon, {})
4114
+ children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_react_icons12.ResumeIcon, {})
3698
4115
  });
3699
4116
  }
3700
4117
  if (audioThreadContext.status === "idle") {
3701
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_themes47.IconButton, {
4118
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_themes48.IconButton, {
3702
4119
  onClick: function() {
3703
4120
  return audioThreadContext.recorderProps.start();
3704
4121
  },
@@ -3707,7 +4124,7 @@ var ActionButton = function() {
3707
4124
  });
3708
4125
  }
3709
4126
  if (audioThreadContext.status === "playing") {
3710
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_themes47.IconButton, {
4127
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_themes48.IconButton, {
3711
4128
  onClick: function() {
3712
4129
  var _superinterfaceContext_createMessageAbortControllerRef_current;
3713
4130
  audioThreadContext.messageAudioProps.stop();
@@ -3717,54 +4134,54 @@ var ActionButton = function() {
3717
4134
  size: "4",
3718
4135
  color: "gray",
3719
4136
  variant: "soft",
3720
- children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_react_icons9.StopIcon, {})
4137
+ children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_react_icons12.StopIcon, {})
3721
4138
  });
3722
4139
  }
3723
4140
  if (audioThreadContext.status === "playerPaused") {
3724
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_themes47.IconButton, {
4141
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_themes48.IconButton, {
3725
4142
  onClick: function() {
3726
4143
  return audioThreadContext.messageAudioProps.play();
3727
4144
  },
3728
4145
  size: "4",
3729
- children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_react_icons9.ResumeIcon, {})
4146
+ children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_react_icons12.ResumeIcon, {})
3730
4147
  });
3731
4148
  }
3732
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_themes47.IconButton, {
4149
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_themes48.IconButton, {
3733
4150
  size: "4",
3734
4151
  variant: "soft",
3735
4152
  disabled: true
3736
4153
  });
3737
4154
  };
3738
4155
  // src/components/threads/AudioThread/Form/index.tsx
3739
- var import_jsx_runtime65 = require("react/jsx-runtime");
4156
+ var import_jsx_runtime71 = require("react/jsx-runtime");
3740
4157
  var Form = function() {
3741
4158
  var audioThreadContext = useAudioThreadContext();
3742
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_themes48.Flex, {
4159
+ return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(import_themes49.Flex, {
3743
4160
  direction: "column",
3744
4161
  align: "center",
3745
4162
  children: [
3746
- /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(import_themes48.Flex, {
4163
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(import_themes49.Flex, {
3747
4164
  pb: "3",
3748
4165
  align: "center",
3749
4166
  children: [
3750
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_themes48.Flex, {
4167
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_themes49.Flex, {
3751
4168
  ml: "-22.5px",
3752
4169
  mr: "2",
3753
4170
  align: "center",
3754
- children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(MicIcon, {
4171
+ children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(MicIcon, {
3755
4172
  style: {
3756
4173
  color: audioThreadContext.status === "recording" ? "var(--accent-11)" : "var(--gray-11)"
3757
4174
  }
3758
4175
  })
3759
4176
  }),
3760
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_themes48.Flex, {
4177
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_themes49.Flex, {
3761
4178
  px: "2",
3762
4179
  py: "1",
3763
4180
  style: {
3764
4181
  backgroundColor: audioThreadContext.status === "recording" ? "var(--accent-4)" : "var(--gray-4)",
3765
4182
  borderRadius: "var(--radius-6)"
3766
4183
  },
3767
- children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(BarsVisualizer, {
4184
+ children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(BarsVisualizer, {
3768
4185
  visualizationAnalyser: audioThreadContext.recorderProps.visualizationAnalyser,
3769
4186
  backgroundColor: audioThreadContext.status === "recording" ? "var(--accent-11)" : "var(--gray-11)",
3770
4187
  height: "20px",
@@ -3773,57 +4190,54 @@ var Form = function() {
3773
4190
  })
3774
4191
  ]
3775
4192
  }),
3776
- /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(ActionButton, {})
4193
+ /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(ActionButton, {})
3777
4194
  ]
3778
4195
  });
3779
4196
  };
3780
4197
  // src/components/threads/AudioThread/index.tsx
3781
- var import_jsx_runtime66 = require("react/jsx-runtime");
4198
+ var import_jsx_runtime72 = require("react/jsx-runtime");
3782
4199
  var AudioThread = function(props) {
3783
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(Root9, _object_spread_props(_object_spread({}, props), {
4200
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(Root12, _object_spread_props(_object_spread({}, props), {
3784
4201
  children: [
3785
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Visualization, {}),
3786
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Status, {}),
3787
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Form, {})
4202
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Visualization, {}),
4203
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Status, {}),
4204
+ /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Form, {})
3788
4205
  ]
3789
4206
  }));
3790
4207
  };
3791
- AudioThread.Root = Root9;
4208
+ AudioThread.Root = Root12;
3792
4209
  AudioThread.Visualization = Visualization;
3793
4210
  AudioThread.Form = Form;
3794
4211
  // src/components/threads/AudioThreadDialog/index.tsx
3795
- var import_jsx_runtime67 = require("react/jsx-runtime");
4212
+ var import_jsx_runtime73 = require("react/jsx-runtime");
3796
4213
  var AudioThreadDialog = function() {
3797
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(Root7, {
4214
+ return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(Root9, {
3798
4215
  children: [
3799
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Content4.Root, {
3800
- children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(AudioThread, {})
4216
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Content4.Root, {
4217
+ children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(AudioThread, {})
3801
4218
  }),
3802
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Trigger, {
3803
- children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Button2, {})
3804
- })
4219
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Trigger, {})
3805
4220
  ]
3806
4221
  });
3807
4222
  };
3808
- AudioThreadDialog.Root = Root7;
4223
+ AudioThreadDialog.Root = Root9;
3809
4224
  AudioThreadDialog.Trigger = Trigger;
3810
- AudioThreadDialog.Button = Button2;
3811
4225
  AudioThreadDialog.Content = Content4;
3812
4226
  // src/components/suggestions/Suggestions/index.tsx
3813
- var import_react50 = require("react");
4227
+ var import_react51 = require("react");
3814
4228
  // src/components/suggestions/Suggestions/Content.tsx
3815
- var import_react49 = require("react");
4229
+ var import_react50 = require("react");
3816
4230
  var import_radash15 = require("radash");
3817
4231
  var import_react_children_utilities = require("react-children-utilities");
3818
- var import_themes50 = require("@radix-ui/themes");
4232
+ var import_themes51 = require("@radix-ui/themes");
3819
4233
  // src/components/suggestions/Suggestions/Item.tsx
3820
- var import_react_icons10 = require("@radix-ui/react-icons");
3821
- var import_themes49 = require("@radix-ui/themes");
3822
- var import_jsx_runtime68 = require("react/jsx-runtime");
4234
+ var import_react_icons13 = require("@radix-ui/react-icons");
4235
+ var import_themes50 = require("@radix-ui/themes");
4236
+ var import_jsx_runtime74 = require("react/jsx-runtime");
3823
4237
  var Item = function(param) {
3824
4238
  var suggestion = param.suggestion, isDisabled = param.isDisabled;
3825
4239
  var _useCreateMessage = useCreateMessage(), createMessage = _useCreateMessage.createMessage, isPending = _useCreateMessage.isPending;
3826
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Content5, {
4240
+ return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(Content5, {
3827
4241
  onClick: function() {
3828
4242
  createMessage({
3829
4243
  // @ts-ignore-next-line
@@ -3837,7 +4251,7 @@ var Item = function(param) {
3837
4251
  };
3838
4252
  var Content5 = function(param) {
3839
4253
  var onClick = param.onClick, isDisabled = param.isDisabled, isPending = param.isPending, children = param.children;
3840
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(import_themes49.Button, {
4254
+ return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(import_themes50.Button, {
3841
4255
  variant: "soft",
3842
4256
  onClick: onClick,
3843
4257
  disabled: isDisabled,
@@ -3847,14 +4261,14 @@ var Content5 = function(param) {
3847
4261
  flexShrink: 1
3848
4262
  },
3849
4263
  children: [
3850
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_themes49.Text, {
4264
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_themes50.Text, {
3851
4265
  size: "1",
3852
4266
  weight: "regular",
3853
4267
  children: children
3854
4268
  }),
3855
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_themes49.Spinner, {
4269
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_themes50.Spinner, {
3856
4270
  loading: isPending,
3857
- children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_react_icons10.ArrowUpIcon, {
4271
+ children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_react_icons13.ArrowUpIcon, {
3858
4272
  style: {
3859
4273
  flexShrink: 0
3860
4274
  }
@@ -3865,11 +4279,11 @@ var Content5 = function(param) {
3865
4279
  };
3866
4280
  Item.Content = Content5;
3867
4281
  // src/components/suggestions/Suggestions/Content.tsx
3868
- var import_jsx_runtime69 = require("react/jsx-runtime");
4282
+ var import_jsx_runtime75 = require("react/jsx-runtime");
3869
4283
  var Content6 = function(param) {
3870
4284
  var children = param.children;
3871
4285
  var isMutatingMessage = useIsMutatingMessage();
3872
- var suggestions = (0, import_react49.useMemo)(function() {
4286
+ var suggestions = (0, import_react50.useMemo)(function() {
3873
4287
  return (0, import_react_children_utilities.onlyText)(children).split(/\r?\n/).filter(function(c) {
3874
4288
  return !(0, import_radash15.isEmpty)(c);
3875
4289
  }).map(function(c) {
@@ -3879,12 +4293,12 @@ var Content6 = function(param) {
3879
4293
  children
3880
4294
  ]);
3881
4295
  if ((0, import_radash15.isEmpty)(suggestions)) return null;
3882
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_themes50.Flex, {
4296
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_themes51.Flex, {
3883
4297
  gap: "2",
3884
4298
  py: "2",
3885
4299
  wrap: "wrap",
3886
4300
  children: suggestions.map(function(suggestion) {
3887
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Item, {
4301
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(Item, {
3888
4302
  suggestion: suggestion,
3889
4303
  isDisabled: isMutatingMessage
3890
4304
  }, suggestion);
@@ -3892,11 +4306,11 @@ var Content6 = function(param) {
3892
4306
  });
3893
4307
  };
3894
4308
  // src/components/suggestions/Suggestions/index.tsx
3895
- var import_jsx_runtime70 = require("react/jsx-runtime");
4309
+ var import_jsx_runtime76 = require("react/jsx-runtime");
3896
4310
  var Suggestions = function(param) {
3897
4311
  var children = param.children;
3898
4312
  var latestMessageProps = useLatestMessage();
3899
- var isDisabled = (0, import_react50.useMemo)(function() {
4313
+ var isDisabled = (0, import_react51.useMemo)(function() {
3900
4314
  var // @ts-ignore-next-line
3901
4315
  _latestMessageProps_latestMessage_metadata, _latestMessageProps_latestMessage;
3902
4316
  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;
@@ -3905,51 +4319,51 @@ var Suggestions = function(param) {
3905
4319
  ]);
3906
4320
  if (latestMessageProps.isLoading) return null;
3907
4321
  if (isDisabled) return null;
3908
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Content6, {
4322
+ return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(Content6, {
3909
4323
  children: children
3910
4324
  });
3911
4325
  };
3912
4326
  Suggestions.Item = Item;
3913
4327
  // src/components/markdown/MarkdownProvider/index.tsx
3914
- var import_react51 = require("react");
3915
- var import_jsx_runtime71 = require("react/jsx-runtime");
4328
+ var import_react52 = require("react");
4329
+ var import_jsx_runtime77 = require("react/jsx-runtime");
3916
4330
  var MarkdownProvider = function(_param) {
3917
4331
  var children = _param.children, rest = _object_without_properties(_param, [
3918
4332
  "children"
3919
4333
  ]);
3920
4334
  var prevMarkdownContext = useMarkdownContext();
3921
- var value = (0, import_react51.useMemo)(function() {
4335
+ var value = (0, import_react52.useMemo)(function() {
3922
4336
  return merge(prevMarkdownContext, rest);
3923
4337
  }, [
3924
4338
  rest,
3925
4339
  prevMarkdownContext
3926
4340
  ]);
3927
- return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(MarkdownContext.Provider, {
4341
+ return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(MarkdownContext.Provider, {
3928
4342
  value: value,
3929
4343
  children: children
3930
4344
  });
3931
4345
  };
3932
4346
  // src/components/components/ComponentsProvider.tsx
3933
- var import_react53 = require("react");
4347
+ var import_react54 = require("react");
3934
4348
  // src/hooks/components/useComponents.ts
3935
- var import_react52 = require("react");
4349
+ var import_react53 = require("react");
3936
4350
  var useComponents = function() {
3937
- return (0, import_react52.useContext)(ComponentsContext);
4351
+ return (0, import_react53.useContext)(ComponentsContext);
3938
4352
  };
3939
4353
  // src/components/components/ComponentsProvider.tsx
3940
- var import_jsx_runtime72 = require("react/jsx-runtime");
4354
+ var import_jsx_runtime78 = require("react/jsx-runtime");
3941
4355
  var ComponentsProvider = function(_param) {
3942
4356
  var children = _param.children, rest = _object_without_properties(_param, [
3943
4357
  "children"
3944
4358
  ]);
3945
4359
  var prevComponents = useComponents();
3946
- var value = (0, import_react53.useMemo)(function() {
4360
+ var value = (0, import_react54.useMemo)(function() {
3947
4361
  return merge(prevComponents, rest);
3948
4362
  }, [
3949
4363
  rest,
3950
4364
  prevComponents
3951
4365
  ]);
3952
- return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(ComponentsContext.Provider, {
4366
+ return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(ComponentsContext.Provider, {
3953
4367
  value: value,
3954
4368
  children: children
3955
4369
  });