# Jev v0.2.0 - Table of Contents

> TypeSafe Jev and compatible decision models for OTP: reply to Jev from a GenServer and pattern match on its answer.

## Pages

- [Jev](readme.md)
- [Changelog](changelog.md)
- [LICENSE](license.md)

- Introduction
  - [Getting Started](getting-started.md)
  - [Why Jev](why-jev.md)

- Usage
  - [Questions](questions.md)
  - [Server](server.md)
  - [Recursive Workflows](recursive-workflows.md)
  - [Telemetry](telemetry.md)
  - [Testing](testing.md)

- Cheatsheets
  - [API](api.md)

## Modules

- Questions
  - [Jev](Jev.md): TypeSafe Jev for OTP.
  - [Jev.Choice](Jev.Choice.md): Pick one of 2 to 255 labelled options. Jev answers with the label as an atom,
plus a confidence and the probability of every option.
  - [Jev.Noul](Jev.Noul.md): A yes/no question. Jev answers with the probability of yes, from 0 to 1.
  - [Jev.Score](Jev.Score.md): Rate the state on 2 to 10 ordered levels, numbered from 0. Jev answers with the
expected level as a float, plus a confidence and the probability of every level.

- Server
  - [Jev.Server](Jev.Server.md): A GenServer that talks to Jev by replying.

- Backends
  - [Jev.Backend](Jev.Backend.md): What answers the questions: a behaviour with one callback.
  - [Jev.Telemetry](Jev.Telemetry.md): The telemetry every backend emits.

- Transport
  - [Jev.Error](Jev.Error.md): A non-2xx response from a `/v1/systemone` endpoint.
  - [Jev.HTTP](Jev.HTTP.md): The transport: one POST to `/v1/systemone` per call.

- Testing
  - [Jev.Test](Jev.Test.md): Test helpers: wire bodies from reply-shaped maps.

- Wire
  - [Jev.Wire](Jev.Wire.md): The `/v1/systemone` response as JSON-shaped structs.
  - [Jev.Wire.Answer](Jev.Wire.Answer.md): One answer. `noul`, `choice`, or `score` is set according to `type`;
`confidence`, `legend`, and `probabilities` accompany a choice or score.

  - [Jev.Wire.Response](Jev.Wire.Response.md): The response body: the model that answered, one answer per question, and usage.
  - [Jev.Wire.Usage](Jev.Wire.Usage.md): Token counts. Both default to zero when the server omits them.

