Adds UsageSummary and open usage-observation traversal. Aggregates preserve provider-reported, estimated, unavailable, and unpriced observations while reporting disjoint tokens, cache-hit proportion, and nominal cost.
Assistant messages can retain the request-context revision associated with a usage observation. Tool calls explicitly record whether host arguments have already been prepared.
Adds explicit encrypted-file and native-keychain credential stores. Portable storage uses Argon2id and XChaCha20-Poly1305, authenticates metadata, and returns typed values for wrong secrets or altered envelopes. Keychain storage rejects environment and file backends.
Replaces ambiguous zero-valued usage with typed provider-reported, explicitly estimated, and unavailable observations. Nominal API-equivalent pricing is distinct from a subscription charge.
rho.ai 0.0.1.9000
Adds experimental typed models, messages, credentials, provider operations, request translation, and normalized streaming adapters inspired by Pi.
Adds typed provider input-limit values and exact structured-code translation for OpenAI-compatible context limits and Anthropic request-size limits.
Preserves HTTP retry semantics when OpenAI-compatible status errors include a structured provider error body.
Collects provider completions through task composition and serializes asynchronous credential updates without blocking the R event loop.
Adds an explicit file-backed credential store so login and refresh results are persisted with serialized updates and owner-only file permissions.
Adds typed provider-turn strategies and a default rho_stream() method so HTTP SSE, WebSocket, and embedded providers share the normalized event protocol without sharing a wire implementation.
Adds executable embedded-provider values: an explicit executor can return a normalized stream or a task resolving to one, without inventing a provider class for each in-process model.
Adds the OpenAI Codex response.create WebSocket transport when the selected HTTP client implements Rho’s WebSocket client interface. Explicit WebSocket selection reports an unsupported transport instead of changing to SSE.
Derives GitHub Copilot provider protocols and transport capabilities from a sanitized /models endpoint snapshot. Catalog compilation no longer routes Copilot models from model-name patterns.
Compiles provider and protocol constructors from an executable R registry, validates endpoint declarations retained from models.dev, and exposes model catalogs through lazy read-only bindings.
Adds Kimi Code subscription keys and OAuth device authorization, plus distinct global and China Kimi Platform API-key providers with Kimi thinking, image-input, token-limit, and streamed-usage semantics.