Packages
opencode_sdk
0.1.84
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/filesystem.ex
defmodule OpenCode.Generated.Filesystem do
@moduledoc """
Provides API endpoints related to filesystem
"""
@default_client OpenCode.Client
@type v2_fs_find_200_json_resp :: %{
data: [OpenCode.Generated.FileSystemEntry.t()],
location: OpenCode.Generated.LocationInfo.t()
}
@doc """
Find files
Find recursively ranked filesystem entries relative to the requested location.
## Options
* `location`
* `query`
* `type`
* `limit`
"""
@spec v2_fs_find(opts :: keyword) ::
{:ok, OpenCode.Generated.Filesystem.v2_fs_find_200_json_resp()}
| {:error,
OpenCode.Generated.InvalidRequestError.t() | OpenCode.Generated.UnauthorizedError.t()}
def v2_fs_find(opts \\ []) do
client = opts[:client] || @default_client
query = Keyword.take(opts, [:limit, :location, :query, :type])
client.request(%{
args: [],
call: {OpenCode.Generated.Filesystem, :v2_fs_find},
url: "/api/fs/find",
method: :get,
query: query,
response: [
{200, {OpenCode.Generated.Filesystem, :v2_fs_find_200_json_resp}},
{400, {OpenCode.Generated.InvalidRequestError, :t}},
{401, {OpenCode.Generated.UnauthorizedError, :t}}
],
opts: opts
})
end
@type v2_fs_list_200_json_resp :: %{
data: [OpenCode.Generated.FileSystemEntry.t()],
location: OpenCode.Generated.LocationInfo.t()
}
@doc """
List directory
List direct children of one directory relative to the requested location.
## Options
* `location`
* `path`
"""
@spec v2_fs_list(opts :: keyword) ::
{:ok, OpenCode.Generated.Filesystem.v2_fs_list_200_json_resp()}
| {:error,
OpenCode.Generated.InvalidRequestError.t() | OpenCode.Generated.UnauthorizedError.t()}
def v2_fs_list(opts \\ []) do
client = opts[:client] || @default_client
query = Keyword.take(opts, [:location, :path])
client.request(%{
args: [],
call: {OpenCode.Generated.Filesystem, :v2_fs_list},
url: "/api/fs/list",
method: :get,
query: query,
response: [
{200, {OpenCode.Generated.Filesystem, :v2_fs_list_200_json_resp}},
{400, {OpenCode.Generated.InvalidRequestError, :t}},
{401, {OpenCode.Generated.UnauthorizedError, :t}}
],
opts: opts
})
end
@type v2_fs_read_200_json_resp :: %{
data: OpenCode.Generated.FileSystemContent.t(),
location: OpenCode.Generated.LocationInfo.t()
}
@doc """
Read file
Read one file relative to the requested location.
## Options
* `location`
* `path`
"""
@spec v2_fs_read(opts :: keyword) ::
{:ok, OpenCode.Generated.Filesystem.v2_fs_read_200_json_resp()}
| {:error,
OpenCode.Generated.InvalidRequestError.t() | OpenCode.Generated.UnauthorizedError.t()}
def v2_fs_read(opts \\ []) do
client = opts[:client] || @default_client
query = Keyword.take(opts, [:location, :path])
client.request(%{
args: [],
call: {OpenCode.Generated.Filesystem, :v2_fs_read},
url: "/api/fs/read",
method: :get,
query: query,
response: [
{200, {OpenCode.Generated.Filesystem, :v2_fs_read_200_json_resp}},
{400, {OpenCode.Generated.InvalidRequestError, :t}},
{401, {OpenCode.Generated.UnauthorizedError, :t}}
],
opts: opts
})
end
@doc false
@spec __fields__(atom) :: keyword
def __fields__(:v2_fs_find_200_json_resp) do
[
data: [{OpenCode.Generated.FileSystemEntry, :t}],
location: {OpenCode.Generated.LocationInfo, :t}
]
end
def __fields__(:v2_fs_list_200_json_resp) do
[
data: [{OpenCode.Generated.FileSystemEntry, :t}],
location: {OpenCode.Generated.LocationInfo, :t}
]
end
def __fields__(:v2_fs_read_200_json_resp) do
[
data: {OpenCode.Generated.FileSystemContent, :t},
location: {OpenCode.Generated.LocationInfo, :t}
]
end
end