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.
Files changed (970) hide show
  1. checksums.yaml +4 -4
  2. data/.editorconfig +24 -0
  3. data/.gitignore +2 -0
  4. data/.pre-commit-config.yaml +36 -0
  5. data/.rubocop.yml +4 -3
  6. data/CHANGELOG.md +55 -1
  7. data/CONTRIBUTING.md +17 -0
  8. data/Gemfile +9 -1
  9. data/README.md +7 -7
  10. data/Rakefile +21 -15
  11. data/Steepfile +0 -1
  12. data/bin/mindee.rb +19 -118
  13. data/bin/v1/parser.rb +153 -0
  14. data/bin/v1/products.rb +88 -0
  15. data/bin/v2/parser.rb +235 -0
  16. data/bin/v2/products.rb +34 -0
  17. data/docs/code_samples/bank_account_details_v1.txt +2 -2
  18. data/docs/code_samples/bank_account_details_v2.txt +2 -2
  19. data/docs/code_samples/bank_statement_fr_v2_async.txt +2 -2
  20. data/docs/code_samples/barcode_reader_v1.txt +2 -2
  21. data/docs/code_samples/cropper_v1.txt +2 -2
  22. data/docs/code_samples/default.txt +2 -2
  23. data/docs/code_samples/default_async.txt +2 -3
  24. data/docs/code_samples/expense_receipts_v5.txt +2 -2
  25. data/docs/code_samples/expense_receipts_v5_async.txt +2 -2
  26. data/docs/code_samples/financial_document_v1.txt +2 -2
  27. data/docs/code_samples/financial_document_v1_async.txt +2 -2
  28. data/docs/code_samples/idcard_fr_v1.txt +2 -2
  29. data/docs/code_samples/idcard_fr_v2.txt +2 -2
  30. data/docs/code_samples/international_id_v2_async.txt +2 -2
  31. data/docs/code_samples/invoice_splitter_v1_async.txt +2 -2
  32. data/docs/code_samples/invoices_v4.txt +2 -2
  33. data/docs/code_samples/invoices_v4_async.txt +2 -2
  34. data/docs/code_samples/multi_receipts_detector_v1.txt +2 -2
  35. data/docs/code_samples/passport_v1.txt +2 -2
  36. data/docs/code_samples/resume_v1_async.txt +2 -2
  37. data/docs/code_samples/v2_classification.txt +30 -0
  38. data/docs/code_samples/v2_crop.txt +30 -0
  39. data/docs/code_samples/v2_extraction.txt +42 -0
  40. data/docs/code_samples/v2_extraction_webhook.txt +45 -0
  41. data/docs/code_samples/v2_ocr.txt +30 -0
  42. data/docs/code_samples/v2_split.txt +30 -0
  43. data/docs/code_samples/workflow_execution.txt +2 -2
  44. data/docs/code_samples/workflow_polling.txt +2 -3
  45. data/examples/auto_invoice_splitter_extraction.rb +6 -6
  46. data/examples/auto_multi_receipts_detector_extraction.rb +4 -4
  47. data/lib/mindee/dependency.rb +29 -0
  48. data/lib/mindee/error/mindee_error.rb +17 -0
  49. data/lib/mindee/error/mindee_http_error.rb +36 -0
  50. data/lib/mindee/error/mindee_http_error_v2.rb +45 -0
  51. data/lib/mindee/error/mindee_http_unknown_error_v2.rb +18 -0
  52. data/lib/mindee/error/mindee_input_error.rb +30 -0
  53. data/lib/mindee/error.rb +6 -0
  54. data/lib/mindee/geometry/point.rb +5 -0
  55. data/lib/mindee/geometry/polygon.rb +6 -1
  56. data/lib/mindee/http/.rubocop.yml +0 -1
  57. data/lib/mindee/http/http_error_handler.rb +7 -7
  58. data/lib/mindee/http/response_validation.rb +3 -2
  59. data/lib/mindee/http.rb +0 -4
  60. data/lib/mindee/image/extracted_image.rb +25 -12
  61. data/lib/mindee/image/image_extractor.rb +4 -2
  62. data/lib/mindee/image/image_utils.rb +3 -3
  63. data/lib/mindee/input/base_parameters.rb +149 -0
  64. data/lib/mindee/input/local_response.rb +9 -10
  65. data/lib/mindee/input/sources/local_input_source.rb +18 -14
  66. data/lib/mindee/input/sources/path_input_source.rb +1 -1
  67. data/lib/mindee/input/sources/url_input_source.rb +4 -4
  68. data/lib/mindee/input.rb +0 -2
  69. data/lib/mindee/logging/logger.rb +9 -1
  70. data/lib/mindee/page_options.rb +1 -1
  71. data/lib/mindee/pdf/extracted_pdf.rb +55 -45
  72. data/lib/mindee/pdf/pdf_compressor.rb +2 -0
  73. data/lib/mindee/pdf/pdf_extractor.rb +95 -94
  74. data/lib/mindee/pdf/pdf_processor.rb +6 -1
  75. data/lib/mindee/pdf/pdf_tools.rb +19 -0
  76. data/lib/mindee/v1/client.rb +490 -0
  77. data/lib/mindee/v1/extraction/multi_receipts_extractor.rb +32 -0
  78. data/lib/mindee/v1/http/.rubocop.yml +7 -0
  79. data/lib/mindee/v1/http/endpoint.rb +221 -0
  80. data/lib/mindee/v1/http/workflow_endpoint.rb +93 -0
  81. data/lib/mindee/v1/http.rb +4 -0
  82. data/lib/mindee/v1/parsing/common/api_request.rb +38 -0
  83. data/lib/mindee/v1/parsing/common/api_response.rb +63 -0
  84. data/lib/mindee/v1/parsing/common/document.rb +86 -0
  85. data/lib/mindee/v1/parsing/common/execution.rb +78 -0
  86. data/lib/mindee/v1/parsing/common/execution_file.rb +26 -0
  87. data/lib/mindee/v1/parsing/common/execution_priority.rb +38 -0
  88. data/lib/mindee/v1/parsing/common/extras/cropper_extra.rb +32 -0
  89. data/lib/mindee/v1/parsing/common/extras/extras.rb +62 -0
  90. data/lib/mindee/v1/parsing/common/extras/full_text_ocr_extra.rb +35 -0
  91. data/lib/mindee/v1/parsing/common/extras/rag_extra.rb +28 -0
  92. data/lib/mindee/v1/parsing/common/inference.rb +69 -0
  93. data/lib/mindee/v1/parsing/common/job.rb +48 -0
  94. data/lib/mindee/v1/parsing/common/ocr/mvision_v1.rb +52 -0
  95. data/lib/mindee/v1/parsing/common/ocr/ocr.rb +180 -0
  96. data/lib/mindee/v1/parsing/common/orientation.rb +28 -0
  97. data/lib/mindee/v1/parsing/common/page.rb +49 -0
  98. data/lib/mindee/v1/parsing/common/prediction.rb +19 -0
  99. data/lib/mindee/v1/parsing/common/product.rb +26 -0
  100. data/lib/mindee/v1/parsing/common/workflow_response.rb +30 -0
  101. data/lib/mindee/v1/parsing/standard/abstract_field.rb +74 -0
  102. data/lib/mindee/v1/parsing/standard/address_field.rb +51 -0
  103. data/lib/mindee/v1/parsing/standard/amount_field.rb +28 -0
  104. data/lib/mindee/v1/parsing/standard/base_field.rb +30 -0
  105. data/lib/mindee/v1/parsing/standard/boolean_field.rb +29 -0
  106. data/lib/mindee/v1/parsing/standard/classification_field.rb +18 -0
  107. data/lib/mindee/v1/parsing/standard/company_registration_field.rb +45 -0
  108. data/lib/mindee/v1/parsing/standard/date_field.rb +40 -0
  109. data/lib/mindee/v1/parsing/standard/feature_field.rb +26 -0
  110. data/lib/mindee/v1/parsing/standard/locale_field.rb +52 -0
  111. data/lib/mindee/v1/parsing/standard/payment_details_field.rb +44 -0
  112. data/lib/mindee/v1/parsing/standard/position_field.rb +61 -0
  113. data/lib/mindee/v1/parsing/standard/string_field.rb +26 -0
  114. data/lib/mindee/v1/parsing/standard/tax_field.rb +110 -0
  115. data/lib/mindee/v1/parsing/universal/universal_list_field.rb +60 -0
  116. data/lib/mindee/v1/parsing/universal/universal_object_field.rb +123 -0
  117. data/lib/mindee/v1/product/.rubocop.yml +12 -0
  118. data/lib/mindee/v1/product/barcode_reader/barcode_reader_v1.rb +47 -0
  119. data/lib/mindee/v1/product/barcode_reader/barcode_reader_v1_document.rb +47 -0
  120. data/lib/mindee/v1/product/barcode_reader/barcode_reader_v1_page.rb +38 -0
  121. data/lib/mindee/v1/product/cropper/cropper_v1.rb +47 -0
  122. data/lib/mindee/v1/product/cropper/cropper_v1_document.rb +15 -0
  123. data/lib/mindee/v1/product/cropper/cropper_v1_page.rb +55 -0
  124. data/lib/mindee/v1/product/financial_document/financial_document_v1.rb +47 -0
  125. data/lib/mindee/v1/product/financial_document/financial_document_v1_document.rb +329 -0
  126. data/lib/mindee/v1/product/financial_document/financial_document_v1_line_item.rb +124 -0
  127. data/lib/mindee/v1/product/financial_document/financial_document_v1_line_items.rb +64 -0
  128. data/lib/mindee/v1/product/financial_document/financial_document_v1_page.rb +38 -0
  129. data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v1.rb +49 -0
  130. data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v1_document.rb +49 -0
  131. data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v1_page.rb +40 -0
  132. data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v2.rb +49 -0
  133. data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_bban.rb +63 -0
  134. data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_document.rb +60 -0
  135. data/lib/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_page.rb +40 -0
  136. data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2.rb +49 -0
  137. data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2_document.rb +169 -0
  138. data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2_page.rb +40 -0
  139. data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2_transaction.rb +78 -0
  140. data/lib/mindee/v1/product/fr/bank_statement/bank_statement_v2_transactions.rb +56 -0
  141. data/lib/mindee/v1/product/fr/id_card/id_card_v1.rb +49 -0
  142. data/lib/mindee/v1/product/fr/id_card/id_card_v1_document.rb +106 -0
  143. data/lib/mindee/v1/product/fr/id_card/id_card_v1_page.rb +57 -0
  144. data/lib/mindee/v1/product/fr/id_card/id_card_v2.rb +49 -0
  145. data/lib/mindee/v1/product/fr/id_card/id_card_v2_document.rb +143 -0
  146. data/lib/mindee/v1/product/fr/id_card/id_card_v2_page.rb +65 -0
  147. data/lib/mindee/v1/product/international_id/international_id_v2.rb +47 -0
  148. data/lib/mindee/v1/product/international_id/international_id_v2_document.rb +164 -0
  149. data/lib/mindee/v1/product/international_id/international_id_v2_page.rb +38 -0
  150. data/lib/mindee/v1/product/invoice/invoice_v4.rb +47 -0
  151. data/lib/mindee/v1/product/invoice/invoice_v4_document.rb +300 -0
  152. data/lib/mindee/v1/product/invoice/invoice_v4_line_item.rb +124 -0
  153. data/lib/mindee/v1/product/invoice/invoice_v4_line_items.rb +64 -0
  154. data/lib/mindee/v1/product/invoice/invoice_v4_page.rb +38 -0
  155. data/lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1.rb +47 -0
  156. data/lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1_document.rb +66 -0
  157. data/lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1_invoice_page_group.rb +58 -0
  158. data/lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1_invoice_page_groups.rb +50 -0
  159. data/lib/mindee/v1/product/invoice_splitter/invoice_splitter_v1_page.rb +38 -0
  160. data/lib/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1.rb +47 -0
  161. data/lib/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1_document.rb +38 -0
  162. data/lib/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1_page.rb +38 -0
  163. data/lib/mindee/v1/product/passport/passport_v1.rb +47 -0
  164. data/lib/mindee/v1/product/passport/passport_v1_document.rb +112 -0
  165. data/lib/mindee/v1/product/passport/passport_v1_page.rb +38 -0
  166. data/lib/mindee/v1/product/receipt/receipt_v5.rb +47 -0
  167. data/lib/mindee/v1/product/receipt/receipt_v5_document.rb +187 -0
  168. data/lib/mindee/v1/product/receipt/receipt_v5_line_item.rb +88 -0
  169. data/lib/mindee/v1/product/receipt/receipt_v5_line_items.rb +56 -0
  170. data/lib/mindee/v1/product/receipt/receipt_v5_page.rb +38 -0
  171. data/lib/mindee/v1/product/resume/resume_v1.rb +47 -0
  172. data/lib/mindee/v1/product/resume/resume_v1_certificate.rb +82 -0
  173. data/lib/mindee/v1/product/resume/resume_v1_certificates.rb +60 -0
  174. data/lib/mindee/v1/product/resume/resume_v1_document.rb +340 -0
  175. data/lib/mindee/v1/product/resume/resume_v1_education.rb +106 -0
  176. data/lib/mindee/v1/product/resume/resume_v1_educations.rb +66 -0
  177. data/lib/mindee/v1/product/resume/resume_v1_language.rb +66 -0
  178. data/lib/mindee/v1/product/resume/resume_v1_languages.rb +56 -0
  179. data/lib/mindee/v1/product/resume/resume_v1_page.rb +38 -0
  180. data/lib/mindee/v1/product/resume/resume_v1_professional_experience.rb +122 -0
  181. data/lib/mindee/v1/product/resume/resume_v1_professional_experiences.rb +70 -0
  182. data/lib/mindee/v1/product/resume/resume_v1_social_networks_url.rb +66 -0
  183. data/lib/mindee/v1/product/resume/resume_v1_social_networks_urls.rb +56 -0
  184. data/lib/mindee/v1/product/universal/universal.rb +48 -0
  185. data/lib/mindee/v1/product/universal/universal_document.rb +35 -0
  186. data/lib/mindee/v1/product/universal/universal_page.rb +54 -0
  187. data/lib/mindee/v1/product/universal/universal_prediction.rb +128 -0
  188. data/lib/mindee/v1/product.rb +18 -0
  189. data/lib/mindee/v1.rb +7 -0
  190. data/lib/mindee/v2/client.rb +132 -0
  191. data/lib/mindee/v2/file_operation/crop.rb +51 -0
  192. data/lib/mindee/v2/file_operation/crop_files.rb +25 -0
  193. data/lib/mindee/v2/file_operation/split.rb +37 -0
  194. data/lib/mindee/v2/file_operation/split_files.rb +25 -0
  195. data/lib/mindee/v2/file_operation.rb +6 -0
  196. data/lib/mindee/v2/http/.rubocop.yml +7 -0
  197. data/lib/mindee/v2/http/api_v2_settings.rb +65 -0
  198. data/lib/mindee/v2/http/mindee_api_v2.rb +230 -0
  199. data/lib/mindee/v2/http.rb +4 -0
  200. data/lib/mindee/v2/parsing/base_inference.rb +44 -0
  201. data/lib/mindee/v2/parsing/base_response.rb +15 -0
  202. data/lib/mindee/v2/parsing/common_response.rb +20 -0
  203. data/lib/mindee/v2/parsing/error_item.rb +21 -0
  204. data/lib/mindee/v2/parsing/error_response.rb +51 -0
  205. data/lib/mindee/v2/parsing/field/base_field.rb +63 -0
  206. data/lib/mindee/v2/parsing/field/field_confidence.rb +128 -0
  207. data/lib/mindee/v2/parsing/field/field_location.rb +33 -0
  208. data/lib/mindee/v2/parsing/field/inference_fields.rb +105 -0
  209. data/lib/mindee/v2/parsing/field/list_field.rb +79 -0
  210. data/lib/mindee/v2/parsing/field/object_field.rb +138 -0
  211. data/lib/mindee/v2/parsing/field/simple_field.rb +60 -0
  212. data/lib/mindee/v2/parsing/inference_active_options.rb +67 -0
  213. data/lib/mindee/v2/parsing/inference_file.rb +38 -0
  214. data/lib/mindee/v2/parsing/inference_job.rb +25 -0
  215. data/lib/mindee/v2/parsing/inference_model.rb +30 -0
  216. data/lib/mindee/v2/parsing/job.rb +93 -0
  217. data/lib/mindee/v2/parsing/job_response.rb +30 -0
  218. data/lib/mindee/v2/parsing/job_webhook.rb +59 -0
  219. data/lib/mindee/v2/parsing/rag_metadata.rb +17 -0
  220. data/lib/mindee/v2/parsing/raw_text.rb +27 -0
  221. data/lib/mindee/v2/parsing/raw_text_page.rb +24 -0
  222. data/lib/mindee/v2/parsing/search/pagination_metadata.rb +44 -0
  223. data/lib/mindee/v2/parsing/search/search_model.rb +38 -0
  224. data/lib/mindee/v2/parsing/search/search_models.rb +34 -0
  225. data/lib/mindee/v2/parsing/search/search_response.rb +38 -0
  226. data/lib/mindee/v2/parsing/search.rb +6 -0
  227. data/lib/mindee/v2/parsing.rb +16 -0
  228. data/lib/mindee/v2/product/base_product.rb +28 -0
  229. data/lib/mindee/v2/product/classification/classification.rb +20 -0
  230. data/lib/mindee/v2/product/classification/classification_classifier.rb +25 -0
  231. data/lib/mindee/v2/product/classification/classification_inference.rb +35 -0
  232. data/lib/mindee/v2/product/classification/classification_response.rb +32 -0
  233. data/lib/mindee/v2/product/classification/classification_result.rb +27 -0
  234. data/lib/mindee/v2/product/classification/params/classification_parameters.rb +47 -0
  235. data/lib/mindee/v2/product/crop/crop.rb +20 -0
  236. data/lib/mindee/v2/product/crop/crop_inference.rb +34 -0
  237. data/lib/mindee/v2/product/crop/crop_item.rb +39 -0
  238. data/lib/mindee/v2/product/crop/crop_response.rb +40 -0
  239. data/lib/mindee/v2/product/crop/crop_result.rb +34 -0
  240. data/lib/mindee/v2/product/crop/params/crop_parameters.rb +47 -0
  241. data/lib/mindee/v2/product/extraction/extraction.rb +21 -0
  242. data/lib/mindee/v2/product/extraction/extraction_inference.rb +40 -0
  243. data/lib/mindee/v2/product/extraction/extraction_response.rb +32 -0
  244. data/lib/mindee/v2/product/extraction/extraction_result.rb +44 -0
  245. data/lib/mindee/v2/product/extraction/params/data_schema.rb +51 -0
  246. data/lib/mindee/v2/product/extraction/params/data_schema_field.rb +69 -0
  247. data/lib/mindee/v2/product/extraction/params/data_schema_replace.rb +39 -0
  248. data/lib/mindee/v2/product/extraction/params/extraction_parameters.rb +125 -0
  249. data/lib/mindee/v2/product/ocr/ocr.rb +20 -0
  250. data/lib/mindee/v2/product/ocr/ocr_inference.rb +34 -0
  251. data/lib/mindee/v2/product/ocr/ocr_page.rb +33 -0
  252. data/lib/mindee/v2/product/ocr/ocr_response.rb +32 -0
  253. data/lib/mindee/v2/product/ocr/ocr_result.rb +34 -0
  254. data/lib/mindee/v2/product/ocr/ocr_word.rb +29 -0
  255. data/lib/mindee/v2/product/ocr/params/ocr_parameters.rb +47 -0
  256. data/lib/mindee/v2/product/split/params/split_parameters.rb +48 -0
  257. data/lib/mindee/v2/product/split/split.rb +19 -0
  258. data/lib/mindee/v2/product/split/split_inference.rb +34 -0
  259. data/lib/mindee/v2/product/split/split_range.rb +38 -0
  260. data/lib/mindee/v2/product/split/split_response.rb +40 -0
  261. data/lib/mindee/v2/product/split/split_result.rb +34 -0
  262. data/lib/mindee/v2/product.rb +7 -0
  263. data/lib/mindee/v2.rb +7 -0
  264. data/lib/mindee/version.rb +1 -1
  265. data/lib/mindee.rb +66 -23
  266. data/mindee-lite.gemspec +36 -0
  267. data/mindee.gemspec +13 -13
  268. data/sig/custom/marcel.rbs +1 -1
  269. data/sig/custom/net_http.rbs +1 -1
  270. data/sig/custom/origami.rbs +1 -1
  271. data/sig/mindee/dependency.rbs +13 -0
  272. data/sig/mindee/error/mindee_error.rbs +13 -0
  273. data/sig/mindee/error/mindee_http_error.rbs +17 -0
  274. data/sig/mindee/error/mindee_http_error_v2.rbs +15 -0
  275. data/sig/mindee/error/mindee_http_unknown_error_v2.rbs +9 -0
  276. data/sig/mindee/error/mindee_input_error.rbs +18 -0
  277. data/sig/mindee/geometry/point.rbs +2 -0
  278. data/sig/mindee/geometry/polygon.rbs +2 -0
  279. data/sig/mindee/http/http_error_handler.rbs +4 -4
  280. data/sig/mindee/image/extracted_image.rbs +8 -2
  281. data/sig/mindee/image/image_extractor.rbs +1 -1
  282. data/sig/mindee/input/base_parameters.rbs +35 -0
  283. data/sig/mindee/input/local_response.rbs +2 -2
  284. data/sig/mindee/input/sources/local_input_source.rbs +0 -1
  285. data/sig/mindee/pdf/extracted_pdf.rbs +11 -9
  286. data/sig/mindee/pdf/pdf_extractor.rbs +12 -10
  287. data/sig/mindee/pdf/pdf_tools.rbs +2 -0
  288. data/sig/mindee/v1/client.rbs +84 -0
  289. data/sig/mindee/v1/extraction/multi_receipts_extractor.rbs +8 -0
  290. data/sig/mindee/v1/http/endpoint.rbs +41 -0
  291. data/sig/mindee/v1/http/workflow_endpoint.rbs +22 -0
  292. data/sig/mindee/v1/parsing/common/api_request.rbs +22 -0
  293. data/sig/mindee/v1/parsing/common/api_response.rbs +31 -0
  294. data/sig/mindee/v1/parsing/common/document.rbs +32 -0
  295. data/sig/mindee/v1/parsing/common/execution.rbs +26 -0
  296. data/sig/mindee/v1/parsing/common/execution_file.rbs +16 -0
  297. data/sig/mindee/v1/parsing/common/execution_priority.rbs +16 -0
  298. data/sig/mindee/v1/parsing/common/extras/cropper_extra.rbs +18 -0
  299. data/sig/mindee/v1/parsing/common/extras/extras.rbs +24 -0
  300. data/sig/mindee/v1/parsing/common/extras/full_text_ocr_extra.rbs +22 -0
  301. data/sig/mindee/v1/parsing/common/extras/rag_extra.rbs +19 -0
  302. data/sig/mindee/v1/parsing/common/inference.rbs +31 -0
  303. data/sig/mindee/v1/parsing/common/job.rbs +24 -0
  304. data/sig/mindee/v1/parsing/common/ocr/mvision_v1.rbs +20 -0
  305. data/sig/mindee/v1/parsing/common/ocr/ocr.rbs +56 -0
  306. data/sig/mindee/v1/parsing/common/orientation.rbs +15 -0
  307. data/sig/mindee/v1/parsing/common/page.rbs +19 -0
  308. data/sig/mindee/v1/parsing/common/prediction.rbs +14 -0
  309. data/sig/mindee/v1/parsing/common/product.rbs +16 -0
  310. data/sig/mindee/v1/parsing/common/workflow_response.rbs +22 -0
  311. data/sig/mindee/v1/parsing/standard/abstract_field.rbs +30 -0
  312. data/sig/mindee/v1/parsing/standard/address_field.rbs +28 -0
  313. data/sig/mindee/v1/parsing/standard/amount_field.rbs +16 -0
  314. data/sig/mindee/v1/parsing/standard/base_field.rbs +16 -0
  315. data/sig/mindee/v1/parsing/standard/boolean_field.rbs +16 -0
  316. data/sig/mindee/v1/parsing/standard/classification_field.rbs +12 -0
  317. data/sig/mindee/v1/parsing/standard/company_registration_field.rbs +20 -0
  318. data/sig/mindee/v1/parsing/standard/date_field.rbs +20 -0
  319. data/sig/mindee/v1/parsing/standard/feature_field.rbs +12 -0
  320. data/sig/mindee/v1/parsing/standard/locale_field.rbs +24 -0
  321. data/sig/mindee/v1/parsing/standard/payment_details_field.rbs +19 -0
  322. data/sig/mindee/v1/parsing/standard/position_field.rbs +26 -0
  323. data/sig/mindee/v1/parsing/standard/string_field.rbs +16 -0
  324. data/sig/mindee/v1/parsing/standard/tax_field.rbs +33 -0
  325. data/sig/mindee/v1/parsing/universal/universal_list_field.rbs +21 -0
  326. data/sig/mindee/v1/parsing/universal/universal_object_field.rbs +38 -0
  327. data/sig/mindee/v1/product/barcode_reader/barcode_reader_v1.rbs +13 -0
  328. data/sig/mindee/v1/product/barcode_reader/barcode_reader_v1_document.rbs +16 -0
  329. data/sig/mindee/v1/product/barcode_reader/barcode_reader_v1_page.rbs +17 -0
  330. data/sig/mindee/v1/product/cropper/cropper_v1.rbs +13 -0
  331. data/sig/mindee/v1/product/cropper/cropper_v1_document.rbs +14 -0
  332. data/sig/mindee/v1/product/cropper/cropper_v1_page.rbs +19 -0
  333. data/sig/mindee/v1/product/financial_document/financial_document_v1.rbs +13 -0
  334. data/sig/mindee/v1/product/financial_document/financial_document_v1_document.rbs +49 -0
  335. data/sig/mindee/v1/product/financial_document/financial_document_v1_line_item.rbs +35 -0
  336. data/sig/mindee/v1/product/financial_document/financial_document_v1_line_items.rbs +15 -0
  337. data/sig/mindee/v1/product/financial_document/financial_document_v1_page.rbs +17 -0
  338. data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v1.rbs +15 -0
  339. data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v1_document.rbs +19 -0
  340. data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v1_page.rbs +19 -0
  341. data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v2.rbs +15 -0
  342. data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_bban.rbs +25 -0
  343. data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_document.rbs +20 -0
  344. data/sig/mindee/v1/product/fr/bank_account_details/bank_account_details_v2_page.rbs +19 -0
  345. data/sig/mindee/v1/product/fr/bank_statement/bank_statement_v2.rbs +15 -0
  346. data/sig/mindee/v1/product/fr/bank_statement/bank_statement_v2_document.rbs +31 -0
  347. data/sig/mindee/v1/product/fr/bank_statement/bank_statement_v2_page.rbs +19 -0
  348. data/sig/mindee/v1/product/fr/bank_statement/bank_statement_v2_transaction.rbs +27 -0
  349. data/sig/mindee/v1/product/fr/bank_statement/bank_statement_v2_transactions.rbs +17 -0
  350. data/sig/mindee/v1/product/fr/id_card/id_card_v1.rbs +15 -0
  351. data/sig/mindee/v1/product/fr/id_card/id_card_v1_document.rbs +26 -0
  352. data/sig/mindee/v1/product/fr/id_card/id_card_v1_page.rbs +20 -0
  353. data/sig/mindee/v1/product/fr/id_card/id_card_v2.rbs +15 -0
  354. data/sig/mindee/v1/product/fr/id_card/id_card_v2_document.rbs +31 -0
  355. data/sig/mindee/v1/product/fr/id_card/id_card_v2_page.rbs +21 -0
  356. data/sig/mindee/v1/product/international_id/international_id_v2.rbs +13 -0
  357. data/sig/mindee/v1/product/international_id/international_id_v2_document.rbs +31 -0
  358. data/sig/mindee/v1/product/international_id/international_id_v2_page.rbs +17 -0
  359. data/sig/mindee/v1/product/invoice/invoice_v4.rbs +13 -0
  360. data/sig/mindee/v1/product/invoice/invoice_v4_document.rbs +45 -0
  361. data/sig/mindee/v1/product/invoice/invoice_v4_line_item.rbs +35 -0
  362. data/sig/mindee/v1/product/invoice/invoice_v4_line_items.rbs +15 -0
  363. data/sig/mindee/v1/product/invoice/invoice_v4_page.rbs +17 -0
  364. data/sig/mindee/v1/product/invoice_splitter/invoice_splitter_v1.rbs +13 -0
  365. data/sig/mindee/v1/product/invoice_splitter/invoice_splitter_v1_document.rbs +17 -0
  366. data/sig/mindee/v1/product/invoice_splitter/invoice_splitter_v1_invoice_page_group.rbs +21 -0
  367. data/sig/mindee/v1/product/invoice_splitter/invoice_splitter_v1_invoice_page_groups.rbs +15 -0
  368. data/sig/mindee/v1/product/invoice_splitter/invoice_splitter_v1_page.rbs +17 -0
  369. data/sig/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1.rbs +14 -0
  370. data/sig/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1_document.rbs +15 -0
  371. data/sig/mindee/v1/product/multi_receipts_detector/multi_receipts_detector_v1_page.rbs +17 -0
  372. data/sig/mindee/v1/product/passport/passport_v1.rbs +13 -0
  373. data/sig/mindee/v1/product/passport/passport_v1_document.rbs +25 -0
  374. data/sig/mindee/v1/product/passport/passport_v1_page.rbs +17 -0
  375. data/sig/mindee/v1/product/receipt/receipt_v5.rbs +13 -0
  376. data/sig/mindee/v1/product/receipt/receipt_v5_document.rbs +33 -0
  377. data/sig/mindee/v1/product/receipt/receipt_v5_line_item.rbs +27 -0
  378. data/sig/mindee/v1/product/receipt/receipt_v5_line_items.rbs +15 -0
  379. data/sig/mindee/v1/product/receipt/receipt_v5_page.rbs +17 -0
  380. data/sig/mindee/v1/product/resume/resume_v1.rbs +13 -0
  381. data/sig/mindee/v1/product/resume/resume_v1_certificate.rbs +27 -0
  382. data/sig/mindee/v1/product/resume/resume_v1_certificates.rbs +17 -0
  383. data/sig/mindee/v1/product/resume/resume_v1_document.rbs +69 -0
  384. data/sig/mindee/v1/product/resume/resume_v1_education.rbs +33 -0
  385. data/sig/mindee/v1/product/resume/resume_v1_educations.rbs +17 -0
  386. data/sig/mindee/v1/product/resume/resume_v1_language.rbs +23 -0
  387. data/sig/mindee/v1/product/resume/resume_v1_languages.rbs +17 -0
  388. data/sig/mindee/v1/product/resume/resume_v1_page.rbs +19 -0
  389. data/sig/mindee/v1/product/resume/resume_v1_professional_experience.rbs +37 -0
  390. data/sig/mindee/v1/product/resume/resume_v1_professional_experiences.rbs +17 -0
  391. data/sig/mindee/v1/product/resume/resume_v1_social_networks_url.rbs +23 -0
  392. data/sig/mindee/v1/product/resume/resume_v1_social_networks_urls.rbs +17 -0
  393. data/sig/mindee/v1/product/universal/universal.rbs +16 -0
  394. data/sig/mindee/v1/product/universal/universal_document.rbs +12 -0
  395. data/sig/mindee/v1/product/universal/universal_page.rbs +18 -0
  396. data/sig/mindee/v1/product/universal/universal_prediction.rbs +30 -0
  397. data/sig/mindee/v2/client.rbs +29 -0
  398. data/sig/mindee/v2/file_operation/crop.rbs +10 -0
  399. data/sig/mindee/v2/file_operation/crop_files.rbs +9 -0
  400. data/sig/mindee/v2/file_operation/split.rbs +11 -0
  401. data/sig/mindee/v2/file_operation/split_files.rbs +9 -0
  402. data/sig/mindee/v2/http/api_v2_settings.rbs +27 -0
  403. data/sig/mindee/v2/http/mindee_api_v2.rbs +52 -0
  404. data/sig/mindee/v2/parsing/base_inference.rbs +18 -0
  405. data/sig/mindee/v2/parsing/base_response.rbs +11 -0
  406. data/sig/mindee/v2/parsing/common_response.rbs +12 -0
  407. data/sig/mindee/v2/parsing/error_item.rbs +13 -0
  408. data/sig/mindee/v2/parsing/error_response.rbs +20 -0
  409. data/sig/mindee/v2/parsing/field/base_field.rbs +17 -0
  410. data/sig/mindee/v2/parsing/field/field_confidence.rbs +30 -0
  411. data/sig/mindee/v2/parsing/field/field_location.rbs +16 -0
  412. data/sig/mindee/v2/parsing/field/inference_fields.rbs +20 -0
  413. data/sig/mindee/v2/parsing/field/list_field.rbs +23 -0
  414. data/sig/mindee/v2/parsing/field/object_field.rbs +27 -0
  415. data/sig/mindee/v2/parsing/field/simple_field.rbs +16 -0
  416. data/sig/mindee/v2/parsing/inference_active_options.rbs +26 -0
  417. data/sig/mindee/v2/parsing/inference_file.rbs +17 -0
  418. data/sig/mindee/v2/parsing/inference_job.rbs +13 -0
  419. data/sig/mindee/v2/parsing/inference_model.rbs +12 -0
  420. data/sig/mindee/v2/parsing/job.rbs +24 -0
  421. data/sig/mindee/v2/parsing/job_response.rbs +14 -0
  422. data/sig/mindee/v2/parsing/job_webhook.rbs +19 -0
  423. data/sig/mindee/v2/parsing/rag_metadata.rbs +13 -0
  424. data/sig/mindee/v2/parsing/raw_text.rbs +12 -0
  425. data/sig/mindee/v2/parsing/raw_text_page.rbs +11 -0
  426. data/sig/mindee/v2/parsing/search/pagination_metadata.rbs +20 -0
  427. data/sig/mindee/v2/parsing/search/search_model.rbs +19 -0
  428. data/sig/mindee/v2/parsing/search/search_response.rbs +17 -0
  429. data/sig/mindee/v2/parsing/search_models.rbs +14 -0
  430. data/sig/mindee/v2/product/base_product.rbs +19 -0
  431. data/sig/mindee/v2/product/classification/classification.rbs +10 -0
  432. data/sig/mindee/v2/product/classification/classification_classifier.rbs +15 -0
  433. data/sig/mindee/v2/product/classification/classification_inference.rbs +15 -0
  434. data/sig/mindee/v2/product/classification/classification_response.rbs +23 -0
  435. data/sig/mindee/v2/product/classification/classification_result.rbs +15 -0
  436. data/sig/mindee/v2/product/classification/params/classification_parameters/classification_parameters.rbs +23 -0
  437. data/sig/mindee/v2/product/crop/crop.rbs +10 -0
  438. data/sig/mindee/v2/product/crop/crop_inference.rbs +14 -0
  439. data/sig/mindee/v2/product/crop/crop_item.rbs +18 -0
  440. data/sig/mindee/v2/product/crop/crop_response.rbs +25 -0
  441. data/sig/mindee/v2/product/crop/crop_result.rbs +14 -0
  442. data/sig/mindee/v2/product/crop/params/crop_parameters/crop_parameters.rbs +23 -0
  443. data/sig/mindee/v2/product/extraction/extraction.rbs +15 -0
  444. data/sig/mindee/v2/product/extraction/extraction_inference.rbs +19 -0
  445. data/sig/mindee/v2/product/extraction/extraction_response.rbs +24 -0
  446. data/sig/mindee/v2/product/extraction/extraction_result.rbs +18 -0
  447. data/sig/mindee/v2/product/extraction/params/data_schema.rbs +21 -0
  448. data/sig/mindee/v2/product/extraction/params/data_schema_field.rbs +29 -0
  449. data/sig/mindee/v2/product/extraction/params/data_schema_replace.rbs +21 -0
  450. data/sig/mindee/v2/product/extraction/params/extraction_parameters.rbs +38 -0
  451. data/sig/mindee/v2/product/ocr/ocr.rbs +10 -0
  452. data/sig/mindee/v2/product/ocr/ocr_inference.rbs +14 -0
  453. data/sig/mindee/v2/product/ocr/ocr_page.rbs +15 -0
  454. data/sig/mindee/v2/product/ocr/ocr_response.rbs +23 -0
  455. data/sig/mindee/v2/product/ocr/ocr_result.rbs +14 -0
  456. data/sig/mindee/v2/product/ocr/ocr_word.rbs +15 -0
  457. data/sig/mindee/v2/product/ocr/params/ocr_parameters/ocr_parameters.rbs +24 -0
  458. data/sig/mindee/v2/product/split/params/split_parameters/split_parameters.rbs +23 -0
  459. data/sig/mindee/v2/product/split/split.rbs +10 -0
  460. data/sig/mindee/v2/product/split/split_inference.rbs +14 -0
  461. data/sig/mindee/v2/product/split/split_range.rbs +18 -0
  462. data/sig/mindee/v2/product/split/split_response.rbs +25 -0
  463. data/sig/mindee/v2/product/split/split_result.rbs +14 -0
  464. data/sig/mindee.rbs +12 -9
  465. metadata +436 -569
  466. data/bin/cli_products.rb +0 -166
  467. data/docs/code_samples/bank_check_v1.txt +0 -24
  468. data/docs/code_samples/bill_of_lading_v1_async.txt +0 -24
  469. data/docs/code_samples/business_card_v1_async.txt +0 -24
  470. data/docs/code_samples/carte_grise_v1.txt +0 -24
  471. data/docs/code_samples/default_v2.txt +0 -40
  472. data/docs/code_samples/delivery_notes_v1_async.txt +0 -24
  473. data/docs/code_samples/driver_license_v1_async.txt +0 -24
  474. data/docs/code_samples/energy_bill_fra_v1_async.txt +0 -24
  475. data/docs/code_samples/french_healthcard_v1_async.txt +0 -24
  476. data/docs/code_samples/ind_passport_v1_async.txt +0 -24
  477. data/docs/code_samples/nutrition_facts_v1_async.txt +0 -24
  478. data/docs/code_samples/payslip_fra_v2_async.txt +0 -24
  479. data/docs/code_samples/payslip_fra_v3_async.txt +0 -24
  480. data/docs/code_samples/us_healthcare_cards_v1_async.txt +0 -24
  481. data/docs/code_samples/us_mail_v3_async.txt +0 -24
  482. data/lib/mindee/client.rb +0 -488
  483. data/lib/mindee/client_v2.rb +0 -109
  484. data/lib/mindee/errors/mindee_error.rb +0 -17
  485. data/lib/mindee/errors/mindee_http_error.rb +0 -36
  486. data/lib/mindee/errors/mindee_http_error_v2.rb +0 -45
  487. data/lib/mindee/errors/mindee_http_unknown_error_v2.rb +0 -18
  488. data/lib/mindee/errors/mindee_input_error.rb +0 -30
  489. data/lib/mindee/errors.rb +0 -6
  490. data/lib/mindee/extraction/multi_receipts_extractor.rb +0 -30
  491. data/lib/mindee/http/api_settings_v2.rb +0 -63
  492. data/lib/mindee/http/endpoint.rb +0 -219
  493. data/lib/mindee/http/mindee_api_v2.rb +0 -165
  494. data/lib/mindee/http/workflow_endpoint.rb +0 -91
  495. data/lib/mindee/input/data_schema.rb +0 -126
  496. data/lib/mindee/input/inference_parameters.rb +0 -162
  497. data/lib/mindee/parsing/common/api_request.rb +0 -36
  498. data/lib/mindee/parsing/common/api_response.rb +0 -61
  499. data/lib/mindee/parsing/common/document.rb +0 -84
  500. data/lib/mindee/parsing/common/execution.rb +0 -75
  501. data/lib/mindee/parsing/common/execution_file.rb +0 -24
  502. data/lib/mindee/parsing/common/execution_priority.rb +0 -36
  503. data/lib/mindee/parsing/common/extras/cropper_extra.rb +0 -30
  504. data/lib/mindee/parsing/common/extras/extras.rb +0 -58
  505. data/lib/mindee/parsing/common/extras/full_text_ocr_extra.rb +0 -33
  506. data/lib/mindee/parsing/common/extras/rag_extra.rb +0 -26
  507. data/lib/mindee/parsing/common/inference.rb +0 -67
  508. data/lib/mindee/parsing/common/job.rb +0 -46
  509. data/lib/mindee/parsing/common/ocr/mvision_v1.rb +0 -50
  510. data/lib/mindee/parsing/common/ocr/ocr.rb +0 -178
  511. data/lib/mindee/parsing/common/orientation.rb +0 -26
  512. data/lib/mindee/parsing/common/page.rb +0 -47
  513. data/lib/mindee/parsing/common/prediction.rb +0 -17
  514. data/lib/mindee/parsing/common/product.rb +0 -24
  515. data/lib/mindee/parsing/common/workflow_response.rb +0 -28
  516. data/lib/mindee/parsing/standard/abstract_field.rb +0 -72
  517. data/lib/mindee/parsing/standard/address_field.rb +0 -49
  518. data/lib/mindee/parsing/standard/amount_field.rb +0 -26
  519. data/lib/mindee/parsing/standard/base_field.rb +0 -28
  520. data/lib/mindee/parsing/standard/boolean_field.rb +0 -27
  521. data/lib/mindee/parsing/standard/classification_field.rb +0 -16
  522. data/lib/mindee/parsing/standard/company_registration_field.rb +0 -43
  523. data/lib/mindee/parsing/standard/date_field.rb +0 -38
  524. data/lib/mindee/parsing/standard/feature_field.rb +0 -24
  525. data/lib/mindee/parsing/standard/locale_field.rb +0 -50
  526. data/lib/mindee/parsing/standard/payment_details_field.rb +0 -42
  527. data/lib/mindee/parsing/standard/position_field.rb +0 -59
  528. data/lib/mindee/parsing/standard/string_field.rb +0 -24
  529. data/lib/mindee/parsing/standard/tax_field.rb +0 -108
  530. data/lib/mindee/parsing/universal/universal_list_field.rb +0 -58
  531. data/lib/mindee/parsing/universal/universal_object_field.rb +0 -121
  532. data/lib/mindee/parsing/v2/common_response.rb +0 -18
  533. data/lib/mindee/parsing/v2/error_item.rb +0 -21
  534. data/lib/mindee/parsing/v2/error_response.rb +0 -51
  535. data/lib/mindee/parsing/v2/field/base_field.rb +0 -63
  536. data/lib/mindee/parsing/v2/field/field_confidence.rb +0 -128
  537. data/lib/mindee/parsing/v2/field/field_location.rb +0 -33
  538. data/lib/mindee/parsing/v2/field/inference_fields.rb +0 -105
  539. data/lib/mindee/parsing/v2/field/list_field.rb +0 -79
  540. data/lib/mindee/parsing/v2/field/object_field.rb +0 -135
  541. data/lib/mindee/parsing/v2/field/simple_field.rb +0 -60
  542. data/lib/mindee/parsing/v2/inference.rb +0 -57
  543. data/lib/mindee/parsing/v2/inference_active_options.rb +0 -67
  544. data/lib/mindee/parsing/v2/inference_file.rb +0 -38
  545. data/lib/mindee/parsing/v2/inference_job.rb +0 -25
  546. data/lib/mindee/parsing/v2/inference_model.rb +0 -30
  547. data/lib/mindee/parsing/v2/inference_response.rb +0 -30
  548. data/lib/mindee/parsing/v2/inference_result.rb +0 -42
  549. data/lib/mindee/parsing/v2/job.rb +0 -93
  550. data/lib/mindee/parsing/v2/job_response.rb +0 -30
  551. data/lib/mindee/parsing/v2/job_webhook.rb +0 -60
  552. data/lib/mindee/parsing/v2/rag_metadata.rb +0 -17
  553. data/lib/mindee/parsing/v2/raw_text.rb +0 -25
  554. data/lib/mindee/parsing/v2/raw_text_page.rb +0 -22
  555. data/lib/mindee/parsing/v2.rb +0 -16
  556. data/lib/mindee/product/.rubocop.yml +0 -13
  557. data/lib/mindee/product/barcode_reader/barcode_reader_v1.rb +0 -45
  558. data/lib/mindee/product/barcode_reader/barcode_reader_v1_document.rb +0 -44
  559. data/lib/mindee/product/barcode_reader/barcode_reader_v1_page.rb +0 -36
  560. data/lib/mindee/product/bill_of_lading/bill_of_lading_v1.rb +0 -45
  561. data/lib/mindee/product/bill_of_lading/bill_of_lading_v1_carrier.rb +0 -52
  562. data/lib/mindee/product/bill_of_lading/bill_of_lading_v1_carrier_item.rb +0 -101
  563. data/lib/mindee/product/bill_of_lading/bill_of_lading_v1_carrier_items.rb +0 -62
  564. data/lib/mindee/product/bill_of_lading/bill_of_lading_v1_consignee.rb +0 -58
  565. data/lib/mindee/product/bill_of_lading/bill_of_lading_v1_document.rb +0 -163
  566. data/lib/mindee/product/bill_of_lading/bill_of_lading_v1_notify_party.rb +0 -58
  567. data/lib/mindee/product/bill_of_lading/bill_of_lading_v1_page.rb +0 -36
  568. data/lib/mindee/product/bill_of_lading/bill_of_lading_v1_shipper.rb +0 -58
  569. data/lib/mindee/product/business_card/business_card_v1.rb +0 -45
  570. data/lib/mindee/product/business_card/business_card_v1_document.rb +0 -112
  571. data/lib/mindee/product/business_card/business_card_v1_page.rb +0 -36
  572. data/lib/mindee/product/cropper/cropper_v1.rb +0 -45
  573. data/lib/mindee/product/cropper/cropper_v1_document.rb +0 -13
  574. data/lib/mindee/product/cropper/cropper_v1_page.rb +0 -53
  575. data/lib/mindee/product/delivery_note/delivery_note_v1.rb +0 -45
  576. data/lib/mindee/product/delivery_note/delivery_note_v1_document.rb +0 -82
  577. data/lib/mindee/product/delivery_note/delivery_note_v1_page.rb +0 -36
  578. data/lib/mindee/product/driver_license/driver_license_v1.rb +0 -45
  579. data/lib/mindee/product/driver_license/driver_license_v1_document.rb +0 -121
  580. data/lib/mindee/product/driver_license/driver_license_v1_page.rb +0 -36
  581. data/lib/mindee/product/financial_document/financial_document_v1.rb +0 -45
  582. data/lib/mindee/product/financial_document/financial_document_v1_document.rb +0 -326
  583. data/lib/mindee/product/financial_document/financial_document_v1_line_item.rb +0 -121
  584. data/lib/mindee/product/financial_document/financial_document_v1_line_items.rb +0 -62
  585. data/lib/mindee/product/financial_document/financial_document_v1_page.rb +0 -36
  586. data/lib/mindee/product/fr/bank_account_details/bank_account_details_v1.rb +0 -47
  587. data/lib/mindee/product/fr/bank_account_details/bank_account_details_v1_document.rb +0 -46
  588. data/lib/mindee/product/fr/bank_account_details/bank_account_details_v1_page.rb +0 -38
  589. data/lib/mindee/product/fr/bank_account_details/bank_account_details_v2.rb +0 -47
  590. data/lib/mindee/product/fr/bank_account_details/bank_account_details_v2_bban.rb +0 -60
  591. data/lib/mindee/product/fr/bank_account_details/bank_account_details_v2_document.rb +0 -57
  592. data/lib/mindee/product/fr/bank_account_details/bank_account_details_v2_page.rb +0 -38
  593. data/lib/mindee/product/fr/bank_statement/bank_statement_v2.rb +0 -47
  594. data/lib/mindee/product/fr/bank_statement/bank_statement_v2_document.rb +0 -166
  595. data/lib/mindee/product/fr/bank_statement/bank_statement_v2_page.rb +0 -38
  596. data/lib/mindee/product/fr/bank_statement/bank_statement_v2_transaction.rb +0 -75
  597. data/lib/mindee/product/fr/bank_statement/bank_statement_v2_transactions.rb +0 -54
  598. data/lib/mindee/product/fr/carte_grise/carte_grise_v1.rb +0 -47
  599. data/lib/mindee/product/fr/carte_grise/carte_grise_v1_document.rb +0 -242
  600. data/lib/mindee/product/fr/carte_grise/carte_grise_v1_page.rb +0 -38
  601. data/lib/mindee/product/fr/energy_bill/energy_bill_v1.rb +0 -47
  602. data/lib/mindee/product/fr/energy_bill/energy_bill_v1_document.rb +0 -265
  603. data/lib/mindee/product/fr/energy_bill/energy_bill_v1_energy_consumer.rb +0 -48
  604. data/lib/mindee/product/fr/energy_bill/energy_bill_v1_energy_supplier.rb +0 -48
  605. data/lib/mindee/product/fr/energy_bill/energy_bill_v1_energy_usage.rb +0 -121
  606. data/lib/mindee/product/fr/energy_bill/energy_bill_v1_energy_usages.rb +0 -69
  607. data/lib/mindee/product/fr/energy_bill/energy_bill_v1_meter_detail.rb +0 -54
  608. data/lib/mindee/product/fr/energy_bill/energy_bill_v1_page.rb +0 -38
  609. data/lib/mindee/product/fr/energy_bill/energy_bill_v1_subscription.rb +0 -103
  610. data/lib/mindee/product/fr/energy_bill/energy_bill_v1_subscriptions.rb +0 -65
  611. data/lib/mindee/product/fr/energy_bill/energy_bill_v1_taxes_and_contribution.rb +0 -103
  612. data/lib/mindee/product/fr/energy_bill/energy_bill_v1_taxes_and_contributions.rb +0 -65
  613. data/lib/mindee/product/fr/health_card/health_card_v1.rb +0 -47
  614. data/lib/mindee/product/fr/health_card/health_card_v1_document.rb +0 -61
  615. data/lib/mindee/product/fr/health_card/health_card_v1_page.rb +0 -38
  616. data/lib/mindee/product/fr/id_card/id_card_v1.rb +0 -47
  617. data/lib/mindee/product/fr/id_card/id_card_v1_document.rb +0 -103
  618. data/lib/mindee/product/fr/id_card/id_card_v1_page.rb +0 -55
  619. data/lib/mindee/product/fr/id_card/id_card_v2.rb +0 -47
  620. data/lib/mindee/product/fr/id_card/id_card_v2_document.rb +0 -140
  621. data/lib/mindee/product/fr/id_card/id_card_v2_page.rb +0 -63
  622. data/lib/mindee/product/fr/payslip/payslip_v2.rb +0 -47
  623. data/lib/mindee/product/fr/payslip/payslip_v2_bank_account_detail.rb +0 -54
  624. data/lib/mindee/product/fr/payslip/payslip_v2_document.rb +0 -143
  625. data/lib/mindee/product/fr/payslip/payslip_v2_employee.rb +0 -78
  626. data/lib/mindee/product/fr/payslip/payslip_v2_employer.rb +0 -78
  627. data/lib/mindee/product/fr/payslip/payslip_v2_employment.rb +0 -73
  628. data/lib/mindee/product/fr/payslip/payslip_v2_page.rb +0 -38
  629. data/lib/mindee/product/fr/payslip/payslip_v2_pay_detail.rb +0 -122
  630. data/lib/mindee/product/fr/payslip/payslip_v2_pay_period.rb +0 -66
  631. data/lib/mindee/product/fr/payslip/payslip_v2_pto.rb +0 -65
  632. data/lib/mindee/product/fr/payslip/payslip_v2_salary_detail.rb +0 -87
  633. data/lib/mindee/product/fr/payslip/payslip_v2_salary_details.rb +0 -63
  634. data/lib/mindee/product/fr/payslip/payslip_v3.rb +0 -47
  635. data/lib/mindee/product/fr/payslip/payslip_v3_bank_account_detail.rb +0 -54
  636. data/lib/mindee/product/fr/payslip/payslip_v3_document.rb +0 -178
  637. data/lib/mindee/product/fr/payslip/payslip_v3_employee.rb +0 -78
  638. data/lib/mindee/product/fr/payslip/payslip_v3_employer.rb +0 -78
  639. data/lib/mindee/product/fr/payslip/payslip_v3_employment.rb +0 -78
  640. data/lib/mindee/product/fr/payslip/payslip_v3_page.rb +0 -38
  641. data/lib/mindee/product/fr/payslip/payslip_v3_paid_time_off.rb +0 -95
  642. data/lib/mindee/product/fr/payslip/payslip_v3_paid_time_offs.rb +0 -65
  643. data/lib/mindee/product/fr/payslip/payslip_v3_pay_detail.rb +0 -122
  644. data/lib/mindee/product/fr/payslip/payslip_v3_pay_period.rb +0 -66
  645. data/lib/mindee/product/fr/payslip/payslip_v3_salary_detail.rb +0 -97
  646. data/lib/mindee/product/fr/payslip/payslip_v3_salary_details.rb +0 -65
  647. data/lib/mindee/product/ind/indian_passport/indian_passport_v1.rb +0 -47
  648. data/lib/mindee/product/ind/indian_passport/indian_passport_v1_document.rb +0 -206
  649. data/lib/mindee/product/ind/indian_passport/indian_passport_v1_page.rb +0 -38
  650. data/lib/mindee/product/international_id/international_id_v2.rb +0 -45
  651. data/lib/mindee/product/international_id/international_id_v2_document.rb +0 -161
  652. data/lib/mindee/product/international_id/international_id_v2_page.rb +0 -36
  653. data/lib/mindee/product/invoice/invoice_v4.rb +0 -45
  654. data/lib/mindee/product/invoice/invoice_v4_document.rb +0 -297
  655. data/lib/mindee/product/invoice/invoice_v4_line_item.rb +0 -121
  656. data/lib/mindee/product/invoice/invoice_v4_line_items.rb +0 -62
  657. data/lib/mindee/product/invoice/invoice_v4_page.rb +0 -36
  658. data/lib/mindee/product/invoice_splitter/invoice_splitter_v1.rb +0 -45
  659. data/lib/mindee/product/invoice_splitter/invoice_splitter_v1_document.rb +0 -63
  660. data/lib/mindee/product/invoice_splitter/invoice_splitter_v1_invoice_page_group.rb +0 -55
  661. data/lib/mindee/product/invoice_splitter/invoice_splitter_v1_invoice_page_groups.rb +0 -48
  662. data/lib/mindee/product/invoice_splitter/invoice_splitter_v1_page.rb +0 -36
  663. data/lib/mindee/product/multi_receipts_detector/multi_receipts_detector_v1.rb +0 -45
  664. data/lib/mindee/product/multi_receipts_detector/multi_receipts_detector_v1_document.rb +0 -35
  665. data/lib/mindee/product/multi_receipts_detector/multi_receipts_detector_v1_page.rb +0 -36
  666. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1.rb +0 -45
  667. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_added_sugar.rb +0 -55
  668. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_calorie.rb +0 -55
  669. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_cholesterol.rb +0 -55
  670. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_dietary_fiber.rb +0 -55
  671. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_document.rb +0 -211
  672. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_nutrient.rb +0 -93
  673. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_nutrients.rb +0 -68
  674. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_page.rb +0 -36
  675. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_protein.rb +0 -55
  676. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_saturated_fat.rb +0 -55
  677. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_serving_size.rb +0 -47
  678. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_sodium.rb +0 -61
  679. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_total_carbohydrate.rb +0 -55
  680. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_total_fat.rb +0 -55
  681. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_total_sugar.rb +0 -55
  682. data/lib/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_trans_fat.rb +0 -55
  683. data/lib/mindee/product/passport/passport_v1.rb +0 -45
  684. data/lib/mindee/product/passport/passport_v1_document.rb +0 -109
  685. data/lib/mindee/product/passport/passport_v1_page.rb +0 -36
  686. data/lib/mindee/product/receipt/receipt_v5.rb +0 -45
  687. data/lib/mindee/product/receipt/receipt_v5_document.rb +0 -184
  688. data/lib/mindee/product/receipt/receipt_v5_line_item.rb +0 -85
  689. data/lib/mindee/product/receipt/receipt_v5_line_items.rb +0 -54
  690. data/lib/mindee/product/receipt/receipt_v5_page.rb +0 -36
  691. data/lib/mindee/product/resume/resume_v1.rb +0 -45
  692. data/lib/mindee/product/resume/resume_v1_certificate.rb +0 -79
  693. data/lib/mindee/product/resume/resume_v1_certificates.rb +0 -58
  694. data/lib/mindee/product/resume/resume_v1_document.rb +0 -337
  695. data/lib/mindee/product/resume/resume_v1_education.rb +0 -103
  696. data/lib/mindee/product/resume/resume_v1_educations.rb +0 -64
  697. data/lib/mindee/product/resume/resume_v1_language.rb +0 -63
  698. data/lib/mindee/product/resume/resume_v1_languages.rb +0 -54
  699. data/lib/mindee/product/resume/resume_v1_page.rb +0 -36
  700. data/lib/mindee/product/resume/resume_v1_professional_experience.rb +0 -119
  701. data/lib/mindee/product/resume/resume_v1_professional_experiences.rb +0 -68
  702. data/lib/mindee/product/resume/resume_v1_social_networks_url.rb +0 -63
  703. data/lib/mindee/product/resume/resume_v1_social_networks_urls.rb +0 -54
  704. data/lib/mindee/product/universal/universal.rb +0 -46
  705. data/lib/mindee/product/universal/universal_document.rb +0 -32
  706. data/lib/mindee/product/universal/universal_page.rb +0 -51
  707. data/lib/mindee/product/universal/universal_prediction.rb +0 -122
  708. data/lib/mindee/product/us/bank_check/bank_check_v1.rb +0 -47
  709. data/lib/mindee/product/us/bank_check/bank_check_v1_document.rb +0 -74
  710. data/lib/mindee/product/us/bank_check/bank_check_v1_page.rb +0 -64
  711. data/lib/mindee/product/us/healthcare_card/healthcare_card_v1.rb +0 -47
  712. data/lib/mindee/product/us/healthcare_card/healthcare_card_v1_copay.rb +0 -67
  713. data/lib/mindee/product/us/healthcare_card/healthcare_card_v1_copays.rb +0 -52
  714. data/lib/mindee/product/us/healthcare_card/healthcare_card_v1_document.rb +0 -167
  715. data/lib/mindee/product/us/healthcare_card/healthcare_card_v1_page.rb +0 -38
  716. data/lib/mindee/product/us/us_mail/us_mail_v3.rb +0 -47
  717. data/lib/mindee/product/us/us_mail/us_mail_v3_document.rb +0 -115
  718. data/lib/mindee/product/us/us_mail/us_mail_v3_page.rb +0 -38
  719. data/lib/mindee/product/us/us_mail/us_mail_v3_recipient_address.rb +0 -113
  720. data/lib/mindee/product/us/us_mail/us_mail_v3_recipient_addresses.rb +0 -65
  721. data/lib/mindee/product/us/us_mail/us_mail_v3_sender_address.rb +0 -66
  722. data/lib/mindee/product.rb +0 -32
  723. data/sig/mindee/client.rbs +0 -61
  724. data/sig/mindee/client_v2.rbs +0 -17
  725. data/sig/mindee/errors/mindee_error.rbs +0 -13
  726. data/sig/mindee/errors/mindee_http_error.rbs +0 -17
  727. data/sig/mindee/errors/mindee_http_error_v2.rbs +0 -15
  728. data/sig/mindee/errors/mindee_http_unknown_error_v2.rbs +0 -9
  729. data/sig/mindee/errors/mindee_input_error.rbs +0 -18
  730. data/sig/mindee/extraction/multi_receipts_extractor.rbs +0 -6
  731. data/sig/mindee/http/api_settings_v2.rbs +0 -23
  732. data/sig/mindee/http/endpoint.rbs +0 -29
  733. data/sig/mindee/http/mindee_api_v2.rbs +0 -22
  734. data/sig/mindee/http/workflow_endpoint.rbs +0 -20
  735. data/sig/mindee/input/data_schema.rbs +0 -34
  736. data/sig/mindee/input/inference_parameters.rbs +0 -40
  737. data/sig/mindee/parsing/common/api_request.rbs +0 -15
  738. data/sig/mindee/parsing/common/api_response.rbs +0 -27
  739. data/sig/mindee/parsing/common/document.rbs +0 -20
  740. data/sig/mindee/parsing/common/execution.rbs +0 -24
  741. data/sig/mindee/parsing/common/execution_file.rbs +0 -12
  742. data/sig/mindee/parsing/common/execution_priority.rbs +0 -13
  743. data/sig/mindee/parsing/common/extras/cropper_extra.rbs +0 -15
  744. data/sig/mindee/parsing/common/extras/extras.rbs +0 -19
  745. data/sig/mindee/parsing/common/extras/full_text_ocr_extra.rbs +0 -16
  746. data/sig/mindee/parsing/common/extras/rag_extra.rbs +0 -15
  747. data/sig/mindee/parsing/common/inference.rbs +0 -26
  748. data/sig/mindee/parsing/common/job.rbs +0 -16
  749. data/sig/mindee/parsing/common/ocr/mvision_v1.rbs +0 -15
  750. data/sig/mindee/parsing/common/ocr/ocr.rbs +0 -41
  751. data/sig/mindee/parsing/common/orientation.rbs +0 -13
  752. data/sig/mindee/parsing/common/page.rbs +0 -16
  753. data/sig/mindee/parsing/common/prediction.rbs +0 -11
  754. data/sig/mindee/parsing/common/product.rbs +0 -13
  755. data/sig/mindee/parsing/common/workflow_response.rbs +0 -17
  756. data/sig/mindee/parsing/standard/abstract_field.rbs +0 -19
  757. data/sig/mindee/parsing/standard/address_field.rbs +0 -18
  758. data/sig/mindee/parsing/standard/amount_field.rbs +0 -14
  759. data/sig/mindee/parsing/standard/base_field.rbs +0 -12
  760. data/sig/mindee/parsing/standard/boolean_field.rbs +0 -12
  761. data/sig/mindee/parsing/standard/classification_field.rbs +0 -10
  762. data/sig/mindee/parsing/standard/company_registration_field.rbs +0 -15
  763. data/sig/mindee/parsing/standard/date_field.rbs +0 -14
  764. data/sig/mindee/parsing/standard/feature_field.rbs +0 -10
  765. data/sig/mindee/parsing/standard/locale_field.rbs +0 -16
  766. data/sig/mindee/parsing/standard/payment_details_field.rbs +0 -16
  767. data/sig/mindee/parsing/standard/position_field.rbs +0 -17
  768. data/sig/mindee/parsing/standard/string_field.rbs +0 -12
  769. data/sig/mindee/parsing/standard/tax_field.rbs +0 -24
  770. data/sig/mindee/parsing/universal/universal_list_field.rbs +0 -16
  771. data/sig/mindee/parsing/universal/universal_object_field.rbs +0 -29
  772. data/sig/mindee/parsing/v2/common_response.rbs +0 -11
  773. data/sig/mindee/parsing/v2/error_item.rbs +0 -13
  774. data/sig/mindee/parsing/v2/error_response.rbs +0 -19
  775. data/sig/mindee/parsing/v2/field/base_field.rbs +0 -17
  776. data/sig/mindee/parsing/v2/field/field_confidence.rbs +0 -30
  777. data/sig/mindee/parsing/v2/field/field_location.rbs +0 -16
  778. data/sig/mindee/parsing/v2/field/inference_fields.rbs +0 -20
  779. data/sig/mindee/parsing/v2/field/list_field.rbs +0 -23
  780. data/sig/mindee/parsing/v2/field/object_field.rbs +0 -27
  781. data/sig/mindee/parsing/v2/field/simple_field.rbs +0 -16
  782. data/sig/mindee/parsing/v2/inference.rbs +0 -19
  783. data/sig/mindee/parsing/v2/inference_active_options.rbs +0 -23
  784. data/sig/mindee/parsing/v2/inference_file.rbs +0 -15
  785. data/sig/mindee/parsing/v2/inference_job.rbs +0 -12
  786. data/sig/mindee/parsing/v2/inference_model.rbs +0 -11
  787. data/sig/mindee/parsing/v2/inference_response.rbs +0 -12
  788. data/sig/mindee/parsing/v2/inference_result.rbs +0 -15
  789. data/sig/mindee/parsing/v2/job.rbs +0 -23
  790. data/sig/mindee/parsing/v2/job_response.rbs +0 -12
  791. data/sig/mindee/parsing/v2/job_webhook.rbs +0 -17
  792. data/sig/mindee/parsing/v2/rag_metadata.rbs +0 -13
  793. data/sig/mindee/parsing/v2/raw_text.rbs +0 -12
  794. data/sig/mindee/parsing/v2/raw_text_page.rbs +0 -11
  795. data/sig/mindee/product/barcode_reader/barcode_reader_v1.rbs +0 -11
  796. data/sig/mindee/product/barcode_reader/barcode_reader_v1_document.rbs +0 -14
  797. data/sig/mindee/product/barcode_reader/barcode_reader_v1_page.rbs +0 -15
  798. data/sig/mindee/product/bill_of_lading/bill_of_lading_v1.rbs +0 -11
  799. data/sig/mindee/product/bill_of_lading/bill_of_lading_v1_carrier.rbs +0 -14
  800. data/sig/mindee/product/bill_of_lading/bill_of_lading_v1_carrier_item.rbs +0 -19
  801. data/sig/mindee/product/bill_of_lading/bill_of_lading_v1_carrier_items.rbs +0 -13
  802. data/sig/mindee/product/bill_of_lading/bill_of_lading_v1_consignee.rbs +0 -15
  803. data/sig/mindee/product/bill_of_lading/bill_of_lading_v1_document.rbs +0 -25
  804. data/sig/mindee/product/bill_of_lading/bill_of_lading_v1_notify_party.rbs +0 -15
  805. data/sig/mindee/product/bill_of_lading/bill_of_lading_v1_page.rbs +0 -15
  806. data/sig/mindee/product/bill_of_lading/bill_of_lading_v1_shipper.rbs +0 -15
  807. data/sig/mindee/product/business_card/business_card_v1.rbs +0 -11
  808. data/sig/mindee/product/business_card/business_card_v1_document.rbs +0 -23
  809. data/sig/mindee/product/business_card/business_card_v1_page.rbs +0 -15
  810. data/sig/mindee/product/cropper/cropper_v1.rbs +0 -11
  811. data/sig/mindee/product/cropper/cropper_v1_document.rbs +0 -12
  812. data/sig/mindee/product/cropper/cropper_v1_page.rbs +0 -16
  813. data/sig/mindee/product/delivery_note/delivery_note_v1.rbs +0 -11
  814. data/sig/mindee/product/delivery_note/delivery_note_v1_document.rbs +0 -19
  815. data/sig/mindee/product/delivery_note/delivery_note_v1_page.rbs +0 -15
  816. data/sig/mindee/product/driver_license/driver_license_v1.rbs +0 -11
  817. data/sig/mindee/product/driver_license/driver_license_v1_document.rbs +0 -25
  818. data/sig/mindee/product/driver_license/driver_license_v1_page.rbs +0 -15
  819. data/sig/mindee/product/financial_document/financial_document_v1.rbs +0 -11
  820. data/sig/mindee/product/financial_document/financial_document_v1_document.rbs +0 -47
  821. data/sig/mindee/product/financial_document/financial_document_v1_line_item.rbs +0 -21
  822. data/sig/mindee/product/financial_document/financial_document_v1_line_items.rbs +0 -13
  823. data/sig/mindee/product/financial_document/financial_document_v1_page.rbs +0 -15
  824. data/sig/mindee/product/fr/bank_account_details/bank_account_details_v1.rbs +0 -13
  825. data/sig/mindee/product/fr/bank_account_details/bank_account_details_v1_document.rbs +0 -17
  826. data/sig/mindee/product/fr/bank_account_details/bank_account_details_v1_page.rbs +0 -17
  827. data/sig/mindee/product/fr/bank_account_details/bank_account_details_v2.rbs +0 -13
  828. data/sig/mindee/product/fr/bank_account_details/bank_account_details_v2_bban.rbs +0 -17
  829. data/sig/mindee/product/fr/bank_account_details/bank_account_details_v2_document.rbs +0 -18
  830. data/sig/mindee/product/fr/bank_account_details/bank_account_details_v2_page.rbs +0 -17
  831. data/sig/mindee/product/fr/bank_statement/bank_statement_v2.rbs +0 -13
  832. data/sig/mindee/product/fr/bank_statement/bank_statement_v2_document.rbs +0 -29
  833. data/sig/mindee/product/fr/bank_statement/bank_statement_v2_page.rbs +0 -17
  834. data/sig/mindee/product/fr/bank_statement/bank_statement_v2_transaction.rbs +0 -18
  835. data/sig/mindee/product/fr/bank_statement/bank_statement_v2_transactions.rbs +0 -15
  836. data/sig/mindee/product/fr/carte_grise/carte_grise_v1.rbs +0 -13
  837. data/sig/mindee/product/fr/carte_grise/carte_grise_v1_document.rbs +0 -55
  838. data/sig/mindee/product/fr/carte_grise/carte_grise_v1_page.rbs +0 -17
  839. data/sig/mindee/product/fr/energy_bill/energy_bill_v1.rbs +0 -13
  840. data/sig/mindee/product/fr/energy_bill/energy_bill_v1_document.rbs +0 -34
  841. data/sig/mindee/product/fr/energy_bill/energy_bill_v1_energy_consumer.rbs +0 -15
  842. data/sig/mindee/product/fr/energy_bill/energy_bill_v1_energy_supplier.rbs +0 -15
  843. data/sig/mindee/product/fr/energy_bill/energy_bill_v1_energy_usage.rbs +0 -23
  844. data/sig/mindee/product/fr/energy_bill/energy_bill_v1_energy_usages.rbs +0 -15
  845. data/sig/mindee/product/fr/energy_bill/energy_bill_v1_meter_detail.rbs +0 -16
  846. data/sig/mindee/product/fr/energy_bill/energy_bill_v1_page.rbs +0 -17
  847. data/sig/mindee/product/fr/energy_bill/energy_bill_v1_subscription.rbs +0 -21
  848. data/sig/mindee/product/fr/energy_bill/energy_bill_v1_subscriptions.rbs +0 -15
  849. data/sig/mindee/product/fr/energy_bill/energy_bill_v1_taxes_and_contribution.rbs +0 -21
  850. data/sig/mindee/product/fr/energy_bill/energy_bill_v1_taxes_and_contributions.rbs +0 -15
  851. data/sig/mindee/product/fr/health_card/health_card_v1.rbs +0 -13
  852. data/sig/mindee/product/fr/health_card/health_card_v1_document.rbs +0 -18
  853. data/sig/mindee/product/fr/health_card/health_card_v1_page.rbs +0 -17
  854. data/sig/mindee/product/fr/id_card/id_card_v1.rbs +0 -13
  855. data/sig/mindee/product/fr/id_card/id_card_v1_document.rbs +0 -24
  856. data/sig/mindee/product/fr/id_card/id_card_v1_page.rbs +0 -18
  857. data/sig/mindee/product/fr/id_card/id_card_v2.rbs +0 -13
  858. data/sig/mindee/product/fr/id_card/id_card_v2_document.rbs +0 -29
  859. data/sig/mindee/product/fr/id_card/id_card_v2_page.rbs +0 -19
  860. data/sig/mindee/product/fr/payslip/payslip_v2.rbs +0 -13
  861. data/sig/mindee/product/fr/payslip/payslip_v2_bank_account_detail.rbs +0 -16
  862. data/sig/mindee/product/fr/payslip/payslip_v2_document.rbs +0 -24
  863. data/sig/mindee/product/fr/payslip/payslip_v2_employee.rbs +0 -20
  864. data/sig/mindee/product/fr/payslip/payslip_v2_employer.rbs +0 -20
  865. data/sig/mindee/product/fr/payslip/payslip_v2_employment.rbs +0 -19
  866. data/sig/mindee/product/fr/payslip/payslip_v2_page.rbs +0 -17
  867. data/sig/mindee/product/fr/payslip/payslip_v2_pay_detail.rbs +0 -23
  868. data/sig/mindee/product/fr/payslip/payslip_v2_pay_period.rbs +0 -18
  869. data/sig/mindee/product/fr/payslip/payslip_v2_pto.rbs +0 -16
  870. data/sig/mindee/product/fr/payslip/payslip_v2_salary_detail.rbs +0 -19
  871. data/sig/mindee/product/fr/payslip/payslip_v2_salary_details.rbs +0 -15
  872. data/sig/mindee/product/fr/payslip/payslip_v3.rbs +0 -13
  873. data/sig/mindee/product/fr/payslip/payslip_v3_bank_account_detail.rbs +0 -16
  874. data/sig/mindee/product/fr/payslip/payslip_v3_document.rbs +0 -26
  875. data/sig/mindee/product/fr/payslip/payslip_v3_employee.rbs +0 -20
  876. data/sig/mindee/product/fr/payslip/payslip_v3_employer.rbs +0 -20
  877. data/sig/mindee/product/fr/payslip/payslip_v3_employment.rbs +0 -20
  878. data/sig/mindee/product/fr/payslip/payslip_v3_page.rbs +0 -17
  879. data/sig/mindee/product/fr/payslip/payslip_v3_paid_time_off.rbs +0 -20
  880. data/sig/mindee/product/fr/payslip/payslip_v3_paid_time_offs.rbs +0 -15
  881. data/sig/mindee/product/fr/payslip/payslip_v3_pay_detail.rbs +0 -23
  882. data/sig/mindee/product/fr/payslip/payslip_v3_pay_period.rbs +0 -18
  883. data/sig/mindee/product/fr/payslip/payslip_v3_salary_detail.rbs +0 -20
  884. data/sig/mindee/product/fr/payslip/payslip_v3_salary_details.rbs +0 -15
  885. data/sig/mindee/product/ind/indian_passport/indian_passport_v1.rbs +0 -13
  886. data/sig/mindee/product/ind/indian_passport/indian_passport_v1_document.rbs +0 -37
  887. data/sig/mindee/product/ind/indian_passport/indian_passport_v1_page.rbs +0 -17
  888. data/sig/mindee/product/international_id/international_id_v2.rbs +0 -11
  889. data/sig/mindee/product/international_id/international_id_v2_document.rbs +0 -29
  890. data/sig/mindee/product/international_id/international_id_v2_page.rbs +0 -15
  891. data/sig/mindee/product/invoice/invoice_v4.rbs +0 -11
  892. data/sig/mindee/product/invoice/invoice_v4_document.rbs +0 -43
  893. data/sig/mindee/product/invoice/invoice_v4_line_item.rbs +0 -21
  894. data/sig/mindee/product/invoice/invoice_v4_line_items.rbs +0 -13
  895. data/sig/mindee/product/invoice/invoice_v4_page.rbs +0 -15
  896. data/sig/mindee/product/invoice_splitter/invoice_splitter_v1.rbs +0 -11
  897. data/sig/mindee/product/invoice_splitter/invoice_splitter_v1_document.rbs +0 -15
  898. data/sig/mindee/product/invoice_splitter/invoice_splitter_v1_invoice_page_group.rbs +0 -14
  899. data/sig/mindee/product/invoice_splitter/invoice_splitter_v1_invoice_page_groups.rbs +0 -13
  900. data/sig/mindee/product/invoice_splitter/invoice_splitter_v1_page.rbs +0 -15
  901. data/sig/mindee/product/multi_receipts_detector/multi_receipts_detector_v1.rbs +0 -11
  902. data/sig/mindee/product/multi_receipts_detector/multi_receipts_detector_v1_document.rbs +0 -13
  903. data/sig/mindee/product/multi_receipts_detector/multi_receipts_detector_v1_page.rbs +0 -15
  904. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1.rbs +0 -11
  905. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_added_sugar.rbs +0 -14
  906. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_calorie.rbs +0 -14
  907. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_cholesterol.rbs +0 -14
  908. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_dietary_fiber.rbs +0 -14
  909. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_document.rbs +0 -28
  910. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_nutrient.rbs +0 -18
  911. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_nutrients.rbs +0 -13
  912. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_page.rbs +0 -15
  913. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_protein.rbs +0 -14
  914. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_saturated_fat.rbs +0 -14
  915. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_serving_size.rbs +0 -13
  916. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_sodium.rbs +0 -15
  917. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_total_carbohydrate.rbs +0 -14
  918. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_total_fat.rbs +0 -14
  919. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_total_sugar.rbs +0 -14
  920. data/sig/mindee/product/nutrition_facts_label/nutrition_facts_label_v1_trans_fat.rbs +0 -14
  921. data/sig/mindee/product/passport/passport_v1.rbs +0 -11
  922. data/sig/mindee/product/passport/passport_v1_document.rbs +0 -23
  923. data/sig/mindee/product/passport/passport_v1_page.rbs +0 -15
  924. data/sig/mindee/product/receipt/receipt_v5.rbs +0 -11
  925. data/sig/mindee/product/receipt/receipt_v5_document.rbs +0 -31
  926. data/sig/mindee/product/receipt/receipt_v5_line_item.rbs +0 -17
  927. data/sig/mindee/product/receipt/receipt_v5_line_items.rbs +0 -13
  928. data/sig/mindee/product/receipt/receipt_v5_page.rbs +0 -15
  929. data/sig/mindee/product/resume/resume_v1.rbs +0 -11
  930. data/sig/mindee/product/resume/resume_v1_certificate.rbs +0 -17
  931. data/sig/mindee/product/resume/resume_v1_certificates.rbs +0 -13
  932. data/sig/mindee/product/resume/resume_v1_document.rbs +0 -39
  933. data/sig/mindee/product/resume/resume_v1_education.rbs +0 -20
  934. data/sig/mindee/product/resume/resume_v1_educations.rbs +0 -13
  935. data/sig/mindee/product/resume/resume_v1_language.rbs +0 -15
  936. data/sig/mindee/product/resume/resume_v1_languages.rbs +0 -13
  937. data/sig/mindee/product/resume/resume_v1_page.rbs +0 -15
  938. data/sig/mindee/product/resume/resume_v1_professional_experience.rbs +0 -22
  939. data/sig/mindee/product/resume/resume_v1_professional_experiences.rbs +0 -13
  940. data/sig/mindee/product/resume/resume_v1_social_networks_url.rbs +0 -15
  941. data/sig/mindee/product/resume/resume_v1_social_networks_urls.rbs +0 -13
  942. data/sig/mindee/product/universal/universal.rbs +0 -14
  943. data/sig/mindee/product/universal/universal_document.rbs +0 -10
  944. data/sig/mindee/product/universal/universal_page.rbs +0 -14
  945. data/sig/mindee/product/universal/universal_prediction.rbs +0 -19
  946. data/sig/mindee/product/us/bank_check/bank_check_v1.rbs +0 -13
  947. data/sig/mindee/product/us/bank_check/bank_check_v1_document.rbs +0 -20
  948. data/sig/mindee/product/us/bank_check/bank_check_v1_page.rbs +0 -19
  949. data/sig/mindee/product/us/healthcare_card/healthcare_card_v1.rbs +0 -13
  950. data/sig/mindee/product/us/healthcare_card/healthcare_card_v1_copay.rbs +0 -17
  951. data/sig/mindee/product/us/healthcare_card/healthcare_card_v1_copays.rbs +0 -15
  952. data/sig/mindee/product/us/healthcare_card/healthcare_card_v1_document.rbs +0 -30
  953. data/sig/mindee/product/us/healthcare_card/healthcare_card_v1_page.rbs +0 -17
  954. data/sig/mindee/product/us/us_mail/us_mail_v3.rbs +0 -13
  955. data/sig/mindee/product/us/us_mail/us_mail_v3_document.rbs +0 -21
  956. data/sig/mindee/product/us/us_mail/us_mail_v3_page.rbs +0 -17
  957. data/sig/mindee/product/us/us_mail/us_mail_v3_recipient_address.rbs +0 -23
  958. data/sig/mindee/product/us/us_mail/us_mail_v3_recipient_addresses.rbs +0 -15
  959. data/sig/mindee/product/us/us_mail/us_mail_v3_sender_address.rbs +0 -18
  960. data/sig/mindee/product/us/w9/w9_v1.rbs +0 -13
  961. data/sig/mindee/product/us/w9/w9_v1_document.rbs +0 -14
  962. data/sig/mindee/product/us/w9/w9_v1_page.rbs +0 -29
  963. /data/lib/mindee/{extraction.rb → v1/extraction.rb} +0 -0
  964. /data/lib/mindee/{parsing → v1/parsing}/common/extras.rb +0 -0
  965. /data/lib/mindee/{parsing → v1/parsing}/common/ocr.rb +0 -0
  966. /data/lib/mindee/{parsing → v1/parsing}/common.rb +0 -0
  967. /data/lib/mindee/{parsing → v1/parsing}/standard.rb +0 -0
  968. /data/lib/mindee/{parsing → v1/parsing}/universal.rb +0 -0
  969. /data/lib/mindee/{parsing.rb → v1/parsing.rb} +0 -0
  970. /data/lib/mindee/{parsing/v2 → v2/parsing}/field.rb +0 -0
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::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 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
 
@@ -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 Errors::MindeeInputError, "Incompatible type for input '#{input_file.class}'."
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 Errors::MindeeInputError, "File is not a valid dict. #{file_str}"
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), @file.read)
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 Errors::MindeeInputError, 'Could not get HMAC signature from payload.'
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::V2::CommonResponse] class to return.
73
- # @return [Parsing::V2::JobResponse, Parsing::V2::InferenceResponse]
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) # : Parsing::V2::JobResponse | Parsing::V2::InferenceResponse
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 '../../pdf'
8
- require_relative '../../image'
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 Errors::MindeeMimeTypeError, @file_mimetype.to_s
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::Errors::MindeePDFError]
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::Errors::MindeePDFError]
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 Errors::MindeePDFError if stream.eof? || stream.pos > maximum_offset
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.open(filepath, 'rb')
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 Errors::MindeeInputError, 'URL must be HTTPS' unless url.start_with? 'https://'
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 Errors::MindeeAPIError, "Failed to download file: HTTP status code #{response.code}"
78
+ raise Error::MindeeAPIError, "Failed to download file: HTTP status code #{response.code}"
79
79
  elsif response.code.to_i < 200
80
- raise Errors::MindeeAPIError, "Failed to download file: Invalid response code #{response.code}."
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 Errors::MindeeInputError, 'No location in redirection header.' if location.nil?
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
@@ -1,6 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'input/data_schema'
4
- require_relative 'input/inference_parameters'
5
3
  require_relative 'input/polling_options'
