marvin.engine.orchestrator
T
T = TypeVar('T')
Orchestrator
class Orchestrator(tasks: list[Task[Any]], thread: Thread | str | None = None, handlers: list[Handler | AsyncHandler] | None = None)
end_turn
def end_turn(self, result: AgentRunResult, actor: Actor)
get_all_tasks
def get_all_tasks(self, _filter: Literal['incomplete', 'ready'] | None = None) -> list[Task[Any]]
get_current
def get_current(cls) -> Optional[Orchestrator]
handle_event
def handle_event(self, event: Event)
run
def run(self, raise_on_failure: bool = True, max_turns: int | float | None = None) -> list[AgentRunResult]
run_once
def run_once(self, actor: Actor | None = None, active_mcp_servers: list[MCPServer] | None = None) -> AgentRunResult
start_turn
def start_turn(self, actor: Actor)
SystemPrompt
class SystemPrompt(source: str | Path = Path('system.jinja'), actor: Actor, instructions: list[str], tasks: list[Task])
get_current_orchestrator
def get_current_orchestrator() -> Orchestrator | None
engine