# TypeSafeSDK v0.4.0 - Table of Contents > Elixir SDK for the TypeSafe AI API, built on the Pristine REST SDK substrate. ## Pages - Start Here - [Overview](readme.md) - [Guide Index](guide-index.md) - [Getting Started with 0.4.0](getting-started.md) - Usage - [Client Configuration](client-configuration.md) - [System One and Legacy Wire Questions](system-one-and-questions.md) - [Models](models.md) - [Errors And Retries](errors-and-retries.md) - Semantic API - [Semantic Questions and Prepared Sets](semantic-questions.md) - [Answers, Distributions and Explicit Policy](answers-and-confidence.md) - [Batching and Lifecycle](batching.md) - [Application Testing Through the Real SDK](testing.md) - [Migrating from 0.3.x to 0.4.0](migration-0-4.md) - [Migrating from 0.2.x to 0.3.0](migration-0-3.md) - [Migrating to 0.2.0](migration-0-2.md) - Operations - [Privacy-Oriented Semantic Telemetry](telemetry.md) - [Runtime Bounds and Capability Audit](runtime-capabilities.md) - [Runtime controls and semantic contracts](runtime-controls.md) - [JSON Schema Export and Freshness](json-schemas.md) - Patterns - [Confidence-Gated Routing](confidence-routing.md) - [Composite Scoring](composite-scoring.md) - [Speculative Read-Only Fan-Out](speculative-fan-out.md) - [Recursive Decision Patterns](recursive-decisions.md) - [Bounded OTP Server Integration](otp-server.md) - [Evaluating Model Judgments and Application Decisions](evaluating-decisions.md) - Examples - [Live Example Catalog](live-example.md) - [Decision Evaluation Workflow](decision-evaluation.md) - [TypeSafeSDK 0.4.0](typesafe_sdk.md) - Maintainers - [Generation And Verification](generation-and-verification.md) - [Upstream provenance](upstream-provenance.md) - Project - [Changelog](changelog.md) - [License](license.md) ## Modules - [TypeSafeSDK.JSON](TypeSafeSDK.JSON.md): JSON normalization for the semantic API, with collision detection and bounded nesting. - Semantic Questions - [TypeSafeSDK.Prepared](TypeSafeSDK.Prepared.md): A validated, immutable semantic question contract. - [TypeSafeSDK.Question.Choice](TypeSafeSDK.Question.Choice.md): Strict Choice with 2..255 alternatives and finite caller-key restoration. - [TypeSafeSDK.Question.Noul](TypeSafeSDK.Question.Noul.md): Strict semantic yes/no question. `new/2` returns a tuple; `new!/2` raises. - [TypeSafeSDK.Question.Score](TypeSafeSDK.Question.Score.md): Strict Score on 2..10 ordered levels. - Semantic Helpers - [TypeSafeSDK.Answer](TypeSafeSDK.Answer.md): Uncertainty helpers with explicit application-owned policy thresholds. - [TypeSafeSDK.Answer.Choice](TypeSafeSDK.Answer.Choice.md): Read a Choice distribution without imposing routing policy. - [TypeSafeSDK.Answer.Noul](TypeSafeSDK.Answer.Noul.md): Noul decision helpers. The threshold is application policy, not a safety guarantee. - [TypeSafeSDK.Answer.Score](TypeSafeSDK.Answer.Score.md): Score distributions, rounded expectations, modal levels and normalization. - [TypeSafeSDK.Response](TypeSafeSDK.Response.md): Answer accessors and bounded metadata for TypeSafe responses. - Batch and Observability - [TypeSafeSDK.Batch](TypeSafeSDK.Batch.md): Lazy, bounded evaluation using an owned supervisor and unlinked tasks. - [TypeSafeSDK.OTP.Server](TypeSafeSDK.OTP.Server.md): Bounded OTP facade for asynchronous TypeSafe evaluations inside a GenServer. - [TypeSafeSDK.RuntimeCapabilities](TypeSafeSDK.RuntimeCapabilities.md): Fail-closed TypeSafe-facing view of Pristine transport capabilities. - [TypeSafeSDK.Telemetry](TypeSafeSDK.Telemetry.md): Privacy-oriented semantic spans above Pristine's attempt telemetry. - Testing and Contracts - [TypeSafeSDK.Schema](TypeSafeSDK.Schema.md): Self-contained JSON Schemas derived from the committed OpenAPI 3.1 document. - [TypeSafeSDK.Test](TypeSafeSDK.Test.md): Explicit, isolated application fixtures at the Pristine transport seam. - [TypeSafeSDK.Test.ContractError](TypeSafeSDK.Test.ContractError.md): Raised when an explicit application test fixture contradicts the actual request. - Client and Operations - [TypeSafeSDK](TypeSafeSDK.md): Elixir client for the TypeSafe AI API. - [TypeSafeSDK.Client](TypeSafeSDK.Client.md): Thin TypeSafe API client layered on Pristine. - [TypeSafeSDK.Models](TypeSafeSDK.Models.md): Models API resource and pure catalog helpers. - [TypeSafeSDK.SystemOne](TypeSafeSDK.SystemOne.md): System One parity/raw API surface. - Questions - [TypeSafeSDK.Choice](TypeSafeSDK.Choice.md): A question that selects one named alternative. - [TypeSafeSDK.Noul](TypeSafeSDK.Noul.md): A yes/no question with optional instructions and true/false descriptions. - [TypeSafeSDK.NoulCriteria](TypeSafeSDK.NoulCriteria.md): Type contract for optional descriptions of the true and false Noul outcomes. - [TypeSafeSDK.Question](TypeSafeSDK.Question.md): Question validation and legacy wire normalization. Strict evaluation uses `TypeSafeSDK.Prepared`. - [TypeSafeSDK.Score](TypeSafeSDK.Score.md): A question that assigns a score from an ordered rubric. - Responses - [TypeSafeSDK.ChoiceAnswer](TypeSafeSDK.ChoiceAnswer.md): A selected option, independent confidence and complete option distribution. - [TypeSafeSDK.ListModelsResponse](TypeSafeSDK.ListModelsResponse.md): Typed list of models available to the account. - [TypeSafeSDK.ModelMetadata](TypeSafeSDK.ModelMetadata.md): Metadata for one TypeSafe model. - [TypeSafeSDK.NoulAnswer](TypeSafeSDK.NoulAnswer.md): A probability of true. Semantic evaluations also retain the caller ID and raw answer. - [TypeSafeSDK.ScoreAnswer](TypeSafeSDK.ScoreAnswer.md): An expected score, not necessarily the most probable level. - [TypeSafeSDK.SystemOneResponse](TypeSafeSDK.SystemOneResponse.md): Typed System One response with grouped convenience accessors. - [TypeSafeSDK.Usage](TypeSafeSDK.Usage.md): Token counts returned by the API when available. - Errors and Configuration - [TypeSafeSDK.Constants](TypeSafeSDK.Constants.md): Public defaults and environment variable names shared with the Python SDK. - [TypeSafeSDK.Error](TypeSafeSDK.Error.md): Normalized TypeSafe SDK error. - [TypeSafeSDK.RetryPolicy](TypeSafeSDK.RetryPolicy.md): Retry configuration matching the public policy of the supplied Python SDK. - Generated API - [TypeSafeSDK.Generated.Client](TypeSafeSDK.Generated.Client.md): Generated Typesafe Sdk client facade over `TypeSafeSDK.Client`. - [TypeSafeSDK.Generated.Models](TypeSafeSDK.Generated.Models.md): Generated Typesafe Sdk operations module `TypeSafeSDK.Generated.Models`. - [TypeSafeSDK.Generated.Schemas.ChoiceAnswer](TypeSafeSDK.Generated.Schemas.ChoiceAnswer.md): Generated Typesafe Sdk type module `TypeSafeSDK.Generated.Schemas.ChoiceAnswer`. - [TypeSafeSDK.Generated.Schemas.ChoiceQuestion](TypeSafeSDK.Generated.Schemas.ChoiceQuestion.md): Generated Typesafe Sdk type module `TypeSafeSDK.Generated.Schemas.ChoiceQuestion`. - [TypeSafeSDK.Generated.Schemas.ModelMetadata](TypeSafeSDK.Generated.Schemas.ModelMetadata.md): Generated Typesafe Sdk type module `TypeSafeSDK.Generated.Schemas.ModelMetadata`. - [TypeSafeSDK.Generated.Schemas.ModelMetadataList](TypeSafeSDK.Generated.Schemas.ModelMetadataList.md): Generated Typesafe Sdk type module `TypeSafeSDK.Generated.Schemas.ModelMetadataList`. - [TypeSafeSDK.Generated.Schemas.NoulAnswer](TypeSafeSDK.Generated.Schemas.NoulAnswer.md): Generated Typesafe Sdk type module `TypeSafeSDK.Generated.Schemas.NoulAnswer`. - [TypeSafeSDK.Generated.Schemas.NoulCriteria](TypeSafeSDK.Generated.Schemas.NoulCriteria.md): Generated Typesafe Sdk type module `TypeSafeSDK.Generated.Schemas.NoulCriteria`. - [TypeSafeSDK.Generated.Schemas.NoulQuestion](TypeSafeSDK.Generated.Schemas.NoulQuestion.md): Generated Typesafe Sdk type module `TypeSafeSDK.Generated.Schemas.NoulQuestion`. - [TypeSafeSDK.Generated.Schemas.ScoreAnswer](TypeSafeSDK.Generated.Schemas.ScoreAnswer.md): Generated Typesafe Sdk type module `TypeSafeSDK.Generated.Schemas.ScoreAnswer`. - [TypeSafeSDK.Generated.Schemas.ScoreQuestion](TypeSafeSDK.Generated.Schemas.ScoreQuestion.md): Generated Typesafe Sdk type module `TypeSafeSDK.Generated.Schemas.ScoreQuestion`. - [TypeSafeSDK.Generated.Schemas.SystemOneRequest](TypeSafeSDK.Generated.Schemas.SystemOneRequest.md): Generated Typesafe Sdk type module `TypeSafeSDK.Generated.Schemas.SystemOneRequest`. - [TypeSafeSDK.Generated.Schemas.SystemOneResponse](TypeSafeSDK.Generated.Schemas.SystemOneResponse.md): Generated Typesafe Sdk type module `TypeSafeSDK.Generated.Schemas.SystemOneResponse`. - [TypeSafeSDK.Generated.Schemas.Usage](TypeSafeSDK.Generated.Schemas.Usage.md): Generated Typesafe Sdk type module `TypeSafeSDK.Generated.Schemas.Usage`. - [TypeSafeSDK.Generated.SystemOne](TypeSafeSDK.Generated.SystemOne.md): Generated Typesafe Sdk operations module `TypeSafeSDK.Generated.SystemOne`. ## Mix Tasks - Maintenance Tasks - [mix typesafe.capabilities](Mix.Tasks.Typesafe.Capabilities.md): `mix typesafe.capabilities [--require unary_cancellation,cancellation_cleanup]` - [mix typesafe.record](Mix.Tasks.Typesafe.Record.md): `mix typesafe.record [--output tmp/live] [--baseline test/fixtures/live] [--base-url URL] [--model MODEL]` - [mix typesafe.schema.export](Mix.Tasks.Typesafe.Schema.Export.md): `mix typesafe.schema.export [--output directory]` - [mix typesafe.schema.verify](Mix.Tasks.Typesafe.Schema.Verify.md): `mix typesafe.schema.verify [--output directory]`