mindee 4.12.0 → 5.0.0.beta1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.editorconfig +24 -0
- data/.gitignore +2 -0
- data/.pre-commit-config.yaml +36 -0
- data/.rubocop.yml +4 -3
- data/CHANGELOG.md +55 -1
- data/CONTRIBUTING.md +17 -0
- data/Gemfile +9 -1
- data/README.md +7 -7
- data/Rakefile +21 -15
- data/Steepfile +0 -1
- data/bin/mindee.rb +19 -118
- data/bin/v1/parser.rb +153 -0
- data/bin/v1/products.rb +88 -0
- data/bin/v2/parser.rb +235 -0
- data/bin/v2/products.rb +34 -0
- data/docs/code_samples/bank_account_details_v1.txt +2 -2
- data/docs/code_samples/bank_account_details_v2.txt +2 -2
- data/docs/code_samples/bank_statement_fr_v2_async.txt +2 -2
- data/docs/code_samples/barcode_reader_v1.txt +2 -2
- data/docs/code_samples/cropper_v1.txt +2 -2
- data/docs/code_samples/default.txt +2 -2
- data/docs/code_samples/default_async.txt +2 -3
- data/docs/code_samples/expense_receipts_v5.txt +2 -2
- data/docs/code_samples/expense_receipts_v5_async.txt +2 -2
- data/docs/code_samples/financial_document_v1.txt +2 -2
- data/docs/code_samples/financial_document_v1_async.txt +2 -2
- data/docs/code_samples/idcard_fr_v1.txt +2 -2
- data/docs/code_samples/idcard_fr_v2.txt +2 -2
- data/docs/code_samples/international_id_v2_async.txt +2 -2
- data/docs/code_samples/invoice_splitter_v1_async.txt +2 -2
- data/docs/code_samples/invoices_v4.txt +2 -2
- data/docs/code_samples/invoices_v4_async.txt +2 -2
- data/docs/code_samples/multi_receipts_detector_v1.txt +2 -2
- data/docs/code_samples/passport_v1.txt +2 -2
- data/docs/code_samples/resume_v1_async.txt +2 -2
- data/docs/code_samples/v2_classification.txt +30 -0
- data/docs/code_samples/v2_crop.txt +30 -0
- data/docs/code_samples/v2_extraction.txt +42 -0
- data/docs/code_samples/v2_extraction_webhook.txt +45 -0
- data/docs/code_samples/v2_ocr.txt +30 -0
- data/docs/code_samples/v2_split.txt +30 -0
- data/docs/code_samples/workflow_execution.txt +2 -2
- data/docs/code_samples/workflow_polling.txt +2 -3
- data/examples/auto_invoice_splitter_extraction.rb +6 -6
- data/examples/auto_multi_receipts_detector_extraction.rb +4 -4
- data/lib/mindee/dependency.rb +29 -0
- data/lib/mindee/error/mindee_error.rb +17 -0
- data/lib/mindee/error/mindee_http_error.rb +36 -0
- data/lib/mindee/error/mindee_http_error_v2.rb +45 -0
- data/lib/mindee/error/mindee_http_unknown_error_v2.rb +18 -0
- data/lib/mindee/error/mindee_input_error.rb +30 -0
- data/lib/mindee/error.rb +6 -0
- data/lib/mindee/geometry/point.rb +5 -0
- data/lib/mindee/geometry/polygon.rb +6 -1
- data/lib/mindee/http/.rubocop.yml +0 -1
- data/lib/mindee/http/http_error_handler.rb +7 -7
- data/lib/mindee/http/response_validation.rb +3 -2
- data/lib/mindee/http.rb +0 -4
- data/lib/mindee/image/extracted_image.rb +25 -12
- data/lib/mindee/image/image_extractor.rb +4 -2
- data/lib/mindee/image/image_utils.rb +3 -3
- data/lib/mindee/input/base_parameters.rb +149 -0
- data/lib/mindee/input/local_response.rb +9 -10
- data/lib/mindee/input/sources/local_input_source.rb +18 -14
- data/lib/mindee/input/sources/path_input_source.rb +1 -1
- data/lib/mindee/input/sources/url_input_source.rb +4 -4
- data/lib/mindee/input.rb +0 -2
- data/lib/mindee/logging/logger.rb +9 -1
- data/lib/mindee/page_options.rb +1 -1
- data/lib/mindee/pdf/extracted_pdf.rb +55 -45
- data/lib/mindee/pdf/pdf_compressor.rb +2 -0
- data/lib/mindee/pdf/pdf_extractor.rb +95 -94
- data/lib/mindee/pdf/pdf_processor.rb +6 -1
- data/lib/mindee/pdf/pdf_tools.rb +19 -0
- data/lib/mindee/v1/client.rb +490 -0
- data/lib/mindee/v1/extraction/multi_receipts_extractor.rb +32 -0
- data/lib/mindee/v1/http/.rubocop.yml +7 -0
- data/lib/mindee/v1/http/endpoint.rb +221 -0
- data/lib/mindee/v1/http/workflow_endpoint.rb +93 -0
- data/lib/mindee/v1/http.rb +4 -0
- data/lib/mindee/v1/parsing/common/api_request.rb +38 -0
- data/lib/mindee/v1/parsing/common/api_response.rb +63 -0
- data/lib/mindee/v1/parsing/common/document.rb +86 -0
- data/lib/mindee/v1/parsing/common/execution.rb +78 -0
- data/lib/mindee/v1/parsing/common/execution_file.rb +26 -0
- data/lib/mindee/v1/parsing/common/execution_priority.rb +38 -0
- data/lib/mindee/v1/parsing/common/extras/cropper_extra.rb +32 -0
- data/lib/mindee/v1/parsing/common/extras/extras.rb +62 -0
- data/lib/mindee/v1/parsing/common/extras/full_text_ocr_extra.rb +35 -0
- data/lib/mindee/v1/parsing/common/extras/rag_extra.rb +28 -0
- data/lib/mindee/v1/parsing/common/inference.rb +69 -0
- data/lib/mindee/v1/parsing/common/job.rb +48 -0
- data/lib/mindee/v1/parsing/common/ocr/mvision_v1.rb +52 -0
- data/lib/mindee/v1/parsing/common/ocr/ocr.rb +180 -0
- data/lib/mindee/v1/parsing/common/orientation.rb +28 -0
- data/lib/mindee/v1/parsing/common/page.rb +49 -0
- data/lib/mindee/v1/parsing/common/prediction.rb +19 -0
- data/lib/mindee/v1/parsing/common/product.rb +26 -0
- data/lib/mindee/v1/parsing/common/workflow_response.rb +30 -0
- data/lib/mindee/v1/parsing/standard/abstract_field.rb +74 -0
- data/lib/mindee/v1/parsing/standard/address_field.rb +51 -0
- data/lib/mindee/v1/parsing/standard/amount_field.rb +28 -0
- data/lib/mindee/v1/parsing/standard/base_field.rb +30 -0
- data/lib/mindee/v1/parsing/standard/boolean_field.rb +29 -0
- data/lib/mindee/v1/parsing/standard/classification_field.rb +18 -0
- data/lib/mindee/v1/parsing/standard/company_registration_field.rb +45 -0
- data/lib/mindee/v1/parsing/standard/date_field.rb +40 -0
- data/lib/mindee/v1/parsing/standard/feature_field.rb +26 -0
- data/lib/mindee/v1/parsing/standard/locale_field.rb +52 -0
- data/lib/mindee/v1/parsing/standard/payment_details_field.rb +44 -0
- data/lib/mindee/v1/parsing/standard/position_field.rb +61 -0
- data/lib/mindee/v1/parsing/standard/string_field.rb +26 -0
- data/lib/mindee/v1/parsing/standard/tax_field.rb +110 -0
- data/lib/mindee/v1/parsing/universal/universal_list_field.rb +60 -0
- data/lib/mindee/v1/parsing/universal/universal_object_field.rb +123 -0
- data/lib/mindee/v1/product/.rubocop.yml +12 -0
- data/lib/mindee/v1/product/barcode_reader/barcode_reader_v1.rb +47 -0
- data/lib/mindee/v1/product/barcode_reader/barcode_reader_v1_document.rb +47 -0
- data/lib/mindee/v1/product/barcode_reader/barcode_reader_v1_page.rb +38 -0
- data/lib/mindee/v1/product/cropper/cropper_v1.rb +47 -0
- data/lib/mindee/v1/product/cropper/cropper_v1_document.rb +15 -0
- data/lib/mindee/v1/product/cropper/cropper_v1_page.rb +55 -0
- data/lib/mindee/v1/product/financial_document/financial_document_v1.rb +47 -0
- data/lib/mindee/v1/product/financial_document/financial_document_v1_document.rb +329 -0
- data/lib/mindee/v1/product/financial_document/financial_document_v1_line_item.rb +124 -0
- data/lib/mindee/v1/product/financial_document/financial_document_v1_line_items.rb +64 -0
- data/lib/mindee/v1/product/financial_document/financial_document_v1_page.rb +38 -0
- data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v1.rb +49 -0
- data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v1_document.rb +49 -0
- data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v1_page.rb +40 -0
- data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v2.rb +49 -0
- data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_bban.rb +63 -0
- data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_document.rb +60 -0
- data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_page.rb +40 -0
- data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2.rb +49 -0
- data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2_document.rb +169 -0
- data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2_page.rb +40 -0
- data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2_transaction.rb +78 -0
- data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2_transactions.rb +56 -0
- data/lib/mindee/v1/product/fr/id_card/id_card_v1.rb +49 -0
- data/lib/mindee/v1/product/fr/id_card/id_card_v1_document.rb +106 -0
- data/lib/mindee/v1/product/fr/id_card/id_card_v1_page.rb +57 -0
- data/lib/mindee/v1/product/fr/id_card/id_card_v2.rb +49 -0
- data/lib/mindee/v1/product/fr/id_card/id_card_v2_document.rb +143 -0
- data/lib/mindee/v1/product/fr/id_card/id_card_v2_page.rb +65 -0
- data/lib/mindee/v1/product/international_id/international_id_v2.rb +47 -0
- data/lib/mindee/v1/product/international_id/international_id_v2_document.rb +164 -0
- data/lib/mindee/v1/product/international_id/international_id_v2_page.rb +38 -0
- data/lib/mindee/v1/product/invoice/invoice_v4.rb +47 -0
- data/lib/mindee/v1/product/invoice/invoice_v4_document.rb +300 -0
- data/lib/mindee/v1/product/invoice/invoice_v4_line_item.rb +124 -0
- data/lib/mindee/v1/product/invoice/invoice_v4_line_items.rb +64 -0
- data/lib/mindee/v1/product/invoice/invoice_v4_page.rb +38 -0
- data/lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1.rb +47 -0
- data/lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1_document.rb +66 -0
- data/lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1_invoice_page_group.rb +58 -0
- data/lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1_invoice_page_groups.rb +50 -0
- data/lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1_page.rb +38 -0
- data/lib/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1.rb +47 -0
- data/lib/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1_document.rb +38 -0
- data/lib/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1_page.rb +38 -0
- data/lib/mindee/v1/product/passport/passport_v1.rb +47 -0
- data/lib/mindee/v1/product/passport/passport_v1_document.rb +112 -0
- data/lib/mindee/v1/product/passport/passport_v1_page.rb +38 -0
- data/lib/mindee/v1/product/receipt/receipt_v5.rb +47 -0
- data/lib/mindee/v1/product/receipt/receipt_v5_document.rb +187 -0
- data/lib/mindee/v1/product/receipt/receipt_v5_line_item.rb +88 -0
- data/lib/mindee/v1/product/receipt/receipt_v5_line_items.rb +56 -0
- data/lib/mindee/v1/product/receipt/receipt_v5_page.rb +38 -0
- data/lib/mindee/v1/product/resume/resume_v1.rb +47 -0
- data/lib/mindee/v1/product/resume/resume_v1_certificate.rb +82 -0
- data/lib/mindee/v1/product/resume/resume_v1_certificates.rb +60 -0
- data/lib/mindee/v1/product/resume/resume_v1_document.rb +340 -0
- data/lib/mindee/v1/product/resume/resume_v1_education.rb +106 -0
- data/lib/mindee/v1/product/resume/resume_v1_educations.rb +66 -0
- data/lib/mindee/v1/product/resume/resume_v1_language.rb +66 -0
- data/lib/mindee/v1/product/resume/resume_v1_languages.rb +56 -0
- data/lib/mindee/v1/product/resume/resume_v1_page.rb +38 -0
- data/lib/mindee/v1/product/resume/resume_v1_professional_experience.rb +122 -0
- data/lib/mindee/v1/product/resume/resume_v1_professional_experiences.rb +70 -0
- data/lib/mindee/v1/product/resume/resume_v1_social_networks_url.rb +66 -0
- data/lib/mindee/v1/product/resume/resume_v1_social_networks_urls.rb +56 -0
- data/lib/mindee/v1/product/universal/universal.rb +48 -0
- data/lib/mindee/v1/product/universal/universal_document.rb +35 -0
- data/lib/mindee/v1/product/universal/universal_page.rb +54 -0
- data/lib/mindee/v1/product/universal/universal_prediction.rb +128 -0
- data/lib/mindee/v1/product.rb +18 -0
- data/lib/mindee/v1.rb +7 -0
- data/lib/mindee/v2/client.rb +132 -0
- data/lib/mindee/v2/file_operation/crop.rb +51 -0
- data/lib/mindee/v2/file_operation/crop_files.rb +25 -0
- data/lib/mindee/v2/file_operation/split.rb +37 -0
- data/lib/mindee/v2/file_operation/split_files.rb +25 -0
- data/lib/mindee/v2/file_operation.rb +6 -0
- data/lib/mindee/v2/http/.rubocop.yml +7 -0
- data/lib/mindee/v2/http/api_v2_settings.rb +65 -0
- data/lib/mindee/v2/http/mindee_api_v2.rb +230 -0
- data/lib/mindee/v2/http.rb +4 -0
- data/lib/mindee/v2/parsing/base_inference.rb +44 -0
- data/lib/mindee/v2/parsing/base_response.rb +15 -0
- data/lib/mindee/v2/parsing/common_response.rb +20 -0
- data/lib/mindee/v2/parsing/error_item.rb +21 -0
- data/lib/mindee/v2/parsing/error_response.rb +51 -0
- data/lib/mindee/v2/parsing/field/base_field.rb +63 -0
- data/lib/mindee/v2/parsing/field/field_confidence.rb +128 -0
- data/lib/mindee/v2/parsing/field/field_location.rb +33 -0
- data/lib/mindee/v2/parsing/field/inference_fields.rb +105 -0
- data/lib/mindee/v2/parsing/field/list_field.rb +79 -0
- data/lib/mindee/v2/parsing/field/object_field.rb +138 -0
- data/lib/mindee/v2/parsing/field/simple_field.rb +60 -0
- data/lib/mindee/v2/parsing/inference_active_options.rb +67 -0
- data/lib/mindee/v2/parsing/inference_file.rb +38 -0
- data/lib/mindee/v2/parsing/inference_job.rb +25 -0
- data/lib/mindee/v2/parsing/inference_model.rb +30 -0
- data/lib/mindee/v2/parsing/job.rb +93 -0
- data/lib/mindee/v2/parsing/job_response.rb +30 -0
- data/lib/mindee/v2/parsing/job_webhook.rb +59 -0
- data/lib/mindee/v2/parsing/rag_metadata.rb +17 -0
- data/lib/mindee/v2/parsing/raw_text.rb +27 -0
- data/lib/mindee/v2/parsing/raw_text_page.rb +24 -0
- data/lib/mindee/v2/parsing/search/pagination_metadata.rb +44 -0
- data/lib/mindee/v2/parsing/search/search_model.rb +38 -0
- data/lib/mindee/v2/parsing/search/search_models.rb +34 -0
- data/lib/mindee/v2/parsing/search/search_response.rb +38 -0
- data/lib/mindee/v2/parsing/search.rb +6 -0
- data/lib/mindee/v2/parsing.rb +16 -0
- data/lib/mindee/v2/product/base_product.rb +28 -0
- data/lib/mindee/v2/product/classification/classification.rb +20 -0
- data/lib/mindee/v2/product/classification/classification_classifier.rb +25 -0
- data/lib/mindee/v2/product/classification/classification_inference.rb +35 -0
- data/lib/mindee/v2/product/classification/classification_response.rb +32 -0
- data/lib/mindee/v2/product/classification/classification_result.rb +27 -0
- data/lib/mindee/v2/product/classification/params/classification_parameters.rb +47 -0
- data/lib/mindee/v2/product/crop/crop.rb +20 -0
- data/lib/mindee/v2/product/crop/crop_inference.rb +34 -0
- data/lib/mindee/v2/product/crop/crop_item.rb +39 -0
- data/lib/mindee/v2/product/crop/crop_response.rb +40 -0
- data/lib/mindee/v2/product/crop/crop_result.rb +34 -0
- data/lib/mindee/v2/product/crop/params/crop_parameters.rb +47 -0
- data/lib/mindee/v2/product/extraction/extraction.rb +21 -0
- data/lib/mindee/v2/product/extraction/extraction_inference.rb +40 -0
- data/lib/mindee/v2/product/extraction/extraction_response.rb +32 -0
- data/lib/mindee/v2/product/extraction/extraction_result.rb +44 -0
- data/lib/mindee/v2/product/extraction/params/data_schema.rb +51 -0
- data/lib/mindee/v2/product/extraction/params/data_schema_field.rb +69 -0
- data/lib/mindee/v2/product/extraction/params/data_schema_replace.rb +39 -0
- data/lib/mindee/v2/product/extraction/params/extraction_parameters.rb +125 -0
- data/lib/mindee/v2/product/ocr/ocr.rb +20 -0
- data/lib/mindee/v2/product/ocr/ocr_inference.rb +34 -0
- data/lib/mindee/v2/product/ocr/ocr_page.rb +33 -0
- data/lib/mindee/v2/product/ocr/ocr_response.rb +32 -0
- data/lib/mindee/v2/product/ocr/ocr_result.rb +34 -0
- data/lib/mindee/v2/product/ocr/ocr_word.rb +29 -0
- data/lib/mindee/v2/product/ocr/params/ocr_parameters.rb +47 -0
- data/lib/mindee/v2/product/split/params/split_parameters.rb +48 -0
- data/lib/mindee/v2/product/split/split.rb +19 -0
- data/lib/mindee/v2/product/split/split_inference.rb +34 -0
- data/lib/mindee/v2/product/split/split_range.rb +38 -0
- data/lib/mindee/v2/product/split/split_response.rb +40 -0
- data/lib/mindee/v2/product/split/split_result.rb +34 -0
- data/lib/mindee/v2/product.rb +7 -0
- data/lib/mindee/v2.rb +7 -0
- data/lib/mindee/version.rb +1 -1
- data/lib/mindee.rb +66 -23
- data/mindee-lite.gemspec +36 -0
- data/mindee.gemspec +13 -13
- data/sig/custom/marcel.rbs +1 -1
- data/sig/custom/net_http.rbs +1 -1
- data/sig/custom/origami.rbs +1 -1
- data/sig/mindee/dependency.rbs +13 -0
- data/sig/mindee/error/mindee_error.rbs +13 -0
- data/sig/mindee/error/mindee_http_error.rbs +17 -0
- data/sig/mindee/error/mindee_http_error_v2.rbs +15 -0
- data/sig/mindee/error/mindee_http_unknown_error_v2.rbs +9 -0
- data/sig/mindee/error/mindee_input_error.rbs +18 -0
- data/sig/mindee/geometry/point.rbs +2 -0
- data/sig/mindee/geometry/polygon.rbs +2 -0
- data/sig/mindee/http/http_error_handler.rbs +4 -4
- data/sig/mindee/image/extracted_image.rbs +8 -2
- data/sig/mindee/image/image_extractor.rbs +1 -1
- data/sig/mindee/input/base_parameters.rbs +35 -0
- data/sig/mindee/input/local_response.rbs +2 -2
- data/sig/mindee/input/sources/local_input_source.rbs +0 -1
- data/sig/mindee/pdf/extracted_pdf.rbs +11 -9
- data/sig/mindee/pdf/pdf_extractor.rbs +12 -10
- data/sig/mindee/pdf/pdf_tools.rbs +2 -0
- data/sig/mindee/v1/client.rbs +84 -0
- data/sig/mindee/v1/extraction/multi_receipts_extractor.rbs +8 -0
- data/sig/mindee/v1/http/endpoint.rbs +41 -0
- data/sig/mindee/v1/http/workflow_endpoint.rbs +22 -0
- data/sig/mindee/v1/parsing/common/api_request.rbs +22 -0
- data/sig/mindee/v1/parsing/common/api_response.rbs +31 -0
- data/sig/mindee/v1/parsing/common/document.rbs +32 -0
- data/sig/mindee/v1/parsing/common/execution.rbs +26 -0
- data/sig/mindee/v1/parsing/common/execution_file.rbs +16 -0
- data/sig/mindee/v1/parsing/common/execution_priority.rbs +16 -0
- data/sig/mindee/v1/parsing/common/extras/cropper_extra.rbs +18 -0
- data/sig/mindee/v1/parsing/common/extras/extras.rbs +24 -0
- data/sig/mindee/v1/parsing/common/extras/full_text_ocr_extra.rbs +22 -0
- data/sig/mindee/v1/parsing/common/extras/rag_extra.rbs +19 -0
- data/sig/mindee/v1/parsing/common/inference.rbs +31 -0
- data/sig/mindee/v1/parsing/common/job.rbs +24 -0
- data/sig/mindee/v1/parsing/common/ocr/mvision_v1.rbs +20 -0
- data/sig/mindee/v1/parsing/common/ocr/ocr.rbs +56 -0
- data/sig/mindee/v1/parsing/common/orientation.rbs +15 -0
- data/sig/mindee/v1/parsing/common/page.rbs +19 -0
- data/sig/mindee/v1/parsing/common/prediction.rbs +14 -0
- data/sig/mindee/v1/parsing/common/product.rbs +16 -0
- data/sig/mindee/v1/parsing/common/workflow_response.rbs +22 -0
- data/sig/mindee/v1/parsing/standard/abstract_field.rbs +30 -0
- data/sig/mindee/v1/parsing/standard/address_field.rbs +28 -0
- data/sig/mindee/v1/parsing/standard/amount_field.rbs +16 -0
- data/sig/mindee/v1/parsing/standard/base_field.rbs +16 -0
- data/sig/mindee/v1/parsing/standard/boolean_field.rbs +16 -0
- data/sig/mindee/v1/parsing/standard/classification_field.rbs +12 -0
- data/sig/mindee/v1/parsing/standard/company_registration_field.rbs +20 -0
- data/sig/mindee/v1/parsing/standard/date_field.rbs +20 -0
- data/sig/mindee/v1/parsing/standard/feature_field.rbs +12 -0
- data/sig/mindee/v1/parsing/standard/locale_field.rbs +24 -0
- data/sig/mindee/v1/parsing/standard/payment_details_field.rbs +19 -0
- data/sig/mindee/v1/parsing/standard/position_field.rbs +26 -0
- data/sig/mindee/v1/parsing/standard/string_field.rbs +16 -0
- data/sig/mindee/v1/parsing/standard/tax_field.rbs +33 -0
- data/sig/mindee/v1/parsing/universal/universal_list_field.rbs +21 -0
- data/sig/mindee/v1/parsing/universal/universal_object_field.rbs +38 -0
- data/sig/mindee/v1/product/barcode_reader/barcode_reader_v1.rbs +13 -0
- data/sig/mindee/v1/product/barcode_reader/barcode_reader_v1_document.rbs +16 -0
- data/sig/mindee/v1/product/barcode_reader/barcode_reader_v1_page.rbs +17 -0
- data/sig/mindee/v1/product/cropper/cropper_v1.rbs +13 -0
- data/sig/mindee/v1/product/cropper/cropper_v1_document.rbs +14 -0
- data/sig/mindee/v1/product/cropper/cropper_v1_page.rbs +19 -0
- data/sig/mindee/v1/product/financial_document/financial_document_v1.rbs +13 -0
- data/sig/mindee/v1/product/financial_document/financial_document_v1_document.rbs +49 -0
- data/sig/mindee/v1/product/financial_document/financial_document_v1_line_item.rbs +35 -0
- data/sig/mindee/v1/product/financial_document/financial_document_v1_line_items.rbs +15 -0
- data/sig/mindee/v1/product/financial_document/financial_document_v1_page.rbs +17 -0
- data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v1.rbs +15 -0
- data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v1_document.rbs +19 -0
- data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v1_page.rbs +19 -0
- data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v2.rbs +15 -0
- data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_bban.rbs +25 -0
- data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_document.rbs +20 -0
- data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_page.rbs +19 -0
- data/sig/mindee/v1/product/fr/bank_statement/bank_statement_v2.rbs +15 -0
- data/sig/mindee/v1/product/fr/bank_statement/bank_statement_v2_document.rbs +31 -0
- data/sig/mindee/v1/product/fr/bank_statement/bank_statement_v2_page.rbs +19 -0
- data/sig/mindee/v1/product/fr/bank_statement/bank_statement_v2_transaction.rbs +27 -0
- data/sig/mindee/v1/product/fr/bank_statement/bank_statement_v2_transactions.rbs +17 -0
- data/sig/mindee/v1/product/fr/id_card/id_card_v1.rbs +15 -0
- data/sig/mindee/v1/product/fr/id_card/id_card_v1_document.rbs +26 -0
- data/sig/mindee/v1/product/fr/id_card/id_card_v1_page.rbs +20 -0
- data/sig/mindee/v1/product/fr/id_card/id_card_v2.rbs +15 -0
- data/sig/mindee/v1/product/fr/id_card/id_card_v2_document.rbs +31 -0
- data/sig/mindee/v1/product/fr/id_card/id_card_v2_page.rbs +21 -0
- data/sig/mindee/v1/product/international_id/international_id_v2.rbs +13 -0
- data/sig/mindee/v1/product/international_id/international_id_v2_document.rbs +31 -0
- data/sig/mindee/v1/product/international_id/international_id_v2_page.rbs +17 -0
- data/sig/mindee/v1/product/invoice/invoice_v4.rbs +13 -0
- data/sig/mindee/v1/product/invoice/invoice_v4_document.rbs +45 -0
- data/sig/mindee/v1/product/invoice/invoice_v4_line_item.rbs +35 -0
- data/sig/mindee/v1/product/invoice/invoice_v4_line_items.rbs +15 -0
- data/sig/mindee/v1/product/invoice/invoice_v4_page.rbs +17 -0
- data/sig/mindee/v1/product/invoice_splitter/invoice_splitter_v1.rbs +13 -0
- data/sig/mindee/v1/product/invoice_splitter/invoice_splitter_v1_document.rbs +17 -0
- data/sig/mindee/v1/product/invoice_splitter/invoice_splitter_v1_invoice_page_group.rbs +21 -0
- data/sig/mindee/v1/product/invoice_splitter/invoice_splitter_v1_invoice_page_groups.rbs +15 -0
- data/sig/mindee/v1/product/invoice_splitter/invoice_splitter_v1_page.rbs +17 -0
- data/sig/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1.rbs +14 -0
- data/sig/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1_document.rbs +15 -0
- data/sig/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1_page.rbs +17 -0
- data/sig/mindee/v1/product/passport/passport_v1.rbs +13 -0
- data/sig/mindee/v1/product/passport/passport_v1_document.rbs +25 -0
- data/sig/mindee/v1/product/passport/passport_v1_page.rbs +17 -0
- data/sig/mindee/v1/product/receipt/receipt_v5.rbs +13 -0
- data/sig/mindee/v1/product/receipt/receipt_v5_document.rbs +33 -0
- data/sig/mindee/v1/product/receipt/receipt_v5_line_item.rbs +27 -0
- data/sig/mindee/v1/product/receipt/receipt_v5_line_items.rbs +15 -0
- data/sig/mindee/v1/product/receipt/receipt_v5_page.rbs +17 -0
- data/sig/mindee/v1/product/resume/resume_v1.rbs +13 -0
- data/sig/mindee/v1/product/resume/resume_v1_certificate.rbs +27 -0
- data/sig/mindee/v1/product/resume/resume_v1_certificates.rbs +17 -0
- data/sig/mindee/v1/product/resume/resume_v1_document.rbs +69 -0
- data/sig/mindee/v1/product/resume/resume_v1_education.rbs +33 -0
- data/sig/mindee/v1/product/resume/resume_v1_educations.rbs +17 -0
- data/sig/mindee/v1/product/resume/resume_v1_language.rbs +23 -0
- data/sig/mindee/v1/product/resume/resume_v1_languages.rbs +17 -0
- data/sig/mindee/v1/product/resume/resume_v1_page.rbs +19 -0
- data/sig/mindee/v1/product/resume/resume_v1_professional_experience.rbs +37 -0
- data/sig/mindee/v1/product/resume/resume_v1_professional_experiences.rbs +17 -0
- data/sig/mindee/v1/product/resume/resume_v1_social_networks_url.rbs +23 -0
- data/sig/mindee/v1/product/resume/resume_v1_social_networks_urls.rbs +17 -0
- data/sig/mindee/v1/product/universal/universal.rbs +16 -0
- data/sig/mindee/v1/product/universal/universal_document.rbs +12 -0
- data/sig/mindee/v1/product/universal/universal_page.rbs +18 -0
- data/sig/mindee/v1/product/universal/universal_prediction.rbs +30 -0
- data/sig/mindee/v2/client.rbs +29 -0
- data/sig/mindee/v2/file_operation/crop.rbs +10 -0
- data/sig/mindee/v2/file_operation/crop_files.rbs +9 -0
- data/sig/mindee/v2/file_operation/split.rbs +11 -0
- data/sig/mindee/v2/file_operation/split_files.rbs +9 -0
- data/sig/mindee/v2/http/api_v2_settings.rbs +27 -0
- data/sig/mindee/v2/http/mindee_api_v2.rbs +52 -0
- data/sig/mindee/v2/parsing/base_inference.rbs +18 -0
- data/sig/mindee/v2/parsing/base_response.rbs +11 -0
- data/sig/mindee/v2/parsing/common_response.rbs +12 -0
- data/sig/mindee/v2/parsing/error_item.rbs +13 -0
- data/sig/mindee/v2/parsing/error_response.rbs +20 -0
- data/sig/mindee/v2/parsing/field/base_field.rbs +17 -0
- data/sig/mindee/v2/parsing/field/field_confidence.rbs +30 -0
- data/sig/mindee/v2/parsing/field/field_location.rbs +16 -0
- data/sig/mindee/v2/parsing/field/inference_fields.rbs +20 -0
- data/sig/mindee/v2/parsing/field/list_field.rbs +23 -0
- data/sig/mindee/v2/parsing/field/object_field.rbs +27 -0
- data/sig/mindee/v2/parsing/field/simple_field.rbs +16 -0
- data/sig/mindee/v2/parsing/inference_active_options.rbs +26 -0
- data/sig/mindee/v2/parsing/inference_file.rbs +17 -0
- data/sig/mindee/v2/parsing/inference_job.rbs +13 -0
- data/sig/mindee/v2/parsing/inference_model.rbs +12 -0
- data/sig/mindee/v2/parsing/job.rbs +24 -0
- data/sig/mindee/v2/parsing/job_response.rbs +14 -0
- data/sig/mindee/v2/parsing/job_webhook.rbs +19 -0
- data/sig/mindee/v2/parsing/rag_metadata.rbs +13 -0
- data/sig/mindee/v2/parsing/raw_text.rbs +12 -0
- data/sig/mindee/v2/parsing/raw_text_page.rbs +11 -0
- data/sig/mindee/v2/parsing/search/pagination_metadata.rbs +20 -0
- data/sig/mindee/v2/parsing/search/search_model.rbs +19 -0
- data/sig/mindee/v2/parsing/search/search_response.rbs +17 -0
- data/sig/mindee/v2/parsing/search_models.rbs +14 -0
- data/sig/mindee/v2/product/base_product.rbs +19 -0
- data/sig/mindee/v2/product/classification/classification.rbs +10 -0
- data/sig/mindee/v2/product/classification/classification_classifier.rbs +15 -0
- data/sig/mindee/v2/product/classification/classification_inference.rbs +15 -0
- data/sig/mindee/v2/product/classification/classification_response.rbs +23 -0
- data/sig/mindee/v2/product/classification/classification_result.rbs +15 -0
- data/sig/mindee/v2/product/classification/params/classification_parameters/classification_parameters.rbs +23 -0
- data/sig/mindee/v2/product/crop/crop.rbs +10 -0
- data/sig/mindee/v2/product/crop/crop_inference.rbs +14 -0
- data/sig/mindee/v2/product/crop/crop_item.rbs +18 -0
- data/sig/mindee/v2/product/crop/crop_response.rbs +25 -0
- data/sig/mindee/v2/product/crop/crop_result.rbs +14 -0
- data/sig/mindee/v2/product/crop/params/crop_parameters/crop_parameters.rbs +23 -0
- data/sig/mindee/v2/product/extraction/extraction.rbs +15 -0
- data/sig/mindee/v2/product/extraction/extraction_inference.rbs +19 -0
- data/sig/mindee/v2/product/extraction/extraction_response.rbs +24 -0
- data/sig/mindee/v2/product/extraction/extraction_result.rbs +18 -0
- data/sig/mindee/v2/product/extraction/params/data_schema.rbs +21 -0
- data/sig/mindee/v2/product/extraction/params/data_schema_field.rbs +29 -0
- data/sig/mindee/v2/product/extraction/params/data_schema_replace.rbs +21 -0
- data/sig/mindee/v2/product/extraction/params/extraction_parameters.rbs +38 -0
- data/sig/mindee/v2/product/ocr/ocr.rbs +10 -0
- data/sig/mindee/v2/product/ocr/ocr_inference.rbs +14 -0
- data/sig/mindee/v2/product/ocr/ocr_page.rbs +15 -0
- data/sig/mindee/v2/product/ocr/ocr_response.rbs +23 -0
- data/sig/mindee/v2/product/ocr/ocr_result.rbs +14 -0
- data/sig/mindee/v2/product/ocr/ocr_word.rbs +15 -0
- data/sig/mindee/v2/product/ocr/params/ocr_parameters/ocr_parameters.rbs +24 -0
- data/sig/mindee/v2/product/split/params/split_parameters/split_parameters.rbs +23 -0
- data/sig/mindee/v2/product/split/split.rbs +10 -0
- data/sig/mindee/v2/product/split/split_inference.rbs +14 -0
- data/sig/mindee/v2/product/split/split_range.rbs +18 -0
- data/sig/mindee/v2/product/split/split_response.rbs +25 -0
- data/sig/mindee/v2/product/split/split_result.rbs +14 -0
- data/sig/mindee.rbs +12 -9
- metadata +436 -569
- data/bin/cli_products.rb +0 -166
- data/docs/code_samples/bank_check_v1.txt +0 -24
- data/docs/code_samples/bill_of_lading_v1_async.txt +0 -24
- data/docs/code_samples/business_card_v1_async.txt +0 -24
- data/docs/code_samples/carte_grise_v1.txt +0 -24
- data/docs/code_samples/default_v2.txt +0 -40
- data/docs/code_samples/delivery_notes_v1_async.txt +0 -24
- data/docs/code_samples/driver_license_v1_async.txt +0 -24
- data/docs/code_samples/energy_bill_fra_v1_async.txt +0 -24
- data/docs/code_samples/french_healthcard_v1_async.txt +0 -24
- data/docs/code_samples/ind_passport_v1_async.txt +0 -24
- data/docs/code_samples/nutrition_facts_v1_async.txt +0 -24
- data/docs/code_samples/payslip_fra_v2_async.txt +0 -24
- data/docs/code_samples/payslip_fra_v3_async.txt +0 -24
- data/docs/code_samples/us_healthcare_cards_v1_async.txt +0 -24
- data/docs/code_samples/us_mail_v3_async.txt +0 -24
- data/lib/mindee/client.rb +0 -488
- data/lib/mindee/client_v2.rb +0 -109
- data/lib/mindee/errors/mindee_error.rb +0 -17
- data/lib/mindee/errors/mindee_http_error.rb +0 -36
- data/lib/mindee/errors/mindee_http_error_v2.rb +0 -45
- data/lib/mindee/errors/mindee_http_unknown_error_v2.rb +0 -18
- data/lib/mindee/errors/mindee_input_error.rb +0 -30
- data/lib/mindee/errors.rb +0 -6
- data/lib/mindee/extraction/multi_receipts_extractor.rb +0 -30
- data/lib/mindee/http/api_settings_v2.rb +0 -63
- data/lib/mindee/http/endpoint.rb +0 -219
- data/lib/mindee/http/mindee_api_v2.rb +0 -165
- data/lib/mindee/http/workflow_endpoint.rb +0 -91
- data/lib/mindee/input/data_schema.rb +0 -126
- data/lib/mindee/input/inference_parameters.rb +0 -162
- data/lib/mindee/parsing/common/api_request.rb +0 -36
- data/lib/mindee/parsing/common/api_response.rb +0 -61
- data/lib/mindee/parsing/common/document.rb +0 -84
- data/lib/mindee/parsing/common/execution.rb +0 -75
- data/lib/mindee/parsing/common/execution_file.rb +0 -24
- data/lib/mindee/parsing/common/execution_priority.rb +0 -36
- data/lib/mindee/parsing/common/extras/cropper_extra.rb +0 -30
- data/lib/mindee/parsing/common/extras/extras.rb +0 -58
- data/lib/mindee/parsing/common/extras/full_text_ocr_extra.rb +0 -33
- data/lib/mindee/parsing/common/extras/rag_extra.rb +0 -26
- data/lib/mindee/parsing/common/inference.rb +0 -67
- data/lib/mindee/parsing/common/job.rb +0 -46
- data/lib/mindee/parsing/common/ocr/mvision_v1.rb +0 -50
- data/lib/mindee/parsing/common/ocr/ocr.rb +0 -178
- data/lib/mindee/parsing/common/orientation.rb +0 -26
- data/lib/mindee/parsing/common/page.rb +0 -47
- data/lib/mindee/parsing/common/prediction.rb +0 -17
- data/lib/mindee/parsing/common/product.rb +0 -24
- data/lib/mindee/parsing/common/workflow_response.rb +0 -28
- data/lib/mindee/parsing/standard/abstract_field.rb +0 -72
- data/lib/mindee/parsing/standard/address_field.rb +0 -49
- data/lib/mindee/parsing/standard/amount_field.rb +0 -26
- data/lib/mindee/parsing/standard/base_field.rb +0 -28
- data/lib/mindee/parsing/standard/boolean_field.rb +0 -27
- data/lib/mindee/parsing/standard/classification_field.rb +0 -16
- data/lib/mindee/parsing/standard/company_registration_field.rb +0 -43
- data/lib/mindee/parsing/standard/date_field.rb +0 -38
- data/lib/mindee/parsing/standard/feature_field.rb +0 -24
- data/lib/mindee/parsing/standard/locale_field.rb +0 -50
- data/lib/mindee/parsing/standard/payment_details_field.rb +0 -42
- data/lib/mindee/parsing/standard/position_field.rb +0 -59
- data/lib/mindee/parsing/standard/string_field.rb +0 -24
- data/lib/mindee/parsing/standard/tax_field.rb +0 -108
- data/lib/mindee/parsing/universal/universal_list_field.rb +0 -58
- data/lib/mindee/parsing/universal/universal_object_field.rb +0 -121
- data/lib/mindee/parsing/v2/common_response.rb +0 -18
- data/lib/mindee/parsing/v2/error_item.rb +0 -21
- data/lib/mindee/parsing/v2/error_response.rb +0 -51
- data/lib/mindee/parsing/v2/field/base_field.rb +0 -63
- data/lib/mindee/parsing/v2/field/field_confidence.rb +0 -128
- data/lib/mindee/parsing/v2/field/field_location.rb +0 -33
- data/lib/mindee/parsing/v2/field/inference_fields.rb +0 -105
- data/lib/mindee/parsing/v2/field/list_field.rb +0 -79
- data/lib/mindee/parsing/v2/field/object_field.rb +0 -135
- data/lib/mindee/parsing/v2/field/simple_field.rb +0 -60
- data/lib/mindee/parsing/v2/inference.rb +0 -57
- data/lib/mindee/parsing/v2/inference_active_options.rb +0 -67
- data/lib/mindee/parsing/v2/inference_file.rb +0 -38
- data/lib/mindee/parsing/v2/inference_job.rb +0 -25
- data/lib/mindee/parsing/v2/inference_model.rb +0 -30
- data/lib/mindee/parsing/v2/inference_response.rb +0 -30
- data/lib/mindee/parsing/v2/inference_result.rb +0 -42
- data/lib/mindee/parsing/v2/job.rb +0 -93
- data/lib/mindee/parsing/v2/job_response.rb +0 -30
- data/lib/mindee/parsing/v2/job_webhook.rb +0 -60
- data/lib/mindee/parsing/v2/rag_metadata.rb +0 -17
- data/lib/mindee/parsing/v2/raw_text.rb +0 -25
- data/lib/mindee/parsing/v2/raw_text_page.rb +0 -22
- data/lib/mindee/parsing/v2.rb +0 -16
- data/lib/mindee/product/.rubocop.yml +0 -13
- data/lib/mindee/product/barcode_reader/barcode_reader_v1.rb +0 -45
- data/lib/mindee/product/barcode_reader/barcode_reader_v1_document.rb +0 -44
- data/lib/mindee/product/barcode_reader/barcode_reader_v1_page.rb +0 -36
- data/lib/mindee/product/bill_of_lading/bill_of_lading_v1.rb +0 -45
- data/lib/mindee/product/bill_of_lading/bill_of_lading_v1_carrier.rb +0 -52
- data/lib/mindee/product/bill_of_lading/bill_of_lading_v1_carrier_item.rb +0 -101
- data/lib/mindee/product/bill_of_lading/bill_of_lading_v1_carrier_items.rb +0 -62
- data/lib/mindee/product/bill_of_lading/bill_of_lading_v1_consignee.rb +0 -58
- data/lib/mindee/product/bill_of_lading/bill_of_lading_v1_document.rb +0 -163
- data/lib/mindee/product/bill_of_lading/bill_of_lading_v1_notify_party.rb +0 -58
- data/lib/mindee/product/bill_of_lading/bill_of_lading_v1_page.rb +0 -36
- data/lib/mindee/product/bill_of_lading/bill_of_lading_v1_shipper.rb +0 -58
- data/lib/mindee/product/business_card/business_card_v1.rb +0 -45
- data/lib/mindee/product/business_card/business_card_v1_document.rb +0 -112
- data/lib/mindee/product/business_card/business_card_v1_page.rb +0 -36
- data/lib/mindee/product/cropper/cropper_v1.rb +0 -45
- data/lib/mindee/product/cropper/cropper_v1_document.rb +0 -13
- data/lib/mindee/product/cropper/cropper_v1_page.rb +0 -53
- data/lib/mindee/product/delivery_note/delivery_note_v1.rb +0 -45
- data/lib/mindee/product/delivery_note/delivery_note_v1_document.rb +0 -82
- data/lib/mindee/product/delivery_note/delivery_note_v1_page.rb +0 -36
- data/lib/mindee/product/driver_license/driver_license_v1.rb +0 -45
- data/lib/mindee/product/driver_license/driver_license_v1_document.rb +0 -121
- data/lib/mindee/product/driver_license/driver_license_v1_page.rb +0 -36
- data/lib/mindee/product/financial_document/financial_document_v1.rb +0 -45
- data/lib/mindee/product/financial_document/financial_document_v1_document.rb +0 -326
- data/lib/mindee/product/financial_document/financial_document_v1_line_item.rb +0 -121
- data/lib/mindee/product/financial_document/financial_document_v1_line_items.rb +0 -62
- data/lib/mindee/product/financial_document/financial_document_v1_page.rb +0 -36
- data/lib/mindee/product/fr/bank_account_details/bank_account_details_v1.rb +0 -47
- data/lib/mindee/product/fr/bank_account_details/bank_account_details_v1_document.rb +0 -46
- data/lib/mindee/product/fr/bank_account_details/bank_account_details_v1_page.rb +0 -38
- data/lib/mindee/product/fr/bank_account_details/bank_account_details_v2.rb +0 -47
- data/lib/mindee/product/fr/bank_account_details/bank_account_details_v2_bban.rb +0 -60
- data/lib/mindee/product/fr/bank_account_details/bank_account_details_v2_document.rb +0 -57
- data/lib/mindee/product/fr/bank_account_details/bank_account_details_v2_page.rb +0 -38
- data/lib/mindee/product/fr/bank_statement/bank_statement_v2.rb +0 -47
- data/lib/mindee/product/fr/bank_statement/bank_statement_v2_document.rb +0 -166
- data/lib/mindee/product/fr/bank_statement/bank_statement_v2_page.rb +0 -38
- data/lib/mindee/product/fr/bank_statement/bank_statement_v2_transaction.rb +0 -75
- data/lib/mindee/product/fr/bank_statement/bank_statement_v2_transactions.rb +0 -54
- data/lib/mindee/product/fr/carte_grise/carte_grise_v1.rb +0 -47
- data/lib/mindee/product/fr/carte_grise/carte_grise_v1_document.rb +0 -242
- data/lib/mindee/product/fr/carte_grise/carte_grise_v1_page.rb +0 -38
- data/lib/mindee/product/fr/energy_bill/energy_bill_v1.rb +0 -47
- data/lib/mindee/product/fr/energy_bill/energy_bill_v1_document.rb +0 -265
- data/lib/mindee/product/fr/energy_bill/energy_bill_v1_energy_consumer.rb +0 -48
- data/lib/mindee/product/fr/energy_bill/energy_bill_v1_energy_supplier.rb +0 -48
- data/lib/mindee/product/fr/energy_bill/energy_bill_v1_energy_usage.rb +0 -121
- data/lib/mindee/product/fr/energy_bill/energy_bill_v1_energy_usages.rb +0 -69
- data/lib/mindee/product/fr/energy_bill/energy_bill_v1_meter_detail.rb +0 -54
- data/lib/mindee/product/fr/energy_bill/energy_bill_v1_page.rb +0 -38
- data/lib/mindee/product/fr/energy_bill/energy_bill_v1_subscription.rb +0 -103
- data/lib/mindee/product/fr/energy_bill/energy_bill_v1_subscriptions.rb +0 -65
- data/lib/mindee/product/fr/energy_bill/energy_bill_v1_taxes_and_contribution.rb +0 -103
- data/lib/mindee/product/fr/energy_bill/energy_bill_v1_taxes_and_contributions.rb +0 -65
- data/lib/mindee/product/fr/health_card/health_card_v1.rb +0 -47
- data/lib/mindee/product/fr/health_card/health_card_v1_document.rb +0 -61
- data/lib/mindee/product/fr/health_card/health_card_v1_page.rb +0 -38
- data/lib/mindee/product/fr/id_card/id_card_v1.rb +0 -47
- data/lib/mindee/product/fr/id_card/id_card_v1_document.rb +0 -103
- data/lib/mindee/product/fr/id_card/id_card_v1_page.rb +0 -55
- data/lib/mindee/product/fr/id_card/id_card_v2.rb +0 -47
- data/lib/mindee/product/fr/id_card/id_card_v2_document.rb +0 -140
- data/lib/mindee/product/fr/id_card/id_card_v2_page.rb +0 -63
- data/lib/mindee/product/fr/payslip/payslip_v2.rb +0 -47
- data/lib/mindee/product/fr/payslip/payslip_v2_bank_account_detail.rb +0 -54
- data/lib/mindee/product/fr/payslip/payslip_v2_document.rb +0 -143
- data/lib/mindee/product/fr/payslip/payslip_v2_employee.rb +0 -78
- data/lib/mindee/product/fr/payslip/payslip_v2_employer.rb +0 -78
- data/lib/mindee/product/fr/payslip/payslip_v2_employment.rb +0 -73
- data/lib/mindee/product/fr/payslip/payslip_v2_page.rb +0 -38
- data/lib/mindee/product/fr/payslip/payslip_v2_pay_detail.rb +0 -122
- data/lib/mindee/product/fr/payslip/payslip_v2_pay_period.rb +0 -66
- data/lib/mindee/product/fr/payslip/payslip_v2_pto.rb +0 -65
- data/lib/mindee/product/fr/payslip/payslip_v2_salary_detail.rb +0 -87
- data/lib/mindee/product/fr/payslip/payslip_v2_salary_details.rb +0 -63
- data/lib/mindee/product/fr/payslip/payslip_v3.rb +0 -47
- data/lib/mindee/product/fr/payslip/payslip_v3_bank_account_detail.rb +0 -54
- data/lib/mindee/product/fr/payslip/payslip_v3_document.rb +0 -178
- data/lib/mindee/product/fr/payslip/payslip_v3_employee.rb +0 -78
- data/lib/mindee/product/fr/payslip/payslip_v3_employer.rb +0 -78
- data/lib/mindee/product/fr/payslip/payslip_v3_employment.rb +0 -78
- data/lib/mindee/product/fr/payslip/payslip_v3_page.rb +0 -38
- data/lib/mindee/product/fr/payslip/payslip_v3_paid_time_off.rb +0 -95
- data/lib/mindee/product/fr/payslip/payslip_v3_paid_time_offs.rb +0 -65
- data/lib/mindee/product/fr/payslip/payslip_v3_pay_detail.rb +0 -122
- data/lib/mindee/product/fr/payslip/payslip_v3_pay_period.rb +0 -66
- data/lib/mindee/product/fr/payslip/payslip_v3_salary_detail.rb +0 -97
- data/lib/mindee/product/fr/payslip/payslip_v3_salary_details.rb +0 -65
- data/lib/mindee/product/ind/indian_passport/indian_passport_v1.rb +0 -47
- data/lib/mindee/product/ind/indian_passport/indian_passport_v1_document.rb +0 -206
- data/lib/mindee/product/ind/indian_passport/indian_passport_v1_page.rb +0 -38
- data/lib/mindee/product/international_id/international_id_v2.rb +0 -45
- data/lib/mindee/product/international_id/international_id_v2_document.rb +0 -161
- data/lib/mindee/product/international_id/international_id_v2_page.rb +0 -36
- data/lib/mindee/product/invoice/invoice_v4.rb +0 -45
- data/lib/mindee/product/invoice/invoice_v4_document.rb +0 -297
- data/lib/mindee/product/invoice/invoice_v4_line_item.rb +0 -121
- data/lib/mindee/product/invoice/invoice_v4_line_items.rb +0 -62
- data/lib/mindee/product/invoice/invoice_v4_page.rb +0 -36
- data/lib/mindee/product/invoice_splitter/invoice_splitter_v1.rb +0 -45
- data/lib/mindee/product/invoice_splitter/invoice_splitter_v1_document.rb +0 -63
- data/lib/mindee/product/invoice_splitter/invoice_splitter_v1_invoice_page_group.rb +0 -55
- data/lib/mindee/product/invoice_splitter/invoice_splitter_v1_invoice_page_groups.rb +0 -48
- data/lib/mindee/product/invoice_splitter/invoice_splitter_v1_page.rb +0 -36
- data/lib/mindee/product/multi_receipts_detector/multi_receipts_detector_v1.rb +0 -45
- data/lib/mindee/product/multi_receipts_detector/multi_receipts_detector_v1_document.rb +0 -35
- data/lib/mindee/product/multi_receipts_detector/multi_receipts_detector_v1_page.rb +0 -36
- data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1.rb +0 -45
- data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_added_sugar.rb +0 -55
- data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_calorie.rb +0 -55
- data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_cholesterol.rb +0 -55
- data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_dietary_fiber.rb +0 -55
- data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_document.rb +0 -211
- data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_nutrient.rb +0 -93
- data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_nutrients.rb +0 -68
- data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_page.rb +0 -36
- data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_protein.rb +0 -55
- data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_saturated_fat.rb +0 -55
- data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_serving_size.rb +0 -47
- data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_sodium.rb +0 -61
- data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_total_carbohydrate.rb +0 -55
- data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_total_fat.rb +0 -55
- data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_total_sugar.rb +0 -55
- data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_trans_fat.rb +0 -55
- data/lib/mindee/product/passport/passport_v1.rb +0 -45
- data/lib/mindee/product/passport/passport_v1_document.rb +0 -109
- data/lib/mindee/product/passport/passport_v1_page.rb +0 -36
- data/lib/mindee/product/receipt/receipt_v5.rb +0 -45
- data/lib/mindee/product/receipt/receipt_v5_document.rb +0 -184
- data/lib/mindee/product/receipt/receipt_v5_line_item.rb +0 -85
- data/lib/mindee/product/receipt/receipt_v5_line_items.rb +0 -54
- data/lib/mindee/product/receipt/receipt_v5_page.rb +0 -36
- data/lib/mindee/product/resume/resume_v1.rb +0 -45
- data/lib/mindee/product/resume/resume_v1_certificate.rb +0 -79
- data/lib/mindee/product/resume/resume_v1_certificates.rb +0 -58
- data/lib/mindee/product/resume/resume_v1_document.rb +0 -337
- data/lib/mindee/product/resume/resume_v1_education.rb +0 -103
- data/lib/mindee/product/resume/resume_v1_educations.rb +0 -64
- data/lib/mindee/product/resume/resume_v1_language.rb +0 -63
- data/lib/mindee/product/resume/resume_v1_languages.rb +0 -54
- data/lib/mindee/product/resume/resume_v1_page.rb +0 -36
- data/lib/mindee/product/resume/resume_v1_professional_experience.rb +0 -119
- data/lib/mindee/product/resume/resume_v1_professional_experiences.rb +0 -68
- data/lib/mindee/product/resume/resume_v1_social_networks_url.rb +0 -63
- data/lib/mindee/product/resume/resume_v1_social_networks_urls.rb +0 -54
- data/lib/mindee/product/universal/universal.rb +0 -46
- data/lib/mindee/product/universal/universal_document.rb +0 -32
- data/lib/mindee/product/universal/universal_page.rb +0 -51
- data/lib/mindee/product/universal/universal_prediction.rb +0 -122
- data/lib/mindee/product/us/bank_check/bank_check_v1.rb +0 -47
- data/lib/mindee/product/us/bank_check/bank_check_v1_document.rb +0 -74
- data/lib/mindee/product/us/bank_check/bank_check_v1_page.rb +0 -64
- data/lib/mindee/product/us/healthcare_card/healthcare_card_v1.rb +0 -47
- data/lib/mindee/product/us/healthcare_card/healthcare_card_v1_copay.rb +0 -67
- data/lib/mindee/product/us/healthcare_card/healthcare_card_v1_copays.rb +0 -52
- data/lib/mindee/product/us/healthcare_card/healthcare_card_v1_document.rb +0 -167
- data/lib/mindee/product/us/healthcare_card/healthcare_card_v1_page.rb +0 -38
- data/lib/mindee/product/us/us_mail/us_mail_v3.rb +0 -47
- data/lib/mindee/product/us/us_mail/us_mail_v3_document.rb +0 -115
- data/lib/mindee/product/us/us_mail/us_mail_v3_page.rb +0 -38
- data/lib/mindee/product/us/us_mail/us_mail_v3_recipient_address.rb +0 -113
- data/lib/mindee/product/us/us_mail/us_mail_v3_recipient_addresses.rb +0 -65
- data/lib/mindee/product/us/us_mail/us_mail_v3_sender_address.rb +0 -66
- data/lib/mindee/product.rb +0 -32
- data/sig/mindee/client.rbs +0 -61
- data/sig/mindee/client_v2.rbs +0 -17
- data/sig/mindee/errors/mindee_error.rbs +0 -13
- data/sig/mindee/errors/mindee_http_error.rbs +0 -17
- data/sig/mindee/errors/mindee_http_error_v2.rbs +0 -15
- data/sig/mindee/errors/mindee_http_unknown_error_v2.rbs +0 -9
- data/sig/mindee/errors/mindee_input_error.rbs +0 -18
- data/sig/mindee/extraction/multi_receipts_extractor.rbs +0 -6
- data/sig/mindee/http/api_settings_v2.rbs +0 -23
- data/sig/mindee/http/endpoint.rbs +0 -29
- data/sig/mindee/http/mindee_api_v2.rbs +0 -22
- data/sig/mindee/http/workflow_endpoint.rbs +0 -20
- data/sig/mindee/input/data_schema.rbs +0 -34
- data/sig/mindee/input/inference_parameters.rbs +0 -40
- data/sig/mindee/parsing/common/api_request.rbs +0 -15
- data/sig/mindee/parsing/common/api_response.rbs +0 -27
- data/sig/mindee/parsing/common/document.rbs +0 -20
- data/sig/mindee/parsing/common/execution.rbs +0 -24
- data/sig/mindee/parsing/common/execution_file.rbs +0 -12
- data/sig/mindee/parsing/common/execution_priority.rbs +0 -13
- data/sig/mindee/parsing/common/extras/cropper_extra.rbs +0 -15
- data/sig/mindee/parsing/common/extras/extras.rbs +0 -19
- data/sig/mindee/parsing/common/extras/full_text_ocr_extra.rbs +0 -16
- data/sig/mindee/parsing/common/extras/rag_extra.rbs +0 -15
- data/sig/mindee/parsing/common/inference.rbs +0 -26
- data/sig/mindee/parsing/common/job.rbs +0 -16
- data/sig/mindee/parsing/common/ocr/mvision_v1.rbs +0 -15
- data/sig/mindee/parsing/common/ocr/ocr.rbs +0 -41
- data/sig/mindee/parsing/common/orientation.rbs +0 -13
- data/sig/mindee/parsing/common/page.rbs +0 -16
- data/sig/mindee/parsing/common/prediction.rbs +0 -11
- data/sig/mindee/parsing/common/product.rbs +0 -13
- data/sig/mindee/parsing/common/workflow_response.rbs +0 -17
- data/sig/mindee/parsing/standard/abstract_field.rbs +0 -19
- data/sig/mindee/parsing/standard/address_field.rbs +0 -18
- data/sig/mindee/parsing/standard/amount_field.rbs +0 -14
- data/sig/mindee/parsing/standard/base_field.rbs +0 -12
- data/sig/mindee/parsing/standard/boolean_field.rbs +0 -12
- data/sig/mindee/parsing/standard/classification_field.rbs +0 -10
- data/sig/mindee/parsing/standard/company_registration_field.rbs +0 -15
- data/sig/mindee/parsing/standard/date_field.rbs +0 -14
- data/sig/mindee/parsing/standard/feature_field.rbs +0 -10
- data/sig/mindee/parsing/standard/locale_field.rbs +0 -16
- data/sig/mindee/parsing/standard/payment_details_field.rbs +0 -16
- data/sig/mindee/parsing/standard/position_field.rbs +0 -17
- data/sig/mindee/parsing/standard/string_field.rbs +0 -12
- data/sig/mindee/parsing/standard/tax_field.rbs +0 -24
- data/sig/mindee/parsing/universal/universal_list_field.rbs +0 -16
- data/sig/mindee/parsing/universal/universal_object_field.rbs +0 -29
- data/sig/mindee/parsing/v2/common_response.rbs +0 -11
- data/sig/mindee/parsing/v2/error_item.rbs +0 -13
- data/sig/mindee/parsing/v2/error_response.rbs +0 -19
- data/sig/mindee/parsing/v2/field/base_field.rbs +0 -17
- data/sig/mindee/parsing/v2/field/field_confidence.rbs +0 -30
- data/sig/mindee/parsing/v2/field/field_location.rbs +0 -16
- data/sig/mindee/parsing/v2/field/inference_fields.rbs +0 -20
- data/sig/mindee/parsing/v2/field/list_field.rbs +0 -23
- data/sig/mindee/parsing/v2/field/object_field.rbs +0 -27
- data/sig/mindee/parsing/v2/field/simple_field.rbs +0 -16
- data/sig/mindee/parsing/v2/inference.rbs +0 -19
- data/sig/mindee/parsing/v2/inference_active_options.rbs +0 -23
- data/sig/mindee/parsing/v2/inference_file.rbs +0 -15
- data/sig/mindee/parsing/v2/inference_job.rbs +0 -12
- data/sig/mindee/parsing/v2/inference_model.rbs +0 -11
- data/sig/mindee/parsing/v2/inference_response.rbs +0 -12
- data/sig/mindee/parsing/v2/inference_result.rbs +0 -15
- data/sig/mindee/parsing/v2/job.rbs +0 -23
- data/sig/mindee/parsing/v2/job_response.rbs +0 -12
- data/sig/mindee/parsing/v2/job_webhook.rbs +0 -17
- data/sig/mindee/parsing/v2/rag_metadata.rbs +0 -13
- data/sig/mindee/parsing/v2/raw_text.rbs +0 -12
- data/sig/mindee/parsing/v2/raw_text_page.rbs +0 -11
- data/sig/mindee/product/barcode_reader/barcode_reader_v1.rbs +0 -11
- data/sig/mindee/product/barcode_reader/barcode_reader_v1_document.rbs +0 -14
- data/sig/mindee/product/barcode_reader/barcode_reader_v1_page.rbs +0 -15
- data/sig/mindee/product/bill_of_lading/bill_of_lading_v1.rbs +0 -11
- data/sig/mindee/product/bill_of_lading/bill_of_lading_v1_carrier.rbs +0 -14
- data/sig/mindee/product/bill_of_lading/bill_of_lading_v1_carrier_item.rbs +0 -19
- data/sig/mindee/product/bill_of_lading/bill_of_lading_v1_carrier_items.rbs +0 -13
- data/sig/mindee/product/bill_of_lading/bill_of_lading_v1_consignee.rbs +0 -15
- data/sig/mindee/product/bill_of_lading/bill_of_lading_v1_document.rbs +0 -25
- data/sig/mindee/product/bill_of_lading/bill_of_lading_v1_notify_party.rbs +0 -15
- data/sig/mindee/product/bill_of_lading/bill_of_lading_v1_page.rbs +0 -15
- data/sig/mindee/product/bill_of_lading/bill_of_lading_v1_shipper.rbs +0 -15
- data/sig/mindee/product/business_card/business_card_v1.rbs +0 -11
- data/sig/mindee/product/business_card/business_card_v1_document.rbs +0 -23
- data/sig/mindee/product/business_card/business_card_v1_page.rbs +0 -15
- data/sig/mindee/product/cropper/cropper_v1.rbs +0 -11
- data/sig/mindee/product/cropper/cropper_v1_document.rbs +0 -12
- data/sig/mindee/product/cropper/cropper_v1_page.rbs +0 -16
- data/sig/mindee/product/delivery_note/delivery_note_v1.rbs +0 -11
- data/sig/mindee/product/delivery_note/delivery_note_v1_document.rbs +0 -19
- data/sig/mindee/product/delivery_note/delivery_note_v1_page.rbs +0 -15
- data/sig/mindee/product/driver_license/driver_license_v1.rbs +0 -11
- data/sig/mindee/product/driver_license/driver_license_v1_document.rbs +0 -25
- data/sig/mindee/product/driver_license/driver_license_v1_page.rbs +0 -15
- data/sig/mindee/product/financial_document/financial_document_v1.rbs +0 -11
- data/sig/mindee/product/financial_document/financial_document_v1_document.rbs +0 -47
- data/sig/mindee/product/financial_document/financial_document_v1_line_item.rbs +0 -21
- data/sig/mindee/product/financial_document/financial_document_v1_line_items.rbs +0 -13
- data/sig/mindee/product/financial_document/financial_document_v1_page.rbs +0 -15
- data/sig/mindee/product/fr/bank_account_details/bank_account_details_v1.rbs +0 -13
- data/sig/mindee/product/fr/bank_account_details/bank_account_details_v1_document.rbs +0 -17
- data/sig/mindee/product/fr/bank_account_details/bank_account_details_v1_page.rbs +0 -17
- data/sig/mindee/product/fr/bank_account_details/bank_account_details_v2.rbs +0 -13
- data/sig/mindee/product/fr/bank_account_details/bank_account_details_v2_bban.rbs +0 -17
- data/sig/mindee/product/fr/bank_account_details/bank_account_details_v2_document.rbs +0 -18
- data/sig/mindee/product/fr/bank_account_details/bank_account_details_v2_page.rbs +0 -17
- data/sig/mindee/product/fr/bank_statement/bank_statement_v2.rbs +0 -13
- data/sig/mindee/product/fr/bank_statement/bank_statement_v2_document.rbs +0 -29
- data/sig/mindee/product/fr/bank_statement/bank_statement_v2_page.rbs +0 -17
- data/sig/mindee/product/fr/bank_statement/bank_statement_v2_transaction.rbs +0 -18
- data/sig/mindee/product/fr/bank_statement/bank_statement_v2_transactions.rbs +0 -15
- data/sig/mindee/product/fr/carte_grise/carte_grise_v1.rbs +0 -13
- data/sig/mindee/product/fr/carte_grise/carte_grise_v1_document.rbs +0 -55
- data/sig/mindee/product/fr/carte_grise/carte_grise_v1_page.rbs +0 -17
- data/sig/mindee/product/fr/energy_bill/energy_bill_v1.rbs +0 -13
- data/sig/mindee/product/fr/energy_bill/energy_bill_v1_document.rbs +0 -34
- data/sig/mindee/product/fr/energy_bill/energy_bill_v1_energy_consumer.rbs +0 -15
- data/sig/mindee/product/fr/energy_bill/energy_bill_v1_energy_supplier.rbs +0 -15
- data/sig/mindee/product/fr/energy_bill/energy_bill_v1_energy_usage.rbs +0 -23
- data/sig/mindee/product/fr/energy_bill/energy_bill_v1_energy_usages.rbs +0 -15
- data/sig/mindee/product/fr/energy_bill/energy_bill_v1_meter_detail.rbs +0 -16
- data/sig/mindee/product/fr/energy_bill/energy_bill_v1_page.rbs +0 -17
- data/sig/mindee/product/fr/energy_bill/energy_bill_v1_subscription.rbs +0 -21
- data/sig/mindee/product/fr/energy_bill/energy_bill_v1_subscriptions.rbs +0 -15
- data/sig/mindee/product/fr/energy_bill/energy_bill_v1_taxes_and_contribution.rbs +0 -21
- data/sig/mindee/product/fr/energy_bill/energy_bill_v1_taxes_and_contributions.rbs +0 -15
- data/sig/mindee/product/fr/health_card/health_card_v1.rbs +0 -13
- data/sig/mindee/product/fr/health_card/health_card_v1_document.rbs +0 -18
- data/sig/mindee/product/fr/health_card/health_card_v1_page.rbs +0 -17
- data/sig/mindee/product/fr/id_card/id_card_v1.rbs +0 -13
- data/sig/mindee/product/fr/id_card/id_card_v1_document.rbs +0 -24
- data/sig/mindee/product/fr/id_card/id_card_v1_page.rbs +0 -18
- data/sig/mindee/product/fr/id_card/id_card_v2.rbs +0 -13
- data/sig/mindee/product/fr/id_card/id_card_v2_document.rbs +0 -29
- data/sig/mindee/product/fr/id_card/id_card_v2_page.rbs +0 -19
- data/sig/mindee/product/fr/payslip/payslip_v2.rbs +0 -13
- data/sig/mindee/product/fr/payslip/payslip_v2_bank_account_detail.rbs +0 -16
- data/sig/mindee/product/fr/payslip/payslip_v2_document.rbs +0 -24
- data/sig/mindee/product/fr/payslip/payslip_v2_employee.rbs +0 -20
- data/sig/mindee/product/fr/payslip/payslip_v2_employer.rbs +0 -20
- data/sig/mindee/product/fr/payslip/payslip_v2_employment.rbs +0 -19
- data/sig/mindee/product/fr/payslip/payslip_v2_page.rbs +0 -17
- data/sig/mindee/product/fr/payslip/payslip_v2_pay_detail.rbs +0 -23
- data/sig/mindee/product/fr/payslip/payslip_v2_pay_period.rbs +0 -18
- data/sig/mindee/product/fr/payslip/payslip_v2_pto.rbs +0 -16
- data/sig/mindee/product/fr/payslip/payslip_v2_salary_detail.rbs +0 -19
- data/sig/mindee/product/fr/payslip/payslip_v2_salary_details.rbs +0 -15
- data/sig/mindee/product/fr/payslip/payslip_v3.rbs +0 -13
- data/sig/mindee/product/fr/payslip/payslip_v3_bank_account_detail.rbs +0 -16
- data/sig/mindee/product/fr/payslip/payslip_v3_document.rbs +0 -26
- data/sig/mindee/product/fr/payslip/payslip_v3_employee.rbs +0 -20
- data/sig/mindee/product/fr/payslip/payslip_v3_employer.rbs +0 -20
- data/sig/mindee/product/fr/payslip/payslip_v3_employment.rbs +0 -20
- data/sig/mindee/product/fr/payslip/payslip_v3_page.rbs +0 -17
- data/sig/mindee/product/fr/payslip/payslip_v3_paid_time_off.rbs +0 -20
- data/sig/mindee/product/fr/payslip/payslip_v3_paid_time_offs.rbs +0 -15
- data/sig/mindee/product/fr/payslip/payslip_v3_pay_detail.rbs +0 -23
- data/sig/mindee/product/fr/payslip/payslip_v3_pay_period.rbs +0 -18
- data/sig/mindee/product/fr/payslip/payslip_v3_salary_detail.rbs +0 -20
- data/sig/mindee/product/fr/payslip/payslip_v3_salary_details.rbs +0 -15
- data/sig/mindee/product/ind/indian_passport/indian_passport_v1.rbs +0 -13
- data/sig/mindee/product/ind/indian_passport/indian_passport_v1_document.rbs +0 -37
- data/sig/mindee/product/ind/indian_passport/indian_passport_v1_page.rbs +0 -17
- data/sig/mindee/product/international_id/international_id_v2.rbs +0 -11
- data/sig/mindee/product/international_id/international_id_v2_document.rbs +0 -29
- data/sig/mindee/product/international_id/international_id_v2_page.rbs +0 -15
- data/sig/mindee/product/invoice/invoice_v4.rbs +0 -11
- data/sig/mindee/product/invoice/invoice_v4_document.rbs +0 -43
- data/sig/mindee/product/invoice/invoice_v4_line_item.rbs +0 -21
- data/sig/mindee/product/invoice/invoice_v4_line_items.rbs +0 -13
- data/sig/mindee/product/invoice/invoice_v4_page.rbs +0 -15
- data/sig/mindee/product/invoice_splitter/invoice_splitter_v1.rbs +0 -11
- data/sig/mindee/product/invoice_splitter/invoice_splitter_v1_document.rbs +0 -15
- data/sig/mindee/product/invoice_splitter/invoice_splitter_v1_invoice_page_group.rbs +0 -14
- data/sig/mindee/product/invoice_splitter/invoice_splitter_v1_invoice_page_groups.rbs +0 -13
- data/sig/mindee/product/invoice_splitter/invoice_splitter_v1_page.rbs +0 -15
- data/sig/mindee/product/multi_receipts_detector/multi_receipts_detector_v1.rbs +0 -11
- data/sig/mindee/product/multi_receipts_detector/multi_receipts_detector_v1_document.rbs +0 -13
- data/sig/mindee/product/multi_receipts_detector/multi_receipts_detector_v1_page.rbs +0 -15
- data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1.rbs +0 -11
- data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_added_sugar.rbs +0 -14
- data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_calorie.rbs +0 -14
- data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_cholesterol.rbs +0 -14
- data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_dietary_fiber.rbs +0 -14
- data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_document.rbs +0 -28
- data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_nutrient.rbs +0 -18
- data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_nutrients.rbs +0 -13
- data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_page.rbs +0 -15
- data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_protein.rbs +0 -14
- data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_saturated_fat.rbs +0 -14
- data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_serving_size.rbs +0 -13
- data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_sodium.rbs +0 -15
- data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_total_carbohydrate.rbs +0 -14
- data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_total_fat.rbs +0 -14
- data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_total_sugar.rbs +0 -14
- data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_trans_fat.rbs +0 -14
- data/sig/mindee/product/passport/passport_v1.rbs +0 -11
- data/sig/mindee/product/passport/passport_v1_document.rbs +0 -23
- data/sig/mindee/product/passport/passport_v1_page.rbs +0 -15
- data/sig/mindee/product/receipt/receipt_v5.rbs +0 -11
- data/sig/mindee/product/receipt/receipt_v5_document.rbs +0 -31
- data/sig/mindee/product/receipt/receipt_v5_line_item.rbs +0 -17
- data/sig/mindee/product/receipt/receipt_v5_line_items.rbs +0 -13
- data/sig/mindee/product/receipt/receipt_v5_page.rbs +0 -15
- data/sig/mindee/product/resume/resume_v1.rbs +0 -11
- data/sig/mindee/product/resume/resume_v1_certificate.rbs +0 -17
- data/sig/mindee/product/resume/resume_v1_certificates.rbs +0 -13
- data/sig/mindee/product/resume/resume_v1_document.rbs +0 -39
- data/sig/mindee/product/resume/resume_v1_education.rbs +0 -20
- data/sig/mindee/product/resume/resume_v1_educations.rbs +0 -13
- data/sig/mindee/product/resume/resume_v1_language.rbs +0 -15
- data/sig/mindee/product/resume/resume_v1_languages.rbs +0 -13
- data/sig/mindee/product/resume/resume_v1_page.rbs +0 -15
- data/sig/mindee/product/resume/resume_v1_professional_experience.rbs +0 -22
- data/sig/mindee/product/resume/resume_v1_professional_experiences.rbs +0 -13
- data/sig/mindee/product/resume/resume_v1_social_networks_url.rbs +0 -15
- data/sig/mindee/product/resume/resume_v1_social_networks_urls.rbs +0 -13
- data/sig/mindee/product/universal/universal.rbs +0 -14
- data/sig/mindee/product/universal/universal_document.rbs +0 -10
- data/sig/mindee/product/universal/universal_page.rbs +0 -14
- data/sig/mindee/product/universal/universal_prediction.rbs +0 -19
- data/sig/mindee/product/us/bank_check/bank_check_v1.rbs +0 -13
- data/sig/mindee/product/us/bank_check/bank_check_v1_document.rbs +0 -20
- data/sig/mindee/product/us/bank_check/bank_check_v1_page.rbs +0 -19
- data/sig/mindee/product/us/healthcare_card/healthcare_card_v1.rbs +0 -13
- data/sig/mindee/product/us/healthcare_card/healthcare_card_v1_copay.rbs +0 -17
- data/sig/mindee/product/us/healthcare_card/healthcare_card_v1_copays.rbs +0 -15
- data/sig/mindee/product/us/healthcare_card/healthcare_card_v1_document.rbs +0 -30
- data/sig/mindee/product/us/healthcare_card/healthcare_card_v1_page.rbs +0 -17
- data/sig/mindee/product/us/us_mail/us_mail_v3.rbs +0 -13
- data/sig/mindee/product/us/us_mail/us_mail_v3_document.rbs +0 -21
- data/sig/mindee/product/us/us_mail/us_mail_v3_page.rbs +0 -17
- data/sig/mindee/product/us/us_mail/us_mail_v3_recipient_address.rbs +0 -23
- data/sig/mindee/product/us/us_mail/us_mail_v3_recipient_addresses.rbs +0 -15
- data/sig/mindee/product/us/us_mail/us_mail_v3_sender_address.rbs +0 -18
- data/sig/mindee/product/us/w9/w9_v1.rbs +0 -13
- data/sig/mindee/product/us/w9/w9_v1_document.rbs +0 -14
- data/sig/mindee/product/us/w9/w9_v1_page.rbs +0 -29
- /data/lib/mindee/{extraction.rb → v1/extraction.rb} +0 -0
- /data/lib/mindee/{parsing → v1/parsing}/common/extras.rb +0 -0
- /data/lib/mindee/{parsing → v1/parsing}/common/ocr.rb +0 -0
- /data/lib/mindee/{parsing → v1/parsing}/common.rb +0 -0
- /data/lib/mindee/{parsing → v1/parsing}/standard.rb +0 -0
- /data/lib/mindee/{parsing → v1/parsing}/universal.rb +0 -0
- /data/lib/mindee/{parsing.rb → v1/parsing.rb} +0 -0
- /data/lib/mindee/{parsing/v2 → v2/parsing}/field.rb +0 -0
data/lib/mindee/http.rb
CHANGED
|
@@ -18,23 +18,29 @@ module Mindee
|
|
|
18
18
|
attr_reader :buffer
|
|
19
19
|
|
|
20
20
|
# Internal name for the file.
|
|
21
|
-
attr_reader :
|
|
21
|
+
attr_reader :filename
|
|
22
22
|
|
|
23
23
|
# Initializes the ExtractedImage with a buffer and an internal file name.
|
|
24
24
|
#
|
|
25
|
-
# @param input_source [LocalInputSource] Local source for input.
|
|
25
|
+
# @param input_source [LocalInputSource, BytesInputSource] Local source for input.
|
|
26
26
|
# @param page_id [Integer] ID of the page the element was found on.
|
|
27
27
|
# @param element_id [Integer, nil] ID of the element in a page.
|
|
28
|
-
|
|
28
|
+
# @param preserve_input_filename [Boolean] If true, keep the input source filename as-is.
|
|
29
|
+
def initialize(input_source, page_id, element_id, preserve_input_filename: false)
|
|
29
30
|
@buffer = StringIO.new(input_source.io_stream.read.to_s)
|
|
30
31
|
@buffer.rewind
|
|
31
|
-
|
|
32
|
-
|
|
32
|
+
|
|
33
|
+
@filename = if preserve_input_filename
|
|
34
|
+
input_source.filename.to_s
|
|
33
35
|
else
|
|
34
|
-
|
|
36
|
+
extension = if input_source.pdf?
|
|
37
|
+
'.jpg'
|
|
38
|
+
else
|
|
39
|
+
File.extname(input_source.filename)
|
|
40
|
+
end
|
|
41
|
+
base_name = File.basename(input_source.filename, File.extname(input_source.filename))
|
|
42
|
+
"#{base_name}_p#{page_id}_#{element_id}#{extension}"
|
|
35
43
|
end
|
|
36
|
-
base_name = File.basename(input_source.filename, File.extname(input_source.filename))
|
|
37
|
-
@internal_file_name = "#{base_name}_p#{page_id}_#{element_id}#{extension}"
|
|
38
44
|
@page_id = page_id
|
|
39
45
|
@element_id = element_id.nil? ? 0 : element_id
|
|
40
46
|
end
|
|
@@ -48,7 +54,7 @@ module Mindee
|
|
|
48
54
|
def write_to_file(output_path, file_format = nil)
|
|
49
55
|
resolved_path = Pathname.new(File.expand_path(output_path))
|
|
50
56
|
if file_format.nil?
|
|
51
|
-
raise
|
|
57
|
+
raise Error::MindeeImageError, 'Invalid file format.' if resolved_path.extname.delete('.').empty?
|
|
52
58
|
|
|
53
59
|
file_format = resolved_path.extname.delete('.').upcase
|
|
54
60
|
end
|
|
@@ -59,8 +65,8 @@ module Mindee
|
|
|
59
65
|
image.write resolved_path.to_s
|
|
60
66
|
logger.info("File saved successfully to '#{resolved_path}'")
|
|
61
67
|
rescue StandardError
|
|
62
|
-
raise
|
|
63
|
-
|
|
68
|
+
raise Error::MindeeImageError, "Could not save file '#{output_path}'. " \
|
|
69
|
+
'Is the provided file path valid?.'
|
|
64
70
|
end
|
|
65
71
|
end
|
|
66
72
|
|
|
@@ -69,7 +75,14 @@ module Mindee
|
|
|
69
75
|
# @return [FileInputSource] A BufferInput source.
|
|
70
76
|
def as_source
|
|
71
77
|
@buffer.rewind
|
|
72
|
-
Mindee::Input::Source::BytesInputSource.new(@buffer.read || '', @
|
|
78
|
+
Mindee::Input::Source::BytesInputSource.new(@buffer.read || '', @filename)
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
# Return the file as a Mindee-compatible BufferInput source.
|
|
82
|
+
#
|
|
83
|
+
# @return [FileInputSource] A BufferInput source.
|
|
84
|
+
def as_input_source
|
|
85
|
+
as_source
|
|
73
86
|
end
|
|
74
87
|
end
|
|
75
88
|
end
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
Mindee::Dependency.require_all_deps!
|
|
3
4
|
require 'mini_magick'
|
|
4
5
|
require 'origami'
|
|
5
6
|
require 'stringio'
|
|
@@ -47,7 +48,7 @@ module Mindee
|
|
|
47
48
|
# @param [Array<Geometry::Point, Geometry::Polygon, Geometry::Quadrilateral>] polygons
|
|
48
49
|
# @return [Array<Image::ExtractedImage>] Extracted Images.
|
|
49
50
|
def self.extract_images_from_polygons(input_source, pdf_stream, page_id, polygons)
|
|
50
|
-
extracted_elements = []
|
|
51
|
+
extracted_elements = [] # @type var extracted_elements: Array[Image::ExtractedImage]
|
|
51
52
|
|
|
52
53
|
polygons.each_with_index do |polygon, element_id|
|
|
53
54
|
polygon = ImageUtils.normalize_polygon(polygon)
|
|
@@ -94,7 +95,8 @@ module Mindee
|
|
|
94
95
|
ExtractedImage.new(
|
|
95
96
|
Input::Source::BytesInputSource.new(buffer.read.to_s, file_name),
|
|
96
97
|
page_id,
|
|
97
|
-
element_id
|
|
98
|
+
element_id,
|
|
99
|
+
preserve_input_filename: true
|
|
98
100
|
)
|
|
99
101
|
end
|
|
100
102
|
|
|
@@ -37,7 +37,7 @@ module Mindee
|
|
|
37
37
|
MiniMagick::Image.read(image)
|
|
38
38
|
else
|
|
39
39
|
img_class = image.class ? image.class.to_s : 'unknown format'
|
|
40
|
-
raise
|
|
40
|
+
raise Error::MindeeImageError, "Expected an I/O object or a MiniMagick::Image. '#{img_class}' given instead."
|
|
41
41
|
end
|
|
42
42
|
end
|
|
43
43
|
|
|
@@ -60,7 +60,7 @@ module Mindee
|
|
|
60
60
|
# @param max_width [Integer] Maximum width. If not specified, the horizontal ratio will remain the same.
|
|
61
61
|
# @param max_height [Integer] Maximum height. If not specified, the vertical ratio will remain the same.
|
|
62
62
|
def self.calculate_new_dimensions(original, max_width: nil, max_height: nil)
|
|
63
|
-
raise
|
|
63
|
+
raise Error::MindeeImageError, 'Provided image could not be processed for resizing.' if original.nil?
|
|
64
64
|
|
|
65
65
|
return [original.width, original.height] if max_width.nil? && max_height.nil?
|
|
66
66
|
|
|
@@ -111,7 +111,7 @@ module Mindee
|
|
|
111
111
|
elsif polygon.is_a?(Mindee::Geometry::Quadrilateral)
|
|
112
112
|
polygon
|
|
113
113
|
else
|
|
114
|
-
raise
|
|
114
|
+
raise Error::MindeeGeometryError, 'Provided polygon has an invalid type.'
|
|
115
115
|
end
|
|
116
116
|
end
|
|
117
117
|
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Mindee
|
|
4
|
+
module Input
|
|
5
|
+
# Base class for parameters accepted by all V2 endpoints.
|
|
6
|
+
class BaseParameters
|
|
7
|
+
# @return [String] ID of the model (required).
|
|
8
|
+
attr_reader :model_id
|
|
9
|
+
|
|
10
|
+
# @return [String, nil] Optional alias for the file.
|
|
11
|
+
attr_reader :file_alias
|
|
12
|
+
|
|
13
|
+
# @return [Array<String>, nil] Optional list of Webhooks IDs to propagate the API response to.
|
|
14
|
+
attr_reader :webhook_ids
|
|
15
|
+
|
|
16
|
+
# @return [PollingOptions] Options for polling. Set only if having timeout issues.
|
|
17
|
+
attr_reader :polling_options
|
|
18
|
+
|
|
19
|
+
# @return [Boolean, nil] Whether to close the file after parsing.
|
|
20
|
+
attr_reader :close_file
|
|
21
|
+
|
|
22
|
+
# @param [String] model_id ID of the model
|
|
23
|
+
# @param [String, nil] file_alias File alias, if applicable.
|
|
24
|
+
# @param [Array<String>, nil] webhook_ids List of webhook IDs to propagate the API response to.
|
|
25
|
+
# @param [Hash, nil] polling_options Options for polling. Set only if having timeout issues.
|
|
26
|
+
# @param [Boolean, nil] close_file Whether to close the file after parsing.
|
|
27
|
+
def initialize(
|
|
28
|
+
model_id,
|
|
29
|
+
file_alias: nil,
|
|
30
|
+
webhook_ids: nil,
|
|
31
|
+
polling_options: nil,
|
|
32
|
+
close_file: true
|
|
33
|
+
)
|
|
34
|
+
raise Error::MindeeInputError, 'Model ID is required.' if model_id.empty? || model_id.nil?
|
|
35
|
+
|
|
36
|
+
@model_id = model_id
|
|
37
|
+
@file_alias = file_alias
|
|
38
|
+
@webhook_ids = webhook_ids || []
|
|
39
|
+
@polling_options = get_clean_polling_options(polling_options)
|
|
40
|
+
@close_file = close_file.nil? || close_file
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
# @return [String] Slug for the endpoint.
|
|
44
|
+
def self.slug
|
|
45
|
+
if self == BaseParameters
|
|
46
|
+
raise NotImplementedError, 'Cannot access `slug` directly on the BaseParameters class.'
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
''
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# @return [String] Slug for the endpoint.
|
|
53
|
+
def slug
|
|
54
|
+
self.class.slug
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Load from a hash
|
|
58
|
+
# @param [Hash] params Parameters to provide as a hash.
|
|
59
|
+
# @return [BaseParameters]
|
|
60
|
+
def self.from_hash(params: {})
|
|
61
|
+
load_from_hash(params: params)
|
|
62
|
+
new(
|
|
63
|
+
params[:model_id],
|
|
64
|
+
file_alias: params[:file_alias],
|
|
65
|
+
webhook_ids: params[:webhook_ids],
|
|
66
|
+
polling_options: params[:polling_options],
|
|
67
|
+
close_file: params[:close_file]
|
|
68
|
+
)
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
# Loads a prediction from a Hash.
|
|
72
|
+
# @param [Hash] params Parameters to provide as a hash.
|
|
73
|
+
# @return [Hash]
|
|
74
|
+
def self.load_from_hash(params: {})
|
|
75
|
+
params.transform_keys!(&:to_sym)
|
|
76
|
+
|
|
77
|
+
if params.empty? || params[:model_id].nil? || params[:model_id].empty?
|
|
78
|
+
raise Error::MindeeInputError, 'Model ID is required.'
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
polling_options_input = params.fetch(:page_options, PollingOptions.new)
|
|
82
|
+
if polling_options_input.is_a?(Hash)
|
|
83
|
+
polling_options_input = polling_options_input.transform_keys(&:to_sym)
|
|
84
|
+
PollingOptions.new(
|
|
85
|
+
initial_delay_sec: polling_options_input.fetch(:initial_delay_sec, 2.0),
|
|
86
|
+
delay_sec: polling_options_input.fetch(:delay_sec, 1.5),
|
|
87
|
+
max_retries: polling_options_input.fetch(:max_retries, 80)
|
|
88
|
+
)
|
|
89
|
+
end
|
|
90
|
+
params
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
# Appends base form data to the provided array.
|
|
94
|
+
# @param [Array] form_data Array of form fields
|
|
95
|
+
# @return [Array]
|
|
96
|
+
def append_form_data(form_data)
|
|
97
|
+
form_data.push(['file_alias', @file_alias]) if @file_alias
|
|
98
|
+
webhook_ids = @webhook_ids || []
|
|
99
|
+
form_data.push(['webhook_ids', webhook_ids.join(',')]) unless @webhook_ids.nil? || webhook_ids.empty?
|
|
100
|
+
form_data
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
# Validates the parameters for async auto-polling
|
|
104
|
+
def validate_async_params
|
|
105
|
+
min_delay_sec = 1
|
|
106
|
+
min_initial_delay_sec = 1
|
|
107
|
+
min_retries = 2
|
|
108
|
+
|
|
109
|
+
if @polling_options.delay_sec < min_delay_sec
|
|
110
|
+
raise ArgumentError,
|
|
111
|
+
"Cannot set auto-poll delay to less than #{min_delay_sec} second(s)"
|
|
112
|
+
end
|
|
113
|
+
if @polling_options.initial_delay_sec < min_initial_delay_sec
|
|
114
|
+
raise ArgumentError,
|
|
115
|
+
"Cannot set initial parsing delay to less than #{min_initial_delay_sec} second(s)"
|
|
116
|
+
end
|
|
117
|
+
return unless @polling_options.max_retries < min_retries
|
|
118
|
+
|
|
119
|
+
raise ArgumentError,
|
|
120
|
+
"Cannot set auto-poll retries to less than #{min_retries}"
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
private
|
|
124
|
+
|
|
125
|
+
# Cleans a proper polling options object potentially from a hash.
|
|
126
|
+
# @param [Hash, PollingOptions, nil] polling_options Polling options.
|
|
127
|
+
# @return [PollingOptions] Valid polling options object.
|
|
128
|
+
def get_clean_polling_options(polling_options)
|
|
129
|
+
return PollingOptions.new if polling_options.is_a?(PollingOptions)
|
|
130
|
+
|
|
131
|
+
if polling_options.is_a?(Hash)
|
|
132
|
+
polling_options = polling_options.transform_keys(&:to_sym)
|
|
133
|
+
output_polling_options = PollingOptions.new(
|
|
134
|
+
initial_delay_sec: polling_options.fetch(:initial_delay_sec, 2.0),
|
|
135
|
+
delay_sec: polling_options.fetch(:delay_sec, 1.5),
|
|
136
|
+
max_retries: polling_options.fetch(:max_retries, 80)
|
|
137
|
+
)
|
|
138
|
+
else
|
|
139
|
+
output_polling_options = if polling_options.is_a?(PollingOptions)
|
|
140
|
+
polling_options || PollingOptions.new
|
|
141
|
+
else
|
|
142
|
+
PollingOptions.new
|
|
143
|
+
end
|
|
144
|
+
end
|
|
145
|
+
output_polling_options
|
|
146
|
+
end
|
|
147
|
+
end
|
|
148
|
+
end
|
|
149
|
+
end
|
|
@@ -27,7 +27,7 @@ module Mindee
|
|
|
27
27
|
end
|
|
28
28
|
@file.rewind
|
|
29
29
|
else
|
|
30
|
-
raise
|
|
30
|
+
raise Error::MindeeInputError, "Incompatible type for input '#{input_file.class}'."
|
|
31
31
|
end
|
|
32
32
|
end
|
|
33
33
|
|
|
@@ -35,10 +35,10 @@ module Mindee
|
|
|
35
35
|
# @return [Hash]
|
|
36
36
|
def as_hash
|
|
37
37
|
@file.rewind
|
|
38
|
-
file_str = @file.read
|
|
38
|
+
file_str = @file.read or raise 'File could not be read'
|
|
39
39
|
JSON.parse(file_str, object_class: Hash)
|
|
40
40
|
rescue JSON::ParserError
|
|
41
|
-
raise
|
|
41
|
+
raise Error::MindeeInputError, "File is not a valid dict. #{file_str}"
|
|
42
42
|
end
|
|
43
43
|
|
|
44
44
|
# Processes the secret key
|
|
@@ -54,9 +54,10 @@ module Mindee
|
|
|
54
54
|
algorithm = OpenSSL::Digest.new('sha256')
|
|
55
55
|
begin
|
|
56
56
|
@file.rewind
|
|
57
|
-
mac = OpenSSL::HMAC.hexdigest(algorithm, self.class.process_secret_key(secret_key),
|
|
57
|
+
mac = OpenSSL::HMAC.hexdigest(algorithm, self.class.process_secret_key(secret_key),
|
|
58
|
+
@file.read || raise('File could not be read'))
|
|
58
59
|
rescue StandardError
|
|
59
|
-
raise
|
|
60
|
+
raise Error::MindeeInputError, 'Could not get HMAC signature from payload.'
|
|
60
61
|
end
|
|
61
62
|
mac
|
|
62
63
|
end
|
|
@@ -69,12 +70,10 @@ module Mindee
|
|
|
69
70
|
end
|
|
70
71
|
|
|
71
72
|
# Deserializes a loaded response
|
|
72
|
-
# @param response_class [Parsing::
|
|
73
|
-
# @return [Parsing::
|
|
73
|
+
# @param response_class [Class<V2::Parsing::BaseResponse>] class to return.
|
|
74
|
+
# @return [V2::Parsing::JobResponse, Mindee::V2::Parsing::BaseResponse]
|
|
74
75
|
def deserialize_response(response_class)
|
|
75
|
-
response_class.new(as_hash) # :
|
|
76
|
-
rescue StandardError
|
|
77
|
-
raise Errors::MindeeInputError, 'Invalid response provided.'
|
|
76
|
+
response_class.new(as_hash) # : Mindee::V2::Parsing::JobResponse | Mindee::V2::Parsing::BaseResponse
|
|
78
77
|
end
|
|
79
78
|
end
|
|
80
79
|
end
|
|
@@ -4,8 +4,9 @@ require 'stringio'
|
|
|
4
4
|
require 'marcel'
|
|
5
5
|
require 'fileutils'
|
|
6
6
|
|
|
7
|
-
require_relative '../../
|
|
8
|
-
require_relative '../../
|
|
7
|
+
require_relative '../../dependency'
|
|
8
|
+
require_relative '../../pdf' if Mindee::Dependency.all_deps_available?
|
|
9
|
+
require_relative '../../image' if Mindee::Dependency.all_deps_available?
|
|
9
10
|
|
|
10
11
|
module Mindee
|
|
11
12
|
module Input
|
|
@@ -53,7 +54,7 @@ module Mindee
|
|
|
53
54
|
return if ALLOWED_MIME_TYPES.include? @file_mimetype
|
|
54
55
|
end
|
|
55
56
|
|
|
56
|
-
raise
|
|
57
|
+
raise Error::MindeeMimeTypeError, @file_mimetype.to_s
|
|
57
58
|
end
|
|
58
59
|
|
|
59
60
|
# @deprecated See {#fix_pdf!} or {#self.fix_pdf} instead.
|
|
@@ -69,7 +70,7 @@ module Mindee
|
|
|
69
70
|
# Attempts to fix the PDF data in the file.
|
|
70
71
|
# @param maximum_offset [Integer] Maximum offset to look for the PDF header.
|
|
71
72
|
# @return [void]
|
|
72
|
-
# @raise [Mindee::
|
|
73
|
+
# @raise [Mindee::Error::MindeePDFError]
|
|
73
74
|
def fix_pdf!(maximum_offset: 500)
|
|
74
75
|
@io_stream = LocalInputSource.fix_pdf(@io_stream, maximum_offset: maximum_offset)
|
|
75
76
|
@io_stream.rewind
|
|
@@ -80,11 +81,11 @@ module Mindee
|
|
|
80
81
|
# @param stream [StringIO] The stream to fix.
|
|
81
82
|
# @param maximum_offset [Integer] Maximum offset to look for the PDF header.
|
|
82
83
|
# @return [StringIO] The fixed stream.
|
|
83
|
-
# @raise [Mindee::
|
|
84
|
+
# @raise [Mindee::Error::MindeePDFError]
|
|
84
85
|
def self.fix_pdf(stream, maximum_offset: 500)
|
|
85
86
|
out_stream = StringIO.new
|
|
86
87
|
stream.gets('%PDF-')
|
|
87
|
-
raise
|
|
88
|
+
raise Error::MindeePDFError if stream.eof? || stream.pos > maximum_offset
|
|
88
89
|
|
|
89
90
|
stream.pos = stream.pos - 5
|
|
90
91
|
out_stream << stream.read
|
|
@@ -142,6 +143,9 @@ module Mindee
|
|
|
142
143
|
# Defaults to one for images.
|
|
143
144
|
# @return [Integer]
|
|
144
145
|
def page_count
|
|
146
|
+
unless Mindee::Dependency.all_deps_available?
|
|
147
|
+
raise NotImplementedError, Mindee::Dependency::MINDEE_DEPENDENCIES_LOAD_ERROR
|
|
148
|
+
end
|
|
145
149
|
return 1 unless pdf?
|
|
146
150
|
|
|
147
151
|
@io_stream.seek(0)
|
|
@@ -149,14 +153,6 @@ module Mindee
|
|
|
149
153
|
pdf_processor.pages.size
|
|
150
154
|
end
|
|
151
155
|
|
|
152
|
-
# Returns the page count for a document.
|
|
153
|
-
# Defaults to one for images.
|
|
154
|
-
# @return [Integer]
|
|
155
|
-
# @deprecated Use {#page_count} instead.
|
|
156
|
-
def count_pages
|
|
157
|
-
page_count
|
|
158
|
-
end
|
|
159
|
-
|
|
160
156
|
# Compresses the file, according to the provided info.
|
|
161
157
|
# @param [Integer] quality Quality of the output file.
|
|
162
158
|
# @param [Integer, nil] max_width Maximum width (Ignored for PDFs).
|
|
@@ -167,6 +163,10 @@ module Mindee
|
|
|
167
163
|
# @param [bool] disable_source_text If the PDF has source text, whether to re-apply it to the original or
|
|
168
164
|
# not. Needs force_source_text to work.
|
|
169
165
|
def compress!(quality: 85, max_width: nil, max_height: nil, force_source_text: false, disable_source_text: true)
|
|
166
|
+
unless Mindee::Dependency.all_deps_available?
|
|
167
|
+
raise NotImplementedError, Mindee::Dependency::MINDEE_DEPENDENCIES_LOAD_ERROR
|
|
168
|
+
end
|
|
169
|
+
|
|
170
170
|
buffer = if pdf?
|
|
171
171
|
Mindee::PDF::PDFCompressor.compress_pdf(
|
|
172
172
|
@io_stream,
|
|
@@ -189,6 +189,10 @@ module Mindee
|
|
|
189
189
|
# Checks whether the file has source text if it is a pdf. `false` otherwise
|
|
190
190
|
# @return [bool] `true` if the file is a PDF and has source text.
|
|
191
191
|
def source_text?
|
|
192
|
+
unless Mindee::Dependency.all_deps_available?
|
|
193
|
+
raise NotImplementedError, Mindee::Dependency::MINDEE_DEPENDENCIES_LOAD_ERROR
|
|
194
|
+
end
|
|
195
|
+
|
|
192
196
|
Mindee::PDF::PDFTools.source_text?(@io_stream)
|
|
193
197
|
end
|
|
194
198
|
end
|
|
@@ -11,7 +11,7 @@ module Mindee
|
|
|
11
11
|
# @param filepath [String]
|
|
12
12
|
# @param repair_pdf [bool]
|
|
13
13
|
def initialize(filepath, repair_pdf: false)
|
|
14
|
-
io_stream = File.
|
|
14
|
+
io_stream = File.new(filepath, 'rb')
|
|
15
15
|
super(io_stream, File.basename(filepath), repair_pdf: repair_pdf)
|
|
16
16
|
end
|
|
17
17
|
end
|
|
@@ -14,7 +14,7 @@ module Mindee
|
|
|
14
14
|
attr_reader :url
|
|
15
15
|
|
|
16
16
|
def initialize(url)
|
|
17
|
-
raise
|
|
17
|
+
raise Error::MindeeInputError, 'URL must be HTTPS' unless url.start_with? 'https://'
|
|
18
18
|
|
|
19
19
|
logger.debug("URL input: #{url}")
|
|
20
20
|
|
|
@@ -75,9 +75,9 @@ module Mindee
|
|
|
75
75
|
|
|
76
76
|
response = make_request(uri, request, max_redirects)
|
|
77
77
|
if response.code.to_i > 299
|
|
78
|
-
raise
|
|
78
|
+
raise Error::MindeeAPIError, "Failed to download file: HTTP status code #{response.code}"
|
|
79
79
|
elsif response.code.to_i < 200
|
|
80
|
-
raise
|
|
80
|
+
raise Error::MindeeAPIError, "Failed to download file: Invalid response code #{response.code}."
|
|
81
81
|
end
|
|
82
82
|
|
|
83
83
|
response.body
|
|
@@ -103,7 +103,7 @@ module Mindee
|
|
|
103
103
|
response = http.request(request)
|
|
104
104
|
if response.is_a?(Net::HTTPRedirection) && max_redirects.positive?
|
|
105
105
|
location = response['location']
|
|
106
|
-
raise
|
|
106
|
+
raise Error::MindeeInputError, 'No location in redirection header.' if location.nil?
|
|
107
107
|
|
|
108
108
|
new_uri = URI.parse(location)
|
|
109
109
|
request = Net::HTTP::Get.new(new_uri)
|
data/lib/mindee/input.rb
CHANGED
|
@@ -5,8 +5,16 @@ require 'logger'
|
|
|
5
5
|
module Mindee
|
|
6
6
|
# Mindee logging module.
|
|
7
7
|
module Logging
|
|
8
|
-
@logger = Logger.new($stdout)
|
|
9
8
|
log_level = ENV.fetch('MINDEE_LOG_LEVEL', 'WARN')
|
|
9
|
+
log_output = ENV.fetch('MINDEE_LOG_OUTPUT', 'stderr')
|
|
10
|
+
@logger = if log_output == 'stderr'
|
|
11
|
+
Logger.new($stderr)
|
|
12
|
+
elsif log_output == 'stdout'
|
|
13
|
+
Logger.new($stdout)
|
|
14
|
+
else
|
|
15
|
+
warn "Invalid MINDEE_LOG_OUTPUT='#{log_output}', defaulting to 'stderr'"
|
|
16
|
+
Logger.new($stderr)
|
|
17
|
+
end
|
|
10
18
|
@logger.level = Logger.const_get(log_level)
|
|
11
19
|
|
|
12
20
|
class << self
|
data/lib/mindee/page_options.rb
CHANGED
|
@@ -3,57 +3,67 @@
|
|
|
3
3
|
module Mindee
|
|
4
4
|
# PDF Extraction Module.
|
|
5
5
|
module PDF
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
attr_reader :pdf_bytes
|
|
12
|
-
|
|
13
|
-
# Name of the file.
|
|
14
|
-
# @return [String]
|
|
15
|
-
attr_reader :filename
|
|
16
|
-
|
|
17
|
-
# @param pdf_bytes [StringIO]
|
|
18
|
-
# @param filename [String]
|
|
19
|
-
def initialize(pdf_bytes, filename)
|
|
20
|
-
@pdf_bytes = pdf_bytes
|
|
21
|
-
@filename = filename
|
|
22
|
-
end
|
|
6
|
+
# An extracted sub-Pdf.
|
|
7
|
+
class ExtractedPDF
|
|
8
|
+
# Byte contents of the pdf
|
|
9
|
+
# @return [StringIO]
|
|
10
|
+
attr_reader :pdf_bytes
|
|
23
11
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
12
|
+
# Name of the file.
|
|
13
|
+
# @return [String]
|
|
14
|
+
attr_reader :filename
|
|
15
|
+
|
|
16
|
+
# @param pdf_stream [StringIO, File]
|
|
17
|
+
# @param filename [String]
|
|
18
|
+
def initialize(pdf_stream, filename)
|
|
19
|
+
@filename = filename
|
|
32
20
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
raise Errors::MindeePDFError, 'Invalid save path provided' unless File.exist?(
|
|
39
|
-
File.expand_path('..', output_path)
|
|
40
|
-
) && !override
|
|
41
|
-
|
|
42
|
-
if File.extname(output_path).downcase == 'pdf'
|
|
43
|
-
base_path = File.expand_path('..', output_path)
|
|
44
|
-
output_path = File.expand_path("#{File.basename(output_path)}.pdf", base_path)
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
File.write(output_path, @pdf_bytes)
|
|
21
|
+
if pdf_stream.is_a?(File)
|
|
22
|
+
pdf_stream.rewind
|
|
23
|
+
@pdf_bytes = StringIO.new(pdf_stream.read)
|
|
24
|
+
else
|
|
25
|
+
@pdf_bytes = pdf_stream
|
|
48
26
|
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# Retrieves the page count for a given pdf.
|
|
30
|
+
# @return [Integer]
|
|
31
|
+
def page_count
|
|
32
|
+
current_pdf = Mindee::PDF::PDFProcessor.open_pdf(pdf_bytes)
|
|
33
|
+
current_pdf.pages.size
|
|
34
|
+
rescue TypeError, Origami::InvalidPDFError
|
|
35
|
+
raise Error::MindeePDFError, 'Could not retrieve page count from Extracted PDF object.'
|
|
36
|
+
end
|
|
49
37
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
38
|
+
# Writes the contents of the current PDF object to a file.
|
|
39
|
+
# @param output_path [String] Path to write to.
|
|
40
|
+
# @param override [bool] Whether to override the destination file.
|
|
41
|
+
def write_to_file(output_path, override: false)
|
|
42
|
+
raise Error::MindeePDFError, 'Provided path is not a file' if File.directory?(output_path)
|
|
43
|
+
raise Error::MindeePDFError, 'Invalid save path provided' unless File.exist?(
|
|
44
|
+
File.expand_path('..', output_path)
|
|
45
|
+
) && !override
|
|
54
46
|
|
|
55
|
-
|
|
47
|
+
if File.extname(output_path).downcase == 'pdf'
|
|
48
|
+
base_path = File.expand_path('..', output_path)
|
|
49
|
+
output_path = File.expand_path("#{File.basename(output_path)}.pdf", base_path)
|
|
56
50
|
end
|
|
51
|
+
|
|
52
|
+
@pdf_bytes.rewind if @pdf_bytes.respond_to?(:rewind)
|
|
53
|
+
File.binwrite(output_path, @pdf_bytes.read.to_s)
|
|
54
|
+
@pdf_bytes.rewind if @pdf_bytes.respond_to?(:rewind)
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Returns the current PDF object as a usable BytesInputSource.
|
|
58
|
+
# @return [Mindee::Input::Source::BytesInputSource]
|
|
59
|
+
def as_input_source
|
|
60
|
+
raise Error::MindeePDFError, 'Bytes object is nil.' if @pdf_bytes.nil?
|
|
61
|
+
|
|
62
|
+
@pdf_bytes.rewind if @pdf_bytes.respond_to?(:rewind)
|
|
63
|
+
data = @pdf_bytes.read || ''
|
|
64
|
+
@pdf_bytes.rewind if @pdf_bytes.respond_to?(:rewind)
|
|
65
|
+
|
|
66
|
+
Mindee::Input::Source::BytesInputSource.new(data, @filename)
|
|
57
67
|
end
|
|
58
68
|
end
|
|
59
69
|
end
|