MCPcopy Index your code
hub / github.com/google/adk-python / get_runner_async

Method get_runner_async

src/google/adk/cli/api_server.py:647–742  ·  view source on GitHub ↗

Returns the cached runner for the given app.

(self, app_name: str)

Source from the content-addressed store, hash-verified

645 self.default_app_name = os.getenv("ADK_DEFAULT_APP_NAME")
646
647 async def get_runner_async(self, app_name: str) -> Runner:
648 """Returns the cached runner for the given app."""
649 # Handle cleanup
650 if app_name in self.runners_to_clean:
651 self.runners_to_clean.remove(app_name)
652 runner = self.runner_dict.pop(app_name, None)
653 await cleanup.close_runners(list([runner]))
654
655 # Return cached runner if exists
656 if app_name in self.runner_dict:
657 return self.runner_dict[app_name]
658
659 # Create new runner
660 envs.load_dotenv_for_agent(os.path.basename(app_name), self.agents_dir)
661 agent_or_app = self.agent_loader.load_agent(app_name)
662
663 if self.default_llm_model:
664 from .cli import _override_default_llm_model
665
666 _override_default_llm_model(self.default_llm_model)
667
668 # Instantiate extra plugins if configured
669 extra_plugins_instances = self._instantiate_extra_plugins()
670
671 plugins_yaml_path = os.path.join(self.agents_dir, app_name, "plugins.yaml")
672 bq_analytics_config = None
673 if os.path.exists(plugins_yaml_path):
674 with open(plugins_yaml_path, "r", encoding="utf-8") as f:
675 plugins_config = yaml.safe_load(f)
676 if plugins_config and isinstance(plugins_config, dict):
677 bq_analytics_config = plugins_config.get("bigquery_agent_analytics")
678
679 # All YAML agents are treated as visual builder agents.
680 is_visual_builder_agent = os.path.exists(
681 os.path.join(self.agents_dir, app_name, "root_agent.yaml")
682 )
683
684 def _maybe_add_bq_plugin(plugins: list[BasePlugin]) -> list[BasePlugin]:
685 if bq_analytics_config and all([
686 bq_analytics_config.get("project_id"),
687 bq_analytics_config.get("dataset_id"),
688 bq_analytics_config.get("dataset_location"),
689 ]):
690 from ..plugins.bigquery_agent_analytics_plugin import BigQueryAgentAnalyticsPlugin
691
692 plugins.append(
693 BigQueryAgentAnalyticsPlugin(
694 project_id=bq_analytics_config.get("project_id"),
695 dataset_id=bq_analytics_config.get("dataset_id"),
696 table_id=bq_analytics_config.get("table_id"),
697 location=bq_analytics_config.get("dataset_location"),
698 )
699 )
700 return plugins
701
702 def _wrap_loaded_agent(
703 app_name: str,
704 agent_or_app: Any,

Callers 12

run_agentMethod · 0.95
run_agent_sseMethod · 0.95
run_agent_liveMethod · 0.95
forward_eventsMethod · 0.95
get_app_infoMethod · 0.80
get_app_info_imageMethod · 0.80
_run_agentMethod · 0.80
_get_a2a_runner_asyncFunction · 0.80
queryFunction · 0.80
stream_queryFunction · 0.80

Calls 11

_create_runnerMethod · 0.95
openFunction · 0.85
popMethod · 0.80
__setattr__Method · 0.80
removeMethod · 0.45
load_agentMethod · 0.45
joinMethod · 0.45
existsMethod · 0.45
getMethod · 0.45