Skip to content

Provider

12 types. Import any of them from opencode.types.

ProviderCompaction module-attribute

ProviderCompaction: TypeAlias = Annotated[
    Annotated[ProviderCompactionSummary, Tag("summary")]
    | Annotated[ProviderCompactionNative, Tag("native")]
    | Annotated[
        UnknownProviderCompaction, Tag("__unknown__")
    ],
    Discriminator(
        discriminator("type", "type", ["summary", "native"])
    ),
]

ProviderCompactionNative

type class-attribute instance-attribute

type: Literal['native'] = 'native'

ProviderCompactionSummary

type class-attribute instance-attribute

type: Literal['summary'] = 'summary'

ProviderCompatibility

reasoning_field class-attribute instance-attribute

reasoning_field: ModelReasoningField | None = Field(
    default=None,
    validation_alias="reasoningField",
    serialization_alias="reasoningField",
    exclude_if=is_none,
)

require_reasoning class-attribute instance-attribute

require_reasoning: bool | None = Field(
    default=None,
    validation_alias="requireReasoning",
    serialization_alias="requireReasoning",
    exclude_if=is_none,
)

max_tokens_field class-attribute instance-attribute

max_tokens_field: ModelMaxTokensField | None = Field(
    default=None,
    validation_alias="maxTokensField",
    serialization_alias="maxTokensField",
    exclude_if=is_none,
)

require_finish_reason class-attribute instance-attribute

require_finish_reason: bool | None = Field(
    default=None,
    validation_alias="requireFinishReason",
    serialization_alias="requireFinishReason",
    exclude_if=is_none,
)

require_assistant_after_tool class-attribute instance-attribute

require_assistant_after_tool: bool | None = Field(
    default=None,
    validation_alias="requireAssistantAfterTool",
    serialization_alias="requireAssistantAfterTool",
    exclude_if=is_none,
)

supports_prompt_cache_key class-attribute instance-attribute

supports_prompt_cache_key: bool | None = Field(
    default=None,
    validation_alias="supportsPromptCacheKey",
    serialization_alias="supportsPromptCacheKey",
    exclude_if=is_none,
)

stream_usage class-attribute instance-attribute

stream_usage: bool | None = Field(
    default=None,
    validation_alias="streamUsage",
    serialization_alias="streamUsage",
    exclude_if=is_none,
)

cache_format class-attribute instance-attribute

cache_format: ModelCacheFormat | None = Field(
    default=None,
    validation_alias="cacheFormat",
    serialization_alias="cacheFormat",
    exclude_if=is_none,
)

ProviderEncoding module-attribute

ProviderEncoding: TypeAlias = OpenEnum[
    Literal["zstd", "gzip", "none"]
]

ProviderGetResponse

location instance-attribute

data instance-attribute

ProviderID module-attribute

ProviderID: TypeAlias = str

ProviderInfo

id instance-attribute

canonical class-attribute instance-attribute

canonical: ProviderID | None = Field(
    default=None, exclude_if=is_none
)

integration_id class-attribute instance-attribute

integration_id: IntegrationID | None = Field(
    default=None,
    validation_alias="integrationID",
    serialization_alias="integrationID",
    exclude_if=is_none,
)

name instance-attribute

name: str

activation instance-attribute

activation: OpenEnum[Literal["auto", "enabled", "disabled"]]

package instance-attribute

package: str

compatibility class-attribute instance-attribute

compatibility: ProviderCompatibility | None = Field(
    default=None, exclude_if=is_none
)

settings class-attribute instance-attribute

settings: ProviderSettings | None = Field(
    default=None, exclude_if=is_none
)

headers class-attribute instance-attribute

headers: dict[str, str] | None = Field(
    default=None, exclude_if=is_none
)

body class-attribute instance-attribute

body: dict[str, Any] | None = Field(
    default=None, exclude_if=is_none
)

ProviderListResponse

location instance-attribute

data instance-attribute

ProviderRequest

settings instance-attribute

settings: ProviderSettings

headers instance-attribute

headers: dict[str, str]

body instance-attribute

body: dict[str, Any]

ProviderSettings

timeout class-attribute instance-attribute

timeout: float | Literal[False] | None = Field(
    default=None, exclude_if=is_none
)

header_timeout class-attribute instance-attribute

header_timeout: float | Literal[False] | None = Field(
    default=None,
    validation_alias="headerTimeout",
    serialization_alias="headerTimeout",
    exclude_if=is_none,
)

chunk_timeout class-attribute instance-attribute

chunk_timeout: float | Literal[False] | None = Field(
    default=None,
    validation_alias="chunkTimeout",
    serialization_alias="chunkTimeout",
    exclude_if=is_none,
)

compaction class-attribute instance-attribute

compaction: ProviderCompaction | None = Field(
    default=None, exclude_if=is_none
)

transport class-attribute instance-attribute

transport: ProviderTransport | None = Field(
    default=None, exclude_if=is_none
)

encoding class-attribute instance-attribute

encoding: ProviderEncoding | None = Field(
    default=None, exclude_if=is_none
)

ProviderTransport module-attribute

ProviderTransport: TypeAlias = OpenEnum[
    Literal["http", "websocket"]
]