Skip to content

Connection

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

ConnectionCredentialInfo

type class-attribute instance-attribute

type: Literal['credential'] = 'credential'

id instance-attribute

label instance-attribute

label: str

method instance-attribute

method: OpenEnum[Literal['key', 'oauth', 'external']]

status class-attribute instance-attribute

status: ConnectionStatus | None = Field(
    default=None, exclude_if=is_none
)

ConnectionEnvInfo

type class-attribute instance-attribute

type: Literal['env'] = 'env'

name instance-attribute

name: str

status class-attribute instance-attribute

status: ConnectionStatus | None = Field(
    default=None, exclude_if=is_none
)

ConnectionInfo module-attribute

ConnectionInfo: TypeAlias = Annotated[
    Annotated[ConnectionCredentialInfo, Tag("credential")]
    | Annotated[ConnectionEnvInfo, Tag("env")]
    | Annotated[UnknownConnectionInfo, Tag("__unknown__")],
    Discriminator(
        discriminator("type", "type", ["credential", "env"])
    ),
]

ConnectionStatus

status instance-attribute

status: Literal['needs_auth']

message instance-attribute

message: str

url class-attribute instance-attribute

url: str | None = Field(default=None, exclude_if=is_none)