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