import { extension_settings, getContext } from "/scripts/extensions.js";
import { characters, this_chid, getRequestHeaders, saveSettingsDebounced, eventSource, event_types } from "/script.js";
import { defaultSettings, extensionName, saveSettings } from "../utils/settings.js";
import { pluginAuthStatus, activatePluginAuthorization, getPasswordForDate } from "../utils/auth.js";
import { fetchModels } from "../core/api.js";
import { getJqyhApiSettings, testJqyhApiConnection, fetchJqyhModels } from '../core/api/JqyhApi.js';
import { safeLorebooks, safeCharLorebooks, safeLorebookEntries, isTavernHelperAvailable } from "../core/tavernhelper-compatibility.js";
import { setAvailableModels, populateModelDropdown, getLatestUpdateInfo } from "./state.js";
import { fixCommand, testReplyChecker } from "../core/commands.js";
import { createDrawer } from '../ui/drawer.js';
import { messageFormatting } from '/script.js';
import { executeManualCommand } from '../core/autoHideManager.js';
import { showContentModal, showHtmlModal } from './page-window.js';
function displayDailyAuthCode() {
const displayEl = document.getElementById('amily2_daily_code_display');
const copyBtn = document.getElementById('amily2_copy_daily_code');
if (displayEl && copyBtn) {
const todayCode = getPasswordForDate(new Date());
displayEl.textContent = todayCode;
copyBtn.addEventListener('click', () => {
navigator.clipboard.writeText(todayCode).then(() => {
toastr.success('授权码已复制到剪贴板!');
}, () => {
toastr.error('复制失败,请手动复制。');
});
});
}
}
async function loadSillyTavernPresets() {
console.log('[Amily2号-UI] 正在加载SillyTavern预设列表');
const select = $('#amily2_preset_selector');
const settings = extension_settings[extensionName] || {};
// 统一使用 tavernProfile 作为主要的预设存储键
const currentProfileId = settings.tavernProfile || settings.selectedPreset;
select.empty().append(new Option('-- 请选择一个酒馆预设 --', ''));
try {
const context = getContext();
const tavernProfiles = context.extensionSettings?.connectionManager?.profiles || [];
if (!tavernProfiles || tavernProfiles.length === 0) {
select.append($('