# Class FirestoreDatabaseRunner

java.lang.Object
com.google.adk.runner.Runner
com.google.adk.runner.FirestoreDatabaseRunner

public class FirestoreDatabaseRunner extends Runner
FirestoreDatabaseRunner

- ## Nested Class Summary

  ### Nested classes/interfaces inherited from class Runner

  `Runner.Builder`
  Modifier and Type
  Class
  Description
  `static class`
  `Runner.Builder`
  Builder for `Runner`.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `FirestoreDatabaseRunner(BaseAgent baseAgent, com.google.cloud.firestore.Firestore firestore)`
  Constructor for FirestoreDatabaseRunner
  `FirestoreDatabaseRunner(BaseAgent baseAgent, String appName, com.google.cloud.firestore.Firestore firestore)`
  Constructor for FirestoreDatabaseRunner with appName
  `FirestoreDatabaseRunner(BaseAgent baseAgent, String appName, List<BasePlugin> plugins, com.google.cloud.firestore.Firestore firestore)`
  Constructor for FirestoreDatabaseRunner with parent runners

- ## Method Summary

  ### Methods inherited from class Runner

  `agent, appName, artifactService, builder, close, memoryService, pluginManager, runAsync, runAsync, runAsync, runAsync, runAsync, runAsync, runAsyncImpl, runLive, runLive, runLive, runLiveImpl, sessionService`
  Modifier and Type
  Method
  Description
  `BaseAgent`
  `agent()`
  `String`
  `appName()`
  `BaseArtifactService`
  `artifactService()`
  `static Runner.Builder`
  `builder()`
  `io.reactivex.rxjava3.core.Completable`
  `close()`
  Closes all plugins, code executors, and releases any resources.
  `@Nullable BaseMemoryService`
  `memoryService()`
  `PluginManager`
  `pluginManager()`
  `io.reactivex.rxjava3.core.Flowable<Event>`
  `runAsync(SessionKey sessionKey, com.google.genai.types.Content newMessage)`
  See `Runner.runAsync(String, String, Content, RunConfig, Map)`.
  `io.reactivex.rxjava3.core.Flowable<Event>`
  `runAsync(SessionKey sessionKey, com.google.genai.types.Content newMessage, RunConfig runConfig)`
  See `Runner.runAsync(String, String, Content, RunConfig, Map)`.
  `io.reactivex.rxjava3.core.Flowable<Event>`
  `runAsync(SessionKey sessionKey, com.google.genai.types.Content newMessage, RunConfig runConfig, @Nullable Map<String,Object> stateDelta)`
  See `Runner.runAsync(String, String, Content, RunConfig, Map)`.
  `io.reactivex.rxjava3.core.Flowable<Event>`
  `runAsync(String userId, String sessionId, com.google.genai.types.Content newMessage)`
  See `Runner.runAsync(String, String, Content, RunConfig, Map)`.
  `io.reactivex.rxjava3.core.Flowable<Event>`
  `runAsync(String userId, String sessionId, com.google.genai.types.Content newMessage, RunConfig runConfig)`
  See `Runner.runAsync(String, String, Content, RunConfig, Map)`.
  `io.reactivex.rxjava3.core.Flowable<Event>`
  `runAsync(String userId, String sessionId, com.google.genai.types.Content newMessage, RunConfig runConfig, @Nullable Map<String,Object> stateDelta)`
  Runs the agent with an invocation-based mode.
  `protected io.reactivex.rxjava3.core.Flowable<Event>`
  `runAsyncImpl(Session session, com.google.genai.types.Content newMessage, RunConfig runConfig, @Nullable Map<String,Object> stateDelta)`
  Runs the agent asynchronously using a provided Session object.
  `io.reactivex.rxjava3.core.Flowable<Event>`
  `runLive(SessionKey sessionKey, LiveRequestQueue liveRequestQueue, RunConfig runConfig)`
  Retrieves the session and runs the agent in live mode.
  `io.reactivex.rxjava3.core.Flowable<Event>`
  `runLive(Session session, LiveRequestQueue liveRequestQueue, RunConfig runConfig)`
  `io.reactivex.rxjava3.core.Flowable<Event>`
  `runLive(String userId, String sessionId, LiveRequestQueue liveRequestQueue, RunConfig runConfig)`
  Retrieves the session and runs the agent in live mode.
  `protected io.reactivex.rxjava3.core.Flowable<Event>`
  `runLiveImpl(Session session, @Nullable LiveRequestQueue liveRequestQueue, RunConfig runConfig)`
  Runs the agent in live mode, appending generated events to the session.
  `BaseSessionService`
  `sessionService()`

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### FirestoreDatabaseRunner

    public FirestoreDatabaseRunner(BaseAgent baseAgent, com.google.cloud.firestore.Firestore firestore)
    Constructor for FirestoreDatabaseRunner

  - ### FirestoreDatabaseRunner

    public FirestoreDatabaseRunner(BaseAgent baseAgent, String appName, com.google.cloud.firestore.Firestore firestore)
    Constructor for FirestoreDatabaseRunner with appName

  - ### FirestoreDatabaseRunner

    public FirestoreDatabaseRunner(BaseAgent baseAgent, String appName, List<BasePlugin> plugins, com.google.cloud.firestore.Firestore firestore)
    Constructor for FirestoreDatabaseRunner with parent runners