mindee 4.13.0 → 5.0.0.rc1

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.
Files changed (808) hide show
  1. checksums.yaml +4 -4
  2. data/.editorconfig +24 -0
  3. data/.pre-commit-config.yaml +36 -0
  4. data/.rubocop.yml +3 -2
  5. data/CHANGELOG.md +50 -3
  6. data/CONTRIBUTING.md +17 -0
  7. data/Gemfile +9 -1
  8. data/README.md +7 -7
  9. data/Rakefile +21 -15
  10. data/Steepfile +0 -1
  11. data/bin/mindee.rb +19 -118
  12. data/bin/v1/parser.rb +153 -0
  13. data/bin/v1/products.rb +88 -0
  14. data/bin/v2/parser.rb +235 -0
  15. data/bin/v2/products.rb +34 -0
  16. data/docs/code_samples/bank_account_details_v1.txt +2 -2
  17. data/docs/code_samples/bank_account_details_v2.txt +2 -2
  18. data/docs/code_samples/bank_statement_fr_v2_async.txt +2 -2
  19. data/docs/code_samples/barcode_reader_v1.txt +2 -2
  20. data/docs/code_samples/cropper_v1.txt +2 -2
  21. data/docs/code_samples/default.txt +2 -2
  22. data/docs/code_samples/default_async.txt +2 -3
  23. data/docs/code_samples/expense_receipts_v5.txt +2 -2
  24. data/docs/code_samples/expense_receipts_v5_async.txt +2 -2
  25. data/docs/code_samples/financial_document_v1.txt +2 -2
  26. data/docs/code_samples/financial_document_v1_async.txt +2 -2
  27. data/docs/code_samples/idcard_fr_v1.txt +2 -2
  28. data/docs/code_samples/idcard_fr_v2.txt +2 -2
  29. data/docs/code_samples/international_id_v2_async.txt +2 -2
  30. data/docs/code_samples/invoice_splitter_v1_async.txt +2 -2
  31. data/docs/code_samples/invoices_v4.txt +2 -2
  32. data/docs/code_samples/invoices_v4_async.txt +2 -2
  33. data/docs/code_samples/multi_receipts_detector_v1.txt +2 -2
  34. data/docs/code_samples/passport_v1.txt +2 -2
  35. data/docs/code_samples/resume_v1_async.txt +2 -2
  36. data/docs/code_samples/v2_classification.txt +1 -1
  37. data/docs/code_samples/v2_crop.txt +2 -2
  38. data/docs/code_samples/v2_extraction.txt +3 -3
  39. data/docs/code_samples/v2_extraction_webhook.txt +3 -3
  40. data/docs/code_samples/v2_ocr.txt +2 -2
  41. data/docs/code_samples/v2_split.txt +1 -1
  42. data/docs/code_samples/workflow_execution.txt +2 -2
  43. data/docs/code_samples/workflow_polling.txt +2 -3
  44. data/examples/auto_invoice_splitter_extraction.rb +6 -6
  45. data/examples/auto_multi_receipts_detector_extraction.rb +4 -4
  46. data/lib/mindee/dependencies.rb +29 -0
  47. data/lib/mindee/{errors → error}/mindee_error.rb +1 -1
  48. data/lib/mindee/{errors → error}/mindee_http_error.rb +1 -1
  49. data/lib/mindee/{errors → error}/mindee_http_error_v2.rb +5 -5
  50. data/lib/mindee/{errors → error}/mindee_http_unknown_error_v2.rb +1 -1
  51. data/lib/mindee/{errors → error}/mindee_input_error.rb +2 -2
  52. data/lib/mindee/error.rb +6 -0
  53. data/lib/mindee/geometry/polygon.rb +2 -2
  54. data/lib/mindee/http/.rubocop.yml +0 -1
  55. data/lib/mindee/http/http_error_handler.rb +7 -7
  56. data/lib/mindee/http/response_validation.rb +3 -2
  57. data/lib/mindee/http.rb +0 -4
  58. data/lib/mindee/image/extracted_image.rb +25 -12
  59. data/lib/mindee/image/image_extractor.rb +17 -17
  60. data/lib/mindee/image/image_utils.rb +3 -3
  61. data/lib/mindee/input/base_parameters.rb +5 -2
  62. data/lib/mindee/input/local_response.rb +6 -8
  63. data/lib/mindee/input/sources/local_input_source.rb +18 -14
  64. data/lib/mindee/input/sources/path_input_source.rb +1 -1
  65. data/lib/mindee/input/sources/url_input_source.rb +4 -4
  66. data/lib/mindee/input.rb +0 -2
  67. data/lib/mindee/logging/logger.rb +9 -1
  68. data/lib/mindee/page_options.rb +1 -1
  69. data/lib/mindee/pdf/extracted_pdf.rb +55 -45
  70. data/lib/mindee/pdf/pdf_compressor.rb +2 -0
  71. data/lib/mindee/pdf/pdf_extractor.rb +95 -94
  72. data/lib/mindee/pdf/pdf_processor.rb +6 -1
  73. data/lib/mindee/pdf/pdf_tools.rb +19 -0
  74. data/lib/mindee/v1/client.rb +490 -0
  75. data/lib/mindee/v1/extraction/multi_receipts_extractor.rb +32 -0
  76. data/lib/mindee/v1/http/.rubocop.yml +7 -0
  77. data/lib/mindee/v1/http/endpoint.rb +221 -0
  78. data/lib/mindee/v1/http/workflow_endpoint.rb +93 -0
  79. data/lib/mindee/v1/http.rb +4 -0
  80. data/lib/mindee/v1/parsing/common/api_request.rb +38 -0
  81. data/lib/mindee/v1/parsing/common/api_response.rb +63 -0
  82. data/lib/mindee/v1/parsing/common/document.rb +86 -0
  83. data/lib/mindee/v1/parsing/common/execution.rb +78 -0
  84. data/lib/mindee/v1/parsing/common/execution_file.rb +26 -0
  85. data/lib/mindee/v1/parsing/common/execution_priority.rb +38 -0
  86. data/lib/mindee/v1/parsing/common/extras/cropper_extra.rb +32 -0
  87. data/lib/mindee/v1/parsing/common/extras/extras.rb +62 -0
  88. data/lib/mindee/v1/parsing/common/extras/full_text_ocr_extra.rb +35 -0
  89. data/lib/mindee/v1/parsing/common/extras/rag_extra.rb +28 -0
  90. data/lib/mindee/v1/parsing/common/inference.rb +69 -0
  91. data/lib/mindee/v1/parsing/common/job.rb +48 -0
  92. data/lib/mindee/v1/parsing/common/ocr/mvision_v1.rb +52 -0
  93. data/lib/mindee/v1/parsing/common/ocr/ocr.rb +180 -0
  94. data/lib/mindee/v1/parsing/common/orientation.rb +28 -0
  95. data/lib/mindee/v1/parsing/common/page.rb +49 -0
  96. data/lib/mindee/v1/parsing/common/prediction.rb +19 -0
  97. data/lib/mindee/v1/parsing/common/product.rb +26 -0
  98. data/lib/mindee/v1/parsing/common/workflow_response.rb +30 -0
  99. data/lib/mindee/v1/parsing/standard/abstract_field.rb +74 -0
  100. data/lib/mindee/v1/parsing/standard/address_field.rb +51 -0
  101. data/lib/mindee/v1/parsing/standard/amount_field.rb +28 -0
  102. data/lib/mindee/v1/parsing/standard/base_field.rb +30 -0
  103. data/lib/mindee/v1/parsing/standard/boolean_field.rb +29 -0
  104. data/lib/mindee/v1/parsing/standard/classification_field.rb +18 -0
  105. data/lib/mindee/v1/parsing/standard/company_registration_field.rb +45 -0
  106. data/lib/mindee/v1/parsing/standard/date_field.rb +40 -0
  107. data/lib/mindee/v1/parsing/standard/feature_field.rb +26 -0
  108. data/lib/mindee/v1/parsing/standard/locale_field.rb +52 -0
  109. data/lib/mindee/v1/parsing/standard/payment_details_field.rb +44 -0
  110. data/lib/mindee/v1/parsing/standard/position_field.rb +61 -0
  111. data/lib/mindee/v1/parsing/standard/string_field.rb +26 -0
  112. data/lib/mindee/v1/parsing/standard/tax_field.rb +110 -0
  113. data/lib/mindee/v1/parsing/universal/universal_list_field.rb +60 -0
  114. data/lib/mindee/v1/parsing/universal/universal_object_field.rb +123 -0
  115. data/lib/mindee/{product → v1/product}/.rubocop.yml +1 -2
  116. data/lib/mindee/{product/fr/id_card/id_card_v1.rb → v1/product/barcode_reader/barcode_reader_v1.rb} +12 -12
  117. data/lib/mindee/v1/product/barcode_reader/barcode_reader_v1_document.rb +47 -0
  118. data/lib/mindee/{product/fr/bank_statement/bank_statement_v2_page.rb → v1/product/barcode_reader/barcode_reader_v1_page.rb} +10 -10
  119. data/lib/mindee/{product/us/bank_check/bank_check_v1.rb → v1/product/cropper/cropper_v1.rb} +12 -12
  120. data/lib/mindee/v1/product/cropper/cropper_v1_document.rb +15 -0
  121. data/lib/mindee/v1/product/cropper/cropper_v1_page.rb +55 -0
  122. data/lib/mindee/{product/ind/indian_passport/indian_passport_v1.rb → v1/product/financial_document/financial_document_v1.rb} +13 -13
  123. data/lib/mindee/v1/product/financial_document/financial_document_v1_document.rb +329 -0
  124. data/lib/mindee/v1/product/financial_document/financial_document_v1_line_item.rb +124 -0
  125. data/lib/mindee/{product/fr/energy_bill/energy_bill_v1_subscriptions.rb → v1/product/financial_document/financial_document_v1_line_items.rb} +19 -20
  126. data/lib/mindee/v1/product/financial_document/financial_document_v1_page.rb +38 -0
  127. data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v1.rb +49 -0
  128. data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v1_document.rb +49 -0
  129. data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v1_page.rb +40 -0
  130. data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v2.rb +49 -0
  131. data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_bban.rb +63 -0
  132. data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_document.rb +60 -0
  133. data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_page.rb +40 -0
  134. data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2.rb +49 -0
  135. data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2_document.rb +169 -0
  136. data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2_page.rb +40 -0
  137. data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2_transaction.rb +78 -0
  138. data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2_transactions.rb +56 -0
  139. data/lib/mindee/v1/product/fr/id_card/id_card_v1.rb +49 -0
  140. data/lib/mindee/v1/product/fr/id_card/id_card_v1_document.rb +106 -0
  141. data/lib/mindee/v1/product/fr/id_card/id_card_v1_page.rb +57 -0
  142. data/lib/mindee/v1/product/fr/id_card/id_card_v2.rb +49 -0
  143. data/lib/mindee/v1/product/fr/id_card/id_card_v2_document.rb +143 -0
  144. data/lib/mindee/v1/product/fr/id_card/id_card_v2_page.rb +65 -0
  145. data/lib/mindee/{product/fr/payslip/payslip_v2.rb → v1/product/international_id/international_id_v2.rb} +12 -12
  146. data/lib/mindee/v1/product/international_id/international_id_v2_document.rb +164 -0
  147. data/lib/mindee/{product/fr/energy_bill/energy_bill_v1_page.rb → v1/product/international_id/international_id_v2_page.rb} +10 -10
  148. data/lib/mindee/{product/fr/payslip/payslip_v3.rb → v1/product/invoice/invoice_v4.rb} +14 -14
  149. data/lib/mindee/v1/product/invoice/invoice_v4_document.rb +300 -0
  150. data/lib/mindee/v1/product/invoice/invoice_v4_line_item.rb +124 -0
  151. data/lib/mindee/{product/fr/energy_bill/energy_bill_v1_taxes_and_contributions.rb → v1/product/invoice/invoice_v4_line_items.rb} +19 -20
  152. data/lib/mindee/{product/fr/payslip/payslip_v2_page.rb → v1/product/invoice/invoice_v4_page.rb} +10 -10
  153. data/lib/mindee/{product/fr/energy_bill/energy_bill_v1.rb → v1/product/invoice_splitter/invoice_splitter_v1.rb} +12 -12
  154. data/lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1_document.rb +66 -0
  155. data/lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1_invoice_page_group.rb +58 -0
  156. data/lib/mindee/{product/us/healthcare_card/healthcare_card_v1_copays.rb → v1/product/invoice_splitter/invoice_splitter_v1_invoice_page_groups.rb} +10 -12
  157. data/lib/mindee/{product/fr/health_card/health_card_v1_page.rb → v1/product/invoice_splitter/invoice_splitter_v1_page.rb} +10 -10
  158. data/lib/mindee/{product/fr/bank_account_details/bank_account_details_v1.rb → v1/product/multi_receipts_detector/multi_receipts_detector_v1.rb} +12 -12
  159. data/lib/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1_document.rb +38 -0
  160. data/lib/mindee/{product/fr/bank_account_details/bank_account_details_v1_page.rb → v1/product/multi_receipts_detector/multi_receipts_detector_v1_page.rb} +10 -10
  161. data/lib/mindee/{product/fr/carte_grise/carte_grise_v1.rb → v1/product/passport/passport_v1.rb} +12 -12
  162. data/lib/mindee/{product/fr/id_card/id_card_v1_document.rb → v1/product/passport/passport_v1_document.rb} +42 -33
  163. data/lib/mindee/{product/fr/carte_grise/carte_grise_v1_page.rb → v1/product/passport/passport_v1_page.rb} +10 -10
  164. data/lib/mindee/v1/product/receipt/receipt_v5.rb +47 -0
  165. data/lib/mindee/v1/product/receipt/receipt_v5_document.rb +187 -0
  166. data/lib/mindee/v1/product/receipt/receipt_v5_line_item.rb +88 -0
  167. data/lib/mindee/{product/fr/bank_statement/bank_statement_v2_transactions.rb → v1/product/receipt/receipt_v5_line_items.rb} +14 -12
  168. data/lib/mindee/{product/fr/payslip/payslip_v3_page.rb → v1/product/receipt/receipt_v5_page.rb} +10 -10
  169. data/lib/mindee/{product/us/us_mail/us_mail_v3.rb → v1/product/resume/resume_v1.rb} +13 -13
  170. data/lib/mindee/v1/product/resume/resume_v1_certificate.rb +82 -0
  171. data/lib/mindee/{product/fr/payslip/payslip_v2_salary_details.rb → v1/product/resume/resume_v1_certificates.rb} +20 -23
  172. data/lib/mindee/v1/product/resume/resume_v1_document.rb +340 -0
  173. data/lib/mindee/v1/product/resume/resume_v1_education.rb +106 -0
  174. data/lib/mindee/{product/us/us_mail/us_mail_v3_recipient_addresses.rb → v1/product/resume/resume_v1_educations.rb} +24 -23
  175. data/lib/mindee/v1/product/resume/resume_v1_language.rb +66 -0
  176. data/lib/mindee/{product/fr/payslip/payslip_v3_paid_time_offs.rb → v1/product/resume/resume_v1_languages.rb} +16 -25
  177. data/lib/mindee/{product/us/us_mail/us_mail_v3_page.rb → v1/product/resume/resume_v1_page.rb} +10 -10
  178. data/lib/mindee/v1/product/resume/resume_v1_professional_experience.rb +122 -0
  179. data/lib/mindee/{product/fr/energy_bill/energy_bill_v1_energy_usages.rb → v1/product/resume/resume_v1_professional_experiences.rb} +26 -25
  180. data/lib/mindee/v1/product/resume/resume_v1_social_networks_url.rb +66 -0
  181. data/lib/mindee/v1/product/resume/resume_v1_social_networks_urls.rb +56 -0
  182. data/lib/mindee/{product/fr/bank_statement/bank_statement_v2.rb → v1/product/universal/universal.rb} +16 -15
  183. data/lib/mindee/v1/product/universal/universal_document.rb +35 -0
  184. data/lib/mindee/v1/product/universal/universal_page.rb +54 -0
  185. data/lib/mindee/v1/product/universal/universal_prediction.rb +128 -0
  186. data/lib/mindee/{product.rb → v1/product.rb} +0 -14
  187. data/lib/mindee/v1.rb +7 -0
  188. data/lib/mindee/v2/client.rb +132 -0
  189. data/lib/mindee/v2/file_operations/crop.rb +51 -0
  190. data/lib/mindee/v2/file_operations/crop_files.rb +25 -0
  191. data/lib/mindee/v2/file_operations/split.rb +37 -0
  192. data/lib/mindee/v2/file_operations/split_files.rb +25 -0
  193. data/lib/mindee/v2/file_operations.rb +6 -0
  194. data/lib/mindee/v2/http/.rubocop.yml +7 -0
  195. data/lib/mindee/v2/http/api_v2_settings.rb +65 -0
  196. data/lib/mindee/v2/http/mindee_api_v2.rb +230 -0
  197. data/lib/mindee/v2/http.rb +4 -0
  198. data/lib/mindee/v2/parsing/base_inference.rb +6 -6
  199. data/lib/mindee/v2/parsing/base_response.rb +3 -1
  200. data/lib/mindee/{parsing/v2 → v2/parsing}/common_response.rb +6 -4
  201. data/lib/mindee/{parsing/v2 → v2/parsing}/error_item.rb +2 -2
  202. data/lib/mindee/{parsing/v2 → v2/parsing}/error_response.rb +2 -2
  203. data/lib/mindee/{parsing/v2 → v2/parsing}/field/base_field.rb +3 -3
  204. data/lib/mindee/{parsing/v2 → v2/parsing}/field/field_confidence.rb +2 -2
  205. data/lib/mindee/{parsing/v2 → v2/parsing}/field/field_location.rb +2 -2
  206. data/lib/mindee/{parsing/v2 → v2/parsing}/field/inference_fields.rb +3 -3
  207. data/lib/mindee/{parsing/v2 → v2/parsing}/field/list_field.rb +5 -5
  208. data/lib/mindee/{parsing/v2 → v2/parsing}/field/object_field.rb +11 -8
  209. data/lib/mindee/{parsing/v2 → v2/parsing}/field/simple_field.rb +2 -2
  210. data/lib/mindee/{parsing/v2 → v2/parsing}/inference_active_options.rb +2 -2
  211. data/lib/mindee/{parsing/v2 → v2/parsing}/inference_file.rb +2 -2
  212. data/lib/mindee/{parsing/v2 → v2/parsing}/inference_job.rb +2 -2
  213. data/lib/mindee/{parsing/v2 → v2/parsing}/inference_model.rb +2 -2
  214. data/lib/mindee/{parsing/v2 → v2/parsing}/job.rb +3 -3
  215. data/lib/mindee/{parsing/v2 → v2/parsing}/job_response.rb +2 -2
  216. data/lib/mindee/{parsing/v2 → v2/parsing}/job_webhook.rb +2 -3
  217. data/lib/mindee/{parsing/v2 → v2/parsing}/rag_metadata.rb +2 -2
  218. data/lib/mindee/{parsing/v2 → v2/parsing}/raw_text.rb +6 -4
  219. data/lib/mindee/{parsing/v2 → v2/parsing}/raw_text_page.rb +4 -2
  220. data/lib/mindee/v2/parsing/search/pagination_metadata.rb +44 -0
  221. data/lib/mindee/v2/parsing/search/search_model.rb +38 -0
  222. data/lib/mindee/v2/parsing/search/search_models.rb +34 -0
  223. data/lib/mindee/v2/parsing/search/search_response.rb +38 -0
  224. data/lib/mindee/v2/parsing/search.rb +6 -0
  225. data/lib/mindee/v2/parsing.rb +16 -0
  226. data/lib/mindee/v2/product/base_product.rb +1 -0
  227. data/lib/mindee/v2/product/classification/classification.rb +1 -0
  228. data/lib/mindee/v2/product/classification/classification_inference.rb +1 -0
  229. data/lib/mindee/v2/product/classification/params/classification_parameters.rb +1 -0
  230. data/lib/mindee/v2/product/crop/crop.rb +1 -0
  231. data/lib/mindee/v2/product/crop/crop_item.rb +12 -2
  232. data/lib/mindee/v2/product/crop/crop_response.rb +8 -0
  233. data/lib/mindee/v2/product/crop/params/crop_parameters.rb +1 -0
  234. data/lib/mindee/v2/product/extraction/extraction.rb +3 -1
  235. data/lib/mindee/v2/product/extraction/extraction_inference.rb +19 -4
  236. data/lib/mindee/v2/product/extraction/extraction_response.rb +11 -2
  237. data/lib/mindee/v2/product/extraction/extraction_result.rb +31 -2
  238. data/lib/mindee/v2/product/extraction/params/data_schema.rb +51 -0
  239. data/lib/mindee/v2/product/extraction/params/data_schema_field.rb +69 -0
  240. data/lib/mindee/v2/product/extraction/params/data_schema_replace.rb +39 -0
  241. data/lib/mindee/v2/product/extraction/params/extraction_parameters.rb +110 -3
  242. data/lib/mindee/v2/product/ocr/ocr.rb +6 -5
  243. data/lib/mindee/v2/product/ocr/ocr_inference.rb +4 -4
  244. data/lib/mindee/v2/product/ocr/ocr_page.rb +5 -5
  245. data/lib/mindee/v2/product/ocr/ocr_response.rb +4 -4
  246. data/lib/mindee/v2/product/ocr/ocr_result.rb +4 -4
  247. data/lib/mindee/v2/product/ocr/ocr_word.rb +2 -2
  248. data/lib/mindee/v2/product/ocr/params/ocr_parameters.rb +5 -4
  249. data/lib/mindee/v2/product/split/params/split_parameters.rb +2 -0
  250. data/lib/mindee/v2/product/split/split_range.rb +8 -0
  251. data/lib/mindee/v2/product/split/split_response.rb +8 -0
  252. data/lib/mindee/v2.rb +5 -2
  253. data/lib/mindee/version.rb +1 -1
  254. data/lib/mindee.rb +59 -23
  255. data/mindee-lite.gemspec +36 -0
  256. data/mindee.gemspec +13 -13
  257. data/sig/custom/marcel.rbs +1 -1
  258. data/sig/custom/net_http.rbs +1 -1
  259. data/sig/custom/origami.rbs +1 -1
  260. data/sig/mindee/dependencies.rbs +13 -0
  261. data/sig/mindee/{errors → error}/mindee_error.rbs +2 -2
  262. data/sig/mindee/{errors → error}/mindee_http_error.rbs +3 -3
  263. data/sig/mindee/{errors → error}/mindee_http_error_v2.rbs +4 -4
  264. data/sig/mindee/{errors → error}/mindee_http_unknown_error_v2.rbs +2 -2
  265. data/sig/mindee/{errors → error}/mindee_input_error.rbs +2 -2
  266. data/sig/mindee/http/http_error_handler.rbs +4 -4
  267. data/sig/mindee/image/extracted_image.rbs +8 -2
  268. data/sig/mindee/image/image_extractor.rbs +2 -2
  269. data/sig/mindee/input/base_parameters.rbs +1 -1
  270. data/sig/mindee/input/local_response.rbs +1 -1
  271. data/sig/mindee/input/sources/local_input_source.rbs +0 -1
  272. data/sig/mindee/pdf/extracted_pdf.rbs +11 -9
  273. data/sig/mindee/pdf/pdf_extractor.rbs +12 -10
  274. data/sig/mindee/pdf/pdf_tools.rbs +2 -0
  275. data/sig/mindee/v1/client.rbs +84 -0
  276. data/sig/mindee/v1/extraction/multi_receipts_extractor.rbs +8 -0
  277. data/sig/mindee/v1/http/endpoint.rbs +41 -0
  278. data/sig/mindee/v1/http/workflow_endpoint.rbs +22 -0
  279. data/sig/mindee/v1/parsing/common/api_request.rbs +22 -0
  280. data/sig/mindee/v1/parsing/common/api_response.rbs +31 -0
  281. data/sig/mindee/v1/parsing/common/document.rbs +32 -0
  282. data/sig/mindee/v1/parsing/common/execution.rbs +26 -0
  283. data/sig/mindee/v1/parsing/common/execution_file.rbs +16 -0
  284. data/sig/mindee/v1/parsing/common/execution_priority.rbs +16 -0
  285. data/sig/mindee/v1/parsing/common/extras/cropper_extra.rbs +18 -0
  286. data/sig/mindee/v1/parsing/common/extras/extras.rbs +24 -0
  287. data/sig/mindee/v1/parsing/common/extras/full_text_ocr_extra.rbs +22 -0
  288. data/sig/mindee/v1/parsing/common/extras/rag_extra.rbs +19 -0
  289. data/sig/mindee/v1/parsing/common/inference.rbs +31 -0
  290. data/sig/mindee/v1/parsing/common/job.rbs +24 -0
  291. data/sig/mindee/v1/parsing/common/ocr/mvision_v1.rbs +20 -0
  292. data/sig/mindee/v1/parsing/common/ocr/ocr.rbs +56 -0
  293. data/sig/mindee/v1/parsing/common/orientation.rbs +15 -0
  294. data/sig/mindee/v1/parsing/common/page.rbs +19 -0
  295. data/sig/mindee/v1/parsing/common/prediction.rbs +14 -0
  296. data/sig/mindee/v1/parsing/common/product.rbs +16 -0
  297. data/sig/mindee/v1/parsing/common/workflow_response.rbs +22 -0
  298. data/sig/mindee/v1/parsing/standard/abstract_field.rbs +30 -0
  299. data/sig/mindee/v1/parsing/standard/address_field.rbs +28 -0
  300. data/sig/mindee/v1/parsing/standard/amount_field.rbs +16 -0
  301. data/sig/mindee/v1/parsing/standard/base_field.rbs +16 -0
  302. data/sig/mindee/v1/parsing/standard/boolean_field.rbs +16 -0
  303. data/sig/mindee/v1/parsing/standard/classification_field.rbs +12 -0
  304. data/sig/mindee/v1/parsing/standard/company_registration_field.rbs +20 -0
  305. data/sig/mindee/v1/parsing/standard/date_field.rbs +20 -0
  306. data/sig/mindee/v1/parsing/standard/feature_field.rbs +12 -0
  307. data/sig/mindee/v1/parsing/standard/locale_field.rbs +24 -0
  308. data/sig/mindee/v1/parsing/standard/payment_details_field.rbs +19 -0
  309. data/sig/mindee/v1/parsing/standard/position_field.rbs +26 -0
  310. data/sig/mindee/v1/parsing/standard/string_field.rbs +16 -0
  311. data/sig/mindee/v1/parsing/standard/tax_field.rbs +33 -0
  312. data/sig/mindee/v1/parsing/universal/universal_list_field.rbs +21 -0
  313. data/sig/mindee/v1/parsing/universal/universal_object_field.rbs +38 -0
  314. data/sig/mindee/{product → v1/product}/barcode_reader/barcode_reader_v1.rbs +4 -2
  315. data/sig/mindee/{product → v1/product}/barcode_reader/barcode_reader_v1_document.rbs +4 -2
  316. data/sig/mindee/{product → v1/product}/barcode_reader/barcode_reader_v1_page.rbs +4 -2
  317. data/sig/mindee/{product → v1/product}/cropper/cropper_v1.rbs +4 -2
  318. data/sig/mindee/{product → v1/product}/cropper/cropper_v1_document.rbs +4 -2
  319. data/sig/mindee/{product → v1/product}/cropper/cropper_v1_page.rbs +6 -3
  320. data/sig/mindee/{product → v1/product}/financial_document/financial_document_v1.rbs +4 -2
  321. data/sig/mindee/{product → v1/product}/financial_document/financial_document_v1_document.rbs +4 -2
  322. data/sig/mindee/v1/product/financial_document/financial_document_v1_line_item.rbs +35 -0
  323. data/sig/mindee/{product → v1/product}/financial_document/financial_document_v1_line_items.rbs +3 -1
  324. data/sig/mindee/{product → v1/product}/financial_document/financial_document_v1_page.rbs +4 -2
  325. data/sig/mindee/{product → v1/product}/fr/bank_account_details/bank_account_details_v1.rbs +4 -2
  326. data/sig/mindee/{product → v1/product}/fr/bank_account_details/bank_account_details_v1_document.rbs +4 -2
  327. data/sig/mindee/{product → v1/product}/fr/bank_account_details/bank_account_details_v1_page.rbs +4 -2
  328. data/sig/mindee/{product → v1/product}/fr/bank_account_details/bank_account_details_v2.rbs +4 -2
  329. data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_bban.rbs +25 -0
  330. data/sig/mindee/{product → v1/product}/fr/bank_account_details/bank_account_details_v2_document.rbs +4 -2
  331. data/sig/mindee/{product → v1/product}/fr/bank_account_details/bank_account_details_v2_page.rbs +4 -2
  332. data/sig/mindee/{product → v1/product}/fr/bank_statement/bank_statement_v2.rbs +4 -2
  333. data/sig/mindee/{product → v1/product}/fr/bank_statement/bank_statement_v2_document.rbs +4 -2
  334. data/sig/mindee/{product → v1/product}/fr/bank_statement/bank_statement_v2_page.rbs +4 -2
  335. data/sig/mindee/v1/product/fr/bank_statement/bank_statement_v2_transaction.rbs +27 -0
  336. data/sig/mindee/{product → v1/product}/fr/bank_statement/bank_statement_v2_transactions.rbs +3 -1
  337. data/sig/mindee/v1/product/fr/id_card/id_card_v1.rbs +15 -0
  338. data/sig/mindee/{product → v1/product}/fr/id_card/id_card_v1_document.rbs +4 -2
  339. data/sig/mindee/{product → v1/product}/fr/id_card/id_card_v1_page.rbs +4 -2
  340. data/sig/mindee/{product → v1/product}/fr/id_card/id_card_v2.rbs +4 -2
  341. data/sig/mindee/{product → v1/product}/fr/id_card/id_card_v2_document.rbs +4 -2
  342. data/sig/mindee/{product → v1/product}/fr/id_card/id_card_v2_page.rbs +4 -2
  343. data/sig/mindee/{product → v1/product}/international_id/international_id_v2.rbs +4 -2
  344. data/sig/mindee/{product → v1/product}/international_id/international_id_v2_document.rbs +4 -2
  345. data/sig/mindee/{product → v1/product}/international_id/international_id_v2_page.rbs +4 -2
  346. data/sig/mindee/{product → v1/product}/invoice/invoice_v4.rbs +4 -2
  347. data/sig/mindee/{product → v1/product}/invoice/invoice_v4_document.rbs +4 -2
  348. data/sig/mindee/{product/fr/energy_bill/energy_bill_v1_taxes_and_contribution.rbs → v1/product/invoice/invoice_v4_line_item.rbs} +22 -8
  349. data/sig/mindee/{product → v1/product}/invoice/invoice_v4_line_items.rbs +3 -1
  350. data/sig/mindee/{product → v1/product}/invoice/invoice_v4_page.rbs +4 -2
  351. data/sig/mindee/{product → v1/product}/invoice_splitter/invoice_splitter_v1.rbs +4 -2
  352. data/sig/mindee/{product → v1/product}/invoice_splitter/invoice_splitter_v1_document.rbs +5 -3
  353. data/sig/mindee/{product/us/healthcare_card/healthcare_card_v1_copay.rbs → v1/product/invoice_splitter/invoice_splitter_v1_invoice_page_group.rbs} +11 -7
  354. data/sig/mindee/{product → v1/product}/invoice_splitter/invoice_splitter_v1_invoice_page_groups.rbs +3 -1
  355. data/sig/mindee/{product → v1/product}/invoice_splitter/invoice_splitter_v1_page.rbs +4 -2
  356. data/sig/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1.rbs +14 -0
  357. data/sig/mindee/{product → v1/product}/multi_receipts_detector/multi_receipts_detector_v1_document.rbs +5 -3
  358. data/sig/mindee/{product → v1/product}/multi_receipts_detector/multi_receipts_detector_v1_page.rbs +4 -2
  359. data/sig/mindee/{product → v1/product}/passport/passport_v1.rbs +4 -2
  360. data/sig/mindee/{product → v1/product}/passport/passport_v1_document.rbs +4 -2
  361. data/sig/mindee/{product → v1/product}/passport/passport_v1_page.rbs +4 -2
  362. data/sig/mindee/{product → v1/product}/receipt/receipt_v5.rbs +4 -2
  363. data/sig/mindee/{product → v1/product}/receipt/receipt_v5_document.rbs +4 -2
  364. data/sig/mindee/{product/fr/bank_statement/bank_statement_v2_transaction.rbs → v1/product/receipt/receipt_v5_line_item.rbs} +16 -7
  365. data/sig/mindee/{product → v1/product}/receipt/receipt_v5_line_items.rbs +3 -1
  366. data/sig/mindee/{product → v1/product}/receipt/receipt_v5_page.rbs +4 -2
  367. data/sig/mindee/{product → v1/product}/resume/resume_v1.rbs +4 -2
  368. data/sig/mindee/v1/product/resume/resume_v1_certificate.rbs +27 -0
  369. data/sig/mindee/{product/fr/payslip/payslip_v3_paid_time_offs.rbs → v1/product/resume/resume_v1_certificates.rbs} +6 -4
  370. data/sig/mindee/v1/product/resume/resume_v1_document.rbs +69 -0
  371. data/sig/mindee/v1/product/resume/resume_v1_education.rbs +33 -0
  372. data/sig/mindee/{product/fr/payslip/payslip_v2_salary_details.rbs → v1/product/resume/resume_v1_educations.rbs} +6 -4
  373. data/sig/mindee/v1/product/resume/resume_v1_language.rbs +23 -0
  374. data/sig/mindee/{product/fr/payslip/payslip_v3_salary_details.rbs → v1/product/resume/resume_v1_languages.rbs} +6 -4
  375. data/sig/mindee/{product/us/us_mail/us_mail_v3_page.rbs → v1/product/resume/resume_v1_page.rbs} +8 -6
  376. data/sig/mindee/v1/product/resume/resume_v1_professional_experience.rbs +37 -0
  377. data/sig/mindee/{product/fr/energy_bill/energy_bill_v1_subscriptions.rbs → v1/product/resume/resume_v1_professional_experiences.rbs} +6 -4
  378. data/sig/mindee/v1/product/resume/resume_v1_social_networks_url.rbs +23 -0
  379. data/sig/mindee/{product/fr/energy_bill/energy_bill_v1_energy_usages.rbs → v1/product/resume/resume_v1_social_networks_urls.rbs} +6 -4
  380. data/sig/mindee/{product → v1/product}/universal/universal.rbs +4 -2
  381. data/sig/mindee/{product → v1/product}/universal/universal_document.rbs +4 -2
  382. data/sig/mindee/v1/product/universal/universal_page.rbs +18 -0
  383. data/sig/mindee/v1/product/universal/universal_prediction.rbs +30 -0
  384. data/sig/mindee/v2/client.rbs +29 -0
  385. data/sig/mindee/v2/file_operation/crop.rbs +10 -0
  386. data/sig/mindee/v2/file_operation/crop_files.rbs +9 -0
  387. data/sig/mindee/v2/file_operation/split.rbs +11 -0
  388. data/sig/mindee/v2/file_operation/split_files.rbs +9 -0
  389. data/sig/mindee/v2/http/api_v2_settings.rbs +27 -0
  390. data/sig/mindee/v2/http/mindee_api_v2.rbs +52 -0
  391. data/sig/mindee/v2/parsing/base_inference.rbs +3 -3
  392. data/sig/mindee/v2/parsing/base_response.rbs +1 -1
  393. data/sig/mindee/v2/parsing/common_response.rbs +12 -0
  394. data/sig/mindee/v2/parsing/error_item.rbs +13 -0
  395. data/sig/mindee/{parsing/v2 → v2/parsing}/error_response.rbs +4 -3
  396. data/sig/mindee/{parsing/v2 → v2/parsing}/field/base_field.rbs +3 -3
  397. data/sig/mindee/{parsing/v2 → v2/parsing}/field/field_confidence.rbs +3 -3
  398. data/sig/mindee/{parsing/v2 → v2/parsing}/field/field_location.rbs +3 -3
  399. data/sig/mindee/{parsing/v2 → v2/parsing}/field/inference_fields.rbs +3 -3
  400. data/sig/mindee/{parsing/v2 → v2/parsing}/field/list_field.rbs +3 -3
  401. data/sig/mindee/{parsing/v2 → v2/parsing}/field/object_field.rbs +3 -3
  402. data/sig/mindee/{parsing/v2 → v2/parsing}/field/simple_field.rbs +3 -3
  403. data/sig/mindee/{parsing/v2 → v2/parsing}/inference_active_options.rbs +6 -3
  404. data/sig/mindee/{parsing/v2 → v2/parsing}/inference_file.rbs +5 -3
  405. data/sig/mindee/{parsing/v2 → v2/parsing}/inference_job.rbs +3 -2
  406. data/sig/mindee/{parsing/v2 → v2/parsing}/inference_model.rbs +4 -3
  407. data/sig/mindee/{parsing/v2 → v2/parsing}/job.rbs +4 -3
  408. data/sig/mindee/{parsing/v2 → v2/parsing}/job_response.rbs +5 -3
  409. data/sig/mindee/{parsing/v2 → v2/parsing}/job_webhook.rbs +5 -3
  410. data/sig/mindee/{parsing/v2 → v2/parsing}/rag_metadata.rbs +3 -3
  411. data/sig/mindee/{parsing/v2 → v2/parsing}/raw_text.rbs +3 -3
  412. data/sig/mindee/{parsing/v2 → v2/parsing}/raw_text_page.rbs +2 -2
  413. data/sig/mindee/v2/parsing/search/pagination_metadata.rbs +20 -0
  414. data/sig/mindee/v2/parsing/search/search_model.rbs +19 -0
  415. data/sig/mindee/v2/parsing/search/search_response.rbs +17 -0
  416. data/sig/mindee/v2/parsing/search_models.rbs +14 -0
  417. data/sig/mindee/v2/product/classification/classification_response.rbs +1 -1
  418. data/sig/mindee/v2/product/crop/crop_item.rbs +4 -1
  419. data/sig/mindee/v2/product/crop/crop_response.rbs +3 -1
  420. data/sig/mindee/v2/product/extraction/extraction.rbs +3 -0
  421. data/sig/mindee/v2/product/extraction/extraction_inference.rbs +5 -0
  422. data/sig/mindee/v2/product/extraction/extraction_response.rbs +8 -2
  423. data/sig/mindee/v2/product/extraction/extraction_result.rbs +9 -1
  424. data/sig/mindee/v2/product/extraction/params/data_schema.rbs +21 -0
  425. data/sig/mindee/v2/product/extraction/params/data_schema_field.rbs +29 -0
  426. data/sig/mindee/v2/product/extraction/params/data_schema_replace.rbs +21 -0
  427. data/sig/mindee/v2/product/extraction/params/extraction_parameters.rbs +27 -1
  428. data/sig/mindee/v2/product/ocr/ocr.rbs +2 -2
  429. data/sig/mindee/v2/product/ocr/ocr_inference.rbs +3 -3
  430. data/sig/mindee/v2/product/ocr/ocr_page.rbs +3 -3
  431. data/sig/mindee/v2/product/ocr/ocr_response.rbs +6 -6
  432. data/sig/mindee/v2/product/ocr/ocr_result.rbs +3 -3
  433. data/sig/mindee/v2/product/ocr/ocr_word.rbs +2 -2
  434. data/sig/mindee/v2/product/ocr/params/ocr_parameters/ocr_parameters.rbs +3 -3
  435. data/sig/mindee/v2/product/split/split_range.rbs +4 -1
  436. data/sig/mindee/v2/product/split/split_response.rbs +3 -1
  437. data/sig/mindee.rbs +12 -9
  438. metadata +360 -568
  439. data/bin/cli_products.rb +0 -166
  440. data/docs/code_samples/bank_check_v1.txt +0 -24
  441. data/docs/code_samples/bill_of_lading_v1_async.txt +0 -24
  442. data/docs/code_samples/business_card_v1_async.txt +0 -24
  443. data/docs/code_samples/carte_grise_v1.txt +0 -24
  444. data/docs/code_samples/delivery_notes_v1_async.txt +0 -24
  445. data/docs/code_samples/driver_license_v1_async.txt +0 -24
  446. data/docs/code_samples/energy_bill_fra_v1_async.txt +0 -24
  447. data/docs/code_samples/french_healthcard_v1_async.txt +0 -24
  448. data/docs/code_samples/ind_passport_v1_async.txt +0 -24
  449. data/docs/code_samples/nutrition_facts_v1_async.txt +0 -24
  450. data/docs/code_samples/payslip_fra_v2_async.txt +0 -24
  451. data/docs/code_samples/payslip_fra_v3_async.txt +0 -24
  452. data/docs/code_samples/us_healthcare_cards_v1_async.txt +0 -24
  453. data/docs/code_samples/us_mail_v3_async.txt +0 -24
  454. data/lib/mindee/client.rb +0 -488
  455. data/lib/mindee/client_v2.rb +0 -161
  456. data/lib/mindee/errors.rb +0 -6
  457. data/lib/mindee/extraction/multi_receipts_extractor.rb +0 -30
  458. data/lib/mindee/http/api_settings_v2.rb +0 -63
  459. data/lib/mindee/http/endpoint.rb +0 -219
  460. data/lib/mindee/http/mindee_api_v2.rb +0 -215
  461. data/lib/mindee/http/workflow_endpoint.rb +0 -91
  462. data/lib/mindee/input/data_schema.rb +0 -126
  463. data/lib/mindee/input/inference_parameters.rb +0 -119
  464. data/lib/mindee/parsing/common/api_request.rb +0 -36
  465. data/lib/mindee/parsing/common/api_response.rb +0 -61
  466. data/lib/mindee/parsing/common/document.rb +0 -84
  467. data/lib/mindee/parsing/common/execution.rb +0 -75
  468. data/lib/mindee/parsing/common/execution_file.rb +0 -24
  469. data/lib/mindee/parsing/common/execution_priority.rb +0 -36
  470. data/lib/mindee/parsing/common/extras/cropper_extra.rb +0 -30
  471. data/lib/mindee/parsing/common/extras/extras.rb +0 -58
  472. data/lib/mindee/parsing/common/extras/full_text_ocr_extra.rb +0 -33
  473. data/lib/mindee/parsing/common/extras/rag_extra.rb +0 -26
  474. data/lib/mindee/parsing/common/inference.rb +0 -67
  475. data/lib/mindee/parsing/common/job.rb +0 -46
  476. data/lib/mindee/parsing/common/ocr/mvision_v1.rb +0 -50
  477. data/lib/mindee/parsing/common/ocr/ocr.rb +0 -178
  478. data/lib/mindee/parsing/common/orientation.rb +0 -26
  479. data/lib/mindee/parsing/common/page.rb +0 -47
  480. data/lib/mindee/parsing/common/prediction.rb +0 -17
  481. data/lib/mindee/parsing/common/product.rb +0 -24
  482. data/lib/mindee/parsing/common/workflow_response.rb +0 -28
  483. data/lib/mindee/parsing/standard/abstract_field.rb +0 -72
  484. data/lib/mindee/parsing/standard/address_field.rb +0 -49
  485. data/lib/mindee/parsing/standard/amount_field.rb +0 -26
  486. data/lib/mindee/parsing/standard/base_field.rb +0 -28
  487. data/lib/mindee/parsing/standard/boolean_field.rb +0 -27
  488. data/lib/mindee/parsing/standard/classification_field.rb +0 -16
  489. data/lib/mindee/parsing/standard/company_registration_field.rb +0 -43
  490. data/lib/mindee/parsing/standard/date_field.rb +0 -38
  491. data/lib/mindee/parsing/standard/feature_field.rb +0 -24
  492. data/lib/mindee/parsing/standard/locale_field.rb +0 -50
  493. data/lib/mindee/parsing/standard/payment_details_field.rb +0 -42
  494. data/lib/mindee/parsing/standard/position_field.rb +0 -59
  495. data/lib/mindee/parsing/standard/string_field.rb +0 -24
  496. data/lib/mindee/parsing/standard/tax_field.rb +0 -108
  497. data/lib/mindee/parsing/universal/universal_list_field.rb +0 -58
  498. data/lib/mindee/parsing/universal/universal_object_field.rb +0 -121
  499. data/lib/mindee/parsing/v2/inference.rb +0 -44
  500. data/lib/mindee/parsing/v2/inference_response.rb +0 -33
  501. data/lib/mindee/parsing/v2/inference_result.rb +0 -42
  502. data/lib/mindee/parsing/v2.rb +0 -16
  503. data/lib/mindee/product/barcode_reader/barcode_reader_v1.rb +0 -45
  504. data/lib/mindee/product/barcode_reader/barcode_reader_v1_document.rb +0 -44
  505. data/lib/mindee/product/barcode_reader/barcode_reader_v1_page.rb +0 -36
  506. data/lib/mindee/product/bill_of_lading/bill_of_lading_v1.rb +0 -45
  507. data/lib/mindee/product/bill_of_lading/bill_of_lading_v1_carrier.rb +0 -52
  508. data/lib/mindee/product/bill_of_lading/bill_of_lading_v1_carrier_item.rb +0 -101
  509. data/lib/mindee/product/bill_of_lading/bill_of_lading_v1_carrier_items.rb +0 -62
  510. data/lib/mindee/product/bill_of_lading/bill_of_lading_v1_consignee.rb +0 -58
  511. data/lib/mindee/product/bill_of_lading/bill_of_lading_v1_document.rb +0 -163
  512. data/lib/mindee/product/bill_of_lading/bill_of_lading_v1_notify_party.rb +0 -58
  513. data/lib/mindee/product/bill_of_lading/bill_of_lading_v1_page.rb +0 -36
  514. data/lib/mindee/product/bill_of_lading/bill_of_lading_v1_shipper.rb +0 -58
  515. data/lib/mindee/product/business_card/business_card_v1.rb +0 -45
  516. data/lib/mindee/product/business_card/business_card_v1_document.rb +0 -112
  517. data/lib/mindee/product/business_card/business_card_v1_page.rb +0 -36
  518. data/lib/mindee/product/cropper/cropper_v1.rb +0 -45
  519. data/lib/mindee/product/cropper/cropper_v1_document.rb +0 -13
  520. data/lib/mindee/product/cropper/cropper_v1_page.rb +0 -53
  521. data/lib/mindee/product/delivery_note/delivery_note_v1.rb +0 -45
  522. data/lib/mindee/product/delivery_note/delivery_note_v1_document.rb +0 -82
  523. data/lib/mindee/product/delivery_note/delivery_note_v1_page.rb +0 -36
  524. data/lib/mindee/product/driver_license/driver_license_v1.rb +0 -45
  525. data/lib/mindee/product/driver_license/driver_license_v1_document.rb +0 -121
  526. data/lib/mindee/product/driver_license/driver_license_v1_page.rb +0 -36
  527. data/lib/mindee/product/financial_document/financial_document_v1.rb +0 -45
  528. data/lib/mindee/product/financial_document/financial_document_v1_document.rb +0 -326
  529. data/lib/mindee/product/financial_document/financial_document_v1_line_item.rb +0 -121
  530. data/lib/mindee/product/financial_document/financial_document_v1_line_items.rb +0 -62
  531. data/lib/mindee/product/financial_document/financial_document_v1_page.rb +0 -36
  532. data/lib/mindee/product/fr/bank_account_details/bank_account_details_v1_document.rb +0 -46
  533. data/lib/mindee/product/fr/bank_account_details/bank_account_details_v2.rb +0 -47
  534. data/lib/mindee/product/fr/bank_account_details/bank_account_details_v2_bban.rb +0 -60
  535. data/lib/mindee/product/fr/bank_account_details/bank_account_details_v2_document.rb +0 -57
  536. data/lib/mindee/product/fr/bank_account_details/bank_account_details_v2_page.rb +0 -38
  537. data/lib/mindee/product/fr/bank_statement/bank_statement_v2_document.rb +0 -166
  538. data/lib/mindee/product/fr/bank_statement/bank_statement_v2_transaction.rb +0 -75
  539. data/lib/mindee/product/fr/carte_grise/carte_grise_v1_document.rb +0 -242
  540. data/lib/mindee/product/fr/energy_bill/energy_bill_v1_document.rb +0 -265
  541. data/lib/mindee/product/fr/energy_bill/energy_bill_v1_energy_consumer.rb +0 -48
  542. data/lib/mindee/product/fr/energy_bill/energy_bill_v1_energy_supplier.rb +0 -48
  543. data/lib/mindee/product/fr/energy_bill/energy_bill_v1_energy_usage.rb +0 -121
  544. data/lib/mindee/product/fr/energy_bill/energy_bill_v1_meter_detail.rb +0 -54
  545. data/lib/mindee/product/fr/energy_bill/energy_bill_v1_subscription.rb +0 -103
  546. data/lib/mindee/product/fr/energy_bill/energy_bill_v1_taxes_and_contribution.rb +0 -103
  547. data/lib/mindee/product/fr/health_card/health_card_v1.rb +0 -47
  548. data/lib/mindee/product/fr/health_card/health_card_v1_document.rb +0 -61
  549. data/lib/mindee/product/fr/id_card/id_card_v1_page.rb +0 -55
  550. data/lib/mindee/product/fr/id_card/id_card_v2.rb +0 -47
  551. data/lib/mindee/product/fr/id_card/id_card_v2_document.rb +0 -140
  552. data/lib/mindee/product/fr/id_card/id_card_v2_page.rb +0 -63
  553. data/lib/mindee/product/fr/payslip/payslip_v2_bank_account_detail.rb +0 -54
  554. data/lib/mindee/product/fr/payslip/payslip_v2_document.rb +0 -143
  555. data/lib/mindee/product/fr/payslip/payslip_v2_employee.rb +0 -78
  556. data/lib/mindee/product/fr/payslip/payslip_v2_employer.rb +0 -78
  557. data/lib/mindee/product/fr/payslip/payslip_v2_employment.rb +0 -73
  558. data/lib/mindee/product/fr/payslip/payslip_v2_pay_detail.rb +0 -122
  559. data/lib/mindee/product/fr/payslip/payslip_v2_pay_period.rb +0 -66
  560. data/lib/mindee/product/fr/payslip/payslip_v2_pto.rb +0 -65
  561. data/lib/mindee/product/fr/payslip/payslip_v2_salary_detail.rb +0 -87
  562. data/lib/mindee/product/fr/payslip/payslip_v3_bank_account_detail.rb +0 -54
  563. data/lib/mindee/product/fr/payslip/payslip_v3_document.rb +0 -178
  564. data/lib/mindee/product/fr/payslip/payslip_v3_employee.rb +0 -78
  565. data/lib/mindee/product/fr/payslip/payslip_v3_employer.rb +0 -78
  566. data/lib/mindee/product/fr/payslip/payslip_v3_employment.rb +0 -78
  567. data/lib/mindee/product/fr/payslip/payslip_v3_paid_time_off.rb +0 -95
  568. data/lib/mindee/product/fr/payslip/payslip_v3_pay_detail.rb +0 -122
  569. data/lib/mindee/product/fr/payslip/payslip_v3_pay_period.rb +0 -66
  570. data/lib/mindee/product/fr/payslip/payslip_v3_salary_detail.rb +0 -97
  571. data/lib/mindee/product/fr/payslip/payslip_v3_salary_details.rb +0 -65
  572. data/lib/mindee/product/ind/indian_passport/indian_passport_v1_document.rb +0 -206
  573. data/lib/mindee/product/ind/indian_passport/indian_passport_v1_page.rb +0 -38
  574. data/lib/mindee/product/international_id/international_id_v2.rb +0 -45
  575. data/lib/mindee/product/international_id/international_id_v2_document.rb +0 -161
  576. data/lib/mindee/product/international_id/international_id_v2_page.rb +0 -36
  577. data/lib/mindee/product/invoice/invoice_v4.rb +0 -45
  578. data/lib/mindee/product/invoice/invoice_v4_document.rb +0 -297
  579. data/lib/mindee/product/invoice/invoice_v4_line_item.rb +0 -121
  580. data/lib/mindee/product/invoice/invoice_v4_line_items.rb +0 -62
  581. data/lib/mindee/product/invoice/invoice_v4_page.rb +0 -36
  582. data/lib/mindee/product/invoice_splitter/invoice_splitter_v1.rb +0 -45
  583. data/lib/mindee/product/invoice_splitter/invoice_splitter_v1_document.rb +0 -63
  584. data/lib/mindee/product/invoice_splitter/invoice_splitter_v1_invoice_page_group.rb +0 -55
  585. data/lib/mindee/product/invoice_splitter/invoice_splitter_v1_invoice_page_groups.rb +0 -48
  586. data/lib/mindee/product/invoice_splitter/invoice_splitter_v1_page.rb +0 -36
  587. data/lib/mindee/product/multi_receipts_detector/multi_receipts_detector_v1.rb +0 -45
  588. data/lib/mindee/product/multi_receipts_detector/multi_receipts_detector_v1_document.rb +0 -35
  589. data/lib/mindee/product/multi_receipts_detector/multi_receipts_detector_v1_page.rb +0 -36
  590. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1.rb +0 -45
  591. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_added_sugar.rb +0 -55
  592. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_calorie.rb +0 -55
  593. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_cholesterol.rb +0 -55
  594. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_dietary_fiber.rb +0 -55
  595. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_document.rb +0 -211
  596. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_nutrient.rb +0 -93
  597. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_nutrients.rb +0 -68
  598. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_page.rb +0 -36
  599. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_protein.rb +0 -55
  600. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_saturated_fat.rb +0 -55
  601. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_serving_size.rb +0 -47
  602. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_sodium.rb +0 -61
  603. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_total_carbohydrate.rb +0 -55
  604. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_total_fat.rb +0 -55
  605. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_total_sugar.rb +0 -55
  606. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_trans_fat.rb +0 -55
  607. data/lib/mindee/product/passport/passport_v1.rb +0 -45
  608. data/lib/mindee/product/passport/passport_v1_document.rb +0 -109
  609. data/lib/mindee/product/passport/passport_v1_page.rb +0 -36
  610. data/lib/mindee/product/receipt/receipt_v5.rb +0 -45
  611. data/lib/mindee/product/receipt/receipt_v5_document.rb +0 -184
  612. data/lib/mindee/product/receipt/receipt_v5_line_item.rb +0 -85
  613. data/lib/mindee/product/receipt/receipt_v5_line_items.rb +0 -54
  614. data/lib/mindee/product/receipt/receipt_v5_page.rb +0 -36
  615. data/lib/mindee/product/resume/resume_v1.rb +0 -45
  616. data/lib/mindee/product/resume/resume_v1_certificate.rb +0 -79
  617. data/lib/mindee/product/resume/resume_v1_certificates.rb +0 -58
  618. data/lib/mindee/product/resume/resume_v1_document.rb +0 -337
  619. data/lib/mindee/product/resume/resume_v1_education.rb +0 -103
  620. data/lib/mindee/product/resume/resume_v1_educations.rb +0 -64
  621. data/lib/mindee/product/resume/resume_v1_language.rb +0 -63
  622. data/lib/mindee/product/resume/resume_v1_languages.rb +0 -54
  623. data/lib/mindee/product/resume/resume_v1_page.rb +0 -36
  624. data/lib/mindee/product/resume/resume_v1_professional_experience.rb +0 -119
  625. data/lib/mindee/product/resume/resume_v1_professional_experiences.rb +0 -68
  626. data/lib/mindee/product/resume/resume_v1_social_networks_url.rb +0 -63
  627. data/lib/mindee/product/resume/resume_v1_social_networks_urls.rb +0 -54
  628. data/lib/mindee/product/universal/universal.rb +0 -46
  629. data/lib/mindee/product/universal/universal_document.rb +0 -32
  630. data/lib/mindee/product/universal/universal_page.rb +0 -51
  631. data/lib/mindee/product/universal/universal_prediction.rb +0 -122
  632. data/lib/mindee/product/us/bank_check/bank_check_v1_document.rb +0 -74
  633. data/lib/mindee/product/us/bank_check/bank_check_v1_page.rb +0 -64
  634. data/lib/mindee/product/us/healthcare_card/healthcare_card_v1.rb +0 -47
  635. data/lib/mindee/product/us/healthcare_card/healthcare_card_v1_copay.rb +0 -67
  636. data/lib/mindee/product/us/healthcare_card/healthcare_card_v1_document.rb +0 -167
  637. data/lib/mindee/product/us/healthcare_card/healthcare_card_v1_page.rb +0 -38
  638. data/lib/mindee/product/us/us_mail/us_mail_v3_document.rb +0 -115
  639. data/lib/mindee/product/us/us_mail/us_mail_v3_recipient_address.rb +0 -113
  640. data/lib/mindee/product/us/us_mail/us_mail_v3_sender_address.rb +0 -66
  641. data/sig/mindee/client.rbs +0 -61
  642. data/sig/mindee/client_v2.rbs +0 -21
  643. data/sig/mindee/extraction/multi_receipts_extractor.rbs +0 -6
  644. data/sig/mindee/http/api_settings_v2.rbs +0 -23
  645. data/sig/mindee/http/endpoint.rbs +0 -29
  646. data/sig/mindee/http/mindee_api_v2.rbs +0 -38
  647. data/sig/mindee/http/workflow_endpoint.rbs +0 -20
  648. data/sig/mindee/input/data_schema.rbs +0 -34
  649. data/sig/mindee/input/inference_parameters.rbs +0 -32
  650. data/sig/mindee/parsing/common/api_request.rbs +0 -15
  651. data/sig/mindee/parsing/common/api_response.rbs +0 -27
  652. data/sig/mindee/parsing/common/document.rbs +0 -20
  653. data/sig/mindee/parsing/common/execution.rbs +0 -24
  654. data/sig/mindee/parsing/common/execution_file.rbs +0 -12
  655. data/sig/mindee/parsing/common/execution_priority.rbs +0 -13
  656. data/sig/mindee/parsing/common/extras/cropper_extra.rbs +0 -15
  657. data/sig/mindee/parsing/common/extras/extras.rbs +0 -19
  658. data/sig/mindee/parsing/common/extras/full_text_ocr_extra.rbs +0 -16
  659. data/sig/mindee/parsing/common/extras/rag_extra.rbs +0 -15
  660. data/sig/mindee/parsing/common/inference.rbs +0 -26
  661. data/sig/mindee/parsing/common/job.rbs +0 -16
  662. data/sig/mindee/parsing/common/ocr/mvision_v1.rbs +0 -15
  663. data/sig/mindee/parsing/common/ocr/ocr.rbs +0 -41
  664. data/sig/mindee/parsing/common/orientation.rbs +0 -13
  665. data/sig/mindee/parsing/common/page.rbs +0 -16
  666. data/sig/mindee/parsing/common/prediction.rbs +0 -11
  667. data/sig/mindee/parsing/common/product.rbs +0 -13
  668. data/sig/mindee/parsing/common/workflow_response.rbs +0 -17
  669. data/sig/mindee/parsing/standard/abstract_field.rbs +0 -19
  670. data/sig/mindee/parsing/standard/address_field.rbs +0 -18
  671. data/sig/mindee/parsing/standard/amount_field.rbs +0 -14
  672. data/sig/mindee/parsing/standard/base_field.rbs +0 -12
  673. data/sig/mindee/parsing/standard/boolean_field.rbs +0 -12
  674. data/sig/mindee/parsing/standard/classification_field.rbs +0 -10
  675. data/sig/mindee/parsing/standard/company_registration_field.rbs +0 -15
  676. data/sig/mindee/parsing/standard/date_field.rbs +0 -14
  677. data/sig/mindee/parsing/standard/feature_field.rbs +0 -10
  678. data/sig/mindee/parsing/standard/locale_field.rbs +0 -16
  679. data/sig/mindee/parsing/standard/payment_details_field.rbs +0 -16
  680. data/sig/mindee/parsing/standard/position_field.rbs +0 -17
  681. data/sig/mindee/parsing/standard/string_field.rbs +0 -12
  682. data/sig/mindee/parsing/standard/tax_field.rbs +0 -24
  683. data/sig/mindee/parsing/universal/universal_list_field.rbs +0 -16
  684. data/sig/mindee/parsing/universal/universal_object_field.rbs +0 -29
  685. data/sig/mindee/parsing/v2/common_response.rbs +0 -11
  686. data/sig/mindee/parsing/v2/error_item.rbs +0 -13
  687. data/sig/mindee/parsing/v2/inference.rbs +0 -18
  688. data/sig/mindee/parsing/v2/inference_response.rbs +0 -21
  689. data/sig/mindee/parsing/v2/inference_result.rbs +0 -15
  690. data/sig/mindee/product/bill_of_lading/bill_of_lading_v1.rbs +0 -11
  691. data/sig/mindee/product/bill_of_lading/bill_of_lading_v1_carrier.rbs +0 -14
  692. data/sig/mindee/product/bill_of_lading/bill_of_lading_v1_carrier_item.rbs +0 -19
  693. data/sig/mindee/product/bill_of_lading/bill_of_lading_v1_carrier_items.rbs +0 -13
  694. data/sig/mindee/product/bill_of_lading/bill_of_lading_v1_consignee.rbs +0 -15
  695. data/sig/mindee/product/bill_of_lading/bill_of_lading_v1_document.rbs +0 -25
  696. data/sig/mindee/product/bill_of_lading/bill_of_lading_v1_notify_party.rbs +0 -15
  697. data/sig/mindee/product/bill_of_lading/bill_of_lading_v1_page.rbs +0 -15
  698. data/sig/mindee/product/bill_of_lading/bill_of_lading_v1_shipper.rbs +0 -15
  699. data/sig/mindee/product/business_card/business_card_v1.rbs +0 -11
  700. data/sig/mindee/product/business_card/business_card_v1_document.rbs +0 -23
  701. data/sig/mindee/product/business_card/business_card_v1_page.rbs +0 -15
  702. data/sig/mindee/product/delivery_note/delivery_note_v1.rbs +0 -11
  703. data/sig/mindee/product/delivery_note/delivery_note_v1_document.rbs +0 -19
  704. data/sig/mindee/product/delivery_note/delivery_note_v1_page.rbs +0 -15
  705. data/sig/mindee/product/driver_license/driver_license_v1.rbs +0 -11
  706. data/sig/mindee/product/driver_license/driver_license_v1_document.rbs +0 -25
  707. data/sig/mindee/product/driver_license/driver_license_v1_page.rbs +0 -15
  708. data/sig/mindee/product/financial_document/financial_document_v1_line_item.rbs +0 -21
  709. data/sig/mindee/product/fr/bank_account_details/bank_account_details_v2_bban.rbs +0 -17
  710. data/sig/mindee/product/fr/carte_grise/carte_grise_v1.rbs +0 -13
  711. data/sig/mindee/product/fr/carte_grise/carte_grise_v1_document.rbs +0 -55
  712. data/sig/mindee/product/fr/carte_grise/carte_grise_v1_page.rbs +0 -17
  713. data/sig/mindee/product/fr/energy_bill/energy_bill_v1.rbs +0 -13
  714. data/sig/mindee/product/fr/energy_bill/energy_bill_v1_document.rbs +0 -34
  715. data/sig/mindee/product/fr/energy_bill/energy_bill_v1_energy_consumer.rbs +0 -15
  716. data/sig/mindee/product/fr/energy_bill/energy_bill_v1_energy_supplier.rbs +0 -15
  717. data/sig/mindee/product/fr/energy_bill/energy_bill_v1_energy_usage.rbs +0 -23
  718. data/sig/mindee/product/fr/energy_bill/energy_bill_v1_meter_detail.rbs +0 -16
  719. data/sig/mindee/product/fr/energy_bill/energy_bill_v1_page.rbs +0 -17
  720. data/sig/mindee/product/fr/energy_bill/energy_bill_v1_subscription.rbs +0 -21
  721. data/sig/mindee/product/fr/energy_bill/energy_bill_v1_taxes_and_contributions.rbs +0 -15
  722. data/sig/mindee/product/fr/health_card/health_card_v1.rbs +0 -13
  723. data/sig/mindee/product/fr/health_card/health_card_v1_document.rbs +0 -18
  724. data/sig/mindee/product/fr/health_card/health_card_v1_page.rbs +0 -17
  725. data/sig/mindee/product/fr/id_card/id_card_v1.rbs +0 -13
  726. data/sig/mindee/product/fr/payslip/payslip_v2.rbs +0 -13
  727. data/sig/mindee/product/fr/payslip/payslip_v2_bank_account_detail.rbs +0 -16
  728. data/sig/mindee/product/fr/payslip/payslip_v2_document.rbs +0 -24
  729. data/sig/mindee/product/fr/payslip/payslip_v2_employee.rbs +0 -20
  730. data/sig/mindee/product/fr/payslip/payslip_v2_employer.rbs +0 -20
  731. data/sig/mindee/product/fr/payslip/payslip_v2_employment.rbs +0 -19
  732. data/sig/mindee/product/fr/payslip/payslip_v2_page.rbs +0 -17
  733. data/sig/mindee/product/fr/payslip/payslip_v2_pay_detail.rbs +0 -23
  734. data/sig/mindee/product/fr/payslip/payslip_v2_pay_period.rbs +0 -18
  735. data/sig/mindee/product/fr/payslip/payslip_v2_pto.rbs +0 -16
  736. data/sig/mindee/product/fr/payslip/payslip_v2_salary_detail.rbs +0 -19
  737. data/sig/mindee/product/fr/payslip/payslip_v3.rbs +0 -13
  738. data/sig/mindee/product/fr/payslip/payslip_v3_bank_account_detail.rbs +0 -16
  739. data/sig/mindee/product/fr/payslip/payslip_v3_document.rbs +0 -26
  740. data/sig/mindee/product/fr/payslip/payslip_v3_employee.rbs +0 -20
  741. data/sig/mindee/product/fr/payslip/payslip_v3_employer.rbs +0 -20
  742. data/sig/mindee/product/fr/payslip/payslip_v3_employment.rbs +0 -20
  743. data/sig/mindee/product/fr/payslip/payslip_v3_page.rbs +0 -17
  744. data/sig/mindee/product/fr/payslip/payslip_v3_paid_time_off.rbs +0 -20
  745. data/sig/mindee/product/fr/payslip/payslip_v3_pay_detail.rbs +0 -23
  746. data/sig/mindee/product/fr/payslip/payslip_v3_pay_period.rbs +0 -18
  747. data/sig/mindee/product/fr/payslip/payslip_v3_salary_detail.rbs +0 -20
  748. data/sig/mindee/product/ind/indian_passport/indian_passport_v1.rbs +0 -13
  749. data/sig/mindee/product/ind/indian_passport/indian_passport_v1_document.rbs +0 -37
  750. data/sig/mindee/product/ind/indian_passport/indian_passport_v1_page.rbs +0 -17
  751. data/sig/mindee/product/invoice/invoice_v4_line_item.rbs +0 -21
  752. data/sig/mindee/product/invoice_splitter/invoice_splitter_v1_invoice_page_group.rbs +0 -14
  753. data/sig/mindee/product/multi_receipts_detector/multi_receipts_detector_v1.rbs +0 -11
  754. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1.rbs +0 -11
  755. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_added_sugar.rbs +0 -14
  756. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_calorie.rbs +0 -14
  757. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_cholesterol.rbs +0 -14
  758. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_dietary_fiber.rbs +0 -14
  759. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_document.rbs +0 -28
  760. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_nutrient.rbs +0 -18
  761. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_nutrients.rbs +0 -13
  762. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_page.rbs +0 -15
  763. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_protein.rbs +0 -14
  764. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_saturated_fat.rbs +0 -14
  765. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_serving_size.rbs +0 -13
  766. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_sodium.rbs +0 -15
  767. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_total_carbohydrate.rbs +0 -14
  768. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_total_fat.rbs +0 -14
  769. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_total_sugar.rbs +0 -14
  770. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_trans_fat.rbs +0 -14
  771. data/sig/mindee/product/receipt/receipt_v5_line_item.rbs +0 -17
  772. data/sig/mindee/product/resume/resume_v1_certificate.rbs +0 -17
  773. data/sig/mindee/product/resume/resume_v1_certificates.rbs +0 -13
  774. data/sig/mindee/product/resume/resume_v1_document.rbs +0 -39
  775. data/sig/mindee/product/resume/resume_v1_education.rbs +0 -20
  776. data/sig/mindee/product/resume/resume_v1_educations.rbs +0 -13
  777. data/sig/mindee/product/resume/resume_v1_language.rbs +0 -15
  778. data/sig/mindee/product/resume/resume_v1_languages.rbs +0 -13
  779. data/sig/mindee/product/resume/resume_v1_page.rbs +0 -15
  780. data/sig/mindee/product/resume/resume_v1_professional_experience.rbs +0 -22
  781. data/sig/mindee/product/resume/resume_v1_professional_experiences.rbs +0 -13
  782. data/sig/mindee/product/resume/resume_v1_social_networks_url.rbs +0 -15
  783. data/sig/mindee/product/resume/resume_v1_social_networks_urls.rbs +0 -13
  784. data/sig/mindee/product/universal/universal_page.rbs +0 -14
  785. data/sig/mindee/product/universal/universal_prediction.rbs +0 -19
  786. data/sig/mindee/product/us/bank_check/bank_check_v1.rbs +0 -13
  787. data/sig/mindee/product/us/bank_check/bank_check_v1_document.rbs +0 -20
  788. data/sig/mindee/product/us/bank_check/bank_check_v1_page.rbs +0 -19
  789. data/sig/mindee/product/us/healthcare_card/healthcare_card_v1.rbs +0 -13
  790. data/sig/mindee/product/us/healthcare_card/healthcare_card_v1_copays.rbs +0 -15
  791. data/sig/mindee/product/us/healthcare_card/healthcare_card_v1_document.rbs +0 -30
  792. data/sig/mindee/product/us/healthcare_card/healthcare_card_v1_page.rbs +0 -17
  793. data/sig/mindee/product/us/us_mail/us_mail_v3.rbs +0 -13
  794. data/sig/mindee/product/us/us_mail/us_mail_v3_document.rbs +0 -21
  795. data/sig/mindee/product/us/us_mail/us_mail_v3_recipient_address.rbs +0 -23
  796. data/sig/mindee/product/us/us_mail/us_mail_v3_recipient_addresses.rbs +0 -15
  797. data/sig/mindee/product/us/us_mail/us_mail_v3_sender_address.rbs +0 -18
  798. data/sig/mindee/product/us/w9/w9_v1.rbs +0 -13
  799. data/sig/mindee/product/us/w9/w9_v1_document.rbs +0 -14
  800. data/sig/mindee/product/us/w9/w9_v1_page.rbs +0 -29
  801. /data/lib/mindee/{extraction.rb → v1/extraction.rb} +0 -0
  802. /data/lib/mindee/{parsing → v1/parsing}/common/extras.rb +0 -0
  803. /data/lib/mindee/{parsing → v1/parsing}/common/ocr.rb +0 -0
  804. /data/lib/mindee/{parsing → v1/parsing}/common.rb +0 -0
  805. /data/lib/mindee/{parsing → v1/parsing}/standard.rb +0 -0
  806. /data/lib/mindee/{parsing → v1/parsing}/universal.rb +0 -0
  807. /data/lib/mindee/{parsing.rb → v1/parsing.rb} +0 -0
  808. /data/lib/mindee/{parsing/v2 → v2/parsing}/field.rb +0 -0
