# `Mojentic.LLM.Tools.EphemeralTaskManager.Task`
[🔗](https://github.com/svetzal/mojentic-ex/blob/v1.5.0/lib/mojentic/llm/tools/ephemeral_task_manager/task.ex#L1)

Represents a task with an identifier, description, and status.

Tasks follow a state machine that transitions from :pending through
:in_progress to :completed.

# `status`

```elixir
@type status() :: :pending | :in_progress | :completed
```

# `t`

```elixir
@type t() :: %Mojentic.LLM.Tools.EphemeralTaskManager.Task{
  description: String.t(),
  id: pos_integer(),
  status: status()
}
```

# `new`

Creates a new task with the given ID and description.

## Examples

    iex> Task.new(1, "Write tests")
    %Task{id: 1, description: "Write tests", status: :pending}

# `status_to_string`

Returns the string representation of a task status.

## Examples

    iex> Task.status_to_string(:pending)
    "pending"

    iex> Task.status_to_string(:in_progress)
    "in_progress"

---

*Consult [api-reference.md](api-reference.md) for complete listing*
