mobileai_flutter library
Classes
- ActionBridge
- ActionBridgeController
- ActionCard
- ActionDefinition
- ActionIntent
- ActionParameterDef
- ActionRegistry
-
A central registry for all actions registered via
AiActionwidgets. This acts as the single source of truth for: - ActionRow
- AgentAction
- AgentChatBar
- AgentChatBar — Floating, draggable, compressible chat widget. Mirrors react-native-agentic-ai's AgentChatBar component fully:
- AgentChatBarTheme
- AgentConfig
- AgentOverlay
- AgentOverlay — Subtle thinking indicator shown while the AI agent is processing. Floats at the top of the screen over all content. Mirrors react-native-agentic-ai's AgentOverlay component.
- AgentReasoning
- AgentRuntime
- AgentStep
- AIAction
- A declarative widget to register custom AI actions in the Widget tree. Actions are registered on mount and unregistered on unmount.
- AIAgent
- AIAgentController
- AIAgentScope
- AIApprovalInlineCard
- AiBlockNode
- AIConsentConfig
- AIConsentController
- AIConsentDialog
- AIConsentInlineCard
- AIData
- AiMessage
- AiProvider
- AiRichNode
- AiTextNode
- AIZone
- AiZoneConfig
- AnalyticsLabelCandidate
- Analytics label candidate.
- AnalyticsLabeling
- Analytics labeling service.
- AnalyticsTargetMetadata
- Metadata about an analytics target (tapped element).
- ApprovalRequest
- Request for user approval in copilot mode
- AskUserRequest
- AudioInputConfig
- AudioInputService
- AudioOutputConfig
- AudioOutputService
- BadgeRow
- BlockDefinition
- BlockRegistry
- BusinessHoursConfig
- BusinessHoursDay
- CardSurface
- ChatMessage
- ComparisonCard
- ComparisonCardItem
- ConversationDraft
- ConversationService
- ConversationSummary
- CSATConfig
- CSATMetadata
- CSATRating
- CSATSurvey
- DataDefinition
- DataFieldDef
- DataQueryContext
- DataRegistry
- DeadClickDetector
- Dead click detector - tracks taps on non-interactive elements.
- DehydratedScreen
- DeviceMetadata
- Device metadata for analytics and escalation.
- EscalationConfig
- Configuration for human escalation.
- EscalationContext
- Context passed to escalation callback.
- EscalationSocket
- EscalationSocket — manages a WebSocket connection to the MobileAI platform for receiving real-time replies from human support agents.
- ExecutionResult
- ExtendedTelemetryEvent
- Extended event type with screen and session tracking
- FactCard
- FeatureFlagService
- FeatureFlagService — Remote feature flag synchronization.
- FieldRow
- FlutterPlatformAdapter
- FlutterRouterAdapter
- FormCard
- GeminiProvider
- GoRouterAdapter
- InfoCard
- InteractiveElement
- Represents an interactive widget discovered on the screen.
- KnowledgeBaseService
- KnowledgeEntry
- KnowledgeRetriever
- Logger
- McpToolDeclaration
- MediaFrame
- MetaRow
- MobileAI
- MobileAI — Public static API for consumer event tracking.
- MobileAIKnowledgeRetrieverOptions
- OpenAIProvider
- OutcomeVerifier
- Outcome Verifier - Detects success/failure of critical UI actions.
- PendingVerification
- Pending verification waiting for post-action snapshot.
- PiiScrubber
- PII Scrubber — Removes personally identifiable information from telemetry.
- PlatformAdapter
- PriceTag
- ProductCard
- ProviderResult
- QuickReply
- RegisteredZone
- ReportedIssue
- ReportedIssueEventSource
- ReportedIssueStatusUpdate
- ReviewSummary
- RichContentRenderer
- RichUIProvider
- RichUiSurfaceTheme
- RichUiSurfaceThemeOverride
- RichUiTheme
- RichUiThemeOverride
- RichUiThemeScope
- RouteCatalogProvider
- ScreenContext
- ScreenMap
- ScreenMapEntry
- ScreenSnapshot
- SectionTitle
- SupportModeConfig
- SupportTicket
- TapRecord
- TouchAutoCapture — Extracts a human-readable label from a Flutter touch event target by walking up the element tree.
- TelemetryConfig
- Configuration for the telemetry service.
- TelemetryEvent
- Telemetry event for analytics tracking.
- TelemetryService
- TelemetryService — Batches and sends analytics events to MobileAI Cloud.
- TicketStore
- TokenUsage
- ToolDefinition
- ToolParam
- TouchAutoCapture
- Touch auto-capture service with rage click detection.
- VerificationAction
- Action being verified.
- VerificationContext
- Context for performing verification.
- VerificationResult
- Result of verification.
- VerificationSnapshot
- Snapshot of screen state for verification.
- VerifierConfig
- Configuration for the outcome verifier.
- VoiceService
- VoiceServiceCallbacks
- VoiceServiceConfig
- VoiceToolCall
- WireframeComponent
- A single interactive component in the wireframe.
- WireframeSnapshot
- A privacy-safe wireframe of the current screen for heatmap analytics.
- WowAction
- A "WOW action" — special tool the AI can use to surprise/delight users.
- ZoneRegistry
- ZoneSnapshot
Enums
- AiPriority
- AiProviderName
- AnalyticsElementKind
- Analytics element kind (button, link, input, etc.).
- AnalyticsLabelConfidence
- Analytics label confidence level.
- AnalyticsLabelSource
- Analytics label source priority.
- AppActionApprovalScope
- Approval scope for app-altering actions in copilot mode
- AppActionApprovalSource
- Source of approval for app-altering actions
- AppInteractionMode
- AskUserKind
- BlockInterventionType
- BlockLifecycle
- BlockPlacement
- CSATRatingType
- CSATSurveyType
- ElementType
- EscalationProvider
- Escalation provider type.
- InteractionMode
- Core types for the Flutter AI SDK.
- McpServerMode
- ReportedIssueCustomerStatusEnum
- SupportStyleEnum
- Preset support personalities.
- VerificationFailureKind
- Kind of failure - whether it's recoverable by the agent.
- VerificationStatus
- Verification status for action outcomes.
- ZoneAction
Extensions
- AIAgentContextX on BuildContext
-
ListPush
on List<
T>
Constants
- geminiOutputSampleRate → const int
Properties
- actionCardDefinition → BlockDefinition
-
final
- actionRegistry → ActionRegistry
-
final
- comparisonCardDefinition → BlockDefinition
-
final
- dataRegistry → DataRegistry
-
final
- factCardDefinition → BlockDefinition
-
final
- formCardDefinition → BlockDefinition
-
final
- globalBlockRegistry → BlockRegistry
-
final
- globalZoneRegistry → ZoneRegistry
-
final
- productCardDefinition → BlockDefinition
-
final
Functions
-
buildSupportPrompt(
SupportModeConfig config) → String -
buildVerificationAction(
{required String toolName, required Map< String, dynamic> args, required List<InteractiveElement> elements, required String fallbackLabel}) → VerificationAction - Build a verification action from tool execution.
-
createEscalateTool(
{required EscalationConfig config, String? analyticsKey, required Map< String, dynamic> getContext(), List<Map< getHistory()?, List<String, String> >Map< getToolCalls()?, List<String, dynamic> >String> getScreenFlow()?, OnHumanReply? onHumanReply, OnEscalationStarted? onEscalationStarted, OnTypingChange? onTypingChange, OnTicketClosed? onTicketClosed, Map<String, dynamic> ? userContext, String? pushToken, String? pushTokenType}) → ToolDefinition -
createMobileAIKnowledgeRetriever(
MobileAIKnowledgeRetrieverOptions options) → KnowledgeRetriever -
createProvider(
{required AiProviderName provider, required String? apiKey, String? model, String? proxyUrl, Map< String, String> ? proxyHeaders}) → AiProvider -
createReportIssueTool(
{required Future< ReportedIssue> onReport(String description)}) → ToolDefinition -
createVerificationSnapshot(
{required String screenName, required String screenContent, required List< InteractiveElement> elements, String? screenshot}) → VerificationSnapshot - Create a verification snapshot.
-
generateFallbackDeviceId(
String platform, String model) → String - Generate a deterministic device ID for testing or fallback purposes.
-
getDeviceId(
) → String? - Get the cached device ID.
-
getDeviceMetadata(
) → DeviceMetadata - Get device metadata for the current platform.
-
initDeviceId(
) → Future< String> - Initialize or retrieve the persistent device ID.
-
isCriticalVerificationAction(
VerificationAction action) → bool - Check if a verification action is critical.
-
needsVerification(
String toolName, String? elementLabel, Map< String, dynamic> ? elementProperties) → bool - Check if an action needs verification based on tool name and label.
-
normalizeRichContent(
Object? content, [String fallbackText = '']) → List< AiRichNode> -
registerBuiltInBlocks(
) → void -
richContentToPlainText(
Object? content) → String
Typedefs
- AgentMode = InteractionMode
- AiAction = AIAction
- AiAgent = AIAgent
- AiAgentController = AIAgentController
- AiAgentScope = AIAgentScope
- AiData = AIData
- AiZone = AIZone
- AudioInputStatus = String
-
BlockActionHandler
= Future<
void> Function(Map<String, dynamic> payload) -
BlockPreviewTextBuilder
= String Function(Map<
String, dynamic> props) -
BlockWidgetBuilder
= Widget Function(BuildContext context, Map<
String, dynamic> props) - InteractiveNode = InteractiveElement
- KnowledgeBaseConfig = dynamic
- Dynamic alias to support both static lists and custom retrievers.
- OnEscalationStarted = void Function(String ticketId)
- Callback signature for escalation started event.
- OnHumanReply = void Function(String reply, String? ticketId)
- Callback signature for human reply event.
- OnTicketClosed = void Function(String? ticketId)
- Callback signature for ticket closed event.
- OnTypingChange = void Function(bool isTyping)
- Callback signature for typing change event.
- ReportedIssueCustomerStatus = String
- Reported issue status type for flexibility.
- RichUITheme = RichUiTheme
- RichUIThemeOverride = RichUiThemeOverride
- SupportStyle = String
- Support style type for backward compatibility.
- VoiceStatus = String