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.mdtasks/20260824-direct-claude-provider-and-plugin-login/018-provider-cost-estimation-and-pricing-catalog.mdtasks/20260824-direct-claude-provider-and-plugin-login/019-portable-provider-request-errors.mdtasks/20260824-direct-claude-provider-and-plugin-login/022-portable-rich-session-settings-and-model-picker-ui.md