pinokiod 7.3.10 → 7.3.12

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.
Files changed (51) hide show
  1. package/kernel/bin/brew.js +12 -2
  2. package/kernel/bin/caddy.js +24 -20
  3. package/kernel/bin/huggingface.js +2 -2
  4. package/kernel/bin/setup.js +2 -3
  5. package/kernel/bin/uv.js +13 -6
  6. package/kernel/connect/index.js +5 -1
  7. package/kernel/connect/providers/huggingface/index.js +213 -75
  8. package/kernel/environment.js +16 -1
  9. package/kernel/router/localhost_home_router.js +7 -0
  10. package/kernel/shell.js +1 -5
  11. package/kernel/util.js +1 -0
  12. package/package.json +1 -1
  13. package/server/index.js +75 -33
  14. package/server/public/common.js +45 -71
  15. package/server/public/install.js +20 -2
  16. package/server/public/layout.js +1 -1
  17. package/server/public/style.css +1432 -511
  18. package/server/public/tab-link-popover.css +162 -18
  19. package/server/public/tab-link-popover.js +230 -21
  20. package/server/public/task-launcher.css +121 -84
  21. package/server/public/terminal-settings.js +121 -45
  22. package/server/public/universal-launcher.css +42 -33
  23. package/server/public/urldropdown.css +284 -0
  24. package/server/views/app.ejs +1608 -321
  25. package/server/views/autolaunch.ejs +4 -5
  26. package/server/views/checkpoints.ejs +223 -50
  27. package/server/views/connect/huggingface.ejs +406 -325
  28. package/server/views/connect.ejs +0 -1
  29. package/server/views/github.ejs +277 -324
  30. package/server/views/index.ejs +53 -1
  31. package/server/views/install.ejs +119 -19
  32. package/server/views/logs.ejs +10 -9
  33. package/server/views/net.ejs +341 -64
  34. package/server/views/network.ejs +85 -63
  35. package/server/views/partials/main_sidebar.ejs +237 -12
  36. package/server/views/plugins.ejs +141 -3
  37. package/server/views/settings.ejs +103 -7
  38. package/server/views/setup.ejs +0 -5
  39. package/server/views/skills.ejs +0 -1
  40. package/server/views/task_list.ejs +0 -1
  41. package/server/views/terminal.ejs +142 -1
  42. package/server/views/terminals.ejs +346 -6
  43. package/server/views/tools.ejs +828 -1691
  44. package/test/caddy-install.test.js +53 -0
  45. package/test/connect-setup.test.js +16 -0
  46. package/test/github-connection.test.js +1 -1
  47. package/test/huggingface-bin.test.js +4 -4
  48. package/test/huggingface-connect.test.js +73 -0
  49. package/test/main-sidebar.test.js +31 -0
  50. package/test/shell-run-template.test.js +5 -1
  51. package/test/uv-bin.test.js +29 -0
@@ -23,7 +23,7 @@
23
23
  --universal-launcher-primary-border-hover: var(--universal-quick-action-bg);
24
24
  --universal-create-dropdown-surface: #ffffff;
25
25
  --universal-create-dropdown-shadow: 0 12px 24px rgba(15, 23, 42, 0.14), 0 2px 8px rgba(15, 23, 42, 0.08);
26
- --universal-create-dropdown-hover: rgba(65, 105, 225, 0.1);
26
+ --universal-create-dropdown-hover: var(--pinokio-sidebar-tab-hover, rgba(15, 23, 42, 0.035));
27
27
  }
28
28
 
