Expand description
Generate a project around a SessionSpec in Rust, Python or Go.
The spec stays the agent: model, instruction, conversation, tool
declarations and tests, as data in agent.json. A generated project adds
what data cannot carry, the tool implementations, as one typed function
per tool the spec declares as a mock. Each function returns the spec’s
mock response until its body is replaced, so a fresh project behaves
exactly like the spec does offline.
- Rust registers the functions in process with
SpecResources::implementand runs the session itself. - Python and Go serve the functions as an MCP tool server over
stdio. The project’s
agent.jsonpoints each of those tools at the server through itsmcpbinding, and any runtime that loads the spec (adk spec run, the runtime server) calls them there.
In every language the declaration in agent.json is what the model sees,
and the spec’s set_state and save_response_as still apply.
Structs§
- Project
File - One file of a generated project.
- Project
Options - Options for
SessionSpec::to_project_with.
Enums§
- Project
Language - The language of a generated project.
- SdkSource
- Where a generated Rust project gets the SDK crates.
Constants§
- GO_
TOOL_ SERVER - The command a Go project’s
agent.jsonuses to start its server. - PYTHON_
TOOL_ SERVER - The command a Python project’s
agent.jsonuses to start its server.