@@ -6,7 +6,7 @@
6
6
  require 'mindee'
7
7
 
8
8
  # Init a new client
9
- mindee_client = Mindee::Client.new(api_key: 'my-api-key')
9
+ mindee_client = Mindee::V1::Client.new(api_key: 'my-api-key')
10
10
 
11
11
  # Load a file from disk
12
12
  input_source = mindee_client.source_from_path('/path/to/the/file.ext')
@@ -14,7 +14,7 @@ input_source = mindee_client.source_from_path('/path/to/the/file.ext')
14
14
  # Parse the file
15
15
  result = mindee_client.parse(
16
16
  input_source,
17
- Mindee::Product::MultiReceiptsDetector::MultiReceiptsDetectorV1
17
+ Mindee::V1::Product::MultiReceiptsDetector::MultiReceiptsDetectorV1
18
18
  )
19
19
 
20
20
  # Print a full summary of the parsed data in RST format
@@ -6,7 +6,7 @@
6
6
  require 'mindee'
7
7
 
8
8
  # Init a new client
9
- mindee_client = Mindee::Client.new(api_key: 'my-api-key')
9
+ mindee_client = Mindee::V1::Client.new(api_key: 'my-api-key')
10
10
 
11
11
  # Load a file from disk
12
12
  input_source = mindee_client.source_from_path('/path/to/the/file.ext')
