import type { ConnectorConfig } from "./config.js"; import { type ConnectorCredentialReference, type ConnectorConfigDocument } from "./config-document.js"; import { type McpToolsetName, type McpToolSurface } from "./constants.js"; import { type DiscordToolService } from "./mcp.js"; import { type ConnectorProfile } from "./profile.js"; import { ConnectorService } from "./service.js"; import { type SetupPresetDescriptor, type SetupPresetSelection } from "./setup-presets.js"; export declare const OPERATOR_REPORT_SCHEMA_VERSION = 36; export declare const SUPPORTED_NODE_MAJOR = 22; export declare const DOCTOR_CHECK_IDS: Readonly<{ administrationPolicy: "administration-policy"; announcementCrosspostPolicy: "announcement-crosspost-policy"; announcementSubscriptionAuditPolicy: "announcement-subscription-audit-policy"; announcementSubscriptionChangePolicy: "announcement-subscription-change-policy"; applicationEmojiAuditPolicy: "application-emoji-audit-policy"; applicationEmojiChangePolicy: "application-emoji-change-policy"; applicationEntitlementConsumptionPolicy: "application-entitlement-consumption-policy"; applicationCommandChangePolicy: "application-command-change-policy"; globalApplicationCommandChangePolicy: "global-application-command-change-policy"; applicationIntentChangePolicy: "application-intent-change-policy"; botProfileAuditPolicy: "bot-profile-audit-policy"; botProfileChangePolicy: "bot-profile-change-policy"; applicationMonetizationAuditPolicy: "application-monetization-audit-policy"; applicationTestEntitlementChangePolicy: "application-test-entitlement-change-policy"; applicationRoleConnectionMetadataChangePolicy: "application-role-connection-metadata-change-policy"; applicationBotVisibility: "application-bot-visibility"; applicationDefaultPermissions: "application-default-permissions"; applicationEventWebhooks: "application-event-webhooks"; applicationIdentity: "application-identity"; applicationInstall: "application-install"; applicationInteractionDelivery: "application-interaction-delivery"; applicationPresenceIntent: "application-presence-intent"; attachmentPolicy: "attachment-policy"; automodAuditPolicy: "automod-audit-policy"; automodChangePolicy: "automod-change-policy"; banAuditPolicy: "ban-audit-policy"; bulkBanAuditPolicy: "bulk-ban-audit-policy"; bulkBanChangePolicy: "bulk-ban-change-policy"; bulkMemberRolePolicy: "bulk-member-role-policy"; guildPruneAuditPolicy: "guild-prune-audit-policy"; guildPruneChangePolicy: "guild-prune-change-policy"; botIdentity: "bot-identity"; channelCloneAuditPolicy: "channel-clone-audit-policy"; channelCloneChangePolicy: "channel-clone-change-policy"; channelCreationPolicy: "channel-creation-policy"; channelMetadataPolicy: "channel-metadata-policy"; voiceChannelStatusPolicy: "voice-channel-status-policy"; channelScope: "channel-scope"; configuration: "configuration"; deletionPolicy: "deletion-policy"; directMessageAttachmentPolicy: "direct-message-attachment-policy"; directMessageAuditPolicy: "direct-message-audit-policy"; directMessageDeletionPolicy: "direct-message-deletion-policy"; directMessageDeliveryPolicy: "direct-message-delivery-policy"; directMessageEditingPolicy: "direct-message-editing-policy"; embedMessagePolicy: "embed-message-policy"; forumPostPolicy: "forum-post-policy"; forumTagAuditPolicy: "forum-tag-audit-policy"; forumTagChangePolicy: "forum-tag-change-policy"; guildAccess: "guild-access"; guildInstallationDrift: "guild-installation-drift"; guildDeparturePolicy: "guild-departure-policy"; guildMembersIntent: "guild-members-intent"; guildScope: "guild-scope"; guildExpressionAuditPolicy: "guild-expression-audit-policy"; guildExpressionChangePolicy: "guild-expression-change-policy"; guildIncidentAuditPolicy: "guild-incident-audit-policy"; guildIncidentChangePolicy: "guild-incident-change-policy"; guildProfileAuditPolicy: "guild-profile-audit-policy"; guildProfileChangePolicy: "guild-profile-change-policy"; gatewayPolicy: "gateway-policy"; guildScaffoldPolicy: "guild-scaffold-policy"; guildTemplateAuditPolicy: "guild-template-audit-policy"; guildTemplateChangePolicy: "guild-template-change-policy"; interactionPolicy: "interaction-policy"; integrationAuditPolicy: "integration-audit-policy"; integrationDeletionPolicy: "integration-deletion-policy"; inviteAuditPolicy: "invite-audit-policy"; inviteCreationPolicy: "invite-creation-policy"; inviteDeletionPolicy: "invite-deletion-policy"; memberDirectoryPolicy: "member-directory-policy"; memberNicknamePolicy: "member-nickname-policy"; otherMemberNicknamePolicy: "other-member-nickname-policy"; memberRolePolicy: "member-role-policy"; memberVerificationPolicy: "member-verification-policy"; memberVoiceAuditPolicy: "member-voice-audit-policy"; memberVoiceChangePolicy: "member-voice-change-policy"; messageContentIntent: "message-content-intent"; messageForwardPolicy: "message-forward-policy"; messagePinPolicy: "message-pin-policy"; nativeInteractionCommandPolicy: "native-interaction-command-policy"; nativeInteractionIngressPolicy: "native-interaction-ingress-policy"; nodeVersion: "node-version"; onboardingAuditPolicy: "onboarding-audit-policy"; onboardingChangePolicy: "onboarding-change-policy"; welcomeScreenAuditPolicy: "welcome-screen-audit-policy"; welcomeScreenChangePolicy: "welcome-screen-change-policy"; widgetPublicExposurePolicy: "widget-public-exposure-policy"; widgetSettingsAuditPolicy: "widget-settings-audit-policy"; widgetSettingsChangePolicy: "widget-settings-change-policy"; guildCommunityAuditPolicy: "guild-community-audit-policy"; guildCommunityChangePolicy: "guild-community-change-policy"; guildSettingsAuditPolicy: "guild-settings-audit-policy"; guildSettingsChangePolicy: "guild-settings-change-policy"; observability: "observability"; permissionOverwritePolicy: "permission-overwrite-policy"; permissionSyncPolicy: "permission-sync-policy"; pollAuditPolicy: "poll-audit-policy"; pollCreationPolicy: "poll-creation-policy"; pollEndPolicy: "poll-end-policy"; pollVoterAuditPolicy: "poll-voter-audit-policy"; reactionModerationPolicy: "reaction-moderation-policy"; reactionUserAuditPolicy: "reaction-user-audit-policy"; readResponseBudget: "read-response-budget"; roleCreationPolicy: "role-creation-policy"; roleConfigurationPolicy: "role-configuration-policy"; roleDeletionAuditPolicy: "role-deletion-audit-policy"; roleDeletionChangePolicy: "role-deletion-change-policy"; channelOrderingAuditPolicy: "channel-ordering-audit-policy"; channelOrderingChangePolicy: "channel-ordering-change-policy"; channelDeletionAuditPolicy: "channel-deletion-audit-policy"; channelDeletionChangePolicy: "channel-deletion-change-policy"; roleOrderingAuditPolicy: "role-ordering-audit-policy"; roleOrderingChangePolicy: "role-ordering-change-policy"; scheduledEventAuditPolicy: "scheduled-event-audit-policy"; scheduledEventChangePolicy: "scheduled-event-change-policy"; scheduledEventUserAuditPolicy: "scheduled-event-user-audit-policy"; soundboardAuditPolicy: "soundboard-audit-policy"; soundboardChangePolicy: "soundboard-change-policy"; soundboardPlaybackPolicy: "soundboard-playback-policy"; stageInstanceAuditPolicy: "stage-instance-audit-policy"; stageInstanceChangePolicy: "stage-instance-change-policy"; stageStartNotificationPolicy: "stage-start-notification-policy"; token: "token"; toolAccessContract: "tool-access-contract"; toolSurface: "tool-surface"; threadAuditPolicy: "thread-audit-policy"; threadChangePolicy: "thread-change-policy"; threadCreationPolicy: "thread-creation-policy"; webhookAuditPolicy: "webhook-audit-policy"; webhookChangePolicy: "webhook-change-policy"; webhookCreationPolicy: "webhook-creation-policy"; webhookDeletionPolicy: "webhook-deletion-policy"; webhookMessageAuditPolicy: "webhook-message-audit-policy"; webhookMessageChangePolicy: "webhook-message-change-policy"; webhookMessageDeletionPolicy: "webhook-message-deletion-policy"; webhookMessageDeliveryPolicy: "webhook-message-delivery-policy"; }>; export type DoctorCheckStatus = "fail" | "pass" | "warn"; export type OperatorReportStatus = "error" | "ok" | "warning"; export interface DoctorCheck { action?: string; id: string; reference?: string; status: DoctorCheckStatus; summary: string; } export interface IdentitySummary { applicationId: string; botId: string; configuredGuildCount: number; installedGuildCount: number; installedInScopeGuildCount: number; missingConfiguredGuildCount: number; unexpectedGuildCount: number; } export interface DoctorReport { checks: DoctorCheck[]; identity: IdentitySummary | null; online: boolean; schemaVersion: number; status: OperatorReportStatus; } export interface SetupReport { applicationId: string; botId: string; configBackupFile: string | null; configFile: string | null; credential: ConnectorCredentialReference; configuredGuildCount: number; installedGuildCount: number; installedInScopeGuildCount: number; launch: StdioLaunchDescriptor; preset: SetupPresetDescriptor | null; profile: ConnectorProfile | null; schemaVersion: number; serverName: string; status: "ok"; toolsets: McpToolsetName[]; toolSurface: McpToolSurface; unexpectedGuildCount: number; warnings: string[]; } export interface StdioLaunchDescriptor { args: string[]; command: string; environment: { forward: string[]; set: Record; }; requirements: { elicitation: "required-for-reviewed-writes"; requiredServer: true; toolApproval: "writes"; }; secrets: { environmentVariables: string[]; files: string[]; }; serverName: string; timeouts: { startupSeconds: number; toolSeconds: number; }; transport: "stdio"; } export interface SmokeReport extends IdentitySummary { destructiveTools: string[]; promptNames: string[]; protocolVersion: string; readOnlyTools: string[]; resourceTemplateUris: string[]; resourceUris: string[]; schemaVersion: number; serverName: string; serverVersion: string; status: "ok"; toolCount: number; toolsets: McpToolsetName[]; toolSurface: McpToolSurface; transport: "in-memory" | "stdio"; writeCapableTools: string[]; } type ConnectorStatus = Awaited>; export interface StatusProvider { getStatus(): Promise; } export interface DoctorOptions { config?: ConnectorConfig; document?: ConnectorConfigDocument; environment?: NodeJS.ProcessEnv; nodeVersion?: string; online?: boolean; selectionFailure?: unknown; service?: StatusProvider; } export interface SetupOptions { args?: readonly string[]; command?: string; configFile?: string; credentialFile?: string; credentialVariable?: string; environment?: NodeJS.ProcessEnv; overwriteConfig?: boolean; overwriteProfile?: boolean; profileDirectory?: string; profileName?: string; preset?: SetupPresetSelection; serverName?: string; service?: StatusProvider; } export interface SmokeOptions { config?: ConnectorConfig; environment?: NodeJS.ProcessEnv; launch?: { args: readonly string[]; command: string; }; service?: DiscordToolService; } export declare function diagnoseConnector(options?: DoctorOptions): Promise; export declare function createStdioLaunchDescriptor(options: { applicationId: string; args?: readonly string[]; botId: string; command?: string; config?: { document: ConnectorConfigDocument; file: string; }; profile?: ConnectorProfile; serverName?: string; }): StdioLaunchDescriptor; export declare function prepareSetup(options?: SetupOptions): Promise; export declare function smokeConnector(options?: SmokeOptions): Promise; export {}; //# sourceMappingURL=operator.d.ts.map