6
4
  require_relative 'input/sources'
@@ -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
@@ -11,7 +11,7 @@ module Mindee
11
11
  attr_accessor :page_indexes, :operation, :on_min_pages
12
12
 
13
13
  def initialize(params: {})
14
- params ||= {}
14
+ params ||= {} # : Hash[Symbol, untyped]
15
15
  params = params.transform_keys(&:to_sym)
16
16
  @page_indexes = params.fetch(
17
17
  :page_indexes,
@@ -3,57 +3,67 @@
3
3
  module Mindee
4
4
  # PDF Extraction Module.
5
5
  module PDF
6
- module PDFExtractor
7
- # An extracted sub-Pdf.
8
- class ExtractedPDF
9
- # Byte contents of the pdf
10
- # @return [StringIO]
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
- # Retrieves the page count for a given pdf.
25
- # @return [Integer]
26
- def page_count
27
- current_pdf = Mindee::PDF::PDFProcessor.open_pdf(pdf_bytes)
28
- current_pdf.pages.size
29
- rescue TypeError, Origami::InvalidPDFError
30
- raise Errors::MindeePDFError, 'Could not retrieve page count from Extracted PDF object.'
31
- end
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
- # Writes the contents of the current PDF object to a file.
34
- # @param output_path [String] Path to write to.
35
- # @param override [bool] Whether to override the destination file.
36
- def write_to_file(output_path, override: false)
37
- raise Errors::MindeePDFError, 'Provided path is not a file' if File.directory?(output_path)
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
- # Returns the current PDF object as a usable BytesInputSource.
51
- # @return [Mindee::Input::Source::BytesInputSource]
52
- def as_input_source
53
- raise Errors::MindeePDFError, 'Bytes object is nil.' if @pdf_bytes.nil?
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
- Mindee::Input::Source::BytesInputSource.new(@pdf_bytes.read || '', @filename)
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
@@ -1,6 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ Mindee::Dependency.require_all_deps!
3
4
  require 'pdf-reader'
5
+
4
6
  # Shorthand for pdf-reader's PDF namespace, to avoid mixups with the local Origami fork.
5
7
  PDFReader = PDF
6
8