Error in function schema and function calling

I’m using the AI Engine Wordpress plugin. I have created a function and also added som filters to my Wordpress theme’s functions.php
When I test the AI Engine chatbot I get this error, and I have tried to edit both the function and the filters but without succes.

THE ERROR:

OpenAI: { "error": { "message": "Invalid schema for function 'get_game_data': In context=('properties', 'requested_columns'), array schema missing items.", "type": "invalid_request_error", "param": "tools[0].function.parameters", "code": "invalid_function_parameters" } }

THE FUNCTION (added to AI Engine’s own Code Engine):

function get_game_data($params) {
    // Sikrer, at $params er et array
    if (!is_array($params)) {
        return ["error" => "Fejl: Modtog ugyldige parametre."];
    }

    // Logging for debugging
    error_log("✅ get_game_data CALLED - Params: " . json_encode($params));

    // Filstier til datafiler
    $csv_file_path = '/var/www/vhosts/spillegudsrige.dk/httpdocs/paaskespil/csv-filer/spilledata-csvformat.csv';
    $excel_file_path = '/var/www/vhosts/spillegudsrige.dk/httpdocs/paaskespil/excelfilen/spilledata.xlsx';

    // Validerer at nødvendige parametre er til stede
    if (empty($params['lookup_value']) || empty($params['column_name'])) {
        error_log("❌ ERROR: Missing required parameters.");
        return ["error" => "Fejl: Manglende parametre. Skal inkludere 'lookup_value' og 'column_name'."];
    }

    $lookup_value = trim($params['lookup_value']);
    $column_name = trim($params['column_name']);
    
    // Sikrer, at requested_columns er et array af strenge
    $requested_columns = [];
    if (!empty($params['requested_columns']) && is_array($params['requested_columns'])) {
        $requested_columns = array_map('strval', $params['requested_columns']);
    }

    // Logging modtagne parametre
    error_log("🔍 Lookup Value: $lookup_value | Column Name: $column_name | Requested Columns: " . json_encode($requested_columns));

    // **1️⃣ Prøver at læse Excel-filen først**
    if (file_exists($excel_file_path)) {
        require_once ABSPATH . 'wp-content/plugins/paaskespil/SimpleXLSX.php';
        $xlsx = SimpleXLSX::parse($excel_file_path);
        if (!$xlsx) {
            error_log("❌ ERROR: Failed to read Excel file.");
            return ["error" => "Fejl ved læsning af Excel-fil."];
        }
        $rows = $xlsx->rows();
        $headers = array_map('trim', array_shift($rows)); // Fjerner mellemrum fra kolonnenavne
        error_log("📄 Excel file loaded successfully.");
    } 
    // **2️⃣ Hvis Excel ikke findes, prøv CSV**
    elseif (file_exists($csv_file_path)) {
        $rows = array_map('str_getcsv', file($csv_file_path));
        $headers = array_map('trim', array_shift($rows)); // Fjerner mellemrum fra kolonnenavne
        error_log("📄 CSV file loaded successfully.");
    } 
    // **3️⃣ Ingen datafiler fundet**
    else {
        error_log("❌ ERROR: No data file found.");
        return ["error" => "Fejl: Ingen datafil fundet."];
    }

    // **4️⃣ Finder kolonneindeks baseret på navn**
    $column_index = array_search($column_name, $headers);
    if ($column_index === false) {
        error_log("❌ ERROR: Column '$column_name' not found.");
        return ["error" => "Fejl: Kolonnen '$column_name' findes ikke."];
    }

    // **5️⃣ Søger efter den rigtige række**
    foreach ($rows as $row) {
        if (isset($row[$column_index]) && trim($row[$column_index]) == $lookup_value) {
            $full_data = array_combine($headers, $row);
            error_log("🎯 Data found: " . json_encode($full_data));

            // **Filtrer kun de ønskede kolonner, hvis specificeret**
            if (!empty($requested_columns)) {
                $filtered_data = array_intersect_key($full_data, array_flip($requested_columns));
                error_log("🎯 Filtered data: " . json_encode($filtered_data));
                return $filtered_data;
            }

            return $full_data;
        }
    }

    error_log("⚠️ No data found for '$lookup_value' in column '$column_name'.");
    return ["error" => "Ingen data fundet for '$lookup_value' i kolonne '$column_name'."];
}

THE FILTERS (added to the Wordpress theme’s functions.php):

add_filter('mwai_functions_list', function ($functions) {
    error_log("🔄 Registering AI Engine function: get_game_data"); // Debugging
    $functions[] = Meow_MWAI_Query_Function::fromJson([
        'id' => 'get_game_data',
        'type' => 'manual',
        'name' => 'get_game_data',
        'desc' => 'Henter data fra CSV eller Excel baseret på en specifik kolonne og værdi.',
        'target' => 'server',
        'args' => [
            ['name' => 'lookup_value', 'type' => 'string', 'required' => true, 'desc' => 'Værdien at slå op.'],
            ['name' => 'column_name', 'type' => 'string', 'required' => true, 'desc' => 'Kolonnenavn at søge i.'],
            [
                'name' => 'requested_columns',
                'type' => 'array',
                'required' => false,
                'desc' => 'Liste over ønskede kolonner.',
                'items' => [
                    'type' => 'string' // Specificerer, at arrayet indeholder strenge
                ]
            ]
        ]
    ]);
    return $functions;
}, 10, 1);

add_filter('mwai_ai_feedback', function ($value, $needFeedback) {
    error_log("🔍 AI Engine prøver at køre mwai_ai_feedback for: " . json_encode($needFeedback));

    $function = $needFeedback['function'];
    if ($function->id === 'get_game_data') {
        $args = $needFeedback['arguments'];

        error_log("✅ AI Engine kalder get_game_data med args: " . json_encode($args));
        $result = get_game_data($args);

        error_log("🎯 get_game_data returnerede: " . json_encode($result));
        return json_encode($result);
    }

    return $value;
}, 10, 2);

add_filter('mwai_ai_function', function ($value, $funcName, $funcArgs) {
    error_log("📌 AI Engine forsøger at kalde funktion: " . $funcName . " med parametre: " . json_encode($funcArgs));

    if ($funcName === 'get_game_data') {
        error_log("✅ AI Engine har genkendt get_game_data! Kører nu funktionen...");
        $result = get_game_data($funcArgs);
        error_log("📌 Resultat af get_game_data: " . json_encode($result));
        return json_encode($result);
    }

    return $value;
}, 10, 3);