9d0a5a8615
Add replay test fixtures covering the documented flows of the contributing/samples/models/interactions_api sample (basic text, Google Search grounding, multi-turn stateful recall, and a custom function tool), so the sample is exercised by tests/unittests/test_samples.py. Also fix the shared sample test harness (cli/agent_test_runner.py) to support the Interactions API: - Exclude the volatile interaction_id (a server-issued token) and turn_complete fields from fixture comparison and from rebuilt fixtures, matching how other non-reproducible fields (timestamps, usage metadata, etc.) are already handled. The Interactions API stamps these onto every model response and the replay MockModel cannot reproduce them. - Drive all turns of a fixture rebuild on a single persistent event loop. The sync Runner.run() uses asyncio.run() per call, which closes the loop the model's cached async api_client is bound to, so subsequent turns fail with "Event loop is closed" and corrupt multi-turn fixtures. Reusing one loop keeps the cached client valid across the conversation. Co-authored-by: Haran Rajkumar <haranrk@google.com> PiperOrigin-RevId: 940691339
Contributing Resources
This folder hosts resources for ADK contributors, for example, testing samples etc.
Samples
Samples folder host samples to test different features. The samples are usually minimal and simplistic to test one or a few scenarios.
Note: This is different from the google/adk-samples repo, which hosts more complex e2e samples for customers to use or modify directly.
ADK project and architecture overview
The adk_project_overview_and_architecture.md describes the ADK project overview and its technical architecture from high-level.
This is helpful for contributors to understand the project and design philosophy. It can also be fed into LLMs for vibe-coding.