# Copilot SDK v2.3.0 - Table of Contents

> Elixir SDK for the GitHub Copilot CLI

## Pages

- [Copilot Supercharged SDK for Elixir](readme.md)

## Modules

- [Copilot](Copilot.md): Elixir SDK for the GitHub Copilot CLI.
- [Copilot.Client](Copilot.Client.md): Main client for interacting with the Copilot CLI.
- [Copilot.DefineTool](Copilot.DefineTool.md): Helper for defining tools to expose to the Copilot CLI.
- [Copilot.JsonRpcClient](Copilot.JsonRpcClient.md): GenServer-based JSON-RPC 2.0 client using Port for stdio communication.
- [Copilot.SdkProtocolVersion](Copilot.SdkProtocolVersion.md): SDK protocol version constant.
- [Copilot.Session](Copilot.Session.md): Represents a single conversation session with the Copilot CLI.
- [Copilot.Types](Copilot.Types.md): Type definitions for the Copilot SDK.
- [Copilot.Types.CanvasAction](Copilot.Types.CanvasAction.md): A single action exposed by a canvas.
- [Copilot.Types.CanvasActionContext](Copilot.Types.CanvasActionContext.md): Context passed to a canvas action handler.
- [Copilot.Types.CanvasDeclaration](Copilot.Types.CanvasDeclaration.md): Declarative metadata for a canvas provided by the SDK.
- [Copilot.Types.CanvasHostCapabilities](Copilot.Types.CanvasHostCapabilities.md): Canvas-related capabilities reported by the host.
- [Copilot.Types.CanvasHostContext](Copilot.Types.CanvasHostContext.md): Host context supplied to canvas callbacks.
- [Copilot.Types.CanvasLifecycleContext](Copilot.Types.CanvasLifecycleContext.md): Lifecycle context for a canvas instance.
- [Copilot.Types.CanvasOpenContext](Copilot.Types.CanvasOpenContext.md): Context passed to a canvas open handler.
- [Copilot.Types.CanvasOpenResponse](Copilot.Types.CanvasOpenResponse.md): Response returned by a canvas open handler.
- [Copilot.Types.CloudSessionOptions](Copilot.Types.CloudSessionOptions.md): Options for creating a cloud session.
- [Copilot.Types.CloudSessionRepository](Copilot.Types.CloudSessionRepository.md): Repository metadata associated with a cloud session.
- [Copilot.Types.CommandContext](Copilot.Types.CommandContext.md): Context for a slash-command invocation.
- [Copilot.Types.CommandDefinition](Copilot.Types.CommandDefinition.md): Definition of a slash command registered with the session.
- [Copilot.Types.CommandsInvokeRequest](Copilot.Types.CommandsInvokeRequest.md): Request to invoke a command.
- [Copilot.Types.CommandsListRequest](Copilot.Types.CommandsListRequest.md): Request to list available commands.
- [Copilot.Types.CopilotClientOptions](Copilot.Types.CopilotClientOptions.md): Options for creating a CopilotClient.
- [Copilot.Types.CustomAgentConfig](Copilot.Types.CustomAgentConfig.md): Configuration for a custom agent.
- [Copilot.Types.ElicitationContext](Copilot.Types.ElicitationContext.md): Context for an elicitation request from the server.
- [Copilot.Types.ElicitationResult](Copilot.Types.ElicitationResult.md): Result returned from an elicitation handler.
- [Copilot.Types.ExitPlanModeRequest](Copilot.Types.ExitPlanModeRequest.md): Request to exit plan mode.
- [Copilot.Types.ExitPlanModeResponse](Copilot.Types.ExitPlanModeResponse.md): Response to an exit plan mode request.
- [Copilot.Types.GetAuthStatusResponse](Copilot.Types.GetAuthStatusResponse.md): Response from auth.getStatus.
- [Copilot.Types.GetStatusResponse](Copilot.Types.GetStatusResponse.md): Response from status.get.
- [Copilot.Types.InfiniteSessionConfig](Copilot.Types.InfiniteSessionConfig.md): Configuration for infinite sessions with automatic context compaction.
- [Copilot.Types.MCPLocalServerConfig](Copilot.Types.MCPLocalServerConfig.md): Configuration for a local/stdio MCP server.
- [Copilot.Types.MCPRemoteServerConfig](Copilot.Types.MCPRemoteServerConfig.md): Configuration for a remote MCP server (HTTP or SSE).
- [Copilot.Types.MessageOptions](Copilot.Types.MessageOptions.md): Options for sending a message to a session.
- [Copilot.Types.ModelBilling](Copilot.Types.ModelBilling.md): Model billing information.
- [Copilot.Types.ModelBillingTokenPrices](Copilot.Types.ModelBillingTokenPrices.md): Token prices for model billing.
- [Copilot.Types.ModelCapabilities](Copilot.Types.ModelCapabilities.md): Model capabilities and limits.
- [Copilot.Types.ModelInfo](Copilot.Types.ModelInfo.md): Information about an available model.
- [Copilot.Types.ModelLimits](Copilot.Types.ModelLimits.md): Model limits.
- [Copilot.Types.ModelPickerPriceCategory](Copilot.Types.ModelPickerPriceCategory.md): Price category for the model picker.
- [Copilot.Types.ModelPolicy](Copilot.Types.ModelPolicy.md): Model policy state.
- [Copilot.Types.ModelSupports](Copilot.Types.ModelSupports.md): Model support flags.
- [Copilot.Types.ModelVisionLimits](Copilot.Types.ModelVisionLimits.md): Vision-specific limits.
- [Copilot.Types.PermissionRequest](Copilot.Types.PermissionRequest.md): Permission request from the server.
- [Copilot.Types.PermissionRequestResult](Copilot.Types.PermissionRequestResult.md): Result of a permission decision.
- [Copilot.Types.PingResponse](Copilot.Types.PingResponse.md): Response from ping.
- [Copilot.Types.ProviderConfig](Copilot.Types.ProviderConfig.md): Configuration for a custom API provider (BYOK).
- [Copilot.Types.RemoteEnableRequest](Copilot.Types.RemoteEnableRequest.md): Request to enable remote mode.
- [Copilot.Types.RemoteEnableResult](Copilot.Types.RemoteEnableResult.md): Result of enabling remote mode.
- [Copilot.Types.RemoteSessionMode](Copilot.Types.RemoteSessionMode.md): Mode for remote sessions.
- [Copilot.Types.ResumeSessionConfig](Copilot.Types.ResumeSessionConfig.md): Configuration for resuming an existing session.
- [Copilot.Types.SectionOverride](Copilot.Types.SectionOverride.md): Override operation for a single system prompt section.
- [Copilot.Types.SessionConfig](Copilot.Types.SessionConfig.md): Configuration for creating a session.
- [Copilot.Types.SessionFsConfig](Copilot.Types.SessionFsConfig.md): Configuration for a custom session filesystem provider.
- [Copilot.Types.SessionFsFileInfo](Copilot.Types.SessionFsFileInfo.md): File metadata returned by session filesystem operations.
- [Copilot.Types.SessionFsProvider](Copilot.Types.SessionFsProvider.md): Behaviour for session filesystem providers.
- [Copilot.Types.SessionHooks](Copilot.Types.SessionHooks.md): Configuration for session hooks.
- [Copilot.Types.SessionLifecycleEvent](Copilot.Types.SessionLifecycleEvent.md): Session lifecycle event notification.
- [Copilot.Types.SessionMetadata](Copilot.Types.SessionMetadata.md): Metadata about a session.
- [Copilot.Types.SkillsLoadDiagnostics](Copilot.Types.SkillsLoadDiagnostics.md): Diagnostics from loading skills.
- [Copilot.Types.SlashCommandInfo](Copilot.Types.SlashCommandInfo.md): Information about a slash command.
- [Copilot.Types.SlashCommandInput](Copilot.Types.SlashCommandInput.md): Input specification for a slash command.
- [Copilot.Types.SlashCommandInputCompletion](Copilot.Types.SlashCommandInputCompletion.md): Completion type for slash command input.
- [Copilot.Types.SlashCommandKind](Copilot.Types.SlashCommandKind.md): Kind of a slash command.
- [Copilot.Types.SystemMessageAppendConfig](Copilot.Types.SystemMessageAppendConfig.md): Append mode: SDK foundation plus optional appended content.
- [Copilot.Types.SystemMessageCustomizeConfig](Copilot.Types.SystemMessageCustomizeConfig.md): Customize mode: override individual sections of the system prompt.
- [Copilot.Types.SystemMessageReplaceConfig](Copilot.Types.SystemMessageReplaceConfig.md): Replace mode: caller provides entire system message.
- [Copilot.Types.Tool](Copilot.Types.Tool.md): Definition of a tool exposed to the Copilot CLI.
- [Copilot.Types.ToolBinaryResult](Copilot.Types.ToolBinaryResult.md): Binary result from a tool invocation.
- [Copilot.Types.ToolInvocation](Copilot.Types.ToolInvocation.md): Context passed to a tool handler when invoked.
- [Copilot.Types.ToolResult](Copilot.Types.ToolResult.md): Structured result of a tool invocation.
- [Copilot.Types.TraceContext](Copilot.Types.TraceContext.md): OpenTelemetry-compatible trace context for RPC payloads.
- [Copilot.Types.UserInputRequest](Copilot.Types.UserInputRequest.md): Request for user input from the agent (enables ask_user tool).
- [Copilot.Types.UserInputResponse](Copilot.Types.UserInputResponse.md): Response to a user input request.

