@quanta-intellect/vessel-browser 0.1.146 → 0.1.148

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.
@@ -1606,7 +1606,7 @@ var Icon = (props) => {
1606
1606
  })();
1607
1607
  };
1608
1608
  var Icon_default = Icon;
1609
- var iconNode$E = [["rect", {
1609
+ var iconNode$H = [["rect", {
1610
1610
  x: "2",
1611
1611
  y: "4",
1612
1612
  width: "20",
@@ -1624,11 +1624,11 @@ var iconNode$E = [["rect", {
1624
1624
  key: "1svtjw"
1625
1625
  }]];
1626
1626
  var AppWindow = (props) => createComponent(Icon_default, mergeProps(props, {
1627
- iconNode: iconNode$E,
1627
+ iconNode: iconNode$H,
1628
1628
  name: "app-window"
1629
1629
  }));
1630
1630
  var app_window_default = AppWindow;
1631
- var iconNode$D = [["path", {
1631
+ var iconNode$G = [["path", {
1632
1632
  d: "M12 7v14",
1633
1633
  key: "1akyts"
1634
1634
  }], ["path", {
@@ -1636,11 +1636,11 @@ var iconNode$D = [["path", {
1636
1636
  key: "ruj8y"
1637
1637
  }]];
1638
1638
  var BookOpen = (props) => createComponent(Icon_default, mergeProps(props, {
1639
- iconNode: iconNode$D,
1639
+ iconNode: iconNode$G,
1640
1640
  name: "book-open"
1641
1641
  }));
1642
1642
  var book_open_default = BookOpen;
1643
- var iconNode$C = [["path", {
1643
+ var iconNode$F = [["path", {
1644
1644
  d: "M12 8V4H8",
1645
1645
  key: "hb8ula"
1646
1646
  }], ["rect", {
@@ -1664,29 +1664,29 @@ var iconNode$C = [["path", {
1664
1664
  key: "rq6x2g"
1665
1665
  }]];
1666
1666
  var Bot = (props) => createComponent(Icon_default, mergeProps(props, {
1667
- iconNode: iconNode$C,
1667
+ iconNode: iconNode$F,
1668
1668
  name: "bot"
1669
1669
  }));
1670
1670
  var bot_default = Bot;
1671
- var iconNode$B = [["path", {
1671
+ var iconNode$E = [["path", {
1672
1672
  d: "M20 6 9 17l-5-5",
1673
1673
  key: "1gmf2c"
1674
1674
  }]];
1675
1675
  var Check = (props) => createComponent(Icon_default, mergeProps(props, {
1676
- iconNode: iconNode$B,
1676
+ iconNode: iconNode$E,
1677
1677
  name: "check"
1678
1678
  }));
1679
1679
  var check_default = Check;
1680
- var iconNode$A = [["path", {
1680
+ var iconNode$D = [["path", {
1681
1681
  d: "m9 18 6-6-6-6",
1682
1682
  key: "mthhwq"
1683
1683
  }]];
1684
1684
  var ChevronRight = (props) => createComponent(Icon_default, mergeProps(props, {
1685
- iconNode: iconNode$A,
1685
+ iconNode: iconNode$D,
1686
1686
  name: "chevron-right"
1687
1687
  }));
1688
1688
  var chevron_right_default = ChevronRight;
1689
- var iconNode$z = [["circle", {
1689
+ var iconNode$C = [["circle", {
1690
1690
  cx: "12",
1691
1691
  cy: "12",
1692
1692
  r: "10",
@@ -1699,11 +1699,11 @@ var iconNode$z = [["circle", {
1699
1699
  key: "p32p05"
1700
1700
  }]];
1701
1701
  var CircleQuestionMark = (props) => createComponent(Icon_default, mergeProps(props, {
1702
- iconNode: iconNode$z,
1702
+ iconNode: iconNode$C,
1703
1703
  name: "circle-question-mark"
1704
1704
  }));
1705
1705
  var circle_question_mark_default = CircleQuestionMark;
1706
- var iconNode$y = [["rect", {
1706
+ var iconNode$B = [["rect", {
1707
1707
  width: "8",
1708
1708
  height: "4",
1709
1709
  x: "8",
@@ -1728,11 +1728,11 @@ var iconNode$y = [["rect", {
1728
1728
  key: "18s6g9"
1729
1729
  }]];
1730
1730
  var ClipboardList = (props) => createComponent(Icon_default, mergeProps(props, {
1731
- iconNode: iconNode$y,
1731
+ iconNode: iconNode$B,
1732
1732
  name: "clipboard-list"
1733
1733
  }));
1734
1734
  var clipboard_list_default = ClipboardList;
1735
- var iconNode$x = [["circle", {
1735
+ var iconNode$A = [["circle", {
1736
1736
  cx: "12",
1737
1737
  cy: "12",
1738
1738
  r: "10",
@@ -1742,11 +1742,28 @@ var iconNode$x = [["circle", {
1742
1742
  key: "mmk7yg"
1743
1743
  }]];
1744
1744
  var Clock = (props) => createComponent(Icon_default, mergeProps(props, {
1745
- iconNode: iconNode$x,
1745
+ iconNode: iconNode$A,
1746
1746
  name: "clock"
1747
1747
  }));
1748
1748
  var clock_default = Clock;
1749
- var iconNode$w = [["path", {
1749
+ var iconNode$z = [["rect", {
1750
+ width: "14",
1751
+ height: "14",
1752
+ x: "8",
1753
+ y: "8",
1754
+ rx: "2",
1755
+ ry: "2",
1756
+ key: "17jyea"
1757
+ }], ["path", {
1758
+ d: "M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",
1759
+ key: "zix9uf"
1760
+ }]];
1761
+ var Copy = (props) => createComponent(Icon_default, mergeProps(props, {
1762
+ iconNode: iconNode$z,
1763
+ name: "copy"
1764
+ }));
1765
+ var copy_default = Copy;
1766
+ var iconNode$y = [["path", {
1750
1767
  d: "M12 20v2",
1751
1768
  key: "1lh1kg"
1752
1769
  }], ["path", {
@@ -1798,11 +1815,11 @@ var iconNode$w = [["path", {
1798
1815
  key: "z9xiuo"
1799
1816
  }]];
1800
1817
  var Cpu = (props) => createComponent(Icon_default, mergeProps(props, {
1801
- iconNode: iconNode$w,
1818
+ iconNode: iconNode$y,
1802
1819
  name: "cpu"
1803
1820
  }));
1804
1821
  var cpu_default = Cpu;
1805
- var iconNode$v = [["path", {
1822
+ var iconNode$x = [["path", {
1806
1823
  d: "M12 15V3",
1807
1824
  key: "m9g1x1"
1808
1825
  }], ["path", {
@@ -1813,11 +1830,11 @@ var iconNode$v = [["path", {
1813
1830
  key: "brsn70"
1814
1831
  }]];
1815
1832
  var Download = (props) => createComponent(Icon_default, mergeProps(props, {
1816
- iconNode: iconNode$v,
1833
+ iconNode: iconNode$x,
1817
1834
  name: "download"
1818
1835
  }));
1819
1836
  var download_default = Download;
1820
- var iconNode$u = [["path", {
1837
+ var iconNode$w = [["path", {
1821
1838
  d: "M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21",
1822
1839
  key: "g5wo59"
1823
1840
  }], ["path", {
@@ -1825,11 +1842,11 @@ var iconNode$u = [["path", {
1825
1842
  key: "1wx5vj"
1826
1843
  }]];
1827
1844
  var Eraser = (props) => createComponent(Icon_default, mergeProps(props, {
1828
- iconNode: iconNode$u,
1845
+ iconNode: iconNode$w,
1829
1846
  name: "eraser"
1830
1847
  }));
1831
1848
  var eraser_default = Eraser;
1832
- var iconNode$t = [["path", {
1849
+ var iconNode$v = [["path", {
1833
1850
  d: "M15 3h6v6",
1834
1851
  key: "1q9fwt"
1835
1852
  }], ["path", {
@@ -1840,11 +1857,11 @@ var iconNode$t = [["path", {
1840
1857
  key: "a6xqqp"
1841
1858
  }]];
1842
1859
  var ExternalLink = (props) => createComponent(Icon_default, mergeProps(props, {
1843
- iconNode: iconNode$t,
1860
+ iconNode: iconNode$v,
1844
1861
  name: "external-link"
1845
1862
  }));
1846
1863
  var external_link_default = ExternalLink;
1847
- var iconNode$s = [["path", {
1864
+ var iconNode$u = [["path", {
1848
1865
  d: "M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",
1849
1866
  key: "1nclc0"
1850
1867
  }], ["circle", {
@@ -1854,11 +1871,11 @@ var iconNode$s = [["path", {
1854
1871
  key: "1v7zrd"
1855
1872
  }]];
1856
1873
  var Eye = (props) => createComponent(Icon_default, mergeProps(props, {
1857
- iconNode: iconNode$s,
1874
+ iconNode: iconNode$u,
1858
1875
  name: "eye"
1859
1876
  }));
1860
1877
  var eye_default = Eye;
1861
- var iconNode$r = [["path", {
1878
+ var iconNode$t = [["path", {
1862
1879
  d: "M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",
1863
1880
  key: "1oefj6"
1864
1881
  }], ["path", {
@@ -1872,11 +1889,11 @@ var iconNode$r = [["path", {
1872
1889
  key: "1npd3o"
1873
1890
  }]];
1874
1891
  var FileDown = (props) => createComponent(Icon_default, mergeProps(props, {
1875
- iconNode: iconNode$r,
1892
+ iconNode: iconNode$t,
1876
1893
  name: "file-down"
1877
1894
  }));
1878
1895
  var file_down_default = FileDown;
1879
- var iconNode$q = [["circle", {
1896
+ var iconNode$s = [["circle", {
1880
1897
  cx: "12",
1881
1898
  cy: "12",
1882
1899
  r: "3",
@@ -1895,11 +1912,11 @@ var iconNode$q = [["circle", {
1895
1912
  key: "ioqczr"
1896
1913
  }]];
1897
1914
  var Focus = (props) => createComponent(Icon_default, mergeProps(props, {
1898
- iconNode: iconNode$q,
1915
+ iconNode: iconNode$s,
1899
1916
  name: "focus"
1900
1917
  }));
1901
1918
  var focus_default = Focus;
1902
- var iconNode$p = [["circle", {
1919
+ var iconNode$r = [["circle", {
1903
1920
  cx: "12",
1904
1921
  cy: "12",
1905
1922
  r: "10",
@@ -1912,11 +1929,11 @@ var iconNode$p = [["circle", {
1912
1929
  key: "9i4pu4"
1913
1930
  }]];
1914
1931
  var Globe = (props) => createComponent(Icon_default, mergeProps(props, {
1915
- iconNode: iconNode$p,
1932
+ iconNode: iconNode$r,
1916
1933
  name: "globe"
1917
1934
  }));
1918
1935
  var globe_default = Globe;
1919
- var iconNode$o = [["path", {
1936
+ var iconNode$q = [["path", {
1920
1937
  d: "M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 .83.18 2 2 0 0 0 .83-.18l8.58-3.9a1 1 0 0 0 0-1.831z",
1921
1938
  key: "zzgyd3"
1922
1939
  }], ["path", {
@@ -1933,11 +1950,11 @@ var iconNode$o = [["path", {
1933
1950
  key: "jksky3"
1934
1951
  }]];
1935
1952
  var LayersPlus = (props) => createComponent(Icon_default, mergeProps(props, {
1936
- iconNode: iconNode$o,
1953
+ iconNode: iconNode$q,
1937
1954
  name: "layers-plus"
1938
1955
  }));
1939
1956
  var layers_plus_default = LayersPlus;
1940
- var iconNode$n = [["rect", {
1957
+ var iconNode$p = [["rect", {
1941
1958
  width: "18",
1942
1959
  height: "11",
1943
1960
  x: "3",
@@ -1950,11 +1967,30 @@ var iconNode$n = [["rect", {
1950
1967
  key: "fwvmzm"
1951
1968
  }]];
1952
1969
  var Lock = (props) => createComponent(Icon_default, mergeProps(props, {
1953
- iconNode: iconNode$n,
1970
+ iconNode: iconNode$p,
1954
1971
  name: "lock"
1955
1972
  }));
1956
1973
  var lock_default = Lock;
1957
- var iconNode$m = [["rect", {
1974
+ var iconNode$o = [["rect", {
1975
+ width: "18",
1976
+ height: "18",
1977
+ x: "3",
1978
+ y: "3",
1979
+ rx: "2",
1980
+ key: "afitv7"
1981
+ }], ["path", {
1982
+ d: "M3 15h18",
1983
+ key: "5xshup"
1984
+ }], ["path", {
1985
+ d: "m9 10 3-3 3 3",
1986
+ key: "11gsxs"
1987
+ }]];
1988
+ var PanelBottomOpen = (props) => createComponent(Icon_default, mergeProps(props, {
1989
+ iconNode: iconNode$o,
1990
+ name: "panel-bottom-open"
1991
+ }));
1992
+ var panel_bottom_open_default = PanelBottomOpen;
1993
+ var iconNode$n = [["rect", {
1958
1994
  width: "18",
1959
1995
  height: "18",
1960
1996
  x: "3",
@@ -1966,11 +2002,11 @@ var iconNode$m = [["rect", {
1966
2002
  key: "fh3hqa"
1967
2003
  }]];
1968
2004
  var PanelLeft = (props) => createComponent(Icon_default, mergeProps(props, {
1969
- iconNode: iconNode$m,
2005
+ iconNode: iconNode$n,
1970
2006
  name: "panel-left"
1971
2007
  }));
1972
2008
  var panel_left_default = PanelLeft;
1973
- var iconNode$l = [["rect", {
2009
+ var iconNode$m = [["rect", {
1974
2010
  width: "18",
1975
2011
  height: "18",
1976
2012
  x: "3",
@@ -1985,11 +2021,11 @@ var iconNode$l = [["rect", {
1985
2021
  key: "12hl5m"
1986
2022
  }]];
1987
2023
  var PanelRightClose = (props) => createComponent(Icon_default, mergeProps(props, {
1988
- iconNode: iconNode$l,
2024
+ iconNode: iconNode$m,
1989
2025
  name: "panel-right-close"
1990
2026
  }));
1991
2027
  var panel_right_close_default = PanelRightClose;
1992
- var iconNode$k = [["rect", {
2028
+ var iconNode$l = [["rect", {
1993
2029
  width: "18",
1994
2030
  height: "18",
1995
2031
  x: "3",
@@ -2001,11 +2037,11 @@ var iconNode$k = [["rect", {
2001
2037
  key: "14nvp0"
2002
2038
  }]];
2003
2039
  var PanelRight = (props) => createComponent(Icon_default, mergeProps(props, {
2004
- iconNode: iconNode$k,
2040
+ iconNode: iconNode$l,
2005
2041
  name: "panel-right"
2006
2042
  }));
2007
2043
  var panel_right_default = PanelRight;
2008
- var iconNode$j = [["rect", {
2044
+ var iconNode$k = [["rect", {
2009
2045
  width: "18",
2010
2046
  height: "18",
2011
2047
  x: "3",
@@ -2017,11 +2053,11 @@ var iconNode$j = [["rect", {
2017
2053
  key: "1pudct"
2018
2054
  }]];
2019
2055
  var PanelTop = (props) => createComponent(Icon_default, mergeProps(props, {
2020
- iconNode: iconNode$j,
2056
+ iconNode: iconNode$k,
2021
2057
  name: "panel-top"
2022
2058
  }));
2023
2059
  var panel_top_default = PanelTop;
2024
- var iconNode$i = [["path", {
2060
+ var iconNode$j = [["path", {
2025
2061
  d: "M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",
2026
2062
  key: "1a8usu"
2027
2063
  }], ["path", {
@@ -2029,11 +2065,11 @@ var iconNode$i = [["path", {
2029
2065
  key: "1mk7zo"
2030
2066
  }]];
2031
2067
  var Pencil = (props) => createComponent(Icon_default, mergeProps(props, {
2032
- iconNode: iconNode$i,
2068
+ iconNode: iconNode$j,
2033
2069
  name: "pencil"
2034
2070
  }));
2035
2071
  var pencil_default = Pencil;
2036
- var iconNode$h = [["path", {
2072
+ var iconNode$i = [["path", {
2037
2073
  d: "M5 12h14",
2038
2074
  key: "1ays0h"
2039
2075
  }], ["path", {
@@ -2041,11 +2077,11 @@ var iconNode$h = [["path", {
2041
2077
  key: "s699le"
2042
2078
  }]];
2043
2079
  var Plus = (props) => createComponent(Icon_default, mergeProps(props, {
2044
- iconNode: iconNode$h,
2080
+ iconNode: iconNode$i,
2045
2081
  name: "plus"
2046
2082
  }));
2047
2083
  var plus_default = Plus;
2048
- var iconNode$g = [["path", {
2084
+ var iconNode$h = [["path", {
2049
2085
  d: "M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2",
2050
2086
  key: "143wyd"
2051
2087
  }], ["path", {
@@ -2060,11 +2096,11 @@ var iconNode$g = [["path", {
2060
2096
  key: "1ue0tg"
2061
2097
  }]];
2062
2098
  var Printer = (props) => createComponent(Icon_default, mergeProps(props, {
2063
- iconNode: iconNode$g,
2099
+ iconNode: iconNode$h,
2064
2100
  name: "printer"
2065
2101
  }));
2066
2102
  var printer_default = Printer;
2067
- var iconNode$f = [["path", {
2103
+ var iconNode$g = [["path", {
2068
2104
  d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",
2069
2105
  key: "1357e3"
2070
2106
  }], ["path", {
@@ -2072,11 +2108,11 @@ var iconNode$f = [["path", {
2072
2108
  key: "1xhq8a"
2073
2109
  }]];
2074
2110
  var RotateCcw = (props) => createComponent(Icon_default, mergeProps(props, {
2075
- iconNode: iconNode$f,
2111
+ iconNode: iconNode$g,
2076
2112
  name: "rotate-ccw"
2077
2113
  }));
2078
2114
  var rotate_ccw_default = RotateCcw;
2079
- var iconNode$e = [["path", {
2115
+ var iconNode$f = [["path", {
2080
2116
  d: "m21 21-4.34-4.34",
2081
2117
  key: "14j7rj"
2082
2118
  }], ["circle", {
@@ -2086,11 +2122,11 @@ var iconNode$e = [["path", {
2086
2122
  key: "4ej97u"
2087
2123
  }]];
2088
2124
  var Search = (props) => createComponent(Icon_default, mergeProps(props, {
2089
- iconNode: iconNode$e,
2125
+ iconNode: iconNode$f,
2090
2126
  name: "search"
2091
2127
  }));
2092
2128
  var search_default = Search;
2093
- var iconNode$d = [["path", {
2129
+ var iconNode$e = [["path", {
2094
2130
  d: "M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",
2095
2131
  key: "1i5ecw"
2096
2132
  }], ["circle", {
@@ -2100,29 +2136,29 @@ var iconNode$d = [["path", {
2100
2136
  key: "1v7zrd"
2101
2137
  }]];
2102
2138
  var Settings$1 = (props) => createComponent(Icon_default, mergeProps(props, {
2103
- iconNode: iconNode$d,
2139
+ iconNode: iconNode$e,
2104
2140
  name: "settings"
2105
2141
  }));
2106
2142
  var settings_default = Settings$1;
2107
- var iconNode$c = [["path", {
2143
+ var iconNode$d = [["path", {
2108
2144
  d: "M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",
2109
2145
  key: "oel41y"
2110
2146
  }]];
2111
2147
  var Shield = (props) => createComponent(Icon_default, mergeProps(props, {
2112
- iconNode: iconNode$c,
2148
+ iconNode: iconNode$d,
2113
2149
  name: "shield"
2114
2150
  }));
2115
2151
  var shield_default = Shield;
2116
- var iconNode$b = [["path", {
2152
+ var iconNode$c = [["path", {
2117
2153
  d: "M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",
2118
2154
  key: "r04s7s"
2119
2155
  }]];
2120
2156
  var Star = (props) => createComponent(Icon_default, mergeProps(props, {
2121
- iconNode: iconNode$b,
2157
+ iconNode: iconNode$c,
2122
2158
  name: "star"
2123
2159
  }));
2124
2160
  var star_default = Star;
2125
- var iconNode$a = [["path", {
2161
+ var iconNode$b = [["path", {
2126
2162
  d: "M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z",
2127
2163
  key: "vktsd0"
2128
2164
  }], ["circle", {
@@ -2133,11 +2169,11 @@ var iconNode$a = [["path", {
2133
2169
  key: "kqv944"
2134
2170
  }]];
2135
2171
  var Tag = (props) => createComponent(Icon_default, mergeProps(props, {
2136
- iconNode: iconNode$a,
2172
+ iconNode: iconNode$b,
2137
2173
  name: "tag"
2138
2174
  }));
2139
2175
  var tag_default = Tag;
2140
- var iconNode$9 = [["path", {
2176
+ var iconNode$a = [["path", {
2141
2177
  d: "M10 11v6",
2142
2178
  key: "nco0om"
2143
2179
  }], ["path", {
@@ -2154,11 +2190,11 @@ var iconNode$9 = [["path", {
2154
2190
  key: "e791ji"
2155
2191
  }]];
2156
2192
  var Trash2 = (props) => createComponent(Icon_default, mergeProps(props, {
2157
- iconNode: iconNode$9,
2193
+ iconNode: iconNode$a,
2158
2194
  name: "trash-2"
2159
2195
  }));
2160
2196
  var trash_2_default = Trash2;
2161
- var iconNode$8 = [["path", {
2197
+ var iconNode$9 = [["path", {
2162
2198
  d: "M9 14 4 9l5-5",
2163
2199
  key: "102s5s"
2164
2200
  }], ["path", {
@@ -2166,11 +2202,11 @@ var iconNode$8 = [["path", {
2166
2202
  key: "f3b9sd"
2167
2203
  }]];
2168
2204
  var Undo2 = (props) => createComponent(Icon_default, mergeProps(props, {
2169
- iconNode: iconNode$8,
2205
+ iconNode: iconNode$9,
2170
2206
  name: "undo-2"
2171
2207
  }));
2172
2208
  var undo_2_default = Undo2;
2173
- var iconNode$7 = [["path", {
2209
+ var iconNode$8 = [["path", {
2174
2210
  d: "M12 3v12",
2175
2211
  key: "1x0j5s"
2176
2212
  }], ["path", {
@@ -2181,11 +2217,11 @@ var iconNode$7 = [["path", {
2181
2217
  key: "ih7n3h"
2182
2218
  }]];
2183
2219
  var Upload = (props) => createComponent(Icon_default, mergeProps(props, {
2184
- iconNode: iconNode$7,
2220
+ iconNode: iconNode$8,
2185
2221
  name: "upload"
2186
2222
  }));
2187
2223
  var upload_default = Upload;
2188
- var iconNode$6 = [["path", {
2224
+ var iconNode$7 = [["path", {
2189
2225
  d: "M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",
2190
2226
  key: "975kel"
2191
2227
  }], ["circle", {
@@ -2195,10 +2231,25 @@ var iconNode$6 = [["path", {
2195
2231
  key: "17ys0d"
2196
2232
  }]];
2197
2233
  var User = (props) => createComponent(Icon_default, mergeProps(props, {
2198
- iconNode: iconNode$6,
2234
+ iconNode: iconNode$7,
2199
2235
  name: "user"
2200
2236
  }));
2201
2237
  var user_default = User;
2238
+ var iconNode$6 = [["path", {
2239
+ d: "M18 11c-1.5 0-2.5.5-3 2",
2240
+ key: "1fod00"
2241
+ }], ["path", {
2242
+ d: "M4 6a2 2 0 0 0-2 2v4a5 5 0 0 0 5 5 8 8 0 0 1 5 2 8 8 0 0 1 5-2 5 5 0 0 0 5-5V8a2 2 0 0 0-2-2h-3a8 8 0 0 0-5 2 8 8 0 0 0-5-2z",
2243
+ key: "d70hit"
2244
+ }], ["path", {
2245
+ d: "M6 11c1.5 0 2.5.5 3 2",
2246
+ key: "136fht"
2247
+ }]];
2248
+ var VenetianMask = (props) => createComponent(Icon_default, mergeProps(props, {
2249
+ iconNode: iconNode$6,
2250
+ name: "venetian-mask"
2251
+ }));
2252
+ var venetian_mask_default = VenetianMask;
2202
2253
  var iconNode$5 = [["path", {
2203
2254
  d: "M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",
2204
2255
  key: "uqj9uw"
@@ -2581,7 +2632,7 @@ function getAgentActiveTabIds(state, currentTime = Date.now()) {
2581
2632
  }
2582
2633
  return activeTabIds;
2583
2634
  }
2584
- var _tmpl$$r = /* @__PURE__ */ template(`<img class=tab-favicon alt>`), _tmpl$2$q = /* @__PURE__ */ template(`<span class=tab-favicon-fallback>`), _tmpl$3$m = /* @__PURE__ */ template(`<div class=tab-bar><div class=tab-list></div><div class=tab-actions><button class=tab-new data-tooltip="New window"data-tooltip-pos=left></button><button class=tab-new data-tooltip="Add active tab to group"data-tooltip-pos=left></button><button class=tab-new data-tooltip="New tab"data-tooltip-pos=left></button><button class="tab-new tab-new-private"data-tooltip="Private window"data-tooltip-pos=left><svg width=12 height=12 viewBox="0 0 16 16"fill=currentColor><path d="M8 1a7 7 0 100 14A7 7 0 008 1zm0 1.5a5.5 5.5 0 110 11 5.5 5.5 0 010-11z">`), _tmpl$4$l = /* @__PURE__ */ template(`<button><span class=tab-group-dot></span><span class=tab-group-name></span><span class=tab-group-count>`), _tmpl$5$h = /* @__PURE__ */ template(`<button class="tab-audio tab-audio-pinned">`), _tmpl$6$g = /* @__PURE__ */ template(`<div role=tab>`), _tmpl$7$e = /* @__PURE__ */ template(`<span class=tab-title>`), _tmpl$8$b = /* @__PURE__ */ template(`<button class=tab-audio>`), _tmpl$9$a = /* @__PURE__ */ template(`<button class=tab-close>×`), _tmpl$0$8 = /* @__PURE__ */ template(`<span class=tab-agent-indicator aria-hidden=true title="Agent active on this tab">`), _tmpl$1$8 = /* @__PURE__ */ template(`<span class=tab-loading>`);
2635
+ var _tmpl$$r = /* @__PURE__ */ template(`<img class=tab-favicon alt>`), _tmpl$2$q = /* @__PURE__ */ template(`<span class=tab-favicon-fallback>`), _tmpl$3$m = /* @__PURE__ */ template(`<div class=tab-bar><div class=tab-list></div><div class=tab-actions><button class=tab-new data-tooltip="New window"data-tooltip-pos=left></button><button class=tab-new data-tooltip="Add active tab to group"data-tooltip-pos=left></button><button class=tab-new data-tooltip="New tab"data-tooltip-pos=left></button><button class="tab-new tab-new-private"data-tooltip="Private window"data-tooltip-pos=left>`), _tmpl$4$l = /* @__PURE__ */ template(`<button><span class=tab-group-dot></span><span class=tab-group-name></span><span class=tab-group-count>`), _tmpl$5$h = /* @__PURE__ */ template(`<button class="tab-audio tab-audio-pinned">`), _tmpl$6$g = /* @__PURE__ */ template(`<div role=tab>`), _tmpl$7$e = /* @__PURE__ */ template(`<span class=tab-title>`), _tmpl$8$b = /* @__PURE__ */ template(`<button class=tab-audio>`), _tmpl$9$a = /* @__PURE__ */ template(`<button class=tab-close>×`), _tmpl$0$8 = /* @__PURE__ */ template(`<span class=tab-agent-indicator aria-hidden=true title="Agent active on this tab">`), _tmpl$1$8 = /* @__PURE__ */ template(`<span class=tab-loading>`);
2585
2636
  const TAB_CLOSE_MS = 200;
2586
2637
  function stringToHue(str) {
2587
2638
  let hash = 0;
@@ -2843,6 +2894,9 @@ const TabBar = () => {
2843
2894
  size: 15
2844
2895
  }));
2845
2896
  _el$9.$$click = () => window.vessel.tabs.openPrivateWindow();
2897
+ insert(_el$9, createComponent(venetian_mask_default, {
2898
+ size: 12
2899
+ }));
2846
2900
  return _el$3;
2847
2901
  })();
2848
2902
  };
@@ -2971,9 +3025,11 @@ const [commandBarOpen, setCommandBarOpen] = createSignal(false);
2971
3025
  const [browserCommandPaletteOpen, setBrowserCommandPaletteOpen] = createSignal(false);
2972
3026
  const [settingsOpen, setSettingsOpen] = createSignal(false);
2973
3027
  const [devtoolsPanelOpen, setDevtoolsPanelOpen] = createSignal(false);
3028
+ const [devtoolsPanelDetached, setDevtoolsPanelDetached] = createSignal(false);
2974
3029
  let lastIpcTime = 0;
2975
3030
  const IPC_THROTTLE_MS = 8;
2976
3031
  let sidebarStateListenerInitialized = false;
3032
+ let devtoolsPanelStateListenerInitialized = false;
2977
3033
  function applySidebarState(result) {
2978
3034
  setSidebarOpen(result.open);
2979
3035
  setSidebarWidth(result.width);
@@ -2984,8 +3040,20 @@ function ensureSidebarStateListener() {
2984
3040
  sidebarStateListenerInitialized = true;
2985
3041
  window.vessel?.ui?.onSidebarStateUpdate?.(applySidebarState);
2986
3042
  }
3043
+ function applyDevToolsPanelState(result) {
3044
+ setDevtoolsPanelOpen(result.open);
3045
+ setDevtoolsPanelDetached(result.detached);
3046
+ }
3047
+ function ensureDevToolsPanelStateListener() {
3048
+ if (devtoolsPanelStateListenerInitialized) return;
3049
+ devtoolsPanelStateListenerInitialized = true;
3050
+ window.vessel?.devtoolsPanel?.onHostStateUpdate?.(applyDevToolsPanelState);
3051
+ void window.vessel?.devtoolsPanel?.getHostState?.().then(applyDevToolsPanelState).catch(() => {
3052
+ });
3053
+ }
2987
3054
  function useUI() {
2988
3055
  ensureSidebarStateListener();
3056
+ ensureDevToolsPanelStateListener();
2989
3057
  return {
2990
3058
  sidebarOpen,
2991
3059
  sidebarWidth,
@@ -2995,6 +3063,7 @@ function useUI() {
2995
3063
  browserCommandPaletteOpen,
2996
3064
  settingsOpen,
2997
3065
  devtoolsPanelOpen,
3066
+ devtoolsPanelDetached,
2998
3067
  toggleSidebar: async () => {
2999
3068
  const result = await window.vessel.ui.toggleSidebar();
3000
3069
  applySidebarState(result);
@@ -3028,7 +3097,7 @@ function useUI() {
3028
3097
  },
3029
3098
  toggleDevTools: async () => {
3030
3099
  const result = await window.vessel.devtoolsPanel.toggle();
3031
- setDevtoolsPanelOpen(result.open);
3100
+ applyDevToolsPanelState(result);
3032
3101
  },
3033
3102
  openCommandBar: () => setCommandBarOpen(true),
3034
3103
  closeCommandBar: () => setCommandBarOpen(false),
@@ -3338,7 +3407,7 @@ const SEARCH_ENGINE_PRESETS = {
3338
3407
  ecosia: { label: "Ecosia", url: "https://www.ecosia.org/search?q=" },
3339
3408
  kagi: { label: "Kagi", url: "https://kagi.com/search?q=" }
3340
3409
  };
3341
- var _tmpl$$p = /* @__PURE__ */ template(`<div class=private-badge title="Private Browsing - history and cookies are not saved"><svg width=12 height=12 viewBox="0 0 16 16"fill=currentColor><path d="M8 1a7 7 0 100 14A7 7 0 008 1zm0 1.5a5.5 5.5 0 110 11 5.5 5.5 0 010-11zM5.5 7a1.5 1.5 0 103 0 1.5 1.5 0 00-3 0zm3.5 3.5c0-1-1.5-2-2.5-2s-2.5 1-2.5 2"></path></svg><span>Private`), _tmpl$2$o = /* @__PURE__ */ template(`<svg width=14 height=14 viewBox="0 0 14 14"fill=currentColor><path d="M7 1a4 4 0 00-4 4v2H1.5a.5.5 0 00-.5.5v5a.5.5 0 00.5.5h11a.5.5 0 00.5-.5v-5a.5.5 0 00-.5-.5H11V5a4 4 0 00-4-4zm0 1a3 3 0 013 3v2H4V5a3 3 0 013-3z">`), _tmpl$3$k = /* @__PURE__ */ template(`<svg width=14 height=14 viewBox="0 0 14 14"fill=currentColor><path d="M7 1a4 4 0 00-4 4v2H1.5a.5.5 0 00-.5.5v5a.5.5 0 00.5.5h11a.5.5 0 00.5-.5v-5a.5.5 0 00-.5-.5H11V5a4 4 0 00-4-4zm0 1a3 3 0 013 3v2H4V5a3 3 0 013-3z"></path><line x1=2 y1=12 x2=12 y2=2 stroke=currentColor stroke-width=1.5>`), _tmpl$4$j = /* @__PURE__ */ template(`<div class=security-indicator-wrapper><button>`), _tmpl$5$f = /* @__PURE__ */ template(`<div id=address-autocomplete class=autocomplete-dropdown role=listbox>`), _tmpl$6$f = /* @__PURE__ */ template(`<button class=page-diff-trigger title="Open the What Changed timeline"><span class=page-diff-trigger-dot aria-hidden=true></span><span class=page-diff-trigger-text>What Changed?`), _tmpl$7$d = /* @__PURE__ */ template(`<span class=page-diff-burst-meta>Updated <!> times over `), _tmpl$8$a = /* @__PURE__ */ template(`<div class=page-diff-burst-history><div class=page-diff-burst-history-label>Recent detections`), _tmpl$9$9 = /* @__PURE__ */ template(`<div class=page-diff-popup><div class=page-diff-popup-header><div class=page-diff-popup-header-copy><span>Compared with your last visit</span><span class=page-diff-burst-meta>Previous snapshot from </span></div><div style=display:flex;gap:8px;align-items:center><button class=nav-btn title="Open the full What Changed timeline"style="height:24px;min-width:auto;padding:0 8px">Timeline</button><button class=page-diff-popup-close>&times;`), _tmpl$0$7 = /* @__PURE__ */ template(`<svg><path d="M3 3 L11 3 L11 9 Q7 13 3 9 Z"fill=none stroke=currentColor stroke-width=1.2 stroke-linejoin=round></svg>`, false, true, false), _tmpl$1$7 = /* @__PURE__ */ template(`<svg><line x1=2 y1=12 x2=12 y2=2 stroke=currentColor stroke-width=1.4 stroke-linecap=round></svg>`, false, true, false), _tmpl$10$7 = /* @__PURE__ */ template(`<button class=nav-btn data-tooltip="Reader Mode"><svg width=14 height=14 viewBox="0 0 14 14"><rect x=2 y=1 width=10 height=12 rx=1 fill=none stroke=currentColor stroke-width=1.2></rect><line x1=4 y1=4 x2=10 y2=4 stroke=currentColor stroke-width=1></line><line x1=4 y1=6.5 x2=10 y2=6.5 stroke=currentColor stroke-width=1></line><line x1=4 y1=9 x2=8 y2=9 stroke=currentColor stroke-width=1>`), _tmpl$11$6 = /* @__PURE__ */ template(`<button class=nav-btn data-tooltip="Dev Tools"><svg width=14 height=14 viewBox="0 0 14 14"><polyline points="3,5 1,7 3,9"fill=none stroke=currentColor stroke-width=1.2 stroke-linecap=round stroke-linejoin=round></polyline><polyline points="11,5 13,7 11,9"fill=none stroke=currentColor stroke-width=1.2 stroke-linecap=round stroke-linejoin=round></polyline><line x1=8.5 y1=2 x2=5.5 y2=12 stroke=currentColor stroke-width=1.2 stroke-linecap=round>`), _tmpl$12$6 = /* @__PURE__ */ template(`<span class=nav-btn-badge>`), _tmpl$13$5 = /* @__PURE__ */ template(`<button class="nav-btn nav-btn-sidebar"><svg width=14 height=14 viewBox="0 0 14 14"><rect x=1 y=1 width=12 height=12 rx=1.5 fill=none stroke=currentColor stroke-width=1.2></rect><line x1=9 y1=1 x2=9 y2=13 stroke=currentColor stroke-width=1.2>`), _tmpl$14$5 = /* @__PURE__ */ template(`<button class=nav-btn data-tooltip="Clear Data">`), _tmpl$15$5 = /* @__PURE__ */ template(`<button class=nav-btn data-tooltip=Settings><svg width=14 height=14 viewBox="0 0 14 14"><circle cx=7 cy=7 r=2 fill=none stroke=currentColor stroke-width=1.2></circle><path d="M7 1v2M7 11v2M1 7h2M11 7h2M2.8 2.8l1.4 1.4M9.8 9.8l1.4 1.4M11.2 2.8l-1.4 1.4M4.2 9.8l-1.4 1.4"stroke=currentColor stroke-width=1 stroke-linecap=round>`), _tmpl$16$4 = /* @__PURE__ */ template(`<div class=address-bar><div class=nav-controls><button class=nav-btn data-tooltip=Back><svg width=14 height=14 viewBox="0 0 14 14"><path d="M9 2L4 7l5 5"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round></path></svg></button><button class=nav-btn data-tooltip=Forward><svg width=14 height=14 viewBox="0 0 14 14"><path d="M5 2l5 5-5 5"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round></path></svg></button><button class=nav-btn data-tooltip=Reload><svg width=14 height=14 viewBox="0 0 14 14"><path d="M2.5 7a4.5 4.5 0 1 1 1 3"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round></path><path d="M2 4v3.5h3.5"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round></path></svg></button></div><div class=url-shell><form class=url-form><input class=url-input type=text placeholder="Search or enter URL"autocomplete=off aria-autocomplete=list aria-controls=address-autocomplete></form></div><div class=toolbar-actions><button class=nav-btn><svg width=14 height=14 viewBox="0 0 14 14">`), _tmpl$17$4 = /* @__PURE__ */ template(`<svg width=14 height=14 viewBox="0 0 14 14"fill=currentColor><path d="M7 1a4 4 0 00-4 4v2H1.5a.5.5 0 00-.5.5v5a.5.5 0 00.5.5h11a.5.5 0 00.5-.5v-5a.5.5 0 00-.5-.5H11V5a4 4 0 00-4-4zm0 1a3 3 0 013 3v2H4V5a3 3 0 013-3z"></path><circle cx=7 cy=8 r=0.8 fill=white>`), _tmpl$18$4 = /* @__PURE__ */ template(`<div role=option><span class=autocomplete-icon></span><span class=autocomplete-text><span class=autocomplete-title></span><span class=autocomplete-url>`), _tmpl$19$4 = /* @__PURE__ */ template(`<div class=page-diff-burst-row><span class=page-diff-burst-time></span><span class=page-diff-burst-summary>`), _tmpl$20$4 = /* @__PURE__ */ template(`<span class=page-diff-burst-summary-section>`), _tmpl$21$4 = /* @__PURE__ */ template(`<span class=page-diff-burst-summary-part><span>`), _tmpl$22$4 = /* @__PURE__ */ template(`<div class=page-diff-snippet><span class=page-diff-snippet-label>Before</span><span class=page-diff-snippet-text>`), _tmpl$23$4 = /* @__PURE__ */ template(`<div class=page-diff-snippet><span class=page-diff-snippet-label>After</span><span class=page-diff-snippet-text>`), _tmpl$24$4 = /* @__PURE__ */ template(`<div class=page-diff-snippets>`), _tmpl$25$3 = /* @__PURE__ */ template(`<div class=page-diff-list-group><span class=page-diff-list-label>Added</span><ul class=page-diff-list>`), _tmpl$26$3 = /* @__PURE__ */ template(`<div class=page-diff-list-group><span class=page-diff-list-label>Removed</span><ul class=page-diff-list>`), _tmpl$27$3 = /* @__PURE__ */ template(`<div><div class=page-diff-item-header><div class=page-diff-badges><span class=page-diff-kind></span><span class=page-diff-section></span></div><span class=page-diff-summary>`), _tmpl$28$3 = /* @__PURE__ */ template(`<li>`);
3410
+ var _tmpl$$p = /* @__PURE__ */ template(`<div class=private-badge title="Private Browsing - history and cookies are not saved"><span>Private`), _tmpl$2$o = /* @__PURE__ */ template(`<svg width=14 height=14 viewBox="0 0 14 14"fill=currentColor><path d="M7 1a4 4 0 00-4 4v2H1.5a.5.5 0 00-.5.5v5a.5.5 0 00.5.5h11a.5.5 0 00.5-.5v-5a.5.5 0 00-.5-.5H11V5a4 4 0 00-4-4zm0 1a3 3 0 013 3v2H4V5a3 3 0 013-3z">`), _tmpl$3$k = /* @__PURE__ */ template(`<svg width=14 height=14 viewBox="0 0 14 14"fill=currentColor><path d="M7 1a4 4 0 00-4 4v2H1.5a.5.5 0 00-.5.5v5a.5.5 0 00.5.5h11a.5.5 0 00.5-.5v-5a.5.5 0 00-.5-.5H11V5a4 4 0 00-4-4zm0 1a3 3 0 013 3v2H4V5a3 3 0 013-3z"></path><line x1=2 y1=12 x2=12 y2=2 stroke=currentColor stroke-width=1.5>`), _tmpl$4$j = /* @__PURE__ */ template(`<div class=security-indicator-wrapper><button>`), _tmpl$5$f = /* @__PURE__ */ template(`<div id=address-autocomplete class=autocomplete-dropdown role=listbox>`), _tmpl$6$f = /* @__PURE__ */ template(`<button class=page-diff-trigger title="Open the What Changed timeline"><span class=page-diff-trigger-dot aria-hidden=true></span><span class=page-diff-trigger-text>What Changed?`), _tmpl$7$d = /* @__PURE__ */ template(`<span class=page-diff-burst-meta>Updated <!> times over `), _tmpl$8$a = /* @__PURE__ */ template(`<div class=page-diff-burst-history><div class=page-diff-burst-history-label>Recent detections`), _tmpl$9$9 = /* @__PURE__ */ template(`<div class=page-diff-popup><div class=page-diff-popup-header><div class=page-diff-popup-header-copy><span>Compared with your last visit</span><span class=page-diff-burst-meta>Previous snapshot from </span></div><div style=display:flex;gap:8px;align-items:center><button class=nav-btn title="Open the full What Changed timeline"style="height:24px;min-width:auto;padding:0 8px">Timeline</button><button class=page-diff-popup-close>&times;`), _tmpl$0$7 = /* @__PURE__ */ template(`<svg><path d="M3 3 L11 3 L11 9 Q7 13 3 9 Z"fill=none stroke=currentColor stroke-width=1.2 stroke-linejoin=round></svg>`, false, true, false), _tmpl$1$7 = /* @__PURE__ */ template(`<svg><line x1=2 y1=12 x2=12 y2=2 stroke=currentColor stroke-width=1.4 stroke-linecap=round></svg>`, false, true, false), _tmpl$10$7 = /* @__PURE__ */ template(`<button class=nav-btn data-tooltip="Reader Mode"><svg width=14 height=14 viewBox="0 0 14 14"><rect x=2 y=1 width=10 height=12 rx=1 fill=none stroke=currentColor stroke-width=1.2></rect><line x1=4 y1=4 x2=10 y2=4 stroke=currentColor stroke-width=1></line><line x1=4 y1=6.5 x2=10 y2=6.5 stroke=currentColor stroke-width=1></line><line x1=4 y1=9 x2=8 y2=9 stroke=currentColor stroke-width=1>`), _tmpl$11$6 = /* @__PURE__ */ template(`<button class=nav-btn data-tooltip="Dev Tools"><svg width=14 height=14 viewBox="0 0 14 14"><polyline points="3,5 1,7 3,9"fill=none stroke=currentColor stroke-width=1.2 stroke-linecap=round stroke-linejoin=round></polyline><polyline points="11,5 13,7 11,9"fill=none stroke=currentColor stroke-width=1.2 stroke-linecap=round stroke-linejoin=round></polyline><line x1=8.5 y1=2 x2=5.5 y2=12 stroke=currentColor stroke-width=1.2 stroke-linecap=round>`), _tmpl$12$6 = /* @__PURE__ */ template(`<span class=nav-btn-badge>`), _tmpl$13$6 = /* @__PURE__ */ template(`<button class="nav-btn nav-btn-sidebar"><svg width=14 height=14 viewBox="0 0 14 14"><rect x=1 y=1 width=12 height=12 rx=1.5 fill=none stroke=currentColor stroke-width=1.2></rect><line x1=9 y1=1 x2=9 y2=13 stroke=currentColor stroke-width=1.2>`), _tmpl$14$6 = /* @__PURE__ */ template(`<button class=nav-btn data-tooltip="Clear Data">`), _tmpl$15$6 = /* @__PURE__ */ template(`<button class=nav-btn data-tooltip=Settings>`), _tmpl$16$5 = /* @__PURE__ */ template(`<div class=address-bar><div class=nav-controls><button class=nav-btn data-tooltip=Back><svg width=14 height=14 viewBox="0 0 14 14"><path d="M9 2L4 7l5 5"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round></path></svg></button><button class=nav-btn data-tooltip=Forward><svg width=14 height=14 viewBox="0 0 14 14"><path d="M5 2l5 5-5 5"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round></path></svg></button><button class=nav-btn data-tooltip=Reload><svg width=14 height=14 viewBox="0 0 14 14"><path d="M2.5 7a4.5 4.5 0 1 1 1 3"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round></path><path d="M2 4v3.5h3.5"fill=none stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round></path></svg></button></div><div class=url-shell><form class=url-form><input class=url-input type=text placeholder="Search or enter URL"autocomplete=off aria-autocomplete=list aria-controls=address-autocomplete></form></div><div class=toolbar-actions><button class=nav-btn><svg width=14 height=14 viewBox="0 0 14 14">`), _tmpl$17$5 = /* @__PURE__ */ template(`<svg width=14 height=14 viewBox="0 0 14 14"fill=currentColor><path d="M7 1a4 4 0 00-4 4v2H1.5a.5.5 0 00-.5.5v5a.5.5 0 00.5.5h11a.5.5 0 00.5-.5v-5a.5.5 0 00-.5-.5H11V5a4 4 0 00-4-4zm0 1a3 3 0 013 3v2H4V5a3 3 0 013-3z"></path><circle cx=7 cy=8 r=0.8 fill=white>`), _tmpl$18$5 = /* @__PURE__ */ template(`<div role=option><span class=autocomplete-icon></span><span class=autocomplete-text><span class=autocomplete-title></span><span class=autocomplete-url>`), _tmpl$19$5 = /* @__PURE__ */ template(`<div class=page-diff-burst-row><span class=page-diff-burst-time></span><span class=page-diff-burst-summary>`), _tmpl$20$5 = /* @__PURE__ */ template(`<span class=page-diff-burst-summary-section>`), _tmpl$21$5 = /* @__PURE__ */ template(`<span class=page-diff-burst-summary-part><span>`), _tmpl$22$5 = /* @__PURE__ */ template(`<div class=page-diff-snippet><span class=page-diff-snippet-label>Before</span><span class=page-diff-snippet-text>`), _tmpl$23$5 = /* @__PURE__ */ template(`<div class=page-diff-snippet><span class=page-diff-snippet-label>After</span><span class=page-diff-snippet-text>`), _tmpl$24$5 = /* @__PURE__ */ template(`<div class=page-diff-snippets>`), _tmpl$25$4 = /* @__PURE__ */ template(`<div class=page-diff-list-group><span class=page-diff-list-label>Added</span><ul class=page-diff-list>`), _tmpl$26$4 = /* @__PURE__ */ template(`<div class=page-diff-list-group><span class=page-diff-list-label>Removed</span><ul class=page-diff-list>`), _tmpl$27$3 = /* @__PURE__ */ template(`<div><div class=page-diff-item-header><div class=page-diff-badges><span class=page-diff-kind></span><span class=page-diff-section></span></div><span class=page-diff-summary>`), _tmpl$28$3 = /* @__PURE__ */ template(`<li>`);
3342
3411
  const AddressBar = (props) => {
3343
3412
  const {
3344
3413
  activeTab,
@@ -3632,29 +3701,33 @@ const AddressBar = (props) => {
3632
3701
  };
3633
3702
  const formatSectionLabel = (section) => section === "title" ? "Title" : section === "headings" ? "Headings" : "Content";
3634
3703
  return (() => {
3635
- var _el$ = _tmpl$16$4(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling, _el$5 = _el$4.nextSibling, _el$11 = _el$2.nextSibling, _el$12 = _el$11.firstChild, _el$13 = _el$12.firstChild, _el$32 = _el$11.nextSibling, _el$33 = _el$32.firstChild, _el$34 = _el$33.firstChild;
3704
+ var _el$ = _tmpl$16$5(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.nextSibling, _el$5 = _el$4.nextSibling, _el$12 = _el$2.nextSibling, _el$13 = _el$12.firstChild, _el$14 = _el$13.firstChild, _el$33 = _el$12.nextSibling, _el$34 = _el$33.firstChild, _el$35 = _el$34.firstChild;
3636
3705
  addEventListener(_el$3, "click", goBack, true);
3637
3706
  addEventListener(_el$4, "click", goForward, true);
3638
3707
  addEventListener(_el$5, "click", reload, true);
3639
3708
  insert(_el$, createComponent(Show, {
3640
3709
  when: isPrivateWindow,
3641
3710
  get children() {
3642
- return _tmpl$$p();
3711
+ var _el$6 = _tmpl$$p(), _el$7 = _el$6.firstChild;
3712
+ insert(_el$6, createComponent(venetian_mask_default, {
3713
+ size: 12
3714
+ }), _el$7);
3715
+ return _el$6;
3643
3716
  }
3644
- }), _el$11);
3717
+ }), _el$12);
3645
3718
  insert(_el$, createComponent(Show, {
3646
3719
  get when() {
3647
3720
  return memo(() => !!securityState()?.status)() && securityState()?.status !== "none";
3648
3721
  },
3649
3722
  get children() {
3650
- var _el$7 = _tmpl$4$j(), _el$8 = _el$7.firstChild;
3651
- _el$8.$$click = () => setShowSecurityPopup((prev) => !prev);
3652
- insert(_el$8, createComponent(Switch, {
3723
+ var _el$8 = _tmpl$4$j(), _el$9 = _el$8.firstChild;
3724
+ _el$9.$$click = () => setShowSecurityPopup((prev) => !prev);
3725
+ insert(_el$9, createComponent(Switch, {
3653
3726
  get fallback() {
3654
3727
  return (() => {
3655
- var _el$45 = _tmpl$17$4();
3656
- _el$45.firstChild;
3657
- return _el$45;
3728
+ var _el$46 = _tmpl$17$5();
3729
+ _el$46.firstChild;
3730
+ return _el$46;
3658
3731
  })();
3659
3732
  },
3660
3733
  get children() {
@@ -3663,23 +3736,23 @@ const AddressBar = (props) => {
3663
3736
  return securityState()?.status === "secure";
3664
3737
  },
3665
3738
  get children() {
3666
- var _el$9 = _tmpl$2$o();
3667
- _el$9.firstChild;
3668
- return _el$9;
3739
+ var _el$0 = _tmpl$2$o();
3740
+ _el$0.firstChild;
3741
+ return _el$0;
3669
3742
  }
3670
3743
  }), createComponent(Match, {
3671
3744
  get when() {
3672
3745
  return securityState()?.status === "insecure";
3673
3746
  },
3674
3747
  get children() {
3675
- var _el$1 = _tmpl$3$k();
3676
- _el$1.firstChild;
3677
- return _el$1;
3748
+ var _el$10 = _tmpl$3$k();
3749
+ _el$10.firstChild;
3750
+ return _el$10;
3678
3751
  }
3679
3752
  })];
3680
3753
  }
3681
3754
  }));
3682
- insert(_el$7, createComponent(Show, {
3755
+ insert(_el$8, createComponent(Show, {
3683
3756
  get when() {
3684
3757
  return showSecurityPopup();
3685
3758
  },
@@ -3697,84 +3770,84 @@ const AddressBar = (props) => {
3697
3770
  }), null);
3698
3771
  createRenderEffect((_p$) => {
3699
3772
  var _v$ = `security-indicator ${securityState()?.status}`, _v$2 = securityState()?.status === "secure" ? "Secure connection" : securityState()?.status === "insecure" ? "Connection not secure" : "Certificate error";
3700
- _v$ !== _p$.e && className(_el$8, _p$.e = _v$);
3701
- _v$2 !== _p$.t && setAttribute(_el$8, "title", _p$.t = _v$2);
3773
+ _v$ !== _p$.e && className(_el$9, _p$.e = _v$);
3774
+ _v$2 !== _p$.t && setAttribute(_el$9, "title", _p$.t = _v$2);
3702
3775
  return _p$;
3703
3776
  }, {
3704
3777
  e: void 0,
3705
3778
  t: void 0
3706
3779
  });
3707
- return _el$7;
3780
+ return _el$8;
3708
3781
  }
3709
- }), _el$11);
3710
- _el$12.addEventListener("submit", handleSubmit);
3711
- _el$13.addEventListener("blur", () => {
3782
+ }), _el$12);
3783
+ _el$13.addEventListener("submit", handleSubmit);
3784
+ _el$14.addEventListener("blur", () => {
3712
3785
  scheduleAddressBlurReset();
3713
3786
  });
3714
- _el$13.$$keydown = handleInputKeyDown;
3715
- _el$13.addEventListener("focus", (e) => {
3787
+ _el$14.$$keydown = handleInputKeyDown;
3788
+ _el$14.addEventListener("focus", (e) => {
3716
3789
  clearAddressBlurTimer();
3717
3790
  e.currentTarget.select();
3718
3791
  const query = inputValue().trim();
3719
3792
  if (query.length >= 2) setShowSuggestions(true);
3720
3793
  });
3721
- _el$13.$$input = (e) => {
3794
+ _el$14.$$input = (e) => {
3722
3795
  setHasEditedAddress(true);
3723
3796
  setInputValue(e.currentTarget.value);
3724
3797
  setShowSuggestions(true);
3725
3798
  setSelectedIndex(-1);
3726
3799
  };
3727
3800
  var _ref$ = inputRef;
3728
- typeof _ref$ === "function" ? use(_ref$, _el$13) : inputRef = _el$13;
3729
- setAttribute(_el$13, "spellcheck", false);
3730
- insert(_el$11, createComponent(Show, {
3801
+ typeof _ref$ === "function" ? use(_ref$, _el$14) : inputRef = _el$14;
3802
+ setAttribute(_el$14, "spellcheck", false);
3803
+ insert(_el$12, createComponent(Show, {
3731
3804
  get when() {
3732
3805
  return memo(() => !!showSuggestions())() && suggestions().length > 0;
3733
3806
  },
3734
3807
  get children() {
3735
- var _el$14 = _tmpl$5$f();
3736
- insert(_el$14, createComponent(For, {
3808
+ var _el$15 = _tmpl$5$f();
3809
+ insert(_el$15, createComponent(For, {
3737
3810
  get each() {
3738
3811
  return suggestions();
3739
3812
  },
3740
3813
  children: (item, i) => (() => {
3741
- var _el$47 = _tmpl$18$4(), _el$48 = _el$47.firstChild, _el$49 = _el$48.nextSibling, _el$50 = _el$49.firstChild, _el$51 = _el$50.nextSibling;
3742
- _el$47.addEventListener("mouseenter", () => setSelectedIndex(i()));
3743
- _el$47.$$mousedown = (e) => {
3814
+ var _el$48 = _tmpl$18$5(), _el$49 = _el$48.firstChild, _el$50 = _el$49.nextSibling, _el$51 = _el$50.firstChild, _el$52 = _el$51.nextSibling;
3815
+ _el$48.addEventListener("mouseenter", () => setSelectedIndex(i()));
3816
+ _el$48.$$mousedown = (e) => {
3744
3817
  e.preventDefault();
3745
3818
  selectSuggestion(item.url);
3746
3819
  };
3747
- insert(_el$48, (() => {
3820
+ insert(_el$49, (() => {
3748
3821
  var _c$ = memo(() => item.source === "bookmark");
3749
3822
  return () => _c$() ? "★" : item.source === "search" ? "⌕" : "◌";
3750
3823
  })());
3751
- insert(_el$50, () => item.title || item.url);
3752
- insert(_el$51, () => item.subtitle || item.url);
3824
+ insert(_el$51, () => item.title || item.url);
3825
+ insert(_el$52, () => item.subtitle || item.url);
3753
3826
  createRenderEffect((_p$) => {
3754
3827
  var _v$10 = `address-autocomplete-${i()}`, _v$11 = `autocomplete-item ${selectedIndex() === i() ? "selected" : ""}`, _v$12 = selectedIndex() === i();
3755
- _v$10 !== _p$.e && setAttribute(_el$47, "id", _p$.e = _v$10);
3756
- _v$11 !== _p$.t && className(_el$47, _p$.t = _v$11);
3757
- _v$12 !== _p$.a && setAttribute(_el$47, "aria-selected", _p$.a = _v$12);
3828
+ _v$10 !== _p$.e && setAttribute(_el$48, "id", _p$.e = _v$10);
3829
+ _v$11 !== _p$.t && className(_el$48, _p$.t = _v$11);
3830
+ _v$12 !== _p$.a && setAttribute(_el$48, "aria-selected", _p$.a = _v$12);
3758
3831
  return _p$;
3759
3832
  }, {
3760
3833
  e: void 0,
3761
3834
  t: void 0,
3762
3835
  a: void 0
3763
3836
  });
3764
- return _el$47;
3837
+ return _el$48;
3765
3838
  })()
3766
3839
  }));
3767
- return _el$14;
3840
+ return _el$15;
3768
3841
  }
3769
3842
  }), null);
3770
- insert(_el$11, createComponent(Show, {
3843
+ insert(_el$12, createComponent(Show, {
3771
3844
  get when() {
3772
3845
  return pageDiff();
3773
3846
  },
3774
3847
  get children() {
3775
- var _el$15 = _tmpl$6$f();
3776
- _el$15.$$click = () => void openDiffTimeline();
3777
- return _el$15;
3848
+ var _el$16 = _tmpl$6$f();
3849
+ _el$16.$$click = () => void openDiffTimeline();
3850
+ return _el$16;
3778
3851
  }
3779
3852
  }), null);
3780
3853
  insert(_el$, createComponent(Show, {
@@ -3782,157 +3855,157 @@ const AddressBar = (props) => {
3782
3855
  return memo(() => !!pageDiff())() && diffExpanded();
3783
3856
  },
3784
3857
  get children() {
3785
- var _el$16 = _tmpl$9$9(), _el$17 = _el$16.firstChild, _el$18 = _el$17.firstChild, _el$19 = _el$18.firstChild, _el$20 = _el$19.nextSibling;
3786
- _el$20.firstChild;
3787
- var _el$27 = _el$18.nextSibling, _el$28 = _el$27.firstChild, _el$29 = _el$28.nextSibling;
3788
- insert(_el$20, () => formatRelativeTime(pageDiff().oldSnapshot.capturedAt), null);
3789
- insert(_el$18, createComponent(Show, {
3858
+ var _el$17 = _tmpl$9$9(), _el$18 = _el$17.firstChild, _el$19 = _el$18.firstChild, _el$20 = _el$19.firstChild, _el$21 = _el$20.nextSibling;
3859
+ _el$21.firstChild;
3860
+ var _el$28 = _el$19.nextSibling, _el$29 = _el$28.firstChild, _el$30 = _el$29.nextSibling;
3861
+ insert(_el$21, () => formatRelativeTime(pageDiff().oldSnapshot.capturedAt), null);
3862
+ insert(_el$19, createComponent(Show, {
3790
3863
  get when() {
3791
3864
  return memo(() => !!((pageDiff().burstCount || 0) > 1 && pageDiff().firstDetectedAt))() && pageDiff().lastDetectedAt;
3792
3865
  },
3793
3866
  get children() {
3794
- var _el$22 = _tmpl$7$d(), _el$23 = _el$22.firstChild, _el$26 = _el$23.nextSibling;
3795
- _el$26.nextSibling;
3796
- insert(_el$22, () => pageDiff().burstCount, _el$26);
3797
- insert(_el$22, () => formatElapsedTime(pageDiff().firstDetectedAt, pageDiff().lastDetectedAt), null);
3798
- return _el$22;
3867
+ var _el$23 = _tmpl$7$d(), _el$24 = _el$23.firstChild, _el$27 = _el$24.nextSibling;
3868
+ _el$27.nextSibling;
3869
+ insert(_el$23, () => pageDiff().burstCount, _el$27);
3870
+ insert(_el$23, () => formatElapsedTime(pageDiff().firstDetectedAt, pageDiff().lastDetectedAt), null);
3871
+ return _el$23;
3799
3872
  }
3800
3873
  }), null);
3801
- _el$28.$$click = () => void openDiffTimeline();
3802
- _el$29.$$click = () => setDiffExpanded(false);
3803
- insert(_el$16, createComponent(Show, {
3874
+ _el$29.$$click = () => void openDiffTimeline();
3875
+ _el$30.$$click = () => setDiffExpanded(false);
3876
+ insert(_el$17, createComponent(Show, {
3804
3877
  get when() {
3805
3878
  return memo(() => !!pageDiff().recentBursts?.length)() && (pageDiff().recentBursts?.length || 0) > 1;
3806
3879
  },
3807
3880
  get children() {
3808
- var _el$30 = _tmpl$8$a();
3809
- _el$30.firstChild;
3810
- insert(_el$30, createComponent(For, {
3881
+ var _el$31 = _tmpl$8$a();
3882
+ _el$31.firstChild;
3883
+ insert(_el$31, createComponent(For, {
3811
3884
  get each() {
3812
3885
  return pageDiff().recentBursts;
3813
3886
  },
3814
3887
  children: (burst, i) => (() => {
3815
- var _el$52 = _tmpl$19$4(), _el$53 = _el$52.firstChild, _el$54 = _el$53.nextSibling;
3816
- insert(_el$53, (() => {
3888
+ var _el$53 = _tmpl$19$5(), _el$54 = _el$53.firstChild, _el$55 = _el$54.nextSibling;
3889
+ insert(_el$54, (() => {
3817
3890
  var _c$2 = memo(() => i() === 0);
3818
3891
  return () => _c$2() ? "Latest" : formatRelativeTime(burst.detectedAt);
3819
3892
  })());
3820
- insert(_el$54, createComponent(For, {
3893
+ insert(_el$55, createComponent(For, {
3821
3894
  get each() {
3822
3895
  return parseDiffSummaryParts(burst.summary);
3823
3896
  },
3824
3897
  children: (part) => (() => {
3825
- var _el$55 = _tmpl$21$4(), _el$57 = _el$55.firstChild;
3826
- insert(_el$55, createComponent(Show, {
3898
+ var _el$56 = _tmpl$21$5(), _el$58 = _el$56.firstChild;
3899
+ insert(_el$56, createComponent(Show, {
3827
3900
  get when() {
3828
3901
  return part.section;
3829
3902
  },
3830
3903
  get children() {
3831
- var _el$56 = _tmpl$20$4();
3832
- insert(_el$56, () => part.section);
3833
- return _el$56;
3904
+ var _el$57 = _tmpl$20$5();
3905
+ insert(_el$57, () => part.section);
3906
+ return _el$57;
3834
3907
  }
3835
- }), _el$57);
3836
- insert(_el$57, () => part.text);
3837
- return _el$55;
3908
+ }), _el$58);
3909
+ insert(_el$58, () => part.text);
3910
+ return _el$56;
3838
3911
  })()
3839
3912
  }));
3840
- createRenderEffect(() => _el$52.classList.toggle("latest", !!(i() === 0)));
3841
- return _el$52;
3913
+ createRenderEffect(() => _el$53.classList.toggle("latest", !!(i() === 0)));
3914
+ return _el$53;
3842
3915
  })()
3843
3916
  }), null);
3844
- return _el$30;
3917
+ return _el$31;
3845
3918
  }
3846
3919
  }), null);
3847
- insert(_el$16, createComponent(For, {
3920
+ insert(_el$17, createComponent(For, {
3848
3921
  get each() {
3849
3922
  return pageDiff().changes;
3850
3923
  },
3851
3924
  children: (change) => (() => {
3852
- var _el$58 = _tmpl$27$3(), _el$59 = _el$58.firstChild, _el$60 = _el$59.firstChild, _el$61 = _el$60.firstChild, _el$62 = _el$61.nextSibling, _el$63 = _el$60.nextSibling;
3853
- insert(_el$61, () => getChangeKindLabel(change.kind));
3854
- insert(_el$62, () => formatSectionLabel(change.section));
3855
- insert(_el$63, () => change.summary);
3856
- insert(_el$58, createComponent(Show, {
3925
+ var _el$59 = _tmpl$27$3(), _el$60 = _el$59.firstChild, _el$61 = _el$60.firstChild, _el$62 = _el$61.firstChild, _el$63 = _el$62.nextSibling, _el$64 = _el$61.nextSibling;
3926
+ insert(_el$62, () => getChangeKindLabel(change.kind));
3927
+ insert(_el$63, () => formatSectionLabel(change.section));
3928
+ insert(_el$64, () => change.summary);
3929
+ insert(_el$59, createComponent(Show, {
3857
3930
  get when() {
3858
3931
  return change.before || change.after;
3859
3932
  },
3860
3933
  get children() {
3861
- var _el$64 = _tmpl$24$4();
3862
- insert(_el$64, createComponent(Show, {
3934
+ var _el$65 = _tmpl$24$5();
3935
+ insert(_el$65, createComponent(Show, {
3863
3936
  get when() {
3864
3937
  return change.before;
3865
3938
  },
3866
3939
  get children() {
3867
- var _el$65 = _tmpl$22$4(), _el$66 = _el$65.firstChild, _el$67 = _el$66.nextSibling;
3868
- insert(_el$67, () => change.before);
3869
- return _el$65;
3940
+ var _el$66 = _tmpl$22$5(), _el$67 = _el$66.firstChild, _el$68 = _el$67.nextSibling;
3941
+ insert(_el$68, () => change.before);
3942
+ return _el$66;
3870
3943
  }
3871
3944
  }), null);
3872
- insert(_el$64, createComponent(Show, {
3945
+ insert(_el$65, createComponent(Show, {
3873
3946
  get when() {
3874
3947
  return change.after;
3875
3948
  },
3876
3949
  get children() {
3877
- var _el$68 = _tmpl$23$4(), _el$69 = _el$68.firstChild, _el$70 = _el$69.nextSibling;
3878
- insert(_el$70, () => change.after);
3879
- return _el$68;
3950
+ var _el$69 = _tmpl$23$5(), _el$70 = _el$69.firstChild, _el$71 = _el$70.nextSibling;
3951
+ insert(_el$71, () => change.after);
3952
+ return _el$69;
3880
3953
  }
3881
3954
  }), null);
3882
- return _el$64;
3955
+ return _el$65;
3883
3956
  }
3884
3957
  }), null);
3885
- insert(_el$58, createComponent(Show, {
3958
+ insert(_el$59, createComponent(Show, {
3886
3959
  get when() {
3887
3960
  return change.addedItems?.length;
3888
3961
  },
3889
3962
  get children() {
3890
- var _el$71 = _tmpl$25$3(), _el$72 = _el$71.firstChild, _el$73 = _el$72.nextSibling;
3891
- insert(_el$73, createComponent(For, {
3963
+ var _el$72 = _tmpl$25$4(), _el$73 = _el$72.firstChild, _el$74 = _el$73.nextSibling;
3964
+ insert(_el$74, createComponent(For, {
3892
3965
  get each() {
3893
3966
  return change.addedItems;
3894
3967
  },
3895
3968
  children: (item) => (() => {
3896
- var _el$77 = _tmpl$28$3();
3897
- insert(_el$77, item);
3898
- return _el$77;
3969
+ var _el$78 = _tmpl$28$3();
3970
+ insert(_el$78, item);
3971
+ return _el$78;
3899
3972
  })()
3900
3973
  }));
3901
- return _el$71;
3974
+ return _el$72;
3902
3975
  }
3903
3976
  }), null);
3904
- insert(_el$58, createComponent(Show, {
3977
+ insert(_el$59, createComponent(Show, {
3905
3978
  get when() {
3906
3979
  return change.removedItems?.length;
3907
3980
  },
3908
3981
  get children() {
3909
- var _el$74 = _tmpl$26$3(), _el$75 = _el$74.firstChild, _el$76 = _el$75.nextSibling;
3910
- insert(_el$76, createComponent(For, {
3982
+ var _el$75 = _tmpl$26$4(), _el$76 = _el$75.firstChild, _el$77 = _el$76.nextSibling;
3983
+ insert(_el$77, createComponent(For, {
3911
3984
  get each() {
3912
3985
  return change.removedItems;
3913
3986
  },
3914
3987
  children: (item) => (() => {
3915
- var _el$78 = _tmpl$28$3();
3916
- insert(_el$78, item);
3917
- return _el$78;
3988
+ var _el$79 = _tmpl$28$3();
3989
+ insert(_el$79, item);
3990
+ return _el$79;
3918
3991
  })()
3919
3992
  }));
3920
- return _el$74;
3993
+ return _el$75;
3921
3994
  }
3922
3995
  }), null);
3923
- createRenderEffect(() => className(_el$58, `page-diff-item page-diff-${change.kind}`));
3924
- return _el$58;
3996
+ createRenderEffect(() => className(_el$59, `page-diff-item page-diff-${change.kind}`));
3997
+ return _el$59;
3925
3998
  })()
3926
3999
  }), null);
3927
- return _el$16;
4000
+ return _el$17;
3928
4001
  }
3929
- }), _el$32);
3930
- _el$33.$$click = async () => {
4002
+ }), _el$33);
4003
+ _el$34.$$click = async () => {
3931
4004
  const id = activeTabId2();
3932
4005
  if (!id) return;
3933
4006
  await toggleAdBlock(id);
3934
4007
  };
3935
- insert(_el$34, createComponent(Show, {
4008
+ insert(_el$35, createComponent(Show, {
3936
4009
  get when() {
3937
4010
  return activeTab()?.adBlockingEnabled;
3938
4011
  },
@@ -3940,7 +4013,7 @@ const AddressBar = (props) => {
3940
4013
  return _tmpl$0$7();
3941
4014
  }
3942
4015
  }), null);
3943
- insert(_el$34, createComponent(Show, {
4016
+ insert(_el$35, createComponent(Show, {
3944
4017
  get when() {
3945
4018
  return !activeTab()?.adBlockingEnabled;
3946
4019
  },
@@ -3948,67 +4021,71 @@ const AddressBar = (props) => {
3948
4021
  return [_tmpl$0$7(), _tmpl$1$7()];
3949
4022
  }
3950
4023
  }), null);
3951
- insert(_el$32, createComponent(Show, {
4024
+ insert(_el$33, createComponent(Show, {
3952
4025
  when: !isPrivateWindow,
3953
4026
  get children() {
3954
- var _el$38 = _tmpl$10$7();
3955
- _el$38.$$click = () => window.vessel.content.toggleReader();
3956
- createRenderEffect(() => _el$38.classList.toggle("active", !!activeTab()?.isReaderMode));
3957
- return _el$38;
4027
+ var _el$39 = _tmpl$10$7();
4028
+ _el$39.$$click = () => window.vessel.content.toggleReader();
4029
+ createRenderEffect(() => _el$39.classList.toggle("active", !!activeTab()?.isReaderMode));
4030
+ return _el$39;
3958
4031
  }
3959
4032
  }), null);
3960
- insert(_el$32, createComponent(Show, {
4033
+ insert(_el$33, createComponent(Show, {
3961
4034
  when: !isPrivateWindow,
3962
4035
  get children() {
3963
- var _el$39 = _tmpl$11$6();
3964
- addEventListener(_el$39, "click", toggleDevTools, true);
3965
- createRenderEffect(() => _el$39.classList.toggle("active", !!devtoolsPanelOpen2()));
3966
- return _el$39;
4036
+ var _el$40 = _tmpl$11$6();
4037
+ addEventListener(_el$40, "click", toggleDevTools, true);
4038
+ createRenderEffect(() => _el$40.classList.toggle("active", !!devtoolsPanelOpen2()));
4039
+ return _el$40;
3967
4040
  }
3968
4041
  }), null);
3969
- insert(_el$32, createComponent(Show, {
4042
+ insert(_el$33, createComponent(Show, {
3970
4043
  when: !isPrivateWindow,
3971
4044
  get children() {
3972
- var _el$40 = _tmpl$13$5();
3973
- _el$40.firstChild;
3974
- addEventListener(_el$40, "click", toggleSidebar, true);
3975
- insert(_el$40, createComponent(Show, {
4045
+ var _el$41 = _tmpl$13$6();
4046
+ _el$41.firstChild;
4047
+ addEventListener(_el$41, "click", toggleSidebar, true);
4048
+ insert(_el$41, createComponent(Show, {
3976
4049
  get when() {
3977
4050
  return pendingApprovalCount() > 0;
3978
4051
  },
3979
4052
  get children() {
3980
- var _el$42 = _tmpl$12$6();
3981
- insert(_el$42, pendingApprovalCount);
3982
- createRenderEffect(() => setAttribute(_el$42, "aria-label", `${pendingApprovalCount()} pending`));
3983
- return _el$42;
4053
+ var _el$43 = _tmpl$12$6();
4054
+ insert(_el$43, pendingApprovalCount);
4055
+ createRenderEffect(() => setAttribute(_el$43, "aria-label", `${pendingApprovalCount()} pending`));
4056
+ return _el$43;
3984
4057
  }
3985
4058
  }), null);
3986
4059
  createRenderEffect((_p$) => {
3987
4060
  var _v$3 = !!(pendingApprovalCount() > 0), _v$4 = pendingApprovalCount() > 0 ? `AI Sidebar — ${pendingApprovalCount()} pending approval${pendingApprovalCount() > 1 ? "s" : ""}` : "AI Sidebar (Ctrl+Shift+L)";
3988
- _v$3 !== _p$.e && _el$40.classList.toggle("has-approvals", _p$.e = _v$3);
3989
- _v$4 !== _p$.t && setAttribute(_el$40, "title", _p$.t = _v$4);
4061
+ _v$3 !== _p$.e && _el$41.classList.toggle("has-approvals", _p$.e = _v$3);
4062
+ _v$4 !== _p$.t && setAttribute(_el$41, "title", _p$.t = _v$4);
3990
4063
  return _p$;
3991
4064
  }, {
3992
4065
  e: void 0,
3993
4066
  t: void 0
3994
4067
  });
3995
- return _el$40;
4068
+ return _el$41;
3996
4069
  }
3997
4070
  }), null);
3998
- insert(_el$32, createComponent(Show, {
4071
+ insert(_el$33, createComponent(Show, {
3999
4072
  when: !isPrivateWindow,
4000
4073
  get children() {
4001
4074
  return [(() => {
4002
- var _el$43 = _tmpl$14$5();
4003
- addEventListener(_el$43, "click", props.onClearData, true);
4004
- insert(_el$43, createComponent(trash_2_default, {
4075
+ var _el$44 = _tmpl$14$6();
4076
+ addEventListener(_el$44, "click", props.onClearData, true);
4077
+ insert(_el$44, createComponent(trash_2_default, {
4005
4078
  size: 14
4006
4079
  }));
4007
- return _el$43;
4008
- })(), (() => {
4009
- var _el$44 = _tmpl$15$5();
4010
- addEventListener(_el$44, "click", openSettings, true);
4011
4080
  return _el$44;
4081
+ })(), (() => {
4082
+ var _el$45 = _tmpl$15$6();
4083
+ addEventListener(_el$45, "click", openSettings, true);
4084
+ insert(_el$45, createComponent(settings_default, {
4085
+ size: 14,
4086
+ strokeWidth: 1.8
4087
+ }));
4088
+ return _el$45;
4012
4089
  })()];
4013
4090
  }
4014
4091
  }), null);
@@ -4016,11 +4093,11 @@ const AddressBar = (props) => {
4016
4093
  var _v$5 = !activeTab()?.canGoBack, _v$6 = !activeTab()?.canGoForward, _v$7 = showSuggestions() && suggestions().length > 0, _v$8 = selectedIndex() >= 0 ? `address-autocomplete-${selectedIndex()}` : void 0, _v$9 = !!activeTab()?.adBlockingEnabled, _v$0 = !activeTab()?.adBlockingEnabled, _v$1 = activeTab()?.adBlockingEnabled ? "Ad Block: On (click to disable)" : "Ad Block: Off (click to enable)";
4017
4094
  _v$5 !== _p$.e && (_el$3.disabled = _p$.e = _v$5);
4018
4095
  _v$6 !== _p$.t && (_el$4.disabled = _p$.t = _v$6);
4019
- _v$7 !== _p$.a && setAttribute(_el$13, "aria-expanded", _p$.a = _v$7);
4020
- _v$8 !== _p$.o && setAttribute(_el$13, "aria-activedescendant", _p$.o = _v$8);
4021
- _v$9 !== _p$.i && _el$33.classList.toggle("active", _p$.i = _v$9);
4022
- _v$0 !== _p$.n && _el$33.classList.toggle("nav-btn-muted", _p$.n = _v$0);
4023
- _v$1 !== _p$.s && setAttribute(_el$33, "title", _p$.s = _v$1);
4096
+ _v$7 !== _p$.a && setAttribute(_el$14, "aria-expanded", _p$.a = _v$7);
4097
+ _v$8 !== _p$.o && setAttribute(_el$14, "aria-activedescendant", _p$.o = _v$8);
4098
+ _v$9 !== _p$.i && _el$34.classList.toggle("active", _p$.i = _v$9);
4099
+ _v$0 !== _p$.n && _el$34.classList.toggle("nav-btn-muted", _p$.n = _v$0);
4100
+ _v$1 !== _p$.s && setAttribute(_el$34, "title", _p$.s = _v$1);
4024
4101
  return _p$;
4025
4102
  }, {
4026
4103
  e: void 0,
@@ -4031,7 +4108,7 @@ const AddressBar = (props) => {
4031
4108
  n: void 0,
4032
4109
  s: void 0
4033
4110
  });
4034
- createRenderEffect(() => _el$13.value = inputValue());
4111
+ createRenderEffect(() => _el$14.value = inputValue());
4035
4112
  return _el$;
4036
4113
  })();
4037
4114
  };
@@ -8006,7 +8083,7 @@ const DropdownSelect = (props) => {
8006
8083
  };
8007
8084
  delegateEvents(["click"]);
8008
8085
  const BUNDLED_KIT_IDS = /* @__PURE__ */ new Set();
8009
- var _tmpl$$e = /* @__PURE__ */ template(`<div class=kit-upsell><div class=kit-upsell-icon aria-hidden=true></div><p class=kit-upsell-title>Vessel Premium</p><p class=kit-upsell-body>Skills are a premium feature. Upgrade to import, inspect, and run reusable agent capabilities.</p><button class="agent-primary-button kit-upsell-btn"type=button>Start 7-day free trial — $5.99/mo after`), _tmpl$2$e = /* @__PURE__ */ template(`<div class=kit-list-header><span class=agent-panel-title>Skills</span><div class=kit-list-header-actions><span class=kit-list-count> skills</span><button class=kit-install-btn type=button title="Create a skill from text"aria-label="Create skill">Create</button><button class=kit-install-btn type=button title="Import a skill from a .skill.json file"aria-label="Import skill">Import`), _tmpl$3$c = /* @__PURE__ */ template(`<div class=kit-install-error><span></span><button class=kit-install-error-dismiss type=button aria-label=Dismiss>×`), _tmpl$4$b = /* @__PURE__ */ template(`<div class=kit-create-panel><div class=kit-create-header><span class=kit-create-title></span><button class=kit-install-error-dismiss type=button aria-label="Close create skill">×</button></div><input class=kit-form-input type=text placeholder="Skill name"><input class=kit-form-input type=text placeholder="Short description"><textarea class=kit-create-textarea placeholder="Write the skill instructions the agent should follow. Example: Research the topic carefully, compare trustworthy sources, then summarize the answer with links."></textarea><div class=kit-create-actions><button class=kit-back-btn type=button>Reset</button><button class=kit-back-btn type=button>Cancel</button><button class="agent-primary-button kit-create-save"type=button>`), _tmpl$5$b = /* @__PURE__ */ template(`<div class=kit-list>`), _tmpl$6$b = /* @__PURE__ */ template(`<div class=kit-sched-section><span>Scheduled</span><span class=kit-list-count>`), _tmpl$7$9 = /* @__PURE__ */ template(`<div class=kit-sched-list>`), _tmpl$8$8 = /* @__PURE__ */ template(`<div class=kit-sched-section><span>Recent Activity</span><span class=kit-list-count>`), _tmpl$9$7 = /* @__PURE__ */ template(`<div class=kit-activity-list>`), _tmpl$0$5 = /* @__PURE__ */ template(`<div class=kit-form-header><button class=kit-back-btn type=button title="Back to skills"><svg width=14 height=14 viewBox="0 0 14 14"fill=none aria-hidden=true><path d="M9 11L5 7l4-4"stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round></path></svg>Back</button><div class=kit-form-title>`), _tmpl$1$5 = /* @__PURE__ */ template(`<p class=kit-form-desc>`), _tmpl$10$5 = /* @__PURE__ */ template(`<div class=kit-form-fields>`), _tmpl$11$5 = /* @__PURE__ */ template(`<p class=kit-form-estimate>Estimated run time: ~<!> min`), _tmpl$12$5 = /* @__PURE__ */ template(`<button class="agent-primary-button kit-run-btn"type=button>`), _tmpl$13$4 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label class=kit-form-label>Date &amp; time</label><input class=kit-form-input type=datetime-local>`), _tmpl$14$4 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label class=kit-form-label>Time of day</label><input class="kit-form-input kit-schedule-time"type=time>`), _tmpl$15$4 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label class=kit-form-label>Day</label><select class=kit-form-input>`), _tmpl$16$3 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label class=kit-form-label>Time</label><input class="kit-form-input kit-schedule-time"type=time>`), _tmpl$17$3 = /* @__PURE__ */ template(`<p class=kit-schedule-error>`), _tmpl$18$3 = /* @__PURE__ */ template(`<div class=kit-schedule-form><div class=kit-schedule-types></div><p class=kit-schedule-note>Schedules run only while Vessel is open. Missed runs are skipped.</p><button class="agent-primary-button kit-schedule-btn"type=button>`), _tmpl$19$3 = /* @__PURE__ */ template(`<div class=kit-schedule-section><label class=kit-schedule-toggle><input type=checkbox>Schedule for later`), _tmpl$20$3 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label>Run at</label><input type=datetime-local class="kit-form-input kit-schedule-time">`), _tmpl$21$3 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label>Day</label><select class="kit-form-input kit-schedule-time">`), _tmpl$22$3 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label>Time</label><input type=time class="kit-form-input kit-schedule-time">`), _tmpl$23$3 = /* @__PURE__ */ template(`<div class=sched-edit-backdrop><div class=sched-edit-panel><div class=sched-edit-header><span class=sched-edit-title>Edit schedule</span><span class=sched-edit-job-name></span></div><div class=kit-schedule-types></div><div class=sched-edit-actions><button class=kit-back-btn type=button>Cancel</button><button class=agent-primary-button type=button>Save`), _tmpl$24$3 = /* @__PURE__ */ template(`<section class=automation-panel>`), _tmpl$25$2 = /* @__PURE__ */ template(`<div class=kit-empty-state><div class=kit-empty-title>No skills imported</div><p class=kit-empty-copy>Import a skill definition to make it available to the agent.</p><div class=kit-empty-actions><button class=kit-install-btn type=button>Create</button><button class=kit-install-btn type=button>Import`), _tmpl$26$2 = /* @__PURE__ */ template(`<div class=kit-card-meta>~<!> min`), _tmpl$27$2 = /* @__PURE__ */ template(`<button class=kit-card-action-btn type=button>`), _tmpl$28$2 = /* @__PURE__ */ template(`<button class=kit-remove-btn type=button>`), _tmpl$29$2 = /* @__PURE__ */ template(`<div class=kit-card role=button tabindex=0><span class=kit-card-icon aria-hidden=true></span><div class=kit-card-body><div class=kit-card-name></div><div class=kit-card-desc>`), _tmpl$30$1 = /* @__PURE__ */ template(`<div class=kit-sched-next>Next: `), _tmpl$31$1 = /* @__PURE__ */ template(`<div class=sched-context-menu><button class=sched-ctx-item type=button>Edit task</button><button class=sched-ctx-item type=button>Edit schedule</button><div class=sched-ctx-divider></div><button class=sched-ctx-item type=button></button><button class="sched-ctx-item sched-ctx-danger"type=button>Delete`), _tmpl$32$1 = /* @__PURE__ */ template(`<div class=kit-sched-card><span class="kit-card-icon kit-sched-icon"aria-hidden=true></span><div class=kit-sched-body><div class=kit-sched-name></div><div class=kit-sched-meta></div></div><div class=kit-sched-actions><button class=kit-sched-toggle type=button></button><button class=kit-remove-btn type=button title="Delete schedule"aria-label="Delete schedule">×`), _tmpl$33$1 = /* @__PURE__ */ template(`<div class=kit-activity-output>`), _tmpl$34$1 = /* @__PURE__ */ template(`<div class=kit-activity-card><div class=kit-activity-header><div class=kit-activity-title><span class="kit-card-icon kit-sched-icon"aria-hidden=true></span><div class=kit-activity-title-copy><div class=kit-sched-name></div><div class=kit-activity-time></div></div></div><span class=kit-activity-badge>`), _tmpl$35$1 = /* @__PURE__ */ template(`<div class="kit-activity-output kit-activity-placeholder">`), _tmpl$36$1 = /* @__PURE__ */ template(`<span class=kit-form-required aria-hidden=true>*`), _tmpl$37$1 = /* @__PURE__ */ template(`<textarea class=kit-form-textarea rows=3>`), _tmpl$38$1 = /* @__PURE__ */ template(`<p class=kit-form-hint>`), _tmpl$39$1 = /* @__PURE__ */ template(`<div class=kit-form-field><label class=kit-form-label>`), _tmpl$40$1 = /* @__PURE__ */ template(`<input class=kit-form-input>`), _tmpl$41$1 = /* @__PURE__ */ template(`<span class=kit-run-spinner aria-hidden=true>`), _tmpl$42$1 = /* @__PURE__ */ template(`<label class=kit-schedule-type-option><input type=radio name=sched-type>`), _tmpl$43$1 = /* @__PURE__ */ template(`<option>`), _tmpl$44$1 = /* @__PURE__ */ template(`<label class=kit-schedule-type-option><input type=radio name=edit-sched-type>`);
8086
+ var _tmpl$$e = /* @__PURE__ */ template(`<div class=kit-upsell><div class=kit-upsell-icon aria-hidden=true></div><p class=kit-upsell-title>Vessel Premium</p><p class=kit-upsell-body>Skills are a premium feature. Upgrade to import, inspect, and run reusable agent capabilities.</p><button class="agent-primary-button kit-upsell-btn"type=button>Start 7-day free trial — $5.99/mo after`), _tmpl$2$e = /* @__PURE__ */ template(`<div class=kit-list-header><span class=agent-panel-title>Skills</span><div class=kit-list-header-actions><span class=kit-list-count> skills</span><button class=kit-install-btn type=button title="Create a skill from text"aria-label="Create skill">Create</button><button class=kit-install-btn type=button title="Import a skill from a .skill.json file"aria-label="Import skill">Import`), _tmpl$3$c = /* @__PURE__ */ template(`<div class=kit-install-error><span></span><button class=kit-install-error-dismiss type=button aria-label=Dismiss>×`), _tmpl$4$b = /* @__PURE__ */ template(`<div class=kit-create-panel><div class=kit-create-header><span class=kit-create-title></span><button class=kit-install-error-dismiss type=button aria-label="Close create skill">×</button></div><input class=kit-form-input type=text placeholder="Skill name"><input class=kit-form-input type=text placeholder="Short description"><textarea class=kit-create-textarea placeholder="Write the skill instructions the agent should follow. Example: Research the topic carefully, compare trustworthy sources, then summarize the answer with links."></textarea><div class=kit-create-actions><button class=kit-back-btn type=button>Reset</button><button class=kit-back-btn type=button>Cancel</button><button class="agent-primary-button kit-create-save"type=button>`), _tmpl$5$b = /* @__PURE__ */ template(`<div class=kit-list>`), _tmpl$6$b = /* @__PURE__ */ template(`<div class=kit-sched-section><span>Scheduled</span><span class=kit-list-count>`), _tmpl$7$9 = /* @__PURE__ */ template(`<div class=kit-sched-list>`), _tmpl$8$8 = /* @__PURE__ */ template(`<div class=kit-sched-section><span>Recent Activity</span><span class=kit-list-count>`), _tmpl$9$7 = /* @__PURE__ */ template(`<div class=kit-activity-list>`), _tmpl$0$5 = /* @__PURE__ */ template(`<div class=kit-form-header><button class=kit-back-btn type=button title="Back to skills"><svg width=14 height=14 viewBox="0 0 14 14"fill=none aria-hidden=true><path d="M9 11L5 7l4-4"stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round></path></svg>Back</button><div class=kit-form-title>`), _tmpl$1$5 = /* @__PURE__ */ template(`<p class=kit-form-desc>`), _tmpl$10$5 = /* @__PURE__ */ template(`<div class=kit-form-fields>`), _tmpl$11$5 = /* @__PURE__ */ template(`<p class=kit-form-estimate>Estimated run time: ~<!> min`), _tmpl$12$5 = /* @__PURE__ */ template(`<button class="agent-primary-button kit-run-btn"type=button>`), _tmpl$13$5 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label class=kit-form-label>Date &amp; time</label><input class=kit-form-input type=datetime-local>`), _tmpl$14$5 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label class=kit-form-label>Time of day</label><input class="kit-form-input kit-schedule-time"type=time>`), _tmpl$15$5 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label class=kit-form-label>Day</label><select class=kit-form-input>`), _tmpl$16$4 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label class=kit-form-label>Time</label><input class="kit-form-input kit-schedule-time"type=time>`), _tmpl$17$4 = /* @__PURE__ */ template(`<p class=kit-schedule-error>`), _tmpl$18$4 = /* @__PURE__ */ template(`<div class=kit-schedule-form><div class=kit-schedule-types></div><p class=kit-schedule-note>Schedules run only while Vessel is open. Missed runs are skipped.</p><button class="agent-primary-button kit-schedule-btn"type=button>`), _tmpl$19$4 = /* @__PURE__ */ template(`<div class=kit-schedule-section><label class=kit-schedule-toggle><input type=checkbox>Schedule for later`), _tmpl$20$4 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label>Run at</label><input type=datetime-local class="kit-form-input kit-schedule-time">`), _tmpl$21$4 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label>Day</label><select class="kit-form-input kit-schedule-time">`), _tmpl$22$4 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label>Time</label><input type=time class="kit-form-input kit-schedule-time">`), _tmpl$23$4 = /* @__PURE__ */ template(`<div class=sched-edit-backdrop><div class=sched-edit-panel><div class=sched-edit-header><span class=sched-edit-title>Edit schedule</span><span class=sched-edit-job-name></span></div><div class=kit-schedule-types></div><div class=sched-edit-actions><button class=kit-back-btn type=button>Cancel</button><button class=agent-primary-button type=button>Save`), _tmpl$24$4 = /* @__PURE__ */ template(`<section class=automation-panel>`), _tmpl$25$3 = /* @__PURE__ */ template(`<div class=kit-empty-state><div class=kit-empty-title>No skills imported</div><p class=kit-empty-copy>Import a skill definition to make it available to the agent.</p><div class=kit-empty-actions><button class=kit-install-btn type=button>Create</button><button class=kit-install-btn type=button>Import`), _tmpl$26$3 = /* @__PURE__ */ template(`<div class=kit-card-meta>~<!> min`), _tmpl$27$2 = /* @__PURE__ */ template(`<button class=kit-card-action-btn type=button>`), _tmpl$28$2 = /* @__PURE__ */ template(`<button class=kit-remove-btn type=button>`), _tmpl$29$2 = /* @__PURE__ */ template(`<div class=kit-card role=button tabindex=0><span class=kit-card-icon aria-hidden=true></span><div class=kit-card-body><div class=kit-card-name></div><div class=kit-card-desc>`), _tmpl$30$1 = /* @__PURE__ */ template(`<div class=kit-sched-next>Next: `), _tmpl$31$1 = /* @__PURE__ */ template(`<div class=sched-context-menu><button class=sched-ctx-item type=button>Edit task</button><button class=sched-ctx-item type=button>Edit schedule</button><div class=sched-ctx-divider></div><button class=sched-ctx-item type=button></button><button class="sched-ctx-item sched-ctx-danger"type=button>Delete`), _tmpl$32$1 = /* @__PURE__ */ template(`<div class=kit-sched-card><span class="kit-card-icon kit-sched-icon"aria-hidden=true></span><div class=kit-sched-body><div class=kit-sched-name></div><div class=kit-sched-meta></div></div><div class=kit-sched-actions><button class=kit-sched-toggle type=button></button><button class=kit-remove-btn type=button title="Delete schedule"aria-label="Delete schedule">×`), _tmpl$33$1 = /* @__PURE__ */ template(`<div class=kit-activity-output>`), _tmpl$34$1 = /* @__PURE__ */ template(`<div class=kit-activity-card><div class=kit-activity-header><div class=kit-activity-title><span class="kit-card-icon kit-sched-icon"aria-hidden=true></span><div class=kit-activity-title-copy><div class=kit-sched-name></div><div class=kit-activity-time></div></div></div><span class=kit-activity-badge>`), _tmpl$35$1 = /* @__PURE__ */ template(`<div class="kit-activity-output kit-activity-placeholder">`), _tmpl$36$1 = /* @__PURE__ */ template(`<span class=kit-form-required aria-hidden=true>*`), _tmpl$37$1 = /* @__PURE__ */ template(`<textarea class=kit-form-textarea rows=3>`), _tmpl$38$1 = /* @__PURE__ */ template(`<p class=kit-form-hint>`), _tmpl$39$1 = /* @__PURE__ */ template(`<div class=kit-form-field><label class=kit-form-label>`), _tmpl$40$1 = /* @__PURE__ */ template(`<input class=kit-form-input>`), _tmpl$41$1 = /* @__PURE__ */ template(`<span class=kit-run-spinner aria-hidden=true>`), _tmpl$42$1 = /* @__PURE__ */ template(`<label class=kit-schedule-type-option><input type=radio name=sched-type>`), _tmpl$43$1 = /* @__PURE__ */ template(`<option>`), _tmpl$44$1 = /* @__PURE__ */ template(`<label class=kit-schedule-type-option><input type=radio name=edit-sched-type>`);
8010
8087
  const ICON_MAP = {
8011
8088
  BookOpen: book_open_default,
8012
8089
  Tag: tag_default,
@@ -8437,7 +8514,7 @@ const AutomationTab = (props) => {
8437
8514
  };
8438
8515
  const timeValue = () => `${String(schedHour()).padStart(2, "0")}:${String(schedMinute()).padStart(2, "0")}`;
8439
8516
  return (() => {
8440
- var _el$ = _tmpl$24$3();
8517
+ var _el$ = _tmpl$24$4();
8441
8518
  insert(_el$, createComponent(Show, {
8442
8519
  get when() {
8443
8520
  return memo(() => !!!premiumData.loading)() && !isPremium();
@@ -8521,7 +8598,7 @@ const AutomationTab = (props) => {
8521
8598
  },
8522
8599
  get fallback() {
8523
8600
  return (() => {
8524
- var _el$90 = _tmpl$25$2(), _el$91 = _el$90.firstChild, _el$92 = _el$91.nextSibling, _el$93 = _el$92.nextSibling, _el$94 = _el$93.firstChild, _el$95 = _el$94.firstChild, _el$96 = _el$94.nextSibling, _el$97 = _el$96.firstChild;
8601
+ var _el$90 = _tmpl$25$3(), _el$91 = _el$90.firstChild, _el$92 = _el$91.nextSibling, _el$93 = _el$92.nextSibling, _el$94 = _el$93.firstChild, _el$95 = _el$94.firstChild, _el$96 = _el$94.nextSibling, _el$97 = _el$96.firstChild;
8525
8602
  _el$94.$$click = openCreateEditor;
8526
8603
  insert(_el$94, createComponent(plus_default, {
8527
8604
  size: 12,
@@ -8558,7 +8635,7 @@ const AutomationTab = (props) => {
8558
8635
  return kit.estimatedMinutes !== void 0;
8559
8636
  },
8560
8637
  get children() {
8561
- var _el$103 = _tmpl$26$2(), _el$104 = _el$103.firstChild, _el$106 = _el$104.nextSibling;
8638
+ var _el$103 = _tmpl$26$3(), _el$104 = _el$103.firstChild, _el$106 = _el$104.nextSibling;
8562
8639
  _el$106.nextSibling;
8563
8640
  insert(_el$103, () => kit.estimatedMinutes, _el$106);
8564
8641
  return _el$103;
@@ -8895,7 +8972,7 @@ const AutomationTab = (props) => {
8895
8972
  createRenderEffect(() => _el$49.disabled = !canRun());
8896
8973
  return _el$49;
8897
8974
  })(), (() => {
8898
- var _el$50 = _tmpl$19$3(), _el$51 = _el$50.firstChild, _el$52 = _el$51.firstChild, _el$53 = _el$52.nextSibling;
8975
+ var _el$50 = _tmpl$19$4(), _el$51 = _el$50.firstChild, _el$52 = _el$51.firstChild, _el$53 = _el$52.nextSibling;
8899
8976
  _el$52.addEventListener("change", (e) => setScheduleEnabled(e.currentTarget.checked));
8900
8977
  insert(_el$51, createComponent(clock_default, {
8901
8978
  size: 13
@@ -8905,7 +8982,7 @@ const AutomationTab = (props) => {
8905
8982
  return scheduleEnabled();
8906
8983
  },
8907
8984
  get children() {
8908
- var _el$54 = _tmpl$18$3(), _el$55 = _el$54.firstChild, _el$69 = _el$55.nextSibling, _el$70 = _el$69.nextSibling;
8985
+ var _el$54 = _tmpl$18$4(), _el$55 = _el$54.firstChild, _el$69 = _el$55.nextSibling, _el$70 = _el$69.nextSibling;
8909
8986
  insert(_el$55, createComponent(For, {
8910
8987
  each: ["once", "hourly", "daily", "weekly"],
8911
8988
  children: (type) => (() => {
@@ -8922,7 +8999,7 @@ const AutomationTab = (props) => {
8922
8999
  return schedType() === "once";
8923
9000
  },
8924
9001
  get children() {
8925
- var _el$56 = _tmpl$13$4(), _el$57 = _el$56.firstChild, _el$58 = _el$57.nextSibling;
9002
+ var _el$56 = _tmpl$13$5(), _el$57 = _el$56.firstChild, _el$58 = _el$57.nextSibling;
8926
9003
  _el$58.$$input = (e) => setSchedRunAt(e.currentTarget.value);
8927
9004
  createRenderEffect(() => _el$58.value = schedRunAt());
8928
9005
  return _el$56;
@@ -8933,7 +9010,7 @@ const AutomationTab = (props) => {
8933
9010
  return schedType() === "daily";
8934
9011
  },
8935
9012
  get children() {
8936
- var _el$59 = _tmpl$14$4(), _el$60 = _el$59.firstChild, _el$61 = _el$60.nextSibling;
9013
+ var _el$59 = _tmpl$14$5(), _el$60 = _el$59.firstChild, _el$61 = _el$60.nextSibling;
8937
9014
  _el$61.$$input = (e) => parseTimeInput(e.currentTarget.value);
8938
9015
  createRenderEffect(() => _el$61.value = timeValue());
8939
9016
  return _el$59;
@@ -8945,7 +9022,7 @@ const AutomationTab = (props) => {
8945
9022
  },
8946
9023
  get children() {
8947
9024
  return [(() => {
8948
- var _el$62 = _tmpl$15$4(), _el$63 = _el$62.firstChild, _el$64 = _el$63.nextSibling;
9025
+ var _el$62 = _tmpl$15$5(), _el$63 = _el$62.firstChild, _el$64 = _el$63.nextSibling;
8949
9026
  _el$64.addEventListener("change", (e) => setSchedDayOfWeek(Number(e.currentTarget.value)));
8950
9027
  insert(_el$64, createComponent(For, {
8951
9028
  each: DAY_NAMES,
@@ -8959,7 +9036,7 @@ const AutomationTab = (props) => {
8959
9036
  createRenderEffect(() => _el$64.value = schedDayOfWeek());
8960
9037
  return _el$62;
8961
9038
  })(), (() => {
8962
- var _el$65 = _tmpl$16$3(), _el$66 = _el$65.firstChild, _el$67 = _el$66.nextSibling;
9039
+ var _el$65 = _tmpl$16$4(), _el$66 = _el$65.firstChild, _el$67 = _el$66.nextSibling;
8963
9040
  _el$67.$$input = (e) => parseTimeInput(e.currentTarget.value);
8964
9041
  createRenderEffect(() => _el$67.value = timeValue());
8965
9042
  return _el$65;
@@ -8971,7 +9048,7 @@ const AutomationTab = (props) => {
8971
9048
  return scheduleError() !== null;
8972
9049
  },
8973
9050
  get children() {
8974
- var _el$68 = _tmpl$17$3();
9051
+ var _el$68 = _tmpl$17$4();
8975
9052
  insert(_el$68, scheduleError);
8976
9053
  return _el$68;
8977
9054
  }
@@ -8992,7 +9069,7 @@ const AutomationTab = (props) => {
8992
9069
  return editingJob() !== null;
8993
9070
  },
8994
9071
  get children() {
8995
- var _el$71 = _tmpl$23$3(), _el$72 = _el$71.firstChild, _el$73 = _el$72.firstChild, _el$74 = _el$73.firstChild, _el$75 = _el$74.nextSibling, _el$76 = _el$73.nextSibling, _el$87 = _el$76.nextSibling, _el$88 = _el$87.firstChild, _el$89 = _el$88.nextSibling;
9072
+ var _el$71 = _tmpl$23$4(), _el$72 = _el$71.firstChild, _el$73 = _el$72.firstChild, _el$74 = _el$73.firstChild, _el$75 = _el$74.nextSibling, _el$76 = _el$73.nextSibling, _el$87 = _el$76.nextSibling, _el$88 = _el$87.firstChild, _el$89 = _el$88.nextSibling;
8996
9073
  _el$71.$$click = () => setEditingJob(null);
8997
9074
  _el$72.$$click = (e) => e.stopPropagation();
8998
9075
  insert(_el$75, () => editingJob().kitName);
@@ -9012,7 +9089,7 @@ const AutomationTab = (props) => {
9012
9089
  return editType() === "once";
9013
9090
  },
9014
9091
  get children() {
9015
- var _el$77 = _tmpl$20$3(), _el$78 = _el$77.firstChild, _el$79 = _el$78.nextSibling;
9092
+ var _el$77 = _tmpl$20$4(), _el$78 = _el$77.firstChild, _el$79 = _el$78.nextSibling;
9016
9093
  _el$79.$$input = (e) => setEditRunAt(e.currentTarget.value);
9017
9094
  createRenderEffect(() => _el$79.value = editRunAt());
9018
9095
  return _el$77;
@@ -9028,7 +9105,7 @@ const AutomationTab = (props) => {
9028
9105
  return editType() === "weekly";
9029
9106
  },
9030
9107
  get children() {
9031
- var _el$80 = _tmpl$21$3(), _el$81 = _el$80.firstChild, _el$82 = _el$81.nextSibling;
9108
+ var _el$80 = _tmpl$21$4(), _el$81 = _el$80.firstChild, _el$82 = _el$81.nextSibling;
9032
9109
  _el$82.addEventListener("change", (e) => setEditDayOfWeek(Number(e.currentTarget.value)));
9033
9110
  insert(_el$82, createComponent(For, {
9034
9111
  each: DAY_NAMES,
@@ -9043,7 +9120,7 @@ const AutomationTab = (props) => {
9043
9120
  return _el$80;
9044
9121
  }
9045
9122
  }), (() => {
9046
- var _el$83 = _tmpl$22$3(), _el$84 = _el$83.firstChild, _el$85 = _el$84.nextSibling;
9123
+ var _el$83 = _tmpl$22$4(), _el$84 = _el$83.firstChild, _el$85 = _el$84.nextSibling;
9047
9124
  _el$85.$$input = (e) => parseEditTimeInput(e.currentTarget.value);
9048
9125
  createRenderEffect(() => _el$85.value = editTimeValue());
9049
9126
  return _el$83;
@@ -9055,7 +9132,7 @@ const AutomationTab = (props) => {
9055
9132
  return editError();
9056
9133
  },
9057
9134
  get children() {
9058
- var _el$86 = _tmpl$17$3();
9135
+ var _el$86 = _tmpl$17$4();
9059
9136
  insert(_el$86, editError);
9060
9137
  return _el$86;
9061
9138
  }
@@ -9146,7 +9223,7 @@ function useResearch() {
9146
9223
  }
9147
9224
  };
9148
9225
  }
9149
- var _tmpl$$d = /* @__PURE__ */ template(`<div class=markdown-content>`), _tmpl$2$d = /* @__PURE__ */ template(`<div>`), _tmpl$3$b = /* @__PURE__ */ template(`<div class=research-premium-notice><span class=premium-badge>Premium</span> Brief is free; full research and export require Vessel Premium.`), _tmpl$4$a = /* @__PURE__ */ template(`<div class=research-brief-status>`), _tmpl$5$a = /* @__PURE__ */ template(`<div class=research-idle><h3>Research Desk</h3><p>Start with a topic. Vessel will shape it into a focused brief, draft a research plan, and then send sub-agents after the strongest sources.</p><form class=research-topic-form><textarea class=research-topic-input rows=3 placeholder="What should we research?"></textarea><button class=research-start-btn type=submit>Start Briefing`), _tmpl$6$a = /* @__PURE__ */ template(`<div class=research-brief-loading role=status aria-live=polite><span class=research-spinner aria-hidden=true></span><div><div class=research-loading-title>Brief started</div><div class=research-loading-copy>Preparing the first briefing question...`), _tmpl$7$8 = /* @__PURE__ */ template(`<div class="research-brief-status thinking"role=status aria-live=polite><span class=research-spinner aria-hidden=true></span><span>Thinking...`), _tmpl$8$7 = /* @__PURE__ */ template(`<div class=research-brief-status> queued`), _tmpl$9$6 = /* @__PURE__ */ template(`<div class=research-phase><h3>Briefing</h3><p>Work through the brief here. Once the assistant has enough context, turn it into a research plan.</p><div class=research-brief-thread></div><form class=research-brief-form><textarea class=research-brief-input rows=2></textarea><button type=submit></button></form><div class=phase-controls><button>Build Research Plan</button><button class=secondary>Cancel`), _tmpl$0$4 = /* @__PURE__ */ template(`<div class=research-phase><h3>Planning Research</h3><p>Creating Research Objectives based on your brief...`), _tmpl$1$4 = /* @__PURE__ */ template(`<div class=research-phase><h3>Research Objectives`), _tmpl$10$4 = /* @__PURE__ */ template(`<div class=research-thread-progress-list>`), _tmpl$11$4 = /* @__PURE__ */ template(`<button>Switch to Walk-Away`), _tmpl$12$4 = /* @__PURE__ */ template(`<button>Switch to Interactive`), _tmpl$13$3 = /* @__PURE__ */ template(`<div class=research-phase><h3>Researching</h3><div class=research-active-card role=status aria-live=polite><span class="research-spinner research-active-spinner"aria-hidden=true></span><div class=research-active-copy><div class=research-active-title>Agents are working</div><p> of <!> threads complete</p></div></div><div class=phase-controls><button class=secondary>Stop Research</button><button>Stop Research &amp; Synthesize Current Findings`), _tmpl$14$3 = /* @__PURE__ */ template(`<div class=research-phase><h3>Synthesizing Report</h3><p>Compiling findings into the Research Report...`), _tmpl$15$3 = /* @__PURE__ */ template(`<div class=research-phase><h3>Report Ready`), _tmpl$16$2 = /* @__PURE__ */ template(`<div class=research-desk>`), _tmpl$17$2 = /* @__PURE__ */ template(`<div class="research-quick-replies inline"aria-label="Suggested briefing responses">`), _tmpl$18$2 = /* @__PURE__ */ template(`<button type=button class=research-quick-reply>`), _tmpl$19$2 = /* @__PURE__ */ template(`<div class=objectives-card><section class=objectives-section><p class=objectives-label>Question</p><p class=objectives-question></p></section><section class=objectives-section><div class=objectives-section-header><p class=objectives-label>Research Threads</p><span></span></div><ul class=objectives-thread-list></ul></section><section class="objectives-section objectives-settings"><label class=mode-toggle><input type=checkbox><span>Walk-away mode (notified when done)</span></label><label class=traces-toggle><input type=checkbox><span>Include agent traces with report</span></label></section><div class=phase-controls><button>Start Research</button><button class=secondary>Cancel`), _tmpl$20$2 = /* @__PURE__ */ template(`<li><span></span><small> sources`), _tmpl$21$2 = /* @__PURE__ */ template(`<section class=objectives-section><p class=objectives-label>Excluded Sources</p><div class=objectives-source-list>`), _tmpl$22$2 = /* @__PURE__ */ template(`<span>`), _tmpl$23$2 = /* @__PURE__ */ template(`<div><span></span><small>`), _tmpl$24$2 = /* @__PURE__ */ template(`<div class=report-card><h4></h4><p>...</p><p> sources cited</p><button>Export as Markdown</button><button class=secondary>New Research`);
9226
+ var _tmpl$$d = /* @__PURE__ */ template(`<div class=markdown-content>`), _tmpl$2$d = /* @__PURE__ */ template(`<div>`), _tmpl$3$b = /* @__PURE__ */ template(`<div class=research-premium-notice><span class=premium-badge>Premium</span> Brief is free; full research and export require Vessel Premium.`), _tmpl$4$a = /* @__PURE__ */ template(`<div class=research-brief-status>`), _tmpl$5$a = /* @__PURE__ */ template(`<div class=research-idle><h3>Research Desk</h3><p>Start with a topic. Vessel will shape it into a focused brief, draft a research plan, and then send sub-agents after the strongest sources.</p><form class=research-topic-form><textarea class=research-topic-input rows=3 placeholder="What should we research?"></textarea><button class=research-start-btn type=submit>Start Briefing`), _tmpl$6$a = /* @__PURE__ */ template(`<div class=research-brief-loading role=status aria-live=polite><span class=research-spinner aria-hidden=true></span><div><div class=research-loading-title>Brief started</div><div class=research-loading-copy>Preparing the first briefing question...`), _tmpl$7$8 = /* @__PURE__ */ template(`<div class="research-brief-status thinking"role=status aria-live=polite><span class=research-spinner aria-hidden=true></span><span>Thinking...`), _tmpl$8$7 = /* @__PURE__ */ template(`<div class=research-brief-status> queued`), _tmpl$9$6 = /* @__PURE__ */ template(`<div class=research-phase><h3>Briefing</h3><p>Work through the brief here. Once the assistant has enough context, turn it into a research plan.</p><div class=research-brief-thread></div><form class=research-brief-form><textarea class=research-brief-input rows=2></textarea><button type=submit></button></form><div class=phase-controls><button>Build Research Plan</button><button class=secondary>Cancel`), _tmpl$0$4 = /* @__PURE__ */ template(`<div class=research-phase><h3>Planning Research</h3><p>Creating Research Objectives based on your brief...`), _tmpl$1$4 = /* @__PURE__ */ template(`<div class=research-phase><h3>Research Objectives`), _tmpl$10$4 = /* @__PURE__ */ template(`<div class=research-thread-progress-list>`), _tmpl$11$4 = /* @__PURE__ */ template(`<button>Switch to Walk-Away`), _tmpl$12$4 = /* @__PURE__ */ template(`<button>Switch to Interactive`), _tmpl$13$4 = /* @__PURE__ */ template(`<div class=research-phase><h3>Researching</h3><div class=research-active-card role=status aria-live=polite><span class="research-spinner research-active-spinner"aria-hidden=true></span><div class=research-active-copy><div class=research-active-title>Agents are working</div><p> of <!> threads complete</p></div></div><div class=phase-controls><button class=secondary>Stop Research</button><button>Stop Research &amp; Synthesize Current Findings`), _tmpl$14$4 = /* @__PURE__ */ template(`<div class=research-phase><h3>Synthesizing Report</h3><p>Compiling findings into the Research Report...`), _tmpl$15$4 = /* @__PURE__ */ template(`<div class=research-phase><h3>Report Ready`), _tmpl$16$3 = /* @__PURE__ */ template(`<div class=research-desk>`), _tmpl$17$3 = /* @__PURE__ */ template(`<div class="research-quick-replies inline"aria-label="Suggested briefing responses">`), _tmpl$18$3 = /* @__PURE__ */ template(`<button type=button class=research-quick-reply>`), _tmpl$19$3 = /* @__PURE__ */ template(`<div class=objectives-card><section class=objectives-section><p class=objectives-label>Question</p><p class=objectives-question></p></section><section class=objectives-section><div class=objectives-section-header><p class=objectives-label>Research Threads</p><span></span></div><ul class=objectives-thread-list></ul></section><section class="objectives-section objectives-settings"><label class=mode-toggle><input type=checkbox><span>Walk-away mode (notified when done)</span></label><label class=traces-toggle><input type=checkbox><span>Include agent traces with report</span></label></section><div class=phase-controls><button>Start Research</button><button class=secondary>Cancel`), _tmpl$20$3 = /* @__PURE__ */ template(`<li><span></span><small> sources`), _tmpl$21$3 = /* @__PURE__ */ template(`<section class=objectives-section><p class=objectives-label>Excluded Sources</p><div class=objectives-source-list>`), _tmpl$22$3 = /* @__PURE__ */ template(`<span>`), _tmpl$23$3 = /* @__PURE__ */ template(`<div><span></span><small>`), _tmpl$24$3 = /* @__PURE__ */ template(`<div class=report-card><h4></h4><p>...</p><p> sources cited</p><button>Export as Markdown</button><button class=secondary>New Research`);
9150
9227
  const ResearchBriefMarkdown = (props) => {
9151
9228
  const html2 = createMemo(() => renderMarkdown(props.content));
9152
9229
  return (() => {
@@ -9481,7 +9558,7 @@ const ResearchDesk = () => {
9481
9558
  }
9482
9559
  };
9483
9560
  return (() => {
9484
- var _el$3 = _tmpl$16$2();
9561
+ var _el$3 = _tmpl$16$3();
9485
9562
  insert(_el$3, createComponent(Switch, {
9486
9563
  get children() {
9487
9564
  return [createComponent(Match, {
@@ -9553,13 +9630,13 @@ const ResearchDesk = () => {
9553
9630
  return memo(() => message.role === "assistant")() && shouldShowQuickRepliesForMessage(message.content);
9554
9631
  },
9555
9632
  get children() {
9556
- var _el$46 = _tmpl$17$2();
9633
+ var _el$46 = _tmpl$17$3();
9557
9634
  insert(_el$46, createComponent(For, {
9558
9635
  get each() {
9559
9636
  return quickReplies();
9560
9637
  },
9561
9638
  children: (option) => (() => {
9562
- var _el$47 = _tmpl$18$2();
9639
+ var _el$47 = _tmpl$18$3();
9563
9640
  _el$47.$$click = () => void sendBriefMessage(option.response);
9564
9641
  insert(_el$47, () => option.label);
9565
9642
  return _el$47;
@@ -9654,11 +9731,11 @@ const ResearchDesk = () => {
9654
9731
  return state().objectives;
9655
9732
  },
9656
9733
  children: (obj) => (() => {
9657
- var _el$48 = _tmpl$19$2(), _el$49 = _el$48.firstChild, _el$50 = _el$49.firstChild, _el$51 = _el$50.nextSibling, _el$52 = _el$49.nextSibling, _el$53 = _el$52.firstChild, _el$54 = _el$53.firstChild, _el$55 = _el$54.nextSibling, _el$56 = _el$53.nextSibling, _el$57 = _el$52.nextSibling, _el$58 = _el$57.firstChild, _el$59 = _el$58.firstChild, _el$60 = _el$58.nextSibling, _el$61 = _el$60.firstChild, _el$62 = _el$57.nextSibling, _el$63 = _el$62.firstChild, _el$64 = _el$63.nextSibling;
9734
+ var _el$48 = _tmpl$19$3(), _el$49 = _el$48.firstChild, _el$50 = _el$49.firstChild, _el$51 = _el$50.nextSibling, _el$52 = _el$49.nextSibling, _el$53 = _el$52.firstChild, _el$54 = _el$53.firstChild, _el$55 = _el$54.nextSibling, _el$56 = _el$53.nextSibling, _el$57 = _el$52.nextSibling, _el$58 = _el$57.firstChild, _el$59 = _el$58.firstChild, _el$60 = _el$58.nextSibling, _el$61 = _el$60.firstChild, _el$62 = _el$57.nextSibling, _el$63 = _el$62.firstChild, _el$64 = _el$63.nextSibling;
9658
9735
  insert(_el$51, () => obj().researchQuestion);
9659
9736
  insert(_el$55, () => obj().threads.length);
9660
9737
  insert(_el$56, () => obj().threads.map((t) => (() => {
9661
- var _el$65 = _tmpl$20$2(), _el$66 = _el$65.firstChild, _el$67 = _el$66.nextSibling, _el$68 = _el$67.firstChild;
9738
+ var _el$65 = _tmpl$20$3(), _el$66 = _el$65.firstChild, _el$67 = _el$66.nextSibling, _el$68 = _el$67.firstChild;
9662
9739
  insert(_el$66, () => t.label);
9663
9740
  insert(_el$67, () => t.sourceBudget, _el$68);
9664
9741
  return _el$65;
@@ -9672,13 +9749,13 @@ const ResearchDesk = () => {
9672
9749
  return blockedDomains().length > 0;
9673
9750
  },
9674
9751
  get children() {
9675
- var _el$69 = _tmpl$21$2(), _el$70 = _el$69.firstChild, _el$71 = _el$70.nextSibling;
9752
+ var _el$69 = _tmpl$21$3(), _el$70 = _el$69.firstChild, _el$71 = _el$70.nextSibling;
9676
9753
  insert(_el$71, createComponent(For, {
9677
9754
  get each() {
9678
9755
  return blockedDomains();
9679
9756
  },
9680
9757
  children: (domain) => (() => {
9681
- var _el$72 = _tmpl$22$2();
9758
+ var _el$72 = _tmpl$22$3();
9682
9759
  insert(_el$72, domain);
9683
9760
  return _el$72;
9684
9761
  })()
@@ -9706,7 +9783,7 @@ const ResearchDesk = () => {
9706
9783
  return state().phase === "executing";
9707
9784
  },
9708
9785
  get children() {
9709
- var _el$27 = _tmpl$13$3(), _el$28 = _el$27.firstChild, _el$29 = _el$28.nextSibling, _el$30 = _el$29.firstChild, _el$31 = _el$30.nextSibling, _el$32 = _el$31.firstChild, _el$33 = _el$32.nextSibling, _el$34 = _el$33.firstChild, _el$36 = _el$34.nextSibling;
9786
+ var _el$27 = _tmpl$13$4(), _el$28 = _el$27.firstChild, _el$29 = _el$28.nextSibling, _el$30 = _el$29.firstChild, _el$31 = _el$30.nextSibling, _el$32 = _el$31.firstChild, _el$33 = _el$32.nextSibling, _el$34 = _el$33.firstChild, _el$36 = _el$34.nextSibling;
9710
9787
  _el$36.nextSibling;
9711
9788
  var _el$38 = _el$29.nextSibling, _el$39 = _el$38.firstChild, _el$40 = _el$39.nextSibling;
9712
9789
  insert(_el$33, () => researchProgress().complete, _el$34);
@@ -9730,7 +9807,7 @@ const ResearchDesk = () => {
9730
9807
  return researchProgress().progress;
9731
9808
  },
9732
9809
  children: (thread) => (() => {
9733
- var _el$73 = _tmpl$23$2(), _el$74 = _el$73.firstChild, _el$75 = _el$74.nextSibling;
9810
+ var _el$73 = _tmpl$23$3(), _el$74 = _el$73.firstChild, _el$75 = _el$74.nextSibling;
9734
9811
  insert(_el$74, () => thread.threadLabel);
9735
9812
  insert(_el$75, () => thread.message);
9736
9813
  createRenderEffect(() => className(_el$73, `research-thread-progress ${thread.status}`));
@@ -9769,21 +9846,21 @@ const ResearchDesk = () => {
9769
9846
  return state().phase === "synthesizing";
9770
9847
  },
9771
9848
  get children() {
9772
- return _tmpl$14$3();
9849
+ return _tmpl$14$4();
9773
9850
  }
9774
9851
  }), createComponent(Match, {
9775
9852
  get when() {
9776
9853
  return state().phase === "delivered";
9777
9854
  },
9778
9855
  get children() {
9779
- var _el$44 = _tmpl$15$3();
9856
+ var _el$44 = _tmpl$15$4();
9780
9857
  _el$44.firstChild;
9781
9858
  insert(_el$44, createComponent(Show, {
9782
9859
  get when() {
9783
9860
  return state().report;
9784
9861
  },
9785
9862
  children: (report) => (() => {
9786
- var _el$76 = _tmpl$24$2(), _el$77 = _el$76.firstChild, _el$78 = _el$77.nextSibling, _el$79 = _el$78.firstChild, _el$80 = _el$78.nextSibling, _el$81 = _el$80.firstChild, _el$82 = _el$80.nextSibling, _el$83 = _el$82.nextSibling;
9863
+ var _el$76 = _tmpl$24$3(), _el$77 = _el$76.firstChild, _el$78 = _el$77.nextSibling, _el$79 = _el$78.firstChild, _el$80 = _el$78.nextSibling, _el$81 = _el$80.firstChild, _el$82 = _el$80.nextSibling, _el$83 = _el$82.nextSibling;
9787
9864
  insert(_el$77, () => report().title);
9788
9865
  insert(_el$78, () => report().executiveSummary.slice(0, 300), _el$79);
9789
9866
  insert(_el$80, () => report().sourceIndex.length, _el$81);
@@ -9982,7 +10059,7 @@ const SidebarWindowControls = (props) => {
9982
10059
  };
9983
10060
  delegateEvents(["click"]);
9984
10061
  const vesselLogo = "" + new URL("vessel-logo-transparent-IT25qr-Z.png", import.meta.url).href;
9985
- var _tmpl$$a = /* @__PURE__ */ template(`<div class="message-content markdown-content">`), _tmpl$2$a = /* @__PURE__ */ template(`<div class=premium-inline-offer><div class=premium-inline-kicker>Vessel Premium</div><div class=premium-inline-title></div><p class=premium-inline-copy></p><div class=premium-inline-actions><button class="agent-primary-button premium-inline-primary"type=button>Start 7-day free trial — $5.99/mo after</button><button class="agent-control-button premium-inline-secondary"type=button>View details`), _tmpl$3$9 = /* @__PURE__ */ template(`<div class=sidebar-resize-handle>`), _tmpl$4$8 = /* @__PURE__ */ template(`<span class=sidebar-tab-badge>`), _tmpl$5$8 = /* @__PURE__ */ template(`<button class=agent-primary-button type=button>Undo last action`), _tmpl$6$8 = /* @__PURE__ */ template(`<div class=agent-section-title>Pending approvals`), _tmpl$7$6 = /* @__PURE__ */ template(`<button class=agent-section-toggle type=button>`), _tmpl$8$5 = /* @__PURE__ */ template(`<section class=agent-panel><div class=agent-panel-header><div><div class=agent-panel-title>Supervisor</div><div class=agent-panel-subtitle></div></div><span class=agent-status-pill></span></div><div class=agent-panel-controls><button class=agent-control-button type=button></button><button class=agent-control-button type=button>Restore session</button></div><div class=agent-muted></div><div class=agent-section-header><div class=agent-section-title>Recent actions`), _tmpl$9$4 = /* @__PURE__ */ template(`<span class=bookmark-status-pill>Saved`), _tmpl$0$3 = /* @__PURE__ */ template(`<div class=bookmark-export-message>`), _tmpl$1$3 = /* @__PURE__ */ template(`<div class=bookmark-save-body><div class=bookmark-export-actions><button class=bookmark-secondary-button type=button>Import HTML</button><button class=bookmark-secondary-button type=button>Import JSON`), _tmpl$10$3 = /* @__PURE__ */ template(`<div class=bookmark-save-card><div class=bookmark-current-title></div><div class=bookmark-current-url></div><div class=bookmark-save-controls><button class=bookmark-primary-button type=button>Save page</button></div><textarea class=bookmark-note-input placeholder="Optional note about why this matters"rows=2></textarea><textarea class=bookmark-note-input placeholder="Intent: what is this page for?"rows=1></textarea><textarea class=bookmark-note-input placeholder="Expected content: what should be here?"rows=1></textarea><input class=bookmark-input placeholder="Key fields (comma-separated)"><textarea class=bookmark-note-input placeholder="Agent hints (one key:value per line)"rows=2>`), _tmpl$11$3 = /* @__PURE__ */ template(`<section class=bookmark-panel><div class=bookmark-panel-header><div><div class=bookmark-panel-title>Bookmarks</div><div class=bookmark-panel-subtitle></div></div></div><input class="bookmark-input bookmark-search-input"placeholder="Search titles, URLs, notes, and folders"><div class=bookmark-export-card><div><div class=bookmark-panel-title>Export</div><div class=bookmark-panel-subtitle>Save browser-ready HTML or a full Vessel archive</div></div><div class=bookmark-export-actions><button class=bookmark-secondary-button type=button>Browser HTML</button><button class=bookmark-secondary-button type=button>HTML + notes</button><button class=bookmark-secondary-button type=button>Vessel JSON</button></div></div><div class=bookmark-import-shell><button class=bookmark-save-toggle type=button><span class=bookmark-save-toggle-copy><span class=bookmark-save-toggle-title>Import Bookmarks</span><span class=bookmark-save-toggle-subtitle>Import from HTML or Vessel JSON</span></span><span class=bookmark-save-toggle-caret aria-hidden=true>▾</span></button></div><div class=bookmark-save-shell><button class=bookmark-save-toggle type=button><span class=bookmark-save-toggle-copy><span class=bookmark-save-toggle-title>Save Current Page</span><span class=bookmark-save-toggle-subtitle>Manual bookmark save options</span></span><span class=bookmark-save-toggle-caret aria-hidden=true>▾</span></button></div><form class=bookmark-folder-create><div class=bookmark-folder-form-fields><input class=bookmark-input placeholder="Create a folder"><input class=bookmark-input placeholder="Optional one-line summary"></div><button class=bookmark-secondary-button type=submit>New folder</button></form><div class=bookmark-folder-list>`), _tmpl$12$3 = /* @__PURE__ */ template(`<div class=checkpoint-timeline>`), _tmpl$13$2 = /* @__PURE__ */ template(`<section class="agent-panel checkpoint-panel"><div class=agent-panel-header><div><div class=agent-panel-title>Checkpoints</div><div class=agent-panel-subtitle></div></div></div><div class=agent-panel-body><div class=agent-checkpoint-row><input class=agent-input placeholder="Checkpoint name"><textarea class=agent-textarea rows=2 placeholder="Optional note for this checkpoint"></textarea><button class=agent-primary-button type=button>Save checkpoint</button></div><div class=agent-section-title>Recent checkpoints`), _tmpl$14$2 = /* @__PURE__ */ template(`<button class=history-entry><span class=history-entry-title>Load more history</span><span class=history-entry-url>Showing <!> of `), _tmpl$15$2 = /* @__PURE__ */ template(`<p class=history-empty>No browsing history yet.`), _tmpl$16$1 = /* @__PURE__ */ template(`<div class=history-panel><div class=history-panel-header><span class=history-panel-title>Browsing History</span><div class=history-panel-actions><button class=history-clear-btn>Clear</button><button class=history-clear-btn>Export HTML</button><button class=history-clear-btn>Export JSON</button><button class=history-clear-btn>Import</button></div></div><div class=history-list>`), _tmpl$17$1 = /* @__PURE__ */ template(`<section class=agent-panel><div class=agent-panel-header><div class=agent-panel-title>What Changed</div><div class=agent-panel-subtitle>`), _tmpl$18$1 = /* @__PURE__ */ template(`<div class="kit-upsell premium-chat-banner"><p class=kit-upsell-title>Vessel Premium</p><p class="kit-upsell-body premium-chat-banner-body">Give the built-in agent a bigger toolbox and longer runway: screenshots, saved sessions, workflow tracking, table extraction, and up to 1,000 tool calls per turn.</p><div class="premium-inline-actions premium-chat-banner-actions"><button class="agent-primary-button premium-inline-primary"type=button>Start 7-day free trial — $5.99/mo after</button><button class="agent-control-button premium-inline-secondary"type=button>See Premium`), _tmpl$19$1 = /* @__PURE__ */ template(`<span>`), _tmpl$20$1 = /* @__PURE__ */ template(`<div><div class=streaming-status><span class=streaming-pulse aria-hidden=true></span><span>Thinking`), _tmpl$21$1 = /* @__PURE__ */ template(`<div class="message message-assistant"><div class=message-content>`), _tmpl$22$1 = /* @__PURE__ */ template(`<div class=sidebar-empty><svg class=sidebar-empty-icon width=48 height=48 viewBox="0 0 48 48"aria-hidden=true><line x1=8 y1=8 x2=24 y2=5 stroke=var(--border-visible) stroke-width=1 opacity=0.4></line><line x1=24 y1=5 x2=40 y2=10 stroke=var(--border-visible) stroke-width=1 opacity=0.45></line><line x1=8 y1=8 x2=6 y2=24 stroke=var(--border-visible) stroke-width=1 opacity=0.4></line><line x1=40 y1=10 x2=44 y2=26 stroke=var(--border-visible) stroke-width=1 opacity=0.45></line><line x1=6 y1=24 x2=10 y2=38 stroke=var(--border-visible) stroke-width=1 opacity=0.4></line><line x1=44 y1=26 x2=38 y2=40 stroke=var(--border-visible) stroke-width=1 opacity=0.4></line><line x1=10 y1=38 x2=24 y2=44 stroke=var(--border-visible) stroke-width=1 opacity=0.35></line><line x1=38 y1=40 x2=24 y2=44 stroke=var(--border-visible) stroke-width=1 opacity=0.35></line><line x1=8 y1=8 x2=20 y2=18 stroke=var(--border-visible) stroke-width=1 opacity=0.5></line><line x1=24 y1=5 x2=20 y2=18 stroke=var(--border-visible) stroke-width=1 opacity=0.45></line><line x1=40 y1=10 x2=32 y2=20 stroke=var(--border-visible) stroke-width=1 opacity=0.5></line><line x1=20 y1=18 x2=32 y2=20 stroke=var(--accent-primary) stroke-width=0.75 opacity=0.3></line><line x1=6 y1=24 x2=18 y2=30 stroke=var(--border-visible) stroke-width=1 opacity=0.45></line><line x1=20 y1=18 x2=18 y2=30 stroke=var(--border-visible) stroke-width=1 opacity=0.45></line><line x1=32 y1=20 x2=36 y2=30 stroke=var(--border-visible) stroke-width=1 opacity=0.45></line><line x1=44 y1=26 x2=36 y2=30 stroke=var(--border-visible) stroke-width=1 opacity=0.45></line><line x1=18 y1=30 x2=36 y2=30 stroke=var(--accent-primary) stroke-width=0.75 opacity=0.25></line><line x1=18 y1=30 x2=10 y2=38 stroke=var(--border-visible) stroke-width=1 opacity=0.4></line><line x1=36 y1=30 x2=38 y2=40 stroke=var(--border-visible) stroke-width=1 opacity=0.4></line><line x1=18 y1=30 x2=24 y2=44 stroke=var(--accent-primary) stroke-width=0.75 opacity=0.2></line><line x1=36 y1=30 x2=24 y2=44 stroke=var(--accent-primary) stroke-width=0.75 opacity=0.2></line><circle cx=8 cy=8 r=2.5 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.55></circle><circle cx=24 cy=5 r=2 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.45></circle><circle cx=40 cy=10 r=3 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.7></circle><circle cx=6 cy=24 r=2 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.5></circle><circle cx=44 cy=26 r=2.5 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.55></circle><circle cx=10 cy=38 r=2.5 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.5></circle><circle cx=38 cy=40 r=2 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.45></circle><circle cx=24 cy=44 r=2.5 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.5></circle><circle cx=20 cy=18 r=3.5 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.85></circle><circle cx=32 cy=20 r=4 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.9></circle><circle cx=18 cy=30 r=3 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.75></circle><circle cx=36 cy=30 r=3.5 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.8></circle></svg><p class=sidebar-empty-title>Your move.</p><p class=sidebar-empty-hint>Configure a provider in Settings (Ctrl+,) then ask anything about the current page or beyond.`), _tmpl$23$1 = /* @__PURE__ */ template(`<button class=chat-action-btn title="Stop generating"><svg width=14 height=14 viewBox="0 0 14 14"fill=none aria-hidden=true><rect x=2 y=2 width=10 height=10 rx=1.5 fill=currentColor></rect></svg>Stop`), _tmpl$24$1 = /* @__PURE__ */ template(`<button class=chat-action-btn title="Retry last prompt"><svg width=14 height=14 viewBox="0 0 14 14"fill=none aria-hidden=true><path d="M11.5 7a4.5 4.5 0 1 1-1.3-3.2"stroke=currentColor stroke-width=1.5 stroke-linecap=round></path><path d="M10.5 1v3h-3"stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round></path></svg>Retry`), _tmpl$25$1 = /* @__PURE__ */ template(`<div class=chat-actions>`), _tmpl$26$1 = /* @__PURE__ */ template(`<div class=highlight-nav><button class=highlight-nav-btn type=button title="Previous highlight"><svg width=12 height=12 viewBox="0 0 12 12"fill=none aria-hidden=true><path d="M8 10L4 6l4-4"stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round></path></svg></button><button class=highlight-nav-label type=button title="Go to current highlight"><svg width=12 height=12 viewBox="0 0 12 12"fill=none aria-hidden=true><circle cx=6 cy=6 r=3 fill=var(--accent-primary) stroke=var(--accent-primary) stroke-width=1></circle></svg></button><button class=highlight-nav-btn type=button title="Next highlight"><svg width=12 height=12 viewBox="0 0 12 12"fill=none aria-hidden=true><path d="M4 2l4 4-4 4"stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round>`), _tmpl$27$1 = /* @__PURE__ */ template(`<button class=chat-queue-clear type=button>Clear queue`), _tmpl$28$1 = /* @__PURE__ */ template(`<div class=chat-queue-list>`), _tmpl$29$1 = /* @__PURE__ */ template(`<div class=chat-queue-status><div class=chat-queue-status-row><span>`), _tmpl$30 = /* @__PURE__ */ template(`<div class=chat-command-error><span></span><button class=chat-command-error-dismiss type=button aria-label="Dismiss command error">×`), _tmpl$31 = /* @__PURE__ */ template(`<div class=chat-skill-suggestions role=listbox>`), _tmpl$32 = /* @__PURE__ */ template(`<div class=sidebar-input-area><div class=sidebar-input-frame><textarea class=sidebar-input rows=2></textarea></div><button class=sidebar-send>`), _tmpl$33 = /* @__PURE__ */ template(`<div class=sidebar><div class=sidebar-header><div class=sidebar-brand><img class=sidebar-logo alt=Vessel><span class=sidebar-brand-text>Vessel Browser</span></div><div class=sidebar-header-actions><button class=sidebar-clear title="Clear chat">Clear</button></div></div><div class=sidebar-tabs role=tablist><button class=sidebar-tab role=tab>Supervisor</button><button class=sidebar-tab role=tab>Bookmarks</button><button class=sidebar-tab role=tab>Checkpoints</button><button class=sidebar-tab role=tab>Chat</button><button class=sidebar-tab role=tab>Skills</button><button class=sidebar-tab role=tab>History</button><button class=sidebar-tab role=tab>Changes</button><button class=sidebar-tab role=tab>Research<span class=sidebar-tab-beta>Beta</span></button></div><div class=sidebar-messages><div>`), _tmpl$34 = /* @__PURE__ */ template(`<div class=agent-muted>No pending approvals.`), _tmpl$35 = /* @__PURE__ */ template(`<div class="agent-card agent-card-approval"><div class=agent-card-approval-stripe aria-hidden=true></div><div class=agent-card-title></div><div class=agent-card-copy></div><div class=agent-card-copy></div><div class=agent-card-actions><button class=agent-primary-button type=button>Approve</button><button class=agent-control-button type=button>Reject`), _tmpl$36 = /* @__PURE__ */ template(`<div class=agent-muted>No actions yet.`), _tmpl$37 = /* @__PURE__ */ template(`<div class=agent-muted>Recent actions are collapsed to reduce noise.`), _tmpl$38 = /* @__PURE__ */ template(`<div class="agent-card-copy success">`), _tmpl$39 = /* @__PURE__ */ template(`<div class="agent-card-copy error">`), _tmpl$40 = /* @__PURE__ */ template(`<div class=agent-card><div class=agent-action-row><span class=agent-card-title></span><span></span></div><div class=agent-card-copy>`), _tmpl$41 = /* @__PURE__ */ template(`<div class=bookmark-empty-folder>`), _tmpl$42 = /* @__PURE__ */ template(`<div class=bookmark-folder-summary>`), _tmpl$43 = /* @__PURE__ */ template(`<div class=bookmark-folder-actions><button class=bookmark-ghost-button type=button>Rename</button><button class=bookmark-ghost-button type=button>Export</button><button class="bookmark-ghost-button danger"type=button>Delete`), _tmpl$44 = /* @__PURE__ */ template(`<button class=bookmark-ghost-button type=button>Keep bookmarks`), _tmpl$45 = /* @__PURE__ */ template(`<div class=bookmark-folder-delete-confirm><p class=bookmark-delete-prompt>Delete "<!>"?</p><div class=bookmark-delete-options><button class="bookmark-ghost-button danger"type=button></button><button class=bookmark-ghost-button type=button>Cancel`), _tmpl$46 = /* @__PURE__ */ template(`<div class=bookmark-folder-edit><div class=bookmark-folder-form-fields><input class=bookmark-input><input class=bookmark-input placeholder="Optional one-line summary"></div><button class=bookmark-secondary-button type=button>Save</button><button class=bookmark-ghost-button type=button>Cancel`), _tmpl$47 = /* @__PURE__ */ template(`<div class=bookmark-items>`), _tmpl$48 = /* @__PURE__ */ template(`<div class=bookmark-folder-section><div class="bookmark-folder-header clickable"role=button tabindex=0><div class=bookmark-folder-overview><span class=bookmark-folder-chevron aria-hidden=true>▸</span><div><div class=bookmark-folder-name></div><div class=bookmark-folder-meta> saved`), _tmpl$49 = /* @__PURE__ */ template(`<div class=bookmark-folder-collapsed-hint>Click to view saved links.`), _tmpl$50 = /* @__PURE__ */ template(`<div class=bookmark-empty-folder>No bookmarks in this folder yet.`), _tmpl$51 = /* @__PURE__ */ template(`<div class=bookmark-item-note>`), _tmpl$52 = /* @__PURE__ */ template(`<div><strong>Intent:</strong> `), _tmpl$53 = /* @__PURE__ */ template(`<div><strong>Expected:</strong> `), _tmpl$54 = /* @__PURE__ */ template(`<div><strong>Key fields:</strong> `), _tmpl$55 = /* @__PURE__ */ template(`<div><strong>Hints:</strong> `), _tmpl$56 = /* @__PURE__ */ template(`<div class=bookmark-folder-edit><input class=bookmark-input placeholder="Bookmark title"><textarea class=bookmark-note-input rows=2 placeholder="Why this bookmark matters"></textarea><textarea class=bookmark-note-input rows=1 placeholder=Intent></textarea><textarea class=bookmark-note-input rows=1 placeholder="Expected content"></textarea><input class=bookmark-input placeholder="Key fields (comma-separated)"><textarea class=bookmark-note-input rows=2 placeholder="Agent hints (one key:value per line)"></textarea><div class=bookmark-item-footer><button class=bookmark-secondary-button type=button>Save edits</button><button class=bookmark-ghost-button type=button>Cancel`), _tmpl$57 = /* @__PURE__ */ template(`<div class=bookmark-item><button class=bookmark-item-link type=button><span class=bookmark-item-title></span><span class=bookmark-item-url></span></button><div class=bookmark-item-footer><span class=bookmark-item-time></span><button class=bookmark-ghost-button type=button></button><button class="bookmark-ghost-button danger"type=button>Remove`), _tmpl$58 = /* @__PURE__ */ template(`<div class=agent-muted>No checkpoints yet.`), _tmpl$59 = /* @__PURE__ */ template(`<span class=checkpoint-timeline-line>`), _tmpl$60 = /* @__PURE__ */ template(`<div class=checkpoint-timeline-item><div class=checkpoint-timeline-rail><span class=checkpoint-timeline-dot></span></div><div class=checkpoint-timeline-content><div class=checkpoint-timeline-name></div><div class=checkpoint-timeline-time></div><textarea class=agent-textarea rows=2 placeholder="Add a note..."></textarea><button class=agent-control-button type=button>Restore`), _tmpl$61 = /* @__PURE__ */ template(`<button class=history-entry><span class=history-entry-title></span><span class=history-entry-url></span><span class=history-entry-time>`), _tmpl$62 = /* @__PURE__ */ template(`<div class="kit-upsell premium-chat-banner"><p class=kit-upsell-title>Vessel Premium</p><p class="kit-upsell-body premium-chat-banner-body">The Diff timeline is a premium feature. Upgrade to see a full history of what changed on this page.</p><div class="premium-inline-actions premium-chat-banner-actions"><button class="agent-primary-button premium-inline-primary"type=button>Start 7-day free trial — $5.99/mo after</button><button class="agent-control-button premium-inline-secondary"type=button>See Premium`), _tmpl$63 = /* @__PURE__ */ template(`<div>`), _tmpl$64 = /* @__PURE__ */ template(`<div class=thinking-state><div class=thinking-orb aria-hidden=true><span></span><span></span><span></span></div><div class=thinking-copy><div class=thinking-title>Thinking`), _tmpl$65 = /* @__PURE__ */ template(`<div class=chat-approval-detail>`), _tmpl$66 = /* @__PURE__ */ template(`<div class=chat-approval><div class=chat-approval-icon aria-hidden=true><svg width=16 height=16 viewBox="0 0 16 16"fill=none><path d="M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM7.25 4.75a.75.75 0 011.5 0v3.5a.75.75 0 01-1.5 0v-3.5zM8 11.5a.75.75 0 110-1.5.75.75 0 010 1.5z"fill=currentColor></path></svg></div><div class=chat-approval-body><div class=chat-approval-title>Approval needed: <strong></strong></div><div class=chat-approval-detail></div><div class=chat-approval-actions><button class="chat-approval-btn chat-approval-approve"type=button>Approve</button><button class="chat-approval-btn chat-approval-reject"type=button>Reject`), _tmpl$67 = /* @__PURE__ */ template(`<div class=chat-queue-item><span class=chat-queue-text></span><button class=chat-queue-remove type=button>×`), _tmpl$68 = /* @__PURE__ */ template(`<button class=chat-skill-suggestion type=button role=option><span class=chat-skill-suggestion-command>/</span><span class=chat-skill-suggestion-body><span class=chat-skill-suggestion-name></span><span class=chat-skill-suggestion-desc>`), _tmpl$69 = /* @__PURE__ */ template(`<div class=sidebar-input-highlight aria-hidden=true><span class=sidebar-input-highlight-command>`);
10062
+ var _tmpl$$a = /* @__PURE__ */ template(`<div class="message-content markdown-content">`), _tmpl$2$a = /* @__PURE__ */ template(`<div class=premium-inline-offer><div class=premium-inline-kicker>Vessel Premium</div><div class=premium-inline-title></div><p class=premium-inline-copy></p><div class=premium-inline-actions><button class="agent-primary-button premium-inline-primary"type=button>Start 7-day free trial — $5.99/mo after</button><button class="agent-control-button premium-inline-secondary"type=button>View details`), _tmpl$3$9 = /* @__PURE__ */ template(`<div class=sidebar-resize-handle>`), _tmpl$4$8 = /* @__PURE__ */ template(`<span class=sidebar-tab-badge>`), _tmpl$5$8 = /* @__PURE__ */ template(`<button class=agent-primary-button type=button>Undo last action`), _tmpl$6$8 = /* @__PURE__ */ template(`<div class=agent-section-title>Pending approvals`), _tmpl$7$6 = /* @__PURE__ */ template(`<button class=agent-section-toggle type=button>`), _tmpl$8$5 = /* @__PURE__ */ template(`<section class=agent-panel><div class=agent-panel-header><div><div class=agent-panel-title>Supervisor</div><div class=agent-panel-subtitle></div></div><span class=agent-status-pill></span></div><div class=agent-panel-controls><button class=agent-control-button type=button></button><button class=agent-control-button type=button>Restore session</button></div><div class=agent-muted></div><div class=agent-section-header><div class=agent-section-title>Recent actions</div></div><div class=agent-trace-footer><span>Showing the last 8 actions. More traces are available in DevTools -&gt; Agent Trace.</span><button class=agent-trace-link type=button>Open Agent Trace`), _tmpl$9$4 = /* @__PURE__ */ template(`<span class=bookmark-status-pill>Saved`), _tmpl$0$3 = /* @__PURE__ */ template(`<div class=bookmark-export-message>`), _tmpl$1$3 = /* @__PURE__ */ template(`<div class=bookmark-save-body><div class=bookmark-export-actions><button class=bookmark-secondary-button type=button>Import HTML</button><button class=bookmark-secondary-button type=button>Import JSON`), _tmpl$10$3 = /* @__PURE__ */ template(`<div class=bookmark-save-card><div class=bookmark-current-title></div><div class=bookmark-current-url></div><div class=bookmark-save-controls><button class=bookmark-primary-button type=button>Save page</button></div><textarea class=bookmark-note-input placeholder="Optional note about why this matters"rows=2></textarea><textarea class=bookmark-note-input placeholder="Intent: what is this page for?"rows=1></textarea><textarea class=bookmark-note-input placeholder="Expected content: what should be here?"rows=1></textarea><input class=bookmark-input placeholder="Key fields (comma-separated)"><textarea class=bookmark-note-input placeholder="Agent hints (one key:value per line)"rows=2>`), _tmpl$11$3 = /* @__PURE__ */ template(`<section class=bookmark-panel><div class=bookmark-panel-header><div><div class=bookmark-panel-title>Bookmarks</div><div class=bookmark-panel-subtitle></div></div></div><input class="bookmark-input bookmark-search-input"placeholder="Search titles, URLs, notes, and folders"><div class=bookmark-export-card><div><div class=bookmark-panel-title>Export</div><div class=bookmark-panel-subtitle>Save browser-ready HTML or a full Vessel archive</div></div><div class=bookmark-export-actions><button class=bookmark-secondary-button type=button>Browser HTML</button><button class=bookmark-secondary-button type=button>HTML + notes</button><button class=bookmark-secondary-button type=button>Vessel JSON</button></div></div><div class=bookmark-import-shell><button class=bookmark-save-toggle type=button><span class=bookmark-save-toggle-copy><span class=bookmark-save-toggle-title>Import Bookmarks</span><span class=bookmark-save-toggle-subtitle>Import from HTML or Vessel JSON</span></span><span class=bookmark-save-toggle-caret aria-hidden=true>▾</span></button></div><div class=bookmark-save-shell><button class=bookmark-save-toggle type=button><span class=bookmark-save-toggle-copy><span class=bookmark-save-toggle-title>Save Current Page</span><span class=bookmark-save-toggle-subtitle>Manual bookmark save options</span></span><span class=bookmark-save-toggle-caret aria-hidden=true>▾</span></button></div><form class=bookmark-folder-create><div class=bookmark-folder-form-fields><input class=bookmark-input placeholder="Create a folder"><input class=bookmark-input placeholder="Optional one-line summary"></div><button class=bookmark-secondary-button type=submit>New folder</button></form><div class=bookmark-folder-list>`), _tmpl$12$3 = /* @__PURE__ */ template(`<div class=checkpoint-timeline>`), _tmpl$13$3 = /* @__PURE__ */ template(`<section class="agent-panel checkpoint-panel"><div class=agent-panel-header><div><div class=agent-panel-title>Checkpoints</div><div class=agent-panel-subtitle></div></div></div><div class=agent-panel-body><div class=agent-checkpoint-row><input class=agent-input placeholder="Checkpoint name"><textarea class=agent-textarea rows=2 placeholder="Optional note for this checkpoint"></textarea><button class=agent-primary-button type=button>Save checkpoint</button></div><div class=agent-section-title>Recent checkpoints`), _tmpl$14$3 = /* @__PURE__ */ template(`<button class=history-entry><span class=history-entry-title>Load more history</span><span class=history-entry-url>Showing <!> of `), _tmpl$15$3 = /* @__PURE__ */ template(`<p class=history-empty>No browsing history yet.`), _tmpl$16$2 = /* @__PURE__ */ template(`<div class=history-panel><div class=history-panel-header><span class=history-panel-title>Browsing History</span><div class=history-panel-actions><button class=history-clear-btn>Clear</button><button class=history-clear-btn>Export HTML</button><button class=history-clear-btn>Export JSON</button><button class=history-clear-btn>Import</button></div></div><div class=history-list>`), _tmpl$17$2 = /* @__PURE__ */ template(`<section class=agent-panel><div class=agent-panel-header><div class=agent-panel-title>What Changed</div><div class=agent-panel-subtitle>`), _tmpl$18$2 = /* @__PURE__ */ template(`<div class="kit-upsell premium-chat-banner"><p class=kit-upsell-title>Vessel Premium</p><p class="kit-upsell-body premium-chat-banner-body">Give the built-in agent a bigger toolbox and longer runway: screenshots, saved sessions, workflow tracking, table extraction, and up to 1,000 tool calls per turn.</p><div class="premium-inline-actions premium-chat-banner-actions"><button class="agent-primary-button premium-inline-primary"type=button>Start 7-day free trial — $5.99/mo after</button><button class="agent-control-button premium-inline-secondary"type=button>See Premium`), _tmpl$19$2 = /* @__PURE__ */ template(`<span>`), _tmpl$20$2 = /* @__PURE__ */ template(`<div><div class=streaming-status><span class=streaming-pulse aria-hidden=true></span><span>Thinking`), _tmpl$21$2 = /* @__PURE__ */ template(`<div class="message message-assistant"><div class=message-content>`), _tmpl$22$2 = /* @__PURE__ */ template(`<div class=sidebar-empty><svg class=sidebar-empty-icon width=48 height=48 viewBox="0 0 48 48"aria-hidden=true><line x1=8 y1=8 x2=24 y2=5 stroke=var(--border-visible) stroke-width=1 opacity=0.4></line><line x1=24 y1=5 x2=40 y2=10 stroke=var(--border-visible) stroke-width=1 opacity=0.45></line><line x1=8 y1=8 x2=6 y2=24 stroke=var(--border-visible) stroke-width=1 opacity=0.4></line><line x1=40 y1=10 x2=44 y2=26 stroke=var(--border-visible) stroke-width=1 opacity=0.45></line><line x1=6 y1=24 x2=10 y2=38 stroke=var(--border-visible) stroke-width=1 opacity=0.4></line><line x1=44 y1=26 x2=38 y2=40 stroke=var(--border-visible) stroke-width=1 opacity=0.4></line><line x1=10 y1=38 x2=24 y2=44 stroke=var(--border-visible) stroke-width=1 opacity=0.35></line><line x1=38 y1=40 x2=24 y2=44 stroke=var(--border-visible) stroke-width=1 opacity=0.35></line><line x1=8 y1=8 x2=20 y2=18 stroke=var(--border-visible) stroke-width=1 opacity=0.5></line><line x1=24 y1=5 x2=20 y2=18 stroke=var(--border-visible) stroke-width=1 opacity=0.45></line><line x1=40 y1=10 x2=32 y2=20 stroke=var(--border-visible) stroke-width=1 opacity=0.5></line><line x1=20 y1=18 x2=32 y2=20 stroke=var(--accent-primary) stroke-width=0.75 opacity=0.3></line><line x1=6 y1=24 x2=18 y2=30 stroke=var(--border-visible) stroke-width=1 opacity=0.45></line><line x1=20 y1=18 x2=18 y2=30 stroke=var(--border-visible) stroke-width=1 opacity=0.45></line><line x1=32 y1=20 x2=36 y2=30 stroke=var(--border-visible) stroke-width=1 opacity=0.45></line><line x1=44 y1=26 x2=36 y2=30 stroke=var(--border-visible) stroke-width=1 opacity=0.45></line><line x1=18 y1=30 x2=36 y2=30 stroke=var(--accent-primary) stroke-width=0.75 opacity=0.25></line><line x1=18 y1=30 x2=10 y2=38 stroke=var(--border-visible) stroke-width=1 opacity=0.4></line><line x1=36 y1=30 x2=38 y2=40 stroke=var(--border-visible) stroke-width=1 opacity=0.4></line><line x1=18 y1=30 x2=24 y2=44 stroke=var(--accent-primary) stroke-width=0.75 opacity=0.2></line><line x1=36 y1=30 x2=24 y2=44 stroke=var(--accent-primary) stroke-width=0.75 opacity=0.2></line><circle cx=8 cy=8 r=2.5 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.55></circle><circle cx=24 cy=5 r=2 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.45></circle><circle cx=40 cy=10 r=3 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.7></circle><circle cx=6 cy=24 r=2 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.5></circle><circle cx=44 cy=26 r=2.5 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.55></circle><circle cx=10 cy=38 r=2.5 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.5></circle><circle cx=38 cy=40 r=2 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.45></circle><circle cx=24 cy=44 r=2.5 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.5></circle><circle cx=20 cy=18 r=3.5 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.85></circle><circle cx=32 cy=20 r=4 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.9></circle><circle cx=18 cy=30 r=3 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.75></circle><circle cx=36 cy=30 r=3.5 fill=var(--bg-secondary) stroke=var(--accent-primary) stroke-width=1.5 opacity=0.8></circle></svg><p class=sidebar-empty-title>Your move.</p><p class=sidebar-empty-hint>Configure a provider in Settings (Ctrl+,) then ask anything about the current page or beyond.`), _tmpl$23$2 = /* @__PURE__ */ template(`<button class=chat-action-btn title="Stop generating"><svg width=14 height=14 viewBox="0 0 14 14"fill=none aria-hidden=true><rect x=2 y=2 width=10 height=10 rx=1.5 fill=currentColor></rect></svg>Stop`), _tmpl$24$2 = /* @__PURE__ */ template(`<button class=chat-action-btn title="Retry last prompt"><svg width=14 height=14 viewBox="0 0 14 14"fill=none aria-hidden=true><path d="M11.5 7a4.5 4.5 0 1 1-1.3-3.2"stroke=currentColor stroke-width=1.5 stroke-linecap=round></path><path d="M10.5 1v3h-3"stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round></path></svg>Retry`), _tmpl$25$2 = /* @__PURE__ */ template(`<div class=chat-actions>`), _tmpl$26$2 = /* @__PURE__ */ template(`<div class=highlight-nav><button class=highlight-nav-btn type=button title="Previous highlight"><svg width=12 height=12 viewBox="0 0 12 12"fill=none aria-hidden=true><path d="M8 10L4 6l4-4"stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round></path></svg></button><button class=highlight-nav-label type=button title="Go to current highlight"><svg width=12 height=12 viewBox="0 0 12 12"fill=none aria-hidden=true><circle cx=6 cy=6 r=3 fill=var(--accent-primary) stroke=var(--accent-primary) stroke-width=1></circle></svg></button><button class=highlight-nav-btn type=button title="Next highlight"><svg width=12 height=12 viewBox="0 0 12 12"fill=none aria-hidden=true><path d="M4 2l4 4-4 4"stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round>`), _tmpl$27$1 = /* @__PURE__ */ template(`<button class=chat-queue-clear type=button>Clear queue`), _tmpl$28$1 = /* @__PURE__ */ template(`<div class=chat-queue-list>`), _tmpl$29$1 = /* @__PURE__ */ template(`<div class=chat-queue-status><div class=chat-queue-status-row><span>`), _tmpl$30 = /* @__PURE__ */ template(`<div class=chat-command-error><span></span><button class=chat-command-error-dismiss type=button aria-label="Dismiss command error">×`), _tmpl$31 = /* @__PURE__ */ template(`<div class=chat-skill-suggestions role=listbox>`), _tmpl$32 = /* @__PURE__ */ template(`<div class=sidebar-input-area><div class=sidebar-input-frame><textarea class=sidebar-input rows=2></textarea></div><button class=sidebar-send>`), _tmpl$33 = /* @__PURE__ */ template(`<div class=sidebar><div class=sidebar-header><div class=sidebar-brand><img class=sidebar-logo alt=Vessel><span class=sidebar-brand-text>Vessel Browser</span></div><div class=sidebar-header-actions><button class=sidebar-clear title="Clear chat">Clear</button></div></div><div class=sidebar-tabs role=tablist><button class=sidebar-tab role=tab>Supervisor</button><button class=sidebar-tab role=tab>Bookmarks</button><button class=sidebar-tab role=tab>Checkpoints</button><button class=sidebar-tab role=tab>Chat</button><button class=sidebar-tab role=tab>Skills</button><button class=sidebar-tab role=tab>History</button><button class=sidebar-tab role=tab>Changes</button><button class=sidebar-tab role=tab>Research<span class=sidebar-tab-beta>Beta</span></button></div><div class=sidebar-messages><div>`), _tmpl$34 = /* @__PURE__ */ template(`<div class=agent-muted>No pending approvals.`), _tmpl$35 = /* @__PURE__ */ template(`<div class="agent-card agent-card-approval"><div class=agent-card-approval-stripe aria-hidden=true></div><div class=agent-card-title></div><div class=agent-card-copy></div><div class=agent-card-copy></div><div class=agent-card-actions><button class=agent-primary-button type=button>Approve</button><button class=agent-control-button type=button>Reject`), _tmpl$36 = /* @__PURE__ */ template(`<div class=agent-muted>No actions yet.`), _tmpl$37 = /* @__PURE__ */ template(`<div class=agent-muted>Recent actions are collapsed to reduce noise.`), _tmpl$38 = /* @__PURE__ */ template(`<div class="agent-card-copy success">`), _tmpl$39 = /* @__PURE__ */ template(`<div class="agent-card-copy error">`), _tmpl$40 = /* @__PURE__ */ template(`<div class=agent-card><div class=agent-action-row><span class=agent-card-title></span><span></span></div><div class=agent-card-copy>`), _tmpl$41 = /* @__PURE__ */ template(`<div class=bookmark-empty-folder>`), _tmpl$42 = /* @__PURE__ */ template(`<div class=bookmark-folder-summary>`), _tmpl$43 = /* @__PURE__ */ template(`<div class=bookmark-folder-actions><button class=bookmark-ghost-button type=button>Rename</button><button class=bookmark-ghost-button type=button>Export</button><button class="bookmark-ghost-button danger"type=button>Delete`), _tmpl$44 = /* @__PURE__ */ template(`<button class=bookmark-ghost-button type=button>Keep bookmarks`), _tmpl$45 = /* @__PURE__ */ template(`<div class=bookmark-folder-delete-confirm><p class=bookmark-delete-prompt>Delete "<!>"?</p><div class=bookmark-delete-options><button class="bookmark-ghost-button danger"type=button></button><button class=bookmark-ghost-button type=button>Cancel`), _tmpl$46 = /* @__PURE__ */ template(`<div class=bookmark-folder-edit><div class=bookmark-folder-form-fields><input class=bookmark-input><input class=bookmark-input placeholder="Optional one-line summary"></div><button class=bookmark-secondary-button type=button>Save</button><button class=bookmark-ghost-button type=button>Cancel`), _tmpl$47 = /* @__PURE__ */ template(`<div class=bookmark-items>`), _tmpl$48 = /* @__PURE__ */ template(`<div class=bookmark-folder-section><div class="bookmark-folder-header clickable"role=button tabindex=0><div class=bookmark-folder-overview><span class=bookmark-folder-chevron aria-hidden=true>▸</span><div><div class=bookmark-folder-name></div><div class=bookmark-folder-meta> saved`), _tmpl$49 = /* @__PURE__ */ template(`<div class=bookmark-folder-collapsed-hint>Click to view saved links.`), _tmpl$50 = /* @__PURE__ */ template(`<div class=bookmark-empty-folder>No bookmarks in this folder yet.`), _tmpl$51 = /* @__PURE__ */ template(`<div class=bookmark-item-note>`), _tmpl$52 = /* @__PURE__ */ template(`<div><strong>Intent:</strong> `), _tmpl$53 = /* @__PURE__ */ template(`<div><strong>Expected:</strong> `), _tmpl$54 = /* @__PURE__ */ template(`<div><strong>Key fields:</strong> `), _tmpl$55 = /* @__PURE__ */ template(`<div><strong>Hints:</strong> `), _tmpl$56 = /* @__PURE__ */ template(`<div class=bookmark-folder-edit><input class=bookmark-input placeholder="Bookmark title"><textarea class=bookmark-note-input rows=2 placeholder="Why this bookmark matters"></textarea><textarea class=bookmark-note-input rows=1 placeholder=Intent></textarea><textarea class=bookmark-note-input rows=1 placeholder="Expected content"></textarea><input class=bookmark-input placeholder="Key fields (comma-separated)"><textarea class=bookmark-note-input rows=2 placeholder="Agent hints (one key:value per line)"></textarea><div class=bookmark-item-footer><button class=bookmark-secondary-button type=button>Save edits</button><button class=bookmark-ghost-button type=button>Cancel`), _tmpl$57 = /* @__PURE__ */ template(`<div class=bookmark-item><button class=bookmark-item-link type=button><span class=bookmark-item-title></span><span class=bookmark-item-url></span></button><div class=bookmark-item-footer><span class=bookmark-item-time></span><button class=bookmark-ghost-button type=button></button><button class="bookmark-ghost-button danger"type=button>Remove`), _tmpl$58 = /* @__PURE__ */ template(`<div class=agent-muted>No checkpoints yet.`), _tmpl$59 = /* @__PURE__ */ template(`<span class=checkpoint-timeline-line>`), _tmpl$60 = /* @__PURE__ */ template(`<div class=checkpoint-timeline-item><div class=checkpoint-timeline-rail><span class=checkpoint-timeline-dot></span></div><div class=checkpoint-timeline-content><div class=checkpoint-timeline-name></div><div class=checkpoint-timeline-time></div><textarea class=agent-textarea rows=2 placeholder="Add a note..."></textarea><button class=agent-control-button type=button>Restore`), _tmpl$61 = /* @__PURE__ */ template(`<button class=history-entry><span class=history-entry-title></span><span class=history-entry-url></span><span class=history-entry-time>`), _tmpl$62 = /* @__PURE__ */ template(`<div class="kit-upsell premium-chat-banner"><p class=kit-upsell-title>Vessel Premium</p><p class="kit-upsell-body premium-chat-banner-body">The Diff timeline is a premium feature. Upgrade to see a full history of what changed on this page.</p><div class="premium-inline-actions premium-chat-banner-actions"><button class="agent-primary-button premium-inline-primary"type=button>Start 7-day free trial — $5.99/mo after</button><button class="agent-control-button premium-inline-secondary"type=button>See Premium`), _tmpl$63 = /* @__PURE__ */ template(`<div>`), _tmpl$64 = /* @__PURE__ */ template(`<div class=thinking-state><div class=thinking-orb aria-hidden=true><span></span><span></span><span></span></div><div class=thinking-copy><div class=thinking-title>Thinking`), _tmpl$65 = /* @__PURE__ */ template(`<div class=chat-approval-detail>`), _tmpl$66 = /* @__PURE__ */ template(`<div class=chat-approval><div class=chat-approval-icon aria-hidden=true><svg width=16 height=16 viewBox="0 0 16 16"fill=none><path d="M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM7.25 4.75a.75.75 0 011.5 0v3.5a.75.75 0 01-1.5 0v-3.5zM8 11.5a.75.75 0 110-1.5.75.75 0 010 1.5z"fill=currentColor></path></svg></div><div class=chat-approval-body><div class=chat-approval-title>Approval needed: <strong></strong></div><div class=chat-approval-detail></div><div class=chat-approval-actions><button class="chat-approval-btn chat-approval-approve"type=button>Approve</button><button class="chat-approval-btn chat-approval-reject"type=button>Reject`), _tmpl$67 = /* @__PURE__ */ template(`<div class=chat-queue-item><span class=chat-queue-text></span><button class=chat-queue-remove type=button>×`), _tmpl$68 = /* @__PURE__ */ template(`<button class=chat-skill-suggestion type=button role=option><span class=chat-skill-suggestion-command>/</span><span class=chat-skill-suggestion-body><span class=chat-skill-suggestion-name></span><span class=chat-skill-suggestion-desc>`), _tmpl$69 = /* @__PURE__ */ template(`<div class=sidebar-input-highlight aria-hidden=true><span class=sidebar-input-highlight-command>`);
9986
10063
  const UNSORTED_FOLDER = {
9987
10064
  id: "unsorted",
9988
10065
  name: "Unsorted",
@@ -10375,6 +10452,9 @@ ${contextBlock}` : contextBlock);
10375
10452
  let chatInputRef;
10376
10453
  let hasInitializedMessageScroll = false;
10377
10454
  const recentActions = createMemo(() => runtimeState2().actions.slice(-8).reverse());
10455
+ const openAgentTrace = () => {
10456
+ void window.vessel.devtoolsPanel.openTab("agentTrace");
10457
+ };
10378
10458
  const recentCheckpoints = createMemo(() => runtimeState2().checkpoints.slice(-5).reverse());
10379
10459
  const approvalModeOptions = createMemo(() => [{
10380
10460
  value: "manual",
@@ -10710,7 +10790,7 @@ ${contextBlock}` : contextBlock);
10710
10790
  get children() {
10711
10791
  var _el$9 = _tmpl$33(), _el$1 = _el$9.firstChild, _el$10 = _el$1.firstChild, _el$11 = _el$10.firstChild, _el$12 = _el$10.nextSibling, _el$13 = _el$12.firstChild, _el$14 = _el$1.nextSibling, _el$15 = _el$14.firstChild;
10712
10792
  _el$15.firstChild;
10713
- var _el$18 = _el$15.nextSibling, _el$19 = _el$18.nextSibling, _el$20 = _el$19.nextSibling, _el$21 = _el$20.nextSibling, _el$22 = _el$21.nextSibling, _el$23 = _el$22.nextSibling, _el$24 = _el$23.nextSibling, _el$25 = _el$14.nextSibling, _el$131 = _el$25.firstChild;
10793
+ var _el$18 = _el$15.nextSibling, _el$19 = _el$18.nextSibling, _el$20 = _el$19.nextSibling, _el$21 = _el$20.nextSibling, _el$22 = _el$21.nextSibling, _el$23 = _el$22.nextSibling, _el$24 = _el$23.nextSibling, _el$25 = _el$14.nextSibling, _el$134 = _el$25.firstChild;
10714
10794
  insert(_el$9, createComponent(Show, {
10715
10795
  get when() {
10716
10796
  return !sidebarDetached2();
@@ -10759,6 +10839,7 @@ ${contextBlock}` : contextBlock);
10759
10839
  get children() {
10760
10840
  var _el$26 = _tmpl$8$5(), _el$27 = _el$26.firstChild, _el$28 = _el$27.firstChild, _el$29 = _el$28.firstChild, _el$30 = _el$29.nextSibling, _el$31 = _el$28.nextSibling, _el$32 = _el$27.nextSibling, _el$33 = _el$32.firstChild, _el$34 = _el$33.nextSibling, _el$36 = _el$32.nextSibling, _el$38 = _el$36.nextSibling;
10761
10841
  _el$38.firstChild;
10842
+ var _el$41 = _el$38.nextSibling, _el$42 = _el$41.firstChild, _el$43 = _el$42.nextSibling;
10762
10843
  insert(_el$30, () => runtimeState2().supervisor.paused ? "Agent is paused" : "Agent is live");
10763
10844
  insert(_el$31, () => runtimeState2().supervisor.paused ? "Paused" : "Running");
10764
10845
  insert(_el$32, createComponent(DropdownSelect, {
@@ -10800,13 +10881,13 @@ ${contextBlock}` : contextBlock);
10800
10881
  return runtimeState2().supervisor.pendingApprovals;
10801
10882
  },
10802
10883
  children: (approval) => (() => {
10803
- var _el$154 = _tmpl$35(), _el$155 = _el$154.firstChild, _el$156 = _el$155.nextSibling, _el$157 = _el$156.nextSibling, _el$158 = _el$157.nextSibling, _el$159 = _el$158.nextSibling, _el$160 = _el$159.firstChild, _el$161 = _el$160.nextSibling;
10804
- insert(_el$156, () => approval.name);
10805
- insert(_el$157, () => approval.argsSummary);
10806
- insert(_el$158, () => approval.reason);
10807
- _el$160.$$click = () => void resolveApproval(approval.id, true);
10808
- _el$161.$$click = () => void resolveApproval(approval.id, false);
10809
- return _el$154;
10884
+ var _el$157 = _tmpl$35(), _el$158 = _el$157.firstChild, _el$159 = _el$158.nextSibling, _el$160 = _el$159.nextSibling, _el$161 = _el$160.nextSibling, _el$162 = _el$161.nextSibling, _el$163 = _el$162.firstChild, _el$164 = _el$163.nextSibling;
10885
+ insert(_el$159, () => approval.name);
10886
+ insert(_el$160, () => approval.argsSummary);
10887
+ insert(_el$161, () => approval.reason);
10888
+ _el$163.$$click = () => void resolveApproval(approval.id, true);
10889
+ _el$164.$$click = () => void resolveApproval(approval.id, false);
10890
+ return _el$157;
10810
10891
  })()
10811
10892
  })];
10812
10893
  }
@@ -10846,53 +10927,54 @@ ${contextBlock}` : contextBlock);
10846
10927
  return recentActions();
10847
10928
  },
10848
10929
  children: (action) => (() => {
10849
- var _el$164 = _tmpl$40(), _el$165 = _el$164.firstChild, _el$166 = _el$165.firstChild, _el$167 = _el$166.nextSibling, _el$168 = _el$165.nextSibling;
10850
- insert(_el$166, () => action.name);
10851
- insert(_el$167, () => action.status);
10852
- insert(_el$168, () => action.argsSummary);
10853
- insert(_el$164, createComponent(Show, {
10930
+ var _el$167 = _tmpl$40(), _el$168 = _el$167.firstChild, _el$169 = _el$168.firstChild, _el$170 = _el$169.nextSibling, _el$171 = _el$168.nextSibling;
10931
+ insert(_el$169, () => action.name);
10932
+ insert(_el$170, () => action.status);
10933
+ insert(_el$171, () => action.argsSummary);
10934
+ insert(_el$167, createComponent(Show, {
10854
10935
  get when() {
10855
10936
  return action.resultSummary;
10856
10937
  },
10857
10938
  get children() {
10858
- var _el$169 = _tmpl$38();
10859
- insert(_el$169, () => action.resultSummary);
10860
- return _el$169;
10939
+ var _el$172 = _tmpl$38();
10940
+ insert(_el$172, () => action.resultSummary);
10941
+ return _el$172;
10861
10942
  }
10862
10943
  }), null);
10863
- insert(_el$164, createComponent(Show, {
10944
+ insert(_el$167, createComponent(Show, {
10864
10945
  get when() {
10865
10946
  return action.error;
10866
10947
  },
10867
10948
  get children() {
10868
- var _el$170 = _tmpl$39();
10869
- insert(_el$170, () => action.error);
10870
- return _el$170;
10949
+ var _el$173 = _tmpl$39();
10950
+ insert(_el$173, () => action.error);
10951
+ return _el$173;
10871
10952
  }
10872
10953
  }), null);
10873
- createRenderEffect(() => className(_el$167, `agent-action-status ${action.status}`));
10874
- return _el$164;
10954
+ createRenderEffect(() => className(_el$170, `agent-action-status ${action.status}`));
10955
+ return _el$167;
10875
10956
  })()
10876
10957
  });
10877
10958
  }
10878
10959
  });
10879
10960
  }
10880
- }), null);
10961
+ }), _el$41);
10962
+ _el$43.$$click = openAgentTrace;
10881
10963
  createRenderEffect(() => _el$31.classList.toggle("paused", !!runtimeState2().supervisor.paused));
10882
10964
  return _el$26;
10883
10965
  }
10884
- }), _el$131);
10966
+ }), _el$134);
10885
10967
  insert(_el$25, createComponent(Show, {
10886
10968
  get when() {
10887
10969
  return sidebarTab() === "bookmarks";
10888
10970
  },
10889
10971
  get children() {
10890
- var _el$41 = _tmpl$11$3(), _el$42 = _el$41.firstChild, _el$43 = _el$42.firstChild, _el$44 = _el$43.firstChild, _el$45 = _el$44.nextSibling, _el$47 = _el$42.nextSibling, _el$48 = _el$47.nextSibling, _el$49 = _el$48.firstChild, _el$50 = _el$49.nextSibling, _el$51 = _el$50.firstChild, _el$52 = _el$51.nextSibling, _el$53 = _el$52.nextSibling, _el$55 = _el$48.nextSibling, _el$56 = _el$55.firstChild, _el$57 = _el$56.firstChild, _el$58 = _el$57.nextSibling, _el$64 = _el$55.nextSibling, _el$65 = _el$64.firstChild, _el$66 = _el$65.firstChild, _el$67 = _el$66.nextSibling, _el$78 = _el$64.nextSibling, _el$79 = _el$78.firstChild, _el$80 = _el$79.firstChild, _el$81 = _el$80.nextSibling, _el$82 = _el$79.nextSibling, _el$83 = _el$78.nextSibling;
10891
- insert(_el$45, (() => {
10972
+ var _el$44 = _tmpl$11$3(), _el$45 = _el$44.firstChild, _el$46 = _el$45.firstChild, _el$47 = _el$46.firstChild, _el$48 = _el$47.nextSibling, _el$50 = _el$45.nextSibling, _el$51 = _el$50.nextSibling, _el$52 = _el$51.firstChild, _el$53 = _el$52.nextSibling, _el$54 = _el$53.firstChild, _el$55 = _el$54.nextSibling, _el$56 = _el$55.nextSibling, _el$58 = _el$51.nextSibling, _el$59 = _el$58.firstChild, _el$60 = _el$59.firstChild, _el$61 = _el$60.nextSibling, _el$67 = _el$58.nextSibling, _el$68 = _el$67.firstChild, _el$69 = _el$68.firstChild, _el$70 = _el$69.nextSibling, _el$81 = _el$67.nextSibling, _el$82 = _el$81.firstChild, _el$83 = _el$82.firstChild, _el$84 = _el$83.nextSibling, _el$85 = _el$82.nextSibling, _el$86 = _el$81.nextSibling;
10973
+ insert(_el$48, (() => {
10892
10974
  var _c$2 = memo(() => !!normalizedBookmarkSearch());
10893
10975
  return () => _c$2() ? `${bookmarkMatchCount()} matches for "${bookmarkSearchQuery().trim()}"` : `${bookmarksState2().bookmarks.length} saved across ${bookmarkFolders().length} folders`;
10894
10976
  })());
10895
- insert(_el$42, createComponent(Show, {
10977
+ insert(_el$45, createComponent(Show, {
10896
10978
  get when() {
10897
10979
  return currentTabSaved();
10898
10980
  },
@@ -10900,61 +10982,61 @@ ${contextBlock}` : contextBlock);
10900
10982
  return _tmpl$9$4();
10901
10983
  }
10902
10984
  }), null);
10903
- _el$47.$$input = (e) => setBookmarkSearchQuery(e.currentTarget.value);
10904
- _el$51.$$click = () => void handleExportBookmarks("html");
10905
- _el$52.$$click = () => void handleExportBookmarks("html-with-notes");
10906
- _el$53.$$click = () => void handleExportBookmarks("json");
10907
- insert(_el$48, createComponent(Show, {
10985
+ _el$50.$$input = (e) => setBookmarkSearchQuery(e.currentTarget.value);
10986
+ _el$54.$$click = () => void handleExportBookmarks("html");
10987
+ _el$55.$$click = () => void handleExportBookmarks("html-with-notes");
10988
+ _el$56.$$click = () => void handleExportBookmarks("json");
10989
+ insert(_el$51, createComponent(Show, {
10908
10990
  get when() {
10909
10991
  return bookmarkExportMessage();
10910
10992
  },
10911
10993
  get children() {
10912
- var _el$54 = _tmpl$0$3();
10913
- insert(_el$54, bookmarkExportMessage);
10914
- return _el$54;
10994
+ var _el$57 = _tmpl$0$3();
10995
+ insert(_el$57, bookmarkExportMessage);
10996
+ return _el$57;
10915
10997
  }
10916
10998
  }), null);
10917
- _el$56.$$click = () => setBookmarkImportExpanded((current) => !current);
10918
- insert(_el$55, createComponent(Show, {
10999
+ _el$59.$$click = () => setBookmarkImportExpanded((current) => !current);
11000
+ insert(_el$58, createComponent(Show, {
10919
11001
  get when() {
10920
11002
  return bookmarkImportExpanded();
10921
11003
  },
10922
11004
  get children() {
10923
- var _el$59 = _tmpl$1$3(), _el$60 = _el$59.firstChild, _el$61 = _el$60.firstChild, _el$62 = _el$61.nextSibling;
10924
- _el$61.$$click = () => void handleImportBookmarks("html");
10925
- _el$62.$$click = () => void handleImportBookmarks("json");
10926
- insert(_el$59, createComponent(Show, {
11005
+ var _el$62 = _tmpl$1$3(), _el$63 = _el$62.firstChild, _el$64 = _el$63.firstChild, _el$65 = _el$64.nextSibling;
11006
+ _el$64.$$click = () => void handleImportBookmarks("html");
11007
+ _el$65.$$click = () => void handleImportBookmarks("json");
11008
+ insert(_el$62, createComponent(Show, {
10927
11009
  get when() {
10928
11010
  return bookmarkImportMessage();
10929
11011
  },
10930
11012
  get children() {
10931
- var _el$63 = _tmpl$0$3();
10932
- insert(_el$63, bookmarkImportMessage);
10933
- return _el$63;
11013
+ var _el$66 = _tmpl$0$3();
11014
+ insert(_el$66, bookmarkImportMessage);
11015
+ return _el$66;
10934
11016
  }
10935
11017
  }), null);
10936
11018
  createRenderEffect((_p$) => {
10937
11019
  var _v$ = bookmarkImporting(), _v$2 = bookmarkImporting();
10938
- _v$ !== _p$.e && (_el$61.disabled = _p$.e = _v$);
10939
- _v$2 !== _p$.t && (_el$62.disabled = _p$.t = _v$2);
11020
+ _v$ !== _p$.e && (_el$64.disabled = _p$.e = _v$);
11021
+ _v$2 !== _p$.t && (_el$65.disabled = _p$.t = _v$2);
10940
11022
  return _p$;
10941
11023
  }, {
10942
11024
  e: void 0,
10943
11025
  t: void 0
10944
11026
  });
10945
- return _el$59;
11027
+ return _el$62;
10946
11028
  }
10947
11029
  }), null);
10948
- _el$65.$$click = () => setBookmarkSaveExpanded((current) => !current);
10949
- insert(_el$64, createComponent(Show, {
11030
+ _el$68.$$click = () => setBookmarkSaveExpanded((current) => !current);
11031
+ insert(_el$67, createComponent(Show, {
10950
11032
  get when() {
10951
11033
  return bookmarkSaveExpanded();
10952
11034
  },
10953
11035
  get children() {
10954
- var _el$68 = _tmpl$10$3(), _el$69 = _el$68.firstChild, _el$70 = _el$69.nextSibling, _el$71 = _el$70.nextSibling, _el$72 = _el$71.firstChild, _el$73 = _el$71.nextSibling, _el$74 = _el$73.nextSibling, _el$75 = _el$74.nextSibling, _el$76 = _el$75.nextSibling, _el$77 = _el$76.nextSibling;
10955
- insert(_el$69, () => currentTab()?.title || "No active page");
10956
- insert(_el$70, () => currentTab()?.url || "Open a page to save it here.");
10957
- insert(_el$71, createComponent(DropdownSelect, {
11036
+ var _el$71 = _tmpl$10$3(), _el$72 = _el$71.firstChild, _el$73 = _el$72.nextSibling, _el$74 = _el$73.nextSibling, _el$75 = _el$74.firstChild, _el$76 = _el$74.nextSibling, _el$77 = _el$76.nextSibling, _el$78 = _el$77.nextSibling, _el$79 = _el$78.nextSibling, _el$80 = _el$79.nextSibling;
11037
+ insert(_el$72, () => currentTab()?.title || "No active page");
11038
+ insert(_el$73, () => currentTab()?.url || "Open a page to save it here.");
11039
+ insert(_el$74, createComponent(DropdownSelect, {
10958
11040
  "class": "bookmark-select",
10959
11041
  get value() {
10960
11042
  return selectedFolderId();
@@ -10964,37 +11046,37 @@ ${contextBlock}` : contextBlock);
10964
11046
  },
10965
11047
  ariaLabel: "Bookmark folder",
10966
11048
  onChange: (value) => setSelectedFolderId(value)
10967
- }), _el$72);
10968
- _el$72.$$click = () => void handleSaveBookmark();
10969
- _el$73.$$input = (e) => setBookmarkNote(e.currentTarget.value);
10970
- _el$74.$$input = (e) => setBookmarkIntent(e.currentTarget.value);
10971
- _el$75.$$input = (e) => setBookmarkExpectedContent(e.currentTarget.value);
10972
- _el$76.$$input = (e) => setBookmarkKeyFields(e.currentTarget.value);
10973
- _el$77.$$input = (e) => setBookmarkAgentHints(e.currentTarget.value);
10974
- createRenderEffect(() => _el$72.disabled = !currentTab()?.url);
10975
- createRenderEffect(() => _el$73.value = bookmarkNote());
10976
- createRenderEffect(() => _el$74.value = bookmarkIntent());
10977
- createRenderEffect(() => _el$75.value = bookmarkExpectedContent());
10978
- createRenderEffect(() => _el$76.value = bookmarkKeyFields());
10979
- createRenderEffect(() => _el$77.value = bookmarkAgentHints());
10980
- return _el$68;
11049
+ }), _el$75);
11050
+ _el$75.$$click = () => void handleSaveBookmark();
11051
+ _el$76.$$input = (e) => setBookmarkNote(e.currentTarget.value);
11052
+ _el$77.$$input = (e) => setBookmarkIntent(e.currentTarget.value);
11053
+ _el$78.$$input = (e) => setBookmarkExpectedContent(e.currentTarget.value);
11054
+ _el$79.$$input = (e) => setBookmarkKeyFields(e.currentTarget.value);
11055
+ _el$80.$$input = (e) => setBookmarkAgentHints(e.currentTarget.value);
11056
+ createRenderEffect(() => _el$75.disabled = !currentTab()?.url);
11057
+ createRenderEffect(() => _el$76.value = bookmarkNote());
11058
+ createRenderEffect(() => _el$77.value = bookmarkIntent());
11059
+ createRenderEffect(() => _el$78.value = bookmarkExpectedContent());
11060
+ createRenderEffect(() => _el$79.value = bookmarkKeyFields());
11061
+ createRenderEffect(() => _el$80.value = bookmarkAgentHints());
11062
+ return _el$71;
10981
11063
  }
10982
11064
  }), null);
10983
- _el$78.addEventListener("submit", handleCreateFolder);
10984
- _el$80.$$input = (e) => setNewFolderName(e.currentTarget.value);
10985
- _el$81.$$input = (e) => setNewFolderSummary(e.currentTarget.value);
10986
- insert(_el$83, createComponent(Show, {
11065
+ _el$81.addEventListener("submit", handleCreateFolder);
11066
+ _el$83.$$input = (e) => setNewFolderName(e.currentTarget.value);
11067
+ _el$84.$$input = (e) => setNewFolderSummary(e.currentTarget.value);
11068
+ insert(_el$86, createComponent(Show, {
10987
11069
  get when() {
10988
11070
  return filteredGroupedBookmarks().length > 0;
10989
11071
  },
10990
11072
  get fallback() {
10991
11073
  return (() => {
10992
- var _el$171 = _tmpl$41();
10993
- insert(_el$171, (() => {
11074
+ var _el$174 = _tmpl$41();
11075
+ insert(_el$174, (() => {
10994
11076
  var _c$5 = memo(() => !!normalizedBookmarkSearch());
10995
11077
  return () => _c$5() ? `No bookmarks matched "${bookmarkSearchQuery().trim()}".` : "No bookmarks saved yet.";
10996
11078
  })());
10997
- return _el$171;
11079
+ return _el$174;
10998
11080
  })();
10999
11081
  },
11000
11082
  get children() {
@@ -11003,100 +11085,100 @@ ${contextBlock}` : contextBlock);
11003
11085
  return filteredGroupedBookmarks();
11004
11086
  },
11005
11087
  children: (folder) => (() => {
11006
- var _el$172 = _tmpl$48(), _el$173 = _el$172.firstChild, _el$174 = _el$173.firstChild, _el$175 = _el$174.firstChild, _el$176 = _el$175.nextSibling, _el$177 = _el$176.firstChild, _el$178 = _el$177.nextSibling, _el$179 = _el$178.firstChild;
11007
- _el$173.$$keydown = (e) => {
11088
+ var _el$175 = _tmpl$48(), _el$176 = _el$175.firstChild, _el$177 = _el$176.firstChild, _el$178 = _el$177.firstChild, _el$179 = _el$178.nextSibling, _el$180 = _el$179.firstChild, _el$181 = _el$180.nextSibling, _el$182 = _el$181.firstChild;
11089
+ _el$176.$$keydown = (e) => {
11008
11090
  if (e.key === "Enter" || e.key === " ") {
11009
11091
  e.preventDefault();
11010
11092
  toggleFolderExpanded(folder.id);
11011
11093
  }
11012
11094
  };
11013
- _el$173.$$click = () => toggleFolderExpanded(folder.id);
11014
- insert(_el$177, () => folder.name);
11015
- insert(_el$178, () => folder.items.length, _el$179);
11016
- insert(_el$176, createComponent(Show, {
11095
+ _el$176.$$click = () => toggleFolderExpanded(folder.id);
11096
+ insert(_el$180, () => folder.name);
11097
+ insert(_el$181, () => folder.items.length, _el$182);
11098
+ insert(_el$179, createComponent(Show, {
11017
11099
  get when() {
11018
11100
  return folder.summary;
11019
11101
  },
11020
11102
  get children() {
11021
- var _el$180 = _tmpl$42();
11022
- insert(_el$180, () => folder.summary);
11023
- return _el$180;
11103
+ var _el$183 = _tmpl$42();
11104
+ insert(_el$183, () => folder.summary);
11105
+ return _el$183;
11024
11106
  }
11025
11107
  }), null);
11026
- insert(_el$173, createComponent(Show, {
11108
+ insert(_el$176, createComponent(Show, {
11027
11109
  get when() {
11028
11110
  return folder.id !== UNSORTED_FOLDER.id;
11029
11111
  },
11030
11112
  get children() {
11031
- var _el$181 = _tmpl$43(), _el$182 = _el$181.firstChild, _el$183 = _el$182.nextSibling, _el$184 = _el$183.nextSibling;
11032
- _el$182.$$click = (e) => {
11113
+ var _el$184 = _tmpl$43(), _el$185 = _el$184.firstChild, _el$186 = _el$185.nextSibling, _el$187 = _el$186.nextSibling;
11114
+ _el$185.$$click = (e) => {
11033
11115
  e.stopPropagation();
11034
11116
  setEditingFolderId(folder.id);
11035
11117
  setEditingFolderName(folder.name);
11036
11118
  setEditingFolderSummary(folder.summary || "");
11037
11119
  };
11038
- _el$183.$$click = (e) => {
11120
+ _el$186.$$click = (e) => {
11039
11121
  e.stopPropagation();
11040
11122
  void handleExportFolder(folder.id, folder.name);
11041
11123
  };
11042
- _el$184.$$click = (e) => {
11124
+ _el$187.$$click = (e) => {
11043
11125
  e.stopPropagation();
11044
11126
  setDeletingFolderId(folder.id);
11045
11127
  };
11046
- createRenderEffect(() => _el$183.disabled = bookmarkExporting());
11047
- return _el$181;
11128
+ createRenderEffect(() => _el$186.disabled = bookmarkExporting());
11129
+ return _el$184;
11048
11130
  }
11049
11131
  }), null);
11050
- insert(_el$172, createComponent(Show, {
11132
+ insert(_el$175, createComponent(Show, {
11051
11133
  get when() {
11052
11134
  return deletingFolderId() === folder.id;
11053
11135
  },
11054
11136
  get children() {
11055
- var _el$185 = _tmpl$45(), _el$186 = _el$185.firstChild, _el$187 = _el$186.firstChild, _el$189 = _el$187.nextSibling;
11056
- _el$189.nextSibling;
11057
- var _el$190 = _el$186.nextSibling, _el$192 = _el$190.firstChild, _el$193 = _el$192.nextSibling;
11058
- insert(_el$186, () => folder.name, _el$189);
11059
- insert(_el$186, (() => {
11137
+ var _el$188 = _tmpl$45(), _el$189 = _el$188.firstChild, _el$190 = _el$189.firstChild, _el$192 = _el$190.nextSibling;
11138
+ _el$192.nextSibling;
11139
+ var _el$193 = _el$189.nextSibling, _el$195 = _el$193.firstChild, _el$196 = _el$195.nextSibling;
11140
+ insert(_el$189, () => folder.name, _el$192);
11141
+ insert(_el$189, (() => {
11060
11142
  var _c$6 = memo(() => folder.items.length > 0);
11061
11143
  return () => _c$6() ? ` This folder has ${folder.items.length} bookmark${folder.items.length === 1 ? "" : "s"}.` : "";
11062
11144
  })(), null);
11063
- insert(_el$190, createComponent(Show, {
11145
+ insert(_el$193, createComponent(Show, {
11064
11146
  get when() {
11065
11147
  return folder.items.length > 0;
11066
11148
  },
11067
11149
  get children() {
11068
- var _el$191 = _tmpl$44();
11069
- _el$191.$$click = () => void handleRemoveFolder(folder.id, false);
11070
- return _el$191;
11150
+ var _el$194 = _tmpl$44();
11151
+ _el$194.$$click = () => void handleRemoveFolder(folder.id, false);
11152
+ return _el$194;
11071
11153
  }
11072
- }), _el$192);
11073
- _el$192.$$click = () => void handleRemoveFolder(folder.id, true);
11074
- insert(_el$192, () => folder.items.length > 0 ? "Delete all" : "Delete folder");
11075
- _el$193.$$click = () => setDeletingFolderId(null);
11076
- return _el$185;
11154
+ }), _el$195);
11155
+ _el$195.$$click = () => void handleRemoveFolder(folder.id, true);
11156
+ insert(_el$195, () => folder.items.length > 0 ? "Delete all" : "Delete folder");
11157
+ _el$196.$$click = () => setDeletingFolderId(null);
11158
+ return _el$188;
11077
11159
  }
11078
11160
  }), null);
11079
- insert(_el$172, createComponent(Show, {
11161
+ insert(_el$175, createComponent(Show, {
11080
11162
  get when() {
11081
11163
  return editingFolderId() === folder.id;
11082
11164
  },
11083
11165
  get children() {
11084
- var _el$194 = _tmpl$46(), _el$195 = _el$194.firstChild, _el$196 = _el$195.firstChild, _el$197 = _el$196.nextSibling, _el$198 = _el$195.nextSibling, _el$199 = _el$198.nextSibling;
11085
- _el$196.$$input = (e) => setEditingFolderName(e.currentTarget.value);
11086
- _el$197.$$input = (e) => setEditingFolderSummary(e.currentTarget.value);
11087
- _el$198.$$click = () => void handleRenameFolder(folder.id);
11088
- _el$199.$$click = () => {
11166
+ var _el$197 = _tmpl$46(), _el$198 = _el$197.firstChild, _el$199 = _el$198.firstChild, _el$200 = _el$199.nextSibling, _el$201 = _el$198.nextSibling, _el$202 = _el$201.nextSibling;
11167
+ _el$199.$$input = (e) => setEditingFolderName(e.currentTarget.value);
11168
+ _el$200.$$input = (e) => setEditingFolderSummary(e.currentTarget.value);
11169
+ _el$201.$$click = () => void handleRenameFolder(folder.id);
11170
+ _el$202.$$click = () => {
11089
11171
  setEditingFolderId(null);
11090
11172
  setEditingFolderName("");
11091
11173
  setEditingFolderSummary("");
11092
11174
  };
11093
- createRenderEffect(() => _el$198.disabled = !editingFolderName().trim());
11094
- createRenderEffect(() => _el$196.value = editingFolderName());
11095
- createRenderEffect(() => _el$197.value = editingFolderSummary());
11096
- return _el$194;
11175
+ createRenderEffect(() => _el$201.disabled = !editingFolderName().trim());
11176
+ createRenderEffect(() => _el$199.value = editingFolderName());
11177
+ createRenderEffect(() => _el$200.value = editingFolderSummary());
11178
+ return _el$197;
11097
11179
  }
11098
11180
  }), null);
11099
- insert(_el$172, createComponent(Show, {
11181
+ insert(_el$175, createComponent(Show, {
11100
11182
  get when() {
11101
11183
  return isFolderExpanded(folder.id);
11102
11184
  },
@@ -11112,134 +11194,134 @@ ${contextBlock}` : contextBlock);
11112
11194
  return _tmpl$50();
11113
11195
  },
11114
11196
  get children() {
11115
- var _el$200 = _tmpl$47();
11116
- insert(_el$200, createComponent(For, {
11197
+ var _el$203 = _tmpl$47();
11198
+ insert(_el$203, createComponent(For, {
11117
11199
  get each() {
11118
11200
  return folder.items;
11119
11201
  },
11120
11202
  children: (bookmark) => (() => {
11121
- var _el$203 = _tmpl$57(), _el$204 = _el$203.firstChild, _el$205 = _el$204.firstChild, _el$206 = _el$205.nextSibling, _el$231 = _el$204.nextSibling, _el$232 = _el$231.firstChild, _el$233 = _el$232.nextSibling, _el$234 = _el$233.nextSibling;
11122
- _el$204.$$click = () => void createTab(bookmark.url);
11123
- insert(_el$205, () => bookmark.title || bookmark.url);
11124
- insert(_el$206, () => bookmark.url);
11125
- insert(_el$203, createComponent(Show, {
11203
+ var _el$206 = _tmpl$57(), _el$207 = _el$206.firstChild, _el$208 = _el$207.firstChild, _el$209 = _el$208.nextSibling, _el$234 = _el$207.nextSibling, _el$235 = _el$234.firstChild, _el$236 = _el$235.nextSibling, _el$237 = _el$236.nextSibling;
11204
+ _el$207.$$click = () => void createTab(bookmark.url);
11205
+ insert(_el$208, () => bookmark.title || bookmark.url);
11206
+ insert(_el$209, () => bookmark.url);
11207
+ insert(_el$206, createComponent(Show, {
11126
11208
  get when() {
11127
11209
  return bookmark.note;
11128
11210
  },
11129
11211
  get children() {
11130
- var _el$207 = _tmpl$51();
11131
- insert(_el$207, () => bookmark.note);
11132
- return _el$207;
11212
+ var _el$210 = _tmpl$51();
11213
+ insert(_el$210, () => bookmark.note);
11214
+ return _el$210;
11133
11215
  }
11134
- }), _el$231);
11135
- insert(_el$203, createComponent(Show, {
11216
+ }), _el$234);
11217
+ insert(_el$206, createComponent(Show, {
11136
11218
  get when() {
11137
11219
  return bookmark.intent || bookmark.expectedContent || (bookmark.keyFields?.length || 0) > 0 || (bookmark.agentHints && Object.keys(bookmark.agentHints).length || 0) > 0;
11138
11220
  },
11139
11221
  get children() {
11140
- var _el$208 = _tmpl$51();
11141
- insert(_el$208, createComponent(Show, {
11222
+ var _el$211 = _tmpl$51();
11223
+ insert(_el$211, createComponent(Show, {
11142
11224
  get when() {
11143
11225
  return bookmark.intent;
11144
11226
  },
11145
11227
  get children() {
11146
- var _el$209 = _tmpl$52(), _el$210 = _el$209.firstChild;
11147
- _el$210.nextSibling;
11148
- insert(_el$209, () => bookmark.intent, null);
11149
- return _el$209;
11228
+ var _el$212 = _tmpl$52(), _el$213 = _el$212.firstChild;
11229
+ _el$213.nextSibling;
11230
+ insert(_el$212, () => bookmark.intent, null);
11231
+ return _el$212;
11150
11232
  }
11151
11233
  }), null);
11152
- insert(_el$208, createComponent(Show, {
11234
+ insert(_el$211, createComponent(Show, {
11153
11235
  get when() {
11154
11236
  return bookmark.expectedContent;
11155
11237
  },
11156
11238
  get children() {
11157
- var _el$212 = _tmpl$53(), _el$213 = _el$212.firstChild;
11158
- _el$213.nextSibling;
11159
- insert(_el$212, () => bookmark.expectedContent, null);
11160
- return _el$212;
11239
+ var _el$215 = _tmpl$53(), _el$216 = _el$215.firstChild;
11240
+ _el$216.nextSibling;
11241
+ insert(_el$215, () => bookmark.expectedContent, null);
11242
+ return _el$215;
11161
11243
  }
11162
11244
  }), null);
11163
- insert(_el$208, createComponent(Show, {
11245
+ insert(_el$211, createComponent(Show, {
11164
11246
  get when() {
11165
11247
  return (bookmark.keyFields?.length || 0) > 0;
11166
11248
  },
11167
11249
  get children() {
11168
- var _el$215 = _tmpl$54(), _el$216 = _el$215.firstChild;
11169
- _el$216.nextSibling;
11170
- insert(_el$215, () => bookmark.keyFields?.join(", "), null);
11171
- return _el$215;
11250
+ var _el$218 = _tmpl$54(), _el$219 = _el$218.firstChild;
11251
+ _el$219.nextSibling;
11252
+ insert(_el$218, () => bookmark.keyFields?.join(", "), null);
11253
+ return _el$218;
11172
11254
  }
11173
11255
  }), null);
11174
- insert(_el$208, createComponent(Show, {
11256
+ insert(_el$211, createComponent(Show, {
11175
11257
  get when() {
11176
11258
  return memo(() => !!bookmark.agentHints)() && Object.keys(bookmark.agentHints).length > 0;
11177
11259
  },
11178
11260
  get children() {
11179
- var _el$218 = _tmpl$55(), _el$219 = _el$218.firstChild;
11180
- _el$219.nextSibling;
11181
- insert(_el$218, () => Object.entries(bookmark.agentHints || {}).map(([key, hint]) => `${key}: ${hint}`).join(" • "), null);
11182
- return _el$218;
11261
+ var _el$221 = _tmpl$55(), _el$222 = _el$221.firstChild;
11262
+ _el$222.nextSibling;
11263
+ insert(_el$221, () => Object.entries(bookmark.agentHints || {}).map(([key, hint]) => `${key}: ${hint}`).join(" • "), null);
11264
+ return _el$221;
11183
11265
  }
11184
11266
  }), null);
11185
- return _el$208;
11267
+ return _el$211;
11186
11268
  }
11187
- }), _el$231);
11188
- insert(_el$203, createComponent(Show, {
11269
+ }), _el$234);
11270
+ insert(_el$206, createComponent(Show, {
11189
11271
  get when() {
11190
11272
  return editingBookmarkId() === bookmark.id;
11191
11273
  },
11192
11274
  get children() {
11193
- var _el$221 = _tmpl$56(), _el$222 = _el$221.firstChild, _el$223 = _el$222.nextSibling, _el$224 = _el$223.nextSibling, _el$225 = _el$224.nextSibling, _el$226 = _el$225.nextSibling, _el$227 = _el$226.nextSibling, _el$228 = _el$227.nextSibling, _el$229 = _el$228.firstChild, _el$230 = _el$229.nextSibling;
11194
- _el$222.$$input = (e) => setEditingBookmarkTitle(e.currentTarget.value);
11195
- _el$223.$$input = (e) => setEditingBookmarkNote(e.currentTarget.value);
11196
- _el$224.$$input = (e) => setEditingBookmarkIntent(e.currentTarget.value);
11197
- _el$225.$$input = (e) => setEditingBookmarkExpectedContent(e.currentTarget.value);
11198
- _el$226.$$input = (e) => setEditingBookmarkKeyFields(e.currentTarget.value);
11199
- _el$227.$$input = (e) => setEditingBookmarkAgentHints(e.currentTarget.value);
11200
- _el$229.$$click = () => void handleUpdateBookmark(bookmark.id);
11201
- _el$230.$$click = resetBookmarkEditor;
11202
- createRenderEffect(() => _el$222.value = editingBookmarkTitle());
11203
- createRenderEffect(() => _el$223.value = editingBookmarkNote());
11204
- createRenderEffect(() => _el$224.value = editingBookmarkIntent());
11205
- createRenderEffect(() => _el$225.value = editingBookmarkExpectedContent());
11206
- createRenderEffect(() => _el$226.value = editingBookmarkKeyFields());
11207
- createRenderEffect(() => _el$227.value = editingBookmarkAgentHints());
11208
- return _el$221;
11275
+ var _el$224 = _tmpl$56(), _el$225 = _el$224.firstChild, _el$226 = _el$225.nextSibling, _el$227 = _el$226.nextSibling, _el$228 = _el$227.nextSibling, _el$229 = _el$228.nextSibling, _el$230 = _el$229.nextSibling, _el$231 = _el$230.nextSibling, _el$232 = _el$231.firstChild, _el$233 = _el$232.nextSibling;
11276
+ _el$225.$$input = (e) => setEditingBookmarkTitle(e.currentTarget.value);
11277
+ _el$226.$$input = (e) => setEditingBookmarkNote(e.currentTarget.value);
11278
+ _el$227.$$input = (e) => setEditingBookmarkIntent(e.currentTarget.value);
11279
+ _el$228.$$input = (e) => setEditingBookmarkExpectedContent(e.currentTarget.value);
11280
+ _el$229.$$input = (e) => setEditingBookmarkKeyFields(e.currentTarget.value);
11281
+ _el$230.$$input = (e) => setEditingBookmarkAgentHints(e.currentTarget.value);
11282
+ _el$232.$$click = () => void handleUpdateBookmark(bookmark.id);
11283
+ _el$233.$$click = resetBookmarkEditor;
11284
+ createRenderEffect(() => _el$225.value = editingBookmarkTitle());
11285
+ createRenderEffect(() => _el$226.value = editingBookmarkNote());
11286
+ createRenderEffect(() => _el$227.value = editingBookmarkIntent());
11287
+ createRenderEffect(() => _el$228.value = editingBookmarkExpectedContent());
11288
+ createRenderEffect(() => _el$229.value = editingBookmarkKeyFields());
11289
+ createRenderEffect(() => _el$230.value = editingBookmarkAgentHints());
11290
+ return _el$224;
11209
11291
  }
11210
- }), _el$231);
11211
- insert(_el$232, () => formatBookmarkDate(bookmark.savedAt));
11212
- _el$233.$$click = () => editingBookmarkId() === bookmark.id ? resetBookmarkEditor() : startEditingBookmark(bookmark);
11213
- insert(_el$233, () => editingBookmarkId() === bookmark.id ? "Close" : "Edit");
11214
- _el$234.$$click = () => {
11292
+ }), _el$234);
11293
+ insert(_el$235, () => formatBookmarkDate(bookmark.savedAt));
11294
+ _el$236.$$click = () => editingBookmarkId() === bookmark.id ? resetBookmarkEditor() : startEditingBookmark(bookmark);
11295
+ insert(_el$236, () => editingBookmarkId() === bookmark.id ? "Close" : "Edit");
11296
+ _el$237.$$click = () => {
11215
11297
  if (editingBookmarkId() === bookmark.id) {
11216
11298
  resetBookmarkEditor();
11217
11299
  }
11218
11300
  void removeBookmark(bookmark.id);
11219
11301
  };
11220
- createRenderEffect(() => setAttribute(_el$203, "data-bookmark-id", bookmark.id));
11221
- return _el$203;
11302
+ createRenderEffect(() => setAttribute(_el$206, "data-bookmark-id", bookmark.id));
11303
+ return _el$206;
11222
11304
  })()
11223
11305
  }));
11224
- return _el$200;
11306
+ return _el$203;
11225
11307
  }
11226
11308
  });
11227
11309
  }
11228
11310
  }), null);
11229
- createRenderEffect(() => _el$175.classList.toggle("expanded", !!isFolderExpanded(folder.id)));
11230
- return _el$172;
11311
+ createRenderEffect(() => _el$178.classList.toggle("expanded", !!isFolderExpanded(folder.id)));
11312
+ return _el$175;
11231
11313
  })()
11232
11314
  });
11233
11315
  }
11234
11316
  }));
11235
11317
  createRenderEffect((_p$) => {
11236
11318
  var _v$3 = bookmarkExporting(), _v$4 = bookmarkExporting(), _v$5 = bookmarkExporting(), _v$6 = !!bookmarkImportExpanded(), _v$7 = !!bookmarkSaveExpanded(), _v$8 = !newFolderName().trim();
11237
- _v$3 !== _p$.e && (_el$51.disabled = _p$.e = _v$3);
11238
- _v$4 !== _p$.t && (_el$52.disabled = _p$.t = _v$4);
11239
- _v$5 !== _p$.a && (_el$53.disabled = _p$.a = _v$5);
11240
- _v$6 !== _p$.o && _el$58.classList.toggle("expanded", _p$.o = _v$6);
11241
- _v$7 !== _p$.i && _el$67.classList.toggle("expanded", _p$.i = _v$7);
11242
- _v$8 !== _p$.n && (_el$82.disabled = _p$.n = _v$8);
11319
+ _v$3 !== _p$.e && (_el$54.disabled = _p$.e = _v$3);
11320
+ _v$4 !== _p$.t && (_el$55.disabled = _p$.t = _v$4);
11321
+ _v$5 !== _p$.a && (_el$56.disabled = _p$.a = _v$5);
11322
+ _v$6 !== _p$.o && _el$61.classList.toggle("expanded", _p$.o = _v$6);
11323
+ _v$7 !== _p$.i && _el$70.classList.toggle("expanded", _p$.i = _v$7);
11324
+ _v$8 !== _p$.n && (_el$85.disabled = _p$.n = _v$8);
11243
11325
  return _p$;
11244
11326
  }, {
11245
11327
  e: void 0,
@@ -11249,32 +11331,32 @@ ${contextBlock}` : contextBlock);
11249
11331
  i: void 0,
11250
11332
  n: void 0
11251
11333
  });
11252
- createRenderEffect(() => _el$47.value = bookmarkSearchQuery());
11253
- createRenderEffect(() => _el$80.value = newFolderName());
11254
- createRenderEffect(() => _el$81.value = newFolderSummary());
11255
- return _el$41;
11334
+ createRenderEffect(() => _el$50.value = bookmarkSearchQuery());
11335
+ createRenderEffect(() => _el$83.value = newFolderName());
11336
+ createRenderEffect(() => _el$84.value = newFolderSummary());
11337
+ return _el$44;
11256
11338
  }
11257
- }), _el$131);
11339
+ }), _el$134);
11258
11340
  insert(_el$25, createComponent(Show, {
11259
11341
  get when() {
11260
11342
  return sidebarTab() === "checkpoints";
11261
11343
  },
11262
11344
  get children() {
11263
- var _el$84 = _tmpl$13$2(), _el$85 = _el$84.firstChild, _el$86 = _el$85.firstChild, _el$87 = _el$86.firstChild, _el$88 = _el$87.nextSibling, _el$89 = _el$85.nextSibling, _el$90 = _el$89.firstChild, _el$91 = _el$90.firstChild, _el$92 = _el$91.nextSibling, _el$93 = _el$92.nextSibling;
11264
- _el$90.nextSibling;
11265
- insert(_el$88, (() => {
11345
+ var _el$87 = _tmpl$13$3(), _el$88 = _el$87.firstChild, _el$89 = _el$88.firstChild, _el$90 = _el$89.firstChild, _el$91 = _el$90.nextSibling, _el$92 = _el$88.nextSibling, _el$93 = _el$92.firstChild, _el$94 = _el$93.firstChild, _el$95 = _el$94.nextSibling, _el$96 = _el$95.nextSibling;
11346
+ _el$93.nextSibling;
11347
+ insert(_el$91, (() => {
11266
11348
  var _c$3 = memo(() => recentCheckpoints().length > 0);
11267
11349
  return () => _c$3() ? `${recentCheckpoints().length} saved snapshots` : "Save and restore session snapshots";
11268
11350
  })());
11269
- _el$91.$$input = (e) => setCheckpointName(e.currentTarget.value);
11270
- _el$92.$$input = (e) => setCheckpointNote(e.currentTarget.value);
11271
- _el$93.$$click = async () => {
11351
+ _el$94.$$input = (e) => setCheckpointName(e.currentTarget.value);
11352
+ _el$95.$$input = (e) => setCheckpointNote(e.currentTarget.value);
11353
+ _el$96.$$click = async () => {
11272
11354
  const name = checkpointName().trim();
11273
11355
  await createCheckpoint(name || void 0, checkpointNote() || void 0);
11274
11356
  setCheckpointName("");
11275
11357
  setCheckpointNote("");
11276
11358
  };
11277
- insert(_el$89, createComponent(Show, {
11359
+ insert(_el$92, createComponent(Show, {
11278
11360
  get when() {
11279
11361
  return recentCheckpoints().length > 0;
11280
11362
  },
@@ -11282,14 +11364,14 @@ ${contextBlock}` : contextBlock);
11282
11364
  return _tmpl$58();
11283
11365
  },
11284
11366
  get children() {
11285
- var _el$95 = _tmpl$12$3();
11286
- insert(_el$95, createComponent(For, {
11367
+ var _el$98 = _tmpl$12$3();
11368
+ insert(_el$98, createComponent(For, {
11287
11369
  get each() {
11288
11370
  return recentCheckpoints();
11289
11371
  },
11290
11372
  children: (checkpoint, i) => (() => {
11291
- var _el$236 = _tmpl$60(), _el$237 = _el$236.firstChild, _el$238 = _el$237.firstChild, _el$240 = _el$237.nextSibling, _el$241 = _el$240.firstChild, _el$242 = _el$241.nextSibling, _el$243 = _el$242.nextSibling, _el$244 = _el$243.nextSibling;
11292
- insert(_el$237, createComponent(Show, {
11373
+ var _el$239 = _tmpl$60(), _el$240 = _el$239.firstChild, _el$241 = _el$240.firstChild, _el$243 = _el$240.nextSibling, _el$244 = _el$243.firstChild, _el$245 = _el$244.nextSibling, _el$246 = _el$245.nextSibling, _el$247 = _el$246.nextSibling;
11374
+ insert(_el$240, createComponent(Show, {
11293
11375
  get when() {
11294
11376
  return i() < recentCheckpoints().length - 1;
11295
11377
  },
@@ -11297,23 +11379,23 @@ ${contextBlock}` : contextBlock);
11297
11379
  return _tmpl$59();
11298
11380
  }
11299
11381
  }), null);
11300
- insert(_el$241, () => checkpoint.name);
11301
- insert(_el$242, () => new Date(checkpoint.createdAt).toLocaleString());
11302
- _el$243.addEventListener("blur", (e) => void updateCheckpointNote(checkpoint.id, e.currentTarget.value));
11303
- _el$244.$$click = () => void restoreCheckpoint(checkpoint.id);
11304
- createRenderEffect(() => _el$238.classList.toggle("latest", !!(i() === 0)));
11305
- createRenderEffect(() => _el$243.value = checkpoint.note || "");
11306
- return _el$236;
11382
+ insert(_el$244, () => checkpoint.name);
11383
+ insert(_el$245, () => new Date(checkpoint.createdAt).toLocaleString());
11384
+ _el$246.addEventListener("blur", (e) => void updateCheckpointNote(checkpoint.id, e.currentTarget.value));
11385
+ _el$247.$$click = () => void restoreCheckpoint(checkpoint.id);
11386
+ createRenderEffect(() => _el$241.classList.toggle("latest", !!(i() === 0)));
11387
+ createRenderEffect(() => _el$246.value = checkpoint.note || "");
11388
+ return _el$239;
11307
11389
  })()
11308
11390
  }));
11309
- return _el$95;
11391
+ return _el$98;
11310
11392
  }
11311
11393
  }), null);
11312
- createRenderEffect(() => _el$91.value = checkpointName());
11313
- createRenderEffect(() => _el$92.value = checkpointNote());
11314
- return _el$84;
11394
+ createRenderEffect(() => _el$94.value = checkpointName());
11395
+ createRenderEffect(() => _el$95.value = checkpointNote());
11396
+ return _el$87;
11315
11397
  }
11316
- }), _el$131);
11398
+ }), _el$134);
11317
11399
  insert(_el$25, createComponent(Show, {
11318
11400
  get when() {
11319
11401
  return sidebarTab() === "automation";
@@ -11323,7 +11405,7 @@ ${contextBlock}` : contextBlock);
11323
11405
  onRun: () => setSidebarTab("supervisor")
11324
11406
  });
11325
11407
  }
11326
- }), _el$131);
11408
+ }), _el$134);
11327
11409
  insert(_el$25, createComponent(Show, {
11328
11410
  get when() {
11329
11411
  return sidebarTab() === "research";
@@ -11331,92 +11413,92 @@ ${contextBlock}` : contextBlock);
11331
11413
  get children() {
11332
11414
  return createComponent(ResearchDesk, {});
11333
11415
  }
11334
- }), _el$131);
11416
+ }), _el$134);
11335
11417
  insert(_el$25, createComponent(Show, {
11336
11418
  get when() {
11337
11419
  return sidebarTab() === "history";
11338
11420
  },
11339
11421
  get children() {
11340
- var _el$96 = _tmpl$16$1(), _el$97 = _el$96.firstChild, _el$98 = _el$97.firstChild, _el$99 = _el$98.nextSibling, _el$100 = _el$99.firstChild, _el$101 = _el$100.nextSibling, _el$102 = _el$101.nextSibling, _el$103 = _el$102.nextSibling, _el$104 = _el$97.nextSibling;
11341
- _el$100.$$click = async () => {
11422
+ var _el$99 = _tmpl$16$2(), _el$100 = _el$99.firstChild, _el$101 = _el$100.firstChild, _el$102 = _el$101.nextSibling, _el$103 = _el$102.firstChild, _el$104 = _el$103.nextSibling, _el$105 = _el$104.nextSibling, _el$106 = _el$105.nextSibling, _el$107 = _el$100.nextSibling;
11423
+ _el$103.$$click = async () => {
11342
11424
  await history.clear();
11343
11425
  };
11344
- _el$101.$$click = async () => {
11426
+ _el$104.$$click = async () => {
11345
11427
  const result = await window.vessel.history.exportHtml();
11346
11428
  if (!result) return;
11347
11429
  };
11348
- _el$102.$$click = async () => {
11430
+ _el$105.$$click = async () => {
11349
11431
  const result = await window.vessel.history.exportJson();
11350
11432
  if (!result) return;
11351
11433
  };
11352
- _el$103.$$click = async () => {
11434
+ _el$106.$$click = async () => {
11353
11435
  const result = await window.vessel.history.importFile();
11354
11436
  if (!result) return;
11355
11437
  };
11356
- insert(_el$104, createComponent(For, {
11438
+ insert(_el$107, createComponent(For, {
11357
11439
  get each() {
11358
11440
  return history.historyState().entries;
11359
11441
  },
11360
11442
  children: (entry) => (() => {
11361
- var _el$245 = _tmpl$61(), _el$246 = _el$245.firstChild, _el$247 = _el$246.nextSibling, _el$248 = _el$247.nextSibling;
11362
- _el$245.$$click = () => createTab(entry.url);
11363
- insert(_el$246, () => entry.title || entry.url);
11364
- insert(_el$247, () => entry.url);
11365
- insert(_el$248, () => new Date(entry.visitedAt).toLocaleString());
11366
- return _el$245;
11443
+ var _el$248 = _tmpl$61(), _el$249 = _el$248.firstChild, _el$250 = _el$249.nextSibling, _el$251 = _el$250.nextSibling;
11444
+ _el$248.$$click = () => createTab(entry.url);
11445
+ insert(_el$249, () => entry.title || entry.url);
11446
+ insert(_el$250, () => entry.url);
11447
+ insert(_el$251, () => new Date(entry.visitedAt).toLocaleString());
11448
+ return _el$248;
11367
11449
  })()
11368
11450
  }), null);
11369
- insert(_el$104, createComponent(Show, {
11451
+ insert(_el$107, createComponent(Show, {
11370
11452
  get when() {
11371
11453
  return history.hasMore();
11372
11454
  },
11373
11455
  get children() {
11374
- var _el$105 = _tmpl$14$2(), _el$106 = _el$105.firstChild, _el$107 = _el$106.nextSibling, _el$108 = _el$107.firstChild, _el$111 = _el$108.nextSibling;
11375
- _el$111.nextSibling;
11376
- _el$105.$$click = () => void history.loadMore();
11377
- insert(_el$107, () => history.historyState().entries.length, _el$111);
11378
- insert(_el$107, () => history.historyTotal(), null);
11379
- return _el$105;
11456
+ var _el$108 = _tmpl$14$3(), _el$109 = _el$108.firstChild, _el$110 = _el$109.nextSibling, _el$111 = _el$110.firstChild, _el$114 = _el$111.nextSibling;
11457
+ _el$114.nextSibling;
11458
+ _el$108.$$click = () => void history.loadMore();
11459
+ insert(_el$110, () => history.historyState().entries.length, _el$114);
11460
+ insert(_el$110, () => history.historyTotal(), null);
11461
+ return _el$108;
11380
11462
  }
11381
11463
  }), null);
11382
- insert(_el$104, createComponent(Show, {
11464
+ insert(_el$107, createComponent(Show, {
11383
11465
  get when() {
11384
11466
  return history.historyState().entries.length === 0;
11385
11467
  },
11386
11468
  get children() {
11387
- return _tmpl$15$2();
11469
+ return _tmpl$15$3();
11388
11470
  }
11389
11471
  }), null);
11390
- return _el$96;
11472
+ return _el$99;
11391
11473
  }
11392
- }), _el$131);
11474
+ }), _el$134);
11393
11475
  insert(_el$25, createComponent(Show, {
11394
11476
  get when() {
11395
11477
  return sidebarTab() === "diff";
11396
11478
  },
11397
11479
  get children() {
11398
- var _el$113 = _tmpl$17$1(), _el$114 = _el$113.firstChild, _el$115 = _el$114.firstChild, _el$116 = _el$115.nextSibling;
11399
- insert(_el$116, () => isPremium() ? "Page change timeline" : "Premium feature");
11400
- insert(_el$113, createComponent(Show, {
11480
+ var _el$116 = _tmpl$17$2(), _el$117 = _el$116.firstChild, _el$118 = _el$117.firstChild, _el$119 = _el$118.nextSibling;
11481
+ insert(_el$119, () => isPremium() ? "Page change timeline" : "Premium feature");
11482
+ insert(_el$116, createComponent(Show, {
11401
11483
  get when() {
11402
11484
  return isPremium();
11403
11485
  },
11404
11486
  get fallback() {
11405
11487
  return (() => {
11406
- var _el$249 = _tmpl$62(), _el$250 = _el$249.firstChild, _el$251 = _el$250.nextSibling, _el$252 = _el$251.nextSibling, _el$253 = _el$252.firstChild, _el$254 = _el$253.nextSibling;
11407
- _el$253.$$click = () => void window.vessel.premium.checkout(premiumState().email || void 0).catch(() => {
11488
+ var _el$252 = _tmpl$62(), _el$253 = _el$252.firstChild, _el$254 = _el$253.nextSibling, _el$255 = _el$254.nextSibling, _el$256 = _el$255.firstChild, _el$257 = _el$256.nextSibling;
11489
+ _el$256.$$click = () => void window.vessel.premium.checkout(premiumState().email || void 0).catch(() => {
11408
11490
  });
11409
- _el$254.$$click = openPremiumDetails;
11410
- return _el$249;
11491
+ _el$257.$$click = openPremiumDetails;
11492
+ return _el$252;
11411
11493
  })();
11412
11494
  },
11413
11495
  get children() {
11414
11496
  return createComponent(PageDiffTimeline, {});
11415
11497
  }
11416
11498
  }), null);
11417
- return _el$113;
11499
+ return _el$116;
11418
11500
  }
11419
- }), _el$131);
11501
+ }), _el$134);
11420
11502
  insert(_el$25, createComponent(Show, {
11421
11503
  get when() {
11422
11504
  return sidebarTab() === "chat";
@@ -11427,23 +11509,23 @@ ${contextBlock}` : contextBlock);
11427
11509
  return !isPremium();
11428
11510
  },
11429
11511
  get children() {
11430
- var _el$117 = _tmpl$18$1(), _el$118 = _el$117.firstChild, _el$119 = _el$118.nextSibling, _el$120 = _el$119.nextSibling, _el$121 = _el$120.firstChild, _el$122 = _el$121.nextSibling;
11431
- _el$121.$$click = () => openPremiumCheckout("chat_banner_clicked");
11432
- _el$122.$$click = openPremiumDetails;
11433
- return _el$117;
11512
+ var _el$120 = _tmpl$18$2(), _el$121 = _el$120.firstChild, _el$122 = _el$121.nextSibling, _el$123 = _el$122.nextSibling, _el$124 = _el$123.firstChild, _el$125 = _el$124.nextSibling;
11513
+ _el$124.$$click = () => openPremiumCheckout("chat_banner_clicked");
11514
+ _el$125.$$click = openPremiumDetails;
11515
+ return _el$120;
11434
11516
  }
11435
11517
  }), createComponent(For, {
11436
11518
  get each() {
11437
11519
  return messages2();
11438
11520
  },
11439
11521
  children: (msg) => (() => {
11440
- var _el$255 = _tmpl$63();
11441
- insert(_el$255, createComponent(MarkdownMessage, {
11522
+ var _el$258 = _tmpl$63();
11523
+ insert(_el$258, createComponent(MarkdownMessage, {
11442
11524
  get content() {
11443
11525
  return msg.content;
11444
11526
  }
11445
11527
  }), null);
11446
- insert(_el$255, createComponent(Show, {
11528
+ insert(_el$258, createComponent(Show, {
11447
11529
  get when() {
11448
11530
  return memo(() => msg.role === "assistant")() ? getPremiumPromptKind(msg.content) : null;
11449
11531
  },
@@ -11456,16 +11538,16 @@ ${contextBlock}` : contextBlock);
11456
11538
  onOpenSettings: openPremiumDetails
11457
11539
  })
11458
11540
  }), null);
11459
- createRenderEffect(() => className(_el$255, `message message-${msg.role}`));
11460
- return _el$255;
11541
+ createRenderEffect(() => className(_el$258, `message message-${msg.role}`));
11542
+ return _el$258;
11461
11543
  })()
11462
11544
  }), createComponent(Show, {
11463
11545
  get when() {
11464
11546
  return isStreaming2();
11465
11547
  },
11466
11548
  get children() {
11467
- var _el$123 = _tmpl$21$1(), _el$124 = _el$123.firstChild;
11468
- insert(_el$124, createComponent(Show, {
11549
+ var _el$126 = _tmpl$21$2(), _el$127 = _el$126.firstChild;
11550
+ insert(_el$127, createComponent(Show, {
11469
11551
  get when() {
11470
11552
  return hasFirstChunk2();
11471
11553
  },
@@ -11473,14 +11555,14 @@ ${contextBlock}` : contextBlock);
11473
11555
  return _tmpl$64();
11474
11556
  },
11475
11557
  get children() {
11476
- var _el$125 = _tmpl$20$1(), _el$126 = _el$125.firstChild, _el$127 = _el$126.firstChild;
11477
- _el$127.nextSibling;
11478
- insert(_el$125, createComponent(MarkdownMessage, {
11558
+ var _el$128 = _tmpl$20$2(), _el$129 = _el$128.firstChild, _el$130 = _el$129.firstChild;
11559
+ _el$130.nextSibling;
11560
+ insert(_el$128, createComponent(MarkdownMessage, {
11479
11561
  get content() {
11480
11562
  return streamingText2();
11481
11563
  }
11482
- }), _el$126);
11483
- insert(_el$125, createComponent(Show, {
11564
+ }), _el$129);
11565
+ insert(_el$128, createComponent(Show, {
11484
11566
  get when() {
11485
11567
  return getPremiumPromptKind(streamingText2());
11486
11568
  },
@@ -11492,21 +11574,21 @@ ${contextBlock}` : contextBlock);
11492
11574
  onStartTrial: () => openPremiumCheckout(kind() === "premium_gate" ? "premium_gate_clicked" : "iteration_limit_clicked"),
11493
11575
  onOpenSettings: openPremiumDetails
11494
11576
  })
11495
- }), _el$126);
11496
- insert(_el$126, createComponent(Show, {
11577
+ }), _el$129);
11578
+ insert(_el$129, createComponent(Show, {
11497
11579
  get when() {
11498
11580
  return elapsedSeconds() > 0;
11499
11581
  },
11500
11582
  get children() {
11501
- var _el$129 = _tmpl$19$1();
11502
- insert(_el$129, () => ` • ${elapsedSeconds()}s`);
11503
- return _el$129;
11583
+ var _el$132 = _tmpl$19$2();
11584
+ insert(_el$132, () => ` • ${elapsedSeconds()}s`);
11585
+ return _el$132;
11504
11586
  }
11505
11587
  }), null);
11506
- return _el$125;
11588
+ return _el$128;
11507
11589
  }
11508
11590
  }));
11509
- return _el$123;
11591
+ return _el$126;
11510
11592
  }
11511
11593
  }), createComponent(Show, {
11512
11594
  get when() {
@@ -11518,22 +11600,22 @@ ${contextBlock}` : contextBlock);
11518
11600
  return runtimeState2().supervisor.pendingApprovals;
11519
11601
  },
11520
11602
  children: (approval) => (() => {
11521
- var _el$257 = _tmpl$66(), _el$258 = _el$257.firstChild, _el$259 = _el$258.nextSibling, _el$260 = _el$259.firstChild, _el$261 = _el$260.firstChild, _el$262 = _el$261.nextSibling, _el$264 = _el$260.nextSibling, _el$265 = _el$264.nextSibling, _el$266 = _el$265.firstChild, _el$267 = _el$266.nextSibling;
11522
- insert(_el$262, () => approval.name);
11523
- insert(_el$259, createComponent(Show, {
11603
+ var _el$260 = _tmpl$66(), _el$261 = _el$260.firstChild, _el$262 = _el$261.nextSibling, _el$263 = _el$262.firstChild, _el$264 = _el$263.firstChild, _el$265 = _el$264.nextSibling, _el$267 = _el$263.nextSibling, _el$268 = _el$267.nextSibling, _el$269 = _el$268.firstChild, _el$270 = _el$269.nextSibling;
11604
+ insert(_el$265, () => approval.name);
11605
+ insert(_el$262, createComponent(Show, {
11524
11606
  get when() {
11525
11607
  return approval.argsSummary;
11526
11608
  },
11527
11609
  get children() {
11528
- var _el$263 = _tmpl$65();
11529
- insert(_el$263, () => approval.argsSummary);
11530
- return _el$263;
11610
+ var _el$266 = _tmpl$65();
11611
+ insert(_el$266, () => approval.argsSummary);
11612
+ return _el$266;
11531
11613
  }
11532
- }), _el$264);
11533
- insert(_el$264, () => approval.reason);
11534
- _el$266.$$click = () => void resolveApproval(approval.id, true);
11535
- _el$267.$$click = () => void resolveApproval(approval.id, false);
11536
- return _el$257;
11614
+ }), _el$267);
11615
+ insert(_el$267, () => approval.reason);
11616
+ _el$269.$$click = () => void resolveApproval(approval.id, true);
11617
+ _el$270.$$click = () => void resolveApproval(approval.id, false);
11618
+ return _el$260;
11537
11619
  })()
11538
11620
  });
11539
11621
  }
@@ -11542,13 +11624,13 @@ ${contextBlock}` : contextBlock);
11542
11624
  return memo(() => messages2().length === 0)() && !isStreaming2();
11543
11625
  },
11544
11626
  get children() {
11545
- return _tmpl$22$1();
11627
+ return _tmpl$22$2();
11546
11628
  }
11547
11629
  })];
11548
11630
  }
11549
- }), _el$131);
11631
+ }), _el$134);
11550
11632
  var _ref$ = messagesEndRef;
11551
- typeof _ref$ === "function" ? use(_ref$, _el$131) : messagesEndRef = _el$131;
11633
+ typeof _ref$ === "function" ? use(_ref$, _el$134) : messagesEndRef = _el$134;
11552
11634
  insert(_el$9, createComponent(Show, {
11553
11635
  get when() {
11554
11636
  return sidebarTab() === "chat";
@@ -11559,156 +11641,156 @@ ${contextBlock}` : contextBlock);
11559
11641
  return isStreaming2() || messages2().length > 0;
11560
11642
  },
11561
11643
  get children() {
11562
- var _el$132 = _tmpl$25$1();
11563
- insert(_el$132, createComponent(Show, {
11644
+ var _el$135 = _tmpl$25$2();
11645
+ insert(_el$135, createComponent(Show, {
11564
11646
  get when() {
11565
11647
  return isStreaming2();
11566
11648
  },
11567
11649
  get children() {
11568
- var _el$133 = _tmpl$23$1();
11569
- _el$133.$$click = () => cancel();
11570
- return _el$133;
11650
+ var _el$136 = _tmpl$23$2();
11651
+ _el$136.$$click = () => cancel();
11652
+ return _el$136;
11571
11653
  }
11572
11654
  }), null);
11573
- insert(_el$132, createComponent(Show, {
11655
+ insert(_el$135, createComponent(Show, {
11574
11656
  get when() {
11575
11657
  return memo(() => !!!isStreaming2())() && messages2().length > 0;
11576
11658
  },
11577
11659
  get children() {
11578
- var _el$134 = _tmpl$24$1();
11579
- _el$134.$$click = handleRetry;
11580
- return _el$134;
11660
+ var _el$137 = _tmpl$24$2();
11661
+ _el$137.$$click = handleRetry;
11662
+ return _el$137;
11581
11663
  }
11582
11664
  }), null);
11583
- return _el$132;
11665
+ return _el$135;
11584
11666
  }
11585
11667
  }), createComponent(Show, {
11586
11668
  get when() {
11587
11669
  return highlightCount() > 0;
11588
11670
  },
11589
11671
  get children() {
11590
- var _el$135 = _tmpl$26$1(), _el$136 = _el$135.firstChild, _el$137 = _el$136.nextSibling;
11591
- _el$137.firstChild;
11592
- var _el$139 = _el$137.nextSibling;
11593
- _el$136.$$click = () => void scrollToHighlight(highlightIndex() - 1);
11594
- _el$137.$$click = () => void scrollToHighlight(highlightIndex() < 0 ? 0 : highlightIndex());
11595
- insert(_el$137, (() => {
11672
+ var _el$138 = _tmpl$26$2(), _el$139 = _el$138.firstChild, _el$140 = _el$139.nextSibling;
11673
+ _el$140.firstChild;
11674
+ var _el$142 = _el$140.nextSibling;
11675
+ _el$139.$$click = () => void scrollToHighlight(highlightIndex() - 1);
11676
+ _el$140.$$click = () => void scrollToHighlight(highlightIndex() < 0 ? 0 : highlightIndex());
11677
+ insert(_el$140, (() => {
11596
11678
  var _c$4 = memo(() => highlightIndex() >= 0);
11597
11679
  return () => _c$4() ? `${highlightIndex() + 1} / ${highlightCount()}` : `${highlightCount()} highlight${highlightCount() > 1 ? "s" : ""}`;
11598
11680
  })(), null);
11599
- _el$139.$$click = () => void scrollToHighlight(highlightIndex() < 0 ? 0 : highlightIndex() + 1);
11681
+ _el$142.$$click = () => void scrollToHighlight(highlightIndex() < 0 ? 0 : highlightIndex() + 1);
11600
11682
  createRenderEffect((_p$) => {
11601
11683
  var _v$9 = highlightIndex() <= 0, _v$0 = highlightIndex() >= highlightCount() - 1;
11602
- _v$9 !== _p$.e && (_el$136.disabled = _p$.e = _v$9);
11603
- _v$0 !== _p$.t && (_el$139.disabled = _p$.t = _v$0);
11684
+ _v$9 !== _p$.e && (_el$139.disabled = _p$.e = _v$9);
11685
+ _v$0 !== _p$.t && (_el$142.disabled = _p$.t = _v$0);
11604
11686
  return _p$;
11605
11687
  }, {
11606
11688
  e: void 0,
11607
11689
  t: void 0
11608
11690
  });
11609
- return _el$135;
11691
+ return _el$138;
11610
11692
  }
11611
11693
  }), createComponent(Show, {
11612
11694
  get when() {
11613
11695
  return queueNotice2() !== null || pendingQueryCount() > 0;
11614
11696
  },
11615
11697
  get children() {
11616
- var _el$140 = _tmpl$29$1(), _el$141 = _el$140.firstChild, _el$142 = _el$141.firstChild;
11617
- insert(_el$142, () => queueNotice2() ?? `Queued ${pendingQueryCount()}/${pendingQueryLimit}.`);
11618
- insert(_el$141, createComponent(Show, {
11698
+ var _el$143 = _tmpl$29$1(), _el$144 = _el$143.firstChild, _el$145 = _el$144.firstChild;
11699
+ insert(_el$145, () => queueNotice2() ?? `Queued ${pendingQueryCount()}/${pendingQueryLimit}.`);
11700
+ insert(_el$144, createComponent(Show, {
11619
11701
  get when() {
11620
11702
  return pendingQueryCount() > 0;
11621
11703
  },
11622
11704
  get children() {
11623
- var _el$143 = _tmpl$27$1();
11624
- _el$143.$$click = () => clearPendingQueries();
11625
- return _el$143;
11705
+ var _el$146 = _tmpl$27$1();
11706
+ _el$146.$$click = () => clearPendingQueries();
11707
+ return _el$146;
11626
11708
  }
11627
11709
  }), null);
11628
- insert(_el$140, createComponent(Show, {
11710
+ insert(_el$143, createComponent(Show, {
11629
11711
  get when() {
11630
11712
  return pendingQueries2().length > 0;
11631
11713
  },
11632
11714
  get children() {
11633
- var _el$144 = _tmpl$28$1();
11634
- insert(_el$144, createComponent(For, {
11715
+ var _el$147 = _tmpl$28$1();
11716
+ insert(_el$147, createComponent(For, {
11635
11717
  get each() {
11636
11718
  return pendingQueries2();
11637
11719
  },
11638
11720
  children: (pendingPrompt, index) => (() => {
11639
- var _el$268 = _tmpl$67(), _el$269 = _el$268.firstChild, _el$270 = _el$269.nextSibling;
11640
- setAttribute(_el$269, "title", pendingPrompt);
11641
- insert(_el$269, pendingPrompt);
11642
- _el$270.$$click = () => removePendingQuery(index());
11643
- createRenderEffect(() => setAttribute(_el$270, "aria-label", `Remove queued prompt ${index() + 1}`));
11644
- return _el$268;
11721
+ var _el$271 = _tmpl$67(), _el$272 = _el$271.firstChild, _el$273 = _el$272.nextSibling;
11722
+ setAttribute(_el$272, "title", pendingPrompt);
11723
+ insert(_el$272, pendingPrompt);
11724
+ _el$273.$$click = () => removePendingQuery(index());
11725
+ createRenderEffect(() => setAttribute(_el$273, "aria-label", `Remove queued prompt ${index() + 1}`));
11726
+ return _el$271;
11645
11727
  })()
11646
11728
  }));
11647
- return _el$144;
11729
+ return _el$147;
11648
11730
  }
11649
11731
  }), null);
11650
- return _el$140;
11732
+ return _el$143;
11651
11733
  }
11652
11734
  }), createComponent(Show, {
11653
11735
  get when() {
11654
11736
  return chatCommandError() !== null;
11655
11737
  },
11656
11738
  get children() {
11657
- var _el$145 = _tmpl$30(), _el$146 = _el$145.firstChild, _el$147 = _el$146.nextSibling;
11658
- insert(_el$146, chatCommandError);
11659
- _el$147.$$click = () => setChatCommandError(null);
11660
- return _el$145;
11739
+ var _el$148 = _tmpl$30(), _el$149 = _el$148.firstChild, _el$150 = _el$149.nextSibling;
11740
+ insert(_el$149, chatCommandError);
11741
+ _el$150.$$click = () => setChatCommandError(null);
11742
+ return _el$148;
11661
11743
  }
11662
11744
  }), createComponent(Show, {
11663
11745
  get when() {
11664
11746
  return slashSuggestions().length > 0;
11665
11747
  },
11666
11748
  get children() {
11667
- var _el$148 = _tmpl$31();
11668
- insert(_el$148, createComponent(For, {
11749
+ var _el$151 = _tmpl$31();
11750
+ insert(_el$151, createComponent(For, {
11669
11751
  get each() {
11670
11752
  return slashSuggestions();
11671
11753
  },
11672
11754
  children: (kit, index) => (() => {
11673
- var _el$271 = _tmpl$68(), _el$272 = _el$271.firstChild;
11674
- _el$272.firstChild;
11675
- var _el$274 = _el$272.nextSibling, _el$275 = _el$274.firstChild, _el$276 = _el$275.nextSibling;
11676
- _el$271.$$mousedown = (event) => {
11755
+ var _el$274 = _tmpl$68(), _el$275 = _el$274.firstChild;
11756
+ _el$275.firstChild;
11757
+ var _el$277 = _el$275.nextSibling, _el$278 = _el$277.firstChild, _el$279 = _el$278.nextSibling;
11758
+ _el$274.$$mousedown = (event) => {
11677
11759
  event.preventDefault();
11678
11760
  applySkillSuggestion(kit);
11679
11761
  };
11680
- insert(_el$272, () => getSkillCommandTokens(kit)[0], null);
11681
- insert(_el$275, () => kit.name);
11682
- insert(_el$276, () => kit.description);
11762
+ insert(_el$275, () => getSkillCommandTokens(kit)[0], null);
11763
+ insert(_el$278, () => kit.name);
11764
+ insert(_el$279, () => kit.description);
11683
11765
  createRenderEffect((_p$) => {
11684
11766
  var _v$30 = !!(index() === slashSuggestionIndex()), _v$31 = index() === slashSuggestionIndex();
11685
- _v$30 !== _p$.e && _el$271.classList.toggle("active", _p$.e = _v$30);
11686
- _v$31 !== _p$.t && setAttribute(_el$271, "aria-selected", _p$.t = _v$31);
11767
+ _v$30 !== _p$.e && _el$274.classList.toggle("active", _p$.e = _v$30);
11768
+ _v$31 !== _p$.t && setAttribute(_el$274, "aria-selected", _p$.t = _v$31);
11687
11769
  return _p$;
11688
11770
  }, {
11689
11771
  e: void 0,
11690
11772
  t: void 0
11691
11773
  });
11692
- return _el$271;
11774
+ return _el$274;
11693
11775
  })()
11694
11776
  }));
11695
- return _el$148;
11777
+ return _el$151;
11696
11778
  }
11697
11779
  }), (() => {
11698
- var _el$149 = _tmpl$32(), _el$150 = _el$149.firstChild, _el$151 = _el$150.firstChild, _el$152 = _el$150.nextSibling;
11699
- insert(_el$150, createComponent(Show, {
11780
+ var _el$152 = _tmpl$32(), _el$153 = _el$152.firstChild, _el$154 = _el$153.firstChild, _el$155 = _el$153.nextSibling;
11781
+ insert(_el$153, createComponent(Show, {
11700
11782
  get when() {
11701
11783
  return recognizedSkillInputParts();
11702
11784
  },
11703
11785
  children: (parts) => (() => {
11704
- var _el$277 = _tmpl$69(), _el$278 = _el$277.firstChild;
11705
- insert(_el$277, () => parts().leading, _el$278);
11706
- insert(_el$278, () => parts().command);
11707
- insert(_el$277, () => parts().rest || " ", null);
11708
- return _el$277;
11786
+ var _el$280 = _tmpl$69(), _el$281 = _el$280.firstChild;
11787
+ insert(_el$280, () => parts().leading, _el$281);
11788
+ insert(_el$281, () => parts().command);
11789
+ insert(_el$280, () => parts().rest || " ", null);
11790
+ return _el$280;
11709
11791
  })()
11710
- }), _el$151);
11711
- _el$151.$$keydown = (e) => {
11792
+ }), _el$154);
11793
+ _el$154.$$keydown = (e) => {
11712
11794
  if (slashSuggestions().length > 0) {
11713
11795
  if (e.key === "ArrowDown") {
11714
11796
  e.preventDefault();
@@ -11731,7 +11813,7 @@ ${contextBlock}` : contextBlock);
11731
11813
  void handleChatSend();
11732
11814
  }
11733
11815
  };
11734
- _el$151.$$input = (e) => {
11816
+ _el$154.$$input = (e) => {
11735
11817
  setChatInput(e.currentTarget.value);
11736
11818
  if (chatCommandError()) setChatCommandError(null);
11737
11819
  if (e.currentTarget.value.startsWith("/")) {
@@ -11739,15 +11821,15 @@ ${contextBlock}` : contextBlock);
11739
11821
  }
11740
11822
  };
11741
11823
  var _ref$2 = chatInputRef;
11742
- typeof _ref$2 === "function" ? use(_ref$2, _el$151) : chatInputRef = _el$151;
11743
- _el$152.$$click = () => void handleChatSend();
11744
- insert(_el$152, () => isStreaming2() ? "Queue" : "Send");
11824
+ typeof _ref$2 === "function" ? use(_ref$2, _el$154) : chatInputRef = _el$154;
11825
+ _el$155.$$click = () => void handleChatSend();
11826
+ insert(_el$155, () => isStreaming2() ? "Queue" : "Send");
11745
11827
  createRenderEffect((_p$) => {
11746
11828
  var _v$1 = !!(recognizedSkillInputParts() !== null), _v$10 = !!(recognizedSkillInputParts() !== null), _v$11 = isStreaming2() ? "Send now to queue the next prompt..." : "Ask anything or run /skill-id...", _v$12 = !chatInput().trim();
11747
- _v$1 !== _p$.e && _el$150.classList.toggle("skill-command-registered", _p$.e = _v$1);
11748
- _v$10 !== _p$.t && _el$151.classList.toggle("skill-command-registered", _p$.t = _v$10);
11749
- _v$11 !== _p$.a && setAttribute(_el$151, "placeholder", _p$.a = _v$11);
11750
- _v$12 !== _p$.o && (_el$152.disabled = _p$.o = _v$12);
11829
+ _v$1 !== _p$.e && _el$153.classList.toggle("skill-command-registered", _p$.e = _v$1);
11830
+ _v$10 !== _p$.t && _el$154.classList.toggle("skill-command-registered", _p$.t = _v$10);
11831
+ _v$11 !== _p$.a && setAttribute(_el$154, "placeholder", _p$.a = _v$11);
11832
+ _v$12 !== _p$.o && (_el$155.disabled = _p$.o = _v$12);
11751
11833
  return _p$;
11752
11834
  }, {
11753
11835
  e: void 0,
@@ -11755,8 +11837,8 @@ ${contextBlock}` : contextBlock);
11755
11837
  a: void 0,
11756
11838
  o: void 0
11757
11839
  });
11758
- createRenderEffect(() => _el$151.value = chatInput());
11759
- return _el$149;
11840
+ createRenderEffect(() => _el$154.value = chatInput());
11841
+ return _el$152;
11760
11842
  })()];
11761
11843
  }
11762
11844
  }), null);
@@ -11804,7 +11886,111 @@ ${contextBlock}` : contextBlock);
11804
11886
  });
11805
11887
  };
11806
11888
  delegateEvents(["click", "pointerdown", "input", "keydown", "mousedown"]);
11807
- var _tmpl$$9 = /* @__PURE__ */ template(`<div class=devtools-console>`), _tmpl$2$9 = /* @__PURE__ */ template(`<div class=devtools-empty>Waiting for console output... Console monitoring activates when an agent uses devtools.`), _tmpl$3$8 = /* @__PURE__ */ template(`<div><span></span><span class=console-time></span><span class=console-text></span><span class=console-source>`), _tmpl$4$7 = /* @__PURE__ */ template(`<div class=devtools-network><div class=network-header><span>Method</span><span>URL</span><span>Status</span><span>Type</span><span>Time`), _tmpl$5$7 = /* @__PURE__ */ template(`<div class=devtools-empty>Waiting for network requests... Network monitoring activates when an agent uses devtools.`), _tmpl$6$7 = /* @__PURE__ */ template(`<div><span class=network-method></span><span class=network-url></span><span></span><span class=network-type></span><span class=network-duration>`), _tmpl$7$5 = /* @__PURE__ */ template(`<div class=devtools-activity>`), _tmpl$8$4 = /* @__PURE__ */ template(`<div class=devtools-empty>Waiting for agent devtools activity...`), _tmpl$9$3 = /* @__PURE__ */ template(`<div class=activity-entry><span class=activity-time></span><span class=activity-tool></span><span class=activity-args></span><span></span><span class=activity-duration>`), _tmpl$0$2 = /* @__PURE__ */ template(`<span class="devtools-tab-badge error">`), _tmpl$1$2 = /* @__PURE__ */ template(`<span class="devtools-tab-badge count">`), _tmpl$10$2 = /* @__PURE__ */ template(`<div class=export-date-inputs><div class=export-date-row><span class=export-date-label>From</span><input class=export-date-input type=date></div><div class=export-date-row><span class=export-date-label>To</span><input class=export-date-input type=date>`), _tmpl$11$2 = /* @__PURE__ */ template(`<div class=devtools-export-dropdown><div class=export-section><div class=export-section-label>Log Types</div><label class=export-checkbox><input type=checkbox>Console</label><label class=export-checkbox><input type=checkbox>Network</label><label class=export-checkbox><input type=checkbox>Activity</label></div><div class=export-section><div class=export-section-label>Date Range</div><div class=export-date-btns><button>Today</button><button>Custom</button></div></div><button class=export-submit>Export JSON`), _tmpl$12$2 = /* @__PURE__ */ template(`<div class=devtools-panel><div class=devtools-tabs><button>Console</button><button>Network</button><button>Activity</button><div class=devtools-tab-spacer></div><div class=devtools-export-wrap><button title="Export Logs"><svg width=13 height=13 viewBox="0 0 13 13"fill=none style=vertical-align:middle><path d="M6.5 1v7M3.5 5l3 3 3-3"stroke=currentColor stroke-width=1.3 stroke-linecap=round stroke-linejoin=round></path><path d="M1 9.5v1A1.5 1.5 0 0 0 2.5 12h8A1.5 1.5 0 0 0 12 10.5v-1"stroke=currentColor stroke-width=1.3 stroke-linecap=round></path></svg></button></div><button class=devtools-close-btn title="Close DevTools">×</button></div><div class=devtools-content>`);
11889
+ function useDevToolsPanelHost() {
11890
+ const [hostState, setHostState] = createSignal({
11891
+ open: true,
11892
+ detached: false,
11893
+ height: 250
11894
+ });
11895
+ const [isResizing, setIsResizing] = createSignal(false);
11896
+ const applyHostState = (nextState) => {
11897
+ setHostState(nextState);
11898
+ };
11899
+ onMount(() => {
11900
+ void window.vessel.devtoolsPanel.getHostState().then(applyHostState).catch(() => {
11901
+ });
11902
+ });
11903
+ const close = () => {
11904
+ void window.vessel.devtoolsPanel.close().then(applyHostState);
11905
+ };
11906
+ const togglePlacement = () => {
11907
+ const action = hostState().detached ? window.vessel.devtoolsPanel.dock() : window.vessel.devtoolsPanel.popOut();
11908
+ void action.then(applyHostState);
11909
+ };
11910
+ const startResize = (event) => {
11911
+ if (hostState().detached) return;
11912
+ event.preventDefault();
11913
+ const target = event.currentTarget;
11914
+ target.setPointerCapture(event.pointerId);
11915
+ setIsResizing(true);
11916
+ document.body.style.cursor = "row-resize";
11917
+ document.body.style.userSelect = "none";
11918
+ void window.vessel.devtoolsPanel.startResize().catch(() => {
11919
+ });
11920
+ const startY = event.screenY;
11921
+ const startHeight = window.innerHeight;
11922
+ const dragState = { currentY: startY, rafId: null };
11923
+ const resizeToCurrentPointer = () => {
11924
+ dragState.rafId = null;
11925
+ const nextHeight = startHeight + startY - dragState.currentY;
11926
+ void window.vessel.devtoolsPanel.resize(nextHeight).then((height) => {
11927
+ setHostState((current) => ({ ...current, height }));
11928
+ }).catch(() => {
11929
+ });
11930
+ };
11931
+ const commitResize = () => {
11932
+ void window.vessel.devtoolsPanel.commitResize().catch(() => {
11933
+ });
11934
+ };
11935
+ const clearPointerTracking = () => {
11936
+ window.removeEventListener("pointermove", onPointerMove);
11937
+ window.removeEventListener("pointerup", onPointerUp);
11938
+ window.removeEventListener("pointercancel", onPointerUp);
11939
+ window.removeEventListener("blur", onWindowBlur);
11940
+ target.removeEventListener("lostpointercapture", onPointerUp);
11941
+ if (target.hasPointerCapture?.(event.pointerId)) {
11942
+ target.releasePointerCapture(event.pointerId);
11943
+ }
11944
+ if (dragState.rafId !== null) {
11945
+ cancelAnimationFrame(dragState.rafId);
11946
+ dragState.rafId = null;
11947
+ }
11948
+ document.body.style.cursor = "";
11949
+ document.body.style.userSelect = "";
11950
+ setIsResizing(false);
11951
+ commitResize();
11952
+ };
11953
+ const scheduleResize = () => {
11954
+ if (dragState.rafId !== null) return;
11955
+ dragState.rafId = requestAnimationFrame(resizeToCurrentPointer);
11956
+ };
11957
+ function onPointerMove(pointerEvent) {
11958
+ dragState.currentY = pointerEvent.screenY;
11959
+ scheduleResize();
11960
+ }
11961
+ function onPointerUp(pointerEvent) {
11962
+ dragState.currentY = pointerEvent.screenY;
11963
+ if (dragState.rafId !== null) {
11964
+ cancelAnimationFrame(dragState.rafId);
11965
+ dragState.rafId = null;
11966
+ }
11967
+ resizeToCurrentPointer();
11968
+ clearPointerTracking();
11969
+ }
11970
+ function onWindowBlur() {
11971
+ if (dragState.rafId !== null) {
11972
+ cancelAnimationFrame(dragState.rafId);
11973
+ dragState.rafId = null;
11974
+ }
11975
+ resizeToCurrentPointer();
11976
+ clearPointerTracking();
11977
+ }
11978
+ window.addEventListener("pointermove", onPointerMove);
11979
+ window.addEventListener("pointerup", onPointerUp);
11980
+ window.addEventListener("pointercancel", onPointerUp);
11981
+ window.addEventListener("blur", onWindowBlur);
11982
+ target.addEventListener("lostpointercapture", onPointerUp);
11983
+ };
11984
+ return {
11985
+ hostState,
11986
+ isResizing,
11987
+ close,
11988
+ togglePlacement,
11989
+ startResize,
11990
+ applyHostState
11991
+ };
11992
+ }
11993
+ var _tmpl$$9 = /* @__PURE__ */ template(`<div class=devtools-console>`), _tmpl$2$9 = /* @__PURE__ */ template(`<div class=devtools-empty>Waiting for console output... Open a page and console output will appear here as the page runs.`), _tmpl$3$8 = /* @__PURE__ */ template(`<div><span></span><span class=console-time></span><span class=console-text></span><span class=console-source>`), _tmpl$4$7 = /* @__PURE__ */ template(`<div class=devtools-network><div class=network-header><span>Method</span><span>URL</span><span>Status</span><span>Type</span><span>Time`), _tmpl$5$7 = /* @__PURE__ */ template(`<div class=devtools-empty>Waiting for network requests... Open a page and network requests will appear here as the page loads.`), _tmpl$6$7 = /* @__PURE__ */ template(`<div><span class=network-method></span><span class=network-url></span><span></span><span class=network-type></span><span class=network-duration>`), _tmpl$7$5 = /* @__PURE__ */ template(`<div class=devtools-activity>`), _tmpl$8$4 = /* @__PURE__ */ template(`<div class=devtools-empty>Waiting for agent devtools activity...`), _tmpl$9$3 = /* @__PURE__ */ template(`<div class=activity-entry><span class=activity-time></span><span class=activity-tool></span><span class=activity-args></span><span></span><span class=activity-duration>`), _tmpl$0$2 = /* @__PURE__ */ template(`<div class=devtools-agent-trace>`), _tmpl$1$2 = /* @__PURE__ */ template(`<div class=devtools-empty>Waiting for agent trace events...`), _tmpl$10$2 = /* @__PURE__ */ template(`<div><span class=trace-time></span><span></span><span class=trace-title></span><span class=trace-detail></span><span></span><span class=trace-duration>`), _tmpl$11$2 = /* @__PURE__ */ template(`<div class=devtools-empty>Inspecting active page...`), _tmpl$12$2 = /* @__PURE__ */ template(`<div class=page-map-issues>`), _tmpl$13$2 = /* @__PURE__ */ template(`<div class=page-map-reveal-status>`), _tmpl$14$2 = /* @__PURE__ */ template(`<div class=page-map-elements><div class=page-map-header><span>#</span><span>Element</span><span>Label</span><span>Selector</span><span>Status</span><span>Bounds`), _tmpl$15$2 = /* @__PURE__ */ template(`<div class=devtools-page-map><div class=page-map-overview><div class=page-map-page><span class=page-map-title></span><span class=page-map-url></span></div><div class=page-map-stats><div class=page-map-stat><span class=page-map-stat-value></span><span class=page-map-stat-label>total</span></div><div class=page-map-stat><span class=page-map-stat-value></span><span class=page-map-stat-label>ready</span></div><div class=page-map-stat><span class=page-map-stat-value></span><span class=page-map-stat-label>blocked</span></div><div class=page-map-stat><span class=page-map-stat-value></span><span class=page-map-stat-label>disabled</span></div></div></div><div class=page-map-filter-row><input class=page-map-filter type=search placeholder="Filter by label, selector, role…"><span class=page-map-filter-count> / <!> shown`), _tmpl$16$1 = /* @__PURE__ */ template(`<span class=page-map-issue>`), _tmpl$17$1 = /* @__PURE__ */ template(`<div class="devtools-empty page-map-empty">No interactive elements found on this page.`), _tmpl$18$1 = /* @__PURE__ */ template(`<span class=page-map-element-sub>`), _tmpl$19$1 = /* @__PURE__ */ template(`<div class=page-map-row role=button tabindex=0 title="Reveal element on page"><span class=page-map-index></span><span class=page-map-element-tag></span><span class=page-map-element-label></span><span class=page-map-element-selector><span class=page-map-selector-text></span><button class=page-map-copy-btn title="Copy selector"aria-label="Copy selector"></button></span><span></span><span class=page-map-element-bounds>,<!> • <!>x`), _tmpl$20$1 = /* @__PURE__ */ template(`<div class=devtools-resize-handle title="Resize DevTools">`), _tmpl$21$1 = /* @__PURE__ */ template(`<span class="devtools-tab-badge error">`), _tmpl$22$1 = /* @__PURE__ */ template(`<span class="devtools-tab-badge count">`), _tmpl$23$1 = /* @__PURE__ */ template(`<div class=export-date-inputs><div class=export-date-row><span class=export-date-label>From</span><input class=export-date-input type=date></div><div class=export-date-row><span class=export-date-label>To</span><input class=export-date-input type=date>`), _tmpl$24$1 = /* @__PURE__ */ template(`<div class=devtools-export-dropdown><div class=export-section><div class=export-section-label>Log Types</div><label class=export-checkbox><input type=checkbox>Console</label><label class=export-checkbox><input type=checkbox>Network</label><label class=export-checkbox><input type=checkbox>Activity</label><label class=export-checkbox><input type=checkbox>Trace</label><label class=export-checkbox><input type=checkbox>Page Map</label></div><div class=export-section><div class=export-section-label>Date Range</div><div class=export-date-btns><button>Today</button><button>Custom</button></div></div><button class=export-submit>Export JSON`), _tmpl$25$1 = /* @__PURE__ */ template(`<button class=devtools-close-btn title="Close DevTools">×`), _tmpl$26$1 = /* @__PURE__ */ template(`<div class=devtools-panel><div class=devtools-tabs><button>Console</button><button>Network</button><button>Activity</button><button>Agent Trace</button><button>Page Map</button><div class=devtools-tab-spacer></div><div class=devtools-export-wrap><button title="Export Logs"><svg width=13 height=13 viewBox="0 0 13 13"fill=none style=vertical-align:middle><path d="M6.5 1v7M3.5 5l3 3 3-3"stroke=currentColor stroke-width=1.3 stroke-linecap=round stroke-linejoin=round></path><path d="M1 9.5v1A1.5 1.5 0 0 0 2.5 12h8A1.5 1.5 0 0 0 12 10.5v-1"stroke=currentColor stroke-width=1.3 stroke-linecap=round></path></svg></button></div><button class=devtools-close-btn></button></div><div class=devtools-content>`);
11808
11994
  function statusClass(status) {
11809
11995
  if (status == null) return "pending";
11810
11996
  if (status >= 200 && status < 300) return "ok";
@@ -12009,29 +12195,308 @@ const ActivityView = (props) => {
12009
12195
  }
12010
12196
  });
12011
12197
  };
12198
+ const AgentTraceView = (props) => {
12199
+ return createComponent(Show, {
12200
+ get when() {
12201
+ return props.entries.length > 0;
12202
+ },
12203
+ get fallback() {
12204
+ return _tmpl$1$2();
12205
+ },
12206
+ get children() {
12207
+ var _el$23 = _tmpl$0$2();
12208
+ insert(_el$23, createComponent(For, {
12209
+ get each() {
12210
+ return [...props.entries].reverse();
12211
+ },
12212
+ children: (entry) => (() => {
12213
+ var _el$25 = _tmpl$10$2(), _el$26 = _el$25.firstChild, _el$27 = _el$26.nextSibling, _el$28 = _el$27.nextSibling, _el$29 = _el$28.nextSibling, _el$30 = _el$29.nextSibling, _el$31 = _el$30.nextSibling;
12214
+ insert(_el$26, () => formatTime(entry.timestamp, {
12215
+ includeSeconds: true
12216
+ }));
12217
+ insert(_el$27, () => entry.kind.replace("tool-", ""));
12218
+ insert(_el$28, () => entry.title);
12219
+ insert(_el$29, () => entry.detail || "—");
12220
+ insert(_el$30, () => entry.status);
12221
+ insert(_el$31, (() => {
12222
+ var _c$5 = memo(() => entry.durationMs != null);
12223
+ return () => _c$5() ? `${entry.durationMs}ms` : "—";
12224
+ })());
12225
+ createRenderEffect((_p$) => {
12226
+ var _v$8 = `trace-entry ${entry.status}`, _v$9 = `trace-kind ${entry.kind}`, _v$0 = entry.title, _v$1 = entry.detail, _v$10 = `trace-status ${entry.status}`;
12227
+ _v$8 !== _p$.e && className(_el$25, _p$.e = _v$8);
12228
+ _v$9 !== _p$.t && className(_el$27, _p$.t = _v$9);
12229
+ _v$0 !== _p$.a && setAttribute(_el$28, "title", _p$.a = _v$0);
12230
+ _v$1 !== _p$.o && setAttribute(_el$29, "title", _p$.o = _v$1);
12231
+ _v$10 !== _p$.i && className(_el$30, _p$.i = _v$10);
12232
+ return _p$;
12233
+ }, {
12234
+ e: void 0,
12235
+ t: void 0,
12236
+ a: void 0,
12237
+ o: void 0,
12238
+ i: void 0
12239
+ });
12240
+ return _el$25;
12241
+ })()
12242
+ }));
12243
+ return _el$23;
12244
+ }
12245
+ });
12246
+ };
12247
+ const PageMapView = (props) => {
12248
+ const [query, setQuery] = createSignal("");
12249
+ const [copiedId, setCopiedId] = createSignal(null);
12250
+ const [revealMessage, setRevealMessage] = createSignal("");
12251
+ let copyTimer;
12252
+ let revealTimer;
12253
+ const pageLabel = () => props.snapshot?.title || props.snapshot?.pageUrl || "Active page";
12254
+ const filteredElements = () => {
12255
+ const snap = props.snapshot;
12256
+ if (!snap) return [];
12257
+ const q = query().trim().toLowerCase();
12258
+ if (!q) return snap.elements;
12259
+ return snap.elements.filter((el) => {
12260
+ const haystack = [el.label, el.selector, el.role, el.tag, el.type, el.href].filter(Boolean).join(" ").toLowerCase();
12261
+ return haystack.includes(q);
12262
+ });
12263
+ };
12264
+ const flashCopied = (id) => {
12265
+ setCopiedId(id);
12266
+ if (copyTimer) clearTimeout(copyTimer);
12267
+ copyTimer = setTimeout(() => setCopiedId(null), 1200);
12268
+ };
12269
+ const copySelector = (element) => {
12270
+ navigator.clipboard?.writeText(element.selector).catch(() => {
12271
+ });
12272
+ flashCopied(element.id);
12273
+ };
12274
+ const REVEAL_MESSAGES = {
12275
+ "not-found": "Element not found — the page may have changed since the last snapshot.",
12276
+ "invalid-selector": "Could not locate this element (invalid selector).",
12277
+ "no-active-tab": "No active tab to inspect."
12278
+ };
12279
+ const reveal = async (selector) => {
12280
+ if (!selector) return;
12281
+ try {
12282
+ const status = await window.vessel.devtoolsPanel.revealElement(selector);
12283
+ const message = REVEAL_MESSAGES[status] ?? "";
12284
+ setRevealMessage(message);
12285
+ if (revealTimer) clearTimeout(revealTimer);
12286
+ revealTimer = setTimeout(() => setRevealMessage(""), 3e3);
12287
+ } catch {
12288
+ setRevealMessage("Could not reach the page to reveal this element.");
12289
+ if (revealTimer) clearTimeout(revealTimer);
12290
+ revealTimer = setTimeout(() => setRevealMessage(""), 3e3);
12291
+ }
12292
+ };
12293
+ const onRevealRowKeyDown = (event, selector) => {
12294
+ if (event.key !== "Enter" && event.key !== " ") return;
12295
+ event.preventDefault();
12296
+ void reveal(selector);
12297
+ };
12298
+ onCleanup(() => {
12299
+ if (copyTimer) clearTimeout(copyTimer);
12300
+ if (revealTimer) clearTimeout(revealTimer);
12301
+ });
12302
+ return createComponent(Show, {
12303
+ get when() {
12304
+ return props.snapshot;
12305
+ },
12306
+ get fallback() {
12307
+ return _tmpl$11$2();
12308
+ },
12309
+ children: (snapshot) => (() => {
12310
+ var _el$33 = _tmpl$15$2(), _el$34 = _el$33.firstChild, _el$35 = _el$34.firstChild, _el$36 = _el$35.firstChild, _el$37 = _el$36.nextSibling, _el$38 = _el$35.nextSibling, _el$39 = _el$38.firstChild, _el$40 = _el$39.firstChild, _el$41 = _el$39.nextSibling, _el$42 = _el$41.firstChild, _el$43 = _el$41.nextSibling, _el$44 = _el$43.firstChild, _el$45 = _el$43.nextSibling, _el$46 = _el$45.firstChild, _el$48 = _el$34.nextSibling, _el$49 = _el$48.firstChild, _el$50 = _el$49.nextSibling, _el$51 = _el$50.firstChild, _el$53 = _el$51.nextSibling;
12311
+ _el$53.nextSibling;
12312
+ insert(_el$36, pageLabel);
12313
+ insert(_el$37, () => snapshot().pageUrl || "No URL");
12314
+ insert(_el$40, () => snapshot().counts.total);
12315
+ insert(_el$42, () => snapshot().counts.interactable);
12316
+ insert(_el$44, () => snapshot().counts.blocked);
12317
+ insert(_el$46, () => snapshot().counts.disabled);
12318
+ insert(_el$33, createComponent(Show, {
12319
+ get when() {
12320
+ return snapshot().accessIssues.length > 0;
12321
+ },
12322
+ get children() {
12323
+ var _el$47 = _tmpl$12$2();
12324
+ insert(_el$47, createComponent(For, {
12325
+ get each() {
12326
+ return snapshot().accessIssues;
12327
+ },
12328
+ children: (issue) => (() => {
12329
+ var _el$57 = _tmpl$16$1();
12330
+ insert(_el$57, issue);
12331
+ return _el$57;
12332
+ })()
12333
+ }));
12334
+ return _el$47;
12335
+ }
12336
+ }), _el$48);
12337
+ _el$49.$$input = (e) => setQuery(e.currentTarget.value);
12338
+ insert(_el$50, () => filteredElements().length, _el$51);
12339
+ insert(_el$50, () => snapshot().elements.length, _el$53);
12340
+ insert(_el$33, createComponent(Show, {
12341
+ get when() {
12342
+ return revealMessage();
12343
+ },
12344
+ get children() {
12345
+ var _el$54 = _tmpl$13$2();
12346
+ insert(_el$54, revealMessage);
12347
+ return _el$54;
12348
+ }
12349
+ }), null);
12350
+ insert(_el$33, createComponent(Show, {
12351
+ get when() {
12352
+ return snapshot().elements.length > 0;
12353
+ },
12354
+ get fallback() {
12355
+ return _tmpl$17$1();
12356
+ },
12357
+ get children() {
12358
+ var _el$55 = _tmpl$14$2();
12359
+ _el$55.firstChild;
12360
+ insert(_el$55, createComponent(For, {
12361
+ get each() {
12362
+ return filteredElements();
12363
+ },
12364
+ children: (element) => (() => {
12365
+ var _el$59 = _tmpl$19$1(), _el$60 = _el$59.firstChild, _el$61 = _el$60.nextSibling, _el$62 = _el$61.nextSibling, _el$64 = _el$62.nextSibling, _el$65 = _el$64.firstChild, _el$66 = _el$65.nextSibling, _el$67 = _el$64.nextSibling, _el$68 = _el$67.nextSibling, _el$69 = _el$68.firstChild, _el$74 = _el$69.nextSibling, _el$70 = _el$74.nextSibling, _el$75 = _el$70.nextSibling;
12366
+ _el$75.nextSibling;
12367
+ _el$59.$$keydown = (event) => onRevealRowKeyDown(event, element.selector);
12368
+ _el$59.$$click = () => void reveal(element.selector);
12369
+ insert(_el$60, () => element.id);
12370
+ insert(_el$61, () => element.tag, null);
12371
+ insert(_el$61, (() => {
12372
+ var _c$6 = memo(() => !!element.role);
12373
+ return () => _c$6() ? ` [${element.role}]` : "";
12374
+ })(), null);
12375
+ insert(_el$62, () => element.label, null);
12376
+ insert(_el$62, createComponent(Show, {
12377
+ get when() {
12378
+ return element.type || element.href;
12379
+ },
12380
+ get children() {
12381
+ var _el$63 = _tmpl$18$1();
12382
+ insert(_el$63, (() => {
12383
+ var _c$7 = memo(() => !!element.type);
12384
+ return () => _c$7() ? `type=${element.type}` : "";
12385
+ })(), null);
12386
+ insert(_el$63, (() => {
12387
+ var _c$8 = memo(() => !!element.href);
12388
+ return () => _c$8() ? ` → ${element.href}` : "";
12389
+ })(), null);
12390
+ return _el$63;
12391
+ }
12392
+ }), null);
12393
+ insert(_el$65, () => element.selector);
12394
+ _el$66.$$click = (e) => {
12395
+ e.stopPropagation();
12396
+ copySelector(element);
12397
+ };
12398
+ insert(_el$66, createComponent(Show, {
12399
+ get when() {
12400
+ return copiedId() === element.id;
12401
+ },
12402
+ get fallback() {
12403
+ return createComponent(copy_default, {
12404
+ size: 12,
12405
+ "aria-hidden": "true"
12406
+ });
12407
+ },
12408
+ get children() {
12409
+ return createComponent(check_default, {
12410
+ size: 12,
12411
+ "aria-hidden": "true"
12412
+ });
12413
+ }
12414
+ }));
12415
+ insert(_el$67, (() => {
12416
+ var _c$9 = memo(() => !!element.interactable);
12417
+ return () => _c$9() ? "ready" : element.issue || (element.disabled ? "disabled" : "not ready");
12418
+ })());
12419
+ insert(_el$68, () => Math.round(element.bounds.x), _el$69);
12420
+ insert(_el$68, () => Math.round(element.bounds.y), _el$74);
12421
+ insert(_el$68, () => Math.round(element.bounds.width), _el$75);
12422
+ insert(_el$68, () => Math.round(element.bounds.height), null);
12423
+ createRenderEffect((_p$) => {
12424
+ var _v$11 = !!Boolean(element.issue), _v$12 = !!element.interactable, _v$13 = element.label, _v$14 = element.selector, _v$15 = !!(copiedId() === element.id), _v$16 = `page-map-element-state ${element.interactable ? "ready" : "blocked"}`, _v$17 = element.issue;
12425
+ _v$11 !== _p$.e && _el$59.classList.toggle("blocked", _p$.e = _v$11);
12426
+ _v$12 !== _p$.t && _el$59.classList.toggle("ready", _p$.t = _v$12);
12427
+ _v$13 !== _p$.a && setAttribute(_el$62, "title", _p$.a = _v$13);
12428
+ _v$14 !== _p$.o && setAttribute(_el$65, "title", _p$.o = _v$14);
12429
+ _v$15 !== _p$.i && _el$66.classList.toggle("copied", _p$.i = _v$15);
12430
+ _v$16 !== _p$.n && className(_el$67, _p$.n = _v$16);
12431
+ _v$17 !== _p$.s && setAttribute(_el$67, "title", _p$.s = _v$17);
12432
+ return _p$;
12433
+ }, {
12434
+ e: void 0,
12435
+ t: void 0,
12436
+ a: void 0,
12437
+ o: void 0,
12438
+ i: void 0,
12439
+ n: void 0,
12440
+ s: void 0
12441
+ });
12442
+ return _el$59;
12443
+ })()
12444
+ }), null);
12445
+ return _el$55;
12446
+ }
12447
+ }), null);
12448
+ createRenderEffect(() => setAttribute(_el$35, "title", snapshot().pageUrl));
12449
+ createRenderEffect(() => _el$49.value = query());
12450
+ return _el$33;
12451
+ })()
12452
+ });
12453
+ };
12012
12454
  const DevToolsPanel = () => {
12013
12455
  const [activeTab, setActiveTab] = createSignal("console");
12456
+ const {
12457
+ hostState,
12458
+ isResizing,
12459
+ close,
12460
+ togglePlacement,
12461
+ startResize,
12462
+ applyHostState
12463
+ } = useDevToolsPanelHost();
12014
12464
  const [state, setState] = createSignal({
12015
12465
  console: [],
12016
12466
  network: [],
12017
12467
  errors: [],
12018
- activity: []
12468
+ activity: [],
12469
+ agentTrace: [],
12470
+ pageMap: null
12019
12471
  });
12020
12472
  const [showExport, setShowExport] = createSignal(false);
12021
12473
  const [exportConsole, setExportConsole] = createSignal(true);
12022
12474
  const [exportNetwork, setExportNetwork] = createSignal(true);
12023
12475
  const [exportActivity, setExportActivity] = createSignal(true);
12476
+ const [exportTrace, setExportTrace] = createSignal(true);
12477
+ const [exportPageMap, setExportPageMap] = createSignal(true);
12024
12478
  const [dateMode, setDateMode] = createSignal("today");
12025
12479
  const [dateFrom, setDateFrom] = createSignal(todayDateString());
12026
12480
  const [dateTo, setDateTo] = createSignal(todayDateString());
12027
12481
  let exportBtnRef;
12028
12482
  let exportDropdownRef;
12483
+ onMount(() => {
12484
+ void window.vessel.devtoolsPanel.getState().then(setState).catch(() => void 0);
12485
+ });
12029
12486
  createEffect(() => {
12030
12487
  const cleanup2 = window.vessel.devtoolsPanel.onStateUpdate((newState) => {
12031
12488
  setState(newState);
12032
12489
  });
12033
12490
  onCleanup(cleanup2);
12034
12491
  });
12492
+ createEffect(() => {
12493
+ const cleanup2 = window.vessel.devtoolsPanel.onHostStateUpdate(applyHostState);
12494
+ onCleanup(cleanup2);
12495
+ });
12496
+ createEffect(() => {
12497
+ const cleanup2 = window.vessel.devtoolsPanel.onSelectTab(setActiveTab);
12498
+ onCleanup(cleanup2);
12499
+ });
12035
12500
  createEffect(() => {
12036
12501
  if (!showExport()) return;
12037
12502
  const handler = (e) => {
@@ -12046,9 +12511,8 @@ const DevToolsPanel = () => {
12046
12511
  const errorCount = () => state().errors.length;
12047
12512
  const networkCount = () => state().network.length;
12048
12513
  const activityRunning = () => state().activity.filter((a) => a.status === "running").length;
12049
- const close = () => {
12050
- window.vessel.devtoolsPanel.toggle();
12051
- };
12514
+ const traceRunning = () => state().agentTrace.filter((entry) => entry.status === "running").length;
12515
+ const pageMapCount = () => state().pageMap?.counts.interactable ?? 0;
12052
12516
  const handleExport = () => {
12053
12517
  const mode = dateMode();
12054
12518
  const from = dateFrom();
@@ -12069,6 +12533,12 @@ const DevToolsPanel = () => {
12069
12533
  if (exportActivity()) {
12070
12534
  data.activity = filterByDate(state().activity, mode, from, to);
12071
12535
  }
12536
+ if (exportTrace()) {
12537
+ data.agentTrace = filterByDate(state().agentTrace, mode, from, to);
12538
+ }
12539
+ if (exportPageMap()) {
12540
+ data.pageMap = state().pageMap;
12541
+ }
12072
12542
  const json = JSON.stringify(data, null, 2);
12073
12543
  const blob = new Blob([json], {
12074
12544
  type: "application/json"
@@ -12082,97 +12552,165 @@ const DevToolsPanel = () => {
12082
12552
  URL.revokeObjectURL(url);
12083
12553
  setShowExport(false);
12084
12554
  };
12085
- const noneSelected = () => !exportConsole() && !exportNetwork() && !exportActivity();
12555
+ const noneSelected = () => !exportConsole() && !exportNetwork() && !exportActivity() && !exportTrace() && !exportPageMap();
12086
12556
  return (() => {
12087
- var _el$23 = _tmpl$12$2(), _el$24 = _el$23.firstChild, _el$25 = _el$24.firstChild;
12088
- _el$25.firstChild;
12089
- var _el$28 = _el$25.nextSibling;
12090
- _el$28.firstChild;
12091
- var _el$31 = _el$28.nextSibling;
12092
- _el$31.firstChild;
12093
- var _el$34 = _el$31.nextSibling, _el$35 = _el$34.nextSibling, _el$36 = _el$35.firstChild, _el$59 = _el$35.nextSibling, _el$60 = _el$24.nextSibling;
12094
- _el$25.$$click = () => setActiveTab("console");
12095
- insert(_el$25, createComponent(Show, {
12557
+ var _el$76 = _tmpl$26$1(), _el$78 = _el$76.firstChild, _el$79 = _el$78.firstChild;
12558
+ _el$79.firstChild;
12559
+ var _el$82 = _el$79.nextSibling;
12560
+ _el$82.firstChild;
12561
+ var _el$85 = _el$82.nextSibling;
12562
+ _el$85.firstChild;
12563
+ var _el$88 = _el$85.nextSibling;
12564
+ _el$88.firstChild;
12565
+ var _el$91 = _el$88.nextSibling;
12566
+ _el$91.firstChild;
12567
+ var _el$94 = _el$91.nextSibling, _el$95 = _el$94.nextSibling, _el$96 = _el$95.firstChild, _el$123 = _el$95.nextSibling, _el$125 = _el$78.nextSibling;
12568
+ insert(_el$76, createComponent(Show, {
12569
+ get when() {
12570
+ return !hostState().detached;
12571
+ },
12572
+ get children() {
12573
+ var _el$77 = _tmpl$20$1();
12574
+ addEventListener(_el$77, "pointerdown", startResize, true);
12575
+ createRenderEffect(() => _el$77.classList.toggle("resizing", !!isResizing()));
12576
+ return _el$77;
12577
+ }
12578
+ }), _el$78);
12579
+ _el$79.$$click = () => setActiveTab("console");
12580
+ insert(_el$79, createComponent(Show, {
12096
12581
  get when() {
12097
12582
  return errorCount() > 0;
12098
12583
  },
12099
12584
  get children() {
12100
- var _el$27 = _tmpl$0$2();
12101
- insert(_el$27, errorCount);
12102
- return _el$27;
12585
+ var _el$81 = _tmpl$21$1();
12586
+ insert(_el$81, errorCount);
12587
+ return _el$81;
12103
12588
  }
12104
12589
  }), null);
12105
- _el$28.$$click = () => setActiveTab("network");
12106
- insert(_el$28, createComponent(Show, {
12590
+ _el$82.$$click = () => setActiveTab("network");
12591
+ insert(_el$82, createComponent(Show, {
12107
12592
  get when() {
12108
12593
  return networkCount() > 0;
12109
12594
  },
12110
12595
  get children() {
12111
- var _el$30 = _tmpl$1$2();
12112
- insert(_el$30, networkCount);
12113
- return _el$30;
12596
+ var _el$84 = _tmpl$22$1();
12597
+ insert(_el$84, networkCount);
12598
+ return _el$84;
12114
12599
  }
12115
12600
  }), null);
12116
- _el$31.$$click = () => setActiveTab("activity");
12117
- insert(_el$31, createComponent(Show, {
12601
+ _el$85.$$click = () => setActiveTab("activity");
12602
+ insert(_el$85, createComponent(Show, {
12118
12603
  get when() {
12119
12604
  return activityRunning() > 0;
12120
12605
  },
12121
12606
  get children() {
12122
- var _el$33 = _tmpl$1$2();
12123
- insert(_el$33, activityRunning);
12124
- return _el$33;
12607
+ var _el$87 = _tmpl$22$1();
12608
+ insert(_el$87, activityRunning);
12609
+ return _el$87;
12125
12610
  }
12126
12611
  }), null);
12127
- _el$36.$$click = () => setShowExport((v) => !v);
12612
+ _el$88.$$click = () => setActiveTab("agentTrace");
12613
+ insert(_el$88, createComponent(Show, {
12614
+ get when() {
12615
+ return traceRunning() > 0;
12616
+ },
12617
+ get children() {
12618
+ var _el$90 = _tmpl$22$1();
12619
+ insert(_el$90, traceRunning);
12620
+ return _el$90;
12621
+ }
12622
+ }), null);
12623
+ _el$91.$$click = () => setActiveTab("pageMap");
12624
+ insert(_el$91, createComponent(Show, {
12625
+ get when() {
12626
+ return pageMapCount() > 0;
12627
+ },
12628
+ get children() {
12629
+ var _el$93 = _tmpl$22$1();
12630
+ insert(_el$93, pageMapCount);
12631
+ return _el$93;
12632
+ }
12633
+ }), null);
12634
+ _el$96.$$click = () => setShowExport((v) => !v);
12128
12635
  var _ref$3 = exportBtnRef;
12129
- typeof _ref$3 === "function" ? use(_ref$3, _el$36) : exportBtnRef = _el$36;
12130
- insert(_el$35, createComponent(Show, {
12636
+ typeof _ref$3 === "function" ? use(_ref$3, _el$96) : exportBtnRef = _el$96;
12637
+ insert(_el$95, createComponent(Show, {
12131
12638
  get when() {
12132
12639
  return showExport();
12133
12640
  },
12134
12641
  get children() {
12135
- var _el$37 = _tmpl$11$2(), _el$38 = _el$37.firstChild, _el$39 = _el$38.firstChild, _el$40 = _el$39.nextSibling, _el$41 = _el$40.firstChild, _el$42 = _el$40.nextSibling, _el$43 = _el$42.firstChild, _el$44 = _el$42.nextSibling, _el$45 = _el$44.firstChild, _el$46 = _el$38.nextSibling, _el$47 = _el$46.firstChild, _el$48 = _el$47.nextSibling, _el$49 = _el$48.firstChild, _el$50 = _el$49.nextSibling, _el$58 = _el$46.nextSibling;
12642
+ var _el$97 = _tmpl$24$1(), _el$98 = _el$97.firstChild, _el$99 = _el$98.firstChild, _el$100 = _el$99.nextSibling, _el$101 = _el$100.firstChild, _el$102 = _el$100.nextSibling, _el$103 = _el$102.firstChild, _el$104 = _el$102.nextSibling, _el$105 = _el$104.firstChild, _el$106 = _el$104.nextSibling, _el$107 = _el$106.firstChild, _el$108 = _el$106.nextSibling, _el$109 = _el$108.firstChild, _el$110 = _el$98.nextSibling, _el$111 = _el$110.firstChild, _el$112 = _el$111.nextSibling, _el$113 = _el$112.firstChild, _el$114 = _el$113.nextSibling, _el$122 = _el$110.nextSibling;
12136
12643
  var _ref$4 = exportDropdownRef;
12137
- typeof _ref$4 === "function" ? use(_ref$4, _el$37) : exportDropdownRef = _el$37;
12138
- _el$41.addEventListener("change", (e) => setExportConsole(e.currentTarget.checked));
12139
- _el$43.addEventListener("change", (e) => setExportNetwork(e.currentTarget.checked));
12140
- _el$45.addEventListener("change", (e) => setExportActivity(e.currentTarget.checked));
12141
- _el$49.$$click = () => setDateMode("today");
12142
- _el$50.$$click = () => setDateMode("custom");
12143
- insert(_el$46, createComponent(Show, {
12644
+ typeof _ref$4 === "function" ? use(_ref$4, _el$97) : exportDropdownRef = _el$97;
12645
+ _el$101.addEventListener("change", (e) => setExportConsole(e.currentTarget.checked));
12646
+ _el$103.addEventListener("change", (e) => setExportNetwork(e.currentTarget.checked));
12647
+ _el$105.addEventListener("change", (e) => setExportActivity(e.currentTarget.checked));
12648
+ _el$107.addEventListener("change", (e) => setExportTrace(e.currentTarget.checked));
12649
+ _el$109.addEventListener("change", (e) => setExportPageMap(e.currentTarget.checked));
12650
+ _el$113.$$click = () => setDateMode("today");
12651
+ _el$114.$$click = () => setDateMode("custom");
12652
+ insert(_el$110, createComponent(Show, {
12144
12653
  get when() {
12145
12654
  return dateMode() === "custom";
12146
12655
  },
12147
12656
  get children() {
12148
- var _el$51 = _tmpl$10$2(), _el$52 = _el$51.firstChild, _el$53 = _el$52.firstChild, _el$54 = _el$53.nextSibling, _el$55 = _el$52.nextSibling, _el$56 = _el$55.firstChild, _el$57 = _el$56.nextSibling;
12149
- _el$54.$$input = (e) => setDateFrom(e.currentTarget.value);
12150
- _el$57.$$input = (e) => setDateTo(e.currentTarget.value);
12151
- createRenderEffect(() => _el$54.value = dateFrom());
12152
- createRenderEffect(() => _el$57.value = dateTo());
12153
- return _el$51;
12657
+ var _el$115 = _tmpl$23$1(), _el$116 = _el$115.firstChild, _el$117 = _el$116.firstChild, _el$118 = _el$117.nextSibling, _el$119 = _el$116.nextSibling, _el$120 = _el$119.firstChild, _el$121 = _el$120.nextSibling;
12658
+ _el$118.$$input = (e) => setDateFrom(e.currentTarget.value);
12659
+ _el$121.$$input = (e) => setDateTo(e.currentTarget.value);
12660
+ createRenderEffect(() => _el$118.value = dateFrom());
12661
+ createRenderEffect(() => _el$121.value = dateTo());
12662
+ return _el$115;
12154
12663
  }
12155
12664
  }), null);
12156
- _el$58.$$click = handleExport;
12665
+ _el$122.$$click = handleExport;
12157
12666
  createRenderEffect((_p$) => {
12158
- var _v$8 = `export-date-btn ${dateMode() === "today" ? "active" : ""}`, _v$9 = `export-date-btn ${dateMode() === "custom" ? "active" : ""}`, _v$0 = noneSelected();
12159
- _v$8 !== _p$.e && className(_el$49, _p$.e = _v$8);
12160
- _v$9 !== _p$.t && className(_el$50, _p$.t = _v$9);
12161
- _v$0 !== _p$.a && (_el$58.disabled = _p$.a = _v$0);
12667
+ var _v$18 = `export-date-btn ${dateMode() === "today" ? "active" : ""}`, _v$19 = `export-date-btn ${dateMode() === "custom" ? "active" : ""}`, _v$20 = noneSelected();
12668
+ _v$18 !== _p$.e && className(_el$113, _p$.e = _v$18);
12669
+ _v$19 !== _p$.t && className(_el$114, _p$.t = _v$19);
12670
+ _v$20 !== _p$.a && (_el$122.disabled = _p$.a = _v$20);
12162
12671
  return _p$;
12163
12672
  }, {
12164
12673
  e: void 0,
12165
12674
  t: void 0,
12166
12675
  a: void 0
12167
12676
  });
12168
- createRenderEffect(() => _el$41.checked = exportConsole());
12169
- createRenderEffect(() => _el$43.checked = exportNetwork());
12170
- createRenderEffect(() => _el$45.checked = exportActivity());
12171
- return _el$37;
12677
+ createRenderEffect(() => _el$101.checked = exportConsole());
12678
+ createRenderEffect(() => _el$103.checked = exportNetwork());
12679
+ createRenderEffect(() => _el$105.checked = exportActivity());
12680
+ createRenderEffect(() => _el$107.checked = exportTrace());
12681
+ createRenderEffect(() => _el$109.checked = exportPageMap());
12682
+ return _el$97;
12172
12683
  }
12173
12684
  }), null);
12174
- _el$59.$$click = close;
12175
- insert(_el$60, createComponent(Show, {
12685
+ addEventListener(_el$123, "click", togglePlacement, true);
12686
+ insert(_el$123, createComponent(Show, {
12687
+ get when() {
12688
+ return hostState().detached;
12689
+ },
12690
+ get fallback() {
12691
+ return createComponent(external_link_default, {
12692
+ size: 14,
12693
+ "aria-hidden": "true"
12694
+ });
12695
+ },
12696
+ get children() {
12697
+ return createComponent(panel_bottom_open_default, {
12698
+ size: 14,
12699
+ "aria-hidden": "true"
12700
+ });
12701
+ }
12702
+ }));
12703
+ insert(_el$78, createComponent(Show, {
12704
+ get when() {
12705
+ return !hostState().detached;
12706
+ },
12707
+ get children() {
12708
+ var _el$124 = _tmpl$25$1();
12709
+ addEventListener(_el$124, "click", close, true);
12710
+ return _el$124;
12711
+ }
12712
+ }), null);
12713
+ insert(_el$125, createComponent(Show, {
12176
12714
  get when() {
12177
12715
  return activeTab() === "console";
12178
12716
  },
@@ -12184,7 +12722,7 @@ const DevToolsPanel = () => {
12184
12722
  });
12185
12723
  }
12186
12724
  }), null);
12187
- insert(_el$60, createComponent(Show, {
12725
+ insert(_el$125, createComponent(Show, {
12188
12726
  get when() {
12189
12727
  return activeTab() === "network";
12190
12728
  },
@@ -12196,7 +12734,7 @@ const DevToolsPanel = () => {
12196
12734
  });
12197
12735
  }
12198
12736
  }), null);
12199
- insert(_el$60, createComponent(Show, {
12737
+ insert(_el$125, createComponent(Show, {
12200
12738
  get when() {
12201
12739
  return activeTab() === "activity";
12202
12740
  },
@@ -12208,23 +12746,59 @@ const DevToolsPanel = () => {
12208
12746
  });
12209
12747
  }
12210
12748
  }), null);
12749
+ insert(_el$125, createComponent(Show, {
12750
+ get when() {
12751
+ return activeTab() === "agentTrace";
12752
+ },
12753
+ get children() {
12754
+ return createComponent(AgentTraceView, {
12755
+ get entries() {
12756
+ return state().agentTrace;
12757
+ }
12758
+ });
12759
+ }
12760
+ }), null);
12761
+ insert(_el$125, createComponent(Show, {
12762
+ get when() {
12763
+ return activeTab() === "pageMap";
12764
+ },
12765
+ get children() {
12766
+ return createComponent(PageMapView, {
12767
+ get snapshot() {
12768
+ return state().pageMap;
12769
+ }
12770
+ });
12771
+ }
12772
+ }), null);
12211
12773
  createRenderEffect((_p$) => {
12212
- var _v$1 = `devtools-tab ${activeTab() === "console" ? "active" : ""}`, _v$10 = `devtools-tab ${activeTab() === "network" ? "active" : ""}`, _v$11 = `devtools-tab ${activeTab() === "activity" ? "active" : ""}`, _v$12 = `devtools-close-btn ${showExport() ? "active" : ""}`;
12213
- _v$1 !== _p$.e && className(_el$25, _p$.e = _v$1);
12214
- _v$10 !== _p$.t && className(_el$28, _p$.t = _v$10);
12215
- _v$11 !== _p$.a && className(_el$31, _p$.a = _v$11);
12216
- _v$12 !== _p$.o && className(_el$36, _p$.o = _v$12);
12774
+ var _v$21 = !!isResizing(), _v$22 = `${hostState().height}px`, _v$23 = `devtools-tab ${activeTab() === "console" ? "active" : ""}`, _v$24 = `devtools-tab ${activeTab() === "network" ? "active" : ""}`, _v$25 = `devtools-tab ${activeTab() === "activity" ? "active" : ""}`, _v$26 = `devtools-tab ${activeTab() === "agentTrace" ? "active" : ""}`, _v$27 = `devtools-tab ${activeTab() === "pageMap" ? "active" : ""}`, _v$28 = `devtools-close-btn ${showExport() ? "active" : ""}`, _v$29 = hostState().detached ? "Dock DevTools" : "Pop out DevTools", _v$30 = hostState().detached ? "Dock DevTools" : "Pop out DevTools";
12775
+ _v$21 !== _p$.e && _el$76.classList.toggle("tracking-resize", _p$.e = _v$21);
12776
+ _v$22 !== _p$.t && setStyleProperty(_el$76, "--devtools-panel-height", _p$.t = _v$22);
12777
+ _v$23 !== _p$.a && className(_el$79, _p$.a = _v$23);
12778
+ _v$24 !== _p$.o && className(_el$82, _p$.o = _v$24);
12779
+ _v$25 !== _p$.i && className(_el$85, _p$.i = _v$25);
12780
+ _v$26 !== _p$.n && className(_el$88, _p$.n = _v$26);
12781
+ _v$27 !== _p$.s && className(_el$91, _p$.s = _v$27);
12782
+ _v$28 !== _p$.h && className(_el$96, _p$.h = _v$28);
12783
+ _v$29 !== _p$.r && setAttribute(_el$123, "title", _p$.r = _v$29);
12784
+ _v$30 !== _p$.d && setAttribute(_el$123, "aria-label", _p$.d = _v$30);
12217
12785
  return _p$;
12218
12786
  }, {
12219
12787
  e: void 0,
12220
12788
  t: void 0,
12221
12789
  a: void 0,
12222
- o: void 0
12790
+ o: void 0,
12791
+ i: void 0,
12792
+ n: void 0,
12793
+ s: void 0,
12794
+ h: void 0,
12795
+ r: void 0,
12796
+ d: void 0
12223
12797
  });
12224
- return _el$23;
12798
+ return _el$76;
12225
12799
  })();
12226
12800
  };
12227
- delegateEvents(["click", "input"]);
12801
+ delegateEvents(["input", "click", "keydown", "pointerdown"]);
12228
12802
  const PROVIDERS = {
12229
12803
  anthropic: {
12230
12804
  id: "anthropic",