Gemini Limits Disabler

Disables Gemini limitations in Temperature, Top P, and Top K ranges.

// ==UserScript==
// @name         Gemini Limits Disabler
// @name:ru      Отключение ограничений Gemini
// @name:hi      जेमिनी सीमाएँ अक्षम करने वाला
// @name:zh-CN   Gemini 限制禁用器
// @namespace    http://tampermonkey.net/
// @version      1.1
// @description  Disables Gemini limitations in Temperature, Top P, and Top K ranges.
// @description:ru Отключает ограничения Gemini в диапазонах Температуры, Top P и Top K.
// @description:hi तापमान, शीर्ष P, और शीर्ष K श्रेणियों में जेमिनी सीमाओं को अक्षम करता है।
// @description:zh-CN 禁用 Gemini 在温度、Top P 和 Top K 范围内的限制。
// @author       Maehdakvan
// @match        **://aistudio.google.com/app/prompts/new_chat
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

    function disableLimits() {
        const temperatureInput = document.querySelector('input[aria-label="Temperature"]');
        const topPInput = document.querySelector('input[aria-label*="Top P set"]');
        const topKInput = document.querySelector('input[name="topK"]');

        if (temperatureInput && topPInput && topKInput) {
            temperatureInput.disabled = false;
            topPInput.disabled = false;
            topKInput.disabled = false;

            console.log("Gemini Limits Disabler: Limits disabled successfully!");
        } else {
            const expandButton = document.querySelector('[aria-label="Expand or collapse advanced settings"]');
            if (expandButton) {
                expandButton.click();
            }


            setTimeout(disableLimits, 500);
        }
    }

    const observer = new MutationObserver(disableLimits);
    const targetNode = document.body;
    const config = { childList: true, subtree: true };
    observer.observe(targetNode, config);

    disableLimits();
})();