Skip to content

Plugin

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

PluginCheckResponse

location instance-attribute

data instance-attribute

PluginFeatures

server class-attribute instance-attribute

server: Literal[True] | None = Field(
    default=None, exclude_if=is_none
)

tui class-attribute instance-attribute

tui: Literal[True] | None = Field(
    default=None, exclude_if=is_none
)

rpc class-attribute instance-attribute

rpc: Literal[True] | None = Field(
    default=None, exclude_if=is_none
)

PluginInfo

id class-attribute instance-attribute

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

source instance-attribute

source: PluginSource

features instance-attribute

features: PluginFeatures

state instance-attribute

state: PluginState

PluginListResponse

location instance-attribute

data instance-attribute

PluginSource module-attribute

PluginSource: TypeAlias = Annotated[
    Annotated[PluginSourceBuiltin, Tag("builtin")]
    | Annotated[PluginSourcePackage, Tag("package")]
    | Annotated[PluginSourceLocal, Tag("local")]
    | Annotated[PluginSourceSdk, Tag("sdk")]
    | Annotated[UnknownPluginSource, Tag("__unknown__")],
    Discriminator(
        discriminator(
            "type",
            "type",
            ["builtin", "package", "local", "sdk"],
        )
    ),
]

PluginSourceBuiltin

type class-attribute instance-attribute

type: Literal['builtin'] = 'builtin'

PluginSourceLocal

type class-attribute instance-attribute

type: Literal['local'] = 'local'

path instance-attribute

path: str

PluginSourcePackage

type class-attribute instance-attribute

type: Literal['package'] = 'package'

target instance-attribute

target: str

version class-attribute instance-attribute

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

outdated class-attribute instance-attribute

outdated: Literal[True] | None = Field(
    default=None, exclude_if=is_none
)

updating class-attribute instance-attribute

updating: Literal[True] | None = Field(
    default=None, exclude_if=is_none
)

PluginSourceSdk

type class-attribute instance-attribute

type: Literal['sdk'] = 'sdk'

PluginState module-attribute

PluginState: TypeAlias = Annotated[
    Annotated[PluginStateActive, Tag("active")]
    | Annotated[PluginStateFailed, Tag("failed")]
    | Annotated[UnknownPluginState, Tag("__unknown__")],
    Discriminator(
        discriminator(
            "status", "status", ["active", "failed"]
        )
    ),
]

PluginStateActive

status class-attribute instance-attribute

status: Literal['active'] = 'active'

PluginStateFailed

status class-attribute instance-attribute

status: Literal['failed'] = 'failed'

error instance-attribute

error: str

ref class-attribute instance-attribute

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