--
636685818a512e9de30d5119f0244261cf16af27 by Adrian Cole <64215+codefromthecrypt@users.noreply.github.com>:
fix: corrects typo in bigquery sample
Noticed while reading that google was spelled wrong.
COPYBARA_INTEGRATE_REVIEW=https://github.com/google/adk-python/pull/709 from codefromthecrypt:patch-1 b30e819979f81962a2e44922bfd2dadd539fe3ea
PiperOrigin-RevId: 759641065
Also included a token_usage sample that showcases the token usage of subagents with different models under a parent agent.
PiperOrigin-RevId: 759347015
Add a `task_completed` function to the agent so when a model finished the task, it can send a signal and the program knows it can go to next agent.
This cl include:
* Implements the `_run_live_impl` in `sequential_agent` so it can handle live case.
* Add an example for sequential agent.
* Improve error message for unimplemented _run_live_impl in other agents.
Note:
1. Compared to non-live case, live agents process a continuous streams of audio
or video, so it doesn't have a native way to tell if it's finished and should pass
to next agent or not. So we introduce a task_compelted() function so the
model can call this function to signal that it's finished the task and we
can move on to next agent.
2. live agents doesn't seems to be very useful or natural in parallel or loop agents so we don't implement it for now. If there is user demand, we can implement it easily using similar approach.
PiperOrigin-RevId: 758315430
(before/after) tool callbacks are invoked throughout the provided chain until one callback does not return None. Callbacks can be async and sync.
PiperOrigin-RevId: 756526507
(before/after) agent callbacks are invoked throughout the provided chain until one callback does not return None. Callbacks can be async and sync.
PiperOrigin-RevId: 756359693