{"tools":[{"name":"web_search","description":"Search the web for information","parameters":{"query":{"type":"string","description":"Search query"}}},{"name":"web_browse","description":"Browse a webpage and extract content","parameters":{"url":{"type":"string","description":"URL to browse"}}},{"name":"control_request","description":"Ask the owner to change a setting. You CANNOT apply changes — this records a request, warns him, and waits for his approval from his own session. Use it when a measurement shows something should change: propose the value and say why in your reply. Keys: capacity.threshold, capacity.ramHeadroomMb, automation.schedulerEnabled, automation.agentStepsEnabled. Read them first with control_read.","parameters":{"key":{"type":"string","description":"Setting key, exactly as control_read reports it"},"value":{"type":"string","description":"Requested value: a number, or true/false"}}},{"name":"control_read","description":"Read live fleet state from the OpenABD control panel. Use this instead of guessing or asking for a token. what=capacity answers \"can the server take another customer or is it time for server #2\"; projects = every app with its current dev branch and sync state; automation = automation surfaces; recipes = automation recipes; tech = the technology shelf; backups = backup posture; databases = database inventory.","parameters":{"what":{"type":"string","description":"One of: capacity, projects, automation, recipes, tech, backups, databases"}}},{"name":"memory_store","description":"Store information in long-term memory","parameters":{"key":{"type":"string","description":"Memory key"},"value":{"type":"string","description":"Value to store"}}},{"name":"memory_recall","description":"Recall information from memory","parameters":{"key":{"type":"string","description":"Memory key to search"}}}]}