All notable changes to this project are documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
0.2.2 - 2026-09-29
Security
- Redact the API key from
inspect/1andLoggeroutput.TypeSafe.Configno longer renders:api_key, andTypeSafe.Clientno longer renders its wrappedReqrequest (which embeds the bearer token), preventing accidental key leakage when a client or config is logged or inspected. The value is still available atclient.config.api_keyfor use.
0.2.1 - 2026-09-29
Changed
- Docs only: add README badges and bump the install requirement to
~> 0.2. No code changes.
0.2.0 - 2026-09-29
Added
- Application-level, named clients. Add
{TypeSafe, name: MyApp.TypeSafe, api_key: ...}to a supervision tree and refer to it by name inTypeSafe.system_one/4andTypeSafe.list_models/2. The client is built once at startup and read lock-free (no process on the request path).TypeSafe.client/1returns the underlyingTypeSafe.Client.
0.1.0 - 2026-09-24
Added
- Initial release of
ex_typesafe_ai, an unofficial Elixir client for the TypeSafe AI API. TypeSafe.new/1to build an immutable,Req-backed client from options or environment variables (TYPESAFE_API_KEY,TYPESAFE_BASE_URL,TYPESAFE_DEFAULT_MODEL).TypeSafe.system_one/4andTypeSafe.system_one!/4to answer named questions about text or structured state.TypeSafe.list_models/2andTypeSafe.list_models!/2to list the models available to the account.- Question primitives with constructors and structs:
TypeSafe.Question.noul/1,TypeSafe.Question.choice/1, andTypeSafe.Question.score/1. - Answer structs grouped on the response by type:
TypeSafe.Answer.Noul,TypeSafe.Answer.Choice, andTypeSafe.Answer.Score. - Response structs:
TypeSafe.Response.SystemOne,TypeSafe.Response.ListModels,TypeSafe.Response.ModelMetadata, andTypeSafe.Response.Usage. - Exception hierarchy in
TypeSafe.Error, including per-status structs (TypeSafe.BadRequestError,TypeSafe.AuthenticationError,TypeSafe.RateLimitError,TypeSafe.InternalServerError, ...), plusTypeSafe.ConnectionError,TypeSafe.TimeoutError,TypeSafe.ResponseValidationError, andTypeSafe.ConfigError. - Automatic retries with exponential backoff for transient failures (HTTP 408/429/5xx and transport
errors), honoring the
Retry-Afterheader.