Skip to content

Permission

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

PermissionAskedEventData

id instance-attribute

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

action instance-attribute

action: str

resources instance-attribute

resources: list[str]

save class-attribute instance-attribute

save: list[str] | None = Field(
    default=None, exclude_if=is_none
)

metadata class-attribute instance-attribute

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

source class-attribute instance-attribute

source: PermissionSource | None = Field(
    default=None, exclude_if=is_none
)

message class-attribute instance-attribute

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

PermissionCreateResponse

id instance-attribute

effect instance-attribute

PermissionEffect module-attribute

PermissionEffect: TypeAlias = OpenEnum[
    Literal["allow", "deny", "ask"]
]

PermissionID module-attribute

PermissionID: TypeAlias = str

PermissionRepliedEventData

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

request_id class-attribute instance-attribute

request_id: PermissionID = Field(
    validation_alias="requestID",
    serialization_alias="requestID",
)

reply instance-attribute

PermissionReply module-attribute

PermissionReply: TypeAlias = OpenEnum[
    Literal["once", "always", "reject"]
]

PermissionRequest

id instance-attribute

session_id class-attribute instance-attribute

session_id: SessionID = Field(
    validation_alias="sessionID",
    serialization_alias="sessionID",
)

action instance-attribute

action: str

resources instance-attribute

resources: list[str]

save class-attribute instance-attribute

save: list[str] | None = Field(
    default=None, exclude_if=is_none
)

metadata class-attribute instance-attribute

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

source class-attribute instance-attribute

source: PermissionSource | None = Field(
    default=None, exclude_if=is_none
)

message class-attribute instance-attribute

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

PermissionRequestListResponse

location instance-attribute

data instance-attribute

PermissionRule

action instance-attribute

action: str

resource instance-attribute

resource: str

effect instance-attribute

PermissionRuleset module-attribute

PermissionRuleset: TypeAlias = list[PermissionRule]

PermissionSavedID module-attribute

PermissionSavedID: TypeAlias = str

PermissionSavedInfo

id instance-attribute

project_id class-attribute instance-attribute

project_id: ProjectID = Field(
    validation_alias="projectID",
    serialization_alias="projectID",
)

action instance-attribute

action: str

resource instance-attribute

resource: str

time instance-attribute

PermissionSavedInfoTime

created instance-attribute

created: float

updated instance-attribute

updated: float

PermissionSource

type class-attribute instance-attribute

type: Literal['tool'] = 'tool'

message_id class-attribute instance-attribute

message_id: str = Field(
    validation_alias="messageID",
    serialization_alias="messageID",
)

id instance-attribute

id: str