Packages
opencode_sdk
0.1.83
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_providers.ex
defmodule OpenCode.Generated.V2Providers do
@moduledoc """
Provides API endpoints related to v2 providers
"""
@default_client OpenCode.Client
@type v2_provider_get_200_json_resp :: %{
data: OpenCode.Generated.ProviderV2Info.t(),
location: OpenCode.Generated.LocationInfo.t()
}
@doc """
Get v2 provider
Retrieve a single v2 AI provider so clients can inspect its availability and endpoint settings.
## Options
* `location`
"""
@spec v2_provider_get(providerID :: String.t(), opts :: keyword) ::
{:ok, OpenCode.Generated.V2Providers.v2_provider_get_200_json_resp()}
| {:error,
OpenCode.Generated.InvalidRequestError.t()
| OpenCode.Generated.ProviderNotFoundError.t()
| OpenCode.Generated.ServiceUnavailableError.t()
| OpenCode.Generated.UnauthorizedError.t()}
def v2_provider_get(providerID, opts \\ []) do
client = opts[:client] || @default_client
query = Keyword.take(opts, [:location])
client.request(%{
args: [providerID: providerID],
call: {OpenCode.Generated.V2Providers, :v2_provider_get},
url: "/api/provider/#{providerID}",
method: :get,
query: query,
response: [
{200, {OpenCode.Generated.V2Providers, :v2_provider_get_200_json_resp}},
{400, {OpenCode.Generated.InvalidRequestError, :t}},
{401, {OpenCode.Generated.UnauthorizedError, :t}},
{404, {OpenCode.Generated.ProviderNotFoundError, :t}},
{503, {OpenCode.Generated.ServiceUnavailableError, :t}}
],
opts: opts
})
end
@type v2_provider_list_200_json_resp :: %{
data: [OpenCode.Generated.ProviderV2Info.t()],
location: OpenCode.Generated.LocationInfo.t()
}
@doc """
List v2 providers
Retrieve active v2 AI providers so clients can show provider availability and configuration.
## Options
* `location`
"""
@spec v2_provider_list(opts :: keyword) ::
{:ok, OpenCode.Generated.V2Providers.v2_provider_list_200_json_resp()}
| {:error,
OpenCode.Generated.InvalidRequestError.t()
| OpenCode.Generated.ServiceUnavailableError.t()
| OpenCode.Generated.UnauthorizedError.t()}
def v2_provider_list(opts \\ []) do
client = opts[:client] || @default_client
query = Keyword.take(opts, [:location])
client.request(%{
args: [],
call: {OpenCode.Generated.V2Providers, :v2_provider_list},
url: "/api/provider",
method: :get,
query: query,
response: [
{200, {OpenCode.Generated.V2Providers, :v2_provider_list_200_json_resp}},
{400, {OpenCode.Generated.InvalidRequestError, :t}},
{401, {OpenCode.Generated.UnauthorizedError, :t}},
{503, {OpenCode.Generated.ServiceUnavailableError, :t}}
],
opts: opts
})
end
@doc false
@spec __fields__(atom) :: keyword
def __fields__(:v2_provider_get_200_json_resp) do
[
data: {OpenCode.Generated.ProviderV2Info, :t},
location: {OpenCode.Generated.LocationInfo, :t}
]
end
def __fields__(:v2_provider_list_200_json_resp) do
[
data: [{OpenCode.Generated.ProviderV2Info, :t}],
location: {OpenCode.Generated.LocationInfo, :t}
]
end
end