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