{"record":{"id":"befda44057c04f6d","repo":"krayin/laravel-crm","slug":"admin-app-leads-file-failed-extract","errorCode":"admin::app.leads.file.failed-extract","errorMessage":"Failed to extract text from file.","messagePattern":"Failed to extract text from file\\.","errorType":"exception","errorClass":"Exception","httpStatus":null,"severity":"error","filePath":"packages/Webkul/Lead/src/Services/MagicAIService.php","lineNumber":40,"sourceCode":"     */\n    private static $isExtracting = false;\n\n    /**\n     * Extract data from base64-encoded file.\n     */\n    public static function extractDataFromFile($base64File)\n    {\n        if (self::$isExtracting) {\n            throw new Exception(trans('admin::app.leads.file.recursive-call'));\n        }\n\n        self::$isExtracting = true;\n\n        try {\n            $text = self::extractTextFromBase64File($base64File);\n\n            if (empty($text)) {\n                throw new Exception(trans('admin::app.leads.file.failed-extract'));\n            }\n\n            return self::processPromptWithAI($text);\n        } catch (Exception $e) {\n            return ['error' => $e->getMessage()];\n        } finally {\n            self::$isExtracting = false;\n        }\n    }\n\n    /**\n     * Extract text from base64-encoded file.\n     */\n    private static function extractTextFromBase64File($base64File)\n    {\n        if (\n            empty($base64File)\n            || ! base64_decode($base64File, true)","sourceCodeStart":22,"sourceCodeEnd":58,"githubUrl":"https://github.com/krayin/laravel-crm/blob/13d6988cda8d69ece45ee1890effc90a7f21cdc1/packages/Webkul/Lead/src/Services/MagicAIService.php#L22-L58","documentation":"Error \"Failed to extract text from file.\" thrown in krayin/laravel-crm.","triggerScenarios":"Thrown at packages/Webkul/Lead/src/Services/MagicAIService.php:40 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"13d6988cda8d69ece45ee1890effc90a7f21cdc1","analyzedAt":"2026-08-17T00:58:29.000Z","schemaVersion":2},"datasetVersion":"2026-08-17T04:17:16.089Z"}