@superinterface/react 2.0.10 → 2.1.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
@@ -457,7 +457,7 @@ var SuperinterfaceProvider = function(param) {
457
457
  });
458
458
  };
459
459
  // src/components/threads/Thread/Messages/index.tsx
460
- var import_themes30 = require("@radix-ui/themes");
460
+ var import_themes31 = require("@radix-ui/themes");
461
461
  // src/components/threads/Thread/Messages/Content/index.tsx
462
462
  var import_react20 = require("react");
463
463
  // src/hooks/messages/useMessages/index.tsx
@@ -758,7 +758,7 @@ var useToasts = function() {
758
758
  };
759
759
  // src/components/threads/Thread/Messages/Content/MessageGroup/index.tsx
760
760
  var import_react19 = require("react");
761
- var import_themes25 = require("@radix-ui/themes");
761
+ var import_themes26 = require("@radix-ui/themes");
762
762
  var import_react_icons4 = require("@radix-ui/react-icons");
763
763
  // src/components/messageGroups/MessageGroupBase/AssistantAvatar.tsx
764
764
  var import_react10 = require("react");
@@ -791,10 +791,10 @@ var AssistantAvatar = function() {
791
791
  var import_react11 = require("react");
792
792
  var AssistantNameContext = (0, import_react11.createContext)("Assistant");
793
793
  // src/components/threads/Thread/Messages/Content/MessageGroup/Content/index.tsx
794
- var import_themes24 = require("@radix-ui/themes");
794
+ var import_themes25 = require("@radix-ui/themes");
795
795
  // src/components/threads/Thread/Message/index.tsx
796
796
  var import_react18 = require("react");
797
- var import_themes23 = require("@radix-ui/themes");
797
+ var import_themes24 = require("@radix-ui/themes");
798
798
  // src/components/runSteps/RunSteps/index.tsx
799
799
  var import_themes14 = require("@radix-ui/themes");
800
800
  // src/components/runSteps/RunStep/ToolCalls/index.tsx
@@ -1178,6 +1178,20 @@ var Code2 = function(param) {
1178
1178
  children: children
1179
1179
  });
1180
1180
  };
1181
+ // src/contexts/markdown/MarkdownContext/lib/components/Img.tsx
1182
+ var import_themes23 = require("@radix-ui/themes");
1183
+ var import_jsx_runtime28 = require("react/jsx-runtime");
1184
+ var Img = function(props) {
1185
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_themes23.Box, {
1186
+ pb: "3",
1187
+ children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("img", _object_spread_props(_object_spread({}, props), {
1188
+ style: {
1189
+ maxWidth: "100%",
1190
+ height: "auto"
1191
+ }
1192
+ }))
1193
+ });
1194
+ };
1181
1195
  // src/contexts/markdown/MarkdownContext/lib/components/index.tsx
