Skip to content

Portable provider implementation

This cross-package specification defines the target contract for implementing and verifying provider plugin bundles consistently across Core, the application layer, provider packages, and shared plugin-authoring documentation.

It covers:

  • provider transport and native-message responsibilities;
  • provider extension ownership;
  • model discovery, capability tags, and portable model-selection UI;
  • shared baseline protocol tags, optional compatible-endpoint capabilities, and reusable configuration presets;
  • normalized usage, cost-estimation, cache-estimation, and duration/TPS interoperability;
  • streaming, native history, cancellation, and error contracts;
  • deterministic, local-compatible, and hosted conformance tests;
  • package and documentation requirements.

It does not define one provider's wire protocol or require every provider to implement the same optional features. Package-owned specifications refine this contract for their protocol and supported endpoints.

Specification documents:

Decision records:

Public provider-authoring guidance:

  • plugins/docs/provider-implementation-standard/index.md

Package refinement:

  • plugins/anthropic-compatible/docs/development/specifications/anthropic-provider/index.md

Active delivery work:

  • tasks/20260824-direct-claude-provider-and-plugin-login/010-direct-claude-provider-runtime.md
  • tasks/20260824-direct-claude-provider-and-plugin-login/018-provider-cost-estimation-and-pricing-catalog.md
  • tasks/20260824-direct-claude-provider-and-plugin-login/019-portable-provider-request-errors.md
  • tasks/20260824-direct-claude-provider-and-plugin-login/022-portable-rich-session-settings-and-model-picker-ui.md