@superinterface/react 2.22.4 → 2.24.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
@@ -391,6 +391,9 @@ __export(src_exports, {
391
391
  AssistantNameContext: function() {
392
392
  return AssistantNameContext;
393
393
  },
394
+ AssistantProvider: function() {
395
+ return AssistantProvider;
396
+ },
394
397
  AudioThread: function() {
395
398
  return AudioThread;
396
399
  },
@@ -566,9 +569,9 @@ var SuperinterfaceProvider = function(param) {
566
569
  });
567
570
  };
568
571
  // src/components/threads/Thread/Messages/index.tsx
569
- var import_themes35 = require("@radix-ui/themes");
572
+ var import_themes42 = require("@radix-ui/themes");
570
573
  // src/components/threads/Thread/Messages/Content/index.tsx
571
- var import_react26 = require("react");
574
+ var import_react33 = require("react");
572
575
  // src/hooks/messages/useMessages/index.tsx
573
576
  var import_react4 = require("react");
574
577
  var import_react_query2 = require("@tanstack/react-query");
@@ -879,8 +882,8 @@ var useToasts = function() {
879
882
  return (0, import_react9.useContext)(ToastsContext);
880
883
  };
881
884
  // src/components/threads/Thread/Messages/Content/MessageGroup/index.tsx
882
- var import_react25 = require("react");
883
- var import_themes32 = require("@radix-ui/themes");
885
+ var import_react32 = require("react");
886
+ var import_themes39 = require("@radix-ui/themes");
884
887
  // src/components/messageGroups/MessageGroupBase/AssistantAvatar.tsx
885
888
  var import_react11 = require("react");
886
889
  var import_themes5 = require("@radix-ui/themes");
@@ -939,11 +942,11 @@ var UserAvatar = function() {
939
942
  });
940
943
  };
941
944
  // src/components/threads/Thread/Messages/Content/MessageGroup/Content/index.tsx
942
- var import_themes31 = require("@radix-ui/themes");
945
+ var import_themes38 = require("@radix-ui/themes");
943
946
  // src/components/threads/Thread/Message/index.tsx
944
- var import_react24 = require("react");
947
+ var import_react31 = require("react");
945
948
  var import_radash4 = require("radash");
946
- var import_themes30 = require("@radix-ui/themes");
949
+ var import_themes37 = require("@radix-ui/themes");
947
950
  // src/components/skeletons/StartingContentSkeleton/index.tsx
948
951
  var import_themes8 = require("@radix-ui/themes");
949
952
  var import_jsx_runtime9 = require("react/jsx-runtime");
@@ -1365,11 +1368,11 @@ var Provider = MessageContext.Provider;
1365
1368
  // src/components/threads/Thread/Message/TextContent.tsx
1366
1369
  var import_react_markdown = __toESM(require("react-markdown"), 1);
1367
1370
  // src/hooks/markdown/useMarkdownContext/index.ts
1368
- var import_react23 = require("react");
1371
+ var import_react30 = require("react");
1369
1372
  // src/contexts/markdown/MarkdownContext/index.ts
1370
- var import_react22 = require("react");
1373
+ var import_react29 = require("react");
1371
1374
  // src/contexts/markdown/MarkdownContext/lib/components/index.tsx
1372
- var import_themes28 = require("@radix-ui/themes");
1375
+ var import_themes35 = require("@radix-ui/themes");
1373
1376
  // src/contexts/markdown/MarkdownContext/lib/components/Paragraph.tsx
1374
1377
  var import_themes18 = require("@radix-ui/themes");
1375
1378
  var import_jsx_runtime26 = require("react/jsx-runtime");
@@ -1474,13 +1477,250 @@ var Code3 = function(param) {
1474
1477
  children: children
1475
1478
  });
1476
1479
  };
1477
- // src/contexts/markdown/MarkdownContext/lib/components/Img.tsx
1480
+ // src/contexts/markdown/MarkdownContext/lib/components/Img/lib/isVideoSrc.ts
1481
+ var import_video_extensions = __toESM(require("video-extensions"), 1);
1482
+ var isVideoSrc = function(param) {
1483
+ var src = param.src;
1484
+ return import_video_extensions.default.includes(src.split(".").pop() || "");
1485
+ };
1486
+ // src/contexts/markdown/MarkdownContext/lib/components/Img/lib/isAudioSrc.ts
1487
+ var isAudioSrc = function(param) {
1488
+ var src = param.src;
1489
+ return src.endsWith(".mp3") || src.endsWith(".wav");
1490
+ };
1491
+ // src/contexts/markdown/MarkdownContext/lib/components/Img/Video/index.tsx
1492
+ var import_themes31 = require("@radix-ui/themes");
1493
+ var import_base = require("@vidstack/react/player/styles/base.css");
1494
+ var import_react27 = require("@vidstack/react");
1495
+ // src/components/media/PlayButton.tsx
1496
+ var import_react22 = require("@vidstack/react");
1478
1497
  var import_themes26 = require("@radix-ui/themes");
1498
+ var import_react_icons5 = require("@radix-ui/react-icons");
1479
1499
  var import_jsx_runtime34 = require("react/jsx-runtime");
1480
- var Img = function(props) {
1481
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_themes26.Box, {
1500
+ var PlayButton = function() {
1501
+ var isPaused = (0, import_react22.useMediaState)("paused");
1502
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_themes26.IconButton, {
1503
+ variant: "ghost",
1504
+ asChild: true,
1505
+ children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_react22.PlayButton, {
1506
+ children: isPaused ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_react_icons5.PlayIcon, {}) : /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_react_icons5.PauseIcon, {})
1507
+ })
1508
+ });
1509
+ };
1510
+ // src/components/media/VolumeButton.tsx
1511
+ var import_react23 = require("@vidstack/react");
1512
+ var import_themes27 = require("@radix-ui/themes");
1513
+ var import_react_icons6 = require("@radix-ui/react-icons");
1514
+ var import_jsx_runtime35 = require("react/jsx-runtime");
1515
+ var VolumeButton = function() {
1516
+ var volume = (0, import_react23.useMediaState)("volume");
1517
+ var isMuted = (0, import_react23.useMediaState)("muted");
1518
+ var remote = (0, import_react23.useMediaRemote)();
1519
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_themes27.HoverCard.Root, {
1520
+ children: [
1521
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_themes27.HoverCard.Trigger, {
1522
+ children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_themes27.IconButton, {
1523
+ variant: "ghost",
1524
+ asChild: true,
1525
+ children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react23.MuteButton, {
1526
+ children: isMuted || volume === 0 ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_icons6.SpeakerOffIcon, {}) : /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_icons6.SpeakerModerateIcon, {})
1527
+ })
1528
+ })
1529
+ }),
1530
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_themes27.HoverCard.Content, {
1531
+ size: "1",
1532
+ side: "top",
1533
+ height: "100px",
1534
+ children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_themes27.Slider, {
1535
+ size: "1",
1536
+ variant: "soft",
1537
+ orientation: "vertical",
1538
+ value: [
1539
+ volume * 100
1540
+ ],
1541
+ onValueChange: function(param) {
1542
+ var _param = _sliced_to_array(param, 1), value = _param[0];
1543
+ return remote.changeVolume(value / 100);
1544
+ }
1545
+ })
1546
+ })
1547
+ ]
1548
+ });
1549
+ };
1550
+ // src/components/media/Time.tsx
1551
+ var import_react24 = require("react");
1552
+ var import_react25 = require("@vidstack/react");
1553
+ var import_themes28 = require("@radix-ui/themes");
1554
+ var import_jsx_runtime36 = require("react/jsx-runtime");
1555
+ var Time = function() {
1556
+ var time = (0, import_react25.useMediaState)("currentTime");
1557
+ var duration = (0, import_react25.useMediaState)("duration");
1558
+ var seeking = (0, import_react25.useMediaState)("seeking");
1559
+ var canSeek = (0, import_react25.useMediaState)("canSeek");
1560
+ var remote = (0, import_react25.useMediaRemote)();
1561
+ var _ref = _sliced_to_array((0, import_react24.useState)(0), 2), value = _ref[0], setValue = _ref[1];
1562
+ (0, import_react24.useEffect)(function() {
1563
+ if (seeking) return;
1564
+ setValue(time / duration * 100);
1565
+ }, [
1566
+ time,
1567
+ duration,
1568
+ seeking
1569
+ ]);
1570
+ var step = (0, import_react24.useMemo)(function() {
1571
+ return 1 / duration * 100;
1572
+ }, [
1573
+ duration
1574
+ ]);
1575
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_themes28.Slider, {
1576
+ size: "1",
1577
+ variant: "soft",
1578
+ value: [
1579
+ value
1580
+ ],
1581
+ disabled: !canSeek,
1582
+ step: Number.isFinite(step) ? step : 1,
1583
+ onValueChange: function(param) {
1584
+ var _param = _sliced_to_array(param, 1), value2 = _param[0];
1585
+ setValue(value2);
1586
+ remote.seeking(value2 / 100 * duration);
1587
+ },
1588
+ onValueCommit: function(param) {
1589
+ var _param = _sliced_to_array(param, 1), value2 = _param[0];
1590
+ remote.seek(value2 / 100 * duration);
1591
+ }
1592
+ });
1593
+ };
1594
+ // src/components/media/MediaContainer.tsx
1595
+ var import_themes29 = require("@radix-ui/themes");
1596
+ var import_jsx_runtime37 = require("react/jsx-runtime");
1597
+ var MediaContainer = function(param) {
1598
+ var children = param.children;
1599
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_themes29.Card, {
1600
+ mb: "3",
1601
+ children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_themes29.Inset, {
1602
+ clip: "padding-box",
1603
+ style: {
1604
+ display: "flex",
1605
+ flexDirection: "column"
1606
+ },
1607
+ children: children
1608
+ })
1609
+ });
1610
+ };
1611
+ // src/contexts/markdown/MarkdownContext/lib/components/Img/Video/FullscreenButton.tsx
1612
+ var import_react26 = require("@vidstack/react");
1613
+ var import_themes30 = require("@radix-ui/themes");
1614
+ var import_react_icons7 = require("@radix-ui/react-icons");
1615
+ var import_jsx_runtime38 = require("react/jsx-runtime");
1616
+ var FullscreenButton = function() {
1617
+ var isFullscreen = (0, import_react26.useMediaState)("fullscreen");
1618
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_themes30.IconButton, {
1619
+ variant: "ghost",
1620
+ asChild: true,
1621
+ children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_react26.FullscreenButton, {
1622
+ children: isFullscreen ? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_react_icons7.ExitFullScreenIcon, {}) : /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_react_icons7.EnterFullScreenIcon, {})
1623
+ })
1624
+ });
1625
+ };
1626
+ // src/contexts/markdown/MarkdownContext/lib/components/Img/Video/index.tsx
1627
+ var import_jsx_runtime39 = require("react/jsx-runtime");
1628
+ var Video = function(param) {
1629
+ var src = param.src;
1630
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(MediaContainer, {
1631
+ children: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_react27.MediaPlayer, {
1632
+ src: src,
1633
+ playsInline: true,
1634
+ hideControlsOnMouseLeave: true,
1635
+ crossOrigin: true,
1636
+ children: [
1637
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react27.MediaProvider, {}),
1638
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("style", {
1639
+ children: "\n .superinterface-video-controls {\n opacity: 0;\n transition: opacity 0.2s ease-out;\n }\n\n .superinterface-video-controls[data-visible] {\n opacity: 1;\n }\n "
1640
+ }),
1641
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_themes31.Flex, {
1642
+ asChild: true,
1643
+ position: "absolute",
1644
+ bottom: "0",
1645
+ left: "0",
1646
+ right: "0",
1647
+ className: "superinterface-video-controls",
1648
+ p: "3",
1649
+ style: {
1650
+ zIndex: 10,
1651
+ background: "var(--accent-4)"
1652
+ },
1653
+ children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react27.Controls.Root, {
1654
+ children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_themes31.Flex, {
1655
+ asChild: true,
1656
+ align: "center",
1657
+ gap: "3",
1658
+ flexGrow: "1",
1659
+ children: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(import_react27.Controls.Group, {
1660
+ children: [
1661
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(PlayButton, {}),
1662
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(Time, {}),
1663
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(VolumeButton, {}),
1664
+ /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(FullscreenButton, {})
1665
+ ]
1666
+ })
1667
+ })
1668
+ })
1669
+ })
1670
+ ]
1671
+ })
1672
+ });
1673
+ };
1674
+ // src/contexts/markdown/MarkdownContext/lib/components/Img/Audio/index.tsx
1675
+ var import_themes32 = require("@radix-ui/themes");
1676
+ var import_base2 = require("@vidstack/react/player/styles/base.css");
1677
+ var import_react28 = require("@vidstack/react");
1678
+ var import_jsx_runtime40 = require("react/jsx-runtime");
1679
+ var Audio = function(param) {
1680
+ var src = param.src;
1681
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(MediaContainer, {
1682
+ children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_react28.MediaPlayer, {
1683
+ src: src,
1684
+ viewType: "audio",
1685
+ crossOrigin: true,
1686
+ playsInline: true,
1687
+ children: [
1688
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_react28.MediaProvider, {}),
1689
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_themes32.Flex, {
1690
+ asChild: true,
1691
+ p: "3",
1692
+ flexGrow: "1",
1693
+ style: {
1694
+ zIndex: 10,
1695
+ background: "var(--accent-4)"
1696
+ },
1697
+ children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_react28.Controls.Root, {
1698
+ children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_themes32.Flex, {
1699
+ asChild: true,
1700
+ align: "center",
1701
+ gap: "3",
1702
+ flexGrow: "1",
1703
+ children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_react28.Controls.Group, {
1704
+ children: [
1705
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(PlayButton, {}),
1706
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Time, {}),
1707
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(VolumeButton, {})
1708
+ ]
1709
+ })
1710
+ })
1711
+ })
1712
+ })
1713
+ ]
1714
+ })
1715
+ });
1716
+ };
1717
+ // src/contexts/markdown/MarkdownContext/lib/components/Img/ImageComponent.tsx
1718
+ var import_themes33 = require("@radix-ui/themes");
1719
+ var import_jsx_runtime41 = require("react/jsx-runtime");
1720
+ var ImageComponent = function(props) {
1721
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_themes33.Box, {
1482
1722
  pb: "3",
1483
- children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("img", _object_spread_props(_object_spread({}, props), {
1723
+ children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("img", _object_spread_props(_object_spread({}, props), {
1484
1724
  style: {
1485
1725
  maxWidth: "100%",
1486
1726
  height: "auto"
@@ -1488,28 +1728,49 @@ var Img = function(props) {
1488
1728
  }))
1489
1729
  });
1490
1730
  };
1731
+ // src/contexts/markdown/MarkdownContext/lib/components/Img/index.tsx
1732
+ var import_jsx_runtime42 = require("react/jsx-runtime");
1733
+ var Img = function(props) {
1734
+ if (!props.src) {
1735
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(ImageComponent, _object_spread({}, props));
1736
+ } else if (isVideoSrc({
1737
+ src: props.src
1738
+ })) {
1739
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Video, {
1740
+ src: props.src
1741
+ });
1742
+ } else if (isAudioSrc({
1743
+ src: props.src
1744
+ })) {
1745
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Audio, {
1746
+ src: props.src
1747
+ });
1748
+ } else {
1749
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(ImageComponent, _object_spread({}, props));
1750
+ }
1751
+ };
1491
1752
  // src/contexts/markdown/MarkdownContext/lib/components/Annotation/index.tsx
1492
- var import_react_icons5 = require("@radix-ui/react-icons");
1753
+ var import_react_icons8 = require("@radix-ui/react-icons");
1493
1754
  // src/contexts/markdown/MarkdownContext/lib/components/Annotation/AnnotationBase.tsx
1494
- var import_themes27 = require("@radix-ui/themes");
1495
- var import_jsx_runtime35 = require("react/jsx-runtime");
1755
+ var import_themes34 = require("@radix-ui/themes");
1756
+ var import_jsx_runtime43 = require("react/jsx-runtime");
1496
1757
  var AnnotationBase = function(param) {
1497
1758
  var icon = param.icon, content = param.content;
1498
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_themes27.Popover.Root, {
1759
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_themes34.Popover.Root, {
1499
1760
  children: [
1500
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_themes27.Popover.Trigger, {
1501
- children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_themes27.IconButton, {
1761
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_themes34.Popover.Trigger, {
1762
+ children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_themes34.IconButton, {
1502
1763
  variant: "soft",
1503
1764
  color: "gray",
1504
1765
  size: "1",
1505
1766
  children: icon
1506
1767
  })
1507
1768
  }),
1508
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_themes27.Popover.Content, {
1769
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_themes34.Popover.Content, {
1509
1770
  size: "1",
1510
- children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_themes27.Flex, {
1771
+ children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_themes34.Flex, {
1511
1772
  direction: "column",
1512
- children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_themes27.Text, {
1773
+ children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_themes34.Text, {
1513
1774
  size: "1",
1514
1775
  color: "gray",
1515
1776
  children: content
@@ -1520,12 +1781,12 @@ var AnnotationBase = function(param) {
1520
1781
  });
1521
1782
  };
1522
1783
  // src/contexts/markdown/MarkdownContext/lib/components/Annotation/FilePathAnnotation.tsx
1523
- var import_jsx_runtime36 = require("react/jsx-runtime");
1784
+ var import_jsx_runtime44 = require("react/jsx-runtime");
1524
1785
  var FilePathAnnotation = function(param) {
1525
1786
  var annotation = param.annotation, children = param.children;
1526
1787
  var superinterfaceContext = useSuperinterfaceContext();
1527
1788
  var nextSearchParams = new URLSearchParams(superinterfaceContext.variables);
1528
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Link, {
1789
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(Link, {
1529
1790
  href: "".concat(superinterfaceContext.baseUrl, "/files/").concat(annotation.file_path.file_id, "/contents?").concat(nextSearchParams),
1530
1791
  target: "_self",
1531
1792
  download: true,
@@ -1533,16 +1794,16 @@ var FilePathAnnotation = function(param) {
1533
1794
  });
1534
1795
  };
1535
1796
  // src/contexts/markdown/MarkdownContext/lib/components/Annotation/index.tsx
1536
- var import_jsx_runtime37 = require("react/jsx-runtime");
1797
+ var import_jsx_runtime45 = require("react/jsx-runtime");
1537
1798
  var Annotation = function(param) {
1538
1799
  var annotation = param.annotation, children = param.children;
1539
1800
  if (annotation.type === "file_citation") {
1540
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(AnnotationBase, {
1541
- icon: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(import_react_icons5.QuoteIcon, {}),
1801
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(AnnotationBase, {
1802
+ icon: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_icons8.QuoteIcon, {}),
1542
1803
  content: "File cited."
1543
1804
  });
1544
1805
  } else if (annotation.type === "file_path") {
1545
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(FilePathAnnotation, {
1806
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(FilePathAnnotation, {
1546
1807
  annotation: annotation,
1547
1808
  children: children
1548
1809
  });
@@ -1550,7 +1811,7 @@ var Annotation = function(param) {
1550
1811
  return null;
1551
1812
  };
1552
1813
  // src/contexts/markdown/MarkdownContext/lib/components/index.tsx
1553
- var import_jsx_runtime38 = require("react/jsx-runtime");
1814
+ var import_jsx_runtime46 = require("react/jsx-runtime");
1554
1815
  var components = {
1555
1816
  p: Paragraph,
1556
1817
  a: Link,
@@ -1563,47 +1824,60 @@ var components = {
1563
1824
  img: Img,
1564
1825
  annotation: Annotation,
1565
1826
  h1: function(props) {
1566
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_themes28.Heading, {
1827
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_themes35.Heading, {
1567
1828
  as: "h1",
1568
1829
  children: props.children
1569
1830
  });
1570
1831
  },
1571
1832
  h2: function(props) {
1572
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_themes28.Heading, {
1833
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_themes35.Heading, {
1573
1834
  as: "h2",
1574
1835
  size: "5",
1575
1836
  children: props.children
1576
1837
  });
1577
1838
  },
1578
1839
  h3: function(props) {
1579
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_themes28.Heading, {
1840
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_themes35.Heading, {
1580
1841
  as: "h3",
1581
1842
  size: "4",
1582
1843
  children: props.children
1583
1844
  });
1584
1845
  },
1585
1846
  h4: function(props) {
1586
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_themes28.Heading, {
1847
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_themes35.Heading, {
1587
1848
  as: "h4",
1588
1849
  size: "3",
1589
1850
  children: props.children
1590
1851
  });
1591
1852
  },
1592
1853
  h5: function(props) {
1593
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_themes28.Heading, {
1854
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_themes35.Heading, {
1594
1855
  as: "h5",
1595
1856
  size: "3",
1596
1857
  children: props.children
1597
1858
  });
1598
1859
  },
1599
1860
  h6: function(props) {
1600
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_themes28.Heading, {
1861
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_themes35.Heading, {
1601
1862
  as: "h6",
1602
1863
  size: "3",
1603
1864
  children: props.children
1604
1865
  });
1605
- }
1866
+ },
1867
+ table: function(props) {
1868
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_themes35.Table.Root, _object_spread_props(_object_spread({}, props), {
1869
+ variant: "surface",
1870
+ mb: "3"
1871
+ }));
1872
+ },
1873
+ thead: import_themes35.Table.Header,
1874
+ tbody: import_themes35.Table.Body,
1875
+ tr: import_themes35.Table.Row,
1876
+ td: import_themes35.Table.Cell,
1877
+ th: import_themes35.Table.ColumnHeaderCell
1606
1878
  };
1879
+ // src/contexts/markdown/MarkdownContext/lib/getRemarkPlugins.ts
1880
+ var import_remark_gfm = __toESM(require("remark-gfm"), 1);
1607
1881
  // src/lib/remark/remarkAnnotation.ts
1608
1882
  var import_radash3 = require("radash");
1609
1883
  var import_unist_util_flatmap = __toESM(require("unist-util-flatmap"), 1);
@@ -1770,26 +2044,27 @@ var getRemarkPlugins = function(param) {
1770
2044
  return [
1771
2045
  remarkAnnotation({
1772
2046
  content: content
1773
- })
2047
+ }),
2048
+ import_remark_gfm.default
1774
2049
  ];
1775
2050
  };
1776
2051
  // src/contexts/markdown/MarkdownContext/index.ts
1777
- var MarkdownContext = (0, import_react22.createContext)({
2052
+ var MarkdownContext = (0, import_react29.createContext)({
1778
2053
  components: components,
1779
2054
  getRemarkPlugins: getRemarkPlugins
1780
2055
  });
1781
2056
  // src/hooks/markdown/useMarkdownContext/index.ts
1782
2057
  var useMarkdownContext = function() {
1783
- return (0, import_react23.useContext)(MarkdownContext);
2058
+ return (0, import_react30.useContext)(MarkdownContext);
1784
2059
  };
1785
2060
  // src/components/threads/Thread/Message/TextContent.tsx
1786
- var import_jsx_runtime39 = require("react/jsx-runtime");
2061
+ var import_jsx_runtime47 = require("react/jsx-runtime");
1787
2062
  var TextContent = function(param) {
1788
2063
  var content = param.content;
1789
2064
  var _useMarkdownContext = useMarkdownContext(), getRemarkPlugins2 = _useMarkdownContext.getRemarkPlugins, rest = _object_without_properties(_useMarkdownContext, [
1790
2065
  "getRemarkPlugins"
1791
2066
  ]);
1792
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react_markdown.default, _object_spread_props(_object_spread({}, rest), {
2067
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_react_markdown.default, _object_spread_props(_object_spread({}, rest), {
1793
2068
  remarkPlugins: getRemarkPlugins2({
1794
2069
  content: content
1795
2070
  }),
@@ -1797,21 +2072,21 @@ var TextContent = function(param) {
1797
2072
  }));
1798
2073
  };
1799
2074
  // src/components/threads/Thread/Message/Attachments/index.tsx
1800
- var import_themes29 = require("@radix-ui/themes");
1801
- var import_react_icons6 = require("@radix-ui/react-icons");
1802
- var import_jsx_runtime40 = require("react/jsx-runtime");
2075
+ var import_themes36 = require("@radix-ui/themes");
2076
+ var import_react_icons9 = require("@radix-ui/react-icons");
2077
+ var import_jsx_runtime48 = require("react/jsx-runtime");
1803
2078
  var Attachments = function(param) {
1804
2079
  var message = param.message;
1805
2080
  var _message_attachments;
1806
2081
  if (!((_message_attachments = message.attachments) === null || _message_attachments === void 0 ? void 0 : _message_attachments.length)) return null;
1807
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_themes29.Flex, {
2082
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_themes36.Flex, {
1808
2083
  align: "start",
1809
2084
  pb: "1",
1810
- children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_themes29.Badge, {
2085
+ children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(import_themes36.Badge, {
1811
2086
  color: "gray",
1812
2087
  variant: "surface",
1813
2088
  children: [
1814
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_react_icons6.FileIcon, {}),
2089
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_react_icons9.FileIcon, {}),
1815
2090
  message.attachments.length,
1816
2091
  " file",
1817
2092
  message.attachments.length > 1 ? "s" : ""
@@ -1820,10 +2095,10 @@ var Attachments = function(param) {
1820
2095
  });
1821
2096
  };
1822
2097
  // src/components/threads/Thread/Message/index.tsx
1823
- var import_jsx_runtime41 = require("react/jsx-runtime");
2098
+ var import_jsx_runtime49 = require("react/jsx-runtime");
1824
2099
  var Message = function(param) {
1825
2100
  var message = param.message;
1826
- var _ref = _sliced_to_array((0, import_react24.useMemo)(function() {
2101
+ var _ref = _sliced_to_array((0, import_react31.useMemo)(function() {
1827
2102
  if (!message.runSteps.length) return [
1828
2103
  [],
1829
2104
  []
@@ -1856,7 +2131,7 @@ var Message = function(param) {
1856
2131
  message
1857
2132
  ]), 2), olderRunSteps = _ref[0], laterRunSteps = _ref[1];
1858
2133
  var isMutatingMessage = useIsMutatingMessage();
1859
- var isInProgress = (0, import_react24.useMemo)(function() {
2134
+ var isInProgress = (0, import_react31.useMemo)(function() {
1860
2135
  if (!isMutatingMessage) return false;
1861
2136
  if (message.status === "in_progress") return true;
1862
2137
  return message.runSteps.some(function(rs) {
@@ -1865,68 +2140,68 @@ var Message = function(param) {
1865
2140
  }, [
1866
2141
  message
1867
2142
  ]);
1868
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Provider, {
2143
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Provider, {
1869
2144
  value: {
1870
2145
  message: message
1871
2146
  },
1872
- children: /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_themes30.Box, {
2147
+ children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_themes37.Box, {
1873
2148
  children: [
1874
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(RunSteps, {
2149
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(RunSteps, {
1875
2150
  runSteps: olderRunSteps
1876
2151
  }),
1877
- /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_themes30.Box, {
2152
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_themes37.Box, {
1878
2153
  children: [
1879
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Attachments, {
2154
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Attachments, {
1880
2155
  message: message
1881
2156
  }),
1882
2157
  message.content.map(function(content, index) {
1883
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_react24.Fragment, {
1884
- children: content.type === "text" && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(TextContent, {
2158
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_react31.Fragment, {
2159
+ children: content.type === "text" && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(TextContent, {
1885
2160
  content: content
1886
2161
  })
1887
2162
  }, index);
1888
2163
  }),
1889
- isInProgress && (0, import_radash4.isEmpty)(laterRunSteps) && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(StartingContentSkeleton, {})
2164
+ isInProgress && (0, import_radash4.isEmpty)(laterRunSteps) && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(StartingContentSkeleton, {})
1890
2165
  ]
1891
2166
  }),
1892
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(RunSteps, {
2167
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(RunSteps, {
1893
2168
  runSteps: laterRunSteps
1894
2169
  }),
1895
- isInProgress && !(0, import_radash4.isEmpty)(laterRunSteps) && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_themes30.Box, {
1896
- children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(StartingContentSkeleton, {})
2170
+ isInProgress && !(0, import_radash4.isEmpty)(laterRunSteps) && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_themes37.Box, {
2171
+ children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(StartingContentSkeleton, {})
1897
2172
  })
1898
2173
  ]
1899
2174
  })
1900
2175
  });
1901
2176
  };
1902
2177
  // src/components/threads/Thread/Messages/Content/MessageGroup/Content/index.tsx
1903
- var import_jsx_runtime42 = require("react/jsx-runtime");
2178
+ var import_jsx_runtime50 = require("react/jsx-runtime");
1904
2179
  var Content3 = function(param) {
1905
2180
  var messageGroup = param.messageGroup;
1906
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes31.Flex, {
2181
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_themes38.Flex, {
1907
2182
  direction: "column-reverse",
1908
2183
  children: messageGroup.messages.map(function(message) {
1909
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Message, {
2184
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Message, {
1910
2185
  message: message
1911
2186
  }, message.id);
1912
2187
  })
1913
2188
  });
1914
2189
  };
1915
2190
  // src/components/threads/Thread/Messages/Content/MessageGroup/index.tsx
1916
- var import_jsx_runtime43 = require("react/jsx-runtime");
2191
+ var import_jsx_runtime51 = require("react/jsx-runtime");
1917
2192
  var MessageGroup = function(param) {
1918
2193
  var messageGroup = param.messageGroup;
1919
- var assistantNameContext = (0, import_react25.useContext)(AssistantNameContext);
1920
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(MessageGroupBase, {
2194
+ var assistantNameContext = (0, import_react32.useContext)(AssistantNameContext);
2195
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(MessageGroupBase, {
1921
2196
  children: [
1922
- messageGroup.role === "user" ? /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(UserAvatar, {}) : /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(AssistantAvatar, {}),
1923
- /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_themes32.Box, {
2197
+ messageGroup.role === "user" ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(UserAvatar, {}) : /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(AssistantAvatar, {}),
2198
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_themes39.Box, {
1924
2199
  flexGrow: "1",
1925
2200
  children: [
1926
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Name, {
2201
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Name, {
1927
2202
  children: messageGroup.role === "user" ? "You" : assistantNameContext
1928
2203
  }),
1929
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(Content3, {
2204
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Content3, {
1930
2205
  messageGroup: messageGroup
1931
2206
  })
1932
2207
  ]
@@ -1935,14 +2210,14 @@ var MessageGroup = function(param) {
1935
2210
  });
1936
2211
  };
1937
2212
  // src/components/threads/Thread/Messages/Content/index.tsx
1938
- var import_jsx_runtime44 = require("react/jsx-runtime");
2213
+ var import_jsx_runtime52 = require("react/jsx-runtime");
1939
2214
  var Content4 = function() {
1940
2215
  var _useMessages = useMessages(), messages2 = _useMessages.messages, isLoading = _useMessages.isLoading, isLoadingError = _useMessages.isLoadingError;
1941
2216
  var addToast = useToasts().addToast;
1942
2217
  var _useMessageGroups = useMessageGroups({
1943
2218
  messages: messages2
1944
2219
  }), messageGroups2 = _useMessageGroups.messageGroups;
1945
- (0, import_react26.useEffect)(function() {
2220
+ (0, import_react33.useEffect)(function() {
1946
2221
  if (isLoadingError) {
1947
2222
  addToast({
1948
2223
  type: "error",
@@ -1954,45 +2229,45 @@ var Content4 = function() {
1954
2229
  addToast
1955
2230
  ]);
1956
2231
  if (isLoading || isLoadingError) {
1957
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(MessagesSkeleton, {});
2232
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(MessagesSkeleton, {});
1958
2233
  }
1959
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_jsx_runtime44.Fragment, {
2234
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_jsx_runtime52.Fragment, {
1960
2235
  children: messageGroups2.map(function(messageGroup) {
1961
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(MessageGroup, {
2236
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(MessageGroup, {
1962
2237
  messageGroup: messageGroup
1963
2238
  }, messageGroup.id);
1964
2239
  })
1965
2240
  });
1966
2241
  };
1967
2242
  // src/components/threads/Thread/Messages/Progress/index.tsx
1968
- var import_react29 = require("react");
2243
+ var import_react36 = require("react");
1969
2244
  // src/components/skeletons/StartingSkeleton/index.tsx
1970
- var import_react27 = require("react");
1971
- var import_themes33 = require("@radix-ui/themes");
1972
- var import_jsx_runtime45 = require("react/jsx-runtime");
2245
+ var import_react34 = require("react");
2246
+ var import_themes40 = require("@radix-ui/themes");
2247
+ var import_jsx_runtime53 = require("react/jsx-runtime");
1973
2248
  var StartingSkeleton = function(param) {
1974
2249
  var children = param.children;
1975
- var assistantNameContext = (0, import_react27.useContext)(AssistantNameContext);
1976
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(MessageGroupBase, {
2250
+ var assistantNameContext = (0, import_react34.useContext)(AssistantNameContext);
2251
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(MessageGroupBase, {
1977
2252
  children: [
1978
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(AssistantAvatar, {}),
1979
- /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_themes33.Box, {
2253
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(AssistantAvatar, {}),
2254
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_themes40.Box, {
1980
2255
  children: [
1981
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Name, {
2256
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Name, {
1982
2257
  children: assistantNameContext
1983
2258
  }),
1984
2259
  children,
1985
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(StartingContentSkeleton, {})
2260
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(StartingContentSkeleton, {})
1986
2261
  ]
1987
2262
  })
1988
2263
  ]
1989
2264
  });
1990
2265
  };
1991
2266
  // src/hooks/messages/useLatestMessage/index.ts
1992
- var import_react28 = require("react");
2267
+ var import_react35 = require("react");
1993
2268
  var useLatestMessage = function() {
1994
2269
  var props = useMessages();
1995
- return (0, import_react28.useMemo)(function() {
2270
+ return (0, import_react35.useMemo)(function() {
1996
2271
  return _object_spread_props(_object_spread({}, props), {
1997
2272
  latestMessage: props.messages[0] || null
1998
2273
  });
@@ -2007,11 +2282,11 @@ var isOptimistic = function(param) {
2007
2282
  return import_lodash4.default.startsWith(id, "-");
2008
2283
  };
2009
2284
  // src/components/threads/Thread/Messages/Progress/index.tsx
2010
- var import_jsx_runtime46 = require("react/jsx-runtime");
2285
+ var import_jsx_runtime54 = require("react/jsx-runtime");
2011
2286
  var Progress = function() {
2012
2287
  var latestMessage = useLatestMessage().latestMessage;
2013
2288
  var isMutatingMessage = useIsMutatingMessage();
2014
- var isVisible = (0, import_react29.useMemo)(function() {
2289
+ var isVisible = (0, import_react36.useMemo)(function() {
2015
2290
  if (!latestMessage) return false;
2016
2291
  if (latestMessage.role !== "user") return false;
2017
2292
  if (latestMessage.status === "in_progress") return false;
@@ -2025,20 +2300,20 @@ var Progress = function() {
2025
2300
  isMutatingMessage
2026
2301
  ]);
2027
2302
  if (!isVisible) return null;
2028
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(StartingSkeleton, {});
2303
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(StartingSkeleton, {});
2029
2304
  };
2030
2305
  // src/components/threads/Thread/Messages/Root/index.tsx
2031
- var import_themes34 = require("@radix-ui/themes");
2306
+ var import_themes41 = require("@radix-ui/themes");
2032
2307
  // src/hooks/misc/useInfiniteScroll/index.tsx
2033
- var import_react31 = require("react");
2308
+ var import_react38 = require("react");
2034
2309
  var import_react_intersection_observer = require("react-intersection-observer");
2035
2310
  // src/hooks/misc/useThrottledEffect/index.tsx
2036
2311
  var import_lodash5 = __toESM(require("lodash"), 1);
2037
- var import_react30 = require("react");
2312
+ var import_react37 = require("react");
2038
2313
  var useThrottledEffect = function(cb, delay, additionalDeps) {
2039
2314
  var _cbRef;
2040
- var cbRef = (0, import_react30.useRef)(cb);
2041
- var throttledCb = (0, import_react30.useCallback)(import_lodash5.default.throttle(function() {
2315
+ var cbRef = (0, import_react37.useRef)(cb);
2316
+ var throttledCb = (0, import_react37.useCallback)(import_lodash5.default.throttle(function() {
2042
2317
  for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){
2043
2318
  args[_key] = arguments[_key];
2044
2319
  }
@@ -2049,17 +2324,17 @@ var useThrottledEffect = function(cb, delay, additionalDeps) {
2049
2324
  }), [
2050
2325
  delay
2051
2326
  ]);
2052
- (0, import_react30.useEffect)(function() {
2327
+ (0, import_react37.useEffect)(function() {
2053
2328
  cbRef.current = cb;
2054
2329
  });
2055
- (0, import_react30.useEffect)(throttledCb, [
2330
+ (0, import_react37.useEffect)(throttledCb, [
2056
2331
  throttledCb
2057
2332
  ].concat(_to_consumable_array(additionalDeps)));
2058
2333
  };
2059
2334
  // src/hooks/misc/useInfiniteScroll/index.tsx
2060
2335
  var useInfiniteScroll = function(param) {
2061
2336
  var isFetchingNextPage = param.isFetchingNextPage, hasNextPage = param.hasNextPage, fetchNextPage = param.fetchNextPage;
2062
- var containerRef = (0, import_react31.useRef)(null);
2337
+ var containerRef = (0, import_react38.useRef)(null);
2063
2338
  var _ref = (0, import_react_intersection_observer.useInView)({
2064
2339
  root: containerRef.current,
2065
2340
  rootMargin: "0px",
@@ -2083,7 +2358,7 @@ var useInfiniteScroll = function(param) {
2083
2358
  };
2084
2359
  };
2085
2360
  // src/components/threads/Thread/Messages/Root/index.tsx
2086
- var import_jsx_runtime47 = require("react/jsx-runtime");
2361
+ var import_jsx_runtime55 = require("react/jsx-runtime");
2087
2362
  var Root2 = function(param) {
2088
2363
  var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
2089
2364
  var _useMessages = useMessages(), isFetchingNextPage = _useMessages.isFetchingNextPage, hasNextPage = _useMessages.hasNextPage, fetchNextPage = _useMessages.fetchNextPage;
@@ -2092,7 +2367,7 @@ var Root2 = function(param) {
2092
2367
  hasNextPage: hasNextPage,
2093
2368
  fetchNextPage: fetchNextPage
2094
2369
  }), containerRef = _useInfiniteScroll.containerRef, loaderRef = _useInfiniteScroll.loaderRef;
2095
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_themes34.Flex, {
2370
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(import_themes41.Flex, {
2096
2371
  ref: containerRef,
2097
2372
  direction: "column-reverse",
2098
2373
  flexGrow: "1",
@@ -2101,10 +2376,10 @@ var Root2 = function(param) {
2101
2376
  }),
2102
2377
  children: [
2103
2378
  children,
2104
- hasNextPage && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_themes34.Flex, {
2379
+ hasNextPage && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_themes41.Flex, {
2105
2380
  ref: loaderRef
2106
2381
  }),
2107
- /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_themes34.Flex, {
2382
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_themes41.Flex, {
2108
2383
  flexShrink: "0",
2109
2384
  flexGrow: "1"
2110
2385
  })
@@ -2112,30 +2387,30 @@ var Root2 = function(param) {
2112
2387
  });
2113
2388
  };
2114
2389
  // src/components/threads/Thread/Messages/NextPageSkeleton.tsx
2115
- var import_jsx_runtime48 = require("react/jsx-runtime");
2390
+ var import_jsx_runtime56 = require("react/jsx-runtime");
2116
2391
  var NextPageSkeleton = function() {
2117
2392
  var hasNextPage = useMessages().hasNextPage;
2118
2393
  if (!hasNextPage) {
2119
2394
  return null;
2120
2395
  }
2121
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(MessagesSkeleton, {});
2396
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(MessagesSkeleton, {});
2122
2397
  };
2123
2398
  // src/components/threads/Thread/Messages/index.tsx
2124
- var import_jsx_runtime49 = require("react/jsx-runtime");
2399
+ var import_jsx_runtime57 = require("react/jsx-runtime");
2125
2400
  var Messages = function(param) {
2126
2401
  var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
2127
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Root2, {
2402
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(Root2, {
2128
2403
  style: style,
2129
2404
  children: [
2130
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_themes35.Flex, {
2405
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_themes42.Flex, {
2131
2406
  flexShrink: "0",
2132
2407
  height: "var(--space-3)"
2133
2408
  }),
2134
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Progress, {}),
2409
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Progress, {}),
2135
2410
  children,
2136
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Content4, {}),
2137
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(NextPageSkeleton, {}),
2138
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_themes35.Flex, {
2411
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Content4, {}),
2412
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(NextPageSkeleton, {}),
2413
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_themes42.Flex, {
2139
2414
  flexShrink: "0",
2140
2415
  flexGrow: "1",
2141
2416
  minHeight: "var(--space-5)"
@@ -2147,13 +2422,13 @@ Messages.Root = Root2;
2147
2422
  Messages.Message = Message;
2148
2423
  Messages.NextPageSkeleton = NextPageSkeleton;
2149
2424
  // src/components/threads/Thread/MessageForm/Submit/index.tsx
2150
- var import_react_icons7 = require("@radix-ui/react-icons");
2151
- var import_themes36 = require("@radix-ui/themes");
2425
+ var import_react_icons10 = require("@radix-ui/react-icons");
2426
+ var import_themes43 = require("@radix-ui/themes");
2152
2427
  // src/hooks/messages/useMessageFormContext/index.ts
2153
- var import_react33 = require("react");
2428
+ var import_react40 = require("react");
2154
2429
  // src/contexts/messages/MessageFormContext/index.ts
2155
- var import_react32 = require("react");
2156
- var MessageFormContext = (0, import_react32.createContext)({
2430
+ var import_react39 = require("react");
2431
+ var MessageFormContext = (0, import_react39.createContext)({
2157
2432
  content: "",
2158
2433
  isDisabled: false,
2159
2434
  isLoading: false,
@@ -2163,13 +2438,13 @@ var MessageFormContext = (0, import_react32.createContext)({
2163
2438
  });
2164
2439
  // src/hooks/messages/useMessageFormContext/index.ts
2165
2440
  var useMessageFormContext = function() {
2166
- return (0, import_react33.useContext)(MessageFormContext);
2441
+ return (0, import_react40.useContext)(MessageFormContext);
2167
2442
  };
2168
2443
  // src/components/threads/Thread/MessageForm/Submit/index.tsx
2169
- var import_jsx_runtime50 = require("react/jsx-runtime");
2444
+ var import_jsx_runtime58 = require("react/jsx-runtime");
2170
2445
  var Root3 = function(param) {
2171
2446
  var children = param.children;
2172
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_themes36.Flex, {
2447
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_themes43.Flex, {
2173
2448
  flexShrink: "0",
2174
2449
  align: "end",
2175
2450
  children: children
@@ -2179,33 +2454,33 @@ var Button2 = function() {
2179
2454
  var superinterfaceContext = useSuperinterfaceContext();
2180
2455
  var _useMessageFormContext = useMessageFormContext(), isDisabled = _useMessageFormContext.isDisabled, isLoading = _useMessageFormContext.isLoading, isFileLoading = _useMessageFormContext.isFileLoading;
2181
2456
  if (isLoading) {
2182
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_themes36.IconButton, {
2457
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_themes43.IconButton, {
2183
2458
  type: "button",
2184
2459
  onClick: function() {
2185
2460
  var _superinterfaceContext_createMessageAbortControllerRef_current;
2186
2461
  return (_superinterfaceContext_createMessageAbortControllerRef_current = superinterfaceContext.createMessageAbortControllerRef.current) === null || _superinterfaceContext_createMessageAbortControllerRef_current === void 0 ? void 0 : _superinterfaceContext_createMessageAbortControllerRef_current.abort();
2187
2462
  },
2188
- children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_react_icons7.StopIcon, {})
2463
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_react_icons10.StopIcon, {})
2189
2464
  });
2190
2465
  }
2191
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_themes36.IconButton, {
2466
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_themes43.IconButton, {
2192
2467
  type: "submit",
2193
2468
  disabled: isDisabled || isFileLoading,
2194
- children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_react_icons7.ArrowUpIcon, {})
2469
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_react_icons10.ArrowUpIcon, {})
2195
2470
  });
2196
2471
  };
2197
2472
  var Submit = function() {
2198
- return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Root3, {
2199
- children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Button2, {})
2473
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Root3, {
2474
+ children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Button2, {})
2200
2475
  });
2201
2476
  };
2202
2477
  Submit.Root = Root3;
2203
2478
  Submit.Button = Button2;
2204
2479
  // src/components/threads/Thread/MessageForm/Root/index.tsx
2205
2480
  var import_react_query5 = require("@tanstack/react-query");
2206
- var import_react34 = require("react");
2481
+ var import_react41 = require("react");
2207
2482
  var import_react_hook_form = require("react-hook-form");
2208
- var import_themes37 = require("@radix-ui/themes");
2483
+ var import_themes44 = require("@radix-ui/themes");
2209
2484
  // src/hooks/messages/useCreateMessage/index.ts
2210
2485
  var import_radash13 = require("radash");
2211
2486
  var import_react_query4 = require("@tanstack/react-query");
@@ -2973,10 +3248,10 @@ var createMessageDefaultOnError = function(param) {
2973
3248
  };
2974
3249
  };
2975
3250
  // src/components/threads/Thread/MessageForm/Root/index.tsx
2976
- var import_jsx_runtime51 = require("react/jsx-runtime");
3251
+ var import_jsx_runtime59 = require("react/jsx-runtime");
2977
3252
  var Root4 = function(param) {
2978
3253
  var children = param.children, onSubmitArg = param.onSubmit, isDisabledArg = param.isDisabled;
2979
- var _ref = _sliced_to_array((0, import_react34.useState)([]), 2), files = _ref[0], setFiles = _ref[1];
3254
+ var _ref = _sliced_to_array((0, import_react41.useState)([]), 2), files = _ref[0], setFiles = _ref[1];
2980
3255
  var formProps = (0, import_react_hook_form.useForm)(formOptions);
2981
3256
  var handleSubmit = formProps.handleSubmit, isSubmitting = formProps.formState.isSubmitting, reset = formProps.reset, watch = formProps.watch;
2982
3257
  var addToast = useToasts().addToast;
@@ -2990,7 +3265,7 @@ var Root4 = function(param) {
2990
3265
  })
2991
3266
  }).createMessage;
2992
3267
  var isMutatingMessage = useIsMutatingMessage();
2993
- var isFileLoading = (0, import_react34.useMemo)(function() {
3268
+ var isFileLoading = (0, import_react41.useMemo)(function() {
2994
3269
  return files.some(function(file) {
2995
3270
  return isOptimistic({
2996
3271
  id: file.id
@@ -2999,14 +3274,14 @@ var Root4 = function(param) {
2999
3274
  }, [
3000
3275
  files
3001
3276
  ]);
3002
- var isLoading = (0, import_react34.useMemo)(function() {
3277
+ var isLoading = (0, import_react41.useMemo)(function() {
3003
3278
  return isMutatingMessage || isSubmitting;
3004
3279
  }, [
3005
3280
  isMutatingMessage,
3006
3281
  isSubmitting
3007
3282
  ]);
3008
3283
  var latestMessage = useLatestMessage().latestMessage;
3009
- var isDisabled = (0, import_react34.useMemo)(function() {
3284
+ var isDisabled = (0, import_react41.useMemo)(function() {
3010
3285
  var // @ts-ignore-next-line
3011
3286
  _latestMessage_metadata;
3012
3287
  return (latestMessage === null || latestMessage === void 0 ? void 0 : (_latestMessage_metadata = latestMessage.metadata) === null || _latestMessage_metadata === void 0 ? void 0 : _latestMessage_metadata.isBlocking) || isDisabledArg;
@@ -3066,7 +3341,7 @@ var Root4 = function(param) {
3066
3341
  };
3067
3342
  }();
3068
3343
  var content = watch("content");
3069
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(MessageFormContext.Provider, {
3344
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(MessageFormContext.Provider, {
3070
3345
  value: {
3071
3346
  isDisabled: isDisabled,
3072
3347
  isLoading: isLoading,
@@ -3075,11 +3350,11 @@ var Root4 = function(param) {
3075
3350
  isFileLoading: isFileLoading,
3076
3351
  content: content
3077
3352
  },
3078
- children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_hook_form.FormProvider, _object_spread_props(_object_spread({}, formProps), {
3079
- children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_themes37.Box, {
3353
+ children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_react_hook_form.FormProvider, _object_spread_props(_object_spread({}, formProps), {
3354
+ children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_themes44.Box, {
3080
3355
  asChild: true,
3081
3356
  flexShrink: "0",
3082
- children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("form", {
3357
+ children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("form", {
3083
3358
  onSubmit: handleSubmit(onSubmit),
3084
3359
  children: children
3085
3360
  })
@@ -3089,32 +3364,32 @@ var Root4 = function(param) {
3089
3364
  };
3090
3365
  // src/components/threads/Thread/MessageForm/Field/index.tsx
3091
3366
  var import_react_hook_form3 = require("react-hook-form");
3092
- var import_themes41 = require("@radix-ui/themes");
3367
+ var import_themes48 = require("@radix-ui/themes");
3093
3368
  // src/components/threads/Thread/MessageForm/Field/Control.tsx
3094
- var import_themes38 = require("@radix-ui/themes");
3369
+ var import_themes45 = require("@radix-ui/themes");
3095
3370
  var import_react_hook_form2 = require("react-hook-form");
3096
3371
  // src/hooks/misc/usePrevious.ts
3097
- var import_react35 = require("react");
3372
+ var import_react42 = require("react");
3098
3373
  var usePrevious = function(state) {
3099
- var ref = (0, import_react35.useRef)();
3100
- (0, import_react35.useEffect)(function() {
3374
+ var ref = (0, import_react42.useRef)();
3375
+ (0, import_react42.useEffect)(function() {
3101
3376
  ref.current = state;
3102
3377
  });
3103
3378
  return ref.current;
3104
3379
  };
3105
3380
  // src/components/threads/Thread/MessageForm/Field/Control.tsx
3106
- var import_react37 = require("react");
3381
+ var import_react44 = require("react");
3107
3382
  // src/components/textareas/TextareaBase/index.tsx
3108
- var import_react36 = require("react");
3383
+ var import_react43 = require("react");
3109
3384
  var import_react_textarea_autosize = __toESM(require("react-textarea-autosize"), 1);
3110
- var import_jsx_runtime52 = require("react/jsx-runtime");
3111
- var TextareaBase = (0, import_react36.forwardRef)(function TextareaBase2(props, ref) {
3112
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsxs)(import_jsx_runtime52.Fragment, {
3385
+ var import_jsx_runtime60 = require("react/jsx-runtime");
3386
+ var TextareaBase = (0, import_react43.forwardRef)(function TextareaBase2(props, ref) {
3387
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_jsx_runtime60.Fragment, {
3113
3388
  children: [
3114
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("style", {
3389
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("style", {
3115
3390
  children: ".superinterface-textarea { min-height: inherit; height: 30px; }\n.superinterface-textarea::placeholder { color: var(--gray-a10); }"
3116
3391
  }),
3117
- /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(import_react_textarea_autosize.default, _object_spread({
3392
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_react_textarea_autosize.default, _object_spread({
3118
3393
  ref: ref,
3119
3394
  className: "rt-reset superinterface-textarea",
3120
3395
  style: {
@@ -3131,29 +3406,29 @@ var TextareaBase = (0, import_react36.forwardRef)(function TextareaBase2(props,
3131
3406
  });
3132
3407
  });
3133
3408
  // src/components/threads/Thread/MessageForm/Field/Control.tsx
3134
- var import_jsx_runtime53 = require("react/jsx-runtime");
3409
+ var import_jsx_runtime61 = require("react/jsx-runtime");
3135
3410
  var Root5 = function(param) {
3136
3411
  var children = param.children;
3137
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_themes38.Flex, {
3412
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_themes45.Flex, {
3138
3413
  flexGrow: "1",
3139
3414
  pt: "4px",
3140
3415
  children: children
3141
3416
  });
3142
3417
  };
3143
3418
  var Input = function() {
3144
- var assistantNameContext = (0, import_react37.useContext)(AssistantNameContext);
3419
+ var assistantNameContext = (0, import_react44.useContext)(AssistantNameContext);
3145
3420
  var register = (0, import_react_hook_form2.useFormContext)().register;
3146
3421
  var _useMessageFormContext = useMessageFormContext(), isDisabled = _useMessageFormContext.isDisabled, isLoading = _useMessageFormContext.isLoading;
3147
- var isSubmitDisabled = (0, import_react37.useMemo)(function() {
3422
+ var isSubmitDisabled = (0, import_react44.useMemo)(function() {
3148
3423
  return isDisabled || isLoading;
3149
3424
  }, [
3150
3425
  isDisabled,
3151
3426
  isLoading
3152
3427
  ]);
3153
3428
  var isDisabledPrevious = usePrevious(isDisabled);
3154
- var textareaRef = (0, import_react37.useRef)(null);
3429
+ var textareaRef = (0, import_react44.useRef)(null);
3155
3430
  var textareaProps = register("content");
3156
- (0, import_react37.useEffect)(function() {
3431
+ (0, import_react44.useEffect)(function() {
3157
3432
  if (isDisabled) return;
3158
3433
  if (!isDisabledPrevious) return;
3159
3434
  if (!textareaRef.current) return;
@@ -3163,7 +3438,7 @@ var Input = function() {
3163
3438
  isDisabledPrevious,
3164
3439
  textareaProps
3165
3440
  ]);
3166
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(TextareaBase, _object_spread_props(_object_spread({
3441
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(TextareaBase, _object_spread_props(_object_spread({
3167
3442
  minRows: 1,
3168
3443
  placeholder: "Message ".concat(assistantNameContext, "..."),
3169
3444
  disabled: isDisabled,
@@ -3183,51 +3458,51 @@ var Input = function() {
3183
3458
  }));
3184
3459
  };
3185
3460
  var Control = function() {
3186
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Root5, {
3187
- children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Input, {})
3461
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Root5, {
3462
+ children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Input, {})
3188
3463
  });
3189
3464
  };
3190
3465
  Control.Root = Root5;
3191
3466
  Control.Input = Input;
3192
3467
  // src/components/threads/Thread/MessageForm/Field/Files/Preview.tsx
3193
- var import_themes39 = require("@radix-ui/themes");
3194
- var import_react_icons8 = require("@radix-ui/react-icons");
3195
- var import_jsx_runtime54 = require("react/jsx-runtime");
3468
+ var import_themes46 = require("@radix-ui/themes");
3469
+ var import_react_icons11 = require("@radix-ui/react-icons");
3470
+ var import_jsx_runtime62 = require("react/jsx-runtime");
3196
3471
  var Preview = function() {
3197
3472
  var _useMessageFormContext = useMessageFormContext(), files = _useMessageFormContext.files, setFiles = _useMessageFormContext.setFiles;
3198
3473
  if (!files.length) {
3199
3474
  return null;
3200
3475
  }
3201
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes39.Flex, {
3476
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_themes46.Flex, {
3202
3477
  flexBasis: "100%",
3203
3478
  direction: "column",
3204
3479
  pb: "2",
3205
3480
  gap: "1",
3206
3481
  children: files.map(function(file) {
3207
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes39.Card, {
3482
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_themes46.Card, {
3208
3483
  variant: "ghost",
3209
- children: /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(import_themes39.Flex, {
3484
+ children: /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_themes46.Flex, {
3210
3485
  align: "center",
3211
3486
  justify: "between",
3212
3487
  gap: "1",
3213
3488
  children: [
3214
- /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(import_themes39.Flex, {
3489
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_themes46.Flex, {
3215
3490
  align: "center",
3216
3491
  gap: "1",
3217
3492
  flexShrink: "1",
3218
3493
  minWidth: "0",
3219
3494
  maxWidth: "250px",
3220
3495
  children: [
3221
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes39.Flex, {
3496
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_themes46.Flex, {
3222
3497
  flexShrink: "0",
3223
- children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes39.Spinner, {
3498
+ children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_themes46.Spinner, {
3224
3499
  loading: isOptimistic({
3225
3500
  id: file.id
3226
3501
  }),
3227
- children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_react_icons8.FileIcon, {})
3502
+ children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_react_icons11.FileIcon, {})
3228
3503
  })
3229
3504
  }),
3230
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes39.Text, {
3505
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_themes46.Text, {
3231
3506
  size: "2",
3232
3507
  truncate: true,
3233
3508
  wrap: "nowrap",
@@ -3235,9 +3510,9 @@ var Preview = function() {
3235
3510
  })
3236
3511
  ]
3237
3512
  }),
3238
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes39.Flex, {
3513
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_themes46.Flex, {
3239
3514
  flexShrink: "0",
3240
- children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_themes39.IconButton, {
3515
+ children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_themes46.IconButton, {
3241
3516
  onClick: function() {
3242
3517
  return setFiles(function(prev) {
3243
3518
  return prev.filter(function(prevFile) {
@@ -3248,7 +3523,7 @@ var Preview = function() {
3248
3523
  color: "gray",
3249
3524
  variant: "ghost",
3250
3525
  size: "1",
3251
- children: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_react_icons8.Cross2Icon, {})
3526
+ children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_react_icons11.Cross2Icon, {})
3252
3527
  })
3253
3528
  })
3254
3529
  ]
@@ -3258,11 +3533,11 @@ var Preview = function() {
3258
3533
  });
3259
3534
  };
3260
3535
  // src/components/threads/Thread/MessageForm/Field/Files/Control.tsx
3261
- var import_react38 = require("react");
3536
+ var import_react45 = require("react");
3262
3537
  var import_radash15 = require("radash");
3263
3538
  var import_dayjs2 = __toESM(require("dayjs"), 1);
3264
- var import_react_icons9 = require("@radix-ui/react-icons");
3265
- var import_themes40 = require("@radix-ui/themes");
3539
+ var import_react_icons12 = require("@radix-ui/react-icons");
3540
+ var import_themes47 = require("@radix-ui/themes");
3266
3541
  // src/hooks/files/useCreateFile/index.ts
3267
3542
  var import_react_query6 = require("@tanstack/react-query");
3268
3543
  // src/hooks/files/useCreateFile/lib/mutationOptions/mutationFn/body/formData.ts
@@ -3373,13 +3648,13 @@ var useCreateFile = function() {
3373
3648
  });
3374
3649
  };
3375
3650
  // src/components/threads/Thread/MessageForm/Field/Files/Control.tsx
3376
- var import_jsx_runtime55 = require("react/jsx-runtime");
3651
+ var import_jsx_runtime63 = require("react/jsx-runtime");
3377
3652
  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";
3378
3653
  var Control2 = function() {
3379
3654
  var _useMessageFormContext = useMessageFormContext(), isDisabled = _useMessageFormContext.isDisabled, isLoading = _useMessageFormContext.isLoading, setFiles = _useMessageFormContext.setFiles;
3380
3655
  var createFile = useCreateFile().createFile;
3381
3656
  var addToast = useToasts().addToast;
3382
- var onChange = (0, import_react38.useCallback)(function() {
3657
+ var onChange = (0, import_react45.useCallback)(function() {
3383
3658
  var _ref = _async_to_generator(function(event) {
3384
3659
  var fileObjects, newFiles, _iteratorAbruptCompletion, _didIteratorError, _iteratorError, _loop, _iterator, _step, err;
3385
3660
  return _ts_generator(this, function(_state) {
@@ -3547,11 +3822,11 @@ var Control2 = function() {
3547
3822
  createFile,
3548
3823
  setFiles
3549
3824
  ]);
3550
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_themes40.Flex, {
3825
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_themes47.Flex, {
3551
3826
  pt: "2",
3552
3827
  pr: "2",
3553
3828
  flexGrow: "0",
3554
- children: /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(import_themes40.IconButton, {
3829
+ children: /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_themes47.IconButton, {
3555
3830
  type: "button",
3556
3831
  variant: "ghost",
3557
3832
  color: "gray",
@@ -3561,8 +3836,8 @@ var Control2 = function() {
3561
3836
  overflow: "hidden"
3562
3837
  },
3563
3838
  children: [
3564
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_react_icons9.FilePlusIcon, {}),
3565
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("input", {
3839
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_react_icons12.FilePlusIcon, {}),
3840
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("input", {
3566
3841
  type: "file",
3567
3842
  multiple: true,
3568
3843
  accept: accept,
@@ -3587,20 +3862,20 @@ var Files = {
3587
3862
  Control: Control2
3588
3863
  };
3589
3864
  // src/components/threads/Thread/MessageForm/Field/index.tsx
3590
- var import_jsx_runtime56 = require("react/jsx-runtime");
3865
+ var import_jsx_runtime64 = require("react/jsx-runtime");
3591
3866
  var Root6 = function(param) {
3592
3867
  var children = param.children;
3593
3868
  var _ref = (0, import_react_hook_form3.useFormContext)(), errors = _ref.formState.errors;
3594
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes41.Container, {
3869
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_themes48.Container, {
3595
3870
  size: "2",
3596
3871
  flexGrow: "0",
3597
- children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes41.Flex, {
3872
+ children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_themes48.Flex, {
3598
3873
  direction: "column",
3599
3874
  flexShrink: "0",
3600
- children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes41.Flex, {
3875
+ children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_themes48.Flex, {
3601
3876
  direction: "column",
3602
3877
  flexShrink: "0",
3603
- children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_themes41.Flex, {
3878
+ children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_themes48.Flex, {
3604
3879
  style: _object_spread({
3605
3880
  borderRadius: "var(--radius-2)",
3606
3881
  borderWidth: "1px",
@@ -3624,13 +3899,13 @@ var Field = {
3624
3899
  Files: Files
3625
3900
  };
3626
3901
  // src/components/threads/Thread/MessageForm/index.tsx
3627
- var import_jsx_runtime57 = require("react/jsx-runtime");
3902
+ var import_jsx_runtime65 = require("react/jsx-runtime");
3628
3903
  var MessageForm = function() {
3629
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Root4, {
3630
- children: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(Field.Root, {
3904
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Root4, {
3905
+ children: /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(Field.Root, {
3631
3906
  children: [
3632
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Field.Control, {}),
3633
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Submit, {})
3907
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Field.Control, {}),
3908
+ /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Submit, {})
3634
3909
  ]
3635
3910
  })
3636
3911
  });
@@ -3639,35 +3914,35 @@ MessageForm.Root = Root4;
3639
3914
  MessageForm.Field = Field;
3640
3915
  MessageForm.Submit = Submit;
3641
3916
  // src/components/threads/Thread/Root/index.tsx
3642
- var import_themes43 = require("@radix-ui/themes");
3917
+ var import_themes50 = require("@radix-ui/themes");
3643
3918
  // src/components/threads/Thread/Provider/index.tsx
3644
3919
  var Provider2 = SuperinterfaceProvider;
3645
3920
  // src/components/toasts/ToastsProvider/index.tsx
3646
- var import_react39 = require("react");
3921
+ var import_react46 = require("react");
3647
3922
  var Toast2 = __toESM(require("@radix-ui/react-toast"), 1);
3648
3923
  // src/components/toasts/ToastsProvider/CustomToast.tsx
3649
3924
  var Toast = __toESM(require("@radix-ui/react-toast"), 1);
3650
- var import_themes42 = require("@radix-ui/themes");
3651
- var import_react_icons10 = require("@radix-ui/react-icons");
3652
- var import_jsx_runtime58 = require("react/jsx-runtime");
3925
+ var import_themes49 = require("@radix-ui/themes");
3926
+ var import_react_icons13 = require("@radix-ui/react-icons");
3927
+ var import_jsx_runtime66 = require("react/jsx-runtime");
3653
3928
  var CustomToast = function(param) {
3654
3929
  var toast = param.toast;
3655
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Toast.Root, {
3656
- children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_themes42.Card, {
3657
- children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Toast.Title, {
3658
- children: /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_themes42.Flex, {
3930
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Toast.Root, {
3931
+ children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_themes49.Card, {
3932
+ children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Toast.Title, {
3933
+ children: /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_themes49.Flex, {
3659
3934
  children: [
3660
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_themes42.Flex, {
3935
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_themes49.Flex, {
3661
3936
  pr: "2",
3662
3937
  height: "14px",
3663
3938
  align: "center",
3664
- children: toast.type === "success" ? /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_react_icons10.CheckCircledIcon, {
3939
+ children: toast.type === "success" ? /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_react_icons13.CheckCircledIcon, {
3665
3940
  color: "var(--accent-9)"
3666
- }) : /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_react_icons10.CrossCircledIcon, {
3941
+ }) : /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_react_icons13.CrossCircledIcon, {
3667
3942
  color: "var(--red-9)"
3668
3943
  })
3669
3944
  }),
3670
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_themes42.Text, {
3945
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_themes49.Text, {
3671
3946
  weight: "medium",
3672
3947
  size: "1",
3673
3948
  children: toast.message
@@ -3679,31 +3954,31 @@ var CustomToast = function(param) {
3679
3954
  });
3680
3955
  };
3681
3956
  // src/components/toasts/ToastsProvider/index.tsx
3682
- var import_jsx_runtime59 = require("react/jsx-runtime");
3957
+ var import_jsx_runtime67 = require("react/jsx-runtime");
3683
3958
  var ToastsProvider = function(param) {
3684
3959
  var children = param.children, _param_bottom = param.bottom, bottom = _param_bottom === void 0 ? 0 : _param_bottom;
3685
- var _ref = _sliced_to_array((0, import_react39.useState)([]), 2), toasts = _ref[0], setToasts = _ref[1];
3686
- var addToast = (0, import_react39.useCallback)(function(toast) {
3960
+ var _ref = _sliced_to_array((0, import_react46.useState)([]), 2), toasts = _ref[0], setToasts = _ref[1];
3961
+ var addToast = (0, import_react46.useCallback)(function(toast) {
3687
3962
  return setToasts(function(prevToasts) {
3688
3963
  return _to_consumable_array(prevToasts).concat([
3689
3964
  toast
3690
3965
  ]);
3691
3966
  });
3692
3967
  }, []);
3693
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(ToastsContext.Provider, {
3968
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(ToastsContext.Provider, {
3694
3969
  value: {
3695
3970
  toasts: toasts,
3696
3971
  addToast: addToast
3697
3972
  },
3698
- children: /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(Toast2.Provider, {
3973
+ children: /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(Toast2.Provider, {
3699
3974
  children: [
3700
3975
  children,
3701
3976
  Array.from(toasts).map(function(toast, index) {
3702
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(CustomToast, {
3977
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(CustomToast, {
3703
3978
  toast: toast
3704
3979
  }, index);
3705
3980
  }),
3706
- /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Toast2.Viewport, {
3981
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Toast2.Viewport, {
3707
3982
  style: {
3708
3983
  position: "absolute",
3709
3984
  bottom: bottom,
@@ -3725,15 +4000,15 @@ var ToastsProvider = function(param) {
3725
4000
  });
3726
4001
  };
3727
4002
  // src/components/threads/Thread/Root/index.tsx
3728
- var import_jsx_runtime60 = require("react/jsx-runtime");
4003
+ var import_jsx_runtime68 = require("react/jsx-runtime");
3729
4004
  var Root8 = function(_param) {
3730
4005
  var children = _param.children, rest = _object_without_properties(_param, [
3731
4006
  "children"
3732
4007
  ]);
3733
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(ToastsProvider, {
4008
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(ToastsProvider, {
3734
4009
  bottom: "var(--space-9)",
3735
- children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Provider2, _object_spread_props(_object_spread({}, rest), {
3736
- children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_themes43.Flex, {
4010
+ children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Provider2, _object_spread_props(_object_spread({}, rest), {
4011
+ children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_themes50.Flex, {
3737
4012
  direction: "column",
3738
4013
  flexGrow: "1",
3739
4014
  children: children
@@ -3742,12 +4017,12 @@ var Root8 = function(_param) {
3742
4017
  });
3743
4018
  };
3744
4019
  // src/components/threads/Thread/index.tsx
3745
- var import_jsx_runtime61 = require("react/jsx-runtime");
4020
+ var import_jsx_runtime69 = require("react/jsx-runtime");
3746
4021
  var Thread = function(props) {
3747
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(Root8, _object_spread_props(_object_spread({}, props), {
4022
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(Root8, _object_spread_props(_object_spread({}, props), {
3748
4023
  children: [
3749
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Messages, {}),
3750
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(MessageForm, {})
4024
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Messages, {}),
4025
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(MessageForm, {})
3751
4026
  ]
3752
4027
  }));
3753
4028
  };
@@ -3755,12 +4030,12 @@ Thread.Root = Root8;
3755
4030
  Thread.Messages = Messages;
3756
4031
  Thread.MessageForm = MessageForm;
3757
4032
  // src/hooks/messages/useMessageContext/index.ts
3758
- var import_react40 = require("react");
4033
+ var import_react47 = require("react");
3759
4034
  var useMessageContext = function() {
3760
- return (0, import_react40.useContext)(MessageContext);
4035
+ return (0, import_react47.useContext)(MessageContext);
3761
4036
  };
3762
4037
  // src/hooks/assistants/useAssistant/index.ts
3763
- var import_react41 = require("react");
4038
+ var import_react48 = require("react");
3764
4039
  var import_react_query8 = require("@tanstack/react-query");
3765
4040
  // src/hooks/assistants/useAssistant/lib/queryOptions/index.ts
3766
4041
  var import_react_query7 = require("@tanstack/react-query");
@@ -3849,7 +4124,7 @@ var useAssistant = function(param) {
3849
4124
  assistantId: assistantId,
3850
4125
  superinterfaceContext: superinterfaceContext
3851
4126
  }));
3852
- return (0, import_react41.useMemo)(function() {
4127
+ return (0, import_react48.useMemo)(function() {
3853
4128
  return _object_spread_props(_object_spread({}, props), {
3854
4129
  assistant: props.data ? props.data.assistant : null
3855
4130
  });
@@ -3858,25 +4133,25 @@ var useAssistant = function(param) {
3858
4133
  ]);
3859
4134
  };
3860
4135
  // src/components/threads/ThreadDialog/Provider/index.tsx
3861
- var import_react44 = require("react");
4136
+ var import_react51 = require("react");
3862
4137
  // src/contexts/threads/ThreadDialogContext/index.ts
3863
- var import_react42 = require("react");
3864
- var ThreadDialogContext = (0, import_react42.createContext)({
4138
+ var import_react49 = require("react");
4139
+ var ThreadDialogContext = (0, import_react49.createContext)({
3865
4140
  isOpen: false,
3866
4141
  setIsOpen: function() {}
3867
4142
  });
3868
4143
  // src/hooks/threads/useThreadDialogContext/index.ts
3869
- var import_react43 = require("react");
4144
+ var import_react50 = require("react");
3870
4145
  var useThreadDialogContext = function() {
3871
- return (0, import_react43.useContext)(ThreadDialogContext);
4146
+ return (0, import_react50.useContext)(ThreadDialogContext);
3872
4147
  };
3873
4148
  // src/components/threads/ThreadDialog/Provider/index.tsx
3874
- var import_jsx_runtime62 = require("react/jsx-runtime");
4149
+ var import_jsx_runtime70 = require("react/jsx-runtime");
3875
4150
  var Provider4 = function(param) {
3876
4151
  var children = param.children;
3877
4152
  var threadDialogContext = useThreadDialogContext();
3878
- var _ref = _sliced_to_array((0, import_react44.useState)(threadDialogContext.isOpen), 2), isOpen = _ref[0], setIsOpen = _ref[1];
3879
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(ThreadDialogContext.Provider, {
4153
+ var _ref = _sliced_to_array((0, import_react51.useState)(threadDialogContext.isOpen), 2), isOpen = _ref[0], setIsOpen = _ref[1];
4154
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(ThreadDialogContext.Provider, {
3880
4155
  value: {
3881
4156
  isOpen: isOpen,
3882
4157
  setIsOpen: setIsOpen
@@ -3885,32 +4160,32 @@ var Provider4 = function(param) {
3885
4160
  });
3886
4161
  };
3887
4162
  // src/components/threads/ThreadDialog/Root/index.tsx
3888
- var import_jsx_runtime63 = require("react/jsx-runtime");
4163
+ var import_jsx_runtime71 = require("react/jsx-runtime");
3889
4164
  var Root9 = function(param) {
3890
4165
  var children = param.children;
3891
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Provider4, {
4166
+ return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Provider4, {
3892
4167
  children: children
3893
4168
  });
3894
4169
  };
3895
4170
  // src/components/threads/ThreadDialog/Trigger/index.tsx
3896
- var import_themes45 = require("@radix-ui/themes");
4171
+ var import_themes52 = require("@radix-ui/themes");
3897
4172
  // src/components/threads/ThreadDialog/Trigger/Button.tsx
3898
- var import_themes44 = require("@radix-ui/themes");
3899
- var import_react_icons11 = require("@radix-ui/react-icons");
3900
- var import_jsx_runtime64 = require("react/jsx-runtime");
4173
+ var import_themes51 = require("@radix-ui/themes");
4174
+ var import_react_icons14 = require("@radix-ui/react-icons");
4175
+ var import_jsx_runtime72 = require("react/jsx-runtime");
3901
4176
  var Button3 = function() {
3902
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_themes44.IconButton, {
4177
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_themes51.IconButton, {
3903
4178
  size: "4",
3904
4179
  radius: "full",
3905
- children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_react_icons11.ChatBubbleIcon, {})
4180
+ children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_react_icons14.ChatBubbleIcon, {})
3906
4181
  });
3907
4182
  };
3908
4183
  // src/components/threads/ThreadDialog/Trigger/index.tsx
3909
- var import_jsx_runtime65 = require("react/jsx-runtime");
4184
+ var import_jsx_runtime73 = require("react/jsx-runtime");
3910
4185
  var Root10 = function(param) {
3911
4186
  var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
3912
4187
  var _useThreadDialogContext = useThreadDialogContext(), setIsOpen = _useThreadDialogContext.setIsOpen, isOpen = _useThreadDialogContext.isOpen;
3913
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_themes45.Flex, {
4188
+ return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_themes52.Flex, {
3914
4189
  display: {
3915
4190
  initial: isOpen ? "none" : "flex",
3916
4191
  sm: "flex"
@@ -3934,21 +4209,21 @@ var Root10 = function(param) {
3934
4209
  });
3935
4210
  };
3936
4211
  var Trigger = function(args) {
3937
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Root10, _object_spread_props(_object_spread({}, args), {
3938
- children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(Button3, {})
4212
+ return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Root10, _object_spread_props(_object_spread({}, args), {
4213
+ children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Button3, {})
3939
4214
  }));
3940
4215
  };
3941
4216
  Trigger.Root = Root10;
3942
4217
  Trigger.Button = Button3;
3943
4218
  // src/components/threads/ThreadDialog/Content/index.tsx
3944
- var import_themes47 = require("@radix-ui/themes");
4219
+ var import_themes54 = require("@radix-ui/themes");
3945
4220
  // src/components/threads/ThreadDialog/Close/index.tsx
3946
- var import_react_icons12 = require("@radix-ui/react-icons");
3947
- var import_themes46 = require("@radix-ui/themes");
3948
- var import_jsx_runtime66 = require("react/jsx-runtime");
4221
+ var import_react_icons15 = require("@radix-ui/react-icons");
4222
+ var import_themes53 = require("@radix-ui/themes");
4223
+ var import_jsx_runtime74 = require("react/jsx-runtime");
3949
4224
  var Close = function() {
3950
4225
  var _useThreadDialogContext = useThreadDialogContext(), setIsOpen = _useThreadDialogContext.setIsOpen, isOpen = _useThreadDialogContext.isOpen;
3951
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_themes46.Flex, {
4226
+ return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_themes53.Flex, {
3952
4227
  display: {
3953
4228
  initial: isOpen ? "flex" : "none",
3954
4229
  sm: "none"
@@ -3968,20 +4243,20 @@ var Close = function() {
3968
4243
  style: {
3969
4244
  zIndex: 9999999999
3970
4245
  },
3971
- children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_themes46.IconButton, {
4246
+ children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_themes53.IconButton, {
3972
4247
  size: "2",
3973
4248
  variant: "soft",
3974
- children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_react_icons12.Cross1Icon, {})
4249
+ children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_react_icons15.Cross1Icon, {})
3975
4250
  })
3976
4251
  });
3977
4252
  };
3978
4253
  // src/components/threads/ThreadDialog/Content/index.tsx
3979
- var import_jsx_runtime67 = require("react/jsx-runtime");
4254
+ var import_jsx_runtime75 = require("react/jsx-runtime");
3980
4255
  var Root11 = function(param) {
3981
4256
  var children = param.children, _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
3982
4257
  var isOpen = useThreadDialogContext().isOpen;
3983
4258
  if (!isOpen) return null;
3984
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_themes47.Flex, {
4259
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_themes54.Flex, {
3985
4260
  direction: "column",
3986
4261
  justify: "end",
3987
4262
  position: "fixed",
@@ -4009,7 +4284,7 @@ var Root11 = function(param) {
4009
4284
  style: _object_spread({
4010
4285
  zIndex: 9999999999
4011
4286
  }, style),
4012
- children: /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(import_themes47.Card, {
4287
+ children: /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(import_themes54.Card, {
4013
4288
  mb: {
4014
4289
  initial: void 0,
4015
4290
  sm: "3"
@@ -4020,7 +4295,7 @@ var Root11 = function(param) {
4020
4295
  flexGrow: 1
4021
4296
  },
4022
4297
  children: [
4023
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_themes47.Inset, {
4298
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_themes54.Inset, {
4024
4299
  clip: "padding-box",
4025
4300
  side: "all",
4026
4301
  pb: "current",
@@ -4030,13 +4305,13 @@ var Root11 = function(param) {
4030
4305
  },
4031
4306
  children: children
4032
4307
  }),
4033
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Close, {})
4308
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(Close, {})
4034
4309
  ]
4035
4310
  })
4036
4311
  });
4037
4312
  };
4038
4313
  var Messages2 = function() {
4039
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Thread.Messages, {
4314
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(Thread.Messages, {
4040
4315
  style: {
4041
4316
  paddingTop: "var(--space-5)",
4042
4317
  paddingRight: "var(--space-5)",
@@ -4046,7 +4321,7 @@ var Messages2 = function() {
4046
4321
  };
4047
4322
  var FormContainer = function(param) {
4048
4323
  var children = param.children;
4049
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(import_themes47.Flex, {
4324
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_themes54.Flex, {
4050
4325
  direction: "column",
4051
4326
  pl: "5",
4052
4327
  pr: "5",
@@ -4057,13 +4332,13 @@ var FormContainer = function(param) {
4057
4332
  };
4058
4333
  var Content5 = function(param) {
4059
4334
  var _param_style = param.style, style = _param_style === void 0 ? {} : _param_style;
4060
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Root11, {
4335
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(Root11, {
4061
4336
  style: style,
4062
- children: /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(Thread.Root, {
4337
+ children: /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(Thread.Root, {
4063
4338
  children: [
4064
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Messages2, {}),
4065
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(FormContainer, {
4066
- children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Thread.MessageForm, {})
4339
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(Messages2, {}),
4340
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(FormContainer, {
4341
+ children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(Thread.MessageForm, {})
4067
4342
  })
4068
4343
  ]
4069
4344
  })
@@ -4073,12 +4348,12 @@ Content5.Root = Root11;
4073
4348
  Content5.Messages = Messages2;
4074
4349
  Content5.FormContainer = FormContainer;
4075
4350
  // src/components/threads/ThreadDialog/index.tsx
4076
- var import_jsx_runtime68 = require("react/jsx-runtime");
4351
+ var import_jsx_runtime76 = require("react/jsx-runtime");
4077
4352
  var ThreadDialog = function() {
4078
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(Root9, {
4353
+ return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(Root9, {
4079
4354
  children: [
4080
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Content5, {}),
4081
- /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Trigger, {})
4355
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(Content5, {}),
4356
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(Trigger, {})
4082
4357
  ]
4083
4358
  });
4084
4359
  };
@@ -4086,10 +4361,10 @@ ThreadDialog.Root = Root9;
4086
4361
  ThreadDialog.Trigger = Trigger;
4087
4362
  ThreadDialog.Content = Content5;
4088
4363
  // src/components/threads/AudioThread/Root/index.tsx
4089
- var import_themes48 = require("@radix-ui/themes");
4364
+ var import_themes55 = require("@radix-ui/themes");
4090
4365
  // src/contexts/threads/AudioThreadContext/index.ts
4091
- var import_react45 = require("react");
4092
- var AudioThreadContext = (0, import_react45.createContext)({
4366
+ var import_react52 = require("react");
4367
+ var AudioThreadContext = (0, import_react52.createContext)({
4093
4368
  status: "idle",
4094
4369
  recorderProps: {
4095
4370
  status: "idle",
@@ -4145,7 +4420,7 @@ var AudioThreadContext = (0, import_react45.createContext)({
4145
4420
  }
4146
4421
  });
4147
4422
  // src/hooks/misc/usePermission/index.ts
4148
- var import_react46 = require("react");
4423
+ var import_react53 = require("react");
4149
4424
  // src/hooks/misc/usePermission/util.ts
4150
4425
  var noop = function() {};
4151
4426
  function on(obj) {
@@ -4168,8 +4443,8 @@ function off(obj) {
4168
4443
  }
4169
4444
  // src/hooks/misc/usePermission/index.ts
4170
4445
  var usePermission = function(permissionDesc) {
4171
- var _ref = _sliced_to_array((0, import_react46.useState)(""), 2), state = _ref[0], setState = _ref[1];
4172
- (0, import_react46.useEffect)(function() {
4446
+ var _ref = _sliced_to_array((0, import_react53.useState)(""), 2), state = _ref[0], setState = _ref[1];
4447
+ (0, import_react53.useEffect)(function() {
4173
4448
  var mounted = true;
4174
4449
  var permissionStatus = null;
4175
4450
  var onChange = function() {
@@ -4207,11 +4482,11 @@ var blobToData = function(blob) {
4207
4482
  });
4208
4483
  };
4209
4484
  // src/hooks/audioThreads/useStatus/index.ts
4210
- var import_react47 = require("react");
4485
+ var import_react54 = require("react");
4211
4486
  var useStatus = function(param) {
4212
4487
  var messageAudioProps = param.messageAudioProps, recorderProps = param.recorderProps, createMessageProps = param.createMessageProps;
4213
4488
  var latestMessageProps = useLatestMessage();
4214
- var status = (0, import_react47.useMemo)(function() {
4489
+ var status = (0, import_react54.useMemo)(function() {
4215
4490
  var _latestMessageProps_latestMessage;
4216
4491
  if (recorderProps.status === "recording") return "recording";
4217
4492
  if (createMessageProps.isPending) return "creatingMessage";
@@ -4235,16 +4510,16 @@ var useStatus = function(param) {
4235
4510
  // src/hooks/audioThreads/useRecorder/index.ts
4236
4511
  var import_dayjs3 = __toESM(require("dayjs"), 1);
4237
4512
  var import_use_audio_capture = require("use-audio-capture");
4238
- var import_react49 = require("react");
4513
+ var import_react56 = require("react");
4239
4514
  var import_react_use_audio_player = require("react-use-audio-player");
4240
4515
  // src/hooks/misc/useInterval.ts
4241
- var import_react48 = require("react");
4516
+ var import_react55 = require("react");
4242
4517
  var useInterval = function(callback, delay) {
4243
- var savedCallback = (0, import_react48.useRef)(function() {});
4244
- (0, import_react48.useEffect)(function() {
4518
+ var savedCallback = (0, import_react55.useRef)(function() {});
4519
+ (0, import_react55.useEffect)(function() {
4245
4520
  savedCallback.current = callback;
4246
4521
  });
4247
- (0, import_react48.useEffect)(function() {
4522
+ (0, import_react55.useEffect)(function() {
4248
4523
  if (delay !== null) {
4249
4524
  var interval = setInterval(function() {
4250
4525
  return savedCallback.current();
@@ -4261,14 +4536,14 @@ var useInterval = function(callback, delay) {
4261
4536
  // src/hooks/audioThreads/useRecorder/index.ts
4262
4537
  var useRecorder = function(param) {
4263
4538
  var isStopOnSilence = param.isStopOnSilence, onStart = param.onStart, onStop = param.onStop;
4264
- var _ref = _sliced_to_array((0, import_react49.useState)(null), 2), silenceStart = _ref[0], setSilenceStart = _ref[1];
4265
- var _ref1 = _sliced_to_array((0, import_react49.useState)(null), 2), noiseStart = _ref1[0], setNoiseStart = _ref1[1];
4266
- var _ref2 = _sliced_to_array((0, import_react49.useState)(null), 2), mediaStream = _ref2[0], setMediaStream = _ref2[1];
4267
- var _ref3 = _sliced_to_array((0, import_react49.useState)("idle"), 2), status = _ref3[0], setStatus = _ref3[1];
4539
+ var _ref = _sliced_to_array((0, import_react56.useState)(null), 2), silenceStart = _ref[0], setSilenceStart = _ref[1];
4540
+ var _ref1 = _sliced_to_array((0, import_react56.useState)(null), 2), noiseStart = _ref1[0], setNoiseStart = _ref1[1];
4541
+ var _ref2 = _sliced_to_array((0, import_react56.useState)(null), 2), mediaStream = _ref2[0], setMediaStream = _ref2[1];
4542
+ var _ref3 = _sliced_to_array((0, import_react56.useState)("idle"), 2), status = _ref3[0], setStatus = _ref3[1];
4268
4543
  var startAudioPlayer = (0, import_react_use_audio_player.useAudioPlayer)();
4269
4544
  var endAudioPlayer = (0, import_react_use_audio_player.useAudioPlayer)();
4270
- var _ref4 = _sliced_to_array((0, import_react49.useState)(false), 2), isLoaded = _ref4[0], setIsLoaded = _ref4[1];
4271
- (0, import_react49.useEffect)(function() {
4545
+ var _ref4 = _sliced_to_array((0, import_react56.useState)(false), 2), isLoaded = _ref4[0], setIsLoaded = _ref4[1];
4546
+ (0, import_react56.useEffect)(function() {
4272
4547
  if (isLoaded) return;
4273
4548
  setIsLoaded(true);
4274
4549
  }, [
@@ -4326,9 +4601,9 @@ var useRecorder = function(param) {
4326
4601
  setNoiseStart(null);
4327
4602
  }
4328
4603
  });
4329
- var _ref5 = _sliced_to_array((0, import_react49.useState)(null), 2), audioEngine = _ref5[0], setAudioEngine = _ref5[1];
4330
- var isInited = (0, import_react49.useRef)(false);
4331
- (0, import_react49.useEffect)(function() {
4604
+ var _ref5 = _sliced_to_array((0, import_react56.useState)(null), 2), audioEngine = _ref5[0], setAudioEngine = _ref5[1];
4605
+ var isInited = (0, import_react56.useRef)(false);
4606
+ (0, import_react56.useEffect)(function() {
4332
4607
  if (!mediaStream) return;
4333
4608
  if (isInited.current) return;
4334
4609
  isInited.current = true;
@@ -4341,7 +4616,7 @@ var useRecorder = function(param) {
4341
4616
  isInited,
4342
4617
  mediaStream
4343
4618
  ]);
4344
- var visualizationAnalyser = (0, import_react49.useMemo)(function() {
4619
+ var visualizationAnalyser = (0, import_react56.useMemo)(function() {
4345
4620
  if (!audioEngine) return null;
4346
4621
  var result = audioEngine.audioContext.createAnalyser();
4347
4622
  audioEngine.source.connect(result);
@@ -4349,7 +4624,7 @@ var useRecorder = function(param) {
4349
4624
  }, [
4350
4625
  audioEngine
4351
4626
  ]);
4352
- var silenceAnalyser = (0, import_react49.useMemo)(function() {
4627
+ var silenceAnalyser = (0, import_react56.useMemo)(function() {
4353
4628
  if (!audioEngine) return null;
4354
4629
  var result = audioEngine.audioContext.createAnalyser();
4355
4630
  result.minDecibels = -60;
@@ -4358,7 +4633,7 @@ var useRecorder = function(param) {
4358
4633
  }, [
4359
4634
  audioEngine
4360
4635
  ]);
4361
- var handleSilence = (0, import_react49.useCallback)(function() {
4636
+ var handleSilence = (0, import_react56.useCallback)(function() {
4362
4637
  if (!silenceAnalyser) return;
4363
4638
  var frequencyData = new Uint8Array(silenceAnalyser.frequencyBinCount);
4364
4639
  silenceAnalyser.getByteFrequencyData(frequencyData);
@@ -4381,7 +4656,7 @@ var useRecorder = function(param) {
4381
4656
  setNoiseStart,
4382
4657
  setSilenceStart
4383
4658
  ]);
4384
- (0, import_react49.useEffect)(function() {
4659
+ (0, import_react56.useEffect)(function() {
4385
4660
  if (!isStopOnSilence) return;
4386
4661
  requestAnimationFrame(function() {
4387
4662
  return handleSilence();
@@ -4404,7 +4679,7 @@ var useRecorder = function(param) {
4404
4679
  });
4405
4680
  };
4406
4681
  // src/hooks/audioThreads/useMessageAudio/index.ts
4407
- var import_react50 = require("react");
4682
+ var import_react57 = require("react");
4408
4683
  var import_compromise = __toESM(require("compromise"), 1);
4409
4684
  var import_howler = require("howler");
4410
4685
  var import_react_use_audio_player2 = require("react-use-audio-player");
@@ -4442,15 +4717,15 @@ var getMessageSentences = function(param) {
4442
4717
  };
4443
4718
  var useMessageAudio = function(param) {
4444
4719
  var onEnd = param.onEnd;
4445
- var _ref = _sliced_to_array((0, import_react50.useState)(false), 2), isAudioPlayed = _ref[0], setIsAudioPlayed = _ref[1];
4446
- var _ref1 = _sliced_to_array((0, import_react50.useState)([]), 2), stoppedMessageIds = _ref1[0], setStoppedMessageIds = _ref1[1];
4447
- var _ref2 = _sliced_to_array((0, import_react50.useState)([]), 2), playedMessageSentences = _ref2[0], setPlayedMessageSentences = _ref2[1];
4720
+ var _ref = _sliced_to_array((0, import_react57.useState)(false), 2), isAudioPlayed = _ref[0], setIsAudioPlayed = _ref[1];
4721
+ var _ref1 = _sliced_to_array((0, import_react57.useState)([]), 2), stoppedMessageIds = _ref1[0], setStoppedMessageIds = _ref1[1];
4722
+ var _ref2 = _sliced_to_array((0, import_react57.useState)([]), 2), playedMessageSentences = _ref2[0], setPlayedMessageSentences = _ref2[1];
4448
4723
  var audioPlayer = (0, import_react_use_audio_player2.useAudioPlayer)();
4449
4724
  var nextAudioPlayer = (0, import_react_use_audio_player2.useAudioPlayer)();
4450
4725
  var superinterfaceContext = useSuperinterfaceContext();
4451
- var _ref3 = _sliced_to_array((0, import_react50.useState)(false), 2), isPlaying = _ref3[0], setIsPlaying = _ref3[1];
4726
+ var _ref3 = _sliced_to_array((0, import_react57.useState)(false), 2), isPlaying = _ref3[0], setIsPlaying = _ref3[1];
4452
4727
  var latestMessageProps = useLatestMessage();
4453
- var unplayedMessageSentences = (0, import_react50.useMemo)(function() {
4728
+ var unplayedMessageSentences = (0, import_react57.useMemo)(function() {
4454
4729
  if (!latestMessageProps.latestMessage) return [];
4455
4730
  if (latestMessageProps.latestMessage.role !== "assistant") return [];
4456
4731
  if (stoppedMessageIds.includes(latestMessageProps.latestMessage.id)) return [];
@@ -4471,7 +4746,7 @@ var useMessageAudio = function(param) {
4471
4746
  latestMessageProps,
4472
4747
  playedMessageSentences
4473
4748
  ]);
4474
- (0, import_react50.useEffect)(function() {
4749
+ (0, import_react57.useEffect)(function() {
4475
4750
  if (isPlaying) return;
4476
4751
  if (audioPlayer.playing) return;
4477
4752
  if (!latestMessageProps.latestMessage) return;
@@ -4539,7 +4814,7 @@ var useMessageAudio = function(param) {
4539
4814
  playedMessageSentences,
4540
4815
  onEnd
4541
4816
  ]);
4542
- (0, import_react50.useEffect)(function() {
4817
+ (0, import_react57.useEffect)(function() {
4543
4818
  if (isHtmlAudioSupported) {
4544
4819
  var _import_howler_Howler__howls___sounds_, _import_howler_Howler__howls_, _import_howler_Howler;
4545
4820
  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;
@@ -4548,9 +4823,9 @@ var useMessageAudio = function(param) {
4548
4823
  }, [
4549
4824
  audioPlayer
4550
4825
  ]);
4551
- var _ref4 = _sliced_to_array((0, import_react50.useState)(null), 2), audioEngine = _ref4[0], setAudioEngine = _ref4[1];
4552
- var isAudioEngineInited = (0, import_react50.useRef)(false);
4553
- (0, import_react50.useEffect)(function() {
4826
+ var _ref4 = _sliced_to_array((0, import_react57.useState)(null), 2), audioEngine = _ref4[0], setAudioEngine = _ref4[1];
4827
+ var isAudioEngineInited = (0, import_react57.useRef)(false);
4828
+ (0, import_react57.useEffect)(function() {
4554
4829
  if (!audioPlayer.playing) return;
4555
4830
  if (isAudioEngineInited.current) return;
4556
4831
  isAudioEngineInited.current = true;
@@ -4571,7 +4846,7 @@ var useMessageAudio = function(param) {
4571
4846
  audioPlayer,
4572
4847
  isAudioEngineInited
4573
4848
  ]);
4574
- var visualizationAnalyser = (0, import_react50.useMemo)(function() {
4849
+ var visualizationAnalyser = (0, import_react57.useMemo)(function() {
4575
4850
  if (!audioEngine) return null;
4576
4851
  var result = audioEngine.audioContext.createAnalyser();
4577
4852
  audioEngine.source.connect(audioEngine.audioContext.destination);
@@ -4580,7 +4855,7 @@ var useMessageAudio = function(param) {
4580
4855
  }, [
4581
4856
  audioEngine
4582
4857
  ]);
4583
- var isPending = (0, import_react50.useMemo)(function() {
4858
+ var isPending = (0, import_react57.useMemo)(function() {
4584
4859
  return isPlaying || unplayedMessageSentences.length > 0;
4585
4860
  }, [
4586
4861
  isPlaying,
@@ -4595,7 +4870,7 @@ var useMessageAudio = function(param) {
4595
4870
  };
4596
4871
  // src/components/threads/AudioThread/Root/index.tsx
4597
4872
  var import_react_query9 = require("@tanstack/react-query");
4598
- var import_jsx_runtime69 = require("react/jsx-runtime");
4873
+ var import_jsx_runtime77 = require("react/jsx-runtime");
4599
4874
  var Content6 = function(param) {
4600
4875
  var children = param.children;
4601
4876
  var addToast = useToasts().addToast;
@@ -4665,13 +4940,13 @@ var Content6 = function(param) {
4665
4940
  createMessageProps: createMessageProps,
4666
4941
  messageAudioProps: messageAudioProps
4667
4942
  }).status;
4668
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(AudioThreadContext.Provider, {
4943
+ return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(AudioThreadContext.Provider, {
4669
4944
  value: {
4670
4945
  status: status,
4671
4946
  recorderProps: recorderProps,
4672
4947
  messageAudioProps: messageAudioProps
4673
4948
  },
4674
- children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(import_themes48.Flex, {
4949
+ children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(import_themes55.Flex, {
4675
4950
  direction: "column",
4676
4951
  flexGrow: "1",
4677
4952
  p: "9",
@@ -4681,32 +4956,32 @@ var Content6 = function(param) {
4681
4956
  };
4682
4957
  var Root12 = function(param) {
4683
4958
  var children = param.children;
4684
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(ToastsProvider, {
4685
- children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Content6, {
4959
+ return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(ToastsProvider, {
4960
+ children: /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(Content6, {
4686
4961
  children: children
4687
4962
  })
4688
4963
  });
4689
4964
  };
4690
4965
  // src/components/threads/AudioThread/Visualization/index.tsx
4691
- var import_react53 = require("react");
4966
+ var import_react60 = require("react");
4692
4967
  var import_lodash9 = __toESM(require("lodash"), 1);
4693
- var import_themes50 = require("@radix-ui/themes");
4968
+ var import_themes57 = require("@radix-ui/themes");
4694
4969
  // src/hooks/threads/useAudioThreadContext/index.ts
4695
- var import_react51 = require("react");
4970
+ var import_react58 = require("react");
4696
4971
  var useAudioThreadContext = function() {
4697
- return (0, import_react51.useContext)(AudioThreadContext);
4972
+ return (0, import_react58.useContext)(AudioThreadContext);
4698
4973
  };
4699
4974
  // src/components/threads/AudioThread/BarsVisualizer/index.tsx
4700
4975
  var import_lodash8 = __toESM(require("lodash"), 1);
4701
- var import_themes49 = require("@radix-ui/themes");
4702
- var import_react52 = require("react");
4976
+ var import_themes56 = require("@radix-ui/themes");
4977
+ var import_react59 = require("react");
4703
4978
  var import_radash17 = require("radash");
4704
- var import_jsx_runtime70 = require("react/jsx-runtime");
4979
+ var import_jsx_runtime78 = require("react/jsx-runtime");
4705
4980
  var barCount = 4;
4706
4981
  var BarsVisualizer = function(param) {
4707
4982
  var visualizationAnalyser = param.visualizationAnalyser, backgroundColor = param.backgroundColor, height = param.height, barWidth = param.barWidth;
4708
- var _ref = _sliced_to_array((0, import_react52.useState)([]), 2), barHeights = _ref[0], setBarHeights = _ref[1];
4709
- var draw = (0, import_react52.useCallback)(function(param) {
4983
+ var _ref = _sliced_to_array((0, import_react59.useState)([]), 2), barHeights = _ref[0], setBarHeights = _ref[1];
4984
+ var draw = (0, import_react59.useCallback)(function(param) {
4710
4985
  var visualizationAnalyser2 = param.visualizationAnalyser;
4711
4986
  if (!visualizationAnalyser2) {
4712
4987
  setBarHeights(Array(barCount).fill(0));
@@ -4724,7 +4999,7 @@ var BarsVisualizer = function(param) {
4724
4999
  });
4725
5000
  });
4726
5001
  }, []);
4727
- (0, import_react52.useEffect)(function() {
5002
+ (0, import_react59.useEffect)(function() {
4728
5003
  draw({
4729
5004
  visualizationAnalyser: visualizationAnalyser
4730
5005
  });
@@ -4732,7 +5007,7 @@ var BarsVisualizer = function(param) {
4732
5007
  draw,
4733
5008
  visualizationAnalyser
4734
5009
  ]);
4735
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_themes49.Grid, {
5010
+ return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_themes56.Grid, {
4736
5011
  columns: "".concat(barCount),
4737
5012
  gap: "1",
4738
5013
  width: "auto",
@@ -4741,12 +5016,12 @@ var BarsVisualizer = function(param) {
4741
5016
  gridTemplateColumns: "repeat(4, minmax(0, 1fr))"
4742
5017
  },
4743
5018
  children: barHeights.map(function(barHeight, index) {
4744
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_themes49.Flex, {
5019
+ return /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_themes56.Flex, {
4745
5020
  direction: "column",
4746
5021
  align: "center",
4747
5022
  justify: "center",
4748
5023
  height: height,
4749
- children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_themes49.Flex, {
5024
+ children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_themes56.Flex, {
4750
5025
  minHeight: "50%",
4751
5026
  maxHeight: "100%",
4752
5027
  height: "".concat(barHeight + 20, "%"),
@@ -4761,12 +5036,12 @@ var BarsVisualizer = function(param) {
4761
5036
  });
4762
5037
  };
4763
5038
  // src/components/threads/AudioThread/Visualization/index.tsx
4764
- var import_jsx_runtime71 = require("react/jsx-runtime");
5039
+ var import_jsx_runtime79 = require("react/jsx-runtime");
4765
5040
  var Visualization = function() {
4766
5041
  var audioThreadContext = useAudioThreadContext();
4767
- var assistantNameContext = (0, import_react53.useContext)(AssistantNameContext);
4768
- var _ref = _sliced_to_array((0, import_react53.useState)(0), 2), scale = _ref[0], setScale = _ref[1];
4769
- var draw = (0, import_react53.useCallback)(function(param) {
5042
+ var assistantNameContext = (0, import_react60.useContext)(AssistantNameContext);
5043
+ var _ref = _sliced_to_array((0, import_react60.useState)(0), 2), scale = _ref[0], setScale = _ref[1];
5044
+ var draw = (0, import_react60.useCallback)(function(param) {
4770
5045
  var visualizationAnalyser = param.visualizationAnalyser;
4771
5046
  if (!visualizationAnalyser) {
4772
5047
  setScale(1);
@@ -4781,7 +5056,7 @@ var Visualization = function() {
4781
5056
  });
4782
5057
  });
4783
5058
  }, []);
4784
- (0, import_react53.useEffect)(function() {
5059
+ (0, import_react60.useEffect)(function() {
4785
5060
  draw({
4786
5061
  visualizationAnalyser: audioThreadContext.recorderProps.visualizationAnalyser
4787
5062
  });
@@ -4789,14 +5064,14 @@ var Visualization = function() {
4789
5064
  draw,
4790
5065
  audioThreadContext
4791
5066
  ]);
4792
- return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(import_themes50.Flex, {
5067
+ return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_themes57.Flex, {
4793
5068
  direction: "column",
4794
5069
  align: "center",
4795
5070
  justify: "center",
4796
5071
  mb: "3",
4797
5072
  flexGrow: "1",
4798
5073
  children: [
4799
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_themes50.Flex, {
5074
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_themes57.Flex, {
4800
5075
  align: "center",
4801
5076
  justify: "center",
4802
5077
  height: "200px",
@@ -4806,20 +5081,20 @@ var Visualization = function() {
4806
5081
  borderRadius: "9999px",
4807
5082
  scale: scale
4808
5083
  },
4809
- children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(BarsVisualizer, {
5084
+ children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(BarsVisualizer, {
4810
5085
  visualizationAnalyser: audioThreadContext.messageAudioProps.visualizationAnalyser,
4811
5086
  backgroundColor: audioThreadContext.status === "playing" ? "var(--accent-11)" : "var(--gray-11)",
4812
5087
  height: "40px",
4813
5088
  barWidth: "24px"
4814
5089
  })
4815
5090
  }),
4816
- /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(import_themes50.Flex, {
5091
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_themes57.Flex, {
4817
5092
  ml: "-22.5px",
4818
5093
  gap: "3",
4819
5094
  pt: "5",
4820
5095
  children: [
4821
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(AssistantAvatar, {}),
4822
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Name, {
5096
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(AssistantAvatar, {}),
5097
+ /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Name, {
4823
5098
  children: assistantNameContext
4824
5099
  })
4825
5100
  ]
@@ -4828,8 +5103,8 @@ var Visualization = function() {
4828
5103
  });
4829
5104
  };
4830
5105
  // src/components/threads/AudioThread/Status/StatusMessages.tsx
4831
- var import_themes51 = require("@radix-ui/themes");
4832
- var import_jsx_runtime72 = require("react/jsx-runtime");
5106
+ var import_themes58 = require("@radix-ui/themes");
5107
+ var import_jsx_runtime80 = require("react/jsx-runtime");
4833
5108
  var html = function(param) {
4834
5109
  var texts = param.texts;
4835
5110
  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) {
@@ -4838,17 +5113,17 @@ var html = function(param) {
4838
5113
  };
4839
5114
  var StatusMessages = function(param) {
4840
5115
  var texts = param.texts;
4841
- return /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(import_themes51.Flex, {
5116
+ return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(import_themes58.Flex, {
4842
5117
  justify: "center",
4843
5118
  pb: "5",
4844
5119
  children: [
4845
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_themes51.Text, {
5120
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_themes58.Text, {
4846
5121
  size: "2",
4847
5122
  weight: "regular",
4848
5123
  color: "gray",
4849
5124
  className: "status-messages-texts"
4850
5125
  }),
4851
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("style", {
5126
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)("style", {
4852
5127
  dangerouslySetInnerHTML: {
4853
5128
  __html: html({
4854
5129
  texts: texts
@@ -4859,11 +5134,11 @@ var StatusMessages = function(param) {
4859
5134
  });
4860
5135
  };
4861
5136
  // src/components/threads/AudioThread/Status/index.tsx
4862
- var import_jsx_runtime73 = require("react/jsx-runtime");
5137
+ var import_jsx_runtime81 = require("react/jsx-runtime");
4863
5138
  var Status = function() {
4864
5139
  var audioThreadContext = useAudioThreadContext();
4865
5140
  if (audioThreadContext.status === "recording") {
4866
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(StatusMessages, {
5141
+ return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(StatusMessages, {
4867
5142
  texts: [
4868
5143
  "Start speaking",
4869
5144
  "Listening",
@@ -4877,31 +5152,31 @@ var Status = function() {
4877
5152
  "idle",
4878
5153
  "playerPaused"
4879
5154
  ].includes(audioThreadContext.status)) {
4880
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(StatusMessages, {
5155
+ return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(StatusMessages, {
4881
5156
  texts: [
4882
5157
  "Click the button below to activate"
4883
5158
  ]
4884
5159
  });
4885
5160
  }
4886
5161
  if (audioThreadContext.status === "playing") {
4887
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(StatusMessages, {
5162
+ return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(StatusMessages, {
4888
5163
  texts: [
4889
5164
  "Click the button below to interrupt"
4890
5165
  ]
4891
5166
  });
4892
5167
  }
4893
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(StatusMessages, {
5168
+ return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(StatusMessages, {
4894
5169
  texts: [
4895
5170
  "Thinking"
4896
5171
  ]
4897
5172
  });
4898
5173
  };
4899
5174
  // src/components/threads/AudioThread/Form/index.tsx
4900
- var import_themes53 = require("@radix-ui/themes");
5175
+ var import_themes60 = require("@radix-ui/themes");
4901
5176
  // src/components/threads/AudioThread/Form/MicIcon.tsx
4902
- var import_jsx_runtime74 = require("react/jsx-runtime");
5177
+ var import_jsx_runtime82 = require("react/jsx-runtime");
4903
5178
  var MicIcon = function(props) {
4904
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("svg", _object_spread_props(_object_spread({
5179
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("svg", _object_spread_props(_object_spread({
4905
5180
  xmlns: "http://www.w3.org/2000/svg",
4906
5181
  fill: "currentColor",
4907
5182
  stroke: "currentColor",
@@ -4910,54 +5185,54 @@ var MicIcon = function(props) {
4910
5185
  height: "15",
4911
5186
  width: "15"
4912
5187
  }, props), {
4913
- children: /* @__PURE__ */ (0, import_jsx_runtime74.jsx)("path", {
5188
+ children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("path", {
4914
5189
  stroke: "none",
4915
5190
  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"
4916
5191
  })
4917
5192
  }));
4918
5193
  };
4919
5194
  // src/components/threads/AudioThread/Form/ActionButton/index.tsx
4920
- var import_themes52 = require("@radix-ui/themes");
4921
- var import_react_icons13 = require("@radix-ui/react-icons");
4922
- var import_jsx_runtime75 = require("react/jsx-runtime");
5195
+ var import_themes59 = require("@radix-ui/themes");
5196
+ var import_react_icons16 = require("@radix-ui/react-icons");
5197
+ var import_jsx_runtime83 = require("react/jsx-runtime");
4923
5198
  var ActionButton = function() {
4924
5199
  var audioThreadContext = useAudioThreadContext();
4925
5200
  var superinterfaceContext = useSuperinterfaceContext();
4926
5201
  if (audioThreadContext.status === "recording") {
4927
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(import_themes52.Flex, {
5202
+ return /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(import_themes59.Flex, {
4928
5203
  align: "center",
4929
5204
  children: [
4930
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_themes52.Flex, {
5205
+ /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_themes59.Flex, {
4931
5206
  mr: "3",
4932
5207
  ml: "-7",
4933
- children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_themes52.IconButton, {
5208
+ children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_themes59.IconButton, {
4934
5209
  onClick: audioThreadContext.recorderProps.pause,
4935
5210
  color: "gray",
4936
5211
  variant: "soft",
4937
5212
  size: "1",
4938
- children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_react_icons13.PauseIcon, {})
5213
+ children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_react_icons16.PauseIcon, {})
4939
5214
  })
4940
5215
  }),
4941
- /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_themes52.IconButton, {
5216
+ /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_themes59.IconButton, {
4942
5217
  onClick: audioThreadContext.recorderProps.stop,
4943
5218
  highContrast: true,
4944
5219
  variant: "soft",
4945
5220
  size: "4",
4946
- children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_react_icons13.ArrowUpIcon, {})
5221
+ children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_react_icons16.ArrowUpIcon, {})
4947
5222
  })
4948
5223
  ]
4949
5224
  });
4950
5225
  }
4951
5226
  if (audioThreadContext.status === "recorderPaused") {
4952
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_themes52.IconButton, {
5227
+ return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_themes59.IconButton, {
4953
5228
  onClick: audioThreadContext.recorderProps.resume,
4954
5229
  color: "red",
4955
5230
  size: "4",
4956
- children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_react_icons13.ResumeIcon, {})
5231
+ children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_react_icons16.ResumeIcon, {})
4957
5232
  });
4958
5233
  }
4959
5234
  if (audioThreadContext.status === "idle") {
4960
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_themes52.IconButton, {
5235
+ return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_themes59.IconButton, {
4961
5236
  onClick: function() {
4962
5237
  return audioThreadContext.recorderProps.start();
4963
5238
  },
@@ -4966,7 +5241,7 @@ var ActionButton = function() {
4966
5241
  });
4967
5242
  }
4968
5243
  if (audioThreadContext.status === "playing") {
4969
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_themes52.IconButton, {
5244
+ return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_themes59.IconButton, {
4970
5245
  onClick: function() {
4971
5246
  var _superinterfaceContext_createMessageAbortControllerRef_current;
4972
5247
  audioThreadContext.messageAudioProps.stop();
@@ -4976,54 +5251,54 @@ var ActionButton = function() {
4976
5251
  size: "4",
4977
5252
  color: "gray",
4978
5253
  variant: "soft",
4979
- children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_react_icons13.StopIcon, {})
5254
+ children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_react_icons16.StopIcon, {})
4980
5255
  });
4981
5256
  }
4982
5257
  if (audioThreadContext.status === "playerPaused") {
4983
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_themes52.IconButton, {
5258
+ return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_themes59.IconButton, {
4984
5259
  onClick: function() {
4985
5260
  return audioThreadContext.messageAudioProps.play();
4986
5261
  },
4987
5262
  size: "4",
4988
- children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_react_icons13.ResumeIcon, {})
5263
+ children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_react_icons16.ResumeIcon, {})
4989
5264
  });
4990
5265
  }
4991
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(import_themes52.IconButton, {
5266
+ return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_themes59.IconButton, {
4992
5267
  size: "4",
4993
5268
  variant: "soft",
4994
5269
  disabled: true
4995
5270
  });
4996
5271
  };
4997
5272
  // src/components/threads/AudioThread/Form/index.tsx
4998
- var import_jsx_runtime76 = require("react/jsx-runtime");
5273
+ var import_jsx_runtime84 = require("react/jsx-runtime");
4999
5274
  var Form = function() {
5000
5275
  var audioThreadContext = useAudioThreadContext();
5001
- return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(import_themes53.Flex, {
5276
+ return /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(import_themes60.Flex, {
5002
5277
  direction: "column",
5003
5278
  align: "center",
5004
5279
  children: [
5005
- /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(import_themes53.Flex, {
5280
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(import_themes60.Flex, {
5006
5281
  pb: "3",
5007
5282
  align: "center",
5008
5283
  children: [
5009
- /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_themes53.Flex, {
5284
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_themes60.Flex, {
5010
5285
  ml: "-22.5px",
5011
5286
  mr: "2",
5012
5287
  align: "center",
5013
- children: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(MicIcon, {
5288
+ children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(MicIcon, {
5014
5289
  style: {
5015
5290
  color: audioThreadContext.status === "recording" ? "var(--accent-11)" : "var(--gray-11)"
5016
5291
  }
5017
5292
  })
5018
5293
  }),
5019
- /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_themes53.Flex, {
5294
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_themes60.Flex, {
5020
5295
  px: "2",
5021
5296
  py: "1",
5022
5297
  style: {
5023
5298
  backgroundColor: audioThreadContext.status === "recording" ? "var(--accent-4)" : "var(--gray-4)",
5024
5299
  borderRadius: "var(--radius-6)"
5025
5300
  },
5026
- children: /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(BarsVisualizer, {
5301
+ children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(BarsVisualizer, {
5027
5302
  visualizationAnalyser: audioThreadContext.recorderProps.visualizationAnalyser,
5028
5303
  backgroundColor: audioThreadContext.status === "recording" ? "var(--accent-11)" : "var(--gray-11)",
5029
5304
  height: "20px",
@@ -5032,33 +5307,34 @@ var Form = function() {
5032
5307
  })
5033
5308
  ]
5034
5309
  }),
5035
- /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(ActionButton, {})
5310
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(ActionButton, {})
5036
5311
  ]
5037
5312
  });
5038
5313
  };
5039
5314
  // src/components/threads/AudioThread/index.tsx
5040
- var import_jsx_runtime77 = require("react/jsx-runtime");
5315
+ var import_jsx_runtime85 = require("react/jsx-runtime");
5041
5316
  var AudioThread = function(props) {
5042
- return /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(Root12, _object_spread_props(_object_spread({}, props), {
5317
+ return /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(Root12, _object_spread_props(_object_spread({}, props), {
5043
5318
  children: [
5044
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(Visualization, {}),
5045
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(Status, {}),
5046
- /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(Form, {})
5319
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(Visualization, {}),
5320
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(Status, {}),
5321
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(Form, {})
5047
5322
  ]
5048
5323
  }));
5049
5324
  };
5050
5325
  AudioThread.Root = Root12;
5051
5326
  AudioThread.Visualization = Visualization;
5327
+ AudioThread.Status = Status;
5052
5328
  AudioThread.Form = Form;
5053
5329
  // src/components/threads/AudioThreadDialog/index.tsx
5054
- var import_jsx_runtime78 = require("react/jsx-runtime");
5330
+ var import_jsx_runtime86 = require("react/jsx-runtime");
5055
5331
  var AudioThreadDialog = function() {
5056
- return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(Root9, {
5332
+ return /* @__PURE__ */ (0, import_jsx_runtime86.jsxs)(Root9, {
5057
5333
  children: [
5058
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Content5.Root, {
5059
- children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(AudioThread, {})
5334
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(Content5.Root, {
5335
+ children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(AudioThread, {})
5060
5336
  }),
5061
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Trigger, {})
5337
+ /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(Trigger, {})
5062
5338
  ]
5063
5339
  });
5064
5340
  };
@@ -5066,17 +5342,17 @@ AudioThreadDialog.Root = Root9;
5066
5342
  AudioThreadDialog.Trigger = Trigger;
5067
5343
  AudioThreadDialog.Content = Content5;
5068
5344
  // src/components/suggestions/Suggestions/index.tsx
5069
- var import_react55 = require("react");
5345
+ var import_react62 = require("react");
5070
5346
  // src/components/suggestions/Suggestions/Content.tsx
5071
- var import_react54 = require("react");
5347
+ var import_react61 = require("react");
5072
5348
  var import_radash18 = require("radash");
5073
5349
  var import_react_children_utilities = require("react-children-utilities");
5074
- var import_themes55 = require("@radix-ui/themes");
5350
+ var import_themes62 = require("@radix-ui/themes");
5075
5351
  // src/components/suggestions/Suggestions/Item.tsx
5076
- var import_react_icons14 = require("@radix-ui/react-icons");
5077
- var import_themes54 = require("@radix-ui/themes");
5352
+ var import_react_icons17 = require("@radix-ui/react-icons");
5353
+ var import_themes61 = require("@radix-ui/themes");
5078
5354
  var import_react_query10 = require("@tanstack/react-query");
5079
- var import_jsx_runtime79 = require("react/jsx-runtime");
5355
+ var import_jsx_runtime87 = require("react/jsx-runtime");
5080
5356
  var Item = function(param) {
5081
5357
  var suggestion = param.suggestion, isDisabled = param.isDisabled;
5082
5358
  var addToast = useToasts().addToast;
@@ -5089,7 +5365,7 @@ var Item = function(param) {
5089
5365
  threadContext: threadContext
5090
5366
  })
5091
5367
  }), createMessage = _useCreateMessage.createMessage, isPending = _useCreateMessage.isPending;
5092
- return /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(Content7, {
5368
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(Content7, {
5093
5369
  onClick: function() {
5094
5370
  createMessage({
5095
5371
  // @ts-ignore-next-line
@@ -5103,7 +5379,7 @@ var Item = function(param) {
5103
5379
  };
5104
5380
  var Content7 = function(param) {
5105
5381
  var onClick = param.onClick, isDisabled = param.isDisabled, isPending = param.isPending, children = param.children;
5106
- return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_themes54.Button, {
5382
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(import_themes61.Button, {
5107
5383
  variant: "soft",
5108
5384
  onClick: onClick,
5109
5385
  disabled: isDisabled,
@@ -5113,14 +5389,14 @@ var Content7 = function(param) {
5113
5389
  flexShrink: 1
5114
5390
  },
5115
5391
  children: [
5116
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_themes54.Text, {
5392
+ /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_themes61.Text, {
5117
5393
  size: "1",
5118
5394
  weight: "regular",
5119
5395
  children: children
5120
5396
  }),
5121
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_themes54.Spinner, {
5397
+ /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_themes61.Spinner, {
5122
5398
  loading: isPending,
5123
- children: /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(import_react_icons14.ArrowUpIcon, {
5399
+ children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_react_icons17.ArrowUpIcon, {
5124
5400
  style: {
5125
5401
  flexShrink: 0
5126
5402
  }
@@ -5131,11 +5407,11 @@ var Content7 = function(param) {
5131
5407
  };
5132
5408
  Item.Content = Content7;
5133
5409
  // src/components/suggestions/Suggestions/Content.tsx
5134
- var import_jsx_runtime80 = require("react/jsx-runtime");
5410
+ var import_jsx_runtime88 = require("react/jsx-runtime");
5135
5411
  var Content8 = function(param) {
5136
5412
  var children = param.children;
5137
5413
  var isMutatingMessage = useIsMutatingMessage();
5138
- var suggestions = (0, import_react54.useMemo)(function() {
5414
+ var suggestions = (0, import_react61.useMemo)(function() {
5139
5415
  return (0, import_react_children_utilities.onlyText)(children).split(/\r?\n/).filter(function(c) {
5140
5416
  return !(0, import_radash18.isEmpty)(c);
5141
5417
  }).map(function(c) {
@@ -5145,12 +5421,12 @@ var Content8 = function(param) {
5145
5421
  children
5146
5422
  ]);
5147
5423
  if ((0, import_radash18.isEmpty)(suggestions)) return null;
5148
- return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(import_themes55.Flex, {
5424
+ return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(import_themes62.Flex, {
5149
5425
  gap: "2",
5150
5426
  py: "2",
5151
5427
  wrap: "wrap",
5152
5428
  children: suggestions.map(function(suggestion) {
5153
- return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Item, {
5429
+ return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(Item, {
5154
5430
  suggestion: suggestion,
5155
5431
  isDisabled: isMutatingMessage
5156
5432
  }, suggestion);
@@ -5158,11 +5434,11 @@ var Content8 = function(param) {
5158
5434
  });
5159
5435
  };
5160
5436
  // src/components/suggestions/Suggestions/index.tsx
5161
- var import_jsx_runtime81 = require("react/jsx-runtime");
5437
+ var import_jsx_runtime89 = require("react/jsx-runtime");
5162
5438
  var Suggestions = function(param) {
5163
5439
  var children = param.children;
5164
5440
  var latestMessageProps = useLatestMessage();
5165
- var isDisabled = (0, import_react55.useMemo)(function() {
5441
+ var isDisabled = (0, import_react62.useMemo)(function() {
5166
5442
  var // @ts-ignore-next-line
5167
5443
  _latestMessageProps_latestMessage_metadata, _latestMessageProps_latestMessage;
5168
5444
  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;
@@ -5171,34 +5447,34 @@ var Suggestions = function(param) {
5171
5447
  ]);
5172
5448
  if (latestMessageProps.isLoading) return null;
5173
5449
  if (isDisabled) return null;
5174
- return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Content8, {
5450
+ return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(Content8, {
5175
5451
  children: children
5176
5452
  });
5177
5453
  };
5178
5454
  Suggestions.Item = Item;
5179
5455
  // src/components/markdown/MarkdownProvider/index.tsx
5180
- var import_react56 = require("react");
5181
- var import_jsx_runtime82 = require("react/jsx-runtime");
5456
+ var import_react63 = require("react");
5457
+ var import_jsx_runtime90 = require("react/jsx-runtime");
5182
5458
  var MarkdownProvider = function(_param) {
5183
5459
  var children = _param.children, rest = _object_without_properties(_param, [
5184
5460
  "children"
5185
5461
  ]);
5186
5462
  var prevMarkdownContext = useMarkdownContext();
5187
- var value = (0, import_react56.useMemo)(function() {
5463
+ var value = (0, import_react63.useMemo)(function() {
5188
5464
  return merge(prevMarkdownContext, rest);
5189
5465
  }, [
5190
5466
  rest,
5191
5467
  prevMarkdownContext
5192
5468
  ]);
5193
- return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(MarkdownContext.Provider, {
5469
+ return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(MarkdownContext.Provider, {
5194
5470
  value: value,
5195
5471
  children: children
5196
5472
  });
5197
5473
  };
5198
5474
  // src/components/avatars/Avatar.tsx
5199
- var import_themes58 = require("@radix-ui/themes");
5475
+ var import_themes65 = require("@radix-ui/themes");
5200
5476
  // src/components/imageAvatars/ImageAvatar/index.tsx
5201
- var import_themes56 = require("@radix-ui/themes");
5477
+ var import_themes63 = require("@radix-ui/themes");
5202
5478
  // src/components/imageAvatars/ImageAvatar/lib/optimizedSrc/path.ts
5203
5479
  var width = function(param) {
5204
5480
  var size = param.size;
@@ -5249,11 +5525,11 @@ var optimizedSrc = function(param) {
5249
5525
  }));
5250
5526
  };
5251
5527
  // src/components/imageAvatars/ImageAvatar/index.tsx
5252
- var import_jsx_runtime83 = require("react/jsx-runtime");
5528
+ var import_jsx_runtime91 = require("react/jsx-runtime");
5253
5529
  var ImageAvatar = function(param) {
5254
5530
  var imageAvatar = param.imageAvatar, size = param.size;
5255
5531
  var superinterfaceContext = useSuperinterfaceContext();
5256
- return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_themes56.Avatar, {
5532
+ return /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_themes63.Avatar, {
5257
5533
  fallback: "",
5258
5534
  src: optimizedSrc({
5259
5535
  imageAvatar: imageAvatar,
@@ -5264,78 +5540,150 @@ var ImageAvatar = function(param) {
5264
5540
  });
5265
5541
  };
5266
5542
  // src/components/iconAvatars/IconAvatar.tsx
5267
- var import_react57 = require("react");
5268
- var import_themes57 = require("@radix-ui/themes");
5543
+ var import_react64 = require("react");
5544
+ var import_themes64 = require("@radix-ui/themes");
5269
5545
  // src/lib/iconAvatars/iconAvatarComponents.ts
5270
- var import_react_icons15 = require("@radix-ui/react-icons");
5546
+ var import_react_icons18 = require("@radix-ui/react-icons");
5271
5547
  var _obj;
5272
- var iconAvatarComponents = (_obj = {}, _define_property(_obj, "BACKPACK" /* BACKPACK */ , import_react_icons15.BackpackIcon), _define_property(_obj, "ROCKET" /* ROCKET */ , import_react_icons15.RocketIcon), _define_property(_obj, "MAGIC_WAND" /* MAGIC_WAND */ , import_react_icons15.MagicWandIcon), _define_property(_obj, "CUBE" /* CUBE */ , import_react_icons15.CubeIcon), _define_property(_obj, "TARGET" /* TARGET */ , import_react_icons15.TargetIcon), _define_property(_obj, "DISC" /* DISC */ , import_react_icons15.DiscIcon), _define_property(_obj, "GLOBE" /* GLOBE */ , import_react_icons15.GlobeIcon), _define_property(_obj, "STAR" /* STAR */ , import_react_icons15.StarIcon), _define_property(_obj, "LIGHTNING_BOLT" /* LIGHTNING_BOLT */ , import_react_icons15.LightningBoltIcon), _define_property(_obj, "FACE" /* FACE */ , import_react_icons15.FaceIcon), _define_property(_obj, "PERSON" /* PERSON */ , import_react_icons15.PersonIcon), _define_property(_obj, "HEART" /* HEART */ , import_react_icons15.HeartIcon), _obj);
5548
+ var iconAvatarComponents = (_obj = {}, _define_property(_obj, "BACKPACK" /* BACKPACK */ , import_react_icons18.BackpackIcon), _define_property(_obj, "ROCKET" /* ROCKET */ , import_react_icons18.RocketIcon), _define_property(_obj, "MAGIC_WAND" /* MAGIC_WAND */ , import_react_icons18.MagicWandIcon), _define_property(_obj, "CUBE" /* CUBE */ , import_react_icons18.CubeIcon), _define_property(_obj, "TARGET" /* TARGET */ , import_react_icons18.TargetIcon), _define_property(_obj, "DISC" /* DISC */ , import_react_icons18.DiscIcon), _define_property(_obj, "GLOBE" /* GLOBE */ , import_react_icons18.GlobeIcon), _define_property(_obj, "STAR" /* STAR */ , import_react_icons18.StarIcon), _define_property(_obj, "LIGHTNING_BOLT" /* LIGHTNING_BOLT */ , import_react_icons18.LightningBoltIcon), _define_property(_obj, "FACE" /* FACE */ , import_react_icons18.FaceIcon), _define_property(_obj, "PERSON" /* PERSON */ , import_react_icons18.PersonIcon), _define_property(_obj, "HEART" /* HEART */ , import_react_icons18.HeartIcon), _obj);
5273
5549
  // src/components/iconAvatars/IconAvatar.tsx
5274
- var import_jsx_runtime84 = require("react/jsx-runtime");
5550
+ var import_jsx_runtime92 = require("react/jsx-runtime");
5275
5551
  var IconAvatar = function(param) {
5276
5552
  var iconAvatar = param.iconAvatar, size = param.size;
5277
- var Component = (0, import_react57.useMemo)(function() {
5553
+ var Component = (0, import_react64.useMemo)(function() {
5278
5554
  return iconAvatarComponents[iconAvatar.name];
5279
5555
  }, [
5280
5556
  iconAvatar
5281
5557
  ]);
5282
- return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_themes57.Avatar, {
5558
+ return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_themes64.Avatar, {
5283
5559
  size: size,
5284
- fallback: Component ? /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(Component, {}) : ""
5560
+ fallback: Component ? /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(Component, {}) : ""
5285
5561
  });
5286
5562
  };
5287
5563
  // src/components/avatars/Avatar.tsx
5288
- var import_jsx_runtime85 = require("react/jsx-runtime");
5564
+ var import_jsx_runtime93 = require("react/jsx-runtime");
5289
5565
  var Avatar6 = function(param) {
5290
5566
  var avatar = param.avatar, _param_size = param.size, size = _param_size === void 0 ? "1" : _param_size;
5291
5567
  if (avatar) {
5292
5568
  if (avatar.type === "IMAGE" /* IMAGE */ && avatar.imageAvatar) {
5293
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(ImageAvatar, {
5569
+ return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(ImageAvatar, {
5294
5570
  imageAvatar: avatar.imageAvatar,
5295
5571
  size: size
5296
5572
  });
5297
5573
  }
5298
5574
  if (avatar.type === "ICON" /* ICON */ && avatar.iconAvatar) {
5299
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(IconAvatar, {
5575
+ return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(IconAvatar, {
5300
5576
  iconAvatar: avatar.iconAvatar,
5301
5577
  size: size
5302
5578
  });
5303
5579
  }
5304
5580
  }
5305
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_themes58.Avatar, {
5581
+ return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(import_themes65.Avatar, {
5306
5582
  fallback: "",
5307
5583
  size: size
5308
5584
  });
5309
5585
  };
5310
5586
  // src/components/components/ComponentsProvider.tsx
5311
- var import_react59 = require("react");
5587
+ var import_react66 = require("react");
5312
5588
  // src/hooks/components/useComponents.ts
5313
- var import_react58 = require("react");
5589
+ var import_react65 = require("react");
5314
5590
  var useComponents = function() {
5315
- return (0, import_react58.useContext)(ComponentsContext);
5591
+ return (0, import_react65.useContext)(ComponentsContext);
5316
5592
  };
5317
5593
  // src/components/components/ComponentsProvider.tsx
5318
- var import_jsx_runtime86 = require("react/jsx-runtime");
5594
+ var import_jsx_runtime94 = require("react/jsx-runtime");
5319
5595
  var ComponentsProvider = function(_param) {
5320
5596
  var children = _param.children, rest = _object_without_properties(_param, [
5321
5597
  "children"
5322
5598
  ]);
5323
5599
  var prevComponents = useComponents();
5324
- var value = (0, import_react59.useMemo)(function() {
5600
+ var value = (0, import_react66.useMemo)(function() {
5325
5601
  return merge(prevComponents, rest);
5326
5602
  }, [
5327
5603
  rest,
5328
5604
  prevComponents
5329
5605
  ]);
5330
- return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(ComponentsContext.Provider, {
5606
+ return /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(ComponentsContext.Provider, {
5331
5607
  value: value,
5332
5608
  children: children
5333
5609
  });
5334
5610
  };
5611
+ // src/components/assistants/AssistantProvider/index.tsx
5612
+ var import_react68 = require("react");
5613
+ var import_themes66 = require("@radix-ui/themes");
5614
+ // src/components/assistants/AssistantProvider/Code.tsx
5615
+ var import_react67 = require("react");
5616
+ var import_jsx_runtime95 = require("react/jsx-runtime");
5617
+ var Code4 = function(param) {
5618
+ var children = param.children, className = param.className, markdownContext = param.markdownContext;
5619
+ var messageContext = useMessageContext();
5620
+ var isAssistantMessage = (0, import_react67.useMemo)(function() {
5621
+ var _messageContext_message;
5622
+ return ((_messageContext_message = messageContext.message) === null || _messageContext_message === void 0 ? void 0 : _messageContext_message.role) === "assistant";
5623
+ }, [
5624
+ messageContext
5625
+ ]);
5626
+ if (!isAssistantMessage || className !== "language-suggestions") {
5627
+ return markdownContext.components.code({
5628
+ children: children,
5629
+ className: className
5630
+ });
5631
+ }
5632
+ return /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Suggestions, {
5633
+ children: children
5634
+ });
5635
+ };
5636
+ // src/components/assistants/AssistantProvider/index.tsx
5637
+ var import_jsx_runtime96 = // @ts-ignore-next-line
5638
+ require("react/jsx-runtime");
5639
+ var AssistantProvider = function(param) {
5640
+ var children = param.children;
5641
+ var superinterfaceContext = useSuperinterfaceContext();
5642
+ var assistant = useAssistant({
5643
+ assistantId: superinterfaceContext.variables.assistantId
5644
+ }).assistant;
5645
+ var markdownContext = useMarkdownContext();
5646
+ var components2 = (0, import_react68.useMemo)(function() {
5647
+ return {
5648
+ code: function(props) {
5649
+ return /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(Code4, _object_spread_props(_object_spread({}, props), {
5650
+ markdownContext: markdownContext
5651
+ }));
5652
+ }
5653
+ };
5654
+ }, [
5655
+ markdownContext
5656
+ ]);
5657
+ if (!assistant) {
5658
+ return null;
5659
+ }
5660
+ return /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(import_themes66.Theme, {
5661
+ accentColor: assistant.theme.accentColor,
5662
+ grayColor: assistant.theme.grayColor,
5663
+ radius: assistant.theme.radius,
5664
+ appearance: assistant.theme.appearance,
5665
+ scaling: assistant.theme.scaling,
5666
+ panelBackground: "solid",
5667
+ hasBackground: false,
5668
+ children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(AssistantNameContext.Provider, {
5669
+ value: assistant.name,
5670
+ children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(AssistantAvatarContext.Provider, {
5671
+ value: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(Avatar6, {
5672
+ avatar: assistant.avatar
5673
+ }),
5674
+ children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(MarkdownProvider, {
5675
+ components: components2,
5676
+ children: children
5677
+ })
5678
+ })
5679
+ })
5680
+ });
5681
+ };
5335
5682
  // Annotate the CommonJS export names for ESM import in node:
5336
5683
  0 && (module.exports = {
5337
5684
  AssistantAvatarContext: AssistantAvatarContext,
5338
5685
  AssistantNameContext: AssistantNameContext,
5686
+ AssistantProvider: AssistantProvider,
5339
5687
  AudioThread: AudioThread,
5340
5688
  AudioThreadDialog: AudioThreadDialog,
5341
5689
  Avatar: Avatar,