Changeset 0.17.0 (#75)

This commit is contained in:
2026-02-27 16:25:39 +00:00
parent 8bb77710b9
commit c9141a6896
37 changed files with 2778 additions and 968 deletions

View File

@@ -208,6 +208,12 @@ async function handleSaveAdminSettings() {
const defaultModel = document.getElementById('adminDefaultModel').value;
await API.adminUpdateSetting('default_model', { value: defaultModel });
// KB direct access → kb_direct_access policy (v0.17.0)
const kbDirect = document.getElementById('adminKBDirectAccessToggle')?.checked;
if (kbDirect != null) {
await API.adminUpdateSetting('kb_direct_access', { value: kbDirect ? 'true' : 'false' });
}
// Banner → global_settings (JSON value)
const banner = {
enabled: document.getElementById('adminBannerEnabled').checked,
@@ -532,6 +538,9 @@ function _initSettingsListeners() {
prefix: 'teamPreset',
showAvatar: true,
showProviderConfig: false,
showKBPicker: true,
kbScope: 'team',
kbTeamId: UI._managingTeamId,
onSubmit: async (vals) => {
const teamId = UI._managingTeamId;
if (!vals.name) return UI.toast('Name required', 'error');
@@ -543,6 +552,10 @@ function _initSettingsListeners() {
try { await API.adminUploadPresetAvatar(presetId, vals._pendingAvatar); }
catch (e) { console.warn('Team preset avatar upload failed:', e.message); }
}
if (presetId && vals._kbValues) {
try { await API.teamSetPresetKBs(teamId, presetId, vals._kbValues); }
catch (e) { console.warn('Team preset KB binding failed:', e.message); }
}
container.style.display = 'none';
_teamPresetForm.clearForm();
UI.toast('Team preset created');
@@ -576,6 +589,8 @@ function _initSettingsListeners() {
prefix: 'userPreset',
showAvatar: true,
showProviderConfig: false,
showKBPicker: true,
kbScope: 'personal',
onSubmit: async (vals) => {
if (!vals.name) return UI.toast('Name required', 'error');
if (!vals.base_model_id) return UI.toast('Select a base model', 'error');
@@ -586,6 +601,10 @@ function _initSettingsListeners() {
try { await API.adminUploadPresetAvatar(presetId, vals._pendingAvatar); }
catch (e) { console.warn('User preset avatar upload failed:', e.message); }
}
if (presetId && vals._kbValues) {
try { await API.setUserPresetKBs(presetId, vals._kbValues); }
catch (e) { console.warn('User preset KB binding failed:', e.message); }
}
container.style.display = 'none';
_userPresetForm.clearForm();
UI.toast('Preset created');