# `ASM.Pipeline`
[🔗](https://github.com/nshkrdotcom/agent_session_manager/blob/v0.9.2/lib/asm/pipeline.ex#L1)

Synchronous event pipeline with optional event injection.

# `plug_ref`

```elixir
@type plug_ref() ::
  module()
  | (ASM.Event.t(), map() -&gt; {:ok, ASM.Event.t(), map()})
  | {module(), keyword()}
```

# `run`

```elixir
@spec run(ASM.Event.t(), [plug_ref()], map()) ::
  {:ok, [ASM.Event.t()], map()} | {:error, ASM.Error.t(), map()}
```

---

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