{"ok":true,"site":{"host":"stratagem-opal.vercel.app","url":"https://stratagem-opal.vercel.app/","type":"live","desc":"Fog","tools":[{"name":"get_progress","kind":"answer","impl":"imperative","description":"Read current progression stage, spoiler tier, defeated bosses, and inventory summary. Call first.","title":"Get player progress","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"set_progress","kind":"act","impl":"imperative","description":"Update stage, spoiler tier, and/or defeated bosses. Defeating a boss may advance the unlocked stage automatically.","title":"Update player progress","inputSchema":{"type":"object","properties":{"stageId":{"type":"string","description":"Progression stage id, e.g. pre_eye, post_eye"},"spoilerTier":{"type":"string","enum":["nudge","hint","answer"]},"defeatedBoss":{"type":"string","description":"Boss id to mark defeated: eye_of_cthulhu, eater_or_brain, skeletron, wall_of_flesh"}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"set_inventory","kind":"act","impl":"imperative","description":"Set what the player is carrying. Pass itemNames (array of strings like '30 iron bar') or counts (object of itemId to number).","title":"Set inventory","inputSchema":{"type":"object","properties":{"itemNames":{"type":"array","items":{"type":"string"},"description":"Human-readable stack list, e.g. ['30 iron bar', '40 wood', 'anvil']"},"counts":{"type":"object","additionalProperties":{"type":"number"},"description":"Item id to count map, e.g. { iron_bar: 30, wood: 40 }"}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"check_housing","kind":"answer","impl":"imperative","description":"Check whether a room meets NPC housing rules. Pass booleans for walls, door, light, chair, table/workbench, and optional roomSize in tiles.","title":"Validate NPC house","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{"roomSize":{"type":"number"},"hasWalls":{"type":"boolean"},"hasDoor":{"type":"boolean"},"hasLight":{"type":"boolean"},"hasChair":{"type":"boolean"},"hasTable":{"type":"boolean"},"hasWorkBench":{"type":"boolean"}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"log_discovery","kind":"act","impl":"imperative","description":"Record something the player learned for the session log.","title":"Log a discovery","inputSchema":{"type":"object","properties":{"text":{"type":"string"}},"required":["text"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"get_discovery_log","kind":"answer","impl":"imperative","description":"Read recent discoveries logged this session.","title":"Get discovery log","annotations":{"readOnlyHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"load_demo_scenario","kind":"act","impl":"imperative","description":"Reset player state to a curated demo for judges: guide_house, iron_crafting, or post_eye_unlock. Refreshes stage tools.","title":"Load a demo scenario","inputSchema":{"type":"object","properties":{"scenario":{"type":"string","enum":["guide_house","iron_crafting","post_eye_unlock"]}},"required":["scenario"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"reset_progress","kind":"act","impl":"imperative","description":"Clear inventory, bosses, discoveries, and return to pre-Eye stage.","title":"Reset all progress","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"what_can_i_craft","kind":"act","impl":"imperative","description":"List recipes unlocked at the player's stage. Shows which are craftable now with current inventory and what's missing.","title":"List craftable recipes","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"recipe_for","kind":"act","impl":"imperative","description":"Get ingredients and craft status for a specific recipe id or item name.","title":"Look up one recipe","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Recipe id or item name, e.g. iron_broadsword"}},"required":["query"],"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"},{"name":"next_step_hint","kind":"act","impl":"imperative","description":"Return a progression hint for the current stage at nudge, hint, or answer tier. Respects LOCKED if asking about future stages.","title":"Spoiler-safe next step","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"tier":{"type":"string","enum":["nudge","hint","answer"]},"stageId":{"type":"string","description":"Optional stage; defaults to player stage."}},"additionalProperties":false},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute"}],"category":"Media & Personal","favicon":"/favicons/stratagem-opal.vercel.app.svg","apiSurface":"spec","toolCount":11}}