InMemoryRunner

An in-memory implementation of a Runner that manages the lifecycle of a BaseAgent execution.

It provides default in-memory implementations for session, artifact, and memory services. It can be constructed either directly from a root agent or from an App.

Inheritors

Constructors

Link copied to clipboard
constructor(agent: BaseAgent, appName: String = "InMemoryRunner", sessionService: SessionService = InMemorySessionService(), artifactService: ArtifactService? = InMemoryArtifactService(), memoryService: MemoryService? = InMemoryMemoryService(), plugins: List<Plugin> = emptyList())

Creates an InMemoryRunner from a root agent, its plugins, and default in-memory services.

constructor(app: App, sessionService: SessionService = InMemorySessionService(), artifactService: ArtifactService? = InMemoryArtifactService(), memoryService: MemoryService? = InMemoryMemoryService(), skipClosingPlugins: Boolean = false)

Types

Link copied to clipboard
class Builder

Fluent builder for InMemoryRunner, provided primarily for Java callers. Any property left unset falls back to the same default as the constructor.

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
override val agent: BaseAgent
Link copied to clipboard
override val appName: String
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
fun applyStateDelta(event: Event, stateDelta: Map<String, Any>?)

Applies the provided stateDelta to the given event.

Link copied to clipboard
open override fun close()

Closes this runner, releasing the resources it owns.

Link copied to clipboard
open suspend override fun rewindAsync(userId: String, sessionId: String, rewindBeforeInvocationId: String)

Rewinds the session to before the specified invocation.

Link copied to clipboard
open override fun run(userId: String, sessionId: String, newMessage: Content, runConfig: RunConfig? = null): Iterator<Event>

Sync interface for local testing and convenience purpose.

Link copied to clipboard
open override fun runAsync(userId: String, sessionId: String, invocationId: String? = null, newMessage: Content? = null, stateDelta: Map<String, Any>? = null, runConfig: RunConfig? = null): ERROR CLASS: Symbol not found for Flow<com/google/adk/kt/events/Event>

Main entry method to run the agent in this runner.