29
29
  body.dark {
@@ -49,31 +49,29 @@ body.dark {
49
49
  --universal-launcher-primary-border-hover: var(--universal-quick-action-text);
50
50
  --universal-create-dropdown-surface: #151517;
51
51
  --universal-create-dropdown-shadow: 0 16px 36px rgba(0, 0, 0, 0.38), 0 2px 10px rgba(0, 0, 0, 0.24);
52
- --universal-create-dropdown-hover: rgba(65, 105, 225, 0.22);
52
+ --universal-create-dropdown-hover: var(--pinokio-sidebar-tab-hover, rgba(255, 255, 255, 0.055));
53
53
  }
54
54
 
55
55
  .main-sidebar .universal-create-dropdown {
56
- position: absolute;
57
- top: calc(100% + 4px);
58
- left: auto;
59
- right: 0;
60
- z-index: 80;
61
- min-width: 172px;
62
- width: max-content;
63
- max-width: min(220px, calc(100vw - 24px));
56
+ position: static;
57
+ min-width: 0;
58
+ width: 100%;
59
+ max-width: none;
64
60
  height: auto !important;
65
61
  max-height: none !important;
66
62
  display: none;
67
63
  flex-direction: column;
68
64
  align-items: stretch;
69
65
  align-content: flex-start;
70
- gap: 2px;
71
- padding: 4px;
72
- border: 1px solid var(--universal-launcher-border-strong);
73
- border-radius: 8px;
74
- background: var(--universal-create-dropdown-surface);
75
- box-shadow: 0 10px 18px rgba(15, 23, 42, 0.12), 0 1px 4px rgba(15, 23, 42, 0.08);
76
- overflow: clip;
66
+ gap: 1px;
67
+ margin: 1px 0 3px;
68
+ padding: 1px 0 1px 27px;
69
+ border: 0;
70
+ border-radius: 0;
71
+ background: transparent;
72
+ box-shadow: none;
73
+ overflow: visible;
74
+ box-sizing: border-box;
77
75
  }
78
76
 
79
77
  .main-sidebar .universal-create-menu:not([open]) .universal-create-dropdown {
@@ -84,6 +82,15 @@ body.dark {
84
82
  display: flex !important;
85
83
  }
86
84
 
85
+ .main-sidebar .universal-create-menu[open] > summary {
86
+ background: var(--pinokio-sidebar-tab-hover, transparent) !important;
87
+ color: var(--pinokio-sidebar-tab-active-color, var(--universal-launcher-text)) !important;
88
+ }
89
+
90
+ .main-sidebar .universal-create-menu[open] > summary .main-sidebar-action-icon {
91
+ color: var(--pinokio-sidebar-icon-active, currentColor) !important;
92
+ }
93
+
87
94
  .main-sidebar .universal-create-dropdown button {
88
95
  appearance: none;
89
96
  border: 0;
@@ -92,15 +99,15 @@ body.dark {
92
99
  align-items: center;
93
100
  justify-content: flex-start;
94
101
  background: transparent;
95
- color: var(--universal-launcher-text);
102
+ color: var(--pinokio-sidebar-tab-muted, var(--universal-launcher-text));
96
103
  text-align: left;
97
- min-height: 32px;
104
+ min-height: 25px;
98
105
  gap: 3px;
99
- padding: 0 8px;
106
+ padding: 3px 5px;
100
107
  border-radius: 6px;
101
- font-size: 11px;
102
- font-weight: 600;
103
- line-height: 1;
108
+ font-size: 12px;
109
+ font-weight: 500;
110
+ line-height: 1.25;
104
111
  white-space: nowrap;
105
112
  cursor: pointer;
106
113
  box-sizing: border-box;
@@ -110,12 +117,14 @@ body.dark {
110
117
  .main-sidebar .universal-create-dropdown button:hover,
111
118
  .main-sidebar .universal-create-dropdown button:focus-visible {
112
119
  background: var(--universal-create-dropdown-hover);
120
+ color: var(--pinokio-sidebar-tab-active-color, var(--universal-launcher-text));
113
121
  outline: none;
114
122
  }
115
123
 
116
124
  body.dark .main-sidebar .universal-create-dropdown button:hover,
117
125
  body.dark .main-sidebar .universal-create-dropdown button:focus-visible {
118
126
  background: var(--universal-create-dropdown-hover);
127
+ color: var(--pinokio-sidebar-tab-active-color, var(--universal-launcher-text));
119
128
  }
120
129
 
121
130
  .universal-launcher-overlay {
@@ -1752,9 +1761,9 @@ body.dark .universal-launcher-error {
1752
1761
 
1753
1762
  .swal2-popup.universal-launcher-download-modal {
1754
1763
  border: 1px solid var(--universal-launcher-border);
1755
- border-radius: 12px;
1764
+ border-radius: 8px;
1756
1765
  background: var(--universal-launcher-panel-bg);
1757
- box-shadow: 0 26px 64px rgba(15, 23, 42, 0.18);
1766
+ box-shadow: 0 18px 50px rgba(15, 23, 42, 0.16);
1758
1767
  }
1759
1768
 
1760
1769
  .swal2-container.universal-launcher-download-container {
@@ -1782,7 +1791,7 @@ body.dark .universal-launcher-error {
1782
1791
  .universal-launcher-download-icon {
1783
1792
  width: 32px;
1784
1793
  height: 32px;
1785
- border-radius: 9px;
1794
+ border-radius: 7px;
1786
1795
  border: 1px solid var(--universal-launcher-border);
1787
1796
  background: var(--universal-launcher-panel-bg-muted);
1788
1797
  color: var(--universal-launcher-title-color);
@@ -1799,10 +1808,10 @@ body.dark .universal-launcher-error {
1799
1808
  }
1800
1809
 
1801
1810
  .universal-launcher-download-title {
1802
- font-size: 18px;
1803
- line-height: 1.15;
1804
- font-weight: 700;
1805
- letter-spacing: -0.03em;
1811
+ font-size: 16px;
1812
+ line-height: 1.25;
1813
+ font-weight: 600;
1814
+ letter-spacing: 0;
1806
1815
  color: var(--universal-launcher-text);
1807
1816
  }
1808
1817
 
@@ -1844,9 +1853,9 @@ body.dark .universal-launcher-error {
1844
1853
  .universal-launcher-download-input {
1845
1854
  width: 100%;
1846
1855
  box-sizing: border-box;
1847
- min-height: 38px;
1848
- padding: 0 12px;
1849
- border-radius: 8px;
1856
+ min-height: 36px;
1857
+ padding: 0 10px;
1858
+ border-radius: 6px;
1850
1859
  border: 1px solid var(--universal-launcher-border-strong);
1851
1860
  background: var(--universal-launcher-control-surface);
1852
1861
  color: var(--universal-launcher-text);
@@ -1825,3 +1825,287 @@ body.dark .host-badge {
1825
1825
  body.dark .host-arch {
1826
1826
  color: #a0aec0;
1827
1827
  }
1828
+
1829
+ /* Minimal modal normalization for launcher and capture overlays. */
1830
+ .create-launcher-modal-overlay,
1831
+ .capture-modal-overlay {
1832
+ background: rgba(9, 11, 15, 0.34);
1833
+ -webkit-backdrop-filter: none;
1834
+ backdrop-filter: none;
1835
+ }
1836
+
1837
+ body.dark .create-launcher-modal-overlay,
1838
+ body.dark .capture-modal-overlay {
1839
+ background: rgba(0, 0, 0, 0.58);
1840
+ }
1841
+
1842
+ .create-launcher-modal,
1843
+ .capture-modal {
1844
+ border: 1px solid rgba(24, 24, 27, 0.12) !important;
1845
+ border-radius: 8px !important;
1846
+ background: #ffffff !important;
1847
+ color: #18181b !important;
1848
+ box-shadow: 0 18px 50px rgba(15, 23, 42, 0.16) !important;
1849
+ }
1850
+
1851
+ body.dark .create-launcher-modal,
1852
+ body.dark .capture-modal {
1853
+ border-color: rgba(255, 255, 255, 0.1) !important;
1854
+ background: #1b1c1d !important;
1855
+ color: rgba(250, 250, 250, 0.94) !important;
1856
+ box-shadow: 0 24px 72px rgba(0, 0, 0, 0.42) !important;
1857
+ }
1858
+
1859
+ .create-launcher-modal .create-launcher-modal-header {
1860
+ border-bottom-color: rgba(24, 24, 27, 0.1) !important;
1861
+ }
1862
+
1863
+ body.dark .create-launcher-modal .create-launcher-modal-header {
1864
+ border-bottom-color: rgba(255, 255, 255, 0.09) !important;
1865
+ }
1866
+
1867
+ .create-launcher-modal h3,
1868
+ .capture-modal-title {
1869
+ color: inherit !important;
1870
+ font-size: 16px !important;
1871
+ line-height: 1.25 !important;
1872
+ font-weight: 600 !important;
1873
+ letter-spacing: 0 !important;
1874
+ }
1875
+
1876
+ .create-launcher-modal .create-launcher-modal-description,
1877
+ .capture-modal-description {
1878
+ color: #71717a !important;
1879
+ font-size: 12px !important;
1880
+ line-height: 1.45 !important;
1881
+ }
1882
+
1883
+ body.dark .create-launcher-modal .create-launcher-modal-description,
1884
+ body.dark .capture-modal-description {
1885
+ color: rgba(229, 231, 235, 0.62) !important;
1886
+ }
1887
+
1888
+ .create-launcher-modal .create-launcher-modal-close {
1889
+ width: 28px !important;
1890
+ height: 28px !important;
1891
+ border-radius: 6px !important;
1892
+ border-color: rgba(24, 24, 27, 0.12) !important;
1893
+ background: transparent !important;
1894
+ color: #71717a !important;
1895
+ }
1896
+
1897
+ body.dark .create-launcher-modal .create-launcher-modal-close {
1898
+ border-color: rgba(255, 255, 255, 0.1) !important;
1899
+ color: rgba(229, 231, 235, 0.58) !important;
1900
+ }
1901
+
1902
+ .create-launcher-modal .create-launcher-modal-close:hover,
1903
+ .create-launcher-modal .create-launcher-modal-close:focus-visible {
1904
+ background: rgba(24, 24, 27, 0.06) !important;
1905
+ color: #18181b !important;
1906
+ outline: none !important;
1907
+ }
1908
+
1909
+ body.dark .create-launcher-modal .create-launcher-modal-close:hover,
1910
+ body.dark .create-launcher-modal .create-launcher-modal-close:focus-visible {
1911
+ background: rgba(255, 255, 255, 0.07) !important;
1912
+ color: rgba(250, 250, 250, 0.94) !important;
1913
+ }
1914
+
1915
+ .create-launcher-modal .create-launcher-modal-input,
1916
+ .create-launcher-modal .create-launcher-modal-textarea,
1917
+ .create-launcher-modal .create-launcher-modal-template-input {
1918
+ border-radius: 6px !important;
1919
+ border-color: rgba(24, 24, 27, 0.16) !important;
1920
+ background: #ffffff !important;
1921
+ color: #18181b !important;
1922
+ box-shadow: none !important;
1923
+ }
1924
+
1925
+ body.dark .create-launcher-modal .create-launcher-modal-input,
1926
+ body.dark .create-launcher-modal .create-launcher-modal-textarea,
1927
+ body.dark .create-launcher-modal .create-launcher-modal-template-input {
1928
+ border-color: rgba(255, 255, 255, 0.14) !important;
1929
+ background: rgba(255, 255, 255, 0.04) !important;
1930
+ color: rgba(250, 250, 250, 0.94) !important;
1931
+ }
1932
+
1933
+ .create-launcher-modal .create-launcher-modal-input:focus,
1934
+ .create-launcher-modal .create-launcher-modal-textarea:focus,
1935
+ .create-launcher-modal .create-launcher-modal-template-input:focus {
1936
+ border-color: rgba(24, 24, 27, 0.42) !important;
1937
+ box-shadow: 0 0 0 3px rgba(24, 24, 27, 0.12) !important;
1938
+ outline: none !important;
1939
+ }
1940
+
1941
+ body.dark .create-launcher-modal .create-launcher-modal-input:focus,
1942
+ body.dark .create-launcher-modal .create-launcher-modal-textarea:focus,
1943
+ body.dark .create-launcher-modal .create-launcher-modal-template-input:focus {
1944
+ border-color: rgba(255, 255, 255, 0.38) !important;
1945
+ box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.14) !important;
1946
+ }
1947
+
1948
+ .create-launcher-modal .create-launcher-modal-template,
1949
+ .create-launcher-modal .create-launcher-modal-tool,
1950
+ .create-launcher-modal .create-launcher-upload-dropzone,
1951
+ .create-launcher-modal .create-launcher-upload-item {
1952
+ border-color: rgba(24, 24, 27, 0.1) !important;
1953
+ background: rgba(24, 24, 27, 0.03) !important;
1954
+ box-shadow: none !important;
1955
+ }
1956
+
1957
+ body.dark .create-launcher-modal .create-launcher-modal-template,
1958
+ body.dark .create-launcher-modal .create-launcher-modal-tool,
1959
+ body.dark .create-launcher-modal .create-launcher-upload-dropzone,
1960
+ body.dark .create-launcher-modal .create-launcher-upload-item {
1961
+ border-color: rgba(255, 255, 255, 0.09) !important;
1962
+ background: rgba(255, 255, 255, 0.04) !important;
1963
+ }
1964
+
1965
+ .create-launcher-modal .create-launcher-modal-tool:hover,
1966
+ .create-launcher-modal .create-launcher-modal-tool.selected,
1967
+ .create-launcher-modal .create-launcher-modal-tool:focus-within,
1968
+ body.dark .create-launcher-modal .create-launcher-modal-tool:hover,
1969
+ body.dark .create-launcher-modal .create-launcher-modal-tool.selected,
1970
+ body.dark .create-launcher-modal .create-launcher-modal-tool:focus-within {
1971
+ border-color: rgba(24, 24, 27, 0.2) !important;
1972
+ background: rgba(24, 24, 27, 0.06) !important;
1973
+ box-shadow: none !important;
1974
+ transform: none !important;
1975
+ }
1976
+
1977
+ body.dark .create-launcher-modal .create-launcher-modal-tool:hover,
1978
+ body.dark .create-launcher-modal .create-launcher-modal-tool.selected,
1979
+ body.dark .create-launcher-modal .create-launcher-modal-tool:focus-within {
1980
+ border-color: rgba(255, 255, 255, 0.18) !important;
1981
+ background: rgba(255, 255, 255, 0.07) !important;
1982
+ }
1983
+
1984
+ .create-launcher-modal .create-launcher-modal-tool::before,
1985
+ body.dark .create-launcher-modal .create-launcher-modal-tool::before {
1986
+ border-color: rgba(24, 24, 27, 0.3) !important;
1987
+ background: transparent !important;
1988
+ box-shadow: none !important;
1989
+ }
1990
+
1991
+ body.dark .create-launcher-modal .create-launcher-modal-tool::before {
1992
+ border-color: rgba(255, 255, 255, 0.32) !important;
1993
+ }
1994
+
1995
+ .create-launcher-modal .create-launcher-modal-tool.selected::before {
1996
+ border-color: #18181b !important;
1997
+ background: #18181b !important;
1998
+ }
1999
+
2000
+ body.dark .create-launcher-modal .create-launcher-modal-tool.selected::before {
2001
+ border-color: rgba(250, 250, 250, 0.94) !important;
2002
+ background: rgba(250, 250, 250, 0.94) !important;
2003
+ }
2004
+
2005
+ .create-launcher-modal .create-launcher-modal-button,
2006
+ .capture-modal-button {
2007
+ min-height: 32px !important;
2008
+ padding: 0 12px !important;
2009
+ border-radius: 6px !important;
2010
+ box-shadow: none !important;
2011
+ font-size: 13px !important;
2012
+ font-weight: 600 !important;
2013
+ transform: none !important;
2014
+ }
2015
+
2016
+ .create-launcher-modal .create-launcher-modal-button.confirm,
2017
+ .capture-modal-button.primary {
2018
+ border: 1px solid #18181b !important;
2019
+ background: #18181b !important;
2020
+ color: #ffffff !important;
2021
+ }
2022
+
2023
+ body.dark .create-launcher-modal .create-launcher-modal-button.confirm,
2024
+ body.dark .capture-modal-button.primary {
2025
+ border-color: rgba(250, 250, 250, 0.94) !important;
2026
+ background: rgba(250, 250, 250, 0.94) !important;
2027
+ color: #1b1c1d !important;
2028
+ }
2029
+
2030
+ .create-launcher-modal .create-launcher-modal-button.confirm:hover,
2031
+ .capture-modal-button.primary:hover {
2032
+ border-color: #27272a !important;
2033
+ background: #27272a !important;
2034
+ box-shadow: none !important;
2035
+ transform: none !important;
2036
+ }
2037
+
2038
+ body.dark .create-launcher-modal .create-launcher-modal-button.confirm:hover,
2039
+ body.dark .capture-modal-button.primary:hover {
2040
+ border-color: #ffffff !important;
2041
+ background: #ffffff !important;
2042
+ }
2043
+
2044
+ .create-launcher-modal .create-launcher-modal-button.cancel,
2045
+ .capture-modal-button.secondary {
2046
+ border: 1px solid rgba(24, 24, 27, 0.12) !important;
2047
+ background: transparent !important;
2048
+ color: #52525b !important;
2049
+ }
2050
+
2051
+ body.dark .create-launcher-modal .create-launcher-modal-button.cancel,
2052
+ body.dark .capture-modal-button.secondary {
2053
+ border-color: rgba(255, 255, 255, 0.1) !important;
2054
+ color: rgba(229, 231, 235, 0.7) !important;
2055
+ }
2056
+
2057
+ .create-launcher-modal .create-launcher-modal-button.cancel:hover,
2058
+ .capture-modal-button.secondary:hover {
2059
+ border-color: rgba(24, 24, 27, 0.2) !important;
2060
+ background: rgba(24, 24, 27, 0.06) !important;
2061
+ color: #18181b !important;
2062
+ box-shadow: none !important;
2063
+ }
2064
+
2065
+ body.dark .create-launcher-modal .create-launcher-modal-button.cancel:hover,
2066
+ body.dark .capture-modal-button.secondary:hover {
2067
+ border-color: rgba(255, 255, 255, 0.18) !important;
2068
+ background: rgba(255, 255, 255, 0.07) !important;
2069
+ color: rgba(250, 250, 250, 0.94) !important;
2070
+ }
2071
+
2072
+ .create-launcher-modal .create-launcher-modal-button:focus-visible,
2073
+ .capture-modal-button:focus-visible {
2074
+ outline: 2px solid rgba(24, 24, 27, 0.28) !important;
2075
+ outline-offset: 2px !important;
2076
+ }
2077
+
2078
+ body.dark .create-launcher-modal .create-launcher-modal-button:focus-visible,
2079
+ body.dark .capture-modal-button:focus-visible {
2080
+ outline-color: rgba(255, 255, 255, 0.28) !important;
2081
+ }
2082
+
2083
+ .create-launcher-modal .create-launcher-upload-dropzone.dragover {
2084
+ border-color: rgba(24, 24, 27, 0.28) !important;
2085
+ background: rgba(24, 24, 27, 0.05) !important;
2086
+ }
2087
+
2088
+ body.dark .create-launcher-modal .create-launcher-upload-dropzone.dragover {
2089
+ border-color: rgba(255, 255, 255, 0.22) !important;
2090
+ background: rgba(255, 255, 255, 0.06) !important;
2091
+ }
2092
+
2093
+ .create-launcher-modal .create-launcher-upload-remove {
2094
+ color: #52525b !important;
2095
+ }
2096
+
2097
+ body.dark .create-launcher-modal .create-launcher-upload-remove {
2098
+ color: rgba(229, 231, 235, 0.7) !important;
2099
+ }
2100
+
2101
+ .create-launcher-modal .create-launcher-modal-advanced,
2102
+ .create-launcher-modal .create-launcher-modal-bookmarklet {
2103
+ color: #52525b !important;
2104
+ text-decoration-color: rgba(82, 82, 91, 0.35);
2105
+ }
2106
+
2107
+ body.dark .create-launcher-modal .create-launcher-modal-advanced,
2108
+ body.dark .create-launcher-modal .create-launcher-modal-bookmarklet {
2109
+ color: rgba(229, 231, 235, 0.7) !important;
2110
+ text-decoration-color: rgba(229, 231, 235, 0.28);
2111
+ }