' . esc_html__('Settings saved.', 'aiutoma') . '
'; } $icon = get_option('aiutoma_chatbot_icon', 'dashicons-format-chat'); $color = get_option('aiutoma_chatbot_color', '#2271b1'); $position = get_option('aiutoma_chatbot_position', 'bottom-right'); $name = get_option('aiutoma_chatbot_name', ''); $default_greeting = __('Hello! I am an AI assistant for this website. How can I help you today?', 'aiutoma'); $greeting = get_option('aiutoma_chatbot_greeting', $default_greeting); $contact_msg = get_option('aiutoma_chatbot_contact_msg', ''); $default_disclaimer = __('AI assistant • Responses may contain inaccuracies.', 'aiutoma'); $disclaimer_text = get_option('aiutoma_chatbot_disclaimer_text', $default_disclaimer); $show_ai_badge = get_option('aiutoma_chatbot_show_ai_badge', 1); $show_privacy_link = get_option('aiutoma_chatbot_show_privacy_link', 1); $custom_context = get_option('aiutoma_chatbot_custom_context', ''); $selected_model = get_option('aiutoma_chatbot_model', ''); $auto_fallback = get_option('aiutoma_chatbot_auto_fallback', 0); $saved_fallback_models = get_option('aiutoma_chatbot_fallback_models', []); $notify_new_session = get_option('aiutoma_chatbot_notify_new_session', 0); $notify_email = get_option('aiutoma_chatbot_notify_email', get_option('admin_email')); $enabled_abilities = get_option('aiutoma_chatbot_enabled_abilities', false); if ($enabled_abilities === false) { $enabled_abilities = ['wc_search_products', 'wc_add_to_cart', 'wc_remove_from_cart', 'wc_apply_coupon', 'wc_get_user_orders', 'search_site_content', 'wpml_get_translated_url', 'wpab__ai__fill_form_field', 'request_human_contact']; } $upload_dir = wp_upload_dir(); $rag_db_path = \Aiutoma\Modules\Ai\Ai::get_storage_dir() . '/rag.sqlite'; $rag_db_exists = file_exists($rag_db_path); // Fetch models for dropdown $models = []; if (class_exists('\WordPress\AiClient\AiClient')) { $registry = \WordPress\AiClient\AiClient::defaultRegistry(); $requirements = new \WordPress\AiClient\Providers\Models\DTO\ModelRequirements( [\WordPress\AiClient\Providers\Models\Enums\CapabilityEnum::textGeneration(), \WordPress\AiClient\Providers\Models\Enums\CapabilityEnum::chatHistory()], [] ); $providerModels = $registry->findModelsMetadataForSupport($requirements); foreach ($providerModels as $providerMetadata) { $providerName = $providerMetadata->getProvider()->getName(); foreach ($providerMetadata->getModels() as $modelMeta) { $id = $modelMeta->getId(); $modelName = $modelMeta->getName() ?: $id; $providerId = $providerMetadata->getProvider()->getId(); $models[$providerId . '|' . $id] = '[' . $providerName . '] ' . $modelName; } } } $export_data = [ 'model' => $selected_model, 'fallback_models' => $saved_fallback_models, ]; $export_json = wp_json_encode($export_data); ?>