# AbstractRunner

abstract class AbstractRunner(val appName: String, val agent: BaseAgent, val sessionService: SessionService, val artifactService: ArtifactService?, val memoryService: MemoryService?, val pluginManager: PluginManager, val resumabilityConfig: ResumabilityConfig = ResumabilityConfig()) : Runner

An abstract base class for Runner implementations that provides common orchestration logic.

#### Inheritors

InMemoryRunner

## Constructors

AbstractRunner
Link copied to clipboard
constructor(appName: String, agent: BaseAgent, sessionService: SessionService, artifactService: ArtifactService?, memoryService: MemoryService?, pluginManager: PluginManager, resumabilityConfig: ResumabilityConfig = ResumabilityConfig())

## Properties

agent
Link copied to clipboard
open override val agent: BaseAgent
appName
Link copied to clipboard
open override val appName: String
artifactService
Link copied to clipboard
open override val artifactService: ArtifactService?
memoryService
Link copied to clipboard
open override val memoryService: MemoryService?
pluginManager
Link copied to clipboard
open override val pluginManager: PluginManager
resumabilityConfig
Link copied to clipboard
open override val resumabilityConfig: ResumabilityConfig
sessionService
Link copied to clipboard
open override val sessionService: SessionService

## Functions

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

Applies the provided stateDelta to the given event.

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

Sync interface for local testing and convenience purpose.

runAsync
Link copied to clipboard
open override fun runAsync(userId: String, sessionId: String, invocationId: String?, newMessage: Content?, stateDelta: Map<String, Any>?, runConfig: RunConfig?): Flow<Event>

Main entry method to run the agent in this runner.