@quanta-intellect/vessel-browser 0.1.136 → 0.1.138
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/out/main/index.js +1464 -810
- package/out/preload/content-script.js +18 -0
- package/out/preload/index.js +4 -0
- package/out/renderer/assets/{index-D13TOsuR.js → index-Cjl9fej2.js} +1095 -684
- package/out/renderer/assets/{index-CWy6khUL.css → index-DMcjRzqj.css} +271 -19
- package/out/renderer/index.html +2 -2
- package/package.json +2 -2
|
@@ -1606,7 +1606,7 @@ var Icon = (props) => {
|
|
|
1606
1606
|
})();
|
|
1607
1607
|
};
|
|
1608
1608
|
var Icon_default = Icon;
|
|
1609
|
-
var iconNode$
|
|
1609
|
+
var iconNode$E = [["rect", {
|
|
1610
1610
|
x: "2",
|
|
1611
1611
|
y: "4",
|
|
1612
1612
|
width: "20",
|
|
@@ -1624,11 +1624,11 @@ var iconNode$A = [["rect", {
|
|
|
1624
1624
|
key: "1svtjw"
|
|
1625
1625
|
}]];
|
|
1626
1626
|
var AppWindow = (props) => createComponent(Icon_default, mergeProps(props, {
|
|
1627
|
-
iconNode: iconNode$
|
|
1627
|
+
iconNode: iconNode$E,
|
|
1628
1628
|
name: "app-window"
|
|
1629
1629
|
}));
|
|
1630
1630
|
var app_window_default = AppWindow;
|
|
1631
|
-
var iconNode$
|
|
1631
|
+
var iconNode$D = [["path", {
|
|
1632
1632
|
d: "M12 7v14",
|
|
1633
1633
|
key: "1akyts"
|
|
1634
1634
|
}], ["path", {
|
|
@@ -1636,11 +1636,11 @@ var iconNode$z = [["path", {
|
|
|
1636
1636
|
key: "ruj8y"
|
|
1637
1637
|
}]];
|
|
1638
1638
|
var BookOpen = (props) => createComponent(Icon_default, mergeProps(props, {
|
|
1639
|
-
iconNode: iconNode$
|
|
1639
|
+
iconNode: iconNode$D,
|
|
1640
1640
|
name: "book-open"
|
|
1641
1641
|
}));
|
|
1642
1642
|
var book_open_default = BookOpen;
|
|
1643
|
-
var iconNode$
|
|
1643
|
+
var iconNode$C = [["path", {
|
|
1644
1644
|
d: "M12 8V4H8",
|
|
1645
1645
|
key: "hb8ula"
|
|
1646
1646
|
}], ["rect", {
|
|
@@ -1664,20 +1664,29 @@ var iconNode$y = [["path", {
|
|
|
1664
1664
|
key: "rq6x2g"
|
|
1665
1665
|
}]];
|
|
1666
1666
|
var Bot = (props) => createComponent(Icon_default, mergeProps(props, {
|
|
1667
|
-
iconNode: iconNode$
|
|
1667
|
+
iconNode: iconNode$C,
|
|
1668
1668
|
name: "bot"
|
|
1669
1669
|
}));
|
|
1670
1670
|
var bot_default = Bot;
|
|
1671
|
-
var iconNode$
|
|
1671
|
+
var iconNode$B = [["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$
|
|
1676
|
+
iconNode: iconNode$B,
|
|
1677
1677
|
name: "check"
|
|
1678
1678
|
}));
|
|
1679
1679
|
var check_default = Check;
|
|
1680
|
-
var iconNode$
|
|
1680
|
+
var iconNode$A = [["path", {
|
|
1681
|
+
d: "m9 18 6-6-6-6",
|
|
1682
|
+
key: "mthhwq"
|
|
1683
|
+
}]];
|
|
1684
|
+
var ChevronRight = (props) => createComponent(Icon_default, mergeProps(props, {
|
|
1685
|
+
iconNode: iconNode$A,
|
|
1686
|
+
name: "chevron-right"
|
|
1687
|
+
}));
|
|
1688
|
+
var chevron_right_default = ChevronRight;
|
|
1689
|
+
var iconNode$z = [["circle", {
|
|
1681
1690
|
cx: "12",
|
|
1682
1691
|
cy: "12",
|
|
1683
1692
|
r: "10",
|
|
@@ -1690,11 +1699,11 @@ var iconNode$w = [["circle", {
|
|
|
1690
1699
|
key: "p32p05"
|
|
1691
1700
|
}]];
|
|
1692
1701
|
var CircleQuestionMark = (props) => createComponent(Icon_default, mergeProps(props, {
|
|
1693
|
-
iconNode: iconNode$
|
|
1702
|
+
iconNode: iconNode$z,
|
|
1694
1703
|
name: "circle-question-mark"
|
|
1695
1704
|
}));
|
|
1696
1705
|
var circle_question_mark_default = CircleQuestionMark;
|
|
1697
|
-
var iconNode$
|
|
1706
|
+
var iconNode$y = [["rect", {
|
|
1698
1707
|
width: "8",
|
|
1699
1708
|
height: "4",
|
|
1700
1709
|
x: "8",
|
|
@@ -1719,11 +1728,11 @@ var iconNode$v = [["rect", {
|
|
|
1719
1728
|
key: "18s6g9"
|
|
1720
1729
|
}]];
|
|
1721
1730
|
var ClipboardList = (props) => createComponent(Icon_default, mergeProps(props, {
|
|
1722
|
-
iconNode: iconNode$
|
|
1731
|
+
iconNode: iconNode$y,
|
|
1723
1732
|
name: "clipboard-list"
|
|
1724
1733
|
}));
|
|
1725
1734
|
var clipboard_list_default = ClipboardList;
|
|
1726
|
-
var iconNode$
|
|
1735
|
+
var iconNode$x = [["circle", {
|
|
1727
1736
|
cx: "12",
|
|
1728
1737
|
cy: "12",
|
|
1729
1738
|
r: "10",
|
|
@@ -1733,11 +1742,11 @@ var iconNode$u = [["circle", {
|
|
|
1733
1742
|
key: "mmk7yg"
|
|
1734
1743
|
}]];
|
|
1735
1744
|
var Clock = (props) => createComponent(Icon_default, mergeProps(props, {
|
|
1736
|
-
iconNode: iconNode$
|
|
1745
|
+
iconNode: iconNode$x,
|
|
1737
1746
|
name: "clock"
|
|
1738
1747
|
}));
|
|
1739
1748
|
var clock_default = Clock;
|
|
1740
|
-
var iconNode$
|
|
1749
|
+
var iconNode$w = [["path", {
|
|
1741
1750
|
d: "M12 20v2",
|
|
1742
1751
|
key: "1lh1kg"
|
|
1743
1752
|
}], ["path", {
|
|
@@ -1789,11 +1798,11 @@ var iconNode$t = [["path", {
|
|
|
1789
1798
|
key: "z9xiuo"
|
|
1790
1799
|
}]];
|
|
1791
1800
|
var Cpu = (props) => createComponent(Icon_default, mergeProps(props, {
|
|
1792
|
-
iconNode: iconNode$
|
|
1801
|
+
iconNode: iconNode$w,
|
|
1793
1802
|
name: "cpu"
|
|
1794
1803
|
}));
|
|
1795
1804
|
var cpu_default = Cpu;
|
|
1796
|
-
var iconNode$
|
|
1805
|
+
var iconNode$v = [["path", {
|
|
1797
1806
|
d: "M12 15V3",
|
|
1798
1807
|
key: "m9g1x1"
|
|
1799
1808
|
}], ["path", {
|
|
@@ -1804,11 +1813,11 @@ var iconNode$s = [["path", {
|
|
|
1804
1813
|
key: "brsn70"
|
|
1805
1814
|
}]];
|
|
1806
1815
|
var Download = (props) => createComponent(Icon_default, mergeProps(props, {
|
|
1807
|
-
iconNode: iconNode$
|
|
1816
|
+
iconNode: iconNode$v,
|
|
1808
1817
|
name: "download"
|
|
1809
1818
|
}));
|
|
1810
1819
|
var download_default = Download;
|
|
1811
|
-
var iconNode$
|
|
1820
|
+
var iconNode$u = [["path", {
|
|
1812
1821
|
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",
|
|
1813
1822
|
key: "g5wo59"
|
|
1814
1823
|
}], ["path", {
|
|
@@ -1816,11 +1825,11 @@ var iconNode$r = [["path", {
|
|
|
1816
1825
|
key: "1wx5vj"
|
|
1817
1826
|
}]];
|
|
1818
1827
|
var Eraser = (props) => createComponent(Icon_default, mergeProps(props, {
|
|
1819
|
-
iconNode: iconNode$
|
|
1828
|
+
iconNode: iconNode$u,
|
|
1820
1829
|
name: "eraser"
|
|
1821
1830
|
}));
|
|
1822
1831
|
var eraser_default = Eraser;
|
|
1823
|
-
var iconNode$
|
|
1832
|
+
var iconNode$t = [["path", {
|
|
1824
1833
|
d: "M15 3h6v6",
|
|
1825
1834
|
key: "1q9fwt"
|
|
1826
1835
|
}], ["path", {
|
|
@@ -1831,11 +1840,25 @@ var iconNode$q = [["path", {
|
|
|
1831
1840
|
key: "a6xqqp"
|
|
1832
1841
|
}]];
|
|
1833
1842
|
var ExternalLink = (props) => createComponent(Icon_default, mergeProps(props, {
|
|
1834
|
-
iconNode: iconNode$
|
|
1843
|
+
iconNode: iconNode$t,
|
|
1835
1844
|
name: "external-link"
|
|
1836
1845
|
}));
|
|
1837
1846
|
var external_link_default = ExternalLink;
|
|
1838
|
-
var iconNode$
|
|
1847
|
+
var iconNode$s = [["path", {
|
|
1848
|
+
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
|
+
key: "1nclc0"
|
|
1850
|
+
}], ["circle", {
|
|
1851
|
+
cx: "12",
|
|
1852
|
+
cy: "12",
|
|
1853
|
+
r: "3",
|
|
1854
|
+
key: "1v7zrd"
|
|
1855
|
+
}]];
|
|
1856
|
+
var Eye = (props) => createComponent(Icon_default, mergeProps(props, {
|
|
1857
|
+
iconNode: iconNode$s,
|
|
1858
|
+
name: "eye"
|
|
1859
|
+
}));
|
|
1860
|
+
var eye_default = Eye;
|
|
1861
|
+
var iconNode$r = [["path", {
|
|
1839
1862
|
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",
|
|
1840
1863
|
key: "1oefj6"
|
|
1841
1864
|
}], ["path", {
|
|
@@ -1849,11 +1872,11 @@ var iconNode$p = [["path", {
|
|
|
1849
1872
|
key: "1npd3o"
|
|
1850
1873
|
}]];
|
|
1851
1874
|
var FileDown = (props) => createComponent(Icon_default, mergeProps(props, {
|
|
1852
|
-
iconNode: iconNode$
|
|
1875
|
+
iconNode: iconNode$r,
|
|
1853
1876
|
name: "file-down"
|
|
1854
1877
|
}));
|
|
1855
1878
|
var file_down_default = FileDown;
|
|
1856
|
-
var iconNode$
|
|
1879
|
+
var iconNode$q = [["circle", {
|
|
1857
1880
|
cx: "12",
|
|
1858
1881
|
cy: "12",
|
|
1859
1882
|
r: "3",
|
|
@@ -1872,11 +1895,11 @@ var iconNode$o = [["circle", {
|
|
|
1872
1895
|
key: "ioqczr"
|
|
1873
1896
|
}]];
|
|
1874
1897
|
var Focus = (props) => createComponent(Icon_default, mergeProps(props, {
|
|
1875
|
-
iconNode: iconNode$
|
|
1898
|
+
iconNode: iconNode$q,
|
|
1876
1899
|
name: "focus"
|
|
1877
1900
|
}));
|
|
1878
1901
|
var focus_default = Focus;
|
|
1879
|
-
var iconNode$
|
|
1902
|
+
var iconNode$p = [["circle", {
|
|
1880
1903
|
cx: "12",
|
|
1881
1904
|
cy: "12",
|
|
1882
1905
|
r: "10",
|
|
@@ -1889,11 +1912,11 @@ var iconNode$n = [["circle", {
|
|
|
1889
1912
|
key: "9i4pu4"
|
|
1890
1913
|
}]];
|
|
1891
1914
|
var Globe = (props) => createComponent(Icon_default, mergeProps(props, {
|
|
1892
|
-
iconNode: iconNode$
|
|
1915
|
+
iconNode: iconNode$p,
|
|
1893
1916
|
name: "globe"
|
|
1894
1917
|
}));
|
|
1895
1918
|
var globe_default = Globe;
|
|
1896
|
-
var iconNode$
|
|
1919
|
+
var iconNode$o = [["path", {
|
|
1897
1920
|
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",
|
|
1898
1921
|
key: "zzgyd3"
|
|
1899
1922
|
}], ["path", {
|
|
@@ -1910,11 +1933,11 @@ var iconNode$m = [["path", {
|
|
|
1910
1933
|
key: "jksky3"
|
|
1911
1934
|
}]];
|
|
1912
1935
|
var LayersPlus = (props) => createComponent(Icon_default, mergeProps(props, {
|
|
1913
|
-
iconNode: iconNode$
|
|
1936
|
+
iconNode: iconNode$o,
|
|
1914
1937
|
name: "layers-plus"
|
|
1915
1938
|
}));
|
|
1916
1939
|
var layers_plus_default = LayersPlus;
|
|
1917
|
-
var iconNode$
|
|
1940
|
+
var iconNode$n = [["rect", {
|
|
1918
1941
|
width: "18",
|
|
1919
1942
|
height: "11",
|
|
1920
1943
|
x: "3",
|
|
@@ -1927,11 +1950,11 @@ var iconNode$l = [["rect", {
|
|
|
1927
1950
|
key: "fwvmzm"
|
|
1928
1951
|
}]];
|
|
1929
1952
|
var Lock = (props) => createComponent(Icon_default, mergeProps(props, {
|
|
1930
|
-
iconNode: iconNode$
|
|
1953
|
+
iconNode: iconNode$n,
|
|
1931
1954
|
name: "lock"
|
|
1932
1955
|
}));
|
|
1933
1956
|
var lock_default = Lock;
|
|
1934
|
-
var iconNode$
|
|
1957
|
+
var iconNode$m = [["rect", {
|
|
1935
1958
|
width: "18",
|
|
1936
1959
|
height: "18",
|
|
1937
1960
|
x: "3",
|
|
@@ -1943,11 +1966,11 @@ var iconNode$k = [["rect", {
|
|
|
1943
1966
|
key: "fh3hqa"
|
|
1944
1967
|
}]];
|
|
1945
1968
|
var PanelLeft = (props) => createComponent(Icon_default, mergeProps(props, {
|
|
1946
|
-
iconNode: iconNode$
|
|
1969
|
+
iconNode: iconNode$m,
|
|
1947
1970
|
name: "panel-left"
|
|
1948
1971
|
}));
|
|
1949
1972
|
var panel_left_default = PanelLeft;
|
|
1950
|
-
var iconNode$
|
|
1973
|
+
var iconNode$l = [["rect", {
|
|
1951
1974
|
width: "18",
|
|
1952
1975
|
height: "18",
|
|
1953
1976
|
x: "3",
|
|
@@ -1962,11 +1985,11 @@ var iconNode$j = [["rect", {
|
|
|
1962
1985
|
key: "12hl5m"
|
|
1963
1986
|
}]];
|
|
1964
1987
|
var PanelRightClose = (props) => createComponent(Icon_default, mergeProps(props, {
|
|
1965
|
-
iconNode: iconNode$
|
|
1988
|
+
iconNode: iconNode$l,
|
|
1966
1989
|
name: "panel-right-close"
|
|
1967
1990
|
}));
|
|
1968
1991
|
var panel_right_close_default = PanelRightClose;
|
|
1969
|
-
var iconNode$
|
|
1992
|
+
var iconNode$k = [["rect", {
|
|
1970
1993
|
width: "18",
|
|
1971
1994
|
height: "18",
|
|
1972
1995
|
x: "3",
|
|
@@ -1978,11 +2001,11 @@ var iconNode$i = [["rect", {
|
|
|
1978
2001
|
key: "14nvp0"
|
|
1979
2002
|
}]];
|
|
1980
2003
|
var PanelRight = (props) => createComponent(Icon_default, mergeProps(props, {
|
|
1981
|
-
iconNode: iconNode$
|
|
2004
|
+
iconNode: iconNode$k,
|
|
1982
2005
|
name: "panel-right"
|
|
1983
2006
|
}));
|
|
1984
2007
|
var panel_right_default = PanelRight;
|
|
1985
|
-
var iconNode$
|
|
2008
|
+
var iconNode$j = [["rect", {
|
|
1986
2009
|
width: "18",
|
|
1987
2010
|
height: "18",
|
|
1988
2011
|
x: "3",
|
|
@@ -1994,11 +2017,23 @@ var iconNode$h = [["rect", {
|
|
|
1994
2017
|
key: "1pudct"
|
|
1995
2018
|
}]];
|
|
1996
2019
|
var PanelTop = (props) => createComponent(Icon_default, mergeProps(props, {
|
|
1997
|
-
iconNode: iconNode$
|
|
2020
|
+
iconNode: iconNode$j,
|
|
1998
2021
|
name: "panel-top"
|
|
1999
2022
|
}));
|
|
2000
2023
|
var panel_top_default = PanelTop;
|
|
2001
|
-
var iconNode$
|
|
2024
|
+
var iconNode$i = [["path", {
|
|
2025
|
+
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
|
+
key: "1a8usu"
|
|
2027
|
+
}], ["path", {
|
|
2028
|
+
d: "m15 5 4 4",
|
|
2029
|
+
key: "1mk7zo"
|
|
2030
|
+
}]];
|
|
2031
|
+
var Pencil = (props) => createComponent(Icon_default, mergeProps(props, {
|
|
2032
|
+
iconNode: iconNode$i,
|
|
2033
|
+
name: "pencil"
|
|
2034
|
+
}));
|
|
2035
|
+
var pencil_default = Pencil;
|
|
2036
|
+
var iconNode$h = [["path", {
|
|
2002
2037
|
d: "M5 12h14",
|
|
2003
2038
|
key: "1ays0h"
|
|
2004
2039
|
}], ["path", {
|
|
@@ -2006,11 +2041,11 @@ var iconNode$g = [["path", {
|
|
|
2006
2041
|
key: "s699le"
|
|
2007
2042
|
}]];
|
|
2008
2043
|
var Plus = (props) => createComponent(Icon_default, mergeProps(props, {
|
|
2009
|
-
iconNode: iconNode$
|
|
2044
|
+
iconNode: iconNode$h,
|
|
2010
2045
|
name: "plus"
|
|
2011
2046
|
}));
|
|
2012
2047
|
var plus_default = Plus;
|
|
2013
|
-
var iconNode$
|
|
2048
|
+
var iconNode$g = [["path", {
|
|
2014
2049
|
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",
|
|
2015
2050
|
key: "143wyd"
|
|
2016
2051
|
}], ["path", {
|
|
@@ -2025,11 +2060,11 @@ var iconNode$f = [["path", {
|
|
|
2025
2060
|
key: "1ue0tg"
|
|
2026
2061
|
}]];
|
|
2027
2062
|
var Printer = (props) => createComponent(Icon_default, mergeProps(props, {
|
|
2028
|
-
iconNode: iconNode$
|
|
2063
|
+
iconNode: iconNode$g,
|
|
2029
2064
|
name: "printer"
|
|
2030
2065
|
}));
|
|
2031
2066
|
var printer_default = Printer;
|
|
2032
|
-
var iconNode$
|
|
2067
|
+
var iconNode$f = [["path", {
|
|
2033
2068
|
d: "M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",
|
|
2034
2069
|
key: "1357e3"
|
|
2035
2070
|
}], ["path", {
|
|
@@ -2037,11 +2072,11 @@ var iconNode$e = [["path", {
|
|
|
2037
2072
|
key: "1xhq8a"
|
|
2038
2073
|
}]];
|
|
2039
2074
|
var RotateCcw = (props) => createComponent(Icon_default, mergeProps(props, {
|
|
2040
|
-
iconNode: iconNode$
|
|
2075
|
+
iconNode: iconNode$f,
|
|
2041
2076
|
name: "rotate-ccw"
|
|
2042
2077
|
}));
|
|
2043
2078
|
var rotate_ccw_default = RotateCcw;
|
|
2044
|
-
var iconNode$
|
|
2079
|
+
var iconNode$e = [["path", {
|
|
2045
2080
|
d: "m21 21-4.34-4.34",
|
|
2046
2081
|
key: "14j7rj"
|
|
2047
2082
|
}], ["circle", {
|
|
@@ -2051,11 +2086,11 @@ var iconNode$d = [["path", {
|
|
|
2051
2086
|
key: "4ej97u"
|
|
2052
2087
|
}]];
|
|
2053
2088
|
var Search = (props) => createComponent(Icon_default, mergeProps(props, {
|
|
2054
|
-
iconNode: iconNode$
|
|
2089
|
+
iconNode: iconNode$e,
|
|
2055
2090
|
name: "search"
|
|
2056
2091
|
}));
|
|
2057
2092
|
var search_default = Search;
|
|
2058
|
-
var iconNode$
|
|
2093
|
+
var iconNode$d = [["path", {
|
|
2059
2094
|
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",
|
|
2060
2095
|
key: "1i5ecw"
|
|
2061
2096
|
}], ["circle", {
|
|
@@ -2065,29 +2100,29 @@ var iconNode$c = [["path", {
|
|
|
2065
2100
|
key: "1v7zrd"
|
|
2066
2101
|
}]];
|
|
2067
2102
|
var Settings$1 = (props) => createComponent(Icon_default, mergeProps(props, {
|
|
2068
|
-
iconNode: iconNode$
|
|
2103
|
+
iconNode: iconNode$d,
|
|
2069
2104
|
name: "settings"
|
|
2070
2105
|
}));
|
|
2071
2106
|
var settings_default = Settings$1;
|
|
2072
|
-
var iconNode$
|
|
2107
|
+
var iconNode$c = [["path", {
|
|
2073
2108
|
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",
|
|
2074
2109
|
key: "oel41y"
|
|
2075
2110
|
}]];
|
|
2076
2111
|
var Shield = (props) => createComponent(Icon_default, mergeProps(props, {
|
|
2077
|
-
iconNode: iconNode$
|
|
2112
|
+
iconNode: iconNode$c,
|
|
2078
2113
|
name: "shield"
|
|
2079
2114
|
}));
|
|
2080
2115
|
var shield_default = Shield;
|
|
2081
|
-
var iconNode$
|
|
2116
|
+
var iconNode$b = [["path", {
|
|
2082
2117
|
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",
|
|
2083
2118
|
key: "r04s7s"
|
|
2084
2119
|
}]];
|
|
2085
2120
|
var Star = (props) => createComponent(Icon_default, mergeProps(props, {
|
|
2086
|
-
iconNode: iconNode$
|
|
2121
|
+
iconNode: iconNode$b,
|
|
2087
2122
|
name: "star"
|
|
2088
2123
|
}));
|
|
2089
2124
|
var star_default = Star;
|
|
2090
|
-
var iconNode$
|
|
2125
|
+
var iconNode$a = [["path", {
|
|
2091
2126
|
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",
|
|
2092
2127
|
key: "vktsd0"
|
|
2093
2128
|
}], ["circle", {
|
|
@@ -2098,11 +2133,11 @@ var iconNode$9 = [["path", {
|
|
|
2098
2133
|
key: "kqv944"
|
|
2099
2134
|
}]];
|
|
2100
2135
|
var Tag = (props) => createComponent(Icon_default, mergeProps(props, {
|
|
2101
|
-
iconNode: iconNode$
|
|
2136
|
+
iconNode: iconNode$a,
|
|
2102
2137
|
name: "tag"
|
|
2103
2138
|
}));
|
|
2104
2139
|
var tag_default = Tag;
|
|
2105
|
-
var iconNode$
|
|
2140
|
+
var iconNode$9 = [["path", {
|
|
2106
2141
|
d: "M10 11v6",
|
|
2107
2142
|
key: "nco0om"
|
|
2108
2143
|
}], ["path", {
|
|
@@ -2119,11 +2154,11 @@ var iconNode$8 = [["path", {
|
|
|
2119
2154
|
key: "e791ji"
|
|
2120
2155
|
}]];
|
|
2121
2156
|
var Trash2 = (props) => createComponent(Icon_default, mergeProps(props, {
|
|
2122
|
-
iconNode: iconNode$
|
|
2157
|
+
iconNode: iconNode$9,
|
|
2123
2158
|
name: "trash-2"
|
|
2124
2159
|
}));
|
|
2125
2160
|
var trash_2_default = Trash2;
|
|
2126
|
-
var iconNode$
|
|
2161
|
+
var iconNode$8 = [["path", {
|
|
2127
2162
|
d: "M9 14 4 9l5-5",
|
|
2128
2163
|
key: "102s5s"
|
|
2129
2164
|
}], ["path", {
|
|
@@ -2131,10 +2166,25 @@ var iconNode$7 = [["path", {
|
|
|
2131
2166
|
key: "f3b9sd"
|
|
2132
2167
|
}]];
|
|
2133
2168
|
var Undo2 = (props) => createComponent(Icon_default, mergeProps(props, {
|
|
2134
|
-
iconNode: iconNode$
|
|
2169
|
+
iconNode: iconNode$8,
|
|
2135
2170
|
name: "undo-2"
|
|
2136
2171
|
}));
|
|
2137
2172
|
var undo_2_default = Undo2;
|
|
2173
|
+
var iconNode$7 = [["path", {
|
|
2174
|
+
d: "M12 3v12",
|
|
2175
|
+
key: "1x0j5s"
|
|
2176
|
+
}], ["path", {
|
|
2177
|
+
d: "m17 8-5-5-5 5",
|
|
2178
|
+
key: "7q97r8"
|
|
2179
|
+
}], ["path", {
|
|
2180
|
+
d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",
|
|
2181
|
+
key: "ih7n3h"
|
|
2182
|
+
}]];
|
|
2183
|
+
var Upload = (props) => createComponent(Icon_default, mergeProps(props, {
|
|
2184
|
+
iconNode: iconNode$7,
|
|
2185
|
+
name: "upload"
|
|
2186
|
+
}));
|
|
2187
|
+
var upload_default = Upload;
|
|
2138
2188
|
var iconNode$6 = [["path", {
|
|
2139
2189
|
d: "M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",
|
|
2140
2190
|
key: "975kel"
|
|
@@ -4547,20 +4597,39 @@ const FlowProgress = () => {
|
|
|
4547
4597
|
});
|
|
4548
4598
|
};
|
|
4549
4599
|
function useScrollFade(el) {
|
|
4600
|
+
let frameId;
|
|
4601
|
+
let hasTopFade;
|
|
4602
|
+
let hasBottomFade;
|
|
4550
4603
|
const update = () => {
|
|
4604
|
+
frameId = void 0;
|
|
4551
4605
|
const { scrollTop, scrollHeight, clientHeight } = el;
|
|
4552
4606
|
const atTop = scrollTop <= 2;
|
|
4553
4607
|
const atBottom = scrollTop + clientHeight >= scrollHeight - 2;
|
|
4554
|
-
|
|
4555
|
-
|
|
4608
|
+
const nextTopFade = !atTop;
|
|
4609
|
+
const nextBottomFade = !atBottom;
|
|
4610
|
+
if (hasTopFade !== nextTopFade) {
|
|
4611
|
+
hasTopFade = nextTopFade;
|
|
4612
|
+
el.classList.toggle("fade-top", nextTopFade);
|
|
4613
|
+
}
|
|
4614
|
+
if (hasBottomFade !== nextBottomFade) {
|
|
4615
|
+
hasBottomFade = nextBottomFade;
|
|
4616
|
+
el.classList.toggle("fade-bottom", nextBottomFade);
|
|
4617
|
+
}
|
|
4618
|
+
};
|
|
4619
|
+
const scheduleUpdate = () => {
|
|
4620
|
+
if (frameId !== void 0) return;
|
|
4621
|
+
frameId = requestAnimationFrame(update);
|
|
4556
4622
|
};
|
|
4557
4623
|
el.classList.add("scroll-fade");
|
|
4558
|
-
el.addEventListener("scroll",
|
|
4559
|
-
queueMicrotask(
|
|
4560
|
-
const observer = new MutationObserver(
|
|
4624
|
+
el.addEventListener("scroll", scheduleUpdate, { passive: true });
|
|
4625
|
+
queueMicrotask(scheduleUpdate);
|
|
4626
|
+
const observer = new MutationObserver(scheduleUpdate);
|
|
4561
4627
|
observer.observe(el, { childList: true, subtree: true });
|
|
4562
4628
|
onCleanup(() => {
|
|
4563
|
-
el.removeEventListener("scroll",
|
|
4629
|
+
el.removeEventListener("scroll", scheduleUpdate);
|
|
4630
|
+
if (frameId !== void 0) {
|
|
4631
|
+
cancelAnimationFrame(frameId);
|
|
4632
|
+
}
|
|
4564
4633
|
observer.disconnect();
|
|
4565
4634
|
});
|
|
4566
4635
|
}
|
|
@@ -6026,6 +6095,94 @@ function buildAndRememberBookmarkContext(args) {
|
|
|
6026
6095
|
rememberedSummary: remembered?.summary ?? null
|
|
6027
6096
|
});
|
|
6028
6097
|
}
|
|
6098
|
+
const logger$1 = createLogger("AutomationKits");
|
|
6099
|
+
const BUNDLED_KITS = [];
|
|
6100
|
+
function normalizeSkillCommandToken(value) {
|
|
6101
|
+
return value.trim().toLowerCase().replace(/^\/+/, "").replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
|
|
6102
|
+
}
|
|
6103
|
+
function getSkillCommandTokens(kit) {
|
|
6104
|
+
return Array.from(
|
|
6105
|
+
new Set([
|
|
6106
|
+
normalizeSkillCommandToken(kit.name),
|
|
6107
|
+
normalizeSkillCommandToken(kit.id)
|
|
6108
|
+
].filter(Boolean))
|
|
6109
|
+
);
|
|
6110
|
+
}
|
|
6111
|
+
function parseSkillSlashInvocation(value, kits) {
|
|
6112
|
+
const trimmed = value.trim();
|
|
6113
|
+
if (!trimmed.startsWith("/")) return null;
|
|
6114
|
+
const [rawCommand = "", ...rest] = trimmed.split(/\s+/);
|
|
6115
|
+
const command = normalizeSkillCommandToken(rawCommand);
|
|
6116
|
+
let skillToken = command;
|
|
6117
|
+
let task = rest.join(" ").trim();
|
|
6118
|
+
if (command === "skill") {
|
|
6119
|
+
const [rawSkillToken = "", ...skillRest] = rest;
|
|
6120
|
+
skillToken = normalizeSkillCommandToken(rawSkillToken);
|
|
6121
|
+
task = skillRest.join(" ").trim();
|
|
6122
|
+
}
|
|
6123
|
+
if (!skillToken) return null;
|
|
6124
|
+
const kit = kits.find(
|
|
6125
|
+
(candidate) => getSkillCommandTokens(candidate).includes(skillToken)
|
|
6126
|
+
);
|
|
6127
|
+
return kit ? { kit, task } : null;
|
|
6128
|
+
}
|
|
6129
|
+
function getSkillSlashSuggestionQuery(value) {
|
|
6130
|
+
if (!value.startsWith("/") || value.includes("\n")) return null;
|
|
6131
|
+
const withoutSlash = value.slice(1);
|
|
6132
|
+
if (/^\S+\s+\S/.test(withoutSlash) && !withoutSlash.startsWith("skill ")) {
|
|
6133
|
+
return null;
|
|
6134
|
+
}
|
|
6135
|
+
if (withoutSlash === "skill") return "";
|
|
6136
|
+
if (withoutSlash.startsWith("skill ")) {
|
|
6137
|
+
const afterSkill = withoutSlash.slice("skill ".length);
|
|
6138
|
+
if (afterSkill.includes(" ")) return null;
|
|
6139
|
+
return normalizeSkillCommandToken(afterSkill);
|
|
6140
|
+
}
|
|
6141
|
+
if (withoutSlash.includes(" ")) return null;
|
|
6142
|
+
return normalizeSkillCommandToken(withoutSlash);
|
|
6143
|
+
}
|
|
6144
|
+
function getSkillSlashSuggestions(value, kits, limit = 6) {
|
|
6145
|
+
const query = getSkillSlashSuggestionQuery(value);
|
|
6146
|
+
if (query === null) return [];
|
|
6147
|
+
return kits.map((kit) => ({
|
|
6148
|
+
kit,
|
|
6149
|
+
tokens: getSkillCommandTokens(kit),
|
|
6150
|
+
normalizedName: normalizeSkillCommandToken(kit.name)
|
|
6151
|
+
})).filter(
|
|
6152
|
+
({ tokens, normalizedName }) => query ? tokens.some((token) => token.includes(query)) || normalizedName.includes(query) : true
|
|
6153
|
+
).sort((left, right) => {
|
|
6154
|
+
if (!query) return left.kit.name.localeCompare(right.kit.name);
|
|
6155
|
+
const leftStarts = left.tokens.some((token) => token.startsWith(query));
|
|
6156
|
+
const rightStarts = right.tokens.some((token) => token.startsWith(query));
|
|
6157
|
+
if (leftStarts !== rightStarts) return leftStarts ? -1 : 1;
|
|
6158
|
+
return left.kit.name.localeCompare(right.kit.name);
|
|
6159
|
+
}).slice(0, limit).map(({ kit }) => kit);
|
|
6160
|
+
}
|
|
6161
|
+
function buildSlashSkillValues(kit, task) {
|
|
6162
|
+
const values = {};
|
|
6163
|
+
for (const input of kit.inputs) {
|
|
6164
|
+
values[input.key] = input.defaultValue ?? "";
|
|
6165
|
+
}
|
|
6166
|
+
const targetInput = kit.inputs.find((input) => input.key === "task") ?? kit.inputs.find((input) => input.type === "textarea") ?? kit.inputs.find((input) => input.required) ?? kit.inputs[0];
|
|
6167
|
+
if (targetInput) {
|
|
6168
|
+
values[targetInput.key] = task;
|
|
6169
|
+
}
|
|
6170
|
+
const missingLabels = kit.inputs.filter((input) => input.required).filter((input) => !values[input.key]?.trim()).map((input) => input.label);
|
|
6171
|
+
return { values, missingLabels };
|
|
6172
|
+
}
|
|
6173
|
+
function renderKitPrompt(kit, values) {
|
|
6174
|
+
for (const input of kit.inputs) {
|
|
6175
|
+
if (input.required && !values[input.key]?.trim()) {
|
|
6176
|
+
logger$1.warn(
|
|
6177
|
+
`Required field "${input.key}" is empty for kit "${kit.id}".`
|
|
6178
|
+
);
|
|
6179
|
+
}
|
|
6180
|
+
}
|
|
6181
|
+
return kit.promptTemplate.replace(
|
|
6182
|
+
/\{\{(\w+)\}\}/g,
|
|
6183
|
+
(_, key) => values[key] ?? ""
|
|
6184
|
+
);
|
|
6185
|
+
}
|
|
6029
6186
|
function _arrayLikeToArray(r, a) {
|
|
6030
6187
|
(null == a || a > r.length) && (a = r.length);
|
|
6031
6188
|
for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
|
|
@@ -7671,156 +7828,8 @@ const DropdownSelect = (props) => {
|
|
|
7671
7828
|
})();
|
|
7672
7829
|
};
|
|
7673
7830
|
delegateEvents(["click"]);
|
|
7674
|
-
const BUNDLED_KIT_IDS = /* @__PURE__ */ new Set(
|
|
7675
|
-
|
|
7676
|
-
"price-scout",
|
|
7677
|
-
"form-filler"
|
|
7678
|
-
]);
|
|
7679
|
-
const logger$1 = createLogger("AutomationKits");
|
|
7680
|
-
const BUNDLED_KITS = [
|
|
7681
|
-
{
|
|
7682
|
-
id: "research-collect",
|
|
7683
|
-
name: "Research & Collect",
|
|
7684
|
-
description: "Browse the web to research a topic, compile key findings, and save the best sources as bookmarks.",
|
|
7685
|
-
category: "research",
|
|
7686
|
-
icon: "BookOpen",
|
|
7687
|
-
estimatedMinutes: 5,
|
|
7688
|
-
inputs: [
|
|
7689
|
-
{
|
|
7690
|
-
key: "topic",
|
|
7691
|
-
label: "Topic",
|
|
7692
|
-
type: "text",
|
|
7693
|
-
placeholder: "e.g. best ergonomic keyboards 2024",
|
|
7694
|
-
required: true
|
|
7695
|
-
},
|
|
7696
|
-
{
|
|
7697
|
-
key: "question",
|
|
7698
|
-
label: "What do you want to know?",
|
|
7699
|
-
type: "textarea",
|
|
7700
|
-
placeholder: "e.g. What are the top-rated options under $200, and what makes each one stand out?",
|
|
7701
|
-
hint: "The more specific your question, the better the results",
|
|
7702
|
-
required: true
|
|
7703
|
-
},
|
|
7704
|
-
{
|
|
7705
|
-
key: "folderName",
|
|
7706
|
-
label: "Save bookmarks to folder",
|
|
7707
|
-
type: "text",
|
|
7708
|
-
placeholder: "e.g. Keyboard Research",
|
|
7709
|
-
hint: "Folder will be created if it doesn't exist",
|
|
7710
|
-
required: true,
|
|
7711
|
-
defaultValue: "Research"
|
|
7712
|
-
}
|
|
7713
|
-
],
|
|
7714
|
-
promptTemplate: `Research the topic "{{topic}}" to answer this question: {{question}}
|
|
7715
|
-
|
|
7716
|
-
Browse at least 3–5 reputable web sources. For each useful source you find:
|
|
7717
|
-
1. Read the key information relevant to the question
|
|
7718
|
-
2. Save the page as a bookmark in the "{{folderName}}" folder (create it if it doesn't exist)
|
|
7719
|
-
3. Add a short note to the bookmark explaining why it's relevant
|
|
7720
|
-
|
|
7721
|
-
When finished, summarize the most important findings in 3–5 bullet points and list the sources saved.`
|
|
7722
|
-
},
|
|
7723
|
-
{
|
|
7724
|
-
id: "price-scout",
|
|
7725
|
-
name: "Price Scout",
|
|
7726
|
-
description: "Search for a product across major retailers and surface the best current price.",
|
|
7727
|
-
category: "shopping",
|
|
7728
|
-
icon: "Tag",
|
|
7729
|
-
estimatedMinutes: 4,
|
|
7730
|
-
inputs: [
|
|
7731
|
-
{
|
|
7732
|
-
key: "product",
|
|
7733
|
-
label: "Product",
|
|
7734
|
-
type: "text",
|
|
7735
|
-
placeholder: "e.g. Sony WH-1000XM5 headphones",
|
|
7736
|
-
hint: "Include brand and model number for best results",
|
|
7737
|
-
required: true
|
|
7738
|
-
},
|
|
7739
|
-
{
|
|
7740
|
-
key: "condition",
|
|
7741
|
-
label: "Condition",
|
|
7742
|
-
type: "text",
|
|
7743
|
-
placeholder: "new",
|
|
7744
|
-
hint: "e.g. new, used, refurbished",
|
|
7745
|
-
required: false,
|
|
7746
|
-
defaultValue: "new"
|
|
7747
|
-
}
|
|
7748
|
-
],
|
|
7749
|
-
promptTemplate: `Find the best current price for "{{product}}" (condition: {{condition}}).
|
|
7750
|
-
|
|
7751
|
-
Search Google Shopping, then check at least 3–4 major retailers (Amazon, Walmart, Best Buy, Target, or whichever are most relevant for this product type).
|
|
7752
|
-
|
|
7753
|
-
For each retailer where you find the product:
|
|
7754
|
-
1. Note the price and any important details (shipping cost, availability, condition)
|
|
7755
|
-
2. Highlight the price on the page
|
|
7756
|
-
|
|
7757
|
-
At the end, tell me:
|
|
7758
|
-
- Which store has the best deal and why
|
|
7759
|
-
- A summary of all prices found
|
|
7760
|
-
- Any caveats worth knowing (limited stock, slow shipping, marketplace sellers, etc.)`
|
|
7761
|
-
},
|
|
7762
|
-
{
|
|
7763
|
-
id: "form-filler",
|
|
7764
|
-
name: "Form Filler",
|
|
7765
|
-
description: "Navigate to any form, fill it out with your details, and confirm before submitting.",
|
|
7766
|
-
category: "forms",
|
|
7767
|
-
icon: "ClipboardList",
|
|
7768
|
-
estimatedMinutes: 3,
|
|
7769
|
-
inputs: [
|
|
7770
|
-
{
|
|
7771
|
-
key: "url",
|
|
7772
|
-
label: "Form URL",
|
|
7773
|
-
type: "url",
|
|
7774
|
-
placeholder: "https://example.com/contact",
|
|
7775
|
-
required: true
|
|
7776
|
-
},
|
|
7777
|
-
{
|
|
7778
|
-
key: "formPurpose",
|
|
7779
|
-
label: "What is this form for?",
|
|
7780
|
-
type: "text",
|
|
7781
|
-
placeholder: "e.g. contact inquiry, job application, newsletter signup",
|
|
7782
|
-
hint: "Gives the agent context for how to interpret the fields",
|
|
7783
|
-
required: false
|
|
7784
|
-
},
|
|
7785
|
-
{
|
|
7786
|
-
key: "details",
|
|
7787
|
-
label: "Your details",
|
|
7788
|
-
type: "textarea",
|
|
7789
|
-
placeholder: "Name: Jane Smith\nEmail: jane@example.com\nMessage: I'd like to learn more about...",
|
|
7790
|
-
hint: "List as key: value pairs, one per line",
|
|
7791
|
-
required: true
|
|
7792
|
-
}
|
|
7793
|
-
],
|
|
7794
|
-
promptTemplate: `Navigate to {{url}} and fill out the form.
|
|
7795
|
-
{{formPurpose}}
|
|
7796
|
-
|
|
7797
|
-
Use the following details to fill the form fields:
|
|
7798
|
-
{{details}}
|
|
7799
|
-
|
|
7800
|
-
Steps:
|
|
7801
|
-
1. Navigate to the page and dismiss any cookie banners or overlays
|
|
7802
|
-
2. Read the form to understand what each field expects
|
|
7803
|
-
3. Match and fill all fields you have information for — skip fields you have no data for
|
|
7804
|
-
- Text inputs, textareas, and <select> dropdowns: use fill_form_field or select_option
|
|
7805
|
-
- Checkboxes and radio buttons: use click — do NOT use select_option on these
|
|
7806
|
-
- For multi-checkbox groups (e.g. "select all that apply"), click each relevant option individually
|
|
7807
|
-
4. Do NOT submit yet — show me a summary of everything you filled in and wait for my confirmation`
|
|
7808
|
-
}
|
|
7809
|
-
];
|
|
7810
|
-
function renderKitPrompt(kit, values) {
|
|
7811
|
-
for (const input of kit.inputs) {
|
|
7812
|
-
if (input.required && !values[input.key]?.trim()) {
|
|
7813
|
-
logger$1.warn(
|
|
7814
|
-
`Required field "${input.key}" is empty for kit "${kit.id}".`
|
|
7815
|
-
);
|
|
7816
|
-
}
|
|
7817
|
-
}
|
|
7818
|
-
return kit.promptTemplate.replace(
|
|
7819
|
-
/\{\{(\w+)\}\}/g,
|
|
7820
|
-
(_, key) => values[key] ?? ""
|
|
7821
|
-
);
|
|
7822
|
-
}
|
|
7823
|
-
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>Automation Kits are a premium feature. Upgrade to unlock pre-built workflows you can launch with one click.</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>Automation Kits <span class=kit-beta-tag>Beta</span></span><div class=kit-list-header-actions><span class=kit-list-count> kits</span><button class=kit-install-btn type=button title="Install a kit from a .kit.json file">+ Install`), _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-list>`), _tmpl$5$b = /* @__PURE__ */ template(`<div class=kit-sched-section><span>Scheduled</span><span class=kit-list-count>`), _tmpl$6$b = /* @__PURE__ */ template(`<div class=kit-sched-list>`), _tmpl$7$9 = /* @__PURE__ */ template(`<div class=kit-sched-section><span>Recent Activity</span><span class=kit-list-count>`), _tmpl$8$8 = /* @__PURE__ */ template(`<div class=kit-activity-list>`), _tmpl$9$7 = /* @__PURE__ */ template(`<div class=kit-form-header><button class=kit-back-btn type=button title="Back to kits"><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$0$5 = /* @__PURE__ */ template(`<p class=kit-form-desc>`), _tmpl$1$5 = /* @__PURE__ */ template(`<div class=kit-form-fields>`), _tmpl$10$5 = /* @__PURE__ */ template(`<p class=kit-form-estimate>Estimated run time: ~<!> min`), _tmpl$11$5 = /* @__PURE__ */ template(`<button class="agent-primary-button kit-run-btn"type=button>`), _tmpl$12$5 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label class=kit-form-label>Date & time</label><input class=kit-form-input type=datetime-local>`), _tmpl$13$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$14$4 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label class=kit-form-label>Day</label><select class=kit-form-input>`), _tmpl$15$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$16$3 = /* @__PURE__ */ template(`<p class=kit-schedule-error>`), _tmpl$17$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$18$3 = /* @__PURE__ */ template(`<div class=kit-schedule-section><label class=kit-schedule-toggle><input type=checkbox>Schedule for later`), _tmpl$19$3 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label>Run at</label><input type=datetime-local class="kit-form-input kit-schedule-time">`), _tmpl$20$3 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label>Day</label><select class="kit-form-input kit-schedule-time">`), _tmpl$21$3 = /* @__PURE__ */ template(`<div class=kit-schedule-row><label>Time</label><input type=time class="kit-form-input kit-schedule-time">`), _tmpl$22$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$23$3 = /* @__PURE__ */ template(`<section class=automation-panel>`), _tmpl$24$3 = /* @__PURE__ */ template(`<div class=kit-card-meta>~<!> min`), _tmpl$25$2 = /* @__PURE__ */ template(`<button class=kit-remove-btn type=button>×`), _tmpl$26$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$27$2 = /* @__PURE__ */ template(`<svg class=kit-card-caret width=14 height=14 viewBox="0 0 14 14"fill=none aria-hidden=true><path d="M5 3l4 4-4 4"stroke=currentColor stroke-width=1.5 stroke-linecap=round stroke-linejoin=round>`), _tmpl$28$2 = /* @__PURE__ */ template(`<div class=kit-sched-next>Next: `), _tmpl$29$2 = /* @__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$30$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$31$1 = /* @__PURE__ */ template(`<div class=kit-activity-output>`), _tmpl$32$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$33$1 = /* @__PURE__ */ template(`<div class="kit-activity-output kit-activity-placeholder">`), _tmpl$34$1 = /* @__PURE__ */ template(`<span class=kit-form-required aria-hidden=true>*`), _tmpl$35$1 = /* @__PURE__ */ template(`<textarea class=kit-form-textarea rows=3>`), _tmpl$36$1 = /* @__PURE__ */ template(`<p class=kit-form-hint>`), _tmpl$37$1 = /* @__PURE__ */ template(`<div class=kit-form-field><label class=kit-form-label>`), _tmpl$38$1 = /* @__PURE__ */ template(`<input class=kit-form-input>`), _tmpl$39$1 = /* @__PURE__ */ template(`<span class=kit-run-spinner aria-hidden=true>`), _tmpl$40$1 = /* @__PURE__ */ template(`<label class=kit-schedule-type-option><input type=radio name=sched-type>`), _tmpl$41$1 = /* @__PURE__ */ template(`<option>`), _tmpl$42$1 = /* @__PURE__ */ template(`<label class=kit-schedule-type-option><input type=radio name=edit-sched-type>`);
|
|
7831
|
+
const BUNDLED_KIT_IDS = /* @__PURE__ */ new Set();
|
|
7832
|
+
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 & 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>`);
|
|
7824
7833
|
const ICON_MAP = {
|
|
7825
7834
|
BookOpen: book_open_default,
|
|
7826
7835
|
Tag: tag_default,
|
|
@@ -7891,6 +7900,39 @@ function toLocalDateTimeInput(iso) {
|
|
|
7891
7900
|
const pad = (n) => String(n).padStart(2, "0");
|
|
7892
7901
|
return `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())}T${pad(d.getHours())}:${pad(d.getMinutes())}`;
|
|
7893
7902
|
}
|
|
7903
|
+
function createSkillId(name) {
|
|
7904
|
+
const slug = name.trim().toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
|
|
7905
|
+
return slug ? `custom-${slug}` : `custom-skill-${Date.now()}`;
|
|
7906
|
+
}
|
|
7907
|
+
const SIMPLE_TASK_PROMPT_SUFFIX = "\n\nTask:\n{{task}}";
|
|
7908
|
+
function isSimpleTaskSkill(kit) {
|
|
7909
|
+
return kit.inputs.length === 1 && kit.inputs[0]?.key === "task" && kit.inputs[0]?.type === "textarea";
|
|
7910
|
+
}
|
|
7911
|
+
function getEditableInstructions(kit) {
|
|
7912
|
+
if (isSimpleTaskSkill(kit) && kit.promptTemplate.endsWith(SIMPLE_TASK_PROMPT_SUFFIX)) {
|
|
7913
|
+
return kit.promptTemplate.slice(0, -SIMPLE_TASK_PROMPT_SUFFIX.length);
|
|
7914
|
+
}
|
|
7915
|
+
return kit.promptTemplate;
|
|
7916
|
+
}
|
|
7917
|
+
function buildSkillDraft(name, description, instructions, existing) {
|
|
7918
|
+
const simpleTaskSkill = !existing || isSimpleTaskSkill(existing);
|
|
7919
|
+
return {
|
|
7920
|
+
id: existing?.id ?? createSkillId(name),
|
|
7921
|
+
name,
|
|
7922
|
+
description: description || "Custom agent skill.",
|
|
7923
|
+
category: existing?.category ?? "productivity",
|
|
7924
|
+
icon: existing?.icon ?? "Zap",
|
|
7925
|
+
estimatedMinutes: existing?.estimatedMinutes ?? 3,
|
|
7926
|
+
inputs: simpleTaskSkill ? [{
|
|
7927
|
+
key: "task",
|
|
7928
|
+
label: "Task",
|
|
7929
|
+
type: "textarea",
|
|
7930
|
+
placeholder: "What should the agent do with this skill?",
|
|
7931
|
+
required: true
|
|
7932
|
+
}] : existing.inputs,
|
|
7933
|
+
promptTemplate: simpleTaskSkill ? `${instructions}${SIMPLE_TASK_PROMPT_SUFFIX}` : instructions
|
|
7934
|
+
};
|
|
7935
|
+
}
|
|
7894
7936
|
const AutomationTab = (props) => {
|
|
7895
7937
|
const {
|
|
7896
7938
|
runAutomationPrompt,
|
|
@@ -7903,6 +7945,13 @@ const AutomationTab = (props) => {
|
|
|
7903
7945
|
const [selectedKit, setSelectedKit] = createSignal(null);
|
|
7904
7946
|
const [fieldValues, setFieldValues] = createSignal({});
|
|
7905
7947
|
const [installError, setInstallError] = createSignal(null);
|
|
7948
|
+
const [createEditorOpen, setCreateEditorOpen] = createSignal(false);
|
|
7949
|
+
const [createName, setCreateName] = createSignal("");
|
|
7950
|
+
const [createDescription, setCreateDescription] = createSignal("");
|
|
7951
|
+
const [createInstructions, setCreateInstructions] = createSignal("");
|
|
7952
|
+
const [createError, setCreateError] = createSignal(null);
|
|
7953
|
+
const [savingSkill, setSavingSkill] = createSignal(false);
|
|
7954
|
+
const [editingSkill, setEditingSkill] = createSignal(null);
|
|
7906
7955
|
const [scheduleEnabled, setScheduleEnabled] = createSignal(false);
|
|
7907
7956
|
const [schedType, setSchedType] = createSignal("daily");
|
|
7908
7957
|
const [schedHour, setSchedHour] = createSignal(9);
|
|
@@ -7931,6 +7980,7 @@ const AutomationTab = (props) => {
|
|
|
7931
7980
|
if (e.key === "Escape") {
|
|
7932
7981
|
setOpenMenuJobId(null);
|
|
7933
7982
|
setEditingJob(null);
|
|
7983
|
+
closeCreateEditor();
|
|
7934
7984
|
}
|
|
7935
7985
|
};
|
|
7936
7986
|
document.addEventListener("keydown", onKeyDown);
|
|
@@ -8043,6 +8093,7 @@ const AutomationTab = (props) => {
|
|
|
8043
8093
|
};
|
|
8044
8094
|
const handleInstall = async () => {
|
|
8045
8095
|
setInstallError(null);
|
|
8096
|
+
setCreateError(null);
|
|
8046
8097
|
const result = await window.vessel.automation.installFromFile();
|
|
8047
8098
|
if (!result.ok) {
|
|
8048
8099
|
if (result.error !== "canceled") {
|
|
@@ -8052,11 +8103,81 @@ const AutomationTab = (props) => {
|
|
|
8052
8103
|
}
|
|
8053
8104
|
void refetchInstalled();
|
|
8054
8105
|
};
|
|
8106
|
+
const openCreateEditor = () => {
|
|
8107
|
+
setInstallError(null);
|
|
8108
|
+
setCreateError(null);
|
|
8109
|
+
setSavingSkill(false);
|
|
8110
|
+
setEditingSkill(null);
|
|
8111
|
+
setCreateName("");
|
|
8112
|
+
setCreateDescription("");
|
|
8113
|
+
setCreateInstructions("");
|
|
8114
|
+
setCreateEditorOpen(true);
|
|
8115
|
+
};
|
|
8116
|
+
const closeCreateEditor = () => {
|
|
8117
|
+
setCreateEditorOpen(false);
|
|
8118
|
+
setCreateError(null);
|
|
8119
|
+
setSavingSkill(false);
|
|
8120
|
+
setEditingSkill(null);
|
|
8121
|
+
};
|
|
8122
|
+
const clearCreateDraft = () => {
|
|
8123
|
+
setCreateName("");
|
|
8124
|
+
setCreateDescription("");
|
|
8125
|
+
setCreateInstructions("");
|
|
8126
|
+
};
|
|
8127
|
+
const resetCreateDraft = () => {
|
|
8128
|
+
const skill = editingSkill();
|
|
8129
|
+
setCreateName(skill?.name ?? "");
|
|
8130
|
+
setCreateDescription(skill?.description ?? "");
|
|
8131
|
+
setCreateInstructions(skill ? getEditableInstructions(skill) : "");
|
|
8132
|
+
setCreateError(null);
|
|
8133
|
+
};
|
|
8134
|
+
const handleOpenEditSkill = (e, kit) => {
|
|
8135
|
+
e.stopPropagation();
|
|
8136
|
+
if (BUNDLED_KIT_IDS.has(kit.id)) return;
|
|
8137
|
+
setInstallError(null);
|
|
8138
|
+
setCreateError(null);
|
|
8139
|
+
setEditingSkill(kit);
|
|
8140
|
+
setCreateName(kit.name);
|
|
8141
|
+
setCreateDescription(kit.description);
|
|
8142
|
+
setCreateInstructions(getEditableInstructions(kit));
|
|
8143
|
+
setCreateEditorOpen(true);
|
|
8144
|
+
};
|
|
8145
|
+
const handleSaveSkill = async () => {
|
|
8146
|
+
if (savingSkill()) return;
|
|
8147
|
+
setInstallError(null);
|
|
8148
|
+
setCreateError(null);
|
|
8149
|
+
const name = createName().trim();
|
|
8150
|
+
const instructions = createInstructions().trim();
|
|
8151
|
+
if (!name || !instructions) {
|
|
8152
|
+
setCreateError("Add a skill name and instructions before saving.");
|
|
8153
|
+
return;
|
|
8154
|
+
}
|
|
8155
|
+
const existing = editingSkill() ?? void 0;
|
|
8156
|
+
const skill = buildSkillDraft(name, createDescription().trim(), instructions, existing);
|
|
8157
|
+
setSavingSkill(true);
|
|
8158
|
+
try {
|
|
8159
|
+
const source = JSON.stringify(skill);
|
|
8160
|
+
const automationApi = window.vessel.automation;
|
|
8161
|
+
const result = existing && automationApi.updateFromText ? await automationApi.updateFromText(existing.id, source) : await window.vessel.automation.createFromText(source);
|
|
8162
|
+
if (!result.ok) {
|
|
8163
|
+
setCreateError(result.error ?? "Could not save skill.");
|
|
8164
|
+
return;
|
|
8165
|
+
}
|
|
8166
|
+
setCreateEditorOpen(false);
|
|
8167
|
+
setEditingSkill(null);
|
|
8168
|
+
clearCreateDraft();
|
|
8169
|
+
void refetchInstalled();
|
|
8170
|
+
} catch (err) {
|
|
8171
|
+
setCreateError(err instanceof Error ? err.message : "Could not save skill.");
|
|
8172
|
+
} finally {
|
|
8173
|
+
setSavingSkill(false);
|
|
8174
|
+
}
|
|
8175
|
+
};
|
|
8055
8176
|
const handleUninstall = async (e, id) => {
|
|
8056
8177
|
e.stopPropagation();
|
|
8057
8178
|
const result = await window.vessel.automation.uninstall(id);
|
|
8058
8179
|
if (!result.ok) {
|
|
8059
|
-
setInstallError(result.error ?? "Could not remove
|
|
8180
|
+
setInstallError(result.error ?? "Could not remove skill.");
|
|
8060
8181
|
return;
|
|
8061
8182
|
}
|
|
8062
8183
|
void refetchInstalled();
|
|
@@ -8139,7 +8260,7 @@ const AutomationTab = (props) => {
|
|
|
8139
8260
|
};
|
|
8140
8261
|
const timeValue = () => `${String(schedHour()).padStart(2, "0")}:${String(schedMinute()).padStart(2, "0")}`;
|
|
8141
8262
|
return (() => {
|
|
8142
|
-
var _el$ = _tmpl$
|
|
8263
|
+
var _el$ = _tmpl$24$3();
|
|
8143
8264
|
insert(_el$, createComponent(Show, {
|
|
8144
8265
|
get when() {
|
|
8145
8266
|
return memo(() => !!!premiumData.loading)() && !isPremium();
|
|
@@ -8159,158 +8280,270 @@ const AutomationTab = (props) => {
|
|
|
8159
8280
|
},
|
|
8160
8281
|
get children() {
|
|
8161
8282
|
return [(() => {
|
|
8162
|
-
var _el$7 = _tmpl$2$e(), _el$8 = _el$7.firstChild, _el$9 = _el$8.nextSibling, _el$0 = _el$9.firstChild, _el$1 = _el$0.firstChild, _el$10 = _el$0.nextSibling;
|
|
8283
|
+
var _el$7 = _tmpl$2$e(), _el$8 = _el$7.firstChild, _el$9 = _el$8.nextSibling, _el$0 = _el$9.firstChild, _el$1 = _el$0.firstChild, _el$10 = _el$0.nextSibling, _el$11 = _el$10.firstChild, _el$12 = _el$10.nextSibling, _el$13 = _el$12.firstChild;
|
|
8163
8284
|
insert(_el$0, () => allKits().length, _el$1);
|
|
8164
|
-
_el$10.$$click =
|
|
8285
|
+
_el$10.$$click = openCreateEditor;
|
|
8286
|
+
insert(_el$10, createComponent(plus_default, {
|
|
8287
|
+
size: 12,
|
|
8288
|
+
"aria-hidden": "true"
|
|
8289
|
+
}), _el$11);
|
|
8290
|
+
_el$12.$$click = () => void handleInstall();
|
|
8291
|
+
insert(_el$12, createComponent(upload_default, {
|
|
8292
|
+
size: 12,
|
|
8293
|
+
"aria-hidden": "true"
|
|
8294
|
+
}), _el$13);
|
|
8165
8295
|
return _el$7;
|
|
8166
8296
|
})(), createComponent(Show, {
|
|
8167
8297
|
get when() {
|
|
8168
8298
|
return installError() !== null;
|
|
8169
8299
|
},
|
|
8170
8300
|
get children() {
|
|
8171
|
-
var _el$
|
|
8172
|
-
insert(_el$
|
|
8173
|
-
_el$
|
|
8174
|
-
return _el$
|
|
8301
|
+
var _el$14 = _tmpl$3$c(), _el$15 = _el$14.firstChild, _el$16 = _el$15.nextSibling;
|
|
8302
|
+
insert(_el$15, installError);
|
|
8303
|
+
_el$16.$$click = () => setInstallError(null);
|
|
8304
|
+
return _el$14;
|
|
8175
8305
|
}
|
|
8176
|
-
}), (
|
|
8177
|
-
|
|
8178
|
-
|
|
8179
|
-
|
|
8180
|
-
|
|
8181
|
-
|
|
8182
|
-
|
|
8183
|
-
|
|
8184
|
-
|
|
8185
|
-
|
|
8186
|
-
|
|
8187
|
-
|
|
8188
|
-
|
|
8189
|
-
|
|
8190
|
-
|
|
8191
|
-
|
|
8192
|
-
|
|
8193
|
-
|
|
8194
|
-
|
|
8195
|
-
|
|
8196
|
-
|
|
8197
|
-
|
|
8198
|
-
|
|
8199
|
-
|
|
8200
|
-
|
|
8201
|
-
|
|
8202
|
-
|
|
8203
|
-
|
|
8204
|
-
|
|
8205
|
-
|
|
8206
|
-
|
|
8207
|
-
|
|
8208
|
-
|
|
8209
|
-
|
|
8210
|
-
|
|
8211
|
-
|
|
8212
|
-
|
|
8213
|
-
|
|
8214
|
-
|
|
8215
|
-
|
|
8216
|
-
|
|
8217
|
-
|
|
8218
|
-
|
|
8219
|
-
|
|
8220
|
-
|
|
8221
|
-
|
|
8222
|
-
|
|
8223
|
-
|
|
8224
|
-
|
|
8225
|
-
|
|
8226
|
-
|
|
8227
|
-
|
|
8228
|
-
|
|
8229
|
-
|
|
8230
|
-
|
|
8231
|
-
|
|
8306
|
+
}), createComponent(Show, {
|
|
8307
|
+
get when() {
|
|
8308
|
+
return createEditorOpen();
|
|
8309
|
+
},
|
|
8310
|
+
get children() {
|
|
8311
|
+
var _el$17 = _tmpl$4$b(), _el$18 = _el$17.firstChild, _el$19 = _el$18.firstChild, _el$20 = _el$19.nextSibling, _el$21 = _el$18.nextSibling, _el$22 = _el$21.nextSibling, _el$23 = _el$22.nextSibling, _el$27 = _el$23.nextSibling, _el$28 = _el$27.firstChild, _el$29 = _el$28.nextSibling, _el$30 = _el$29.nextSibling;
|
|
8312
|
+
insert(_el$19, () => editingSkill() ? "Edit Skill" : "Create Skill");
|
|
8313
|
+
_el$20.$$click = closeCreateEditor;
|
|
8314
|
+
_el$21.$$input = (e) => setCreateName(e.currentTarget.value);
|
|
8315
|
+
_el$22.$$input = (e) => setCreateDescription(e.currentTarget.value);
|
|
8316
|
+
_el$23.$$input = (e) => setCreateInstructions(e.currentTarget.value);
|
|
8317
|
+
insert(_el$17, createComponent(Show, {
|
|
8318
|
+
get when() {
|
|
8319
|
+
return createError() !== null;
|
|
8320
|
+
},
|
|
8321
|
+
get children() {
|
|
8322
|
+
var _el$24 = _tmpl$3$c(), _el$25 = _el$24.firstChild, _el$26 = _el$25.nextSibling;
|
|
8323
|
+
insert(_el$25, createError);
|
|
8324
|
+
_el$26.$$click = () => setCreateError(null);
|
|
8325
|
+
return _el$24;
|
|
8326
|
+
}
|
|
8327
|
+
}), _el$27);
|
|
8328
|
+
_el$28.$$click = resetCreateDraft;
|
|
8329
|
+
_el$29.$$click = closeCreateEditor;
|
|
8330
|
+
_el$30.$$click = () => void handleSaveSkill();
|
|
8331
|
+
insert(_el$30, (() => {
|
|
8332
|
+
var _c$ = memo(() => !!savingSkill());
|
|
8333
|
+
return () => _c$() ? "Saving..." : editingSkill() ? "Save Changes" : "Save Skill";
|
|
8334
|
+
})());
|
|
8335
|
+
createRenderEffect(() => _el$30.disabled = savingSkill());
|
|
8336
|
+
createRenderEffect(() => _el$21.value = createName());
|
|
8337
|
+
createRenderEffect(() => _el$22.value = createDescription());
|
|
8338
|
+
createRenderEffect(() => _el$23.value = createInstructions());
|
|
8339
|
+
return _el$17;
|
|
8340
|
+
}
|
|
8341
|
+
}), createComponent(Show, {
|
|
8342
|
+
get when() {
|
|
8343
|
+
return allKits().length > 0;
|
|
8344
|
+
},
|
|
8345
|
+
get fallback() {
|
|
8346
|
+
return (() => {
|
|
8347
|
+
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;
|
|
8348
|
+
_el$94.$$click = openCreateEditor;
|
|
8349
|
+
insert(_el$94, createComponent(plus_default, {
|
|
8350
|
+
size: 12,
|
|
8351
|
+
"aria-hidden": "true"
|
|
8352
|
+
}), _el$95);
|
|
8353
|
+
_el$96.$$click = () => void handleInstall();
|
|
8354
|
+
insert(_el$96, createComponent(upload_default, {
|
|
8355
|
+
size: 12,
|
|
8356
|
+
"aria-hidden": "true"
|
|
8357
|
+
}), _el$97);
|
|
8358
|
+
return _el$90;
|
|
8359
|
+
})();
|
|
8360
|
+
},
|
|
8361
|
+
get children() {
|
|
8362
|
+
var _el$31 = _tmpl$5$b();
|
|
8363
|
+
insert(_el$31, createComponent(For, {
|
|
8364
|
+
get each() {
|
|
8365
|
+
return allKits();
|
|
8366
|
+
},
|
|
8367
|
+
children: (kit) => (() => {
|
|
8368
|
+
var _el$98 = _tmpl$29$2(), _el$99 = _el$98.firstChild, _el$100 = _el$99.nextSibling, _el$101 = _el$100.firstChild, _el$102 = _el$101.nextSibling;
|
|
8369
|
+
_el$98.$$keydown = (e) => e.key === "Enter" && selectKit(kit);
|
|
8370
|
+
_el$98.$$click = () => selectKit(kit);
|
|
8371
|
+
insert(_el$99, createComponent(KitIcon, {
|
|
8372
|
+
get name() {
|
|
8373
|
+
return kit.icon;
|
|
8374
|
+
},
|
|
8375
|
+
size: 18
|
|
8376
|
+
}));
|
|
8377
|
+
insert(_el$101, () => kit.name);
|
|
8378
|
+
insert(_el$102, () => kit.description);
|
|
8379
|
+
insert(_el$100, createComponent(Show, {
|
|
8380
|
+
get when() {
|
|
8381
|
+
return kit.estimatedMinutes !== void 0;
|
|
8382
|
+
},
|
|
8383
|
+
get children() {
|
|
8384
|
+
var _el$103 = _tmpl$26$2(), _el$104 = _el$103.firstChild, _el$106 = _el$104.nextSibling;
|
|
8385
|
+
_el$106.nextSibling;
|
|
8386
|
+
insert(_el$103, () => kit.estimatedMinutes, _el$106);
|
|
8387
|
+
return _el$103;
|
|
8388
|
+
}
|
|
8389
|
+
}), null);
|
|
8390
|
+
insert(_el$98, createComponent(Show, {
|
|
8391
|
+
get when() {
|
|
8392
|
+
return !BUNDLED_KIT_IDS.has(kit.id);
|
|
8393
|
+
},
|
|
8394
|
+
get fallback() {
|
|
8395
|
+
return createComponent(chevron_right_default, {
|
|
8396
|
+
"class": "kit-card-caret",
|
|
8397
|
+
size: 14,
|
|
8398
|
+
"aria-hidden": "true"
|
|
8399
|
+
});
|
|
8400
|
+
},
|
|
8401
|
+
get children() {
|
|
8402
|
+
return [(() => {
|
|
8403
|
+
var _el$107 = _tmpl$27$2();
|
|
8404
|
+
_el$107.$$click = (e) => handleOpenEditSkill(e, kit);
|
|
8405
|
+
insert(_el$107, createComponent(pencil_default, {
|
|
8406
|
+
size: 13,
|
|
8407
|
+
"aria-hidden": "true"
|
|
8408
|
+
}));
|
|
8409
|
+
createRenderEffect((_p$) => {
|
|
8410
|
+
var _v$ = `Edit ${kit.name}`, _v$2 = `Edit ${kit.name}`;
|
|
8411
|
+
_v$ !== _p$.e && setAttribute(_el$107, "title", _p$.e = _v$);
|
|
8412
|
+
_v$2 !== _p$.t && setAttribute(_el$107, "aria-label", _p$.t = _v$2);
|
|
8413
|
+
return _p$;
|
|
8414
|
+
}, {
|
|
8415
|
+
e: void 0,
|
|
8416
|
+
t: void 0
|
|
8417
|
+
});
|
|
8418
|
+
return _el$107;
|
|
8419
|
+
})(), (() => {
|
|
8420
|
+
var _el$108 = _tmpl$27$2();
|
|
8421
|
+
_el$108.$$click = (e) => {
|
|
8422
|
+
e.stopPropagation();
|
|
8423
|
+
selectKit(kit);
|
|
8424
|
+
};
|
|
8425
|
+
insert(_el$108, createComponent(eye_default, {
|
|
8426
|
+
size: 13,
|
|
8427
|
+
"aria-hidden": "true"
|
|
8428
|
+
}));
|
|
8429
|
+
createRenderEffect((_p$) => {
|
|
8430
|
+
var _v$3 = `View ${kit.name}`, _v$4 = `View ${kit.name}`;
|
|
8431
|
+
_v$3 !== _p$.e && setAttribute(_el$108, "title", _p$.e = _v$3);
|
|
8432
|
+
_v$4 !== _p$.t && setAttribute(_el$108, "aria-label", _p$.t = _v$4);
|
|
8433
|
+
return _p$;
|
|
8434
|
+
}, {
|
|
8435
|
+
e: void 0,
|
|
8436
|
+
t: void 0
|
|
8437
|
+
});
|
|
8438
|
+
return _el$108;
|
|
8439
|
+
})(), (() => {
|
|
8440
|
+
var _el$109 = _tmpl$28$2();
|
|
8441
|
+
_el$109.$$click = (e) => void handleUninstall(e, kit.id);
|
|
8442
|
+
insert(_el$109, createComponent(trash_2_default, {
|
|
8443
|
+
size: 13,
|
|
8444
|
+
"aria-hidden": "true"
|
|
8445
|
+
}));
|
|
8446
|
+
createRenderEffect((_p$) => {
|
|
8447
|
+
var _v$5 = `Delete ${kit.name}`, _v$6 = `Delete ${kit.name}`;
|
|
8448
|
+
_v$5 !== _p$.e && setAttribute(_el$109, "title", _p$.e = _v$5);
|
|
8449
|
+
_v$6 !== _p$.t && setAttribute(_el$109, "aria-label", _p$.t = _v$6);
|
|
8450
|
+
return _p$;
|
|
8451
|
+
}, {
|
|
8452
|
+
e: void 0,
|
|
8453
|
+
t: void 0
|
|
8454
|
+
});
|
|
8455
|
+
return _el$109;
|
|
8456
|
+
})()];
|
|
8457
|
+
}
|
|
8458
|
+
}), null);
|
|
8459
|
+
return _el$98;
|
|
8460
|
+
})()
|
|
8461
|
+
}));
|
|
8462
|
+
return _el$31;
|
|
8463
|
+
}
|
|
8464
|
+
}), createComponent(Show, {
|
|
8232
8465
|
get when() {
|
|
8233
8466
|
return scheduledJobs().length > 0;
|
|
8234
8467
|
},
|
|
8235
8468
|
get children() {
|
|
8236
8469
|
return [(() => {
|
|
8237
|
-
var _el$
|
|
8238
|
-
insert(_el$
|
|
8470
|
+
var _el$32 = _tmpl$6$b(), _el$33 = _el$32.firstChild, _el$34 = _el$33.nextSibling;
|
|
8471
|
+
insert(_el$32, createComponent(clock_default, {
|
|
8239
8472
|
size: 12
|
|
8240
|
-
}), _el$
|
|
8241
|
-
insert(_el$
|
|
8242
|
-
return _el$
|
|
8473
|
+
}), _el$33);
|
|
8474
|
+
insert(_el$34, () => scheduledJobs().length);
|
|
8475
|
+
return _el$32;
|
|
8243
8476
|
})(), (() => {
|
|
8244
|
-
var _el$
|
|
8245
|
-
insert(_el$
|
|
8477
|
+
var _el$35 = _tmpl$7$9();
|
|
8478
|
+
insert(_el$35, createComponent(For, {
|
|
8246
8479
|
get each() {
|
|
8247
8480
|
return scheduledJobs();
|
|
8248
8481
|
},
|
|
8249
8482
|
children: (job) => (() => {
|
|
8250
|
-
var _el$
|
|
8251
|
-
_el$
|
|
8483
|
+
var _el$110 = _tmpl$32$1(), _el$111 = _el$110.firstChild, _el$112 = _el$111.nextSibling, _el$113 = _el$112.firstChild, _el$114 = _el$113.nextSibling, _el$117 = _el$112.nextSibling, _el$118 = _el$117.firstChild, _el$119 = _el$118.nextSibling;
|
|
8484
|
+
_el$110.$$contextmenu = (e) => {
|
|
8252
8485
|
e.preventDefault();
|
|
8253
8486
|
e.stopPropagation();
|
|
8254
8487
|
setOpenMenuJobId(job.id);
|
|
8255
8488
|
};
|
|
8256
|
-
insert(_el$
|
|
8489
|
+
insert(_el$111, createComponent(KitIcon, {
|
|
8257
8490
|
get name() {
|
|
8258
8491
|
return job.kitIcon;
|
|
8259
8492
|
},
|
|
8260
8493
|
size: 14
|
|
8261
8494
|
}));
|
|
8262
|
-
insert(_el$
|
|
8263
|
-
insert(_el$
|
|
8264
|
-
insert(_el$
|
|
8495
|
+
insert(_el$113, () => job.kitName);
|
|
8496
|
+
insert(_el$114, () => formatScheduleLabel(job));
|
|
8497
|
+
insert(_el$112, createComponent(Show, {
|
|
8265
8498
|
get when() {
|
|
8266
8499
|
return job.enabled;
|
|
8267
8500
|
},
|
|
8268
8501
|
get children() {
|
|
8269
|
-
var _el$
|
|
8270
|
-
_el$
|
|
8271
|
-
insert(_el$
|
|
8272
|
-
return _el$
|
|
8502
|
+
var _el$115 = _tmpl$30$1();
|
|
8503
|
+
_el$115.firstChild;
|
|
8504
|
+
insert(_el$115, () => formatNextRun(job.nextRunAt), null);
|
|
8505
|
+
return _el$115;
|
|
8273
8506
|
}
|
|
8274
8507
|
}), null);
|
|
8275
|
-
_el$
|
|
8276
|
-
insert(_el$
|
|
8277
|
-
_el$
|
|
8278
|
-
insert(_el$
|
|
8508
|
+
_el$118.$$click = (e) => void handleToggleJob(e, job);
|
|
8509
|
+
insert(_el$118, () => job.enabled ? "⏸" : "▶");
|
|
8510
|
+
_el$119.$$click = (e) => void handleDeleteJob(e, job.id);
|
|
8511
|
+
insert(_el$110, createComponent(Show, {
|
|
8279
8512
|
get when() {
|
|
8280
8513
|
return openMenuJobId() === job.id;
|
|
8281
8514
|
},
|
|
8282
8515
|
get children() {
|
|
8283
|
-
var _el$
|
|
8284
|
-
_el$
|
|
8285
|
-
_el$
|
|
8286
|
-
_el$
|
|
8287
|
-
_el$
|
|
8516
|
+
var _el$120 = _tmpl$31$1(), _el$121 = _el$120.firstChild, _el$122 = _el$121.nextSibling, _el$123 = _el$122.nextSibling, _el$124 = _el$123.nextSibling, _el$125 = _el$124.nextSibling;
|
|
8517
|
+
_el$120.$$click = (e) => e.stopPropagation();
|
|
8518
|
+
_el$121.$$click = () => handleOpenEditTask(job);
|
|
8519
|
+
_el$122.$$click = () => handleOpenEditSchedule(job);
|
|
8520
|
+
_el$124.$$click = (e) => {
|
|
8288
8521
|
void handleToggleJob(e, job);
|
|
8289
8522
|
setOpenMenuJobId(null);
|
|
8290
8523
|
};
|
|
8291
|
-
insert(_el$
|
|
8292
|
-
_el$
|
|
8524
|
+
insert(_el$124, () => job.enabled ? "Pause" : "Resume");
|
|
8525
|
+
_el$125.$$click = (e) => {
|
|
8293
8526
|
void handleDeleteJob(e, job.id);
|
|
8294
8527
|
setOpenMenuJobId(null);
|
|
8295
8528
|
};
|
|
8296
|
-
return _el$
|
|
8529
|
+
return _el$120;
|
|
8297
8530
|
}
|
|
8298
8531
|
}), null);
|
|
8299
8532
|
createRenderEffect((_p$) => {
|
|
8300
|
-
var _v$
|
|
8301
|
-
_v$
|
|
8302
|
-
_v$
|
|
8303
|
-
_v$
|
|
8533
|
+
var _v$7 = !job.enabled, _v$8 = job.enabled ? "Pause schedule" : "Resume schedule", _v$9 = job.enabled ? "Pause" : "Resume";
|
|
8534
|
+
_v$7 !== _p$.e && _el$110.classList.toggle("kit-sched-disabled", _p$.e = _v$7);
|
|
8535
|
+
_v$8 !== _p$.t && setAttribute(_el$118, "title", _p$.t = _v$8);
|
|
8536
|
+
_v$9 !== _p$.a && setAttribute(_el$118, "aria-label", _p$.a = _v$9);
|
|
8304
8537
|
return _p$;
|
|
8305
8538
|
}, {
|
|
8306
8539
|
e: void 0,
|
|
8307
8540
|
t: void 0,
|
|
8308
8541
|
a: void 0
|
|
8309
8542
|
});
|
|
8310
|
-
return _el$
|
|
8543
|
+
return _el$110;
|
|
8311
8544
|
})()
|
|
8312
8545
|
}));
|
|
8313
|
-
return _el$
|
|
8546
|
+
return _el$35;
|
|
8314
8547
|
})()];
|
|
8315
8548
|
}
|
|
8316
8549
|
}), createComponent(Show, {
|
|
@@ -8319,59 +8552,59 @@ const AutomationTab = (props) => {
|
|
|
8319
8552
|
},
|
|
8320
8553
|
get children() {
|
|
8321
8554
|
return [(() => {
|
|
8322
|
-
var _el$
|
|
8323
|
-
insert(_el$
|
|
8555
|
+
var _el$36 = _tmpl$8$8(), _el$37 = _el$36.firstChild, _el$38 = _el$37.nextSibling;
|
|
8556
|
+
insert(_el$36, createComponent(zap_default, {
|
|
8324
8557
|
size: 12
|
|
8325
|
-
}), _el$
|
|
8326
|
-
insert(_el$
|
|
8327
|
-
return _el$
|
|
8558
|
+
}), _el$37);
|
|
8559
|
+
insert(_el$38, () => automationActivities2().length);
|
|
8560
|
+
return _el$36;
|
|
8328
8561
|
})(), (() => {
|
|
8329
|
-
var _el$
|
|
8330
|
-
insert(_el$
|
|
8562
|
+
var _el$39 = _tmpl$9$7();
|
|
8563
|
+
insert(_el$39, createComponent(For, {
|
|
8331
8564
|
get each() {
|
|
8332
8565
|
return automationActivities2();
|
|
8333
8566
|
},
|
|
8334
8567
|
children: (activity) => (() => {
|
|
8335
|
-
var _el$
|
|
8336
|
-
insert(_el$
|
|
8568
|
+
var _el$126 = _tmpl$34$1(), _el$127 = _el$126.firstChild, _el$128 = _el$127.firstChild, _el$129 = _el$128.firstChild, _el$130 = _el$129.nextSibling, _el$131 = _el$130.firstChild, _el$132 = _el$131.nextSibling, _el$133 = _el$128.nextSibling;
|
|
8569
|
+
insert(_el$129, createComponent(KitIcon, {
|
|
8337
8570
|
get name() {
|
|
8338
8571
|
return activity.icon ?? "Zap";
|
|
8339
8572
|
},
|
|
8340
8573
|
size: 14
|
|
8341
8574
|
}));
|
|
8342
|
-
insert(_el$
|
|
8343
|
-
insert(_el$
|
|
8344
|
-
insert(_el$
|
|
8345
|
-
insert(_el$
|
|
8575
|
+
insert(_el$131, () => activity.title);
|
|
8576
|
+
insert(_el$132, () => formatActivityTime(activity.startedAt));
|
|
8577
|
+
insert(_el$133, () => formatActivityStatus(activity));
|
|
8578
|
+
insert(_el$126, createComponent(Show, {
|
|
8346
8579
|
get when() {
|
|
8347
8580
|
return activity.output.trim().length > 0;
|
|
8348
8581
|
},
|
|
8349
8582
|
get fallback() {
|
|
8350
8583
|
return (() => {
|
|
8351
|
-
var _el$
|
|
8352
|
-
insert(_el$
|
|
8353
|
-
return _el$
|
|
8584
|
+
var _el$135 = _tmpl$35$1();
|
|
8585
|
+
insert(_el$135, () => activity.status === "running" ? "Waiting for output..." : "No output captured.");
|
|
8586
|
+
return _el$135;
|
|
8354
8587
|
})();
|
|
8355
8588
|
},
|
|
8356
8589
|
get children() {
|
|
8357
|
-
var _el$
|
|
8358
|
-
insert(_el$
|
|
8359
|
-
return _el$
|
|
8590
|
+
var _el$134 = _tmpl$33$1();
|
|
8591
|
+
insert(_el$134, () => activity.output.trim());
|
|
8592
|
+
return _el$134;
|
|
8360
8593
|
}
|
|
8361
8594
|
}), null);
|
|
8362
8595
|
createRenderEffect((_p$) => {
|
|
8363
|
-
var _v$
|
|
8364
|
-
_v$
|
|
8365
|
-
_v$
|
|
8596
|
+
var _v$0 = !!(activity.status === "running"), _v$1 = !!(activity.status === "failed");
|
|
8597
|
+
_v$0 !== _p$.e && _el$126.classList.toggle("kit-activity-running", _p$.e = _v$0);
|
|
8598
|
+
_v$1 !== _p$.t && _el$126.classList.toggle("kit-activity-failed", _p$.t = _v$1);
|
|
8366
8599
|
return _p$;
|
|
8367
8600
|
}, {
|
|
8368
8601
|
e: void 0,
|
|
8369
8602
|
t: void 0
|
|
8370
8603
|
});
|
|
8371
|
-
return _el$
|
|
8604
|
+
return _el$126;
|
|
8372
8605
|
})()
|
|
8373
8606
|
}));
|
|
8374
|
-
return _el$
|
|
8607
|
+
return _el$39;
|
|
8375
8608
|
})()];
|
|
8376
8609
|
}
|
|
8377
8610
|
})];
|
|
@@ -8383,197 +8616,197 @@ const AutomationTab = (props) => {
|
|
|
8383
8616
|
},
|
|
8384
8617
|
get children() {
|
|
8385
8618
|
return [(() => {
|
|
8386
|
-
var _el$
|
|
8387
|
-
_el$
|
|
8619
|
+
var _el$40 = _tmpl$0$5(), _el$41 = _el$40.firstChild, _el$42 = _el$41.nextSibling;
|
|
8620
|
+
_el$41.$$click = () => {
|
|
8388
8621
|
setSelectedKit(null);
|
|
8389
8622
|
setEditingTaskJobId(null);
|
|
8390
8623
|
};
|
|
8391
|
-
insert(_el$
|
|
8624
|
+
insert(_el$42, createComponent(KitIcon, {
|
|
8392
8625
|
get name() {
|
|
8393
8626
|
return selectedKit().icon;
|
|
8394
8627
|
},
|
|
8395
8628
|
size: 14
|
|
8396
8629
|
}), null);
|
|
8397
|
-
insert(_el$
|
|
8398
|
-
return _el$
|
|
8630
|
+
insert(_el$42, () => selectedKit().name, null);
|
|
8631
|
+
return _el$40;
|
|
8399
8632
|
})(), (() => {
|
|
8400
|
-
var _el$
|
|
8401
|
-
insert(_el$
|
|
8402
|
-
return _el$
|
|
8633
|
+
var _el$43 = _tmpl$1$5();
|
|
8634
|
+
insert(_el$43, () => selectedKit().description);
|
|
8635
|
+
return _el$43;
|
|
8403
8636
|
})(), (() => {
|
|
8404
|
-
var _el$
|
|
8405
|
-
insert(_el$
|
|
8637
|
+
var _el$44 = _tmpl$10$5();
|
|
8638
|
+
insert(_el$44, createComponent(For, {
|
|
8406
8639
|
get each() {
|
|
8407
8640
|
return selectedKit().inputs;
|
|
8408
8641
|
},
|
|
8409
8642
|
children: (input) => (() => {
|
|
8410
|
-
var _el$
|
|
8411
|
-
insert(_el$
|
|
8412
|
-
insert(_el$
|
|
8643
|
+
var _el$136 = _tmpl$39$1(), _el$137 = _el$136.firstChild;
|
|
8644
|
+
insert(_el$137, () => input.label, null);
|
|
8645
|
+
insert(_el$137, createComponent(Show, {
|
|
8413
8646
|
get when() {
|
|
8414
8647
|
return input.required;
|
|
8415
8648
|
},
|
|
8416
8649
|
get children() {
|
|
8417
|
-
return _tmpl$
|
|
8650
|
+
return _tmpl$36$1();
|
|
8418
8651
|
}
|
|
8419
8652
|
}), null);
|
|
8420
|
-
insert(_el$
|
|
8653
|
+
insert(_el$136, createComponent(Show, {
|
|
8421
8654
|
get when() {
|
|
8422
8655
|
return input.type === "textarea";
|
|
8423
8656
|
},
|
|
8424
8657
|
get fallback() {
|
|
8425
8658
|
return (() => {
|
|
8426
|
-
var _el$
|
|
8427
|
-
_el$
|
|
8659
|
+
var _el$141 = _tmpl$40$1();
|
|
8660
|
+
_el$141.$$input = (e) => setField(input.key, e.currentTarget.value);
|
|
8428
8661
|
createRenderEffect((_p$) => {
|
|
8429
|
-
var _v$
|
|
8430
|
-
_v$
|
|
8431
|
-
_v$
|
|
8662
|
+
var _v$10 = input.type === "url" ? "url" : input.type === "number" ? "number" : "text", _v$11 = input.placeholder ?? "";
|
|
8663
|
+
_v$10 !== _p$.e && setAttribute(_el$141, "type", _p$.e = _v$10);
|
|
8664
|
+
_v$11 !== _p$.t && setAttribute(_el$141, "placeholder", _p$.t = _v$11);
|
|
8432
8665
|
return _p$;
|
|
8433
8666
|
}, {
|
|
8434
8667
|
e: void 0,
|
|
8435
8668
|
t: void 0
|
|
8436
8669
|
});
|
|
8437
|
-
createRenderEffect(() => _el$
|
|
8438
|
-
return _el$
|
|
8670
|
+
createRenderEffect(() => _el$141.value = fieldValues()[input.key] ?? "");
|
|
8671
|
+
return _el$141;
|
|
8439
8672
|
})();
|
|
8440
8673
|
},
|
|
8441
8674
|
get children() {
|
|
8442
|
-
var _el$
|
|
8443
|
-
_el$
|
|
8444
|
-
createRenderEffect(() => setAttribute(_el$
|
|
8445
|
-
createRenderEffect(() => _el$
|
|
8446
|
-
return _el$
|
|
8675
|
+
var _el$139 = _tmpl$37$1();
|
|
8676
|
+
_el$139.$$input = (e) => setField(input.key, e.currentTarget.value);
|
|
8677
|
+
createRenderEffect(() => setAttribute(_el$139, "placeholder", input.placeholder ?? ""));
|
|
8678
|
+
createRenderEffect(() => _el$139.value = fieldValues()[input.key] ?? "");
|
|
8679
|
+
return _el$139;
|
|
8447
8680
|
}
|
|
8448
8681
|
}), null);
|
|
8449
|
-
insert(_el$
|
|
8682
|
+
insert(_el$136, createComponent(Show, {
|
|
8450
8683
|
get when() {
|
|
8451
8684
|
return input.hint;
|
|
8452
8685
|
},
|
|
8453
8686
|
get children() {
|
|
8454
|
-
var _el$
|
|
8455
|
-
insert(_el$
|
|
8456
|
-
return _el$
|
|
8687
|
+
var _el$140 = _tmpl$38$1();
|
|
8688
|
+
insert(_el$140, () => input.hint);
|
|
8689
|
+
return _el$140;
|
|
8457
8690
|
}
|
|
8458
8691
|
}), null);
|
|
8459
|
-
return _el$
|
|
8692
|
+
return _el$136;
|
|
8460
8693
|
})()
|
|
8461
8694
|
}));
|
|
8462
|
-
return _el$
|
|
8695
|
+
return _el$44;
|
|
8463
8696
|
})(), createComponent(Show, {
|
|
8464
8697
|
get when() {
|
|
8465
8698
|
return selectedKit().estimatedMinutes !== void 0;
|
|
8466
8699
|
},
|
|
8467
8700
|
get children() {
|
|
8468
|
-
var _el$
|
|
8469
|
-
_el$
|
|
8470
|
-
insert(_el$
|
|
8471
|
-
return _el$
|
|
8701
|
+
var _el$45 = _tmpl$11$5(), _el$46 = _el$45.firstChild, _el$48 = _el$46.nextSibling;
|
|
8702
|
+
_el$48.nextSibling;
|
|
8703
|
+
insert(_el$45, () => selectedKit().estimatedMinutes, _el$48);
|
|
8704
|
+
return _el$45;
|
|
8472
8705
|
}
|
|
8473
8706
|
}), (() => {
|
|
8474
|
-
var _el$
|
|
8475
|
-
_el$
|
|
8476
|
-
insert(_el$
|
|
8707
|
+
var _el$49 = _tmpl$12$5();
|
|
8708
|
+
_el$49.$$click = () => void handleRun();
|
|
8709
|
+
insert(_el$49, createComponent(Show, {
|
|
8477
8710
|
get when() {
|
|
8478
8711
|
return !isStreaming2();
|
|
8479
8712
|
},
|
|
8480
8713
|
get fallback() {
|
|
8481
|
-
return [_tmpl$
|
|
8714
|
+
return [_tmpl$41$1(), "Agent busy…"];
|
|
8482
8715
|
},
|
|
8483
|
-
children: "Run
|
|
8716
|
+
children: "Run Skill"
|
|
8484
8717
|
}));
|
|
8485
|
-
createRenderEffect(() => _el$
|
|
8486
|
-
return _el$
|
|
8718
|
+
createRenderEffect(() => _el$49.disabled = !canRun());
|
|
8719
|
+
return _el$49;
|
|
8487
8720
|
})(), (() => {
|
|
8488
|
-
var _el$
|
|
8489
|
-
_el$
|
|
8490
|
-
insert(_el$
|
|
8721
|
+
var _el$50 = _tmpl$19$3(), _el$51 = _el$50.firstChild, _el$52 = _el$51.firstChild, _el$53 = _el$52.nextSibling;
|
|
8722
|
+
_el$52.addEventListener("change", (e) => setScheduleEnabled(e.currentTarget.checked));
|
|
8723
|
+
insert(_el$51, createComponent(clock_default, {
|
|
8491
8724
|
size: 13
|
|
8492
|
-
}), _el$
|
|
8493
|
-
insert(_el$
|
|
8725
|
+
}), _el$53);
|
|
8726
|
+
insert(_el$50, createComponent(Show, {
|
|
8494
8727
|
get when() {
|
|
8495
8728
|
return scheduleEnabled();
|
|
8496
8729
|
},
|
|
8497
8730
|
get children() {
|
|
8498
|
-
var _el$
|
|
8499
|
-
insert(_el$
|
|
8731
|
+
var _el$54 = _tmpl$18$3(), _el$55 = _el$54.firstChild, _el$69 = _el$55.nextSibling, _el$70 = _el$69.nextSibling;
|
|
8732
|
+
insert(_el$55, createComponent(For, {
|
|
8500
8733
|
each: ["once", "hourly", "daily", "weekly"],
|
|
8501
8734
|
children: (type) => (() => {
|
|
8502
|
-
var _el$
|
|
8503
|
-
_el$
|
|
8504
|
-
_el$
|
|
8505
|
-
insert(_el$
|
|
8506
|
-
createRenderEffect(() => _el$
|
|
8507
|
-
return _el$
|
|
8735
|
+
var _el$143 = _tmpl$42$1(), _el$144 = _el$143.firstChild;
|
|
8736
|
+
_el$144.addEventListener("change", () => setSchedType(type));
|
|
8737
|
+
_el$144.value = type;
|
|
8738
|
+
insert(_el$143, () => type.charAt(0).toUpperCase() + type.slice(1), null);
|
|
8739
|
+
createRenderEffect(() => _el$144.checked = schedType() === type);
|
|
8740
|
+
return _el$143;
|
|
8508
8741
|
})()
|
|
8509
8742
|
}));
|
|
8510
|
-
insert(_el$
|
|
8743
|
+
insert(_el$54, createComponent(Show, {
|
|
8511
8744
|
get when() {
|
|
8512
8745
|
return schedType() === "once";
|
|
8513
8746
|
},
|
|
8514
8747
|
get children() {
|
|
8515
|
-
var _el$
|
|
8516
|
-
_el$
|
|
8517
|
-
createRenderEffect(() => _el$
|
|
8518
|
-
return _el$
|
|
8748
|
+
var _el$56 = _tmpl$13$4(), _el$57 = _el$56.firstChild, _el$58 = _el$57.nextSibling;
|
|
8749
|
+
_el$58.$$input = (e) => setSchedRunAt(e.currentTarget.value);
|
|
8750
|
+
createRenderEffect(() => _el$58.value = schedRunAt());
|
|
8751
|
+
return _el$56;
|
|
8519
8752
|
}
|
|
8520
|
-
}), _el$
|
|
8521
|
-
insert(_el$
|
|
8753
|
+
}), _el$69);
|
|
8754
|
+
insert(_el$54, createComponent(Show, {
|
|
8522
8755
|
get when() {
|
|
8523
8756
|
return schedType() === "daily";
|
|
8524
8757
|
},
|
|
8525
8758
|
get children() {
|
|
8526
|
-
var _el$
|
|
8527
|
-
_el$
|
|
8528
|
-
createRenderEffect(() => _el$
|
|
8529
|
-
return _el$
|
|
8759
|
+
var _el$59 = _tmpl$14$4(), _el$60 = _el$59.firstChild, _el$61 = _el$60.nextSibling;
|
|
8760
|
+
_el$61.$$input = (e) => parseTimeInput(e.currentTarget.value);
|
|
8761
|
+
createRenderEffect(() => _el$61.value = timeValue());
|
|
8762
|
+
return _el$59;
|
|
8530
8763
|
}
|
|
8531
|
-
}), _el$
|
|
8532
|
-
insert(_el$
|
|
8764
|
+
}), _el$69);
|
|
8765
|
+
insert(_el$54, createComponent(Show, {
|
|
8533
8766
|
get when() {
|
|
8534
8767
|
return schedType() === "weekly";
|
|
8535
8768
|
},
|
|
8536
8769
|
get children() {
|
|
8537
8770
|
return [(() => {
|
|
8538
|
-
var _el$
|
|
8539
|
-
_el$
|
|
8540
|
-
insert(_el$
|
|
8771
|
+
var _el$62 = _tmpl$15$4(), _el$63 = _el$62.firstChild, _el$64 = _el$63.nextSibling;
|
|
8772
|
+
_el$64.addEventListener("change", (e) => setSchedDayOfWeek(Number(e.currentTarget.value)));
|
|
8773
|
+
insert(_el$64, createComponent(For, {
|
|
8541
8774
|
each: DAY_NAMES,
|
|
8542
8775
|
children: (day, i) => (() => {
|
|
8543
|
-
var _el$
|
|
8544
|
-
insert(_el$
|
|
8545
|
-
createRenderEffect(() => _el$
|
|
8546
|
-
return _el$
|
|
8776
|
+
var _el$145 = _tmpl$43$1();
|
|
8777
|
+
insert(_el$145, day);
|
|
8778
|
+
createRenderEffect(() => _el$145.value = i());
|
|
8779
|
+
return _el$145;
|
|
8547
8780
|
})()
|
|
8548
8781
|
}));
|
|
8549
|
-
createRenderEffect(() => _el$
|
|
8550
|
-
return _el$
|
|
8782
|
+
createRenderEffect(() => _el$64.value = schedDayOfWeek());
|
|
8783
|
+
return _el$62;
|
|
8551
8784
|
})(), (() => {
|
|
8552
|
-
var _el$
|
|
8553
|
-
_el$
|
|
8554
|
-
createRenderEffect(() => _el$
|
|
8555
|
-
return _el$
|
|
8785
|
+
var _el$65 = _tmpl$16$3(), _el$66 = _el$65.firstChild, _el$67 = _el$66.nextSibling;
|
|
8786
|
+
_el$67.$$input = (e) => parseTimeInput(e.currentTarget.value);
|
|
8787
|
+
createRenderEffect(() => _el$67.value = timeValue());
|
|
8788
|
+
return _el$65;
|
|
8556
8789
|
})()];
|
|
8557
8790
|
}
|
|
8558
|
-
}), _el$
|
|
8559
|
-
insert(_el$
|
|
8791
|
+
}), _el$69);
|
|
8792
|
+
insert(_el$54, createComponent(Show, {
|
|
8560
8793
|
get when() {
|
|
8561
8794
|
return scheduleError() !== null;
|
|
8562
8795
|
},
|
|
8563
8796
|
get children() {
|
|
8564
|
-
var _el$
|
|
8565
|
-
insert(_el$
|
|
8566
|
-
return _el$
|
|
8797
|
+
var _el$68 = _tmpl$17$3();
|
|
8798
|
+
insert(_el$68, scheduleError);
|
|
8799
|
+
return _el$68;
|
|
8567
8800
|
}
|
|
8568
|
-
}), _el$
|
|
8569
|
-
_el$
|
|
8570
|
-
insert(_el$
|
|
8571
|
-
createRenderEffect(() => _el$
|
|
8572
|
-
return _el$
|
|
8801
|
+
}), _el$69);
|
|
8802
|
+
_el$70.$$click = () => void handleSchedule();
|
|
8803
|
+
insert(_el$70, () => editingTaskJobId() ? "Save Changes" : "Schedule Skill");
|
|
8804
|
+
createRenderEffect(() => _el$70.disabled = !canSchedule());
|
|
8805
|
+
return _el$54;
|
|
8573
8806
|
}
|
|
8574
8807
|
}), null);
|
|
8575
|
-
createRenderEffect(() => _el$
|
|
8576
|
-
return _el$
|
|
8808
|
+
createRenderEffect(() => _el$52.checked = scheduleEnabled());
|
|
8809
|
+
return _el$50;
|
|
8577
8810
|
})()];
|
|
8578
8811
|
}
|
|
8579
8812
|
}), null);
|
|
@@ -8582,33 +8815,33 @@ const AutomationTab = (props) => {
|
|
|
8582
8815
|
return editingJob() !== null;
|
|
8583
8816
|
},
|
|
8584
8817
|
get children() {
|
|
8585
|
-
var _el$
|
|
8586
|
-
_el$
|
|
8587
|
-
_el$
|
|
8588
|
-
insert(_el$
|
|
8589
|
-
insert(_el$
|
|
8818
|
+
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;
|
|
8819
|
+
_el$71.$$click = () => setEditingJob(null);
|
|
8820
|
+
_el$72.$$click = (e) => e.stopPropagation();
|
|
8821
|
+
insert(_el$75, () => editingJob().kitName);
|
|
8822
|
+
insert(_el$76, createComponent(For, {
|
|
8590
8823
|
each: ["once", "hourly", "daily", "weekly"],
|
|
8591
8824
|
children: (t) => (() => {
|
|
8592
|
-
var _el$
|
|
8593
|
-
_el$
|
|
8594
|
-
_el$
|
|
8595
|
-
insert(_el$
|
|
8596
|
-
createRenderEffect(() => _el$
|
|
8597
|
-
return _el$
|
|
8825
|
+
var _el$146 = _tmpl$44$1(), _el$147 = _el$146.firstChild;
|
|
8826
|
+
_el$147.addEventListener("change", () => setEditType(t));
|
|
8827
|
+
_el$147.value = t;
|
|
8828
|
+
insert(_el$146, () => t.charAt(0).toUpperCase() + t.slice(1), null);
|
|
8829
|
+
createRenderEffect(() => _el$147.checked = editType() === t);
|
|
8830
|
+
return _el$146;
|
|
8598
8831
|
})()
|
|
8599
8832
|
}));
|
|
8600
|
-
insert(_el$
|
|
8833
|
+
insert(_el$72, createComponent(Show, {
|
|
8601
8834
|
get when() {
|
|
8602
8835
|
return editType() === "once";
|
|
8603
8836
|
},
|
|
8604
8837
|
get children() {
|
|
8605
|
-
var _el$
|
|
8606
|
-
_el$
|
|
8607
|
-
createRenderEffect(() => _el$
|
|
8608
|
-
return _el$
|
|
8838
|
+
var _el$77 = _tmpl$20$3(), _el$78 = _el$77.firstChild, _el$79 = _el$78.nextSibling;
|
|
8839
|
+
_el$79.$$input = (e) => setEditRunAt(e.currentTarget.value);
|
|
8840
|
+
createRenderEffect(() => _el$79.value = editRunAt());
|
|
8841
|
+
return _el$77;
|
|
8609
8842
|
}
|
|
8610
|
-
}), _el$
|
|
8611
|
-
insert(_el$
|
|
8843
|
+
}), _el$87);
|
|
8844
|
+
insert(_el$72, createComponent(Show, {
|
|
8612
8845
|
get when() {
|
|
8613
8846
|
return editType() === "daily" || editType() === "weekly";
|
|
8614
8847
|
},
|
|
@@ -8618,41 +8851,41 @@ const AutomationTab = (props) => {
|
|
|
8618
8851
|
return editType() === "weekly";
|
|
8619
8852
|
},
|
|
8620
8853
|
get children() {
|
|
8621
|
-
var _el$
|
|
8622
|
-
_el$
|
|
8623
|
-
insert(_el$
|
|
8854
|
+
var _el$80 = _tmpl$21$3(), _el$81 = _el$80.firstChild, _el$82 = _el$81.nextSibling;
|
|
8855
|
+
_el$82.addEventListener("change", (e) => setEditDayOfWeek(Number(e.currentTarget.value)));
|
|
8856
|
+
insert(_el$82, createComponent(For, {
|
|
8624
8857
|
each: DAY_NAMES,
|
|
8625
8858
|
children: (name, i) => (() => {
|
|
8626
|
-
var _el$
|
|
8627
|
-
insert(_el$
|
|
8628
|
-
createRenderEffect(() => _el$
|
|
8629
|
-
return _el$
|
|
8859
|
+
var _el$148 = _tmpl$43$1();
|
|
8860
|
+
insert(_el$148, name);
|
|
8861
|
+
createRenderEffect(() => _el$148.value = i());
|
|
8862
|
+
return _el$148;
|
|
8630
8863
|
})()
|
|
8631
8864
|
}));
|
|
8632
|
-
createRenderEffect(() => _el$
|
|
8633
|
-
return _el$
|
|
8865
|
+
createRenderEffect(() => _el$82.value = editDayOfWeek());
|
|
8866
|
+
return _el$80;
|
|
8634
8867
|
}
|
|
8635
8868
|
}), (() => {
|
|
8636
|
-
var _el$
|
|
8637
|
-
_el$
|
|
8638
|
-
createRenderEffect(() => _el$
|
|
8639
|
-
return _el$
|
|
8869
|
+
var _el$83 = _tmpl$22$3(), _el$84 = _el$83.firstChild, _el$85 = _el$84.nextSibling;
|
|
8870
|
+
_el$85.$$input = (e) => parseEditTimeInput(e.currentTarget.value);
|
|
8871
|
+
createRenderEffect(() => _el$85.value = editTimeValue());
|
|
8872
|
+
return _el$83;
|
|
8640
8873
|
})()];
|
|
8641
8874
|
}
|
|
8642
|
-
}), _el$
|
|
8643
|
-
insert(_el$
|
|
8875
|
+
}), _el$87);
|
|
8876
|
+
insert(_el$72, createComponent(Show, {
|
|
8644
8877
|
get when() {
|
|
8645
8878
|
return editError();
|
|
8646
8879
|
},
|
|
8647
8880
|
get children() {
|
|
8648
|
-
var _el$
|
|
8649
|
-
insert(_el$
|
|
8650
|
-
return _el$
|
|
8881
|
+
var _el$86 = _tmpl$17$3();
|
|
8882
|
+
insert(_el$86, editError);
|
|
8883
|
+
return _el$86;
|
|
8651
8884
|
}
|
|
8652
|
-
}), _el$
|
|
8653
|
-
_el$
|
|
8654
|
-
_el$
|
|
8655
|
-
return _el$
|
|
8885
|
+
}), _el$87);
|
|
8886
|
+
_el$88.$$click = () => setEditingJob(null);
|
|
8887
|
+
_el$89.$$click = () => void handleSaveEditSchedule();
|
|
8888
|
+
return _el$71;
|
|
8656
8889
|
}
|
|
8657
8890
|
}), null);
|
|
8658
8891
|
return _el$;
|
|
@@ -9572,7 +9805,7 @@ const SidebarWindowControls = (props) => {
|
|
|
9572
9805
|
};
|
|
9573
9806
|
delegateEvents(["click"]);
|
|
9574
9807
|
const vesselLogo = "" + new URL("vessel-logo-transparent-IT25qr-Z.png", import.meta.url).href;
|
|
9575
|
-
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>Generating`), _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=sidebar-input-area><textarea class=sidebar-input rows=2></textarea><button class=sidebar-send>`), _tmpl$31 = /* @__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>Automate</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$32 = /* @__PURE__ */ template(`<div class=agent-muted>No pending approvals.`), _tmpl$33 = /* @__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$34 = /* @__PURE__ */ template(`<div class=agent-muted>No actions yet.`), _tmpl$35 = /* @__PURE__ */ template(`<div class=agent-muted>Recent actions are collapsed to reduce noise.`), _tmpl$36 = /* @__PURE__ */ template(`<div class="agent-card-copy success">`), _tmpl$37 = /* @__PURE__ */ template(`<div class="agent-card-copy error">`), _tmpl$38 = /* @__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$39 = /* @__PURE__ */ template(`<div class=bookmark-empty-folder>`), _tmpl$40 = /* @__PURE__ */ template(`<div class=bookmark-folder-summary>`), _tmpl$41 = /* @__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$42 = /* @__PURE__ */ template(`<button class=bookmark-ghost-button type=button>Keep bookmarks`), _tmpl$43 = /* @__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$44 = /* @__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$45 = /* @__PURE__ */ template(`<div class=bookmark-items>`), _tmpl$46 = /* @__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$47 = /* @__PURE__ */ template(`<div class=bookmark-folder-collapsed-hint>Click to view saved links.`), _tmpl$48 = /* @__PURE__ */ template(`<div class=bookmark-empty-folder>No bookmarks in this folder yet.`), _tmpl$49 = /* @__PURE__ */ template(`<div class=bookmark-item-note>`), _tmpl$50 = /* @__PURE__ */ template(`<div><strong>Intent:</strong> `), _tmpl$51 = /* @__PURE__ */ template(`<div><strong>Expected:</strong> `), _tmpl$52 = /* @__PURE__ */ template(`<div><strong>Key fields:</strong> `), _tmpl$53 = /* @__PURE__ */ template(`<div><strong>Hints:</strong> `), _tmpl$54 = /* @__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$55 = /* @__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$56 = /* @__PURE__ */ template(`<div class=agent-muted>No checkpoints yet.`), _tmpl$57 = /* @__PURE__ */ template(`<span class=checkpoint-timeline-line>`), _tmpl$58 = /* @__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$59 = /* @__PURE__ */ template(`<button class=history-entry><span class=history-entry-title></span><span class=history-entry-url></span><span class=history-entry-time>`), _tmpl$60 = /* @__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$61 = /* @__PURE__ */ template(`<div>`), _tmpl$62 = /* @__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$63 = /* @__PURE__ */ template(`<div class=chat-approval-detail>`), _tmpl$64 = /* @__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$65 = /* @__PURE__ */ template(`<div class=chat-queue-item><span class=chat-queue-text></span><button class=chat-queue-remove type=button>×`);
|
|
9808
|
+
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>Generating`), _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>`);
|
|
9576
9809
|
const UNSORTED_FOLDER = {
|
|
9577
9810
|
id: "unsorted",
|
|
9578
9811
|
name: "Unsorted",
|
|
@@ -9623,6 +9856,7 @@ const Sidebar = (props) => {
|
|
|
9623
9856
|
clearPendingQueries,
|
|
9624
9857
|
clearHistory,
|
|
9625
9858
|
query,
|
|
9859
|
+
runAutomationPrompt,
|
|
9626
9860
|
cancel
|
|
9627
9861
|
} = useAI();
|
|
9628
9862
|
const {
|
|
@@ -9667,6 +9901,9 @@ const Sidebar = (props) => {
|
|
|
9667
9901
|
} = useBookmarks();
|
|
9668
9902
|
const [sidebarTab, setSidebarTab] = createSignal("supervisor");
|
|
9669
9903
|
const [chatInput, setChatInput] = createSignal("");
|
|
9904
|
+
const [chatCommandError, setChatCommandError] = createSignal(null);
|
|
9905
|
+
const [installedSkillKits, setInstalledSkillKits] = createSignal([]);
|
|
9906
|
+
const [slashSuggestionIndex, setSlashSuggestionIndex] = createSignal(0);
|
|
9670
9907
|
const [highlightCount, setHighlightCount] = createSignal(0);
|
|
9671
9908
|
const [highlightIndex, setHighlightIndex] = createSignal(-1);
|
|
9672
9909
|
const [premiumState, setPremiumState] = createSignal({
|
|
@@ -9679,6 +9916,33 @@ const Sidebar = (props) => {
|
|
|
9679
9916
|
});
|
|
9680
9917
|
const trackedPremiumContexts = /* @__PURE__ */ new Set();
|
|
9681
9918
|
const isPremium = () => isPremiumStatus(premiumState().status);
|
|
9919
|
+
const allSkillKits = createMemo(() => [...BUNDLED_KITS, ...installedSkillKits()]);
|
|
9920
|
+
const slashSuggestions = createMemo(() => getSkillSlashSuggestions(chatInput(), allSkillKits()));
|
|
9921
|
+
const recognizedSkillInvocation = createMemo(() => {
|
|
9922
|
+
const input = chatInput().trimStart();
|
|
9923
|
+
if (!input.startsWith("/")) return null;
|
|
9924
|
+
return parseSkillSlashInvocation(input, allSkillKits());
|
|
9925
|
+
});
|
|
9926
|
+
const recognizedSkillInputParts = createMemo(() => {
|
|
9927
|
+
if (recognizedSkillInvocation() === null) return null;
|
|
9928
|
+
const match = chatInput().match(/^(\s*)(\/\S+)([\s\S]*)$/);
|
|
9929
|
+
if (!match) return null;
|
|
9930
|
+
return {
|
|
9931
|
+
leading: match[1],
|
|
9932
|
+
command: match[2],
|
|
9933
|
+
rest: match[3]
|
|
9934
|
+
};
|
|
9935
|
+
});
|
|
9936
|
+
const loadInstalledSkillKits = async () => {
|
|
9937
|
+
try {
|
|
9938
|
+
const kits = await window.vessel.automation.getInstalled();
|
|
9939
|
+
setInstalledSkillKits(kits);
|
|
9940
|
+
return kits;
|
|
9941
|
+
} catch {
|
|
9942
|
+
setInstalledSkillKits([]);
|
|
9943
|
+
return [];
|
|
9944
|
+
}
|
|
9945
|
+
};
|
|
9682
9946
|
const trackPremiumContext = (step) => {
|
|
9683
9947
|
if (trackedPremiumContexts.has(step)) return;
|
|
9684
9948
|
trackedPremiumContexts.add(step);
|
|
@@ -9698,6 +9962,11 @@ const Sidebar = (props) => {
|
|
|
9698
9962
|
});
|
|
9699
9963
|
const cleanup2 = window.vessel.premium.onUpdate(setPremiumState);
|
|
9700
9964
|
onCleanup(cleanup2);
|
|
9965
|
+
void loadInstalledSkillKits();
|
|
9966
|
+
});
|
|
9967
|
+
createEffect(() => {
|
|
9968
|
+
slashSuggestions();
|
|
9969
|
+
setSlashSuggestionIndex(0);
|
|
9701
9970
|
});
|
|
9702
9971
|
const syncHighlightCount = async () => {
|
|
9703
9972
|
try {
|
|
@@ -9814,11 +10083,69 @@ ${contextBlock}` : contextBlock);
|
|
|
9814
10083
|
const handleChatSend = async () => {
|
|
9815
10084
|
const prompt = chatInput().trim();
|
|
9816
10085
|
if (!prompt) return;
|
|
10086
|
+
setChatCommandError(null);
|
|
10087
|
+
if (prompt.startsWith("/")) {
|
|
10088
|
+
const installedKits = await loadInstalledSkillKits();
|
|
10089
|
+
const kits = [...BUNDLED_KITS, ...installedKits];
|
|
10090
|
+
const invocation = parseSkillSlashInvocation(prompt, kits);
|
|
10091
|
+
if (invocation) {
|
|
10092
|
+
if (!invocation.task) {
|
|
10093
|
+
const [command] = prompt.split(/\s+/);
|
|
10094
|
+
setChatCommandError(`Add instructions after ${command}.`);
|
|
10095
|
+
return;
|
|
10096
|
+
}
|
|
10097
|
+
const {
|
|
10098
|
+
values,
|
|
10099
|
+
missingLabels
|
|
10100
|
+
} = buildSlashSkillValues(invocation.kit, invocation.task);
|
|
10101
|
+
if (missingLabels.length > 0) {
|
|
10102
|
+
setChatCommandError(`${invocation.kit.name} needs ${missingLabels.join(", ")}. Open Skills to run it with all fields.`);
|
|
10103
|
+
return;
|
|
10104
|
+
}
|
|
10105
|
+
const renderedPrompt = renderKitPrompt(invocation.kit, values);
|
|
10106
|
+
const result2 = await runAutomationPrompt(renderedPrompt, {
|
|
10107
|
+
id: `slash:${invocation.kit.id}:${Date.now()}`,
|
|
10108
|
+
title: invocation.kit.name,
|
|
10109
|
+
icon: invocation.kit.icon
|
|
10110
|
+
});
|
|
10111
|
+
if (result2 !== "rejected") {
|
|
10112
|
+
setChatInput("");
|
|
10113
|
+
}
|
|
10114
|
+
return;
|
|
10115
|
+
}
|
|
10116
|
+
if (prompt.startsWith("/skill ")) {
|
|
10117
|
+
setChatCommandError("No matching skill found for that command.");
|
|
10118
|
+
return;
|
|
10119
|
+
}
|
|
10120
|
+
}
|
|
9817
10121
|
const result = await query(prompt);
|
|
9818
10122
|
if (result !== "rejected") {
|
|
9819
10123
|
setChatInput("");
|
|
9820
10124
|
}
|
|
9821
10125
|
};
|
|
10126
|
+
const applySkillSuggestion = (kit) => {
|
|
10127
|
+
const token = getSkillCommandTokens(kit)[0] ?? kit.id;
|
|
10128
|
+
setChatInput(`/${token} `);
|
|
10129
|
+
setChatCommandError(null);
|
|
10130
|
+
setSlashSuggestionIndex(0);
|
|
10131
|
+
queueMicrotask(() => {
|
|
10132
|
+
chatInputRef?.focus();
|
|
10133
|
+
const length = chatInputRef?.value.length ?? 0;
|
|
10134
|
+
chatInputRef?.setSelectionRange(length, length);
|
|
10135
|
+
});
|
|
10136
|
+
};
|
|
10137
|
+
const applyActiveSkillSuggestion = () => {
|
|
10138
|
+
const suggestions = slashSuggestions();
|
|
10139
|
+
if (suggestions.length === 0) return false;
|
|
10140
|
+
const index = Math.max(0, Math.min(slashSuggestionIndex(), suggestions.length - 1));
|
|
10141
|
+
applySkillSuggestion(suggestions[index]);
|
|
10142
|
+
return true;
|
|
10143
|
+
};
|
|
10144
|
+
const moveSlashSuggestion = (delta) => {
|
|
10145
|
+
const count = slashSuggestions().length;
|
|
10146
|
+
if (count === 0) return;
|
|
10147
|
+
setSlashSuggestionIndex((current) => (current + delta + count) % count);
|
|
10148
|
+
};
|
|
9822
10149
|
const handleRetry = () => {
|
|
9823
10150
|
const msgs = messages2();
|
|
9824
10151
|
for (let i = msgs.length - 1; i >= 0; i--) {
|
|
@@ -10198,7 +10525,7 @@ ${contextBlock}` : contextBlock);
|
|
|
10198
10525
|
return props.forceOpen || sidebarOpen2();
|
|
10199
10526
|
},
|
|
10200
10527
|
get children() {
|
|
10201
|
-
var _el$9 = _tmpl$
|
|
10528
|
+
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;
|
|
10202
10529
|
_el$15.firstChild;
|
|
10203
10530
|
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;
|
|
10204
10531
|
insert(_el$9, createComponent(Show, {
|
|
@@ -10282,7 +10609,7 @@ ${contextBlock}` : contextBlock);
|
|
|
10282
10609
|
return runtimeState2().supervisor.pendingApprovals.length > 0;
|
|
10283
10610
|
},
|
|
10284
10611
|
get fallback() {
|
|
10285
|
-
return _tmpl$
|
|
10612
|
+
return _tmpl$34();
|
|
10286
10613
|
},
|
|
10287
10614
|
get children() {
|
|
10288
10615
|
return [_tmpl$6$8(), createComponent(For, {
|
|
@@ -10290,13 +10617,13 @@ ${contextBlock}` : contextBlock);
|
|
|
10290
10617
|
return runtimeState2().supervisor.pendingApprovals;
|
|
10291
10618
|
},
|
|
10292
10619
|
children: (approval) => (() => {
|
|
10293
|
-
var _el$
|
|
10294
|
-
insert(_el$
|
|
10295
|
-
insert(_el$
|
|
10296
|
-
insert(_el$
|
|
10297
|
-
_el$
|
|
10298
|
-
_el$
|
|
10299
|
-
return _el$
|
|
10620
|
+
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;
|
|
10621
|
+
insert(_el$156, () => approval.name);
|
|
10622
|
+
insert(_el$157, () => approval.argsSummary);
|
|
10623
|
+
insert(_el$158, () => approval.reason);
|
|
10624
|
+
_el$160.$$click = () => void resolveApproval(approval.id, true);
|
|
10625
|
+
_el$161.$$click = () => void resolveApproval(approval.id, false);
|
|
10626
|
+
return _el$154;
|
|
10300
10627
|
})()
|
|
10301
10628
|
})];
|
|
10302
10629
|
}
|
|
@@ -10320,7 +10647,7 @@ ${contextBlock}` : contextBlock);
|
|
|
10320
10647
|
return recentActions().length > 0;
|
|
10321
10648
|
},
|
|
10322
10649
|
get fallback() {
|
|
10323
|
-
return _tmpl$
|
|
10650
|
+
return _tmpl$36();
|
|
10324
10651
|
},
|
|
10325
10652
|
get children() {
|
|
10326
10653
|
return createComponent(Show, {
|
|
@@ -10328,7 +10655,7 @@ ${contextBlock}` : contextBlock);
|
|
|
10328
10655
|
return actionsExpanded();
|
|
10329
10656
|
},
|
|
10330
10657
|
get fallback() {
|
|
10331
|
-
return _tmpl$
|
|
10658
|
+
return _tmpl$37();
|
|
10332
10659
|
},
|
|
10333
10660
|
get children() {
|
|
10334
10661
|
return createComponent(For, {
|
|
@@ -10336,32 +10663,32 @@ ${contextBlock}` : contextBlock);
|
|
|
10336
10663
|
return recentActions();
|
|
10337
10664
|
},
|
|
10338
10665
|
children: (action) => (() => {
|
|
10339
|
-
var _el$
|
|
10340
|
-
insert(_el$
|
|
10341
|
-
insert(_el$
|
|
10342
|
-
insert(_el$
|
|
10343
|
-
insert(_el$
|
|
10666
|
+
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;
|
|
10667
|
+
insert(_el$166, () => action.name);
|
|
10668
|
+
insert(_el$167, () => action.status);
|
|
10669
|
+
insert(_el$168, () => action.argsSummary);
|
|
10670
|
+
insert(_el$164, createComponent(Show, {
|
|
10344
10671
|
get when() {
|
|
10345
10672
|
return action.resultSummary;
|
|
10346
10673
|
},
|
|
10347
10674
|
get children() {
|
|
10348
|
-
var _el$
|
|
10349
|
-
insert(_el$
|
|
10350
|
-
return _el$
|
|
10675
|
+
var _el$169 = _tmpl$38();
|
|
10676
|
+
insert(_el$169, () => action.resultSummary);
|
|
10677
|
+
return _el$169;
|
|
10351
10678
|
}
|
|
10352
10679
|
}), null);
|
|
10353
|
-
insert(_el$
|
|
10680
|
+
insert(_el$164, createComponent(Show, {
|
|
10354
10681
|
get when() {
|
|
10355
10682
|
return action.error;
|
|
10356
10683
|
},
|
|
10357
10684
|
get children() {
|
|
10358
|
-
var _el$
|
|
10359
|
-
insert(_el$
|
|
10360
|
-
return _el$
|
|
10685
|
+
var _el$170 = _tmpl$39();
|
|
10686
|
+
insert(_el$170, () => action.error);
|
|
10687
|
+
return _el$170;
|
|
10361
10688
|
}
|
|
10362
10689
|
}), null);
|
|
10363
|
-
createRenderEffect(() => className(_el$
|
|
10364
|
-
return _el$
|
|
10690
|
+
createRenderEffect(() => className(_el$167, `agent-action-status ${action.status}`));
|
|
10691
|
+
return _el$164;
|
|
10365
10692
|
})()
|
|
10366
10693
|
});
|
|
10367
10694
|
}
|
|
@@ -10479,12 +10806,12 @@ ${contextBlock}` : contextBlock);
|
|
|
10479
10806
|
},
|
|
10480
10807
|
get fallback() {
|
|
10481
10808
|
return (() => {
|
|
10482
|
-
var _el$
|
|
10483
|
-
insert(_el$
|
|
10809
|
+
var _el$171 = _tmpl$41();
|
|
10810
|
+
insert(_el$171, (() => {
|
|
10484
10811
|
var _c$5 = memo(() => !!normalizedBookmarkSearch());
|
|
10485
10812
|
return () => _c$5() ? `No bookmarks matched "${bookmarkSearchQuery().trim()}".` : "No bookmarks saved yet.";
|
|
10486
10813
|
})());
|
|
10487
|
-
return _el$
|
|
10814
|
+
return _el$171;
|
|
10488
10815
|
})();
|
|
10489
10816
|
},
|
|
10490
10817
|
get children() {
|
|
@@ -10493,105 +10820,105 @@ ${contextBlock}` : contextBlock);
|
|
|
10493
10820
|
return filteredGroupedBookmarks();
|
|
10494
10821
|
},
|
|
10495
10822
|
children: (folder) => (() => {
|
|
10496
|
-
var _el$
|
|
10497
|
-
_el$
|
|
10823
|
+
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;
|
|
10824
|
+
_el$173.$$keydown = (e) => {
|
|
10498
10825
|
if (e.key === "Enter" || e.key === " ") {
|
|
10499
10826
|
e.preventDefault();
|
|
10500
10827
|
toggleFolderExpanded(folder.id);
|
|
10501
10828
|
}
|
|
10502
10829
|
};
|
|
10503
|
-
_el$
|
|
10504
|
-
insert(_el$
|
|
10505
|
-
insert(_el$
|
|
10506
|
-
insert(_el$
|
|
10830
|
+
_el$173.$$click = () => toggleFolderExpanded(folder.id);
|
|
10831
|
+
insert(_el$177, () => folder.name);
|
|
10832
|
+
insert(_el$178, () => folder.items.length, _el$179);
|
|
10833
|
+
insert(_el$176, createComponent(Show, {
|
|
10507
10834
|
get when() {
|
|
10508
10835
|
return folder.summary;
|
|
10509
10836
|
},
|
|
10510
10837
|
get children() {
|
|
10511
|
-
var _el$
|
|
10512
|
-
insert(_el$
|
|
10513
|
-
return _el$
|
|
10838
|
+
var _el$180 = _tmpl$42();
|
|
10839
|
+
insert(_el$180, () => folder.summary);
|
|
10840
|
+
return _el$180;
|
|
10514
10841
|
}
|
|
10515
10842
|
}), null);
|
|
10516
|
-
insert(_el$
|
|
10843
|
+
insert(_el$173, createComponent(Show, {
|
|
10517
10844
|
get when() {
|
|
10518
10845
|
return folder.id !== UNSORTED_FOLDER.id;
|
|
10519
10846
|
},
|
|
10520
10847
|
get children() {
|
|
10521
|
-
var _el$
|
|
10522
|
-
_el$
|
|
10848
|
+
var _el$181 = _tmpl$43(), _el$182 = _el$181.firstChild, _el$183 = _el$182.nextSibling, _el$184 = _el$183.nextSibling;
|
|
10849
|
+
_el$182.$$click = (e) => {
|
|
10523
10850
|
e.stopPropagation();
|
|
10524
10851
|
setEditingFolderId(folder.id);
|
|
10525
10852
|
setEditingFolderName(folder.name);
|
|
10526
10853
|
setEditingFolderSummary(folder.summary || "");
|
|
10527
10854
|
};
|
|
10528
|
-
_el$
|
|
10855
|
+
_el$183.$$click = (e) => {
|
|
10529
10856
|
e.stopPropagation();
|
|
10530
10857
|
void handleExportFolder(folder.id, folder.name);
|
|
10531
10858
|
};
|
|
10532
|
-
_el$
|
|
10859
|
+
_el$184.$$click = (e) => {
|
|
10533
10860
|
e.stopPropagation();
|
|
10534
10861
|
setDeletingFolderId(folder.id);
|
|
10535
10862
|
};
|
|
10536
|
-
createRenderEffect(() => _el$
|
|
10537
|
-
return _el$
|
|
10863
|
+
createRenderEffect(() => _el$183.disabled = bookmarkExporting());
|
|
10864
|
+
return _el$181;
|
|
10538
10865
|
}
|
|
10539
10866
|
}), null);
|
|
10540
|
-
insert(_el$
|
|
10867
|
+
insert(_el$172, createComponent(Show, {
|
|
10541
10868
|
get when() {
|
|
10542
10869
|
return deletingFolderId() === folder.id;
|
|
10543
10870
|
},
|
|
10544
10871
|
get children() {
|
|
10545
|
-
var _el$
|
|
10546
|
-
_el$
|
|
10547
|
-
var _el$
|
|
10548
|
-
insert(_el$
|
|
10549
|
-
insert(_el$
|
|
10872
|
+
var _el$185 = _tmpl$45(), _el$186 = _el$185.firstChild, _el$187 = _el$186.firstChild, _el$189 = _el$187.nextSibling;
|
|
10873
|
+
_el$189.nextSibling;
|
|
10874
|
+
var _el$190 = _el$186.nextSibling, _el$192 = _el$190.firstChild, _el$193 = _el$192.nextSibling;
|
|
10875
|
+
insert(_el$186, () => folder.name, _el$189);
|
|
10876
|
+
insert(_el$186, (() => {
|
|
10550
10877
|
var _c$6 = memo(() => folder.items.length > 0);
|
|
10551
10878
|
return () => _c$6() ? ` This folder has ${folder.items.length} bookmark${folder.items.length === 1 ? "" : "s"}.` : "";
|
|
10552
10879
|
})(), null);
|
|
10553
|
-
insert(_el$
|
|
10880
|
+
insert(_el$190, createComponent(Show, {
|
|
10554
10881
|
get when() {
|
|
10555
10882
|
return folder.items.length > 0;
|
|
10556
10883
|
},
|
|
10557
10884
|
get children() {
|
|
10558
|
-
var _el$
|
|
10559
|
-
_el$
|
|
10560
|
-
return _el$
|
|
10885
|
+
var _el$191 = _tmpl$44();
|
|
10886
|
+
_el$191.$$click = () => void handleRemoveFolder(folder.id, false);
|
|
10887
|
+
return _el$191;
|
|
10561
10888
|
}
|
|
10562
|
-
}), _el$
|
|
10563
|
-
_el$
|
|
10564
|
-
insert(_el$
|
|
10565
|
-
_el$
|
|
10566
|
-
return _el$
|
|
10889
|
+
}), _el$192);
|
|
10890
|
+
_el$192.$$click = () => void handleRemoveFolder(folder.id, true);
|
|
10891
|
+
insert(_el$192, () => folder.items.length > 0 ? "Delete all" : "Delete folder");
|
|
10892
|
+
_el$193.$$click = () => setDeletingFolderId(null);
|
|
10893
|
+
return _el$185;
|
|
10567
10894
|
}
|
|
10568
10895
|
}), null);
|
|
10569
|
-
insert(_el$
|
|
10896
|
+
insert(_el$172, createComponent(Show, {
|
|
10570
10897
|
get when() {
|
|
10571
10898
|
return editingFolderId() === folder.id;
|
|
10572
10899
|
},
|
|
10573
10900
|
get children() {
|
|
10574
|
-
var _el$
|
|
10575
|
-
_el$
|
|
10576
|
-
_el$
|
|
10577
|
-
_el$
|
|
10578
|
-
_el$
|
|
10901
|
+
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;
|
|
10902
|
+
_el$196.$$input = (e) => setEditingFolderName(e.currentTarget.value);
|
|
10903
|
+
_el$197.$$input = (e) => setEditingFolderSummary(e.currentTarget.value);
|
|
10904
|
+
_el$198.$$click = () => void handleRenameFolder(folder.id);
|
|
10905
|
+
_el$199.$$click = () => {
|
|
10579
10906
|
setEditingFolderId(null);
|
|
10580
10907
|
setEditingFolderName("");
|
|
10581
10908
|
setEditingFolderSummary("");
|
|
10582
10909
|
};
|
|
10583
|
-
createRenderEffect(() => _el$
|
|
10584
|
-
createRenderEffect(() => _el$
|
|
10585
|
-
createRenderEffect(() => _el$
|
|
10586
|
-
return _el$
|
|
10910
|
+
createRenderEffect(() => _el$198.disabled = !editingFolderName().trim());
|
|
10911
|
+
createRenderEffect(() => _el$196.value = editingFolderName());
|
|
10912
|
+
createRenderEffect(() => _el$197.value = editingFolderSummary());
|
|
10913
|
+
return _el$194;
|
|
10587
10914
|
}
|
|
10588
10915
|
}), null);
|
|
10589
|
-
insert(_el$
|
|
10916
|
+
insert(_el$172, createComponent(Show, {
|
|
10590
10917
|
get when() {
|
|
10591
10918
|
return isFolderExpanded(folder.id);
|
|
10592
10919
|
},
|
|
10593
10920
|
get fallback() {
|
|
10594
|
-
return _tmpl$
|
|
10921
|
+
return _tmpl$49();
|
|
10595
10922
|
},
|
|
10596
10923
|
get children() {
|
|
10597
10924
|
return createComponent(Show, {
|
|
@@ -10599,125 +10926,125 @@ ${contextBlock}` : contextBlock);
|
|
|
10599
10926
|
return folder.items.length > 0;
|
|
10600
10927
|
},
|
|
10601
10928
|
get fallback() {
|
|
10602
|
-
return _tmpl$
|
|
10929
|
+
return _tmpl$50();
|
|
10603
10930
|
},
|
|
10604
10931
|
get children() {
|
|
10605
|
-
var _el$
|
|
10606
|
-
insert(_el$
|
|
10932
|
+
var _el$200 = _tmpl$47();
|
|
10933
|
+
insert(_el$200, createComponent(For, {
|
|
10607
10934
|
get each() {
|
|
10608
10935
|
return folder.items;
|
|
10609
10936
|
},
|
|
10610
10937
|
children: (bookmark) => (() => {
|
|
10611
|
-
var _el$
|
|
10612
|
-
_el$
|
|
10613
|
-
insert(_el$
|
|
10614
|
-
insert(_el$
|
|
10615
|
-
insert(_el$
|
|
10938
|
+
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;
|
|
10939
|
+
_el$204.$$click = () => void createTab(bookmark.url);
|
|
10940
|
+
insert(_el$205, () => bookmark.title || bookmark.url);
|
|
10941
|
+
insert(_el$206, () => bookmark.url);
|
|
10942
|
+
insert(_el$203, createComponent(Show, {
|
|
10616
10943
|
get when() {
|
|
10617
10944
|
return bookmark.note;
|
|
10618
10945
|
},
|
|
10619
10946
|
get children() {
|
|
10620
|
-
var _el$
|
|
10621
|
-
insert(_el$
|
|
10622
|
-
return _el$
|
|
10947
|
+
var _el$207 = _tmpl$51();
|
|
10948
|
+
insert(_el$207, () => bookmark.note);
|
|
10949
|
+
return _el$207;
|
|
10623
10950
|
}
|
|
10624
|
-
}), _el$
|
|
10625
|
-
insert(_el$
|
|
10951
|
+
}), _el$231);
|
|
10952
|
+
insert(_el$203, createComponent(Show, {
|
|
10626
10953
|
get when() {
|
|
10627
10954
|
return bookmark.intent || bookmark.expectedContent || (bookmark.keyFields?.length || 0) > 0 || (bookmark.agentHints && Object.keys(bookmark.agentHints).length || 0) > 0;
|
|
10628
10955
|
},
|
|
10629
10956
|
get children() {
|
|
10630
|
-
var _el$
|
|
10631
|
-
insert(_el$
|
|
10957
|
+
var _el$208 = _tmpl$51();
|
|
10958
|
+
insert(_el$208, createComponent(Show, {
|
|
10632
10959
|
get when() {
|
|
10633
10960
|
return bookmark.intent;
|
|
10634
10961
|
},
|
|
10635
10962
|
get children() {
|
|
10636
|
-
var _el$
|
|
10637
|
-
_el$
|
|
10638
|
-
insert(_el$
|
|
10639
|
-
return _el$
|
|
10963
|
+
var _el$209 = _tmpl$52(), _el$210 = _el$209.firstChild;
|
|
10964
|
+
_el$210.nextSibling;
|
|
10965
|
+
insert(_el$209, () => bookmark.intent, null);
|
|
10966
|
+
return _el$209;
|
|
10640
10967
|
}
|
|
10641
10968
|
}), null);
|
|
10642
|
-
insert(_el$
|
|
10969
|
+
insert(_el$208, createComponent(Show, {
|
|
10643
10970
|
get when() {
|
|
10644
10971
|
return bookmark.expectedContent;
|
|
10645
10972
|
},
|
|
10646
10973
|
get children() {
|
|
10647
|
-
var _el$
|
|
10648
|
-
_el$
|
|
10649
|
-
insert(_el$
|
|
10650
|
-
return _el$
|
|
10974
|
+
var _el$212 = _tmpl$53(), _el$213 = _el$212.firstChild;
|
|
10975
|
+
_el$213.nextSibling;
|
|
10976
|
+
insert(_el$212, () => bookmark.expectedContent, null);
|
|
10977
|
+
return _el$212;
|
|
10651
10978
|
}
|
|
10652
10979
|
}), null);
|
|
10653
|
-
insert(_el$
|
|
10980
|
+
insert(_el$208, createComponent(Show, {
|
|
10654
10981
|
get when() {
|
|
10655
10982
|
return (bookmark.keyFields?.length || 0) > 0;
|
|
10656
10983
|
},
|
|
10657
10984
|
get children() {
|
|
10658
|
-
var _el$
|
|
10659
|
-
_el$
|
|
10660
|
-
insert(_el$
|
|
10661
|
-
return _el$
|
|
10985
|
+
var _el$215 = _tmpl$54(), _el$216 = _el$215.firstChild;
|
|
10986
|
+
_el$216.nextSibling;
|
|
10987
|
+
insert(_el$215, () => bookmark.keyFields?.join(", "), null);
|
|
10988
|
+
return _el$215;
|
|
10662
10989
|
}
|
|
10663
10990
|
}), null);
|
|
10664
|
-
insert(_el$
|
|
10991
|
+
insert(_el$208, createComponent(Show, {
|
|
10665
10992
|
get when() {
|
|
10666
10993
|
return memo(() => !!bookmark.agentHints)() && Object.keys(bookmark.agentHints).length > 0;
|
|
10667
10994
|
},
|
|
10668
10995
|
get children() {
|
|
10669
|
-
var _el$
|
|
10670
|
-
_el$
|
|
10671
|
-
insert(_el$
|
|
10672
|
-
return _el$
|
|
10996
|
+
var _el$218 = _tmpl$55(), _el$219 = _el$218.firstChild;
|
|
10997
|
+
_el$219.nextSibling;
|
|
10998
|
+
insert(_el$218, () => Object.entries(bookmark.agentHints || {}).map(([key, hint]) => `${key}: ${hint}`).join(" • "), null);
|
|
10999
|
+
return _el$218;
|
|
10673
11000
|
}
|
|
10674
11001
|
}), null);
|
|
10675
|
-
return _el$
|
|
11002
|
+
return _el$208;
|
|
10676
11003
|
}
|
|
10677
|
-
}), _el$
|
|
10678
|
-
insert(_el$
|
|
11004
|
+
}), _el$231);
|
|
11005
|
+
insert(_el$203, createComponent(Show, {
|
|
10679
11006
|
get when() {
|
|
10680
11007
|
return editingBookmarkId() === bookmark.id;
|
|
10681
11008
|
},
|
|
10682
11009
|
get children() {
|
|
10683
|
-
var _el$
|
|
10684
|
-
_el$
|
|
10685
|
-
_el$
|
|
10686
|
-
_el$
|
|
10687
|
-
_el$
|
|
10688
|
-
_el$
|
|
10689
|
-
_el$
|
|
10690
|
-
_el$
|
|
10691
|
-
_el$
|
|
10692
|
-
createRenderEffect(() => _el$
|
|
10693
|
-
createRenderEffect(() => _el$
|
|
10694
|
-
createRenderEffect(() => _el$
|
|
10695
|
-
createRenderEffect(() => _el$
|
|
10696
|
-
createRenderEffect(() => _el$
|
|
10697
|
-
createRenderEffect(() => _el$
|
|
10698
|
-
return _el$
|
|
11010
|
+
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;
|
|
11011
|
+
_el$222.$$input = (e) => setEditingBookmarkTitle(e.currentTarget.value);
|
|
11012
|
+
_el$223.$$input = (e) => setEditingBookmarkNote(e.currentTarget.value);
|
|
11013
|
+
_el$224.$$input = (e) => setEditingBookmarkIntent(e.currentTarget.value);
|
|
11014
|
+
_el$225.$$input = (e) => setEditingBookmarkExpectedContent(e.currentTarget.value);
|
|
11015
|
+
_el$226.$$input = (e) => setEditingBookmarkKeyFields(e.currentTarget.value);
|
|
11016
|
+
_el$227.$$input = (e) => setEditingBookmarkAgentHints(e.currentTarget.value);
|
|
11017
|
+
_el$229.$$click = () => void handleUpdateBookmark(bookmark.id);
|
|
11018
|
+
_el$230.$$click = resetBookmarkEditor;
|
|
11019
|
+
createRenderEffect(() => _el$222.value = editingBookmarkTitle());
|
|
11020
|
+
createRenderEffect(() => _el$223.value = editingBookmarkNote());
|
|
11021
|
+
createRenderEffect(() => _el$224.value = editingBookmarkIntent());
|
|
11022
|
+
createRenderEffect(() => _el$225.value = editingBookmarkExpectedContent());
|
|
11023
|
+
createRenderEffect(() => _el$226.value = editingBookmarkKeyFields());
|
|
11024
|
+
createRenderEffect(() => _el$227.value = editingBookmarkAgentHints());
|
|
11025
|
+
return _el$221;
|
|
10699
11026
|
}
|
|
10700
|
-
}), _el$
|
|
10701
|
-
insert(_el$
|
|
10702
|
-
_el$
|
|
10703
|
-
insert(_el$
|
|
10704
|
-
_el$
|
|
11027
|
+
}), _el$231);
|
|
11028
|
+
insert(_el$232, () => formatBookmarkDate(bookmark.savedAt));
|
|
11029
|
+
_el$233.$$click = () => editingBookmarkId() === bookmark.id ? resetBookmarkEditor() : startEditingBookmark(bookmark);
|
|
11030
|
+
insert(_el$233, () => editingBookmarkId() === bookmark.id ? "Close" : "Edit");
|
|
11031
|
+
_el$234.$$click = () => {
|
|
10705
11032
|
if (editingBookmarkId() === bookmark.id) {
|
|
10706
11033
|
resetBookmarkEditor();
|
|
10707
11034
|
}
|
|
10708
11035
|
void removeBookmark(bookmark.id);
|
|
10709
11036
|
};
|
|
10710
|
-
createRenderEffect(() => setAttribute(_el$
|
|
10711
|
-
return _el$
|
|
11037
|
+
createRenderEffect(() => setAttribute(_el$203, "data-bookmark-id", bookmark.id));
|
|
11038
|
+
return _el$203;
|
|
10712
11039
|
})()
|
|
10713
11040
|
}));
|
|
10714
|
-
return _el$
|
|
11041
|
+
return _el$200;
|
|
10715
11042
|
}
|
|
10716
11043
|
});
|
|
10717
11044
|
}
|
|
10718
11045
|
}), null);
|
|
10719
|
-
createRenderEffect(() => _el$
|
|
10720
|
-
return _el$
|
|
11046
|
+
createRenderEffect(() => _el$175.classList.toggle("expanded", !!isFolderExpanded(folder.id)));
|
|
11047
|
+
return _el$172;
|
|
10721
11048
|
})()
|
|
10722
11049
|
});
|
|
10723
11050
|
}
|
|
@@ -10769,7 +11096,7 @@ ${contextBlock}` : contextBlock);
|
|
|
10769
11096
|
return recentCheckpoints().length > 0;
|
|
10770
11097
|
},
|
|
10771
11098
|
get fallback() {
|
|
10772
|
-
return _tmpl$
|
|
11099
|
+
return _tmpl$58();
|
|
10773
11100
|
},
|
|
10774
11101
|
get children() {
|
|
10775
11102
|
var _el$95 = _tmpl$12$3();
|
|
@@ -10778,22 +11105,22 @@ ${contextBlock}` : contextBlock);
|
|
|
10778
11105
|
return recentCheckpoints();
|
|
10779
11106
|
},
|
|
10780
11107
|
children: (checkpoint, i) => (() => {
|
|
10781
|
-
var _el$
|
|
10782
|
-
insert(_el$
|
|
11108
|
+
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;
|
|
11109
|
+
insert(_el$237, createComponent(Show, {
|
|
10783
11110
|
get when() {
|
|
10784
11111
|
return i() < recentCheckpoints().length - 1;
|
|
10785
11112
|
},
|
|
10786
11113
|
get children() {
|
|
10787
|
-
return _tmpl$
|
|
11114
|
+
return _tmpl$59();
|
|
10788
11115
|
}
|
|
10789
11116
|
}), null);
|
|
10790
|
-
insert(_el$
|
|
10791
|
-
insert(_el$
|
|
10792
|
-
_el$
|
|
10793
|
-
_el$
|
|
10794
|
-
createRenderEffect(() => _el$
|
|
10795
|
-
createRenderEffect(() => _el$
|
|
10796
|
-
return _el$
|
|
11117
|
+
insert(_el$241, () => checkpoint.name);
|
|
11118
|
+
insert(_el$242, () => new Date(checkpoint.createdAt).toLocaleString());
|
|
11119
|
+
_el$243.addEventListener("blur", (e) => void updateCheckpointNote(checkpoint.id, e.currentTarget.value));
|
|
11120
|
+
_el$244.$$click = () => void restoreCheckpoint(checkpoint.id);
|
|
11121
|
+
createRenderEffect(() => _el$238.classList.toggle("latest", !!(i() === 0)));
|
|
11122
|
+
createRenderEffect(() => _el$243.value = checkpoint.note || "");
|
|
11123
|
+
return _el$236;
|
|
10797
11124
|
})()
|
|
10798
11125
|
}));
|
|
10799
11126
|
return _el$95;
|
|
@@ -10848,12 +11175,12 @@ ${contextBlock}` : contextBlock);
|
|
|
10848
11175
|
return history.historyState().entries;
|
|
10849
11176
|
},
|
|
10850
11177
|
children: (entry) => (() => {
|
|
10851
|
-
var _el$
|
|
10852
|
-
_el$
|
|
10853
|
-
insert(_el$
|
|
10854
|
-
insert(_el$
|
|
10855
|
-
insert(_el$
|
|
10856
|
-
return _el$
|
|
11178
|
+
var _el$245 = _tmpl$61(), _el$246 = _el$245.firstChild, _el$247 = _el$246.nextSibling, _el$248 = _el$247.nextSibling;
|
|
11179
|
+
_el$245.$$click = () => createTab(entry.url);
|
|
11180
|
+
insert(_el$246, () => entry.title || entry.url);
|
|
11181
|
+
insert(_el$247, () => entry.url);
|
|
11182
|
+
insert(_el$248, () => new Date(entry.visitedAt).toLocaleString());
|
|
11183
|
+
return _el$245;
|
|
10857
11184
|
})()
|
|
10858
11185
|
}), null);
|
|
10859
11186
|
insert(_el$104, createComponent(Show, {
|
|
@@ -10893,11 +11220,11 @@ ${contextBlock}` : contextBlock);
|
|
|
10893
11220
|
},
|
|
10894
11221
|
get fallback() {
|
|
10895
11222
|
return (() => {
|
|
10896
|
-
var _el$
|
|
10897
|
-
_el$
|
|
11223
|
+
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;
|
|
11224
|
+
_el$253.$$click = () => void window.vessel.premium.checkout(premiumState().email || void 0).catch(() => {
|
|
10898
11225
|
});
|
|
10899
|
-
_el$
|
|
10900
|
-
return _el$
|
|
11226
|
+
_el$254.$$click = openPremiumDetails;
|
|
11227
|
+
return _el$249;
|
|
10901
11228
|
})();
|
|
10902
11229
|
},
|
|
10903
11230
|
get children() {
|
|
@@ -10927,13 +11254,13 @@ ${contextBlock}` : contextBlock);
|
|
|
10927
11254
|
return messages2();
|
|
10928
11255
|
},
|
|
10929
11256
|
children: (msg) => (() => {
|
|
10930
|
-
var _el$
|
|
10931
|
-
insert(_el$
|
|
11257
|
+
var _el$255 = _tmpl$63();
|
|
11258
|
+
insert(_el$255, createComponent(MarkdownMessage, {
|
|
10932
11259
|
get content() {
|
|
10933
11260
|
return msg.content;
|
|
10934
11261
|
}
|
|
10935
11262
|
}), null);
|
|
10936
|
-
insert(_el$
|
|
11263
|
+
insert(_el$255, createComponent(Show, {
|
|
10937
11264
|
get when() {
|
|
10938
11265
|
return memo(() => msg.role === "assistant")() ? getPremiumPromptKind(msg.content) : null;
|
|
10939
11266
|
},
|
|
@@ -10946,8 +11273,8 @@ ${contextBlock}` : contextBlock);
|
|
|
10946
11273
|
onOpenSettings: openPremiumDetails
|
|
10947
11274
|
})
|
|
10948
11275
|
}), null);
|
|
10949
|
-
createRenderEffect(() => className(_el$
|
|
10950
|
-
return _el$
|
|
11276
|
+
createRenderEffect(() => className(_el$255, `message message-${msg.role}`));
|
|
11277
|
+
return _el$255;
|
|
10951
11278
|
})()
|
|
10952
11279
|
}), createComponent(Show, {
|
|
10953
11280
|
get when() {
|
|
@@ -10960,7 +11287,7 @@ ${contextBlock}` : contextBlock);
|
|
|
10960
11287
|
return hasFirstChunk2();
|
|
10961
11288
|
},
|
|
10962
11289
|
get fallback() {
|
|
10963
|
-
return _tmpl$
|
|
11290
|
+
return _tmpl$64();
|
|
10964
11291
|
},
|
|
10965
11292
|
get children() {
|
|
10966
11293
|
var _el$125 = _tmpl$20$1(), _el$126 = _el$125.firstChild, _el$127 = _el$126.firstChild;
|
|
@@ -11008,22 +11335,22 @@ ${contextBlock}` : contextBlock);
|
|
|
11008
11335
|
return runtimeState2().supervisor.pendingApprovals;
|
|
11009
11336
|
},
|
|
11010
11337
|
children: (approval) => (() => {
|
|
11011
|
-
var _el$
|
|
11012
|
-
insert(_el$
|
|
11013
|
-
insert(_el$
|
|
11338
|
+
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;
|
|
11339
|
+
insert(_el$262, () => approval.name);
|
|
11340
|
+
insert(_el$259, createComponent(Show, {
|
|
11014
11341
|
get when() {
|
|
11015
11342
|
return approval.argsSummary;
|
|
11016
11343
|
},
|
|
11017
11344
|
get children() {
|
|
11018
|
-
var _el$
|
|
11019
|
-
insert(_el$
|
|
11020
|
-
return _el$
|
|
11345
|
+
var _el$263 = _tmpl$65();
|
|
11346
|
+
insert(_el$263, () => approval.argsSummary);
|
|
11347
|
+
return _el$263;
|
|
11021
11348
|
}
|
|
11022
|
-
}), _el$
|
|
11023
|
-
insert(_el$
|
|
11024
|
-
_el$
|
|
11025
|
-
_el$
|
|
11026
|
-
return _el$
|
|
11349
|
+
}), _el$264);
|
|
11350
|
+
insert(_el$264, () => approval.reason);
|
|
11351
|
+
_el$266.$$click = () => void resolveApproval(approval.id, true);
|
|
11352
|
+
_el$267.$$click = () => void resolveApproval(approval.id, false);
|
|
11353
|
+
return _el$257;
|
|
11027
11354
|
})()
|
|
11028
11355
|
});
|
|
11029
11356
|
}
|
|
@@ -11126,12 +11453,12 @@ ${contextBlock}` : contextBlock);
|
|
|
11126
11453
|
return pendingQueries2();
|
|
11127
11454
|
},
|
|
11128
11455
|
children: (pendingPrompt, index) => (() => {
|
|
11129
|
-
var _el$
|
|
11130
|
-
setAttribute(_el$
|
|
11131
|
-
insert(_el$
|
|
11132
|
-
_el$
|
|
11133
|
-
createRenderEffect(() => setAttribute(_el$
|
|
11134
|
-
return _el$
|
|
11456
|
+
var _el$268 = _tmpl$67(), _el$269 = _el$268.firstChild, _el$270 = _el$269.nextSibling;
|
|
11457
|
+
setAttribute(_el$269, "title", pendingPrompt);
|
|
11458
|
+
insert(_el$269, pendingPrompt);
|
|
11459
|
+
_el$270.$$click = () => removePendingQuery(index());
|
|
11460
|
+
createRenderEffect(() => setAttribute(_el$270, "aria-label", `Remove queued prompt ${index() + 1}`));
|
|
11461
|
+
return _el$268;
|
|
11135
11462
|
})()
|
|
11136
11463
|
}));
|
|
11137
11464
|
return _el$144;
|
|
@@ -11139,52 +11466,136 @@ ${contextBlock}` : contextBlock);
|
|
|
11139
11466
|
}), null);
|
|
11140
11467
|
return _el$140;
|
|
11141
11468
|
}
|
|
11469
|
+
}), createComponent(Show, {
|
|
11470
|
+
get when() {
|
|
11471
|
+
return chatCommandError() !== null;
|
|
11472
|
+
},
|
|
11473
|
+
get children() {
|
|
11474
|
+
var _el$145 = _tmpl$30(), _el$146 = _el$145.firstChild, _el$147 = _el$146.nextSibling;
|
|
11475
|
+
insert(_el$146, chatCommandError);
|
|
11476
|
+
_el$147.$$click = () => setChatCommandError(null);
|
|
11477
|
+
return _el$145;
|
|
11478
|
+
}
|
|
11479
|
+
}), createComponent(Show, {
|
|
11480
|
+
get when() {
|
|
11481
|
+
return slashSuggestions().length > 0;
|
|
11482
|
+
},
|
|
11483
|
+
get children() {
|
|
11484
|
+
var _el$148 = _tmpl$31();
|
|
11485
|
+
insert(_el$148, createComponent(For, {
|
|
11486
|
+
get each() {
|
|
11487
|
+
return slashSuggestions();
|
|
11488
|
+
},
|
|
11489
|
+
children: (kit, index) => (() => {
|
|
11490
|
+
var _el$271 = _tmpl$68(), _el$272 = _el$271.firstChild;
|
|
11491
|
+
_el$272.firstChild;
|
|
11492
|
+
var _el$274 = _el$272.nextSibling, _el$275 = _el$274.firstChild, _el$276 = _el$275.nextSibling;
|
|
11493
|
+
_el$271.$$mousedown = (event) => {
|
|
11494
|
+
event.preventDefault();
|
|
11495
|
+
applySkillSuggestion(kit);
|
|
11496
|
+
};
|
|
11497
|
+
insert(_el$272, () => getSkillCommandTokens(kit)[0], null);
|
|
11498
|
+
insert(_el$275, () => kit.name);
|
|
11499
|
+
insert(_el$276, () => kit.description);
|
|
11500
|
+
createRenderEffect((_p$) => {
|
|
11501
|
+
var _v$30 = !!(index() === slashSuggestionIndex()), _v$31 = index() === slashSuggestionIndex();
|
|
11502
|
+
_v$30 !== _p$.e && _el$271.classList.toggle("active", _p$.e = _v$30);
|
|
11503
|
+
_v$31 !== _p$.t && setAttribute(_el$271, "aria-selected", _p$.t = _v$31);
|
|
11504
|
+
return _p$;
|
|
11505
|
+
}, {
|
|
11506
|
+
e: void 0,
|
|
11507
|
+
t: void 0
|
|
11508
|
+
});
|
|
11509
|
+
return _el$271;
|
|
11510
|
+
})()
|
|
11511
|
+
}));
|
|
11512
|
+
return _el$148;
|
|
11513
|
+
}
|
|
11142
11514
|
}), (() => {
|
|
11143
|
-
var _el$
|
|
11144
|
-
_el$
|
|
11515
|
+
var _el$149 = _tmpl$32(), _el$150 = _el$149.firstChild, _el$151 = _el$150.firstChild, _el$152 = _el$150.nextSibling;
|
|
11516
|
+
insert(_el$150, createComponent(Show, {
|
|
11517
|
+
get when() {
|
|
11518
|
+
return recognizedSkillInputParts();
|
|
11519
|
+
},
|
|
11520
|
+
children: (parts) => (() => {
|
|
11521
|
+
var _el$277 = _tmpl$69(), _el$278 = _el$277.firstChild;
|
|
11522
|
+
insert(_el$277, () => parts().leading, _el$278);
|
|
11523
|
+
insert(_el$278, () => parts().command);
|
|
11524
|
+
insert(_el$277, () => parts().rest || " ", null);
|
|
11525
|
+
return _el$277;
|
|
11526
|
+
})()
|
|
11527
|
+
}), _el$151);
|
|
11528
|
+
_el$151.$$keydown = (e) => {
|
|
11529
|
+
if (slashSuggestions().length > 0) {
|
|
11530
|
+
if (e.key === "ArrowDown") {
|
|
11531
|
+
e.preventDefault();
|
|
11532
|
+
moveSlashSuggestion(1);
|
|
11533
|
+
return;
|
|
11534
|
+
}
|
|
11535
|
+
if (e.key === "ArrowUp") {
|
|
11536
|
+
e.preventDefault();
|
|
11537
|
+
moveSlashSuggestion(-1);
|
|
11538
|
+
return;
|
|
11539
|
+
}
|
|
11540
|
+
if (e.key === "Enter" || e.key === "Tab") {
|
|
11541
|
+
e.preventDefault();
|
|
11542
|
+
applyActiveSkillSuggestion();
|
|
11543
|
+
return;
|
|
11544
|
+
}
|
|
11545
|
+
}
|
|
11145
11546
|
if (e.key === "Enter" && !e.shiftKey) {
|
|
11146
11547
|
e.preventDefault();
|
|
11147
11548
|
void handleChatSend();
|
|
11148
11549
|
}
|
|
11149
11550
|
};
|
|
11150
|
-
_el$
|
|
11551
|
+
_el$151.$$input = (e) => {
|
|
11552
|
+
setChatInput(e.currentTarget.value);
|
|
11553
|
+
if (chatCommandError()) setChatCommandError(null);
|
|
11554
|
+
if (e.currentTarget.value.startsWith("/")) {
|
|
11555
|
+
void loadInstalledSkillKits();
|
|
11556
|
+
}
|
|
11557
|
+
};
|
|
11151
11558
|
var _ref$2 = chatInputRef;
|
|
11152
|
-
typeof _ref$2 === "function" ? use(_ref$2, _el$
|
|
11153
|
-
_el$
|
|
11154
|
-
insert(_el$
|
|
11559
|
+
typeof _ref$2 === "function" ? use(_ref$2, _el$151) : chatInputRef = _el$151;
|
|
11560
|
+
_el$152.$$click = () => void handleChatSend();
|
|
11561
|
+
insert(_el$152, () => isStreaming2() ? "Queue" : "Send");
|
|
11155
11562
|
createRenderEffect((_p$) => {
|
|
11156
|
-
var _v$1 = isStreaming2() ? "Send now to queue the next prompt..." : "Ask anything...", _v$
|
|
11157
|
-
_v$1 !== _p$.e &&
|
|
11158
|
-
_v$10 !== _p$.t &&
|
|
11563
|
+
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();
|
|
11564
|
+
_v$1 !== _p$.e && _el$150.classList.toggle("skill-command-registered", _p$.e = _v$1);
|
|
11565
|
+
_v$10 !== _p$.t && _el$151.classList.toggle("skill-command-registered", _p$.t = _v$10);
|
|
11566
|
+
_v$11 !== _p$.a && setAttribute(_el$151, "placeholder", _p$.a = _v$11);
|
|
11567
|
+
_v$12 !== _p$.o && (_el$152.disabled = _p$.o = _v$12);
|
|
11159
11568
|
return _p$;
|
|
11160
11569
|
}, {
|
|
11161
11570
|
e: void 0,
|
|
11162
|
-
t: void 0
|
|
11571
|
+
t: void 0,
|
|
11572
|
+
a: void 0,
|
|
11573
|
+
o: void 0
|
|
11163
11574
|
});
|
|
11164
|
-
createRenderEffect(() => _el$
|
|
11165
|
-
return _el$
|
|
11575
|
+
createRenderEffect(() => _el$151.value = chatInput());
|
|
11576
|
+
return _el$149;
|
|
11166
11577
|
})()];
|
|
11167
11578
|
}
|
|
11168
11579
|
}), null);
|
|
11169
11580
|
createRenderEffect((_p$) => {
|
|
11170
|
-
var _v$
|
|
11171
|
-
_v$
|
|
11172
|
-
_v$
|
|
11173
|
-
_v$
|
|
11174
|
-
_v$
|
|
11175
|
-
_v$
|
|
11176
|
-
_v$
|
|
11177
|
-
_v$
|
|
11178
|
-
_v$
|
|
11179
|
-
_v$
|
|
11180
|
-
_v$
|
|
11181
|
-
_v$
|
|
11182
|
-
_v$
|
|
11183
|
-
_v$
|
|
11184
|
-
_v$
|
|
11185
|
-
_v$
|
|
11186
|
-
_v$
|
|
11187
|
-
_v$
|
|
11581
|
+
var _v$13 = sidebarDetached2() ? "100%" : `${sidebarWidth2()}px`, _v$14 = !!(sidebarTab() === "supervisor"), _v$15 = sidebarTab() === "supervisor", _v$16 = !!(sidebarTab() === "bookmarks"), _v$17 = sidebarTab() === "bookmarks", _v$18 = !!(sidebarTab() === "checkpoints"), _v$19 = sidebarTab() === "checkpoints", _v$20 = !!(sidebarTab() === "chat"), _v$21 = sidebarTab() === "chat", _v$22 = !!(sidebarTab() === "automation"), _v$23 = sidebarTab() === "automation", _v$24 = !!(sidebarTab() === "history"), _v$25 = sidebarTab() === "history", _v$26 = !!(sidebarTab() === "diff"), _v$27 = sidebarTab() === "diff", _v$28 = !!(sidebarTab() === "research"), _v$29 = sidebarTab() === "research";
|
|
11582
|
+
_v$13 !== _p$.e && setStyleProperty(_el$9, "width", _p$.e = _v$13);
|
|
11583
|
+
_v$14 !== _p$.t && _el$15.classList.toggle("active", _p$.t = _v$14);
|
|
11584
|
+
_v$15 !== _p$.a && setAttribute(_el$15, "aria-selected", _p$.a = _v$15);
|
|
11585
|
+
_v$16 !== _p$.o && _el$18.classList.toggle("active", _p$.o = _v$16);
|
|
11586
|
+
_v$17 !== _p$.i && setAttribute(_el$18, "aria-selected", _p$.i = _v$17);
|
|
11587
|
+
_v$18 !== _p$.n && _el$19.classList.toggle("active", _p$.n = _v$18);
|
|
11588
|
+
_v$19 !== _p$.s && setAttribute(_el$19, "aria-selected", _p$.s = _v$19);
|
|
11589
|
+
_v$20 !== _p$.h && _el$20.classList.toggle("active", _p$.h = _v$20);
|
|
11590
|
+
_v$21 !== _p$.r && setAttribute(_el$20, "aria-selected", _p$.r = _v$21);
|
|
11591
|
+
_v$22 !== _p$.d && _el$21.classList.toggle("active", _p$.d = _v$22);
|
|
11592
|
+
_v$23 !== _p$.l && setAttribute(_el$21, "aria-selected", _p$.l = _v$23);
|
|
11593
|
+
_v$24 !== _p$.u && _el$22.classList.toggle("active", _p$.u = _v$24);
|
|
11594
|
+
_v$25 !== _p$.c && setAttribute(_el$22, "aria-selected", _p$.c = _v$25);
|
|
11595
|
+
_v$26 !== _p$.w && _el$23.classList.toggle("active", _p$.w = _v$26);
|
|
11596
|
+
_v$27 !== _p$.m && setAttribute(_el$23, "aria-selected", _p$.m = _v$27);
|
|
11597
|
+
_v$28 !== _p$.f && _el$24.classList.toggle("active", _p$.f = _v$28);
|
|
11598
|
+
_v$29 !== _p$.y && setAttribute(_el$24, "aria-selected", _p$.y = _v$29);
|
|
11188
11599
|
return _p$;
|
|
11189
11600
|
}, {
|
|
11190
11601
|
e: void 0,
|
|
@@ -11209,7 +11620,7 @@ ${contextBlock}` : contextBlock);
|
|
|
11209
11620
|
}
|
|
11210
11621
|
});
|
|
11211
11622
|
};
|
|
11212
|
-
delegateEvents(["click", "pointerdown", "input", "keydown"]);
|
|
11623
|
+
delegateEvents(["click", "pointerdown", "input", "keydown", "mousedown"]);
|
|
11213
11624
|
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>`);
|
|
11214
11625
|
function statusClass(status) {
|
|
11215
11626
|
if (status == null) return "pending";
|