@@ -14,7 +14,7 @@ input_source = mindee_client.source_from_path('/path/to/the/file.ext')
14
14
  # Parse the file
15
15
  result = mindee_client.parse(
16
16
  input_source,
17
- Mindee::Product::Passport::PassportV1
17
+ Mindee::V1::Product::Passport::PassportV1
18
18
  )
19
19
 
20
20
  # Print a full summary of the parsed data in RST format
@@ -6,7 +6,7 @@
6
6
  require 'mindee'
7
7
 
8
8
  # Init a new client
9
- mindee_client = Mindee::Client.new(api_key: 'my-api-key')
9
+ mindee_client = Mindee::V1::Client.new(api_key: 'my-api-key')
10
10
 
11
11
  # Load a file from disk
12
12
  input_source = mindee_client.source_from_path('/path/to/the/file.ext')
@@ -14,7 +14,7 @@ input_source = mindee_client.source_from_path('/path/to/the/file.ext')
14
14
  # Parse the file
15
15
  result = mindee_client.parse(
16
16
  input_source,
17
- Mindee::Product::Resume::ResumeV1
17
+ Mindee::V1::Product::Resume::ResumeV1
18
18
  )
19
19
 
20
20
  # Print a full summary of the parsed data in RST format
@@ -8,7 +8,7 @@ api_key = 'MY_API_KEY'
8
8
  model_id = 'MY_MODEL_ID'
