//
//  ThinkingVerbs.swift
//  oAI
//
//  Fun random verbs for AI thinking/processing states
//
// SPDX-License-Identifier: AGPL-3.0-or-later
// Copyright (C) 2026 Rune Olsen
//
// This file is part of oAI.
//
// oAI is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as
// published by the Free Software Foundation, either version 3 of the
// License, or (at your option) any later version.
//
// oAI is distributed in the hope that it will be useful, but WITHOUT
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General
// Public License for more details.
//
// You should have received a copy of the GNU Affero General Public
// License along with oAI. If not, see <https://www.gnu.org/licenses/>.


import Foundation

struct ThinkingVerbs {
    /// Get a random thinking verb with ellipsis
    static func random() -> String {
        verbs.randomElement()! + "..."
    }

    /// Collection of fun thinking verbs and phrases
    private static let verbs = [
        // Classic thinking
        "Thinking",
        "Pondering",
        "Contemplating",
        "Deliberating",
        "Musing",
        "Reflecting",
        "Meditating",

        // Fancy/sophisticated
        "Cogitating",
        "Ruminating",
        "Cerebrating",
        "Ratiocinating",
        "Percolating",

        // Technical/AI themed
        "Computing",
        "Processing",
        "Analyzing",
        "Synthesizing",
        "Calculating",
        "Inferring",
        "Deducing",
        "Compiling thoughts",
        "Running algorithms",
        "Crunching data",
        "Parsing neurons",

        // Creative/playful
        "Daydreaming",
        "Brainstorming",
        "Mind-melding",
        "Noodling",
        "Brewing ideas",
        "Cooking up thoughts",
        "Marinating",
        "Percolating wisdom",
        "Spinning neurons",
        "Warming up the ol' noggin",

        // Mystical/fun
        "Channeling wisdom",
        "Consulting the oracle",
        "Reading the tea leaves",
        "Summoning knowledge",
        "Conjuring responses",
        "Casting neural nets",
        "Divining answers",
        "Communing with silicon",

        // Quirky/silly
        "Doing the thing",
        "Making magic",
        "Activating brain cells",
        "Flexing neurons",
        "Warming up transistors",
        "Revving up synapses",
        "Tickling the cortex",
        "Waking up the hamsters",
        "Consulting the void",
        "Asking the magic 8-ball",

        // Self-aware/meta
        "Pretending to think",
        "Looking busy",
        "Stalling for time",
        "Counting sheep",
        "Twiddling thumbs",
        "Organizing thoughts",
        "Finding the right words",

        // Speed variations
        "Thinking really hard",
        "Quick-thinking",
        "Deep thinking",
        "Speed-thinking",
        "Hyper-thinking",

        // Action-oriented
        "Crafting",
        "Weaving words",
        "Assembling thoughts",
        "Constructing responses",
        "Formulating ideas",
        "Orchestrating neurons",
        "Choreographing bits",

        // Whimsical
        "Having an epiphany",
        "Connecting the dots",
        "Following the thread",
        "Chasing thoughts",
        "Herding ideas",
        "Untangling neurons",

        // Time-based
        "Taking a moment",
        "Pausing thoughtfully",
        "Taking a beat",
        "Gathering thoughts",
        "Catching my breath",
        "Taking five",

        // Just plain weird
        "Beep boop computing",
        "Engaging brain mode",
        "Activating smartness",
        "Downloading thoughts",
        "Buffering intelligence",
        "Loading brilliance",
        "Unfurling wisdom"
    ]
}
