* Copyright (c) Microsoft Corporation. All rights reserved.
*--------------------------------------------------------------------------------------------*/
* Copilot SDK - TypeScript/Node.js Client
*
* JSON-RPC based SDK for programmatic control of GitHub Copilot CLI
*/
export { CopilotClient } from "./client.js";
export type { HostLocalServerOptions, HostGitHubEnvironmentOptions } from "./generated/rpc.js";
export {
AhpHost,
type AhpHostExit,
type AhpHostOptions,
type AhpSessionCreateRequest,
type AhpSessionResumeRequest,
} from "./host.js";
export { DisableBypassPermissionsModes, RuntimeConnection } from "./types.js";
export { BuiltInTools, ToolSet } from "./toolSet.js";
export { CopilotSession, type AssistantMessageEvent } from "./session.js";
export { defineWorkflow, WorkflowResumeError, isWorkflowRunTerminal } from "./workflow.js";
export {
Canvas,
CanvasError,
createCanvas,
type CanvasAction,
type CanvasDeclaration,
type CanvasHostContext,
type CanvasHostContextCapabilities,
type CanvasJsonSchema,
type CanvasOptions,
} from "./canvas.js";
export {
defineTool,
approveAll,
createAttributedPermissionResult,
convertMcpCallToolResult,
createSessionFsAdapter,
CopilotRequestHandler,
CopilotWebSocketHandler,
CopilotWebSocketCloseStatus,
CopilotWebSocketForwarder,
SessionFsSqliteTransactionFailure,
SessionFsWriteFailure,
SYSTEM_MESSAGE_SECTIONS,
} from "./types.js";
export type * from "./generated/session-events.js";
export type {
AskUserVariant,
CommandContext,
CommandDefinition,
CommandHandler,
CanvasProviderIdentity,
CloudSessionOptions,
CloudSessionRepository,
AuthIdentityMetadata,
AuthInfoType,
ConnectorAccountRequest,
ConnectorAvailability,
ConnectorCapabilities,
ConnectorCatalogEntry,
ConnectorCatalogResult,
ConnectorCatalogStatus,
ConnectorConnectRequest,
ConnectorConnectResult,
ConnectorContinueRequest,
ConnectorDisconnectResult,
ConnectorMcpStatus,
ConnectorReconcileRequest,
ConnectorRuntimeStatus,
ConnectorSessionAccount,
ConnectorSessionAccountResult,
ConnectorStatus,
AutoModeSwitchHandler,
AutoModeSwitchRequest,
AutoModeSwitchResponse,
AgentStopHandler,
AgentStopHookInput,
AgentStopHookOutput,
SubagentStartHandler,
SubagentStartHookInput,
SubagentStartHookOutput,
SubagentStopHandler,
SubagentStopHookInput,
SubagentStopHookOutput,
UserPromptTransformedHandler,
UserPromptTransformedHookInput,
UserPromptTransformedHookOutput,
CopilotClientInfo,
CopilotClientMode,
CopilotClientOptions,
InstallationConfirmationHandler,
InstallationConfirmationRequest,
InstallationConfirmationResponse,
InstallationDecision,
InstallationReview,
McpInstallationReview,
CopilotExpAssignmentResponse,
StdioRuntimeConnection,
InProcessRuntimeConnection,
TcpRuntimeConnection,
UriRuntimeConnection,
ChildProcessRuntimeConnection,
CustomAgentConfig,
ElicitationFieldValue,
ElicitationHandler,
ElicitationParams,
ElicitationContext,
ElicitationResult,
ElicitationSchema,
ElicitationSchemaField,
ExpConfigEntry,
ExpFlagValue,
ExitPlanModeHandler,
ExitPlanModeRequest,
ExitPlanModeResult,
ExtensionLaunchProfile,
ExtensionLaunchProvider,
ExtensionLaunchProviderResolveRequest,
ExtensionLaunchProviderResolveResult,
ExtensionInfo,
ForegroundSessionInfo,
GetAuthStatusResponse,
GetStatusResponse,
GitHubMcpToolConfig,
GitHubTelemetryNotification,
GitHubTelemetryEvent,
GitHubTelemetryClientInfo,
GitHubTokenAcquireReason,
GitHubTokenAcquireResult,
GitHubTokenProvider,
GitHubTokenProviderArgs,
GitHubTokenProviderResult,
InfiniteSessionConfig,
LargeToolOutputConfig,
MemoryConfiguration,
UiInputOptions,
MCPStdioServerConfig,
MCPHTTPServerConfig,
MCPServerConfig,
DefaultAgentConfig,
BearerTokenProvider,
ExtensionContextAttachment,
MessageOptions,
ResponseSchema,
MessageSource,
ManagedSettings,
ManagedSettingsPermissions,
ModelBilling,
ModelBillingTokenPrices,
ModelBillingTokenPricesLongContext,
AutoTier,
CapiSessionOptions,
CurrentModel,
ModelSwitchAutoTierResult,
ModelSwitchAutoTierStatus,
ModelCapabilities,
ModelCapabilitiesOverride,
ModelInfo,
ModelPolicy,
NamedProviderConfig,
PermissionHandler,
PermissionRequest,
PermissionRequestedData,
PermissionRequestedEvent,
PermissionRequestResult,
AttributedPermissionResult,
PermissionDecisionContext,
PermissionDecisionOutcome,
PermissionDecisionSource,
PermissionDecisionSurface,
PermissionResponseCapability,
ProviderConfig,
ProviderConfigModelProvider,
ProviderModelConfig,
ProviderTokenArgs,
RemoteSessionMode,
SandboxConfigSource,
ResumeSessionConfig,
TranscriptRecovery,
SectionOverride,
SectionOverrideAction,
SectionTransformFn,
SessionCapabilities,
SessionConfig,
SessionConfigBase,
SessionEvent,
SessionEventHandler,
SessionEventPayload,
SessionEventType,
SessionLifecycleEvent,
SessionLifecycleEventMetadata,
SessionLifecycleEventType,
SessionLifecycleHandler,
SessionHooks,
SessionCreatedEvent,
SessionDeletedEvent,
SessionUpdatedEvent,
SessionForegroundEvent,
SessionBackgroundEvent,
SessionContext,
SessionListFilter,
SessionMetadata,
SessionUiApi,
SessionFsConfig,
SessionFsProvider,
SessionFsFileInfo,
SessionFsSqliteQueryResult,
SessionFsSqliteQueryType,
SessionFsSqliteProvider,
SessionFsSqliteStatement,
SessionFsSqliteTransactionErrorClass,
SkillProvider,
SkillProviderCallOptions,
SkillProviderDescriptor,
CopilotRequestContext,
SystemMessageAppendConfig,
SystemMessageConfig,
SystemMessageCustomizeConfig,
SystemMessageReplaceConfig,
SystemMessageSection,
TelemetryConfig,
TraceContext,
TraceContextProvider,
Tool,
ToolHandler,
ToolInvocation,
CurrentToolMetadata,
ToolTelemetry,
ToolResultObject,
ToolSearchConfig,
TypedSessionEventHandler,
TypedSessionLifecycleHandler,
ZodSchema,
} from "./types.js";
export type {
JsonValue,
WorkflowRunOptions,
WorkflowResumeOptions,
WorkflowLimitOverrides,
WorkflowResumeErrorCode,
SessionWorkflowApi,
WorkflowAgentOptions,
WorkflowContext,
WorkflowDefinition,
WorkflowHandle,
WorkflowJsonSchema,
WorkflowLimits,
WorkflowMeta,
WorkflowPipelineStage,
WorkflowStepOptions,
WorkflowRunResult,
WorkflowRunStatus,
WorkflowRunSummary,
WorkflowListRunsOptions,
WorkflowRunsPage,
WorkflowRunDetail,
WorkflowProgressPage,
WorkflowProgressLine,
WorkflowPhaseObservation,
WorkflowPhaseStatus,
WorkflowAgentSummary,
} from "./workflow.js";