Skip to content

bodybridge v1.1.0

Latest

Choose a tag to compare

@alice-jin-dev alice-jin-dev released this 11 Aug 13:27

bodybridge v1.1.0

First feature release after v1.0.0. Adds the declaration hook to the bridge core and fixes a payload-serialization error-reporting bug. Existing adapters need zero changes.

Added

  • Declaration hook — adapters can now declare per-action MCP tools with typed/constrained JSON Schema (e.g. a move_head tool with an enforced angle range). The bridge mechanically translates each declaration into a FastMCP tool plus a centralized bridge-side validator; the bridge core carries zero device-specific semantics — all constraints are decided by the adapter's type annotations, not by the bridge. This is an optional, lazy mechanism: adapters that don't call declare_tools() behave exactly as in v1.0.

Fixed

  • A payload the bridge cannot serialize no longer reports offline. When building the outbound frame fails (deeply nested values → RecursionError, non-JSON values → TypeError, circular references → ValueError), the bridge previously caught it together with send failures and reported offline with retryable: true — while the device was in fact connected. It now returns bad_params with retryable: false and a plain-language reason. Genuine send failures still report offline. The success path is unchanged.

Migration

  • Zero changes required for existing adapters. The declaration hook is optional and lazy — an adapter that doesn't call declare_tools() runs identically to v1.0. No config changes, no new environment variables.

Full changelog: see CHANGELOG.md