Explore Google Antigravity SDK capabilities
mainThe SDK provides modular capabilities categorized into several functional areas:
Core Foundations
- Agent Initialization: Using
hello_world.pyto learn about context managers and explicit model configuration. - Streaming: Using
streaming.pyfor real-time token streaming and inspecting reasoning viaresponse.thoughts. - Persona Configuration: Using
persona_config.pyandTemplatedSystemInstructionsto shape agent identity.
Safety & Governance
- Policies: Implementing safety policies like "Deny by Default" and
ask_userviapolicies.py. - Human-in-the-loop: Using
human_in_the_loop.pyto pause execution for human confirmation.
Structured & Multimodal Interactivity
- Multimodal: Processing images/PDFs and generating visual assets via
multimodal.py. - Structured Output: Enforcing typed JSON responses using Pydantic schemas with
response_schemaviastructured_output.py.
Tools, Skills, & Delegation
- Custom Tools: Defining stateful Python functions using
ToolContextviacustom_tools.py. - Agent Skills: Loading domain-specific skills from
SKILL.mdfiles viaagent_skills.py. - MCP Tools: Connecting to external toolsets via the Model Context Protocol (MCP) via
mcp_tools.py. - Sub-agents: Delegating tasks to specialized sub-agents via
subagents.py. - Web Tools: Using built-in web search and URL fetching via
web_tools.py.
Lifecycle, Proactivity, & Observability
- Hooks: Intercepting
pre_turnandpost_turnevents viahooks.py. - Cancellation: Using
response.cancel()for programmatic aborts viacancellation.py. - Triggers: Running background checks and periodic tasks via
triggers.py. - Observability: Auditing execution, tracking token costs (including thinking tokens), and logging via
observability.py. - Error Handling: Recovering from tool failures using the
@hooks.on_tool_errordecorator viaerror_handler.py. - Persistence: Saving/resuming sessions using
conversation_idandsave_dirviapersistence.py. - Data Directory: Overriding the default application data directory for artifacts and media using
app_data_dirviaapp_data_dir_override.py.