# `Parlora.Backends.Jido`
[🔗](https://github.com/hfiguera/parlora/blob/v0.1.0/lib/parlora/backends/jido.ex#L1)

Runs a fresh Jido AgentServer for each request, observed outside session/audio callbacks.

Install optional `jido == 2.4.0` in applications selecting this backend.
Requires `:agent` and `:result` (terminal Jido state to a map containing `:status`,
`:facts`, and optional `:summary`). `:signal` maps a BackendRequest to a Jido.Signal;
its default is `parlora.request`. Optional `:cancel_signal` enables advisory cancellation.
Cancellation mapping runs in an isolated worker, bounded by
`limits.cancellation_timeout_ms`, with at most one pending mapping per request
and `limits.max_jobs` workers. `cancel/4` admits this mapping; correlated
`:cancellation_requested` or `:cancellation_rejected` events report its outcome.
Reusing the command ID never reruns the mapping. Mapping failure leaves the
original work running and does not confirm cancellation.
A result mapper must explicitly return `status: :cancelled` to confirm cancellation.
`:agent_options` and `:await_options` stay inside this adapter.

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

---

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