mobileai_flutter library

Classes

ActionBridge
ActionBridgeController
ActionCard
ActionDefinition
ActionIntent
ActionParameterDef
ActionRegistry
A central registry for all actions registered via AiAction widgets. 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

Constants

geminiOutputSampleRate → const int

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<String, String>> getHistory()?, List<Map<String, dynamic>> getToolCalls()?, List<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