Packages
opencode_sdk
0.1.81
0.1.84
0.1.83
0.1.82
0.1.81
0.1.80
0.1.79
0.1.78
0.1.77
0.1.76
0.1.75
0.1.74
0.1.73
0.1.72
0.1.71
0.1.70
0.1.69
0.1.68
0.1.67
0.1.66
0.1.65
0.1.64
0.1.63
0.1.62
0.1.61
0.1.60
0.1.59
0.1.58
0.1.57
0.1.56
0.1.55
0.1.54
0.1.53
0.1.52
0.1.51
0.1.50
0.1.49
0.1.48
0.1.47
0.1.46
0.1.45
0.1.44
0.1.43
0.1.42
0.1.41
0.1.40
0.1.39
0.1.38
0.1.37
0.1.36
0.1.35
0.1.34
0.1.33
0.1.32
0.1.31
0.1.30
0.1.29
0.1.28
0.1.27
0.1.26
0.1.25
0.1.24
0.1.23
0.1.22
0.1.21
0.1.20
0.1.19
0.1.18
0.1.17
0.1.16
0.1.15
0.1.14
0.1.13
0.1.12
0.1.11
0.1.10
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
Unofficial OpenCode SDK for Elixir. A complete Elixir SDK for OpenCode, providing server creation, session management, messaging, file operations, and more. Mirrors the functionality of the official JavaScript SDK (@opencode-ai/sdk). Not affiliated with or built by the OpenCode team.
Current section
Files
Jump to
Current section
Files
lib/opencode/generated/v2_session_permissions.ex
defmodule OpenCode.Generated.V2SessionPermissions do
@moduledoc """
Provides API endpoints related to v2 session permissions
"""
@default_client OpenCode.Client
@type v2_session_permission_list_200_json_resp :: %{
data: [OpenCode.Generated.PermissionV2Request.t()]
}
@doc """
List session permission requests
Retrieve pending permission requests owned by a session.
"""
@spec v2_session_permission_list(sessionID :: String.t(), opts :: keyword) ::
{:ok,
OpenCode.Generated.V2SessionPermissions.v2_session_permission_list_200_json_resp()}
| {:error,
OpenCode.Generated.InvalidRequestError.t()
| OpenCode.Generated.SessionNotFoundError.t()
| OpenCode.Generated.UnauthorizedError.t()}
def v2_session_permission_list(sessionID, opts \\ []) do
client = opts[:client] || @default_client
client.request(%{
args: [sessionID: sessionID],
call: {OpenCode.Generated.V2SessionPermissions, :v2_session_permission_list},
url: "/api/session/#{sessionID}/permission/request",
method: :get,
response: [
{200,
{OpenCode.Generated.V2SessionPermissions, :v2_session_permission_list_200_json_resp}},
{400, {OpenCode.Generated.InvalidRequestError, :t}},
{401, {OpenCode.Generated.UnauthorizedError, :t}},
{404, {OpenCode.Generated.SessionNotFoundError, :t}}
],
opts: opts
})
end
@doc """
Reply to pending permission request
Respond to a pending permission request owned by a session.
## Request Body
**Content Types**: `application/json`
"""
@spec v2_session_permission_reply(
sessionID :: String.t(),
requestID :: String.t(),
body :: map,
opts :: keyword
) ::
:ok
| {:error,
OpenCode.Generated.InvalidRequestError.t()
| OpenCode.Generated.PermissionNotFoundError.t()
| OpenCode.Generated.SessionNotFoundError.t()
| OpenCode.Generated.UnauthorizedError.t()}
def v2_session_permission_reply(sessionID, requestID, body, opts \\ []) do
client = opts[:client] || @default_client
client.request(%{
args: [sessionID: sessionID, requestID: requestID, body: body],
call: {OpenCode.Generated.V2SessionPermissions, :v2_session_permission_reply},
url: "/api/session/#{sessionID}/permission/request/#{requestID}/reply",
body: body,
method: :post,
request: [{"application/json", :map}],
response: [
{204, :null},
{400, {OpenCode.Generated.InvalidRequestError, :t}},
{401, {OpenCode.Generated.UnauthorizedError, :t}},
{404,
{:union,
[
{OpenCode.Generated.PermissionNotFoundError, :t},
{OpenCode.Generated.SessionNotFoundError, :t}
]}}
],
opts: opts
})
end
@doc false
@spec __fields__(atom) :: keyword
def __fields__(:v2_session_permission_list_200_json_resp) do
[data: [{OpenCode.Generated.PermissionV2Request, :t}]]
end
end