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/session_questions.ex
defmodule OpenCode.Generated.SessionQuestions do
@moduledoc """
Provides API endpoints related to session questions
"""
@default_client OpenCode.Client
@type v2_question_request_list_200_json_resp :: %{
data: [OpenCode.Generated.QuestionV2Request.t()],
location: OpenCode.Generated.LocationInfo.t()
}
@doc """
List pending question requests
Retrieve pending question requests for a location.
## Options
* `location`
"""
@spec v2_question_request_list(opts :: keyword) ::
{:ok, OpenCode.Generated.SessionQuestions.v2_question_request_list_200_json_resp()}
| {:error,
OpenCode.Generated.InvalidRequestError.t() | OpenCode.Generated.UnauthorizedError.t()}
def v2_question_request_list(opts \\ []) do
client = opts[:client] || @default_client
query = Keyword.take(opts, [:location])
client.request(%{
args: [],
call: {OpenCode.Generated.SessionQuestions, :v2_question_request_list},
url: "/api/question/request",
method: :get,
query: query,
response: [
{200, {OpenCode.Generated.SessionQuestions, :v2_question_request_list_200_json_resp}},
{400, {OpenCode.Generated.InvalidRequestError, :t}},
{401, {OpenCode.Generated.UnauthorizedError, :t}}
],
opts: opts
})
end
@doc """
Reject pending question request
Reject a pending question request owned by a session.
"""
@spec v2_session_question_reject(
sessionID :: String.t(),
requestID :: String.t(),
opts :: keyword
) ::
:ok
| {:error,
OpenCode.Generated.InvalidRequestError.t()
| OpenCode.Generated.QuestionNotFoundError.t()
| OpenCode.Generated.SessionNotFoundError.t()
| OpenCode.Generated.UnauthorizedError.t()}
def v2_session_question_reject(sessionID, requestID, opts \\ []) do
client = opts[:client] || @default_client
client.request(%{
args: [sessionID: sessionID, requestID: requestID],
call: {OpenCode.Generated.SessionQuestions, :v2_session_question_reject},
url: "/api/session/#{sessionID}/question/#{requestID}/reject",
method: :post,
response: [
{204, :null},
{400, {OpenCode.Generated.InvalidRequestError, :t}},
{401, {OpenCode.Generated.UnauthorizedError, :t}},
{404,
{:union,
[
{OpenCode.Generated.QuestionNotFoundError, :t},
{OpenCode.Generated.SessionNotFoundError, :t}
]}}
],
opts: opts
})
end
@doc """
Reply to pending question request
Answer a pending question request owned by a session.
## Request Body
**Content Types**: `application/json`
"""
@spec v2_session_question_reply(
sessionID :: String.t(),
requestID :: String.t(),
body :: OpenCode.Generated.QuestionV2Reply.t(),
opts :: keyword
) ::
:ok
| {:error,
OpenCode.Generated.InvalidRequestError.t()
| OpenCode.Generated.QuestionNotFoundError.t()
| OpenCode.Generated.SessionNotFoundError.t()
| OpenCode.Generated.UnauthorizedError.t()}
def v2_session_question_reply(sessionID, requestID, body, opts \\ []) do
client = opts[:client] || @default_client
client.request(%{
args: [sessionID: sessionID, requestID: requestID, body: body],
call: {OpenCode.Generated.SessionQuestions, :v2_session_question_reply},
url: "/api/session/#{sessionID}/question/#{requestID}/reply",
body: body,
method: :post,
request: [{"application/json", {OpenCode.Generated.QuestionV2Reply, :t}}],
response: [
{204, :null},
{400, {OpenCode.Generated.InvalidRequestError, :t}},
{401, {OpenCode.Generated.UnauthorizedError, :t}},
{404,
{:union,
[
{OpenCode.Generated.QuestionNotFoundError, :t},
{OpenCode.Generated.SessionNotFoundError, :t}
]}}
],
opts: opts
})
end
@doc false
@spec __fields__(atom) :: keyword
def __fields__(:v2_question_request_list_200_json_resp) do
[
data: [{OpenCode.Generated.QuestionV2Request, :t}],
location: {OpenCode.Generated.LocationInfo, :t}
]
end
end