{"ok":true,"site":{"host":"phlegm-old-man-generator.vercel.app","url":"https://phlegm-old-man-generator.vercel.app/","type":"live","desc":"Major-Blood-Vessel-About-to-Burst Coughing Fit Generator","tools":[{"name":"get-generator-state","kind":"answer","impl":"imperative","description":"Returns every current coughing-scenario parameter plus sound and generation status. This does not change the page.","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"set-cough-intensity","kind":"act","impl":"imperative","description":"Sets coughing intensity from 1 (mild) to 10 (extreme) and immediately synchronizes the visible slider and meter.","inputSchema":{"type":"object","properties":{"intensity":{"type":"integer","minimum":1,"maximum":10}},"required":["intensity"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"set-encounter-distance","kind":"act","impl":"imperative","description":"Sets how many meters away the old man is, from 0.5 to 30, and immediately updates the UI and audio distance model.","inputSchema":{"type":"object","properties":{"distanceMeters":{"type":"number","minimum":0.5,"maximum":30}},"required":["distanceMeters"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"set-vessel-danger","kind":"act","impl":"imperative","description":"Sets the fictional comedy-only Major Blood Vessel Danger value from 0 to 100 and immediately updates the UI.","inputSchema":{"type":"object","properties":{"danger":{"type":"integer","minimum":0,"maximum":100}},"required":["danger"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"set-throat-congestion","kind":"act","impl":"imperative","description":"Sets throat congestion from 0 to 100 and immediately updates the UI and next synthesized coughing fit.","inputSchema":{"type":"object","properties":{"congestion":{"type":"integer","minimum":0,"maximum":100}},"required":["congestion"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"randomize-scenario","kind":"act","impl":"imperative","description":"Randomizes all coughing-scenario parameters and immediately synchronizes every visible control. Phlegm chance remains intentionally modest.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"generate-impression","kind":"act","impl":"imperative","description":"Runs the actual coughing impression using current settings or optional overrides. Updates the same UI a human uses, and plays audio only if sound was enabled by a prior user interaction.","inputSchema":{"type":"object","properties":{"intensity":{"type":"integer","minimum":1,"maximum":10},"distanceMeters":{"type":"number","minimum":0.5,"maximum":30},"danger":{"type":"integer","minimum":0,"maximum":100},"congestion":{"type":"integer","minimum":0,"maximum":100},"burstCount":{"type":"integer","minimum":1,"maximum":12},"phlegmChance":{"type":"integer","minimum":0,"maximum":100}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"stop-impression","kind":"act","impl":"imperative","description":"Safely stops the current synthesized coughing audio and visual animation, leaving all scenario parameters unchanged.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Media & Personal","apiSurface":"spec","toolCount":8}}