> ## Documentation Index
> Fetch the complete documentation index at: https://askmarvin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# actor

# `marvin.agents.actor`

## Constants

### `T`

```python theme={null}
T = TypeVar('T')
```

## Classes

### `Actor`

```python theme={null}
class Actor(name: str, instructions: str | None = None, description: str | None = None, verbose: bool = False, prompt: str | Path)
```

**Methods:**

* **`end_turn`**
  ```python theme={null}
  def end_turn(self, thread: Thread, result: AgentRunResult)
  ```
  Called when the actor ends its turn.
* **`friendly_name`**
  ```python theme={null}
  def friendly_name(self, verbose: bool = True) -> str
  ```
* **`get_agentlet`**
  ```python theme={null}
  def get_agentlet(self, tools: Sequence[Callable[..., Any]], end_turn_tools: Sequence[EndTurn], active_mcp_servers: list[MCPServer] | None = None) -> pydantic_ai.Agent[Any, Any]
  ```
* **`get_current`**
  ```python theme={null}
  def get_current(cls) -> Actor | None
  ```
  Get the current actor from context.
* **`get_end_turn_tools`**
  ```python theme={null}
  def get_end_turn_tools(self) -> list[EndTurn]
  ```
  A list of `EndTurn` tools that this actor can use to end its turn.
* **`get_memories`**
  ```python theme={null}
  def get_memories(self) -> list[Memory]
  ```
  A list of memories that this actor can use during its turn.
* **`get_prompt`**
  ```python theme={null}
  def get_prompt(self) -> str
  ```
* **`get_tools`**
  ```python theme={null}
  def get_tools(self) -> list[Callable[..., Any]]
  ```
  A list of tools that this actor can use during its turn.
* **`run`**
  ```python theme={null}
  def run(self, instructions: str | Sequence[UserContent], result_type: type[T] = str, tools: list[Callable[..., Any]] = [], thread: Thread | str | None = None, handlers: list[Handler | AsyncHandler] | None = None, raise_on_failure: bool = True, **kwargs: Any = {}) -> Any
  ```
* **`run_async`**
  ```python theme={null}
  def run_async(self, instructions: str | Sequence[UserContent], result_type: type[T] = str, tools: list[Callable[..., Any]] = [], thread: Thread | str | None = None, handlers: list[Handler | AsyncHandler] | None = None, raise_on_failure: bool = True, **kwargs: Any = {}) -> Any
  ```
* **`say`**
  ```python theme={null}
  def say(self, message: str, instructions: str | None = None, thread: Thread | str | None = None)
  ```
  Responds to a user message in a conversational way.
* **`say_async`**
  ```python theme={null}
  def say_async(self, message: str, instructions: str | None = None, thread: Thread | str | None = None)
  ```
  Responds to a user message in a conversational way.
* **`start_turn`**
  ```python theme={null}
  def start_turn(self, thread: Thread)
  ```
  Called when the actor starts its turn.

## Functions

### `get_current_actor`

```python theme={null}
def get_current_actor() -> Actor | None
```

Get the currently active actor from context.

Returns:
The current Actor instance or None if no actor is active.

***

**Parent Module:** [`agents`](marvin-agents)
