Whimsical Pi Agent extension with colorful rotating working messages, playful status phrases, and non-repeating colors A developer has created a whimsical extension for Pi Agent that displays colorful, rotating working messages with playful status phrases. The extension cycles through a list of over 150 phrases, such as 'Schlepping...' and 'Flibbertigibbeting...', changing every two seconds while ensuring no immediate repetition of phrase or color. | / | | | Whimsical working messages for Pi Agent. | | | | | | Rotates colorful, playful status phrases every two seconds while Pi is | | | thinking. Colors and phrases are randomized without immediately repeating | | | either the previous phrase or the previous color. | | | / | | | import type { ExtensionAPI } from "@earendil-works/pi-coding-agent"; | | | const messages = | | | // Short | | | "Schlepping...", | | | "Combobulating...", | | | "Doing...", | | | "Channelling...", | | | "Vibing...", | | | "Concocting...", | | | "Spelunking...", | | | "Transmuting...", | | | "Imagining...", | | | "Pontificating...", | | | "Whirring...", | | | "Cogitating...", | | | "Honking...", | | | "Flibbertigibbeting...", | | | "Noodling...", | | | "Percolating...", | | | "Ruminating...", | | | "Simmering...", | | | "Marinating...", | | | "Fermenting...", | | | "Gestating...", | | | "Hatching...", | | | "Brewing...", | | | "Steeping...", | | | "Contemplating...", | | | "Musing...", | | | "Pondering...", | | | "Mulling...", | | | "Daydreaming...", | | | "Woolgathering...", | | | "Dithering...", | | | "Faffing...", | | | "Puttering...", | | | "Tinkering...", | | | "Fiddling...", | | | "Noodging...", | | | "Finagling...", | | | "Wrangling...", | | | "Jiggling...", | | | "Wiggling...", | | | "Shimmying...", | | | "Galumphing...", | | | "Perambulating...", | | | "Meandering...", | | | "Traipsing...", | | | "Moseying...", | | | "Sauntering...", | | | "Ambling...", | | | "Pottering...", | | | "Bumbling...", | | | "Futzing...", | | | "Schmalzing...", | | | "Kerfuffling...", | | | "Bamboozling...", | | | "Discombobulating...", | | | "Recombobulating...", | | | "Unbefuddling...", | | | "Defenestrating...", | | | "Confabulating...", | | | "Persnicketing...", | | | "Flummoxing...", | | | "Befuddling...", | | | "Snorkeling...", | | | "Yodeling...", | | | "Zigzagging...", | | | "Ricocheting...", | | | "Somersaulting...", | | | "Pirouetting...", | | | "Canoodling...", | | | "Schmoozing...", | | | "Kibbitzing...", | | | "Skedaddling...", | | | "Scampering...", | | | "Skittering...", | | | "Sashaying...", | | | "Swashbuckling...", | | | "Oscillating...", | | | "Undulating...", | | | "Pulsating...", | | | "Effervescing...", | | | "Fizzing...", | | | "Bubbling...", | | | "Perplexing...", | | | "Mystifying...", | | | "Enchanting...", | | | "Bewitching...", | | | "Beguiling...", | | | "Mesmerizing...", | | | "Bedazzling...", | | | "Sparkling...", | | | "Glittering...", | | | "Scintillating...", | | | "Coruscating...", | | | "Phosphorescing...", | | | "Luminescing...", | | | "Sublimating...", | | | "Synthesizing...", | | | "Amalgamating...", | | | "Procrastinating...", | | | "Dillydallying...", | | | "Lollygagging...", | | | "Dawdling...", | | | "Malingering...", | | | "Skulking...", | | | "Lurking...", | | | "Sleuthing...", | | | "Rummaging...", | | | "Fossicking...", | | | "Foraging...", | | | "Scavenging...", | | | "Absquatulating...", | | | "Vamoosing...", | | | "Absconding...", | | | "Grooving...", | | | "Jamming...", | | | "Improvising...", | | | "Extemporizing...", | | | "Freestyling...", | | | "Frolicking...", | | | "Gamboling...", | | | "Blorping...", | | | "Flonking...", | | | "Snurfling...", | | | "Whomping...", | | | "Zorping...", | | | "Biffing...", | | | "Splunging...", | | | "Thwacking...", | | | "Gonkulating...", | | | "Splorfing...", | | | "Wibbling...", | | | "Wobbling...", | | | "Squonking...", | | | "Plonking...", | | | "Bonking...", | | | "Zonking...", | | | "Flumping...", | | | "Clomping...", | | | "Squelching...", | | | "Schlurping...", | | | "Glurping...", | | | "Burbling...", | | | "Gurgling...", | | | "Splooshing...", | | | "Whooshing...", | | | "Swooshing...", | | | "Kerplunking...", | | | "Thunking...", | | | "Clunking...", | | | "Clanking...", | | | "Rattling...", | | | "Jostling...", | | | "Rustling...", | | | "Bustling...", | | | "Hustling...", | | | "Miffing...", | | | "Boffing...", | | | "Snazzifying...", | | | "Pizzazzing...", | | | "Razzmatazzing...", | | | "Bedoodling...", | | | "Doodling...", | | | "Scribbling...", | | | "Squiggling...", | | | "Wriggling...", | | | "Niggling...", | | | "Higgling...", | | | "Piggling...", | | | "Figgling...", | | | "Gibbering...", | | | "Jabbering...", | | | "Blathering...", | | | "Blithering...", | | | "Withering...", | | | "Slithering...", | | | "Tethering...", | | | "Feathering...", | | | "Weathering...", | | | "Leathering...", | | | "Heathering...", | | | "Smoldering...", | | | "Moldering...", | | | "Shouldering...", | | | "Bouldering...", | | | "Tottering...", | | | "Teetering...", | | | "Tittering...", | | | "Flittering...", | | | "Jittering...", | | | "Frittering...", | | | "Twittering...", | | | "Nattering...", | | | "Chattering...", | | | "Clattering...", | | | "Splattering...", | | | "Battering...", | | | "Scattering...", | | | "Shattering...", | | | "Flattering...", | | | "Pattering...", | | | "Tattering...", | | | "Mattering...", | | | "Yammering...", | | | "Hammering...", | | | "Stammering...", | | | "Clamoring...", | | | "Glamoring...", | | | "Enamoring...", | | | "Shimmering...", | | | "Glimmering...", | | | "Brimming...", | | | "Skimming...", | | | "Trimming...", | | | "Primming...", | | | "Whimming...", | | | "Humming...", | | | "Strumming...", | | | "Thrumming...", | | | "Drumming...", | | | "Plumbing...", | | | "Thumbing...", | | | "Numbing...", | | | "Fumbling...", | | | "Grumbling...", | | | "Mumbling...", | | | "Rumbling...", | | | "Stumbling...", | | | "Tumbling...", | | | "Crumbling...", | | | "Jumbling...", | | | "Humbling...", | | | "Bungling...", | | | "Jungling...", | | | "Mangling...", | | | "Wangling...", | | | "Dangling...", | | | "Tangling...", | | | "Jangling...", | | | "Angling...", | | | "Struggling...", | | | "Mingling...", | | | "Tingling...", | | | "Jingling...", | | | "Singling...", | | | "Ringling...", | | | "Kingling...", | | | // Long | | | "Consulting the void...", | | | "Asking the electrons...", | | | "Bribing the compiler...", | | | "Negotiating with entropy...", | | | "Whispering to the bits...", | | | "Tickling the stack...", | | | "Massaging the heap...", | | | "Appeasing the garbage collector...", | | | "Summoning semicolons...", | | | "Herding pointers...", | | | "Untangling spaghetti...", | | | "Polishing the algorithms...", | | | "Waxing philosophical...", | | | "Consulting ancient scrolls...", | | | "Reading tea leaves...", | | | "Shaking the magic 8-ball...", | | | "Sacrificing to the demo gods...", | | | "Warming up the hamsters...", | | | "Spinning up the squirrels...", | | | "Caffeinating...", | | | "Existentially questioning...", | | | "Having a little think...", | | | "Stroking chin thoughtfully...", | | | "Squinting at the problem...", | | | "Staring into the abyss...", | | | "Abyss staring back...", | | | "Achieving enlightenment...", | | | "Transcending mere computation...", | | | "Ascending to a higher plane...", | | | "Communing with the machine spirit...", | | | "Performing arcane rituals...", | | | "Invoking elder functions...", | | | "Consulting the oracle...", | | | "Divining the answer...", | | | "Scrying the codebase...", | | | "Dowsing for bugs...", | | | "Rearranging deck chairs...", | | | "Shuffling bits around...", | | | "Aligning the chakras...", | | | "Reticulating splines...", | | | "Reversing the polarity...", | | | "Calibrating the flux capacitor...", | | | "Charging the crystals...", | | | "Tuning the vibrations...", | | | "Adjusting the cosmic frequency...", | | | "Waiting for a sign...", | | | "Hoping for the best...", | | | "Manifesting solutions...", | | | "Willing it into existence...", | | | "Believing really hard...", | | | "Politely asking the CPU...", | | | "Bribing the runtime...", | | | "Flirting with the database...", | | | "Sweet-talking the API...", | | | "Negotiating with deadlines...", | | | "Having words with the cache...", | | | "Reasoning with the memory...", | | | "Pleading with the logs...", | | | "Bargaining with fate...", | | | "Making offerings to the CI...", | | | "Praying to the uptime gods...", | | | "Consulting the rubber duck...", | | | "Interrogating the stack trace...", | | | "Cross-examining the debugger...", | | | "Petitioning the kernel...", | | | "Lobbying the scheduler...", | | | "Schmoozing the network...", | | | "Buttering up the firewall...", | | | "Wining and dining the servers...", | | | "Taking the bytes out for lunch...", | | | "Giving the code a pep talk...", | | | "Reading the room...", | | | "Checking under the hood...", | | | "Kicking the tires...", | | | "Shaking loose the cobwebs...", | | | "Dusting off the neurons...", | | | "Greasing the gears...", | | | "Oiling the cogs...", | | | "Winding up the clockwork...", | | | "Stoking the furnace...", | | | "Feeding the machine...", | | | "Watering the logic tree...", | | | "Pruning the decision branches...", | | | "Harvesting the outputs...", | | | "Planting computational seeds...", | | | "Nurturing the algorithm...", | | | "Raising the exceptions...", | | | "Taming wild pointers...", | | | "Herding cats in memory...", | | | "Teaching old code new tricks...", | | | "Whispering sweet nothings to the compiler...", | | | "Serenading the syntax...", | | | "Dancing with dependencies...", | | | "Waltzing through the codebase...", | | | "Tangoing with type errors...", | | | "Doing the deployment dance...", | | | "Having a moment of clarity...", | | | "Experiencing a flash of insight...", | | | "Channeling the ancient developers...", | | | "Receiving transmissions from the cloud...", | | | "Asking the hamsters to run faster...", | | | "Convincing the pixels to cooperate...", | | | "Teaching electrons new tricks...", | | | "Bribing the byte fairies...", | | | "Whispering passwords to the void...", | | | "Negotiating with cosmic rays...", | | | "Flattering the floating points...", | | | "Seducing the semicolons...", | | | "Wooing the while loops...", | | | "Charming the curly braces...", | | | "Hypnotizing the hash tables...", | | | "Mesmerizing the memory banks...", | | | "Enchanting the error handlers...", | | | "Bewitching the boolean logic...", | | | "Spellbinding the stack frames...", | | | "Hexing the hexadecimals...", | | | "Jinxing the JSON parsers...", | | | "Cursing the cache misses...", | | | "Blessing the build process...", | | | "Anointing the algorithms...", | | | "Consecrating the callbacks...", | | | "Sanctifying the source code...", | | | "Exorcising the exceptions...", | | | "Purifying the parameters...", | | | "Cleansing the closures...", | | | "Baptizing the binary...", | | | "Absolving the abstractions...", | | | "Redeeming the recursion...", | | | "Forgiving the for loops...", | | | "Pardoning the pointers...", | | | "Liberating the lambdas...", | | | "Emancipating the enums...", | | | "Freeing the functions...", | | | "Releasing the references...", | | | "Unbinding the variables...", | | | "Untying the type knots...", | | | "Unraveling the regex...", | | | "Decoding the mysteries...", | | | "Cracking the conundrums...", | | | "Solving the riddles of RAM...", | | | "Unlocking the secrets of silicon...", | | | "Discovering hidden semicolons...", | | | "Unearthing buried bugs...", | | | "Excavating ancient APIs...", | | | "Archeologically analyzing the architecture...", | | | "Fossil hunting in the functions...", | | | "Spelunking through the stack...", | | | "Scuba diving in the data...", | | | "Snorkeling through the streams...", | | | "Parasailing past the parameters...", | | | "Hang gliding through the heap...", | | | "Bungee jumping into the backend...", | | | "Skydiving through the source...", | | | "Surfing the syntax waves...", | | | "Skateboarding down the stack trace...", | | | "Snowboarding through the schemas...", | | | "Mountain climbing the modules...", | | | "Hiking through the headers...", | | | "Trekking through the trees...", | | | "Backpacking through the binaries...", | | | "Camping in the codebase...", | | | "Glamping in the globals...", | | | "Picnicking with the processes...", | | | "Barbecuing the bugs...", | | | "Roasting the race conditions...", | | | "Grilling the glitches...", | | | "Sautéing the syntax errors...", | | | "Flambéing the failures...", | | | "Caramelizing the callbacks...", | | | "Braising the breakpoints...", | | | "Poaching the pointers...", | | | "Blanching the branches...", | | | "Searing the segments...", | | | "Smoking the subroutines...", | | | "Curing the code smells...", | | | "Pickling the packages...", | | | "Preserving the protocols...", | | | "Canning the constants...", | | | "Bottling the buffers...", | | | "Jarring the JavaScript...", | | | "Decanting the data structures...", | | | "Aerating the arrays...", | | | "Letting the logic breathe...", | | | "Aging the algorithms gracefully...", | | | "Maturing the methods...", | | | "Ripening the results...", | | | "Seasoning the solutions...", | | | "Spicing up the specs...", | | | "Garnishing the getters...", | | | "Plating the output nicely...", | | | "Presenting with pizzazz...", | | | "Adding a dash of elegance...", | | | "Sprinkling some magic dust...", | | | "Drizzling debug sauce...", | | | "Folding in the features...", | | | "Whisking the widgets...", | | | "Kneading the namespaces...", | | | "Rolling out the runtime...", | | | "Proofing the promises...", | | | "Letting the dough rise...", | | | "Baking at 350 kilobytes...", | | | "Frosting the functions...", | | | "Decorating the deployment...", | | | "Icing the interfaces...", | | | "Glazing the graphics...", | | | "Topping with tests...", | | | "Cherry-picking the commits...", | | | ; | | | type Color = readonly number, number, number ; | | | type Style = { | | | color: Color; | | | ornaments: readonly string ; | | | ornamentColor: Color; | | | }; | | | // Bright, terminal-friendly colors inspired by the reference screenshots. | | | const styles: readonly Style = | | | { color: 255, 126, 190 , ornaments: "✧", "☆", "✦" , ornamentColor: 255, 126, 190 }, | | | { color: 255, 205, 45 , ornaments: "✦", "★", "✧" , ornamentColor: 0, 207, 255 }, | | | { color: 0, 207, 255 , ornaments: "✦", "★", "✧" , ornamentColor: 255, 205, 45 }, | | | { color: 137, 230, 44 , ornaments: "☆", "✧", "✦" , ornamentColor: 137, 230, 44 }, | | | { color: 205, 145, 255 , ornaments: "✦", "✧", "★" , ornamentColor: 205, 145, 255 }, | | | { color: 255, 99, 71 , ornaments: "❯", "✦", "❮" , ornamentColor: 255, 180, 80 }, | | | { color: 64, 224, 208 , ornaments: "·", "✧", "·" , ornamentColor: 64, 224, 208 }, | | | { color: 255, 160, 122 , ornaments: "☼", "✦", "☼" , ornamentColor: 255, 160, 122 }, | | | { color: 170, 255, 195 , ornaments: "⋆", "☆", "⋆" , ornamentColor: 170, 255, 195 }, | | | { color: 255, 105, 180 , ornaments: "❀", "✧", "❀" , ornamentColor: 255, 215, 0 }, | | | ; | | | function pick