OpenCode.Generated.Sessions (opencode_sdk v0.1.88)

Copy Markdown View Source

Provides API endpoints related to sessions

Summary

Types

v2_session_active_200_json_resp()

@type v2_session_active_200_json_resp() :: %{data: map()}

v2_session_context_200_json_resp()

v2_session_create_200_json_resp()

@type v2_session_create_200_json_resp() :: %{
  data: OpenCode.Generated.SessionV2Info.t()
}

v2_session_events_200__resp()

@type v2_session_events_200__resp() :: %{
  data: String.t(),
  event: String.t(),
  id: String.t()
}

v2_session_get_200_json_resp()

@type v2_session_get_200_json_resp() :: %{data: OpenCode.Generated.SessionV2Info.t()}

v2_session_message_200_json_resp()

v2_session_prompt_200_json_resp()

@type v2_session_prompt_200_json_resp() :: %{
  data: OpenCode.Generated.SessionInputAdmitted.t()
}

v2_session_revert_stage_200_json_resp()

@type v2_session_revert_stage_200_json_resp() :: %{
  data: OpenCode.Generated.RevertState.t()
}

Functions

v2_session_active(opts \\ [])

List active sessions

Retrieve foreground Session drains currently owned by this OpenCode process. Sessions absent from the result are inactive.

v2_session_compact(sessionID, opts \\ [])

Compact session

Compact a session conversation.

v2_session_context(sessionID, opts \\ [])

Get session context

Retrieve the active context messages for a session (all messages after the last compaction).

v2_session_create(body, opts \\ [])

@spec v2_session_create(body :: map(), opts :: keyword()) ::
  {:ok, v2_session_create_200_json_resp()}
  | {:error,
     OpenCode.Generated.InvalidRequestError.t()
     | OpenCode.Generated.UnauthorizedError.t()}

Create session

Create a session at the requested location.

Request Body

Content Types: application/json

v2_session_events(sessionID, opts \\ [])

Subscribe to session events

Replay durable events after an aggregate sequence, then continue with new durable events.

Options

  • after

v2_session_get(sessionID, opts \\ [])

Get session

Retrieve a session by ID.

v2_session_history(sessionID, opts \\ [])

Get session history

Read one finite page of public durable Session events after an exclusive aggregate sequence. Newly committed events may appear on later pages.

Options

  • limit
  • after

v2_session_interrupt(sessionID, opts \\ [])

Interrupt session execution

Interrupt active execution owned by this OpenCode process. Idle interruption is a no-op.

v2_session_list(opts \\ [])

List sessions

Retrieve sessions in the requested order. Items keep that order across pages; use cursor.next or cursor.previous to move through the ordered list.

Options

  • workspace
  • limit
  • order
  • search
  • directory
  • project
  • subpath
  • cursor

v2_session_message(sessionID, messageID, opts \\ [])

Get session message

Retrieve one projected message owned by the Session.

v2_session_prompt(sessionID, body, opts \\ [])

Send message

Durably admit one session input and schedule agent-loop execution unless resume is false.

Request Body

Content Types: application/json

v2_session_revert_clear(sessionID, opts \\ [])

Clear staged revert

v2_session_revert_commit(sessionID, opts \\ [])

@spec v2_session_revert_commit(sessionID :: String.t(), opts :: keyword()) ::
  :ok
  | {:error,
     OpenCode.Generated.InvalidRequestError.t()
     | OpenCode.Generated.SessionNotFoundError.t()
     | OpenCode.Generated.UnauthorizedError.t()}

Commit staged revert

v2_session_revert_stage(sessionID, body, opts \\ [])

Stage session revert

Stage or move a reversible session boundary and optionally apply its file changes.

Request Body

Content Types: application/json

v2_session_switch_agent(sessionID, body, opts \\ [])

@spec v2_session_switch_agent(
  sessionID :: String.t(),
  body :: map(),
  opts :: keyword()
) ::
  :ok
  | {:error,
     OpenCode.Generated.InvalidRequestError.t()
     | OpenCode.Generated.SessionNotFoundError.t()
     | OpenCode.Generated.UnauthorizedError.t()}

Switch session agent

Switch the agent used by subsequent provider turns.

Request Body

Content Types: application/json

v2_session_switch_model(sessionID, body, opts \\ [])

@spec v2_session_switch_model(
  sessionID :: String.t(),
  body :: map(),
  opts :: keyword()
) ::
  :ok
  | {:error,
     OpenCode.Generated.InvalidRequestError.t()
     | OpenCode.Generated.SessionNotFoundError.t()
     | OpenCode.Generated.UnauthorizedError.t()}

Switch session model

Switch the model used by subsequent provider turns.

Request Body

Content Types: application/json

v2_session_wait(sessionID, opts \\ [])

Wait for session

Wait for a session agent loop to become idle.