Skip to content

opencode

opencode

PermissionAction module-attribute

PermissionAction = Literal['allow', 'ask', 'deny']

PermissionRule module-attribute

PermissionRule = (
    PermissionAction | dict[str, PermissionAction]
)

AgentLike

instructions instance-attribute

instructions: str | None

mcp_servers instance-attribute

mcp_servers: list[Any]

name instance-attribute

name: str

permission instance-attribute

permission: Any

skills instance-attribute

skills: list[Any]

strict instance-attribute

strict: bool

MaterialiseContext

metadata class-attribute instance-attribute

metadata: dict[str, Any] = Field(default_factory=dict)

model_config class-attribute instance-attribute

model_config = ConfigDict(arbitrary_types_allowed=True)

sandbox instance-attribute

sandbox: Any

workspace instance-attribute

workspace: Path

OpenCode

agent class-attribute instance-attribute

agent: str | None = None

autoupdate class-attribute instance-attribute

autoupdate: bool | str | None = None

compaction class-attribute instance-attribute

compaction: dict[str, Any] = Field(default_factory=dict)

disabled_providers class-attribute instance-attribute

disabled_providers: list[str] = Field(default_factory=list)

enabled_providers class-attribute instance-attribute

enabled_providers: list[str] = Field(default_factory=list)

extra_config class-attribute instance-attribute

extra_config: dict[str, Any] = Field(default_factory=dict)

formatter class-attribute instance-attribute

formatter: bool | dict[str, Any] | None = None

id class-attribute instance-attribute

id: str = 'opencode'

instructions class-attribute instance-attribute

instructions: list[str] = Field(default_factory=list)

lsp class-attribute instance-attribute

lsp: bool | dict[str, Any] | None = None

model class-attribute instance-attribute

model: str | None = None

permission class-attribute instance-attribute

permission: (
    PermissionAction
    | dict[str, PermissionRule]
    | PermissionPolicy
    | None
) = None

provider class-attribute instance-attribute

provider: dict[str, Any] = Field(default_factory=dict)

share class-attribute instance-attribute

share: str | None = None

small_model class-attribute instance-attribute

small_model: str | None = None

snapshot class-attribute instance-attribute

snapshot: bool | None = None

command

command(
    prompt: str, run_config: Any | None = None
) -> list[str]

materialise

materialise(
    ctx: MaterialiseContext, agent: AgentLike
) -> None

PermissionPolicy

default class-attribute instance-attribute

default: PermissionAction | None = None

tools class-attribute instance-attribute

tools: dict[str, PermissionRule] = Field(
    default_factory=dict
)

to_opencode

to_opencode() -> (
    PermissionAction | dict[str, PermissionRule]
)

UnsupportedFeatureError

Raised when strict mode sees unsupported backend feature.

_render_permission

_render_permission(
    permission: PermissionAction
    | dict[str, PermissionRule]
    | PermissionPolicy
    | None,
) -> PermissionAction | dict[str, PermissionRule] | None

render_opencode_mcp_servers

render_opencode_mcp_servers(
    servers: list[MCPServer],
) -> dict[str, Any]

write_instructions

write_instructions(
    workspace: Path,
    instructions: str | None,
    skills: list[Skill],
) -> None

write_json

write_json(path: Path, data: dict[str, Any]) -> None

write_skills

write_skills(
    skills: list[Skill],
    destination: Path,
    *,
    frontmatter: bool = False,
) -> None