eilya_chat 1.0.0 copy "eilya_chat: ^1.0.0" to clipboard
eilya_chat: ^1.0.0 copied to clipboard

Official Flutter/Dart SDK for Eilya Chat -- embed an AI-powered chat widget in your Flutter app.

Eilya Chat - Flutter SDK #

Official Flutter/Dart SDK for Eilya Chat -- embed an AI-powered chat widget in your Flutter app.

Installation #

Add to your pubspec.yaml:

dependencies:
  eilya_chat: ^1.0.0

Then run:

flutter pub get

Quick Start #

import 'package:eilya_chat/eilya_chat.dart';

// Initialize with your API key
final chat = EilyaChat.initialize(
  apiKey: 'eck_live_your_api_key_here',
);

// Open the chat widget (creates session automatically)
final session = await chat.open(context);
print('Session started: ${session.sessionId}');

// Send a message
try {
  final reply = await chat.sendMessage(content: 'Hello!');
  print('Assistant: ${reply.content}');
} on SessionExpiredException {
  print('Session expired. Create a new one.');
} on RateLimitedException catch (e) {
  print('Rate limited. Retry after ${e.retryAfterSeconds}s');
}

Sandbox Mode #

Use a test API key (prefix eck_test_) for development. In sandbox mode:

  • Messages are processed but not billed
  • Responses may use mock data
final chat = EilyaChat.initialize(
  apiKey: 'eck_test_your_test_key_here',
);

Configuration #

final chat = EilyaChat.initialize(
  apiKey: 'eck_live_...',
  config: EilyaChatConfig(
    brandColor: '#6366F1',
    position: WidgetPosition.bottomRight,
    language: 'en',
    systemPrompt: 'You are a helpful assistant.',
    welcomeMessage: 'Hello! How can I help you?',
    timeout: Duration(seconds: 30),
  ),
);

Listening for Messages #

Use the onMessage stream to receive real-time assistant responses:

chat.onMessage.listen((message) {
  print('${message.role}: ${message.content}');
});

API Reference #

EilyaChat.initialize(apiKey, config?) #

Creates a new SDK instance.

getWidgetConfig() #

Fetches the widget configuration from the server.

createSession() #

Creates a new chat session. Returns a Session.

sendMessage(sessionId?, content, type?) #

Sends a message. Returns the assistant's reply Message.

open(context?) #

Opens the chat widget. Creates a session if needed. Returns a Session.

close() #

Closes the chat widget. Session remains active.

dispose() #

Closes the HTTP client and releases all resources. Call when done.

Error Handling #

All errors extend EilyaChatException:

Exception Code When
SessionNotFoundException SESSION_NOT_FOUND Invalid session ID
SessionExpiredException SESSION_EXPIRED Session timed out
InvalidMessageException INVALID_MESSAGE Content is invalid
WidgetNotFoundException WIDGET_NOT_FOUND Widget not configured
QuotaExceededException QUOTA_EXCEEDED Account quota reached
RateLimitedException RATE_LIMITED Too many requests
UnauthorizedException UNAUTHORIZED Invalid API key
ForbiddenException FORBIDDEN Access denied
NetworkException NETWORK_ERROR Connection failure

License #

MIT -- see LICENSE for details.

0
likes
150
points
66
downloads

Documentation

Documentation
API reference

Publisher

verified publishereilyatech.com

Weekly Downloads

Official Flutter/Dart SDK for Eilya Chat -- embed an AI-powered chat widget in your Flutter app.

Homepage
Repository (GitHub)

License

MIT (license)

Dependencies

equatable, http

More

Packages that depend on eilya_chat