marona 0.1.1 copy "marona: ^0.1.1" to clipboard
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-mcp
  • knowledge-mcp
  • company-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, import package:marona/marona.dart
  • Python client: marona, import marona
  • TypeScript client: marona, import Marona from "marona"
  • Developer SDK for building apps: marona-sdk
1
likes
0
points
1.18k
downloads

Documentation

Documentation

Publisher

unverified uploader

Weekly Downloads

Official Dart client SDK for Marona-compatible AI runtimes and Hub integrations.

Homepage
Repository (GitHub)
View/report issues

Topics

#marona #ai #agents #runtime #sdk

License

unknown (license)

Dependencies

http

More

Packages that depend on marona