ClaudeCode.Message.SystemMessage.ElicitationComplete (ClaudeCode v0.36.3)

View Source

Represents an elicitation complete message from the Claude CLI.

Emitted when an MCP server elicitation flow has completed.

Fields

  • :mcp_server_name - Name of the MCP server that completed elicitation
  • :elicitation_id - Unique identifier for the elicitation
  • :uuid - Message UUID
  • :session_id - Session identifier

JSON Format

{
  "type": "system",
  "subtype": "elicitation_complete",
  "mcp_server_name": "server-name",
  "elicitation_id": "elicit-abc123",
  "uuid": "...",
  "session_id": "..."
}

Summary

Functions

Type guard to check if a value is an ElicitationComplete.

Creates a new ElicitationComplete from JSON data.

Types

t()

@type t() :: %ClaudeCode.Message.SystemMessage.ElicitationComplete{
  elicitation_id: String.t(),
  mcp_server_name: String.t(),
  session_id: String.t(),
  subtype: :elicitation_complete,
  type: :system,
  uuid: String.t() | nil
}

Functions

elicitation_complete?(arg1)

@spec elicitation_complete?(any()) :: boolean()

Type guard to check if a value is an ElicitationComplete.

new(json)

@spec new(map()) :: {:ok, t()} | {:error, atom()}

Creates a new ElicitationComplete from JSON data.

Examples

iex> ElicitationComplete.new(%{
...>   "type" => "system",
...>   "subtype" => "elicitation_complete",
...>   "mcp_server_name" => "my-server",
...>   "elicitation_id" => "elicit-1",
...>   "session_id" => "session-1"
...> })
{:ok, %ElicitationComplete{type: :system, subtype: :elicitation_complete, ...}}

iex> ElicitationComplete.new(%{"type" => "assistant"})
{:error, :invalid_message_type}