Skip to content

v0.7.0 - V2 Protocol Runtime

Choose a tag to compare

@hiddenpath hiddenpath released this 16 Feb 15:36
· 30 commits to main since this release

ai-lib-python v0.7.0 — V2 Protocol Runtime

Highlights

This release adds full V2 protocol runtime support to the Python SDK, including provider drivers, MCP tool bridge, Computer Use abstraction, extended multimodal capabilities, and capability registry.

What's New

V2 Protocol Support (protocol/v2/)

  • ManifestV2: Three-ring data model (Ring1 Core / Ring2 Capabilities / Ring3 Extensions)
  • CapabilitiesV2: Structured required/optional capability declarations
  • EndpointV2, AuthConfigV2, StreamingV2: Typed configuration models
  • Auto-promotion: V1 manifests automatically promoted with capability inference
  • API Style Detection: OpenAI-compatible, Anthropic Messages, Gemini Generate

Provider Drivers (drivers/)

  • OpenAIDriver: OpenAI-compatible API (OpenAI, DeepSeek, Moonshot, etc.)
  • AnthropicDriver: Anthropic Messages API with beta header support
  • GeminiDriver: Gemini GenerateContent API
  • create_driver() factory: Auto-detection from manifest

MCP Tool Bridge (mcp/)

  • Namespace-based tool conversion between MCP and AI-Protocol formats
  • Round-trip tool call routing and result conversion
  • Provider MCP configuration extraction

Computer Use Abstraction (computer_use/)

  • ComputerAction typed actions (screenshot, click, type, scroll, navigate, key_press)
  • SafetyPolicy with domain allowlists and action limits
  • Implementation style detection (screen-based vs tool-based)

Extended Multimodal (multimodal/)

  • MultimodalCapabilities with input/output modality declarations
  • Format validation for vision, audio, video modalities
  • Content block validation against provider capabilities

Capability Registry (registry/)

  • Dynamic capability detection from V2 manifests
  • Status reporting (active, optional, unavailable)

Bug Fixes

  • Fix test manifests: use endpoints=EndpointV2() instead of endpoint=dict
  • Remove non-existent status field from test manifests

Full Changelog

See CHANGELOG.md