call method
Implementation
Future<O> call(I i) async {
List<dynamic> v = await Future.wait([
getInstructions().then((i) => i ?? instructions),
toAgent(i),
getTools().then((i) => i ?? tools),
]);
AgentMessage m = await Agent(
llm: llm,
chatProvider: MemoryChatProvider(
messages: [Message.system(v[0]), UserMessage(content: v[1])],
),
user: user,
)(tools: v[2], responseFormat: outputSchema);
if (O is String) {
return m.content.toString() as O;
}
return fromAgent(jsonDecode(m.content.toString()));
}