approveTool static method
Implementation
static Future<Stream<SSEModel>?> approveTool(String messageId) async {
PupauChatController chatController = Get.find();
String? assistantId = chatController.assistant.value?.id;
PupauConversation? conversation = chatController.conversation.value;
if (assistantId == null || conversation == null) return null;
PupauMessage message = chatController.messages.firstWhere(
(element) => element.id == messageId,
);
bool isMarketplace = chatController.isMarketplace;
final Map<String, String>? authParams = chatController.pupauConfig?.authHeaders;
if (authParams == null) return null;
String queryParams = "";
List<String> params = [];
if (params.isNotEmpty) {
queryParams = "&${params.join('&')}";
}
String url =
"${ApiUrls.toolApprovalUrl(assistantId, conversation.id, message.id, isMarketplace: isMarketplace)}$queryParams";
Stream<SSEModel> messageSendStream = SSEClient.subscribeToSSE(
method: SSERequestType.POST,
url: url,
header: {
...authParams,
"Conversation-Token": conversation.token,
"Content-type": "Application/json",
},
body: {"request": message.answer},
);
return messageSendStream;
}