Skip to content

Broker: provider dispatch (Anthropic, local models) #84

Description

@adamcohenhillel

The broker claims provider abstraction but is OpenAI-only in practice: hardcoded OPENAI_RESPONSES_URL (:27), OpenAI-Beta: responses=v1 header (:303), load_provider_registry requires providers.openai (:601-603). The "registry" only remaps OpenAI URLs.

Fix

  • Registry-driven provider dispatch: each provider entry declares url, auth_scheme (bearer/API-key/OAuth), payload_shape (openai_responses, openai_chat, anthropic_messages, ...), and headers.
  • Move privacy checks that assume OpenAI payload shape (count_input_images :572) behind the payload-shape adapter.
  • Emit provider-agnostic audit events.
  • Ship first-party support for Anthropic + a local (Ollama-compatible) endpoint.

Ties in with the on-device ModelAdapter.java seam — new providers likely also need a new adapter on the assistant side.

Size: L

Metadata

Metadata

Assignees

No one assigned

    Labels

    M4-runtimeM4: Provider & Runtime MaturityenhancementNew feature or request

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions