@twilio/flex-ui
Version:
Twilio Flex UI
128 lines (127 loc) • 6.06 kB
TypeScript
export type FeatureEndpointResponse = {
features: Feature[];
insightsActive: boolean;
};
export declare enum FeatureFlag {
TestFeature = "test-feature",
TestPilotFeature = "test-pilot-feature",
FlexInsights = "flex-insights",
FlexInsightsForceDisable = "flex-insights-force-disable",
FileAttachmentsInChat = "file-attachments-in-chat",
QueueDetail = "flex-queue-detail",
SingleSession = "flex-single-session",
ChatAutoJoin = "flex-chat-auto-join",
WarmTransfers = "flex-warm-transfers",
DisableDependencyReassignment = "disable-dependency-reassignment",
DisableErrorTelemetry = "flex-disable-error-telemetry",
ExternalWarmTransfers = "external-warm-transfers",
PluginRenderInjectSrc = "plugin-render-inject-src",
PluginsUsePluginProxy = "plugin-use-plugin-proxy",
PluginActivityConsoleLogging = "plugin-activity-console-logging",
DisableMessagingUIV2 = "disable-flex-messaging-ui-v2",
DisableOrganicMessageSorting = "disable-flex-organic-message-sorting",
DisableDegradedModeBanner = "disable-degraded-mode-banner",
InsightsAuthenticatedRecordings = "insights-authenticated-recordings",
DisableMultiCallAlert = "disable-multi-call-alert",
FlexUnifyPanel = "flex-unify-panel",
FlexUnifyShowChangeProfileMenuOnWrapUp = "flex-unify-show-change-profile-menu-on-wrap-up",
CCAIFetchTranscript = "flex-ccai-fetch-transcript-for-virtual-agent",
WorkerTransferDirectoryCache = "worker-transfer-directory-cache",
CustomerHistory = "customer-history",
AIVoiceWrapupNotes = "ai-voice-wrapup-notes",
AIConversationWrapupNotes = "ai-conversation-wrapup-notes",
AIWrapupNotesTopics = "ai-wrapup-notes-topics",
FlexDataClient = "flex-data-client",
FlexDataCustomization = "flex-data-customization",
DisableOfflineTransitionOnDisconnect = "disable-offline-transition-on-disconnect",
UICustomizationServiceBeta = "ui-customization-service-beta",
QueueMetricFilterConfig = "queue-metrics-filter-config",
QueueMetricFilterConfigPublic = "queue-metrics-filter-config-public",
CumulativeStats = "queue-stats-cumulative-metrics",
DeviceManagerBeta = "device-manager-beta",
EmailPauseEnabled = "flex-console-park-config",
LeavePauseResumeAllDigitalChannels = "leave-pause-resume-all-digital-channels",
LeavePauseResumeForEmailOnly = "leave-pause-resume-for-email-only",
WrapupTaskOnLeaveAndPause = "wrapup-task-on-leave-and-pause",
RemoveParticipantOnTaskCompletion = "remove-participant-on-task-completion",
LocalizationBeta = "localization-beta",
FlexMultiTabSupport = "flex-multi-tab-support",
EnableConversationalInsightsFilters = "enable-conversational-insights-filters",
NewTransferExperience = "new-transfer-experience",
DigitalTransferNotes = "digital-transfer-notes",
DigitalTransfersAISummary = "digital-transfer-ai-summary-enabled",
AgentCopilot = "agent-copilot-knowledge-base",
AgentCopilotNextBestResponse = "agent-copilot-next-best-response",
AgentCopilotKnowledgeBaseRegenerateResponse = "agent-copilot-knowledge-base-regenerate-response",
ConditionalHighlighting = "conditional-highlighting-queues-stats",
ConversationalInsights = "enable-supervisor-desktop",
TeamsViewTerminatedTaskSyncFix = "teams-view-terminated-tasks-sync-issue",
ConditionalAlerting = "conditional-alerting-notifications",
FlexWebChatShowCustomerLeft = "flex-webchat-show-customer-left",
ShowEmailRecipientChangeConfirmationDialog = "show-email-recipient-change-confirmation-dialog",
FlexTeamsViewColumns = "flex-teams-view-column-filters",
EnableContentTemplateBrowser = "enable-content-template-browser",
PauseStatusTimeout = "pause_status_timeout",
LongestAvailableAgent = "queues-stats-longest-available-agent",
DisableTextAndAttachmentSendingRestriction = "disable-text-and-attachment-sending-restriction",
QueueStatsRollUp = "queues-stats-rollup",
FlexUserPreferences = "flex-user-preferences",
EnableNewUiConfigurationsAPI = "enable-new-ui-configurations-api",
EnableFlexDefaultRingtone = "enable-flex-default-ringtone",
EnableFlexRingtoneFeature = "enable-flex-ringtone-feature",
EnableQueuesMetricsProgrammability = "enable-queues-metrics-programmability",
SSOTokenSessionStorage = "sso-token-session-storage",
EnableSalesforceVoiceApi = "scv-connector-apis",
EnableTeamsViewCustomColumns = "enable-teams-view-custom-columns",
EnableTruncateSipAddress = "enable-truncate-sip-address",
DisableFlexSDKTelemetryBeta = "disable-flex-sdk-telemetry-beta"
}
export declare enum FeatureStage {
Private = "private",
Pilot = "pilot",
Beta = "beta",
ForceEnable = "force-enable",
ForceDisable = "force-disable"
}
export interface Feature {
id: FeatureFlag;
enabled: boolean;
name: string;
description: string;
stage: FeatureStage;
doc_url?: string;
}
export declare const FEATURE_FLAGS_UPDATE = "FLEX_FEATURE_FLAGS_UPDATE";
export declare const FEATURE_FLAGS_OVERRIDES_UPDATE = "FLEX_FEATURE_FLAGS_OVERRIDES_UPDATE";
export declare const FEATURE_FLAG_OVERRIDE = "FLEX_FEATURE_FLAG_OVERRIDE";
export declare const TRANSFERS_CONFIG_UPDATE = "TRANSFERS_CONFIG_UPDATE";
export type FeatureFlagsAction = {
type: typeof FEATURE_FLAGS_UPDATE;
payload: Feature[];
} | {
type: typeof FEATURE_FLAGS_OVERRIDES_UPDATE;
payload: FeatureOverrideDict;
} | {
type: typeof FEATURE_FLAG_OVERRIDE;
payload: Partial<Feature>;
} | {
type: typeof TRANSFERS_CONFIG_UPDATE;
payload: TransfersConfig;
};
export type FeatureDict = {
[id in FeatureFlag | string]: Feature;
};
export type FeatureOverrideDict = {
[id in FeatureFlag | string]: Partial<Feature>;
};
export interface TransfersConfig {
sid?: string;
account_sid?: string;
instance_sid?: string;
enabled?: boolean;
transfer_notes_enabled?: boolean;
ai_summary_enabled?: boolean;
version?: number;
date_created?: string;
date_updated?: string;
}