Current section

Files

Jump to
opencode_sdk lib opencode generated config.ex
Raw

lib/opencode/generated/config.ex

defmodule OpenCode.Generated.Config do
@moduledoc """
Provides struct and type for a Config
"""
@type t :: %__MODULE__{
agent: OpenCode.Generated.ConfigAgent.t() | nil,
autoshare: boolean | nil,
autoupdate: boolean | String.t() | nil,
command: map | nil,
compaction: OpenCode.Generated.ConfigCompaction.t() | nil,
default_agent: String.t() | nil,
disabled_providers: [String.t()] | nil,
enabled_providers: [String.t()] | nil,
enterprise: OpenCode.Generated.ConfigEnterprise.t() | nil,
experimental: OpenCode.Generated.ConfigExperimental.t() | nil,
formatter: boolean | map | nil,
instructions: [String.t()] | nil,
layout: String.t() | nil,
log_level: String.t() | nil,
lsp: boolean | map | nil,
mcp: map | nil,
mode: OpenCode.Generated.ConfigMode.t() | nil,
model: String.t() | nil,
permission: map | String.t() | nil,
plugin: [String.t() | [any]] | nil,
provider: map | nil,
schema: String.t() | nil,
server: OpenCode.Generated.ServerConfig.t() | nil,
share: String.t() | nil,
shell: String.t() | nil,
skills: OpenCode.Generated.ConfigSkills.t() | nil,
small_model: String.t() | nil,
snapshot: boolean | nil,
tool_output: OpenCode.Generated.ConfigToolOutput.t() | nil,
tools: map | nil,
username: String.t() | nil,
watcher: OpenCode.Generated.ConfigWatcher.t() | nil
}
defstruct [
:agent,
:autoshare,
:autoupdate,
:command,
:compaction,
:default_agent,
:disabled_providers,
:enabled_providers,
:enterprise,
:experimental,
:formatter,
:instructions,
:layout,
:log_level,
:lsp,
:mcp,
:mode,
:model,
:permission,
:plugin,
:provider,
:schema,
:server,
:share,
:shell,
:skills,
:small_model,
:snapshot,
:tool_output,
:tools,
:username,
:watcher
]
@doc false
@spec __fields__(atom) :: keyword
def __fields__(type \\ :t)
def __fields__(:t) do
[
agent: {OpenCode.Generated.ConfigAgent, :t},
autoshare: :boolean,
autoupdate: {:union, [:boolean, const: "notify"]},
command: :map,
compaction: {OpenCode.Generated.ConfigCompaction, :t},
default_agent: :string,
disabled_providers: [:string],
enabled_providers: [:string],
enterprise: {OpenCode.Generated.ConfigEnterprise, :t},
experimental: {OpenCode.Generated.ConfigExperimental, :t},
formatter: {:union, [:boolean, :map]},
instructions: [:string],
layout: {:enum, ["auto", "stretch"]},
log_level: {:enum, ["DEBUG", "INFO", "WARN", "ERROR"]},
lsp: {:union, [:boolean, :map]},
mcp: :map,
mode: {OpenCode.Generated.ConfigMode, :t},
model: :string,
permission: {:union, [:map, enum: ["ask", "allow", "deny"]]},
plugin: [union: [:string, [:unknown]]],
provider: :map,
schema: :string,
server: {OpenCode.Generated.ServerConfig, :t},
share: {:enum, ["manual", "auto", "disabled"]},
shell: :string,
skills: {OpenCode.Generated.ConfigSkills, :t},
small_model: :string,
snapshot: :boolean,
tool_output: {OpenCode.Generated.ConfigToolOutput, :t},
tools: :map,
username: :string,
watcher: {OpenCode.Generated.ConfigWatcher, :t}
]
end
end