1182
1196
  var components = {
1183
1197
  p: Paragraph,
@@ -1187,7 +1201,8 @@ var components = {
1187
1201
  ol: OrderedList,
1188
1202
  li: ListItem,
1189
1203
  pre: Pre,
1190
- code: Code2
1204
+ code: Code2,
1205
+ img: Img
1191
1206
  };
1192
1207
  // src/contexts/markdown/MarkdownContext/index.ts
1193
1208
  var MarkdownContext = (0, import_react16.createContext)({
@@ -1207,7 +1222,7 @@ var TextContent = function(param) {
1207
1222
  return (0, import_react_remark.useRemarkSync)(content.text.value, markdownContext);
1208
1223
  };
1209
1224
  // src/components/threads/Thread/Message/index.tsx
1210
- var import_jsx_runtime28 = require("react/jsx-runtime");
1225
+ var import_jsx_runtime29 = require("react/jsx-runtime");
1211
1226
  var Message = function(param) {
1212
1227
  var message = param.message;
1213
1228
  var _ref = _sliced_to_array((0, import_react18.useMemo)(function() {
@@ -1242,23 +1257,23 @@ var Message = function(param) {
1242
1257
  }, [
1243
1258
  message
1244
1259
  ]), 2), olderRunSteps = _ref[0], laterRunSteps = _ref[1];
1245
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(Provider, {
1260
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Provider, {
1246
1261
  value: {
1247
1262
  message: message
1248
1263
  },
1249
- children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_themes23.Box, {
1264
+ children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_themes24.Box, {
1250
1265
  children: [
1251
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(RunSteps, {
1266
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(RunSteps, {
1252
1267
  runSteps: olderRunSteps
1253
1268
  }),
1254
1269
  message.content.map(function(content, index) {
1255
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_themes23.Box, {
1256
- children: content.type === "text" && /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(TextContent, {
1270
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_themes24.Box, {
1271
+ children: content.type === "text" && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(TextContent, {
1257
1272
  content: content
1258
1273
  })
1259
1274
  }, index);
1260
1275
  }),
1261
- /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(RunSteps, {
1276
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(RunSteps, {
1262
1277
  runSteps: laterRunSteps
1263
1278
  })
1264
1279
  ]
@@ -1266,36 +1281,36 @@ var Message = function(param) {
1266
1281
  });
1267
1282
  };
1268
1283
  // src/components/threads/Thread/Messages/Content/MessageGroup/Content/index.tsx
1269
- var import_jsx_runtime29 = require("react/jsx-runtime");
1284
+ var import_jsx_runtime30 = require("react/jsx-runtime");
1270
1285
  var Content2 = function(param) {
1271
1286
  var messageGroup = param.messageGroup;
1272
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_themes24.Flex, {
1287
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_themes25.Flex, {
1273
1288
  direction: "column-reverse",
1274
1289
  children: messageGroup.messages.map(function(message) {
1275
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Message, {
1290
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Message, {
1276
1291
  message: message
1277
1292
  }, message.id);
1278
1293
  })
1279
1294
  });
1280
1295
  };
1281
1296
  // src/components/threads/Thread/Messages/Content/MessageGroup/index.tsx
1282
- var import_jsx_runtime30 = require("react/jsx-runtime");
1297
+ var import_jsx_runtime31 = require("react/jsx-runtime");
1283
1298
  var MessageGroup = function(param) {
1284
1299
  var messageGroup = param.messageGroup;
1285
1300
  var assistantNameContext = (0, import_react19.useContext)(AssistantNameContext);
1286
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(MessageGroupBase, {
1301
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(MessageGroupBase, {
1287
1302
  children: [
1288
- messageGroup.role === "user" ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_themes25.Avatar, {
1289
- fallback: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_react_icons4.PersonIcon, {}),
1303
+ messageGroup.role === "user" ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_themes26.Avatar, {
1304
+ fallback: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_react_icons4.PersonIcon, {}),
1290
1305
  size: "1"
1291
- }) : /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(AssistantAvatar, {}),
1292
- /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_themes25.Box, {
1306
+ }) : /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(AssistantAvatar, {}),
1307
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(import_themes26.Box, {
1293
1308
  flexGrow: "1",
1294
1309
  children: [
1295
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Name, {
1310
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Name, {
1296
1311
  children: messageGroup.role === "user" ? "You" : assistantNameContext
1297
1312
  }),
1298
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Content2, {
1313
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(Content2, {
1299
1314
  messageGroup: messageGroup
1300
1315
  })
1301
1316
  ]
@@ -1304,7 +1319,7 @@ var MessageGroup = function(param) {
1304
1319
  });
1305
1320
  };
1306
1321
  // src/components/threads/Thread/Messages/Content/index.tsx
1307
- var import_jsx_runtime31 = require("react/jsx-runtime");
1322
+ var import_jsx_runtime32 = require("react/jsx-runtime");
1308
1323
  var Content3 = function() {
1309
1324
  var _useMessages = useMessages(), messages2 = _useMessages.messages, isLoading = _useMessages.isLoading, isLoadingError = _useMessages.isLoadingError;
1310
1325
  var addToast = useToasts().addToast;
@@ -1323,23 +1338,23 @@ var Content3 = function() {
1323
1338
  addToast
1324
1339
  ]);
1325
1340
  if (isLoading || isLoadingError) {
1326
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(MessagesSkeleton, {});
1341
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(MessagesSkeleton, {});
1327
1342
  }
1328
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_jsx_runtime31.Fragment, {
1343
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_jsx_runtime32.Fragment, {
1329
1344
  children: messageGroups2.map(function(messageGroup) {
1330
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(MessageGroup, {
1345
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(MessageGroup, {
1331
1346
  messageGroup: messageGroup
1332
1347
  }, messageGroup.id);
1333
1348
  })
1334
1349
  });
1335
1350
  };
1336
1351
  // src/components/threads/Thread/Messages/Progress/index.tsx
1337
- var import_themes28 = require("@radix-ui/themes");
1352
+ var import_themes29 = require("@radix-ui/themes");
1338
1353
  // src/components/skeletons/StartingContentSkeleton/index.tsx
1339
- var import_themes26 = require("@radix-ui/themes");
1340
- var import_jsx_runtime32 = require("react/jsx-runtime");
1354
+ var import_themes27 = require("@radix-ui/themes");
1355
+ var import_jsx_runtime33 = require("react/jsx-runtime");
1341
1356
  var StartingContentSkeleton = function() {
1342
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_themes26.Skeleton, {
1357
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_themes27.Skeleton, {
1343
1358
  loading: true,
1344
1359
  mt: "1",
1345
1360
  height: "var(--space-4)",
@@ -1352,21 +1367,21 @@ var StartingContentSkeleton = function() {
1352
1367
  };
1353
1368
  // src/components/skeletons/StartingSkeleton/index.tsx
1354
1369
  var import_react21 = require("react");
1355
- var import_themes27 = require("@radix-ui/themes");
1356
- var import_jsx_runtime33 = require("react/jsx-runtime");
1370
+ var import_themes28 = require("@radix-ui/themes");
1371
+ var import_jsx_runtime34 = require("react/jsx-runtime");
1357
1372
  var StartingSkeleton = function(param) {
1358
1373
  var children = param.children;
1359
1374
  var assistantNameContext = (0, import_react21.useContext)(AssistantNameContext);
1360
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(MessageGroupBase, {
1375
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(MessageGroupBase, {
1361
1376
  children: [
1362
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(AssistantAvatar, {}),
1363
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_themes27.Box, {
1377
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(AssistantAvatar, {}),
1378
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_themes28.Box, {
1364
1379
  children: [
1365
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Name, {
1380
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Name, {
1366
1381
  children: assistantNameContext
1367
1382
  }),
1368
1383
  children,
1369
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(StartingContentSkeleton, {})
1384
+ /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(StartingContentSkeleton, {})
1370
1385
  ]
1371
1386
  })
1372
1387
  ]
@@ -1537,26 +1552,26 @@ var useIsRunActive = function() {
1537
1552
  ]);
1538
1553
  };
1539
1554
  // src/components/threads/Thread/Messages/Progress/index.tsx
1540
- var import_jsx_runtime34 = require("react/jsx-runtime");
1555
+ var import_jsx_runtime35 = require("react/jsx-runtime");
1541
1556
  var Progress = function() {
1542
1557
  var _useIsRunActive = useIsRunActive(), isRunActive2 = _useIsRunActive.isRunActive;
1543
1558
  var latestMessage = useLatestMessage().latestMessage;
1544
1559
  if (!latestMessage) return null;
1545
1560
  if (!isRunActive2) return null;
1546
1561
  if (latestMessage.role === "user") {
1547
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(StartingSkeleton, {});
1562
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(StartingSkeleton, {});
1548
1563
  }
1549
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(MessageGroupBase, {
1564
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(MessageGroupBase, {
1550
1565
  children: [
1551
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_themes28.Box, {
1566
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_themes29.Box, {
1552
1567
  pl: "5"
1553
1568
  }),
1554
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(StartingContentSkeleton, {})
1569
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(StartingContentSkeleton, {})
1555
1570
  ]
1556
1571
  });
1557
1572
  };
1558
1573
  // src/components/threads/Thread/Messages/Root/index.tsx
1559
- var import_themes29 = require("@radix-ui/themes");
1574
+ var import_themes30 = require("@radix-ui/themes");
1560
1575
  // src/hooks/misc/useInfiniteScroll/index.tsx
1561
1576
  var import_react29 = require("react");
1562
1577
  var import_react_intersection_observer = require("react-intersection-observer");
@@ -2156,7 +2171,7 @@ var useLifecycle = function() {
2156
2171
  return null;
2157
2172
  };
2158
2173
  // src/components/threads/Thread/Messages/Root/index.tsx
2159
- var import_jsx_runtime35 = require("react/jsx-runtime");
2174
+ var import_jsx_runtime36 = require("react/jsx-runtime");
2160
2175
  var Root = function(param) {
2161
2176
  var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
2162
2177
  var _useMessages = useMessages(), isFetchingNextPage = _useMessages.isFetchingNextPage, hasNextPage = _useMessages.hasNextPage, fetchNextPage = _useMessages.fetchNextPage;
@@ -2166,7 +2181,7 @@ var Root = function(param) {
2166
2181
  hasNextPage: hasNextPage,
2167
2182
  fetchNextPage: fetchNextPage
2168
2183
  }), containerRef = _useInfiniteScroll.containerRef, loaderRef = _useInfiniteScroll.loaderRef;
2169
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_themes29.Flex, {
2184
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_themes30.Flex, {
2170
2185
  ref: containerRef,
2171
2186
  direction: "column-reverse",
2172
2187
  flexGrow: "1",
@@ -2175,10 +2190,10 @@ var Root = function(param) {
2175
2190
  }),
2176
2191
  children: [
2177
2192
  children,
2178
- hasNextPage && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_themes29.Flex, {
2193
+ hasNextPage && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_themes30.Flex, {
2179
2194
  ref: loaderRef
2180
2195
  }),
2181
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_themes29.Flex, {
2196
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_themes30.Flex, {
2182
2197
  flexShrink: "0",
2183
2198
  flexGrow: "1"
2184
2199
  })
@@ -2186,30 +2201,30 @@ var Root = function(param) {
2186
2201
  });
2187
2202
  };
2188
2203
  // src/components/threads/Thread/Messages/NextPageSkeleton.tsx
2189
- var import_jsx_runtime36 = require("react/jsx-runtime");
2204
+ var import_jsx_runtime37 = require("react/jsx-runtime");
2190
2205
  var NextPageSkeleton = function() {
2191
2206
  var hasNextPage = useMessages().hasNextPage;
2192
2207
  if (!hasNextPage) {
2193
2208
  return null;
2194
2209
  }
2195
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(MessagesSkeleton, {});
2210
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(MessagesSkeleton, {});
2196
2211
  };
2197
2212
  // src/components/threads/Thread/Messages/index.tsx
2198
- var import_jsx_runtime37 = require("react/jsx-runtime");
2213
+ var import_jsx_runtime38 = require("react/jsx-runtime");
2199
2214
  var Messages = function(param) {
2200
2215
  var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
2201
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(Root, {
2216
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(Root, {
2202
2217
  style: style,
2203
2218
  children: [
2204
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_themes30.Flex, {
2219
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_themes31.Flex, {
2205
2220
  flexShrink: "0",
2206
2221
  height: "var(--space-3)"
2207
2222
  }),
2208
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Progress, {}),
2223
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Progress, {}),
2209
2224
  children,
2210
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(Content3, {}),
2211
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(NextPageSkeleton, {}),
2212
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_themes30.Flex, {
2225
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Content3, {}),
2226
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(NextPageSkeleton, {}),
2227
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_themes31.Flex, {
2213
2228
  flexShrink: "0",
2214
2229
  flexGrow: "1"
2215
2230
  })
@@ -2220,10 +2235,10 @@ Messages.Root = Root;
2220
2235
  Messages.Message = Message;
2221
2236
  Messages.NextPageSkeleton = NextPageSkeleton;
2222
2237
  // src/components/threads/Thread/MessageForm/index.tsx
2223
- var import_themes33 = require("@radix-ui/themes");
2238
+ var import_themes34 = require("@radix-ui/themes");
2224
2239
  // src/components/threads/Thread/MessageForm/Submit/index.tsx
2225
2240
  var import_react_icons5 = require("@radix-ui/react-icons");
2226
- var import_themes31 = require("@radix-ui/themes");
2241
+ var import_themes32 = require("@radix-ui/themes");
2227
2242
  // src/hooks/messages/useMessageFormContext/index.ts
2228
2243
  var import_react34 = require("react");
2229
2244
  // src/contexts/messages/MessageFormContext/index.ts
@@ -2237,16 +2252,16 @@ var useMessageFormContext = function() {
2237
2252
  return (0, import_react34.useContext)(MessageFormContext);
2238
2253
  };
2239
2254
  // src/components/threads/Thread/MessageForm/Submit/index.tsx
2240
- var import_jsx_runtime38 = require("react/jsx-runtime");
2255
+ var import_jsx_runtime39 = require("react/jsx-runtime");
2241
2256
  var Submit = function() {
2242
2257
  var _useMessageFormContext = useMessageFormContext(), isDisabled = _useMessageFormContext.isDisabled, isLoading = _useMessageFormContext.isLoading;
2243
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_themes31.Button, {
2258
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_themes32.Button, {
2244
2259
  type: "submit",
2245
2260
  radius: "large",
2246
2261
  disabled: isDisabled || isLoading,
2247
- children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_themes31.Spinner, {
2262
+ children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_themes32.Spinner, {
2248
2263
  loading: isLoading,
2249
- children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_react_icons5.ArrowUpIcon, {})
2264
+ children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_icons5.ArrowUpIcon, {})
2250
2265
  })
2251
2266
  });
2252
2267
  };
@@ -2436,7 +2451,7 @@ var formOptions = {
2436
2451
  resolver: (0, import_zod2.zodResolver)(schema)
2437
2452
  };
2438
2453
  // src/components/threads/Thread/MessageForm/Root/index.tsx
2439
- var import_jsx_runtime39 = require("react/jsx-runtime");
2454
+ var import_jsx_runtime40 = require("react/jsx-runtime");
2440
2455
  var Root2 = function(param) {
2441
2456
  var children = param.children;
2442
2457
  var formProps = (0, import_react_hook_form.useForm)(formOptions);
@@ -2490,13 +2505,13 @@ var Root2 = function(param) {
2490
2505
  latestMessage,
2491
2506
  isLoading
2492
2507
  ]);
2493
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(MessageFormContext.Provider, {
2508
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(MessageFormContext.Provider, {
2494
2509
  value: {
2495
2510
  isDisabled: isDisabled,
2496
2511
  isLoading: isLoading
2497
2512
  },
2498
- children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_hook_form.FormProvider, _object_spread_props(_object_spread({}, formProps), {
2499
- children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("form", {
2513
+ children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_react_hook_form.FormProvider, _object_spread_props(_object_spread({}, formProps), {
2514
+ children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("form", {
2500
2515
  onSubmit: handleSubmit(onSubmit),
2501
2516
  children: children
2502
2517
  })
@@ -2509,15 +2524,15 @@ var import_react37 = require("react");
2509
2524
  // src/components/textareas/TextareaBase/index.tsx
2510
2525
  var import_react36 = require("react");
2511
2526
  var import_react_textarea_autosize = __toESM(require("react-textarea-autosize"), 1);
2512
- var import_jsx_runtime40 = require("react/jsx-runtime");
2527
+ var import_jsx_runtime41 = require("react/jsx-runtime");
2513
2528
  var UPSCALE_RATIO = 16 / 14;
2514
2529
  var TextareaBase = (0, import_react36.forwardRef)(function TextareaBase2(props, ref) {
2515
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_jsx_runtime40.Fragment, {
2530
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_jsx_runtime41.Fragment, {
2516
2531
  children: [
2517
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("style", {
2532
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("style", {
2518
2533
  children: ".superinterface-textarea { min-height: inherit; height: 30px; }\n.superinterface-textarea::placeholder { color: var(--gray-a10); }"
2519
2534
  }),
2520
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_react_textarea_autosize.default, _object_spread({
2535
+ /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_react_textarea_autosize.default, _object_spread({
2521
2536
  ref: ref,
2522
2537
  className: "rt-reset superinterface-textarea",
2523
2538
  style: {
@@ -2541,21 +2556,21 @@ var TextareaBase = (0, import_react36.forwardRef)(function TextareaBase2(props,
2541
2556
  });
2542
2557
  // src/components/threads/Thread/MessageForm/Field/index.tsx
2543
2558
  var import_react_hook_form2 = require("react-hook-form");
2544
- var import_themes32 = require("@radix-ui/themes");
2545
- var import_jsx_runtime41 = require("react/jsx-runtime");
2559
+ var import_themes33 = require("@radix-ui/themes");
2560
+ var import_jsx_runtime42 = require("react/jsx-runtime");
2546
2561
  var Root3 = function(param) {
2547
2562
  var children = param.children;
2548
2563
  var _ref = (0, import_react_hook_form2.useFormContext)(), errors = _ref.formState.errors;
2549
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_themes32.Container, {
2564
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes33.Container, {
2550
2565
  size: "2",
2551
2566
  flexGrow: "0",
2552
- children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_themes32.Flex, {
2567
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes33.Flex, {
2553
2568
  direction: "column",
2554
2569
  flexShrink: "0",
2555
- children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_themes32.Flex, {
2570
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes33.Flex, {
2556
2571
  direction: "column",
2557
2572
  flexShrink: "0",
2558
- children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_themes32.Flex, {
2573
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes33.Flex, {
2559
2574
  style: _object_spread({
2560
2575
  borderRadius: "var(--radius-2)",
2561
2576
  borderWidth: "1px",
@@ -2595,7 +2610,7 @@ var Control = function() {
2595
2610
  isDisabledPrevious,
2596
2611
  textareaProps
2597
2612
  ]);
2598
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(TextareaBase, _object_spread_props(_object_spread({
2613
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(TextareaBase, _object_spread_props(_object_spread({
2599
2614
  minRows: 1,
2600
2615
  placeholder: "Message ".concat(assistantNameContext, "..."),
2601
2616
  disabled: isDisabled,
@@ -2619,26 +2634,26 @@ var Field = {
2619
2634
  Control: Control
2620
2635
  };
2621
2636
  // src/components/threads/Thread/MessageForm/index.tsx
2622
- var import_jsx_runtime42 = require("react/jsx-runtime");
2637
+ var import_jsx_runtime43 = require("react/jsx-runtime");
2623
2638
  var MessageForm = function() {
2624
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Root2, {
2625
- children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Field.Root, {
2639
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Root2, {
2640
+ children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(Field.Root, {
2626
2641
  children: [
2627
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes33.Text, {
2642
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_themes34.Text, {
2628
2643
  size: "2",
2629
2644
  style: {
2630
2645
  flexGrow: 1
2631
2646
  },
2632
- children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes33.Flex, {
2647
+ children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_themes34.Flex, {
2633
2648
  flexGrow: "1",
2634
2649
  direction: "column",
2635
- children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Field.Control, {})
2650
+ children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Field.Control, {})
2636
2651
  })
2637
2652
  }),
2638
- /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes33.Flex, {
2653
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_themes34.Flex, {
2639
2654
  flexShrink: "0",
2640
2655
  align: "end",
2641
- children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Submit, {})
2656
+ children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Submit, {})
2642
2657
  })
2643
2658
  ]
2644
2659
  })
@@ -2648,14 +2663,14 @@ MessageForm.Root = Root2;
2648
2663
  MessageForm.Field = Field;
2649
2664
  MessageForm.Submit = Submit;
2650
2665
  // src/components/threads/Thread/Root/index.tsx
2651
- var import_themes34 = require("@radix-ui/themes");
2666
+ var import_themes35 = require("@radix-ui/themes");
2652
2667
  // src/components/runs/PollingProvider/index.tsx
2653
2668
  var import_react38 = require("react");
2654
- var import_jsx_runtime43 = require("react/jsx-runtime");
2669
+ var import_jsx_runtime44 = require("react/jsx-runtime");
2655
2670
  var PollingProvider = function(param) {
2656
2671
  var children = param.children;
2657
2672
  var _ref = _sliced_to_array((0, import_react38.useState)(false), 2), isPollRefetching = _ref[0], setIsPollRefetching = _ref[1];
2658
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(PollingContext.Provider, {
2673
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(PollingContext.Provider, {
2659
2674
  value: {
2660
2675
  isPollRefetching: isPollRefetching,
2661
2676
  setIsPollRefetching: setIsPollRefetching
@@ -2664,20 +2679,20 @@ var PollingProvider = function(param) {
2664
2679
  });
2665
2680
  };
2666
2681
  // src/components/threads/Thread/Provider/index.tsx
2667
- var import_jsx_runtime44 = require("react/jsx-runtime");
2682
+ var import_jsx_runtime45 = require("react/jsx-runtime");
2668
2683
  var Provider2 = function(args) {
2669
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(PollingProvider, {
2670
- children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(SuperinterfaceProvider, _object_spread({}, args))
2684
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(PollingProvider, {
2685
+ children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(SuperinterfaceProvider, _object_spread({}, args))
2671
2686
  });
2672
2687
  };
2673
2688
  // src/components/threads/Thread/Root/index.tsx
2674
- var import_jsx_runtime45 = require("react/jsx-runtime");
2689
+ var import_jsx_runtime46 = require("react/jsx-runtime");
2675
2690
  var Root4 = function(_param) {
2676
2691
  var children = _param.children, rest = _object_without_properties(_param, [
2677
2692
  "children"
2678
2693
  ]);
2679
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Provider2, _object_spread_props(_object_spread({}, rest), {
2680
- children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_themes34.Flex, {
2694
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Provider2, _object_spread_props(_object_spread({}, rest), {
2695
+ children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_themes35.Flex, {
2681
2696
  direction: "column",
2682
2697
  flexGrow: "1",
2683
2698
  children: children
@@ -2685,12 +2700,12 @@ var Root4 = function(_param) {
2685
2700
  }));
2686
2701
  };
2687
2702
  // src/components/threads/Thread/index.tsx
2688
- var import_jsx_runtime46 = require("react/jsx-runtime");
2703
+ var import_jsx_runtime47 = require("react/jsx-runtime");
2689
2704
  var Thread = function(props) {
2690
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(Root4, _object_spread_props(_object_spread({}, props), {
2705
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(Root4, _object_spread_props(_object_spread({}, props), {
2691
2706
  children: [
2692
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Messages, {}),
2693
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(MessageForm, {})
2707
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Messages, {}),
2708
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(MessageForm, {})
2694
2709
  ]
2695
2710
  }));
2696
2711
  };
@@ -2702,8 +2717,6 @@ var import_react39 = require("react");
2702
2717
  var useMessageContext = function() {
2703
2718
  return (0, import_react39.useContext)(MessageContext);
2704
2719
  };
2705
- // src/components/threads/ThreadDialog/Root/index.tsx
2706
- var import_themes36 = require("@radix-ui/themes");
2707
2720
  // src/components/threads/ThreadDialog/Provider/index.tsx
2708
2721
  var import_react42 = require("react");
2709
2722
  // src/contexts/threads/ThreadDialogContext/index.ts
@@ -2718,12 +2731,12 @@ var useThreadDialogContext = function() {
2718
2731
  return (0, import_react41.useContext)(ThreadDialogContext);
2719
2732
  };
2720
2733
  // src/components/threads/ThreadDialog/Provider/index.tsx
2721
- var import_jsx_runtime47 = require("react/jsx-runtime");
2734
+ var import_jsx_runtime48 = require("react/jsx-runtime");
2722
2735
  var Provider3 = function(param) {
2723
2736
  var children = param.children;
2724
2737
  var threadDialogContext = useThreadDialogContext();
2725
2738
  var _ref = _sliced_to_array((0, import_react42.useState)(threadDialogContext.isOpen), 2), isOpen = _ref[0], setIsOpen = _ref[1];
2726
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(ThreadDialogContext.Provider, {
2739
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(ThreadDialogContext.Provider, {
2727
2740
  value: {
2728
2741
  isOpen: isOpen,
2729
2742
  setIsOpen: setIsOpen
@@ -2736,27 +2749,27 @@ var import_react43 = require("react");
2736
2749
  var Toast2 = __toESM(require("@radix-ui/react-toast"), 1);
2737
2750
  // src/components/toasts/ToastsProvider/CustomToast.tsx
2738
2751
  var Toast = __toESM(require("@radix-ui/react-toast"), 1);
2739
- var import_themes35 = require("@radix-ui/themes");
2752
+ var import_themes36 = require("@radix-ui/themes");
2740
2753
  var import_react_icons6 = require("@radix-ui/react-icons");
2741
- var import_jsx_runtime48 = require("react/jsx-runtime");
2754
+ var import_jsx_runtime49 = require("react/jsx-runtime");
2742
2755
  var CustomToast = function(param) {
2743
2756
  var toast = param.toast;
2744
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Toast.Root, {
2745
- children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_themes35.Card, {
2746
- children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Toast.Title, {
2747
- children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(import_themes35.Flex, {
2757
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Toast.Root, {
2758
+ children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_themes36.Card, {
2759
+ children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Toast.Title, {
2760
+ children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_themes36.Flex, {
2748
2761
  children: [
2749
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_themes35.Flex, {
2762
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_themes36.Flex, {
2750
2763
  pr: "2",
2751
2764
  height: "14px",
2752
2765
  align: "center",
2753
- children: toast.type === "success" ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_react_icons6.CheckCircledIcon, {
2766
+ children: toast.type === "success" ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_react_icons6.CheckCircledIcon, {
2754
2767
  color: "var(--mint-9)"
2755
- }) : /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_react_icons6.CrossCircledIcon, {
2768
+ }) : /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_react_icons6.CrossCircledIcon, {
2756
2769
  color: "var(--red-9)"
2757
2770
  })
2758
2771
  }),
2759
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_themes35.Text, {
2772
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_themes36.Text, {
2760
2773
  weight: "medium",
2761
2774
  size: "1",
2762
2775
  children: toast.message
@@ -2768,7 +2781,7 @@ var CustomToast = function(param) {
2768
2781
  });
2769
2782
  };
2770
2783
  // src/components/toasts/ToastsProvider/index.tsx
2771
- var import_jsx_runtime49 = require("react/jsx-runtime");
2784
+ var import_jsx_runtime50 = require("react/jsx-runtime");
2772
2785
  var ToastsProvider = function(param) {
2773
2786
  var children = param.children;
2774
2787
  var _ref = _sliced_to_array((0, import_react43.useState)([]), 2), toasts = _ref[0], setToasts = _ref[1];
@@ -2779,20 +2792,20 @@ var ToastsProvider = function(param) {
2779
2792
  ]);
2780
2793
  });
2781
2794
  }, []);
2782
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ToastsContext.Provider, {
2795
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ToastsContext.Provider, {
2783
2796
  value: {
2784
2797
  toasts: toasts,
2785
2798
  addToast: addToast
2786
2799
  },
2787
- children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Toast2.Provider, {
2800
+ children: /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(Toast2.Provider, {
2788
2801
  children: [
2789
2802
  children,
2790
2803
  Array.from(toasts).map(function(toast, index) {
2791
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(CustomToast, {
2804
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(CustomToast, {
2792
2805
  toast: toast
2793
2806
  }, index);
2794
2807
  }),
2795
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Toast2.Viewport, {
2808
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Toast2.Viewport, {
2796
2809
  style: {
2797
2810
  position: "absolute",
2798
2811
  bottom: 0,
@@ -2814,34 +2827,26 @@ var ToastsProvider = function(param) {
2814
2827
  });
2815
2828
  };
2816
2829
  // src/components/threads/ThreadDialog/Root/index.tsx
2817
- var import_jsx_runtime50 = require("react/jsx-runtime");
2830
+ var import_jsx_runtime51 = require("react/jsx-runtime");
2818
2831
  var Root6 = function(param) {
2819
2832
  var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
2820
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(ToastsProvider, {
2821
- children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Provider3, {
2822
- children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_themes36.Flex, {
2823
- direction: "column",
2824
- justify: "end",
2825
- align: "end",
2826
- position: "fixed",
2827
- style: _object_spread({
2828
- bottom: "24px",
2829
- right: "24px",
2830
- top: "24px",
2831
- zIndex: 9999999999
2832
- }, style),
2833
- children: children
2834
- })
2833
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(ToastsProvider, {
2834
+ children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Provider3, {
2835
+ children: children
2835
2836
  })
2836
2837
  });
2837
2838
  };
2838
2839
  // src/components/threads/ThreadDialog/Trigger/index.tsx
2839
2840
  var import_themes37 = require("@radix-ui/themes");
2840
- var import_jsx_runtime51 = require("react/jsx-runtime");
2841
+ var import_jsx_runtime52 = require("react/jsx-runtime");
2841
2842
  var Trigger = function(param) {
2842
- var children = param.children;
2843
- var setIsOpen = useThreadDialogContext().setIsOpen;
2844
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_themes37.Flex, {
2843
+ var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
2844
+ var _useThreadDialogContext = useThreadDialogContext(), setIsOpen = _useThreadDialogContext.setIsOpen, isOpen = _useThreadDialogContext.isOpen;
2845
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_themes37.Flex, {
2846
+ display: {
2847
+ initial: isOpen ? "none" : "flex",
2848
+ sm: "flex"
2849
+ },
2845
2850
  onClick: function() {
2846
2851
  return setIsOpen(function(prev) {
2847
2852
  return !prev;
@@ -2849,66 +2854,144 @@ var Trigger = function(param) {
2849
2854
  },
2850
2855
  direction: "column",
2851
2856
  flexShrink: "0",
2857
+ justify: "end",
2858
+ align: "end",
2859
+ position: "fixed",
2860
+ bottom: "24px",
2861
+ right: "24px",
2862
+ style: _object_spread({
2863
+ zIndex: 9999999999
2864
+ }, style),
2852
2865
  children: children
2853
2866
  });
2854
2867
  };
2855
2868
  // src/components/threads/ThreadDialog/Button/index.tsx
2856
2869
  var import_themes38 = require("@radix-ui/themes");
2857
2870
  var import_react_icons7 = require("@radix-ui/react-icons");
2858
- var import_jsx_runtime52 = require("react/jsx-runtime");
2871
+ var import_jsx_runtime53 = require("react/jsx-runtime");
2859
2872
  var Button3 = function() {
2860
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_themes38.IconButton, {
2873
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_themes38.IconButton, {
2861
2874
  size: "4",
2862
2875
  radius: "full",
2863
- children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_react_icons7.ChatBubbleIcon, {})
2876
+ children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_icons7.ChatBubbleIcon, {})
2864
2877
  });
2865
2878
  };
2866
2879
  // src/components/threads/ThreadDialog/Content/index.tsx
2880
+ var import_themes40 = require("@radix-ui/themes");
2881
+ // src/components/threads/ThreadDialog/Close/index.tsx
2882
+ var import_react_icons8 = require("@radix-ui/react-icons");
2867
2883
  var import_themes39 = require("@radix-ui/themes");
2868
- var import_jsx_runtime53 = require("react/jsx-runtime");
2884
+ var import_jsx_runtime54 = require("react/jsx-runtime");
2885
+ var Close = function() {
2886
+ var _useThreadDialogContext = useThreadDialogContext(), setIsOpen = _useThreadDialogContext.setIsOpen, isOpen = _useThreadDialogContext.isOpen;
2887
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes39.Flex, {
2888
+ display: {
2889
+ initial: isOpen ? "flex" : "none",
2890
+ sm: "none"
2891
+ },
2892
+ onClick: function() {
2893
+ return setIsOpen(function(prev) {
2894
+ return !prev;
2895
+ });
2896
+ },
2897
+ direction: "column",
2898
+ flexShrink: "0",
2899
+ justify: "end",
2900
+ align: "end",
2901
+ position: "absolute",
2902
+ top: "24px",
2903
+ right: "24px",
2904
+ style: {
2905
+ zIndex: 9999999999
2906
+ },
2907
+ children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes39.IconButton, {
2908
+ size: "2",
2909
+ radius: "full",
2910
+ variant: "soft",
2911
+ children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_react_icons8.Cross1Icon, {})
2912
+ })
2913
+ });
2914
+ };
2915
+ // src/components/threads/ThreadDialog/Content/index.tsx
2916
+ var import_jsx_runtime55 = require("react/jsx-runtime");
2869
2917
  var Root7 = function(param) {
2870
- var children = param.children;
2918
+ var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
2871
2919
  var isOpen = useThreadDialogContext().isOpen;
2872
2920
  if (!isOpen) return null;
2873
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_themes39.Card, {
2874
- mb: "3",
2875
- style: {
2876
- display: "flex",
2877
- flexGrow: 1,
2878
- width: "100vw",
2879
- maxWidth: "400px",
2880
- maxHeight: "720px"
2921
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_themes40.Flex, {
2922
+ direction: "column",
2923
+ justify: "end",
2924
+ position: "fixed",
2925
+ bottom: {
2926
+ initial: "0",
2927
+ sm: "72px"
2928
+ },
2929
+ right: {
2930
+ initial: "0",
2931
+ sm: "24px"
2932
+ },
2933
+ top: {
2934
+ initial: "0",
2935
+ sm: "24px"
2936
+ },
2937
+ maxHeight: {
2938
+ initial: void 0,
2939
+ sm: "720px"
2881
2940
  },
2882
- children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_themes39.Inset, {
2883
- clip: "padding-box",
2884
- side: "all",
2885
- pb: "current",
2941
+ maxWidth: {
2942
+ initial: void 0,
2943
+ sm: "400px"
2944
+ },
2945
+ width: "100%",
2946
+ style: _object_spread({
2947
+ zIndex: 9999999999
2948
+ }, style),
2949
+ children: /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(import_themes40.Card, {
2950
+ mb: {
2951
+ initial: void 0,
2952
+ sm: "3"
2953
+ },
2886
2954
  style: {
2955
+ position: "relative",
2887
2956
  display: "flex",
2888
2957
  flexGrow: 1
2889
2958
  },
2890
- children: children
2959
+ children: [
2960
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_themes40.Inset, {
2961
+ clip: "padding-box",
2962
+ side: "all",
2963
+ pb: "current",
2964
+ style: {
2965
+ display: "flex",
2966
+ flexGrow: 1
2967
+ },
2968
+ children: children
2969
+ }),
2970
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Close, {})
2971
+ ]
2891
2972
  })
2892
2973
  });
2893
2974
  };
2894
- var Content4 = function() {
2895
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Root7, {
2896
- children: /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(Thread.Root, {
2975
+ var Content4 = function(param) {
2976
+ var _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
2977
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Root7, {
2978
+ style: style,
2979
+ children: /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(Thread.Root, {
2897
2980
  children: [
2898
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Thread.Messages, {
2981
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Thread.Messages, {
2899
2982
  style: {
2900
2983
  paddingTop: "var(--space-5)",
2901
2984
  paddingRight: "var(--space-5)",
2902
2985
  paddingLeft: "var(--space-5)"
2903
2986
  }
2904
2987
  }),
2905
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_themes39.Flex, {
2988
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_themes40.Flex, {
2906
2989
  direction: "column",
2907
2990
  pl: "5",
2908
2991
  pr: "5",
2909
2992
  pb: "3",
2910
2993
  flexShrink: "0",
2911
- children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Thread.MessageForm, {})
2994
+ children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Thread.MessageForm, {})
2912
2995
  })
2913
2996
  ]
2914
2997
  })
@@ -2916,13 +2999,13 @@ var Content4 = function() {
2916
2999
  };
2917
3000
  Content4.Root = Root7;
2918
3001
  // src/components/threads/ThreadDialog/index.tsx
2919
- var import_jsx_runtime54 = require("react/jsx-runtime");
3002
+ var import_jsx_runtime56 = require("react/jsx-runtime");
2920
3003
  var ThreadDialog = function() {
2921
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(Root6, {
3004
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(Root6, {
2922
3005
  children: [
2923
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Content4, {}),
2924
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Trigger, {
2925
- children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Button3, {})
3006
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Content4, {}),
3007
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Trigger, {
3008
+ children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Button3, {})
2926
3009
  })
2927
3010
  ]
2928
3011
  });
@@ -2933,7 +3016,7 @@ ThreadDialog.Button = Button3;
2933
3016
  ThreadDialog.Content = Content4;
2934
3017
  // src/components/threads/AudioThread/Root/index.tsx
2935
3018
  var import_runtime = require("regenerator-runtime/runtime");
2936
- var import_themes40 = require("@radix-ui/themes");
3019
+ var import_themes41 = require("@radix-ui/themes");
2937
3020
  // src/contexts/threads/AudioThreadContext/index.ts
2938
3021
  var import_react44 = require("react");
2939
3022
  var AudioThreadContext = (0, import_react44.createContext)({
@@ -3205,7 +3288,7 @@ var isHtmlAudioSupported = !unsupportedNames.includes(((_this = (0, import_detec
3205
3288
  // src/hooks/audioThreads/useMessageAudio/index.ts
3206
3289
  var useMessageAudio = function(param) {
3207
3290
  var onEnd = param.onEnd;
3208
- var _ref = _sliced_to_array((0, import_react47.useState)([]), 2), playedMessageIds = _ref[0], setPlayedMessageIds = _ref[1];
3291
+ var _ref = _sliced_to_array((0, import_react47.useState)([]), 2), playedMessages = _ref[0], setPlayedMessages = _ref[1];
3209
3292
  var audioPlayer = (0, import_react_use_audio_player2.useAudioPlayer)();
3210
3293
  var superinterfaceContext = useSuperinterfaceContext();
3211
3294
  var latestMessageProps = useLatestMessage();
@@ -3213,14 +3296,19 @@ var useMessageAudio = function(param) {
3213
3296
  if (audioPlayer.playing) return;
3214
3297
  if (!latestMessageProps.latestMessage) return;
3215
3298
  if (latestMessageProps.latestMessage.role !== "assistant") return;
3216
- if (playedMessageIds.includes(latestMessageProps.latestMessage.id)) return;
3299
+ if (playedMessages.find(function(pm) {
3300
+ return pm.id === latestMessageProps.latestMessage.id || isOptimistic({
3301
+ id: pm.id
3302
+ }) && pm.content === latestMessageProps.latestMessage.content;
3303
+ })) return;
3304
+ if (playedMessages.includes(latestMessageProps.latestMessage)) return;
3217
3305
  var input2 = input({
3218
3306
  message: latestMessageProps.latestMessage
3219
3307
  });
3220
3308
  if (!input2) return;
3221
- setPlayedMessageIds(function(prev) {
3309
+ setPlayedMessages(function(prev) {
3222
3310
  return _to_consumable_array(prev).concat([
3223
- latestMessageProps.latestMessage.id
3311
+ latestMessageProps.latestMessage
3224
3312
  ]);
3225
3313
  });
3226
3314
  audioPlayer.load("".concat(superinterfaceContext.baseUrl, "/tts?input=").concat(input2), {
@@ -3240,7 +3328,7 @@ var useMessageAudio = function(param) {
3240
3328
  superinterfaceContext,
3241
3329
  latestMessageProps,
3242
3330
  audioPlayer,
3243
- playedMessageIds,
3331
+ playedMessages,
3244
3332
  onEnd
3245
3333
  ]);
3246
3334
  var isInited = (0, import_react47.useRef)(false);
@@ -3280,7 +3368,7 @@ var useMessageAudio = function(param) {
3280
3368
  });
3281
3369
  };
3282
3370
  // src/components/threads/AudioThread/Root/index.tsx
3283
- var import_jsx_runtime55 = require("react/jsx-runtime");
3371
+ var import_jsx_runtime57 = require("react/jsx-runtime");
3284
3372
  var Root8 = function(param) {
3285
3373
  var children = param.children;
3286
3374
  useLifecycle();
@@ -3301,6 +3389,7 @@ var Root8 = function(param) {
3301
3389
  return _ts_generator(this, function(_state) {
3302
3390
  switch(_state.label){
3303
3391
  case 0:
3392
+ console.log("creaing", chunks);
3304
3393
  blob = new Blob(chunks, {
3305
3394
  type: chunks[0].type
3306
3395
  });
@@ -3340,62 +3429,36 @@ var Root8 = function(param) {
3340
3429
  createMessageProps: createMessageProps,
3341
3430
  messageAudioProps: messageAudioProps
3342
3431
  }).status;
3343
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(AudioThreadContext.Provider, {
3432
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(AudioThreadContext.Provider, {
3344
3433
  value: {
3345
3434
  status: status,
3346
3435
  recorderProps: recorderProps,
3347
3436
  messageAudioProps: messageAudioProps
3348
3437
  },
3349
- children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_themes40.Flex, {
3438
+ children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_themes41.Flex, {
3350
3439
  direction: "column",
3351
3440
  flexGrow: "1",
3352
- p: "5",
3441
+ p: "9",
3353
3442
  children: children
3354
3443
  })
3355
3444
  });
3356
3445
  };
3357
3446
  // src/components/threads/AudioThread/Visualization/index.tsx
3358
- var import_themes41 = require("@radix-ui/themes");
3447
+ var import_themes43 = require("@radix-ui/themes");
3359
3448
  // src/hooks/threads/useAudioThreadContext/index.ts
3360
3449
  var import_react48 = require("react");
3361
3450
  var useAudioThreadContext = function() {
3362
3451
  return (0, import_react48.useContext)(AudioThreadContext);
3363
3452
  };
3364
- // src/components/threads/AudioThread/Visualization/index.tsx
3365
- var import_jsx_runtime56 = require("react/jsx-runtime");
3366
- var Visualization = function() {
3367
- var audioThreadContext = useAudioThreadContext();
3368
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes41.Flex, {
3369
- direction: "column",
3370
- align: "center",
3371
- justify: "center",
3372
- mb: "3",
3373
- flexGrow: "1",
3374
- children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes41.Flex, {
3375
- align: "center",
3376
- justify: "center",
3377
- height: "200px",
3378
- width: "200px",
3379
- style: {
3380
- backgroundColor: "var(--".concat(audioThreadContext.status === "playing" ? "mint" : "gray", "-4)"),
3381
- borderRadius: "9999px"
3382
- }
3383
- })
3384
- });
3385
- };
3386
- // src/components/threads/AudioThread/Form/index.tsx
3387
- var import_react_icons9 = require("@radix-ui/react-icons");
3388
- var import_themes44 = require("@radix-ui/themes");
3389
- // src/components/threads/AudioThread/Form/Visualizer/index.tsx
3453
+ // src/components/threads/AudioThread/BarsVisualizer/index.tsx
3390
3454
  var import_lodash7 = __toESM(require("lodash"), 1);
3391
3455
  var import_themes42 = require("@radix-ui/themes");
3392
3456
  var import_react49 = require("react");
3393
3457
  var import_radash10 = require("radash");
3394
- var import_jsx_runtime57 = require("react/jsx-runtime");
3458
+ var import_jsx_runtime58 = require("react/jsx-runtime");
3395
3459
  var barCount = 4;
3396
- var Visualizer = function() {
3397
- var audioThreadContext = useAudioThreadContext();
3398
- var visualizationAnalyser = audioThreadContext.recorderProps.visualizationAnalyser;
3460
+ var BarsVisualizer = function(param) {
3461
+ var visualizationAnalyser = param.visualizationAnalyser, color = param.color, height = param.height, barWidth = param.barWidth;
3399
3462
  var _ref = _sliced_to_array((0, import_react49.useState)(function() {
3400
3463
  return new AudioContext().createAnalyser();
3401
3464
  }), 1), emptyVisualizer = _ref[0];
@@ -3423,7 +3486,7 @@ var Visualizer = function() {
3423
3486
  visualizationAnalyser,
3424
3487
  emptyVisualizer
3425
3488
  ]);
3426
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_themes42.Grid, {
3489
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_themes42.Grid, {
3427
3490
  columns: "".concat(barCount),
3428
3491
  gap: "1",
3429
3492
  width: "auto",
@@ -3432,18 +3495,18 @@ var Visualizer = function() {
3432
3495
  gridTemplateColumns: "repeat(4, minmax(0, 1fr))"
3433
3496
  },
3434
3497
  children: barHeights.map(function(barHeight, index) {
3435
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_themes42.Flex, {
3498
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_themes42.Flex, {
3436
3499
  direction: "column",
3437
3500
  align: "center",
3438
3501
  justify: "center",
3439
- height: "20px",
3440
- children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_themes42.Flex, {
3502
+ height: height,
3503
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_themes42.Flex, {
3441
3504
  minHeight: "50%",
3442
3505
  maxHeight: "100%",
3443
3506
  height: "".concat(barHeight + 20, "%"),
3444
- width: "12px",
3507
+ width: barWidth,
3445
3508
  style: {
3446
- backgroundColor: "var(--".concat(audioThreadContext.status === "recording" ? "mint" : "gray", "-11)"),
3509
+ backgroundColor: "var(--".concat(color, "-11)"),
3447
3510
  borderRadius: "var(--radius-6)"
3448
3511
  }
3449
3512
  })
@@ -3451,32 +3514,63 @@ var Visualizer = function() {
3451
3514
  })
3452
3515
  });
3453
3516
  };
3517
+ // src/components/threads/AudioThread/Visualization/index.tsx
3518
+ var import_jsx_runtime59 = require("react/jsx-runtime");
3519
+ var Visualization = function() {
3520
+ var audioThreadContext = useAudioThreadContext();
3521
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_themes43.Flex, {
3522
+ direction: "column",
3523
+ align: "center",
3524
+ justify: "center",
3525
+ mb: "3",
3526
+ flexGrow: "1",
3527
+ children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_themes43.Flex, {
3528
+ align: "center",
3529
+ justify: "center",
3530
+ height: "200px",
3531
+ width: "200px",
3532
+ style: {
3533
+ backgroundColor: "var(--".concat(audioThreadContext.status === "playing" ? "mint" : "gray", "-4)"),
3534
+ borderRadius: "9999px"
3535
+ },
3536
+ children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(BarsVisualizer, {
3537
+ visualizationAnalyser: audioThreadContext.messageAudioProps.visualizationAnalyser,
3538
+ color: audioThreadContext.status === "playing" ? "mint" : "gray",
3539
+ height: "40px",
3540
+ barWidth: "24px"
3541
+ })
3542
+ })
3543
+ });
3544
+ };
3545
+ // src/components/threads/AudioThread/Form/index.tsx
3546
+ var import_react_icons10 = require("@radix-ui/react-icons");
3547
+ var import_themes45 = require("@radix-ui/themes");
3454
3548
  // src/components/threads/AudioThread/Form/ActionButton/index.tsx
3455
- var import_themes43 = require("@radix-ui/themes");
3456
- var import_react_icons8 = require("@radix-ui/react-icons");
3457
- var import_jsx_runtime58 = require("react/jsx-runtime");
3549
+ var import_themes44 = require("@radix-ui/themes");
3550
+ var import_react_icons9 = require("@radix-ui/react-icons");
3551
+ var import_jsx_runtime60 = require("react/jsx-runtime");
3458
3552
  var ActionButton = function() {
3459
3553
  var audioThreadContext = useAudioThreadContext();
3460
3554
  if (audioThreadContext.status === "recording") {
3461
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_themes43.Flex, {
3555
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_themes44.Flex, {
3462
3556
  align: "center",
3463
3557
  children: [
3464
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_themes43.Flex, {
3558
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_themes44.Flex, {
3465
3559
  mr: "3",
3466
3560
  ml: "-7",
3467
- children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_themes43.IconButton, {
3561
+ children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_themes44.IconButton, {
3468
3562
  onClick: audioThreadContext.recorderProps.pause,
3469
3563
  color: "gray",
3470
3564
  radius: "full",
3471
3565
  size: "1",
3472
- children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_react_icons8.PauseIcon, {})
3566
+ children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_react_icons9.PauseIcon, {})
3473
3567
  })
3474
3568
  }),
3475
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_themes43.Tooltip, {
3569
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_themes44.Tooltip, {
3476
3570
  open: true,
3477
3571
  content: "Send your message",
3478
3572
  side: "bottom",
3479
- children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_themes43.IconButton, {
3573
+ children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_themes44.IconButton, {
3480
3574
  onClick: audioThreadContext.recorderProps.stop,
3481
3575
  color: "gray",
3482
3576
  highContrast: true,
@@ -3485,14 +3579,14 @@ var ActionButton = function() {
3485
3579
  style: {
3486
3580
  border: "2px solid var(--gray-8)"
3487
3581
  },
3488
- children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_react_icons8.ArrowUpIcon, {})
3582
+ children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_react_icons9.ArrowUpIcon, {})
3489
3583
  })
3490
3584
  })
3491
3585
  ]
3492
3586
  });
3493
3587
  }
3494
3588
  if (audioThreadContext.status === "recorderPaused") {
3495
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_themes43.IconButton, {
3589
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_themes44.IconButton, {
3496
3590
  onClick: audioThreadContext.recorderProps.resume,
3497
3591
  color: "red",
3498
3592
  radius: "full",
@@ -3500,11 +3594,11 @@ var ActionButton = function() {
3500
3594
  style: {
3501
3595
  border: "2px solid var(--gray-8)"
3502
3596
  },
3503
- children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_react_icons8.ResumeIcon, {})
3597
+ children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_react_icons9.ResumeIcon, {})
3504
3598
  });
3505
3599
  }
3506
3600
  if (audioThreadContext.status === "idle") {
3507
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_themes43.IconButton, {
3601
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_themes44.IconButton, {
3508
3602
  onClick: function() {
3509
3603
  return audioThreadContext.recorderProps.start();
3510
3604
  },
@@ -3517,7 +3611,7 @@ var ActionButton = function() {
3517
3611
  });
3518
3612
  }
3519
3613
  if (audioThreadContext.status === "playing") {
3520
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_themes43.IconButton, {
3614
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_themes44.IconButton, {
3521
3615
  onClick: function() {
3522
3616
  return audioThreadContext.messageAudioProps.pause();
3523
3617
  },
@@ -3527,11 +3621,11 @@ var ActionButton = function() {
3527
3621
  style: {
3528
3622
  border: "2px solid var(--gray-8)"
3529
3623
  },
3530
- children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_react_icons8.PauseIcon, {})
3624
+ children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_react_icons9.PauseIcon, {})
3531
3625
  });
3532
3626
  }
3533
3627
  if (audioThreadContext.status === "playerPaused") {
3534
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_themes43.IconButton, {
3628
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_themes44.IconButton, {
3535
3629
  onClick: function() {
3536
3630
  return audioThreadContext.messageAudioProps.play();
3537
3631
  },
@@ -3541,10 +3635,10 @@ var ActionButton = function() {
3541
3635
  style: {
3542
3636
  border: "2px solid var(--gray-8)"
3543
3637
  },
3544
- children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_react_icons8.ResumeIcon, {})
3638
+ children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_react_icons9.ResumeIcon, {})
3545
3639
  });
3546
3640
  }
3547
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_themes43.IconButton, {
3641
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_themes44.IconButton, {
3548
3642
  size: "4",
3549
3643
  color: "red",
3550
3644
  radius: "full",
@@ -3555,49 +3649,54 @@ var ActionButton = function() {
3555
3649
  });
3556
3650
  };
3557
3651
  // src/components/threads/AudioThread/Form/index.tsx
3558
- var import_jsx_runtime59 = require("react/jsx-runtime");
3652
+ var import_jsx_runtime61 = require("react/jsx-runtime");
3559
3653
  var Form = function() {
3560
3654
  var audioThreadContext = useAudioThreadContext();
3561
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_themes44.Flex, {
3655
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_themes45.Flex, {
3562
3656
  direction: "column",
3563
3657
  align: "center",
3564
3658
  children: [
3565
- /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_themes44.Flex, {
3659
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_themes45.Flex, {
3566
3660
  pb: "3",
3567
3661
  align: "center",
3568
3662
  children: [
3569
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_themes44.Flex, {
3663
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_themes45.Flex, {
3570
3664
  ml: "-5",
3571
3665
  mr: "2",
3572
3666
  align: "center",
3573
- children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_react_icons9.SpeakerModerateIcon, {
3667
+ children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_react_icons10.SpeakerModerateIcon, {
3574
3668
  style: {
3575
3669
  color: "var(--".concat(audioThreadContext.status === "recording" ? "mint" : "gray", "-12)")
3576
3670
  }
3577
3671
  })
3578
3672
  }),
3579
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_themes44.Flex, {
3673
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_themes45.Flex, {
3580
3674
  px: "2",
3581
3675
  py: "1",
3582
3676
  style: {
3583
3677
  backgroundColor: "var(--".concat(audioThreadContext.status === "recording" ? "mint" : "gray", "-4)"),
3584
3678
  borderRadius: "var(--radius-6)"
3585
3679
  },
3586
- children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Visualizer, {})
3680
+ children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(BarsVisualizer, {
3681
+ visualizationAnalyser: audioThreadContext.recorderProps.visualizationAnalyser,
3682
+ color: audioThreadContext.status === "recording" ? "mint" : "gray",
3683
+ height: "20px",
3684
+ barWidth: "12px"
3685
+ })
3587
3686
  })
3588
3687
  ]
3589
3688
  }),
3590
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(ActionButton, {})
3689
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(ActionButton, {})
3591
3690
  ]
3592
3691
  });
3593
3692
  };
3594
3693
  // src/components/threads/AudioThread/index.tsx
3595
- var import_jsx_runtime60 = require("react/jsx-runtime");
3694
+ var import_jsx_runtime62 = require("react/jsx-runtime");
3596
3695
  var AudioThread = function(props) {
3597
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(Root8, _object_spread_props(_object_spread({}, props), {
3696
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(Root8, _object_spread_props(_object_spread({}, props), {
3598
3697
  children: [
3599
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Visualization, {}),
3600
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Form, {})
3698
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Visualization, {}),
3699
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Form, {})
3601
3700
  ]
3602
3701
  }));
3603
3702
  };
@@ -3605,15 +3704,15 @@ AudioThread.Root = Root8;
3605
3704
  AudioThread.Visualization = Visualization;
3606
3705
  AudioThread.Form = Form;
3607
3706
  // src/components/threads/AudioThreadDialog/index.tsx
3608
- var import_jsx_runtime61 = require("react/jsx-runtime");
3707
+ var import_jsx_runtime63 = require("react/jsx-runtime");
3609
3708
  var AudioThreadDialog = function() {
3610
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(Root6, {
3709
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(Root6, {
3611
3710
  children: [
3612
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Content4.Root, {
3613
- children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(AudioThread, {})
3711
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Content4.Root, {
3712
+ children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(AudioThread, {})
3614
3713
  }),
3615
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Trigger, {
3616
- children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Button3, {})
3714
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Trigger, {
3715
+ children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Button3, {})
3617
3716
  })
3618
3717
  ]
3619
3718
  });
@@ -3628,15 +3727,15 @@ var import_react51 = require("react");
3628
3727
  var import_react50 = require("react");
3629
3728
  var import_radash11 = require("radash");
3630
3729
  var import_react_children_utilities = require("react-children-utilities");
3631
- var import_themes46 = require("@radix-ui/themes");
3730
+ var import_themes47 = require("@radix-ui/themes");
3632
3731
  // src/components/suggestions/Suggestions/Item.tsx
3633
- var import_react_icons10 = require("@radix-ui/react-icons");
3634
- var import_themes45 = require("@radix-ui/themes");
3635
- var import_jsx_runtime62 = require("react/jsx-runtime");
3732
+ var import_react_icons11 = require("@radix-ui/react-icons");
3733
+ var import_themes46 = require("@radix-ui/themes");
3734
+ var import_jsx_runtime64 = require("react/jsx-runtime");
3636
3735
  var Item = function(param) {
3637
3736
  var suggestion = param.suggestion, isDisabled = param.isDisabled;
3638
3737
  var _useCreateMessage = useCreateMessage(), createMessage = _useCreateMessage.createMessage, isPending = _useCreateMessage.isPending;
3639
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Content5, {
3738
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Content5, {
3640
3739
  onClick: function() {
3641
3740
  createMessage({
3642
3741
  // @ts-ignore-next-line
@@ -3650,30 +3749,37 @@ var Item = function(param) {
3650
3749
  };
3651
3750
  var Content5 = function(param) {
3652
3751
  var onClick = param.onClick, isDisabled = param.isDisabled, isPending = param.isPending, children = param.children;
3653
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_themes45.Button, {
3752
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_themes46.Button, {
3654
3753
  variant: "soft",
3655
3754
  onClick: onClick,
3656
3755
  disabled: isDisabled,
3756
+ style: {
3757
+ minHeight: "var(--base-button-height)",
3758
+ height: "inherit",
3759
+ flexShrink: 1
3760
+ },
3657
3761
  children: [
3658
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_themes45.Text, {
3762
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_themes46.Text, {
3659
3763
  size: "1",
3660
3764
  weight: "regular",
3661
3765
  children: children
3662
3766
  }),
3663
- /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_themes45.Spinner, {
3767
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_themes46.Spinner, {
3664
3768
  loading: isPending,
3665
- children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_react_icons10.ArrowUpIcon, {})
3769
+ children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_react_icons11.ArrowUpIcon, {
3770
+ style: {
3771
+ flexShrink: 0
3772
+ }
3773
+ })
3666
3774
  })
3667
3775
  ]
3668
3776
  });
3669
3777
  };
3670
3778
  Item.Content = Content5;
3671
3779
  // src/components/suggestions/Suggestions/Content.tsx
3672
- var import_jsx_runtime63 = require("react/jsx-runtime");
3780
+ var import_jsx_runtime65 = require("react/jsx-runtime");
3673
3781
  var Content6 = function(param) {
3674
3782
  var children = param.children;
3675
- var messageContext = useMessageContext();
3676
- var latestMessageProps = useLatestMessage();
3677
3783
  var isRunActiveProps = useIsRunActive();
3678
3784
  var suggestions = (0, import_react50.useMemo)(function() {
3679
3785
  return (0, import_react_children_utilities.onlyText)(children).split(/\r?\n/).filter(function(c) {
@@ -3685,20 +3791,17 @@ var Content6 = function(param) {
3685
3791
  children
3686
3792
  ]);
3687
3793
  var isDisabled = (0, import_react50.useMemo)(function() {
3688
- var _messageContext_message;
3689
- return ((_messageContext_message = messageContext.message) === null || _messageContext_message === void 0 ? void 0 : _messageContext_message.id) !== latestMessageProps.latestMessage.id || isRunActiveProps.isRunActive;
3794
+ return isRunActiveProps.isRunActive;
3690
3795
  }, [
3691
- messageContext,
3692
- latestMessageProps,
3693
3796
  isRunActiveProps
3694
3797
  ]);
3695
3798
  if ((0, import_radash11.isEmpty)(suggestions)) return null;
3696
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_themes46.Flex, {
3799
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_themes47.Flex, {
3697
3800
  gap: "2",
3698
3801
  py: "2",
3699
3802
  wrap: "wrap",
3700
3803
  children: suggestions.map(function(suggestion) {
3701
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Item, {
3804
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Item, {
3702
3805
  suggestion: suggestion,
3703
3806
  isDisabled: isDisabled
3704
3807
  }, suggestion);
@@ -3706,7 +3809,7 @@ var Content6 = function(param) {
3706
3809
  });
3707
3810
  };
3708
3811
  // src/components/suggestions/Suggestions/index.tsx
3709
- var import_jsx_runtime64 = require("react/jsx-runtime");
3812
+ var import_jsx_runtime66 = require("react/jsx-runtime");
3710
3813
  var Suggestions = function(param) {
3711
3814
  var children = param.children;
3712
3815
  var latestMessageProps = useLatestMessage();
@@ -3719,14 +3822,14 @@ var Suggestions = function(param) {
3719
3822
  ]);
3720
3823
  if (latestMessageProps.isLoading) return null;
3721
3824
  if (isDisabled) return null;
3722
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Content6, {
3825
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Content6, {
3723
3826
  children: children
3724
3827
  });
3725
3828
  };
3726
3829
  Suggestions.Item = Item;
3727
3830
  // src/components/markdown/MarkdownProvider/index.tsx
3728
3831
  var import_react52 = require("react");
3729
- var import_jsx_runtime65 = require("react/jsx-runtime");
3832
+ var import_jsx_runtime67 = require("react/jsx-runtime");
3730
3833
  var MarkdownProvider = function(_param) {
3731
3834
  var children = _param.children, rest = _object_without_properties(_param, [
3732
3835
  "children"
@@ -3738,7 +3841,7 @@ var MarkdownProvider = function(_param) {
3738
3841
  rest,
3739
3842
  prevMarkdownContext
3740
3843
  ]);
3741
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(MarkdownContext.Provider, {
3844
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(MarkdownContext.Provider, {
3742
3845
  value: value,
3743
3846
  children: children
3744
3847
  });