openclacky 1.3.7 → 1.3.9
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +42 -0
- data/lib/clacky/agent/hook_manager.rb +10 -1
- data/lib/clacky/agent/system_prompt_builder.rb +1 -1
- data/lib/clacky/agent.rb +9 -2
- data/lib/clacky/agent_profile.rb +7 -4
- data/lib/clacky/billing/billing_store.rb +3 -2
- data/lib/clacky/brand_config.rb +2 -1
- data/lib/clacky/default_extensions/coding/agents/coding/avatar.png +0 -0
- data/lib/clacky/default_extensions/coding/ext.yml +4 -4
- data/lib/clacky/default_extensions/ext-studio/agents/ext-developer/avatar.png +0 -0
- data/lib/clacky/default_extensions/ext-studio/agents/ext-developer/system_prompt.md +0 -1
- data/lib/clacky/default_extensions/ext-studio/api/handler.rb +4 -3
- data/lib/clacky/default_extensions/ext-studio/ext.yml +1 -1
- data/lib/clacky/default_extensions/ext-studio/panels/studio/view.js +118 -50
- data/lib/clacky/default_extensions/ext-studio/skills/ext-publish/SKILL.md +1 -2
- data/lib/clacky/default_extensions/general/agents/general/avatar.png +0 -0
- data/lib/clacky/default_extensions/general/ext.yml +4 -4
- data/lib/clacky/default_extensions/git/ext.yml +0 -1
- data/lib/clacky/default_extensions/git/panels/git/view.js +3 -3
- data/lib/clacky/default_extensions/meeting/ext.yml +0 -1
- data/lib/clacky/default_extensions/meeting/panels/meeting/view.js +1 -2
- data/lib/clacky/default_extensions/time_machine/ext.yml +0 -1
- data/lib/clacky/extension/api_extension.rb +11 -2
- data/lib/clacky/extension/dispatcher.rb +3 -2
- data/lib/clacky/extension/loader.rb +6 -0
- data/lib/clacky/extension/packager.rb +0 -6
- data/lib/clacky/extension/verifier.rb +1 -1
- data/lib/clacky/server/http_server.rb +149 -5
- data/lib/clacky/shell_hook_loader.rb +266 -22
- data/lib/clacky/ui2/components/welcome_banner.rb +1 -1
- data/lib/clacky/utils/workspace_rules.rb +2 -2
- data/lib/clacky/version.rb +1 -1
- data/lib/clacky/web/app.css +334 -73
- data/lib/clacky/web/core/ext.js +130 -24
- data/lib/clacky/web/features/extensions/store.js +41 -6
- data/lib/clacky/web/features/extensions/view.js +44 -13
- data/lib/clacky/web/features/new-session/store.js +13 -0
- data/lib/clacky/web/features/new-session/view.js +314 -14
- data/lib/clacky/web/features/trash/view.js +4 -5
- data/lib/clacky/web/i18n.js +44 -2
- data/lib/clacky/web/index.html +54 -16
- data/lib/clacky/web/sessions.js +3 -3
- data/lib/clacky/web/skills.js +86 -48
- data/lib/clacky/web/theme.js +3 -0
- data/lib/clacky/web/ws-dispatcher.js +11 -2
- metadata +7 -7
data/lib/clacky/web/app.css
CHANGED
|
@@ -221,6 +221,7 @@ html { font-size: 16px; }
|
|
|
221
221
|
100% { background-position: -200% 0; }
|
|
222
222
|
}
|
|
223
223
|
.skel {
|
|
224
|
+
display: inline-block;
|
|
224
225
|
border-radius: 6px;
|
|
225
226
|
background: linear-gradient(90deg,
|
|
226
227
|
#e8e8e8 25%,
|
|
@@ -1855,42 +1856,87 @@ body {
|
|
|
1855
1856
|
/* ── New Session landing page (#new) ─────────────────────────────────────── */
|
|
1856
1857
|
.new-session-page {
|
|
1857
1858
|
justify-content: flex-start;
|
|
1858
|
-
padding:
|
|
1859
|
-
overflow
|
|
1859
|
+
padding: 0;
|
|
1860
|
+
overflow: hidden;
|
|
1860
1861
|
gap: 0;
|
|
1861
1862
|
}
|
|
1862
1863
|
.new-session-inner {
|
|
1863
1864
|
width: 100%;
|
|
1864
|
-
|
|
1865
|
+
height: 100%;
|
|
1865
1866
|
display: flex;
|
|
1866
1867
|
flex-direction: column;
|
|
1867
|
-
gap:
|
|
1868
|
+
gap: 0;
|
|
1869
|
+
}
|
|
1870
|
+
.new-session-body {
|
|
1871
|
+
flex: 1 1 auto;
|
|
1872
|
+
overflow-y: auto;
|
|
1873
|
+
display: flex;
|
|
1874
|
+
flex-direction: column;
|
|
1875
|
+
gap: 1.25rem;
|
|
1876
|
+
width: 100%;
|
|
1877
|
+
max-width: 60rem;
|
|
1878
|
+
margin: 0 auto;
|
|
1879
|
+
padding: 5.5rem 1.5rem 1rem;
|
|
1880
|
+
}
|
|
1881
|
+
.new-session-composer {
|
|
1882
|
+
position: relative;
|
|
1883
|
+
flex: none;
|
|
1884
|
+
padding: 0.75rem 1.5rem 1.25rem;
|
|
1868
1885
|
}
|
|
1869
1886
|
.new-session-title {
|
|
1870
1887
|
font-size: 1.5rem;
|
|
1871
1888
|
font-weight: 680;
|
|
1872
1889
|
color: var(--color-text-primary);
|
|
1873
1890
|
letter-spacing: -0.01em;
|
|
1874
|
-
text-align:
|
|
1891
|
+
text-align: left;
|
|
1875
1892
|
margin: 0;
|
|
1876
1893
|
}
|
|
1877
1894
|
.new-session-subtitle {
|
|
1878
1895
|
color: var(--color-text-tertiary);
|
|
1879
1896
|
font-size: 0.875rem;
|
|
1880
|
-
text-align:
|
|
1897
|
+
text-align: left;
|
|
1881
1898
|
margin: 0;
|
|
1882
1899
|
}
|
|
1883
1900
|
.new-session-agents {
|
|
1901
|
+
display: grid;
|
|
1902
|
+
grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr));
|
|
1903
|
+
grid-auto-rows: 1fr;
|
|
1904
|
+
gap: 0.75rem;
|
|
1905
|
+
}
|
|
1906
|
+
.new-session-agent-panels {
|
|
1884
1907
|
display: flex;
|
|
1885
1908
|
flex-wrap: wrap;
|
|
1886
|
-
|
|
1887
|
-
|
|
1909
|
+
align-items: center;
|
|
1910
|
+
gap: 0.375rem;
|
|
1911
|
+
margin-top: -0.625rem;
|
|
1912
|
+
padding-left: 0.125rem;
|
|
1913
|
+
}
|
|
1914
|
+
.ns-panels-label {
|
|
1915
|
+
width: 100%;
|
|
1916
|
+
font-size: 0.75rem;
|
|
1917
|
+
color: var(--color-text-tertiary);
|
|
1918
|
+
margin-bottom: 0.0625rem;
|
|
1919
|
+
}
|
|
1920
|
+
.ns-panel-chip {
|
|
1921
|
+
display: inline-flex;
|
|
1922
|
+
align-items: center;
|
|
1923
|
+
padding: 0.1875rem 0.5rem;
|
|
1924
|
+
border-radius: 0.375rem;
|
|
1925
|
+
font-size: 0.78125rem;
|
|
1926
|
+
font-weight: 500;
|
|
1927
|
+
line-height: 1.3;
|
|
1928
|
+
}
|
|
1929
|
+
.ns-panel-chip--panel {
|
|
1930
|
+
background: var(--color-accent-soft);
|
|
1931
|
+
color: var(--color-accent-primary);
|
|
1932
|
+
}
|
|
1933
|
+
.ns-panel-chip--skill {
|
|
1934
|
+
background: var(--color-bg-secondary);
|
|
1935
|
+
color: var(--color-text-secondary);
|
|
1936
|
+
border: 1px solid var(--color-border-primary);
|
|
1888
1937
|
}
|
|
1889
1938
|
.agent-card {
|
|
1890
1939
|
position: relative;
|
|
1891
|
-
flex: 1 1 12rem;
|
|
1892
|
-
min-width: 11rem;
|
|
1893
|
-
max-width: 15rem;
|
|
1894
1940
|
padding: 0.9375rem 1rem;
|
|
1895
1941
|
border: 1px solid var(--color-border-primary);
|
|
1896
1942
|
border-radius: 0.75rem;
|
|
@@ -1918,6 +1964,35 @@ body {
|
|
|
1918
1964
|
align-items: center;
|
|
1919
1965
|
gap: 0.375rem;
|
|
1920
1966
|
}
|
|
1967
|
+
.agent-card-header {
|
|
1968
|
+
display: flex;
|
|
1969
|
+
align-items: center;
|
|
1970
|
+
gap: 0.625rem;
|
|
1971
|
+
margin-bottom: 0.125rem;
|
|
1972
|
+
}
|
|
1973
|
+
.agent-card-avatar {
|
|
1974
|
+
flex: none;
|
|
1975
|
+
width: 2.25rem;
|
|
1976
|
+
height: 2.25rem;
|
|
1977
|
+
border-radius: 50%;
|
|
1978
|
+
overflow: hidden;
|
|
1979
|
+
background: var(--color-bg-hover);
|
|
1980
|
+
display: flex;
|
|
1981
|
+
align-items: center;
|
|
1982
|
+
justify-content: center;
|
|
1983
|
+
}
|
|
1984
|
+
.agent-card-avatar img {
|
|
1985
|
+
width: 100%;
|
|
1986
|
+
height: 100%;
|
|
1987
|
+
object-fit: cover;
|
|
1988
|
+
display: block;
|
|
1989
|
+
}
|
|
1990
|
+
.agent-card-avatar--fallback {
|
|
1991
|
+
font-size: 1rem;
|
|
1992
|
+
font-weight: 700;
|
|
1993
|
+
color: var(--color-accent-primary);
|
|
1994
|
+
background: var(--color-accent-soft);
|
|
1995
|
+
}
|
|
1921
1996
|
.agent-card-new {
|
|
1922
1997
|
font-size: 0.6rem;
|
|
1923
1998
|
font-weight: 700;
|
|
@@ -1951,45 +2026,77 @@ body {
|
|
|
1951
2026
|
color: var(--color-accent-primary);
|
|
1952
2027
|
}
|
|
1953
2028
|
.agent-card-author {
|
|
2029
|
+
margin-top: 0.25rem;
|
|
1954
2030
|
font-size: 0.72rem;
|
|
1955
2031
|
color: var(--color-text-tertiary);
|
|
1956
2032
|
opacity: 0.8;
|
|
1957
2033
|
}
|
|
1958
2034
|
|
|
1959
|
-
.new-session-
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
gap: 0.5rem;
|
|
2035
|
+
.new-session-input-bar {
|
|
2036
|
+
margin: 0;
|
|
2037
|
+
padding: 10px 12px;
|
|
1963
2038
|
border: 1px solid var(--color-border-primary);
|
|
1964
|
-
border-radius:
|
|
1965
|
-
padding: 0.75rem;
|
|
2039
|
+
border-radius: 13px;
|
|
1966
2040
|
background: var(--color-bg-primary);
|
|
2041
|
+
display: flex;
|
|
2042
|
+
align-items: center;
|
|
2043
|
+
gap: 8px;
|
|
2044
|
+
box-shadow: var(--shadow-card);
|
|
2045
|
+
transition: border-color .14s;
|
|
2046
|
+
}
|
|
2047
|
+
.new-session-input-bar:focus-within {
|
|
2048
|
+
border-color: color-mix(in srgb, var(--color-accent-primary) 50%, var(--color-border-primary));
|
|
2049
|
+
}
|
|
2050
|
+
.new-session-composer-btn {
|
|
2051
|
+
flex: none;
|
|
2052
|
+
display: grid;
|
|
2053
|
+
place-items: center;
|
|
2054
|
+
width: 32px;
|
|
2055
|
+
height: 32px;
|
|
2056
|
+
padding: 0;
|
|
2057
|
+
border: none;
|
|
2058
|
+
border-radius: 8px;
|
|
2059
|
+
background: transparent;
|
|
2060
|
+
color: var(--color-text-tertiary);
|
|
2061
|
+
cursor: pointer;
|
|
2062
|
+
transition: background .12s, color .12s;
|
|
2063
|
+
}
|
|
2064
|
+
.new-session-composer-btn:hover {
|
|
2065
|
+
color: var(--color-text-primary);
|
|
2066
|
+
background: var(--color-bg-hover);
|
|
2067
|
+
}
|
|
2068
|
+
.new-session-composer-btn.active {
|
|
2069
|
+
color: var(--color-accent-primary);
|
|
2070
|
+
background: var(--color-accent-soft);
|
|
2071
|
+
}
|
|
2072
|
+
.new-session-composer-btn > span {
|
|
2073
|
+
font-size: 0.875rem;
|
|
2074
|
+
font-weight: 400;
|
|
2075
|
+
line-height: 1;
|
|
1967
2076
|
}
|
|
1968
2077
|
.new-session-textarea {
|
|
1969
|
-
|
|
2078
|
+
flex: 1;
|
|
1970
2079
|
border: none;
|
|
1971
2080
|
outline: none;
|
|
1972
|
-
resize:
|
|
2081
|
+
resize: none;
|
|
1973
2082
|
background: transparent;
|
|
1974
2083
|
color: var(--color-text-primary);
|
|
1975
|
-
font:
|
|
1976
|
-
font-size: 0.
|
|
1977
|
-
line-height: 1.
|
|
1978
|
-
padding:
|
|
1979
|
-
|
|
1980
|
-
max-height:
|
|
1981
|
-
|
|
1982
|
-
|
|
1983
|
-
display: flex;
|
|
1984
|
-
align-items: center;
|
|
1985
|
-
justify-content: flex-end;
|
|
1986
|
-
gap: 0.5rem;
|
|
2084
|
+
font-family: var(--font-sans);
|
|
2085
|
+
font-size: 0.875rem;
|
|
2086
|
+
line-height: 1.55;
|
|
2087
|
+
padding: 4px 6px;
|
|
2088
|
+
margin: 0;
|
|
2089
|
+
max-height: 12.5rem;
|
|
2090
|
+
overflow-y: auto;
|
|
2091
|
+
scrollbar-width: none;
|
|
1987
2092
|
}
|
|
2093
|
+
.new-session-textarea::-webkit-scrollbar { display: none; }
|
|
1988
2094
|
.new-session-advanced-wrap {
|
|
1989
2095
|
display: flex;
|
|
1990
2096
|
flex-direction: column;
|
|
1991
2097
|
gap: 0.5rem;
|
|
1992
2098
|
align-items: flex-start;
|
|
2099
|
+
margin-top: -0.5rem;
|
|
1993
2100
|
}
|
|
1994
2101
|
.new-session-advanced-toggle {
|
|
1995
2102
|
display: inline-flex;
|
|
@@ -2006,7 +2113,6 @@ body {
|
|
|
2006
2113
|
}
|
|
2007
2114
|
.new-session-advanced-toggle:hover {
|
|
2008
2115
|
color: var(--color-text-secondary);
|
|
2009
|
-
background: var(--color-bg-hover);
|
|
2010
2116
|
}
|
|
2011
2117
|
.new-session-advanced-caret {
|
|
2012
2118
|
transition: transform 0.15s;
|
|
@@ -2015,22 +2121,30 @@ body {
|
|
|
2015
2121
|
transform: rotate(180deg);
|
|
2016
2122
|
}
|
|
2017
2123
|
.new-session-send {
|
|
2018
|
-
|
|
2124
|
+
flex: none;
|
|
2125
|
+
display: grid;
|
|
2126
|
+
place-items: center;
|
|
2127
|
+
width: 34px;
|
|
2128
|
+
height: 34px;
|
|
2019
2129
|
border: none;
|
|
2020
|
-
border-radius:
|
|
2130
|
+
border-radius: 9px;
|
|
2021
2131
|
background: var(--color-accent-primary);
|
|
2022
|
-
color:
|
|
2023
|
-
font-size: 0.875rem;
|
|
2024
|
-
font-weight: 550;
|
|
2132
|
+
color: #fff;
|
|
2025
2133
|
cursor: pointer;
|
|
2026
|
-
transition: opacity
|
|
2134
|
+
transition: background .12s, opacity .12s;
|
|
2135
|
+
}
|
|
2136
|
+
.new-session-send svg {
|
|
2137
|
+
width: 15px;
|
|
2138
|
+
height: 15px;
|
|
2027
2139
|
}
|
|
2028
2140
|
.new-session-send:disabled {
|
|
2029
|
-
|
|
2141
|
+
background: var(--color-border-primary);
|
|
2142
|
+
color: var(--color-text-tertiary);
|
|
2030
2143
|
cursor: not-allowed;
|
|
2144
|
+
opacity: 0.6;
|
|
2031
2145
|
}
|
|
2032
2146
|
.new-session-send:not(:disabled):hover {
|
|
2033
|
-
|
|
2147
|
+
background: color-mix(in srgb, var(--color-accent-primary) 85%, #fff);
|
|
2034
2148
|
}
|
|
2035
2149
|
|
|
2036
2150
|
.new-session-advanced {
|
|
@@ -2255,7 +2369,15 @@ body {
|
|
|
2255
2369
|
.session-banner:empty,
|
|
2256
2370
|
.session-composer:empty { display: none; }
|
|
2257
2371
|
.session-banner { flex-shrink: 0; }
|
|
2258
|
-
.session-composer {
|
|
2372
|
+
.session-composer {
|
|
2373
|
+
flex-shrink: 0;
|
|
2374
|
+
margin-bottom: -9px;
|
|
2375
|
+
display: flex;
|
|
2376
|
+
padding-inline: 12px;
|
|
2377
|
+
}
|
|
2378
|
+
.session-composer > * {
|
|
2379
|
+
justify-content: flex-start !important;
|
|
2380
|
+
}
|
|
2259
2381
|
|
|
2260
2382
|
/* ── File tree (used inside the Files tab) ──────────────────────────────── */
|
|
2261
2383
|
.wt-panel { flex: 1; min-height: 0; display: flex; flex-direction: column; }
|
|
@@ -4038,6 +4160,12 @@ body {
|
|
|
4038
4160
|
box-shadow: var(--shadow-card);
|
|
4039
4161
|
margin-bottom: -1px;
|
|
4040
4162
|
}
|
|
4163
|
+
#ns-image-preview-strip {
|
|
4164
|
+
display: flex;
|
|
4165
|
+
flex-wrap: wrap;
|
|
4166
|
+
gap: 0.5rem;
|
|
4167
|
+
padding: 0.25rem 0 0.5rem;
|
|
4168
|
+
}
|
|
4041
4169
|
/* Square off the top corners of the input-bar when the preview strip sits above it */
|
|
4042
4170
|
#input-area:has(#image-preview-strip:not([style*="display:none"])):not(:has(#image-preview-strip[style*="display: none"])) #input-bar {
|
|
4043
4171
|
border-top-left-radius: 0;
|
|
@@ -4136,7 +4264,8 @@ body {
|
|
|
4136
4264
|
.pdf-preview-remove:hover { background: var(--color-error); }
|
|
4137
4265
|
|
|
4138
4266
|
/* ── Skill autocomplete dropdown ─────────────────────────────────────────── */
|
|
4139
|
-
#skill-autocomplete
|
|
4267
|
+
#skill-autocomplete,
|
|
4268
|
+
.skill-autocomplete {
|
|
4140
4269
|
position: absolute;
|
|
4141
4270
|
bottom: 100%;
|
|
4142
4271
|
left: 0;
|
|
@@ -4154,7 +4283,8 @@ body {
|
|
|
4154
4283
|
z-index: 1000;
|
|
4155
4284
|
}
|
|
4156
4285
|
|
|
4157
|
-
#skill-autocomplete-list
|
|
4286
|
+
#skill-autocomplete-list,
|
|
4287
|
+
#ns-skill-autocomplete-list {
|
|
4158
4288
|
padding: 0.25rem 0;
|
|
4159
4289
|
}
|
|
4160
4290
|
|
|
@@ -6949,13 +7079,45 @@ body {
|
|
|
6949
7079
|
gap: 1.25rem;
|
|
6950
7080
|
}
|
|
6951
7081
|
.extensions-toolbar {
|
|
7082
|
+
display: flex;
|
|
7083
|
+
align-items: center;
|
|
7084
|
+
justify-content: space-between;
|
|
7085
|
+
gap: 0.75rem;
|
|
7086
|
+
margin-bottom: 0.25rem;
|
|
7087
|
+
}
|
|
7088
|
+
.extensions-toolbar-right {
|
|
6952
7089
|
display: flex;
|
|
6953
7090
|
align-items: center;
|
|
6954
7091
|
gap: 0.5rem;
|
|
6955
7092
|
}
|
|
7093
|
+
.extensions-filter-tabs {
|
|
7094
|
+
display: flex;
|
|
7095
|
+
align-items: center;
|
|
7096
|
+
gap: 0;
|
|
7097
|
+
flex-shrink: 0;
|
|
7098
|
+
}
|
|
7099
|
+
.extensions-filter-tab {
|
|
7100
|
+
font-size: 0.875rem;
|
|
7101
|
+
font-weight: 500;
|
|
7102
|
+
padding: 0.25rem 0.875rem 0.5rem;
|
|
7103
|
+
border: none;
|
|
7104
|
+
background: transparent;
|
|
7105
|
+
color: var(--color-text-tertiary);
|
|
7106
|
+
cursor: pointer;
|
|
7107
|
+
white-space: nowrap;
|
|
7108
|
+
border-bottom: 2px solid transparent;
|
|
7109
|
+
transition: color .15s, border-color .15s;
|
|
7110
|
+
}
|
|
7111
|
+
.extensions-filter-tab:hover {
|
|
7112
|
+
color: var(--color-text-primary);
|
|
7113
|
+
}
|
|
7114
|
+
.extensions-filter-tab-active {
|
|
7115
|
+
color: var(--color-text-primary);
|
|
7116
|
+
border-bottom-color: var(--color-accent, #6366f1);
|
|
7117
|
+
}
|
|
6956
7118
|
.extensions-search {
|
|
6957
7119
|
flex: 1;
|
|
6958
|
-
min-width:
|
|
7120
|
+
min-width: 15rem;
|
|
6959
7121
|
font-size: 0.8125rem;
|
|
6960
7122
|
padding: 0.4375rem 0.75rem;
|
|
6961
7123
|
border-radius: 6px;
|
|
@@ -6968,13 +7130,22 @@ body {
|
|
|
6968
7130
|
border-color: var(--color-accent, #6366f1);
|
|
6969
7131
|
}
|
|
6970
7132
|
.extensions-sort {
|
|
7133
|
+
flex-shrink: 0;
|
|
6971
7134
|
font-size: 0.8125rem;
|
|
6972
|
-
padding: 0.4375rem 0.
|
|
7135
|
+
padding: 0.4375rem 2rem 0.4375rem 0.75rem;
|
|
6973
7136
|
border-radius: 6px;
|
|
6974
7137
|
border: 1px solid var(--color-border-primary);
|
|
6975
7138
|
background: var(--color-bg-secondary);
|
|
6976
7139
|
color: var(--color-text-primary);
|
|
6977
7140
|
cursor: pointer;
|
|
7141
|
+
appearance: none;
|
|
7142
|
+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23888' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
|
|
7143
|
+
background-repeat: no-repeat;
|
|
7144
|
+
background-position: right 0.625rem center;
|
|
7145
|
+
}
|
|
7146
|
+
.extensions-sort:focus {
|
|
7147
|
+
outline: none;
|
|
7148
|
+
border-color: var(--color-accent, #6366f1);
|
|
6978
7149
|
}
|
|
6979
7150
|
#extensions-list {
|
|
6980
7151
|
display: flex;
|
|
@@ -7024,7 +7195,7 @@ body {
|
|
|
7024
7195
|
color: var(--color-text-secondary);
|
|
7025
7196
|
background: var(--color-bg-tertiary, rgba(255,255,255,0.05));
|
|
7026
7197
|
border-radius: 4px;
|
|
7027
|
-
padding: 0.0625rem
|
|
7198
|
+
padding: 0.0625rem 0rem;
|
|
7028
7199
|
}
|
|
7029
7200
|
.extension-units {
|
|
7030
7201
|
font-size: 0.6875rem;
|
|
@@ -7043,6 +7214,14 @@ body {
|
|
|
7043
7214
|
line-height: 1.5;
|
|
7044
7215
|
margin-bottom: 0.375rem;
|
|
7045
7216
|
}
|
|
7217
|
+
.extension-desc-detail {
|
|
7218
|
+
font-size: 0.8125rem;
|
|
7219
|
+
margin-bottom: 0.5rem;
|
|
7220
|
+
}
|
|
7221
|
+
.extension-detail-author {
|
|
7222
|
+
font-size: 0.6875rem;
|
|
7223
|
+
color: var(--color-text-muted);
|
|
7224
|
+
}
|
|
7046
7225
|
.extension-meta {
|
|
7047
7226
|
display: flex;
|
|
7048
7227
|
align-items: center;
|
|
@@ -7065,30 +7244,41 @@ body {
|
|
|
7065
7244
|
}
|
|
7066
7245
|
.extension-detail-head { margin-bottom: 1rem; }
|
|
7067
7246
|
.extension-detail-back {
|
|
7247
|
+
display: inline-flex;
|
|
7248
|
+
align-items: center;
|
|
7249
|
+
gap: 0.25rem;
|
|
7068
7250
|
background: transparent;
|
|
7069
7251
|
border: none;
|
|
7070
7252
|
color: var(--color-text-secondary);
|
|
7071
7253
|
font-size: 0.8125rem;
|
|
7072
7254
|
cursor: pointer;
|
|
7073
|
-
padding: 0.
|
|
7255
|
+
padding: 0.3rem 0.6rem;
|
|
7256
|
+
border-radius: 6px;
|
|
7257
|
+
margin-left: -0.6rem;
|
|
7258
|
+
transition: background 0.15s, color 0.15s;
|
|
7259
|
+
}
|
|
7260
|
+
.extension-detail-back:hover {
|
|
7261
|
+
color: var(--color-text-primary);
|
|
7262
|
+
background: var(--color-bg-hover);
|
|
7074
7263
|
}
|
|
7075
|
-
.extension-detail-back:hover { color: var(--color-text-primary); }
|
|
7076
7264
|
.extension-detail-hero {
|
|
7077
7265
|
display: flex;
|
|
7078
7266
|
align-items: flex-start;
|
|
7079
|
-
gap:
|
|
7080
|
-
padding-bottom:
|
|
7267
|
+
gap: 1rem;
|
|
7268
|
+
padding-bottom: 1.25rem;
|
|
7081
7269
|
border-bottom: 1px solid var(--color-border-primary);
|
|
7082
7270
|
}
|
|
7083
7271
|
.extension-detail-heading { flex: 1; min-width: 0; }
|
|
7084
|
-
.extension-emoji-lg { font-size: 2.
|
|
7085
|
-
.extension-name-lg { font-size: 1.
|
|
7086
|
-
.extension-detail-block { margin-top: 1.
|
|
7272
|
+
.extension-emoji-lg { font-size: 2.5rem; line-height: 1; margin-top: 0.125rem; }
|
|
7273
|
+
.extension-name-lg { font-size: 1.125rem; font-weight: 700; }
|
|
7274
|
+
.extension-detail-block { margin-top: 1.5rem; }
|
|
7087
7275
|
.extension-detail-block-title {
|
|
7088
|
-
font-size: 0.
|
|
7276
|
+
font-size: 0.75rem;
|
|
7089
7277
|
font-weight: 600;
|
|
7090
|
-
|
|
7091
|
-
|
|
7278
|
+
text-transform: uppercase;
|
|
7279
|
+
letter-spacing: 0.04em;
|
|
7280
|
+
color: var(--color-text-muted);
|
|
7281
|
+
margin: 0 0 0.75rem;
|
|
7092
7282
|
}
|
|
7093
7283
|
.extension-detail-section { margin-bottom: 0.875rem; }
|
|
7094
7284
|
.extension-detail-section-title {
|
|
@@ -7100,18 +7290,30 @@ body {
|
|
|
7100
7290
|
margin: 0 0 0.375rem;
|
|
7101
7291
|
}
|
|
7102
7292
|
.extension-contrib-list,
|
|
7103
|
-
.extension-version-list {
|
|
7104
|
-
|
|
7105
|
-
|
|
7106
|
-
|
|
7293
|
+
.extension-version-list {
|
|
7294
|
+
list-style: none;
|
|
7295
|
+
margin: 0;
|
|
7296
|
+
padding: 0;
|
|
7107
7297
|
border: 1px solid var(--color-border-primary);
|
|
7108
|
-
border-radius:
|
|
7109
|
-
|
|
7298
|
+
border-radius: 8px;
|
|
7299
|
+
overflow: hidden;
|
|
7300
|
+
background: var(--color-bg-secondary);
|
|
7110
7301
|
}
|
|
7302
|
+
.extension-contrib-item {
|
|
7303
|
+
padding: 0.625rem 0.875rem;
|
|
7304
|
+
border-bottom: 1px solid var(--color-border-primary);
|
|
7305
|
+
background: transparent;
|
|
7306
|
+
border-radius: 0;
|
|
7307
|
+
border-left: none;
|
|
7308
|
+
border-right: none;
|
|
7309
|
+
border-top: none;
|
|
7310
|
+
margin-bottom: 0;
|
|
7311
|
+
}
|
|
7312
|
+
.extension-contrib-item:last-child { border-bottom: none; }
|
|
7111
7313
|
.extension-contrib-title {
|
|
7112
7314
|
display: block;
|
|
7113
7315
|
font-size: 0.8125rem;
|
|
7114
|
-
font-weight:
|
|
7316
|
+
font-weight: 500;
|
|
7115
7317
|
color: var(--color-text-primary);
|
|
7116
7318
|
}
|
|
7117
7319
|
.extension-contrib-desc {
|
|
@@ -7122,7 +7324,7 @@ body {
|
|
|
7122
7324
|
margin-top: 0.125rem;
|
|
7123
7325
|
}
|
|
7124
7326
|
.extension-version-item {
|
|
7125
|
-
padding: 0.
|
|
7327
|
+
padding: 0.625rem 0.875rem;
|
|
7126
7328
|
border-bottom: 1px solid var(--color-border-primary);
|
|
7127
7329
|
}
|
|
7128
7330
|
.extension-version-item:last-child { border-bottom: none; }
|
|
@@ -7158,20 +7360,43 @@ body {
|
|
|
7158
7360
|
padding: 0.0625rem 0.375rem;
|
|
7159
7361
|
}
|
|
7160
7362
|
.extension-action {
|
|
7363
|
+
display: inline-flex;
|
|
7364
|
+
align-items: center;
|
|
7161
7365
|
font-size: 0.75rem;
|
|
7162
|
-
padding: 0.
|
|
7163
|
-
border-radius:
|
|
7164
|
-
border: 1px solid var(--color-border);
|
|
7165
|
-
background: var(--color-
|
|
7166
|
-
color: var(--color-text);
|
|
7366
|
+
padding: 0.25rem 0.625rem;
|
|
7367
|
+
border-radius: 5px;
|
|
7368
|
+
border: 1px solid var(--color-border-primary);
|
|
7369
|
+
background: var(--color-bg-primary);
|
|
7370
|
+
color: var(--color-text-secondary);
|
|
7167
7371
|
cursor: pointer;
|
|
7372
|
+
transition: background .15s, border-color .15s, opacity .15s;
|
|
7373
|
+
white-space: nowrap;
|
|
7374
|
+
}
|
|
7375
|
+
.extension-action:hover { background: var(--color-bg-hover); }
|
|
7376
|
+
.extension-action-install {
|
|
7377
|
+
background: var(--color-button-primary);
|
|
7378
|
+
color: var(--color-button-primary-text);
|
|
7379
|
+
border-color: transparent;
|
|
7380
|
+
}
|
|
7381
|
+
.extension-action-install:hover {
|
|
7382
|
+
background: var(--color-button-primary-hover);
|
|
7383
|
+
}
|
|
7384
|
+
.extension-action-install:disabled {
|
|
7385
|
+
opacity: 0.5;
|
|
7386
|
+
cursor: not-allowed;
|
|
7387
|
+
}
|
|
7388
|
+
.extension-action-disable,
|
|
7389
|
+
.extension-action-enable {
|
|
7390
|
+
color: var(--color-text-tertiary);
|
|
7168
7391
|
}
|
|
7169
|
-
.extension-action:hover { background: var(--color-surface-hover, rgba(0,0,0,0.04)); }
|
|
7170
7392
|
.extension-action-remove {
|
|
7171
|
-
color: var(--color-
|
|
7172
|
-
border-color: var(--color-
|
|
7393
|
+
color: var(--color-error);
|
|
7394
|
+
border-color: var(--color-error-border);
|
|
7395
|
+
}
|
|
7396
|
+
.extension-action-remove:hover {
|
|
7397
|
+
background: var(--color-error-bg);
|
|
7398
|
+
border-color: var(--color-error);
|
|
7173
7399
|
}
|
|
7174
|
-
.extension-action-remove:hover { background: var(--color-danger-bg, rgba(220,38,38,0.08)); }
|
|
7175
7400
|
|
|
7176
7401
|
/* Brand Skill card */
|
|
7177
7402
|
.brand-skill-card {
|
|
@@ -12472,5 +12697,41 @@ body.setup-mode[data-theme="dark"] {
|
|
|
12472
12697
|
#workspace-overlay.active {
|
|
12473
12698
|
display: block;
|
|
12474
12699
|
}
|
|
12700
|
+
|
|
12701
|
+
/* ── New-session page: mobile ── */
|
|
12702
|
+
#welcome.new-session-page {
|
|
12703
|
+
position: fixed;
|
|
12704
|
+
top: 3rem;
|
|
12705
|
+
left: 0;
|
|
12706
|
+
right: 0;
|
|
12707
|
+
bottom: 0;
|
|
12708
|
+
overflow: hidden;
|
|
12709
|
+
padding: 0;
|
|
12710
|
+
justify-content: flex-start;
|
|
12711
|
+
height: auto;
|
|
12712
|
+
}
|
|
12713
|
+
.new-session-inner {
|
|
12714
|
+
height: 100%;
|
|
12715
|
+
display: flex;
|
|
12716
|
+
flex-direction: column;
|
|
12717
|
+
}
|
|
12718
|
+
.new-session-spacer {
|
|
12719
|
+
display: none;
|
|
12720
|
+
}
|
|
12721
|
+
.new-session-body {
|
|
12722
|
+
flex: 1 1 auto;
|
|
12723
|
+
min-height: 0;
|
|
12724
|
+
overflow-y: auto;
|
|
12725
|
+
-webkit-overflow-scrolling: touch;
|
|
12726
|
+
padding: 1.25rem 1rem 1rem;
|
|
12727
|
+
max-width: 100%;
|
|
12728
|
+
}
|
|
12729
|
+
.new-session-composer {
|
|
12730
|
+
flex: none;
|
|
12731
|
+
position: static;
|
|
12732
|
+
padding: 0.75rem 1rem 1rem;
|
|
12733
|
+
border-top: 1px solid var(--color-border-subtle);
|
|
12734
|
+
background: var(--color-bg-primary);
|
|
12735
|
+
}
|
|
12475
12736
|
}
|
|
12476
12737
|
|