› cavi-ai/
GitHub ↗

Release changes

These notes are selected from the canonical repository CHANGELOG.md for @cavi-ai/api-client@0.21.0. Unreleased changes are excluded.

Read upgrade instructions before changing imports or error-handling assumptions.

[0.21.0] - 2026-10-14

Added

  • Native Python lifecycle clients for all seven providers as cavi-api-client

and an optional TypeScript adapter bridge. Native installation requires no Node/npm.

  • Independent PyPI release workflow that publishes validated Python

distributions through Trusted Publishing.

  • Export the Hermes runtime control factory and options from the provider

subpath for typed dashboard and profile configuration.

  • OpenCode v2 polling clients: OpenCodeV2ApiClient,

createOpenCodeV2ProviderModule, and Python api_version=2. Existing v1 clients retain their routes and behavior. V2 streaming is unsupported.

  • Opt-in observed completion for Managed Agents polling, streaming, and the

interactive driver, with bounded full event history and workflow tracking.

  • Opt-in canonical OpenClaw TypeScript outcomes and exact response text through

normalizeRunStatus, retaining the native provider_status.

Fixed

  • Provision Git documentation snapshots independently of same-version npm

artifacts while retaining commit and digest verification.

  • Advertise the installed Python package version in OpenClaw connections.
  • Release AGY SSE responses after upstream completion or failure without waiting

for the server to close the connection.

  • Clarify AGY HTTP versus native CLI/SDK interfaces and distinguish OpenCode v1

streaming from the opt-in v2 polling adapter in provider documentation.

  • Include the required agent selector type when Python creates Managed Agents

sessions, including sessions pinned with metadata.agent_version.

  • Link provider and Python references to versioned compatibility options and

document their opt-in defaults consistently across language guides.

  • Route Hermes dashboard REST and RPC calls to an explicit dashboardProfile,

authenticate owned dashboard WebSockets with dashboardToken, and use advertised native API Server session pagination. Native API Servers report session usage as unavailable rather than calling an absent route.

  • Normalize native Python OpenClaw completion and failure outcomes while retaining

provider status and exact response text.

  • Retrieve completed Managed Agents text from paginated session events in Python.
  • Abort active OpenCode prompts before closing Python-owned HTTP transport.
  • Rebuild unavailable documentation baselines from their pinned source commit.
  • Exclude Python bytecode from npm tarballs and documentation artifact pins.