# `Wardrik.Agents`

Operations on every agent the scope can see.

    Wardrik.Agents.list(scope, resources: ["acme/agent/*"])
    #=> {:ok, [%Wardrik.Agent{id: "acme/triage", status: :idle, node: "wardrik@box1", ...}]}

# `cancel`

```elixir
@spec cancel(Wardrik.Scope.t(), term()) :: term() | :ok | {:error, Wardrik.Error.t()}
```

Stop what every agent the patterns cover is doing

`POST /v1/agents/cancel`

# `forget`

```elixir
@spec forget(Wardrik.Scope.t(), term()) :: term() | :ok | {:error, Wardrik.Error.t()}
```

Forget every agent the patterns cover

Each agent goes as agent.forget takes it: stopped, with its conversation, definition and triggers deleted.

`DELETE /v1/agents`

# `list`

```elixir
@spec list(Wardrik.Scope.t(), term()) :: term() | :ok | {:error, Wardrik.Error.t()}
```

List the agents the patterns cover

`GET /v1/agents`

---

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