""" Copilot SDK - Python Client for GitHub Copilot CLI JSON-RPC based SDK for programmatic control of GitHub Copilot CLI """ from importlib.metadata import PackageNotFoundError from importlib.metadata import version as _pkg_version from ._mode import ( BUILTIN_TOOLS_ISOLATED, CopilotClientMode, ToolSet, ) from .canvas import ( CanvasAction, CanvasDeclaration, CanvasError, CanvasHandler, CanvasHostContext, CanvasHostContextCapabilities, CanvasJsonSchema, ExtensionInfo, OpenCanvasInstance, ) from .client import ( ChildProcessRuntimeConnection, CloudSessionOptions, CloudSessionRepository, CopilotClient, GetAuthStatusResponse, GetStatusResponse, LogLevel, ModelBilling, ModelCapabilities, ModelCapabilitiesOverride, ModelInfo, ModelLimits, ModelLimitsOverride, ModelPolicy, ModelSupports, ModelSupportsOverride, ModelVisionLimits, ModelVisionLimitsOverride, PingResponse, RemoteSessionMode, RuntimeConnection, SessionBackgroundEvent, SessionContext, SessionCreatedEvent, SessionDeletedEvent, SessionForegroundEvent, SessionLifecycleEvent, SessionLifecycleEventBase, SessionLifecycleEventMetadata, SessionLifecycleEventType, SessionLifecycleHandler, SessionListFilter, SessionMetadata, SessionUpdatedEvent, StdioRuntimeConnection, StopError, TcpRuntimeConnection, TelemetryConfig, UriRuntimeConnection, ) from .generated.session_events import ( PermissionRequest, SessionEvent, SessionEventType, ) from .session import ( AutoModeSwitchHandler, AutoModeSwitchRequest, AutoModeSwitchResponse, CommandContext, CommandDefinition, CopilotSession, CreateSessionFsHandler, ElicitationContext, ElicitationHandler, ElicitationParams, ElicitationResult, ErrorOccurredHandler, ErrorOccurredHookInput, ErrorOccurredHookOutput, ExitPlanModeHandler, ExitPlanModeRequest, ExitPlanModeResult, InfiniteSessionConfig, InputOptions, LargeToolOutputConfig, MCPHTTPServerConfig, MCPServerConfig, MCPStdioServerConfig, PermissionHandler, PermissionNoResult, PermissionRequestResult, PostToolUseFailureHandler, PostToolUseFailureHookInput, PostToolUseFailureHookOutput, PostToolUseHandler, PostToolUseHookInput, PostToolUseHookOutput, PreMcpToolCallHandler, PreMcpToolCallHookInput, PreMcpToolCallHookOutput, PreToolUseHandler, PreToolUseHookInput, PreToolUseHookOutput, ProviderConfig, ReasoningSummary, SessionCapabilities, SessionEndHandler, SessionEndHookInput, SessionEndHookOutput, SessionEventHandler, SessionFsCapabilities, SessionFsConfig, SessionHooks, SessionStartHandler, SessionStartHookInput, SessionStartHookOutput, SessionUiApi, SessionUiCapabilities, SystemMessageConfig, UserInputHandler, UserInputRequest, UserInputResponse, UserPromptSubmittedHandler, UserPromptSubmittedHookInput, UserPromptSubmittedHookOutput, ) from .session_fs_provider import ( SessionFsFileInfo, SessionFsProvider, SessionFsSqliteProvider, SessionFsSqliteQueryResult, create_session_fs_adapter, ) from .tools import ( Tool, ToolBinaryResult, ToolInvocation, ToolResult, ToolResultType, convert_mcp_call_tool_result, define_tool, ) try: __version__ = _pkg_version("github-copilot-sdk") except PackageNotFoundError: # No installed package metadata (e.g. running from a source checkout that # was never installed). Use a sentinel that can never masquerade as a real # release rather than a hardcoded version that would silently go stale. __version__ = "0.0.0.dev0" __all__ = [ "AutoModeSwitchHandler", "AutoModeSwitchRequest", "AutoModeSwitchResponse", "BUILTIN_TOOLS_ISOLATED", "CanvasAction", "CanvasDeclaration", "CanvasError", "CanvasHandler", "CanvasHostContext", "CanvasHostContextCapabilities", "CanvasJsonSchema", "ChildProcessRuntimeConnection", "CloudSessionOptions", "CloudSessionRepository", "CommandContext", "CommandDefinition", "CopilotClient", "CopilotClientMode", "CopilotSession", "CreateSessionFsHandler", "ElicitationContext", "ElicitationHandler", "ElicitationParams", "ElicitationResult", "ErrorOccurredHandler", "ErrorOccurredHookInput", "ErrorOccurredHookOutput", "ExitPlanModeHandler", "ExitPlanModeRequest", "ExitPlanModeResult", "ExtensionInfo", "GetAuthStatusResponse", "GetStatusResponse", "InfiniteSessionConfig", "InputOptions", "LargeToolOutputConfig", "LogLevel", "MCPHTTPServerConfig", "MCPServerConfig", "MCPStdioServerConfig", "ModelBilling", "ModelCapabilities", "ModelCapabilitiesOverride", "ModelInfo", "ModelLimits", "ModelLimitsOverride", "ModelPolicy", "ModelSupports", "ModelSupportsOverride", "ModelVisionLimits", "ModelVisionLimitsOverride", "OpenCanvasInstance", "PermissionHandler", "PermissionNoResult", "PermissionRequest", "PermissionRequestResult", "PingResponse", "PostToolUseHandler", "PostToolUseFailureHandler", "PostToolUseFailureHookInput", "PostToolUseFailureHookOutput", "PostToolUseHookInput", "PostToolUseHookOutput", "PreMcpToolCallHandler", "PreMcpToolCallHookInput", "PreMcpToolCallHookOutput", "PreToolUseHandler", "PreToolUseHookInput", "PreToolUseHookOutput", "ProviderConfig", "ReasoningSummary", "RemoteSessionMode", "RuntimeConnection", "SessionBackgroundEvent", "SessionCapabilities", "SessionContext", "SessionCreatedEvent", "SessionDeletedEvent", "SessionEndHandler", "SessionEndHookInput", "SessionEndHookOutput", "SessionEvent", "SessionEventHandler", "SessionEventType", "SessionForegroundEvent", "SessionFsCapabilities", "SessionFsConfig", "SessionFsFileInfo", "SessionFsProvider", "SessionFsSqliteProvider", "SessionFsSqliteQueryResult", "SessionHooks", "SessionLifecycleEvent", "SessionLifecycleEventBase", "SessionLifecycleEventMetadata", "SessionLifecycleEventType", "SessionLifecycleHandler", "SessionListFilter", "SessionMetadata", "SessionStartHandler", "SessionStartHookInput", "SessionStartHookOutput", "SessionUiApi", "SessionUiCapabilities", "SessionUpdatedEvent", "StdioRuntimeConnection", "StopError", "SystemMessageConfig", "TcpRuntimeConnection", "TelemetryConfig", "Tool", "ToolBinaryResult", "ToolInvocation", "ToolResult", "ToolResultType", "ToolSet", "UriRuntimeConnection", "UserInputHandler", "UserInputRequest", "UserInputResponse", "UserPromptSubmittedHandler", "UserPromptSubmittedHookInput", "UserPromptSubmittedHookOutput", "convert_mcp_call_tool_result", "create_session_fs_adapter", "define_tool", ]