RT-Extension-AI

 view release on metacpan or  search on metacpan

html/Helpers/AISearch/GenerateTicketSQL  view on Meta::CPAN

            $ai_response =~ s/```json\s*//g;
            $ai_response =~ s/```\s*//g;
            $ai_response =~ s/^\s+|\s+$//g;

            RT->Logger->debug("AI response after cleanup: $ai_response");

            $parsed = JSON::decode_json($ai_response);
        };

        # Use default format when AI doesn't provide one
        my $user_prefs = $session{'CurrentUser'}->UserObj->Preferences("SearchDisplay") || {};
        my $default_search_format = $user_prefs->{'Format'}  || RT->Config->Get('DefaultSearchResultFormat');

        if ($@ || !$parsed) {
            RT->Logger->warning("AI response was not valid JSON, attempting to extract TicketSQL. Error: $@");
            RT->Logger->debug("Failed to parse as JSON, raw response was: $ai_response");

            # Fallback: try to extract TicketSQL the old way
            my $ticketsql = $ai_response;
            $ticketsql =~ s/```ticketsql\s*//g;
            $ticketsql =~ s/```\s*//g;
            $ticketsql =~ s/^\s+|\s+$//g;



( run in 0.413 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )