docs/api-reference/fabro-api.yaml in the repository) that serves as the single source of truth for all endpoints, request/response schemas, and parameter definitions. The spec is also available at runtime from the server at GET /openapi.json. Both client SDKs below are generated directly from this spec.
TypeScript (Axios)
The@qltysh/fabro-api-client package is a fully typed HTTP client generated with the OpenAPI Generator using the typescript-axios template. It produces typed API classes (one per tag) and model interfaces for every schema.
Regenerating
From the repository root:openapi-generator-cli against docs/api-reference/fabro-api.yaml and writes the generated source into lib/packages/fabro-api-client/src/.
Usage
RunsApi, WorkflowsApi, SessionsApi, VerificationsApi, InsightsApi, and others.
Rust (Types Only)
Thefabro-types crate generates Rust structs and enums from the OpenAPI component schemas at compile time using typify. This provides type-safe representations of all API models but does not include an HTTP client.
How It Works
Abuild.rs script reads docs/api-reference/fabro-api.yaml, extracts components/schemas, and feeds them to typify. The generated code is written to OUT_DIR and included via:
Regenerating
The types are regenerated automatically on everycargo build when the OpenAPI spec changes:
Usage
serde::Deserialize and serde::Serialize, so they work directly with any Rust HTTP client for request and response parsing.