{"ok":true,"site":{"host":"three-fourteen.github.io","url":"https://three-fourteen.github.io/cerveza-tools-lab/","type":"live","desc":"Cerveza Tools Lab","tools":[{"name":"get_current_brew","kind":"answer","impl":"imperative","description":"Read the current shared brew as structured data.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/cerveza-tools-lab/"},{"name":"get_current_brew_metrics","kind":"answer","impl":"imperative","description":"Read deterministic metrics for the current shared brew.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/cerveza-tools-lab/"},{"name":"update_current_brew","kind":"act","impl":"imperative","description":"Apply a validated patch to visible Current Brew fields.","inputSchema":{"type":"object","properties":{"patch":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":100},"batchVolumeLiters":{"type":"number","exclusiveMinimum":0,"maximum":100000},"targetOriginalGravity":{"type":"number","exclusiveMinimum":0,"maximum":2},"originalGravity":{"type":"number","exclusiveMinimum":0,"maximum":2},"expectedFinalGravity":{"type":"number","exclusiveMinimum":0,"maximum":2}},"minProperties":1,"additionalProperties":false},"reason":{"type":"string","minLength":1,"maxLength":500}},"required":["patch"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/cerveza-tools-lab/"},{"name":"update_hop_addition","kind":"act","impl":"imperative","description":"Update exactly one existing hop addition.","inputSchema":{"type":"object","properties":{"id":{"type":"string","minLength":1},"name":{"type":"string","minLength":1,"maxLength":100},"alphaAcidPercent":{"type":"number","exclusiveMinimum":0,"maximum":100},"amountGrams":{"type":"number","exclusiveMinimum":0,"maximum":100000},"boilMinutes":{"type":"number","minimum":0,"maximum":10000},"reason":{"type":"string","minLength":1,"maxLength":500}},"required":["id"],"anyOf":[{"required":["name"]},{"required":["alphaAcidPercent"]},{"required":["amountGrams"]},{"required":["boilMinutes"]}],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/cerveza-tools-lab/"},{"name":"set_temperature_unit","kind":"act","impl":"imperative","description":"Change temperature display units without changing stored Celsius values.","inputSchema":{"type":"object","properties":{"unit":{"type":"string","enum":["celsius","fahrenheit"]}},"required":["unit"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/cerveza-tools-lab/"},{"name":"brewing_correct_hydrometer","kind":"act","impl":"imperative","description":"Correct a hydrometer gravity reading for sample temperature.","inputSchema":{"type":"object","additionalProperties":false,"properties":{"measuredGravity":{"type":"number"},"measuredTemperatureC":{"type":"number"},"calibrationTemperatureC":{"type":"number"},"locale":{"type":"string","enum":["es","en"]}},"required":["measuredGravity","measuredTemperatureC","calibrationTemperatureC"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/cerveza-tools-lab/"},{"name":"brewing_calculate_alcohol","kind":"act","impl":"imperative","description":"Calculate alcohol by volume and apparent attenuation from original and final gravity.","inputSchema":{"type":"object","additionalProperties":false,"properties":{"originalGravity":{"type":"number"},"finalGravity":{"type":"number"},"locale":{"type":"string","enum":["es","en"]}},"required":["originalGravity","finalGravity"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/cerveza-tools-lab/"},{"name":"brewing_calculate_dilution","kind":"act","impl":"imperative","description":"Calculate water to add to reduce a wort gravity to a target gravity.","inputSchema":{"type":"object","additionalProperties":false,"properties":{"currentVolumeLiters":{"type":"number"},"currentGravity":{"type":"number"},"targetGravity":{"type":"number"},"locale":{"type":"string","enum":["es","en"]}},"required":["currentVolumeLiters","currentGravity","targetGravity"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/cerveza-tools-lab/"},{"name":"brewing_calculate_ibu","kind":"act","impl":"imperative","description":"Estimate IBU for one hop addition using the Tinseth formula.","inputSchema":{"type":"object","additionalProperties":false,"properties":{"hopWeightGrams":{"type":"number"},"alphaAcidPercent":{"type":"number"},"boilTimeMinutes":{"type":"number"},"wortVolumeLiters":{"type":"number"},"boilGravity":{"type":"number"},"locale":{"type":"string","enum":["es","en"]}},"required":["hopWeightGrams","alphaAcidPercent","boilTimeMinutes","wortVolumeLiters","boilGravity"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/cerveza-tools-lab/"},{"name":"brewing_calculate_carbonation","kind":"act","impl":"imperative","description":"Calculate table sugar required to reach a target bottle carbonation level.","inputSchema":{"type":"object","additionalProperties":false,"properties":{"volumeLiters":{"type":"number"},"targetCO2Volumes":{"type":"number"},"residualCO2Volumes":{"type":"number"},"locale":{"type":"string","enum":["es","en"]}},"required":["volumeLiters","targetCO2Volumes","residualCO2Volumes"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/cerveza-tools-lab/"}],"favicon":"/favicons/three-fourteen.github.io.svg","apiSurface":"spec","category":"Media & Personal","toolCount":10}}