import type { ExtensionAPI } from "@earendil-works/pi-coding-agent"; export const messages = [ "Beboppin'...", "Befuddling...", "Bloviating...", "Boogieing...", "Boondoggling...", "Booping...", "Canoodling...", "Caramelizing...", "Catapulting...", "Cerebrating...", "Clauding...", "Combobulating...", "Concocting...", "Dilly-dallying...", "Discombobulating...", "Doodling...", "Fiddle-faddling...", "Finagling...", "Flibbertigibbeting...", "Flummoxing...", "Frolicking...", "Gallivanting...", "Gesticulating...", "Gitifying...", "Grooving...", "Honking...", "Hullaballooing...", "Hyperspacing...", "Jitterbugging...", "Julienning...", "Levitating...", "Lollygagging...", "Marinating...", "Meandering...", "Moonwalking...", "Moseying...", "Mulling...", "Noodling...", "Perambulating...", "Percolating...", "Philosophising...", "Pontificating...", "Prestidigitating...", "Puttering...", "Puzzling...", "Quantumizing...", "Razzle-dazzling...", "Razzmatazzing...", "Recombobulating...", "Reticulating...", "Ruminating...", "Scampering...", "Schlepping...", "Shenaniganing...", "Shimmying...", "Skedaddling...", "Smooshing...", "Sock-hopping...", "Spelunking...", "Tomfoolering...", "Topsy-turvying...", "Vibing...", "Waddling...", "Whatchamacalliting...", "Wibbling...", "Wrangling...", "Zesting...", "Zigzagging...", // House specials "Overclocking...", "Yak-shaving...", "Bushwhacking...", "Freewheeling...", "Switchbacking...", "Summiting...", "Redlining...", "Stargazing...", "Dopplering...", "Bazingaing...", "Rummaging...", "Tinkering...", // Programming, with feeling "Bribing the type checker...", "Naming things, the hard part...", "Blaming git blame...", "Reading the code I just wrote...", "Turning it off and on again...", "Arguing with a linter...", "Rubber-ducking furiously...", "Politely ignoring one warning...", "Adding a comment I'll regret...", "Untangling asynchronous shoelaces...", "Teaching types new tricks...", "Rebasing onto reality...", "Escaping callback gravity...", "Benchmarking pure optimism...", "Deploying tiny victories...", "Taking the scenic branch...", "Leaving no trace logs...", // Out on the road "Chasing negative splits...", "Outrunning quadratic time...", "Negotiating with mile eighteen...", "Pretending this is an easy day...", "Explaining why n+1 bikes...", "Caching snacks for the climb...", "Missing the exit, staying calm...", "Queuing the road trip playlist...", "Squinting at a trail marker...", "Rerouting around technical debt...", "Downshifting for edge cases...", // A little Pasadena physics "Calibrating the friendship algorithm...", "Knocking exactly three times...", "Calculating optimal couch coordinates...", "Ordering tensors for dinner...", "Revising the relationship agreement...", "Making a quantum leap...", "Observing changes the output...", "Reheating leftover equations...", "Computing probable punchlines...", ] as const; export function pickRandom(random = Math.random): string { return messages[Math.floor(random() * messages.length)]!; } export default function (pi: ExtensionAPI) { pi.on("turn_start", (_event, ctx) => { ctx.ui.setWorkingMessage(pickRandom()); }); pi.on("turn_end", (_event, ctx) => { ctx.ui.setWorkingMessage(); }); }