infro 0.1.3
infro: ^0.1.3 copied to clipboard
The official Dart client for the INFRO API — one endpoint for text, image, video and audio models, with routing, fallbacks and estimated provider cost.
Changelog #
All three INFRO SDKs share one version line: a customer reading a changelog should not have to work out which of three independent version numbers applies to them.
0.1.3 #
- Remove the last prepaid-era wording: a
402 budget_exceededmeans a budget you set was reached, so raise it or wait for its period to reset; there is no balance to top up. - Document that responses name the
providerandconnectionof yours that served, besideroute. They were always on the wire; the docs said the opposite. routing.policyis ignored by the gateway and is marked deprecated. It is still accepted, so existing callers keep working.keys.retrieve()documents the fieldsGET /v1/keyreturns, and the example prints them instead of abalancefield that does not exist.
0.1.2 #
- Correct the runtime version reported in the SDK user agent and enforce the package version in tests.
0.1.1 #
- Link the package metadata to its public GitHub repository and issue tracker.
0.1.0 #
First release.
chat.completions.createandcreateStreamfor text, streaming as aStreamthat throws rather than completing quietly when the gateway closes without[DONE].images.generate,video.create/retrieve/wait,audio.speechandaudio.transcribe, each carryingusage.coston the response.models.list,models.retrieveandkey.retrieve.- The documented error taxonomy as exception classes, so "should I retry this?" is a branch on a type rather than a substring match on a message.
- Retries only on 408, 429, 502 and 503, always carrying the
Idempotency-Keysent with the first attempt — exceptno_provider_connected, the one 503 a retry can never clear, which fails immediately so the advice in its message arrives without a backoff in front of it. A stream is never retried. request()as an escape hatch for endpoints this client does not yet model.