diff --git a/static/js/admin.js b/static/js/admin.js index 06d322432..b9512149b 100644 --- a/static/js/admin.js +++ b/static/js/admin.js @@ -431,7 +431,8 @@ async function loadEndpoints() { ${ep.is_enabled ? '' : 'disabled'} ${hasModels ? 'Click to manage models' : ''} -
+
+ ${_isLocalEndpoint(ep.base_url) ? '' : ''} ${hasModels ? '' : ''} @@ -476,6 +477,22 @@ async function loadEndpoints() { queryAll('[data-adm-toggle-ep]').forEach(btn => { btn.addEventListener('click', async (e) => { e.stopPropagation(); await fetch(`/api/model-endpoints/${btn.dataset.admToggleEp}`, { method: 'PATCH' }); loadEndpoints(); }); }); + queryAll('[data-adm-tools-select]').forEach(sel => { + sel.addEventListener('change', async (e) => { + e.stopPropagation(); + const epId = sel.dataset.admToolsSelect; + const val = sel.value; + const body = {}; + if (val === 'auto') body.supports_tools = null; + else body.supports_tools = val === 'true'; + await fetch(`/api/model-endpoints/${epId}`, { + method: 'PATCH', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify(body), + }); + loadEndpoints(); + }); + }); queryAll('[data-adm-copy-url]').forEach(btn => { btn.addEventListener('click', (e) => { e.stopPropagation(); diff --git a/static/style.css b/static/style.css index 6703685a4..e711876bd 100644 --- a/static/style.css +++ b/static/style.css @@ -14154,6 +14154,22 @@ body:has(.doc-version-panel:not(.hidden)) .hamburger-btn { background: var(--border); border-color: var(--red); } +.admin-tools-select { + padding: 3px 6px; + border: 1px solid var(--border); + border-radius: 6px; + background: var(--panel); + color: var(--fg); + cursor: pointer; + font-size: 11px; + font-family: inherit; + height: 26px; + min-width: 90px; +} +.admin-tools-select:hover { + background: var(--border); + border-color: var(--red); +} .admin-spinner { display: inline-block; width: 12px; @@ -14269,6 +14285,7 @@ body:has(.doc-version-panel:not(.hidden)) .hamburger-btn { .admin-ep-actions { display: flex; gap: 4px; + align-items: center; flex-shrink: 0; }