AbstractRunner
An abstract base class for Runner implementations that provides common orchestration logic.
Inheritors
Constructors
Link copied to clipboard
constructor(appName: String, agent: BaseAgent, sessionService: SessionService, artifactService: ArtifactService?, memoryService: MemoryService?, pluginManager: PluginManager, resumabilityConfig: ResumabilityConfig = ResumabilityConfig())
Creates a runner from explicit fields, not using an App.
constructor(app: App, sessionService: SessionService, artifactService: ArtifactService?, memoryService: MemoryService?, skipClosingPlugins: Boolean = false)
Creates a runner from an App, deriving its App.appName, App.rootAgent, App.plugins, and App.resumabilityConfig.
Properties
Functions
Link copied to clipboard
open suspend override fun rewindAsync(userId: String, sessionId: String, rewindBeforeInvocationId: String)
Rewinds the session as Runner.rewindAsync describes, then flushes sessionService so the rewind is persisted.
Link copied to clipboard
open override fun runLive(userId: String, sessionId: String, liveRequestQueue: LiveRequestQueue, runConfig: RunConfig? = null): Flow<Event>
Runs the agent live as Runner.runLive describes. Flushes sessionService once per turn, when the turn completes or hands over to another agent or step, and when the run completes or fails; each flush is bounded, so a stuck session service fails the run instead of hanging it.