marona 0.1.1
marona: ^0.1.1 copied to clipboard
Official Dart client SDK for Marona-compatible AI runtimes and Hub integrations.
marona #
Official Dart client for Marona-compatible AI runtimes and Marona Hub.
Use it from Flutter apps, Dart backends, desktop apps, wearable interfaces, or any client that needs to talk to a Marona-compatible runtime.
Install #
dependencies:
marona: ^0.1.1
Then run:
dart pub get
1. Create A Client #
import 'package:marona/marona.dart';
final marona = Marona(
'https://edge.marona.ai',
apiKey: 'mrn_live_...',
);
2. Send A Runtime Message #
final response = await marona.message(
'Create a PowerPoint about AI introduction',
interfaceName: 'mobile_app',
conversationId: 'demo',
);
print(response.reply);
3. Connect Hub Apps To Your Own Agent #
Every Hub app has a unique app ID, also called a slug. Examples:
weather-mcpknowledge-mcpcompany-crm-mcp
final servers = await marona.hub.connect(
['weather-mcp', 'knowledge-mcp'],
adapter: 'openai_mcp',
);
final tools = await marona.hub.connect(
['weather-mcp'],
adapter: 'tools',
);
4. List Available Apps #
final apps = await marona.listApps(limit: 20, search: 'slides');
for (final app in apps.apps) {
print('${app['slug']}: ${app['name']}');
}
5. Pair A User Interface #
final pairing = await marona.startPairing(
interfaceName: 'web',
deviceName: 'My web app',
);
print(pairing.displayCode);
print(pairing.whatsappUrl);
After the user sends the pairing code from WhatsApp, poll for completion:
final status = await marona.pairingStatus(pairing.pairingId);
final identityToken = status.identity?.accessToken;
Use the identity token on future requests:
final response = await marona.message(
'What is on my calendar today?',
identityToken: identityToken,
);
6. Connect A User Service Account #
final connection = await marona.connectApp(
'slides',
provider: 'google',
identityToken: identityToken,
returnUrl: 'https://example.com/connected',
);
print(connection.authorizationUrl);
Open authorizationUrl in a browser so the user can authorize the provider.
7. Runtime Targets #
Marona Cloud:
final cloud = Marona('https://edge.marona.ai');
Self-hosted:
final selfHosted = Marona('https://runtime.example.com');
Package Names #
- Dart client:
marona, importpackage:marona/marona.dart - Python client:
marona, importmarona - TypeScript client:
marona, importMaronafrom"marona" - Developer SDK for building apps:
marona-sdk