# Interface BaseFlow

All Known Implementing Classes:
  `AutoFlow, BaseLlmFlow, SingleFlow`

public interface BaseFlow
Interface for the execution flows to run a group of agents.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `io.reactivex.rxjava3.core.Flowable<Event>`
  `run(InvocationContext invocationContext)`
  Run this flow.
  `default io.reactivex.rxjava3.core.Flowable<Event>`
  `runLive(InvocationContext invocationContext)`

- ## Method Details

  - ### run

    io.reactivex.rxjava3.core.Flowable<Event> run(InvocationContext invocationContext)
    Run this flow.

    To implement this method, the flow should follow the below requirements:

    1. 1. `session` should be treated as immutable, DO NOT change it.
    2. 2. The caller who trigger the flow is responsible for updating the session as the events being generated. The subclass implementation will assume session is updated after each yield event statement.
    3. 3. A flow may spawn sub-agent flows depending on the agent definition.

  - ### runLive

    default io.reactivex.rxjava3.core.Flowable<Event> runLive(InvocationContext invocationContext)