learnApp method
Teach the AI employee about your app: what it is, its screens, settings and FAQ. Call it on every release so the Brain stays in sync with the app.
Implementation
Future<Map<String, dynamic>> learnApp({
required String name,
String? description,
String? url,
String? agentName,
List<String>? languages,
List<Map<String, String>> screens = const [],
Map<String, Object?> settings = const {},
List<Map<String, String>> faq = const [],
}) async {
final out = <String, dynamic>{};
out['agent'] = await updateAgent({
'business_name': name,
if (description != null) 'business_description': description,
if (agentName != null) 'agent_name': agentName,
if (languages != null) 'languages': languages,
});
final pages = <Map<String, String>>[
if (description != null) {'title': '$name - overview', 'content': description},
for (final s in screens)
if ((s['content'] ?? '').isNotEmpty)
{'title': s['title'] ?? 'Screen', 'content': s['content']!, if (s['url'] != null) 'url': s['url']!},
if (settings.isNotEmpty)
{'title': '$name - configuration', 'content': settings.entries.map((e) => '${e.key}: ${e.value}').join('\n')},
];
if (pages.isNotEmpty) out['pages'] = await setPages(pages, siteUrl: url);
if (faq.isNotEmpty) out['faq'] = await addFaq(faq);
return out;
}