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/global.ex
defmodule OpenCode.Generated.Global do
@moduledoc """
Provides API endpoints related to global
"""
@default_client OpenCode.Client
@doc """
Get global configuration
Retrieve the current global OpenCode configuration settings and preferences.
"""
@spec global_config_get(opts :: keyword) ::
{:ok, OpenCode.Generated.Config.t()} | {:error, OpenCode.Generated.BadRequestError.t()}
def global_config_get(opts \\ []) do
client = opts[:client] || @default_client
client.request(%{
args: [],
call: {OpenCode.Generated.Global, :global_config_get},
url: "/global/config",
method: :get,
response: [
{200, {OpenCode.Generated.Config, :t}},
{400, {OpenCode.Generated.BadRequestError, :t}}
],
opts: opts
})
end
@doc """
Update global configuration
Update global OpenCode configuration settings and preferences.
## Request Body
**Content Types**: `application/json`
"""
@spec global_config_update(body :: OpenCode.Generated.Config.t(), opts :: keyword) ::
{:ok, OpenCode.Generated.Config.t()}
| {:error,
OpenCode.Generated.EffectHttpApiErrorBadRequest.t()
| OpenCode.Generated.InvalidRequestError.t()}
def global_config_update(body, opts \\ []) do
client = opts[:client] || @default_client
client.request(%{
args: [body: body],
call: {OpenCode.Generated.Global, :global_config_update},
url: "/global/config",
body: body,
method: :patch,
request: [{"application/json", {OpenCode.Generated.Config, :t}}],
response: [
{200, {OpenCode.Generated.Config, :t}},
{400,
{:union,
[
{OpenCode.Generated.EffectHttpApiErrorBadRequest, :t},
{OpenCode.Generated.InvalidRequestError, :t}
]}}
],
opts: opts
})
end
@doc """
Dispose instance
Clean up and dispose all OpenCode instances, releasing all resources.
"""
@spec global_dispose(opts :: keyword) ::
{:ok, boolean} | {:error, OpenCode.Generated.BadRequestError.t()}
def global_dispose(opts \\ []) do
client = opts[:client] || @default_client
client.request(%{
args: [],
call: {OpenCode.Generated.Global, :global_dispose},
url: "/global/dispose",
method: :post,
response: [{200, :boolean}, {400, {OpenCode.Generated.BadRequestError, :t}}],
opts: opts
})
end
@doc """
Get global events
Subscribe to global events from the OpenCode system using server-sent events.
"""
@spec global_event(opts :: keyword) ::
{:ok, OpenCode.Generated.GlobalEvent.t()}
| {:error, OpenCode.Generated.BadRequestError.t()}
def global_event(opts \\ []) do
client = opts[:client] || @default_client
client.request(%{
args: [],
call: {OpenCode.Generated.Global, :global_event},
url: "/global/event",
method: :get,
response: [
{200, {OpenCode.Generated.GlobalEvent, :t}},
{400, {OpenCode.Generated.BadRequestError, :t}}
],
opts: opts
})
end
@type global_health_200_json_resp :: %{healthy: true, version: String.t()}
@doc """
Get health
Get health information about the OpenCode server.
"""
@spec global_health(opts :: keyword) ::
{:ok, OpenCode.Generated.Global.global_health_200_json_resp()}
| {:error, OpenCode.Generated.BadRequestError.t()}
def global_health(opts \\ []) do
client = opts[:client] || @default_client
client.request(%{
args: [],
call: {OpenCode.Generated.Global, :global_health},
url: "/global/health",
method: :get,
response: [
{200, {OpenCode.Generated.Global, :global_health_200_json_resp}},
{400, {OpenCode.Generated.BadRequestError, :t}}
],
opts: opts
})
end
@type global_upgrade_200_json_resp :: %{
error: String.t(),
success: false | true,
version: String.t()
}
@doc """
Upgrade opencode
Upgrade opencode to the specified version or latest if not specified.
## Request Body
**Content Types**: `application/json`
"""
@spec global_upgrade(body :: map, opts :: keyword) ::
{:ok, OpenCode.Generated.Global.global_upgrade_200_json_resp()}
| {:error,
OpenCode.Generated.EffectHttpApiErrorBadRequest.t()
| OpenCode.Generated.InvalidRequestError.t()}
def global_upgrade(body, opts \\ []) do
client = opts[:client] || @default_client
client.request(%{
args: [body: body],
call: {OpenCode.Generated.Global, :global_upgrade},
url: "/global/upgrade",
body: body,
method: :post,
request: [{"application/json", :map}],
response: [
{200, {OpenCode.Generated.Global, :global_upgrade_200_json_resp}},
{400,
{:union,
[
{OpenCode.Generated.EffectHttpApiErrorBadRequest, :t},
{OpenCode.Generated.InvalidRequestError, :t}
]}}
],
opts: opts
})
end
@doc false
@spec __fields__(atom) :: keyword
def __fields__(:global_health_200_json_resp) do
[healthy: {:const, true}, version: :string]
end
def __fields__(:global_upgrade_200_json_resp) do
[error: :string, success: {:enum, [false, true]}, version: :string]
end
end