9
9
 
10
10
  # Init a new client
11
- mindee_client = Mindee::ClientV2.new(api_key: api_key)
11
+ mindee_client = Mindee::V2::Client.new(api_key: api_key)
12
12
 
13
13
  # Set inference parameters
14
14
  classification_params = {
@@ -8,7 +8,7 @@ api_key = 'MY_API_KEY'
8
8
  model_id = 'MY_MODEL_ID'
9
9
 
10
10
  # Init a new client
11
- mindee_client = Mindee::ClientV2.new(api_key: api_key)
11
+ mindee_client = Mindee::V2::Client.new(api_key: api_key)
12
12
 
13
13
  # Set inference parameters
14
14
  crop_params = {
@@ -27,4 +27,4 @@ response = mindee_client.enqueue_and_get_result(
27
27
  )
28
28
 
29
29
  # Access the result crops
30
- puts response.inference.result.crops
30
+ puts response.inference.result.crops
@@ -8,10 +8,10 @@ api_key = 'MY_API_KEY'
8
8
  model_id = 'MY_MODEL_ID'
9
9
 
10
10
  # Init a new client
11
- mindee_client = Mindee::ClientV2.new(api_key: api_key)
11
+ mindee_client = Mindee::V2::Client.new(api_key: api_key)
12
12
 
13
13
  # Set inference parameters
14
- inference_params = {
14
+ extraction_params = {
15
15
  # ID of the model, required.
16
16
  model_id: model_id,
17
17
 
@@ -35,7 +35,7 @@ input_source = Mindee::Input::Source::PathInputSource.new(input_path)
35
35
  response = mindee_client.enqueue_and_get_result(
36
36
  Mindee::V2::Product::Extraction::Extraction,
37
37
  input_source,
38
- inference_params
38
+ extraction_params
39
39
  )
40
40
 
41
41
  # Print a brief summary of the parsed data
@@ -8,9 +8,9 @@ api_key = 'MY_API_KEY'
8
8
  model_id = 'MY_MODEL_ID'
9
9
 
10
10
  # Init a new client
11
- mindee_client = Mindee::ClientV2.new(api_key: api_key)
11
+ mindee_client = Mindee::V2::Client.new(api_key: api_key)
12
12
 
13
- inference_params = {
13
+ extraction_params = {
14
14
  # ID of the model, required.
15
15
  model_id: model_id,
16
16
  # Add any number of webhook IDs here.
@@ -36,7 +36,7 @@ input_source = Mindee::Input::Source::PathInputSource.new(input_path)
36
36
  response = mindee_client.enqueue(
37
37
  Mindee::V2::Product::Extraction::Extraction,
38
38
  input_source,
39
- inference_params
39
+ extraction_params
40
40
  )
41
41
 
42
42
  # Print the job ID
@@ -8,7 +8,7 @@ api_key = 'MY_API_KEY'
8
8
  model_id = 'MY_MODEL_ID'
9
9
 
10
10
  # Init a new client
11
- mindee_client = Mindee::ClientV2.new(api_key: api_key)
11
+ mindee_client = Mindee::V2::Client.new(api_key: api_key)
12
12
 
13
13
  # Set inference parameters
14
14
  ocr_params = {
@@ -21,7 +21,7 @@ input_source = Mindee::Input::Source::PathInputSource.new(input_path)
21
21
 
22
22
  # Send for processing
23
23
  response = mindee_client.enqueue_and_get_result(
24
- Mindee::V2::Product::Ocr::Ocr,
24
+ Mindee::V2::Product::OCR::OCR,
25
25
  input_source,
26
26
  ocr_params
27
27
  )
@@ -8,7 +8,7 @@ api_key = 'MY_API_KEY'
8
8
  model_id = 'MY_MODEL_ID'
9
9
 
10
10
  # Init a new client
11
- mindee_client = Mindee::ClientV2.new(api_key: api_key)
11
+ mindee_client = Mindee::V2::Client.new(api_key: api_key)
12
12
 
13
13
  # Set inference parameters
14
14
  split_params = {
@@ -8,7 +8,7 @@ require 'mindee'
8
8
  workflow_id = 'workflow-id'
9
9
 
10
10
  # Init a new client
11
- mindee_client = Mindee::Client.new
11
+ mindee_client = Mindee::V1::Client.new
12
12
 
13
13
  # Load a file from disk
14
14
  input_source = mindee_client.source_from_path('path/to/my/file.ext')
@@ -19,7 +19,7 @@ result = mindee_client.execute_workflow(
19
19
  workflow_id,
20
20
  # options: { # Optionally, you can provide the following parameters:
21
21
  # document_alias: 'my-document-alias', # Potential alias for the document
22
- # priority: Mindee::Parsing::Common::ExecutionPriority::LOW, # Priority of the execution
22
+ # priority: Mindee::V1::Parsing::Common::ExecutionPriority::LOW, # Priority of the execution
23
23
  # rag: true # Whether to enable Retrieval-Augmented Generation
24
24
  # }
25
25
  )
@@ -8,7 +8,7 @@ require 'mindee'
8
8
  workflow_id = 'workflow-id'
9
9
 
10
10
  # Init a new client
11
- mindee_client = Mindee::Client.new
11
+ mindee_client = Mindee::V1::Client.new
12
12
 
13
13
  # Load a file from disk
14
14
  input_source = mindee_client.source_from_path('path/to/my/file.ext')
@@ -23,7 +23,7 @@ custom_endpoint = mindee_client.create_endpoint(
23
23
  # Parse the file
24
24
  result = mindee_client.parse(
25
25
  input_source,
26
- Mindee::Product::Universal::Universal,
26
+ Mindee::V1::Product::Universal::Universal,
27
27
  endpoint: custom_endpoint,
28
28
  options: {
29
29
  rag: true,
@@ -33,4 +33,3 @@ result = mindee_client.parse(
33
33
 
34
34
  # Print a full summary of the parsed data in RST format
35
35
  puts result.document
36
-
@@ -3,10 +3,10 @@
3
3
  require 'mindee'
4
4
 
5
5
  def invoice_splitter_auto_extraction(file_path)
6
- mindee_client = Mindee::Client.new(api_key: 'my-api-key')
6
+ mindee_client = Mindee::V1::Client.new(api_key: 'my-api-key')
7
7
  input_source = mindee_client.source_from_path(file_path)
8
8
 
9
- if input_source.pdf? && input_source.count_pages > 1
9
+ if input_source.pdf? && input_source.page_count > 1
10
10
  parse_multi_page(mindee_client, input_source)
11
11
  else
12
12
  parse_single_page(mindee_client, input_source)
@@ -16,16 +16,16 @@ end
16
16
  def parse_single_page(mindee_client, input_source)
17
17
  invoice_result = mindee_client.parse(
18
18
  input_source,
19
- Mindee::Product::Invoice::InvoiceV4
19
+ Mindee::V1::Product::Invoice::InvoiceV4
20
20
  )
21
21
  puts invoice_result.document
22
22
  end
23
23
 
24
24
  def parse_multi_page(mindee_client, input_source)
25
- pdf_extractor = Mindee::PDF::PDFExtractor::PDFExtractor.new(input_source)
25
+ pdf_extractor = Mindee::PDF::PDFExtractor.new(input_source)
26
26
  invoice_splitter_response = mindee_client.parse(
27
27
  input_source,
28
- Mindee::Product::InvoiceSplitter::InvoiceSplitterV1,
28
+ Mindee::V1::Product::InvoiceSplitter::InvoiceSplitterV1,
29
29
  options: { close_file: false }
30
30
  )
31
31
  page_groups = invoice_splitter_response.document.inference.prediction.invoice_page_groups
@@ -37,7 +37,7 @@ def parse_multi_page(mindee_client, input_source)
37
37
 
38
38
  invoice_result = mindee_client.parse(
39
39
  extracted_pdf.as_input_source,
40
- Mindee::Product::Invoice::InvoiceV4,
40
+ Mindee::V1::Product::Invoice::InvoiceV4,
41
41
  options: { close_file: false }
42
42
  )
43
43
  puts invoice_result.document
@@ -2,24 +2,24 @@
2
2
 
3
3
  require 'mindee'
4
4
 
5
- mindee_client = Mindee::Client.new(api_key: 'my-api-key')
5
+ mindee_client = Mindee::V1::Client.new(api_key: 'my-api-key')
6
6
  def multi_receipts_detection(file_path, mindee_client)
7
7
  input_source = mindee_client.source_from_path(file_path)
8
8
 
9
9
  result_multi_receipts = mindee_client.parse(
10
10
  input_source,
11
- Mindee::Product::MultiReceiptsDetector::MultiReceiptsDetectorV1,
11
+ Mindee::V1::Product::MultiReceiptsDetector::MultiReceiptsDetectorV1,
12
12
  options: { close_file: false }
13
13
  )
14
14
 
15
- images = Mindee::Extraction.extract_receipts(input_source, result_multi_receipts.document.inference)
15
+ images = Mindee::V1::Extraction.extract_receipts(input_source, result_multi_receipts.document.inference)
16
16
  images.each do |sub_image|
17
17
  # Optional: Save the files locally
18
18
  # sub_image.write_to_file("/path/to/my/extracted/file/folder")
19
19
 
20
20
  result_receipt = mindee_client.parse(
21
21
  sub_image.as_source,
22
- Mindee::Product::Receipt::ReceiptV5,
22
+ Mindee::V1::Product::Receipt::ReceiptV5,
23
23
  options: { close_file: false }
24
24
  )
25
25
  puts result_receipt.document
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mindee
4
+ # Centralized check for optional heavy dependencies
5
+ module Dependencies
6
+ def self.check_all_dependencies
7
+ require 'origami'
8
+ require 'mini_magick'
9
+ require 'pdf-reader'
10
+ true
11
+ rescue LoadError
12
+ false
13
+ end
14
+
15
+ @all_deps_available = check_all_dependencies
16
+
17
+ def self.all_deps_available?
18
+ check_all_dependencies
19
+ end
20
+
21
+ def self.require_all_deps!
22
+ raise LoadError, MINDEE_DEPENDENCIES_LOAD_ERROR unless all_deps_available?
23
+ end
24
+
25
+ MINDEE_DEPENDENCIES_LOAD_ERROR = 'Attempted to load Mindee PDF/Image tools without required dependencies. ' \
26
+ "If you need to process local files, please replace the 'mindee-lite' gem " \
27
+ "with the standard 'mindee' gem in your Gemfile."
28
+ end
29
+ end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Mindee
4
- module Errors
4
+ module Error
5
5
  # Base class for all custom mindee errors.
6
6
  class MindeeError < StandardError; end
7
7
 
@@ -3,7 +3,7 @@
3
3
  require_relative 'mindee_error'
4
4
 
5
5
  module Mindee
6
- module Errors
6
+ module Error
7
7
  # API HttpError
8
8
  class MindeeHTTPError < MindeeError
9
9
  # @return [String]
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative 'mindee_error'
4
- require_relative '../parsing/v2/error_item'
4
+ require_relative '../v2/parsing/error_item'
5
5
 
6
6
  module Mindee
7
- module Errors
7
+ module Error
8
8
  # API V2 HttpError
9
9
  class MindeeHTTPErrorV2 < MindeeError
10
10
  # @return [Integer] The HTTP status code returned by the server.
@@ -18,9 +18,9 @@ module Mindee
18
18
  # @return [Array<ErrorItem>] A list of explicit error details.
19
19
  attr_reader :errors
20
20
 
21
- # @param http_error [Hash, Mindee::Parsing::V2::ErrorResponse]
21
+ # @param http_error [Hash, Mindee::V2::Parsing::ErrorResponse]
22
22
  def initialize(http_error)
23
- if http_error.is_a?(Parsing::V2::ErrorResponse)
23
+ if http_error.is_a?(V2::Parsing::ErrorResponse)
24
24
  http_error = { 'detail' => http_error.detail,
25
25
  'status' => http_error.status,
26
26
  'title' => http_error.title,
@@ -33,7 +33,7 @@ module Mindee
33
33
  @code = http_error['code']
34
34
  @errors = if http_error.key?('errors')
35
35
  http_error['errors'].map do |error|
36
- Mindee::Parsing::V2::ErrorItem.new(error)
36
+ Mindee::V2::Parsing::ErrorItem.new(error)
37
37
  end
38
38
  else
39
39
  []
@@ -3,7 +3,7 @@
3
3
  require_relative 'mindee_error'
4
4
 
5
5
  module Mindee
6
- module Errors
6
+ module Error
7
7
  # Unknown HTTP error for the V2 API.
8
8
  class MindeeHTTPUnknownErrorV2 < MindeeHTTPErrorV2
9
9
  def initialize(http_error)
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Mindee
4
- module Errors
5
- # Base class for errors relating to input documents.
4
+ module Error
5
+ # Base class for error relating to input documents.
6
6
  class MindeeInputError < MindeeError; end
7
7
 
8
8
  # Errors relating to sources (documents) handling.
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative 'error/mindee_error'
4
+ require_relative 'error/mindee_http_error'
5
+ require_relative 'error/mindee_http_error_v2'
6
+ require_relative 'error/mindee_input_error'
@@ -7,7 +7,7 @@ module Mindee
7
7
  class Polygon < Array
8
8
  # @param server_response [Hash] Raw server response hash.
9
9
  def initialize(server_response)
10
- points = []
10
+ points = [] # @type var points: Array[Mindee::Geometry::Point]
11
11
  server_response.map do |point|
12
12
  points << Point.new(point[0], point[1])
13
13
  end
@@ -30,7 +30,7 @@ module Mindee
30
30
 
31
31
  # @return [String] Polygon as a string.
32
32
  def to_s
33
- "(#{map(&:to_s).join(', ')})"
33
+ "(#{join(', ')})"
34
34
  end
35
35
  end
36
36
  end
@@ -5,4 +5,3 @@ Metrics/CyclomaticComplexity:
5
5
 
6
6
  Metrics/PerceivedComplexity:
7
7
  Max: 10
8
-
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'json'
4
- require_relative '../errors/mindee_http_error'
4
+ require_relative '../error/mindee_http_error'
5
5
 
6
6
  module Mindee
7
7
  module HTTP
@@ -81,11 +81,11 @@ module Mindee
81
81
  error_obj = create_error_obj(parsed_hash)
82
82
  case code
83
83
  when 400..499
84
- Errors::MindeeHTTPClientError.new(error_obj || {}, url, code)
84
+ Error::MindeeHTTPClientError.new(error_obj || {}, url, code)
85
85
  when 500..599
86
- Errors::MindeeHTTPServerError.new(error_obj || {}, url, code)
86
+ Error::MindeeHTTPServerError.new(error_obj || {}, url, code)
87
87
  else
88
- Errors::MindeeHTTPError.new(error_obj || {}, url, code)
88
+ Error::MindeeHTTPError.new(error_obj || {}, url, code)
89
89
  end
90
90
  end
91
91
 
@@ -94,11 +94,11 @@ module Mindee
94
94
  def generate_v2_error(hashed_response)
95
95
  code = hashed_response[:code].to_i
96
96
  if hashed_response.key?(:status)
97
- Errors::MindeeHTTPErrorV2.new(hashed_response.transform_keys(&:to_s))
97
+ Error::MindeeHTTPErrorV2.new(hashed_response.transform_keys(&:to_s))
98
98
  elsif code < 200 || code > 399
99
- Errors::MindeeHTTPErrorV2.new({ 'status' => code, 'detail' => 'No details available.' })
99
+ Error::MindeeHTTPErrorV2.new({ 'status' => code, 'detail' => 'No details available.' })
100
100
  else
101
- Errors::MindeeHTTPErrorV2.new({ 'status' => -1, 'detail' => 'Unknown Error.' })
101
+ Error::MindeeHTTPErrorV2.new({ 'status' => -1, 'detail' => 'Unknown Error.' })
102
102
  end
103
103
  end
104
104
  end
@@ -51,7 +51,7 @@ module Mindee
51
51
 
52
52
  hashed_response = JSON.parse(response.body, object_class: Hash)
53
53
 
54
- return false if hashed_response.dig('job', 'status') == Mindee::Parsing::Common::JobStatus::FAILURE
54
+ return false if hashed_response.dig('job', 'status') == Mindee::V1::Parsing::Common::JobStatus::FAILURE
55
55
 
56
56
  return false if hashed_response.dig('job', 'error') && !hashed_response.dig('job', 'error').empty?
57
57
 
@@ -71,7 +71,8 @@ module Mindee
71
71
  end
72
72
 
73
73
  return if !hashed_response.dig('job', 'error').empty? &&
74
- (hashed_response.dig('job', 'status').downcase != Mindee::Parsing::Common::JobStatus::FAILURE.to_s)
74
+ (hashed_response.dig('job',
75
+ 'status').downcase != Mindee::V1::Parsing::Common::JobStatus::FAILURE.to_s)
75
76
 
76
77
  response.instance_variable_set(:@code, '500')
77
78
  end
data/lib/mindee/http.rb CHANGED
@@ -1,7 +1,3 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'http/api_settings_v2'
4
- require_relative 'http/endpoint'
5
3
  require_relative 'http/http_error_handler'
6
- require_relative 'http/mindee_api_v2'
7
- require_relative 'http/workflow_endpoint'
@@ -18,23 +18,29 @@ module Mindee
18
18
  attr_reader :buffer
19
19
 
20
20
  # Internal name for the file.
21
- attr_reader :internal_file_name
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
- def initialize(input_source, page_id, element_id)
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
- extension = if input_source.pdf?
32
- '.jpg'
32
+
33
+ @filename = if preserve_input_filename
34
+ input_source.filename.to_s
33
35
  else
34
- File.extname(input_source.filename)
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 Errors::MindeeImageError, 'Invalid file format.' if resolved_path.extname.delete('.').empty?
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 Errors::MindeeImageError, "Could not save file '#{output_path}'. " \
63
- 'Is the provided file path valid?.'
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 || '', @internal_file_name)
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::Dependencies.require_all_deps!
3
4
  require 'mini_magick'
4
5
  require 'origami'
5
6
  require 'stringio'
@@ -36,35 +37,33 @@ module Mindee
36
37
  new_stream = load_input_source_pdf_page_as_stringio(input_source, page_id)
37
38
  new_stream.seek(0)
38
39
 
39
- extract_images_from_polygons(input_source, new_stream, page_id, polygons)
40
+ extract_images_from_polygons(input_source, page_id, polygons)
40
41
  end
41
42
 
42
43
  # Extracts images from their positions on a file (as polygons).
43
44
  #
44
45
  # @param [Input::Source::LocalInputSource] input_source Local input source.
45
- # @param [StringIO] pdf_stream Buffer of the PDF.
46
46
  # @param [Integer] page_id Page ID.
47
47
  # @param [Array<Geometry::Point, Geometry::Polygon, Geometry::Quadrilateral>] polygons
48
48
  # @return [Array<Image::ExtractedImage>] Extracted Images.
49
- def self.extract_images_from_polygons(input_source, pdf_stream, page_id, polygons)
50
- extracted_elements = []
49
+ def self.extract_images_from_polygons(input_source, page_id, polygons)
50
+ extracted_elements = [] # @type var extracted_elements: Array[Image::ExtractedImage]
51
51
 
52
+ input_source.io_stream.rewind
53
+ pdf_stream = StringIO.new(input_source.io_stream.read.to_s)
54
+ input_source.io_stream.rewind
52
55
  polygons.each_with_index do |polygon, element_id|
53
56
  polygon = ImageUtils.normalize_polygon(polygon)
54
57
  page_content = ImageUtils.read_page_content(pdf_stream)
58
+ points = [
59
+ polygon.top_left,
60
+ polygon.bottom_right,
61
+ polygon.top_right,
62
+ polygon.bottom_left,
63
+ ]
55
64
 
56
- min_max_x = Geometry.get_min_max_x([
57
- polygon.top_left,
58
- polygon.bottom_right,
59
- polygon.top_right,
60
- polygon.bottom_left,
61
- ])
62
- min_max_y = Geometry.get_min_max_y([
63
- polygon.top_left,
64
- polygon.bottom_right,
65
- polygon.top_right,
66
- polygon.bottom_left,
67
- ])
65
+ min_max_x = Geometry.get_min_max_x(points)
66
+ min_max_y = Geometry.get_min_max_y(points)
68
67
  file_extension = ImageUtils.determine_file_extension(input_source)
69
68
  cropped_image = ImageUtils.crop_image(page_content, min_max_x, min_max_y)
70
69
  if file_extension == 'pdf'
@@ -94,7 +93,8 @@ module Mindee
94
93
  ExtractedImage.new(
95
94
  Input::Source::BytesInputSource.new(buffer.read.to_s, file_name),
96
95
  page_id,
97
- element_id
96
+ element_id,
97
+ preserve_input_filename: true
98
98
  )
99
99
  end
100
100
 
@@ -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 Errors::MindeeImageError, "Expected an I/O object or a MiniMagick::Image. '#{img_class}' given instead."
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 Errors::MindeeImageError, 'Provided image could not be processed for resizing.' if original.nil?
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 Errors::MindeeGeometryError, 'Provided polygon has an invalid type.'
114
+ raise Error::MindeeGeometryError, 'Provided polygon has an invalid type.'
115
115
  end
116
116
  end
117
117