Packages
opencode_sdk
0.1.80
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/control.ex
defmodule OpenCode.Generated.Control do
@moduledoc """
Provides API endpoints related to control
"""
@default_client OpenCode.Client
@doc """
Write log
Write a log entry to the server logs with specified level and metadata.
## Options
* `directory`
* `workspace`
## Request Body
**Content Types**: `application/json`
"""
@spec app_log(body :: map, opts :: keyword) ::
{:ok, boolean}
| {:error,
OpenCode.Generated.EffectHttpApiErrorBadRequest.t()
| OpenCode.Generated.InvalidRequestError.t()}
def app_log(body, opts \\ []) do
client = opts[:client] || @default_client
query = Keyword.take(opts, [:directory, :workspace])
client.request(%{
args: [body: body],
call: {OpenCode.Generated.Control, :app_log},
url: "/log",
body: body,
method: :post,
query: query,
request: [{"application/json", :map}],
response: [
{200, :boolean},
{400,
{:union,
[
{OpenCode.Generated.EffectHttpApiErrorBadRequest, :t},
{OpenCode.Generated.InvalidRequestError, :t}
]}}
],
opts: opts
})
end
@doc """
Remove auth credentials
Remove authentication credentials
"""
@spec auth_remove(providerID :: String.t(), opts :: keyword) ::
{:ok, boolean}
| {:error,
OpenCode.Generated.EffectHttpApiErrorBadRequest.t()
| OpenCode.Generated.InvalidRequestError.t()}
def auth_remove(providerID, opts \\ []) do
client = opts[:client] || @default_client
client.request(%{
args: [providerID: providerID],
call: {OpenCode.Generated.Control, :auth_remove},
url: "/auth/#{providerID}",
method: :delete,
response: [
{200, :boolean},
{400,
{:union,
[
{OpenCode.Generated.EffectHttpApiErrorBadRequest, :t},
{OpenCode.Generated.InvalidRequestError, :t}
]}}
],
opts: opts
})
end
@doc """
Set auth credentials
Set authentication credentials
## Request Body
**Content Types**: `application/json`
"""
@spec auth_set(
providerID :: String.t(),
body ::
OpenCode.Generated.ApiAuth.t()
| OpenCode.Generated.OAuth.t()
| OpenCode.Generated.WellKnownAuth.t(),
opts :: keyword
) ::
{:ok, boolean}
| {:error,
OpenCode.Generated.EffectHttpApiErrorBadRequest.t()
| OpenCode.Generated.InvalidRequestError.t()}
def auth_set(providerID, body, opts \\ []) do
client = opts[:client] || @default_client
client.request(%{
args: [providerID: providerID, body: body],
call: {OpenCode.Generated.Control, :auth_set},
url: "/auth/#{providerID}",
body: body,
method: :put,
request: [
{"application/json",
{:union,
[
{OpenCode.Generated.ApiAuth, :t},
{OpenCode.Generated.OAuth, :t},
{OpenCode.Generated.WellKnownAuth, :t}
]}}
],
response: [
{200, :boolean},
{400,
{:union,
[
{OpenCode.Generated.EffectHttpApiErrorBadRequest, :t},
{OpenCode.Generated.InvalidRequestError, :t}
]}}
],
opts: opts
})
end
end