createNewConversation method

Future<void> createNewConversation()

Implementation

Future<void> createNewConversation() async {
  try {
    resetLoadingMessage();
    update();
    if (assistant.value != null) {
      conversation.value = await ConversationService.createConversation(
        assistantId,
        isMarketplace,
        isAnonymous: pupauConfig?.isAnonymous ?? false,
      );
      if (conversation.value == null) resetConversation();
      PupauEventService.instance.emitPupauEvent(
        PupauEvent(
          type: UpdateConversationType.newConversation,
          payload: {
            "assistantId": assistantId,
            "assistantType": assistant.value?.type ?? AssistantType.assistant,
            "conversationId": conversation.value!.id,
          },
        ),
      );
      isConversationHistoryLoaded = false;
      return;
    }
  } catch (e) {
    PupauEventService.instance.emitPupauEvent(
      PupauEvent(
        type: UpdateConversationType.error,
        payload: {
          "error": "Error creating new conversation: ${e.toString()}",
          "assistantId": assistantId,
          "assistantType": assistant.value?.type ?? AssistantType.assistant,
        },
      ),
    );
  }
}