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 1.674 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )