flutter_ai_bridge library

A unified Flutter package for AI integration.

Supports OpenAI, Gemini, Claude with smart routing, conversation management, cost control, and ready-made UI widgets.

Classes

AIAttachment
An attachment that can be sent with a message.
AIAudioProvider
Core interface for Audio capabilities.
AIBridge
The main entry point for Flutter AI Bridge.
AIChatTheme
Theme configuration for AI chat widgets.
AIChatWidget
A complete AI chat widget with message list, streaming support, and input bar.
AICompletionProvider
Core interface for AI text completion.
AIConfig
Configuration for an AI provider.
AIDocument
A chunk of textual data, usually parsed from a larger document.
AIEmbeddingProvider
Abstract interface for providers that support text embeddings.
AIInputBar
Input bar for the AI chat widget.
AIMessage
A single message in an AI conversation.
AIProvider
Full-featured AI provider interface.
AIRequest
A request to an AI provider.
AIResponse
A unified response from any AI provider.
AIRouter
Smart router that decides which AI provider handles each request.
AIStreamChunk
A single chunk from a streaming AI response.
AIStreamingProvider
Interface for providers that support streaming responses.
AITool
Defines a tool or function that the AI can call.
AIToolCall
Represents a specific invocation of a tool requested by the AI.
AIUsage
Token usage information from an AI response.
CancellationToken
A token that allows cancellation of in-flight AI requests.
CircuitBreaker
Circuit breaker pattern to prevent cascading failures.
Conversation
Represents a conversation with an AI provider.
ConversationManager
Manages conversations with AI providers.
CostOptimizedStrategy
Selects providers by estimated cost-per-token (cheapest first).
DocumentChunker
Splits long text into manageable chunks for vector embeddings.
FallbackChain
Executes a request through a chain of providers with automatic fallback.
InMemoryVectorStore
A simple, local, list-backed Vector Store.
LatencyOptimizedStrategy
Selects providers with the lowest average latency first.
MessageBubble
A message bubble widget for displaying AI chat messages.
PrimaryStrategy
Uses the first available provider (insertion order).
QualityFirstStrategy
Selects providers in reverse insertion order (assumed quality order).
ResponseCache
Caches AI responses to reduce redundant API calls and costs.
RetryHandler
Handles automatic retries for retryable AI errors.
RoundRobinStrategy
Round-robin rotation across providers.
RoutingStrategyHandler
Abstract interface for routing strategy implementations.
StorageProvider
An abstract interface for storing and retrieving conversations.
StreamHandler
Manages streaming AI responses with unified handling.
StreamingText
A widget that animates text appearing character by character, simulating a typewriter/streaming effect.
TokenBudget
Controls token spending with configurable budgets.
TokenTracker
Tracks token usage across requests and sessions.
ToolExecutionLoop
Handles the autonomous tool execution loop.
VectorStore
Abstract interface for a Vector Database/Store used in RAG.

Enums

AIAttachmentType
The type of content in an attachment.
AICapability
Capabilities that an AI provider may support.
AIRole
Represents a role in an AI conversation.
CircuitState
States the circuit breaker can be in.
RoutingStrategy
Strategy for routing requests to providers.

Extensions

RoutingStrategyExtension on RoutingStrategy
Extension for backward compatibility: convert enum to handler.

Typedefs

OnChunkCallback = void Function(AIStreamChunk chunk)
Callback for each received chunk.
OnCompleteCallback = void Function(String fullText, AIUsage? usage)
Callback when streaming completes.
OnStreamErrorCallback = void Function(Object error)
Callback for stream errors.

Exceptions / Errors

AIAuthError
Authentication error — invalid or expired API key.
AIBudgetExceededError
Budget/quota exceeded.
AIContentFilterError
Content was filtered by safety settings.
AIError
Base class for all AI Bridge errors.
AIModelNotFoundError
Model not found or not available.
AINetworkError
Network error — connection issues, timeouts.
AIRateLimitError
Rate limit exceeded — too many requests.
AIServerError
Server error from the provider (5xx).
AITokenOverflowError
Token limit exceeded — input or output too long.
AIUnknownError
Unknown/unclassified error.
CancelledException
Exception thrown when an operation is cancelled via CancellationToken.