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

Class InMemoryRunner

src/google/adk/cli/agent_test_runner.py:121–169  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

119
120
121class InMemoryRunner:
122
123 def __init__(self, root_agent=None, app=None):
124 if app:
125 self.app_name = app.name
126 self.runner = Runner(
127 app=app,
128 artifact_service=InMemoryArtifactService(),
129 session_service=InMemorySessionService(),
130 memory_service=InMemoryMemoryService(),
131 )
132 else:
133 self.app_name = "test_app"
134 self.runner = Runner(
135 app_name="test_app",
136 agent=root_agent,
137 artifact_service=InMemoryArtifactService(),
138 session_service=InMemorySessionService(),
139 memory_service=InMemoryMemoryService(),
140 )
141 self.session_id = None
142
143 @property
144 def session(self):
145 if not self.session_id:
146 session = self.runner.session_service.create_session_sync(
147 app_name=self.app_name, user_id="test_user"
148 )
149 self.session_id = session.id
150 return session
151 return self.runner.session_service.get_session_sync(
152 app_name=self.app_name, user_id="test_user", session_id=self.session_id
153 )
154
155 def run(self, new_message) -> list[AdkEvent]:
156 content = (
157 new_message
158 if isinstance(new_message, types.Content)
159 else types.Content(
160 role="user", parts=[types.Part.from_text(text=new_message)]
161 )
162 )
163 return list(
164 self.runner.run(
165 user_id=self.session.user_id,
166 session_id=self.session.id,
167 new_message=content,
168 )
169 )
170
171
172def normalize_events(events, is_json=False):

Callers 2

test_agent_replayFunction · 0.70
rebuild_testsFunction · 0.70

Calls

no outgoing calls

Tested by 2

test_agent_replayFunction · 0.56
rebuild_testsFunction · 0.56