astralane

Astralane / Developers

Streaming and failover

Tokens flow incrementally; the gateway does not wait for a complete response before sending text.

SSE transport

Use stream:true. OpenAI chat streams terminate with [DONE]; usage and platform.billing are attached to a preceding final chunk. Responses and Messages use their own lifecycle events. The playground shows the behavior for all three protocols.

Retry boundary

Retryable upstream network, timeout, rate-limit, and server failures may fail over, with at most three candidates. Invalid authentication and request errors are not blindly retried. Once meaningful content, reasoning, or a tool-call delta has been emitted, the router will never restart a generation on another provider.

Disconnects and failures

Client disconnection aborts the upstream call. A generation interrupted before authoritative completion is not charged under the conservative customer policy; possible supplier costs remain tracked against exposure limits. Once authoritative completion is recorded, settlement continues independently of the socket. The worker reclaims only incomplete expired requests, never a recorded completion. Check request history before retrying a settlement_pending response.

Incomplete usage

Success requires a completion marker and trustworthy usage. Missing usage or malformed streams fail closed without an invented customer charge. Known completion above the approved hold remains reserved for operator review; it is not automatically charged above the reservation. Supplier exposure is recorded separately.

Handoff release

Native core and mock HTTP checks have run. Full dependency install, PostgreSQL/Redis integration, production builds, and browser flows still require local verification. See the repository verification report before deployment.