Packages
opencode_sdk
0.1.77
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/question.ex
defmodule OpenCode.Generated.Question do
@moduledoc """
Provides API endpoints related to question
"""
@default_client OpenCode.Client
@doc """
List pending questions
Get all pending question requests across all sessions.
## Options
* `directory`
* `workspace`
"""
@spec question_list(opts :: keyword) ::
{:ok, [OpenCode.Generated.QuestionRequest.t()]}
| {:error, OpenCode.Generated.BadRequestError.t()}
def question_list(opts \\ []) do
client = opts[:client] || @default_client
query = Keyword.take(opts, [:directory, :workspace])
client.request(%{
args: [],
call: {OpenCode.Generated.Question, :question_list},
url: "/question",
method: :get,
query: query,
response: [
{200, [{OpenCode.Generated.QuestionRequest, :t}]},
{400, {OpenCode.Generated.BadRequestError, :t}}
],
opts: opts
})
end
@doc """
Reject question request
Reject a question request from the AI assistant.
## Options
* `directory`
* `workspace`
"""
@spec question_reject(requestID :: String.t(), opts :: keyword) ::
{:ok, boolean}
| {:error,
OpenCode.Generated.EffectHttpApiErrorBadRequest.t()
| OpenCode.Generated.InvalidRequestError.t()
| OpenCode.Generated.QuestionNotFoundError.t()}
def question_reject(requestID, opts \\ []) do
client = opts[:client] || @default_client
query = Keyword.take(opts, [:directory, :workspace])
client.request(%{
args: [requestID: requestID],
call: {OpenCode.Generated.Question, :question_reject},
url: "/question/#{requestID}/reject",
method: :post,
query: query,
response: [
{200, :boolean},
{400,
{:union,
[
{OpenCode.Generated.EffectHttpApiErrorBadRequest, :t},
{OpenCode.Generated.InvalidRequestError, :t}
]}},
{404, {OpenCode.Generated.QuestionNotFoundError, :t}}
],
opts: opts
})
end
@doc """
Reply to question request
Provide answers to a question request from the AI assistant.
## Options
* `directory`
* `workspace`
## Request Body
**Content Types**: `application/json`
"""
@spec question_reply(requestID :: String.t(), body :: map, opts :: keyword) ::
{:ok, boolean}
| {:error,
OpenCode.Generated.EffectHttpApiErrorBadRequest.t()
| OpenCode.Generated.InvalidRequestError.t()
| OpenCode.Generated.QuestionNotFoundError.t()}
def question_reply(requestID, body, opts \\ []) do
client = opts[:client] || @default_client
query = Keyword.take(opts, [:directory, :workspace])
client.request(%{
args: [requestID: requestID, body: body],
call: {OpenCode.Generated.Question, :question_reply},
url: "/question/#{requestID}/reply",
body: body,
method: :post,
query: query,
request: [{"application/json", :map}],
response: [
{200, :boolean},
{400,
{:union,
[
{OpenCode.Generated.EffectHttpApiErrorBadRequest, :t},
{OpenCode.Generated.InvalidRequestError, :t}
]}},
{404, {OpenCode.Generated.QuestionNotFoundError, :t}}
],
opts: opts
})
end
end