Package guidance
Use the smallest package set that fits your composition model.
Thresh is intentionally modular: start from core runtime primitives, then add optional packages only where they add clear value.
Recommended starting point
Install Thresh.Extensions first.
It provides DI registration and the core runtime surface:
ILcuHttpClientIEventStream- resilience wiring (retry + circuit-breaker)
- authentication/safety pipeline
- observability hooks
Package selection
| Package | Use when | Includes |
|---|---|---|
Thresh.Extensions |
You want the core runtime stack with DI registration | ILcuHttpClient, IEventStream, retries, auth handler, observability wiring |
Thresh.Endpoints |
You want typed endpoint groups over ILcuHttpClient |
Summoner, gameflow, champ select, and lobby typed clients |
Thresh.Hosting |
You run Thresh inside hosted/background processes | Hosting integration and lifecycle-friendly wiring |
Thresh.HealthChecks |
You expose readiness/liveness probes | LCU health check integration |
Thresh.Reactive |
You prefer reactive composition over callbacks | Rx-friendly wrappers around stream events |
Composition boundary
Keep business workflows in consumer code.
Thresh intentionally focuses on transport, discovery, and event primitives. It does not provide high-level orchestration or app-level workflows.
Typical progression
- Start with
Thresh.Extensions. - Add
Thresh.Endpointsif repeated paths/DTOs justify typed endpoint groups. - Add
Thresh.HostingandThresh.HealthChecksfor long-running service environments. - Add
Thresh.Reactiveonly if your team already operates with reactive pipelines.